Timeline


and

06/26/12:

23:37 Changeset [121322] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
23:03 Changeset [121321] by yosin@chromium.org
  • 3 edits in trunk/Source/WebCore

[Platform] Change implementation of LocaleICU class to support more UDateFormat.
https://bugs.webkit.org/show_bug.cgi?id=89967

Reviewed by Kent Tamura.

This patch changes internal functions of LocaleICU class to process
multiple ICU date time format handles in addition to short date time
format handle.

This patch is a part of implementing input type time. I'll add time
format related ICU date time format handles.

No new tests. This patch doesn't change behavior.

  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::initializeShortDateFormat): Changed to use openDateFormat().
(WebCore::LocaleICU::openDateFormat): Added for common usage of udt_open().
(WebCore::getDateFormatPattern): Added for common usage of udt_toPattern().
(WebCore::localizeFormat): Changed to take String parameter.
(WebCore::LocaleICU::initializeLocalizedDateFormatText): Changed to use getDateFormatPattern.
(WebCore::LocaleICU::createLabelVector): Changed to take UDateFormat parameter.
(WebCore::LocaleICU::initializeCalendar): Changed for helper functions.

  • platform/text/LocaleICU.h:

(LocaleICU):

22:40 Changeset [121320] by macpherson@chromium.org
  • 2 edits in trunk/Source/WebCore

Return correct value for css variables enabled runtime flag.
https://bugs.webkit.org/show_bug.cgi?id=90040

Reviewed by Dimitri Glazkov.

Was always returning true for the runtime flag when the compile time flag was on. That was good for testing,
but not so much for production.

  • page/Settings.h:

(WebCore::Settings::cssVariablesEnabled):

21:22 Changeset [121319] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

DragData::asFilenames should not push same file names to result in Windows.
https://bugs.webkit.org/show_bug.cgi?id=79861

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2012-06-26
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test: platform/win/fast/forms/file/drag-and-drop-files.html

  • platform/win/DragDataWin.cpp:

(WebCore::DragData::asFilenames):

LayoutTests:

  • platform/win/fast/forms/file/drag-and-drop-files-expected.txt: Added.
  • platform/win/fast/forms/file/drag-and-drop-files.html: Added.
21:03 Changeset [121318] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Rebaseline after r121286 and r121290.

  • editing/deleting/merge-into-empty-block-2-expected.txt:
20:49 Changeset [121317] by keishi@webkit.org
  • 3 edits in trunk/LayoutTests

[Chromium] Rebaseline fast/backgrounds/size/zero.html. Caused by r121296

Unreviewed.

  • platform/chromium-mac-snowleopard/fast/backgrounds/size/zero-expected.png:
  • platform/chromium-mac/fast/backgrounds/size/zero-expected.png:
20:44 Changeset [121316] by ggaren@apple.com
  • 6 edits in trunk/Source

Reduced (but did not eliminate) use of "berzerker GC"
https://bugs.webkit.org/show_bug.cgi?id=89237

Reviewed by Gavin Barraclough.

(PART 2)

../JavaScriptCore:

This part turns off "berzerker GC" and turns on incremental shrinking.

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doSweep): Free or shrink after sweeping to
maintain the behavior we used to get from the occasional berzerker GC,
which would run all finalizers and then free or shrink all blocks
synchronously.

  • heap/MarkedBlock.h:

(JSC::MarkedBlock::needsSweeping): Sweep zapped blocks, too. It's always
safe to sweep a zapped block (that's the point of zapping), and it's
sometimes profitable. For example, consider this case: Block A does some
allocation (transitioning Block A from Marked to FreeListed), then GC
happens (transitioning Block A to Zapped), then all objects in Block A
are free, then the incremental sweeper visits Block A. If we skipped
Zapped blocks, we'd skip Block A, even though it would be profitable to
run its destructors and free its memory.

  • runtime/GCActivityCallback.cpp:

(JSC::DefaultGCActivityCallback::doWork): Don't sweep eagerly; we'll do
this incrementally.

../WebCore:

Don't ASSERT that RootObject's destructor runs and invalidates all
RuntimeObjects before their destructors run.

We don't guarantee this behavior because some RuntimeObjects may already
be garbage by the time RootObject's destructor runs, in which case
RootObject's weak pointers will be NULL, and RootObject will not call
invalidate() on them.

It's been theoretically possible for this ASSERT to fire for a while now.
This patch makes it fire all the time.

Luckily, we only needed the behavior guarded by this ASSERT for WebKit1
in Safari on Windows (cf. https://bugs.webkit.org/show_bug.cgi?id=61317),
to handle the way WebKit1 would unload plugin DLLs. If this ever becomes
an issue again, we can fix it by (a) not unloading plugin DLLs,
(b) migrating WebKit1 to the WebKit2 JS-plugin binding model, (c) making
the Instance pointer in a RuntimeObject an indirect pointer through
RootObject, or (c) giving RuntimeObject some sort of special way to
access a zombie weak pointer.

  • bridge/runtime_object.cpp:

(JSC::Bindings::RuntimeObject::destroy): ASSERT removed. Anders said so.

20:30 Changeset [121315] by keishi@webkit.org
  • 5 edits
    12 copies
    2 adds in trunk/LayoutTests

[Chromium] Rebaseline 4 tests in editing/deleting. Caused by r121303.

Unreviewed.

  • platform/chromium-linux-x86/editing/deleting/delete-br-002-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-002-expected.txt.
  • platform/chromium-linux-x86/editing/deleting/delete-br-004-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-004-expected.txt.
  • platform/chromium-linux-x86/editing/deleting/delete-br-005-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-005-expected.txt.
  • platform/chromium-linux-x86/editing/deleting/delete-br-006-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-006-expected.txt.
  • platform/chromium-linux/editing/deleting/delete-br-002-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-002-expected.txt.
  • platform/chromium-linux/editing/deleting/delete-br-004-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-004-expected.txt.
  • platform/chromium-linux/editing/deleting/delete-br-005-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-005-expected.txt.
  • platform/chromium-linux/editing/deleting/delete-br-006-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-006-expected.txt.
  • platform/chromium-win-xp/editing/deleting/delete-br-002-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-002-expected.txt.
  • platform/chromium-win-xp/editing/deleting/delete-br-004-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-004-expected.txt.
  • platform/chromium-win-xp/editing/deleting/delete-br-005-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-005-expected.txt.
  • platform/chromium-win-xp/editing/deleting/delete-br-006-expected.txt: Copied from LayoutTests/platform/chromium-win/editing/deleting/delete-br-006-expected.txt.
  • platform/chromium-win/editing/deleting/delete-br-002-expected.txt:
  • platform/chromium-win/editing/deleting/delete-br-004-expected.txt:
  • platform/chromium-win/editing/deleting/delete-br-005-expected.txt:
  • platform/chromium-win/editing/deleting/delete-br-006-expected.txt:
20:02 Changeset [121314] by commit-queue@webkit.org
  • 4 edits
    5 adds in trunk

REGRESSION(r107836): box shadow not drawn for opaque images with an opaque background
https://bugs.webkit.org/show_bug.cgi?id=89958

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2012-06-26
Reviewed by Simon Fraser.

Source/WebCore:

Don't attempt to draw the box shadow as part of the background if the background is
obscured.

Test: fast/box-shadow/image-box-shadow.html

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::boxShadowShouldBeAppliedToBackground):
(WebCore):

  • rendering/RenderImage.h:

(RenderImage):

LayoutTests:

  • fast/box-shadow/image-box-shadow-expected.html: Added.
  • fast/box-shadow/image-box-shadow.html: Added.
  • fast/box-shadow/resources/green-alpha.png: Added.
  • fast/box-shadow/resources/green.jpg: Added.
  • fast/box-shadow/resources/green.png: Added.
19:20 Changeset [121313] by thakis@chromium.org
  • 2 edits in trunk/Source/WebCore

Fix new Wunused-private-field violations that crept in
https://bugs.webkit.org/show_bug.cgi?id=90032

Reviewed by Adam Barth.

  • page/Performance.h:

(Performance):

19:11 Changeset [121312] by gyuyoung.kim@samsung.com
  • 12 edits in trunk/Source

Change return type in bandwidth attribute of network information API
https://bugs.webkit.org/show_bug.cgi?id=89959

Reviewed by Adam Barth.

According to network information API spec, bandwidth attribute should return double type.
But, existing implementation has used *long* and *unsigned int* types.

Source/WebCore:

No new tests. Covered by existing tests.

  • Modules/networkinfo/NetworkInfo.cpp:

(WebCore::NetworkInfo::NetworkInfo):

  • Modules/networkinfo/NetworkInfo.h:

(WebCore::NetworkInfo::create):
(WebCore::NetworkInfo::bandwidth):
(NetworkInfo):

  • Modules/networkinfo/NetworkInfoClient.h:

(NetworkInfoClient):

  • Modules/networkinfo/NetworkInfoConnection.cpp:

(WebCore::NetworkInfoConnection::bandwidth):

  • Modules/networkinfo/NetworkInfoConnection.h:

(NetworkInfoConnection):

  • testing/Internals.cpp:

(WebCore::Internals::setNetworkInformation):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit/efl:

  • WebCoreSupport/NetworkInfoClientEfl.cpp:

(WebCore::NetworkInfoClientEfl::bandwidth):

  • WebCoreSupport/NetworkInfoClientEfl.h:

(NetworkInfoClientEfl):

18:57 Changeset [121311] by macpherson@chromium.org
  • 2 edits
    2 adds in trunk

Be careful not to read past the end of input in CSSParser::lex() when looking for variable definitions.
https://bugs.webkit.org/show_bug.cgi?id=89949

Reviewed by Abhishek Arya.

Added repro case as fast/css/short-inline-style.html.

  • css/CSSParser.cpp:

(WebCore::CSSParser::lex):

18:49 Changeset [121310] by commit-queue@webkit.org
  • 15 edits in trunk/Source

[chromium] Remove WebView::graphicsContext3D getter
https://bugs.webkit.org/show_bug.cgi?id=89916

Patch by James Robinson <jamesr@chromium.org> on 2012-06-26
Reviewed by Adrienne Walker.

Source/Platform:

Remove unused getter.

  • chromium/public/WebLayerTreeView.h:

(WebLayerTreeView):

Source/WebCore:

Deletes code supporting compositor context getter.

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

(CCLayerTreeHost):

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

(CCProxy):

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

(CCSingleThreadProxy):

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

(CCThreadProxy):

Source/WebKit/chromium:

Removes WebView::graphicsContext3D getter. This getter was used to access the compositor's context, which is an
inherently dangerous operation since the compositor context may not be safe to use on the main thread and has
somewhat complicated creation / recreation semantics. A shared context is exposed
(WebView::sharedGraphicsContext3D) for callers who may want access to a context in a share group with the
compositor.

  • public/WebView.h:

(WebView):

  • src/WebLayerTreeView.cpp:
  • src/WebViewImpl.cpp:
  • src/WebViewImpl.h:

(WebViewImpl):

18:41 Changeset [121309] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Unexpected element sizes when mixing inline-table with box-sizing
https://bugs.webkit.org/show_bug.cgi?id=89819

Patch by Kulanthaivel Palanichamy <kulanthaivel@codeaurora.org> on 2012-06-26
Reviewed by Julien Chaffraix.

Source/WebCore:

This change handles box-sizing: border-box property for CSS tables properly.

Test: fast/box-sizing/css-table-with-box-sizing.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
(WebCore::RenderTable::layout):

LayoutTests:

  • fast/box-sizing/css-table-with-box-sizing-expected.txt: Added.
  • fast/box-sizing/css-table-with-box-sizing.html: Added.
18:38 Changeset [121308] by mhahnenberg@apple.com
  • 4 edits in trunk/Tools

Add support for preciseTime() to WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=90027

Reviewed by Darin Adler.

It would be nice to be able to use preciseTime() in WebKitTestRunner like we can in DumpRenderTree.

  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:

(WTR::LayoutTestController::preciseTime):
(WTR):

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

(LayoutTestController):

18:34 Changeset [121307] by fpizlo@apple.com
  • 6 edits
    6 adds in trunk

DFG PutByValAlias is too aggressive
https://bugs.webkit.org/show_bug.cgi?id=90026
<rdar://problem/11751830>

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

For CSE on normal arrays, we now treat PutByVal as impure. This does not appear to affect
performance by much.

For CSE on typed arrays, we fix PutByValAlias by making GetByVal speculate that the access
is within bounds. This also has the effect of making our out-of-bounds handling consistent
with WebCore.

  • dfg/DFGCSEPhase.cpp:

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

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::byValIsPure):
(JSC::DFG::Graph::clobbersWorld):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):

LayoutTests:

Reviewed by Gavin Barraclough.

  • fast/js/dfg-put-by-val-setter-then-get-by-val-expected.txt: Added.
  • fast/js/dfg-put-by-val-setter-then-get-by-val.html: Added.
  • fast/js/dfg-uint8clampedarray-out-of-bounds-put-by-val-alias-expected.txt: Added.
  • fast/js/dfg-uint8clampedarray-out-of-bounds-put-by-val-alias.html: Added.
  • fast/js/script-tests/dfg-put-by-val-setter-then-get-by-val.js: Added.

(foo):
(for):

  • fast/js/script-tests/dfg-uint8clampedarray-out-of-bounds-put-by-val-alias.js: Added.

(foo):

18:31 Changeset [121306] by simon.fraser@apple.com
  • 2 edits in trunk/Source/WebCore

Optimize mappings of simple transforms in RenderGeometryMap
https://bugs.webkit.org/show_bug.cgi?id=90034

Reviewed by Dean Jackson.

For transforms that are identity or simple translations, don't
fall off the fast path in RenderGeometryMap; we can just
treat them as offsets.

Improves performance on pages with lots of translateZ(0) elements.

Remove RenderGeometryMapStep::mapPoint() and mapQuad(), which
were unused.

No new tests; optimization only, and tested by assertions.

  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::push):

17:41 Changeset [121305] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Touch adjustment does not target shadow DOM elements
https://bugs.webkit.org/show_bug.cgi?id=89556

Source/WebCore:

The position of internal shadow-DOM nodes were not being considered
when determining the snap position when TOUCH_ADJUSTMENT is enabled
for fine tuning the position of synthetic mouse events. This
restriction results in not being able to select the calendar picker
when input type=date, or to clear the search field for input
type=search.

Patch by Kevin Ellis <kevers@chromium.org> on 2012-06-26
Reviewed by Antonio Gomes.

Test: touchadjustment/nested-shadow-node.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::bestClickableNodeForTouchPoint):

LayoutTests:

Cannot open calendar picker for input type=date using a touch tap
gesture if TOUCH_ADJUSTMENT is enabled. When touch adjustment is
enabled, the position of a touch point is snapped to the center of an
element when generating synthetic mouse events. The position of shadow
nodes was not being considered when determining the snap position.
This test verifies that touch adjustment now considers shadow-DOM
when calculating the snap position.

Patch by Kevin Ellis <kevers@chromium.org> on 2012-06-26
Reviewed by Antonio Gomes.

  • touchadjustment/nested-shadow-node-expected.txt: Added.
  • touchadjustment/nested-shadow-node.html: Added.
17:06 Changeset [121304] by peter@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Decrease the number of conditional blocks in features.gypi
https://bugs.webkit.org/show_bug.cgi?id=90013

Reviewed by Adam Barth.

Consolidate two Android-specific and accelerated-compositing-specific
conditional blocks into other blocks which serve an identical purpose.

  • features.gypi:
17:00 Changeset [121303] by rniwa@webkit.org
  • 9 edits in trunk

Stop calling node() and deprecatedEditingOffset() in comparePositions
https://bugs.webkit.org/show_bug.cgi?id=54535

Reviewed by Enrica Casucci.

Source/WebCore:

Replaced deprecatedNode() and deprecatedEditingOffset() by containerNode() and computeOffsetInContainerNode()
in comparePositions().

In addition, fixed a bunch of bugs in DeleteSelectionCommand::handleSpecialCaseBRDelete revealed by this change:

  • Use node after position instead of deprecated node in determinig whether start and end positions at a br.
  • Don't set m_startsAtEmptyLine true when BR is wrapped in a block element. The only reason this code had worked

was positions like (div, offset, 0) and (br, before) in <div><br> were treated differently, which we no longer do.

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete):

  • editing/htmlediting.cpp:

(WebCore::comparePositions):

LayoutTests:

Rebaselined existing tests. There are no user-visible changes.

  • editing/inseting/font-size-clears-from-typing-style-expected.txt: No longer keeps div's around

when merging paragraphs.

  • platform/mac/editing/deleting/delete-br-002-expected.txt:
  • platform/mac/editing/deleting/delete-br-004-expected.txt:
  • platform/mac/editing/deleting/delete-br-005-expected.txt:
  • platform/mac/editing/deleting/delete-br-006-expected.txt:
16:54 Changeset [121302] by lforschler@apple.com
  • 3 edits in trunk/Tools

Teach the Apple port how to build the test tools in build-webkit
https://bugs.webkit.org/show_bug.cgi?id=89540

Reviewed by Jon Lee & Simon Fraser.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg: (RunWebKitTests.start): pass --no-build since tools should now be in the downloaded archive (RunUnitTests.start): ditto
  • Scripts/build-webkit: add tools to the projects build list
16:43 Changeset [121301] by ojan@chromium.org
  • 4 edits in trunk/Tools

Only show the platform-appropriate builders for non-layout test failures in garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=90025

Reviewed by Simon Fraser.

Move the chromium-specific filtering code into config.js and replace it with a method on each platform
config. Also, let the webkit test step name be webkit_tests (build.chromium.org) or layout-test (build.webkit.org).

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
16:39 Changeset [121300] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Use eina_file_ls() in EFL implementation of FileSystem listDirectory()
https://bugs.webkit.org/show_bug.cgi?id=89976

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-26
Reviewed by Antonio Gomes.

Rewrite EFL implementation of Filesystem listDirectory() in order to
use eina_file_ls() instead of POSIX C functions. This results in
shorter code.

No new tests, behavior has not changed.

  • platform/efl/FileSystemEfl.cpp:

(WebCore::listDirectory):

16:34 Changeset [121299] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Crash at WebCore::TextIterator::handleTextBox
https://bugs.webkit.org/show_bug.cgi?id=89526
<rdar://problem/10305315>

Patch by Alice Cheng <alice_cheng@apple.com> on 2012-06-26
Reviewed by Darin Adler.

Source/WebCore:

The range used for marking becomes invalid after SpellingCorrectionCommand, due to changes in the DOM made by ReplaceSelectionCommand.
This invalid range caused marking to be incorrect, and Mail.app to crash when iterating through the invalid range. To fix this,
recalculate the range for marking after SpellingCorrectionCommand.

Test: platform/mac/editing/spelling/autocorrection-blockquote-crash.html

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::applyAlternativeTextToRange):

  • editing/Editor.cpp: (WebCore::Editor::markAndReplaceFor):
  • testing/Internals.cpp:

(WebCore):
(WebCore::Internals::hasAutocorrectedMarker):

  • testing/Internals.h: (Internals):
  • testing/Internals.idl:

LayoutTests:

  • platform/mac/editing/spelling/autocorrection-blockquote-crash-expected.txt: Added.
  • platform/mac/editing/spelling/autocorrection-blockquote-crash.html: Added.
16:32 Changeset [121298] by rniwa@webkit.org
  • 3 edits
    1 delete in trunk/LayoutTests

Convert editing/inserting/font-size-clears-from-typing-style.html to a dump-as-markup test
https://bugs.webkit.org/show_bug.cgi?id=90024

Reviewed by Ojan Vafai.

Converted a script test to a dump-as-markup test because the test result can be understood much eaiser that way.

  • editing/inserting/font-size-clears-from-typing-style-expected.txt:
  • editing/inserting/font-size-clears-from-typing-style.html:
  • editing/inserting/script-tests: Removed.
  • editing/inserting/script-tests/TEMPLATE.html: Removed.
  • editing/inserting/script-tests/font-size-clears-from-typing-style.js: Removed.
16:18 Changeset [121297] by tsepez@chromium.org
  • 8 edits
    5 adds in trunk

[chromium] HTML5 audio/video tags - loading http content from https page doesn't trigger warning.
https://bugs.webkit.org/show_bug.cgi?id=89906

Reviewed by Nate Chapin.

This patch treats mixed CachedRawResources as affecting the display of insecure content.

Source/WebCore:

Tests: http/tests/security/mixedContent/insecure-audio-video-in-main-frame.html

http/tests/security/mixedContent/insecure-xhr-in-main-frame.html

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::checkInsecureContent):

LayoutTests:

  • http/tests/security/mixedContent/insecure-audio-video-in-main-frame-expected.txt: Added.
  • http/tests/security/mixedContent/insecure-audio-video-in-main-frame.html: Added.
  • http/tests/security/mixedContent/insecure-xhr-in-main-frame-expected.txt: Added.
  • http/tests/security/mixedContent/insecure-xhr-in-main-frame.html: Added.
  • http/tests/security/mixedContent/resources/frame-with-insecure-audio-video.html: Added.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
16:08 Changeset [121296] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

background-size:0 shows as 1px instead of invisible
https://bugs.webkit.org/show_bug.cgi?id=86942

Patch by Joe Thomas <joethomas@motorola.com> on 2012-06-26
Reviewed by Eric Seidel.

As per the specification http://www.w3.org/TR/css3-background/#background-size, if the background image's width or height resolves to zero,
this causes the image not to be displayed. The effect should be the same as if it had been a transparent image.
This is also mentioned in http://www.w3.org/TR/2002/WD-css3-background-20020802/#background-size.

Source/WebCore:

Test: fast/backgrounds/zero-background-size.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateFillTileSize):

LayoutTests:

  • fast/backgrounds/size/zero.html:
  • fast/backgrounds/zero-background-size-expected.html: Added.
  • fast/backgrounds/zero-background-size.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/fast/backgrounds/size/zero-expected.png:
  • platform/mac/fast/backgrounds/size/zero-expected.txt:
  • platform/qt/TestExpectations:
16:02 Changeset [121295] by adamk@chromium.org
  • 3 edits in trunk/Source/WebCore

[v8] Clean up generated Dictionary-handling code
https://bugs.webkit.org/show_bug.cgi?id=89994

Reviewed by Adam Barth.

No change in behavior, so no new tests.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateParametersCheck):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::optionsObjectCallback):

16:00 Changeset [121294] by ojan@chromium.org
  • 4 edits in trunk/Tools

Fix failing garden-o-matic unittests
https://bugs.webkit.org/show_bug.cgi?id=90021

Reviewed by Adam Barth.

These had all just fallen out of date.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
16:00 Changeset [121293] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Include stdio.h when DEBUG_AUDIONODE_REFERENCES is set
https://bugs.webkit.org/show_bug.cgi?id=89997

Patch by Raymond Toy <rtoy@google.com> on 2012-06-26
Reviewed by Eric Seidel.

No new tests needed for a compile issue

  • Modules/webaudio/AudioNode.cpp: Include stdio.h
15:51 Changeset [121292] by noam.rosenthal@nokia.com
  • 2 edits in trunk/Source/WebCore

[Qt] Use premultiplied alpha when extracting image data in WebGL
https://bugs.webkit.org/show_bug.cgi?id=89937

Reviewed by Jocelyn Turcotte.

Perform conversion in QImage only if the image format is not ARGB32 or
ARGB32_Premultiplied. Otherwise, allow packPixels to perform the conversion if the formats
don't match, as packPixels already performs pixel-specific operations.

Covered by tests in LayoutTests/fast/canvas/webgl, e.g. webgl-composite-modes.html.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::getImageData):

15:07 Exposing WebKit internals for Layout Tests edited by petewil@chromium.org
(diff)
15:05 Exposing WebKit internals for Layout Tests edited by petewil@chromium.org
(diff)
15:04 Exposing WebKit internals for Layout Tests created by petewil@chromium.org
Added instructions (still needs formatting)
15:04 Changeset [121291] by jsbell@chromium.org
  • 13 edits in trunk/Source/WebCore

IndexedDB: Move method precondition checks to front end objects
https://bugs.webkit.org/show_bug.cgi?id=89377

Reviewed by Tony Chang.

Now that metadata exists on the front end, most of the pre-condition validation checks
done on IDB method calls from script can be moved to the front end which simplifies the
code significantly in the case of complex methods like IDBObjectStore::put().

Adds an internal "active" flag for transactions, although the behavior is not accurate
to the spec (it should only be true during event callbacks - http://webkit.org/b/89379).
The back-end methods can then be simplifed to just adding async tasks to the transaction,
and the front end methods can take care of all exception cases except for asynchronous
transaction abort which still requires plumbing back to the front end.

No functional changes - no new tests.

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::update): Migrate from IDBObjectStoreBackendImpl::put.
(WebCore::IDBCursor::advance): Add more explicit transaction-is-active check.
(WebCore::IDBCursor::continueFunction): Ditto.
(WebCore::IDBCursor::deleteFunction): Ditto.
(WebCore::IDBCursor::effectiveObjectStore): Convenience function (source may be store or index).
(WebCore):

  • Modules/indexeddb/IDBCursor.h:

(WebCore::IDBCursor::isKeyCursor): Distinguish from IDBCursorWithValue.
(IDBCursor):

  • Modules/indexeddb/IDBCursorBackendImpl.cpp:

(WebCore::IDBCursorBackendImpl::update): Remove migrated check.

  • Modules/indexeddb/IDBCursorWithValue.h:

(IDBCursorWithValue):

  • Modules/indexeddb/IDBDatabase.cpp: Migrate checks.

(WebCore::IDBDatabase::createObjectStore):
(WebCore::IDBDatabase::deleteObjectStore):

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Replace checks with assertions.

(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):

  • Modules/indexeddb/IDBIndex.cpp: Add transaction-is-active checks.

(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):

  • Modules/indexeddb/IDBObjectStore.cpp: Migrate cehcks.

(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::add): Delegates to put(PutMode)
(WebCore::IDBObjectStore::put): Delegates to put(PutMode)
(WebCore): Adds put(PutMode) which has the unified checks migrated from
IDBObjectStoreBackendImpl::put.
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::clear):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::deleteIndex):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::count):

  • Modules/indexeddb/IDBObjectStore.h: Adds put(PutMode).

(IDBObjectStore):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::getInternal): Fix trace symbol.
(WebCore::IDBObjectStoreBackendImpl::put): Remove migrated checks.
(WebCore::IDBObjectStoreBackendImpl::createIndex): Remove migrated checks.
(WebCore::IDBObjectStoreBackendImpl::deleteIndex): Remove migrated checks.

  • Modules/indexeddb/IDBTransaction.cpp: Add active flag tracking.

(WebCore::IDBTransaction::IDBTransaction):
(WebCore::IDBTransaction::abort):
(WebCore::IDBTransaction::onAbort):
(WebCore::IDBTransaction::onComplete):

  • Modules/indexeddb/IDBTransaction.h:

(WebCore::IDBTransaction::isActive):
(WebCore::IDBTransaction::isReadOnly): Group IDL/non-IDL methods.
(IDBTransaction):

15:03 WikiStart edited by petewil@chromium.org
(diff)
14:46 Changeset [121290] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Fix a test after r121286.

  • editing/deleting/merge-into-empty-block-2.html:
14:35 Changeset [121289] by commit-queue@webkit.org
  • 23 edits
    6 deletes in trunk

Unreviewed, rolling out r121285.
http://trac.webkit.org/changeset/121285
https://bugs.webkit.org/show_bug.cgi?id=90014

"We misinterpreted 'size of the initial containing block'"
(Requested by tomz on #webkit).

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

Source/WebCore:

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcValue::computeLengthPx):
(WebCore::CSSCalcPrimitiveValue::toCalcValue):
(WebCore::CSSCalcPrimitiveValue::computeLengthPx):
(WebCore::CSSCalcBinaryOperation::toCalcValue):
(WebCore::CSSCalcBinaryOperation::computeLengthPx):

  • css/CSSCalculationValue.h:

(CSSCalcExpressionNode):
(WebCore::CSSCalcValue::toCalcValue):
(CSSCalcValue):

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::addStops):
(WebCore::positionFromValue):
(WebCore::CSSGradientValue::computeEndPoint):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::resolveRadius):
(WebCore::CSSRadialGradientValue::createGradient):

  • css/CSSGradientValue.h:

(CSSGradientValue):
(CSSRadialGradientValue):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeLength):
(WebCore::CSSPrimitiveValue::computeLengthDouble):

  • css/CSSPrimitiveValue.h:

(CSSPrimitiveValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::convertToLength):

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):

  • css/CSSToStyleMap.h:

(CSSToStyleMap):

  • css/MediaQueryEvaluator.cpp:

(WebCore::computeLength):
(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):
(WebCore::heightMediaFeatureEval):
(WebCore::widthMediaFeatureEval):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyClip::convertToLength):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyPageSize::mmLength):
(WebCore::ApplyPropertyPageSize::inchLength):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • css/StyleResolver.h:

(StyleResolver):

  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::setMatrixValue):

LayoutTests:

  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-border-expected.html: Removed.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-border.html: Removed.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-border-expected.html: Removed.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-border.html: Removed.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-border-expected.htm: Removed.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-border.html: Removed.
  • ietestcenter/css3/valuesandunits/units-000.htm:
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
14:30 Changeset [121288] by commit-queue@webkit.org
  • 20 edits
    2 adds in trunk/Source

[chromium] Expose rendering statistics to WebWidget.
https://bugs.webkit.org/show_bug.cgi?id=88268

Patch by Dave Tu <dtu@chromium.org> on 2012-06-26
Reviewed by James Robinson.

The WebKit side of a basic framework for exposing rendering statistics
to Chromium's --enable-benchmarking extension.

Source/Platform:

  • chromium/public/WebLayerTreeView.h:

(WebRenderingStatistics):
(WebKit):
(WebLayerTreeView):

Source/WebCore:

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

(WebCore::CCLayerTreeHost::implFrameNumber):

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

(CCProxy):

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

(WebCore::CCThreadProxy::implFrameNumber):
(WebCore):
(WebCore::CCThreadProxy::implFrameNumberOnImplThread):

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

(CCThreadProxy):

Source/WebKit/chromium:

  • src/WebLayerTreeView.cpp:

(WebKit::WebLayerTreeView::renderingStatistics):
(WebKit):

14:21 Changeset [121287] by ojan@chromium.org
  • 3 edits in trunk/Tools

Fix platform picker change handler in garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=90010

Reviewed by Simon Fraser.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:

The old code never worked. This is hard to test because change handlers require
a user-initiated action and the code is changing the window's location, which would
navigate the test page.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/onebar.css:

Fix the CSS so it doesn't cause the tabstrip to be disconnected from the tabs on Linux
due to the large margin-bottom.

14:06 Changeset [121286] by rniwa@webkit.org
  • 5 edits
    4 adds
    44 deletes in trunk/LayoutTests

Convert editing/deleting/delete-3959464-fix.html, delete-at-paragraph-boundaries-001.html, merge-into-empty-block-1.html and merge-into-empty-block-2.html to dump-as-markup tests
https://bugs.webkit.org/show_bug.cgi?id=90011

Reviewed by Eric Seidel.

  • editing/deleting/delete-3959464-fix-expected.txt: Added.
  • editing/deleting/delete-3959464-fix.html:
  • editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Added.
  • editing/deleting/delete-at-paragraph-boundaries-001.html:
  • editing/deleting/merge-into-empty-block-1-expected.txt: Added.
  • editing/deleting/merge-into-empty-block-1.html:
  • editing/deleting/merge-into-empty-block-2-expected.txt: Added.
  • editing/deleting/merge-into-empty-block-2.html:
  • platform/chromium-linux/editing/deleting/delete-3959464-fix-expected.png: Removed.
  • platform/chromium-linux/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/chromium-linux/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/chromium-linux/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/chromium-mac-leopard/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/chromium-mac-leopard/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/chromium-mac-leopard/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/chromium-mac-snowleopard/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/chromium-mac-snowleopard/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/chromium-mac/editing/deleting/delete-3959464-fix-expected.png: Removed.
  • platform/chromium-mac/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/chromium-mac/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/chromium-mac/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/chromium-win/editing/deleting/delete-3959464-fix-expected.png: Removed.
  • platform/chromium-win/editing/deleting/delete-3959464-fix-expected.txt: Removed.
  • platform/chromium-win/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/chromium-win/editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Removed.
  • platform/chromium-win/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/chromium-win/editing/deleting/merge-into-empty-block-1-expected.txt: Removed.
  • platform/chromium-win/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/chromium-win/editing/deleting/merge-into-empty-block-2-expected.txt: Removed.
  • platform/gtk/editing/deleting/delete-3959464-fix-expected.txt: Removed.
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/gtk/editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Removed.
  • platform/gtk/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/gtk/editing/deleting/merge-into-empty-block-1-expected.txt: Removed.
  • platform/gtk/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/gtk/editing/deleting/merge-into-empty-block-2-expected.txt: Removed.
  • platform/mac/editing/deleting/delete-3959464-fix-expected.png: Removed.
  • platform/mac/editing/deleting/delete-3959464-fix-expected.txt: Removed.
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/mac/editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Removed.
  • platform/mac/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/mac/editing/deleting/merge-into-empty-block-1-expected.txt: Removed.
  • platform/mac/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/mac/editing/deleting/merge-into-empty-block-2-expected.txt: Removed.
  • platform/qt/editing/deleting/delete-3959464-fix-expected.png: Removed.
  • platform/qt/editing/deleting/delete-3959464-fix-expected.txt: Removed.
  • platform/qt/editing/deleting/delete-at-paragraph-boundaries-001-expected.png: Removed.
  • platform/qt/editing/deleting/delete-at-paragraph-boundaries-001-expected.txt: Removed.
  • platform/qt/editing/deleting/merge-into-empty-block-1-expected.png: Removed.
  • platform/qt/editing/deleting/merge-into-empty-block-1-expected.txt: Removed.
  • platform/qt/editing/deleting/merge-into-empty-block-2-expected.png: Removed.
  • platform/qt/editing/deleting/merge-into-empty-block-2-expected.txt: Removed.
13:23 Changeset [121285] by tomz@codeaurora.org
  • 23 edits
    6 adds in trunk

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

Patch by Dave Tharp <dtharp@codeaurora.org> on 2012-06-26
Reviewed by Beth Dakin.

Source/WebCore:

Modified computeLengthDouble() to handle vh, vw, and vmin units. Per the spec
(http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths) viewport -percentage
lengths are "relative to the size of the initial containing block", which I read to be
the size of the parent element. Since parentStyle was not available in computeLengthDouble,
most of the changes for this patch involved "pushing down" the parentStyle pointer through
the network of computeLength methods and dependencies.

Tests: css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-border.html

css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-border.html
css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-border.html

  • css/CSSCalculationValue.cpp:

(WebCore::CSSCalcValue::computeLengthPx):
(WebCore::CSSCalcPrimitiveValue::toCalcValue):
(WebCore::CSSCalcPrimitiveValue::computeLengthPx):
(WebCore::CSSCalcBinaryOperation::toCalcValue):
(WebCore::CSSCalcBinaryOperation::computeLengthPx):

  • css/CSSCalculationValue.h:

(CSSCalcExpressionNode):
(WebCore::CSSCalcValue::toCalcValue):
(CSSCalcValue):

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::addStops):
(WebCore::positionFromValue):
(WebCore::CSSGradientValue::computeEndPoint):
(WebCore::CSSLinearGradientValue::createGradient):
(WebCore::CSSRadialGradientValue::resolveRadius):
(WebCore::CSSRadialGradientValue::createGradient):

  • css/CSSGradientValue.h:

(CSSGradientValue):
(CSSRadialGradientValue):

  • css/CSSPrimitiveValue.cpp:

(WebCore::CSSPrimitiveValue::computeLength):
(WebCore::CSSPrimitiveValue::computeLengthDouble):

  • css/CSSPrimitiveValue.h:

(CSSPrimitiveValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::convertToLength):

  • css/CSSToStyleMap.cpp:

(WebCore::CSSToStyleMap::parentStyle):
(WebCore):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):

  • css/CSSToStyleMap.h:

(CSSToStyleMap):

  • css/MediaQueryEvaluator.cpp:

(WebCore::computeLength):
(WebCore::device_heightMediaFeatureEval):
(WebCore::device_widthMediaFeatureEval):
(WebCore::heightMediaFeatureEval):
(WebCore::widthMediaFeatureEval):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyAuto::applyValue):
(WebCore::ApplyPropertyClip::convertToLength):
(WebCore::ApplyPropertyLength::applyValue):
(WebCore::ApplyPropertyBorderRadius::applyValue):
(WebCore::ApplyPropertyComputeLength::applyValue):
(WebCore::ApplyPropertyFontSize::applyValue):
(WebCore::ApplyPropertyLineHeight::applyValue):
(WebCore::ApplyPropertyPageSize::mmLength):
(WebCore::ApplyPropertyPageSize::inchLength):
(WebCore::ApplyPropertyPageSize::applyValue):
(WebCore::ApplyPropertyVerticalAlign::applyValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • css/StyleResolver.h:

(WebCore::StyleResolver::parentNode):
(StyleResolver):

  • css/WebKitCSSMatrix.cpp:

(WebCore::WebKitCSSMatrix::setMatrixValue):

LayoutTests:

Adding explicit tests for viewport border length tests. Inspired by IE Test center
units-000 test which highlighted that vw, vh, and vmin were not being handled in computeLengthDouble().
Also, adjusting test_expectations and Skipped for units-000, which no longer Asserts with this
patch implemented.

  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-border-expected.html: Added.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vh-border.html: Added.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-border-expected.html: Added.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vmin-border.html: Added.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-border-expected.htm: Added.
  • css3/viewport-percentage-lengths/css3-viewport-percentage-lengths-vw-border.html: Added.
  • ietestcenter/css3/valuesandunits/units-000.htm:
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
13:17 Changeset [121284] by jamesr@google.com
  • 11 edits
    2 copies in trunk/Source

[chromium] Add WebLayer API for scrolling
https://bugs.webkit.org/show_bug.cgi?id=89913

Reviewed by Adrienne Walker.

Source/Platform:

Adds WebScrollableLayer type to represent a layer that can be scrolled by the user. Currently WebContentLayers
are scrollable and no other layer types are, although this might change in the future.

  • chromium/public/WebContentLayer.h:

(WebKit::WebContentLayer::WebContentLayer):

  • chromium/public/WebLayer.h:

(WebLayer):

  • chromium/public/WebScrollableLayer.h:

(WebKit):
(WebScrollableLayer):
(WebKit::WebScrollableLayer::WebScrollableLayer):
(WebKit::WebScrollableLayer::~WebScrollableLayer):
(WebKit::WebScrollableLayer::operator=):

Source/WebCore:

Use new WebScrollableLayer type in ScrollingCoordinatorChromium. This file peeks "under the hood" a fair amount
since we don't have WebLayer API for scrollbar layers yet.

  • page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:

(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::hasScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::scrollLayer):
(ScrollingCoordinatorPrivate):
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):

Source/WebKit/chromium:

Use WebScrollableLayer type in NonCompositedContentHost.

  • WebKit.gyp:
  • src/NonCompositedContentHost.cpp:

(WebKit::NonCompositedContentHost::setScrollLayer):
(WebKit::reserveScrollbarLayers):
(WebKit::NonCompositedContentHost::setViewport):
(WebKit::NonCompositedContentHost::haveScrollLayer):
(WebKit):
(WebKit::NonCompositedContentHost::scrollLayer):

  • src/NonCompositedContentHost.h:

(WebCore):

  • src/WebContentLayer.cpp:

(WebKit::WebContentLayer::WebContentLayer):

  • src/WebLayer.cpp:

(WebKit::WebLayer::numberOfChildren):
(WebKit):
(WebKit::WebLayer::childAt):
(WebKit::WebLayer::setAlwaysReserveTextures):

  • src/WebScrollableLayer.cpp:

(WebKit):
(WebKit::WebScrollableLayer::setScrollPosition):
(WebKit::WebScrollableLayer::setScrollable):
(WebKit::WebScrollableLayer::setHaveWheelEventHandlers):
(WebKit::WebScrollableLayer::setShouldScrollOnMainThread):

13:09 Changeset [121283] by jamesr@google.com
  • 5 edits in trunk

Unreviewed, rolling out r120501.
http://trac.webkit.org/changeset/120501
https://bugs.webkit.org/show_bug.cgi?id=89126

[skia] Fix is too heavy-handed

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::drawNeedsCopy):

  • platform/graphics/skia/PlatformContextSkia.cpp:

(WebCore::PlatformContextSkia::PlatformContextSkia):

  • platform/graphics/skia/PlatformContextSkia.h:

(PlatformContextSkia):
(WebCore::PlatformContextSkia::isDeferred):
(WebCore::PlatformContextSkia::setDeferred):

12:55 Changeset [121282] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[BlackBerry] Add JSC statistics into about:memory
https://bugs.webkit.org/show_bug.cgi?id=89779

Patch by Yong Li <yoli@rim.com> on 2012-06-26
Reviewed by Rob Buis.

Fix non-JIT build on BlackBerry broken by r121196.

  • runtime/MemoryStatistics.cpp:

(JSC::globalMemoryStatistics):

12:52 Changeset [121281] by mifenton@rim.com
  • 6 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Add WebPage interface for Async spell check.
https://bugs.webkit.org/show_bug.cgi?id=89999

Reviewed by Rob Buis.

PR 124517.

Add interface for IMS async spell checking.

Reviewed Internally by Nima Ghanavatian.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::spellCheckingRequestProcessed):
(WebKit):

  • Api/WebPage.h:
  • Api/WebPageClient.h:
  • WebKitSupport/InputHandler.cpp:

(WebKit):
(BlackBerry::WebKit::InputHandler::spellCheckingRequestProcessed):

  • WebKitSupport/InputHandler.h:

(InputHandler):

12:42 Changeset [121280] by fpizlo@apple.com
  • 15 edits
    15 adds in trunk

DFG::operationNewArray is unnecessarily slow, and may use the wrong array
prototype when inlined
https://bugs.webkit.org/show_bug.cgi?id=89821

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Fixes all array allocations to use the right structure, and hence the right prototype. Adds
inlining of new Array(...) with a non-zero number of arguments. Optimizes allocations of
empty arrays.

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):

  • dfg/DFGCCallHelpers.h:

(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
(CCallHelpers):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • runtime/JSArray.h:

(JSC):
(JSC::constructArray):

  • runtime/JSGlobalObject.h:

(JSC):
(JSC::constructArray):

LayoutTests:

Rubber stamped by Geoffrey Garen.

  • fast/js/dfg-cross-global-object-inline-new-array-expected.txt: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-literal-expected.txt: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-literal-with-variables-expected.txt: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-literal-with-variables.html: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-literal.html: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-with-elements-expected.txt: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-with-elements.html: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-with-size-expected.txt: Added.
  • fast/js/dfg-cross-global-object-inline-new-array-with-size.html: Added.
  • fast/js/dfg-cross-global-object-inline-new-array.html: Added.
  • fast/js/script-tests/cross-global-object-inline-global-var.js:

(done):

  • fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal-with-variables.js: Added.

(foo):
(done):
(doit):

  • fast/js/script-tests/dfg-cross-global-object-inline-new-array-literal.js: Added.

(foo):
(done):
(doit):

  • fast/js/script-tests/dfg-cross-global-object-inline-new-array-with-elements.js: Added.

(foo):
(done):
(doit):

  • fast/js/script-tests/dfg-cross-global-object-inline-new-array-with-size.js: Added.

(foo):
(done):
(doit):

  • fast/js/script-tests/dfg-cross-global-object-inline-new-array.js: Added.

(foo):
(done):
(doit):

12:40 Changeset [121279] by jchaffraix@webkit.org
  • 3 edits in trunk/Source/WebCore

Crash in FixedTableLayout::layout
https://bugs.webkit.org/show_bug.cgi?id=88676

Unreviewed typo fix, pointed out by Darin Adler.

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::layout):

  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::layout):

12:36 Changeset [121278] by adamk@chromium.org
  • 4 edits in trunk

MutationObserver.observe should treat a null or undefined options argument as empty
https://bugs.webkit.org/show_bug.cgi?id=89992

Reviewed by Ojan Vafai.

Source/WebCore:

The WebIDL spec was recently updated to treat null or undefined
Dictionary arguments the same as the empty dictionary. This patch
updates MutationObserver.observe to follow that spec.

Note that we still throw a SYNTAX_ERR in this case, since it's an
error not to pass one of "attributes", "childList", or "characterData"
as a key in the dictionary.

  • dom/WebKitMutationObserver.cpp:

(WebCore::WebKitMutationObserver::observe):

LayoutTests:

  • fast/mutation/observe-exceptions-expected.txt:
12:34 Changeset [121277] by commit-queue@webkit.org
  • 5 edits
    1 delete in trunk/Source

[chromium] The single thread proxy should not automatically tick new animations.
https://bugs.webkit.org/show_bug.cgi?id=89996

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-26
Reviewed by James Robinson.

Source/WebCore:

No new tests. No change to existing functionality.

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

(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::initializeLayerRenderer):
(WebCore::CCSingleThreadProxy::didAddAnimation):

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

(WebCore):

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/CCSingleThreadProxyTest.cpp: Removed.
12:21 Changeset [121276] by hclam@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Mark a layout test as timeout
https://bugs.webkit.org/show_bug.cgi?id=90003

fast/js/repeat-cached-vm-reentry.html started timing out on Mac debug and Win debug builds
between r121233:121239.

  • platform/chromium/TestExpectations:
12:16 Changeset [121275] by jchaffraix@webkit.org
  • 4 edits
    6 adds in trunk

Crash in FixedTableLayout::layout
https://bugs.webkit.org/show_bug.cgi?id=88676

Reviewed by Abhishek Arya.

Source/WebCore:

Tests: fast/table/auto-table-layout-colgroup-removal-crash.html

fast/table/fixed-table-layout/colgroup-removal-crash.html
fast/table/fixed-table-layout/prepend-in-fixed-table.html

The issue comes from RenderTable not properly dirtying its preferred logical
widths. As the table layout codes (both fixed and auto), recomputes their internal
structures at computePreferredLogicalWidth, the internal structure doesn't match
the table sizing and we crash.

This fix adds a work-around in FixedTableLayout::layout (which matches AutoTableLayout).
The long-term fix would be to properly fix the logic but this is a lot safer, especially
since our logic is really not bullet-proof at the moment.

  • rendering/FixedTableLayout.cpp:

(WebCore::FixedTableLayout::layout):
Added an internal structure recomputation, if we have drifted from our table's structure.
Also we need to update nEffCols if we call calcWidthArray.

  • rendering/AutoTableLayout.cpp:

(WebCore::AutoTableLayout::layout):
Added a comment matching FixedTableLayout. The nEffCols is unneeded but kept for consistency
with FixedTableLayout.

LayoutTests:

  • fast/table/auto-table-layout-colgroup-removal-crash-expected.txt: Added.
  • fast/table/auto-table-layout-colgroup-removal-crash.html: Added.
  • fast/table/fixed-table-layout/colgroup-removal-crash-expected.txt: Added.
  • fast/table/fixed-table-layout/colgroup-removal-crash.html: Added.

2 cases where we remove a colgroup after having done layout.

  • fast/table/fixed-table-layout/prepend-in-fixed-table-expected.txt: Added.
  • fast/table/fixed-table-layout/prepend-in-fixed-table.html: Added.

This is a copy of fast/table/prepend-in-anonymous-table.html modified to work with
fixed table layout. This covers a bug found during testing that is fixed as part of
this broader change.

11:58 Changeset [121274] by jchaffraix@webkit.org
  • 1 edit
    4 copies in branches/chromium/1180

Merge 120934 - Non-fixed length margins don't work with align=center
https://bugs.webkit.org/show_bug.cgi?id=89626

Reviewed by Levi Weintraub.

Source/WebCore:

Tests: fast/block/negative-start-margin-align-center-percent.html

fast/block/positive-margin-block-child-align-center-calc.html

Calling Length::value() is a bad idea as it returns the *raw* value of
the length. For percent and calculated length this is a bad idea as they
bear not relation to the actual computed length.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeInlineDirectionMargins):
Fixed the code to use minimumValueForLength as this nicely takes care of the 'auto' case.

LayoutTests:

  • fast/block/negative-start-margin-align-center-percent-expected.html: Added.
  • fast/block/negative-start-margin-align-center-percent.html: Added.
  • fast/block/positive-margin-block-child-align-center-calc-expected.html: Added.
  • fast/block/positive-margin-block-child-align-center-calc.html: Added.

TBR=jchaffraix@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10668050

11:42 Changeset [121273] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[chromium] Layer chromium should need a redraw after getting its first non-empty bounds.
https://bugs.webkit.org/show_bug.cgi?id=89784

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-26
Reviewed by James Robinson.

Previously, we'd only set needs redraw if the old bounds were zero,
and the new bounds were non-zero, but we should actually have
checked that the old bounds were non-empty.

Source/WebCore:

Unit test: LayerChromiumTestWithoutFixture.setBoundsTriggersSetNeedsRedrawAfterGettingNonEmptyBounds

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::setBounds):

Source/WebKit/chromium:

  • tests/LayerChromiumTest.cpp:
11:39 Changeset [121272] by hclam@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Mark a layout test as fail
https://bugs.webkit.org/show_bug.cgi?id=89998

compositing/webgl/webgl-nonpremultiplied-blend.html started failing after r121267, give it IMAGE failure.

  • platform/chromium/TestExpectations:
11:38 Changeset [121271] by jpu@apple.com
  • 2 edits in trunk/Source/WebCore

On Mac, autocorrection sometimes fails to take place in Safari.
https://bugs.webkit.org/show_bug.cgi?id=89982

Reviewed by Darin Adler.

Existing test was turned off due to intermittent failure, which is caused by autocorrection result depending on user data
that may be altered by previous test runs. Hopefully we can turn the test back on once we have a way to make autocorrection
behave consistently.

Basically we should check the value of shouldCheckForCorrection, not shouldShowCorrectionPanel, to determine if we should
early return in markAndReplaceFor().

  • editing/Editor.cpp:

(WebCore::Editor::markAndReplaceFor):

11:34 Changeset [121270] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Do early-return when author and user styles are disabled.
https://bugs.webkit.org/show_bug.cgi?id=89947

Patch by Joe Thomas <joethomas@motorola.com> on 2012-06-26
Reviewed by Andreas Kling.

  • dom/Document.cpp:

(WebCore::Document::collectActiveStylesheets):

11:27 Changeset [121269] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

webkitpy: Make webkit-patch patches-to-review useful
https://bugs.webkit.org/show_bug.cgi?id=89470

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-26
Reviewed by Eric Seidel.

webkit-patch patches-to-review will now output the list of
bugs with patches pending for review that has the user on CC,
excluding patches with cq-, sorted by the age of the patch.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(BugzillaQueries.fetch_bugs_from_review_queue):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:

(MockBugzillaQueries.fetch_bugs_from_review_queue):
(MockBugzilla.init):
(MockBugzilla.authenticate):

  • Scripts/webkitpy/tool/commands/queries.py:

(PatchesToReview):
(PatchesToReview.init):
(PatchesToReview._print_report):
(PatchesToReview._generate_report):
(PatchesToReview.execute):

  • Scripts/webkitpy/tool/commands/queries_unittest.py:

(QueryCommandsTest.test_patches_to_review):

11:09 Changeset [121268] by commit-queue@webkit.org
  • 8 edits in trunk/Source

[chromium] Remove dead compositor-related API from GraphicsContext3DPrivate / Extensions3DChromium
https://bugs.webkit.org/show_bug.cgi?id=89933

Patch by James Robinson <jamesr@chromium.org> on 2012-06-26
Reviewed by Kenneth Russell.

Source/WebCore:

GraphicsContext3DPrivate and Extensions3DChromium had a fair amount of plumbing and boilerplate to support the
compositor's use of GraphicsContext3D. A number of extensions, etc, only make sense for a compositor context.
Since the compositor doesn't use GC3D any more, these are no longer needed.

  • platform/chromium/support/Extensions3DChromium.cpp:
  • platform/chromium/support/GraphicsContext3DChromium.cpp:

(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::create):

  • platform/chromium/support/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
(WebCore::GrMemoryAllocationChangedCallbackAdapter::GrMemoryAllocationChangedCallbackAdapter):
(WebCore::GraphicsContext3DPrivate::grContext):

  • platform/chromium/support/GraphicsContext3DPrivate.h:

(WebCore):
(GraphicsContext3DPrivate):

  • platform/graphics/chromium/Extensions3DChromium.h:

Source/WebKit/chromium:

  • tests/Canvas2DLayerBridgeTest.cpp:

(Canvas2DLayerBridgeTest::fullLifecycleTest):

10:56 Changeset [121267] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[chromium] Add the workaround of IOSurface-related corruption during readback on Mac OS X.
https://bugs.webkit.org/show_bug.cgi?id=89797

Patch by Yasuhiro Matsuda <mazda@chromium.org> on 2012-06-26
Reviewed by James Robinson.

No new tests. This patch doesn't change behavior.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::getFramebufferPixels):

10:48 WebKitGTK/1.8.x edited by mrobinson@webkit.org
(diff)
10:01 Changeset [121266] by dpranke@chromium.org
  • 3 edits in trunk/Tools

nrwt: broken for chromium on vista
https://bugs.webkit.org/show_bug.cgi?id=89988

Reviewed by Tony Chang.

r121194 removed support for 'chromium-win-vista' as a separate
port, but this actually prevented the code from running on vista
at all, which is unduly harsh and broke the websocket tests on
the (non-webkit) chromium bots that are still running on vista.

It's probably good enough to pretend that vista is win7 instead;
some layout tests will still fail but at least things'll run.

  • Scripts/webkitpy/layout_tests/port/chromium_win.py:

(ChromiumWinPort.determine_full_port_name):

  • Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:

(ChromiumWinTest.test_versions):

09:30 Changeset [121265] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Native memory snapshots crash in debug mode.
https://bugs.webkit.org/show_bug.cgi?id=89977

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

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::maybeDOMWrapper):

09:20 Changeset [121264] by shawnsingh@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] Fix incorrect #ifdef WEBKIT_IMPLEMENTATION statements
https://bugs.webkit.org/show_bug.cgi?id=89931

Reviewed by James Robinson.

WEBKIT_IMPLEMENTATION is defined as either 0 or 1, so the usage of
#ifdef or #if have different behavior. There are some places in
the code that use "#ifdef WEBKIT_IMLPEMENTATION", but they should
actually be "#if WEBKIT_IMPLEMENTATION". This patch fixes those
#ifdef statements.

  • public/WebTextRun.h:

(WebTextRun):

  • public/linux/WebFontRenderStyle.h:
08:00 Changeset [121263] by ossy@webkit.org
  • 2 edits in trunk/Tools

master.cfg cleanup: Pass CheckOutSource instance instead of class to BuildStep.addStep
https://bugs.webkit.org/show_bug.cgi?id=89215

We need it because it is deprecated and will be dropped in buildbot 0.8.7

Reviewed by Tony Chang.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(CheckOutSource.init):
(Factory.init):

07:39 Changeset [121262] by commit-queue@webkit.org
  • 2 edits
    12 adds in trunk/LayoutTests

[Qt] Baseline missing for 3D transforms tests.
https://bugs.webkit.org/show_bug.cgi?id=89973

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-06-26
Reviewed by Csaba Osztrogonác.

Unskip the transforms/3d/hit-testing, and skip one failing transforms/3d/point-mapping test.
Add missing baselines for all unskipped 3D transforms tests.

  • platform/qt/Skipped:
  • platform/qt/transforms/3d/hit-testing/backface-hit-test-expected.txt: Added.
  • platform/qt/transforms/3d/hit-testing/backface-no-transform-hit-test-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-2-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-3-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-coplanar-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-deep-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-overlapping-expected.txt: Added.
  • platform/qt/transforms/3d/point-mapping/3d-point-mapping-preserve-3d-expected.txt: Added.
07:01 Changeset [121261] by hausmann@webkit.org
  • 4 edits
    1 add in trunk

[Qt][Win] Symbols are not exported in QtWebKit5.dll
https://bugs.webkit.org/show_bug.cgi?id=88873

Reviewed by Tor Arne Vestbø.

Source/WebKit:

  • api.pri: Remove MAKEDLL setting done now in win32/default_post.prf.

Tools:

When linking the target dll make sure to re-export the symbols from
the static libraries marked as export, with the help of a little python
script and a qmake extra compiler.

  • Scripts/generate-win32-export-forwards: Added.
  • qmake/mkspecs/features/win32/default_post.prf:
06:09 Changeset [121260] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Texmap] Bug fix typo about computing bytesPerLine in BitmapTextureGL.
https://bugs.webkit.org/show_bug.cgi?id=89924

"bytesPerLine == targetRect.width() / 4" is invalid.
This patch amended it into "bytesPerLine == targetRect.width() * 4".
Moreover, changed magic number 4 to bytesPerPixel.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-26
Reviewed by Noam Rosenthal.

No new tests. Covered by existing tests.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::BitmapTextureGL::updateContents):

06:07 Changeset [121259] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Shader compiler unprepared to make ESSL output when GLES is used
https://bugs.webkit.org/show_bug.cgi?id=87718

Patch by Roland Takacs <takacs.roland@stud.u-szeged.hu> on 2012-06-26
Reviewed by Noam Rosenthal.

Defined a new member that says what type of output code must be generated
(SH_GLSL_OUTPUT, SH_ESSL_OUTPUT). It is set within the constructor.

  • platform/graphics/ANGLEWebKitBridge.cpp:

(WebCore::ANGLEWebKitBridge::ANGLEWebKitBridge):
(WebCore::ANGLEWebKitBridge::validateShaderSource):

  • platform/graphics/ANGLEWebKitBridge.h:

(ANGLEWebKitBridge):

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::GraphicsContext3D):

05:56 Changeset [121258] by pdr@google.com
  • 3 edits
    2 adds in trunk

Fix bug where animations failed to start
https://bugs.webkit.org/show_bug.cgi?id=89943

Reviewed by Nikolas Zimmermann.

Source/WebCore:

The unpause code previously checked that the animations had not started
before un-setting the pause state. This meant that if an animation was
paused and unpaused before the animations started, it would remain in the
paused state. This patch simply reorders the unpause logic to fix this bug.

Test: svg/custom/animate-initial-pause-unpause.html

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::resume):

LayoutTests:

  • svg/custom/animate-initial-pause-unpause-expected.txt: Added.
  • svg/custom/animate-initial-pause-unpause.html: Added.
05:49 Changeset [121257] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening of new passing tests
https://bugs.webkit.org/show_bug.cgi?id=89970

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-26

  • platform/efl/TestExpectations:
05:32 Changeset [121256] by yurys@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: popover is not shown for detached DOM nodes, not referenced directly from JS
https://bugs.webkit.org/show_bug.cgi?id=89955

Reviewed by Vsevolod Vlasov.

Show object popover for all heap snapshot nodes event for those whose
canBeQueried flag is false. We didn't show popover for such objects before
as it could lead to the backend crash. In the meantime the backend shouldn't
fail on such DOM wrappers and report an error if it cannot resolve
inspected object.

  • inspector/front-end/HeapSnapshotGridNodes.js:

(WebInspector.HeapSnapshotGenericObjectNode):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapSnapshotView.prototype._getHoverAnchor):

05:17 Changeset [121255] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Limit session storage quota to 5MB by default
https://bugs.webkit.org/show_bug.cgi?id=89941

Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-06-26
Reviewed by Rob Buis.

Limit session storage quota to 5MB by default for BlackBerry
porting.
Internally reviewed by George Staikos.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

  • Api/WebSettings.cpp:

(WebKit):
(BlackBerry::WebKit::WebSettings::standardSettings):
(BlackBerry::WebKit::WebSettings::sessionStorageQuota):
(BlackBerry::WebKit::WebSettings::setSessionStorageQuota):

  • Api/WebSettings.h:
05:10 Changeset [121254] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Simplify SharedBuffer::createWithContentsOfFile() implementation
https://bugs.webkit.org/show_bug.cgi?id=89655

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-26
Reviewed by Csaba Osztrogonác.

Simplify the implementation of SharedBuffer::createWithContentsOfFile()
in EFL port.

No new test, no behavior change.

  • platform/efl/SharedBufferEfl.cpp:

(WebCore::SharedBuffer::createWithContentsOfFile):

04:27 Changeset [121253] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] REGRESSION (r121163): fast/frames/iframe-access-screen-of-deleted.html crashes
https://bugs.webkit.org/show_bug.cgi?id=89964

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-26
Reviewed by Andreas Kling.

Added missing null pointer check.

  • platform/efl/PlatformScreenEfl.cpp:

(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):

03:36 Changeset [121252] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[GTK] Assert failure in fast/canvas/canvas-createImageData.html for 64bit Debug bot
https://bugs.webkit.org/show_bug.cgi?id=89647

Unreviewed, update GTK test expectations.

r121215 has fixed the assertion failure, so the test doesn't crash
anymore.

Patch by Simon Pena <spena@igalia.com> on 2012-06-26

  • platform/gtk/TestExpectations:
03:26 Changeset [121251] by kinuko@chromium.org
  • 7 edits
    2 adds in trunk

Web Inspector: Add requestMetadata command and metadataReceived event to FileSystem
https://bugs.webkit.org/show_bug.cgi?id=87856

Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-06-26
Reviewed by Yury Semikhatsky.

Source/WebCore:

Test: http/tests/inspector/filesystem/get-metadata.html

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

(WebCore):
(WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
(WebCore::InspectorFileSystemAgent::requestDirectoryContent):
(WebCore::InspectorFileSystemAgent::requestMetadata):

  • inspector/InspectorFileSystemAgent.h:

(InspectorFileSystemAgent):

  • inspector/front-end/FileSystemModel.js:

(WebInspector.FileSystemModel.prototype._directoryContentReceived):
(WebInspector.FileSystemModel.prototype.requestMetadata):
(WebInspector.FileSystemModel.Entry.prototype.get isDirectory):
(WebInspector.FileSystemModel.Entry.prototype.requestMetadata):
(WebInspector.FileSystemRequestManager):
(WebInspector.FileSystemRequestManager.prototype._directoryContentReceived):
(WebInspector.FileSystemRequestManager.prototype.requestMetadata.requestAccepted):
(WebInspector.FileSystemRequestManager.prototype.requestMetadata):
(WebInspector.FileSystemRequestManager.prototype._metadataReceived):
(WebInspector.FileSystemDispatcher.prototype.directoryContentReceived):
(WebInspector.FileSystemDispatcher.prototype.metadataReceived):

LayoutTests:

  • http/tests/inspector/filesystem/filesystem-test.js:

(initialize_FileSystemTest.InspectorTest.writeFile):
(initialize_FileSystemTest.InspectorTest.dumpMetadataRequestResult):
(initialize_FileSystemTest):
(writeFile.didGetFileSystem):
(writeFile):
(writeFile.didGetWriter.writer.onwrite):
(writeFile.didGetWriter):

  • http/tests/inspector/filesystem/get-metadata-expected.txt: Added.
  • http/tests/inspector/filesystem/get-metadata.html: Added.
03:19 Changeset [121250] by jocelyn.turcotte@nokia.com
  • 2 edits in trunk/Source/WebCore

[Qt] GraphicsSurface: Fix tile update artifacts on Mac
https://bugs.webkit.org/show_bug.cgi?id=89887

Reviewed by Noam Rosenthal.

  • platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:

(WebCore::GraphicsSurface::platformCopyToGLTexture):

03:17 Changeset [121249] by jocelyn.turcotte@nokia.com
  • 2 edits in trunk/Source/WebCore

GraphicsSurface: Fix IOSurfaceLock failures on Intel video cards.
https://bugs.webkit.org/show_bug.cgi?id=89883

Reviewed by Noam Rosenthal.

Follow the documentation which says: "If locking the buffer requires a readback,
the lock will fail with an error return of kIOReturnCannotLock."
Also make sure that we use the same set of flags when locking and unlocking
for simplicity and to follow this requirement on the kIOSurfaceLockReadOnly flag.

  • platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:

(WebCore::GraphicsSurface::platformLock):
(WebCore::GraphicsSurface::platformUnlock):

03:16 Changeset [121248] by jocelyn.turcotte@nokia.com
  • 2 edits in trunk/Tools

Add a note about hostname completion not working well with --cc completion

Reviewed by Simon Hausmann.

Hostname completion tries to resolve anything after an @ sign which is present
in the completed list of contributor emails to CC.

  • Scripts/webkit-tools-completion.sh:
03:11 Changeset [121247] by ossy@webkit.org
  • 3 edits in trunk/Tools

Unreviewed, rolling out r121244.
http://trac.webkit.org/changeset/121244
https://bugs.webkit.org/show_bug.cgi?id=89966

skip list path is incorrect now. (Requested by Ossy on
#webkit).

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

  • Scripts/webkitpy/layout_tests/port/qt.py:

(QtPort.baseline_search_path):
(QtPort._skipped_file_search_paths):

  • Scripts/webkitpy/layout_tests/port/qt_unittest.py:

(QtPortTest.test_baseline_search_path):

03:06 Changeset [121246] by pdr@google.com
  • 3 edits
    2 adds in trunk

Fix setCurrentTime for paused animations
https://bugs.webkit.org/show_bug.cgi?id=81350

Reviewed by Nikolas Zimmermann.

Source/WebCore:

SMILTimeContainer::setElapsed was not resetting the pause time, breaking
setCurrentTime if the animation was paused.

Test: svg/custom/animate-pause-resume.html

  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::setElapsed):

LayoutTests:

This test does not use the SVG animation test framework because the framework
works by pausing animations and testing animated values at fixed times
(through calling setCurrentTime). Testing this patch requires that we run
the animation and cannot be tested with the animation test framework.

  • svg/custom/animate-pause-resume-expected.txt: Added.
  • svg/custom/animate-pause-resume.html: Added.
03:04 Changeset [121245] by charles.wei@torchmobile.com.cn
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Use gesture SwipeDown to exit fullscreen for both video and plugin.
https://bugs.webkit.org/show_bug.cgi?id=89960

Reviewed by Antonio Gomes.

We used to use gesture swipedown to exit fullscreen for plugin, but not fullscreen
HTML5 video; When a swipe down happens, it applies this event to all the pluginviews
in a page, even though only the one in fullscreen mode will process this.

With this patch, the SwipeDown gesture will only apply to the fullscreen elemement,
which is either a plugin, or an Video element.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::notifySwipeEvent):

02:42 Changeset [121244] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[Qt][NRWT] Fix baseline and skipped file search path.
https://bugs.webkit.org/show_bug.cgi?id=89882

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-06-26
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/layout_tests/port/qt.py:

(QtPort.baseline_search_path):

  • Scripts/webkitpy/layout_tests/port/qt_unittest.py:

(QtPortTest.test_baseline_search_path):

02:22 Changeset [121243] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

New fast/js/dfg-store-unexpected-value-into-argument-and-osr-exit.html fails on 32 bit
https://bugs.webkit.org/show_bug.cgi?id=89953

Reviewed by Zoltan Herczeg.

DFG 32-bit JIT was confused about the difference between a predicted type and a
proven type. This is easy to get confused about, since a local that is predicted int32
almost always means that the local must be an int32 since speculations are hoisted to
stores to locals. But that is less likely to be the case for arguments, where there is
an additional least-upper-bounding step: any store to an argument with a weird type
may force the argument to be any type.

This patch basically duplicates the functionality in DFGSpeculativeJIT64.cpp for
GetLocal: the decision of whether to load a local as an int32 (or as an array, or as
a boolean) is made based on the AbstractValue::m_type, which is a type proof, rather
than the VariableAccessData::prediction(), which is a predicted type.

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

02:21 Changeset [121242] by ossy@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Unreviewed typo fix after r121144.

  • Target.pri:
02:11 Changeset [121241] by tony@chromium.org
  • 8 edits in trunk

[Qt] Enable grid layout LayoutTests
https://bugs.webkit.org/show_bug.cgi?id=89909

Reviewed by Csaba Osztrogonác.

Source/WebKit/qt:

These tests pass, we just need to hook up the overridePreference.

  • Api/qwebsettings.cpp:

(QWebSettingsPrivate::apply):
(QWebSettings::QWebSettings):

  • Api/qwebsettings.h: Add enum value for CSS grid layout

Tools:

These tests pass, we just need to hook up the overridePreference.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::WebPage::resetSettings): Reset grid layout and regions between tests.

  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:

(LayoutTestController::overridePreference): Add WebKitCSSGridLayoutEnabled.

LayoutTests:

  • platform/qt/Skipped: Enable fast/css-grid-layout tests.
02:04 Changeset [121240] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: columns in heap snapshot summary view are not resizable
https://bugs.webkit.org/show_bug.cgi?id=89952

Reviewed by Vsevolod Vlasov.

  • inspector/front-end/HeapSnapshotDataGrids.js:

(WebInspector.HeapSnapshotViewportDataGrid.prototype.onResize): overriden method
should call overriden one to make sure column resizers are added to the DataGrid.

01:25 Changeset [121239] by kkristof@inf.u-szeged.hu
  • 3 edits in trunk/Tools

Unreviewed, rolling out r121236.
http://trac.webkit.org/changeset/121236
https://bugs.webkit.org/show_bug.cgi?id=89956

It's broke the nrwt on qt and gtk platform (Requested by
kkristof on #webkit).

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

  • Scripts/webkitpy/layout_tests/port/qt.py:

(QtPort._build_driver):

  • Scripts/webkitpy/layout_tests/port/xvfbdriver.py:

(XvfbDriver._start):
(XvfbDriver._start.x_filter):
(XvfbDriver.stop):

00:59 Changeset [121238] by mario@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening after r120845.
Update expectations for test crashing in the GTK 64bit debug bot.

  • platform/gtk/TestExpectations: Add test to CRASHING section.
00:59 Changeset [121237] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Allow using <input type="color"> UI in ChromeOS.
https://bugs.webkit.org/show_bug.cgi?id=89944

Patch by Jun Mukai <mukai@chromium.org> on 2012-06-26
Reviewed by Kent Tamura.

http://crrev.com/144111 adds the UI of <input type="color"> for
ChromeOS, so now we can set its flag too.

  • features.gypi:
00:55 Changeset [121236] by kkristof@inf.u-szeged.hu
  • 3 edits in trunk/Tools

[NRWT] XvfbDriver should choose the next free display
https://bugs.webkit.org/show_bug.cgi?id=88414

Reviewed by Dirk Pranke.

  • Scripts/webkitpy/layout_tests/port/qt.py:

(QtPort._driver_class):

  • Scripts/webkitpy/layout_tests/port/xvfbdriver.py:

(XvfbDriver.init):
(XvfbDriver._start):
(XvfbDriver._start.next_free_id):
(XvfbDriver.stop):

00:55 Changeset [121235] by tkent@chromium.org
  • 4 edits in trunk/Source/WebCore

Refactoring: Simplify FormController interface
https://bugs.webkit.org/show_bug.cgi?id=89951

Reviewed by Kentaro Hara.

  • Remove FormController::hasStateForNewFormElements() takeStateForFormElement() can check the emptiness, and return an empty FormControlState.
  • Change the argument of takeStateForFormElement() Passing just one HTMLFormControlElementWithState object instead of two AtomicStringImpl. This is a preparation to use HTMLFormControlElementWithState::form() in FormController.

No new tests. Just a refactoring.

  • html/FormController.cpp:

(WebCore::FormController::takeStateForFormElement):

  • html/FormController.h:

(FormController):

  • html/HTMLFormControlElementWithState.cpp:

(WebCore::HTMLFormControlElementWithState::finishParsingChildren):

00:41 Changeset [121234] by dominicc@chromium.org
  • 11 edits in trunk

WheelEvent should inherit from MouseEvent
https://bugs.webkit.org/show_bug.cgi?id=76104

Reviewed by Kentaro Hara.

Source/WebCore:

The spec for WheelEvent is
<http://www.w3.org/TR/DOM-Level-3-Events/#webidl-events-WheelEvent>

Tests: fast/events/event-creation.html

http://samples.msdn.microsoft.com/ietestcenter/dominheritance/showdominheritancetest.htm?Prototype_WheelEvent

  • bindings/objc/PublicDOMInterfaces.h: Remove redundant MouseEvent API from WheelEvent
  • bindings/scripts/CodeGeneratorObjC.pm: MouseEvents are Events
  • dom/MouseEvent.h: Expose no-arg constructor to WheelEvent
  • dom/WheelEvent.cpp:

(WebCore::WheelEvent::WheelEvent): Call MouseEvent superconstructor
(WebCore::WheelEvent::isMouseEvent): Existing callers use this just for
moves and clicks, ie the type is exactly MouseEvent.

  • dom/WheelEvent.h: Extend MouseEvent
  • dom/WheelEvent.idl: "

LayoutTests:

  • fast/events/event-creation-expected.txt:
  • fast/events/event-creation.html: Also check WheelEvent instanceof MouseEvent as well as UIEvent, Event
00:24 Changeset [121233] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][GTK] Uninitialized variable in TextCheckerGtk.cpp
https://bugs.webkit.org/show_bug.cgi?id=89948

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-26
Reviewed by Martin Robinson.

Properly initialize didInitializeState in
TextChecker::state().

  • UIProcess/gtk/TextCheckerGtk.cpp:

(WebKit::TextChecker::state):

06/25/12:

23:29 Changeset [121232] by rniwa@webkit.org
  • 14 edits in trunk/Source

Get rid of firstItem and nextItem from HTMLCollection
https://bugs.webkit.org/show_bug.cgi?id=89923

Reviewed by Andreas Kling.

Source/WebCore:

Removed HTMLCollection::firstItem and HTMLCollection::nextItem.
Also added hasAnyItem() and hasExactlyOneItem() to HTMLCollection so that named getter on Document
doesn't need to compute the full length before returning a HTMLCollection.

  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::getDocumentLinks):

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::namedItemGetter):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::JSHTMLDocument::nameGetter):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::V8DOMWindow::namedPropertyGetter):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::V8HTMLDocument::GetNamedProperty):

  • dom/Document.cpp:

(WebCore::Document::openSearchDescriptionURL):

  • html/HTMLCollection.cpp:

(WebCore::shouldIncludeChildren):
(WebCore::HTMLCollection::HTMLCollection):
(WebCore):
(WebCore::HTMLCollection::item):

  • html/HTMLCollection.h:

(HTMLCollection):
(WebCore::HTMLCollection::hasAnyItem):
(WebCore::HTMLCollection::hasExactlyOneItem):

  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::imageElement):

Source/WebKit/chromium:

Re-implement WebNodeCollection::firstItem() and WebNodeCollection::nextItem() in WebKit code
because we got rid of it from WebCore implementation.

This is an extremely poor API and we shouldn't be exposing it in the future.

  • public/WebNodeCollection.h:

(WebKit::WebNodeCollection::WebNodeCollection):
(WebNodeCollection):

  • src/WebNodeCollection.cpp:

(WebKit::WebNodeCollection::nextItem):
(WebKit::WebNodeCollection::firstItem):

  • src/WebPageSerializerImpl.cpp:

(WebKit::WebPageSerializerImpl::collectTargetFrames):

23:05 Changeset [121231] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

JavaScript resources have low priority when SVG is enabled
https://bugs.webkit.org/show_bug.cgi?id=89932
<rdar://problem/11741325>

Reviewed by Adele Peterson.

r108785 inadvertently lowered the priority of JavaScript resources. Fix the code so we set
the correct priority for scripts. Also, move the code so that all ifdefs are together at the
bottom to make it a bit easier to read..

  • loader/cache/CachedResource.cpp:

(WebCore::defaultPriorityForResourceType):

22:32 Changeset [121230] by hausmann@webkit.org
  • 4 edits in trunk/Source/WebKit

Unreviewed build fix: Don't do QT += widgets with Qt 4

Source/WebKit:

  • WebKit1.pro: This is already done in WebKit1.pri.

Source/WebKit/qt:

  • examples/platformplugin/platformplugin.pro:
22:23 Changeset [121229] by macpherson@chromium.org
  • 30 edits
    2 adds in trunk

Add runtime flag to enable/disable CSS variables (in addition to existing compile-time flag).
https://bugs.webkit.org/show_bug.cgi?id=89542

Reviewed by Dimitri Glazkov.

Source/WebCore:

Added fast/css/variables/build-supports-variables.html to test runtime flag in test environment.
Updated all other css variables tests to enable the runtime flag from JS.

  • css/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore::CSSParser::cssVariablesEnabled):
(WebCore):
(WebCore::CSSParser::detectDashToken):
(WebCore::CSSParser::lex):

  • css/CSSParser.h:

(CSSParser):

  • css/CSSParserMode.h:

(CSSParserContext):

  • page/Settings.h:

(Settings):
(WebCore::Settings::setCSSVariablesEnabled):
(WebCore::Settings::cssVariablesEnabled):

Source/WebKit/chromium:

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

(WebKit::WebSettingsImpl::setExperimentalCSSVariablesEnabled):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

21:47 Changeset [121228] by hausmann@webkit.org
  • 12 edits
    3 adds in trunk

[Qt] Make it possible to build WebKit without QtWidgets
https://bugs.webkit.org/show_bug.cgi?id=78109

Reviewed by Tor Arne Vestbø.

.:

  • Source/QtWebKit.pro: Don't build WK1 tests and examples if WK1 is disabled.
  • Source/api.pri: Move WK1 sources away from here and use WEBKIT += webkit1 instead
  • WebKit.pro: Add WK1 to SUBDIRS unless no_webkit1 is set.

Source/WebKit:

Moved WebKit1 sources into a separate static library. Only WK1
depends on QtWidgets.

  • WebKit1.pri: Added.
  • WebKit1.pro: Added.

Source/WebKit2:

  • WebKit2.pri: Add missing WK2 specific dependencies.
  • qt/MainQt.cpp: Do the QStyle initialization hook only if we are

compiling with QtWidgets support.
(WebKit):
(main):

Tools:

  • Tools.pro: Disable various tools that depend on WK1.
  • qmake/mkspecs/features/default_post.prf: Add WK1 as supported static lib in WEBKIT
  • qmake/mkspecs/features/default_pre.prf: Disable WK1 if QtWidgets is not built.
  • qmake/mkspecs/modules/webkit1.prf: Added.
21:43 Changeset [121227] by enne@google.com
  • 2 edits
    2 adds in trunk/Source/WebKit/chromium

[chromium] Add WebPluginScrollbar and WebPluginScrollbarClient stub implementations
https://bugs.webkit.org/show_bug.cgi?id=89928

Reviewed by Darin Fisher.

These classes are just typedef'd to be the non-Plugin version. The
next step is to change Chromium to use the Plugin version, then move
most of WebPluginScrollbar to a WebScrollbar in Platform to separate
out the base functionality, while providing the same top level API.

  • WebKit.gyp:
  • public/WebPluginScrollbar.h: Added.

(WebKit):

  • public/WebPluginScrollbarClient.h: Added.

(WebKit):

21:41 Changeset [121226] by hausmann@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix after r121223.

Fix the --minimal Qt build, TextureMapperGL now requires WebGL to be enabled.

  • Target.pri:
  • WebCore.pri:
21:31 Changeset [121225] by leo.yang@torchmobile.com.cn
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Fill more data in device motion event
https://bugs.webkit.org/show_bug.cgi?id=89857

Reviewed by Antonio Gomes.

Reviewed internally by Robin Cao.

Fill acceleration and rotation rate into DeviceMotionData.

  • WebCoreSupport/DeviceMotionClientBlackBerry.cpp:

(DeviceMotionClientBlackBerry::onMotion):

21:14 Changeset [121224] by danakj@chromium.org
  • 2 edits in trunk/Source/WebCore

[chromium] CCOverdrawMetrics should use the deviceViewportSize to count actual pixels
https://bugs.webkit.org/show_bug.cgi?id=89922

Reviewed by Adrienne Walker.

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

(WebCore::CCOverdrawMetrics::recordMetricsInternal):

20:59 Changeset [121223] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Texmap] Remove platform specific code in BitmapImageGL::updateContents by using
GraphicsContext3D::extractImageData.
https://bugs.webkit.org/show_bug.cgi?id=89867

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Noam Rosenthal.

No new tests. Covered by existing tests.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore):
(WebCore::BitmapTextureGL::didReset):
(WebCore::BitmapTextureGL::updateContents):

20:46 Changeset [121222] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Include unistd.h in PlatformProcessIdentifier.h.
https://bugs.webkit.org/show_bug.cgi?id=89804

Reviewed by Hajime Morita.

The pid_t typedef ends up coming from stdlib.h (indirectly via WTF
includes) on Mac and Linux, even though that is not mandated by
POSIX and breaks other platforms (such as FreeBSD). Fix that by
explicitly including unistd.h, which is where the typedef is
supposed to come from.

  • Platform/PlatformProcessIdentifier.h:
20:41 Changeset [121221] by commit-queue@webkit.org
  • 21 edits
    8 moves
    1 add in trunk/Source/WebKit2

[WK2][Qt][EFL] Extract common code from LayerTreeHostQt
https://bugs.webkit.org/show_bug.cgi?id=89837

Patch by YoungTaeck Song <youngtaeck.song@samsung.com> on 2012-06-25
Reviewed by Noam Rosenthal.

Extract common code from LayerTreeHostQt to be used by both Qt and Efl.
I renamed LayerTreeHost to LayerTreeCoordinator, and these are moved under WebProcess/WebPage/LayerTreeCoordinator.
I Modified LayerTreeHostProxy to LayerTreeCoordinatorProxy too, Because LayerTreeHostProxy and LayerTreeHost were pair.
Also WebGraphicsLayer moved under that directory.

  • CMakeLists.txt:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Platform/CoreIPC/MessageID.h:
  • Target.pri:
  • UIProcess/API/qt/qquickwebpage.cpp:

(QQuickWebPagePrivate::paint):
(QQuickWebPage::updatePaintNode):
(QQuickWebPagePrivate::updateSize):

  • UIProcess/DrawingAreaProxy.cpp:

(WebKit::DrawingAreaProxy::didReceiveLayerTreeCoordinatorProxyMessage):

  • UIProcess/DrawingAreaProxy.h:

(WebKit):
(WebKit::DrawingAreaProxy::layerTreeCoordinatorProxy):
(DrawingAreaProxy):

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::DrawingAreaProxyImpl):
(WebKit::DrawingAreaProxyImpl::enterAcceleratedCompositingMode):
(WebKit::DrawingAreaProxyImpl::didReceiveLayerTreeCoordinatorProxyMessage):
(WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):

  • UIProcess/DrawingAreaProxyImpl.h:

(WebKit):
(DrawingAreaProxyImpl):

  • UIProcess/LayerTreeCoordinatorProxy.cpp: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.cpp.

(WebKit):
(WebKit::LayerTreeCoordinatorProxy::LayerTreeCoordinatorProxy):
(WebKit::LayerTreeCoordinatorProxy::~LayerTreeCoordinatorProxy):
(WebKit::LayerTreeCoordinatorProxy::updateViewport):
(WebKit::LayerTreeCoordinatorProxy::dispatchUpdate):
(WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::removeTileForLayer):
(WebKit::LayerTreeCoordinatorProxy::deleteCompositingLayer):
(WebKit::LayerTreeCoordinatorProxy::setRootCompositingLayer):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerState):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerChildren):
(WebKit::LayerTreeCoordinatorProxy::setCompositingLayerFilters):
(WebKit::LayerTreeCoordinatorProxy::didRenderFrame):
(WebKit::LayerTreeCoordinatorProxy::createDirectlyCompositedImage):
(WebKit::LayerTreeCoordinatorProxy::destroyDirectlyCompositedImage):
(WebKit::LayerTreeCoordinatorProxy::setContentsSize):
(WebKit::LayerTreeCoordinatorProxy::setVisibleContentsRect):
(WebKit::LayerTreeCoordinatorProxy::renderNextFrame):
(WebKit::LayerTreeCoordinatorProxy::didChangeScrollPosition):
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
(WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):

  • UIProcess/LayerTreeCoordinatorProxy.h: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.h.

(WebKit):
(LayerTreeCoordinatorProxy):
(WebKit::LayerTreeCoordinatorProxy::layerTreeRenderer):

  • UIProcess/LayerTreeCoordinatorProxy.messages.in: Renamed from Source/WebKit2/UIProcess/LayerTreeHostProxy.messages.in.
  • UIProcess/WebLayerTreeRenderer.cpp:

(WebKit::WebLayerTreeRenderer::WebLayerTreeRenderer):
(WebKit::WebLayerTreeRenderer::updateViewport):
(WebKit::WebLayerTreeRenderer::renderNextFrame):
(WebKit::WebLayerTreeRenderer::purgeBackingStores):
(WebKit::WebLayerTreeRenderer::detach):

  • UIProcess/WebLayerTreeRenderer.h:

(WebKit):
(WebLayerTreeRenderer):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveMessage):

  • WebKit2.pri:
  • WebProcess/WebPage/DrawingArea.h:

(DrawingArea):

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::didReceiveLayerTreeCoordinatorMessage):

  • WebProcess/WebPage/DrawingAreaImpl.h:

(DrawingAreaImpl):

  • WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.cpp.

(WebKit):
(WebKit::LayerTreeCoordinator::create):
(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::setLayerFlushSchedulingEnabled):
(WebKit::LayerTreeCoordinator::scheduleLayerFlush):
(WebKit::LayerTreeCoordinator::cancelPendingLayerFlush):
(WebKit::LayerTreeCoordinator::setShouldNotifyAfterNextScheduledLayerFlush):
(WebKit::LayerTreeCoordinator::setRootCompositingLayer):
(WebKit::LayerTreeCoordinator::invalidate):
(WebKit::LayerTreeCoordinator::setNonCompositedContentsNeedDisplay):
(WebKit::LayerTreeCoordinator::scrollNonCompositedContents):
(WebKit::LayerTreeCoordinator::forceRepaint):
(WebKit::LayerTreeCoordinator::sizeDidChange):
(WebKit::LayerTreeCoordinator::didInstallPageOverlay):
(WebKit::LayerTreeCoordinator::didUninstallPageOverlay):
(WebKit::LayerTreeCoordinator::setPageOverlayNeedsDisplay):
(WebKit::LayerTreeCoordinator::setPageOverlayOpacity):
(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::syncLayerState):
(WebKit::LayerTreeCoordinator::syncLayerChildren):
(WebKit::LayerTreeCoordinator::syncCanvas):
(WebKit::LayerTreeCoordinator::syncLayerFilters):
(WebKit::LayerTreeCoordinator::attachLayer):
(WebKit::LayerTreeCoordinator::detachLayer):
(WebKit::updateOffsetFromViewportForSelf):
(WebKit::updateOffsetFromViewportForLayer):
(WebKit::LayerTreeCoordinator::syncFixedLayers):
(WebKit::LayerTreeCoordinator::performScheduledLayerFlush):
(WebKit::LayerTreeCoordinator::layerFlushTimerFired):
(WebKit::LayerTreeCoordinator::createPageOverlayLayer):
(WebKit::LayerTreeCoordinator::destroyPageOverlayLayer):
(WebKit::LayerTreeCoordinator::adoptImageBackingStore):
(WebKit::LayerTreeCoordinator::releaseImageBackingStore):
(WebKit::LayerTreeCoordinator::notifyAnimationStarted):
(WebKit::LayerTreeCoordinator::notifySyncRequired):
(WebKit::LayerTreeCoordinator::paintContents):
(WebKit::LayerTreeCoordinator::showDebugBorders):
(WebKit::LayerTreeCoordinator::showRepaintCounter):
(WebKit::LayerTreeHost::supportsAcceleratedCompositing):
(WebKit::LayerTreeCoordinator::createTile):
(WebKit::LayerTreeCoordinator::updateTile):
(WebKit::LayerTreeCoordinator::removeTile):
(WebKit::LayerTreeCoordinator::visibleContentsRect):
(WebKit::LayerTreeCoordinator::setVisibleContentsRect):
(WebKit::LayerTreeCoordinator::renderNextFrame):
(WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
(WebKit::LayerTreeCoordinator::purgeBackingStores):
(WebKit::LayerTreeCoordinator::beginContentUpdate):

  • WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h: Renamed from Source/WebKit2/WebProcess/WebPage/qt/LayerTreeHostQt.h.

(WebKit):
(LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::layerTreeContext):
(WebKit::LayerTreeCoordinator::pageOverlayShouldApplyFadeWhenPainting):
(WebKit::LayerTreeCoordinator::pauseRendering):
(WebKit::LayerTreeCoordinator::resumeRendering):
(WebKit::LayerTreeCoordinator::deviceScaleFactorDidChange):

  • WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.messages.in: Renamed from Source/WebKit2/WebProcess/WebPage/LayerTreeHost.messages.in.
  • WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.cpp: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.cpp.

(WebCore):
(WebCore::layerByIDMap):
(WebCore::WebGraphicsLayer::layerByID):
(WebCore::toWebLayerID):
(WebCore::WebGraphicsLayer::didChangeLayerState):
(WebCore::WebGraphicsLayer::didChangeChildren):
(WebCore::WebGraphicsLayer::didChangeFilters):
(WebCore::WebGraphicsLayer::setShouldUpdateVisibleRect):
(WebCore::WebGraphicsLayer::didChangeGeometry):
(WebCore::WebGraphicsLayer::WebGraphicsLayer):
(WebCore::WebGraphicsLayer::~WebGraphicsLayer):
(WebCore::WebGraphicsLayer::willBeDestroyed):
(WebCore::WebGraphicsLayer::setChildren):
(WebCore::WebGraphicsLayer::addChild):
(WebCore::WebGraphicsLayer::addChildAtIndex):
(WebCore::WebGraphicsLayer::addChildAbove):
(WebCore::WebGraphicsLayer::addChildBelow):
(WebCore::WebGraphicsLayer::replaceChild):
(WebCore::WebGraphicsLayer::removeFromParent):
(WebCore::WebGraphicsLayer::setPosition):
(WebCore::WebGraphicsLayer::setAnchorPoint):
(WebCore::WebGraphicsLayer::setSize):
(WebCore::WebGraphicsLayer::setTransform):
(WebCore::WebGraphicsLayer::setChildrenTransform):
(WebCore::WebGraphicsLayer::setPreserves3D):
(WebCore::WebGraphicsLayer::setMasksToBounds):
(WebCore::WebGraphicsLayer::setDrawsContent):
(WebCore::WebGraphicsLayer::setContentsOpaque):
(WebCore::WebGraphicsLayer::setBackfaceVisibility):
(WebCore::WebGraphicsLayer::setOpacity):
(WebCore::WebGraphicsLayer::setContentsRect):
(WebCore::WebGraphicsLayer::setContentsNeedsDisplay):
(WebCore::WebGraphicsLayer::setContentsToCanvas):
(WebCore::WebGraphicsLayer::setFilters):
(WebCore::WebGraphicsLayer::setContentsToImage):
(WebCore::WebGraphicsLayer::setMaskLayer):
(WebCore::WebGraphicsLayer::setReplicatedByLayer):
(WebCore::WebGraphicsLayer::setNeedsDisplay):
(WebCore::WebGraphicsLayer::setNeedsDisplayInRect):
(WebCore::WebGraphicsLayer::id):
(WebCore::WebGraphicsLayer::syncCompositingState):
(WebCore::toWebGraphicsLayer):
(WebCore::WebGraphicsLayer::syncChildren):
(WebCore::WebGraphicsLayer::syncFilters):
(WebCore::WebGraphicsLayer::syncLayerState):
(WebCore::WebGraphicsLayer::syncCanvas):
(WebCore::WebGraphicsLayer::ensureImageBackingStore):
(WebCore::WebGraphicsLayer::syncCompositingStateForThisLayerOnly):
(WebCore::WebGraphicsLayer::tiledBackingStorePaintBegin):
(WebCore::WebGraphicsLayer::setRootLayer):
(WebCore::WebGraphicsLayer::setVisibleContentRectTrajectoryVector):
(WebCore::WebGraphicsLayer::setContentsScale):
(WebCore::WebGraphicsLayer::effectiveContentsScale):
(WebCore::WebGraphicsLayer::adjustContentsScale):
(WebCore::WebGraphicsLayer::createBackingStore):
(WebCore::WebGraphicsLayer::tiledBackingStorePaint):
(WebCore::WebGraphicsLayer::tiledBackingStorePaintEnd):
(WebCore::WebGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::WebGraphicsLayer::tiledBackingStoreContentsRect):
(WebCore::WebGraphicsLayer::shouldUseTiledBackingStore):
(WebCore::WebGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::WebGraphicsLayer::tiledBackingStoreBackgroundColor):
(WebCore::WebGraphicsLayer::beginContentUpdate):
(WebCore::WebGraphicsLayer::createTile):
(WebCore::WebGraphicsLayer::updateTile):
(WebCore::WebGraphicsLayer::removeTile):
(WebCore::WebGraphicsLayer::updateContentBuffers):
(WebCore::WebGraphicsLayer::purgeBackingStores):
(WebCore::WebGraphicsLayer::setWebGraphicsLayerClient):
(WebCore::WebGraphicsLayer::adjustVisibleRect):
(WebCore::WebGraphicsLayer::computeTransformedVisibleRect):
(WebCore::createWebGraphicsLayer):
(WebCore::WebGraphicsLayer::initFactory):
(WebCore::WebGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):

  • WebProcess/WebPage/LayerTreeCoordinator/WebGraphicsLayer.h: Renamed from Source/WebKit2/WebProcess/WebCoreSupport/WebGraphicsLayer.h.

(WebCore):
(WebKit):
(WebGraphicsLayerClient):
(WebGraphicsLayer):
(WebCore::WebGraphicsLayer::image):
(WebCore::WebGraphicsLayer::fixedToViewport):
(WebCore::WebGraphicsLayer::setFixedToViewport):
(WebCore::WebGraphicsLayer::maskTarget):
(WebCore::WebGraphicsLayer::setMaskTarget):

  • WebProcess/WebPage/LayerTreeHost.cpp:

(WebKit::LayerTreeHost::create):

  • WebProcess/WebPage/LayerTreeHost.h:

(LayerTreeHost):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::didReceiveMessage):

20:37 Changeset [121220] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[chromium] Remove uncalled ManagedTexture::framebufferTexture2D
https://bugs.webkit.org/show_bug.cgi?id=89930

Patch by James Robinson <jamesr@chromium.org> on 2012-06-25
Reviewed by Adrienne Walker.

Removing dead code.

  • platform/graphics/chromium/ManagedTexture.cpp:
  • platform/graphics/chromium/ManagedTexture.h:

(ManagedTexture):

20:28 Changeset [121219] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
19:53 Changeset [121218] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

JSC should try to make profiling deterministic because otherwise reproducing failures is
nearly impossible
https://bugs.webkit.org/show_bug.cgi?id=89940

Rubber stamped by Gavin Barraclough.

This rolls out the part of http://trac.webkit.org/changeset/121215 that introduced randomness
into the system. Now, instead of randomizing the tier-up threshold, we always set it to an
artificially low (and statically predetermined!) value. This gives most of the benefit of
threshold randomization without actually making the system behave completely differently on
each invocation.

  • bytecode/ExecutionCounter.cpp:

(JSC::ExecutionCounter::setThreshold):

  • runtime/Options.cpp:

(Options):
(JSC::Options::initializeOptions):

  • runtime/Options.h:

(Options):

19:52 Changeset [121217] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Unreviewed, rolling out r121206.
http://trac.webkit.org/changeset/121206
https://bugs.webkit.org/show_bug.cgi?id=89935

[chromium] webkit_unit_tests
WebViewTest.MHTMLWithMissingResourceFinishesLoading crash
(Requested by ukai on #webkit).

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

Source/WebCore:

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::scheduleArchiveLoad):

Source/WebKit/chromium:

  • tests/EventListenerTest.cpp:
  • tests/FrameTestHelpers.cpp:

(WebKit::FrameTestHelpers::registerMockedURLLoad):
(WebKit::FrameTestHelpers::createWebViewAndLoad):

  • tests/FrameTestHelpers.h:

(FrameTestHelpers):

  • tests/ListenerLeakTest.cpp:

(WebKit::ListenerLeakTest::RunTest):

  • tests/WebFrameTest.cpp:

(WebKit::WebFrameTest::registerMockedHttpURLLoad):
(WebKit::WebFrameTest::registerMockedChromeURLLoad):

  • tests/WebViewTest.cpp:

(WebKit::TEST_F):
(WebKit::WebViewTest::testAutoResize):
(WebKit::WebViewTest::testTextInputType):

19:28 Changeset [121216] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, update chromium test expectations.

  • platform/chromium/TestExpectations:
19:14 Changeset [121215] by fpizlo@apple.com
  • 17 edits
    3 adds in trunk

Value profiling should use tier-up threshold randomization to get more coverage
https://bugs.webkit.org/show_bug.cgi?id=89802

Source/JavaScriptCore:

Reviewed by Gavin Barraclough.

This patch causes both LLInt and Baseline JIT code to take the OSR slow path several
times before actually doing OSR. If we take the OSR slow path before the execution
count threshold is reached, then we just call CodeBlock::updateAllPredictions() to
compute the current latest least-upper-bound SpecType of all values seen in each
ValueProfile.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::stronglyVisitStrongReferences):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC):
(JSC::CodeBlock::updateAllPredictions):
(JSC::CodeBlock::shouldOptimizeNow):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::llintExecuteCounter):
(JSC::CodeBlock::jitExecuteCounter):
(CodeBlock):
(JSC::CodeBlock::updateAllPredictions):

  • bytecode/ExecutionCounter.cpp:

(JSC::ExecutionCounter::setThreshold):
(JSC::ExecutionCounter::status):
(JSC):

  • bytecode/ExecutionCounter.h:

(JSC::ExecutionCounter::count):
(ExecutionCounter):

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGOperations.cpp:
  • dfg/DFGSpeculativeJIT.cpp:

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

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::entryOSR):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::JSGlobalObject):
(JSC):

  • runtime/JSGlobalObject.h:

(JSGlobalObject):
(JSC::JSGlobalObject::weakRandomInteger):

  • runtime/Options.cpp:

(Options):
(JSC::Options::initializeOptions):

  • runtime/Options.h:

(Options):

  • runtime/WeakRandom.h:

(WeakRandom):
(JSC::WeakRandom::seedUnsafe):

LayoutTests:

Reviewed by Gavin Barraclough.

  • fast/js/dfg-store-unexpected-value-into-argument-and-osr-exit-expected.txt: Added.
  • fast/js/dfg-store-unexpected-value-into-argument-and-osr-exit.html: Added.
  • fast/js/script-tests/dfg-store-unexpected-value-into-argument-and-osr-exit.js: Added.

(foo):

19:02 Changeset [121214] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[chromium] Ensure that the compositor code which is aware of flipped status of video-textures
per platform executes on Windows.
https://bugs.webkit.org/show_bug.cgi?id=89914

Patch by Anantanarayanan G Iyengar <ananta@chromium.org> on 2012-06-25
Reviewed by James Robinson.

No new tests. (HW video decode is still only being tested manually for orientation)

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

(WebCore::CCVideoLayerImpl::appendQuads):

18:59 Changeset [121213] by abarth@webkit.org
  • 6 edits
    1 add in trunk/Source/WebKit/chromium

[Chromium] Let the embedder override the max page scale factor set by the page
https://bugs.webkit.org/show_bug.cgi?id=89406

Reviewed by James Robinson.

Chrome on Android has an option to force the web site to allow page
scaling (for accessibility). This patch adds
WebView::setIgnoreViewportTagMaximumScale, which instructs the WebView
to ignore the maximum scale factor supplied by by the page in the
viewport meta tag.

This patch is a bit different from how this is implemented on the
chromium-android branch, but I'll clean up the branch once this patch
lands.

  • public/WebView.h:

(WebView):

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setIgnoreViewportTagMaximumScale):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):
(WebKit::WebViewImpl::ignoreViewportTagMaximumScale):

  • tests/WebFrameTest.cpp:

(WebKit::TEST_F):
(WebKit):

18:57 Changeset [121212] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Unreviewed, rolling out r121176.
http://trac.webkit.org/changeset/121176
https://bugs.webkit.org/show_bug.cgi?id=89934

[chromium] browser_tests assert failed:
FATAL:native_theme_win.cc(1541)] Check failed: false. Invalid
part: 16 (Requested by ukai on #webkit).

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

Source/Platform:

  • chromium/public/win/WebThemeEngine.h:

(WebKit::WebThemeEngine::paintProgressBar):

Source/WebCore:

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

  • platform/chromium/ScrollbarThemeChromiumWin.cpp:

(WebCore::ScrollbarThemeChromiumWin::buttonSize):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:
18:49 Changeset [121211] by shinyak@chromium.org
  • 3 edits
    2 adds in trunk

[Shadow] Deleting list distributed to Shadow DOM does not work correctly.
https://bugs.webkit.org/show_bug.cgi?id=89170

Reviewed by Ryosuke Niwa.

Source/WebCore:

When deleting several elements distributed to Shadow DOM, some renderers might be gone in
processing deletion. To fix them, we should call isContentEditable() instead of rendererIsEditable().

Test: editing/shadow/delete-list-in-shadow.html

  • editing/DeleteFromTextNodeCommand.cpp:

(WebCore::DeleteFromTextNodeCommand::doApply):

LayoutTests:

  • editing/shadow/delete-list-in-shadow-expected.txt: Added.
  • editing/shadow/delete-list-in-shadow.html: Added.
18:34 Changeset [121210] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Chromium] Fix the css stylesheet for android media controls after recent changes
https://bugs.webkit.org/show_bug.cgi?id=89910

Patch by Min Qin <qinmin@chromium.org> on 2012-06-25
Reviewed by Adam Barth.

After the recent changes on upstream chrome video controls, we need to change the css style sheet for chrome on android.
No tests needed, just css changes.

  • css/mediaControlsChromiumAndroid.css:

(audio):
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
(::-webkit-media-controls):
(audio::-webkit-media-controls-enclosure, video::-webkit-media-controls-enclosure):
(video::-webkit-media-controls-enclosure):
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
(audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
(audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
(audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
(video::-webkit-media-controls-fullscreen-button):
(input[type="range"]::-webkit-media-slider-container):
(input[type="range"]::-webkit-media-slider-thumb):
(audio::-webkit-media-controls-fullscreen-button):

18:30 Changeset [121209] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Avoid a deep copy of QImage in GraphicsContext3D::getImageData.
https://bugs.webkit.org/show_bug.cgi?id=89865

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Noam Rosenthal.

No new tests. Covered by existing tests.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3D::getImageData):

18:26 Changeset [121208] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Reduce memory footprint of BitmapImage Vectors.
https://bugs.webkit.org/show_bug.cgi?id=86563

Patch by Nick Carter <nick@chromium.org> on 2012-06-25
Reviewed by Simon Fraser.

No new tests, affects template params only.

  • platform/graphics/BitmapImage.h:

(BitmapImage): use an inline capacity of 1 for the image frame Vector

  • platform/image-decoders/ImageDecoder.h:

(ImageDecoder): use an inline capacity of 1 for the image frame Vector

18:20 Changeset [121207] by tkent@chromium.org
  • 8 edits
    2 deletes in trunk

Unreviewed, rolling out r121145.
http://trac.webkit.org/changeset/121145
https://bugs.webkit.org/show_bug.cgi?id=89847

Had an objection for the change.

Source/WebCore:

  • html/FormController.cpp:

(WebCore):
(WebCore::FormControlState::serializeTo):
(WebCore::FormControlState::deserialize):
(WebCore::formStateSignature):
(WebCore::FormController::formElementsState):
(WebCore::FormController::setStateForNewFormElements):

  • html/FormController.h:

(FormControlState):

  • html/shadow/CalendarPickerElement.cpp:

(WebCore::addJavaScriptString):

Source/WTF:

  • wtf/text/StringBuilder.h:

LayoutTests:

  • fast/forms/state-restore-broken-state-expected.txt:
  • fast/forms/state-restore-various-values-expected.txt: Removed.
  • fast/forms/state-restore-various-values.html: Removed.
18:12 Changeset [121206] by jcivelli@chromium.org
  • 9 edits in trunk/Source

Fix progress load reporting for MHTML documents.

MHTML documents containing references to resources they don't include
never finish loading.
https://bugs.webkit.org/show_bug.cgi?id=71859

Reviewed by Nate Chapin.

Source/WebCore:

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::scheduleArchiveLoad):

Source/WebKit/chromium:

  • tests/EventListenerTest.cpp:
  • tests/FrameTestHelpers.cpp:

(FrameTestHelpers):
(WebKit::FrameTestHelpers::registerMockedURLLoad):
(WebKit::FrameTestHelpers::registerMockedURLLoadAsHTML):
(WebKit::FrameTestHelpers::createWebViewAndLoad):

  • tests/FrameTestHelpers.h:

(FrameTestHelpers):

  • tests/ListenerLeakTest.cpp:

(WebKit::ListenerLeakTest::RunTest):

  • tests/WebFrameTest.cpp:

(WebKit::WebFrameTest::registerMockedHttpURLLoad):
(WebKit::WebFrameTest::registerMockedChromeURLLoad):

  • tests/WebViewTest.cpp:

(WebKit::TEST_F):
(WebKit::WebViewTest::testAutoResize):
(WebKit::WebViewTest::testTextInputType):
(TestWebViewClient):
(WebKit::TestWebViewClient::TestWebViewClient):
(WebKit::TestWebViewClient::didStartLoading):
(WebKit::TestWebViewClient::didStopLoading):
(WebKit::TestWebViewClient::didChangeLoadProgress):
(WebKit::TestWebViewClient::loadingStarted):
(WebKit::TestWebViewClient::loadingStopped):
(WebKit::TestWebViewClient::loadProgress):
(WebKit):

17:56 Changeset [121205] by dpranke@chromium.org
  • 3 edits in trunk/Tools

put vista back for chromium (non-webkit) bots ...
https://bugs.webkit.org/show_bug.cgi?id=89929

Unreviewed, build fix.

Turns out we've only gotten rid of vista on the webkit tests so
far. Put vista back for the other chromium bots ...

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(chromiumPlatform):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(test):

17:55 Changeset [121204] by jamesr@google.com
  • 53 edits
    2 deletes in trunk/Source

[chromium] Use WebGraphicsContext3D in compositor implementation
https://bugs.webkit.org/show_bug.cgi?id=89700

Reviewed by Adrienne Walker.

Source/Platform:

Puts all callback destructors in protected section and removes obsolete memory callback signature.

  • chromium/public/WebGraphicsContext3D.h:

(WebGraphicsContextLostCallback):
(WebGraphicsErrorMessageCallback):
(WebGraphicsSwapBuffersCompleteCallbackCHROMIUM):
(WebGraphicsMemoryAllocationChangedCallbackCHROMIUM):

Source/WebCore:

This converts the compositor implementation from using WebCore::GraphicsContext3D to using the Platform-provided
WebGraphicsContext3D. This removes several unnecessary layers of indirection/wrapping and cuts down the
compositor's implementation dependencies. GraphicsContext3D.h is still widely used to provide GL enum values.
Most of the changes are purely mechanical - changing type names and the like.

Ownership is changed a bit. Instead of multiple components holding references to the compositor's context, the
context is now owned by the CCGraphicsContext, which is now owned directly by CCLayerTreeHostImpl.
CCLayerTreeHostImpl also has ownership of its CCRenderer (LayerRendererChromium in 3D mode) and passes a
non-owning pointer down to the CCRenderer.

Extension checking is a bit different. The compositor does not (and never has) used extensions provided by
WebGL's request/ensure mechanism. It simply checks for the existence of extensions it needs in the GL_EXTENSIONS
string.

FrameBufferSkPictureCanvasLayerTextureUpdater had to be patched as well, since it was grabbing a GrContext off
of the compositor's GraphicsContext3D. This caused many problems. It was inefficient, since it required a full
state flush when switching between ganesh and compositor calls. The gpu memory management was completely broken
since the compositor clobbered ganesh's onMemoryAllocationChanged callback. This moves FBSkPCLTU over to using
the appropriate SharedGraphicsContext3D, like filters.

  • platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:

(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):

  • platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:

(FrameBufferSkPictureCanvasLayerTextureUpdater):

  • platform/graphics/chromium/GeometryBinding.cpp:

(WebCore::GeometryBinding::GeometryBinding):

  • platform/graphics/chromium/GeometryBinding.h:

(WebKit):
(GeometryBinding):
(WebCore::GeometryBinding::context):

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::~LayerRendererChromium):
(WebCore::LayerRendererChromium::context):
(WebCore::LayerRendererChromium::debugGLCall):
(WebCore::LayerRendererChromium::setVisible):
(WebCore::LayerRendererChromium::drawStreamVideoQuad):
(WebCore::LayerRendererChromium::drawHeadsUpDisplay):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::onMemoryAllocationChanged):
(WebCore):
(WebCore::LayerRendererChromium::onMemoryAllocationChangedOnImplThread):
(WebCore::LayerRendererChromium::discardFramebuffer):
(WebCore::LayerRendererChromium::ensureFramebuffer):
(WebCore::LayerRendererChromium::onContextLost):
(WebCore::LayerRendererChromium::getFramebufferPixels):
(WebCore::LayerRendererChromium::getFramebufferTexture):
(WebCore::LayerRendererChromium::bindFramebufferToTexture):
(WebCore::LayerRendererChromium::initializeSharedObjects):
(WebCore::LayerRendererChromium::tileCheckerboardProgram):
(WebCore::LayerRendererChromium::solidColorProgram):
(WebCore::LayerRendererChromium::headsUpDisplayProgram):
(WebCore::LayerRendererChromium::renderPassProgram):
(WebCore::LayerRendererChromium::renderPassProgramAA):
(WebCore::LayerRendererChromium::renderPassMaskProgram):
(WebCore::LayerRendererChromium::renderPassMaskProgramAA):
(WebCore::LayerRendererChromium::tileProgram):
(WebCore::LayerRendererChromium::tileProgramOpaque):
(WebCore::LayerRendererChromium::tileProgramAA):
(WebCore::LayerRendererChromium::tileProgramSwizzle):
(WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
(WebCore::LayerRendererChromium::tileProgramSwizzleAA):
(WebCore::LayerRendererChromium::textureProgram):
(WebCore::LayerRendererChromium::textureProgramFlip):
(WebCore::LayerRendererChromium::textureIOSurfaceProgram):
(WebCore::LayerRendererChromium::videoYUVProgram):
(WebCore::LayerRendererChromium::videoStreamTextureProgram):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
(WebCore::LayerRendererChromium::isContextLost):

  • platform/graphics/chromium/LayerRendererChromium.h:

(WebKit):
(WebCore):
(LayerRendererChromium):
(WebCore::LayerRendererChromium::isFramebufferDiscarded):

  • platform/graphics/chromium/LayerTextureSubImage.cpp:

(WebCore::LayerTextureSubImage::uploadWithTexSubImage):
(WebCore::LayerTextureSubImage::uploadWithMapTexSubImage):

  • platform/graphics/chromium/ManagedTexture.cpp:

(WebCore::ManagedTexture::bindTexture):
(WebCore::ManagedTexture::framebufferTexture2D):

  • platform/graphics/chromium/PlatformColor.h:

(WebCore::PlatformColor::bestTextureFormat):

  • platform/graphics/chromium/ProgramBinding.cpp:

(WebCore::contextLost):
(WebCore::ProgramBindingBase::init):
(WebCore::ProgramBindingBase::cleanup):
(WebCore::ProgramBindingBase::loadShader):
(WebCore::ProgramBindingBase::createShaderProgram):

  • platform/graphics/chromium/ProgramBinding.h:

(WebKit):
(ProgramBindingBase):
(WebCore::ProgramBinding::ProgramBinding):
(WebCore::ProgramBinding::initialize):

  • platform/graphics/chromium/ShaderChromium.cpp:

(WebCore::VertexShaderPosTex::init):
(WebCore::VertexShaderPosTexYUVStretch::init):
(WebCore::VertexShaderPos::init):
(WebCore::VertexShaderPosTexTransform::init):
(WebCore::VertexShaderQuad::init):
(WebCore::VertexShaderTile::init):
(WebCore::VertexShaderVideoTransform::init):
(WebCore::FragmentTexAlphaBinding::init):
(WebCore::FragmentTexOpaqueBinding::init):
(WebCore::FragmentShaderOESImageExternal::init):
(WebCore::FragmentShaderRGBATexAlphaAA::init):
(WebCore::FragmentTexClampAlphaAABinding::init):
(WebCore::FragmentShaderRGBATexAlphaMask::init):
(WebCore::FragmentShaderRGBATexAlphaMaskAA::init):
(WebCore::FragmentShaderYUVVideo::init):
(WebCore::FragmentShaderColor::init):
(WebCore::FragmentShaderCheckerboard::init):

  • platform/graphics/chromium/ShaderChromium.h:

(WebKit):
(VertexShaderPosTex):
(VertexShaderPosTexYUVStretch):
(VertexShaderPos):
(WebCore::VertexShaderPosTexIdentity::init):
(VertexShaderPosTexTransform):
(VertexShaderQuad):
(VertexShaderTile):
(VertexShaderVideoTransform):
(FragmentTexAlphaBinding):
(FragmentTexOpaqueBinding):
(FragmentShaderOESImageExternal):
(FragmentShaderRGBATexAlphaAA):
(FragmentTexClampAlphaAABinding):
(FragmentShaderRGBATexAlphaMask):
(FragmentShaderRGBATexAlphaMaskAA):
(FragmentShaderYUVVideo):
(FragmentShaderColor):
(FragmentShaderCheckerboard):

  • platform/graphics/chromium/TextureCopier.cpp:

(WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
(WebCore::AcceleratedTextureCopier::~AcceleratedTextureCopier):
(WebCore::AcceleratedTextureCopier::copyTexture):

  • platform/graphics/chromium/TextureCopier.h:

(WebKit):
(WebCore):
(WebCore::AcceleratedTextureCopier::create):
(AcceleratedTextureCopier):

  • platform/graphics/chromium/TextureManager.h:
  • platform/graphics/chromium/ThrottledTextureUploader.cpp:

(WebCore::ThrottledTextureUploader::Query::Query):
(WebCore::ThrottledTextureUploader::Query::~Query):
(WebCore::ThrottledTextureUploader::Query::begin):
(WebCore::ThrottledTextureUploader::Query::end):
(WebCore::ThrottledTextureUploader::Query::isPending):
(WebCore::ThrottledTextureUploader::Query::wait):
(WebCore::ThrottledTextureUploader::ThrottledTextureUploader):

  • platform/graphics/chromium/ThrottledTextureUploader.h:

(WebKit):
(WebCore::ThrottledTextureUploader::create):
(WebCore::ThrottledTextureUploader::Query::create):
(Query):
(ThrottledTextureUploader):

  • platform/graphics/chromium/TrackingTextureAllocator.cpp:

(WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
(WebCore::TrackingTextureAllocator::createTexture):
(WebCore::TrackingTextureAllocator::deleteTexture):
(WebCore::TrackingTextureAllocator::deleteAllTextures):

  • platform/graphics/chromium/TrackingTextureAllocator.h:

(WebKit):
(WebCore::TrackingTextureAllocator::create):
(TrackingTextureAllocator):

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

(CCGraphicsContext):
(WebCore::CCGraphicsContext::create2D):
(WebCore::CCGraphicsContext::create3D):
(WebCore::CCGraphicsContext::context3D):
(WebCore::CCGraphicsContext::CCGraphicsContext):

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

(WebCore::CCHeadsUpDisplay::draw):

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

(WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
(WebCore::CCIOSurfaceLayerImpl::willDraw):

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

(WebCore::CCLayerTreeHost::createContext):

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

(CCLayerTreeHostClient):
(WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
(LayerRendererCapabilities):
(WebCore::CCLayerTreeHost::needsSharedContext):
(CCLayerTreeHost):

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

(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

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

(CCLayerTreeHostImpl):

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

(WebCore::CCSingleThreadProxy::initializeContext):
(WebCore::CCSingleThreadProxy::recreateContext):

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

(WebCore::CCTextureUpdater::update):

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

(WebCore::CCThreadProxy::initializeContext):
(WebCore::CCThreadProxy::recreateContext):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::initializeContextOnImplThread):
(WebCore::CCThreadProxy::recreateContextOnImplThread):

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

(CCThreadProxy):

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

(WebCore::CCVideoLayerImpl::FramePlane::allocateData):
(WebCore::CCVideoLayerImpl::FramePlane::freeData):
(WebCore::CCVideoLayerImpl::copyPlaneData):

Source/WebKit/chromium:

Updates tests for refactor, mostly by removing unnecessary GraphicsContext3D wrapper around mock contexts.

  • WebKit.gypi:
  • src/WebLayerTreeView.cpp:

(WebKit::WebLayerTreeView::context):

  • src/WebLayerTreeViewImpl.cpp:
  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTestAtomicCommit::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommit::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommitWithPartialUpdate::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommitWithPartialUpdate::drawLayersOnCCThread):

  • tests/CCSingleThreadProxyTest.cpp:
  • tests/CCThreadedTest.cpp:

(WebKitTests::TestHooks::createContext):

  • tests/CCThreadedTest.h:

(TestHooks):

  • tests/Canvas2DLayerBridgeTest.cpp:

(Canvas2DLayerBridgeTest::fullLifecycleTest):

  • tests/CompositorFakeGraphicsContext3D.h: Removed.
  • tests/DrawingBufferChromiumTest.cpp: Removed.
  • tests/FakeCCLayerTreeHostClient.h:
  • tests/FakeGraphicsContext3DTest.cpp:

(TEST):

  • tests/GraphicsLayerChromiumTest.cpp:
  • tests/LayerRendererChromiumTest.cpp:

(FakeLayerRendererChromium::FakeLayerRendererChromium):
(LayerRendererChromiumTest::LayerRendererChromiumTest):
(LayerRendererChromiumTest):
(TEST_F):
(TEST):

  • tests/TextureCopierTest.cpp:
  • tests/ThrottledTextureUploaderTest.cpp:

(WebKit::TEST):

  • tests/TiledLayerChromiumTest.cpp:
17:43 Changeset [121203] by andersca@apple.com
  • 4 edits in trunk

[Lion WK2] fast/loader/reload-zero-byte-plugin.html hits assert
https://bugs.webkit.org/show_bug.cgi?id=89611
<rdar://problem/11714023>

Reviewed by Sam Weinig.

Source/WebKit2:

Make sure to send the response along to the plug-in in the case where the stream was empty.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::finishedLoading):

LayoutTests:

Remove the test from the Skipped list.

  • platform/mac-wk2/Skipped:
17:31 Changeset [121202] by dpranke@chromium.org
  • 1 edit
    160 deletes in trunk/LayoutTests

remove chromium vista baselines
https://bugs.webkit.org/show_bug.cgi?id=89927

Unreviewed, expectations change.

Now that we no longer run tests on Vista, no need for the
baselines either.

  • platform/chromium-win-vista/canvas/philip/tests/2d.line.cap.round-expected.txt: Removed.
  • platform/chromium-win-vista/canvas/philip/tests/2d.strokeRect.zero.5-expected.txt: Removed.
  • platform/chromium-win-vista/compositing/geometry/horizontal-scroll-composited-expected.png: Removed.
  • platform/chromium-win-vista/compositing/overflow/theme-affects-visual-overflow-expected.txt: Removed.
  • platform/chromium-win-vista/compositing/shadows/shadow-drawing-expected.png: Removed.
  • platform/chromium-win-vista/css1/font_properties/font-expected.txt: Removed.
  • platform/chromium-win-vista/css1/text_properties/line_height-expected.txt: Removed.
  • platform/chromium-win-vista/css1/units/percentage_units-expected.png: Removed.
  • platform/chromium-win-vista/css2.1/t040103-ident-03-c-expected.png: Removed.
  • platform/chromium-win-vista/css2.1/t0803-c5505-imrgn-00-a-ag-expected.txt: Removed.
  • platform/chromium-win-vista/css3/selectors3/html/css3-modsel-23-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/html/css3-modsel-24-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/html/css3-modsel-32-expected.txt: Removed.
  • platform/chromium-win-vista/css3/selectors3/html/css3-modsel-68-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/html/css3-modsel-69-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xhtml/css3-modsel-23-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xhtml/css3-modsel-24-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xhtml/css3-modsel-69-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xml/css3-modsel-23-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xml/css3-modsel-24-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xml/css3-modsel-68-expected.png: Removed.
  • platform/chromium-win-vista/css3/selectors3/xml/css3-modsel-69-expected.png: Removed.
  • platform/chromium-win-vista/editing/inserting/4959067-expected.txt: Removed.
  • platform/chromium-win-vista/editing/pasteboard/paste-xml-expected.txt: Removed.
  • platform/chromium-win-vista/editing/style/style-3681552-fix-002-expected.txt: Removed.
  • platform/chromium-win-vista/fast/backgrounds/size/backgroundSize20-expected.png: Removed.
  • platform/chromium-win-vista/fast/backgrounds/size/backgroundSize21-expected.png: Removed.
  • platform/chromium-win-vista/fast/backgrounds/size/backgroundSize22-expected.png: Removed.
  • platform/chromium-win-vista/fast/block/positioning/trailing-space-test-expected.png: Removed.
  • platform/chromium-win-vista/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-win-vista/fast/canvas/canvas-fillRect-gradient-shadow-expected.txt: Removed.
  • platform/chromium-win-vista/fast/canvas/canvas-resize-after-paint-without-layout-expected.png: Removed.
  • platform/chromium-win-vista/fast/canvas/webgl/context-lost-expected.txt: Removed.
  • platform/chromium-win-vista/fast/compact/001-expected.png: Removed.
  • platform/chromium-win-vista/fast/css/box-shadow-and-border-radius-expected.png: Removed.
  • platform/chromium-win-vista/fast/css/text-rendering-expected.png: Removed.
  • platform/chromium-win-vista/fast/css/text-rendering-expected.txt: Removed.
  • platform/chromium-win-vista/fast/css/zoom-body-scroll-expected.txt: Removed.
  • platform/chromium-win-vista/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt: Removed.
  • platform/chromium-win-vista/fast/dom/HTMLProgressElement/progress-element-expected.txt: Removed.
  • platform/chromium-win-vista/fast/forms/select-writing-direction-natural-expected.txt: Removed.
  • platform/chromium-win-vista/fast/inline-block/002-expected.png: Removed.
  • platform/chromium-win-vista/fast/inline/002-expected.png: Removed.
  • platform/chromium-win-vista/fast/js/large-expressions-expected.txt: Removed.
  • platform/chromium-win-vista/fast/multicol/client-rects-expected.png: Removed.
  • platform/chromium-win-vista/fast/multicol/client-rects-expected.txt: Removed.
  • platform/chromium-win-vista/fast/multicol/vertical-rl/nested-columns-expected.png: Removed.
  • platform/chromium-win-vista/fast/parser/style-script-head-test-expected.png: Removed.
  • platform/chromium-win-vista/fast/repaint/background-misaligned-expected.png: Removed.
  • platform/chromium-win-vista/fast/repaint/inline-relative-positioned-expected.txt: Removed.
  • platform/chromium-win-vista/fast/replaced/image-tag-expected.png: Removed.
  • platform/chromium-win-vista/fast/sub-pixel/selection/selection-gaps-at-fractional-offsets-expected.png: Removed.
  • platform/chromium-win-vista/fast/table/tableInsideCaption-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/atsui-kerning-and-ligatures-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/backslash-to-yen-sign-expected.txt: Removed.
  • platform/chromium-win-vista/fast/text/international/bidi-mirror-he-ar-expected.txt: Removed.
  • platform/chromium-win-vista/fast/text/international/bidi-neutral-run-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/international/danda-space-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/international/plane2-expected.txt: Removed.
  • platform/chromium-win-vista/fast/text/selection-painted-separately-expected.txt: Removed.
  • platform/chromium-win-vista/fast/text/selection-rect-rounding-expected.txt: Removed.
  • platform/chromium-win-vista/fast/text/stroking-decorations-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/stroking-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/unicode-variation-selector-expected.png: Removed.
  • platform/chromium-win-vista/fast/text/whitespace/normal-after-nowrap-breaking-expected.png: Removed.
  • platform/chromium-win-vista/fast/writing-mode/broken-ideographic-font-expected.txt: Removed.
  • platform/chromium-win-vista/fast/writing-mode/english-lr-text-expected.png: Removed.
  • platform/chromium-win-vista/http/tests/misc/acid2-expected.txt: Removed.
  • platform/chromium-win-vista/http/tests/misc/acid2-pixel-expected.png: Removed.
  • platform/chromium-win-vista/platform/chromium/compositing/layout-width-change-expected.png: Removed.
  • platform/chromium-win-vista/platform/chromium/virtual/gpu/fast/canvas/canvas-imageSmoothingEnabled-patterns-expected.txt: Removed.
  • platform/chromium-win-vista/platform/chromium/virtual/gpu/fast/canvas/canvas-resize-after-paint-without-layout-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubNone-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirLTR-ubOverride-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubNone-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/g-dirRTL-ubOverride-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubNone-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubOverride-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirLTR-ubOverride-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubNone-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/text-dirRTL-ubOverride-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-I18N/tspan-direction-rtl-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1-SE/text-intro-05-t-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/animate-elem-52-t-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/filters-conv-01-f-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/filters-conv-01-f-expected.txt: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/masking-intro-01-f-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/text-intro-05-t-expected.png: Removed.
  • platform/chromium-win-vista/svg/W3C-SVG-1.1/text-intro-05-t-expected.txt: Removed.
  • platform/chromium-win-vista/svg/as-image/image-respects-pageScaleFactor-expected.png: Removed.
  • platform/chromium-win-vista/svg/as-image/image-respects-pageScaleFactor-expected.txt: Removed.
  • platform/chromium-win-vista/svg/as-object/svg-embedded-in-html-in-iframe-expected.txt: Removed.
  • platform/chromium-win-vista/svg/css/composite-shadow-text-expected.png: Removed.
  • platform/chromium-win-vista/svg/css/shadow-changes-expected.png: Removed.
  • platform/chromium-win-vista/svg/custom/bug45331-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/js-late-gradient-and-object-creation-expected.png: Removed.
  • platform/chromium-win-vista/svg/custom/js-late-pattern-and-object-creation-expected.png: Removed.
  • platform/chromium-win-vista/svg/custom/mouse-move-on-svg-root-expected.png: Removed.
  • platform/chromium-win-vista/svg/custom/mouse-move-on-svg-root-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/object-sizing-width-50p-height-50p-on-target-svg-absolute-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/object-sizing-width-50p-height-75p-on-target-svg-absolute-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/object-sizing-width-50p-on-target-svg-absolute-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-absolute-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/object-sizing-width-75p-height-50p-on-target-svg-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/pattern-referencing-preserve-aspect-ratio-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/use-clipped-hit-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/use-disappears-after-style-update-expected.txt: Removed.
  • platform/chromium-win-vista/svg/custom/use-modify-target-symbol-expected.txt: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-dom-preserveAspectRatio-attr-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-dom-width-attr-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-dom-x-attr-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-dom-y-attr-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-height-prop-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-preserveAspectRatio-prop-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-width-prop-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-x-prop-expected.png: Removed.
  • platform/chromium-win-vista/svg/dynamic-updates/SVGImageElement-svgdom-y-prop-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/big-sized-filter-2-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/feComposite-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/feDisplacementMap-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/feLighting-crash-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/feMerge-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/shadow-on-filter-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/shadow-on-rect-with-filter-expected.png: Removed.
  • platform/chromium-win-vista/svg/filters/subRegion-in-userSpace-expected.png: Removed.
  • platform/chromium-win-vista/svg/stroke/zero-length-path-linecap-rendering-expected.txt: Removed.
  • platform/chromium-win-vista/svg/stroke/zero-length-subpaths-linecap-rendering-expected.txt: Removed.
  • platform/chromium-win-vista/svg/text/bidi-text-query-expected.png: Removed.
  • platform/chromium-win-vista/svg/text/bidi-text-query-expected.txt: Removed.
  • platform/chromium-win-vista/svg/text/bidi-tspans-expected.txt: Removed.
  • platform/chromium-win-vista/svg/text/text-intro-05-t-expected.png: Removed.
  • platform/chromium-win-vista/svg/text/text-intro-05-t-expected.txt: Removed.
  • platform/chromium-win-vista/svg/zoom/page/zoom-foreignObject-expected.png: Removed.
  • platform/chromium-win-vista/svg/zoom/page/zoom-hixie-rendering-model-004-expected.png: Removed.
  • platform/chromium-win-vista/svg/zoom/page/zoom-mask-with-percentages-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug120107-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug1271-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug12908-2-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug13169-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug196870-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/bugs/bug50695-2-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla/marvin/tables_align_center-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla_expected_failures/bugs/bug61042-1-expected.png: Removed.
  • platform/chromium-win-vista/tables/mozilla_expected_failures/bugs/bug92647-1-expected.png: Removed.
  • platform/chromium-win-vista/transforms/2d/hindi-rotated-expected.png: Removed.
  • platform/chromium-win-vista/transforms/2d/hindi-rotated-expected.txt: Removed.
17:29 Changeset [121201] by enne@google.com
  • 2 edits in trunk/Source/WebCore

[chromium] Make CCThreadProxy not draw a frame mid-commit
https://bugs.webkit.org/show_bug.cgi?id=89905

Reviewed by James Robinson.

If commitComplete is not called before the next frame goes up, then
then the max scroll position on the root scroll layer is not updated.
This causes the compositor-side scrollbar to have an incorrect
visibleSize, causing the thumbRect to become stretched, relative to
when it was originally painted.

CCScheduler::setVisible has the side effect of kicking off a frame, so
move it last.

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

(WebCore::CCThreadProxy::scheduledActionCommit):

17:18 Changeset [121200] by dpranke@chromium.org
  • 3 edits in trunk/Tools

update flakiness dashboard after removing chromium-vista bots
https://bugs.webkit.org/show_bug.cgi?id=89925

Unreviewed, build fix.

More changes missed in r121194 :(.

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(chromiumPlatform):

  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(test):

17:17 Changeset [121199] by lforschler@apple.com
  • 4 edits in branches/safari-536-branch/Source

Versioning.

17:15 Changeset [121198] by lforschler@apple.com
  • 1 copy in tags/Safari-536.24

New Tag.

17:11 Changeset [121197] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

[Chromium] Add a chromium-webkit API to create a serializable file system.
https://bugs.webkit.org/show_bug.cgi?id=89776

In order to send a DOMFileSystem as part of WebIntent payload data it
should be serializable. Therefore, I added an API that allows us to
create serializable file system in chromium code.

Patch by Kausalya Madhusudhanan <kmadhusu@chromium.org> on 2012-06-25
Reviewed by Adam Barth.

  • public/WebFrame.h:

(WebFrame):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::createSerializableFileSystem):
(WebKit):

  • src/WebFrameImpl.h:

(WebFrameImpl):

17:08 Changeset [121196] by commit-queue@webkit.org
  • 7 edits in trunk/Source

[BlackBerry] Add JSC statistics into about:memory
https://bugs.webkit.org/show_bug.cgi?id=89779

Patch by Yong Li <yoli@rim.com> on 2012-06-25
Reviewed by Rob Buis.

Source/JavaScriptCore:

Add MemoryStatistics.cpp into build, and fill JITBytes for BlackBerry port.

  • PlatformBlackBerry.cmake:
  • runtime/MemoryStatistics.cpp:

(JSC::globalMemoryStatistics):

Source/WebKit/blackberry:

Add detailed JS memory statistics to about:memory page.

  • WebCoreSupport/AboutData.cpp:

(WebCore::dumpJSCTypeCountSetToTableHTML):
(WebCore):
(WebCore::memoryPage):

Source/WTF:

Turn on WTF_USE_EXPORT_MACROS for BlackBerry port.
This will make macros like JS_EXPORT_PRIVATE work without
extra porting.

  • wtf/Platform.h:
16:59 Changeset [121195] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

EventSource: Events should not be dispatched after close()
https://bugs.webkit.org/show_bug.cgi?id=85346

Patch by Pablo Flouret <pablof@motorola.com> on 2012-06-25
Reviewed by Adam Barth.

Source/WebCore:

Spec changed to make sure that no events are dispatched after close() is
called, even if more data was received before the call to close().

See,
https://www.w3.org/Bugs/Public/show_bug.cgi?id=14331#c5
http://html5.org/tools/web-apps-tracker?from=6771&to=6772

Firefox behaves like this already.

Test: http/tests/eventsource/eventsource-events-after-close.html

  • page/EventSource.cpp:

(WebCore::EventSource::parseEventStream):

LayoutTests:

  • http/tests/eventsource/eventsource-events-after-close-expected.txt: Added.
  • http/tests/eventsource/eventsource-events-after-close.html: Added.
16:53 Changeset [121194] by dpranke@chromium.org
  • 15 edits in trunk

remove support for chromium vista from tools
https://bugs.webkit.org/show_bug.cgi?id=89915

Reviewed by Tony Chang.

Tools:

This change is all deleting code and updating tests to handle
the configuration being gone. All tests now pass except for a
few unittests for the flakiness dashboard which were failing
before this patch.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
  • Scripts/webkitpy/common/checkout/baselineoptimizer_unittest.py:

(BaselineOptimizerTest.test_complex_shadowing):

  • Scripts/webkitpy/layout_tests/port/builders.py:
  • Scripts/webkitpy/layout_tests/port/chromium.py:
  • Scripts/webkitpy/layout_tests/port/chromium_unittest.py:
  • Scripts/webkitpy/layout_tests/port/chromium_win.py:

(ChromiumWinPort):

  • Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:

(ChromiumWinTest.test_versions):
(ChromiumWinTest.test_baseline_path):

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

(BuildCoverageExtrapolatorTest.test_extrapolate):

LayoutTests:

  • platform/chromium/TestExpectations:
16:28 Changeset [121193] by hclam@chromium.org
  • 5 edits in trunk/LayoutTests

Unreviewed. Build fix.

Rebaseline layout test expectations from r121179.

  • platform/chromium-linux/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-mac-snowleopard/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-mac/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-win/compositing/reflections/animation-inside-reflection-expected.png:
16:15 Changeset [121192] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Fixing compilation failure in StyleResolver.cpp/CSSParser.cpp
https://bugs.webkit.org/show_bug.cgi?id=89892

Patch by Mike West <mkwst@chromium.com> on 2012-06-25
Reviewed by Alexis Menard.

Adding CSSPropertyVariable to switch statements in CSSParser and
StyleResolver to fix compilation errors under ninja/clang. I've
added both as new cases to the switches, with FIXME comments for
implementation.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

16:03 Changeset [121191] by jcivelli@chromium.org
  • 5 edits in trunk/Source/WebCore

Fix for a memory leak with MHTMLArchives.

MHTML files present a flat list of frames and resources but the WebKit Archive
has a tree strcture. So the MHTMLArchive class make sures that every frame
knows about any other frames and resources.
Because these objects are ref counted, that would introduce circular references
preventing the entire Archive from being deleted.
This fixes this by:

  • making sure the top-frame (which appears as the first entry in the MHTML) is not referenced by the other frames.
  • when the main frame is deleted it traverse the entire subarchive (sub-frames) graph and makes sure they clear all their references to other subarchives.

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

Reviewed by Adam Barth.

  • loader/archive/Archive.cpp:

(WebCore::Archive::clearAllSubframeArchives):
(WebCore):
(WebCore::Archive::clearAllSubframeArchivesImpl):

  • loader/archive/Archive.h:

(Archive):

  • loader/archive/mhtml/MHTMLArchive.cpp:

(WebCore::MHTMLArchive::~MHTMLArchive):
(WebCore):
(WebCore::MHTMLArchive::create):

  • loader/archive/mhtml/MHTMLArchive.h:

(MHTMLArchive):

15:45 Changeset [121190] by hclam@chromium.org
  • 4 edits in trunk/Source

Unreviewed, rolling out r121178.
http://trac.webkit.org/changeset/121178
https://bugs.webkit.org/show_bug.cgi?id=89784

New unit test added is failing on WebKit Linux (dbg)

Source/WebCore:

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::setBounds):

Source/WebKit/chromium:

  • tests/LayerChromiumTest.cpp:
15:27 Changeset [121189] by hclam@chromium.org
  • 8 edits in trunk/Source/WebCore

Unreviewed, rolling out r121137.
http://trac.webkit.org/changeset/121137

Chromium build fix, (un)touch files to build on Chromium Win
Release

  • css/CSSParserMode.h:
  • css/CSSValue.h:

(WebCore):

  • css/CSSVariableValue.h:
  • page/Settings.h:
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareInheritedData.h:
  • rendering/style/StyleVariableData.h:
15:25 Changeset [121188] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

Mac bot gardening.
https://bugs.webkit.org/show_bug.cgi?id=89611

  • platform/mac-wk2/Skipped:
15:19 Changeset [121187] by hclam@chromium.org
  • 32 edits
    2 deletes in trunk

Unreviewed, rolling out r121129.
http://trac.webkit.org/changeset/121129
https://bugs.webkit.org/show_bug.cgi?id=89542

Chromium ASan failure: crbug.com/134402

Source/WebCore:

  • css/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore):
(WebCore::CSSParser::detectDashToken):
(WebCore::CSSParser::lex):

  • css/CSSParser.h:

(CSSParser):

  • css/CSSParserMode.h:

(CSSParserContext):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • page/Settings.h:

(Settings):

  • testing/InternalSettings.cpp:
  • testing/InternalSettings.h:

(InternalSettings):

  • testing/InternalSettings.idl:

Source/WebKit/chromium:

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

(WebSettingsImpl):

LayoutTests:

  • fast/css/variables/border-width.html:
  • fast/css/variables/build-supports-variables-expected.txt: Removed.
  • fast/css/variables/build-supports-variables.html: Removed.
  • fast/css/variables/colors-test.html:
  • fast/css/variables/complex-cycle.html:
  • fast/css/variables/computed-style.html:
  • fast/css/variables/inherited-values.html:
  • fast/css/variables/inline-styles.html:
  • fast/css/variables/invalid-shorthand.html:
  • fast/css/variables/invalid-variable-value.html:
  • fast/css/variables/multi-level-cycle.html:
  • fast/css/variables/redefinition.html:
  • fast/css/variables/shorthand.html:
  • fast/css/variables/simple-cycle.html:
  • fast/css/variables/transform-test.html:
  • fast/css/variables/undefined.html:
  • fast/css/variables/use-before-defined.html:
  • fast/css/variables/var-inside-shorthand.html:
  • fast/css/variables/variable-chain.html:
15:13 Changeset [121186] by hclam@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Roll Chromium DEPS to r144020
https://bugs.webkit.org/show_bug.cgi?id=89912

Build fixed now! Unreviewed.

Rolled DEPS to fix chromium build.
Patch by Scott Graham <scottmg@chromium.org>.

  • DEPS:
15:09 Changeset [121185] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit/chromium

IndexedDB: Stub out new onSuccess() handler for chromium
https://bugs.webkit.org/show_bug.cgi?id=89895

This is the chromium side of a refactor which will
introduce an onSuccess() method which includes the raw
SerializedScriptValue to the frontend, so the primaryKey
injection can happen in the front end, rather than
the V8 helper process.

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-25
Reviewed by Darin Fisher.

  • public/WebIDBCallbacks.h:

(WebKit):
(WebKit::WebIDBCallbacks::onSuccess):

  • src/IDBCallbacksProxy.cpp:

(WebKit::IDBCallbacksProxy::onSuccess):

  • src/IDBCallbacksProxy.h:

(IDBCallbacksProxy):

  • src/WebIDBCallbacksImpl.cpp:

(WebKit::WebIDBCallbacksImpl::onSuccess):
(WebKit):

  • src/WebIDBCallbacksImpl.h:

(WebIDBCallbacksImpl):

15:01 Changeset [121184] by abarth@webkit.org
  • 4 edits in trunk/Source

Use InterpolationLow on chromium-android
https://bugs.webkit.org/show_bug.cgi?id=89849

Reviewed by Daniel Bates.

Source/WebCore:

Min Qin writes:

Using InterpolationHigh is very very expensive when resampling
images. For example, it took 1400ms to decode an image on
http://www.crossfitsunnyvale.com/blog/, but it took 2800 ms to do the
resampling Switch to InterpolationLow will result in linear
resampling. It is much faster as the time it tooks is almost
non-noticable [sic] on the trace.

  • platform/graphics/skia/PlatformContextSkia.cpp:

(WebCore::PlatformContextSkia::State::State):

Source/WTF:

Introduce a USE macro to control image interpolation quality.

  • wtf/Platform.h:
14:57 Changeset [121183] by jsbell@chromium.org
  • 16 edits in trunk/Source

IndexedDB: Remove unused backend property accessors
https://bugs.webkit.org/show_bug.cgi?id=89893

Reviewed by Darin Fisher.

Source/WebCore:

Following the "metadata" API addition in trac.webkit.org/changeset/121059
the IDBXXXBackendInterface types no longer need per-property accessors.

No new tests - no functional changes.

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Remove method implementation.
  • Modules/indexeddb/IDBDatabaseBackendImpl.h: Remove methods.

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h: Remove methods.

(IDBDatabaseBackendInterface):

  • Modules/indexeddb/IDBIndexBackendImpl.h: Make methods simple accessors.

(IDBIndexBackendImpl):
(WebCore::IDBIndexBackendImpl::name):
(WebCore::IDBIndexBackendImpl::keyPath):
(WebCore::IDBIndexBackendImpl::unique):
(WebCore::IDBIndexBackendImpl::multiEntry):

  • Modules/indexeddb/IDBIndexBackendInterface.h: Remove methods.
  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Remove method implementation.
  • Modules/indexeddb/IDBObjectStoreBackendImpl.h: Make methods simple accessors.

(IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::name):
(WebCore::IDBObjectStoreBackendImpl::keyPath):
(WebCore::IDBObjectStoreBackendImpl::autoIncrement):

  • Modules/indexeddb/IDBObjectStoreBackendInterface.h: Remove methods.

Source/WebKit/chromium:

Following the "metadata" API addition in trac.webkit.org/changeset/121059
per-property accessors can be removed from the Chromium WebKit API.

  • src/WebIDBDatabaseImpl.cpp: Removed name, version, objectStoreNames.
  • src/WebIDBDatabaseImpl.h:

(WebIDBDatabaseImpl):

  • src/WebIDBIndexImpl.cpp: Removed name, keyPath, unique, multiEntry.
  • src/WebIDBIndexImpl.h:

(WebIDBIndexImpl):

  • src/WebIDBObjectStoreImpl.cpp: Removed name, keyPath, autoIncrement, indexNames.
  • src/WebIDBObjectStoreImpl.h:

(WebIDBObjectStoreImpl):

14:45 Changeset [121182] by commit-queue@webkit.org
  • 6 edits
    48 adds in trunk/LayoutTests

Add layout tests for audio codecs
https://bugs.webkit.org/show_bug.cgi?id=88794

Patch by Raymond Toy <rtoy@google.com> on 2012-06-25
Reviewed by Chris Rogers.

New tests and expected results

  • webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
  • webaudio/codec-tests/aac/vbr-128kbps-44khz.html: Added.
  • webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
  • webaudio/codec-tests/mp3/128kbps-44khz.html: Added.
  • webaudio/codec-tests/vorbis/vbr-128kbps-44khz-expected.wav: Added.
  • webaudio/codec-tests/vorbis/vbr-128kbps-44khz.html: Added.
  • webaudio/codec-tests/vorbis/vbr-70kbps-44khz-expected.wav: Added.
  • webaudio/codec-tests/vorbis/vbr-70kbps-44khz.html: Added.
  • webaudio/codec-tests/vorbis/vbr-96kbps-44khz-expected.wav: Added.
  • webaudio/codec-tests/vorbis/vbr-96kbps-44khz.html: Added.
  • webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added.
  • webaudio/codec-tests/wav/24bit-22khz-resample.html: Added.
  • webaudio/codec-tests/wav/24bit-44khz-expected.wav: Added.
  • webaudio/codec-tests/wav/24bit-44khz.html: Added.
  • webaudio/resources/audio-codec-test.js: Added.

(runDecodingTest):
(finishedLoading):

Media files for the tests

  • webaudio/resources/media/128kbps-44khz.mp3: Added.
  • webaudio/resources/media/24bit-22khz.wav: Added.
  • webaudio/resources/media/24bit-44khz.wav: Added.
  • webaudio/resources/media/vbr-128kbps-44khz.m4a: Added.
  • webaudio/resources/media/vbr-128kbps-44khz.ogg: Added.
  • webaudio/resources/media/vbr-70kbps-44khz.ogg: Added.
  • webaudio/resources/media/vbr-96kbps-44khz.ogg: Added.

Platform-specific expected results

  • platform/chromium-linux/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
  • platform/chromium-linux/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
  • platform/chromium-linux/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added.
  • platform/chromium-mac/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
  • platform/chromium-mac/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
  • platform/chromium-win/webaudio/codec-tests/aac/vbr-128kbps-44khz-expected.wav: Added.
  • platform/chromium-win/webaudio/codec-tests/mp3/128kbps-44khz-expected.wav: Added.
  • platform/chromium-win/webaudio/codec-tests/wav/24bit-22khz-resample-expected.wav: Added.

New test expectations

  • platform/chromium/TestExpectations: Disable aac/mp3 tests until bots have support.
  • platform/efl/TestExpectations: Disable all webaudio codec tests
  • platform/gtk/TestExpectations: Disable all webaudio codec tests
  • platform/mac/TestExpectations: Disable all webaudio codec tests
  • platform/qt/TestExpectations: Disable all webaudio codec tests
14:31 Changeset [121181] by hclam@chromium.org
  • 3 edits in trunk/Tools

[Chromium] add empty impl of WebThemeEngine::getSize() for DRT
https://bugs.webkit.org/show_bug.cgi?id=89907

Not reviewed. Fix build in Chromium.

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25

  • DumpRenderTree/chromium/WebThemeEngineDRTWin.cpp:

(WebThemeEngineDRTWin::getSize):

  • DumpRenderTree/chromium/WebThemeEngineDRTWin.h:

(WebThemeEngineDRTWin):

14:26 Changeset [121180] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Add support for building with ENABLE_MEDIA_STREAM
https://bugs.webkit.org/show_bug.cgi?id=88413

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-06-25
Reviewed by Dirk Pranke.

Add files which are needed for supporting the Media Stream
feature.

No change in functionality so no new tests.

  • PlatformEfl.cmake:
14:18 Changeset [121179] by commit-queue@webkit.org
  • 11 edits
    3 adds in trunk

[Texmap] TextureMapperPaintOptions should keep current surface.
https://bugs.webkit.org/show_bug.cgi?id=89266

Source/WebCore:

Before this patch, if a replica layer has a descendant replica child, the child
layer does not render the result in the parent layer's surface because
TextureMapperPaintOptions does not keep current surface.
This patch amends that TextureMapperPaintOptions keeps current surface before
calling paintSelfAndChildrenWithReplica recursively, so previous surface could be
restored after paintSelfAndChildrenWithReplica.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Noam Rosenthal.

Test: compositing/reflections/animation-inside-reflection.html

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::paintRecursive):

LayoutTests:

Add a opacity property to two div layers in animation-insiVde-reflection
test.
Texmap has a bug when a transparent reflection layer has another
transparent reflection layer, so two reflection layer in
animation-inside-reflection test have opacity in order to cover Texmap's
bug.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Noam Rosenthal.

  • compositing/reflections/animation-inside-reflection.html:
  • platform/chromium-linux/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-mac-leopard/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-mac-snowleopard/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-mac/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/chromium-win/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/efl/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/mac-snowleopard/compositing/reflections/animation-inside-reflection-expected.png:
  • platform/qt/compositing/reflections/animation-inside-reflection-expected.png: Added.
  • platform/qt/compositing/reflections/animation-inside-reflection-expected.txt: Added.
13:19 Changeset [121178] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[chromium] Layer chromium should need a redraw after getting its first non-empty bounds.
https://bugs.webkit.org/show_bug.cgi?id=89784

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-25
Reviewed by James Robinson.

Previously, we'd only set needs redraw if the old bounds were zero,
and the new bounds were non-zero, but we should actually have
checked that the old bounds were non-empty.

Source/WebCore:

Unit test: LayerChromiumTestWithoutFixture.setBoundsTriggersSetNeedsRedrawAfterGettingNonEmptyBounds

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::setBounds):

Source/WebKit/chromium:

  • tests/LayerChromiumTest.cpp:
13:14 Changeset [121177] by kareng@chromium.org
  • 1 edit in branches/chromium/1180/Source/WebKit/chromium/src/WebPluginContainerImpl.cpp

Merge 120881 - Perform hit-test from correct frame in isRectTopmost()
https://bugs.webkit.org/show_bug.cgi?id=89492

Patch by Raymes Khoury <raymes@chromium.org> on 2012-06-20
Reviewed by Levi Weintraub.

Hit-testing was being performed from the main frame, which gave the
incorrect result if the plugin was in a different frame.

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::isRectTopmost):

TBR=commit-queue@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10656025

12:47 Changeset [121176] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Source/Platform: Plumb Scrollbar button dimensions through WebThemeEngine
https://bugs.webkit.org/show_bug.cgi?id=89264

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25
Reviewed by James Robinson.

Rather than making the height of the scrollbar buttons the same as the
width of the scrollbar, delegate to the WebThemeEngine. This allows
matching the Aura theme rather than the standard Windows theme.

  • chromium/public/win/WebThemeEngine.h:

(WebKit):
(WebThemeEngine):

Source/WebCore: Plumb Scrollbar button dimensions down to WebThemeEngine
https://bugs.webkit.org/show_bug.cgi?id=89264

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25
Reviewed by James Robinson.

Rather than making the height of the scrollbar buttons the same as the
width of the scrollbar, delegate to the WebThemeEngine. This allows
matching the Aura theme rather than the standard Windows theme.

No new tests, as bounds are overridden for DRT.

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

  • platform/chromium/ScrollbarThemeChromiumWin.cpp:

(WebCore::ScrollbarThemeChromiumWin::buttonSize):

Source/WebKit/chromium: Plumb Scrollbar button dimensions down to WebThemeEngine
https://bugs.webkit.org/show_bug.cgi?id=89264

Patch by Scott Graham <scottmg@chromium.org> on 2012-06-25
Reviewed by James Robinson.

Rather than making the height of the scrollbar buttons the same as the
width of the scrollbar, delegate to the WebThemeEngine. This allows
matching the Aura theme rather than the standard Windows theme.

  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::getThemePartSize):
(WebCore):

12:33 Changeset [121175] by antti@apple.com
  • 2 edits in trunk/Source/WebCore

Fast path for simple transform parsing
https://bugs.webkit.org/show_bug.cgi?id=89898

Reviewed by Anders Carlsson.

When manipulating transforms using script, the transform value parsing can show up in profiles pretty heavily
(up 4% in some cases). We can optimize it easily by implementing a fast path that does not spin up the full CSS
parser, like we already do for several other common value types.

The patch implements a fast path for transform(), transformX/Y/Z() and transform3D(). It speeds up parsing by >5x.

  • css/CSSParser.cpp:

(WebCore):
(WebCore::parseTransformArguments):
(WebCore::parseTransformValue):
(WebCore::CSSParser::parseValue):

12:04 Changeset [121174] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unused static function shadowFor
https://bugs.webkit.org/show_bug.cgi?id=89824

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-25
Reviewed by Daniel Bates.

shadowFor is not used anymore after r117796. No behaviour changes.

  • dom/TreeScopeAdopter.cpp:
11:56 Changeset [121173] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unused constant timeWithoutMouseMovementBeforeHidingControls
https://bugs.webkit.org/show_bug.cgi?id=89823

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-25
Reviewed by Daniel Bates.

After r87692, timeWithoutMouseMovementBeforeHidingControls is not used anymore.

  • html/HTMLMediaElement.cpp:

(WebCore):

11:49 Changeset [121172] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[Chromium] RenderPass textures are evicted at the end of every frame
https://bugs.webkit.org/show_bug.cgi?id=89786

Patch by Zeev Lieber <zlieber@chromium.org> on 2012-06-25
Reviewed by Adrienne Walker.

Source/WebCore:

Removed calls to TextureManager::reduceMemoryToLimit inside
finishDrawingFrame() method.

Added unit tests to verify new behavior.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::finishDrawingFrame):

Source/WebKit/chromium:

Added unit tests to verify large textures are staying in memory
and available for render pass optimization.

  • tests/CCLayerTreeHostImplTest.cpp:
11:05 Changeset [121171] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

Missing implementation of textInputController.setComposition() causes bot redness
https://bugs.webkit.org/show_bug.cgi?id=89845

  • platform/mac/Skipped: Skip fast/forms/input-set-composition-scroll.html
11:01 Changeset [121170] by gyuyoung.kim@samsung.com
  • 9 edits in trunk

[EFL] Implement Network Information API
https://bugs.webkit.org/show_bug.cgi?id=87067

Reviewed by Kenneth Rohde Christiansen.

.:

  • Source/cmake/FindEFL.cmake: Find eeze library in build system.

Source/WebKit:

  • PlatformEfl.cmake: Add dependency of eeze library.

Source/WebKit/efl:

Implement NetworkInfoClientEfl.cpp using eeze library. However, this patch only
supports this feature on ethernet interface.

  • WebCoreSupport/NetworkInfoClientEfl.cpp:

(WebCore):
(WebCore::NetworkInfoClientEfl::NetworkInfoClientEfl):
(WebCore::NetworkInfoClientEfl::startUpdating):
(WebCore::NetworkInfoClientEfl::stopUpdating):
(WebCore::NetworkInfoClientEfl::bandwidth):
(WebCore::NetworkInfoClientEfl::metered):

  • WebCoreSupport/NetworkInfoClientEfl.h:

(NetworkInfoClientEfl):

Tools:

  • efl/jhbuild.modules: Add eeze library dependency.
10:47 Changeset [121169] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Add graphviz debug output for the gstreamer video pipeline.
https://bugs.webkit.org/show_bug.cgi?id=89660

Patch by Allan Xavier <allan.xavier@undefinedltd.co.uk> on 2012-06-25
Reviewed by Martin Robinson.

Dump the current video pipeline as a graphviz DOT file when the
pipeline state changes or when an error occours.

No new tests as the change is only useful for debugging.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::handleMessage):

10:43 Changeset [121168] by lforschler@apple.com
  • 2 edits in branches/safari-536-branch/Source/WebKit2

Merged r121138 -> <rdar://problem/11686974>

10:41 Changeset [121167] by lforschler@apple.com
  • 5 edits in branches/safari-536-branch/Source/WebKit2

Merged r121113 -> <rdar://problem/11686974>

10:39 Changeset [121166] by abarth@webkit.org
  • 4 edits
    2 adds in trunk

ASSERT(m_wheelEventHandlerCount > 0) can fire
https://bugs.webkit.org/show_bug.cgi?id=89856

Reviewed by Eric Seidel.

Source/WebCore:

When a node with a wheel or a touch event is moved from one document to
another, the didAddMumble/didRemoveMumble calls do not balance because
they're called on different documents. This patch twiddles the counts
appropriately in that case.

Test: fast/events/move-element-with-wheel-and-touch-event-listeners.html

  • dom/EventNames.h:

(WebCore::EventNames::isTouchEventType):
(EventNames):
(WebCore::EventNames::touchEventNames):

  • dom/Node.cpp:

(WebCore::Node::didMoveToNewDocument):

LayoutTests:

Test what happens when we move a node with wheel and/or touch events
from one document to another. Prior to this patch, this test triggers
ASSERT(m_wheelEventHandlerCount > 0) in Document.cpp.

  • fast/events/move-element-with-wheel-and-touch-event-listeners-expected.txt: Added.
  • fast/events/move-element-with-wheel-and-touch-event-listeners.html: Added.
10:38 Changeset [121165] by lforschler@apple.com
  • 2 edits in branches/safari-536-branch/Source/WebCore

Rollout r121034 -> <rdar://problem/11718988>

10:36 Changeset [121164] by eric@webkit.org
  • 10 edits
    2 adds in trunk/Source/WebCore

Split map* functions out of StyleResolver into a helper object
https://bugs.webkit.org/show_bug.cgi?id=89881

Reviewed by Daniel Bates.

These map* functions are completely independent of the rest of StyleResolver
and only exist to serve StyleBuilder.
CSSToStyleMap doesn't even want to have a StyleResolver pointer, but
currently needs one to access the resolve-lifetime caches for the
current resolve. Once we split out that per-resolve state into
some sort of ResolveState/ResolveInfo object (akin to PaintInfo/LayoutState)
then this object will be even simpler.

No behavioral change, thus no tests.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSToStyleMap.cpp: Added.

(WebCore):
(WebCore::CSSToStyleMap::style):
(WebCore::CSSToStyleMap::rootElementStyle):
(WebCore::CSSToStyleMap::useSVGZoomRules):
(WebCore::CSSToStyleMap::styleImage):
(WebCore::CSSToStyleMap::mapFillAttachment):
(WebCore::CSSToStyleMap::mapFillClip):
(WebCore::CSSToStyleMap::mapFillComposite):
(WebCore::CSSToStyleMap::mapFillOrigin):
(WebCore::CSSToStyleMap::mapFillImage):
(WebCore::CSSToStyleMap::mapFillRepeatX):
(WebCore::CSSToStyleMap::mapFillRepeatY):
(WebCore::CSSToStyleMap::mapFillSize):
(WebCore::CSSToStyleMap::mapFillXPosition):
(WebCore::CSSToStyleMap::mapFillYPosition):
(WebCore::CSSToStyleMap::mapAnimationDelay):
(WebCore::CSSToStyleMap::mapAnimationDirection):
(WebCore::CSSToStyleMap::mapAnimationDuration):
(WebCore::CSSToStyleMap::mapAnimationFillMode):
(WebCore::CSSToStyleMap::mapAnimationIterationCount):
(WebCore::CSSToStyleMap::mapAnimationName):
(WebCore::CSSToStyleMap::mapAnimationPlayState):
(WebCore::CSSToStyleMap::mapAnimationProperty):
(WebCore::CSSToStyleMap::mapAnimationTimingFunction):
(WebCore::CSSToStyleMap::mapNinePieceImage):
(WebCore::CSSToStyleMap::mapNinePieceImageSlice):
(WebCore::CSSToStyleMap::mapNinePieceImageQuad):
(WebCore::CSSToStyleMap::mapNinePieceImageRepeat):

  • css/CSSToStyleMap.h: Added.

(WebCore):
(CSSToStyleMap):
(WebCore::CSSToStyleMap::CSSToStyleMap):

  • css/StyleBuilder.cpp:

(WebCore::ApplyPropertyFillLayer::applyValue):
(WebCore::ApplyPropertyBorderImage::applyValue):
(WebCore::ApplyPropertyBorderImageModifier::applyValue):
(WebCore):
(WebCore::ApplyPropertyAnimation::map):
(WebCore::StyleBuilder::StyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::collectMatchingRulesForList):

  • css/StyleResolver.h:

(WebCore::StyleResolver::styleMap):
(StyleResolver):

10:14 Changeset [121163] by gyuyoung.kim@samsung.com
  • 4 edits in trunk/Source/WebCore

[EFL] Support screenDepth() functionality.
https://bugs.webkit.org/show_bug.cgi?id=89423

Reviewed by Kenneth Rohde Christiansen.

Support screenDepth() based on ecore_x_window_depth_get(). This functionality may be used by
both WebKit1 and WebKit2. So, concrete function is placed into EflScreenUtilities.cpp.

This patch can't support existing test cases. Because, EFL DumpRenderTree works without X11 window
by default.

  • platform/efl/EflScreenUtilities.cpp:

(WebCore::getPixelDepth):
(WebCore):

  • platform/efl/EflScreenUtilities.h:

(WebCore):

  • platform/efl/PlatformScreenEfl.cpp:

(WebCore::screenDepth):
(WebCore::screenDepthPerComponent):

09:59 Changeset [121162] by shinyak@chromium.org
  • 3 edits
    2 adds in trunk

[Shadow] Executing Italic and InsertUnorderedList in Shadow DOM causes a crash
https://bugs.webkit.org/show_bug.cgi?id=88495

Reviewed by Ryosuke Niwa.

Source/WebCore:

InsertionPoint::removedFrom(insertionPoint) tries to find its owner ElementShadow from
parentNode or insertionPoint. If the parent node exsits but we cannot reach ElementShadow from
the parent node, InsertionPoint::removedFrom does not try to find ElementShadow anymore.

It's OK if the ElementShadow is being destructed, but there is a case ElementShadow is not being
destructed in editing. In this case, we should try to find ElementShadow from insertionPoint.
Otherwise it will bring inconsistency to Shadow DOM, and causes a crash.

Actually checking the existence of parentNode() does not make any sense. We should get
shadowRoot() directly.

Test: editing/shadow/insertorderedlist-crash.html

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::removedFrom):

LayoutTests:

  • editing/shadow/insertorderedlist-crash-expected.txt: Added.
  • editing/shadow/insertorderedlist-crash.html: Added.
09:56 Changeset [121161] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove responseBlob field from XMLHttpResponse.idl
https://bugs.webkit.org/show_bug.cgi?id=89859

Reviewed by Eric Seidel.

Remove XMLHttpResponse.responseBlob from XMLHttpResponse.idl, which
has only been exposed for a very limited time (since r120574) but
probably should not have been done so since XHR2 spec no longer has
the field. A quick search also showed that no one seems to be using the field.

(More context: the field was added long time ago with a runtime guard
which had never been enabled until the guard was removed in r120574
to remove XHR_RESPONSE_BLOB on all platforms.)

No new tests as no tests use this field.

  • xml/XMLHttpRequest.idl: Removed responseBlob field.
09:30 Changeset [121160] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Heap-use-after-free in WebKit::MainThreadFileSystemCallbacks
https://bugs.webkit.org/show_bug.cgi?id=87019

Reviewed by David Levin.

Should not access the CallbacksBridge's member field after it's freed.

  • src/WorkerFileSystemCallbacksBridge.cpp:

(WebKit::WorkerFileSystemCallbacksBridge::cleanUpAfterCallback):

08:40 Changeset [121159] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Add static qualifier to GraphicsContext3D::extractImageData.
https://bugs.webkit.org/show_bug.cgi?id=89866

GraphicsContext3D::extractImageData does not use member variables.
Each platform Accelerated-compositing implementation can use this method in
order to get pixel data of an Image or ImageBuffer object.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Noam Rosenthal.

No new tests since there's no change on code behavior.

  • platform/graphics/GraphicsContext3D.h:

(GraphicsContext3D):

08:27 Changeset [121158] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Use AIR controls if client doesn't support HTML control
https://bugs.webkit.org/show_bug.cgi?id=89777

Patch by Crystal Zhang <haizhang@rim.com> on 2012-06-25
Reviewed by Yong Li.

Currently HTML controls depend on client implementing CreateWindow event, for those clients
that don't implement CreateWindow event, use old AIR controls so we don't break them.

PR 163818.

Internal reviewed by Mike Fenton.

  • Api/WebPageClient.h:
  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::openPagePopup):

  • WebCoreSupport/PagePopupBlackBerry.cpp:

(WebCore::PagePopupBlackBerry::sendCreatePopupWebViewRequest):

  • WebCoreSupport/PagePopupBlackBerry.h:

(PagePopupBlackBerry):

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::openSelectPopup):

08:14 Changeset [121157] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[Qt] Unskip 3D transform tests.
https://bugs.webkit.org/show_bug.cgi?id=89878

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-06-25
Reviewed by Csaba Osztrogonác.

  • platform/qt-5.0-wk2/Skipped:
  • platform/qt/Skipped:
07:36 Changeset [121156] by pfeldman@chromium.org
  • 9 edits in trunk

Web Inspector: toggling style should not start property edit first.
https://bugs.webkit.org/show_bug.cgi?id=89834

Reviewed by Yury Semikhatsky.

Source/WebCore:

Otherwise property flickers upon toggling.

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylePropertyTreeElement.prototype):

LayoutTests:

  • http/tests/inspector/elements-test.js:

(initialize_ElementTest.InspectorTest.dumpSelectedElementStyles):
(initialize_ElementTest.InspectorTest.toggleStylePropertyEnabled):

  • inspector/styles/styles-disable-inherited.html:
  • inspector/styles/styles-disable-then-change.html:
  • inspector/styles/styles-disable-then-delete.html:
  • inspector/styles/styles-disable-then-enable.html:
  • inspector/styles/undo-property-toggle.html:
07:30 Changeset [121155] by rwlbuis@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Require text editable element to be enabled for VKB
https://bugs.webkit.org/show_bug.cgi?id=89876

Reviewed by Yong Li.

After bug 58837 got in, children of <fieldset> now can inherit the disabled
state of the fieldset. When trying for instance fast/forms/fieldset/fieldset-disabled.html,
it can be seen that when they are visually disabled, the input handling can still be triggered. So
add an extra check to isTextBasedContentEditableElement that the element is enabled.

Reviewed internally by Mike Fenton.

  • WebKitSupport/DOMSupport.cpp:

(BlackBerry::WebKit::DOMSupport::isTextBasedContentEditableElement):

07:26 Changeset [121154] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: "Emulate Touch Events" breaks selecting elements with "touchstart" event listeners for inspection.
https://bugs.webkit.org/show_bug.cgi?id=89861

Reviewed by Vsevolod Vlasov.

Upon a mousepress, Inspector should be queried for the "Inspect element" mode up-front,
before dispatching a synthetic "touchstart" event.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):

06:42 Changeset [121153] by carlosgc@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-1.9.4

Tagging the WebKitGTK+ 1.9.4 release

06:39 WebKitGTK/WebKit2Roadmap edited by mario@webkit.org
(diff)
06:38 Changeset [121152] by carlosgc@webkit.org
  • 4 edits in trunk

Unreviewed. Update NEWS and configure.ac for 1.9.4 release

.:

  • configure.ac: Bump version number.

Source/WebKit/gtk:

  • NEWS: Added release notes for 1.9.4.
06:16 Changeset [121151] by commit-queue@webkit.org
  • 3 edits
    2 moves
    1 add in trunk/Source/WebKit2

[WK2][Qt][EFL] Move LayerBackingStore into common directory
https://bugs.webkit.org/show_bug.cgi?id=89838

Patch by YoungTaeck Song <youngtaeck.song@samsung.com> on 2012-06-25
Reviewed by Noam Rosenthal.

Move LayerBackingStore into 'Source/WebKit2/UIProcess/texmap' to be used by both Qt and Efl.

  • Target.pri:
  • UIProcess/texmap/LayerBackingStore.cpp: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.cpp.

(WebKit):
(WebKit::LayerBackingStoreTile::swapBuffers):
(WebKit::LayerBackingStoreTile::setBackBuffer):
(WebKit::LayerBackingStore::createTile):
(WebKit::LayerBackingStore::removeTile):
(WebKit::LayerBackingStore::updateTile):
(WebKit::LayerBackingStore::texture):
(WebKit::LayerBackingStore::paintToTextureMapper):
(WebKit::LayerBackingStore::commitTileOperations):

  • UIProcess/texmap/LayerBackingStore.h: Renamed from Source/WebKit2/UIProcess/qt/LayerBackingStore.h.

(WebKit):
(LayerBackingStoreTile):
(WebKit::LayerBackingStoreTile::LayerBackingStoreTile):
(WebKit::LayerBackingStoreTile::scale):
(LayerBackingStore):
(WebKit::LayerBackingStore::create):
(WebKit::LayerBackingStore::LayerBackingStore):

05:41 Changeset [121150] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Styles] Cannot visually set caret before the first CSS property name character
https://bugs.webkit.org/show_bug.cgi?id=89869

Reviewed by Vsevolod Vlasov.

The issue was due to the "editbox" SPAN having a negative margin, thus the leftmost caret position was getting clipped
by a synthetic SPAN container added by the TextPrompt.

  • inspector/front-end/elementsPanel.css:

(.styles-section .properties > li.child-editing .webkit-css-property):
(.styles-section .properties li.child-editing):

05:09 Changeset [121149] by arko@motorola.com
  • 4 edits in trunk/Source/WebCore

Microdata: document.getItems(typeNames) is not returning Microdata items when typeNames argument is not specified.
https://bugs.webkit.org/show_bug.cgi?id=89757

Reviewed by Ryosuke Niwa.

With r120979 change, it creates MicroDataItemList with m_typeNames = "http://webkit.org/microdata/undefinedItemType",
when typeNames argument is not specified. Modified the check in nodeMatches() accordingly.

This fixes the following failing tests :

fast/dom/MicroData/002.html
fast/dom/MicroData/003.html
fast/dom/MicroData/007.html
fast/dom/MicroData/009.html
fast/dom/MicroData/properties-collection-must-see-the-properties-added-in-itemref.html

  • dom/Document.cpp:

(WebCore::Document::getItems): Use undefinedItemType to avoid String conversion.

  • dom/MicroDataItemList.cpp:

(WebCore::MicroDataItemList::undefinedItemType): It defines "http://webkit.org/microdata/undefinedItemType"
string using DEFINE_STATIC_LOCAL to avoid String conversion.
(WebCore::MicroDataItemList::MicroDataItemList): Use document() method of DynamicNodeList to obtain
document of owner element.
(WebCore::MicroDataItemList::~MicroDataItemList): Removed originalTypeNames null check.
(WebCore::MicroDataItemList::nodeMatches): Return true if originalTypeNames is equal to undefinedItemType.

  • dom/MicroDataItemList.h:
04:55 Changeset [121148] by carlosgc@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix make distcheck.

  • GNUmakefile.list.am: Add missing header file.
04:21 Changeset [121147] by hausmann@webkit.org
  • 4 edits
    1 add in trunk

[Qt] Fix Win32 debug build

Reviewed by Tor Arne Vestbø.

Source/WebCore:

Consistently use use_all_in_one_files when requested in the configuration. The previous
Linux condition has been moved to Tools/qmake/mkspecs/features/unix/default_pre.prf

  • Target.pri:

Tools:

Consolidate use_all_in_one_files into mac/unix/win32 default_pre.prf.

  • qmake/mkspecs/features/unix/default_pre.prf:
  • qmake/mkspecs/features/win32/default_pre.prf: Added.
03:31 Changeset [121146] by pdr@google.com
  • 3 edits
    2 adds in trunk

Fix rewinding of SVG animations
https://bugs.webkit.org/show_bug.cgi?id=89846

Reviewed by Nikolas Zimmermann.

Source/WebCore:

r116451 introduced an optimization to only clear non-freeze animations when
calling setCurrentTime (via reset()). This causes fill=freeze animations to
not clear which breaks rewinding of an animation.

In the presence of multiple animations, we reset the first animation to the
base value and accumulate all results into that; this masked the problem because
2 animations were required to hit the bug (our tests primarily cover just 1).

Test: svg/animations/animate-reset-freeze.html

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::reset):

LayoutTests:

  • svg/animations/animate-reset-freeze-expected.txt: Added.
  • svg/animations/animate-reset-freeze.html: Added.
02:43 Changeset [121145] by tkent@chromium.org
  • 8 edits
    2 adds in trunk

Change the serialization format of form control state to make the code simple
https://bugs.webkit.org/show_bug.cgi?id=89847

Reviewed by Hajime Morita.

Source/WebCore:

We used multiple strings to represent state of single form control. It
made the code complex. We change the serialization format so that one
CSV string represents state.

Examples in the old format:

"0"
"1", "value"
"3", "value1", "value2,value2", "value3"

Examples in the new format:

""
",value"
",value1,value2\,value2,value3"

Test: fast/forms/state-restore-various-values.html

  • html/FormController.cpp:

(WebCore::FormControlState::serialize):
Generate comma-separated string.
',' in a value is serialized as "\,".
We changed the signature because we don't need the out-argument.
(WebCore::FormControlState::deserialize):
Parses the input comma-separated string.
We changed the signature because we don't need multiple input strings.
(formStateSignature):
Bump up the version because of the representation change.
(WebCore::FormController::formElementsState):
The new serialized format occupies just one string for one control.

  • Expected size is now 3n+1.
  • Use FormControlState::serialize().

(WebCore::FormController::setStateForNewFormElements):
The new serialized format occupies just one string for one control.
So we can check the vector size before the iteration.

  • html/FormController.h:

(FormControlState): Change the function signatures.

  • html/shadow/CalendarPickerElement.cpp:

(WebCore::addJavaScriptString): Use StringBuilder::appendEscaped().

Source/WTF:

  • wtf/text/StringBuilder.h:

(WTF::StringBuilder::appendEscaped): Added. This function adds the
escaped form of the input string. e.g. if stiring="foo,bar" escape='\'
special=',', the appended string is foo\,bar.

LayoutTests:

  • fast/forms/state-restore-broken-state-expected.txt:

Apply the serialization format change.

  • fast/forms/state-restore-various-values-expected.txt: Added.
  • fast/forms/state-restore-various-values.html: Added.
02:26 Changeset [121144] by yurys@chromium.org
  • 13 edits
    1 move in trunk/Source/WebCore

Web Inspector: add external resources size to the native memory diagram
https://bugs.webkit.org/show_bug.cgi?id=89754

Reviewed by Vsevolod Vlasov.

Size of external strings and arrays is now reported through the inspector
protocol and displayed on the native memory chart.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptProfiler.h:

(WebCore):
(WebCore::ScriptProfiler::visitJSDOMWrappers):
(WebCore::ScriptProfiler::visitExternalJSStrings):
(WebCore::ScriptProfiler::visitExternalJSArrays):

  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::visitJSDOMWrappers):
(WebCore::ScriptProfiler::visitExternalJSStrings):
(WebCore::ScriptProfiler::visitExternalJSArrays):
(WebCore):

  • bindings/v8/ScriptProfiler.h:

(WebCore):
(ScriptProfiler):

  • bindings/v8/V8Binding.cpp:

(WebCore::WebCoreStringResource::visitStrings):
(WebCore::V8BindingPerIsolateData::visitJSExternalStrings):

  • bindings/v8/V8Binding.h:

(WebCore):
(V8BindingPerIsolateData):

  • inspector/BindingVisitors.h: Renamed from Source/WebCore/inspector/DOMWrapperVisitor.h.

(WTF):
(WebCore):
(NodeWrapperVisitor):
(WebCore::NodeWrapperVisitor::~NodeWrapperVisitor):
(ExternalStringVisitor):
(WebCore::ExternalStringVisitor::~ExternalStringVisitor):
(ExternalArrayVisitor):
(WebCore::ExternalArrayVisitor::~ExternalArrayVisitor):

  • inspector/InspectorMemoryAgent.cpp:

(MemoryBlockName):
(WebCore):
(WebCore::jsExternalResourcesInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.MemoryBlockViewProperties._initialize):

01:42 Changeset [121143] by carlosgc@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Test /webkit2/WebKitWebView/permission-requests fails due to a runtime warning
https://bugs.webkit.org/show_bug.cgi?id=89858

Reviewed by Xan Lopez.

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:

(testWebViewPermissionRequests): Make runtime warnings non-fatal
for test /webkit2/WebKitWebView/permission-requests.

00:18 Changeset [121142] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[GTK] Remove unused code in LayerTreeHostGtk.
https://bugs.webkit.org/show_bug.cgi?id=89854

LayerTreeHostGtk::deviceScaleFactor() is unused and LayerTreeHost does not have
virtual float deviceScaleFactor() const;

Patch by Huang Dongsung <luxtella@company100.net> on 2012-06-25
Reviewed by Martin Robinson.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:

(LayerTreeHostGtk):

00:02 Changeset [121141] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip new failing tests.

  • platform/qt/Skipped:

06/24/12:

23:34 Changeset [121140] by abarth@webkit.org
  • 2 edits in trunk/Source/WTF

Remove USE(CHROMIUM_NET) because it is unused
https://bugs.webkit.org/show_bug.cgi?id=89850

Reviewed by Eric Seidel.

I didn't see any mentions of CHROMIUM_NET when I grepped the Source
directory. Also, this USE macro isn't defined on OS(DARWIN) or
OS(ANDROID), which seems a bit odd given that Chromium uses the same
network stack on all platforms.

  • wtf/Platform.h:
23:21 Changeset [121139] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip new failing tests.

  • platform/qt/Skipped:
22:08 Changeset [121138] by kling@webkit.org
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
<rdar://problem/11686974>
<http://webkit.org/b/89659>

Unreviewed tests assertion fix, handleKeyboardEvent() should call didReceiveKeyEvent()
rather than didReceiveEvent().

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleKeyboardEvent):
(WebKit::WebPageProxy::didReceiveKeyEvent):

21:33 Changeset [121137] by ukai@chromium.org
  • 8 edits in trunk/Source/WebCore

Unreviewed compile error fix of Chromium Win Release.
Touch header files for ENABLE(CSS_VARIABLES) so that
it forces to rebuild files by changing ENABLE(CSS_VARIABLES)
in Sources/WebKit/chromium/features.gypi at r121129

  • css/CSSParserMode.h:
  • css/CSSValue.h:

(WebCore):

  • css/CSSVariableValue.h:
  • page/Settings.h:
  • rendering/style/RenderStyle.h:
  • rendering/style/StyleRareInheritedData.h:
  • rendering/style/StyleVariableData.h:
20:40 Changeset [121136] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[Texmap] Minor cleanup for TextureMapper::accelerationMode()
https://bugs.webkit.org/show_bug.cgi?id=89825

Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-06-24
Reviewed by Kenneth Rohde Christiansen.

Replace the virtual method with a simple member variable.

  • platform/graphics/texmap/TextureMapper.h:

(WebCore::TextureMapper::accelerationMode):
(WebCore::TextureMapper::TextureMapper):
(TextureMapper):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::TextureMapperGL):

  • platform/graphics/texmap/TextureMapperGL.h:
  • platform/graphics/texmap/TextureMapperImageBuffer.h:

(WebCore::TextureMapperImageBuffer::TextureMapperImageBuffer):

20:32 Changeset [121135] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[Qt] Enable <input type="color"> support by default
https://bugs.webkit.org/show_bug.cgi?id=89653

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-24
Reviewed by Kenneth Rohde Christiansen.

This feature is complete for Qt WebKit2. Enabling by default
will help to mature the implementation.

  • Scripts/webkitperl/FeatureList.pm:
  • qmake/mkspecs/features/features.pri:
20:28 Changeset [121134] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][Qt][EFL] Modify Qt specific code to common code
https://bugs.webkit.org/show_bug.cgi?id=89839

Patch by YoungTaeck Song <youngtaeck.song@samsung.com> on 2012-06-24
Reviewed by Noam Rosenthal.

Modify paintToGraphicsContext’s first argument QPainter to PlatformGraphicsContext to be used by both Qt and Efl.

  • UIProcess/WebLayerTreeRenderer.cpp:

(WebKit::WebLayerTreeRenderer::paintToGraphicsContext):

20:25 Changeset [121133] by joone@webkit.org
  • 3 edits in trunk/LayoutTests

Unreviewed GTK/EFL gardening after r121121.
Marked fast/forms/input-set-composition-scroll.html as known failure
tracked by the bug 89845.

  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
20:16 Changeset [121132] by mikelawther@chromium.org
  • 3 edits
    2 adds in trunk

CSS3 calc: transitions starting and ending with a calc expression move to end state
https://bugs.webkit.org/show_bug.cgi?id=89738

Reviewed by Tony Chang.

Source/WebCore:

The equality operator for CalculationValue was not working as expected. The
equality operator for OwnPtr is private, as OwnPtrs should always be different.
The OwnPtrs ended up getting cast to bool before being compared, and the
comparison was always returning true.

The comparison between OwnPtrs has been removed. It doesn't add value to compare
the raw pointers either, since OwnPtrs should always be unique. We cannot
ASSERT the uniqueness though, as it is legitimate to compare a CalculationValue
to itself.

Test: css3/calc/transition-start-end-with-calc.html

  • platform/CalculationValue.h:

(WebCore::CalculationValue::operator==):

LayoutTests:

  • css3/calc/transition-start-end-with-calc-expected.txt: Added.
  • css3/calc/transition-start-end-with-calc.html: Added.
19:25 Changeset [121131] by morrita@google.com
  • 4 edits in trunk/Source/WebCore

NodeRenderingContext::AttachingPhase is redundant.
https://bugs.webkit.org/show_bug.cgi?id=79220

Reviewed by Dimitri Glazkov.

This change removes NodeRenderingContext::AttachingPhase and
NodeRenderingContext::m_phase respectively. The state originally
represented as m_phase is naturally encoded into other member variables.

NodeRenderingContext::m_visualParentShadow is also replaced, with
a local variable parentScope.

Basically, what NodeRenderingContext wants to know is the parent of
the composed shadow tree and an optional insertion point where the
node is distributed. Once these becomes clear, m_phase is no longer required.
It was rather a historical artifact.

No new tests. No behavioral change.

  • dom/NodeRenderingContext.cpp: Replaced m_phase with implicit states.

(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):
(WebCore::NodeRenderingContext::parentRenderer):
(WebCore::NodeRenderingContext::shouldCreateRenderer):
(WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
(WebCore::NodeRenderingContext::isOnUpperEncapsulationBoundary):

  • dom/NodeRenderingContext.h:

(NodeRenderingContext):
(WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle): Removed an assert which checks m_phase.
(WebCore::NodeRenderingContext::resetStyleInheritance): Removed an assert which checks m_phase.

  • html/shadow/InsertionPoint.h:

(WebCore::isInsertionPoint): Fix null case check.
(WebCore::isLowerEncapsulationBoundary): Renamed from isShadowBoundary()

19:14 Changeset [121130] by antti@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r121124): LayoutTests/fast/block/inline-children-root-linebox-crash.html asserts
https://bugs.webkit.org/show_bug.cgi?id=89844

Reviewed by Dan Bernstein.

We need to check for the flipped writing mode and take the slow path if it is used.

  • rendering/RenderGeometryMap.cpp:

(WebCore::RenderGeometryMap::pushMappingsToAncestor):

19:03 Changeset [121129] by macpherson@chromium.org
  • 31 edits
    2 adds in trunk

Add runtime flag to enable/disable CSS variables (in addition to existing compile-time flag).
https://bugs.webkit.org/show_bug.cgi?id=89542

Reviewed by Dimitri Glazkov.

Source/WebCore:

Added fast/css/variables/build-supports-variables.html to test runtime flag in test environment.
Updated all other css variables tests to enable the runtime flag from JS.

  • css/CSSParser.cpp:

(WebCore::CSSParserContext::CSSParserContext):
(WebCore::operator==):
(WebCore::CSSParser::cssVariablesEnabled):
(WebCore):
(WebCore::CSSParser::detectDashToken):
(WebCore::CSSParser::lex):

  • css/CSSParser.h:

(CSSParser):

  • css/CSSParserMode.h:

(CSSParserContext):

  • page/Settings.h:

(Settings):
(WebCore::Settings::setCSSVariablesEnabled):
(WebCore::Settings::cssVariablesEnabled):

Source/WebKit/chromium:

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

(WebKit::WebSettingsImpl::setExperimentalCSSVariablesEnabled):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

18:47 Changeset [121128] by tkent@chromium.org
  • 5 edits
    2 adds in trunk

Selected option is not restored correctly
https://bugs.webkit.org/show_bug.cgi?id=89623

Reviewed by Hajime Morita.

Source/WebCore:

Details of the bug:
We saved a state of a <select> element as a string of which length was
the size of <select>'s children. e.g. If a <select> had five children
and the second and the fifth items were selected, the state string was:

".X..X"

This didn't work well if the structure of the children was updated after
parsing. For example,

  1. A page has the following <select> initially: <select multiple>

<option>Banana
<option>Lemon
<option>Orange
<option>Strawberry

<select>

  1. For some reasons, <option>Apple</option> is prepended to the children.
  2. Some items are selected.
  3. The page is unloaded. Selection state is saved.
  4. A user go back to the page again. A browser parses the page again.
  5. Try to restore the <select> state with the saved data at 4. But "Apple" is missing. The <select> has wrong selections.

Solution:
We save the state as a set of selected values. If "Banana" and
"Strawberry" are selected in the above <select>, we save two strings;
"Banana" and "Strawberry", not ".X..X".

Test: fast/forms/select/select-state-restore.html

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::saveFormControlState):
Store selected value strings to a FormControlState object.
(WebCore::HTMLSelectElement::searchOptionsForValue):
A helper function to find an <option> with the specified value.
(WebCore::HTMLSelectElement::restoreFormControlState):
Clear all of selections, then select options with saved values.
In order to avoid O(M x N) loop, we start searching at position we found
the previous value.

  • html/HTMLSelectElement.h: Declare searchOptionsForValue.
  • html/FormController.cpp:

(formStateSignature): Bump up the version because this is a incompatible
change.

LayoutTests:

  • fast/forms/select/select-state-restore-expected.txt: Added.
  • fast/forms/select/select-state-restore.html: Added.
18:46 Changeset [121127] by commit-queue@webkit.org
  • 13 edits in trunk

Add snap to css3-images image-resolution
https://bugs.webkit.org/show_bug.cgi?id=89745

Patch by David Barr <davidbarr@chromium.org> on 2012-06-24
Reviewed by Tony Chang.

Source/WebCore:

Due to floating point imprecision, it is difficult to be precise in dpcm.
So use PrimitiveValue::roundForImpreciseConversion rather than just floor.

No new tests; extended fast/css/image-resolution/image-resolution.html

  • css/CSSParser.cpp: Accept snap identifier in image-resolution property.

(WebCore::CSSParser::parseImageResolution): Map CSSValueSnap to identifier value from cssValuePool.

  • css/CSSValueKeywords.in: Add snap.
  • css/StyleBuilder.cpp: Extend ApplyPropertyImageResolution to apply RenderStyle::imageResolutionSnap.

(WebCore::ApplyPropertyImageResolution::applyInheritValue): Apply RenderStyle::imageResolutionSnap.
(WebCore::ApplyPropertyImageResolution::applyInitialValue): Apply RenderStyle::imageResolutionSnap.
(WebCore::ApplyPropertyImageResolution::applyValue): Map CSSValueSnap to ImageResolutionSnapPixels.

  • rendering/RenderImage.cpp: Extend conditions for recalculation of intrinsic size.

(WebCore::RenderImage::styleDidChange): Update intrinsic size if RenderStyle::imageResolutionSnap() has changed.
(WebCore::RenderImage::imageDimensionsChanged): Floor scale factor to int, round up if less than 0.01 away from ceiling.

  • rendering/style/RenderStyle.cpp: Include StyleRareInheritedData::m_imageResolutionSnap in style diff.

(WebCore::RenderStyle::diff): Map change in StyleRareInheritedData::m_imageResolutionSnap to StyleDifferenceLayout.

  • rendering/style/RenderStyle.h: Add RenderStyle::imageResolutionSnap, RenderStyle::setImageResolutionSnap, RenderStyle::initialImageResolutionSnap.
  • rendering/style/RenderStyleConstants.h: Add enum ImageResolutionSnap.
  • rendering/style/StyleRareInheritedData.cpp: Add StyleRareInheritedData::m_imageResolutionSnap.

(WebCore::StyleRareInheritedData::StyleRareInheritedData): Add m_imageResolutionSnap to default and copy constructor.
(WebCore::StyleRareInheritedData::operator==): Include m_imageResolutionSnap in comparison.

  • rendering/style/StyleRareInheritedData.h: Add StyleRareInheritedData::m_imageResolutionSnap.

(StyleRareInheritedData): Add 1-bit field StyleRareInheritedData::m_imageResolutionSnap.

LayoutTests:

  • fast/css/image-resolution/image-resolution-expected.txt:
  • fast/css/image-resolution/image-resolution.html:
17:41 Changeset [121126] by commit-queue@webkit.org
  • 13 edits in trunk/Source/WebCore

Unreviewed, rolling out r121106.
http://trac.webkit.org/changeset/121106
https://bugs.webkit.org/show_bug.cgi?id=89841

Caused 85% performance regressions on Dromaeo/jslib-modify-
jquery.html (Requested by rniwa on #webkit).

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

  • dom/Document.cpp:

(WebCore::Document::clearNodeListCaches):

  • dom/Document.h:

(Document):

  • dom/DynamicNodeList.cpp:

(WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList):

  • dom/DynamicNodeList.h:

(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):

  • dom/Node.cpp:

(WebCore::Node::clearRareData):
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
(WebCore::Node::radioNodeList):
(WebCore::NodeListsNodeData::invalidateCaches):
(WebCore):
(WebCore::NodeRareData::createNodeLists):

  • dom/NodeRareData.h:

(NodeListsNodeData):
(WebCore::NodeListsNodeData::adoptTreeScope):
(WebCore::NodeRareData::ensureNodeLists):
(NodeRareData):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):

  • dom/TreeScope.h:

(WebCore::TreeScope::addNodeListCache):
(WebCore::TreeScope::removeNodeListCache):
(WebCore::TreeScope::hasNodeListCaches):
(TreeScope):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):

  • html/LabelableElement.cpp:

(WebCore::LabelableElement::labels):

  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::LabelsNodeList):
(WebCore::LabelsNodeList::~LabelsNodeList):

  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::RadioNodeList):
(WebCore::RadioNodeList::~RadioNodeList):

17:29 Changeset [121125] by abarth@webkit.org
  • 6 edits in trunk/Source/WebCore

Change the type of the second argument of FrameSelection::revealSelection to use RevealExtentOption
https://bugs.webkit.org/show_bug.cgi?id=89833

Reviewed by Ryosuke Niwa.

As requested by Ryosuke Niwa. Rare boolean parameters are hard to read.

  • WebCore.exp.in:
  • editing/Editor.cpp:

(WebCore::Editor::revealSelectionAfterEditingOperation):

  • editing/Editor.h:

(Editor):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::setSelection):
(WebCore::FrameSelection::revealSelection):

  • editing/FrameSelection.h:
17:14 Changeset [121124] by antti@apple.com
  • 5 edits in trunk/Source/WebCore

Optimize RenderGeometryMap mappings gathering
https://bugs.webkit.org/show_bug.cgi?id=89828

Reviewed by Simon Fraser.

RenderGeometryMap currently gathers mappings by climbing the rendering tree. This is slow and can produce
large number of mapping steps. In the common case we already have the child layer coordinates available in
the layer tree and we can just use that.

The combination of faster mappings gathering and fewer number of applying steps reduces time spent under
RenderLayerCompositor::computeCompositingRequirements to less than half when scrolling the mobile version
of twitter.com.

  • rendering/RenderGeometryMap.cpp:

(WebCore):
(WebCore::RenderGeometryMap::pushMappingsToAncestor):

Use pre-computed mapping from the layer tree when possible.

(WebCore::RenderGeometryMap::popMappingsToAncestor):

  • rendering/RenderGeometryMap.h:


Add some inline capacity.

(WebCore):
(RenderGeometryMap):

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::canUseConvertToLayerCoords):
(RenderLayer):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

17:11 Changeset [121123] by simon.fraser@apple.com
  • 39 edits in trunk/Source

Rename isPositioned to isOutOfFlowPositioned for clarity
https://bugs.webkit.org/show_bug.cgi?id=89836

Reviewed by Antti Koivisto.

RenderObject and RenderStyle had an isPositioned() method that was
confusing, because it excluded relative positioning. Rename to
isOutOfFlowPositioned(), which makes it clearer that it only applies
to absolute and fixed positioning.

Simple rename; no behavior change.

Source/WebCore:

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::getPositionOffsetValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • dom/Text.cpp:

(WebCore::Text::rendererIsNeeded):

  • editing/DeleteButtonController.cpp:

(WebCore::isDeletableElement):

  • editing/TextIterator.cpp:

(WebCore::shouldEmitNewlinesBeforeAndAfterNode):

  • rendering/AutoTableLayout.cpp:

(WebCore::shouldScaleColumns):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::addToLine):
(WebCore::InlineFlowBox::placeBoxesInInlineDirection):
(WebCore::InlineFlowBox::requiresIdeographicBaseline):
(WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
(WebCore::InlineFlowBox::computeLogicalBoxHeights):
(WebCore::InlineFlowBox::placeBoxesInBlockDirection):
(WebCore::InlineFlowBox::flipLinesInBlockDirection):
(WebCore::InlineFlowBox::computeOverflow):
(WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
(WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):

  • rendering/InlineIterator.h:

(WebCore::isIteratorTarget):

  • rendering/LayoutState.cpp:

(WebCore::LayoutState::LayoutState):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::MarginInfo::MarginInfo):
(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::styleDidChange):
(WebCore::RenderBlock::addChildToContinuation):
(WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
(WebCore::RenderBlock::containingColumnsBlock):
(WebCore::RenderBlock::columnsBlockForSpanningElement):
(WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
(WebCore::getInlineRun):
(WebCore::RenderBlock::isSelfCollapsingBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::addOverflowFromBlockChildren):
(WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
(WebCore::RenderBlock::handlePositionedChild):
(WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):
(WebCore::RenderBlock::collapseMargins):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::simplifiedNormalFlowLayout):
(WebCore::RenderBlock::isSelectionRoot):
(WebCore::RenderBlock::blockSelectionGaps):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
(WebCore::isChildHitTestCandidate):
(WebCore::InlineMinMaxIterator::next):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
(WebCore::RenderBlock::firstLineBoxBaseline):
(WebCore::RenderBlock::lastLineBoxBaseline):
(WebCore::RenderBlock::updateFirstLetter):
(WebCore::shouldCheckLines):
(WebCore::getHeightForLineCount):
(WebCore::RenderBlock::adjustForBorderFit):
(WebCore::inNormalFlow):
(WebCore::RenderBlock::adjustLinePositionForPagination):
(WebCore::RenderBlock::adjustBlockChildForPagination):
(WebCore::RenderBlock::renderName):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::shouldSkipCreatingRunsForObject):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::setMarginsForRubyRun):
(WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
(WebCore::RenderBlock::computeBlockDirectionPositionsForLine):
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::requiresLineBox):
(WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
(WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
(WebCore::RenderBox::styleWillChange):
(WebCore::RenderBox::styleDidChange):
(WebCore::RenderBox::updateBoxModelInfoFromStyle):
(WebCore::RenderBox::offsetFromContainer):
(WebCore::RenderBox::positionLineBox):
(WebCore::RenderBox::computeRectForRepaint):
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::renderBoxRegionInfo):
(WebCore::RenderBox::computeLogicalHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
(WebCore::RenderBox::computeReplacedLogicalWidthUsing):
(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
(WebCore::percentageLogicalHeightIsResolvable):

  • rendering/RenderBox.h:

(WebCore::RenderBox::stretchesToViewport):
(WebCore::RenderBox::isDeprecatedFlexItem):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
(WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):

  • rendering/RenderBoxModelObject.h:

(WebCore::RenderBoxModelObject::requiresLayer):

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::childDoesNotAffectWidthOrFlexing):
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
(WebCore::RenderDeprecatedFlexibleBox::renderName):

  • rendering/RenderFieldset.cpp:

(WebCore::RenderFieldset::findLegend):

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
(WebCore::RenderFlexibleBox::autoMarginOffsetInMainAxis):
(WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild):
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
(WebCore::RenderFlexibleBox::computeNextFlexLine):
(WebCore::RenderFlexibleBox::resolveFlexibleLengths):
(WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
(WebCore::RenderFlexibleBox::layoutColumnReverse):
(WebCore::RenderFlexibleBox::adjustAlignmentForChild):
(WebCore::RenderFlexibleBox::flipForRightToLeftColumn):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::renderName):

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::computeIntrinsicRatioInformation):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::addChildIgnoringContinuation):
(WebCore::RenderInline::addChildToContinuation):
(WebCore::RenderInline::generateCulledLineBoxRects):
(WebCore):
(WebCore::RenderInline::culledInlineFirstLineBox):
(WebCore::RenderInline::culledInlineLastLineBox):
(WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
(WebCore::RenderInline::computeRectForRepaint):
(WebCore::RenderInline::dirtyLineBoxes):

  • rendering/RenderLayer.cpp:

(WebCore::checkContainingBlockChainForPagination):
(WebCore::RenderLayer::updateLayerPosition):
(WebCore::isPositionedContainer):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::shouldBeNormalFlowOnly):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForPosition):

  • rendering/RenderLineBoxList.cpp:

(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

  • rendering/RenderListItem.cpp:

(WebCore::getParentOfFirstLineBox):

  • rendering/RenderMultiColumnBlock.cpp:

(WebCore::RenderMultiColumnBlock::renderName):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::markContainingBlocksForLayout):
(WebCore::RenderObject::setPreferredLogicalWidthsDirty):
(WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::offsetParent):

  • rendering/RenderObject.h:

(WebCore::RenderObject::isOutOfFlowPositioned):
(WebCore::RenderObject::isInFlowPositioned):
(WebCore::RenderObject::hasClip):
(WebCore::RenderObject::isFloatingOrOutOfFlowPositioned):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::removeChildNode):

  • rendering/RenderReplaced.cpp:

(WebCore::hasAutoHeightOrContainingBlockWithAutoHeight):

  • rendering/RenderRubyRun.cpp:

(WebCore::RenderRubyRun::rubyText):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::addChild):
(WebCore::RenderTable::computeLogicalWidth):
(WebCore::RenderTable::layout):

  • rendering/style/RenderStyle.h:

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::isPositionedContainer):
(BlackBerry::WebKit::isNonRenderViewFixedPositionedContainer):
(BlackBerry::WebKit::isFixedPositionedContainer):

Source/WebKit2:

  • WebProcess/WebPage/qt/LayerTreeHostQt.cpp:

(WebKit::updateOffsetFromViewportForSelf):

16:07 Changeset [121122] by mitz@apple.com
  • 5 edits in trunk/Tools

Made debug-{minibrowser,safari,test-runner} work with LLDB.

Reviewed by Sam Weinig.

  • Scripts/debug-minibrowser: Pass INCLUDE_OPTIONS_FOR_DEBUGGING to

printHelpAndExitForRunAndDebugWebKitAppIfNeeded().

  • Scripts/debug-safari: Ditto.
  • Scripts/debug-test-runner: Ditto.
  • Scripts/webkitdirs.pm:

(debugger): Added. Calls determineDebugger() if needed and returns the chosen debugger.
(determineDebugger): Added. Sets the debugger to "lldb" if the --use-lldb switch is present,
and to "gdb" otherwise.
(printHelpAndExitForRunAndDebugWebKitAppIfNeeded): Changed to print help for the
--target-web-process and --use-lldb switches if passed INCLUDE_OPTIONS_FOR_DEBUGGING.
(execMacWebKitAppForDebugging): Changed to use the chosen debugger.

14:44 Changeset [121121] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

After Editor::setComposition is called, input should scroll to the end of the composition.
https://bugs.webkit.org/show_bug.cgi?id=88999

Patch by Oli Lan <olilan@chromium.org> on 2012-06-24
Reviewed by Ryosuke Niwa.

Source/WebCore:

This fixes an issue where after a call to setComposition, the start of the composition is revealed
(scrolled to) instead of the end (where the caret/editing point should be).

The change is to allow revealSelectionAfterEditingOperation to take a revealExtent parameter,
and to pass that parameter as true when calling from setIgnoreCompositionSelectionChange, which is
called at the end of setComposition.

Test: fast/forms/input-set-composition-scroll.html

  • editing/Editor.cpp:

(WebCore::Editor::revealSelectionAfterEditingOperation):
(WebCore::Editor::setIgnoreCompositionSelectionChange):

  • editing/Editor.h:

(Editor):

LayoutTests:

This tests that after setComposition is called, the input scrolls to the end of the composition
(i.e. that the end of the selection/composition is revealed).

  • fast/forms/input-set-composition-scroll-expected.txt: Added.
  • fast/forms/input-set-composition-scroll.html: Added.
11:44 Changeset [121120] by abarth@webkit.org
  • 2 edits in trunk/LayoutTests

The comment in test_expectations_android.txt is unclear as to the purpose of this file.
https://bugs.webkit.org/show_bug.cgi?id=89832

Reviewed by Ojan Vafai.

This patch attempts to clarify the purpose of this file and what will
happen to it in the future.

  • platform/chromium/test_expectations_android.txt:
10:25 Changeset [121119] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Skip fast/text/hyphen-min-preferred-width.html
https://bugs.webkit.org/show_bug.cgi?id=89831

Unreviewed EFL gardening. Skip the auto-hyphenation added
in r121102 as the EFL port does not support the feature.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-24

  • platform/efl/TestExpectations:
09:29 Changeset [121118] by abarth@webkit.org
  • 2 edits in trunk/Tools

[Chromium] Release media resources after each LayoutTest on Android
https://bugs.webkit.org/show_bug.cgi?id=89720

Reviewed by Eric Carlson.

The LayoutTests can hang when run on Android because we sometimes run
out of media resources. This patch causes us to release our media
resources after each test in order to avoid running out of this
resource. In production, there are other mechanisms that manage this
resource.

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::resetTestController):

08:26 WebKitGTK/WebKit2Roadmap edited by carlosgc@webkit.org
(diff)
08:06 Changeset [121117] by jsbell@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Simplify InspectorIndexedDBAgent to use IDB metadata API
https://bugs.webkit.org/show_bug.cgi?id=89495

Reviewed by Vsevolod Vlasov.

No new tests - no functional changes.

  • inspector/InspectorIndexedDBAgent.cpp:

(WebCore):

08:02 Changeset [121116] by joone@webkit.org
  • 1 edit
    8 adds in trunk/LayoutTests

Unreviewed EFL gardening, generating baselines required after r121085.

  • platform/efl/fast/css/text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/efl/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/efl/fast/css/text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/efl/fast/css/text-overflow-ellipsis-text-align-right-expected.txt: Added.
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt: Added.
04:30 Changeset [121115] by zandobersek@gmail.com
  • 1 edit
    8 adds in trunk/LayoutTests

Unreviewed GTK gardening, generating baselines required after r121085.

  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/gtk/fast/css/text-overflow-ellipsis-text-align-right-expected.txt: Added.
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/gtk/fast/css/vertical-text-overflow-ellipsis-text-align-right-expected.txt: Added.
04:26 Changeset [121114] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening, move some flaky tests under the
proper section in the TestExpectations file and narrow down
test expectations for failures that were shown not to be flaky.

  • platform/gtk/TestExpectations:
01:15 Changeset [121113] by kling@webkit.org
  • 5 edits in trunk/Source/WebKit2

REGRESSION(r120329): Intermittent WebProcess shutdowns due to out-of-line DidReceiveEvent messages.
<rdar://problem/11686974>
<http://webkit.org/b/89659>

Reviewed by Sam Weinig.

Instead of sending DidReceiveEvent for key events as DispatchMessageEvenWhenWaitingForSyncReply,
use proper synchronous messages. This makes the WebProcess block while the UIProcess handles
the event but prevents a weird race condition where DidReceiveEvent gets dispatched just before
a synchronous DecidePolicyForNavigationAction and something happens below DidReceiveEvent that
invalidates the frame ID passed to DecidePolicyForNavigationAction.

This is a speculative fire-fighting fix.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveKeyEvent):
(WebKit::WebPageProxy::didReceiveEvent):

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::keyEvent):

00:27 Changeset [121112] by pfeldman@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: speed up Timeline and Elements panel rendering
https://bugs.webkit.org/show_bug.cgi?id=89771

Reviewed by Yury Semikhatsky.

I used timeline panel to find unnecessary style operations.

  • inspector/front-end/ElementsTreeOutline.js:

(WebInspector.ElementsTreeElement.prototype.updateTitle):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._updateEventDividers):
(WebInspector.TimelinePanel.prototype._updateFrames):
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelinePanel.prototype.onResize):
(WebInspector.TimelinePanel.prototype._onScroll):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelinePanel.prototype._adjustScrollPosition):

06/23/12:

23:49 Changeset [121111] by vangelis@chromium.org
  • 4 edits in branches/chromium/1132/Source/WebCore

Revert 121000 - [chromium] LayerRendererChromium is not getting visibility messages in single threaded compositing mode.

This is an emergency fix for the 1132 chromium branch. A more correct fix is in bug 89045.

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

Reviewed by James Robinson.

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

(WebCore::CCLayerTreeHost::compositeAndReadback):
(WebCore::CCLayerTreeHost::setVisible):

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

(WebCore::CCLayerTreeHostImpl::commitComplete):

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

(WebCore::CCSingleThreadProxy::setNeedsForcedCommit):

TBR=vangelis@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10658010

22:51 Changeset [121110] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening, skip the auto-hyphenation test
added in r121102 as the GTK port does not support the feature.

  • platform/gtk/TestExpectations:
22:32 Changeset [121109] by zandobersek@gmail.com
  • 4 edits in trunk

[Gtk] REGRESSION(r120918): Causes flaky DND tests
https://bugs.webkit.org/show_bug.cgi?id=89770

Reviewed by Martin Robinson.

Tools:

Connect to the run-file-chooser signal of the WebKitWebView and
return TRUE so no file chooser dialog is run. This prevents certain
test failures.

  • DumpRenderTree/gtk/DumpRenderTree.cpp:

(webViewRunFileChooser):
(createWebView):

LayoutTests:

Remove test expectations for fast/events/domactivate-sets-underlying-click-event-as-handled.html
as the test now passes since the file chooser dialog is no longer run.

  • platform/gtk/TestExpectations:
22:29 Changeset [121108] by kseo@webkit.org
  • 5 edits in trunk/Source/WebKit/chromium

[chromium] Return has value, in function returning void
https://bugs.webkit.org/show_bug.cgi?id=89822

Reviewed by Adam Barth.

A followup for r121091.

  • src/WebHistoryItem.cpp:

(WebKit::WebHistoryItem::setPageScaleFactor):

  • src/WebImageLayer.cpp:

(WebKit::WebImageLayer::setBitmap):

  • src/WebLayer.cpp:

(WebKit::WebLayer::setMaskLayer):

  • src/WebOptionElement.cpp:

(WebKit::WebOptionElement::setValue):
(WebKit::WebOptionElement::setDefaultSelected):

20:47 Changeset [121107] by kbr@google.com
  • 2 edits in trunk/LayoutTests

[chromium] Layout Test fast/text/hyphen-min-preferred-width.html is failing
https://bugs.webkit.org/show_bug.cgi?id=89820

Unreviewed gardening; marked test as known failure.

  • platform/chromium/TestExpectations:
20:13 Changeset [121106] by rniwa@webkit.org
  • 13 edits in trunk/Source/WebCore

Inserting nodes is slow due to Node::notifyNodeListsAttributeChanged (20%+)
https://bugs.webkit.org/show_bug.cgi?id=73853

Reviewed by Anders Carlsson and Ojan Vafai.

Invalidate all node lists at document level to avoid having to walk up the DOM tree in the invalidation.
In particular, this makes appending node O(1) with respect to the depth of the tree in common cases when
we have node lists somewhere in the tree scope.

We now invalidate more node lists than we used to but it shouldn't matter much in practice because
most websites don't add or remove nodes or modify relevant attributes while iterating through node lists.
The change would also register each node list to document thereby consuming one extra pointer, however,
this should not have a significant memory impact given we used to do it unintentionally until I fixed it in
r110797 three months ago.

Also, RadioNodeList and LabelsNodeList had always been invalidated at document level so this refactoring
also allows us to move calls to registerDynamicSubtreeNodeList and unregisterDynamicSubtreeNodeList in
those node lists to DynamicSubtreeNodeList, and even delete NodeListsNodeData::invalidateCaches().

In addition, removed m_numNodeListCaches from TreeScope since it was only used to avoid walking up
the ancestors in invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged
but we don't walk up the ancestors any more. Also note that m_listsInvalidatedAtDocument tells us exactly
how many node lists are present for each document.

  • dom/Document.cpp:

(WebCore::Document::clearNodeListCaches): Optionally takes a qualified attribute name so that we don't
have to invalidate tag node lists when only attributes are modified.

  • dom/Document.h:

(Document):

  • dom/DynamicNodeList.cpp:

(WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Calls unregisterDynamicSubtreeNodeList.

  • dom/DynamicNodeList.h:

(WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Calls registerDynamicSubtreeNodeList.

  • dom/Node.cpp:

(WebCore::Node::clearRareData):
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): No longer walks up the tree to invalidate
node list caches. All invalidations are done in Document::clearNodeListCaches.
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): Ditto.
(WebCore::Node::getElementsByTagName):
(WebCore::Node::getElementsByTagNameNS):
(WebCore::Node::getElementsByName):
(WebCore::Node::getElementsByClassName):
(WebCore::Node::radioNodeList):
(WebCore):
(WebCore::NodeRareData::createNodeLists):

  • dom/NodeRareData.h:

(NodeListsNodeData):
(WebCore::NodeListsNodeData::adoptTreeScope): Invalidate node list caches while registering and
unregistering node lists from old and new documents respectively now that invalidateCaches() has been
(WebCore::NodeRareData::ensureNodeLists):
(NodeRareData):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):

  • dom/TreeScope.h:

(TreeScope):

  • dom/TreeScopeAdopter.cpp:

(WebCore::TreeScopeAdopter::moveTreeToNewScope):

  • html/LabelableElement.cpp:

(WebCore::LabelableElement::labels):

  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::LabelsNodeList):
(WebCore::LabelsNodeList::~LabelsNodeList):

  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::RadioNodeList):
(WebCore::RadioNodeList::~RadioNodeList):

16:00 Changeset [121105] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Clang and cl.exe build fix after r121103. Don't inherit from WTF::PairHash<unsigned char, StringType>.

  • dom/NodeRareData.h:
14:34 Changeset [121104] by mitz@apple.com
  • 2 edits in trunk/Tools

debug-{minibrowser,safari,test-runner} fail when gdb is not installed in /usr/bin.

Reviewed by Sam Weinig.

  • Scripts/webkitdirs.pm:

(execMacWebKitAppForDebugging): Use xcrun to locate gdb.

14:30 Changeset [121103] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r120979): getElementsByTagName is 12% slower
https://bugs.webkit.org/show_bug.cgi?id=89783

Reviewed by Darin Adler.

The problem is that hashing std::pair<unsigned short, AtomicString> is very slow compared to just hashing AtomicString,
which internally holds a hash already. Fixed the regression by replacing the default hash function by the one that
computes AtomicString's hash + list type. This is okay because we only have 7 node list types at the moment.

  • dom/NodeRareData.h:

(NodeListsNodeData):
(WebCore::NodeListsNodeData::NodeListCacheMapEntryHash::hash):
(NodeListCacheMapEntryHash):
(WebCore::NodeListsNodeData::NodeListCacheMapEntryHash::equal):
(WebCore::NodeListsNodeData::namedNodeListKey):

14:23 Changeset [121102] by mitz@apple.com
  • 3 edits
    2 adds in trunk

RenderText’s minimum preferred width is incorrect automatic hyphenation is used
https://bugs.webkit.org/show_bug.cgi?id=89814

Reviewed by Sam Weinig.

Source/WebCore:

Test: fast/text/hyphen-min-preferred-width.html

  • rendering/RenderText.cpp:

(WebCore::maxWordFragmentWidth): Added this helper function. It returns the width of the
widest hyphenated fragment of the word (except for the suffix after the last hyphen) and
the offset of the last hyphenation opportunity.
(WebCore::RenderText::computePreferredLogicalWidths): Changed this function to consider the
widths of hyphenated word fragments rather than entire words when computing the minimum
width. Because hyphenating and measuring all fragments is expensive, hyphenation is only
attempted if the unhyphenated word is wider than the current minimum width.

LayoutTests:

  • fast/text/hyphen-min-preferred-width-expected.html: Added.
  • fast/text/hyphen-min-preferred-width.html: Added.
12:28 Changeset [121101] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium gardening. Marked tests flaky per bugs 89812
and 89813.

  • platform/chromium/TestExpectations:
08:36 Changeset [121100] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening, adding test expectations for two
flaky media tests.

  • platform/gtk/TestExpectations:
06:43 Changeset [121099] by carlosgc@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Skip GTK+ unit test /webkit2/WebKitFindController/hide.

It fails always when running it in Xvfb.

  • gtk/run-api-tests:

(TestRunner):

06:41 Changeset [121098] by zandobersek@gmail.com
  • 121 edits in trunk/Source

Unreviewed, rolling out r121058.
http://trac.webkit.org/changeset/121058
https://bugs.webkit.org/show_bug.cgi?id=89809

Patch causes plugins tests to crash in GTK debug builds
(Requested by zdobersek on #webkit).

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

Source/JavaScriptCore:

  • API/APIShims.h:

(JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock):
(JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock):
(APIEntryShimWithoutLock):
(JSC::APIEntryShim::APIEntryShim):
(APIEntryShim):
(JSC::APICallbackShim::~APICallbackShim):

  • API/JSContextRef.cpp:

(JSGlobalContextCreate):
(JSGlobalContextCreateInGroup):
(JSGlobalContextRelease):
(JSContextCreateBacktrace):

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::tryAllocateSlowCase):

  • heap/Heap.cpp:

(JSC::Heap::protect):
(JSC::Heap::unprotect):
(JSC::Heap::collect):
(JSC::Heap::setActivityCallback):
(JSC::Heap::activityCallback):
(JSC::Heap::sweeper):

  • heap/Heap.h:

(Heap):

  • heap/HeapTimer.cpp:

(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::invalidate):
(JSC::HeapTimer::timerDidFire):
(JSC):

  • heap/HeapTimer.h:

(HeapTimer):

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doWork):
(JSC::IncrementalSweeper::create):

  • heap/IncrementalSweeper.h:

(IncrementalSweeper):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateSlowCase):

  • heap/WeakBlock.cpp:

(JSC::WeakBlock::reap):

  • jsc.cpp:

(functionGC):
(functionReleaseExecutableMemory):
(jscmain):

  • runtime/Completion.cpp:

(JSC::checkSyntax):
(JSC::evaluate):

  • runtime/GCActivityCallback.h:

(DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::create):

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::~JSGlobalData):
(JSC::JSGlobalData::sharedInstance):
(JSC::JSGlobalData::sharedInstanceInternal):

  • runtime/JSGlobalData.h:

(JSGlobalData):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::init):

  • runtime/JSLock.cpp:

(JSC):
(JSC::createJSLockCount):
(JSC::JSLock::lockCount):
(JSC::setLockCount):
(JSC::JSLock::JSLock):
(JSC::JSLock::lock):
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:

(JSC):
(JSLock):
(JSC::JSLock::JSLock):
(JSC::JSLock::~JSLock):
(DropAllLocks):

  • runtime/WeakGCMap.h:

(JSC::WeakGCMap::set):

  • testRegExp.cpp:

(realMain):

Source/WebCore:

  • bindings/js/GCController.cpp:

(WebCore::collect):
(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectNow):
(WebCore::GCController::discardAllCompiledCode):

  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:

(WebCore::JSSQLStatementErrorCallback::handleEvent):

  • bindings/js/JSCustomVoidCallback.cpp:

(WebCore::JSCustomVoidCallback::handleEvent):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::InjectedScriptHost::nodeAsScriptValue):
(WebCore::JSInjectedScriptHost::inspectedObject):

  • bindings/js/JSInjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::createInjectedScript):
(WebCore::InjectedScriptManager::canAccessInspectedWindow):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

  • bindings/js/JSMainThreadExecState.h:

(WebCore::JSMainThreadExecState::evaluate):

  • bindings/js/JSMutationCallbackCustom.cpp:

(WebCore::JSMutationCallback::handleEvent):

  • bindings/js/JSNodeFilterCondition.cpp:

(WebCore::JSNodeFilterCondition::acceptNode):

  • bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:

(WebCore::JSRequestAnimationFrameCallback::handleEvent):

  • bindings/js/JavaScriptCallFrame.cpp:

(WebCore::JavaScriptCallFrame::evaluate):

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::recompileAllJSFunctions):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
(WebCore::ScriptCachedFrameData::clear):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):
(WebCore::ScriptController::updateDocument):
(WebCore::ScriptController::cacheableBindingRootObject):
(WebCore::ScriptController::bindingRootObject):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::jsObjectForPluginElement):
(WebCore::ScriptController::clearScriptObjects):

  • bindings/js/ScriptControllerMac.mm:

(WebCore::ScriptController::windowScriptObject):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::dispatchDidPause):

  • bindings/js/ScriptEventListener.cpp:

(WebCore::eventListenerHandlerBody):
(WebCore::eventListenerHandlerLocation):

  • bindings/js/ScriptFunctionCall.cpp:

(WebCore::ScriptCallArgumentHandler::appendArgument):
(WebCore::ScriptFunctionCall::call):
(WebCore::ScriptFunctionCall::construct):
(WebCore::ScriptCallback::call):

  • bindings/js/ScriptObject.cpp:

(WebCore::ScriptGlobalObject::set):
(WebCore::ScriptGlobalObject::get):
(WebCore::ScriptGlobalObject::remove):

  • bindings/js/ScriptValue.cpp:

(WebCore::ScriptValue::getString):
(WebCore::ScriptValue::toInspectorValue):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController):
(WebCore::WorkerScriptController::initScript):
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::disableEval):

  • bindings/objc/WebScriptObject.mm:

(_didExecute):
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
(-[WebScriptObject _setOriginRootObject:andRootObject:]):
(-[WebScriptObject dealloc]):
(-[WebScriptObject finalize]):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject hasWebScriptKey:]):
(-[WebScriptObject stringRepresentation]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackImplementation):

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallback::callbackWithNoParam):
(WebCore::JSTestCallback::callbackWithClass1Param):
(WebCore::JSTestCallback::callbackWithClass2Param):
(WebCore::JSTestCallback::callbackWithStringList):
(WebCore::JSTestCallback::callbackWithBoolean):
(WebCore::JSTestCallback::callbackRequiresThisToPass):

  • bridge/NP_jsobject.cpp:

(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
(_NPN_Construct):

  • bridge/c/c_class.cpp:

(JSC::Bindings::CClass::~CClass):
(JSC::Bindings::CClass::methodsNamed):
(JSC::Bindings::CClass::fieldNamed):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::getPropertyNames):

  • bridge/c/c_runtime.cpp:

(JSC::Bindings::CField::valueFromInstance):
(JSC::Bindings::CField::setValueToInstance):

  • bridge/c/c_utility.cpp:

(JSC::Bindings::convertValueToNPVariant):
(JSC::Bindings::convertNPVariantToValue):

  • bridge/jni/jni_jsobject.mm:

(JavaJSObject::call):
(JavaJSObject::eval):
(JavaJSObject::getMember):
(JavaJSObject::setMember):
(JavaJSObject::removeMember):
(JavaJSObject::getSlot):
(JavaJSObject::setSlot):
(JavaJSObject::toString):
(JavaJSObject::convertValueToJObject):
(JavaJSObject::convertJObjectToValue):

  • bridge/jni/jni_objc.mm:

(JSC::Bindings::dispatchJNICall):

  • bridge/jni/jsc/JNIUtilityPrivate.cpp:

(JSC::Bindings::convertValueToJValue):

  • bridge/jni/jsc/JavaClassJSC.cpp:

(JavaClass::JavaClass):
(JavaClass::~JavaClass):

  • bridge/jni/jsc/JavaInstanceJSC.cpp:

(JavaInstance::stringValue):

  • bridge/jni/jsc/JavaMethodJSC.cpp:

(appendClassName):
(JavaMethod::signature):

  • bridge/jni/jsc/JavaStringJSC.h:

(JSC::Bindings::JavaString::JavaString):
(JSC::Bindings::JavaString::~JavaString):
(JSC::Bindings::JavaString::utf8):
(JSC::Bindings::JavaString::init):

  • bridge/jsc/BridgeJSC.cpp:

(JSC::Bindings::Instance::createRuntimeObject):
(JSC::Bindings::Instance::newRuntimeObject):

  • bridge/objc/objc_instance.mm:

(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeObjcMethod):
(ObjcInstance::invokeDefaultMethod):
(ObjcInstance::setValueOfUndefinedField):
(ObjcInstance::getValueOfUndefinedField):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::convertValueToObjcValue):
(JSC::Bindings::convertNSStringToString):
(JSC::Bindings::convertObjcValueToValue):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtInstance::~QtInstance):
(JSC::Bindings::QtInstance::getQtInstance):
(JSC::Bindings::QtInstance::newRuntimeObject):

  • bridge/qt/qt_pixmapruntime.cpp:

(JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):

  • bridge/qt/qt_runtime_qt4.cpp:

(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::notifyFinished):

  • plugins/PluginView.cpp:

(WebCore::PluginView::start):
(WebCore::PluginView::stop):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::npObject):
(WebCore::PluginView::privateBrowsingStateChanged):

  • plugins/blackberry/PluginViewBlackBerry.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::getWindowInfo):

  • plugins/efl/PluginViewEfl.cpp:

(WebCore::PluginView::dispatchNPEvent):

  • plugins/gtk/PluginViewGtk.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):

  • plugins/mac/PluginViewMac.mm:

(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::dispatchNPEvent):

  • plugins/qt/PluginViewQt.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):

  • plugins/win/PluginViewWin.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowRect):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::dropProtection):

Source/WebKit/blackberry:

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::clearMemoryCaches):

  • WebCoreSupport/ClientExtension.cpp:
  • WebCoreSupport/PagePopupBlackBerry.cpp:

(WebCore::PagePopupBlackBerry::installDomFunction):

  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::computedStyleIncludingVisitedInfo):

Source/WebKit/efl:

  • ewk/ewk_frame.cpp:

(ewk_frame_script_execute):

  • ewk/ewk_view.cpp:

(ewk_view_js_object_add):

Source/WebKit/gtk:

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::gcCountJavascriptObjects):

Source/WebKit/mac:

  • DOM/WebDOMOperations.mm:

(JSC):

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics memoryStatistics]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::wantsAllStreams):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView privateBrowsingModeDidChange]):
(-[WebNetscapePluginView setWindowIfNecessary]):
(-[WebNetscapePluginView createPluginScriptableObject]):
(-[WebNetscapePluginView getFormValue:]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView _printedPluginBitmap]):

  • Plugins/WebPluginController.mm:

(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController stopOnePlugin:]):
(-[WebPluginController destroyOnePlugin:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController addPlugin:]):

  • WebView/WebFrame.mm:

(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):

  • WebView/WebScriptDebugDelegate.mm:

(-[WebScriptCallFrame scopeChain]):
(-[WebScriptCallFrame evaluateWebScript:]):

  • WebView/WebView.mm:

(+[WebView _reportException:inContext:]):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
(-[WebView _computedStyleIncludingVisitedInfo:forElement:]):

Source/WebKit/qt:

  • Api/qwebframe.cpp:

(QWebFramePrivate::addQtSenderToGlobalObject):
(QWebFrame::addToJavaScriptWindowObject):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::injectInternalsObject):
(DumpRenderTreeSupportQt::resetInternalsObject):

Source/WebKit/win:

  • WebCoreStatistics.cpp:

(WebCoreStatistics::javaScriptObjectsCount):
(WebCoreStatistics::javaScriptGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectsCount):
(WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectTypeCounts):

  • WebFrame.cpp:

(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):

  • WebJavaScriptCollector.cpp:

(WebJavaScriptCollector::objectCount):

  • WebView.cpp:

(WebView::stringByEvaluatingJavaScriptFromString):
(WebView::reportException):
(WebView::elementFromJS):

Source/WebKit2:

  • Shared/mac/WebMemorySampler.mac.mm:

(WebKit::WebMemorySampler::sampleWebKit):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::javaScriptObjectsCount):
(WebKit::InjectedBundle::reportException):

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::enumerate):
(WebKit::NPJSObject::construct):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::jsWrapperForWorld):
(WebKit::WebFrame::computedStyleIncludingVisitedInfo):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::getWebCoreStatistics):

05:31 Changeset [121097] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix for GTK's WebKit2 build after r121093.

  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkitWebViewPopulateContextMenu):

05:21 Changeset [121096] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Store hit-test rect in HitTestPoint as Rect.
https://bugs.webkit.org/show_bug.cgi?id=89454

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-06-23
Reviewed by Darin Adler.

Calculate the rectangle early and store that instead of padding
to avoid recalculating the rectangle for every single element
hit tested.

No change in functionality. No new tests.

  • page/EventHandler.cpp:

(WebCore::EventHandler::bestClickableNodeForTouchPoint):
(WebCore::EventHandler::bestZoomableAreaForTouchPoint):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestPoint::HitTestPoint):
(WebCore::HitTestPoint::operator=):
(WebCore::HitTestPoint::setPoint):
(WebCore::hitTestPointIntersects):
(WebCore::HitTestPoint::intersects):
(WebCore::HitTestResult::addNodeToRectBasedTestResult):

  • rendering/HitTestResult.h:

(HitTestPoint):
(WebCore::HitTestPoint::boundingBox):
(WebCore::HitTestPoint::topPadding):
(WebCore::HitTestPoint::rightPadding):
(WebCore::HitTestPoint::bottomPadding):
(WebCore::HitTestPoint::leftPadding):
(HitTestResult):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::hitTestColumns):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::nodeAtPoint):

05:13 Changeset [121095] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK][WK2]Mis-spelt defaultWindowTitle
https://bugs.webkit.org/show_bug.cgi?id=89808

Patch by Wajahat Siddiqui <mdwajahatali.siddiqui@motorola.com> on 2012-06-23
Reviewed by Carlos Garcia Campos.

  • MiniBrowser/gtk/BrowserWindow.c:
04:29 Changeset [121094] by carlosgc@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Fix several GTK+ unit tests.

GTK+ unit tests using WebViewTest::wait() started to fail due to a
bug introduced in r121093.

  • UIProcess/API/gtk/tests/WebViewTest.cpp:

(WebViewTest::wait): Use this instead of m_mainLoop as user data
for the idle callback.

03:55 Changeset [121093] by carlosgc@webkit.org
  • 17 edits
    10 adds in trunk/Source/WebKit2

[GTK] Add ContextMenu API to WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=81011

Reviewed by Martin Robinson.

Add WebKitWebView::context-menu signal and WebKitContextMenu and
WebKitContextMenuItem objects to customize the default menu or
buils new menus.

  • GNUmakefile.list.am: Add new files to destination.
  • UIProcess/API/gtk/WebKitContextMenu.cpp: Added.

(webkitContextMenuFinalize):
(webkit_context_menu_init):
(webkit_context_menu_class_init):
(webkitContextMenuPopulate): Populate the given vector of
ContextMenuItems with the WebKitContextMenu items releasing the
items added to the vector.
(webkitContextMenuCreate): Create a new WebKitContextMenu for the
given WKArrayRef of WKContextMenuItemRef.
(webkitContextMenuSetParentItem): Set the parent menu item of the
menu. Used when a menu is added as a submenu of a menu item.
(webkitContextMenuGetParentItem): Return the parent menu item of
the menu.
(webkit_context_menu_new): Create a new WebKitContextMenu.
(webkit_context_menu_new_with_items): Create a new
WebKitContextMenu using the given list of WebKitContextMenuItem.
(webkit_context_menu_prepend): Add item at the beginning.
(webkit_context_menu_append): Add item at the end.
(webkit_context_menu_insert): Insert item at a random position.
(webkit_context_menu_move_item): Move an existing item to a new
position.
(webkit_context_menu_get_items): Get the list of items.
(webkit_context_menu_get_n_items): Get the number of items.
(webkit_context_menu_first): Get the first item.
(webkit_context_menu_last): Get the last item.
(webkit_context_menu_get_item_at_position): Get the item at the
given position.
(webkit_context_menu_remove): Remove the given item.
(webkit_context_menu_remove_all): Remove all items.

  • UIProcess/API/gtk/WebKitContextMenu.h: Added.
  • UIProcess/API/gtk/WebKitContextMenuActions.cpp: Added.

(webkitContextMenuActionIsCheckable): Check if the given stock
action is a toggle action.
(webkitContextMenuActionGetActionTag): Get the WebCore
ContextMenuAction corresponding to the given stock action.
(webkitContextMenuActionGetForContextMenuItem): Get the stock
action corresponding to the given WebCore ContextMenuAction.
(webkitContextMenuActionGetLabel): Get the label string of the
given stock action.

  • UIProcess/API/gtk/WebKitContextMenuActions.h: Added.
  • UIProcess/API/gtk/WebKitContextMenuActionsPrivate.h: Added.
  • UIProcess/API/gtk/WebKitContextMenuItem.cpp: Added.

(webkitContextMenuItemFinalize):
(webkit_context_menu_item_init):
(webkit_context_menu_item_class_init):
(checkAndWarnIfMenuHasParentItem): Check whether the given menu
is already inside another menu showing a warning in such case.
(webkitContextMenuItemSetSubMenu): Set the submenu of a menu item,
checking that the menu is not part of another menu and setting the
item as the parent of the submenu.
(webkitContextMenuItemCreate): Create a new WebKitContextMenuItem
for the given WKContextMenuItemRef.
(webkitContextMenuItemCreateForGtkItem): Create a new
WebKitContextMenuItem using the given GtkMenuItem.
(webkitContextMenuItemSetSubMenuFromGtkMenu): Set the given
GtkMenu as submenu of the item. This is used only to add Input
Methods submenu that is created by GTK.
(webkitContextMenuItemRelease): Release the WebCore
ContextMenuItem associated to the item.
(webkit_context_menu_item_new): Create a new WebKitContextMenuItem
for the given GtkAction.
(webkit_context_menu_item_new_from_stock_action): Create a new
WebKitContextMenuItem for a stock action.
(webkit_context_menu_item_new_from_stock_action_with_label):
Create a new WebKitContextMenuItem for a stock action using a
custom label.
(webkit_context_menu_item_new_with_submenu): Create a new
WebKitContextMenuItem with a submenu.
(webkit_context_menu_item_new_separator): Create a new separator
menu item.
(webkit_context_menu_item_get_action): Get the GtkAction of the item.
(webkit_context_menu_item_get_stock_action): Get the stock action
of the item.
(webkit_context_menu_item_is_separator): Whether item is a separator.
(webkit_context_menu_item_set_submenu): Set or replace the
submenu of the item.
(webkit_context_menu_item_get_submenu): Get the submenu of the item.

  • UIProcess/API/gtk/WebKitContextMenuItem.h: Added.
  • UIProcess/API/gtk/WebKitContextMenuItemPrivate.h: Added.
  • UIProcess/API/gtk/WebKitContextMenuPrivate.h: Added.
  • UIProcess/API/gtk/WebKitDefines.h:
  • UIProcess/API/gtk/WebKitWebView.cpp:

(webkit_web_view_class_init): Add WebKitWebView::context-menu signal.
(getUnicodeMenuItemPosition): Helper function that returns the
position of the unicode menu item in the proposed context menu.
(webkitWebViewCreateAndAppendInputMethodsMenuItem): Use
WebKitContextMenu API to add the input methods submenu to the
default context menu.
(webkitWebViewPopulateContextMenu): Create a WebKitContextMenu for
the default context menu and emit WebKitWebView::context-menu
signal. Then populate the context menu proxy with the resulting
WebKitContextMenu.

  • UIProcess/API/gtk/WebKitWebView.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseButtonPressEvent): In case of right click save
the event to be used by context menu signal.
(webkitWebViewBaseTakeContextMenuEvent): Return and release the
saved button event.

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/API/gtk/docs/webkit2gtk-docs.sgml: Add sections for

WebKitContextMenu and WebKitContextMenuItem.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbols.
  • UIProcess/API/gtk/docs/webkit2gtk.types: Add

webkit_context_menu_get_type and webkit_context_menu_item_get_type.

  • UIProcess/API/gtk/tests/GNUmakefile.am: Add new test for context menu.
  • UIProcess/API/gtk/tests/TestContextMenu.cpp: Added.

(testContextMenuDefaultMenu):
(testContextMenuPopulateMenu):
(testContextMenuCustomMenu):
(testContextMenuDisableMenu):
(testContextMenuSubMenu):
(beforeAll):
(afterAll):

  • UIProcess/API/gtk/tests/TestMain.h:

(Test::addLogFatalFlag): Add a log level flag to the mask of flags
causing the program to abort.
(Test::removeLogFatalFlag): Remove a log level flag to the mask of
flags causing the program to abort.

  • UIProcess/API/gtk/tests/WebViewTest.cpp:

(WebViewTest::quitMainLoop): Finish the main loop.
(WebViewTest::quitMainLoopAfterProcessingPendingEvents): Finish
the main loop when all pending events have been processed.
(quitMainLoopIdleCallback):
(WebViewTest::wait):

  • UIProcess/API/gtk/tests/WebViewTest.h:
  • UIProcess/API/gtk/webkit2.h: Include WebKitContextMenu.h,

WebKitContextMenuItem.h and WebKitContextMenuActions.h.

  • UIProcess/API/gtk/webkit2marshal.list:
  • UIProcess/gtk/WebContextMenuProxyGtk.cpp:

(WebKit::WebContextMenuProxyGtk::showContextMenu): Attach the
popup menu to the view widget before showing it.

03:50 Changeset [121092] by ukai@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Fix chromium test expectations

  • platform/chromium/TestExpectations:
02:50 Changeset [121091] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Return has value, in function returning void
https://bugs.webkit.org/show_bug.cgi?id=89805

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-06-23
Reviewed by Adam Barth.

Make WebFrameImpl::replaceSelection not return a value because it is a function returning void.

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::replaceSelection):

01:26 Changeset [121090] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening after 121063, adding IMAGE test expectation
for tests in fast/css-grid-layout now that some reftests are working
properly and causing failures for platforms that don't support the
feature yet.

  • platform/gtk/TestExpectations:
00:49 Changeset [121089] by sergio@webkit.org
  • 3 edits in trunk/Tools

[GTK] Add a new webkit2 tests slave bot
https://bugs.webkit.org/show_bug.cgi?id=89336

Reviewed by Csaba Osztrogonác.

Slave configuration for a new GTK 64 bit release bot that will run
WebKit2 tests.

Also BuildAndTest now accepts the "triggers" parametter,
this means that apart from building and testing it can trigger
some other build/test sequences in other slaves.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(BuildAndTestFactory.init):

00:18 Changeset [121088] by kseo@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Update my email.

  • Scripts/webkitpy/common/config/committers.py:

06/22/12:

22:55 Changeset [121087] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
19:32 Changeset [121086] by abarth@webkit.org
  • 4 edits
    2 adds in trunk/Tools

[Chromium] DumpRenderTree on Android needs to configure fonts for testing
https://bugs.webkit.org/show_bug.cgi?id=89721

Reviewed by Nate Chapin.

This patch teaches DumpRenderTree to configure Skia to use the fallback
fonts that the LayoutTests assume. This patch reduces the number result
differences between chromium-android and chromium-linux.

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
  • DumpRenderTree/chromium/TestShellAndroid.cpp:

(platformInit):

  • DumpRenderTree/chromium/android_fallback_fonts.xml: Added.
  • DumpRenderTree/chromium/android_main_fonts.xml: Added.
  • Scripts/webkitpy/layout_tests/port/chromium_android.py:
19:02 Changeset [121085] by benjamin@webkit.org
  • 13 edits
    16 adds in trunk

Text with text-overflow:ellipsis and text-align:right is left aligned
https://bugs.webkit.org/show_bug.cgi?id=88705

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-06-22
Reviewed by Dan Bernstein.

Source/WebCore:

When building the line of a text with overflow, we do not know if we can place
an ellipsis and where it should be. Because of that, text is laid out as if it does
not have text-overflow: ellipsis.

This causes problems with text-alignement right in LTR and left in RTL. The shortened text
did not follow the allignment.

This patch changes the position of lines with ellipsis after layout to follow the allignment.
In RenderBlock::checkLinesForTextOverflow(), the call to RootInlineBox::placeEllipsis() now
also gives the width of the truncated text. We use this width to re-compute the alignement and
shift the box if necessary.

In RenderBlock::deleteEllipsisLineBoxes() we revert the text to the position computed with the
total width. This way all layout computation is done as usual.

Tests: fast/css/text-overflow-ellipsis-text-align-left.html

fast/css/text-overflow-ellipsis-text-align-right.html

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::canAccommodateEllipsis): Make the method const for readability, truncating is
done later in placeEllipsisBox().
(WebCore::InlineBox::placeEllipsisBox): Add an output argument, truncatedWidth, giving the width
of the text + ellipsis after truncation (if any truncation can be done).

  • rendering/InlineBox.h:

(InlineBox):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineBox::adjustLogicalPosition): adjustPosition() logical coordinates.
(WebCore::InlineFlowBox::canAccommodateEllipsis):
(WebCore::InlineFlowBox::placeEllipsisBox):

  • rendering/InlineFlowBox.h:

(InlineFlowBox):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::placeEllipsisBox):

  • rendering/InlineTextBox.h:

(InlineTextBox):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::deleteEllipsisLineBoxes): In addition to removing the truncation, we
need to revert the shift introduced by checkLinesForTextOverflow(). This restore the lines
to its original, untruncated position in order to layout the block correctly in RenderBlock::layoutInlineChildren().
(WebCore::RenderBlock::checkLinesForTextOverflow): After we truncate the text, we now recompute the shift we need
for alignment, and move the line accordingly.

  • rendering/RenderDeprecatedFlexibleBox.cpp:

(WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::placeEllipsis): Return the width of the truncated text + the width of the ellipsis.
(WebCore::RootInlineBox::placeEllipsisBox):
(WebCore::RootInlineBox::adjustPosition):

  • rendering/RootInlineBox.h:

(RootInlineBox):

LayoutTests:

  • fast/css/text-overflow-ellipsis-text-align-center.html: Added.
  • fast/css/text-overflow-ellipsis-text-align-justify.html: Added.
  • fast/css/text-overflow-ellipsis-text-align-left.html: Added.
  • fast/css/text-overflow-ellipsis-text-align-right.html: Added.
  • fast/css/vertical-text-overflow-ellipsis-text-align-center.html: Added.
  • fast/css/vertical-text-overflow-ellipsis-text-align-justify.html: Added.
  • fast/css/vertical-text-overflow-ellipsis-text-align-left.html: Added.
  • fast/css/vertical-text-overflow-ellipsis-text-align-right.html: Added.

The vertical-text tests are incorrect due to other bugs. Add they to track regressions/progressions
going forward.

  • platform/chromium/TestExpectations: The tests need platform specific results.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-center-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-justify-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-left-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-ellipsis-text-align-right-expected.txt: Added.
18:35 Changeset [121084] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Fix negative time interval on zoom-in
https://bugs.webkit.org/show_bug.cgi?id=89798

Patch by Eugene Klyuchnikov <eustas.big@gmail.com> on 2012-06-22
Reviewed by Pavel Feldman.

Steps to reproduce:
1) Record timeline
2) Select small range with left tick close to zero
3) Move pointer to the right end of the ruler
4) Zoom-in with mouse-wheel

Result: right tick goes below the zero.

  • inspector/front-end/TimelineOverviewPane.js:

(WebInspector.TimelineOverviewWindow.prototype._zoom):

18:23 Changeset [121083] by achicu@adobe.com
  • 13 edits in trunk

[CSS Shaders] Re-enable the CSS Shaders compile time flag on Safari Mac
https://bugs.webkit.org/show_bug.cgi?id=89781

Reviewed by Dean Jackson.

Source/JavaScriptCore:

Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.

No new tests, just re-enabled existing tests.

  • css/CSSValueKeywords.in: Added empty line to force a rebuild of the file on the EWS.
  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Added ENABLE_CSS_SHADERS flag as enabled by default on Safari for Mac.

  • Configurations/FeatureDefines.xcconfig:

Tools:

Added CSS Shaders as enabled by default on Safari for Mac.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Renabled CSS Shaders tests on Safari for Mac.

  • platform/mac/Skipped:
18:16 Changeset [121082] by dgrogan@chromium.org
  • 5 edits in trunk/Source

IndexedDB: Avoid infinite loop if we try to encode -1 for leveldb
https://bugs.webkit.org/show_bug.cgi?id=89625

Source/WebCore:

It gets worse, memory is allocated inside the loop so the process is
eventually killed by the OS.

Reviewed by Tony Chang.

Added tests to Source/WebKit/chromium/tests/IDBLevelDBCodingTest.cpp

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::encodeInt):
(WebCore::IDBLevelDBCoding::encodeVarInt):

Source/WebKit/chromium:

Reviewed by Tony Chang.

  • tests/IDBLevelDBCodingTest.cpp:

(IDBLevelDBCoding::TEST):

17:56 Changeset [121081] by jchaffraix@webkit.org
  • 1 edit
    2 copies in branches/chromium/1180

Merge 121072 - REGRESSION(r116446): Crash in RenderBoxModelObject::adjustedPositionRelativeToOffsetParent
https://bugs.webkit.org/show_bug.cgi?id=89785

Reviewed by Abhishek Arya.

Source/WebCore:

Test: fullscreen/full-screen-crash-offsetLeft.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
Added a NULL-check for parent() as it can be NULL in fullscreen mode. Also updated a stale
comment while touching the code.

LayoutTests:

  • fullscreen/full-screen-crash-offsetLeft-expected.html: Added.
  • fullscreen/full-screen-crash-offsetLeft.html: Added.

TBR=jchaffraix@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10659009

17:36 Changeset [121080] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium gardening. Marked test as needing rebaseline
after http://trac.webkit.org/changeset/121076 per jamesr.

  • platform/chromium/TestExpectations:
17:31 Changeset [121079] by hayato@chromium.org
  • 7 edits in trunk

[Shadow] ShadowRoot.activeElement should use the result of re-targeting algorithm.
https://bugs.webkit.org/show_bug.cgi?id=89763

Reviewed by Dimitri Glazkov.

Source/WebCore:

Use the result of the re-targeting algorithm in calculating
shadow root's activeElement so that ShadowRoot.activeElement returns
a focused distributed node correctly as the algorithm says.

The spec is:
https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#active-element

Tests: fast/dom/shadow/shadow-root-activeElement.html

  • dom/EventDispatcher.cpp:

(WebCore):
(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventDispatcher::ensureEventAncestors):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::focusedNode):

  • html/shadow/InsertionPoint.h:

(WebCore::InsertionPoint::contains):

LayoutTests:

  • fast/dom/shadow/shadow-root-activeElement-expected.txt:
  • fast/dom/shadow/shadow-root-activeElement.html:
17:23 Changeset [121078] by michaeln@google.com
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] WebKit API plumbing for applicationCache.abort()
https://bugs.webkit.org/show_bug.cgi?id=89792

Reviewed by Darin Fisher.

  • public/WebApplicationCacheHost.h:

(WebKit::WebApplicationCacheHost::abort):

  • src/ApplicationCacheHost.cpp:

(WebCore::ApplicationCacheHost::abort):

17:03 Changeset [121077] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Unreviewed Chromium gardening. Suppressed additional test failures
tracked in bugs 73692 and 89789.

  • platform/chromium/TestExpectations:
16:57 Changeset [121076] by jamesr@google.com
  • 31 edits in trunk/Source

[chromium] LayerRendererChromium is not getting visibility messages in single threaded compositing mode.
https://bugs.webkit.org/show_bug.cgi?id=89045

Reviewed by Adrienne Walker.

Based on patch by Michal Mocny <mmocny@google.com>.

Source/WebCore:

Invariants:

1.) We never commit (paint, animate, any of it) when not visible on the main thread -except- for
compositeAndReadback, regardless of threaded vs non-threaded mode
2.) CCLayerTreeHost::m_contentsTextureManager's memory budget is only set by updateLayers() when we are going to
make a frame and is always set to a non-zero value
3.) Zero-sized allocations from the GPU process are always serviced immediately on the impl thread. Non-zero
allocations are met in the next frame, whenever we would produce that frame according to our usual frame
scheduling logic.
4.) The impl thread always knows the set of currently-allocated managed texture IDs and can delete them all
whenever it likes without needing the main thread to be responsive.

Details:

There are two main changes - tweaking how the contents texture manager's budget is handled and tweaking frame
scheduling for the !visible case.

The scheduling change is a bit more subtle but it unifies the single and multi threaded paths and is really
important. Except for compositeAndReadback (which I'll talk about below), we simply won't produce frames when
not visible. This already happens in the single threaded path thanks to render_widget so the only change is to
the threaded path. The difficulty here is we might post a beginFrame task from the impl thread and then get a
setVisible(false) call on the main thread before the beginFrame task runs. Since I'm making the setVisible()
call a blocking call from main thread -> impl thread, when the beginFrame task eventually does run on the main
thread we can know that the impl thread's notion of visibility is in sync with the main threads. Thus I'm
planning to simply abort the frame before doing any processing on the main thread. The scheduler will know if
it gets a beginFrameAborted and COMMIT_STATE_IDLE.

compositeAndReadback is special - this call currently does come in when we aren't visible (in single and
threaded mode) and we need to service it. In particular, we need to send a beginFrame over and have it
not be ignored on the main thread. For this I'm thinking of having the proxy keep track of whether it's
servicing a compositeAndReadback() and use that bit on the main thread to know to process the beginFrame
normally. On the impl side, we need a few changes. First, we have to allocate a default framebuffer
(ensureFramebufferCHROMIUM) even if we've dropped it previously and remember to discard it after the
readPixels(). Second, we have to provide a non-zero contents texture allocation on the beginFrame message, and
again remember to delete the textures after the readPixels(). Third, we have to know that the beginFrame is a
forced frame so when we get the beginFrameComplete we go ahead with the rest of the frame. For this, I think
I'll have to add ACTION_BEGIN_FORCED_FRAME and a corresponding COMMIT_STATE_FORCED_FRAME_IN_PROGRESS so the
scheduler can keep track of the magicness of this frame, and then add some logic after the readpixels call to
drop resources after the readback. It's probably a good time to stop swapping on readbacks too....

The contents texture manager's budget is only relevant when we want to make a frame, so it's now passed in on
the updateLayers(). Since we only make frames when we are visible and we never have a zero allocation when
visible (thanks to the frame scheduling changes above), this value is always non-zero. The other thing the
texture manager needs to know about is if we've killed all of the underlying textures from the impl thread -
this bit is passed in by the proxy before the updateLayers() call. This means if we're running while visible
and the manager wants to decrease our budget to something other than zero, we'll get a new (non-zero) allocation
on the impl thread, schedule a frame, then when it's time to make the frame pass the new lower limit in to
updateLayers(), then have the contents texture manager evict down to our new limit and make a frame with the new
budget. When the commit completes we'll get notified on the impl thread of which textures the contents texture
manager decided to evict and issue the deleteTexture() calls on them.

The texture budget we pass in will be based on the most recent non-zero memory allocation we received from the
GPU memory manager, or some default value I'll pull out my ass if we haven't heard anything yet. On compositor
initialization, we can't afford to wait for a round-trip through the GPU process to get a budget for the first
frame. I don't think handling a decrease to a non-zero budget on a visible tab needs to be terribly urgent - we
can get to it when we get to making the next frame. If we wanted to satisfy reduced texture budgets directly
from the impl thread, we could keep a priority-list ordered set of textures once we have priorities and delete
based on that. Let's worry about that later.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChangedOnImpl):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initialize):
(WebCore::LayerRendererChromium::setVisible):
(WebCore::LayerRendererChromium::setGpuMemoryAllocation):
(WebCore):
(WebCore::LayerRendererChromium::swapBuffers):
(WebCore::LayerRendererChromium::getFramebufferPixels):

  • platform/graphics/chromium/LayerRendererChromium.h:

(WebCore):
(LayerRendererChromium):

  • platform/graphics/chromium/TextureManager.cpp:

(WebCore::TextureManager::evictAndRemoveAllDeletedTextures):
(WebCore):

  • platform/graphics/chromium/TextureManager.h:

(TextureAllocator):
(TextureManager):

  • platform/graphics/chromium/TrackingTextureAllocator.cpp:

(WebCore::TrackingTextureAllocator::createTexture):
(WebCore::TrackingTextureAllocator::deleteTexture):
(WebCore):
(WebCore::TrackingTextureAllocator::deleteAllTextures):

  • platform/graphics/chromium/TrackingTextureAllocator.h:

(TrackingTextureAllocator):

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

(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::evictAllContentTextures):
(WebCore::CCLayerTreeHost::updateLayers):

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

(CCLayerTreeHost):

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

(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::commitComplete):
(WebCore::CCLayerTreeHostImpl::canDraw):
(WebCore::CCLayerTreeHostImpl::context):
(WebCore::CCLayerTreeHostImpl::releaseContentsTextures):
(WebCore):
(WebCore::CCLayerTreeHostImpl::setMemoryAllocationLimitBytes):

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

(CCLayerTreeHostImplClient):
(WebCore::CCLayerTreeHostImpl::contentsTexturesWerePurgedSinceLastCommit):
(WebCore::CCLayerTreeHostImpl::memoryAllocationLimitBytes):
(CCLayerTreeHostImpl):

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

(CCProxy):

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

(CCRendererClient):

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

(WebCore::CCScheduler::beginFrameComplete):
(WebCore::CCScheduler::beginFrameAborted):
(WebCore):
(WebCore::CCScheduler::didSwapBuffersComplete):
(WebCore::CCScheduler::didLoseContext):
(WebCore::CCScheduler::didRecreateContext):
(WebCore::CCScheduler::vsyncTick):

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

(CCScheduler):

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

(WebCore::CCSchedulerStateMachine::beginFrameAborted):
(WebCore):

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

(WebCore::CCSingleThreadProxy::setVisible):
(WebCore):
(WebCore::CCSingleThreadProxy::stop):
(WebCore::CCSingleThreadProxy::commitAndComposite):

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

(CCSingleThreadProxy):

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

(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::setVisible):
(WebCore):
(WebCore::CCThreadProxy::setVisibleOnImplThread):
(WebCore::CCThreadProxy::scheduledActionBeginFrame):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::beginFrameAbortedOnImplThread):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):

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

(CCThreadProxy):
(BeginFrameAndCommitState):

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

(WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
(WebCore::CCVideoLayerImpl::willDraw):
(WebCore::CCVideoLayerImpl::willDrawInternal):
(WebCore::CCVideoLayerImpl::FramePlane::allocateData):
(WebCore::CCVideoLayerImpl::FramePlane::freeData):
(WebCore::CCVideoLayerImpl::allocatePlaneData):
(WebCore::CCVideoLayerImpl::freePlaneData):
(WebCore::CCVideoLayerImpl::freeUnusedPlaneData):
(WebCore::CCVideoLayerImpl::didLoseContext):

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

(FramePlane):

Source/WebKit/chromium:

Update various test fixtures and tests to cover scheduling, visibility, and resource allocation changes.

  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCLayerTreeHostTest.cpp:

(CCLayerTreeHostTestAbortFrameWhenInvisible):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::CCLayerTreeHostTestAbortFrameWhenInvisible):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::beginTest):
(WTF::CCLayerTreeHostTestAbortFrameWhenInvisible::afterTest):
(WTF):
(WTF::TEST_F):
(WTF::CCLayerTreeHostTestLayerOcclusion::beginTest):
(WTF::CCLayerTreeHostTestLayerOcclusionWithFilters::beginTest):
(WTF::CCLayerTreeHostTestManySurfaces::beginTest):

  • tests/CCSchedulerStateMachineTest.cpp:

(WebCore::TEST):

  • tests/CCTiledLayerTestCommon.h:
  • tests/FakeWebGraphicsContext3D.h:

(WebKit::FakeWebGraphicsContext3D::FakeWebGraphicsContext3D):
(FakeWebGraphicsContext3D):
(WebKit::FakeWebGraphicsContext3D::createTexture):

  • tests/LayerRendererChromiumTest.cpp:

(TEST_F):

  • tests/TiledLayerChromiumTest.cpp:
16:41 Changeset [121075] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Layout test fast/regions/get-regions-by-content-node2.html crashing intermittently
https://bugs.webkit.org/show_bug.cgi?id=89794

Unreviewed; suppressed test failure.

  • platform/chromium/TestExpectations:
16:40 Changeset [121074] by abarth@webkit.org
  • 2 edits
    1 add in trunk

Add support for test_expectations_android.txt for overriding test expecations on the chromium-android branch
https://bugs.webkit.org/show_bug.cgi?id=89791

Reviewed by Dirk Pranke.

Downstream, the chromium-android port maintains a test expectations
file to keep track of which tests pass or fail. That causes them to
keep a patch in chromium_android.py in their branch.

This patch teaches chromium_android.py to use test_expectations_android.txt.
We don't intend to use this file upstream, but having this code patch
upstream lets us unfork webkitpy.

  • Scripts/webkitpy/layout_tests/port/chromium_android.py:

(ChromiumAndroidPort.expectations_files):

16:32 Changeset [121073] by fpizlo@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

DFG tier-up should happen in prologues, not epilogues
https://bugs.webkit.org/show_bug.cgi?id=89752

Reviewed by Geoffrey Garen.

This change has two outcomes:

1) Slightly reduces the likelihood that a function will be optimized both
standalone and via inlining. Previously, if you had a call sequence like foo()
calls bar() exactly once, and nobody else calls bar(), then bar() would get
optimized first (because it returns first) and then foo() gets optimized. If foo()
can inline bar() then that means that bar() gets optimized twice. But now, if we
optimize in prologues, then foo() will be optimized first. If it inlines bar(),
that means that there will no longer be any calls to bar().

2) It lets us kill some code in JITStubs. Epilogue tier-up was very different from
loop tier-up, since epilogue tier-up should not attempt OSR. But prologue tier-up
requires OSR (albeit really easy OSR since it's the top of the compilation unit),
so it becomes just like loop tier-up. As a result, we now have one optimization
hook (cti_optimize) instead of two (cti_optimize_from_loop and
cti_optimize_from_ret).

As a consequence of not having an optimization check in epilogues, the OSR exit
code must now trigger reoptimization itself instead of just signaling the epilogue
check to fire.

This also adds the ability to count the number of DFG compilations, which was
useful for debugging this patch and might be useful for other things in the future.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::reoptimize):
(JSC):

  • bytecode/CodeBlock.h:

(CodeBlock):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGDriver.cpp:

(DFG):
(JSC::DFG::getNumCompilations):
(JSC::DFG::compile):

  • dfg/DFGDriver.h:

(DFG):

  • dfg/DFGOSRExitCompiler.cpp:

(JSC::DFG::OSRExitCompiler::handleExitCounts):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • jit/JIT.cpp:

(JSC::JIT::emitOptimizationCheck):

  • jit/JIT.h:
  • jit/JITCall32_64.cpp:

(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_ret_object_or_this):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_ret_object_or_this):
(JSC::JIT::emit_op_enter):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_enter):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • jit/JITStubs.h:
16:29 Changeset [121072] by jchaffraix@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION(r116446): Crash in RenderBoxModelObject::adjustedPositionRelativeToOffsetParent
https://bugs.webkit.org/show_bug.cgi?id=89785

Reviewed by Abhishek Arya.

Source/WebCore:

Test: fullscreen/full-screen-crash-offsetLeft.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
Added a NULL-check for parent() as it can be NULL in fullscreen mode. Also updated a stale
comment while touching the code.

LayoutTests:

  • fullscreen/full-screen-crash-offsetLeft-expected.html: Added.
  • fullscreen/full-screen-crash-offsetLeft.html: Added.
16:26 Changeset [121071] by pdr@google.com
  • 2 edits in trunk/PerformanceTests

Make SvgCubics performance test more consistent
https://bugs.webkit.org/show_bug.cgi?id=89778

Reviewed by Ryosuke Niwa.

Previously this test ran twice for each iteration, but this led to inconsistent repaints.
This change updates the test to only run once per iteration, and adds even more cubics
so that the test runs consistently in the 80ms range on my Linux desktop.

Performance results on my desktop:

RESULT SVG: SvgCubics= 80.5 ms
median= 82.0 ms, stdev= 3.04138126515 ms, min= 75.0 ms, max= 85.0 ms

RESULT SVG: SvgCubics= 80.1 ms
median= 81.0 ms, stdev= 4.27668095607 ms, min= 74.0 ms, max= 88.0 ms

RESULT SVG: SvgCubics= 81.45 ms
median= 83.0 ms, stdev= 4.01839520207 ms, min= 75.0 ms, max= 89.0 ms

RESULT SVG: SvgCubics= 78.9 ms
median= 80.0 ms, stdev= 4.75289385533 ms, min= 72.0 ms, max= 87.0 ms

  • SVG/SvgCubics.html:
16:24 Changeset [121070] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Notify the document if a plugin accepts touch input events
https://bugs.webkit.org/show_bug.cgi?id=89769

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-06-22
Reviewed by Adam Barth.

The browser sends touch events to webkit only if webkit has any touch-event handlers. So it is
necessary to notify the document when a plugin starts accepting touch-events so that it can in
turn tell the browser to send it touch events.

  • public/WebPluginContainer.h:

(WebPluginContainer):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::setIsAcceptingTouchEvents):
(WebKit):
(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

16:16 Changeset [121069] by kbr@google.com
  • 20 edits
    2 deletes in trunk/Source

Unreviewed, rolling out r121064.
http://trac.webkit.org/changeset/121064
https://bugs.webkit.org/show_bug.cgi?id=88268

Broke Chromium Mac build.

Source/Platform:

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

(WebKit):
(WebLayerTreeView):

  • chromium/public/WebRenderingStats.h: Removed.

Source/WebCore:

  • WebCore.gypi:
  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::updateAnimations):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):

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

(WebCore):
(WebCore::CCLayerTreeHost::frameNumber):

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

(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::drawLayers):

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

(WebCore::CCLayerTreeHostImpl::frameNumber):
(CCLayerTreeHostImpl):

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

(WebCore):
(CCProxy):

  • platform/graphics/chromium/cc/CCRenderingStats.h: Removed.
  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:
  • platform/graphics/chromium/cc/CCThreadProxy.cpp:
  • platform/graphics/chromium/cc/CCThreadProxy.h:

(CCThreadProxy):

Source/WebKit/chromium:

  • public/WebView.h:

(WebKit):
(WebView):

  • src/WebLayerTreeView.cpp:
  • src/WebViewImpl.cpp:
  • src/WebViewImpl.h:

(WebViewImpl):

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTestScrollSimple::layout):
(WTF::CCLayerTreeHostTestScrollMultipleRedraw::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommitAndDrawFrame):
(WTF::CCLayerTreeHostTestVisibilityAndAllocationControlDrawing::didCommit):

16:13 Changeset [121068] by ryuan.choi@samsung.com
  • 8 edits in trunk/Source

[EFL][WK2] Support keyboard event
https://bugs.webkit.org/show_bug.cgi?id=89268

Reviewed by Chang Shu.

Source/WebCore:

Extract keyDownCommandsMap and keyPressCommandsMap to share WebKit1/Efl and WebKit2/Efl.

  • platform/efl/EflKeyboardUtilities.cpp:

(WebCore):
(WebCore::keyDownCommandsMap):
(WebCore::keyPressCommandsMap):
(KeyDownEntry):
(KeyPressEntry):
(WebCore::createKeyDownCommandMap):
(WebCore::createKeyPressCommandMap):
(WebCore::getKeyDownCommandName):
(WebCore::getKeyPressCommandName):

  • platform/efl/EflKeyboardUtilities.h:

(WebCore):

Source/WebKit/efl:

Extract keyDownCommandsMap and keyPressCommandsMap to share WebKit1/Efl and WebKit2/Efl.

  • WebCoreSupport/EditorClientEfl.cpp:

(WebCore::EditorClientEfl::interpretKeyEvent):

Source/WebKit2:

  • WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:

(WebKit::WebEditorClient::handleKeyboardEvent): Implemented default behavior.

  • WebProcess/WebPage/efl/WebPageEfl.cpp:

(WebKit::WebPage::interpretKeyEvent): Implemented like WebKit1/Efl did.

16:09 Changeset [121067] by bdakin@apple.com
  • 2 edits in trunk/LayoutTests

Skipping this test because it's failing most of the time since
recent modifications.
https://bugs.webkit.org/show_bug.cgi?id=89790 will be used to
track fixing the real issue.

  • platform/mac/Skipped:
16:06 Changeset [121066] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: refactor index-writing to be more self-contained
https://bugs.webkit.org/show_bug.cgi?id=89607

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-22
Reviewed by Tony Chang.

Refactor index-writing into the IndexWriter class. Does not change
existing behavior but begins migrating index-writing logic into a
self-contained class that can eventually be used in the
frontend (renderer) side of IndexedDB.

No new tests, behavior is unchanged.

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::populateIndex):

15:58 Changeset [121065] by kbr@google.com
  • 2 edits in trunk/LayoutTests

[Chromium] Layout test plugins/embed-attributes-style.html failing on Mac
https://bugs.webkit.org/show_bug.cgi?id=89789

Unreviewed; disabled now-failing test.

  • platform/chromium/TestExpectations:
15:44 Changeset [121064] by commit-queue@webkit.org
  • 20 edits
    2 adds in trunk/Source

[chromium] Expose rendering statistics to WebWidget.
https://bugs.webkit.org/show_bug.cgi?id=88268

Patch by Dave Tu <dtu@chromium.org> on 2012-06-22
Reviewed by James Robinson.

The WebKit side of a basic framework for exposing rendering statistics
to Chromium's --enable-benchmarking extension.

Source/Platform:

  • chromium/public/WebLayerTreeView.h:

(WebRenderingStatistics):
(WebKit):
(WebLayerTreeView):

Source/WebCore:

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

(WebCore::CCLayerTreeHost::implFrameNumber):

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

(CCProxy):

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

(WebCore::CCThreadProxy::implFrameNumber):
(WebCore):
(WebCore::CCThreadProxy::implFrameNumberOnImplThread):

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

(CCThreadProxy):

Source/WebKit/chromium:

  • src/WebLayerTreeView.cpp:

(WebKit::WebLayerTreeView::renderingStatistics):
(WebKit):

15:37 Changeset [121063] by tony@chromium.org
  • 5 edits in trunk/LayoutTests

Fix the CSS grid layout tests added in r120984
https://bugs.webkit.org/show_bug.cgi?id=89782

Reviewed by Julien Chaffraix.

We need to call testRunner.overridePreference("WebKitCSSGridLayoutEnabled", true)
to enable grid layout in tests. These tests were passing due to other bugs in the tests.

  • fast/css-grid-layout/containing-block-grids-expected.html: Simplify expected results.
  • fast/css-grid-layout/containing-block-grids.html: Set the display to none and override it with grid/inline-grid to make sure it's applying.

The default display of block would also produce the correct results.

  • fast/css-grid-layout/floating-empty-grids-expected.html: Fix a missing close } which was causing the

other styles to be ignored. Also, one of the boxes wasn't showing up because it was a div instead of a span.

  • fast/css-grid-layout/floating-empty-grids.html: Same fixes as for expected.
15:30 Changeset [121062] by michaeln@google.com
  • 2 edits in trunk/LayoutTests

ApplicationCache - verify that an open network whitelist doesn't break online vs fallback layering.
https://bugs.webkit.org/show_bug.cgi?id=89714

An explicit online network namespace should trump a fallback namespace, the fallback should not be used.
Chrome had a bug where if a '*' was in the NETWORK section, explicit entries got ignored, and that
expected behavior was botched. See http://code.google.com/p/chromium/issues/detail?id=133816 for more
details about the chrome bug and code change this LayoutTest aims to verify.

Reviewed by Tony Chang.

  • http/tests/appcache/resources/online-fallback-layering.manifest:
15:25 Changeset [121061] by dpranke@chromium.org
  • 3 edits in trunk/Tools

run_webkit_tests.py failed with AttributeError(NoneType' object has no attribute 'pid)
https://bugs.webkit.org/show_bug.cgi?id=89734

Reviewed by Ryosuke Niwa.

Fix a crash in ServerProcess if you called .pid() after it
crashed during a write(). We had a test for this case but the
test wasn't calling pid(), just has_crashed(). Fixed the problem
and the test.

  • Scripts/webkitpy/layout_tests/port/server_process.py:

(ServerProcess.init):
(ServerProcess.pid):
(ServerProcess._start):
(ServerProcess.stop):

  • Scripts/webkitpy/layout_tests/port/server_process_unittest.py:

(FakeServerProcess._start):
(TestServerProcess.test_broken_pipe):

15:24 Changeset [121060] by shawnsingh@chromium.org
  • 4 edits in trunk/Source

[chromium] Do not accumulate occlusion from 3d layers on the main thread
https://bugs.webkit.org/show_bug.cgi?id=89704

Reviewed by James Robinson.

Source/WebCore:

Layer iterators on the main thread may not iterate over 3d layers
in correct front-to-back or back-to-front order, because layer
sorting is not performed on the main thread. As a result,
occlusion tracking can accidentally think something is occluded if
a 3d layer is processed out of order. This patch choses to solve
this by avoiding accumulating occlusion for 3d layers. It may be
appropriate later to consider adding layer sorting on the main
thread, but for now that seemed like an unnecessary heavy-handed
approach.

In addition to a new unit test that covers this, other unit tests
were changed to work on the impl thread, so that the 3d layers
still accumulate occlusion as required.

Unit test added to CCOcclusionTrackerTest:

CCOcclusionTrackerTestUnsorted3dLayers

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

(WebCore::layerIsInUnsorted3dRenderingContext):
(WebCore):
(WebCore::::markOccludedBehindLayer):

Source/WebKit/chromium:

  • tests/CCOcclusionTrackerTest.cpp:

(WebKitTests::CCOcclusionTrackerTest::calcDrawEtc):
(WebKitTests):
(CCOcclusionTrackerTestUnsorted3dLayers):
(WebKitTests::CCOcclusionTrackerTestUnsorted3dLayers::runMyTest):
(WebKitTests::CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect::runMyTest):

15:09 Changeset [121059] by jsbell@chromium.org
  • 26 edits
    5 adds in trunk

IndexedDB: Snapshot metadata in front end to avoid IPC round-trips
https://bugs.webkit.org/show_bug.cgi?id=88467

Reviewed by Tony Chang.

Source/WebCore:

Define a new type (IDBDatabaseMetadata) that captures the "schema" of an
IDB database (name, version, properties of stores, properties of indexes).
Add a method for the front end to request this from the back end once up
front to avoid later calls (which may be slow IPC calls in ports). Implement
IDB spec logic that the metadata should be frozen for a particular IDBDatabase
connection, and only change within a version change transaction, and the spec's
funky requirement for aborted version change transactions.

Test: storage/indexeddb/metadata.html

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::IDBDatabase): Fetch metadata from back end when connection is created.
(WebCore::IDBDatabase::transactionCreated):
(WebCore::IDBDatabase::transactionFinished): Update metadata at the end of a transaction in
case it was rolled back.
(WebCore::IDBDatabase::objectStoreNames): Move implementation to front-end.
(WebCore):
(WebCore::IDBDatabase::createObjectStore): Update local copy of metadata.
(WebCore::IDBDatabase::deleteObjectStore): Update local copy of metadata.

  • Modules/indexeddb/IDBDatabase.h:

(WebCore::IDBDatabase::name): Move implementation to front-end.
(WebCore::IDBDatabase::version): Move implementation to front-end.
(IDBDatabase):
(WebCore::IDBDatabase::metadata):

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::metadata): Construct a metadata snapshot.
(WebCore):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h:

(WebCore):
(IDBDatabaseBackendInterface):

  • Modules/indexeddb/IDBIndex.cpp: Store a copy of the metadata, which will never

change during the lifetime of the index.
(WebCore::IDBIndex::IDBIndex):

  • Modules/indexeddb/IDBIndex.h:

(WebCore::IDBIndex::create):
(WebCore::IDBIndex::name): Move implementation to front-end.
(WebCore::IDBIndex::objectStore): Return RefPtr (unrelated tidying).
(WebCore::IDBIndex::keyPath): Move implementation to front-end.
(WebCore::IDBIndex::unique): Move implementation to front-end.
(WebCore::IDBIndex::multiEntry): Move implementation to front-end.
(IDBIndex):

  • Modules/indexeddb/IDBIndexBackendImpl.cpp:

(WebCore::IDBIndexBackendImpl::metadata): Construct a metadata snapshot.
(WebCore):

  • Modules/indexeddb/IDBIndexBackendImpl.h:

(IDBIndexBackendImpl):

  • Modules/indexeddb/IDBMetadata.h: Added new structs.

(WebCore):
(WebCore::IDBDatabaseMetadata::IDBDatabaseMetadata):
(IDBDatabaseMetadata):
(WebCore::IDBObjectStoreMetadata::IDBObjectStoreMetadata):
(IDBObjectStoreMetadata):
(WebCore::IDBIndexMetadata::IDBIndexMetadata):
(IDBIndexMetadata):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::IDBObjectStore): Store a "live" copy of the metadata, and
and copy in case of an aborted version change transaction.
(WebCore::IDBObjectStore::indexNames): Move implementation to front-end.
(WebCore::IDBObjectStore::createIndex): Update metadata to include new index.
(WebCore::IDBObjectStore::index): Pass along metadata to instance constructor.
(WebCore::IDBObjectStore::deleteIndex): Delete index from metadata.

  • Modules/indexeddb/IDBObjectStore.h:

(WebCore::IDBObjectStore::create):
(WebCore::IDBObjectStore::name): Move implementation to front-end.
(WebCore::IDBObjectStore::keyPath): Move implementation to front-end.
(WebCore::IDBObjectStore::transaction): Return RefPtr (unrelated tidying).
(WebCore::IDBObjectStore::autoIncrement): Move implementation to front-end.
(WebCore::IDBObjectStore::metadata): Allow copying the metadata, in case of abort.
(WebCore::IDBObjectStore::resetMetadata): Allow setting the metadata, in case of abort.
(IDBObjectStore):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::metadata): Construct a metadata snapshot.
(WebCore):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.h:

(WebCore):
(IDBObjectStoreBackendImpl):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::objectStore): Pass along metadata to instance constructor.
(WebCore::IDBTransaction::objectStoreCreated): Track stores changed during transaction.
(WebCore::IDBTransaction::objectStoreDeleted):Track stores changed during transaction.
(WebCore::IDBTransaction::onAbort): Revert stores metadata potentially changed during transaction.

  • Modules/indexeddb/IDBTransaction.h:

(IDBTransaction):

  • WebCore.gypi:

Source/WebKit/chromium:

Add conversions to/from WebCore IDB metadata type and plumbing for routing the
IDBDatabaseBackendInterface::metadata() call through the public API..

  • WebKit.gyp: New file added.
  • public/WebIDBMetadata.h: Conversion functions.

(WebCore):
(WebIDBMetadata):

  • src/IDBDatabaseBackendProxy.cpp: Plumbing.

(WebKit::IDBDatabaseBackendProxy::metadata):
(WebKit):

  • src/IDBDatabaseBackendProxy.h: Plumbing.

(IDBDatabaseBackendProxy):

  • src/WebIDBDatabaseImpl.cpp: Plumbing.

(WebKit::WebIDBDatabaseImpl::metadata):
(WebKit):

  • src/WebIDBDatabaseImpl.h: Plumbing.

(WebKit):
(WebIDBDatabaseImpl):

  • src/WebIDBMetadata.cpp: Added - conversion functions.

(WebKit):
(WebKit::WebIDBMetadata::WebIDBMetadata):
(WebKit::WebIDBMetadata::operator IDBDatabaseMetadata):

LayoutTests:

  • storage/indexeddb/metadata-expected.txt: Added.
  • storage/indexeddb/metadata.html: Added.
  • storage/indexeddb/resources/metadata.js: Added.

(test):
(firstOpen.request.onsuccess.request.onsuccess.trans.oncomplete):
(firstOpen.request.onsuccess.request.onsuccess):
(firstOpen.request.onsuccess):
(firstOpen):
(secondOpen.request.onsuccess.request.onsuccess.trans.oncomplete):
(secondOpen.request.onsuccess.request.onsuccess):
(secondOpen.request.onsuccess):
(secondOpen):
(thirdOpen.request.onsuccess.request.onsuccess.trans.onabort):
(thirdOpen.request.onsuccess.request.onsuccess):
(thirdOpen.request.onsuccess):
(thirdOpen):
(fourthOpen.request.onsuccess.request.onsuccess.trans.oncomplete):
(fourthOpen.request.onsuccess.request.onsuccess):
(fourthOpen.request.onsuccess):
(fourthOpen):
(checkState):

14:42 Changeset [121058] by mhahnenberg@apple.com
  • 121 edits in trunk/Source

JSLock should be per-JSGlobalData
https://bugs.webkit.org/show_bug.cgi?id=89123

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • API/APIShims.h:

(APIEntryShimWithoutLock):
(JSC::APIEntryShimWithoutLock::APIEntryShimWithoutLock): Added an extra parameter to the constructor to
determine whether we should ref the JSGlobalData or not. We want to ref all the time except for in the
HeapTimer class because timerDidFire could run after somebody has started to tear down that particular
JSGlobalData, so we wouldn't want to resurrect the ref count of that JSGlobalData from 0 back to 1 after
its destruction has begun.
(JSC::APIEntryShimWithoutLock::~APIEntryShimWithoutLock): Now derefs if it also refed.
(JSC::APIEntryShim::APIEntryShim):
(APIEntryShim):
(JSC::APIEntryShim::~APIEntryShim):
(JSC::APIEntryShim::init): Factored out common initialization code for the various APIEntryShim constructors.
Also moved the timeoutChecker stop and start here because we need to start after we've grabbed the API lock
and before we've released it, which can only done in APIEntryShim.
(JSC::APICallbackShim::~APICallbackShim): We no longer need to synchronize here.

  • API/JSContextRef.cpp:

(JSGlobalContextCreate):
(JSGlobalContextCreateInGroup):
(JSGlobalContextRelease):
(JSContextCreateBacktrace):

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::tryAllocateSlowCase):

  • heap/Heap.cpp:

(JSC::Heap::protect):
(JSC::Heap::unprotect):
(JSC::Heap::collect):
(JSC::Heap::setActivityCallback):
(JSC::Heap::activityCallback):
(JSC::Heap::sweeper):

  • heap/Heap.h: Changed m_activityCallback and m_sweeper to be raw pointers rather than OwnPtrs because they

are now responsible for their own lifetime. Also changed the order of declaration of the GCActivityCallback
and the IncrementalSweeper to make sure they're the last things that get initialized during construction to
prevent any issues with uninitialized memory in the JSGlobalData/Heap they might care about.
(Heap):

  • heap/HeapTimer.cpp: Refactored to allow for thread-safe operation and shutdown.

(JSC::HeapTimer::~HeapTimer):
(JSC::HeapTimer::invalidate):
(JSC):
(JSC::HeapTimer::didStartVMShutdown): Called at the beginning of ~JSGlobalData. If we're on the same thread
that the HeapTimer is running on, we kill the HeapTimer ourselves. If not, then we set some state in the
HeapTimer and schedule it to fire immediately so that it can notice and kill itself.
(JSC::HeapTimer::timerDidFire): We grab our mutex and check our JSGlobalData pointer. If it has been zero-ed
out, then we know the VM has started to shutdown and we should kill ourselves. Otherwise, grab the APIEntryShim,
but without ref-ing the JSGlobalData (we don't want to bring the JSGlobalData's ref-count from 0 to 1) in case
we were interrupted between releasing our mutex and trying to grab the APILock.

  • heap/HeapTimer.h:

(HeapTimer):

  • heap/IncrementalSweeper.cpp:

(JSC::IncrementalSweeper::doWork): We no longer need the API shim here since HeapTimer::timerDidFire handles
all of that for us.
(JSC::IncrementalSweeper::create):

  • heap/IncrementalSweeper.h:

(IncrementalSweeper):

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateSlowCase):

  • heap/WeakBlock.cpp:

(JSC::WeakBlock::reap):

  • jsc.cpp:

(functionGC):
(functionReleaseExecutableMemory):
(jscmain):

  • runtime/Completion.cpp:

(JSC::checkSyntax):
(JSC::evaluate):

  • runtime/GCActivityCallback.h:

(DefaultGCActivityCallback):
(JSC::DefaultGCActivityCallback::create):

  • runtime/JSGlobalData.cpp:

(JSC::JSGlobalData::JSGlobalData):
(JSC::JSGlobalData::~JSGlobalData): Signals to the two HeapTimers (GCActivityCallback and IncrementalSweeper)
that the VM has started shutting down. It then waits until the HeapTimer is done with whatever activity
it needs to do before continuing with any further destruction. Also asserts that we do not currently hold the
APILock because this could potentially cause deadlock when we try to signal to the HeapTimers using their mutexes.
(JSC::JSGlobalData::sharedInstance): Protect the initialization for the shared instance with the GlobalJSLock.
(JSC::JSGlobalData::sharedInstanceInternal):

  • runtime/JSGlobalData.h: Change to be ThreadSafeRefCounted so that we don't have to worry about refing and

de-refing JSGlobalDatas on separate threads since we don't do it that often anyways.
(JSGlobalData):
(JSC::JSGlobalData::apiLock):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::~JSGlobalObject):
(JSC::JSGlobalObject::init):

  • runtime/JSLock.cpp:

(JSC):
(JSC::GlobalJSLock::GlobalJSLock): For accessing the shared instance.
(JSC::GlobalJSLock::~GlobalJSLock):
(JSC::JSLockHolder::JSLockHolder): MutexLocker for JSLock. Also refs the JSGlobalData to keep it alive so that
it can successfully unlock it later without it disappearing from underneath it.
(JSC::JSLockHolder::~JSLockHolder):
(JSC::JSLock::JSLock):
(JSC::JSLock::~JSLock):
(JSC::JSLock::lock): Uses the spin lock for guarding the lock count and owner thread fields. Uses the mutex for
actually waiting for long periods.
(JSC::JSLock::unlock):
(JSC::JSLock::currentThreadIsHoldingLock):
(JSC::JSLock::dropAllLocks):
(JSC::JSLock::dropAllLocksUnconditionally):
(JSC::JSLock::grabAllLocks):
(JSC::JSLock::DropAllLocks::DropAllLocks):
(JSC::JSLock::DropAllLocks::~DropAllLocks):

  • runtime/JSLock.h:

(JSC):
(GlobalJSLock):
(JSLockHolder):
(JSLock):
(DropAllLocks):

  • runtime/WeakGCMap.h:

(JSC::WeakGCMap::set):

  • testRegExp.cpp:

(realMain):

Source/WebCore:

No new tests. Current regression tests are sufficient.

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • bindings/js/GCController.cpp:

(WebCore::collect):
(WebCore::GCController::garbageCollectSoon):
(WebCore::GCController::garbageCollectNow):
(WebCore::GCController::discardAllCompiledCode):

  • bindings/js/JSCustomSQLStatementErrorCallback.cpp:

(WebCore::JSSQLStatementErrorCallback::handleEvent):

  • bindings/js/JSCustomVoidCallback.cpp:

(WebCore::JSCustomVoidCallback::handleEvent):

  • bindings/js/JSCustomXPathNSResolver.cpp:

(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):

  • bindings/js/JSErrorHandler.cpp:

(WebCore::JSErrorHandler::handleEvent):

  • bindings/js/JSEventCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSEventListener.cpp:

(WebCore::JSEventListener::handleEvent):

  • bindings/js/JSInjectedScriptHostCustom.cpp:

(WebCore::InjectedScriptHost::nodeAsScriptValue):
(WebCore::JSInjectedScriptHost::inspectedObject):

  • bindings/js/JSInjectedScriptManager.cpp:

(WebCore::InjectedScriptManager::createInjectedScript):
(WebCore::InjectedScriptManager::canAccessInspectedWindow):

  • bindings/js/JSLazyEventListener.cpp:

(WebCore::JSLazyEventListener::initializeJSFunction):

  • bindings/js/JSMainThreadExecState.h:

(WebCore::JSMainThreadExecState::evaluate):

  • bindings/js/JSMutationCallbackCustom.cpp:

(WebCore::JSMutationCallback::handleEvent):

  • bindings/js/JSNodeFilterCondition.cpp:

(WebCore::JSNodeFilterCondition::acceptNode):

  • bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:

(WebCore::JSRequestAnimationFrameCallback::handleEvent):

  • bindings/js/JavaScriptCallFrame.cpp:

(WebCore::JavaScriptCallFrame::evaluate):

  • bindings/js/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::recompileAllJSFunctions):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::executeFunctionInContext):

  • bindings/js/ScriptCachedFrameData.cpp:

(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
(WebCore::ScriptCachedFrameData::clear):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):
(WebCore::ScriptController::clearWindowShell):
(WebCore::ScriptController::initScript):
(WebCore::ScriptController::updateDocument):
(WebCore::ScriptController::cacheableBindingRootObject):
(WebCore::ScriptController::bindingRootObject):
(WebCore::ScriptController::windowScriptNPObject):
(WebCore::ScriptController::jsObjectForPluginElement):
(WebCore::ScriptController::clearScriptObjects):

  • bindings/js/ScriptControllerMac.mm:

(WebCore::ScriptController::windowScriptObject):

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::dispatchDidPause):

  • bindings/js/ScriptEventListener.cpp:

(WebCore::eventListenerHandlerBody):
(WebCore::eventListenerHandlerLocation):

  • bindings/js/ScriptFunctionCall.cpp:

(WebCore::ScriptCallArgumentHandler::appendArgument):
(WebCore::ScriptFunctionCall::call):
(WebCore::ScriptFunctionCall::construct):
(WebCore::ScriptCallback::call):

  • bindings/js/ScriptObject.cpp:

(WebCore::ScriptGlobalObject::set):
(WebCore::ScriptGlobalObject::get):
(WebCore::ScriptGlobalObject::remove):

  • bindings/js/ScriptValue.cpp:

(WebCore::ScriptValue::getString):
(WebCore::ScriptValue::toInspectorValue):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController):
(WebCore::WorkerScriptController::initScript):
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::disableEval):

  • bindings/objc/WebScriptObject.mm:

(_didExecute):
(-[WebScriptObject _setImp:originRootObject:rootObject:]):
(-[WebScriptObject _setOriginRootObject:andRootObject:]):
(-[WebScriptObject dealloc]):
(-[WebScriptObject finalize]):
(-[WebScriptObject callWebScriptMethod:withArguments:]):
(-[WebScriptObject evaluateWebScript:]):
(-[WebScriptObject setValue:forKey:]):
(-[WebScriptObject valueForKey:]):
(-[WebScriptObject removeWebScriptKey:]):
(-[WebScriptObject hasWebScriptKey:]):
(-[WebScriptObject stringRepresentation]):
(-[WebScriptObject webScriptValueAtIndex:]):
(-[WebScriptObject setWebScriptValueAtIndex:value:]):
(+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallbackImplementation):

  • bindings/scripts/test/JS/JSTestCallback.cpp:

(WebCore::JSTestCallback::callbackWithNoParam):
(WebCore::JSTestCallback::callbackWithClass1Param):
(WebCore::JSTestCallback::callbackWithClass2Param):
(WebCore::JSTestCallback::callbackWithStringList):
(WebCore::JSTestCallback::callbackWithBoolean):
(WebCore::JSTestCallback::callbackRequiresThisToPass):

  • bridge/NP_jsobject.cpp:

(_NPN_InvokeDefault):
(_NPN_Invoke):
(_NPN_Evaluate):
(_NPN_GetProperty):
(_NPN_SetProperty):
(_NPN_RemoveProperty):
(_NPN_HasProperty):
(_NPN_HasMethod):
(_NPN_Enumerate):
(_NPN_Construct):

  • bridge/c/c_class.cpp:

(JSC::Bindings::CClass::~CClass):
(JSC::Bindings::CClass::methodsNamed):
(JSC::Bindings::CClass::fieldNamed):

  • bridge/c/c_instance.cpp:

(JSC::Bindings::CInstance::moveGlobalExceptionToExecState):
(JSC::Bindings::CInstance::invokeMethod):
(JSC::Bindings::CInstance::invokeDefaultMethod):
(JSC::Bindings::CInstance::invokeConstruct):
(JSC::Bindings::CInstance::getPropertyNames):

  • bridge/c/c_runtime.cpp:

(JSC::Bindings::CField::valueFromInstance):
(JSC::Bindings::CField::setValueToInstance):

  • bridge/c/c_utility.cpp:

(JSC::Bindings::convertValueToNPVariant):
(JSC::Bindings::convertNPVariantToValue):

  • bridge/jni/jni_jsobject.mm:

(JavaJSObject::call):
(JavaJSObject::eval):
(JavaJSObject::getMember):
(JavaJSObject::setMember):
(JavaJSObject::removeMember):
(JavaJSObject::getSlot):
(JavaJSObject::setSlot):
(JavaJSObject::toString):
(JavaJSObject::convertValueToJObject):
(JavaJSObject::convertJObjectToValue):

  • bridge/jni/jni_objc.mm:

(JSC::Bindings::dispatchJNICall):

  • bridge/jni/jsc/JNIUtilityPrivate.cpp:

(JSC::Bindings::convertValueToJValue):

  • bridge/jni/jsc/JavaClassJSC.cpp:

(JavaClass::JavaClass):
(JavaClass::~JavaClass):

  • bridge/jni/jsc/JavaInstanceJSC.cpp:

(JavaInstance::stringValue):

  • bridge/jni/jsc/JavaMethodJSC.cpp:

(appendClassName):
(JavaMethod::signature):

  • bridge/jni/jsc/JavaStringJSC.h:

(JSC::Bindings::JavaString::JavaString):
(JSC::Bindings::JavaString::~JavaString):
(JSC::Bindings::JavaString::utf8):
(JSC::Bindings::JavaString::init):

  • bridge/jsc/BridgeJSC.cpp:

(JSC::Bindings::Instance::createRuntimeObject):
(JSC::Bindings::Instance::newRuntimeObject):

  • bridge/objc/objc_instance.mm:

(ObjcInstance::moveGlobalExceptionToExecState):
(ObjcInstance::invokeObjcMethod):
(ObjcInstance::invokeDefaultMethod):
(ObjcInstance::setValueOfUndefinedField):
(ObjcInstance::getValueOfUndefinedField):

  • bridge/objc/objc_runtime.mm:

(JSC::Bindings::ObjcField::valueFromInstance):
(JSC::Bindings::ObjcField::setValueToInstance):

  • bridge/objc/objc_utility.mm:

(JSC::Bindings::convertValueToObjcValue):
(JSC::Bindings::convertNSStringToString):
(JSC::Bindings::convertObjcValueToValue):

  • bridge/qt/qt_instance.cpp:

(JSC::Bindings::QtInstance::~QtInstance):
(JSC::Bindings::QtInstance::getQtInstance):
(JSC::Bindings::QtInstance::newRuntimeObject):

  • bridge/qt/qt_pixmapruntime.cpp:

(JSC::Bindings::QtPixmapInstance::createPixmapRuntimeObject):

  • bridge/qt/qt_runtime.cpp:

(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):

  • bridge/qt/qt_runtime_qt4.cpp:

(JSC::Bindings::convertValueToQVariant):
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMetaMethod::call):
(JSC::Bindings::QtRuntimeConnectionMethod::call):

  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::createImageBuffer):

  • html/HTMLImageLoader.cpp:

(WebCore::HTMLImageLoader::notifyFinished):

  • plugins/PluginView.cpp:

(WebCore::PluginView::start):
(WebCore::PluginView::stop):
(WebCore::PluginView::performRequest):
(WebCore::PluginView::npObject):
(WebCore::PluginView::privateBrowsingStateChanged):

  • plugins/blackberry/PluginViewBlackBerry.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::getWindowInfo):

  • plugins/efl/PluginViewEfl.cpp:

(WebCore::PluginView::dispatchNPEvent):

  • plugins/gtk/PluginViewGtk.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):

  • plugins/mac/PluginViewMac.mm:

(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::dispatchNPEvent):

  • plugins/qt/PluginViewQt.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::platformStart):

  • plugins/win/PluginViewWin.cpp:

(WebCore::PluginView::dispatchNPEvent):
(WebCore::PluginView::handleKeyboardEvent):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::setNPWindowRect):

  • testing/js/WebCoreTestSupport.cpp:

(WebCoreTestSupport::injectInternalsObject):
(WebCoreTestSupport::resetInternalsObject):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::dropProtection):

Source/WebKit/blackberry:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • Api/BlackBerryGlobal.cpp:

(BlackBerry::WebKit::clearMemoryCaches):

  • WebCoreSupport/ClientExtension.cpp:
  • WebCoreSupport/PagePopupBlackBerry.cpp:

(WebCore::PagePopupBlackBerry::installDomFunction):

  • WebKitSupport/DumpRenderTreeSupport.cpp:

(DumpRenderTreeSupport::computedStyleIncludingVisitedInfo):

Source/WebKit/efl:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • ewk/ewk_frame.cpp:

(ewk_frame_script_execute):

  • ewk/ewk_view.cpp:

(ewk_view_js_object_add):

Source/WebKit/gtk:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:

(DumpRenderTreeSupportGtk::gcCountJavascriptObjects):

Source/WebKit/mac:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • DOM/WebDOMOperations.mm:

(JSC):

  • Misc/WebCoreStatistics.mm:

(+[WebCoreStatistics javaScriptObjectsCount]):
(+[WebCoreStatistics javaScriptGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedGlobalObjectsCount]):
(+[WebCoreStatistics javaScriptProtectedObjectTypeCounts]):
(+[WebCoreStatistics javaScriptObjectTypeCounts]):
(+[WebCoreStatistics shouldPrintExceptions]):
(+[WebCoreStatistics setShouldPrintExceptions:]):
(+[WebCoreStatistics memoryStatistics]):
(+[WebCoreStatistics javaScriptReferencedObjectsCount]):

  • Plugins/Hosted/NetscapePluginInstanceProxy.mm:

(WebKit::NetscapePluginInstanceProxy::evaluate):
(WebKit::NetscapePluginInstanceProxy::invoke):
(WebKit::NetscapePluginInstanceProxy::invokeDefault):
(WebKit::NetscapePluginInstanceProxy::construct):
(WebKit::NetscapePluginInstanceProxy::getProperty):
(WebKit::NetscapePluginInstanceProxy::setProperty):
(WebKit::NetscapePluginInstanceProxy::removeProperty):
(WebKit::NetscapePluginInstanceProxy::hasMethod):
(WebKit::NetscapePluginInstanceProxy::enumerate):
(WebKit::NetscapePluginInstanceProxy::addValueToArray):
(WebKit::NetscapePluginInstanceProxy::moveGlobalExceptionToExecState):

  • Plugins/WebNetscapePluginStream.mm:

(WebNetscapePluginStream::wantsAllStreams):

  • Plugins/WebNetscapePluginView.mm:

(-[WebNetscapePluginView sendEvent:isDrawRect:]):
(-[WebNetscapePluginView privateBrowsingModeDidChange]):
(-[WebNetscapePluginView setWindowIfNecessary]):
(-[WebNetscapePluginView createPluginScriptableObject]):
(-[WebNetscapePluginView getFormValue:]):
(-[WebNetscapePluginView evaluateJavaScriptPluginRequest:]):
(-[WebNetscapePluginView webFrame:didFinishLoadWithReason:]):
(-[WebNetscapePluginView loadPluginRequest:]):
(-[WebNetscapePluginView _printedPluginBitmap]):

  • Plugins/WebPluginController.mm:

(+[WebPluginController plugInViewWithArguments:fromPluginPackage:]):
(-[WebPluginController stopOnePlugin:]):
(-[WebPluginController destroyOnePlugin:]):
(-[WebPluginController startAllPlugins]):
(-[WebPluginController addPlugin:]):

  • WebView/WebFrame.mm:

(-[WebFrame _stringByEvaluatingJavaScriptFromString:forceUserGesture:]):
(-[WebFrame _stringByEvaluatingJavaScriptFromString:withGlobalObject:inScriptWorld:]):

  • WebView/WebScriptDebugDelegate.mm:

(-[WebScriptCallFrame scopeChain]):
(-[WebScriptCallFrame evaluateWebScript:]):

  • WebView/WebView.mm:

(+[WebView _reportException:inContext:]):
(-[WebView aeDescByEvaluatingJavaScriptFromString:]):
(-[WebView _computedStyleIncludingVisitedInfo:forElement:]):

Source/WebKit/qt:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • Api/qwebframe.cpp:

(QWebFramePrivate::addQtSenderToGlobalObject):
(QWebFrame::addToJavaScriptWindowObject):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::injectInternalsObject):
(DumpRenderTreeSupportQt::resetInternalsObject):

Source/WebKit/win:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • WebCoreStatistics.cpp:

(WebCoreStatistics::javaScriptObjectsCount):
(WebCoreStatistics::javaScriptGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectsCount):
(WebCoreStatistics::javaScriptProtectedGlobalObjectsCount):
(WebCoreStatistics::javaScriptProtectedObjectTypeCounts):

  • WebFrame.cpp:

(WebFrame::stringByEvaluatingJavaScriptInScriptWorld):

  • WebJavaScriptCollector.cpp:

(WebJavaScriptCollector::objectCount):

  • WebView.cpp:

(WebView::stringByEvaluatingJavaScriptFromString):
(WebView::reportException):
(WebView::elementFromJS):

Source/WebKit2:

Changed all sites that used JSLock to instead use the new JSLockHolder
and pass in the correct JS context that the code is about to interact with that
needs protection.

  • Shared/mac/WebMemorySampler.mac.mm:

(WebKit::WebMemorySampler::sampleWebKit):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::javaScriptObjectsCount):
(WebKit::InjectedBundle::reportException):

  • WebProcess/Plugins/Netscape/JSNPObject.cpp:

(WebKit::JSNPObject::callMethod):
(WebKit::JSNPObject::callObject):
(WebKit::JSNPObject::callConstructor):
(WebKit::JSNPObject::put):
(WebKit::JSNPObject::deleteProperty):
(WebKit::JSNPObject::getOwnPropertyNames):
(WebKit::JSNPObject::propertyGetter):

  • WebProcess/Plugins/Netscape/NPJSObject.cpp:

(WebKit::NPJSObject::hasMethod):
(WebKit::NPJSObject::invoke):
(WebKit::NPJSObject::invokeDefault):
(WebKit::NPJSObject::hasProperty):
(WebKit::NPJSObject::getProperty):
(WebKit::NPJSObject::setProperty):
(WebKit::NPJSObject::removeProperty):
(WebKit::NPJSObject::enumerate):
(WebKit::NPJSObject::construct):

  • WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:

(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
(WebKit::NPRuntimeObjectMap::evaluate):
(WebKit::NPRuntimeObjectMap::moveGlobalExceptionToExecState):

  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::jsWrapperForWorld):
(WebKit::WebFrame::computedStyleIncludingVisitedInfo):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::runJavaScriptInMainFrame):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::getWebCoreStatistics):

14:28 Changeset [121057] by fsamuel@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[Chromium] Browser Plugin: Expose advanceFocus to WebKit API so that guests can advance focus of theirs embedders
https://bugs.webkit.org/show_bug.cgi?id=88827

Reviewed by Darin Fisher.

A browser plugin needs to be able to tells its embedder when the guest
is done tabbing through controls and wants its embedder to advance its
tab position.

  • public/WebView.h:

(WebView):
(WebKit::WebView::advanceFocus):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::advanceFocus):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):

13:59 Changeset [121056] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

editing/spelling/grammar-edit-word.html fails on WK2 bots
https://bugs.webkit.org/show_bug.cgi?id=89199

  • platform/mac-wk2/Skipped:
13:45 Changeset [121055] by commit-queue@webkit.org
  • 20 edits in trunk

[Chromium] Change implementing a fast-path for copying GPU-accelerated Canvas2D instances to WebGL textures.
https://bugs.webkit.org/show_bug.cgi?id=86275

This change adds the necessary plumbing to the various rendering contexts to copy the backing store texture of
a Canvas2D instance to be copied to a WebGL texture. The GL_CHROMIUM_copy_texture extension is necessary
because the backing-store for a GPU-accelerated skia Canvas2D is normally in BGRA format, which is not supported
by glCopyTexImage.

Patch by Jeff Timanus <twiz@chromium.org> on 2012-06-22
Reviewed by Kenneth Russell.

Source/Platform:

  • chromium/public/WebGraphicsContext3D.h:

(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::copyTextureCHROMIUM):

Source/WebCore:

Test: fast/canvas/webgl/*

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore):
(WebCore::WebGLRenderingContext::texImage2D):

  • platform/chromium/support/Extensions3DChromium.cpp:

(WebCore::Extensions3DChromium::copyTextureCHROMIUM):
(WebCore):

  • platform/graphics/Extensions3D.h:

(Extensions3D):

  • platform/graphics/ImageBuffer.cpp:

(WebCore):
(WebCore::ImageBuffer::copyToPlatformTexture):

  • platform/graphics/ImageBuffer.h:

(WebCore):
(ImageBuffer):

  • platform/graphics/chromium/Canvas2DLayerBridge.cpp:

(WebCore::Canvas2DLayerBridge::backBufferTexture):
(WebCore):

  • platform/graphics/chromium/Canvas2DLayerBridge.h:

(Canvas2DLayerBridge):

  • platform/graphics/chromium/Extensions3DChromium.h:

(Extensions3DChromium):

  • platform/graphics/opengl/Extensions3DOpenGL.cpp:

(WebCore::Extensions3DOpenGL::copyTextureCHROMIUM):
(WebCore):

  • platform/graphics/opengl/Extensions3DOpenGL.h:

(Extensions3DOpenGL):

  • platform/graphics/qt/Extensions3DQt.cpp:

(WebCore::Extensions3DQt::copyTextureCHROMIUM):
(WebCore):

  • platform/graphics/qt/Extensions3DQt.h:

(Extensions3DQt):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::ImageBuffer::copyToPlatformTexture):
(WebCore):

Source/WebKit/chromium:

  • DEPS: Rolled chromium to 143630 to fix chromium-linux ews failures.

LayoutTests:

  • platform/chromium/TestExpectations: Temporarily suppressed layout test, fast/canvas/webgl/gl-teximage.html until a rebaseline can be submitted.
13:37 Changeset [121054] by kbr@google.com
  • 2 edits in trunk/LayoutTests

Layout Test media/event-attributes.html is failing
https://bugs.webkit.org/show_bug.cgi?id=73692

Unreviewed test expectations update; mark test as occasionally
crashing as well.

  • platform/chromium/TestExpectations:
13:28 Changeset [121053] by commit-queue@webkit.org
  • 23 edits in trunk/Source

Add url to supportsType
https://bugs.webkit.org/show_bug.cgi?id=89514

Patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2012-06-22
Reviewed by Eric Carlson.

No new tests since there's no change on code behavior.

When a blob is created as the address for a Media Stream, the MediaEngine
will ask it's players if they support that media. However, a player built
for MediaStream needs to know to URL to decide if it's supported or not.

  • dom/DOMImplementation.cpp:

(WebCore::DOMImplementation::createDocument):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::canPlayType):
(WebCore::HTMLMediaElement::selectNextSourceChild):

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(MediaPlayerFactory):
(WebCore::MediaPlayerFactory::MediaPlayerFactory):
(WebCore):
(WebCore::textPlain):
(WebCore::bestMediaEngineForTypeAndCodecs):
(WebCore::MediaPlayer::load):
(WebCore::MediaPlayer::loadWithNextMediaEngine):
(WebCore::MediaPlayer::paint):
(WebCore::MediaPlayer::supportsType):

  • platform/graphics/MediaPlayer.h:

(WebCore):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:

(WebCore::MediaPlayerPrivateAVFoundationCF::supportsType):

  • platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.h:

(MediaPlayerPrivateAVFoundationCF):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:

(MediaPlayerPrivateAVFoundationObjC):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:

(WebCore::MediaPlayerPrivate::supportsType):

  • platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:

(MediaPlayerPrivate):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:

(MediaPlayerPrivateGStreamer):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:

(MediaPlayerPrivateQTKit):

  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::supportsType):

  • platform/graphics/qt/MediaPlayerPrivateQt.cpp:

(WebCore::MediaPlayerPrivateQt::supportsType):

  • platform/graphics/qt/MediaPlayerPrivateQt.h:

(MediaPlayerPrivateQt):

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:

(WebCore::MediaPlayerPrivateQuickTimeVisualContext::supportsType):

  • platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:

(MediaPlayerPrivateQuickTimeVisualContext):

  • platform/graphics/wince/MediaPlayerPrivateWinCE.h:

(MediaPlayerPrivate):

13:26 Changeset [121052] by jonlee@apple.com
  • 2 edits in trunk/LayoutTests

fast/canvas/canvas-createImageData.html crashes on Lion WK2 Debug bot
https://bugs.webkit.org/show_bug.cgi?id=89780

  • platform/mac-wk2/Skipped: Add to skipped list for wk2.
13:10 Changeset [121051] by commit-queue@webkit.org
  • 10 edits in trunk

[BlackBerry] Sanitize GLSL code using ANGLE.

BlackBerry port does not sanitize GLSL code with ANGLE
https://bugs.webkit.org/show_bug.cgi?id=89583

Patch by Joshua Netterfield <jnetterfield@rim.com> on 2012-06-22
Reviewed by Rob Buis.

.:

  • Source/cmake/OptionsBlackBerry.cmake: Include ANGLE openGL headers as system headers in BlackBerry port.

Source/ThirdParty/ANGLE:

  • src/compiler/osinclude.h: Recognises QNX as POSIX

Source/WebCore:

No new tests are required.

  • CMakeLists.txt: Added ANGLE requirment for CMake builds with WEBGL
  • platform/graphics/ANGLEWebKitBridge.h: Added include for ANGLE/ShaderLang.h in BlackBerry platform.
  • platform/graphics/GraphicsContext3D.h: Added include for ANGLEWebKitBridge.h in BlackBerry platform.

Source/WebKit:

  • PlatformBlackBerry.cmake: Add ANGLE sources to BlackBerry builds.
13:06 Changeset [121050] by mitz@apple.com
  • 3 edits
    2 adds in trunk

RenderText’s minimum preferred width is incorrect when soft hyphens are used
https://bugs.webkit.org/show_bug.cgi?id=89775

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/text/soft-hyphen-min-preferred-width.html

  • rendering/RenderText.cpp:

(WebCore::hyphenWidth): Added this helper function.
(WebCore::RenderText::computePreferredLogicalWidths): In places where this function tests
for the soft hyphen character, added a check that the 'hyphens' style property is not set
to 'none', because in that case soft hyphens are not break opportunities. Also added an
explicit check to suppress break opportunities from isBreakable() if the occur after a
soft hyphen and 'hyphens' is set to 'none'. Finally, when measuring text up to a potential
line break, added the width of the hyphen string when needed.

LayoutTests:

  • fast/text/soft-hyphen-min-preferred-width-expected.html: Added.
  • fast/text/soft-hyphen-min-preferred-width.html: Added.
12:16 Changeset [121049] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Tap highlight fade animations are added to overlay continuously during pinch zoom.
https://bugs.webkit.org/show_bug.cgi?id=89772

Patch by Andrew Lo <anlo@rim.com> on 2012-06-22
Reviewed by Antonio Gomes.

When pinch zooming, DefaultTapHighlight::hide is continuously
called from the UI thread. This resulted in fade animations being
created and added to the override overlay continuously.

This patch moves the m_visible check so that it applies for both
threads.

Internal PR164183

  • WebKitSupport/DefaultTapHighlight.cpp:

(BlackBerry::WebKit::DefaultTapHighlight::draw):
(BlackBerry::WebKit::DefaultTapHighlight::hide):

  • WebKitSupport/DefaultTapHighlight.h:

(DefaultTapHighlight):

12:10 Changeset [121048] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

BitmapImage duplicates code to calculate size
https://bugs.webkit.org/show_bug.cgi?id=89728
<rdar://problem/11724321>

Reviewed by Darin Adler.

Add a new updateSize method to BitmapImage that
avoids duplication in the size and
sizeRespectingOrientation methods.

No new tests needed.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::updateSize): new method that will set
m_size and m_sizeRespectingOrientation if necessary.
(WebCore):
(WebCore::BitmapImage::size):
(WebCore::BitmapImage::sizeRespectingOrientation): these each
now call updateSize rather than duplicate the update code.

  • platform/graphics/BitmapImage.h:

(BitmapImage):

11:55 Changeset [121047] by arv@chromium.org
  • 3 edits in trunk/Source/WebCore

[V8] Clean up visitDOMWrapper code
https://bugs.webkit.org/show_bug.cgi?id=89774

Reviewed by Tony Chang.

This moves the check if domWrapperVisitorFunction is null into a function of the WrapperTypeInfo struct.
This is so that users of WrapperTypeInfo does not need to know about the inner details of the struct.
It also makes things more consistent since the other fields in the struct have these kind of functions.

This is a follow up change to http://trac.webkit.org/changeset/120854.

No new tests. Covered by existing tests.

  • bindings/v8/V8GCController.cpp:

(WebCore::GrouperVisitor::visitDOMWrapper): Call WrapperTypeInfo::visitDOMWrapper instead.

  • bindings/v8/WrapperTypeInfo.h:

(WrapperTypeInfo):
(WebCore::WrapperTypeInfo::visitDOMWrapper): If domWrapperVisitorFunction is non null call it.

11:47 Changeset [121046] by caseq@chromium.org
  • 5 edits in trunk

Web Inspector: ExtensionPanel.onSearch listener doesn't work
https://bugs.webkit.org/show_bug.cgi?id=89517

Patch by Jan Keromnes <janx@linux.com> on 2012-06-22
Reviewed by Yury Semikhatsky.

Source/WebCore:

Added a test to see if listener fires on search:
LayoutTests/inspector/extensions/extensions-panel.html

  • inspector/front-end/ExtensionPanel.js:

(WebInspector.ExtensionPanel.prototype.searchCanceled):
(WebInspector.ExtensionPanel.prototype.performSearch):
(WebInspector.ExtensionPanel.prototype.jumpToNextSearchResult):
(WebInspector.ExtensionPanel.prototype.jumpToPreviousSearchResult):

LayoutTests:

  • inspector/extensions/extensions-panel-expected.txt:
  • inspector/extensions/extensions-panel.html:
11:40 Changeset [121045] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Set WebSecurityEnabled flag accordingly.
https://bugs.webkit.org/show_bug.cgi?id=89602

Patch by Yong Li <yoli@rim.com> on 2012-06-22
Reviewed by Rob Buis.

Disable web security checks if needed.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::init):
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

11:32 Changeset [121044] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Increase the GrContext texture cache count cap to 2K
https://bugs.webkit.org/show_bug.cgi?id=89761

Patch by Brian Salomon <bsalomon@google.com> on 2012-06-22
Reviewed by Stephen White.

Tests: The change is for performance. The code is exercised by all the canvas 2d layout tests.

  • platform/chromium/support/GraphicsContext3DPrivate.cpp:
11:25 Changeset [121043] by commit-queue@webkit.org
  • 18 edits in trunk

[Chromium] Adjust the displayed elements of the new Chrome media controls.
https://bugs.webkit.org/show_bug.cgi?id=89416

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-22
Reviewed by Eric Carlson.

Source/WebCore:

No new tests - existing media tests cover these cases.

Remove the volume slider for videos without audio or media resource.
Display the transport bar for videos without a media resource.
Don't show the fullscreen button for

  • html/shadow/MediaControlRootElementChromium.cpp:

(WebCore::MediaControlRootElementChromium::reset):
Don't display volume slider if media controller has no audio.
Don't display fullscreen button if media controller supportsFullscreen().
(WebCore::MediaControlRootElementChromium::reportedError):
Don't hide the timeline for failed videos, e.g. where the resource doesn't load.

LayoutTests:

  • platform/chromium/TestExpectations:

Skipping a test temporarily for win and mac until rebaseline.

11:22 Changeset [121042] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Elements] Right-clicking on whitespace should show the same context menu as right-clicking on the tag text
https://bugs.webkit.org/show_bug.cgi?id=89766

Reviewed by Vsevolod Vlasov.

Explicitly check for the TreeElement.representedObject's nodeType()
rather than for the event target's enclosing element class.
Drive-by: do not consider the "collapsed node has children" ellipsis as a text node.

  • inspector/front-end/ElementsTreeOutline.js:

(WebInspector.ElementsTreeOutline.prototype.populateContextMenu):

11:19 Changeset [121041] by fmalita@chromium.org
  • 3 edits
    2 adds in trunk

REGRESSION (Safari 5.1.5 - ToT): Crash in RenderSVGRoot::computeReplacedLogicalWidth
https://bugs.webkit.org/show_bug.cgi?id=85797

Reviewed by Darin Adler.

Source/WebCore:

Test: svg/custom/svg-width-intrinsic-crash.html

RenderSVGRoot::computeReplacedLogicalWidth assumes that if
SVGSVGElement::widthAttributeEstablishesViewport returns false, the
SVG must be embedded via <object>. This is not always the case, though:
widthAttributeEstablishesViewport can also return false for inline
SVG if it doesn't have a replaced logical width.

Updated computeReplacedLogical{Width,Height} to handle the
!widthAttributeEstablishesViewport && !isEmbeddedThroughFrameContainingSVGDocument
case gracefully.

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
(WebCore::RenderSVGRoot::computeReplacedLogicalHeight):

LayoutTests:

  • svg/custom/svg-width-intrinsic-crash-expected.txt: Added.
  • svg/custom/svg-width-intrinsic-crash.html: Added.
11:10 Changeset [121040] by hayato@chromium.org
  • 4 edits in trunk

Modify event re-targeting algorithm so that we can tell which distributed node is clicked.
https://bugs.webkit.org/show_bug.cgi?id=89073

Reviewed by Dimitri Glazkov.

Source/WebCore:

Re-landing r120945 since bug 89172 was resolved.

Adopt a new event re-targeting algorithm in the latest Shadow DOM spec.
The corresponding bug in the shadow DOM spec is:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=17090

This change is introduced to handle the following use case:

  1. There is an insertion point, with zero or more nodes distributed into it.
  2. User clicks on one of the items.
  3. The event handler in shadow DOM subtree wants to know which item was clicked on.

The new re-targeting algorithm sets an event's target to a
distributed node where an event was originally fired, instead of
an insertion point to where the node is distributed.

The similar re-targeting algorithm also applies to an event's
relatedTarget.

Test: fast/dom/shadow/shadow-dom-event-dispatching.html

  • dom/EventDispatcher.cpp:

(WebCore::EventRelatedTargetAdjuster::adjust):
(WebCore::EventDispatcher::ensureEventAncestors):

LayoutTests:

  • fast/dom/shadow/shadow-dom-event-dispatching-expected.txt:
11:07 Changeset [121039] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed follow-up to r121030, fix display of "Duration" in timeline event details popup.

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):

10:50 Changeset [121038] by lforschler@apple.com
  • 4 edits in branches/safari-536-branch/Source

Versioning.

10:47 Changeset [121037] by lforschler@apple.com
  • 1 copy in tags/Safari-536.23

New Tag.

10:42 Changeset [121036] by kbr@google.com
  • 7 edits
    1 delete in trunk/Source

Unreviewed, rolling out r121025.
http://trac.webkit.org/changeset/121025
https://bugs.webkit.org/show_bug.cgi?id=89580

Caused crash in
EventHandler.shouldTurnVerticalTicksIntoHorizontal webkit unit
test on 10.7

Source/WebCore:

  • page/EventHandler.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
(WebCore::EventHandler::handleWheelEvent):

  • page/EventHandler.h:

(EventHandler):

  • page/chromium/EventHandlerChromium.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):

  • page/gtk/EventHandlerGtk.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/EventHandlerTest.cpp: Removed.
10:40 Changeset [121035] by apavlov@chromium.org
  • 2 edits in branches/chromium/1180/Source/WebCore/platform

Merge 120850 - Regression(r116408): Ctrl-A (select all) on large text file hangs the tab with high CPU usage
https://bugs.webkit.org/show_bug.cgi?id=89562

Reviewed by Ryosuke Niwa.

Rather than replace the newlines in-place (in O(n2)), build a new string using StringBuilder, which takes O(n).

No new tests, this is a perf improvement.

  • platform/chromium/ClipboardUtilitiesChromium.cpp:

(WebCore::replaceNewlinesWithWindowsStyleNewlines):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::replaceNewlinesWithWindowsStyleNewlines):

TBR=tony@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10626020

10:11 Changeset [121034] by lforschler@apple.com
  • 2 edits in branches/safari-536-branch/Source/WebCore

Merged r120954 <rdar://problem/11718988>

09:55 Changeset [121033] by caseq@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: only increase length for timeline bars below minimal width
https://bugs.webkit.org/show_bug.cgi?id=89727

Reviewed by Pavel Feldman.

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineCalculator.prototype.setDisplayWindow):
(WebInspector.TimelineRecordGraphRow.prototype.update):

09:49 Changeset [121032] by ddkilzer@apple.com
  • 2 edits in trunk/Source/WebCore

BUILD FIX: FormController.cpp fails to build on 32-bit architectures

This fixes the following build failure introduced in r121004 for
Bug 89628:

FormController.cpp:62:36: error: implicit conversion loses integer precision: 'uint64_t' (aka 'unsigned long long') to 'size_t' (aka 'unsigned long') [-Werror,-Wshorten-64-to-32]

state.m_values.reserveCapacity(valueSize);
~

  • html/FormController.cpp:

(WebCore::FormControlState::deserialize): Change type of
valueSize from uint64_t to size_t.

09:48 Changeset [121031] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in DragController::concludeEditDrag.
https://bugs.webkit.org/show_bug.cgi?id=89762

Reviewed by Ryosuke Niwa.

Source/WebCore:

RefPtr the innerFrame since it can get destroyed due to mutation
event fired in DragController::dispatchTextInputEventFor().

Test: editing/pasteboard/drop-text-events-sideeffect-crash.html

  • page/DragController.cpp:

(WebCore::DragController::concludeEditDrag):

LayoutTests:

  • editing/pasteboard/drop-text-events-sideeffect-crash-expected.txt: Added.
  • editing/pasteboard/drop-text-events-sideeffect-crash.html: Added.
09:46 Changeset [121030] by caseq@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: timeline event details popup misses CPU time
https://bugs.webkit.org/show_bug.cgi?id=89765

Reviewed by Pavel Feldman.

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):

09:23 Changeset [121029] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[Blackberry] BlackBerry::Platform::Settings::get() rename to BlackBerry::Platform::Settings::instance() to make it consistent with our other singletons
https://bugs.webkit.org/show_bug.cgi?id=89684

Patch by Parth Patel <parpatel@rim.com> on 2012-06-22
Reviewed by Yong Li.

Build Fix-Typo Update setting instance access to use instance() instead of get().

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::isInputModeEnabled):

09:20 Changeset [121028] by peter@chromium.org
  • 11 edits in trunk

[Chromium] Disable c++0x compatibility warnings in JavaScriptCore.gyp when building for Android
https://bugs.webkit.org/show_bug.cgi?id=88853

Reviewed by Steve Block.

The Android exclusions were necessary to fix a gyp generation error, as
the gcc_version variable wasn't being defined for Android. Remove these
exceptions when Chromium is able to define the gcc_version variable.

Source/JavaScriptCore:

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:

Source/WebKit/chromium:

  • WebKit.gyp:
  • WebKitUnitTests.gyp:

Source/WTF:

  • WTF.gyp/WTF.gyp:

Tools:

  • DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
09:00 Changeset [121027] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

[Shadow] parentTreeScope() of nested shadow DOM subtree returns document().
https://bugs.webkit.org/show_bug.cgi?id=89172

Patch by Takashi Sakamoto <tasak@google.com> on 2012-06-22
Reviewed by Hajime Morita.

Source/WebCore:

Added setParentTreeScope to set parent treescope of shadow root to be
host's treescope in ElementShadow::addShadowRoot.

Test: fast/dom/shadow/parent-tree-scope-in-shadow.html

  • dom/ElementShadow.cpp:

(WebCore::ElementShadow::addShadowRoot):
Added setParentTreeScope.

  • testing/Internals.cpp:

(WebCore::Internals::parentTreeScope):
Newly added. This method returns a parent tree scope's root node of
a given node, because a tree scope's root node is either document node
or shadow root node and both nodes derive from TreeScope. So root nodes
are treated as TreeScope.

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Added parentTreeScope.

LayoutTests:

  • fast/dom/shadow/parent-tree-scope-in-shadow-expected.txt: Added.
  • fast/dom/shadow/parent-tree-scope-in-shadow.html: Added.
08:20 Changeset [121026] by tony@chromium.org
  • 9 edits in trunk

-webkit-flex-flow shouldn't be an enumerable property of the computed style
https://bugs.webkit.org/show_bug.cgi?id=89698

Reviewed by Ojan Vafai.

Source/WebCore:

flex-flow is a shorthand for flex-direction and flex-wrap:
http://dev.w3.org/csswg/css3-flexbox/#flex-flow-property
Shorthand properties should not be enumerable in the computed style, although you can still
get the value from the computed style.

Tests: css3/flexbox/css-properties.html: New test case added.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore):

LayoutTests:

  • css3/flexbox/css-properties-expected.txt:
  • css3/flexbox/css-properties.html:
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:
  • svg/css/getComputedStyle-basic-expected.txt:
08:18 Changeset [121025] by rjkroege@chromium.org
  • 7 edits
    1 add in trunk/Source

Suppress horizontal conversion of PlatformWheelEvents when hasPreciseScrollingDeltas is true
https://bugs.webkit.org/show_bug.cgi?id=89580

Source/WebCore:

WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars. This is
undesirable for touchpad scrolling with
hasPreciseScrollingDeltas() == true. Modified shouldTurnVerticalTicksIntoHorizontal
to not perform this conversion for PlatformWheelEvents with preciseScrollingDeltas.

Reviewed by Adam Barth.

Unit tests in EventHandlerTest.cpp

  • page/EventHandler.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):
(WebCore::EventHandler::handleWheelEvent):

  • page/EventHandler.h:

(EventHandler):

  • page/chromium/EventHandlerChromium.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):

  • page/gtk/EventHandlerGtk.cpp:

(WebCore::EventHandler::shouldTurnVerticalTicksIntoHorizontal):

Source/WebKit/chromium:

WebKit GTK and Chromium Linux force vertical wheel events to
scroll horizontally when over horizontal scroll bars. This is
undesirable for touchpad scrolling with hasPreciseScrollingDeltas() == true.

Added unit tests to show that
EventHandler::shouldTurnVerticalTicksIntoHorizontal() is true
only for PlatformWheelEvents when !hasPreciseScrollingDeltas().

Reviewed by Adam Barth.

  • WebKit.gypi:
  • tests/EventHandlerTest.cpp: Added.

(MockScrollbar):
(MockScrollbar::MockScrollbar):
(MockScrollbar::~MockScrollbar):
(MockHitTestResult):
(MockHitTestResult::MockHitTestResult):
(MockHitTestResult::scrollbar):
(MockPlatformWheelEvent):
(MockPlatformWheelEvent::MockPlatformWheelEvent):
(EventHandlerTest):
(EventHandlerTest::EventHandlerTest):
(EventHandlerTest::externalShouldTurnVerticalTicksIntoHorizontal):
(TEST):

07:47 Changeset [121024] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip failing test after r121019.
https://bugs.webkit.org/show_bug.cgi?id=89760

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2012-06-22

  • platform/qt/Skipped:
07:21 Changeset [121023] by ossy@webkit.org
  • 1 edit
    6 adds in trunk/LayoutTests

[Qt] Unreviewed gardening after r120924.

  • platform/qt-5.0-wk1/editing/inserting/4960120-1-expected.png: Added.
  • platform/qt-5.0-wk1/editing/inserting/4960120-1-expected.txt: Added.
  • platform/qt-5.0-wk1/editing/inserting/before-after-input-element-expected.png: Added.
  • platform/qt-5.0-wk1/editing/inserting/before-after-input-element-expected.txt: Added.
07:08 Changeset [121022] by loislo@chromium.org
  • 19 edits
    1 add in trunk

Web Inspector: partially instrument DOM Tree native memory.
https://bugs.webkit.org/show_bug.cgi?id=89568

PerformanceTests:

This patch adds MemoryInstrumentation class that counts all visited
objects and calls reportMemoryUsage.

Reviewed by Yury Semikhatsky.

  • inspector/native-memory-snapshot.html:

Source/WebCore:

This patch adds MemoryInstrumentation class that counts all visited
objects and calls reportMemoryUsage for the instrumented classes.

Reviewed by Yury Semikhatsky.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/ScriptWrappable.h:

(WebCore::ScriptWrappable::reportMemoryUsage):
(ScriptWrappable):

  • bindings/v8/ScriptWrappable.h:

(WebCore::ScriptWrappable::reportMemoryUsage):
(ScriptWrappable):

  • css/StylePropertySet.h:

(WebCore::StylePropertySet::reportMemoryUsage):
(StylePropertySet):

  • dom/ContainerNode.h:

(WebCore::ContainerNode::reportMemoryUsage):
(ContainerNode):

  • dom/Element.h:

(WebCore::Element::reportMemoryUsage):
(Element):

  • dom/ElementAttributeData.h:

(WebCore::ElementAttributeData::reportMemoryUsage):
(ElementAttributeData):

  • dom/MemoryInstrumentation.h: Added.

(WebCore):
(MemoryInstrumentation):
(WebCore::MemoryInstrumentation::~MemoryInstrumentation):
(WebCore::MemoryInstrumentation::reportObject):
(WebCore::MemoryInstrumentation::reportPointer):
(MemoryObjectInfo):
(WebCore::MemoryObjectInfo::MemoryObjectInfo):
(WebCore::MemoryObjectInfo::reportInstrumentedPointer):
(WebCore::MemoryObjectInfo::reportPointer):
(WebCore::MemoryObjectInfo::reportInstrumentedObject):
(WebCore::MemoryObjectInfo::reportObject):
(WebCore::MemoryObjectInfo::reportObjectInfo):
(WebCore::MemoryObjectInfo::objectType):
(WebCore::MemoryObjectInfo::objectSize):
(WebCore::MemoryInstrumentation::reportInstrumentedPointer):
(WebCore::MemoryInstrumentation::reportInstrumentedObject):

  • dom/Node.cpp:

(WebCore::Node::reportMemoryUsage):
(WebCore):

  • dom/Node.h:

(Node):

  • dom/QualifiedName.h:

(WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
(WebCore::QualifiedName::reportMemoryUsage):

  • inspector/InspectorMemoryAgent.cpp:

(MemoryBlockName):
(WebCore):
(WebCore::addMemoryBlockFor):
(WebCore::domTreeInfo):
(WebCore::memoryCacheInfo):
(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

  • platform/TreeShared.h:

(WebCore::TreeShared::reportMemoryUsage):
(TreeShared):

06:56 Changeset [121021] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: Support 'Restart frame' in inspector frontend
https://bugs.webkit.org/show_bug.cgi?id=89678

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-06-22
Reviewed by Pavel Feldman.

Action is added to call frame placard's context menu. Context menu is now built
on a call frame level rather than on callback sidebar level.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/CallStackSidebarPane.js:

(WebInspector.CallStackSidebarPane):
(WebInspector.CallStackSidebarPane.prototype.update):
(WebInspector.CallStackSidebarPane.Placard):
(WebInspector.CallStackSidebarPane.Placard.prototype._update):
(WebInspector.CallStackSidebarPane.Placard.prototype._placardContextMenu):
(_restartFrame):

  • inspector/front-end/DebuggerModel.js:

(WebInspector.DebuggerModel.prototype.rawLocationToUILocation):
(WebInspector.DebuggerModel.prototype.callStackModified):
(WebInspector.DebuggerModel.CallFrame.prototype.restart):

  • inspector/front-end/Script.js:

(WebInspector.Script.prototype.editSource):

06:24 Changeset [121020] by commit-queue@webkit.org
  • 8 edits in trunk/Source

[Qt] Fix the remote inspector loading problems on Mac
https://bugs.webkit.org/show_bug.cgi?id=89747

Patch by Jocelyn Turcotte <turcotte.j@gmail.com> on 2012-06-22
Reviewed by Simon Hausmann.

Source/WebCore:

Make sure that the state of a SocketStreamHandle is set properly
when created from an existing QTcpSocket.

This fixes the inspectorserver Qt api auto test on Mac.

  • platform/network/qt/SocketStreamHandleQt.cpp:

(WebCore::SocketStreamHandle::SocketStreamHandle):

Source/WebKit2:

Reverse the creation order of the inter-dependent WebSocketServerConnection
and SocketStreamHandle to make sure that the later has a client properly
set on construction.

This is to work around the assert on m_state in SocketStreamHandle::setClient.

  • UIProcess/InspectorServer/WebSocketServer.cpp:

(WebKit::WebSocketServer::didAcceptConnection):

  • UIProcess/InspectorServer/WebSocketServer.h:

(WebKit::WebSocketServer::client):
(WebSocketServer):

  • UIProcess/InspectorServer/WebSocketServerConnection.cpp:

(WebKit::WebSocketServerConnection::WebSocketServerConnection):
(WebKit::WebSocketServerConnection::setSocketHandle):
(WebKit):

  • UIProcess/InspectorServer/WebSocketServerConnection.h:

(WebSocketServerConnection):

  • UIProcess/InspectorServer/qt/WebSocketServerQt.cpp:

(WebKit::QtTcpServerHandler::handleNewConnection):

05:54 Changeset [121019] by yosin@chromium.org
  • 3 edits
    6 adds in trunk

REGRESSION(r117738):[Forms] validationMessage IDL attribute should not have range overflow message if value isn't range overflow
https://bugs.webkit.org/show_bug.cgi?id=89736

Reviewed by Kent Tamura.

Source/WebCore:

Tests: fast/forms/date/input-date-validation-message.html

fast/forms/number/input-number-validation-message.html
fast/forms/range/input-range-validation-message.html

This patch changes comparison operator for range overflow message in
InputType::validationMessage().

  • html/InputType.cpp:

(WebCore::InputType::validationMessage):

LayoutTests:

Tests for HTMLInputElement.validationMessage attribute.

  • fast/forms/date/input-date-validation-message-expected.txt: Added.
  • fast/forms/date/input-date-validation-message.html: Added.
  • fast/forms/number/input-number-validation-message-expected.txt: Added.
  • fast/forms/number/input-number-validation-message.html: Added.
  • fast/forms/range/input-range-validation-message-expected.txt: Added.
  • fast/forms/range/input-range-validation-message.html: Added.
05:46 WebKitGTK/1.8.x edited by kov@webkit.org
(diff)
05:41 Changeset [121018] by kov@webkit.org
  • 2 edits in trunk/Source/WTF

Causes crashes in LLVMPipe
https://bugs.webkit.org/show_bug.cgi?id=89358

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2012-06-18
Reviewed by Martin Robinson.

Change suggested by Dave Airlie and Xan Lopez.

  • wtf/Platform.h: disable global fastMalloc for GTK+
05:35 Changeset [121017] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Add frontend-side Entry object to FileSystemModel
https://bugs.webkit.org/show_bug.cgi?id=89739

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

  • inspector/front-end/FileSystemModel.js:

(WebInspector.FileSystemModel.prototype._fileSystemRootReceived):
(WebInspector.FileSystemModel.prototype.requestDirectoryContent):
(WebInspector.FileSystemModel.prototype._directoryContentReceived):
(WebInspector.FileSystemModel.FileSystem):
(WebInspector.FileSystemModel.Entry):
(WebInspector.FileSystemModel.Entry.prototype.get fileSystemModel):
(WebInspector.FileSystemModel.Entry.prototype.get fileSystem):
(WebInspector.FileSystemModel.Entry.prototype.get url):
(WebInspector.FileSystemModel.Entry.prototype.get name):
(WebInspector.FileSystemModel.Entry.prototype.get isDirectory):
(WebInspector.FileSystemModel.Directory):
(WebInspector.FileSystemModel.Directory.prototype.requestDirectoryContent):
(WebInspector.FileSystemModel.File):
(WebInspector.FileSystemModel.File.prototype.get mimeType):
(WebInspector.FileSystemModel.File.prototype.get resourceType):

04:32 Changeset [121016] by commit-queue@webkit.org
  • 42 edits
    2 moves in trunk/Source

Renamed DeviceOrientation to DeviceOrientationData
https://bugs.webkit.org/show_bug.cgi?id=88663

Patch by Amy Ousterhout <aousterh@chromium.org> on 2012-06-22
Reviewed by Steve Block.

Source/WebCore:

No new tests because this is simply a name change.

Renamed DeviceOrientation to DeviceOrientationData in order to be consistent with DeviceMotionData.
Updated all files that use DeviceOrientation.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSDeviceOrientationEventCustom.cpp:

(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):

  • bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:

(WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):

  • dom/DOMAllInOne.cpp:
  • dom/DeviceOrientationClient.h:

(WebCore):
(DeviceOrientationClient):

  • dom/DeviceOrientationController.cpp:

(WebCore::DeviceOrientationController::timerFired):
(WebCore::DeviceOrientationController::didChangeDeviceOrientation):

  • dom/DeviceOrientationController.h:

(WebCore):
(DeviceOrientationController):

  • dom/DeviceOrientationData.cpp: Renamed from Source/WebCore/dom/DeviceOrientation.cpp.

(WebCore):
(WebCore::DeviceOrientationData::create):
(WebCore::DeviceOrientationData::DeviceOrientationData):
(WebCore::DeviceOrientationData::alpha):
(WebCore::DeviceOrientationData::beta):
(WebCore::DeviceOrientationData::gamma):
(WebCore::DeviceOrientationData::absolute):
(WebCore::DeviceOrientationData::canProvideAlpha):
(WebCore::DeviceOrientationData::canProvideBeta):
(WebCore::DeviceOrientationData::canProvideGamma):
(WebCore::DeviceOrientationData::canProvideAbsolute):

  • dom/DeviceOrientationData.h: Renamed from Source/WebCore/dom/DeviceOrientation.h.

(WebCore):
(DeviceOrientationData):

  • dom/DeviceOrientationEvent.cpp:

(WebCore::DeviceOrientationEvent::DeviceOrientationEvent):
(WebCore::DeviceOrientationEvent::initDeviceOrientationEvent):

  • dom/DeviceOrientationEvent.h:

(WebCore):
(WebCore::DeviceOrientationEvent::create):
(DeviceOrientationEvent):
(WebCore::DeviceOrientationEvent::orientation):

  • loader/EmptyClients.h:

(WebCore::EmptyDeviceOrientationClient::lastOrientation):

  • platform/mock/DeviceOrientationClientMock.cpp:

(WebCore::DeviceOrientationClientMock::setOrientation):

  • platform/mock/DeviceOrientationClientMock.h:

(WebCore::DeviceOrientationClientMock::lastOrientation):
(DeviceOrientationClientMock):

  • platform/qt/DeviceOrientationClientQt.cpp:

(DeviceOrientationClientQt):

  • platform/qt/DeviceOrientationClientQt.h:

(DeviceOrientationClientQt):

  • platform/qt/DeviceOrientationProviderQt.h:

(DeviceOrientationProviderQt):

Source/WebKit/blackberry:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • WebCoreSupport/DeviceOrientationClientBlackBerry.h:

(DeviceOrientationClientBlackBerry):

Source/WebKit/chromium:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • public/WebDeviceOrientation.h:

(WebDeviceOrientation):

  • src/DeviceOrientationClientProxy.cpp:

(WebKit::DeviceOrientationClientProxy::lastOrientation):

  • src/DeviceOrientationClientProxy.h:

(DeviceOrientationClientProxy):

  • src/WebDeviceOrientation.cpp:

(WebKit::WebDeviceOrientation::WebDeviceOrientation):
(WebKit::WebDeviceOrientation::operator=):
(WebKit::WebDeviceOrientation::operator PassRefPtr<WebCore::DeviceOrientationData>):

  • src/WebDeviceOrientationController.cpp:

(WebKit::WebDeviceOrientationController::didChangeDeviceOrientation):

Source/WebKit/efl:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • WebCoreSupport/DeviceOrientationClientEfl.h:

(DeviceOrientationClientEfl):

Source/WebKit/gtk:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • WebCoreSupport/DeviceOrientationClientGtk.h:

(DeviceOrientationClientGtk):

Source/WebKit/mac:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • WebCoreSupport/WebDeviceOrientationClient.h:

(WebDeviceOrientationClient):

  • WebCoreSupport/WebDeviceOrientationClient.mm:

(WebDeviceOrientationClient::lastOrientation):

  • WebView/WebDeviceOrientation.mm:
  • WebView/WebDeviceOrientationInternal.h:

Source/WebKit/qt:

Updated files to use the renamed DeviceOrientationData instead of DeviceOrientation.
This change makes DeviceOrientationData consistent with DeviceMotionData.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setMockDeviceOrientation):

02:54 Changeset [121015] by sergio@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] FindController::hideFindUI should unmark highlighted text matches
https://bugs.webkit.org/show_bug.cgi?id=77747

Reviewed by Carlos Garcia Campos.

Unmark all text matches whenever FindController::hideFindUI is
called to allow callers using the ShowHighlight find option to
remove highlighting.

This patch enables a unit test for the WebKitFindController
previously guarded by a #if(0) after r109222.

  • UIProcess/API/gtk/tests/TestWebKitFindController.cpp:

(testFindControllerHide):

  • WebProcess/WebPage/FindController.cpp:

(WebKit::FindController::hideFindUI):

02:39 Changeset [121014] by vsevik@chromium.org
  • 22 edits
    2 adds in trunk

Web Inspector: Support separate script compilation and execution.
https://bugs.webkit.org/show_bug.cgi?id=89646

Reviewed by Pavel Feldman.

Source/WebCore:

Separate script compilation and run commands added to protocol and DebuggerAgent.
Separate script compilation and run implemented in v8 ScriptDebugServer, stubs added for js implementation.

Test: inspector/debugger/debugger-compile-and-run.html

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::compileScript):
(WebCore):
(WebCore::ScriptDebugServer::clearCompiledScripts):
(WebCore::ScriptDebugServer::runScript):

  • bindings/js/ScriptDebugServer.h:

(WebCore::ScriptDebugServer::supportsSeparateScriptCompilationAndExecution):
(ScriptDebugServer):

  • bindings/v8/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::compileScript):
(WebCore):
(WebCore::PageScriptDebugServer::clearCompiledScripts):
(WebCore::PageScriptDebugServer::runScript):

  • bindings/v8/PageScriptDebugServer.h:

(PageScriptDebugServer):

  • bindings/v8/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::compileScript):
(WebCore):
(WebCore::ScriptDebugServer::clearCompiledScripts):
(WebCore::ScriptDebugServer::runScript):

  • bindings/v8/ScriptDebugServer.h:

(WebCore):
(WebCore::ScriptDebugServer::supportsSeparateScriptCompilationAndExecution):
(ScriptDebugServer):

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

(WebCore::InspectorDebuggerAgent::disable):
(WebCore::InspectorDebuggerAgent::supportsSeparateScriptCompilationAndExecution):
(WebCore):
(WebCore::InspectorDebuggerAgent::compileScript):
(WebCore::InspectorDebuggerAgent::runScript):

  • inspector/InspectorDebuggerAgent.h:

(InspectorDebuggerAgent):
(WebCore::InspectorDebuggerAgent::injectedScriptManager):

  • inspector/PageDebuggerAgent.cpp:

(WebCore::PageDebuggerAgent::injectedScriptForEval):
(WebCore):

  • inspector/PageDebuggerAgent.h:

(PageDebuggerAgent):

  • inspector/WorkerDebuggerAgent.cpp:

(WebCore::WorkerDebuggerAgent::injectedScriptForEval):
(WebCore):

  • inspector/WorkerDebuggerAgent.h:

(WorkerDebuggerAgent):

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

(WebInspector.doLoadedDone):

LayoutTests:

  • inspector/debugger/debugger-compile-and-run-expected.txt: Added.
  • inspector/debugger/debugger-compile-and-run.html: Added.
  • platform/gtk/TestExpectations:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
  • platform/wincairo/Skipped:
02:14 Changeset [121013] by commit-queue@webkit.org
  • 9 edits in trunk/Source

Web Inspector: InspectorState::updateCookie should not do JSON serialization if unsupported
https://bugs.webkit.org/show_bug.cgi?id=89743

Source/WebCore:

Since all InspectorClient's are InspectorStateClient's provide a
virtual accessor that determines whether or not InspectorClient updates
are supported or not.

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2012-06-22
Reviewed by Yury Semikhatsky.

  • inspector/InspectorState.cpp:

(WebCore::InspectorState::updateCookie):
Don't serialize and message the client if the client doesn't do anything with it.

  • inspector/InspectorStateClient.h:
  • inspector/WorkerInspectorController.cpp:

(WebCore::InspectorStateClient::supportsInspectorStateUpdates):
Let the client say whether or not supports updates or not.

Source/WebKit/blackberry:

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2012-06-22
Reviewed by Yury Semikhatsky.

  • WebCoreSupport/InspectorClientBlackBerry.cpp:

(WebCore::InspectorClientBlackBerry::updateInspectorStateCookie):

Source/WebKit/chromium:

The Chromium port does want InspectorState updates.

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2012-06-22
Reviewed by Yury Semikhatsky.

  • src/InspectorClientImpl.h:

(WebKit::InspectorClientImpl::supportsInspectorStateUpdates):

  • src/WebDevToolsAgentImpl.h:

(WebKit::WebDevToolsAgentImpl::supportsInspectorStateUpdates):

01:52 Changeset [121012] by rniwa@webkit.org
  • 182 edits in trunk/LayoutTests

Use testRunner instead of layoutTestController in fast/hidpi, history, html, images, inline, inline-block, innerHTML, inspector-support, invalid tests
https://bugs.webkit.org/show_bug.cgi?id=89744

Reviewed by Kent Tamura.

  • fast/hidpi/broken-image-icon-hidpi.html:
  • fast/hidpi/broken-image-with-size-hidpi.html:
  • fast/hidpi/clip-text-in-hidpi.html:
  • fast/hidpi/device-scale-factor-paint.html:
  • fast/hidpi/focus-rings.html:
  • fast/hidpi/image-set-as-background.html:
  • fast/hidpi/image-set-background-dynamic.html:
  • fast/hidpi/image-set-background-repeat-without-size.html:
  • fast/hidpi/image-set-background-repeat.html:
  • fast/hidpi/image-set-border-image-comparison.html:
  • fast/hidpi/image-set-border-image-dynamic.html:
  • fast/hidpi/image-set-border-image-simple.html:
  • fast/hidpi/image-set-in-content-dynamic.html:
  • fast/hidpi/image-set-out-of-order.html:
  • fast/hidpi/image-set-simple.html:
  • fast/hidpi/image-set-without-specified-width.html:
  • fast/hidpi/resize-corner-hidpi.html:
  • fast/hidpi/video-controls-in-hidpi.html:
  • fast/history/back-forward-reset-after-error-handling.html:
  • fast/history/form-submit-in-frame-via-onclick.html:
  • fast/history/form-submit-in-frame.html:
  • fast/history/forward-during-load.html:
  • fast/history/gesture-before-onload-form-submit.html:
  • fast/history/gesture-before-onload-location-href.html:
  • fast/history/go-back-to-changed-name.html:
  • fast/history/history-back-initial-vs-final-url.html:
  • fast/history/history-back-twice-with-subframes-assert.html:
  • fast/history/history-back-within-subframe-hash.html:
  • fast/history/history-back-within-subframe-url.html:
  • fast/history/history-length.html:
  • fast/history/history-replace-updates-current-item.html:
  • fast/history/history-subframe-with-name.html:
  • fast/history/history_reload.html:
  • fast/history/location-replace-hash.html:
  • fast/history/multiple-classes-visited.html:
  • fast/history/nested-visited-test.html:
  • fast/history/redirect-via-iframe.html:
  • fast/history/resources/clicked-link-is-visited-2.html:
  • fast/history/resources/history-back-within-subframe-hash-2.html:
  • fast/history/resources/history-replace-updates-current-item-done.html:
  • fast/history/resources/history_reload_window.html:
  • fast/history/resources/redirect-target.html:
  • fast/history/same-document-iframes-changing-fragment.html:
  • fast/history/same-document-iframes-changing-pushstate.html:
  • fast/history/saves-state-after-fragment-nav.html:
  • fast/history/saves-state-after-frame-nav.html:
  • fast/history/self-is-visited.html:
  • fast/history/sibling-visited-test.html:
  • fast/history/timed-refresh-in-cached-frame.html:
  • fast/history/visited-generated-content-test.html:
  • fast/history/visited-link-background-color.html:
  • fast/history/window-open.html:
  • fast/html/adopt-parent-frame.html:
  • fast/html/body-offset-properties.html:
  • fast/html/crash-style-first-letter.html:
  • fast/html/details-add-summary-1-and-click.html:
  • fast/html/details-add-summary-10-and-click.html:
  • fast/html/details-add-summary-2-and-click.html:
  • fast/html/details-add-summary-3-and-click.html:
  • fast/html/details-add-summary-4-and-click.html:
  • fast/html/details-add-summary-5-and-click.html:
  • fast/html/details-add-summary-6-and-click.html:
  • fast/html/details-add-summary-7-and-click.html:
  • fast/html/details-add-summary-8-and-click.html:
  • fast/html/details-add-summary-9-and-click.html:
  • fast/html/details-children-merge-crash.html:
  • fast/html/details-element-render-inline-crash.html:
  • fast/html/details-mouse-click.html:
  • fast/html/details-remove-summary-1-and-click.html:
  • fast/html/details-remove-summary-2-and-click.html:
  • fast/html/details-remove-summary-3-and-click.html:
  • fast/html/details-remove-summary-4-and-click.html:
  • fast/html/details-remove-summary-5-and-click.html:
  • fast/html/details-remove-summary-6-and-click.html:
  • fast/html/details-replace-summary-child.html:
  • fast/html/details-replace-text.html:
  • fast/html/details-summary-document-child.html:
  • fast/html/draggable.html:
  • fast/html/empty-fragment-id-goto-top.html:
  • fast/html/font-face-empty-should-not-crash.html:
  • fast/html/marquee-scrollamount.html:
  • fast/html/nav-element.html:
  • fast/html/object-image-nested-fallback.html:
  • fast/html/pending-stylesheet-crash.html:
  • fast/html/process-end-tag-for-inbody-crash.html:
  • fast/html/script-allowed-types-languages.html:
  • fast/html/select-dropdown-consistent-background-color.html:
  • fast/html/set-text-direction.html:
  • fast/html/tab-order.html:
  • fast/html/tabindex-removal.html:
  • fast/html/text-field-input-types.html:
  • fast/html/xhtml-serialize.html:
  • fast/images/animated-background-image-crash.html:
  • fast/images/animated-gif-restored-from-bfcache.html:
  • fast/images/bad-png.html:
  • fast/images/busted-oval-does-not-render.html:
  • fast/images/destroyed-image-load-event.html:
  • fast/images/dont-crash-with-null-gif-frames.html:
  • fast/images/drag-pdf-as-image.html:
  • fast/images/embed-does-not-propagate-dimensions-to-object-ancestor.html:
  • fast/images/embed-image.html:
  • fast/images/exif-orientation-css.html:
  • fast/images/exif-orientation.html:
  • fast/images/extra-image-in-image-document.html:
  • fast/images/gif-loop-count.html:
  • fast/images/image-empty-data.html:
  • fast/images/image-invalid-data.html:
  • fast/images/image-load-event-in-fragment.html:
  • fast/images/image-map-multiple-xhtml.xhtml:
  • fast/images/image-map-multiple.html:
  • fast/images/image-map-zoom.html:
  • fast/images/imagemap-scroll.html:
  • fast/images/jpeg-with-color-profile.html:
  • fast/images/large-size-image-crash.html:
  • fast/images/link-body-content-imageDimensionChanged-crash.html:
  • fast/images/load-img-with-empty-src.html:
  • fast/images/paletted-png-with-color-profile.html:
  • fast/images/percent-height-image.html:
  • fast/images/png-extra-row-crash.html:
  • fast/images/png-suite/test.html:
  • fast/images/png-with-color-profile.html:
  • fast/images/read-past-end-of-buffer.html:
  • fast/images/rgb-jpeg-endian-pixels.html:
  • fast/images/rgb-jpeg-with-adobe-marker-only.html:
  • fast/images/rgb-png-with-cmyk-color-profile.html:
  • fast/images/script-counter-imageDimensionChanged-crash.html:
  • fast/images/script-tests/move-image-to-new-document.js:
  • fast/images/size-failure.html:
  • fast/images/style-access-during-imageChanged-crash.html:
  • fast/images/style-access-during-imageChanged-style-freeze.html:
  • fast/images/support-broken-image-delegate.html:
  • fast/images/text-content-crash-2.html:
  • fast/images/text-content-crash.html:
  • fast/images/webp-image-decoding.html:
  • fast/images/ycbcr-with-cmyk-color-profile.html:
  • fast/images/zoomed-img-size.html:
  • fast/inline-block/anonymous-block-crash.html:
  • fast/inline-block/inline-block-vertical-align-2.html:
  • fast/inline-block/relative-positioned-rtl-crash.html:
  • fast/inline/boundingBox-with-continuation.html:
  • fast/inline/clean-after-removing-temp-boxes.html:
  • fast/inline/continuation-positioned-reparenting.html:
  • fast/inline/crash-new-continuation-with-outline.html:
  • fast/inline/dirtyLinesForInline.html:
  • fast/inline/inline-body-crash.html:
  • fast/inline/inline-body-with-scrollbar-crash.html:
  • fast/inline/inline-box-adjust-position-crash.html:
  • fast/inline/inline-box-adjust-position-crash2.html:
  • fast/inline/inline-child-height-width-calc-crash.html:
  • fast/inline/inline-destroy-dirty-lines-crash.html:
  • fast/inline/inline-marquee-crash.html:
  • fast/inline/relative-positioned-overflow.html:
  • fast/inline/skipped-whitespace-boundingBox.html:
  • fast/inline/skipped-whitespace-client-rect.html:
  • fast/inline/update-always-create-line-boxes-full-layout-crash.html:
  • fast/innerHTML/004-expected.txt:
  • fast/innerHTML/004.xhtml:
  • fast/innerHTML/005-expected.txt:
  • fast/innerHTML/005.html:
  • fast/innerHTML/additional-inline-style.html:
  • fast/innerHTML/innerHTML-case.html:
  • fast/innerHTML/innerHTML-changing-document-properties.xhtml:
  • fast/innerHTML/innerHTML-custom-tag.html:
  • fast/innerHTML/innerHTML-iframe.html:
  • fast/innerHTML/innerHTML-nbsp.xhtml:
  • fast/innerHTML/innerHTML-script-tag-crash.xhtml:
  • fast/innerHTML/javascript-url.html:
  • fast/inspector-support/cssURLQuotes.html:
  • fast/inspector-support/style.html:
  • fast/inspector-support/uncaught-dom1-exception.html:
  • fast/inspector-support/uncaught-dom3-exception.html:
  • fast/inspector-support/uncaught-dom8-exception.html:
  • fast/invalid/invalidSVGFont.html:
  • fast/invalid/nestedh3s-rapidweaver.html:
  • fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html:
  • platform/gtk/fast/images/exif-orientation-css-expected.txt:
  • platform/gtk/fast/images/exif-orientation-expected.txt:
  • platform/mac/fast/images/exif-orientation-css-expected.txt:
  • platform/mac/fast/images/exif-orientation-expected.txt:
  • platform/qt/fast/history/back-to-unreachable-url-then-forward.html:
  • platform/qt/fast/history/resources/check-scroll-position.html:
01:09 Changeset [121011] by mario@webkit.org
  • 2 edits in trunk/Tools

Unreviewed gardening. Unskipping test passing after fixing bug 88419.

  • gtk/run-api-tests:

(TestRunner): Unskip WTF.HashMap.

01:06 Changeset [121010] by mario@webkit.org
  • 2 edits in trunk/Source/WTF

Memory corruption on HashTable.h
https://bugs.webkit.org/show_bug.cgi?id=88419

Reviewed by Martin Robinson.

Simplify definition of WTF_USE_PTHREADS and HAVE_PTHREAD_RWLOCK
for the GTK platform using OS(LINUX) instead of HAVE(PTHREAD_H).

  • wtf/Platform.h:
00:16 Changeset [121009] by zoltan@webkit.org
  • 2 edits in trunk/Tools

[Qt] Allow DumpRenderTree to dump about:blank
https://bugs.webkit.org/show_bug.cgi?id=89685

Reviewed by Ryosuke Niwa.

We need to allow DumpRenderTree to dump about:blank page, then it will be consistent with other ports,
additionaly this behavior is required for running WTR performance tests.

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp:

(WebCore::DumpRenderTree::processLine):

Note: See TracTimeline for information about the timeline view.