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

Timeline



Jun 27, 2012:

11:29 PM Changeset in webkit [121412] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Performance: Optimize Dromaeo/dom-query.html by caching NodeRareData on Document
https://bugs.webkit.org/show_bug.cgi?id=90059

Reviewed by Ryosuke Niwa.

This patch improves performance of document.getElementsBy*().
e.g. the patch makes Dromaeo/dom-query.html 5.4% faster.

Dromaeo/dom-query.html without the patch (Chromium/Linux):
784714 runs/s, 765947 runs/s, 803109 runs/s, 804450 runs/s

Dromaeo/dom-query.html with the patch (Chromium/Linux):
839245 runs/s, 829867 runs/s, 811032 runs/s, 847486 runs/s

Based on the assumption that document.getElementsByClassName(),
document.getElementsByTagName() and document.getElementsByName()
would be used frequently in the real world, this patch implements
a fast path for Document methods that require to access NodeRareData.
Specifically, this patch caches a pointer to NodeRareData on Document,
by which Document can access NodeRareData without looking up a HashMap.

The only performance concern is the overhead of the isDocumentNode() check
that this patch added to Node::ensureRareData. However, I could not
observe any performance regression caused by the overhead.

No tests. No change in behavior.

  • dom/Document.cpp:

(WebCore::Document::Document):
(WebCore::Document::setCachedRareData): I didn't inline this method,
since the inlining slightly regressed performance for some reason.
(WebCore):

  • dom/Document.h:

(WebCore):
(WebCore::Document::cachedRareData):
(Document):
(~Document): Moved 'm_document = 0' to the tail of the destructor,
since isDocumentNode() has to return true in clearRareData() that is called
in ~Document().

  • dom/Node.cpp:

(WebCore::Node::ensureRareData):
(~Node): Moved the assertion into clearRareData().

11:24 PM Changeset in webkit [121411] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

Unreviewed. Fix the build without TEXTURE_MAPPER_GL.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
  • WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
  • WebProcess/WebPage/gtk/WebPageGtk.cpp:

(WebKit::WebPage::platformInitialize):

11:13 PM FeatureFlags edited by tkent@chromium.org
Add INPUT_TYPE_TIME_MULTIPLE_FIELDS (diff)
11:09 PM Changeset in webkit [121410] by mary.wu@torchmobile.com.cn
  • 2 edits in trunk/Source/WebCore

[BlackBerry] 0-length response with no content-type shouldn't download
https://bugs.webkit.org/show_bug.cgi?id=89860

Reviewed by Rob Buis.

RIM PR# 168419

For 0-length response, if we can't get its mimetype from the filename,
we set the mimetype to "text/plain" instead of "application/octet-stream",
so it won't go to download.

Reviewed internally by Charles Wei.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::sendResponseIfNeeded):

10:36 PM Changeset in webkit [121409] by ryuan.choi@samsung.com
  • 3 edits
    8 deletes in trunk/Source/WebKit

Unreviewed, rolling out r121398.
http://trac.webkit.org/changeset/121398
https://bugs.webkit.org/show_bug.cgi?id=90136

broke efl build (Requested by ryuan on #webkit).

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

Source/WebKit:

  • PlatformEfl.cmake:

Source/WebKit/efl:

  • tests/UnitTestUtils/EWKTestBase.cpp: Removed.
  • tests/UnitTestUtils/EWKTestBase.h: Removed.
  • tests/UnitTestUtils/EWKTestConfig.h: Removed.
  • tests/UnitTestUtils/EWKTestView.cpp: Removed.
  • tests/UnitTestUtils/EWKTestView.h: Removed.
  • tests/resources/default_test_page.html: Removed.
  • tests/test_ewk_view.cpp: Removed.
  • tests/test_runner.cpp: Removed.
10:34 PM Changeset in webkit [121408] by commit-queue@webkit.org
  • 15 edits
    2 deletes in trunk/Source/WebKit/chromium

Unreviewed, rolling out r121405.
http://trac.webkit.org/changeset/121405
https://bugs.webkit.org/show_bug.cgi?id=90135

broke windows build (Requested by shawnsingh_ on #webkit).

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

  • WebKit.gypi:
  • WebKitUnitTests.gyp:
  • public/WebDOMMessageEvent.h:
  • tests/AssociatedURLLoaderTest.cpp:

(WebKit::AssociatedURLLoaderTest::AssociatedURLLoaderTest):
(WebKit::AssociatedURLLoaderTest::SetUp):
(WebKit::AssociatedURLLoaderTest::CheckMethodFails):
(WebKit::AssociatedURLLoaderTest::CheckHeaderFails):
(WebKit::AssociatedURLLoaderTest::CheckAccessControlHeaders):
(WebKit::TEST_F):

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

(WebKit::FrameTestHelpers::registerMockedURLLoad):
(FrameTestHelpers):
(WebKit::FrameTestHelpers::loadFrame):

  • tests/FrameTestHelpers.h:

(FrameTestHelpers):

  • tests/ListenerLeakTest.cpp:

(WebKit::ListenerLeakTest::RunTest):

  • tests/PopupMenuTest.cpp:

(WebKit::SelectPopupMenuTest::registerMockedURLLoad):
(WebKit::SelectPopupMenuTest::loadFrame):

  • tests/RunAllTests.cpp:
  • tests/URLTestHelpers.cpp: Removed.
  • tests/URLTestHelpers.h: Removed.
  • tests/WebFrameTest.cpp:

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

  • tests/WebPageNewSerializerTest.cpp:

(WebKit::WebPageNewSerializeTest::registerMockedURLLoad):
(WebPageNewSerializeTest):
(WebKit::WebPageNewSerializeTest::setUpCSSTestPage):
(WebKit::WebPageNewSerializeTest::loadURLInTopFrame):
(WebKit::WebPageNewSerializeTest::resourceVectorContains):
(WebKit::TEST_F):

  • tests/WebPageSerializerTest.cpp:

(WebKit::WebPageSerializerTest::registerMockedURLLoad):
(WebKit::WebPageSerializerTest::loadURLInTopFrame):
(WebKit::WebPageSerializerTest::webVectorContains):
(WebKit::TEST_F):

  • tests/WebViewTest.cpp:

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

10:17 PM Changeset in webkit [121407] by bfulgham@webkit.org
  • 2 edits in trunk/WebKitLibraries

[WinCairo] Unreviewed build correction. Accidentally turned on
CSS_FILTERS, which is not available in tree.

  • win/tools/vsprops/FeatureDefinesCairo.vsprops: Turn CSS_FILTERS

back off for WinCairo target.

10:15 PM Changeset in webkit [121406] by Csaba Osztrogonác
  • 8 edits in trunk/Tools

Unreviewed, rolling out r121363, r121367, r121384, and
r121390.
http://trac.webkit.org/changeset/121363
http://trac.webkit.org/changeset/121367
http://trac.webkit.org/changeset/121384
http://trac.webkit.org/changeset/121390
https://bugs.webkit.org/show_bug.cgi?id=90134

It broke debug NRWT on GTK and on Qt (Requested by Ossy_NIGHT
on #webkit).

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

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

(ChromiumPort):
(ChromiumPort.init):
(ChromiumPort._check_file_exists):
(ChromiumPort.default_results_directory):
(ChromiumPort._driver_class):
(ChromiumPort._build_path):
(ChromiumPort._path_to_image_diff):

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

(ChromiumLinuxPort.baseline_search_path):

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

(ChromiumMacPort.baseline_search_path):

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

(ChromiumPortTest):

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

(ChromiumWinPort.baseline_search_path):

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

(WebKitPort.init):
(WebKitPort._webcore_symbols_string):
(WebKitPort._skipped_tests_for_unsupported_features):

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

(TestWebKitPort._webcore_symbols_string):
(WebKitPortUnitTests.test_default_options):

10:00 PM Changeset in webkit [121405] by shawnsingh@chromium.org
  • 15 edits
    1 copy
    1 add in trunk/Source/WebKit/chromium

[chromium] Use WEBKIT_IMPLEMENTATION == 1 for webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=90094

Reviewed by James Robinson.

This patch adds the WEBKIT_IMPLEMENTATION = 1 define to
WebKitUnitTests.gyp. To get it to compile correctly, some string
and URL code was refactored and fixed.

  • WebKit.gypi:
  • WebKitUnitTests.gyp:
  • public/WebDOMMessageEvent.h:

(WebKit::WebDOMMessageEvent::WebDOMMessageEvent):

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

(WebKit::FrameTestHelpers::loadFrame):

  • tests/FrameTestHelpers.h:
  • tests/ListenerLeakTest.cpp:

(WebKit::ListenerLeakTest::RunTest):

  • tests/PopupMenuTest.cpp:
  • tests/RunAllTests.cpp:
  • tests/URLTestHelpers.cpp: Added.

(URLTestHelpers):
(WebKit::URLTestHelpers::registerMockedURLFromBaseURL):
(WebKit::URLTestHelpers::registerMockedURLLoad):

  • tests/URLTestHelpers.h: Copied from Source/WebKit/chromium/public/WebDOMMessageEvent.h.

(WebKit):
(URLTestHelpers):
(WebKit::URLTestHelpers::toKURL):

  • tests/WebFrameTest.cpp:
  • tests/WebPageNewSerializerTest.cpp:
  • tests/WebPageSerializerTest.cpp:
  • tests/WebViewTest.cpp:
9:58 PM Changeset in webkit [121404] by yosin@chromium.org
  • 9 edits in trunk/Source

[Platform] Implement localizedDecimalSeparator function
https://bugs.webkit.org/show_bug.cgi?id=90036

Reviewed by Kent Tamura.

Source/WebCore:

This patch introduces new function localizedDecimalSeparator() when
ENABLE(INPUT_TYPE_TIME_MULTIPLE_FIELDS). It will be used for
displaying millisecond for time fields UI.

Test: WebKit/chromium/tests/LocalizedNumberICUTest.cpp

  • platform/text/LocaleICU.cpp:

(WebCore::LocaleICU::localizedDecimalSeparator): Added

  • platform/text/LocaleICU.h:

(LocaleICU): Added localizedDecimalSeparator.

  • platform/text/LocalizedNumber.h:
  • platform/text/LocalizedNumberICU.cpp:

(WebCore::localizedDecimalSeparator): Added.

  • platform/text/LocalizedNumberNone.cpp:

(WebCore::localizedDecimalSeparator): Added.

  • platform/text/mac/LocalizedNumberMac.mm:

(WebCore::localizedDecimalSeparator): Added.

Source/WebKit/chromium:

This patch adds test case for localizedDecimalSeparator().

  • tests/LocalizedNumberICUTest.cpp:

(testDecimalSeparator):
(TEST):

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

Add OVERRIDE to functions in UnthrottledTextureUploader class
https://bugs.webkit.org/show_bug.cgi?id=90130

Patch by Lu Guanqun <guanqun.lu@intel.com> on 2012-06-27
Reviewed by James Robinson.

No new tests required.

  • platform/graphics/chromium/LayerRendererChromium.cpp:
9:08 PM Changeset in webkit [121402] by bfulgham@webkit.org
  • 2 edits in trunk/WebKitLibraries

[WinCairo] Unreviewed build correction. Resync feature defines with
Apple port. Things have drifted apart a little.

  • win/tools/vsprops/FeatureDefinesCairo.vsprops: Update to match

Apple port, define some missing features.

8:58 PM Changeset in webkit [121401] by commit-queue@webkit.org
  • 5 edits in trunk

pattern="" should only accept the empty string
https://bugs.webkit.org/show_bug.cgi?id=89569

Patch by Pablo Flouret <pablof@motorola.com> on 2012-06-27
Reviewed by Kent Tamura.

Source/WebCore:

An empty pattern attribute was being treated essentially as if the
pattern wasn't present.

No new tests. Covered by existing tests (plus a modified one).

  • html/BaseTextInputType.cpp:

(WebCore::BaseTextInputType::patternMismatch):

Check if the pattern attribute is present. If it is then use the
pattern as is (in the particular case of this bug, an empty pattern
will only match an empty value).

LayoutTests:

  • fast/forms/ValidityState-patternMismatch-expected.txt:
  • fast/forms/ValidityState-patternMismatch.html:

Modified the test to check the results of an empty pattern both with an empty
value, and with some value specified.

8:33 PM Changeset in webkit [121400] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Selection overlay can become visible after it has been hidden
https://bugs.webkit.org/show_bug.cgi?id=90105

Patch by Andrew Lo <anlo@rim.com> on 2012-06-27
Reviewed by George Staikos.

When SelectionOverlay::hide is called from UI thread,
rather than setting the override opacity, dispatch to the
WebKit thread, which removes the overlay (normal case).

Internal PR164183.
Internally Reviewed by: Arvid Nilsson.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate):
(BlackBerry::WebKit::WebPage::selectionOverlay):

  • Api/WebPage_p.h:

(WebPagePrivate):

  • Api/WebSelectionOverlay.h:
  • WebKitSupport/SelectionOverlay.cpp:

(BlackBerry::WebKit::SelectionOverlay::SelectionOverlay):
(BlackBerry::WebKit::SelectionOverlay::hide):

  • WebKitSupport/SelectionOverlay.h:

(BlackBerry::WebKit::SelectionOverlay::create):
(SelectionOverlay):

8:22 PM Changeset in webkit [121399] by yosin@chromium.org
  • 1 edit
    6 copies in branches/chromium/1180

Merge 121019 - 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.

TBR=yosin@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10695026

7:17 PM Changeset in webkit [121398] by commit-queue@webkit.org
  • 3 edits
    11 adds in trunk/Source/WebKit

Source/WebKit: [EFL] Add support for Unit Tests, based on the gtest library.
https://bugs.webkit.org/show_bug.cgi?id=68509

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-06-27
Reviewed by Chang Shu.

Add configuration for building gtest library, testing framework and unit tests.

  • PlatformEfl.cmake:

Source/WebKit/efl: [EFL] Implementation of testing framework and unit tests for WebKit-EFL port.
https://bugs.webkit.org/show_bug.cgi?id=68509

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-06-27
Reviewed by Chang Shu.

Testing framework is based on gtest library. Gtest library is part of the WebKit project. Framework is devided into base part and view part.
Base part takes care of efl initialization, defines test macros and prepares test to run. View part is a context of each test.

  • tests/UnitTestUtils/EWKTestBase.cpp: Added.

(EWKUnitTests):
(EWKUnitTests::EWKTestBase::init):
(EWKUnitTests::EWKTestBase::shutdown):
(EWKUnitTests::EWKTestBase::shutdownAll):
(EWKUnitTests::EWKTestBase::startTest):
(EWKUnitTests::EWKTestBase::endTest):
(EWKUnitTests::EWKTestBase::createTest):
(EWKUnitTests::EWKTestBase::runTest):

  • tests/UnitTestUtils/EWKTestBase.h: Added.

(EWKUnitTests):
(EWKTestBase):

  • tests/UnitTestUtils/EWKTestConfig.h: Added.

(Config):

  • tests/UnitTestUtils/EWKTestView.cpp: Added.

(EWKUnitTests):
(EWKUnitTests::EWKTestEcoreEvas::EWKTestEcoreEvas):
(EWKUnitTests::EWKTestEcoreEvas::evas):
(EWKUnitTests::EWKTestEcoreEvas::show):
(EWKUnitTests::EWKTestView::EWKTestView):
(EWKUnitTests::EWKTestView::init):
(EWKUnitTests::EWKTestView::show):
(EWKUnitTests::EWKTestView::mainFrame):
(EWKUnitTests::EWKTestView::evas):
(EWKUnitTests::EWKTestView::bindEvents):

  • tests/UnitTestUtils/EWKTestView.h: Added.

(EWKUnitTests):
(EWKTestEcoreEvas):
(EWKTestView):
(EWKUnitTests::EWKTestView::webView):

  • tests/resources/default_test_page.html: Added.
  • tests/test_ewk_view.cpp: Added.

(ewkViewEditableGetCb):
(TEST):
(ewkViewUriGetCb):

  • tests/test_runner.cpp: Added.

(parseCustomArguments):
(main):

7:06 PM Changeset in webkit [121397] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Improve keyboardEvent() so a web page could receive a DOM3 spec compliant keyboard event.
https://bugs.webkit.org/show_bug.cgi?id=89637

Patch by Yusuke Sato <yusukes@chromium.org> on 2012-06-27
Reviewed by Tony Chang.

This is a Gtk port of http://crrev.com/142209.

Normalizes event->state to make it Windows/Mac compatible. Since the
way of setting modifier mask on X is very different than Windows/Mac
as shown in http://crbug.com/127142#c8, the normalization is necessary.

  • src/gtk/WebInputEventFactory.cpp:

(WebKit):
(WebKit::normalizeEventState):
(WebKit::WebInputEventFactory::keyboardEvent):

7:03 PM Changeset in webkit [121396] by jamesr@google.com
  • 25 edits in trunk/Source

[chromium] Use SkColor in compositor internals
https://bugs.webkit.org/show_bug.cgi?id=90108

Reviewed by Adrienne Walker.

Source/WebCore:

As the title says, cutting dependencies. If we support color spaces in the compositor we will probably need to
use a more sophisticated type, but for our current use SkColor is sufficient and matches our API better.

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setBackgroundColor):
(WebCore::LayerChromium::setDebugBorderColor):

  • platform/graphics/chromium/LayerChromium.h:

(LayerChromium):
(WebCore::LayerChromium::backgroundColor):

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::drawDebugBorderQuad):
(WebCore::LayerRendererChromium::drawSolidColorQuad):

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

(WebCore::CCDebugBorderDrawQuad::create):
(WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):

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

(CCDebugBorderDrawQuad):
(WebCore::CCDebugBorderDrawQuad::color):

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

(WebCore::CCLayerImpl::CCLayerImpl):
(WebCore::CCLayerImpl::setBackgroundColor):
(WebCore::CCLayerImpl::setDebugBorderColor):
(WebCore::CCLayerImpl::hasDebugBorders):

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

(CCLayerImpl):
(WebCore::CCLayerImpl::backgroundColor):
(WebCore::CCLayerImpl::debugBorderColor):

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

(WebCore::CCLayerTreeHost::CCLayerTreeHost):

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

(WebCore::CCLayerTreeHost::setBackgroundColor):

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

(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):

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

(WebCore::CCLayerTreeHostImpl::backgroundColor):
(WebCore::CCLayerTreeHostImpl::setBackgroundColor):
(CCLayerTreeHostImpl):

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

(WebCore::appendQuadInternal):

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

(WebCore::CCRenderPass::appendQuadsToFillScreen):

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

(WebCore):
(CCRenderPass):

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

(WebCore::CCRenderSurface::appendQuads):

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

(WebCore::CCSolidColorDrawQuad::create):
(WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):

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

(CCSolidColorDrawQuad):
(WebCore::CCSolidColorDrawQuad::color):

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

(WebCore::CCTiledLayerImpl::appendQuads):

Source/WebKit/chromium:

  • src/NonCompositedContentHost.cpp:

(WebKit::NonCompositedContentHost::setBackgroundColor):

  • tests/CCLayerImplTest.cpp:

(WebCore::TEST):

  • tests/CCLayerTreeHostImplTest.cpp:
  • tests/CCSolidColorLayerImplTest.cpp:

(CCLayerTestCommon::TEST):

  • tests/LayerChromiumTest.cpp:
6:58 PM Changeset in webkit [121395] by charles.wei@torchmobile.com.cn
  • 13 edits in trunk/Source

IndexedDB: should make the LevelDB persistant to the directory indicated in PageGroupSettings::indexedDBDataBasePath
https://bugs.webkit.org/show_bug.cgi?id=88338

Reviewed by David Levin.

Source/WebCore:

If the indexedDB runs in main thread it can access the GroupSettings via the document;
otherwise, we need to pass the page GroupSettings to the worker thread so that accessible
to the indexedDB running in WorkerContext.

  • Modules/indexeddb/IDBFactory.cpp:

(WebCore::IDBFactory::open):

  • workers/DedicatedWorkerThread.cpp:

(WebCore::DedicatedWorkerThread::create):
(WebCore::DedicatedWorkerThread::DedicatedWorkerThread):

  • workers/DedicatedWorkerThread.h:

(DedicatedWorkerThread):

  • workers/DefaultSharedWorkerRepository.cpp:

(SharedWorkerProxy):
(WebCore::SharedWorkerProxy::groupSettings):
(WebCore):
(WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):

  • workers/SharedWorkerThread.cpp:

(WebCore::SharedWorkerThread::create):
(WebCore::SharedWorkerThread::SharedWorkerThread):

  • workers/SharedWorkerThread.h:

(SharedWorkerThread):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerContext):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThreadStartupData::create):
(WorkerThreadStartupData):
(WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::groupSettings):
(WebCore):

  • workers/WorkerThread.h:

(WorkerThread):

Source/WebKit/chromium:

  • src/WebSharedWorkerImpl.cpp:

(WebKit::WebSharedWorkerImpl::startWorkerContext):

  • src/WebWorkerClientImpl.cpp:

(WebKit::WebWorkerClientImpl::startWorkerContext):

6:14 PM Changeset in webkit [121394] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

[Win] jscore-tests flakey
https://bugs.webkit.org/show_bug.cgi?id=88118

Reviewed by Jessie Berlin.

jsDriver.pl on windows intermittently doesn't get the returned value from jsc,
instead it gets 126. Added a new option to jsc (-x) which prints the exit
code before exiting. jsDriver.pl uses this option on Windows and parses the
exit code output for the exit code, removing it before comparing the actual
and expected outputs. Filed a follow on "FIXME" defect:
[WIN] Intermittent failure for jsc return value to propagate through jsDriver.pl
https://bugs.webkit.org/show_bug.cgi?id=90119

  • jsc.cpp:

(CommandLine::CommandLine):
(CommandLine):
(printUsageStatement):
(parseArguments):
(jscmain):

  • tests/mozilla/jsDriver.pl:

(execute_tests):

6:09 PM Changeset in webkit [121393] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Unreviewed, rolling out r121359.
http://trac.webkit.org/changeset/121359
https://bugs.webkit.org/show_bug.cgi?id=90115

Broke many inspector tests (Requested by jpfau on #webkit).

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

Source/JavaScriptCore:

  • interpreter/Interpreter.h:

(JSC::StackFrame::toString):

Source/WebCore:

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStack):

6:05 PM Changeset in webkit [121392] by alexis.menard@openbossa.org
  • 11 edits
    2 adds in trunk

Implement selectedOptions attribute of HTMLSelectElement.
https://bugs.webkit.org/show_bug.cgi?id=80631

Reviewed by Ryosuke Niwa.

Source/WebCore:

Add a new collection as a member of HTMLSelectElement which is
used to store the selected elements. Extend HTMLCollection to
support the new collection type needed by this feature. Make sure
that we invalidate the collection when the select state of an
option changes as the select state change does not trigger a dom
tree version change.

Reference : http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-select-selectedoptions

Test: fast/dom/HTMLSelectElement/select-selectedOptions.html

  • html/CollectionType.h:
  • html/HTMLCollection.cpp:

(WebCore::shouldIncludeChildren):
(WebCore::HTMLCollection::clearCache):
(WebCore):
(WebCore::HTMLCollection::isAcceptableElement):

  • html/HTMLCollection.h:

(HTMLCollection):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::setSelectedState):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::selectedOptions):
(WebCore):
(WebCore::HTMLSelectElement::invalidateSelectedItems):
(WebCore::HTMLSelectElement::setRecalcListItems):

  • html/HTMLSelectElement.h:

(WebCore):
(HTMLSelectElement):

  • html/HTMLSelectElement.idl:

LayoutTests:

New tests to cover the feature.

  • fast/dom/HTMLSelectElement/select-selectedOptions-expected.txt: Added.
  • fast/dom/HTMLSelectElement/select-selectedOptions.html: Added.
  • fast/dom/htmlcollection-non-html-expected.txt:
  • fast/dom/htmlcollection-non-html.html:
5:49 PM Changeset in webkit [121391] by fpizlo@apple.com
  • 3 edits
    3 adds in trunk

Javascript SHA-512 gives wrong hash on second and subsequent runs unless Web Inspector Javascript Debugging is on
https://bugs.webkit.org/show_bug.cgi?id=90053
<rdar://problem/11764613>

Source/JavaScriptCore:

Reviewed by Mark Hahnenberg.

The problem is that the code was assuming that the recovery should be Undefined if the source of
the SetLocal was !shouldGenerate(). But that's wrong, since the DFG optimizer may skip around a
UInt32ToNumber node (hence making it !shouldGenerate()) and keep the source of that node alive.
In that case we should base the recovery on the source of the UInt32ToNumber. The logic for this
was already in place but the fast check for !shouldGenerate() broke it.

  • dfg/DFGSpeculativeJIT.cpp:

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

LayoutTests:

Reviewed by Mark Hahnenberg.

  • fast/js/dfg-uint32-to-number-skip-then-exit-expected.txt: Added.
  • fast/js/dfg-uint32-to-number-skip-then-exit.html: Added.
  • fast/js/script-tests/dfg-uint32-to-number-skip-then-exit.js: Added.

(foo):

5:48 PM Changeset in webkit [121390] by dpranke@chromium.org
  • 2 edits in trunk/Tools

Fix typo in r121384 :(

Unreviewed, build fix.

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

(WebKitPort.default_test_timeout_ms):

5:32 PM Changeset in webkit [121389] by hclam@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

[chromium] Rebase image mismatch caused by 121371.

Rebase test results for:
platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html

Not reviewed.

  • platform/chromium-linux/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
5:09 PM Changeset in webkit [121388] by dcheng@chromium.org
  • 5 edits
    2 adds in trunk

Fix crash in Frame::nodeImage.
https://bugs.webkit.org/show_bug.cgi?id=89911

Reviewed by Abhishek Arya.

Source/WebCore:

We were caching a pointer to a RenderObject and then calling updateLayout(). Instead, we
need to get a pointer to the RenderObject again after updateLayout().

Test: fast/events/drag-display-none-element.html

  • page/Frame.cpp:

(WebCore::Frame::nodeImage):

  • page/mac/FrameMac.mm:

(WebCore::Frame::snapshotDragImage):
(WebCore::Frame::nodeImage):

LayoutTests:

  • fast/events/drag-display-none-element-expected.txt: Added.
  • fast/events/drag-display-none-element.html: Added.
5:04 PM Changeset in webkit [121387] by tony@chromium.org
  • 18 edits
    2 deletes in trunk

Unreviewed, rolling out r121380.
http://trac.webkit.org/changeset/121380
https://bugs.webkit.org/show_bug.cgi?id=86525

Hits an ASSERT in debug.

Source/WebCore:

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFlex):

  • css/CSSParser.h:
  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

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

(ApplyPropertyFlex):
(WebCore::ApplyPropertyFlex::applyInheritValue):
(WebCore::ApplyPropertyFlex::applyInitialValue):
(WebCore::ApplyPropertyFlex::applyValue):
(WebCore::ApplyPropertyFlex::createHandler):
(WebCore::ApplyPropertyFlex::getFlexValue):
(WebCore):
(WebCore::StyleBuilder::StyleBuilder):

  • css/StylePropertySet.cpp:

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

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitFlexFlowShorthand):
(WebCore::shorthandForProperty):

  • css/StylePropertyShorthand.h:

(WebCore):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

LayoutTests:

  • css3/flexbox/flex-longhand-parsing-expected.txt: Removed.
  • css3/flexbox/flex-longhand-parsing.html: Removed.
  • css3/flexbox/flex-property-parsing-expected.txt:
  • css3/flexbox/flex-property-parsing.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:
4:53 PM Changeset in webkit [121386] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

HTMLFieldSetElement::m_documentVersion is not initialized
https://bugs.webkit.org/show_bug.cgi?id=90038

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

Initialised m_documentVersion member as HTMLFieldSetElement::elements can return an wrong collection.

Covered by existing tests.

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::HTMLFieldSetElement):
Initialised m_documentVersion.

4:50 PM Changeset in webkit [121385] by jpfau@apple.com
  • 2 edits in trunk/LayoutTests

[Mac] Fix test expectation introduced in r121299

Unreviewed.

  • platform/mac/editing/spelling/autocorrection-blockquote-crash-expected.txt:
4:49 PM Changeset in webkit [121384] by dpranke@chromium.org
  • 4 edits in trunk/Tools

nrwt: default timeout for debug bots broke in r121363
https://bugs.webkit.org/show_bug.cgi?id=90112

Unreviewed, build fix.

I forgot to account for release and debug having different
default values :(.

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

(ChromiumPort.default_test_timeout_ms):

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

(WebKitPort):
(WebKitPort.default_test_timeout_ms):

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

(WebKitPortUnitTests.test_default_options):

4:27 PM Changeset in webkit [121383] by hclam@chromium.org
  • 1 edit
    6 adds in trunk/LayoutTests

[chromium] Rebase image mismatch caused by 121371.

Rebase test results for:
platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html

Not reviewed.

  • platform/chromium-mac-snowleopard/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
  • platform/chromium-mac/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
  • platform/chromium-win/platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
4:16 PM Changeset in webkit [121382] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

DFG disassembly should be easier to read
https://bugs.webkit.org/show_bug.cgi?id=90106

Reviewed by Mark Hahnenberg.

Did a few things:

  • Options::showDFGDisassembly now shows OSR exit disassembly as well.


  • Phi node dumping doesn't attempt to do line wrapping since it just made the dump harder to read.


  • DFG graph disassembly view shows a few additional node types that turn out to be essential for understanding OSR exits.


Put together, these changes reinforce the philosophy that anything needed for computing
OSR exit is just as important as the machine code itself. Of course, we still don't take
that philosophy to its full extreme - for example Phantom nodes are not dumped. We may
revisit that in the future.

  • assembler/LinkBuffer.cpp:

(JSC::LinkBuffer::finalizeCodeWithDisassembly):

  • assembler/LinkBuffer.h:

(JSC):

  • dfg/DFGDisassembler.cpp:

(JSC::DFG::Disassembler::dump):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dumpBlockHeader):

  • dfg/DFGNode.h:

(JSC::DFG::Node::willHaveCodeGenOrOSR):

  • dfg/DFGOSRExitCompiler.cpp:
  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

4:08 PM Changeset in webkit [121381] by mhahnenberg@apple.com
  • 122 edits in trunk/Source

JSLock should be per-JSGlobalData
https://bugs.webkit.org/show_bug.cgi?id=89123

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • 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):
(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):

  • 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: 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 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):

  • bridge/runtime_root.cpp:

(JSC::Bindings::RootObject::gcProtect):
(JSC::Bindings::RootObject::gcUnprotect):

  • 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. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • 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. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • 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. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • 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. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • 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. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • 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. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • 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. Also added a couple JSLocks to places that didn't already
have it that needed it.

  • 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):

4:05 PM Changeset in webkit [121380] by tony@chromium.org
  • 18 edits
    2 adds in trunk

Split flex into flex-grow/flex-shrink/flex-basis
https://bugs.webkit.org/show_bug.cgi?id=86525

Reviewed by Ojan Vafai.

Source/WebCore:

Split flex into 3 separate properties per the spec:
http://dev.w3.org/csswg/css3-flexbox/#flex-components

Tests: css3/flexbox/flex-longhand-parsing.html

css3/flexbox/flex-property-parsing.html: Updated test results.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore): -webkit-flex is no longer enumerable.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Add new css property names and use
getCSSPropertyValuesForShorthandProperties for WebkitFlex. Also sort flex propery names.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue): Fix indent.
(WebCore::CSSParser::parseValue): Add parsing for new properties and handle -webkit-flex: none.
(WebCore::CSSParser::parseFlex): Switch to new names (positive -> grow, negative -> shrink,
preferred size -> basis) and assign to longhand properties.

  • css/CSSParser.h:
  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty): Add new properties.

  • css/CSSPropertyNames.in: Add new properties.
  • css/StyleBuilder.cpp:

(WebCore::StyleBuilder::StyleBuilder): Delete special handling of applying flex and just use shorthand handlers.

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getPropertyValue): Add new shorthand.
(WebCore::StylePropertySet::asText):

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitFlexShorthand): Add new shorthand.
(WebCore::shorthandForProperty):

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

(WebCore::StyleResolver::collectMatchingRulesForList): Add to list of properties applied by StyleBuilder.

LayoutTests:

If -webkit-flex is set to none, when the user reads the value back out, it is
now 0 0 auto. 'none' is for convenience, not an actual value.

  • css3/flexbox/flex-longhand-parsing-expected.txt:
  • css3/flexbox/flex-longhand-parsing.html: Test flex-grow, flex-shrink and flex-basis.
  • css3/flexbox/flex-property-parsing-expected.txt:
  • css3/flexbox/flex-property-parsing.html: Update results for 'none'.
  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js: Remove -webkit-flex since it's no longer enumerable.
  • svg/css/getComputedStyle-basic-expected.txt:
3:51 PM Changeset in webkit [121379] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Make Element::elementRareData() and Element::ensureElementRareData() private
https://bugs.webkit.org/show_bug.cgi?id=90060

Reviewed by Andreas Kling.

This is a simple refactoring. Element::elementRareData() and
Element::ensureElementRareData() can be private methods.

No tests. No change in behavior.

  • dom/Element.h:

(Element):

3:16 PM Changeset in webkit [121378] by jamesr@google.com
  • 13 edits in trunk/Source/WebCore

[chromium] Delete unused includes and forward declarations from compositor code
https://bugs.webkit.org/show_bug.cgi?id=90102

Reviewed by Adrienne Walker.

  • platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/ContentLayerChromium.h:
  • platform/graphics/chromium/ImageLayerChromium.cpp:
  • platform/graphics/chromium/LayerChromium.cpp:
  • platform/graphics/chromium/LayerChromium.h:
  • platform/graphics/chromium/LayerRendererChromium.cpp:
  • platform/graphics/chromium/ShaderChromium.h:
  • platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::updateTiles):

  • platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
  • platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
3:13 PM Changeset in webkit [121377] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

IndexedDB: make IDBKey immutable
https://bugs.webkit.org/show_bug.cgi?id=90016

Patch by Alec Flett <alecflett@chromium.org> on 2012-06-27
Reviewed by Tony Chang.

Make all members of IDBKey const, so that this can be considered
an immutable, and thus safe to copy and/or stop ref-counting.

No new tests, existing tests show this works.

  • Modules/indexeddb/IDBKey.cpp:

(WebCore::IDBKey::compare):

  • Modules/indexeddb/IDBKey.h:

(WebCore::IDBKey::createInvalid):
(WebCore::IDBKey::createNumber):
(WebCore::IDBKey::createString):
(WebCore::IDBKey::createDate):
(WebCore::IDBKey::createMultiEntryArray):
(WebCore::IDBKey::createArray):
(WebCore::IDBKey::date):
(WebCore::IDBKey::IDBKey):
(IDBKey):

3:00 PM Changeset in webkit [121376] by arv@chromium.org
  • 4 edits
    7 adds in trunk

[V8] Improve variable resolution order on window
https://bugs.webkit.org/show_bug.cgi?id=84247

Reviewed by Ojan Vafai.

This changes the V8 flag to turn on es52_globals and updates the layout tests to reflect the fixed behavior.

This is the second (third?) try. Last time there was a bug in the V8 code related to the split window.
I added a test that tests the failure that caused this to be rolled back last time.

Source/WebCore:

Tests: fast/dom/Window/es52-globals.html

fast/dom/Window/window-property-shadowing-onclick.html

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::initContextIfNeeded):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initIsolate):

LayoutTests:

  • fast/dom/Window/es52-globals-expected.txt: Added.
  • fast/dom/Window/es52-globals.html: Added.
  • fast/dom/Window/window-property-shadowing-onclick-expected.txt: Added.
  • fast/dom/Window/window-property-shadowing-onclick.html: Added.
  • platform/chromium/fast/dom/Window/es52-globals-expected.txt: Added.
  • platform/chromium/fast/dom/Window/window-property-shadowing-name-expected.txt: Added.
  • platform/chromium/fast/dom/Window/window-property-shadowing-onclick-expected.txt: Added.
2:50 PM Changeset in webkit [121375] by jamesr@google.com
  • 10 edits in trunk/Source/WebCore

[chromium] Use categorized TRACE_EVENTN() macros in compositor code
https://bugs.webkit.org/show_bug.cgi?id=90100

Reviewed by Adrienne Walker.

Specify the category in all traces in the compositor. Patch generated mostly by the sed command
's/TRACE_EVENT(\(.*\), this, 0)/TRACE_EVENT0("cc", \1)/'.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::beginDrawingFrame):
(WebCore::LayerRendererChromium::finish):
(WebCore::LayerRendererChromium::swapBuffers):
(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):

  • platform/graphics/chromium/LayerTextureSubImage.cpp:

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

  • platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:

(WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):

  • platform/graphics/chromium/TextureCopier.cpp:

(WebCore::AcceleratedTextureCopier::copyTexture):

  • platform/graphics/chromium/TextureManager.cpp:

(WebCore::TextureManager::evictTexture):

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

(WebCore::CCFrameRateController::setActive):
(WebCore::CCFrameRateController::onTimerTick):

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

(WebCore::CCLayerTreeHost::initialize):
(WebCore::CCLayerTreeHost::~CCLayerTreeHost):
(WebCore::CCLayerTreeHost::initializeLayerRenderer):
(WebCore::CCLayerTreeHost::beginCommitOnImplThread):
(WebCore::CCLayerTreeHost::didLoseContext):
(WebCore::CCLayerTreeHost::updateLayers):
(WebCore::CCLayerTreeHost::animateLayers):

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

(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::~CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::compositeAndReadback):
(WebCore::CCSingleThreadProxy::stop):

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

(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::~CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::initializeContext):
(WebCore::CCThreadProxy::initializeLayerRenderer):
(WebCore::CCThreadProxy::setNeedsAnimate):
(WebCore::CCThreadProxy::setNeedsCommit):
(WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
(WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
(WebCore::CCThreadProxy::setNeedsForcedCommitOnImplThread):
(WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
(WebCore::CCThreadProxy::setNeedsRedraw):
(WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
(WebCore::CCThreadProxy::stop):
(WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
(WebCore::CCThreadProxy::beginFrame):
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
(WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
(WebCore::CCThreadProxy::scheduledActionCommit):
(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
(WebCore::CCThreadProxy::acquireLayerTextures):
(WebCore::CCThreadProxy::initializeImplOnImplThread):
(WebCore::CCThreadProxy::initializeContextOnImplThread):
(WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
(WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):

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

x86 disassembler confuses immediates with addresses
https://bugs.webkit.org/show_bug.cgi?id=90099

Reviewed by Mark Hahnenberg.

Prepend "$" to immediates to disambiguate between immediates and addresses. This is in
accordance with the gas and AT&T syntax.

  • disassembler/udis86/udis86_syn-att.c:

(gen_operand):

2:25 PM Changeset in webkit [121373] by dpranke@chromium.org
  • 3 edits in trunk/Tools

webkitpy: fix a couple of issues running under cygwin
https://bugs.webkit.org/show_bug.cgi?id=90035

Reviewed by Eric Seidel.

These were causing unit tests to fail on cygwin (apple win bot).

  • Scripts/webkitpy/layout_tests/port/chromium.py:
  • Scripts/webkitpy/performance_tests/perftest.py:
2:25 PM Changeset in webkit [121372] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Add a comment clarifying Options::showDisassembly versus Options::showDFGDisassembly.

Rubber stamped by Mark Hahnenberg.

  • runtime/Options.cpp:

(JSC::Options::initializeOptions):

2:24 PM Changeset in webkit [121371] by wjmaclean@chromium.org
  • 6 edits
    4 adds in trunk

[chromium] ScrollbarLayerChromium should support painting forward-track and back-track in different styles.
https://bugs.webkit.org/show_bug.cgi?id=89908

Reviewed by Adrienne Walker.

Source/WebCore:

Test: platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html

Adds support for accelerated drawing (impl thread) of scrollbars with different styles for the
forward-track and back-track parts.

  • platform/graphics/chromium/ScrollbarLayerChromium.cpp:

(WebCore::ScrollbarLayerChromium::pushPropertiesTo):
(WebCore::ScrollbarBackgroundPainter::create):
(WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
(ScrollbarBackgroundPainter):
(WebCore::ScrollbarLayerChromium::setLayerTreeHost):
(WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
(WebCore::ScrollbarLayerChromium::update):

  • platform/graphics/chromium/ScrollbarLayerChromium.h:

(ScrollbarLayerChromium):

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

(WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
(WebCore):
(WebCore::CCScrollbarLayerImpl::appendQuads):

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

(WebCore::CCScrollbarLayerImpl::setBackTrackTextureId):
(WebCore::CCScrollbarLayerImpl::setForeTrackTextureId):
(CCScrollbarLayerImpl):

LayoutTests:

Adds support for accelerated drawing (impl thread) of scrollbars with different styles for the
forward-track and back-track parts.

  • platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.png: Added.
  • platform/chromium/compositing/scrollbars/custom-composited-different-track-parts-expected.txt: Added.
  • platform/chromium/compositing/scrollbars/custom-composited-different-track-parts.html: Added.
2:18 PM Changeset in webkit [121370] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

REGRESSION(r121135): It made qmltests::WebViewColorChooser::test_accept() fail
https://bugs.webkit.org/show_bug.cgi?id=89871

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-27
Reviewed by Simon Hausmann.

Added proper event synchronization to the test case.

  • UIProcess/API/qt/tests/qmltests/WebView/tst_colorChooser.qml:
2:14 PM Changeset in webkit [121369] by abarth@webkit.org
  • 2 edits in trunk/Tools

[Chromium] DumpRenderTree on Android should call SkUseTestFontConfigFile once available
https://bugs.webkit.org/show_bug.cgi?id=89801

Reviewed by Nate Chapin.

Let's call SkUseTestFontConfigFile now that it exists.

  • DumpRenderTree/chromium/TestShellAndroid.cpp:

(platformInit):

2:12 PM Changeset in webkit [121368] by zandobersek@gmail.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed GTK gardening, adding a new baseline that's required
after the Gamepad API has been turned on in r121332.

  • platform/gtk/fast/dom/navigator-detached-no-crash-expected.txt: Added.
2:09 PM Changeset in webkit [121367] by dpranke@chromium.org
  • 2 edits in trunk/Tools

Fix typo introduced in r121363.

Unreviewed, build fix.

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

(WebKitPort._symbols_string):

2:05 PM Changeset in webkit [121366] by jsbell@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] IndexedDB: Expose WebIDBTransaction::commit() method in public API
https://bugs.webkit.org/show_bug.cgi?id=90089

Reviewed by James Robinson.

Prep work for http://webkit.org/b/89379 which requires empty transactions to
trigger a commit from the front-end.

  • public/WebIDBTransaction.h:

(WebKit::WebIDBTransaction::commit):

2:02 PM Changeset in webkit [121365] by mhahnenberg@apple.com
  • 2 edits in trunk/Tools

Moving from committers to reviewers :-)

Rubber stamped by Filip Pizlo.

  • Scripts/webkitpy/common/config/committers.py:
2:00 PM Changeset in webkit [121364] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Expose device scale factor in WebPluginContainer
https://bugs.webkit.org/show_bug.cgi?id=87874

Patch by Josh Horwich <jhorwich@chromium.org> on 2012-06-27
Reviewed by Adam Barth.

  • public/WebPluginContainer.h:

(WebPluginContainer):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::deviceScaleFactor):
(WebKit):
(WebKit::WebPluginContainerImpl::pageScaleFactor):
(WebKit::WebPluginContainerImpl::pageZoomFactor):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

1:56 PM WebKit Team edited by mhahnenberg@apple.com
Moving myself from committers to reviewers. (diff)
1:52 PM Changeset in webkit [121363] by dpranke@chromium.org
  • 8 edits in trunk/Tools

Derive ChromiumPort from WebKitPort to add support for missing symbols to skip tests
https://bugs.webkit.org/show_bug.cgi?id=89706

Reviewed by Adam Barth.

Based on the original patch by Raymond Toy.

This patch changes ChromiumPort to derive from webkit.WebKitPort
instead of base.Port. This is a long-awaited change and a
precursor to merging base.Port and webkit.WebKitPort, but is
driven by the desire to dynamically detect whether the MP3 and
AAC codecs are compiled into DRT on Chromium, for which we
wanted to re-use the existing logic in WebKit port for determine
what to skip at compile time.

Most of the changes are shuffling things around so that we don't
change any other logic and so we override the necessary methods
in WebKitPort (and try to follow the same method definition
order where possible).

Also, on the Chromium port the mp3 and aac codecs are actually
defined in a separate library, so scanning webcore isn't
sufficient. This patch generalizes the symbol lookup to handle
multiple libraries, and uses different libraries as appropriate
for Chromium.

The only functional/visible changes should be in the value
returned for skipped_layout_tests().

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

(ChromiumPort):
(ChromiumPort.init):
(ChromiumPort.driver_name):
(ChromiumPort._driver_class):
(ChromiumPort._missing_symbol_to_skipped_tests):
(ChromiumPort.skipped_layout_tests):
(ChromiumPort.setup_test_run):
(ChromiumPort._path_to_image_diff):
(ChromiumPort._convert_path):

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

(ChromiumPortTest.test_missing_symbol_to_skipped_tests):

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

(ChromiumLinuxPort._modules_to_search_for_symbols):

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

(ChromiumLinuxPort._modules_to_search_for_symbols):

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

(ChromiumLinuxPort._modules_to_search_for_symbols):

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

(WebKitPort):
(WebKitPort.init):
(WebKitPort._symbols_string):
(WebKitPort._modules_to_search_for_symbols):

1:38 PM Changeset in webkit [121362] by zhajiang@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Wrong scale after leaving fullscreen <video>
https://bugs.webkit.org/show_bug.cgi?id=89546

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

PR: 164948
When we were entering fullscreen, the current scale A was clamped to a
greater minimum scale B as we relayouted the contents during the change
of the viewport size. When leaving fullscreen, we still used that scale
B as the current scale which was incorrect.
To fix this, we can save the current scale when entering fullscreen and
restore it when leaving fullscreen.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::enterFullScreenForElement):
(BlackBerry::WebKit::WebPagePrivate::exitFullScreenForElement):

  • Api/WebPage_p.h:

(WebPagePrivate):

1:31 PM Changeset in webkit [121361] by commit-queue@webkit.org
  • 9 edits in trunk/Source/WebCore

[chromium] Allow screen space rects and occluding rects to be visualized for debugging.
https://bugs.webkit.org/show_bug.cgi?id=90012

Patch by Ian Vollick <vollick@chromium.org> on 2012-06-27
Reviewed by Adrienne Walker.

No new tests. No new functionality.

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

(WebCore::CCDebugRectHistory::enabled):
(WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
(WebCore::CCDebugRectHistory::saveScreenSpaceRects):
(WebCore):
(WebCore::CCDebugRectHistory::saveOccludingRects):

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

(WebCore):
(CCDebugRectHistory):

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

(WebCore::CCHeadsUpDisplay::showDebugRects):
(WebCore::CCHeadsUpDisplay::draw):
(WebCore::CCHeadsUpDisplay::drawDebugRects):

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

(WebCore::CCLayerTreeSettings::CCLayerTreeSettings):
(CCLayerTreeSettings):

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

(WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
(WebCore::CCLayerTreeHostImpl::drawLayers):

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

(FrameData):

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

(WebCore::::CCOcclusionTrackerBase):
(WebCore::addOcclusionBehindLayer):
(WebCore::::markOccludedBehindLayer):

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

(CCOcclusionTrackerBase):
(WebCore::CCOcclusionTrackerBase::setOccludingScreenSpaceRectsContainer):

1:22 PM Changeset in webkit [121360] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/gtk

[gtk] Spell checker doesn't recognize contractions (apostrophes)
https://bugs.webkit.org/show_bug.cgi?id=86118

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-06-27
Reviewed by Gustavo Noronha Silva.

Work-around a bug in Pango by trying to detect apostrophes
that create contractions. This work-around is similar to one
found in gtkspell.

  • webkit/webkitspellcheckerenchant.cpp:

(wordEndIsAContractionApostrophe): Added this helper which tries to detect
situations where a word end is both an apostrophe and followed by a alphabetic
character.
(checkSpellingOfString): When searching for the end of a word, skip over
apostrophes that appear to be part of contractions.

12:54 PM Changeset in webkit [121359] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Web Inspector [JSC]: Implement ScriptCallStack::stackTrace
https://bugs.webkit.org/show_bug.cgi?id=40118

Patch by Anthony Scian <ascian@rim.com> on 2012-06-27
Reviewed by Yong Li.

Source/JavaScriptCore:

Added member functions to expose function name, urlString, and line #.
Refactored toString to make use of these member functions to reduce
duplicated code for future maintenance.

Manually tested refactoring of toString by tracing thrown exceptions.

  • interpreter/Interpreter.h:

(StackFrame):
(JSC::StackFrame::toString):
(JSC::StackFrame::friendlySourceURL):
(JSC::StackFrame::friendlyFunctionName):
(JSC::StackFrame::friendlyLineNumber):

Source/WebCore:

Implemented stub for createScriptCallStack to call into
Interpreter and extract the current stack frames, iterate
through the frames and create the return result required.

No new tests, manually tested thrown exception and inspector
tracebacks.

  • bindings/js/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStack):

12:50 PM Changeset in webkit [121358] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Let Xcode have its own way.

  • WebCore.xcodeproj/project.pbxproj:
12:42 PM Changeset in webkit [121357] by rniwa@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (Safari 5?): Pasting a line into textarea inserts two newlines
https://bugs.webkit.org/show_bug.cgi?id=49288

Reviewed by Tony Chang.

Source/WebCore:

The bug was caused by positionAvoidingPrecedingNodes getting out of a block when the insertion point is at a line break.
It caused the subsequent code to be misinformed of the insertion position and ended up not pruning the extra line break.

Fixed the bug by checking this special case and bailing out so that we don't crawl out of the enclosing block.
It's similar to checks several lines below it.

Test: editing/pasteboard/copy-paste-pre-line-content.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::positionAvoidingPrecedingNodes):

LayoutTests:

Add a test regerssion test for copying & pasting a line in pre into textarea twice.

  • editing/pasteboard/copy-paste-pre-line-content-expected.txt: Added.
  • editing/pasteboard/copy-paste-pre-line-content.html: Added.
11:45 AM Changeset in webkit [121356] by hclam@chromium.org
  • 4 edits in trunk/LayoutTests

[Chromium] Rebaseline svg/text/scaled-font.svg and svg/text/scaling-font-with-geometric-precision.html caused by r121343.

Not reviewed. Build fix.

  • platform/chromium-mac-snowleopard/svg/text/scaling-font-with-geometric-precision-expected.png:
  • platform/chromium-mac/svg/text/scaled-font-expected.png:
  • platform/chromium-mac/svg/text/scaling-font-with-geometric-precision-expected.png:
11:44 AM Changeset in webkit [121355] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

Scale was incorrect when reloading a simple web page after initial load https://bugs.webkit.org/show_bug.cgi?id=88889

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

PR: 164442
For FrameLoadTypeStandard load, the layout timer can be fired which can
call dispatchDidFirstVisuallyNonEmptyLayout() after the load Finished
state, in which case the web page will have no chance to zoom to
initial scale. We should give it a chance as well as FrameLoadTypeSame
load.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::shouldZoomToInitialScaleOnLoad):

11:28 AM Changeset in webkit [121354] by beidson@apple.com
  • 4 edits in trunk/Source/WebKit2

https://bugs.webkit.org/show_bug.cgi?id=87513
WebBackForwardList needs an overhaul to consistently and clearly handle error conditions.

Reviewed by Darin Adler.

  • We think a null entry might somehow be getting in the list so we now try to prevent that.
  • We think a null entry might somehow be in the list so we now null check when indexing into m_entries.
  • A lot of index math - especially tracking "no current index" - was implicit or wrong.
  • Operating on a WebBackForwardList whose page has been closed is now an explicit no-op.
  • The session state data reading and writing code was fragile and needed an overhaul.
  • This includes adding a new V1 format of the session data that is easier to validate when reading back in.
  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::~WebBackForwardList):
(WebKit::WebBackForwardList::pageClosed):
(WebKit::WebBackForwardList::addItem):
(WebKit::WebBackForwardList::goToItem):
(WebKit::WebBackForwardList::backListCount):
(WebKit::WebBackForwardList::forwardListCount):
(WebKit::WebBackForwardList::backListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::forwardListAsImmutableArrayWithLimit):
(WebKit::WebBackForwardList::clear):

  • UIProcess/WebBackForwardList.h:

(WebBackForwardList):

  • UIProcess/cf/WebBackForwardListCF.cpp:

(WebKit::createEmptySessionHistoryDictionary):
(WebKit::WebBackForwardList::createCFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromCFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromV0CFDictionaryRepresentation):
(WebKit::WebBackForwardList::restoreFromV1CFDictionaryRepresentation):
(WebKit::extractBackForwardListEntriesFromArray):

11:28 AM Changeset in webkit [121353] by ojan@chromium.org
  • 4 edits in trunk/LayoutTests

Fix some styling errors in the TestExpecations files.
There were automatically fixed when trying to make
webkit-patch rebaseline-expectations work for non-Chromium ports.

  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
11:25 AM Changeset in webkit [121352] by commit-queue@webkit.org
  • 6 edits
    3 adds in trunk

[CSSRegions]Change display values that allow regions
https://bugs.webkit.org/show_bug.cgi?id=89759

Patch by Andrei Onea <onea@adobe.com> on 2012-06-27
Reviewed by Tony Chang.

Source/WebCore:

Allow only elements with display values of block, inline-block,
table-cell, table-caption and list-item to become regions, as per
CSSRegions spec: http://dev.w3.org/csswg/css3-regions .
Also added test for checking whether regions are destroyed and/or created
when changing display value.

Test: fast/regions/region-element-display-change.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::createObject):

  • rendering/style/RenderStyle.h:

LayoutTests:

Added checks for more display values, and modified results to reflect proper values that can become
regions. Also created new test for dynamically changing display values, making sure regions are
created or destroyed correctly.

  • fast/regions/region-element-display-change-expected.txt: Added.
  • fast/regions/region-element-display-change.html: Added.
  • fast/regions/region-element-display-restriction-expected.txt:
  • fast/regions/script-tests/region-element-display-change.js: Added.

(testElement):

  • fast/regions/script-tests/region-element-display-restriction.js:
11:23 AM Changeset in webkit [121351] by mikelawther@chromium.org
  • 4 edits
    4 adds
    2 deletes in trunk

CSS3 calc: blending involving expressions
https://bugs.webkit.org/show_bug.cgi?id=86160

Reviewed by Tony Chang.

Source/WebCore:

If either endpoint of a blend involves a calc expression, we create a new
expression to perform the blend calculation.

Test: css3/calc/transitions.html

css3/calc/transitions-dependent.html

  • platform/Length.cpp:

(WebCore):
(WebCore::Length::blendCalculation):

  • platform/Length.h:

(WebCore::Length::blend):
(Length):

LayoutTests:

Removed existing test as it was folded into transitions.html.

  • css3/calc/transition-start-end-with-calc-expected.txt: Removed.
  • css3/calc/transition-start-end-with-calc.html: Removed.
  • css3/calc/transitions-dependent-expected.txt: Added.
  • css3/calc/transitions-dependent.html: Added.
  • css3/calc/transitions-expected.txt: Added.
  • css3/calc/transitions.html: Added.
10:48 AM Changeset in webkit [121350] by shinyak@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

[Shadow] Triggers assertion in VisibleSelection::adjustSelectionToAvoidCrossingBoundaries()
https://bugs.webkit.org/show_bug.cgi?id=89918

Reviewed by Ryosuke Niwa.

This patch adds a testcase of selection from Shadow DOM to some elements outside of shadow host.
r121303, which is a patch for another issue, fixed this issue.

  • editing/shadow/breaking-editing-boundaries-2-expected.txt: Added.
  • editing/shadow/breaking-editing-boundaries-2.html: Added.
10:45 AM Changeset in webkit [121349] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Move CSSWrapShape style resolution from StyleResolver to StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=89668

Patch by Hans Muller <hmuller@adobe.com> on 2012-06-27
Reviewed by Andreas Kling.

Moved the resolution of the shapeInside and shapeOutside CSS properties
from the StyleResolver class to StyleBuilder. This is just refactoring
in preparation for fixing https://bugs.webkit.org/show_bug.cgi?id=89670.

No new tests were required.

  • css/StyleBuilder.cpp:

(WebCore):
(ApplyPropertyWrapShape):
(WebCore::ApplyPropertyWrapShape::setValue):
(WebCore::ApplyPropertyWrapShape::applyValue):
(WebCore::ApplyPropertyWrapShape::createHandler):
(WebCore::StyleBuilder::StyleBuilder):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

10:38 AM Changeset in webkit [121348] by Alexandru Chiculita
  • 4 edits
    5 adds in trunk

Blur filter causes issues when scrolling
https://bugs.webkit.org/show_bug.cgi?id=89475

Reviewed by Simon Fraser.

Source/WebCore:

This patch disables the fast scrolling when there is a fixed postioned element that
has a filter applied on its parent layer. Otherwise the scroll blitting will just
copy the outsets of the blur effect.

Test: css3/filters/blur-filter-page-scroll.html

  • page/FrameView.cpp:

(WebCore::FrameView::scrollContentsFastPath):

LayoutTests:

Checking that the fixed positioned element repaints correctly when there is a blur filter
applied on its parent layer.

  • css3/filters/blur-filter-page-scroll.html: Added.
  • platform/chromium/css3/filters/blur-filter-page-scroll-expected.png: Added.
  • platform/chromium/css3/filters/blur-filter-page-scroll-expected.txt: Added.
  • platform/chromium/TestExpectations: The new test needs to be checked on Windows.
  • platform/mac/css3/filters/blur-filter-page-scroll-expected.png: Added.
  • platform/mac/css3/filters/blur-filter-page-scroll-expected.txt: Added.
10:22 AM Changeset in webkit [121347] by kling@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r121296): New zero-size background tests asserting on Mac.
<http://webkit.org/b/90071>

Reviewed by Dan Bernstein.

Remove ASSERT(patternTransform.isInvertible()) as this is now a valid scenario.

  • platform/graphics/cg/ImageCG.cpp:

(WebCore::Image::drawPattern):

9:55 AM Changeset in webkit [121346] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[Qt] REGRESSION(r121339): It broke the build on the Qt Windows bots
https://bugs.webkit.org/show_bug.cgi?id=90081

Buildfix for Qt 4.8 Windows. Use the former path for Qt 4.8, and the newer one for Qt 5.

Reviewed by Noam Rosenthal.

  • qmake/mkspecs/features/features.prf:
8:52 AM Changeset in webkit [121345] by sergio@webkit.org
  • 2 edits in trunk/Tools

[WK2] [GTK] WebKit2 testing bot fails to run tests due to missing files
https://bugs.webkit.org/show_bug.cgi?id=90061

Reviewed by Gustavo Noronha Silva.

Add "-no-install -no-fast-install" to the LDFLAGS in bots. With
this flag libtool tells the linker to set the rpath for the output
file to the full path of the .libs directory, instead of using a
wrapper script to set up the LD_LIBRARY_PATH. This will allow us
to directly reuse builds in the pure testing bots.

  • BuildSlaveSupport/gtk/daemontools-buildbot.conf:
8:18 AM Changeset in webkit [121344] by shinyak@chromium.org
  • 2 edits in trunk/Source/WebCore

HTMLStyleElement::removedFrom seems incorrect.
https://bugs.webkit.org/show_bug.cgi?id=89986

Reviewed by Hajime Morita.

This is a follow-up patch for Bug 88495. The Same bug as Bug 88495 seems to exist on
HTMLStyleElement::removedFrom().

No new tests, hard to write a test case.

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::removedFrom):

8:06 AM Changeset in webkit [121343] by reed@google.com
  • 2 edits in trunk/Source/WebCore

Cleanup scaling code in text-decorations for SVG InlineText. Use scale() instead of getCTM/normalizeTransform/setCTM
to use more standard pattern for scaling, and to allow for these operations to be recorded and played back later
(potentially with a different starting matrix). This effectively reverts change# 78704.
https://bugs.webkit.org/show_bug.cgi?id=89888

Reviewed by Nikolas Zimmermann.

No new tests. Current layouttests exercise this code path.

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paintDecorationWithStyle):
(WebCore::SVGInlineTextBox::paintTextWithShadows):

7:55 AM Changeset in webkit [121342] by rjkroege@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] out-of-order assert in WebViewImpl setDeviceScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=90006

The assert in WebViewImpl::setDeviceScaleFactor should test for non-scaling
after we have set both m_DeviceScaleInCompositor and page()->deviceScaleFactor()
instead of in between.

Reviewed by James Robinson.

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setDeviceScaleFactor):

7:27 AM Changeset in webkit [121341] by vestbo@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Remove redundant NDEBUG definition

Already handled in default_post.prf.

Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-06-27
Reviewed by Tor Arne Vestbø.

  • WebCore.pri:
7:24 AM Changeset in webkit [121340] by vestbo@webkit.org
  • 2 edits in trunk/Tools

[Qt] No need to save and restore TEMPLATE in a function

This was a leftover from when the logic was not in its own function scope.

QMAKE_FRAMEWORK_BUNDLE_NAME on the other hand is exported in qtLibraryTarget, which
will surprisingly affect the global scope as well, so we have to save and restore it.

Original patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-06-27

Reviewed by Tor Arne Vestbø.

  • qmake/mkspecs/features/functions.prf:
6:29 AM WebKitGTK/WebKit2Roadmap edited by mario@webkit.org
(diff)
6:05 AM Changeset in webkit [121339] by vestbo@webkit.org
  • 2 edits in trunk/Tools

[Qt] Fix lookup location for sqlite sources

Don't look in the install dir - we are unlikely to find anything there
unless we are doing a developer build.

Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-06-27
Reviewed by Tor Arne Vestbø.

  • qmake/mkspecs/features/features.prf:
6:02 AM Changeset in webkit [121338] by vestbo@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Qt] Remove redundant c++11 warning suppression code

This is already handled in default_post.

Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-06-27
Reviewed by Tor Arne Vestbø.

  • Target.pri:
4:35 AM Changeset in webkit [121337] by apavlov@chromium.org
  • 3 edits
    2 adds in trunk

Unexpected end of style sheet in @font-face rule discards it rather than closes all open constructs
https://bugs.webkit.org/show_bug.cgi?id=89980

Reviewed by Antti Koivisto.

Source/WebCore:

Use the "closing_brace" at the end of font_face rather than the explicit "'}' maybe_space".

Test: fast/css/font-face-unexpected-end.html

  • css/CSSGrammar.y:

LayoutTests:

  • fast/css/font-face-unexpected-end-expected.html: Added.
  • fast/css/font-face-unexpected-end.html: Added.
4:30 AM Changeset in webkit [121336] by vestbo@webkit.org
  • 6 edits in trunk/Source

[Qt] Add missing heades to HEADERS

For JavaScriptCore there aren't any Qt specific files, so we include all
headers for easy editing in Qt Creator.

Reviewed by Simon Hausmann.

3:45 AM WebKitGTK/WebKit2Roadmap edited by mario@webkit.org
(diff)
3:21 AM Changeset in webkit [121335] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Rename Element::rareData() to Element::elementRareData(), and Element::ensureRareData() to Element::ensureElementRareData()
https://bugs.webkit.org/show_bug.cgi?id=90050

Reviewed by Ryosuke Niwa.

Element::rareData()/Element::ensureRareData() and
Node::rareData()/Node::ensureRareData() are confusing. They are not virtual
methods. For clarification, we can rename Element::rareData() to
Element::elementRareData(), and Element::ensureRareData() to
Element::ensureElementRareData().

c.f. SVGRareData uses SVGElement::rareSVGData() and SVGElement::ensureRareSVGData().
(We might want to rename them to SVGElement::svgRareData() and
SVGElement::ensureSVGRareData() in a follow-up patch.)

No tests. No change in behavior.

  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::elementRareData):
(WebCore::Element::ensureElementRareData):
(WebCore::Element::attributes):
(WebCore::Element::attach):
(WebCore::Element::detach):
(WebCore::Element::recalcStyle):
(WebCore::Element::shadow):
(WebCore::Element::ensureShadow):
(WebCore::Element::shadowPseudoId):
(WebCore::Element::setShadowPseudoId):
(WebCore::Element::focus):
(WebCore::Element::minimumSizeForResizing):
(WebCore::Element::setMinimumSizeForResizing):
(WebCore::Element::computedStyle):
(WebCore::Element::setStyleAffectedByEmpty):
(WebCore::Element::styleAffectedByEmpty):
(WebCore::Element::cancelFocusAppearanceUpdate):
(WebCore::Element::classList):
(WebCore::Element::optionalClassList):
(WebCore::Element::dataset):
(WebCore::Element::containsFullScreenElement):
(WebCore::Element::setContainsFullScreenElement):
(WebCore::Element::hasNamedNodeMap):
(WebCore::Element::ensureCachedHTMLCollection):
(WebCore::Element::savedLayerScrollOffset):
(WebCore::Element::setSavedLayerScrollOffset):

  • dom/Element.h:

(Element):

  • html/LabelableElement.cpp:

(WebCore::LabelableElement::labels):

2:44 AM Changeset in webkit [121334] by dominicc@chromium.org
  • 2 edits
    2 deletes in trunk/Source

[Chromium] Remove unused build scripts and empty folders for JavaScriptCore w/ gyp
https://bugs.webkit.org/show_bug.cgi?id=90029

Source/JavaScriptCore:

Reviewed by Adam Barth.

  • gyp: Removed.
  • gyp/generate-derived-sources.sh: Removed.
  • gyp/generate-dtrace-header.sh: Removed.
  • gyp/run-if-exists.sh: Removed.
  • gyp/update-info-plist.sh: Removed.

Source/WebCore:

  • gyp: Removed empty dir.
2:26 AM Changeset in webkit [121333] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, rolling out r121271.
http://trac.webkit.org/changeset/121271
https://bugs.webkit.org/show_bug.cgi?id=90056

Broke a whole bunch of tests and also caused crashes in some
tests (Requested by rniwa on #webkit).

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

  • editing/Editor.cpp:

(WebCore::Editor::markAndReplaceFor):

2:22 AM BuildingGtk edited by zandobersek@gmail.com
Add gudev as a dependency for building the Gtk port. (diff)
2:19 AM Changeset in webkit [121332] by zandobersek@gmail.com
  • 13 edits
    4 adds in trunk

[Gtk] Add support for the Gamepad API
https://bugs.webkit.org/show_bug.cgi?id=87503

Reviewed by Carlos Garcia Campos.

.:

Only enable the Gamepad feature on Linux as support
for other operating systems is not present.

Check for the GIO Unix and GUdev dependencies when the
Gamepad feature is enabled.

  • configure.ac:

Source/WebCore:

Add support for the Gamepad feature on the GTK port.

The support is available only on Linux, with each gamepad device being presented
through a GamepadDeviceLinux object. The implementation of this class relies on
the Linux kernel joystick API.

Gamepad devices are recognized through the GamepadsGtk class, of which implementation
is based on GUdev. This way devices are properly registered on connection as objects of
the GamepadDeviceGtk class which inherits GamepadDeviceLinux. GamepadDeviceGtk reads the
joystick data through GIO pollable streams and updates the device state accordingly. The
GamepadsGtk object is then polled for gamepads data through the sampleGamepads method.

No new tests - tests already exist but require additional testing infrastructure.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • bindings/gobject/GNUmakefile.am:
  • bindings/js/JSDOMBinding.h: Add the jsArray method that operates on a Vector of floats.

(WebCore):
(WebCore::jsArray):

  • platform/gtk/GamepadsGtk.cpp: Added.

(WebCore):
(GamepadDeviceGtk):
(WebCore::GamepadDeviceGtk::create):
(WebCore::GamepadDeviceGtk::GamepadDeviceGtk):
(WebCore::GamepadDeviceGtk::~GamepadDeviceGtk):
(WebCore::GamepadDeviceGtk::readCallback):
(GamepadsGtk):
(WebCore::GamepadsGtk::GamepadsGtk):
(WebCore::GamepadsGtk::~GamepadsGtk):
(WebCore::GamepadsGtk::registerDevice):
(WebCore::GamepadsGtk::unregisterDevice):
(WebCore::GamepadsGtk::updateGamepadList):
(WebCore::GamepadsGtk::onUEventCallback):
(WebCore::GamepadsGtk::isGamepadDevice):
(WebCore::sampleGamepads):

  • platform/linux/GamepadDeviceLinux.cpp: Added.

(WebCore):
(WebCore::GamepadDeviceLinux::GamepadDeviceLinux):
(WebCore::GamepadDeviceLinux::~GamepadDeviceLinux):
(WebCore::GamepadDeviceLinux::updateForEvent):
(WebCore::GamepadDeviceLinux::normalizeAxisValue):
(WebCore::GamepadDeviceLinux::normalizeButtonValue):

  • platform/linux/GamepadDeviceLinux.h: Added.

(WebCore):
(GamepadDeviceLinux):
(WebCore::GamepadDeviceLinux::connected):
(WebCore::GamepadDeviceLinux::id):
(WebCore::GamepadDeviceLinux::timestamp):
(WebCore::GamepadDeviceLinux::axesCount):
(WebCore::GamepadDeviceLinux::axesData):
(WebCore::GamepadDeviceLinux::buttonsCount):
(WebCore::GamepadDeviceLinux::buttonsData):

Source/WebKit/gtk:

Add the Gamepad feature dependencies libraries to the LIBADD
list for the libwebkitgtk library.

  • GNUmakefile.am:

Source/WebKit2:

Add the Gamepad feature dependencies libraries to the LIBADD
list for the libwebkitgtk2 library.

  • GNUmakefile.am:

Tools:

Enable the gamepad support for the GTK port.

  • Scripts/webkitperl/FeatureList.pm:
2:15 AM Changeset in webkit [121331] by rniwa@webkit.org
  • 5 edits in trunk

Fix gcc build after r121302
https://bugs.webkit.org/show_bug.cgi?id=90055

Reviewed by Mark Rowe.

Source/ThirdParty:

Assume RTTI is disabled so that gtest builds under XCode 3.2.6.

  • gtest/xcode/Config/General.xcconfig:

Tools:

Assume RTTI is always disabled so that gtest builds on XCode 3.2.6.

It appears that gcc doesn't like window.get().* inside a template so replace that by [window.get() *] instead.

  • TestWebKitAPI/Configurations/Base.xcconfig:
  • TestWebKitAPI/Tests/mac/AcceptsFirstMouse.mm:

(TestWebKitAPI::AcceptsFirstMouse::runTest):

1:54 AM Changeset in webkit [121330] by haraken@chromium.org
  • 6 edits in trunk/Source/WebCore

Rename rareSVGData() to svgRareData()
https://bugs.webkit.org/show_bug.cgi?id=90051

Reviewed by Nikolas Zimmermann.

Since rareSVGData() returns SVGRareData, it would make sense to
rename rareSVGData() to svgRareData(). Similarly, we can rename
ensureRareSVGData() to ensureSVGRareData(), and hasRareSVGData()
to hasSVGRareData().

c.f. bug 90050 is trying to introduce elementRareData() and
ensureElementRareData().

No tests. No change in behavior.

  • WebCore.order:
  • dom/Node.h:

(WebCore::Node::hasSVGRareData):
(WebCore::Node::setHasSVGRareData):
(WebCore::Node::clearHasSVGRareData):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::~SVGElement):
(WebCore::SVGElement::willRecalcStyle):
(WebCore::SVGElement::svgRareData):
(WebCore::SVGElement::ensureSVGRareData):
(WebCore::SVGElement::mapInstanceToElement):
(WebCore::SVGElement::removeInstanceMapping):
(WebCore::SVGElement::instancesForElement):
(WebCore::SVGElement::setCursorElement):
(WebCore::SVGElement::cursorElementRemoved):
(WebCore::SVGElement::setCursorImageValue):
(WebCore::SVGElement::cursorImageValueRemoved):
(WebCore::SVGElement::correspondingElement):
(WebCore::SVGElement::setCorrespondingElement):
(WebCore::SVGElement::animatedSMILStyleProperties):
(WebCore::SVGElement::ensureAnimatedSMILStyleProperties):
(WebCore::SVGElement::setUseOverrideComputedStyle):
(WebCore::SVGElement::computedStyle):

  • svg/SVGElement.h:

(SVGElement):

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::instanceUpdatesBlocked):
(WebCore::SVGStyledElement::setInstanceUpdatesBlocked):
(WebCore::SVGStyledElement::hasPendingResources):
(WebCore::SVGStyledElement::setHasPendingResources):
(WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible):

1:30 AM Changeset in webkit [121329] by kkristof@inf.u-szeged.hu
  • 5 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, rebaseline after r121303.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-06-27

  • platform/qt/editing/deleting/delete-br-002-expected.txt:
  • platform/qt/editing/deleting/delete-br-004-expected.txt:
  • platform/qt/editing/deleting/delete-br-005-expected.txt:
  • platform/qt/editing/deleting/delete-br-006-expected.txt:
1:27 AM Changeset in webkit [121328] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Add master.cfg unittest to help migration - pass BuildStep instances instead of BuildStep subclasses
https://bugs.webkit.org/show_bug.cgi?id=89564

Reviewed by Tony Chang.

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(BuildStepsConstructorTest):
(BuildStepsConstructorTest.generateTests):
(BuildStepsConstructorTest.createTest):
(BuildStepsConstructorTest.createTest.doTest):

12:48 AM Changeset in webkit [121327] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

LabelableElement.cpp should include not ElementRareData.h but NodeRareData.h
https://bugs.webkit.org/show_bug.cgi?id=90047

Reviewed by Kent Tamura.

This is a simple refactoring. What LabelableElement uses is
not ElementRareData but NodeRareData.

No tests. No change in behavior.

  • html/LabelableElement.cpp:
12:28 AM Changeset in webkit [121326] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Refactor V8BindingPerIsolateData::current() and V8BindingPerIsolateData::get()
https://bugs.webkit.org/show_bug.cgi?id=90044

Reviewed by Adam Barth.

'static_cast<V8BindingPerIsolateData*>(isolate->GetData())' is duplicated
in V8BindingPerIsolateData::current() and V8BindingPerIsolateData::get().
This patch removes the duplication.

No tests. No change in behavior.

  • bindings/v8/V8Binding.h:

(WebCore::V8BindingPerIsolateData::current):

12:26 AM Changeset in webkit [121325] by zandobersek@gmail.com
  • 5 edits in trunk/LayoutTests

Unreviewed GTK gardening, updating baselines after r121303.

  • platform/gtk/editing/deleting/delete-br-002-expected.txt:
  • platform/gtk/editing/deleting/delete-br-004-expected.txt:
  • platform/gtk/editing/deleting/delete-br-005-expected.txt:
  • platform/gtk/editing/deleting/delete-br-006-expected.txt:
12:26 AM Changeset in webkit [121324] by Simon Hausmann
  • 3 edits in trunk/Source/WebKit/qt

[Qt] Fix compilation of example platform plugin with Qt 5

Reviewed by Kenneth Christiansen.

Use QLatin1String where appropriate and use the Qt 5 plugin
system with Qt 5.

  • examples/platformplugin/WebPlugin.cpp:

(SingleSelectionPopup::SingleSelectionPopup):
(MultipleItemListDelegate::MultipleItemListDelegate):
(MultipleSelectionPopup::MultipleSelectionPopup):

  • examples/platformplugin/WebPlugin.h:

(WebPlugin):

12:09 AM Changeset in webkit [121323] by Simon Hausmann
  • 2 edits in trunk/Source/WebKit2

[Qt] Avoid use of deprecated Qt API

Reviewed by Tor Arne Vestbø.

QGuiApplication::inputPanel() has been deprecated in favour of
inputMethod().

  • UIProcess/qt/QtWebPageEventHandler.cpp:

(WebKit::QtWebPageEventHandler::QtWebPageEventHandler):
(WebKit::QtWebPageEventHandler::~QtWebPageEventHandler):
(WebKit::setInputPanelVisible):
(WebKit::QtWebPageEventHandler::inputPanelVisibleChanged):
(WebKit::QtWebPageEventHandler::updateTextInputState):

Jun 26, 2012:

11:37 PM Changeset in webkit [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:
11:03 PM Changeset in webkit [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):

10:40 PM Changeset in webkit [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):

9:22 PM Changeset in webkit [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.
9:03 PM Changeset in webkit [121318] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Rebaseline after r121286 and r121290.

  • editing/deleting/merge-into-empty-block-2-expected.txt:
8:49 PM Changeset in webkit [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:
8:44 PM Changeset in webkit [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.

8:30 PM Changeset in webkit [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:
8:02 PM Changeset in webkit [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.
7:20 PM Changeset in webkit [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):

7:11 PM Changeset in webkit [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):

6:57 PM Changeset in webkit [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):

6:49 PM Changeset in webkit [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):

6:41 PM Changeset in webkit [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.
6:38 PM Changeset in webkit [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):

6:34 PM Changeset in webkit [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):

6:31 PM Changeset in webkit [121306] by Simon Fraser
  • 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):

5:41 PM Changeset in webkit [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.
5:06 PM Changeset in webkit [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:
5:00 PM Changeset in webkit [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:
4:54 PM Changeset in webkit [121302] by Lucas Forschler
  • 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
4:43 PM Changeset in webkit [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:
4:39 PM Changeset in webkit [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> 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):

4:34 PM Changeset in webkit [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.
4:32 PM Changeset in webkit [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.
4:18 PM Changeset in webkit [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:
4:08 PM Changeset in webkit [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:
4:02 PM Changeset in webkit [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):

4:00 PM Changeset in webkit [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:
4:00 PM Changeset in webkit [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 <Raymond Toy> on 2012-06-26
Reviewed by Eric Seidel.

No new tests needed for a compile issue

  • Modules/webaudio/AudioNode.cpp: Include stdio.h
3:51 PM Changeset in webkit [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):

3:07 PM Exposing WebKit internals for Layout Tests edited by petewil@chromium.org
(diff)
3:05 PM Exposing WebKit internals for Layout Tests edited by petewil@chromium.org
(diff)
3:04 PM Exposing WebKit internals for Layout Tests created by petewil@chromium.org
Added instructions (still needs formatting)
3:04 PM Changeset in webkit [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):

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

Fix a test after r121286.

  • editing/deleting/merge-into-empty-block-2.html:
2:35 PM Changeset in webkit [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:
2:30 PM Changeset in webkit [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):

2:21 PM Changeset in webkit [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.

2:06 PM Changeset in webkit [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.
1:23 PM Changeset in webkit [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:
1:17 PM Changeset in webkit [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):

1:09 PM Changeset in webkit [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 PM Changeset in webkit [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 PM Changeset in webkit [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 PM Changeset in webkit [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 PM Changeset in webkit [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 PM Changeset in webkit [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 PM Changeset in webkit [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 PM Changeset in webkit [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 PM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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 AM Changeset in webkit [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 AM WebKitGTK/1.8.x edited by Martin Robinson
(diff)
10:01 AM Changeset in webkit [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):

9:30 AM Changeset in webkit [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):

9:20 AM Changeset in webkit [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:
8:00 AM Changeset in webkit [121263] by Csaba Osztrogonác
  • 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):

7:39 AM Changeset in webkit [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.
7:01 AM Changeset in webkit [121261] by Simon Hausmann
  • 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:
6:09 AM Changeset in webkit [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):

6:07 AM Changeset in webkit [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):

5:56 AM Changeset in webkit [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.
5:49 AM Changeset in webkit [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:
5:32 AM Changeset in webkit [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):

5:17 AM Changeset in webkit [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> 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:
5:10 AM Changeset in webkit [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> 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):

4:27 AM Changeset in webkit [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):

3:36 AM Changeset in webkit [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 <Simon Pena> on 2012-06-26

  • platform/gtk/TestExpectations:
3:26 AM Changeset in webkit [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.
3:19 AM Changeset in webkit [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):

3:17 AM Changeset in webkit [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):

3:16 AM Changeset in webkit [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:
3:11 AM Changeset in webkit [121247] by Csaba Osztrogonác
  • 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):

3:06 AM Changeset in webkit [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.
3:04 AM Changeset in webkit [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):

2:42 AM Changeset in webkit [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 <János Badics> 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):

2:22 AM Changeset in webkit [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):

2:21 AM Changeset in webkit [121242] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[Qt] Unreviewed typo fix after r121144.

  • Target.pri:
2:11 AM Changeset in webkit [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.
2:04 AM Changeset in webkit [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.

1:25 AM Changeset in webkit [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):

12:59 AM Changeset in webkit [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.
12:59 AM Changeset in webkit [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:
12:55 AM Changeset in webkit [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):

12:55 AM Changeset in webkit [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):

12:41 AM Changeset in webkit [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
12:24 AM Changeset in webkit [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> on 2012-06-26
Reviewed by Martin Robinson.

Properly initialize didInitializeState in
TextChecker::state().

  • UIProcess/gtk/TextCheckerGtk.cpp:

(WebKit::TextChecker::state):

Note: See TracTimeline for information about the timeline view.