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

Timeline



Nov 28, 2012:

11:46 PM Changeset in webkit [136105] by mkwst@chromium.org
  • 3 edits
    2 adds in trunk

Add a test to ensure that 'seamless' iframes do not inherit contenteditable.
https://bugs.webkit.org/show_bug.cgi?id=95890

Reviewed by Ojan Vafai.

Source/WebCore:

We don't currently support inheriting contenteditable into a seamless
frame. http://html5.org/tools/web-apps-tracker?from=7318&to=7319
brought the spec in line with WebKit's behavior (ha!). This patch
defends the behavior by adding a test, and removes a FIXME comment
now that the question is settled.

It also exposes a brand new bug: https://bugs.webkit.org/show_bug.cgi?id=103539
How exciting.

Test: fast/frames/seamless/seamless-contenteditable-not-inherited.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::styleForDocument):

No functional change, just dropping a FIXME comment.

LayoutTests:

  • fast/frames/seamless/seamless-contenteditable-not-inherited-expected.txt: Added.
  • fast/frames/seamless/seamless-contenteditable-not-inherited.html: Added.
11:28 PM Changeset in webkit [136104] by mkwst@chromium.org
  • 5 edits
    4 adds in trunk

Web Inspector: Console message's anchor element should be trimmed for readability.
https://bugs.webkit.org/show_bug.cgi?id=100095

Reviewed by Pavel Feldman.

Source/WebCore:

We're currently trimming URLs that go through
'WebInspector.linkifyURLAsNode' down to 150 characters total. Not all
URLs go that path, however. We were missing a few cases that dropped
back to the default Linkifier (which especially showed up for "Live"
anchor elements).

This patch ensures that anything using WebInspector.Linkifier is also
trimmed by default. It adds a new constant to do so in order to avoid
magic numbers in the code.

Test: http/tests/inspector/network/script-as-text-loading-long-url.html

  • inspector/front-end/Linkifier.js:

(WebInspector.Linkifier):

Pass the max length into the default formatter that's created and
stored when creating a 'WebInspector.Linkifier' object.

  • inspector/front-end/ResourceUtils.js:

(WebInspector.linkifyURLAsNode):

Use the new maxlength constant rather than hard-coding 150.

LayoutTests:

  • http/tests/inspector/network/resources/script-as-text-with-a-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-very-long-url.php: Added.
  • http/tests/inspector/network/script-as-text-loading-long-url-expected.txt: Added.
  • http/tests/inspector/network/script-as-text-loading-long-url.html: Added.
  • platform/chromium/http/tests/inspector/network/script-as-text-loading-long-url-expected.txt: Added.

JSC vs V8.

11:24 PM WebInspector edited by mousewiki@yahoo.com
(diff)
11:23 PM WebInspector edited by Daniela Lanie
(diff)
11:10 PM Changeset in webkit [136103] by commit-queue@webkit.org
  • 7 edits
    1 delete in trunk/Source

[EFL] Generate big_button_theme.edj
https://bugs.webkit.org/show_bug.cgi?id=103511

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-11-28
Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

big_button_theme.edj, binary file which is used for test, should be generated.

  • DefaultTheme/CMakeLists.txt:

Introduced macro and new target to share files of default theme instead
of adding many files for big_button_theme.

  • DefaultTheme/widget/button/button.edc:

Implemented for big_button_theme.

Source/WebKit2:

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.cpp:

(EWK2UnitTest::EWK2UnitTestEnvironment::pathForTheme):
(EWK2UnitTest):

  • UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:

(EWK2UnitTestEnvironment):

  • UIProcess/API/efl/tests/resources/big_button_theme.edj: Removed.
  • UIProcess/API/efl/tests/test_ewk2_view.cpp: Modified to use generated big_button_theme.edj

(TEST_F):

11:07 PM WebInspector edited by mousewiki@yahoo.com
(diff)
11:00 PM Changeset in webkit [136102] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed, rolling out r135973.
http://trac.webkit.org/changeset/135973
https://bugs.webkit.org/show_bug.cgi?id=103604

It made API test crash on EFL bots (Requested by gyuyoung on
#webkit).

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

  • UIProcess/API/efl/ewk_view.cpp:

(createEwkView):

10:49 PM Changeset in webkit [136101] by apavlov@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

012-11-28 Alexander Pavlov <apavlov@chromium.org>

[Chromium] Unreviewed, rebaseline CSS regions test expectations for Mac 10.8 after r136045.

  • platform/chromium-mac/fast/regions/autoheight-dynamic-update-expected.png: Added.
  • platform/chromium-mac/fast/regions/firstletter-inside-flowthread-expected.png: Added.
  • platform/chromium-mac/fast/regions/listmarker-inside-flowthread-expected.png: Added.
10:44 PM Changeset in webkit [136100] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Rebaselined run-bindings-tests.

  • bindings/scripts/test/V8/V8TestNode.h:

(WebCore::toV8Fast):

10:24 PM Changeset in webkit [136099] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit2

IndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=103554

Patch by Michael Pruett <michael@68k.org> on 2012-11-28
Reviewed by Kentaro Hara.

In r135022, duplicate createFromWire() and toWireString() methods
were added to the JSC version of SerializedScriptValue. In
order to allow the JSC SerializedScriptValue to compile when
ENABLE(INDEXED_DATABASE) is turned on, these new methods have
been removed and the old methods have been moved outside the
ENABLE(INDEXED_DATABASE) guard.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
10:23 PM Changeset in webkit [136098] by shinyak@chromium.org
  • 5 edits in trunk/Source/WebCore

[Shadow] ShadowRoot should cache InsertionPointList.
https://bugs.webkit.org/show_bug.cgi?id=103212

Reviewed by Hajime Morita.

When distributing or invalidating distribution, we used to traverse all descendent nodes in Shadow DOM.
If ShadowRoot has a InsertionPoint list, we can just traverse the list.

No new tests, should be covered by existing tests.

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::insertionPointList):
(WebCore):

  • dom/ShadowRoot.h:

(ShadowRoot):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ShadowRootContentDistributionData::ShadowRootContentDistributionData):
(WebCore::ShadowRootContentDistributionData::invalidateInsertionPointList):
(WebCore):
(WebCore::ShadowRootContentDistributionData::ensureInsertionPointList): Creates InsertionPoint list
if it's not created and return it.
(WebCore::ContentDistributor::distribute): Traverse InsertionPointList instead of all descendent nodes in Shadow DOM.
(WebCore::ContentDistributor::invalidate): ditto.

  • html/shadow/ContentDistributor.h:

(WebCore::ShadowRootContentDistributionData::incrementNumberOfShadowElementChildren): Invalidate InsertionPointList cache.
(WebCore::ShadowRootContentDistributionData::decrementNumberOfShadowElementChildren): ditto.
(WebCore::ShadowRootContentDistributionData::incrementNumberOfContentElementChildren): ditto.
(WebCore::ShadowRootContentDistributionData::decrementNumberOfContentElementChildren): ditto.
(ShadowRootContentDistributionData):

10:21 PM Changeset in webkit [136097] by commit-queue@webkit.org
  • 9 edits in trunk

IndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=103554

Patch by Michael Pruett <michael@68k.org> on 2012-11-28
Reviewed by Kentaro Hara.

In r135022, duplicate createFromWire() and toWireString() methods
were added to the JSC version of SerializedScriptValue. In
order to allow the JSC SerializedScriptValue to compile when
ENABLE(INDEXED_DATABASE) is turned on, these new methods have
been removed and the old methods have been moved outside the
ENABLE(INDEXED_DATABASE) guard.

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

No new tests. No change in functionality.

  • WebCore.exp.in:
  • bindings/js/SerializedScriptValue.cpp:

(WebCore::SerializedScriptValue::toWireString):
(WebCore):
(WebCore::SerializedScriptValue::createFromWire):

  • bindings/js/SerializedScriptValue.h:

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
10:01 PM Changeset in webkit [136096] by fpizlo@apple.com
  • 23 edits
    4 adds in trunk/Source

SpeculatedType dumping should not use the static char buffer[thingy] idiom
https://bugs.webkit.org/show_bug.cgi?id=103584

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Changed SpeculatedType to be "dumpable" by saying things like:

dataLog("thingy = ", SpeculationDump(thingy))

Removed the old stringification functions, and changed all code that referred to them
to use the new dataLog()/print() style.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • Target.pri:
  • bytecode/SpeculatedType.cpp:

(JSC::dumpSpeculation):
(JSC::speculationToAbbreviatedString):
(JSC::dumpSpeculationAbbreviated):

  • bytecode/SpeculatedType.h:
  • bytecode/ValueProfile.h:

(JSC::ValueProfileBase::dump):

  • bytecode/VirtualRegister.h:

(WTF::printInternal):

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::dump):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::injectLazyOperandSpeculation):
(JSC::DFG::ByteCodeParser::getPredictionWithoutOSRExit):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::predictArgumentTypes):

  • dfg/DFGGraph.h:

(Graph):

  • dfg/DFGStructureAbstractValue.h:
  • dfg/DFGVariableAccessDataDump.cpp: Added.

(JSC::DFG::VariableAccessDataDump::VariableAccessDataDump):
(JSC::DFG::VariableAccessDataDump::dump):

  • dfg/DFGVariableAccessDataDump.h: Added.

(VariableAccessDataDump):

Source/WTF:

Added a StringPrintStream, and made it easy to create dumpers for typedefs to primitives.

  • GNUmakefile.list.am:
  • WTF.gypi:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/PrintStream.cpp:

(WTF::dumpCharacter):

  • wtf/PrintStream.h:

(WTF::printInternal):

  • wtf/StringPrintStream.cpp: Added.

(WTF::StringPrintStream::StringPrintStream):
(WTF::StringPrintStream::~StringPrintStream):
(WTF::StringPrintStream::vprintf):
(WTF::StringPrintStream::toCString):
(WTF::StringPrintStream::increaseSize):

  • wtf/StringPrintStream.h: Added.

(StringPrintStream):
(WTF::toCString):

9:45 PM WebKitEFLLayoutTest edited by gyuyoung.kim@samsung.com
Add --update-efl option (diff)
9:33 PM Changeset in webkit [136095] by weinig@apple.com
  • 12 edits
    4 adds in trunk/Source/WebKit2

Add an objc object graph wrapper and coder for WKConnection message bodies
https://bugs.webkit.org/show_bug.cgi?id=103589

Reviewed by Anders Carlsson.

Adds a new type of UserMessageCoder for objc object graphs that allows encoding/decoding
WKBrowsingContextController across the wire.

  • Shared/APIClient.h:

(APIClient):
(WebKit::APIClient::client):
Add accessor for the ClientInterface.

  • Shared/APIObject.h:

Add new TypeObjCObjectGraph type.

  • Shared/mac/ObjCObjectGraph.h: Added.

(ObjCObjectGraph):
(WebKit::ObjCObjectGraph::create):
(WebKit::ObjCObjectGraph::root):
(WebKit::ObjCObjectGraph::ObjCObjectGraph):
(WebKit::ObjCObjectGraph::type):

  • Shared/mac/ObjCObjectGraph.mm: Added.

Wraps

  • Shared/mac/ObjCObjectGraphCoders.h: Added.

(WebContextObjCObjectGraphEncoder):
(WebContextObjCObjectGraphDecoder):
(InjectedBundleObjCObjectGraphEncoder):
(InjectedBundleObjCObjectGraphDecoder):

  • Shared/mac/ObjCObjectGraphCoders.mm: Added.

(WebKit::typeFromObject):
(ObjCObjectGraphEncoder):
(WebKit::ObjCObjectGraphEncoder::baseEncode):
(WebKit::ObjCObjectGraphEncoder::ObjCObjectGraphEncoder):
(ObjCObjectGraphDecoder):
(WebKit::ObjCObjectGraphDecoder::baseDecode):
(WebKit::ObjCObjectGraphDecoder::ObjCObjectGraphDecoder):
(WebContextObjCObjectGraphEncoderImpl):
(WebKit::WebContextObjCObjectGraphEncoderImpl::WebContextObjCObjectGraphEncoderImpl):
(WebKit::WebContextObjCObjectGraphEncoderImpl::encode):
(WebContextObjCObjectGraphDecoderImpl):
(WebKit::WebContextObjCObjectGraphDecoderImpl::WebContextObjCObjectGraphDecoderImpl):
(WebKit::WebContextObjCObjectGraphDecoderImpl::decode):
(InjectedBundleObjCObjectGraphEncoderImpl):
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::InjectedBundleObjCObjectGraphEncoderImpl):
(WebKit::InjectedBundleObjCObjectGraphEncoderImpl::encode):
(InjectedBundleObjCObjectGraphDecoderImpl):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::InjectedBundleObjCObjectGraphDecoderImpl):
(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):
(WebKit::WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder):
(WebKit::WebContextObjCObjectGraphEncoder::encode):
(WebKit::WebContextObjCObjectGraphDecoder::WebContextObjCObjectGraphDecoder):
(WebKit::WebContextObjCObjectGraphDecoder::decode):
(WebKit::InjectedBundleObjCObjectGraphEncoder::InjectedBundleObjCObjectGraphEncoder):
(WebKit::InjectedBundleObjCObjectGraphEncoder::encode):
(WebKit::InjectedBundleObjCObjectGraphDecoder::InjectedBundleObjCObjectGraphDecoder):
(WebKit::InjectedBundleObjCObjectGraphDecoder::decode):
Added.

  • UIProcess/API/mac/WKBrowsingContextController.mm:

(+[WKBrowsingContextController _browsingContextControllerForPageRef:]):

  • UIProcess/API/mac/WKBrowsingContextControllerInternal.h:

Expose the accessor to get the WKPageRef from a WKBrowsingContextController and add a
new method to get a WKBrowsingContextController from a WKPageRef.

  • UIProcess/API/mac/WKConnection.mm:

(-[WKConnection sendMessageWithName:body:]):
(didReceiveMessage):
Switch WKConnection to use ObjCObjectGraph to encode the messageBody.

  • UIProcess/WebContextUserMessageCoders.h:

(WebKit::WebContextUserMessageEncoder::encode):
(WebKit::WebContextUserMessageDecoder::decode):

  • WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h:

(WebKit::InjectedBundleUserMessageEncoder::encode):
(WebKit::InjectedBundleUserMessageDecoder::decode):
Proxy to ObjCObjectGraph coders when user message encoding/decoding ObjCObjectGraph APIObjects.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:

(-[WKWebProcessPlugInController _browserContextControllerForBundlePageRef:]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:

Add method to get WKWebProcessPlugInController from the WKBundlePageRef.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

9:29 PM Changeset in webkit [136094] by inferno@chromium.org
  • 2 edits in branches/chromium/1312/Source/WebCore/rendering/mathml

Merge 133221 - REGRESSION (r128837): mathml/presentation/subsup.xhtml became flaky
BUG=152430
Review URL: https://codereview.chromium.org/11418230

9:27 PM Changeset in webkit [136093] by inferno@chromium.org
  • 1 edit in branches/chromium/1312/Source/WebCore/platform/graphics/skia/SimpleFontDataSkia.cpp

Merge 133494 - Implement SimpleFontData::platformBoundsForGlyph on skia
BUG=152430
Review URL: https://codereview.chromium.org/11419217

9:27 PM Changeset in webkit [136092] by morrita@google.com
  • 4 edits in trunk

[Shadow DOM] Element.createShadowRoot() should be prefixed.
https://bugs.webkit.org/show_bug.cgi?id=103595

Reviewed by Kentaro Hara.

Source/WebCore:

No new tests, updated shadow-aware-create-shadow-root.html to follow the change.

  • dom/Element.idl:

LayoutTests:

  • fast/dom/shadow/shadow-aware-create-shadow-root.html:
9:20 PM Changeset in webkit [136091] by tkent@chromium.org
  • 14 edits in branches/chromium/1312

Merge 135829 - :read-only selector should match to date/time input types
https://bugs.webkit.org/show_bug.cgi?id=103350

Reviewed by Kentaro Hara.

Source/WebCore:

We supported :read-only and :read-write only for text form controls;
i.e. <textarea> and text-field <input>. According to [1], we should
support them for date/time types. So, this patch removes
isTextFormControl check in SelectorChecker, and just relies on
shouldMatchRead{Only,Write}Selector virtual functions.

Tests: Update fast/forms/*/*-appearance-pseudo-classes.html.

[1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOneSelector):
Remove isFormControlElement check and isTextFormControl check.

  • html/HTMLFormControlElement.cpp:

Remove shouldMatchRead{Only,Write}Selector functions. We don't need
common implementations any more.

  • html/HTMLFormControlElement.h: Ditto.
  • html/HTMLTextAreaElement.h:

(HTMLTextAreaElement): Add shouldMatchRead{Only,Write}Selector overrides.

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::shouldMatchReadOnlySelector): Added.
(WebCore::HTMLTextAreaElement::shouldMatchReadWriteSelector): Added.

  • html/HTMLInputElement.h:

(HTMLInputElement): Add shouldMatchRead{Only,Write}Selector overrides.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::shouldMatchReadOnlySelector):
Added. This checks InputType::supportsReadOnly and readOnly.
(WebCore::HTMLInputElement::shouldMatchReadWriteSelector): Ditto.

  • html/InputType.h:

(InputType): Add supportsReadOnly.

  • html/InputType.cpp:

(WebCore::InputType::supportsReadOnly): Added. Returns false by default.

  • html/BaseDateAndTimeInputType.h:

(BaseDateAndTimeInputType): Add supportsReadOnly.

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::supportsReadOnly): Added. Returns true.

  • html/TextFieldInputType.h:

(TextFieldInputType): Add supportsReadOnly.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::supportsReadOnly): Added. Returns true.

LayoutTests:

The text color becomes yellow as specified for :read-only in
*-appearance-pseudo-classes.html

  • platform/chromium-mac/fast/forms/date/date-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/month/month-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/time/time-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/week/week-appearance-pseudo-classes-expected.png:
  • platform/chromium/TestExpectations:

TBR=tkent@chromium.org
Review URL: https://codereview.chromium.org/11415195

9:17 PM BuildingQtOnLinux edited by luxtella@company100.net
(diff)
9:15 PM Changeset in webkit [136090] by hayato@chromium.org
  • 3 edits in trunk/LayoutTests

Test the return value from Node::compareDocumentPositionMake more strictly.
https://bugs.webkit.org/show_bug.cgi?id=103590

Reviewed by Dimitri Glazkov.

  • fast/dom/shadow/compare-document-position-expected.txt:
  • fast/dom/shadow/compare-document-position.html:
9:10 PM Changeset in webkit [136089] by vivek.vg@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Adding secondary email.

9:02 PM Changeset in webkit [136088] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL][WK2] input-with-validation-without-shadow.html makes following tests crash after r135935
https://bugs.webkit.org/show_bug.cgi?id=103508

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-28
Reviewed by Kent Tamura.

Do not submit the form in the ref test, as it is also not submitted by the
original test. This also fixes the timeout in EFL's tests.
Remove the test from TestEexpectations as the test is passing now.

  • fast/dom/shadow/input-with-validation-without-shadow-expected.html:
  • platform/efl-wk2/TestExpectations:
7:17 PM Changeset in webkit [136087] by hayato@chromium.org
  • 3 edits
    2 adds in trunk

Node::compareDocumentPosition returns wrong value for a node in the different shadow tree.
https://bugs.webkit.org/show_bug.cgi?id=103502

Reviewed by Dimitri Glazkov.

Source/WebCore:

Make Node::compareDocumentPosition() return the correct value when two nodes are in the different shadow trees.

Test: fast/dom/shadow/compare-document-position.html

  • dom/Node.cpp:

(WebCore::Node::compareDocumentPosition):

LayoutTests:

  • fast/dom/shadow/compare-document-position-expected.txt: Added.
  • fast/dom/shadow/compare-document-position.html: Added.
7:16 PM Changeset in webkit [136086] by msaboff@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Change Bytecompiler s_dumpsGeneratedCode to an Options value
https://bugs.webkit.org/show_bug.cgi?id=103588

Reviewed by Filip Pizlo.

Moved the control of dumping bytecodes to Options::dumpGeneratedBytecodes.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::CodeBlock):

  • bytecompiler/BytecodeGenerator.cpp:
  • bytecompiler/BytecodeGenerator.h:
  • jsc.cpp:

(runWithScripts):

  • runtime/Options.h:
6:49 PM Changeset in webkit [136085] by noel.gordon@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed test fix: chromium/fast/storage/serialized-script-value.html

This test produces an undefined error if the test fails.

  • platform/chromium/fast/storage/serialized-script-value.html: Use bufferView

instead of view (view is not defined).

6:24 PM Changeset in webkit [136084] by jsbell@chromium.org
  • 6 edits in trunk

[Chromium] IndexedDB: Assert/crash in indexing layout tests in content_shell
https://bugs.webkit.org/show_bug.cgi?id=103562

Reviewed by Tony Chang.

Source/WebCore:

In multi-process ports, an commit request or setIndexesReady request may arrive from the
front-end after the back-end has already aborted. Don't freak out if those occur.

Tests: storage/indexeddb/index-population.html

storage/indexeddb/lazy-index-population.html
storage/indexeddb/transaction-error.html

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::setIndexKeys): Ensure transaction hasn't finished before continuing.
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady): Ditto.

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::commit): Ignore a commit request if already aborted.

LayoutTests:

Fix an expectation glitch that may arise in multi-process ports (an error on
the open request may arrive before logging has stopped; safe to ignore it).

  • storage/indexeddb/resources/transaction-error.js:
6:24 PM Changeset in webkit [136083] by sergio@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2][Qt] Add drag&drop support to Flickable webView
https://bugs.webkit.org/show_bug.cgi?id=100778

Reviewed by Jocelyn Turcotte.

Enable the ItemAcceptsDrops flag in the flickable WebView. This
will allow the WebView to receive drag&drop events.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::initialize):

6:21 PM Changeset in webkit [136082] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

Update String Stats for recent dataLog changes and add summary
https://bugs.webkit.org/show_bug.cgi?id=103583

Reviewed by Filip Pizlo.

Updated calls to dataLog() to dataLogF() as a results of r135469.
Added total savings from 8 bit strings in bytes and as a percentage.

  • wtf/text/StringImpl.cpp:

(WTF::StringStats::printStats):

6:18 PM Changeset in webkit [136081] by shinyak@chromium.org
  • 11 edits in trunk

.: [Shadow] Move Distribution stuffs from ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=103481

Reviewed by Hajime Morita.

  • Source/autotools/symbols.filter:

Source/WebCore: [Shadow] Move Distribution requirements from ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=103481

Reviewed by Hajime Morita.

We would like to shrink the ShadowRoot memory size in this patch. ShadowRoot had several distribution related members,
however they were used only if ShadowRoot has <content>, <shadow>, or nested ShadowRoot.
Since <input> or <textarea> do not have such requirements, the members consume a few amount of memory.

We remove them from ShadowRoot and introduce some RareData-like data structure for ShadowRoot.
This will reduce memory footprint in most cases.

No new tests, refactoring.

  • WebCore.exp.in:
  • dom/ShadowRoot.cpp:

(SameSizeAsShadowRoot): Reduced 3 * sizeof(unsigned) bytes from ShadowRoot.
(WebCore::ShadowRoot::ShadowRoot): DistributionData is created only when necessary. <input> or <textarea> won't
create such data.
(WebCore::ShadowRoot::assignedTo):
(WebCore):
(WebCore::ShadowRoot::setAssignedTo):
(WebCore::ShadowRoot::ensureDistributionData):
(WebCore::ShadowRoot::registerShadowElement):
(WebCore::ShadowRoot::unregisterShadowElement):
(WebCore::ShadowRoot::hasShadowInsertionPoint):
(WebCore::ShadowRoot::registerContentElement):
(WebCore::ShadowRoot::unregisterContentElement):
(WebCore::ShadowRoot::hasContentElement):
(WebCore::ShadowRoot::registerElementShadow):
(WebCore::ShadowRoot::unregisterElementShadow):
(WebCore::ShadowRoot::hasElementShadow):
(WebCore::ShadowRoot::countElementShadow):
(WebCore::ShadowRoot::reportMemoryUsage):

  • dom/ShadowRoot.h:

(WebCore):
(ShadowRoot):
(WebCore::ShadowRoot::distributionData):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ShadowRootContentDistributionData::ShadowRootContentDistributionData):
(WebCore):

  • html/shadow/ContentDistributor.h:

(ShadowRootContentDistributionData): Distribution related fields in ShadowRoot are moved to here.
(WebCore::ShadowRootContentDistributionData::insertionPointAssignedTo):
(WebCore::ShadowRootContentDistributionData::setInsertionPointAssignedTo):
(WebCore::ShadowRootContentDistributionData::incrementNumberOfShadowElementChildren):
(WebCore::ShadowRootContentDistributionData::decrementNumberOfShadowElementChildren):
(WebCore::ShadowRootContentDistributionData::numberOfShadowElementChildren):
(WebCore::ShadowRootContentDistributionData::incrementNumberOfContentElementChildren):
(WebCore::ShadowRootContentDistributionData::decrementNumberOfContentElementChildren):
(WebCore::ShadowRootContentDistributionData::numberOfContentElementChildren):
(WebCore::ShadowRootContentDistributionData::incrementNumberOfElementShadowChildren):
(WebCore::ShadowRootContentDistributionData::decrementNumberOfElementShadowChildren):
(WebCore::ShadowRootContentDistributionData::numberOfElementShadowChildren):
(WebCore):

Source/WebKit2: [Shadow] Move Distribution stuffs from ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=103481

Reviewed by Hajime Morita.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
6:03 PM Changeset in webkit [136080] by krit@webkit.org
  • 17 edits in trunk

Remove -webkit-mask-attachment
https://bugs.webkit.org/show_bug.cgi?id=67137

Reviewed by David Hyatt.

Source/WebCore:

Remove CSS property '-webkit-attachment'. The CSS WG agreed that this should not be
part of the CSS Masking specification. WebKit never implemented the behavior of
attached masks either. The property was just exposed in CSSOM.

Test: Added negative tests to fast/masking/parsing-mask.html.

  • css/CSSComputedStyleDeclaration.cpp:

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

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillProperty):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

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

(WebCore::StyleBuilder::StyleBuilder):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::asText):

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitMaskShorthand):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/style/RenderStyle.h:

LayoutTests:

Added negative tests for '-webkit-mask' shorthand property attachment keywords.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/remove-shorthand.html: Corrected syntax for -webkit-mask test.
  • fast/masking/parsing-mask-expected.txt:
  • fast/masking/parsing-mask.html: Added negative tests for attachment property keywords.
  • svg/css/getComputedStyle-basic-expected.txt:
5:46 PM Changeset in webkit [136079] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

IndexedDB: Add forward declaration of SecurityOrigin to IDBBackingStore.h
https://bugs.webkit.org/show_bug.cgi?id=103578

Patch by Michael Pruett <michael@68k.org> on 2012-11-28
Reviewed by Kentaro Hara.

Add forward declaration of SecurityOrigin to IDBBackingStore.h
in order to enable compilation of IndexedDB for JSC.

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBBackingStore.h:

(WebCore):

5:21 PM Changeset in webkit [136078] by tkent@chromium.org
  • 3 edits in trunk/Tools

garden-o-matic: Use indeterminate <progress> in the status area
https://bugs.webkit.org/show_bug.cgi?id=103494

Reviewed by Adam Barth.

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

Wrap the "Processing..." message with an indeterminate progress bar.
We keep the message as a fallback content.

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

Follow the above change.

5:03 PM Changeset in webkit [136077] by mhahnenberg@apple.com
  • 16 edits
    2 adds in trunk/Source/JavaScriptCore

Copying phase should use work lists
https://bugs.webkit.org/show_bug.cgi?id=101390

Reviewed by Filip Pizlo.

(JSC::BlockAllocator::BlockAllocator):

  • heap/BlockAllocator.h: New RegionSet for CopyWorkListSegments.

(BlockAllocator):
(JSC::CopyWorkListSegment):

  • heap/CopiedBlock.h: Added a per-block CopyWorkList to keep track of the JSCells that need to be revisited during the copying

phase to copy their backing stores.
(CopiedBlock):
(JSC::CopiedBlock::CopiedBlock):
(JSC::CopiedBlock::didSurviveGC):
(JSC::CopiedBlock::didEvacuateBytes): There is now a one-to-one relationship between GCThreads and the CopiedBlocks they're
responsible for evacuating, we no longer need any of that fancy compare and swap stuff.
(JSC::CopiedBlock::pin):
(JSC::CopiedBlock::hasWorkList):
(JSC::CopiedBlock::workList):

  • heap/CopiedBlockInlines.h: Added.

(JSC::CopiedBlock::reportLiveBytes): Since we now have to grab a SpinLock to perform operations on the CopyWorkList during marking,
we don't need to do any of that fancy compare and swap stuff we were doing for tracking live bytes.

  • heap/CopiedSpace.h:

(CopiedSpace):

  • heap/CopiedSpaceInlines.h:

(JSC::CopiedSpace::pin):

  • heap/CopyVisitor.cpp:

(JSC::CopyVisitor::copyFromShared): We now iterate over a range of CopiedBlocks rather than MarkedBlocks and revisit the cells in those
blocks' CopyWorkLists.

  • heap/CopyVisitor.h:

(CopyVisitor):

  • heap/CopyVisitorInlines.h:

(JSC::CopyVisitor::visitCell): The function responsible for calling the correct copyBackingStore() function for each JSCell from
a CopiedBlock's CopyWorkList.
(JSC::CopyVisitor::didCopy): We no longer need to check if the block is empty here because we know exactly when we're done
evacuating a CopiedBlock, which is when we've gone through all of the CopiedBlock's CopyWorkList.

  • heap/CopyWorkList.h: Added.

(CopyWorkListSegment): Individual chunk of a CopyWorkList that is allocated from the BlockAllocator.
(JSC::CopyWorkListSegment::create):
(JSC::CopyWorkListSegment::size):
(JSC::CopyWorkListSegment::isFull):
(JSC::CopyWorkListSegment::get):
(JSC::CopyWorkListSegment::append):
(JSC::CopyWorkListSegment::CopyWorkListSegment):
(JSC::CopyWorkListSegment::data):
(JSC::CopyWorkListSegment::endOfBlock):
(CopyWorkListIterator): Responsible for giving CopyVisitors a contiguous notion of access across the separate CopyWorkListSegments
that make up each CopyWorkList.
(JSC::CopyWorkListIterator::get):
(JSC::CopyWorkListIterator::operator*):
(JSC::CopyWorkListIterator::operator->):
(JSC::CopyWorkListIterator::operator++):
(JSC::CopyWorkListIterator::operator==):
(JSC::CopyWorkListIterator::operator!=):
(JSC::CopyWorkListIterator::CopyWorkListIterator):
(CopyWorkList): Data structure that keeps track of the JSCells that need copying in a particular CopiedBlock.
(JSC::CopyWorkList::CopyWorkList):
(JSC::CopyWorkList::~CopyWorkList):
(JSC::CopyWorkList::append):
(JSC::CopyWorkList::begin):
(JSC::CopyWorkList::end):

  • heap/GCThreadSharedData.cpp:

(JSC::GCThreadSharedData::GCThreadSharedData): We no longer use the m_blockSnapshot from the Heap during the copying phase.
(JSC::GCThreadSharedData::didStartCopying): We now copy the set of all blocks in the CopiedSpace to a separate vector for
iterating over during the copying phase since the set stored in the CopiedSpace will change as blocks are evacuated and
recycled throughout the copying phase.

  • heap/GCThreadSharedData.h:

(GCThreadSharedData):

  • heap/Heap.h:

(Heap):

  • heap/SlotVisitor.h: We now need to know the object who is being marked that has a backing store so that we can store it

in a CopyWorkList to revisit later during the copying phase.

  • heap/SlotVisitorInlines.h:

(JSC::SlotVisitor::copyLater):

  • runtime/JSObject.cpp:

(JSC::JSObject::visitButterfly):

4:51 PM Changeset in webkit [136076] by morrita@google.com
  • 5 edits in trunk/Source/WebCore

checkAcceptChild() needs fewer virtual calls
https://bugs.webkit.org/show_bug.cgi?id=103372

Reviewed by Ojan Vafai.

This change reorganizes checkAcceptChild family for speed.

  • Made Node::checkAddChild and Node::checkReplaceChild() static inline functions in ContainerNode.cpp. checkAcceptChild() was also moved to the same file. This allows us more aggressive inlining.
  • Added a fast path in checkAcceptChild(), where we can assume that the parent is element and the new child is element or text. Under this assumption, we need no extra type checks and just needs a cycle prevention through Node::contains(). This is faster than current generic version.
  • Moved extra checks from checkAddChild() and checkReplaceChild() to checkAcceptChild(). This allows the fast path skips even these extra checks.
  • Node::canReplaceChild() is devirtualized. Since the only override is on Document, we can check isDocumentNode() to call it directly.
  • The default implemenation of Node::canReplaceChild() just calls isChildTypeAllowed(). That is what an extra check for checkAddChild() did. So we can share these code path in checkAcceptChild().

This gains 2-3% win on Dromaeo dom-modify.html.

No new tests, covered by existing tests.

  • dom/ContainerNode.cpp:

(WebCore::isChildTypeAllowed): Moved from Node.cpp
(WebCore::checkAcceptChild): Moved from Node.cpp, Added a fast path.
(WebCore::checkAddChild): Moved from Node.cpp
(WebCore::checkReplaceChild): Moved from Node.cpp
(WebCore::ContainerNode::insertBefore): Followed the signature change.
(WebCore::ContainerNode::replaceChild): Followed the signature change, moved null check from checkReplaceChild to here.
(WebCore::ContainerNode::appendChild): Followed the signature change.

  • dom/Document.h:

(Document):

  • dom/Node.cpp:
  • dom/Node.h:

(WebCore::Node::isDocumentTypeNode): Added for better readability of call sites.

4:20 PM Changeset in webkit [136075] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebKit2

[mac] Dictionary lookup bubble loses intrarange formatting
https://bugs.webkit.org/show_bug.cgi?id=103496
<rdar://problem/12762172>

Reviewed by Alexey Proskuryakov.

Pass an NSAttributedString (made via WebHTMLConverter on the WebProcess side) through
when showing dictionary popups, so that we preserve more formatting in the yellow dictionary
highlight. Also, remove the fontInfo member from DictionaryPopupInfo, since we don't need it anymore.

  • Shared/DictionaryPopupInfo.cpp:

(WebKit::DictionaryPopupInfo::encode): Don't encode the now-removed fontInfo member.
(WebKit::DictionaryPopupInfo::decode): Don't decode the now-removed fontInfo member.

  • Shared/DictionaryPopupInfo.h: Remove the fontInfo member.
  • UIProcess/API/mac/PageClientImpl.h:

(PageClientImpl): didPerformDictionaryLookup should take an AttributedString instead of a plain String, and
no longer needs to take the page scale factor.

  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didPerformDictionaryLookup): Use the AttributedString we're handed from the WebProcess
instead of constructing one ourselves; this way, we have all the attributes instead of just a single font.

  • UIProcess/PageClient.h:

(PageClient): didPerformDictionaryLookup should take an AttributedString instead of a plain String.

  • UIProcess/WebPageProxy.h:

(WebPageProxy): didPerformDictionaryLookup should take an AttributedString instead of a plain String.

  • UIProcess/WebPageProxy.messages.in: DidPerformDictionaryLookup should take an AttributedString instead of a plain String.
  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::didPerformDictionaryLookup): didPerformDictionaryLookup should take an AttributedString instead of a plain String.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupForRange): performDictionaryLookupForRange should hand WebPageProxy an AttributedString
constructed via WebHTMLConverter instead of a plain text string paired with a single font descriptor.
Also, scale the size of every font attribute by the current pageScaleFactor.

4:14 PM Changeset in webkit [136074] by bashi@chromium.org
  • 3 edits
    2 adds in trunk

StyleResolver should not set NaN to font size
https://bugs.webkit.org/show_bug.cgi?id=99506

Reviewed by Abhishek Arya.

Source/WebCore:

fixedScaleFactor could be NaN since settings->defaultFixedFontSize()
and settings->defaultFontSize() are zero in some case. This turns
out setting NaN to font size. Add a zero checks so that
fixedScaleFactor won't be NaN.

Test: fast/css/font-size-nan.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::checkForGenericFamilyChange):

LayoutTests:

  • fast/css/font-size-nan-expected.txt: Added.
  • fast/css/font-size-nan.svg: Added.
4:13 PM Changeset in webkit [136073] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

[mac] WebHTMLConverter should maintain font size even when there is no related NSFont
https://bugs.webkit.org/show_bug.cgi?id=103568

Reviewed by Alexey Proskuryakov.

WebHTMLConverter should use the default font at the correct size when it
encounters a font that cannot be backed by an NSFont (e.g. a WebFont).

  • platform/mac/HTMLConverter.mm:

(+[WebHTMLConverter editingAttributedStringFromRange:]):

4:11 PM Changeset in webkit [136072] by krit@webkit.org
  • 7 edits in trunk

CSS parser does not support -webkit-mask-size for -webkit-mask shorthand
https://bugs.webkit.org/show_bug.cgi?id=103020

Reviewed by David Hyatt.

Source/WebCore:

Harmonize the syntax of '-webkit-mask' property with 'background' according to the
CSS Masking specification[1]. This should make it easier to maintain both shorthand
properties in the long term.
It is very unlikely that a lot of content (if any) is affected by this change. The
computed style still is not implemented and this change should rather make it easier
for developers.

With the harmonization, the '-webkit-mask-size' property is part of the shorthand as
well now.

parsing-mask.html covers all the changes. Added new tests for the changed syntax and
'-webkit-mask-size'

[1] http://dvcs.w3.org/hg/FXTF/raw-file/tip/masking/index.html#mask-property

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillShorthand):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getLayeredShorthandValue):

  • css/StylePropertyShorthand.cpp:

(WebCore::webkitMaskShorthand):

LayoutTests:

Added new subtests to exisiting test for the changed syntax of '-webkit-mask' shorthand property.

  • fast/masking/parsing-mask-expected.txt:
  • fast/masking/parsing-mask.html:
3:42 PM Changeset in webkit [136071] by alecflett@chromium.org
  • 7 edits in trunk/Source

IndexedDB: Change frontend to call IDBDatabaseBackendInterface::createTransaction()
https://bugs.webkit.org/show_bug.cgi?id=102732

Reviewed by Tony Chang.

Use the new createTransaction, now that it has been stubbed
out. This is part 2 of 3 of a refactor. See
https://bugs.webkit.org/show_bug.cgi?id=102733 for part 3.

No new tests as this refactor simply keeps and propagates a
counter that is currently unused.

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::nextTransactionId):
(WebCore):
(WebCore::IDBDatabase::transaction):

  • Modules/indexeddb/IDBDatabase.h:

(IDBDatabase):

  • Modules/indexeddb/IDBOpenDBRequest.cpp:

(WebCore::IDBOpenDBRequest::onUpgradeNeeded):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::onSuccess):

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::create):
(WebCore::IDBTransaction::IDBTransaction):

  • Modules/indexeddb/IDBTransaction.h:

(IDBTransaction):

3:39 PM Changeset in webkit [136070] by roger_fong@apple.com
  • 2 edits in trunk/Source/WTF

Make DataLog work/compile properly on Windows.
https://bugs.webkit.org/show_bug.cgi?id=103544

Reviewed by Filip Pizlo.

  • wtf/DataLog.cpp:

(WTF::initializeLogFileOnce):

3:37 PM Changeset in webkit [136069] by fpizlo@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Disassembly methods should be able to disassemble to any PrintStream& rather than always using WTF::dataFile()
https://bugs.webkit.org/show_bug.cgi?id=103492

Reviewed by Mark Hahnenberg.

Switched disassembly code to use PrintStream&, and to use print() rather than printf().

  • dfg/DFGDisassembler.cpp:

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

  • dfg/DFGDisassembler.h:

(Disassembler):

  • dfg/DFGGraph.cpp:

(JSC::DFG::printWhiteSpace):
(JSC::DFG::Graph::dumpCodeOrigin):
(JSC::DFG::Graph::printNodeWhiteSpace):
(JSC::DFG::Graph::dump):
(DFG):
(JSC::DFG::Graph::dumpBlockHeader):

  • dfg/DFGGraph.h:

(Graph):

  • jit/JITDisassembler.cpp:

(JSC::JITDisassembler::dump):
(JSC::JITDisassembler::dumpForInstructions):
(JSC::JITDisassembler::dumpDisassembly):

  • jit/JITDisassembler.h:

(JITDisassembler):

3:32 PM Changeset in webkit [136068] by msaboff@apple.com
  • 2 edits in trunk/Source/WebCore

HTMLFontElement font size parsing should directly handle 8 bit strings
https://bugs.webkit.org/show_bug.cgi?id=103315

Reviewed by Oliver Hunt.

Split parseFontSize() into a templated function based on character type and a wrapper that determines
a string's bitness before calling the template.

No new tests. No change in functionality.

  • html/HTMLFontElement.cpp:

(WebCore::parseFontSize):

3:21 PM Changeset in webkit [136067] by nghanavatian@rim.com
  • 2 edits in trunk/Tools

2012-11-28 Nima Ghanavatian <nghanavatian@rim.com>

Adding Nima Ghanavatian to committers.py
https://bugs.webkit.org/show_bug.cgi?id=103533

Reviewed by Rob Buis.

Adding myself to committers.py as a Committer.

  • Scripts/webkitpy/common/config/committers.py:
2:59 PM Changeset in webkit [136066] by fpizlo@apple.com
  • 14 edits
    1 add in trunk/Source

It should be possible to say dataLog("count = ", count, "\n") instead of dataLogF("count = %d\n", count)
https://bugs.webkit.org/show_bug.cgi?id=103009

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Instead of converting all of JSC to use the new dataLog()/print() methods, I just changed
one place: dumping of abstract values. This is mainly just to ensure that the code I
added to WTF is actually doing things.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::dump):
(WTF):
(WTF::printInternal):

  • dfg/DFGStructureAbstractValue.h:

(JSC::DFG::StructureAbstractValue::dump):
(WTF):
(WTF::printInternal):

Source/WTF:

Added the ability to use out.print(...) and dataLog(...) variadically and with
WTF::printInternal(PrintStream&, const T&) overloads for any type T that you want
to be able to pass as an argument to out.print() or dataLog(). Also added one
example class for doing this: RawPointer, which can be used to force a pointer
to be printed as "%p" rather than matching any overloads that you might want to
introduce.

  • GNUmakefile.list.am:
  • WTF.gypi:
  • WTF.pro:
  • WTF.vcproj/WTF.vcproj:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/DataLog.h:

(WTF):
(WTF::dataLog):

  • wtf/PrintStream.cpp:

(WTF::printInternal):
(WTF):

  • wtf/PrintStream.h:

(PrintStream):
(WTF::PrintStream::print):
(WTF):

  • wtf/RawPointer.h: Added.

(WTF):
(RawPointer):
(WTF::RawPointer::RawPointer):
(WTF::RawPointer::value):

2:59 PM Changeset in webkit [136065] by kareng@chromium.org
  • 1 edit
    4 copies in branches/chromium/1312

Merge 135874 - freeV8NPObject: Skip trying to remove object from per context data's ObjectMap if the object does not exist in the map.
https://bugs.webkit.org/show_bug.cgi?id=103356

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-27
Reviewed by Adam Barth.

Before introducing per context data, it used to be the case that we would ignore removing v8 object
from context data's map if we couldn't find it. With perContextData change, this turned into an ASSERT
instead and we had crash reports.
Related crbug.com/154462.

Source/WebCore:

Test: platform/chromium/plugins/release-frame-content-window.html

  • bindings/v8/NPV8Object.cpp:

(WebCore::freeV8NPObject):

LayoutTests:

  • platform/chromium/plugins/release-frame-content-window-expected.txt: Added.
  • platform/chromium/plugins/release-frame-content-window.html: Added.
  • platform/chromium/plugins/resources/empty.html: Added.
  • platform/chromium/plugins/resources/empty2.html: Added.

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11434015

2:57 PM Changeset in webkit [136064] by kareng@chromium.org
  • 1 edit
    3 copies in branches/chromium/1312

Merge 135804 - Check for empty perContextData while creating NP V8 Object.
https://bugs.webkit.org/show_bug.cgi?id=98448

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-26
Reviewed by Adam Barth.

Fixes crash in npCreateV8ScriptObject(), if NP Invoke is called from a document
that is no longer displayed in frame (isCurrentlyDisplayedInFrame() ==
false), we have empty perContextData and this results in invalid memory access.

Source/WebCore:

Test: platform/chromium/plugins/empty-per-context-data.html

  • bindings/v8/NPV8Object.cpp:

(WebCore::npCreateV8ScriptObject):

LayoutTests:

  • platform/chromium/plugins/empty-per-context-data-expected.txt: Added.
  • platform/chromium/plugins/empty-per-context-data.html: Added.
  • platform/chromium/plugins/resources/script-container.html: Added.

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11411245

2:56 PM Changeset in webkit [136063] by rjkroege@chromium.org
  • 8 edits
    12 deletes in trunk/Source

remove unused PlatformGestureCurve code
https://bugs.webkit.org/show_bug.cgi?id=103296

Reviewed by Adam Barth.

Previous CLs have made the Chromium embedder provide gesture fling
curve implementation to WebKit. Consequently no platform uses the
gestural fling code currently found in WebKit. This CL removes this code.

Code removal only: covered by existing tests.

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.gypi:
  • platform/ActivePlatformGestureAnimation.cpp: Removed.
  • platform/ActivePlatformGestureAnimation.h: Removed.
  • platform/PlatformGestureCurve.h: Removed.
  • platform/PlatformGestureCurveTarget.h: Removed.
  • platform/ScrollAnimatorNone.cpp: References to removed code removed.
  • platform/ScrollAnimatorNone.h:
  • platform/TouchFlingPlatformGestureCurve.cpp: Removed.
  • platform/TouchFlingPlatformGestureCurve.h: Removed.
  • platform/WheelFlingPlatformGestureCurve.cpp: Removed.
  • platform/WheelFlingPlatformGestureCurve.h: Removed.
  • platform/chromium/support/PlatformGestureCurveFactory.cpp: Removed.
  • platform/chromium/support/PlatformGestureCurveFactory.h: Removed.
  • platform/chromium/support/WebFlingAnimatorToGestureCurveAdapter.h: Removed.

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/PlatformGestureCurveTest.cpp: Removed.
2:53 PM Changeset in webkit [136062] by inferno@chromium.org
  • 2 edits in trunk/Source/WebCore

Heap-use-after-free in WebCore::EventHandler::handleMousePressEvent
https://bugs.webkit.org/show_bug.cgi?id=101098

Reviewed by Adam Barth.

|subframe| can be blown away inside passMousePressEventToSubframe
call. Use RefPtr to protect it in handleMousePressEvent function.
We use similar approach in handleMouseMoveEvent function.

No new tests. Test is extremely time dependent and needs to trigger
interaction gesture. Reproduced on ClusterFuzz.

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMousePressEvent):

2:52 PM Changeset in webkit [136061] by tsepez@chromium.org
  • 3 edits
    2 adds in trunk

XSSAuditor bypass with script src=data: URL ending in <!--
https://bugs.webkit.org/show_bug.cgi?id=103548

Reviewed by Adam Barth.

Source/WebCore:

This fixes an additional case where characters from the page itself are
included with the snippet to match against the reflected vector, and the
JS remains legitimate because of a <!--- comment. Truncate the snippet at
such a comment.

Test: http/tests/security/xssAuditor/script-tag-with-source-data-url3.html

  • html/parser/XSSAuditor.cpp:

(WebCore::XSSAuditor::decodedSnippetForAttribute):

LayoutTests:

  • http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt: Added.
  • http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: Added.
2:46 PM Changeset in webkit [136060] by inferno@chromium.org
  • 5 edits
    2 adds in trunk

Source/WebCore: Heap-use-after-free in WebCore::RenderLayerModelObject::hasSelfPaintingL

LayoutTests: Heap-use-after-free in WebCore::RenderLayerModelObject::hasSelfPaintingLayer
https://bugs.webkit.org/show_bug.cgi?id=101970

Reviewed by David Hyatt.

  • fast/block/float/float-not-removed-from-pre-block-expected.txt: Added.
  • fast/block/float/float-not-removed-from-pre-block.html: Added.
2:39 PM Changeset in webkit [136059] by pilgrim@chromium.org
  • 7 edits in trunk/Source

[Chromium] Remove pluginsScriptableObject from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=103542

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::createScriptInstanceForWidget):

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

  • plugins/PluginViewBase.h:

(PluginViewBase):
(WebCore::PluginViewBase::scriptableObject):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

2:37 PM Changeset in webkit [136058] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[BlackBerry] CookieJarBlackBerry will use document settings for cookiesEnabled
https://bugs.webkit.org/show_bug.cgi?id=103560

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-11-28
Reviewed by Rob Buis.

PR 253490

Source/WebCore:

CookieJarBlackBerry will now use page settings to check whether
cookie is enabled.

Tested setting/reading cookies on different client cookie settings using
javascript and HTTP. Cookie behaviour is now back to spec.

  • loader/blackberry/CookieJarBlackBerry.cpp:

(WebCore::cookies):
(WebCore::cookieRequestHeaderFieldValue):

Source/WebKit/blackberry:

Syncing platform Websetting's cookieEnabled value with Page->setting's cookieEnabled
value.

  • Api/WebPage.cpp:

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

2:35 PM Changeset in webkit [136057] by pilgrim@chromium.org
  • 12 edits in trunk/Source

[Chromium][Win] Remove ensureFontLoaded from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=97696

Reviewed by Adam Barth.

Move ensureFontLoaded() from PlatformSupport to
FontPlatformDataChromiumWin. Part of a refactoring series; see
tracking bug 82948.

Source/WebCore:

  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

  • platform/graphics/chromium/FontCacheChromiumWin.cpp:

(WebCore::fontContainsCharacter):

  • platform/graphics/chromium/FontChromiumWin.cpp:

(WebCore::drawGlyphsWin):

  • platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:

(WebCore::FontPlatformData::scriptFontProperties):
(WebCore):
(WebCore::FontPlatformData::ensureFontLoaded):

  • platform/graphics/chromium/FontPlatformDataChromiumWin.h:

(FontPlatformData):

  • platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:

(WebCore::getGlyphIndices):
(WebCore::fillBMPGlyphs):

  • platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:

(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::determinePitch):
(WebCore::SimpleFontData::platformBoundsForGlyph):
(WebCore::SimpleFontData::platformWidthForGlyph):

  • platform/graphics/chromium/UniscribeHelperTextRun.cpp:

(WebCore::UniscribeHelperTextRun::tryToPreloadFont):

  • platform/graphics/skia/SkiaFontWin.cpp:

(WebCore::paintSkiaText):

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

2:21 PM Changeset in webkit [136056] by bfulgham@webkit.org
  • 9 edits
    2 adds in trunk

[WinCairo] Crash when requesting favicon.
https://bugs.webkit.org/show_bug.cgi?id=102689

Patch by peavo@outlook.com <peavo@outlook.com> on 2012-11-28
Reviewed by Brent Fulgham.

Source/WebCore:

  • platform/graphics/BitmapImage.h: Made frameCount() method virtual, subclasses made for testing can then override it.
  • platform/graphics/win/ImageCairoWin.cpp:

(WebCore::BitmapImage::getHBITMAPOfSize): Added NULL pointer check.
(WebCore::BitmapImage::drawFrameMatchingSourceSize): Added NULL pointer check.

Source/WebKit2:

  • win/WebKit2CFLite.def: Link fixes.
  • win/WebKit2.def: Link fixes.

Tools:

  • TestWebKitAPI/Tests/WebCore/win: Added.
  • TestWebKitAPI/Tests/WebCore/win/BitmapImage.cpp: Added.

(TestWebKitAPI::BitmapImageTest::BitmapImageTest): Allocate frame in constructor.
(TestWebKitAPI::BitmapImageTest::frameCount): Override frameCount() method.
(TestWebKitAPI::TEST): Added new test.

  • TestWebKitAPI/config.h: Make sure defines are correct for WinCairo.
    • TestWebKitAPI/win/TestWebKitAPI.vcproj: Added new test.
2:14 PM Changeset in webkit [136055] by tony@chromium.org
  • 49 edits in trunk

Move internals.settings.setPageScaleFactor to internals.setPageScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=103559

Reviewed by Jochen Eisinger.

Source/WebCore:

This method doesn't alter the Settings object, so move it to internals.

No new tests, this is a refactor.

  • testing/InternalSettings.cpp: Remove.
  • testing/InternalSettings.h: Remove.
  • testing/InternalSettings.idl: Remove.
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState): Add reset code.
(WebCore::Internals::setPageScaleFactor): Add method.

  • testing/Internals.h: Add method.
  • testing/Internals.idl: Add method.

LayoutTests:

This method doesn't alter the Settings object, so move it to internals.
Update the tests to call the right version.

  • compositing/geometry/fixed-position-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-composited-page-scale-scroll.html:
  • compositing/geometry/fixed-position-composited-page-scale.html:
  • compositing/geometry/fixed-position-iframe-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-iframe-composited-page-scale.html:
  • compositing/geometry/fixed-position-transform-composited-page-scale-down.html:
  • compositing/geometry/fixed-position-transform-composited-page-scale.html:
  • compositing/overflow/overflow-scaled-descendant-overlapping.html:
  • compositing/repaint/page-scale-repaint.html:
  • compositing/scaling/tiled-layer-recursion.html:
  • fast/dom/Element/scale-page-bounding-client-rect-in-frame.html:
  • fast/dom/Element/scale-page-bounding-client-rect.html:
  • fast/dom/Element/scale-page-client-rects-in-frame.html:
  • fast/dom/Element/scale-page-client-rects.html:
  • fast/dom/Range/scale-page-bounding-client-rect.html:
  • fast/dom/Range/scale-page-client-rects.html:
  • fast/dom/elementFromPoint-scaled-scrolled.html:
  • fast/dom/iframe-inner-size-scaling.html:
  • fast/dom/window-inner-size-scaling.html:
  • fast/dom/window-scroll-scaling.html:
  • fast/events/scale-and-scroll-body.html:
  • fast/events/scale-and-scroll-iframe-body.html:
  • fast/events/scale-and-scroll-iframe-window.html:
  • fast/events/scale-and-scroll-window.html:
  • fast/events/script-tests/page-scaled-mouse-click-iframe.js:

(iframeLoaded):

  • fast/events/script-tests/page-scaled-mouse-click.js:
  • fast/events/scroll-in-scaled-page-with-overflow-hidden.html:
  • fast/events/touch/page-scaled-touch-gesture-click.html:
  • fast/events/touch/touch-scaled-scrolled.html:
  • fast/frames/frame-set-rotation-hit.html:
  • fast/frames/frame-set-scaling-hit.html:
  • fast/frames/iframe-double-scale-contents.html:
  • fast/repaint/background-scaling.html:
  • fast/repaint/scale-page-shrink.html:
  • fast/text/descent-clip-in-scaled-page-expected.html:
  • fast/text/descent-clip-in-scaled-page.html:
  • fast/transforms/selection-bounds-in-transformed-view.html:
  • inspector/elements/highlight-node-scaled.html:
  • platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document.html:
  • svg/as-image/image-respects-pageScaleFactor-change.html:
  • svg/as-image/image-respects-pageScaleFactor.html:
1:38 PM Changeset in webkit [136054] by Alexandru Chiculita
  • 2 edits in trunk/Source/WebCore

[CSS Regions] Elements using transforms are not repainted correctly when rendered in a region
https://bugs.webkit.org/show_bug.cgi?id=102826

Reviewed by Dave Hyatt.

Follow up update of a comment after the patch was landed by the commit queue in r135921.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):

1:30 PM Changeset in webkit [136053] by Christophe Dumez
  • 10 edits in trunk

CSS3 Multicolumn: column-span should accept value 'none' (instead of '1')
https://bugs.webkit.org/show_bug.cgi?id=101462

Reviewed by David Hyatt.

Source/WebCore:

According to the latest CSS3 Multi-column specification:
http://www.w3.org/TR/2011/CR-css3-multicol-20110412/#column-span

column-span should accept values [ none | all ], instead of
[ 1 | all ]. This patch updates WebKit implementation to reflect
this change in the specification. The value 1 is still supported
for compatibility reasons and is mapped to none.

No new tests, already covered by existing tests.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ColumnSpan):

  • rendering/style/RenderStyle.h:
  • rendering/style/RenderStyleConstants.h:

LayoutTests:

Update expected results for several test cases now that the
default value for column-span property was renamed from 1
to none.

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • svg/css/getComputedStyle-basic-expected.txt:
1:24 PM Changeset in webkit [136052] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

Chromium TestExpectations minor changes.
https://bugs.webkit.org/show_bug.cgi?id=103148

Unreviewed test expectations changes.

Making some tests flakey rather than actually failing.

  • platform/chromium/TestExpectations:
1:21 PM Changeset in webkit [136051] by eric@webkit.org
  • 5 edits
    2 adds in trunk/Tools

run-perf-tests should have a --profile option for easy profiling
https://bugs.webkit.org/show_bug.cgi?id=99517

Reviewed by Adam Barth.

This is a very basic implementation which works on Mac and Linux
and makes it trivial for anyone to profile a PerformanceTest.

Currently it's not "hard" to profile a PerformanceTest
but lowering the barriers to entry here allows all of us to focus
less on the tools and more on the code.

This also paves the way for adding easy mobile-profiling (e.g. chromium-android)
which is actually "hard", and this option will make much easier.

  • Scripts/webkitpy/common/system/profiler.py: Added.

(ProfilerFactory):
(ProfilerFactory.create_profiler):
(Profiler):
(Profiler.init):
(Profiler.adjusted_environment):
(Profiler.attach_to_pid):
(Profiler.did_stop):
(SingleFileOutputProfiler):
(SingleFileOutputProfiler.init):
(GooglePProf):
(GooglePProf.init):
(GooglePProf.adjusted_environment):
(GooglePProf.did_stop):
(Instruments):
(Instruments.init):
(Instruments.attach_to_pid):

  • Scripts/webkitpy/common/system/profiler_unittest.py: Added.

(ProfilerFactoryTest):
(ProfilerFactoryTest.test_basic):

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

(Driver.init):
(Driver._start):
(Driver.stop):
(Driver.cmd_line):

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest.parse_output):

  • Scripts/webkitpy/performance_tests/perftest_unittest.py:

(MainTest.test_parse_output):
(MainTest.test_parse_output_with_failing_line):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner._parse_args):
(PerfTestsRunner.run):

1:18 PM Changeset in webkit [136050] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skip flaky video test media/W3C/video/readyState/readyState_during_loadedmetadata.html.
https://bugs.webkit.org/show_bug.cgi?id=103442

  • platform/win/TestExpectations:
1:11 PM Changeset in webkit [136049] by oliver@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Make source cache include more information about the function extent.
https://bugs.webkit.org/show_bug.cgi?id=103552

Reviewed by Gavin Barraclough.

Add a bit more information to the source cache.

  • parser/Parser.cpp:

(JSC::::parseFunctionInfo):

Store the function start offset

  • parser/SourceProviderCacheItem.h:

(JSC::SourceProviderCacheItem::SourceProviderCacheItem):
(SourceProviderCacheItem):

Add additional field for the start of the real function string, and re-arrange
fields to avoid growing the struct.

1:04 PM Changeset in webkit [136048] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebKit2

Windows build fix.

  • win/WebKit2.def:
1:02 PM Changeset in webkit [136047] by commit-queue@webkit.org
  • 8 edits
    3 copies
    7 adds in trunk

Text Autosizing: Clusters should use width of LCA of their text nodes
https://bugs.webkit.org/show_bug.cgi?id=102562

Patch by Anton Vayvod <avayvod@chromium.org> on 2012-11-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Many pages set a max-width on their content. So especially for the
RenderView, instead of just taking the width of |cluster| we find
the lowest common ancestor of the first and last descendant text node of
the cluster (i.e. the deepest wrapper block that contains all the text),
and use its width instead.

Tests: fast/text-autosizing/cluster-with-narrow-lca-and-cluster.html

fast/text-autosizing/cluster-with-narrow-lca.html
fast/text-autosizing/cluster-with-wide-lca.html
fast/text-autosizing/list-item-out-of-flow.html
fast/text-autosizing/wide-in-narrow-overflow-scroll.html

  • rendering/TextAutosizer.cpp:

(WebCore::TextAutosizer::processCluster): use text nodes LCA instead of cluster for width calculation
(WebCore::TextAutosizer::isAutosizingContainer): list items that are out of parent list element's flow are valid containers (that therefore become clusters in isAutosizingCluster)
(WebCore::TextAutosizer::findDeepestBlockContainingAllText): searches for LCA of text nodes ignoring descendant clusters
(WebCore::TextAutosizer::findFirstTextLeafNotInCluster): searches for the first or the last (depending on specified direction) text leaf node in-order ignoring any descendant clusters

  • rendering/TextAutosizer.h: new private methods declarations and an enum for tree traversal direction.

LayoutTests:

Many pages set a max-width on their content. So especially for the
RenderView, instead of just taking the width of |cluster| we find
the lowest common ancestor of the first and last descendant text node of
the cluster (i.e. the deepest wrapper block that contains all the text),
and use its width instead.
Had to update a couple of existing tests since the actual width for font
size multiplier calculation has been changed by the patch.

  • fast/text-autosizing/cluster-wide-in-narrow-expected.html:
  • fast/text-autosizing/cluster-wide-in-narrow.html:
  • fast/text-autosizing/cluster-with-narrow-lca-and-cluster-expected.html: Added.
  • fast/text-autosizing/cluster-with-narrow-lca-and-cluster.html: Added.
  • fast/text-autosizing/cluster-with-narrow-lca-expected.html: Added.
  • fast/text-autosizing/cluster-with-narrow-lca.html: Added.
  • fast/text-autosizing/cluster-with-wide-lca-expected.html: Added.
  • fast/text-autosizing/cluster-with-wide-lca.html: Added.
  • fast/text-autosizing/em-margin-border-padding-expected.html:
  • fast/text-autosizing/em-margin-border-padding.html:
  • fast/text-autosizing/list-item-out-of-flow-expected.html: Added.
  • fast/text-autosizing/list-item-out-of-flow.html: Added.
  • fast/text-autosizing/wide-child-expected.html:
  • fast/text-autosizing/wide-child.html:
  • fast/text-autosizing/wide-in-narrow-overflow-scroll-expected.html: Added.
  • fast/text-autosizing/wide-in-narrow-overflow-scroll.html: Added.
12:59 PM Changeset in webkit [136046] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

cleanup: Change some code to be cleaner, more readable and style conforming
https://bugs.webkit.org/show_bug.cgi?id=103543

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-28
Reviewed by Antonio Gomes.

Use more appropriate function name and more meaningful variable names to make the code cleaner.
This is covered by existing tests. This does not make any behavioural changes, so no new tests.

  • page/EventHandler.cpp:

(WebCore::closestScrollableNodeInDocumentIfPossible):
(WebCore::EventHandler::handleWheelEvent):

12:39 PM Changeset in webkit [136045] by Alexandru Chiculita
  • 4 edits
    4 adds in trunk

[CSS Regions] Crash when using hover and first-letter inside a flow-thread
https://bugs.webkit.org/show_bug.cgi?id=102957

Reviewed by David Hyatt.

Source/WebCore:

Some RenderObjects use a different path when they are destroyed. That's because they are dynamically
added just before layout happens and their parent is usually not their actual owner. In those cases the parent
will remove the object from the tree, but it's actually the owner that will destroy the object and all its
children.

RenderFlowThread maintains a RenderBoxRegionInfo object for each RenderObject that is rendered inside the
flow-thread. When the RenderObject is removed from the RenderFlowThread, the associated RenderBoxRegionInfo object
also needs to be removed.

In these special cases (list-marker, first-letter), the object itself was removed from the RenderFlowThread,
but its children were still left in the flow-thread. When the these special objects were later destroyed,
they will remove their own children. Removing their children means it will try to remove them from the
associated RenderFlowThread. However, in this cases there would be no link back to the parent flow-thread,
as the tree is now detached from the enclosing RenderFlowThread.

Added code that recursively removes the whole children tree from the RenderFlowThread when the root is removed.

Tests: fast/regions/firstletter-inside-flowthread.html

fast/regions/listmarker-inside-flowthread.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::willBeRemovedFromTree):
(WebCore::RenderObject::removeFromRenderFlowThread):
(WebCore):
(WebCore::RenderObject::removeFromRenderFlowThreadRecursive):

  • rendering/RenderObject.h:

(RenderObject):

LayoutTests:

Added CSS Regions tests for the firstLetter and listMarker render objects that use
different destroy paths in the code.

  • fast/regions/firstletter-inside-flowthread-expected.html: Added.
  • fast/regions/firstletter-inside-flowthread.html: Added.
  • fast/regions/listmarker-inside-flowthread-expected.html: Added.
  • fast/regions/listmarker-inside-flowthread.html: Added.
12:32 PM Changeset in webkit [136044] by pfeldman@chromium.org
  • 13 edits in branches/chromium/1312

Merge 135720 - Web Inspector: object preview does not render node id, className; logs too many functions for jQuery.
https://bugs.webkit.org/show_bug.cgi?id=103222

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • Added node class name and id into the preview
  • Now keeps track of properties separately from array indexes.
  • inspector/InjectedScriptSource.js:

(.):

  • inspector/InspectorOverlayPage.html:
  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):

LayoutTests:

  • inspector/console/command-line-api-expected.txt:
  • inspector/console/command-line-api-inspect-expected.txt:
  • inspector/console/console-dir-expected.txt:
  • inspector/console/console-format-collections-expected.txt:
  • inspector/console/console-format-expected.txt:
  • inspector/elements/event-listener-sidebar-expected.txt:
  • inspector/elements/event-listeners-about-blank-expected.txt:
  • platform/chromium-linux/inspector/console/console-format-collections-expected.txt: Removed.
  • platform/chromium/inspector/console/command-line-api-inspect-expected.txt:
  • platform/chromium/inspector/console/console-dir-expected.txt:
  • platform/chromium/inspector/console/console-format-collections-expected.txt:

TBR=pfeldman@chromium.org
BUG=135720
Review URL: https://chromiumcodereview.appspot.com/11434008

12:30 PM Changeset in webkit [136043] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Windows build fix after r134704.

  • WebCore.vcproj/WebCore.vcproj:
12:20 PM Changeset in webkit [136042] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, fix duplicate expectation.

  • platform/efl-wk1/TestExpectations:
12:13 PM Changeset in webkit [136041] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

LayoutTests/fast/table/css-table-max-height.html failing on Qt Linux
https://bugs.webkit.org/show_bug.cgi?id=103453

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-11-28
Reviewed by Julien Chaffraix.

The testcase failure was due to the difference in the default line-height value
used by Qt-linux port from other ports.

  • fast/table/css-table-max-height.html:
  • platform/qt/TestExpectations:
12:12 PM Changeset in webkit [136040] by pfeldman@chromium.org
  • 8 edits
    1 copy in branches/chromium/1312

Merge 134053 - Web Inspector: wrong output for empty object {}
https://bugs.webkit.org/show_bug.cgi?id=101356

Reviewed by Vsevolod Vlasov.

Changed preview formatting to iterate over enumerable properties only + visit the prototypes.

Source/WebCore:

  • inspector/InjectedScriptSource.js:

(.):

  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):

LayoutTests:

  • inspector/console/command-line-api-expected.txt:
  • inspector/console/command-line-api-inspect-expected.txt:
  • inspector/console/console-format-collections-expected.txt:
  • inspector/console/console-format-expected.txt:
  • platform/chromium/inspector/console/console-format-collections-expected.txt:

TBR=pfeldman@chromium.org
BUG=162570
Review URL: https://chromiumcodereview.appspot.com/11415185

12:05 PM Changeset in webkit [136039] by Alexandru Chiculita
  • 3 edits
    2 adds in trunk

[CSS Regions] Auto-height regions will not calculate the height correctly when the content changes dynamically
https://bugs.webkit.org/show_bug.cgi?id=102954

Reviewed by David Hyatt.

Source/WebCore:

Whenever the flow changes, we need to reset the region computed auto-heights.
However, when we reset the region heights to "auto" or "un-computed", we also need to make
sure that all the region breaks are counted again, so that we split regions correctly during the new layout.
I've reused the m_regionsInvalidated property to force the flow do a complete layout.

Test: fast/regions/autoheight-dynamic-update.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::resetRegionsOverrideLogicalContentHeight):

LayoutTests:

Added test to check for auto-height region size update after an element is added to the flow.
In this case the first region will need to resize to accommodate the size of the added elements.

  • fast/regions/autoheight-dynamic-update-expected.html: Added.
  • fast/regions/autoheight-dynamic-update.html: Added.
12:00 PM Changeset in webkit [136038] by scherkus@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed. Fixing lint errors introduced in r136030.

  • platform/chromium/TestExpectations:
11:55 AM Changeset in webkit [136037] by Alexandru Chiculita
  • 3 edits
    2 adds in trunk

[CSS Regions] InRenderFlowThread returns false in the first setStyle
https://bugs.webkit.org/show_bug.cgi?id=102839

Reviewed by Dave Hyatt.

Source/WebCore:

Some render objects use the "inRenderFlowThread" during the first styleWillChange/styleDidChange.
The first call to these methods comes from NodeRendererFactory::createRenderer. That happens before the RenderObject is
attached to the parent renderer, meaning that inRenderFlowThread is false. That means a RenderLayerBacking will be
created for renderers inside the RenderFlowThread, but composited layers inside the RenderFlowThread are not supported yet.
https://bugs.webkit.org/show_bug.cgi?id=84900

Test: fast/repaint/region-painting-composited-element.html

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRendererFactory::createRenderer):
Added code to propagate the inRenderFlowThread flag from the parent node before the style is set for the first time.

LayoutTests:

Added test to check that the composited elements added to a RenderFlowThread are painted correctly.

  • fast/repaint/region-painting-composited-element-expected.html: Added.
  • fast/repaint/region-painting-composited-element.html: Added.
11:54 AM Changeset in webkit [136036] by zandobersek@gmail.com
  • 3 edits in trunk/Tools

Remove deprecated logging usage from QueueEngine
https://bugs.webkit.org/show_bug.cgi?id=103532

Reviewed by Dirk Pranke.

Replace usage of deprecated logging in webkitpy.tool.bot.queueengine with
logging through the Logger object. The unit test is modified to reflect
these changes.

After these changes the deprecated logging (i.e. logging to stderr) is not
used anymore through webkitpy and can be removed.

  • Scripts/webkitpy/tool/bot/queueengine.py:

(QueueEngine.exit_after_handled_error):
(QueueEngine.run):
(QueueEngine._stopping):
(QueueEngine._sleep):

  • Scripts/webkitpy/tool/bot/queueengine_unittest.py:

(QueueEngineTest._run_engine):

11:47 AM Changeset in webkit [136035] by tony@chromium.org
  • 23 edits in trunk/LayoutTests

Unreviewed, land updated Mac results after track limiter removal.

  • fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • fast/forms/range/input-appearance-range-expected.txt:
  • fast/forms/range/slider-padding-expected.txt:
  • fast/forms/range/slider-thumb-stylability-expected.txt:
  • fast/multicol/client-rects-expected.txt:
  • fast/repaint/slider-thumb-drag-release-expected.txt:
  • fast/repaint/slider-thumb-float-expected.txt:
  • platform/mac/TestExpectations:
  • platform/mac/fast/forms/box-shadow-override-expected.txt:
  • platform/mac/fast/forms/input-appearance-height-expected.txt:
  • platform/mac/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/mac/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/mac/media/audio-controls-rendering-expected.txt:
  • platform/mac/media/controls-after-reload-expected.txt:
  • platform/mac/media/controls-strict-expected.txt:
  • platform/mac/media/controls-styling-strict-expected.txt:
  • platform/mac/media/controls-without-preload-expected.txt:
  • platform/mac/media/video-controls-rendering-expected.txt:
  • platform/mac/media/video-display-toggle-expected.txt:
  • platform/mac/media/video-no-audio-expected.txt:
  • platform/mac/media/video-playing-and-pause-expected.txt:
11:43 AM Changeset in webkit [136034] by mitz@apple.com
  • 3 edits
    2 adds in trunk

<rdar://problem/12645085> REGRESSION (r130851): With kerning enabled, a white-space: pre-wrap inline starting with tab+space has the wrong width
https://bugs.webkit.org/show_bug.cgi?id=103541

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/text/tab-with-kerning.html

When kerning is enabled, words are measured with their trailing space, then the width of a
space is subtracted. The logic to do this was incorrectly being invoked even when the
trailing whitespace character was a tab or a newline.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::LineBreaker::nextLineBreak): Changed to check only for the space
character, not other space-like characters.

LayoutTests:

  • fast/text/tab-with-kerning-expected.html: Added.
  • fast/text/tab-with-kerning.html: Added.
11:37 AM Changeset in webkit [136033] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

https://bugs.webkit.org/show_bug.cgi?id=102970
[WK1] REGRESSION (r129545): Main frame doesn't rubberband unless
WebFrameLoadDelegate implements -webView:didFirstLayoutInFrame:

Reviewed by Sam Weinig.

We should always register for DidFirstLayout in WK1 since we do work
at that time besides just calling the delegate function.

  • WebView/WebView.mm:

(-[WebView _cacheFrameLoadDelegateImplementations]):

11:30 AM Changeset in webkit [136032] by ericu@chromium.org
  • 3 edits
    1 add in trunk/Source/WebKit/chromium

[chromium] Add unit tests for ChromeClientImpl::getNavigationPolicy
https://bugs.webkit.org/show_bug.cgi?id=102424

Reviewed by Adam Barth.

This tests a bunch of basic scenarios regarding what will produce a
popup, a new foreground/background tab, or a new window.

  • WebKit.gypi: Added test file.
  • src/WebViewImpl.h:

(WebViewImpl): Added friend declaration for setCurrentInputEventForTest.

  • tests/ChromeClientImplTest.cpp: Added.
11:30 AM Changeset in webkit [136031] by Nate Chapin
  • 17 edits in trunk

Move empty loading to DocumentLoader, simplify FrameLoader::init()
https://bugs.webkit.org/show_bug.cgi?id=101512

Reviewed by Adam Barth.

Source/WebCore:

No new tests, though several outputs changed because we no longer send resource

load callbacks for empty loads.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::clearMainResourceLoader):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::documentURL):
(WebCore::DocumentLoader::isLoadingMainResource):
(WebCore::DocumentLoader::maybeLoadEmpty):
(WebCore):
(WebCore::DocumentLoader::startLoadingMainResource): Handle empty main resource

loads directly here.

  • loader/DocumentLoader.h:

(WebCore::DocumentLoader::serverRedirectSourceForHistory):
(DocumentLoader):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader): Initialize some variables whose values

were previously being reset in init(). Given that the FrameLoader is in
an inconsistent state before init() is called anyway, there doesn't seem
to be a disadvantage to just initializing them to their post-init() values.

(WebCore::FrameLoader::init): Just call startLoadingMainResource(), instead of

doing a bunch of direct calls to functions FrameLoader shouldn't know about.

  • loader/FrameLoaderStateMachine.cpp:

(WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):

  • loader/FrameLoaderStateMachine.h:
  • loader/MainResourceLoader.cpp: Throughout, remove the concept of an empty load.

(WebCore::MainResourceLoader::loadNow): This only returned true when an empty

load got deferred, which won't happen now. Return void and always treat
as returning false.

  • loader/MainResourceLoader.h:

(MainResourceLoader):

Tools:

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::updateForCommittedLoad): This function doesn't play nicely with empty urls and incorrectly

interprets them as a non-empty load. This change is required for

http/tests/navigation/new-window-redirect-history.html to continue to pass in chromium.

  • TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp: This test relies on a callback that no longer

is sent for about:blank loads. Hook into didFinishLoadForFrame() instead.

(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):

LayoutTests:

Don't expect resource load callbacks for empty loads.

  • http/tests/inspector/network/network-iframe-load-and-delete.html:
  • http/tests/loading/redirect-methods-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
11:16 AM Changeset in webkit [136030] by scherkus@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed. Mark http/tests/media/video-buffered-range-contains-currentTime.html as requiring an image rebaseline.

  • platform/chromium/TestExpectations:
11:11 AM Changeset in webkit [136029] by aelias@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Handle pinch correctly in slow-scrolling area
https://bugs.webkit.org/show_bug.cgi?id=102740

Reviewed by James Robinson.

With the nonmodal gesture event model, pinch zoom gestures involve
interleaved pinch and scroll events. This caused a bug on slow-scroll
areas: the scroll events were sent to the main thread and
the pinch events were handled in the impl thread.

This patch makes it so that scroll events are always handled in the impl
thread if a pinch is active.

  • src/WebCompositorInputHandlerImpl.cpp:

(WebKit::WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl):
(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):

  • src/WebCompositorInputHandlerImpl.h:
  • tests/WebCompositorInputHandlerImplTest.cpp:

(WebKit::TEST_F):
(WebKit):

11:01 AM Changeset in webkit [136028] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Merged r135992. <rdar://problem/12767522>

11:00 AM Changeset in webkit [136027] by tony@chromium.org
  • 41 edits
    1 copy
    3 moves
    7 adds
    10 deletes in trunk/LayoutTests

Unreviewed, land updated Chromium results after track limiter removal.

  • fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/chromium-mac-lion/media/video-empty-source-expected.png:
  • platform/chromium-mac-snowleopard/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/range/slider-thumb-stylability-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/fast/repaint/slider-thumb-float-expected.txt: Removed.
  • platform/chromium-mac-snowleopard/media/video-empty-source-expected.png:
  • platform/chromium-mac/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Added.
  • platform/chromium-mac/fast/forms/box-shadow-override-expected.txt:
  • platform/chromium-mac/fast/forms/input-appearance-height-expected.txt:
  • platform/chromium-mac/fast/forms/range/input-appearance-range-expected.txt: Added.
  • platform/chromium-mac/fast/forms/range/range-thumb-height-percentage-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/range/range-thumb-height-percentage-expected.txt.
  • platform/chromium-mac/fast/forms/range/slider-padding-expected.txt: Added.
  • platform/chromium-mac/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/chromium-mac/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/chromium-mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/chromium-mac/fast/layers/video-layer-expected.txt:
  • platform/chromium-mac/fast/repaint/slider-thumb-drag-release-expected.txt: Added.
  • platform/chromium-mac/fast/repaint/slider-thumb-float-expected.txt: Removed.
  • platform/chromium-mac/media/audio-controls-rendering-expected.txt:
  • platform/chromium-mac/media/audio-repaint-expected.txt:
  • platform/chromium-mac/media/controls-after-reload-expected.txt:
  • platform/chromium-mac/media/controls-strict-expected.txt:
  • platform/chromium-mac/media/controls-styling-expected.txt:
  • platform/chromium-mac/media/controls-styling-strict-expected.txt:
  • platform/chromium-mac/media/controls-without-preload-expected.txt:
  • platform/chromium-mac/media/media-controls-clone-expected.txt:
  • platform/chromium-mac/media/media-document-audio-repaint-expected.txt:
  • platform/chromium-mac/media/video-controls-rendering-expected.txt:
  • platform/chromium-mac/media/video-display-toggle-expected.txt:
  • platform/chromium-mac/media/video-empty-source-expected.png:
  • platform/chromium-mac/media/video-empty-source-expected.txt:
  • platform/chromium-mac/media/video-no-audio-expected.txt:
  • platform/chromium-mac/media/video-playing-and-pause-expected.txt:
  • platform/chromium-mac/media/video-zoom-controls-expected.txt:
  • platform/chromium-mac/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/chromium-win-xp/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Removed.
  • platform/chromium-win-xp/fast/forms/range/slider-thumb-stylability-expected.txt: Removed.
  • platform/chromium-win-xp/fast/repaint/slider-thumb-float-expected.txt: Removed.
  • platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/chromium-win/fast/forms/box-shadow-override-expected.txt:
  • platform/chromium-win/fast/forms/input-appearance-height-expected.txt:
  • platform/chromium-win/fast/forms/range/input-appearance-range-expected.txt:
  • platform/chromium-win/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/chromium-win/fast/forms/range/slider-padding-expected.txt:
  • platform/chromium-win/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/chromium-win/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/chromium-win/fast/multicol/client-rects-expected.txt:
  • platform/chromium-win/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/chromium-win/fast/repaint/slider-thumb-float-expected.txt:
  • platform/chromium-win/media/video-empty-source-expected.txt:
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Renamed from LayoutTests/platform/chromium-mac/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt.
  • platform/chromium/fast/forms/range/slider-thumb-shared-style-expected.txt: Removed.
  • platform/chromium/fast/multicol/client-rects-expected.txt: Added.
  • platform/chromium/fast/repaint/slider-thumb-float-expected.txt: Renamed from LayoutTests/platform/mac/fast/repaint/slider-thumb-float-expected.txt.
  • platform/mac/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Removed.
  • platform/mac/fast/forms/range/slider-thumb-stylability-expected.txt: Removed.
  • platform/win-future/fast/forms/range/range-thumb-height-percentage-expected.txt: Copied from LayoutTests/fast/forms/range/range-thumb-height-percentage-expected.txt.
10:55 AM Changeset in webkit [136026] by commit-queue@webkit.org
  • 5 edits in trunk

Calling .removeCue() for a cue that was never added should raise a NOT_FOUND_ERR
https://bugs.webkit.org/show_bug.cgi?id=103412

Patch by Antoine Quint <Antoine Quint> on 2012-11-28
Reviewed by Eric Carlson.

Source/WebCore:

Updating the .removeCue() implementation to match the latest spec. This means we now
raise a NOT_FOUND_ERR exception when trying to remove a cue that wasn't present in the
cue list instead of a INVALID_STATE_ERR exception like the spec used to mandate.

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::removeCue):

LayoutTests:

Updating the .removeCue() test checking on the exception to be NOT_FOUND_ERR instead
of INVALID_STATE_ERR.

  • media/track/track-add-remove-cue-expected.txt:
  • media/track/track-add-remove-cue.html:
10:55 AM Changeset in webkit [136025] by Lucas Forschler
  • 6 edits in branches/safari-536.28-branch/Source

Merged r119546. <rdar://problem/12765110>

10:29 AM Changeset in webkit [136024] by schenney@chromium.org
  • 2 edits in trunk/LayoutTests

Layout Test svg/animations/mpath-remove-from-dependents-on-delete-crash.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=103375

Unreviewed test update.

According to the original bug, at least 4 iterations were required to
crash (without the fix). To make the test faster, I've reduced the max
iteration count to 5, rather than 10. This may not fix the timeoout
issue because it might be a real timeout, not just a slow test.

  • svg/animations/mpath-remove-from-dependents-on-delete-crash.html:
10:21 AM Changeset in webkit [136023] by senorblanco@chromium.org
  • 2 edits in branches/chromium/1312/Source/WebCore/platform/graphics

Merge 135809 - [Chromium] Shared graphics context should only pushGroupMarker() once
https://bugs.webkit.org/show_bug.cgi?id=103082

Reviewed by James Robinson.

GraphicsContext3D's pushGroupMarkerEXT() is being called every time
an ImageBuffer is created, leading to unlimited memory growth, since
they share a common GraphicsContext3D. It should be called only once,
on context creation.

See also http://crbug.com/160411.

Tested by manually checking the memory usage in Chrome's TaskManager.
(Sorry, I can't think of a way to test this automatically.)

  • platform/graphics/gpu/SharedGraphicsContext3D.cpp:

(WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::createAcceleratedCanvas):

TBR=senorblanco@chromium.org
Review URL: https://codereview.chromium.org/11308248

9:53 AM Changeset in webkit [136022] by Lucas Forschler
  • 1 copy in tags/Safari-536.27.4/safari-536.27-branch

New Tag.

9:53 AM Changeset in webkit [136021] by Lucas Forschler
  • 4 edits in branches/safari-536.27-branch/Source

Versioning.

9:48 AM Changeset in webkit [136020] by Lucas Forschler
  • 1 copy in tags/Safari-536.27.4

New Tag.

9:46 AM Changeset in webkit [136019] by Lucas Forschler
  • 4 edits in branches/safari-536.27-branch/Source

Versioning.

9:44 AM Changeset in webkit [136018] by Lucas Forschler
  • 2 edits in branches/safari-536.27-branch/Source/WebCore

Merged r135992 -> <rdar://problem/12767505>

8:58 AM Changeset in webkit [136017] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt][Win] Enable usage of QTWEBKIT_PLUGIN_PATH.
https://bugs.webkit.org/show_bug.cgi?id=103529

This patch enables the same behavior for Windows
as it is currently implemented for all other operating
systems supported by Qt.
Directories listed in the environment variable
QTWEBKIT_PLUGIN_PATH are being searched for additional
plugins.
The only difference is that directories on Windows
need to be separated by a semicolon instead of a colon.

Reviewed by Kenneth Rohde Christiansen.

  • plugins/win/PluginDatabaseWin.cpp:

(WebCore):
(WebCore::addQtWebKitPluginPath):
(WebCore::PluginDatabase::defaultPluginDirectories):

8:54 AM Changeset in webkit [136016] by Christophe Dumez
  • 2 edits in trunk/Source/WebKit2

Regression(r135962): m_pendingSyncBackingStores needs to be cleared in LayerTreeRenderer::purgeGLResources()
https://bugs.webkit.org/show_bug.cgi?id=103527

Reviewed by Jocelyn Turcotte.

Make sure m_pendingSyncBackingStores is cleared in
LayerTreeRenderer::purgeGLResources() to avoid trying to assign
backing store to layers after everything has been invalidated.

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::purgeGLResources):

8:50 AM Changeset in webkit [136015] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

[v8] 4% regression in dom_traverse tests
https://bugs.webkit.org/show_bug.cgi?id=102858

Unreviewed.

This patch is a manual rollout of
http://trac.webkit.org/changeset/134729. We can't do a mechanical
rollout because V8DOMWrapper::getCachedWrapper no longer exists.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

8:41 AM Changeset in webkit [136014] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Removed extra definition of GLXContext.
https://bugs.webkit.org/show_bug.cgi?id=103500

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2012-11-28
Reviewed by Martin Robinson.

A minor cleanup to remove a spare definition of GLXContext in GLContextGLX.h.

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

  • platform/graphics/glx/GLContextGLX.h:
8:28 AM Changeset in webkit [136013] by commit-queue@webkit.org
  • 13 edits
    1 copy
    1 add in trunk

[chromium] Allow plugins to opt-in to receive synthetic mouse events out of touch events.
https://bugs.webkit.org/show_bug.cgi?id=103092

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-28
Reviewed by Tony Chang.

Source/WebKit/chromium:

A plugin can now request to receive raw touch events, or to receive mouse events synthesized
from the touch events, or to not receive any touch events at all.

  • public/WebPluginContainer.h:

(WebPluginContainer):

  • src/WebInputEventConversion.cpp:

(WebKit::updateWebMouseEventFromWebCoreMouseEvent):
(WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
(WebKit):

  • src/WebInputEventConversion.h:

(WebMouseEventBuilder):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::setIsAcceptingTouchEvents):
(WebKit):
(WebKit::WebPluginContainerImpl::requestTouchEventType):
(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

Tools:

Update the test web-plugin to be able to opt-in to receive synthesized mouse events created
from touch events.

  • DumpRenderTree/chromium/TestWebPlugin.cpp:

(parseTouchEventRequestType):
(TestWebPlugin::TestWebPlugin):
(TestWebPlugin::initialize):

  • DumpRenderTree/chromium/TestWebPlugin.h:

(TestWebPlugin):

LayoutTests:

Add test for synthesized mouse events from touch (and update existing tests).

  • platform/chromium/plugins/touch-events-details.html:
  • platform/chromium/plugins/touch-events-synthesized-expected.txt: Added.
  • platform/chromium/plugins/touch-events-synthesized.html: Copied from LayoutTests/platform/chromium/plugins/touch-events.html.
  • platform/chromium/plugins/touch-events.html:
  • platform/chromium/plugins/transformed-events.html:
8:06 AM Changeset in webkit [136012] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Fix gesture scrolling when the target-element of scroll-begin is removed
https://bugs.webkit.org/show_bug.cgi?id=103355

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-28
Reviewed by Antonio Gomes.

Source/WebCore:

When a touch-scroll starts, the node under the touch-point gets latched, and
subsequent scroll-update events are dispatched to that node. But if the node is
removed while the gesture event is in progress (e.g. in a dynamically updated
list), then the scrolling stops, although there are enough elements to still
enable scrolling. So instead of latching on to the node immediately under the
touch point, latch on to the scrollable node under the touch point.

Test: fast/events/touch/gesture/touch-gesture-scroll-remove-node.html

  • page/EventHandler.cpp:

(WebCore::getClosestScrollableNodeInDocumentIfPossible):
(WebCore):
(WebCore::EventHandler::handleWheelEvent):

LayoutTests:

Added a test that starts a touch-scroll, removes the initial element under the
touch-point, and scrolls some more, to test that the scrolling happens correctly
after the element is removed.

  • fast/events/touch/gesture/touch-gesture-scroll-remove-node-expected.txt: Added.
  • fast/events/touch/gesture/touch-gesture-scroll-remove-node.html: Added.
8:05 AM Changeset in webkit [136011] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[EFL][WK2] Add support for PlatformWebView::simulateSpacebarKeyPress() in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=103123

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-28
Reviewed by Laszlo Gombos.

Add support for PlatformWebView::simulateSpacebarKeyPress().
This functionality is needed by WebKit2 API test MouseMoveAfterCrash
which is going to be unskipped in bug #103252.

  • TestWebKitAPI/efl/PlatformUtilities.cpp:

(TestWebKitAPI::Util::sleep):

  • TestWebKitAPI/efl/PlatformWebView.cpp: Use usleep() instead of

sleep().
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI):

8:03 AM Changeset in webkit [136010] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

Fix .libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::validationMessageBadInputForNumberText().
https://bugs.webkit.org/show_bug.cgi?id=103509

Patch by Anton Obzhirov <Anton Obzhirov> on 2012-11-28
Reviewed by Philippe Normand.

GTK build fix after r136001.

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::validationMessageBadInputForNumberText):
(WebCore):

6:51 AM Changeset in webkit [136009] by Christophe Dumez
  • 3 edits in trunk/Source/WebKit2

Regression(r135962): ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
https://bugs.webkit.org/show_bug.cgi?id=103498

Reviewed by Kenneth Rohde Christiansen.

We hit the !m_pedningSyncBackingStores.contains(layer) assertion
in LayerTreeRenderer when 2 asynchronous backing store operations
are pending. The current code checks if the layer already has a
backing store in its guard but this is insufficient as it is not
checking the m_pendingSyncBackingStores hash for pending backing
store changes.

In this patch, we improve the guards in createBackingStoreIfNeeded()
and removeBackingStoreIfNeeded() to check not only if the layer has
already a backing store but also check m_pendingSyncBackingStores
for pending changes. This is safer and it allows for optimizations
in the cases where we have both a removal and a creation pending.
In those cases, we can simply cancel the pending operation instead
of queueing a new one.

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
6:42 AM Changeset in webkit [136008] by dgrogan@chromium.org
  • 3 edits in trunk/Source/WebKit/chromium

IndexedDB: Remove setVersion from WK API
https://bugs.webkit.org/show_bug.cgi?id=103456

Reviewed by Darin Fisher.

These are the last vestiges of this ancient API. The bulk of the
removal was done in bug 94972.

  • public/WebIDBCallbacks.h:
  • public/WebIDBDatabase.h:
6:38 AM Changeset in webkit [136007] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL][WK2] add flaky results after r135935
https://bugs.webkit.org/show_bug.cgi?id=103514

Unreviewed gardening: add flaky results after r135935 enabled
loads of reftests. Also move the existing flaky results from efl
to efl-wk2 since this does not concern WK1.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-28

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
6:38 AM Changeset in webkit [136006] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[EFL] Use mutex locker in wakeUp() to ensure thread-safety.
https://bugs.webkit.org/show_bug.cgi?id=101132

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-28
Reviewed by Gyuyoung Kim.

Add mutex locker for the ecore pipe to ensure thread-safety of
RunLoop::wakeUp().

RunLoop::wakeUp() can be called by multiple thread. It uses
ecore_pipe_write() function but the function is not thread-safe.

  • platform/RunLoop.h:

(RunLoop):

  • platform/efl/RunLoopEfl.cpp:

(WebCore::RunLoop::wakeUp):

6:23 AM Changeset in webkit [136005] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[EFL] Refactor theme to choose whether to support foreground color of selection
https://bugs.webkit.org/show_bug.cgi?id=102037

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-11-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

If foreground selection color is supported, selected text is painted to
SelectionForegroundColor instead of text color. If not, text can be painted
to text color.

However, EFL port does not have a way to disable support of foreground
selection color. So this patch refactors color classes of theme from
active and inactive to foreground and background in order to disable support
of foreground selection color when foreground color class is not specified.

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::fillColorsFromEdjeClass):
Returned false without error message when colorClass is not specified.
(WebCore::RenderThemeEfl::setColorFromThemeClass):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::RenderThemeEfl):
(WebCore::RenderThemeEfl::supportsSelectionForegroundColors):
(WebCore):

  • platform/efl/RenderThemeEfl.h:

(RenderThemeEfl):

Source/WebKit/efl:

  • DefaultTheme/default.edc:

Refactored color classes from active/inactive to foreground/background.

6:12 AM Changeset in webkit [136004] by commit-queue@webkit.org
  • 5 edits in trunk/Tools

Minor cleanup in TestInvocation
https://bugs.webkit.org/show_bug.cgi?id=103512

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-28
Reviewed by Kenneth Rohde Christiansen.

Remove a function declaration that is not defined and not used.
Fix spelling error in m_webProcessIsUnresponsive.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::TestInvocation::TestInvocation):
(WTR::TestInvocation::invoke):

  • WebKitTestRunner/TestInvocation.h:

(TestInvocation):

  • WebKitTestRunner/cairo/TestInvocationCairo.cpp:

(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

  • WebKitTestRunner/qt/TestInvocationQt.cpp:

(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

6:05 AM Changeset in webkit [136003] 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-11-28

  • DEPS:
5:44 AM Changeset in webkit [136002] by allan.jensen@digia.com
  • 2 edits in trunk/Source/WebCore

Move childrenAffectedBy bits from RenderStyle to Element
https://bugs.webkit.org/show_bug.cgi?id=101448

Unreviewed buildfix.

To use renderStyle() on some Macs we need to include NodeRenderStyle.h.

  • dom/ContainerNode.cpp:
5:09 AM Changeset in webkit [136001] by allan.jensen@digia.com
  • 17 edits
    2 adds in trunk

Move childrenAffectedBy bits from RenderStyle to Element
https://bugs.webkit.org/show_bug.cgi?id=101448
https://bugs.webkit.org/show_bug.cgi?id=98021

Source/WebCore:

Reviewed by Antti Koivisto.

Moves facts observed about restyling dependencies out of RenderStyle and
into RareData for Node and Element. This also enables further cleanup
in related code that tried to deal with problems caused with the placement
of the data.

Test: fast/css/nth-child-not-in-rightmost.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkSelector):
(WebCore::SelectorChecker::checkOneSelector):

  • css/SiblingTraversalStrategies.h:

(WebCore::DOMSiblingTraversalStrategy::countElementsBefore):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::sortAndTransferMatchedRules):
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::parentElementPreventsSharing):
(WebCore::StyleResolver::locateSharedStyle):

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::setActive):
(WebCore::ContainerNode::setHovered):

  • dom/Element.cpp:

(WebCore::Element::detach):
(WebCore::Element::recalcStyle):
(WebCore::checkForEmptyStyleChange):
(WebCore::checkForSiblingStyleChanges):
(WebCore::Element::setChildrenAffectedByHover):
(WebCore::Element::setChildrenAffectedByActive):
(WebCore::Element::setChildrenAffectedByDrag):
(WebCore::Element::setChildrenAffectedByFirstChildRules):
(WebCore::Element::setChildrenAffectedByLastChildRules):
(WebCore::Element::setChildrenAffectedByDirectAdjacentRules):
(WebCore::Element::setChildrenAffectedByForwardPositionalRules):
(WebCore::Element::setChildrenAffectedByBackwardPositionalRules):
(WebCore::Element::setChildIndex):
(WebCore::Element::rareDataStyleAffectedByEmpty):
(WebCore::Element::rareDataChildrenAffectedByHover):
(WebCore::Element::rareDataChildrenAffectedByActive):
(WebCore::Element::rareDataChildrenAffectedByDrag):
(WebCore::Element::rareDataChildrenAffectedByFirstChildRules):
(WebCore::Element::rareDataChildrenAffectedByLastChildRules):
(WebCore::Element::rareDataChildrenAffectedByDirectAdjacentRules):
(WebCore::Element::rareDataChildrenAffectedByForwardPositionalRules):
(WebCore::Element::rareDataChildrenAffectedByBackwardPositionalRules):
(WebCore::Element::rareDataChildIndex):

  • dom/Element.h:

(Element):
(WebCore::Element::styleAffectedByEmpty):
(WebCore::Element::childrenAffectedByHover):
(WebCore::Element::childrenAffectedByActive):
(WebCore::Element::childrenAffectedByDrag):
(WebCore::Element::childrenAffectedByPositionalRules):
(WebCore::Element::childrenAffectedByFirstChildRules):
(WebCore::Element::childrenAffectedByLastChildRules):
(WebCore::Element::childrenAffectedByDirectAdjacentRules):
(WebCore::Element::childrenAffectedByForwardPositionalRules):
(WebCore::Element::childrenAffectedByBackwardPositionalRules):
(WebCore::Element::childIndex):

  • dom/ElementRareData.h:

(ElementRareData):
(WebCore::ElementRareData::resetComputedStyle):
(WebCore::ElementRareData::resetDynamicRestyleObservations):

  • dom/Node.cpp:

(WebCore::Node::diff):

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::childrenAffectedByHover):
(WebCore::NodeRareData::setChildrenAffectedByHover):
(WebCore::NodeRareData::childrenAffectedByActive):
(WebCore::NodeRareData::setChildrenAffectedByActive):
(WebCore::NodeRareData::childrenAffectedByDrag):
(WebCore::NodeRareData::setChildrenAffectedByDrag):
(NodeRareData):
(WebCore::NodeRareData::childrenAffectedByFirstChildRules):
(WebCore::NodeRareData::setChildrenAffectedByFirstChildRules):
(WebCore::NodeRareData::childrenAffectedByLastChildRules):
(WebCore::NodeRareData::setChildrenAffectedByLastChildRules):
(WebCore::NodeRareData::childrenAffectedByDirectAdjacentRules):
(WebCore::NodeRareData::setChildrenAffectedByDirectAdjacentRules):
(WebCore::NodeRareData::childrenAffectedByForwardPositionalRules):
(WebCore::NodeRareData::setChildrenAffectedByForwardPositionalRules):
(WebCore::NodeRareData::childrenAffectedByBackwardPositionalRules):
(WebCore::NodeRareData::setChildrenAffectedByBackwardPositionalRules):
(WebCore::NodeRareData::childIndex):
(WebCore::NodeRareData::setChildIndex):

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::createRendererForElementIfNeeded):

  • page/TouchAdjustment.cpp:

(WebCore::TouchAdjustment::nodeRespondsToTapGesture):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::updateDragState):

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::copyNonInheritedFrom):

  • rendering/style/RenderStyle.h:

LayoutTests:

Reviewed by Antti Koivisto.
New test-case by Takashi Sakamoto

  • fast/css/nth-child-not-in-rightmost-expected.html: Added.
  • fast/css/nth-child-not-in-rightmost.html: Added.
  • touchadjustment/event-triggered-widgets.html: Fix bug exposed by patch.
5:09 AM Changeset in webkit [136000] by kenneth@webkit.org
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] MiniBrowser rendering should not get blurry when scrolled down with different scale values
https://bugs.webkit.org/show_bug.cgi?id=103079

Reviewed by Simon Hausmann.

The problem was caused because we moved the page inside our viewport
in non-discrete units.

Now instead of changing the content visible in our viewport by
applying scale, and then transforming the CSS offset, we now first
discretely position the page in UI coordinates.

This patch also removes some dead code.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::transformFromScene):
(EwkViewImpl::displayTimerFired):

Transform according to the page position.

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl::setPagePosition): Now stores a float.
(EwkViewImpl::discretePagePosition): Returns the discrete page position.
(EwkViewImpl):

  • UIProcess/efl/PageClientLegacyImpl.cpp:

(WebKit::PageClientLegacyImpl::updateViewportSize):
(WebKit::PageClientLegacyImpl::pageDidRequestScroll):

  • UIProcess/efl/PageViewportControllerClientEfl.cpp:

(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::setViewportPosition): Convert to page position.
(WebKit::PageViewportControllerClientEfl::setContentsScale):
(WebKit::PageViewportControllerClientEfl::didResumeContent):

  • UIProcess/efl/PageViewportControllerClientEfl.h:

(WebKit::PageViewportControllerClientEfl::scaleFactor): Use the value
from the view directly.
(WebKit::PageViewportControllerClientEfl::contentPosition):
(PageViewportControllerClientEfl):

4:56 AM Changeset in webkit [135999] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2][AC] No need to export GL properties from EwkViewImpl class
https://bugs.webkit.org/show_bug.cgi?id=103505

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

No need to export GL data members from EwkViewImpl class,
those are internal implementation objects not used by anyone outside the class.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::displayTimerFired):
(EwkViewImpl::createGLSurface):

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl):
(EwkViewImpl::evasGLContext):
(EwkViewImpl::evasGLSurface):

4:49 AM Changeset in webkit [135998] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
https://bugs.webkit.org/show_bug.cgi?id=103497

Unreviewed buildfix.

Any usage of GraphicsSurface needs to be wrapped with USE(GRAPHICS_SURFACE).

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

4:45 AM Changeset in webkit [135997] by joone.hur@intel.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2][AC] Clear the viewport with white color
https://bugs.webkit.org/show_bug.cgi?id=103495

When initializing a GL surface, we should clear the buffer with white color.

Reviewed by Kenneth Rohde Christiansen.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::createGLSurface):

4:15 AM WebKit Team edited by thiago.santos@intel.com
(diff)
4:07 AM Changeset in webkit [135996] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
https://bugs.webkit.org/show_bug.cgi?id=103497

This is a temporary workaround for an issue with GraphicsSurfaceMac.
GraphicsSurfaceMac is currently implemented using CGL only.
CGL does not allow us to properly restore the NSView a context was made current with.
Therefore we have to go through QOpenGLContext to ensure the context
is being restored correctly.
As soon as we are updating GraphicsSurfaceMac to use NSOpenGL,
we should revert this patch.

Reviewed by Simon Hausmann.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

4:07 AM Changeset in webkit [135995] by zeno.albisser@digia.com
  • 4 edits in trunk/Source/WebCore

GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
https://bugs.webkit.org/show_bug.cgi?id=103497

Using GraphicsSurface for WebGL in WK1 allows us to share
the code with the WK2 implementation.

Reviewed by Simon Hausmann.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):

Remove obsolete code.

(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

After blitting the multisample framebuffer,
we can copy the contents onto the GraphicsSurface.
Right after that we can use the GraphicsSurface
as a texture origin to paint to the TextureMapper.
Flags related to flipping and blending are being resolved
by GraphicsSurface, and do not need to be handled here anymore.

(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):

Remove a redundant makeCurrentIfNeeded call.
The original context is being restored by
blitMultisampleFramebufferAndRestoreContext anyway.
Instead of explicitly calling swapBuffers here,
we call swapBuffers on the GraphicsSurface implicitly
after in GraphicsSurfacePrivate::copyFromTexture().

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

Add members to hold the reading end texture IDs.
The texture on the reading side are in a different
context than the texture on the writing side.
By using GraphicsSurface in WK1 we have to distinguish
between these textures, as a single instance serves
for reading and writing.

(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::copyFromTexture):

Add an implicit call to swapBuffers().

(WebCore::GraphicsSurfacePrivate::frontBufferTextureID):
(GraphicsSurfacePrivate):

  • platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:

(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):

Add a flag to distinguish between sending and receiving/reading
side of the surface. This flag is being initialized in the constructor
which is the only place where we know if an instance will be used for
writing or reading.
The purpose of this flag is to avoid erroneously swapping the buffers
on the reading side. We can no longer rely on m_xPixmap for this purpose.

(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::copyFromTexture):
(WebCore::GraphicsSurfacePrivate::glxPixmap):

Lazily create the GLX pixmap on demand.

(GraphicsSurfacePrivate):
(WebCore::GraphicsSurface::platformImport):

3:48 AM Changeset in webkit [135994] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix extra spaces in SimpleFontData::initGDIFont().

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::initGDIFont):

3:33 AM Changeset in webkit [135993] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[V8] Crash wrapping media element when MediaPlayer isn't available
https://bugs.webkit.org/show_bug.cgi?id=103431

Patch by Dan Carney <dcarney@google.com> on 2012-11-28
Reviewed by Kentaro Hara.

Call HTMLElement::createWrapper directly when dispatching a
disabled MediaElement wrap.

No new tests. Testing this must apparently be manual.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):

  • dom/make_names.pl:

(printWrapperFunctions):
(printWrapperFactoryHeaderFile):

3:31 AM Changeset in webkit [135992] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Initialize identity matrix in SimpleFontData::initGDIFont() properly.
https://bugs.webkit.org/show_bug.cgi?id=103499
<rdar://problem/12400700>

Reviewed by Timothy Horton.

We are incorrectly initializing the matrix passed into GetGlyphOutline.
This patch fixes MAT2 initialization to match the way we initialize the
identity matrix in SimpleFontData::boundsForGDIGlyph and SimpleFontData::widthForGDIGlyph.

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::initGDIFont):

2:26 AM Changeset in webkit [135991] by thiago.santos@intel.com
  • 2 edits in trunk/Tools

Unreviewed. Use my personal email as bugzilla email.

  • Scripts/webkitpy/common/config/committers.py:
2:17 AM WebKit Team edited by thiago.santos@intel.com
(diff)
2:15 AM Changeset in webkit [135990] by thiago.santos@intel.com
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers.py.

  • Scripts/webkitpy/common/config/committers.py:
2:05 AM WebKit Team edited by aandrey@chromium.org
(diff)
2:05 AM Changeset in webkit [135989] by tkent@chromium.org
  • 12 edits
    3 adds
    7 deletes in trunk/LayoutTests

Merge tests for date pseudo classes into one
https://bugs.webkit.org/show_bug.cgi?id=103489

Reviewed by Kentaro Hara.

date-appearance-pseudo-classes.html doesn't need to be a pixel
test because "how css properties are applied" is tested in
date-appearance-basic.html. Checking querySelectorAll result is
enough to check pseudo classes support, and we can convert the
test to a dumpAsText test.

Also, we should remove type=date dependencies in
fast/css/pseudo-*.html because some platforms don't enable
INPUT_TYPE_DATE and we had better put such tests into one place,
fast/forms/date/.

  • fast/css/pseudo-in-range-expected.txt:
  • fast/css/pseudo-in-range-invalid-value-expected.txt:
  • fast/css/pseudo-out-of-range-expected.txt:
  • fast/css/script-tests/pseudo-in-range-invalid-value.js:
  • fast/css/script-tests/pseudo-in-range.js:
  • fast/css/script-tests/pseudo-out-of-range.js:
  • fast/forms/date/date-appearance-pseudo-classes-expected.txt: Removed.
  • fast/forms/date/date-appearance-pseudo-classes.html: Removed.
  • fast/forms/date/date-pseudo-classes-expected.txt: Added.
  • fast/forms/date/date-pseudo-classes.html: Added.
  • fast/forms/resources/common-pseudo-classes.js: Added.
  • platform/chromium-linux/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-mac/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
  • platform/chromium-win/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
1:54 AM Changeset in webkit [135988] by aandrey@chromium.org
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers.py.

  • Scripts/webkitpy/common/config/committers.py:
1:43 AM Changeset in webkit [135987] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebKit/qt

[Texmap] REGRESSION(r135620) QtTestBrowser crashes on Google-gravity.
https://bugs.webkit.org/show_bug.cgi?id=103410

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

TextureMapperLayerClientQt::setTextureMapper() must call
flushCompositingStateForThisLayerOnly() of the root layer.

Currently, PageClientQGraphicsWidget::setRootGraphicsLayer does not flush layer
states of the root layer after setting TextureMapper while
PageClientQWidget::setRootGraphicsLayer() flushes them of the root layer. If
not flushing states, descendant layers can not reach the root layer. It means
descendant layers can not reach the TextureMapper that the root layer has.

This is already the behavior for PageClientQWidget, which should be the case
for PageClientQGraphicsWidget as well.

  • WebCoreSupport/PageClientQt.cpp:

(WebCore::TextureMapperLayerClientQt::setTextureMapper):
(WebCore::PageClientQWidget::setRootGraphicsLayer):

1:43 AM Changeset in webkit [135986] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

[Texmap] REGRESSION(r135620) QtTestBrowser crashes on Google-gravity.
https://bugs.webkit.org/show_bug.cgi?id=103410

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

GraphicsLayerTextureMapper::updateBackingStore() should return early
before TextureMapper is set.

GraphicsLayer::FlushCompositingState() can be called by RenderLayerBacking. It
means this method can be called before creating TextureMapper. So
TextureMapperLayer::flushCompositingState() checks and returns early if
TextureMapper was not created.

However, GraphicsLayerTextureMapper::updateBackingStore() expects that TextureMapper
always exists. updateBackingStore should also return early when TextureMapper
was not created.

No new tests. Covered by existing tests.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
(WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
(WebCore::GraphicsLayerTextureMapper::didFlushCompositingState):
(WebCore::GraphicsLayerTextureMapper::prepareBackingStore):

1:13 AM WebKit Team edited by falken@chromium.org
Add myself as a committer. (diff)
1:04 AM Changeset in webkit [135985] by tommyw@google.com
  • 14 edits
    1 copy
    6 adds in trunk

Add basic implementation for MediaStreamAudioDestinationNode
https://bugs.webkit.org/show_bug.cgi?id=101815

Reviewed by Chris Rogers.

Source/Platform:

Adds the consumer interface and related functionality to WebMediaStreamSource.

  • chromium/public/WebAudioDestinationConsumer.h: Added.

(WebKit):
(WebAudioDestinationConsumer):
(WebKit::WebAudioDestinationConsumer::~WebAudioDestinationConsumer):

  • chromium/public/WebMediaStreamSource.h:

(WebKit):
(WebMediaStreamSource):

Source/WebCore:

Implements an audio destination node which has a MediaStream.
This can be added to a PeerConnection with peerConnection.addStream().
Please see use case (3):
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/webrtc-integration.html

Test: webaudio/mediastreamaudiodestinationnode.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore):
(WebCore::AudioContext::createMediaStreamDestination):

  • Modules/webaudio/AudioContext.h:

(WebCore):
(AudioContext):

  • Modules/webaudio/AudioContext.idl:
  • Modules/webaudio/AudioNode.h:
  • Modules/webaudio/MediaStreamAudioDestinationNode.cpp: Added.

(WebCore):
(WebCore::MediaStreamAudioDestinationNode::create):
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
(WebCore::MediaStreamAudioDestinationNode::mediaStreamSource):
(WebCore::MediaStreamAudioDestinationNode::~MediaStreamAudioDestinationNode):
(WebCore::MediaStreamAudioDestinationNode::process):
(WebCore::MediaStreamAudioDestinationNode::reset):

  • Modules/webaudio/MediaStreamAudioDestinationNode.h: Added.

(WebCore):
(MediaStreamAudioDestinationNode):
(WebCore::MediaStreamAudioDestinationNode::stream):

  • Modules/webaudio/MediaStreamAudioDestinationNode.idl: Added.
  • WebCore.gypi:
  • platform/audio/AudioDestinationConsumer.h: Copied from Source/WebCore/platform/mediastream/MediaStreamSource.cpp.

(WebCore):
(AudioDestinationConsumer):
(WebCore::AudioDestinationConsumer::~AudioDestinationConsumer):

  • platform/chromium/support/WebMediaStreamSource.cpp:

(WebKit::WebMediaStreamSource::extraData):
(WebKit::WebMediaStreamSource::setExtraData):
(WebKit::WebMediaStreamSource::requiresAudioConsumer):
(WebKit):
(ConsumerWrapper):
(WebKit::ConsumerWrapper::create):
(WebKit::ConsumerWrapper::consumer):
(WebKit::ConsumerWrapper::ConsumerWrapper):
(WebKit::ConsumerWrapper::consumeAudio):
(WebKit::WebMediaStreamSource::addAudioConsumer):
(WebKit::WebMediaStreamSource::removeAudioConsumer):

  • platform/mediastream/MediaStreamSource.cpp:

(WebCore::MediaStreamSource::create):
(WebCore::MediaStreamSource::MediaStreamSource):
(WebCore::MediaStreamSource::addAudioConsumer):
(WebCore):
(WebCore::MediaStreamSource::removeAudioConsumer):
(WebCore::MediaStreamSource::consumeAudio):

  • platform/mediastream/MediaStreamSource.h:

(WebCore):
(MediaStreamSource):
(WebCore::MediaStreamSource::requiresAudioConsumer):
(WebCore::MediaStreamSource::audioConsumers):

Tools:

Adds a bit of code that exercises the WebKit API.

  • DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp:

(MockWebMediaStreamSourceConsumer):
(MockWebMediaStreamSourceConsumer::~MockWebMediaStreamSourceConsumer):
(MockWebMediaStreamCenter::didCreateMediaStream):

LayoutTests:

  • webaudio/mediastreamaudiodestinationnode-expected.txt: Added.
  • webaudio/mediastreamaudiodestinationnode.html: Added.
1:00 AM Changeset in webkit [135984] by falken@chromium.org
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers list.

  • Scripts/webkitpy/common/config/committers.py:
12:32 AM Changeset in webkit [135983] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK1] Gardening AC testcases in efl-wk1
https://bugs.webkit.org/show_bug.cgi?id=103488

Unreviewed, EFL gardening.

efl-wk1 doesn't fully support AC.

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-28

  • platform/efl-wk1/TestExpectations:
12:31 AM Changeset in webkit [135982] by li.yin@intel.com
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers list.

  • Scripts/webkitpy/common/config/committers.py:

Nov 27, 2012:

11:58 PM Changeset in webkit [135981] by mkwst@chromium.org
  • 37 edits in trunk

Improve WebSocketChannel connection failure console messages.
https://bugs.webkit.org/show_bug.cgi?id=103448

Reviewed by Adam Barth.

Source/WebCore:

When a WebSocket connection fails, the current implementation of
WebSocketChannel::fail binds the generated console message to the
document's URL, but doesn't give much indication as to the connection
itself. This patch adjusts the console message to explicitly show the
URL of the failed connection to give developers a better chance of
debugging and resolving errors.

  • Modules/websockets/WebSocketChannel.cpp:

(WebCore::WebSocketChannel::fail):

Drop the URL parameter from addConsoleMessage, in favour of adding
the WebSocketHandshake's URL to the message text.

LayoutTests:

  • http/tests/websocket/tests/hybi/bad-handshake-crash-expected.txt:
  • http/tests/websocket/tests/hybi/broken-utf8-expected.txt:
  • http/tests/websocket/tests/hybi/close-before-open-expected.txt:
  • http/tests/websocket/tests/hybi/close-code-and-reason-expected.txt:
  • http/tests/websocket/tests/hybi/close-expected.txt:
  • http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt:
  • http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt:
  • http/tests/websocket/tests/hybi/fragmented-control-frame-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-error-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-maxlength-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-connection-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-cr-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-no-upgrade-header-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-prepended-null-expected.txt:
  • http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header-expected.txt:
  • http/tests/websocket/tests/hybi/interleaved-fragments-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-continuation-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-encode-length-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-masked-frames-from-server-expected.txt:
  • http/tests/websocket/tests/hybi/long-control-frame-expected.txt:
  • http/tests/websocket/tests/hybi/long-invalid-header-expected.txt:
  • http/tests/websocket/tests/hybi/reserved-bits-expected.txt:
  • http/tests/websocket/tests/hybi/reserved-opcodes-expected.txt:
  • http/tests/websocket/tests/hybi/send-file-blob-fail-expected.txt:
  • http/tests/websocket/tests/hybi/too-long-payload-expected.txt:
  • http/tests/websocket/tests/hybi/websocket-event-target-expected.txt:
  • http/tests/websocket/tests/hybi/workers/close-code-and-reason-expected.txt:
  • http/tests/websocket/tests/hybi/workers/close-expected.txt:

Update test expectations with the new error messages.

11:42 PM Changeset in webkit [135980] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

Unreviewed functionality fix, return the height in ImageFrame::height()
on non-Skia platforms.

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageFrame::height):

11:09 PM WebKit Team edited by Christophe Dumez
Add myself to the committers list (diff)
10:59 PM Changeset in webkit [135979] by Christophe Dumez
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers.py.

  • Scripts/webkitpy/common/config/committers.py:
10:50 PM Changeset in webkit [135978] by apavlov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed, mark http/tests/inspector/indexeddb/database-data.html as flaky on Linux, too.

  • platform/chromium/TestExpectations:
10:07 PM Changeset in webkit [135977] by apavlov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed, mark http/tests/canvas/canvas-slow-font-loading.html as failing on all of Mac.

  • platform/chromium/TestExpectations:
9:41 PM Changeset in webkit [135976] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

Optimization in image decoding
https://bugs.webkit.org/show_bug.cgi?id=88424

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-27
Reviewed by Brent Fulgham.

Optimization in image decoding.
Reduce branching and multiplications in GIF image decoding loops and functions.
Rebase and update of original patch by Misha Tyutyunik <michael.tyuytunik@nokia.com>

Covered by existing tests.

  • platform/image-decoders/gif/GIFImageDecoder.cpp:

(WebCore::GIFImageDecoder::haveDecodedRow):

9:39 PM Changeset in webkit [135975] by vivek.vg@samsung.com
  • 2 edits in trunk/Tools

Unreviewed. Adding myself to committers list.

9:35 PM Changeset in webkit [135974] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Test expectation update
https://bugs.webkit.org/show_bug.cgi?id=96720

  • platform/chromium/TestExpectations:

datetimelocal-multiple-fields-preserve-value-after-history-back.html is flaky.

9:28 PM Changeset in webkit [135973] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Duplicated WebPageGroup initialization
https://bugs.webkit.org/show_bug.cgi?id=103229

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-11-27
Reviewed by Gyuyoung Kim.

WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.

As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
is created with default context.

  • UIProcess/API/efl/ewk_view.cpp:

(createEwkView):

9:27 PM WebKit Team edited by li.yin@intel.com
(diff)
9:27 PM Changeset in webkit [135972] by msaboff@apple.com
  • 8 edits in trunk/Source

TextIterator unnecessarily converts 8 bit strings to 16 bits
https://bugs.webkit.org/show_bug.cgi?id=103295

Reviewed by Brent Fulgham.

Source/WebCore:

Changed TextIterator to use the contained string instead of calling characters() on that string.
Other sources of text, like emitCharacter() still use the contained UChar* buffer.
Added appendTextToStringBuilder() to append the text contents of the current iterator to a string builder
irrespective of the source of the text.

No new tests as functionality covered by existing tests.

  • WebCore.exp.in: Updated plainText export and eliminated plainTextToMallocAllocatedBuffer export
  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::stringForVisiblePositionRange): Updated to use TextIterator::appendTextToStringBuilder()

  • editing/TextIterator.cpp:

(WebCore::TextIterator::characterAt): New function to return the indexed character of the current TextIterator
(WebCore::TextIterator::appendTextToStringBuilder): Added method to append whatever the current text to a StringBuilder
(WebCore::TextIterator::emitText): Eliminated accessing the character data via characters().
(WebCore::TextIterator::rangeFromLocationAndLength): Changed to use characterAt().
(WebCore::plainText): Combined with plainTextToMallocAllocatedBuffer().

  • editing/TextIterator.h:

(WebCore::TextIterator::startOffset): New getter.
(WebCore::TextIterator::string): New getter.
(WebCore::TextIterator::characters): Updated to use correct test source.

  • page/ContextMenuController.cpp:

(WebCore::selectionContainsPossibleWord): Changed to use characterAt().

Source/WebKit/mac:

Updated _stringForRange to use plainText() instead of removed plainTextToMallocAllocatedBuffer().

  • WebView/WebFrame.mm:

(-[WebFrame _stringForRange:]):

9:24 PM Changeset in webkit [135971] by noel.gordon@gmail.com
  • 4 edits in trunk/Source/WebCore

Inline ImageFrame width() and height()
https://bugs.webkit.org/show_bug.cgi?id=103401

Reviewed by Brent Fulgham.

Inline ImageFrame width() and height() to improve the performance of ImageFrame
function getAddr(x,y) per https://bugs.webkit.org/show_bug.cgi?id=88424#c38

No new tests. Covered by many existing tests.

  • platform/image-decoders/ImageDecoder.cpp: Remove width() and height() routines

since they now inlined in the ImageFrame class definition in ImageDecoder.h.

  • platform/image-decoders/ImageDecoder.h: Add inline definitions of width() and

height() for all ports.

  • platform/image-decoders/skia/ImageDecoderSkia.cpp:

(WebCore::ImageFrame::width): Remove.
(WebCore::ImageFrame::height): Remove.

9:13 PM Changeset in webkit [135970] by tony@chromium.org
  • 2 edits in trunk/Tools

Bring back partytime!
https://bugs.webkit.org/show_bug.cgi?id=103466

Reviewed by Adam Barth.

"code 404, message Unknown function images/partytime_gif" since we didn't
allow .gif or .png files to be served.

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

(GardeningHTTPRequestHandler):

8:54 PM Changeset in webkit [135969] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove ASSERT_NOT_REACHED() from IDBCursorBackendImpl::postSuccessHandlerCallback()
https://bugs.webkit.org/show_bug.cgi?id=103461

Patch by Michael Pruett <michael@68k.org> on 2012-11-27
Reviewed by Kentaro Hara.

The assertion is applicable only to the Chromium port.

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBCursorBackendImpl.h:

(WebCore::IDBCursorBackendImpl::postSuccessHandlerCallback):

8:48 PM Changeset in webkit [135968] by noel.gordon@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: http/tests/inspector/network/network-xhr-replay.html times-out on win release
https://bugs.webkit.org/show_bug.cgi?id=96953

  • platform/chromium/TestExpectations:
8:37 PM Changeset in webkit [135967] by shinyak@chromium.org
  • 2 edits in trunk/Source/WebCore

[Refactoring] HasSelectorForClassStyleFunctor in Element.cpp seems verbose
https://bugs.webkit.org/show_bug.cgi?id=103474

Reviewed by Hajime Morita.

The code introduced in r135174 looks verbose. We would like to make it simpler.
We have removed several inline functions and unnecessary structs.

No new tests, simple refactoring.

  • dom/Element.cpp:

(WebCore):
(WebCore::checkSelectorForClassChange):
(WebCore::Element::classAttributeChanged):
(WebCore::Element::shouldInvalidateDistributionWhenAttributeChanged):

7:18 PM Changeset in webkit [135966] by tkent@chromium.org
  • 40 edits
    26 adds in trunk/LayoutTests

[Chromium] Update test results for recent forms changes

  • platform/chromium-linux/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/date/date-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/fast/forms/month/month-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/month/month-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/fast/forms/time/time-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/time/time-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/fast/forms/week/week-appearance-basic-expected.png:
  • platform/chromium-linux/fast/forms/week/week-appearance-pseudo-classes-expected.png:
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-lion/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-mac-lion/fast/forms/date/date-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-lion/fast/forms/month/month-appearance-basic-expected.png:
  • platform/chromium-mac-lion/fast/forms/month/month-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-lion/fast/forms/time/time-appearance-basic-expected.png:
  • platform/chromium-mac-lion/fast/forms/time/time-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-lion/fast/forms/week/week-appearance-basic-expected.png:
  • platform/chromium-mac-lion/fast/forms/week/week-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-basic-expected.png:
  • platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-win-xp/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events-expected.txt: Added.
  • platform/chromium-win/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/date/date-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/fast/forms/month/month-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/month/month-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/fast/forms/time/time-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/time/time-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/fast/forms/week/week-appearance-basic-expected.png:
  • platform/chromium-win/fast/forms/week/week-appearance-pseudo-classes-expected.png:
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium/TestExpectations:
6:50 PM WebKit Team edited by james.wei@intel.com
(diff)
6:42 PM CommitterTips edited by james.wei@intel.com
(diff)
6:16 PM Changeset in webkit [135965] by jchaffraix@webkit.org
  • 5 edits
    8 adds in trunk

Support proper <percent> / calc() resolution for grid items
https://bugs.webkit.org/show_bug.cgi?id=102968

Reviewed by Ojan Vafai.

Source/WebCore:

This change introduces a mechanism similar to logical height / width override
but for containing block. This is required as we don't have a renderer for the
grid area but any <percent> or calc() size should be resolved against the grid
area size (which is sized after the grid tracks).

Tests: fast/css-grid-layout/calc-resolution-grid-item.html

fast/css-grid-layout/percent-resolution-grid-item.html
fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html
fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::willBeDestroyed):
Remove any containing block size override.

(WebCore::RenderBox::overrideContainingBlockContentLogicalWidth):
(WebCore::RenderBox::overrideContainingBlockContentLogicalHeight):
(WebCore::RenderBox::hasOverrideContainingBlockLogicalWidth):
(WebCore::RenderBox::hasOverrideContainingBlockLogicalHeight):
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalWidth):
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalHeight):
(WebCore::RenderBox::clearContainingBlockOverrideSize):
Containing block override size functions.

(WebCore::RenderBox::containingBlockLogicalWidthForContent):
Updated the function to check for any override logical width.

(WebCore::RenderBox::containingBlockLogicalHeightForContent):
New function, similar to RenderBox::containingBlockLogicalWidthForContent.

(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
Updated these function to return overrideContainingBlockContentLogicalHeight as needed.

(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
Updated these functions to use the new containingBlockLogicalHeightForContent instead
of availableLogicalHeight.

  • rendering/RenderBox.h:

Added the previous new functions.

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::layoutGridItems):
Updated to override the containing block size so that we properly size our grid items.

LayoutTests:

  • fast/css-grid-layout/calc-resolution-grid-item-expected.txt: Added.
  • fast/css-grid-layout/calc-resolution-grid-item.html: Added.
  • fast/css-grid-layout/percent-resolution-grid-item-expected.txt: Added.
  • fast/css-grid-layout/percent-resolution-grid-item.html: Added.

Test that checks that our override containing block's logical width / height logic
works as expected.

  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track-expected.txt: Added.
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html: Added.
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html: Added.
  • fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid-expected.txt: Added.

Those test cases covers the cases of percentage sized grid items with percentage sized grid tracks
inside a fixed or percentage sized grid element. They don't pass yet as we don't support percentage
sized grid tracks (see bug 103335).

6:08 PM Changeset in webkit [135964] by yael@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Add more tests that started failing after http://trac.webkit.org/changeset/135935
to TestExpectations. Mark pailures as [ ImageOnlyFailure Pass ] because
the failures on Release and Debug bots are not the same.

  • platform/efl/TestExpectations:
6:03 PM Changeset in webkit [135963] by tkent@chromium.org
  • 3 edits in trunk/Source/WebCore

Fix build errors by r135955.

  • dom/ShadowRoot.cpp: Use struct instead of class.
  • dom/TreeScope.cpp: Ditto.
5:52 PM Changeset in webkit [135962] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

REGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().
https://bugs.webkit.org/show_bug.cgi?id=103171

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

Ensure that TextureMapperLayer has a backing store when the layer has
drawsContent and contentsVisible properties and the size of the layer is not
empty.

LayerTreeRenderer::setLayerState() must not set a backing store to
TextureMapperLayer because setLayerState() just changes states of
GraphicsLayerTextureMapper instead of TextureMapperLayer.

Now LayerTreeRenderer::flushLayerChanges() sets a backing store as well as layer
states to TextureMapperLayer.

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::prepareContentBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
(WebKit::LayerTreeRenderer::flushLayerChanges):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(WebCore):

5:48 PM Changeset in webkit [135961] by danakj@chromium.org
  • 4 edits in trunk/LayoutTests

Rebaseline and remove expectations for deferred virtual test suite
https://bugs.webkit.org/show_bug.cgi?id=102294

Unreviewed gardening.

These three tests are failing on mac, but other platforms are fine.
Rebaseline windows, and mark as failing only for Mac.

  • platform/chromium-win/platform/chromium/virtual/deferred/fast/images/exif-orientation-css-expected.png:
  • platform/chromium-win/platform/chromium/virtual/deferred/fast/images/exif-orientation-expected.png:
  • platform/chromium/TestExpectations:
5:44 PM Changeset in webkit [135960] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: crashing on XP
fast/frames/sandboxed-iframe-navigation-parent.html
https://bugs.webkit.org/show_bug.cgi?id=103472

  • platform/chromium/TestExpectations:
5:43 PM Changeset in webkit [135959] by caseq@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: [Timeline] "Show CPU activity on the ruler" settings checkbox does not take effect until Inspector restart
https://bugs.webkit.org/show_bug.cgi?id=102210

Patch by Eugene Klyuchnikov <eustas@chromium.com> on 2012-11-27
Reviewed by Pavel Feldman.

The checkbox changes should take effect in the real time.

  • inspector/front-end/SettingsScreen.js:

(WebInspector.GenericSettingsTab):
Do not show checkpox if browser is not capable.

  • inspector/front-end/TimelinePanel.js:

Added setting change listener.

5:33 PM Changeset in webkit [135958] by timothy_horton@apple.com
  • 4 edits
    1 add in trunk/Source/WebKit2

PDFPlugin: Should not be able to edit read-only text annotations
https://bugs.webkit.org/show_bug.cgi?id=103387
<rdar://problem/12752313>

Reviewed by Alexey Proskuryakov.

Don't allow read-only annotations to become active.

  • WebKit2.xcodeproj/project.pbxproj: Add PDFAnnotationTextWidgetDetails.h.
  • WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h: Added.
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::setActiveAnnotation): Bail if the annotation is read-only.

  • WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Move PDFAnnotationTextWidget details category to PDFAnnotationTextWidgetDetails.h
5:29 PM Changeset in webkit [135957] by fpizlo@apple.com
  • 8 edits in trunk/Source

Convert some remaining uses of FILE* to PrintStream&.

Rubber stamped by Mark Hahnenberg.

Source/JavaScriptCore:

  • bytecode/ValueProfile.h:

(JSC::ValueProfileBase::dump):

  • bytecode/ValueRecovery.h:

(JSC::ValueRecovery::dump):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseCodeBlock):

  • dfg/DFGNode.h:

(JSC::DFG::Node::dumpChildren):

Source/WTF:

  • wtf/BitVector.cpp:

(WTF::BitVector::dump):

  • wtf/BitVector.h:

(BitVector):

5:21 PM Changeset in webkit [135956] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebKit2

Coordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=103298

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

This patch makes LayerTreeRenderer assign a content backing store to
TextureMapperLayer only in setLayerState(). Currently, createTile() can assign
the backing store to TextureMapperLayer and it can break the invariant condition
of TextureMapperLayer: TextureMapperLayer can have its own backing store only if
the layer has following conditions: drawsContent, contentsVisible and non empty
size.

In addition, the modified code about creating and removing a backing store
matches the same purpose code of CoordinatedGraphicsLayer and
GraphicsLayerTextureMapepr.

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:

(CoordinatedBackingStore):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::layerShouldHaveBackingStore):
(WebKit):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::prepareContentBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStore):
(WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):

This method does not create a backing store anymore because flushCompositingStateForThisLayerOnly()
can create a backing store if needed. Moreover, we must sync a layer state prior to creating a backing store
after this patch, because LayerTreeRenderer::createTile() does not create a backing store anymore.

5:15 PM Changeset in webkit [135955] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Compile time size assertions for TreeScope, ShadowRoot and ElementAttributeData.

Rubber-stamped by Anders Carlsson.

  • dom/ShadowRoot.cpp:

(SameSizeAsShadowRoot):

  • dom/TreeScope.cpp:

(SameSizeAsTreeScope):

  • dom/ElementAttributeData.cpp: Derp.
5:14 PM Changeset in webkit [135954] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening:
Layout Test http/tests/navigation/slowmetaredirect-basic.html is failing
https://bugs.webkit.org/show_bug.cgi?id=103471

  • platform/chromium/TestExpectations:
5:09 PM Changeset in webkit [135953] by tony@chromium.org
  • 29 edits
    2 moves
    1 add
    2 deletes in trunk/LayoutTests

Unreviewed, land updated Gtk results after track limiter removal.

  • fast/dom/HTMLInputElement/input-slider-update-expected.txt: Renamed from LayoutTests/platform/chromium/fast/dom/HTMLInputElement/input-slider-update-expected.txt.
  • fast/forms/range/input-appearance-range-expected.txt: Renamed from LayoutTests/platform/chromium-mac/fast/forms/range/input-appearance-range-expected.txt.
  • platform/gtk/TestExpectations:
  • platform/gtk/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/gtk/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/gtk/fast/forms/box-shadow-override-expected.txt:
  • platform/gtk/fast/forms/input-appearance-height-expected.txt:
  • platform/gtk/fast/forms/range/input-appearance-range-expected.txt:
  • platform/gtk/fast/forms/range/range-thumb-height-percentage-expected.txt: Added.
  • platform/gtk/fast/forms/range/slider-padding-expected.txt:
  • platform/gtk/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/gtk/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/gtk/fast/layers/video-layer-expected.txt:
  • platform/gtk/fast/multicol/client-rects-expected.txt:
  • platform/gtk/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/gtk/fast/repaint/slider-thumb-float-expected.txt:
  • platform/gtk/media/audio-controls-rendering-expected.txt:
  • platform/gtk/media/audio-repaint-expected.txt:
  • platform/gtk/media/controls-after-reload-expected.txt:
  • platform/gtk/media/controls-strict-expected.txt:
  • platform/gtk/media/controls-styling-expected.txt:
  • platform/gtk/media/controls-styling-strict-expected.txt:
  • platform/gtk/media/controls-without-preload-expected.txt:
  • platform/gtk/media/media-controls-clone-expected.txt:
  • platform/gtk/media/video-controls-rendering-expected.txt:
  • platform/gtk/media/video-display-toggle-expected.txt:
  • platform/gtk/media/video-empty-source-expected.txt:
  • platform/gtk/media/video-no-audio-expected.txt:
  • platform/gtk/media/video-volume-slider-expected.txt:
  • platform/gtk/media/video-zoom-controls-expected.txt:
  • platform/mac/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Removed.
  • platform/mac/fast/forms/range/input-appearance-range-expected.txt: Removed.
5:07 PM Changeset in webkit [135952] by simonjam@chromium.org
  • 40 edits
    1 add in trunk/Source

Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
https://bugs.webkit.org/show_bug.cgi?id=102151

Reviewed by Adam Barth.

Source/WebCore:

There's a FIXME that we have too many FrameLoader::load*() functions. This patch consolidates 3 into 1.
There are still a few more load functions that will be consolidated later. Using FrameLoadRequest as
the interface into FrameLoader will also provide a place to pass in the initiator. Finally, this matches
the refactoring done with CachedResourceRequest and CachedResourceLoader.

No new tests. No change in functionality.

  • WebCore.exp.in:
  • loader/FrameLoadRequest.h:

(WebCore::FrameLoadRequest::FrameLoadRequest):
(WebCore::FrameLoadRequest::setLockHistory): These are former arguments to load().
(WebCore::FrameLoadRequest::lockHistory): Ditto.
(FrameLoadRequest):
(WebCore::FrameLoadRequest::setShouldCheckNewWindowPolicy): Ditto.
(WebCore::FrameLoadRequest::shouldCheckNewWindowPolicy): Ditto.
(WebCore::FrameLoadRequest::substituteData): Ditto.
(WebCore::FrameLoadRequest::setSubstituteData): Ditto.
(WebCore::FrameLoadRequest::hasSubstituteData): Ditto.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::load): No change in behavior, just merged it all into one function.

  • loader/FrameLoader.h:

(FrameLoader):

  • page/DragController.cpp:

(WebCore::DragController::performDrag):

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPagePrivate::loadString):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):

Source/WebKit/chromium:

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::loadRequest):
(WebKit::WebFrameImpl::loadData):

  • src/WebSharedWorkerImpl.cpp:

(WebKit::WebSharedWorkerImpl::initializeLoader):

Source/WebKit/efl:

  • ewk/ewk_frame.cpp:

(_ewk_frame_contents_set_internal):

Source/WebKit/gtk:

  • webkit/webkitwebframe.cpp:

(webkit_web_frame_load_uri):
(webkit_web_frame_load_data):
(webkit_web_frame_load_request):

Source/WebKit/mac:

  • Plugins/WebPluginController.mm:
  • WebView/WebFrame.mm:

(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

Source/WebKit/qt:

  • Api/qwebframe.cpp:

(QWebFrame::QWebFrame):
(QWebFrame::load):
(QWebFrame::setHtml):
(QWebFrame::setContent):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setAlternateHtml):
(qt_dump_set_accepts_editing):

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::callErrorPageExtension):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::loadRequest):
(WebFrame::loadData):

Source/WebKit/wince:

  • WebView.cpp:

(WebView::load):

Source/WebKit/wx:

  • WebFrame.cpp:

(WebKit::WebFrame::SetPageSource):

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::performFrameLoadURLRequest):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):

5:03 PM Changeset in webkit [135951] by commit-queue@webkit.org
  • 2 edits
    20 adds in trunk/LayoutTests

Add behavior tests for input[type=datetime-local] with multiple fields
https://bugs.webkit.org/show_bug.cgi?id=103386

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-11-27
Reviewed by Kent Tamura.

  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-aria-attributes-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-aria-attributes.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-value-changed-notification-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-ax-value-changed-notification.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-blur-and-focus-events-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-blur-and-focus-events.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-change-layout-by-value-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-change-layout-by-value.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-mouse-events.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-preserve-value-after-history-back.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-reset-value-after-reloads-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-reset-value-after-reloads.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-spinbutton-change-and-input-events-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-spinbutton-change-and-input-events.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-wheel-event-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-wheel-event.html: Added.
  • fast/forms/resources/multiple-fields-blur-and-focus-events.js:

(startTestFor): Support datetime and datetime-local.

5:00 PM Changeset in webkit [135950] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening:
media/video-currentTime-set.html crashes
https://bugs.webkit.org/show_bug.cgi?id=103183

  • platform/chromium/TestExpectations:
4:57 PM Changeset in webkit [135949] by yael@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Add tests that started failing after http://trac.webkit.org/changeset/135935
to TestExpectations.

  • platform/efl/TestExpectations:
4:54 PM Changeset in webkit [135948] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening:
http/tests/inspector/network/network-xhr-replay.html times out crashes
https://bugs.webkit.org/show_bug.cgi?id=96953

  • platform/chromium/TestExpectations:
4:53 PM Changeset in webkit [135947] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix; NSSize is not a CGSize in 32-bit.

  • platform/mac/WebCoreFullScreenWarningView.mm:
4:48 PM Changeset in webkit [135946] by tony@chromium.org
  • 11 edits
    3 moves
    4 deletes in trunk/LayoutTests

Unreviewed, land updated Qt results after track limiter removal.

  • fast/forms/range/slider-padding-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/range/slider-padding-expected.txt.
  • fast/multicol/client-rects-expected.txt: Renamed from LayoutTests/platform/chromium-mac/fast/multicol/client-rects-expected.txt.
  • fast/repaint/slider-thumb-drag-release-expected.txt: Renamed from LayoutTests/platform/chromium/fast/repaint/slider-thumb-drag-release-expected.txt.
  • platform/gtk/fast/forms/range/range-thumb-height-percentage-expected.txt: Removed.
  • platform/mac/fast/forms/range/slider-padding-expected.txt: Removed.
  • platform/mac/fast/multicol/client-rects-expected.txt: Removed.
  • platform/mac/fast/repaint/slider-thumb-drag-release-expected.txt: Removed.
  • platform/qt/TestExpectations:
  • platform/qt/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/qt/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/qt/fast/forms/box-shadow-override-expected.txt:
  • platform/qt/fast/forms/range/input-appearance-range-expected.txt:
  • platform/qt/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/qt/fast/forms/range/slider-padding-expected.txt:
  • platform/qt/fast/multicol/client-rects-expected.txt:
  • platform/qt/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/qt/fast/repaint/slider-thumb-float-expected.txt:
4:42 PM Changeset in webkit [135945] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Attempted build fix for my last commit. The private member variable
is only used on MAC (at the moment) so guard it with #if PLATFORM.
I did this rather than having another constructor, because I expect
other platforms will follow the MAC code soon.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):

  • html/shadow/MediaControlElements.h:
4:40 PM Changeset in webkit [135944] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2] [Mac] WebKit Full Screen API should use NSWindow full screen API.
https://bugs.webkit.org/show_bug.cgi?id=100025

Reviewed by Dan Bernstein.

Use the NSWindow full screen API when taking the WebView full screen. To facility the case where the browser window is already
in full screen mode, no longer hide the browser window when entering full screen. Instead, provide a placeholder view with
instructions to click the placeholder to exit full screen.

  • UIProcess/mac/WKFullScreenWindowController.h:
  • UIProcess/mac/WKFullScreenWindowController.mm:

(-[WKFullScreenWindowController init]): Set self as the window's delegate; enable window's full screen action.
(-[WKFullScreenWindowController dealloc]): Clear our window's delegate.
(-[WKFullScreenWindowController applicationDidChangeScreenParameters:]): Remove reference to _updateWindowAndDockForFullScreen.
(-[WKFullScreenWindowController enterFullScreen:]): Ditto. Create a WKFullScreenPlaceholderView instead of generic NSImageView.
(-[WKFullScreenWindowController beganEnterFullScreenWithInitialFrame:finalFrame:]): Ditto. Call NSWindow enterFullScreen: API.
(-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]): Show the warning view.
(-[WKFullScreenWindowController exitFullScreen]): Hide the warning view.
(-[WKFullScreenWindowController beganExitFullScreenWithInitialFrame:finalFrame:]): Add special case where we are exiting

from full screen mode when the full screen window is not on screen.

(-[WKFullScreenWindowController finishedExitFullScreenAnimation:]): Remove reference to _updateMenuAndDockForFullScreen.
(-[WKFullScreenWindowController customWindowsToEnterFullScreenForWindow:]): Added. Return the background window and the full screen window.
(-[WKFullScreenWindowController customWindowsToExitFullScreenForWindow:]): Ditto.
(-[WKFullScreenWindowController window:startCustomAnimationToEnterFullScreenWithDuration:]): Added. Call through to _startEnterFullScreenAnimationWithDuration:
(-[WKFullScreenWindowController window:startCustomAnimationToExitFullScreenWithDuration:]): Added. Call through to _startExitFullScreenAnimationWithDuration:

4:40 PM Changeset in webkit [135943] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source

Versioning.

4:40 PM Changeset in webkit [135942] by abarth@webkit.org
  • 2 edits in trunk/Tools

run-perf-tests fails on Android because of stderr output
https://bugs.webkit.org/show_bug.cgi?id=103462

Reviewed by Ryosuke Niwa.

The chromium-android port produces some stderr output that causes
run-perf-tests to get sad and not record the results of the performance
test. This patch teaches run-perf-test to ignore this output much in
the same way that it currently ignores some stdout messages.

  • Scripts/webkitpy/performance_tests/perftest.py:

(PerfTest.run):
(PerfTest._should_ignore_line):
(PerfTest):
(PerfTest._should_ignore_line_in_stderr):
(PerfTest._filter_stderr):
(PerfTest._should_ignore_line_in_parser_test_result):

4:38 PM Changeset in webkit [135941] by jer.noble@apple.com
  • 6 edits
    2 adds in trunk/Source/WebCore

Add a new shared class WebCoreFullScreenPlaceholderView, for use in WebKit and WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=102300

Reviewed by Anders Carlsson.

Add a new shared class WebCoreFullScreenPlaceholderView, which presents the contents of the
WebView prior to full screen with a message informing the user how to exit from full screen mode.

  • platform/mac/WebCoreFullScreenPlaceholderView.mm:

(-[WebCoreFullScreenPlaceholderView initWithFrame:]): Create the warning view and set up the placeholder layer.
(-[WebCoreFullScreenPlaceholderView setContents:]): Pass along to content view layer.
(-[WebCoreFullScreenPlaceholderView contents]): Ditto.
(-[WebCoreFullScreenPlaceholderView setExitWarningVisible:]): Show or hide the exit warning.
(-[WebCoreFullScreenPlaceholderView mouseDown:]): Call the target with action.

Add a localized string entry for the "click to exit" text:

  • English.lproj/Localizable.strings:
  • platform/LocalizedStrings.cpp:

(WebCore::clickToExitFullScreenText):

  • platform/LocalizedStrings.h:
  • English.lproj/Localizable.strings:

Add the new files to the project and exports list:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
4:37 PM Changeset in webkit [135940] by Lucas Forschler
  • 1 copy in tags/Safari-536.28.2

New Tag.

4:34 PM Changeset in webkit [135939] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Shrink ShadowRoot and TreeScope.
<http://webkit.org/b/103459>

Reviewed by Antti Koivisto.

We're creating ~1500 ShadowRoots on Apple's PLT3 content (from <input> and <textarea> elements)
and a lot of this is wasted space.

Shrink ShadowRoot and TreeScope a bit by making TreeScope's DocumentOrderedMaps heap-allocated
and packing the counters on ShadowRoot harder together with the bits.

202kB progression on Membuster3.

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):

  • dom/ShadowRoot.h:

(WebCore::ShadowRoot::countElementShadow):
(ShadowRoot):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::getElementById):
(WebCore::TreeScope::addElementById):
(WebCore::TreeScope::removeElementById):
(WebCore::TreeScope::addImageMap):
(WebCore::TreeScope::removeImageMap):
(WebCore::TreeScope::getImageMap):
(WebCore::TreeScope::addLabel):
(WebCore::TreeScope::removeLabel):
(WebCore::TreeScope::labelElementForId):

  • dom/TreeScope.h:

(WebCore::TreeScope::shouldCacheLabelsByForAttribute):
(TreeScope):
(WebCore::TreeScope::hasElementWithId):
(WebCore::TreeScope::containsMultipleElementsWithId):

4:24 PM Changeset in webkit [135938] by tony@chromium.org
  • 22 edits
    4 adds in trunk/LayoutTests

Unreviewed, land updated EFL results after track limiter removal.

  • platform/efl/TestExpectations:
  • platform/efl/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/efl/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Added.
  • platform/efl/fast/forms/box-shadow-override-expected.txt:
  • platform/efl/fast/forms/input-appearance-height-expected.txt:
  • platform/efl/fast/forms/range/input-appearance-range-expected.txt:
  • platform/efl/fast/forms/range/range-thumb-height-percentage-expected.txt: Added.
  • platform/efl/fast/forms/range/slider-padding-expected.txt:
  • platform/efl/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/efl/fast/forms/range/slider-thumb-stylability-expected.txt: Added.
  • platform/efl/fast/layers/video-layer-expected.txt:
  • platform/efl/fast/multicol/client-rects-expected.txt:
  • platform/efl/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/efl/fast/repaint/slider-thumb-float-expected.txt: Added.
  • platform/efl/media/audio-controls-rendering-expected.txt:
  • platform/efl/media/controls-strict-expected.txt:
  • platform/efl/media/controls-styling-strict-expected.txt:
  • platform/efl/media/controls-without-preload-expected.txt:
  • platform/efl/media/media-controls-clone-expected.txt:
  • platform/efl/media/track/track-cue-rendering-horizontal-expected.txt:
  • platform/efl/media/track/track-cue-rendering-vertical-expected.txt:
  • platform/efl/media/video-display-toggle-expected.txt:
  • platform/efl/media/video-empty-source-expected.txt:
  • platform/efl/media/video-no-audio-expected.txt:
  • platform/efl/media/video-zoom-controls-expected.txt:
4:23 PM Changeset in webkit [135937] by jer.noble@apple.com
  • 3 edits
    2 adds in trunk/Source/WebCore

Add a new shared class WebCoreFullScreenWarningView which presents a styled warning message.
https://bugs.webkit.org/show_bug.cgi?id=102299

Reviewed by Alexey Proskuryakov.

Add a shared implementation of a warning view for use in WebKit and WebKit2.

  • platform/mac/WebCoreFullScreenWarningView.h: Added.
  • platform/mac/WebCoreFullScreenWarningView.mm: Added.

(-[WebCoreFullScreenWarningView initWithTitle:]): Create the view.

Add the new files to the project and exports list:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
4:22 PM Changeset in webkit [135936] by tony@chromium.org
  • 2 edits in trunk/Tools

Fix garden-o-matic for non-chromium ports
https://bugs.webkit.org/show_bug.cgi?id=103458

Reviewed by Adam Barth.

I was getting a 403 error when trying to select any non-chromium port.

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

(ReflectionHandler._handle_request): Use the path without query params.

3:56 PM Changeset in webkit [135935] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

[EFL][WK2] 3D pixel tests are failing
https://bugs.webkit.org/show_bug.cgi?id=102833

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-27
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Added an API for generating a snapshot, to be used from WebKitTestRunner.

  • PlatformEfl.cmake:
  • UIProcess/API/C/efl/WKView.cpp:

(WKViewGetSnapshot):

  • UIProcess/API/C/efl/WKView.h:
  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::onFaviconChanged):
(EwkViewImpl::takeSnapshot):

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl):

  • UIProcess/API/efl/SnapshotImageGL.cpp: Added.

(getImageFromCurrentTexture):

  • UIProcess/API/efl/SnapshotImageGL.h: Added.

Tools:

Generate a snapshot of the view in the UI process instead of the web process.
We have to use Texture Mapper in order to correctly paint 3D transforms etc.

  • WebKitTestRunner/TestInvocation.h:

(TestInvocation):

  • WebKitTestRunner/cairo/TestInvocationCairo.cpp:

(WTR::writeFunction):
(WTR::paintRepaintRectOverlay):
(WTR):
(WTR::TestInvocation::forceRepaintDoneCallback):
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::PlatformWebView::windowSnapshotImage):

3:45 PM Changeset in webkit [135934] by dino@apple.com
  • 14 edits
    2 adds in trunk

Make track list control active
https://bugs.webkit.org/show_bug.cgi?id=101670

Reviewed by Eric Carlson.

Source/WebCore:

Hook up the event handler for the captions menu so that it enables or
disables tracks in the associated HTMLMediaElement.

Test: media/video-controls-captions-trackmenu.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::toggleTrackAtIndex): New method to toggle the state of a track, by index.

  • html/HTMLMediaElement.h:

(HTMLMediaElement): Ditto.
(WebCore::HTMLMediaElement::textTracksOffIndex): Static method to return the "Off" value.

  • html/shadow/MediaControlElements.cpp:

(WebCore::trackListIndexForElement): Helper function to take a track list <li> element and return the value of the custom attribute.
(WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType): Toggle the state of the button based on captions visibility.
(WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler): On Mac platforms show the captions menu. On other platforms, toggle captions.
(WebCore::MediaControlClosedCaptionsTrackListElement::MediaControlClosedCaptionsTrackListElement): Now has a reference to the controls.
(WebCore::MediaControlClosedCaptionsTrackListElement::create):
(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler): When the user clicks on a track list item, look
for the custom attribute that identifies the associated track, and then toggle that track.
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay): Set a class on the track list elements so they can be
styled by the injected CSS (with tick marks to represent visibility).
(WebCore::MediaControlClosedCaptionsTrackListElement::resetTrackListMenu): When building the list of track menu items, add
a custom HTML attribute to the element so that the corresponding track can be found in the event handler.

  • html/shadow/MediaControlElements.h:

(MediaControlClosedCaptionsTrackListElement): Add a list of elements representing the track list.

  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::createControls):
(WebCore::MediaControlsApple::changedClosedCaptionsVisibility): Make sure to update the track menu.
(WebCore::MediaControlsApple::reset):

  • html/shadow/MediaControlsApple.h:

(MediaControlsApple):

LayoutTests:

New test that exercises the track list menu, and how it can be used
to enable specific tracks. Since this is only enabled for Mac, it is
skipped on all other platforms.

Meanwhile, the existing test for a on/off captions button now
does not work on Mac, so skip it there. I copied the functionality
into the new test so we still have coverage.

  • media/video-controls-captions-trackmenu-expected.txt: Added.
  • media/video-controls-captions-trackmenu.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
3:39 PM Changeset in webkit [135933] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix indentation in JSValue.h

Rubber stamped by Mark Hahnenberg.

  • runtime/JSValue.h:
3:35 PM Changeset in webkit [135932] by cevans@google.com
  • 2 edits
    2 copies in branches/chromium/1312

Merge 135906
BUG=162835
Review URL: https://codereview.chromium.org/11415160

3:33 PM Changeset in webkit [135931] by cevans@google.com
  • 2 edits
    2 copies in branches/chromium/1271

Merge 135906
BUG=162835
Review URL: https://codereview.chromium.org/11415159

3:27 PM Changeset in webkit [135930] by abarth@webkit.org
  • 4 edits in trunk/Tools

Make it possible to run performance tests on Chromium Android
https://bugs.webkit.org/show_bug.cgi?id=103268

Reviewed by Ryosuke Niwa.

Based on a patch by Peter Beverloo.

This patch (almost) makes it possible to run WebKit performance tests
on the Chromium port for Android. There are a few things I had to do
in order to make this happen:

1) The worker number when creating a driver for a port is zero-based

for layout tests and elsewhere. Android uses this to determine
which device it has to run on, so make it zero based for performance
tests as well.

2) Tests aren't available on the Android device, so we start an HTTP

server that serves the tests to the device or emulator.

The one shortcoming of this patch is that chromium-android produces
some stderr output that confuses run-perf-tests. I'll address that
issue in a subsequent CL. This patch also depends on
https://codereview.chromium.org/11416182 in order to work.

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

(ChromiumAndroidPort.start_http_server):
(ChromiumAndroidDriver._command_from_driver_input):

  • Scripts/webkitpy/performance_tests/perftest.py:

(ReplayPerfTest.prepare):

  • Scripts/webkitpy/performance_tests/perftestsrunner.py:

(PerfTestsRunner.init):
(PerfTestsRunner._parse_args):
(PerfTestsRunner._start_servers):
(PerfTestsRunner):
(PerfTestsRunner._stop_servers):
(PerfTestsRunner.run):
(PerfTestsRunner._run_tests_set):

3:17 PM Changeset in webkit [135929] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[chromium] Add WebLayerTreeViewClient API to request font atlas
https://bugs.webkit.org/show_bug.cgi?id=102958

Patch by Eberhard Graether <egraether@google.com> on 2012-11-27
Reviewed by James Robinson.

This change makes the font atlas creation accessible to the WebLayerTreeView.

Source/Platform:

  • chromium/public/WebLayerTreeViewClient.h:

(WebKit):
(WebLayerTreeViewClient):
(WebKit::WebLayerTreeViewClient::createFontAtlas):

Source/WebKit/chromium:

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::createFontAtlas):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):

3:13 PM Changeset in webkit [135928] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, updating TestExpectations after input slider change.

  • platform/chromium/TestExpectations:
3:08 PM Changeset in webkit [135927] by jsbell@chromium.org
  • 13 edits in trunk/Source

IndexedDB: Simplify transaction timers and event tracking
https://bugs.webkit.org/show_bug.cgi?id=102984

Reviewed by Tony Chang.

Source/WebCore:

Now that the transaction "commit" decision is made on the front-end, the back end no-longer
needs to be aware of when individual IDBRequests have dispatched to script or track pending
events (except for preemptive ones like createIndex). This also lets two timers be collapsed
into one which significantly simplifies the code flow in IDBTransactionBackendImpl.

No new tests - just simplification. Exercised by storage/indexeddb/transaction-*.html etc.

  • Modules/indexeddb/IDBCursorBackendImpl.cpp:

(WebCore::IDBCursorBackendImpl::prefetchContinueInternal): No more tracking.
(WebCore::IDBCursorBackendImpl::prefetchReset): No more tracking.

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal): No more tracking.
(WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal): No more tracking.

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore::IDBObjectStoreBackendImpl::setIndexesReadyInternal): No more tracking.
(WebCore::IDBObjectStoreBackendImpl::createIndexInternal): No more tracking.
(WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal): No more tracking.

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::dispatchEvent): Order must be:

  1. request is unregistered from transaction (so request list may be empty)
  2. abort transaction if event being dispatched was an error
  3. deactivate transaction (which may commit if #1 left it empty and #2 didn't abort)
  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): Need to track if commit
was requested; previously the front end would have triggered an event timer which, on
completion, would be the signal that the front end was finished.
(WebCore::IDBTransactionBackendImpl::scheduleTask): Schedule a timer to service the new
task, if necessary.
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::hasPendingTasks):
(WebCore::IDBTransactionBackendImpl::commit):
(WebCore::IDBTransactionBackendImpl::taskTimerFired): Picks up "commit" responsibilities
from the now deleted taskEventTimerFired, if everything is truly complete done.

  • Modules/indexeddb/IDBTransactionBackendImpl.h:

(IDBTransactionBackendImpl):

  • Modules/indexeddb/IDBTransactionBackendInterface.h:

(WebCore::IDBTransactionBackendInterface::didCompleteTaskEvents): Removed from interface.

Source/WebKit/chromium:

Remove now-unused didCompleteTaskEvents() method.

  • src/IDBTransactionBackendProxy.cpp:
  • src/IDBTransactionBackendProxy.h:

(IDBTransactionBackendProxy):

  • src/WebIDBTransactionImpl.cpp:
  • src/WebIDBTransactionImpl.h:
3:01 PM Changeset in webkit [135926] by tony@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed, updating TestExpectations after input slider change.

  • platform/gtk/TestExpectations:
2:45 PM Changeset in webkit [135925] by timothy_horton@apple.com
  • 3 edits in trunk/Source/WebKit2

PDFPlugin: Page scale factor should affect subframe PDFs
https://bugs.webkit.org/show_bug.cgi?id=103291
<rdar://problem/12555249>

Reviewed by Darin Adler.

For subframe PDFs, hand PDFKit the pageScaleFactor for the parent page
so it can scale its drawing appropriately.

  • WebProcess/Plugins/PDF/PDFPlugin.h: Add updatePageAndDeviceScaleFactors.
  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::pdfDocumentDidLoad): Call updatePageAndDeviceScaleFactors
instead of manually updating PDFLayerController's device scale factor.
(WebKit::PDFPlugin::updatePageAndDeviceScaleFactors): Hand PDFLayerController
the "underlying" (non-zoom) content scale, which is the product of the
device scale and the page scale.
(WebKit::PDFPlugin::contentsScaleFactorChanged): Use updatePageAndDeviceScaleFactors.
(WebKit::PDFPlugin::geometryDidChange): Use updatePageAndDeviceScaleFactors to keep
PDFLayerController's notion of the page scale up to date when the plugin's
geometry changes.

2:42 PM Changeset in webkit [135924] by Lucas Forschler
  • 6 edits in branches/safari-536.28-branch/Source/WebKit2

Merged r128205 and parts of 127334 for <rdar://problem/12516355>

2:34 PM Changeset in webkit [135923] by fpizlo@apple.com
  • 10 edits
    6 adds in trunk

DFG SetLocal should use forwardSpeculationCheck instead of its own half-baked version of same
https://bugs.webkit.org/show_bug.cgi?id=103353

Reviewed by Oliver Hunt and Gavin Barraclough.

Source/JavaScriptCore:

Made it possible to use forward speculations for most of the operand classes. Changed the conditional
direction parameter from being 'bool isForward' to an enum (SpeculationDirection). Changed SetLocal
to use forward speculations and got rid of its half-baked version of same.

Also added the ability to force the DFG's disassembler to dump all nodes, even ones that are dead.

  • dfg/DFGByteCodeParser.cpp:

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

  • dfg/DFGDisassembler.cpp:

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

  • dfg/DFGDriver.cpp:

(JSC::DFG::compile):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::speculationCheck):
(DFG):
(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
(JSC::DFG::SpeculativeJIT::speculationWatchpoint):
(JSC::DFG::SpeculativeJIT::terminateSpeculativeExecution):
(JSC::DFG::SpeculativeJIT::fillStorage):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):
(JSC::DFG::SpeculateIntegerOperand::SpeculateIntegerOperand):
(JSC::DFG::SpeculateIntegerOperand::gpr):
(SpeculateIntegerOperand):
(JSC::DFG::SpeculateDoubleOperand::SpeculateDoubleOperand):
(JSC::DFG::SpeculateDoubleOperand::fpr):
(SpeculateDoubleOperand):
(JSC::DFG::SpeculateCellOperand::SpeculateCellOperand):
(JSC::DFG::SpeculateCellOperand::gpr):
(SpeculateCellOperand):
(JSC::DFG::SpeculateBooleanOperand::SpeculateBooleanOperand):
(JSC::DFG::SpeculateBooleanOperand::gpr):
(SpeculateBooleanOperand):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt):
(JSC::DFG::SpeculativeJIT::fillSpeculateIntStrict):
(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::compile):

  • runtime/Options.h:

(JSC):

LayoutTests:

  • fast/js/dfg-intrinsic-side-effect-assignment-osr-exit-expected.txt: Added.
  • fast/js/dfg-intrinsic-side-effect-assignment-osr-exit.html: Added.
  • fast/js/dfg-side-effect-assignment-osr-exit-expected.txt: Added.
  • fast/js/dfg-side-effect-assignment-osr-exit.html: Added.
  • fast/js/jsc-test-list:
  • fast/js/script-tests/dfg-intrinsic-side-effect-assignment-osr-exit.js: Added.

(foo):

  • fast/js/script-tests/dfg-side-effect-assignment-osr-exit.js: Added.

(foo):
(bar):

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

[V8] Replace toWebCoreString()/toWebCoreAtomicString() in CodeGeneratorV8.pm with V8StringResource
https://bugs.webkit.org/show_bug.cgi?id=103391

Reviewed by Adam Barth.

This is an incremental effort for fixing bug 103331.
I confirmed that this patch causes no performance regression
for the micro benchmarks (https://bugs.webkit.org/attachment.cgi?id=176178).

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrSetter):
(GenerateEventListenerCallback):

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

(WebCore::TestEventTargetV8Internal::addEventListenerCallback):
(WebCore::TestEventTargetV8Internal::removeEventListenerCallback):

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

(WebCore::TestObjV8Internal::addEventListenerCallback):
(WebCore::TestObjV8Internal::removeEventListenerCallback):

2:23 PM Changeset in webkit [135921] by Alexandru Chiculita
  • 3 edits
    2 adds in trunk

[CSS Regions] Elements using transforms are not repainted correctly when rendered in a region
https://bugs.webkit.org/show_bug.cgi?id=102826

Reviewed by David Hyatt.

Source/WebCore:

When the page is composited, all the elements will have a composited repaint container. In that case we will
never catch the repaints in the RenderFlowThread, but they will go directly to the RenderView.
There's a single case when the parent composited layer of an element inside the RenderFlowThread will get
its own repaints. That case only happens when the parent composited layer is also part of the same flow thread.
Right now compositing is disabled for elements inside the RenderFlowThread, so that case doesn't even happen yet.
That will be fixed in https://bugs.webkit.org/show_bug.cgi?id=84900.

Test: fast/repaint/region-painting-in-composited-view.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):

LayoutTests:

Added test file to check for repainting inside a RenderFlowThread when the page is in composited mode.

  • fast/repaint/region-painting-in-composited-view-expected.html: Added.
  • fast/repaint/region-painting-in-composited-view.html: Added.
2:19 PM EFLWebKitBuildBots edited by laszlo.gombos@gmail.com
fix spelling (diff)
2:17 PM Changeset in webkit [135920] by tony@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, win compile fix take 2.

Try again to force this file to recompile.

  • rendering/RenderingAllInOne.cpp:
2:11 PM Changeset in webkit [135919] by tony@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed, updating TestExpectations after input slider change.

  • platform/efl/TestExpectations:
  • platform/mac/TestExpectations:
2:01 PM Changeset in webkit [135918] by tony@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed, win compile fix.

Touch RenderingAllInOne.cpp to force it to rebuild.

  • rendering/RenderingAllInOne.cpp:
1:58 PM Changeset in webkit [135917] by jchaffraix@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed Qt gardening.

  • platform/qt/TestExpectations:

Skipped fast/table/css-table-max-height.html as it is showing a 12px difference.
The test is actually passing but the output wouldn't make it obvious that it is the case.

1:56 PM Changeset in webkit [135916] by timothy_horton@apple.com
  • 5 edits in trunk/Source

PDFPlugin: Scroll bars do not grow on hover
https://bugs.webkit.org/show_bug.cgi?id=103382
<rdar://problem/12555262>

Reviewed by Beth Dakin.

PDFPlugin needs to forward relevant mouse events to the scrollbars.
In addition, it needs to implement currentMousePosition so ScrollableArea and friends
can find the mouse position at arbitrary times.

I also took this opportunity to factor some coordinate space conversion functions out.

  • WebProcess/Plugins/PDF/PDFPlugin.h:

(WebKit::PDFPlugin::currentMousePosition): Added. Return the last mouse position in our coordinate space.
(WebKit::PDFPlugin::convertFromRootViewToPlugin): Added.
(WebKit::PDFPlugin::convertFromPluginToPDFView): Added.
(PDFPlugin):

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::convertFromRootViewToPlugin): Convert a point from content space to plugin space, via the transform we get in geometryDidChange.
(WebKit::PDFPlugin::convertFromPluginToPDFView): Convert a point from plugin space to PDFLayerController's flipped coordinate space.
(WebKit::PDFPlugin::geometryDidChange): Use convertFromPluginToPDFView.
(WebKit::PDFPlugin::nsEventForWebMouseEvent): Cache the mouse position in plugin space instead of PDFLayerController space. Use our new conversion functions.
(WebKit::PDFPlugin::handleMouseEvent): Forward relevant mouse events to scrollbars:
Determine which scrollbar the mouse is over now, and which it was previously over, and use that to:
If the mouse is moved over a scrollbar, send mouseEntered to the scrollbar.
If the mouse is moved out of a scrollbar, send mouseExited to the scrollbar.
If the mouse is currently over a scrollbar, send mouseMoved/Up/Down to the scrollbar instead of PDFLayerController.
If the mouse is currently over the scroll corner, bail, because nobody should get those events.

Export a few WebCore::Scrollbar methods to WebKit(2).

  • WebCore.exp.in:
1:52 PM Changeset in webkit [135915] by mitz@apple.com
  • 10 edits in trunk/Source/WebKit2

Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
https://bugs.webkit.org/show_bug.cgi?id=103358

Reviewed by Adele Peterson.

To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
prevent media from starting automatically when the view is put in a window.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
(WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.

  • UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
to true, the value matching the current behavior.
(WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
(WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
process creation parameters.

  • UIProcess/WebPageProxy.h:

(WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
m_mayStartMediaWhenInWindow.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
parameters.
(WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
conditional on m_mayStartMediaWhenInWindow.
(WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
already in a window when changing from false to true, starts m_setCanStartMediaTimer.

  • WebProcess/WebPage/WebPage.h:

(WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.

  • WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
1:50 PM Changeset in webkit [135914] by tsepez@chromium.org
  • 3 edits
    2 adds in trunk

Regression(r129406): Fix the scope of the WidgetHierarchyUpdateSuspensionScope in Element::Attach().
https://bugs.webkit.org/show_bug.cgi?id=100803

Reviewed by Abhishek Arya.

Source/WebCore:

Ensures that the suspension scope has gone out of scope before calling into
resumePostAttachCallbacks().

Test: fast/dom/adopt-node-crash-2.html

  • dom/Element.cpp:

(WebCore::Element::attach):

LayoutTests:

  • fast/dom/adopt-node-crash-2-expected.txt: Added.
  • fast/dom/adopt-node-crash-2.html: Added.
1:39 PM Changeset in webkit [135913] by tony@chromium.org
  • 44 edits in trunk

Remove hidden limiter div in the input slider shadow DOM
https://bugs.webkit.org/show_bug.cgi?id=102993

Reviewed by Ojan Vafai.

Source/WebCore:

The shadow DOM for input sliders would have a hidden div (the TrackLimiterElement)
the size of the thumb which would limit the position of thumb since the width of
the thumb takes up space in the track. This patch simplifies the shadow DOM by
removing this hidden div and computing the position of the thumb taking the size of
the thumb into account.

No new tests, covered by existing tests in fast/forms.

  • css/mediaControlsChromium.css:

(input[type="range"]::-webkit-media-slider-container > div): We were depending on the behavior of the limiter having negative margins, causing the slider div
to overflow. Moving the negative margin to the slider produces the same effect.

  • css/mediaControlsChromiumAndroid.css:

(input[type="range"]::-webkit-media-slider-container > div): Ditto.

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::createShadowSubtree): Remove limiter div.

  • html/shadow/SliderThumbElement.cpp:

(WebCore::RenderSliderContainer::layout): Adjust the available space for the thumb and correctly position in the vertical case.
(WebCore::SliderThumbElement::setPositionFromPoint): Adjust the usable track size and simplify RTL code (no need to account for the limiter).
(WebCore): Delete limiter code.

  • html/shadow/SliderThumbElement.h:

(WebCore): Delete limiter code.

  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::layout): Delete limiter code.

  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintSliderTicks): Simplify code for painting tick marks.

LayoutTests:

Pixel results should be the same, but the render tree for RenderSlider has one less div.

  • platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
  • platform/chromium-linux/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
  • platform/chromium-linux/fast/forms/box-shadow-override-expected.txt:
  • platform/chromium-linux/fast/forms/input-appearance-height-expected.txt:
  • platform/chromium-linux/fast/forms/range/input-appearance-range-expected.txt:
  • platform/chromium-linux/fast/forms/range/range-thumb-height-percentage-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-padding-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-thumb-shared-style-expected.txt:
  • platform/chromium-linux/fast/forms/range/slider-thumb-stylability-expected.txt:
  • platform/chromium-linux/fast/multicol/client-rects-expected.txt:
  • platform/chromium-linux/fast/repaint/slider-thumb-drag-release-expected.txt:
  • platform/chromium-linux/fast/repaint/slider-thumb-float-expected.txt:
  • platform/chromium-win/fast/hidpi/video-controls-in-hidpi-expected.txt:
  • platform/chromium-win/fast/layers/video-layer-expected.txt:
  • platform/chromium-win/media/audio-controls-rendering-expected.txt:
  • platform/chromium-win/media/audio-repaint-expected.txt:
  • platform/chromium-win/media/controls-after-reload-expected.txt:
  • platform/chromium-win/media/controls-strict-expected.txt:
  • platform/chromium-win/media/controls-styling-expected.txt:
  • platform/chromium-win/media/controls-styling-strict-expected.txt:
  • platform/chromium-win/media/controls-without-preload-expected.txt:
  • platform/chromium-win/media/media-controls-clone-expected.txt:
  • platform/chromium-win/media/media-document-audio-repaint-expected.txt:
  • platform/chromium-win/media/video-controls-rendering-expected.txt:
  • platform/chromium-win/media/video-display-toggle-expected.txt:
  • platform/chromium-win/media/video-no-audio-expected.txt:
  • platform/chromium-win/media/video-playing-and-pause-expected.txt:
  • platform/chromium-win/media/video-zoom-controls-expected.txt:
  • platform/chromium-win/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.txt:
1:32 PM Changeset in webkit [135912] by zandobersek@gmail.com
  • 61 edits in trunk/Tools

Remove use of deprecated logging from webkitpy.common and webkitpy.layout_tests
https://bugs.webkit.org/show_bug.cgi?id=103408

Reviewed by Dirk Pranke.

Remove the use of the deprecated log and error methods by replacing them with
logging through Python's logging.Logger objects.

This patch covers such changes in webkitpy.common and webkitpy.layout_tests and also
updates any affected unit test.

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

(ChangeLogEntry._parse_entry):

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

(CheckoutTest.test_apply_patch):

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

(MockDEPS.write_variable):

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

(SCMDetector.default_scm):

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

(SCMDetectorTest.test_detect_scm_system):

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

(Git._check_git_architecture):
(Git._commit_on_branch):

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

(SCM.ensure_clean_working_directory):
(SCM.ensure_no_local_commits):
(SCM.will.commit_locally_with_message):

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

(SVN.apply_reverse_diff):

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

(Attachment._validate_flag_value):

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

(Bugzilla._fetch_bug_page):
(Bugzilla.bug_id_for_attachment_id):
(Bugzilla.authenticate):
(Bugzilla._commit_queue_flag):
(Bugzilla.add_attachment_to_bug):
(Bugzilla.add_patch_to_bug):
(Bugzilla.create_bug):
(Bugzilla.clear_attachment_flags):
(Bugzilla.set_flag_on_attachment):
(Bugzilla.obsolete_attachment):
(Bugzilla.add_cc_to_bug):
(Bugzilla.post_comment_to_bug):
(Bugzilla.close_bug_as_fixed):
(Bugzilla.reassign_bug):
(reopen_bug):

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

(MockBugzilla.create_bug):
(MockBugzilla.reassign_bug):
(MockBugzilla.set_flag_on_attachment):
(MockBugzilla.post_comment_to_bug):
(MockBugzilla.add_attachment_to_bug):
(MockBugzilla.add_patch_to_bug):
(MockBugzilla.reopen_bug):

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

(test_add_cc_to_bug):
(_assert_reopen):
(test_reopen_bug):

  • Scripts/webkitpy/common/net/buildbot/buildbot_mock.py:

(MockBuilder.force_build):

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

(Credentials._run_security_tool):

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

(_assert_security_call):

  • Scripts/webkitpy/common/net/irc/irc_mock.py:

(MockIRC.post):
(MockIRC.disconnect):

  • Scripts/webkitpy/common/net/irc/ircproxy.py:

(IRCProxy.init):
(IRCProxy.disconnect):

  • Scripts/webkitpy/common/net/irc/ircproxy_unittest.py:

(IRCProxyTest.test_trivial):

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

(ORWTResultsHTMLParser._failures_from_fail_row):

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

(test_failures_from_fail_row):

  • Scripts/webkitpy/common/net/networktransaction.py:
  • Scripts/webkitpy/common/net/resultsjsonparser.py:

(JSONTestResult._tokenize):
(JSONTestResult._failure_types_from_actual_result):

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

(StatusServer.update_status):
(StatusServer.update_svn_revision):

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

(MockStatusServer.release_work_item):
(MockStatusServer.update_work_items):
(MockStatusServer.submit_to_ews):
(MockStatusServer.update_status):

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

(UnitTestResults.results_from_string):

  • Scripts/webkitpy/common/system/executive_mock.py:

(MockExecutive.running_pids):
(MockExecutive.run_and_throw_if_fail):
(MockExecutive.run_command):
(MockExecutive.popen):

  • Scripts/webkitpy/common/system/user_mock.py:

(MockUser.confirm):
(MockUser.open_url):

  • Scripts/webkitpy/common/system/workspace_unittest.py:

(WorkspaceTest.test_create_zip):
(WorkspaceTest.test_create_zip_exception):

  • Scripts/webkitpy/common/watchlist/watchlist_mock.py:

(MockWatchList.determine_cc_and_messages):

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

(ChromiumWinTest.test_setup_environ_for_server_register_cygwin):

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

(EflPortTest.test_show_results_html_file):

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

(GtkPortTest.test_show_results_html_file):

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

(test_show_results_html_file):

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

(test_build_driver):

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

(QtPortTest.test_show_results_html_file):

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

(WinPortTest.test_show_results_html_file):

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

(XvfbDriverTest.assertDriverStartSuccessful):
(XvfbDriverTest.test_start_no_pixel_tests):
(XvfbDriverTest.test_start_pixel_tests):
(XvfbDriverTest.test_start_arbitrary_worker_number):
(XvfbDriverTest.test_start_next_worker):
(XvfbDriverTest.test_stop):

  • Scripts/webkitpy/layout_tests/servers/apache_http_server_unittest.py:

(TestLayoutTestApacheHttpd.test_start_cmd):

  • Scripts/webkitpy/performance_tests/perftestsrunner_unittest.py:

(test_run_test_pause_before_testing):
(test_run_memory_test):
(_test_run_with_json_output):
(test_run_respects_no_results):
(test_run_generates_and_show_results_page):
(test_run_respects_no_show_results):

  • Scripts/webkitpy/tool/bot/feeders_unittest.py:

(FeedersTest.test_commit_queue_feeder):

  • Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:

(FlakyTestReporterTest.test_create_bug_for_flaky_test):
(test_report_flaky_tests_creating_bug):

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest.test_rollout_updates_working_copy):

  • Scripts/webkitpy/tool/bot/ircbot_unittest.py:

(IRCBotTest.test_exception_during_command):
(IRCBotTest.test_hi):
(IRCBotTest.test_help):
(IRCBotTest.test_restart):
(IRCBotTest.test_rollout):
(IRCBotTest.test_revert):
(IRCBotTest.test_roll_chromium_deps):
(IRCBotTest.test_roll_chromium_deps_to_lkgr):
(IRCBotTest.test_multi_rollout):
(IRCBotTest.test_rollout_with_r_in_svn_revision):
(IRCBotTest.test_multi_rollout_with_r_in_svn_revision):
(IRCBotTest.test_rollout_bananas):
(IRCBotTest.test_rollout_invalidate_revision):
(IRCBotTest.test_rollout_invalidate_reason):
(test_multi_rollout_invalidate_reason):
(test_rollout_no_reason):
(test_multi_rollout_no_reason):

  • Scripts/webkitpy/tool/bot/sheriff_unittest.py:

(SheriffTest.test_post_blame_comment_on_bug):

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

(ApplyWatchListLocalTest.test_args_parsing):
(test_args_parsing_with_bug):

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

(test_land_cowboy):
(test_check_style):
(test_create_rollout):
(test_create_rollout_resolved):
(test_rollout):

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

(AbstractEarlyWarningSystemTest.test_failing_tests_message):
(EarlyWarningSytemTest._default_expected_logs):
(EarlyWarningSytemTest._test_builder_ews):
(EarlyWarningSytemTest._test_testing_ews):

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

(OpenBugsTest.test_args_parsing):

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

(QueryCommandsTest.test_bugs_to_commit):
(QueryCommandsTest.test_patches_in_commit_queue):

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

(FeederQueueTest.test_feeder_queue):
(AbstractPatchQueueTest.test_next_patch):
(AbstractPatchQueueTest.test_upload_results_archive_for_patch):
(CommitQueueTest.test_commit_queue):
(test_commit_queue_failure):
(test_commit_queue_failure_with_failing_tests):
(test_rollout):
(test_rollout_lands):
(test_auto_retry):
(test_manual_reject_during_processing):
(test_report_flaky_tests):
(StyleQueueTest.test_style_queue_with_style_exception):
(test_style_queue_with_watch_list_exception):

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

(QueuesTest._default_begin_work_queue_logs):

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

(RollCommandsTest.test_update_chromium_deps):

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

(UploadCommandsTest.test_assign_to_committer):
(test_post):
(test_attach_to_bug):
(test_attach_to_bug_no_description_or_comment):
(test_land_safely):
(test_prepare):
(test_upload):
(test_mark_bug_fixed):

  • Scripts/webkitpy/tool/steps/applywatchlist_unittest.py:

(ApplyWatchListTest.test_apply_watch_list_local):

  • Scripts/webkitpy/tool/steps/commit_unittest.py:

(CommitTest._test_check_test_expectations):

  • Scripts/webkitpy/tool/steps/runtests_unittest.py:

(RunTestsTest.test_webkit_run_unit_tests):

  • Scripts/webkitpy/tool/steps/steps_unittest.py:

(StepsTest._assert_step_output_with_bug):
(StepsTest._assert_post_diff_output_for_bug):
(StepsTest.test_post_diff):
(StepsTest.test_post_diff_for_commit):
(StepsTest.test_ensure_bug_is_open_and_assigned):
(StepsTest.test_runtests_args):

  • Scripts/webkitpy/tool/steps/suggestreviewers_unittest.py:

(SuggestReviewersTest.test_basic):

  • Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py:

(ValidateChangeLogsTest._assert_start_line_produces_output):

1:22 PM Changeset in webkit [135911] by hclam@chromium.org
  • 17 edits
    2 adds in trunk/Source

[chromium] Implement full-featured image cache
https://bugs.webkit.org/show_bug.cgi?id=99784

Reviewed by Stephen White.

Source/WebCore:

Implement a thread-safe image cache to be used with deferred image
decoding. Image cache can now be accessed on any thread.

The patch implements the following logic:

  1. Mutex to protect all cache operations.
  2. Cache indexing using key (ImageFrameGenerator*, SkISize scaledSize)
  3. Cache lookup.
  4. Cache insertion.
  5. Generation of cache entry by scaling full size image.
  6. Generation of cache entries by decoding and scaling.

Classes involved:

ImageDecodingStore

Responsible for owning cache entries and indexing. Pruning and memory
management will be added later.

ImageFrameGenerator

Responsible for generating new cache enties and insert them into
ImageDecodingStore.

LazyDecodingPixelRef

Responsible for cache lookup and lazy generation of cache entries
using ImageFrameGenerator. There is a mutex to protect concurrent
lock operations.

These items are not implemented in this patch:

  1. Cache pruning.
  2. Setting cache memory limit.
  3. Cache deletion.
  4. Caching incomplete images and ImageDecoder.

Unit tests added in ImageFrameGeneratorTest.cpp.
Layout tests are under platform/chromium/virtual/fast/images.

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::~DeferredImageDecoder):
(WebCore::DeferredImageDecoder::createResizedLazyDecodingBitmap):
(WebCore::DeferredImageDecoder::setEnabled):
(WebCore):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::createLazyDecodingBitmap):

  • platform/graphics/chromium/DeferredImageDecoder.h:

(DeferredImageDecoder):

  • platform/graphics/chromium/ImageDecodingStore.cpp:

(WebCore::ImageDecodingStore::instance):
(WebCore::ImageDecodingStore::initializeOnce):
(WebCore::ImageDecodingStore::shutdown):
(WebCore::ImageDecodingStore::lockCompleteCache):
Lookup complete cache entry using hash key, increment use count.
(WebCore::ImageDecodingStore::lockIncompleteCache): TODO.
(WebCore::ImageDecodingStore::unlockCache):
Lookup cache entry using hash key, decrement use count.
(WebCore):
(WebCore::ImageDecodingStore::insertAndLockCache):
Insert new cache entry and increment use count.
(WebCore::ImageDecodingStore::prune): TODO.

  • platform/graphics/chromium/ImageDecodingStore.h:

(WebCore):
(ImageDecodingStore):
(WebCore::ImageDecodingStore::CacheEntry::create):
(WebCore::ImageDecodingStore::CacheEntry::createAndUse):
(CacheEntry):
(WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
(WebCore::ImageDecodingStore::CacheEntry::~CacheEntry):

  • platform/graphics/chromium/ImageFrameGenerator.cpp:

(WebCore::ImageFrameGenerator::ImageFrameGenerator):
(WebCore::ImageFrameGenerator::setData):
(WebCore::ImageFrameGenerator::decodeAndScale):
Method for creating new cache entries. This is protected by a mutex
to prevent concurrent operations. Which means only one thread can
generate new cache entries for a set of encoded data.
(WebCore):
(WebCore::ImageFrameGenerator::tryToLockCache):
Tries to lookup a cache entry.
(WebCore::ImageFrameGenerator::tryToScale):
Tries to lookup a full size cache entry and generate a scaled version.
(WebCore::ImageFrameGenerator::tryToDecodeAndScale):
Tries to decode and scale.

  • platform/graphics/chromium/ImageFrameGenerator.h:

(WebCore):
(ImageDecoderFactory):
(WebCore::ImageFrameGenerator::create):
(ImageFrameGenerator):
(WebCore::ImageFrameGenerator::setImageDecoderFactoryForTesting):

  • platform/graphics/chromium/LazyDecodingPixelRef.cpp:

(WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
(WebCore::LazyDecodingPixelRef::onLockPixels):
(WebCore::LazyDecodingPixelRef::onUnlockPixels):

  • platform/graphics/chromium/LazyDecodingPixelRef.h:

(WebCore):
(LazyDecodingPixelRef):

  • platform/graphics/chromium/ScaledImageFragment.cpp:

(WebCore::ScaledImageFragment::ScaledImageFragment):

  • platform/graphics/chromium/ScaledImageFragment.h:

(WebCore):
(WebCore::ScaledImageFragment::create):
(ScaledImageFragment):
(WebCore::ScaledImageFragment::scaledSize):

  • platform/graphics/chromium/SkSizeHash.h: Added.

(WTF):

Source/WebKit/chromium:

Added ImageFrameGeneratorTest to test cache logic and generation
of new cache entries.

ImageFrameGeneratorTest.cacheHit
Test that a complete cached entry is reused.

ImageFrameGeneratorTest.cacheMissWithScale
Cache miss for a scaled image but cache hit on a full size image.
Scaled image is created from cached full size image.

ImageFrameGeneratorTest.cacheMissWithDecodeAndScale
Cache miss for both scaled image and full size image.

ImageFrameGeneratorTest.cacheMissWithIncompleteDecode
Test the logic for handling incomplete cache objects.

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

(WebKit::initializeWithoutV8):

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setDeferredImageDecodingEnabled):

  • tests/DeferredImageDecoderTest.cpp:

(WebCore::DeferredImageDecoderTest::SetUp):
(WebCore::DeferredImageDecoderTest::decoderBeingDestroyed):
(WebCore::DeferredImageDecoderTest::frameBufferRequested):
(DeferredImageDecoderTest):
(WebCore::DeferredImageDecoderTest::frameStatus):

  • tests/ImageFrameGeneratorTest.cpp: Added.

(WebCore):
(WebCore::fullSize):
(WebCore::scaledSize):
(MockImageDecoderFactory):
(WebCore::MockImageDecoderFactory::create):
(WebCore::MockImageDecoderFactory::MockImageDecoderFactory):
(ImageFrameGeneratorTest):
(WebCore::ImageFrameGeneratorTest::SetUp):
(WebCore::ImageFrameGeneratorTest::TearDown):
(WebCore::ImageFrameGeneratorTest::decoderBeingDestroyed):
(WebCore::ImageFrameGeneratorTest::frameBufferRequested):
(WebCore::ImageFrameGeneratorTest::frameStatus):
(WebCore::ImageFrameGeneratorTest::createCompleteImage):
(WebCore::ImageFrameGeneratorTest::setFrameStatus):
(WebCore::TEST_F):

  • tests/MockImageDecoder.h:

(MockImageDecoderClient):
(WebCore::MockImageDecoder::frameBufferAtIndex):

1:22 PM Changeset in webkit [135910] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: fast/frames/frame-name-reset.html crashing intermittently
https://bugs.webkit.org/show_bug.cgi?id=103451

  • platform/chromium/TestExpectations:
1:14 PM Changeset in webkit [135909] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: platform/chromium/virtual/gpu/fast/canvas/font-update.html
https://bugs.webkit.org/show_bug.cgi?id=103449

  • platform/chromium/TestExpectations:
1:05 PM Changeset in webkit [135908] by mkwst@chromium.org
  • 3 edits in trunk/Source/WebCore

Expanding variable names in ConsoleMessage.
https://bugs.webkit.org/show_bug.cgi?id=103436

Reviewed by Adam Barth.

Variable names like 'm' should be replaced with full words, like
'myOhMyThisIsAnAwesomeVariable' (or something more descriptive).

  • inspector/ConsoleMessage.cpp:

(WebCore::ConsoleMessage::ConsoleMessage):

  • inspector/ConsoleMessage.h:

(ConsoleMessage):

1:05 PM Changeset in webkit [135907] by Lucas Forschler
  • 5 edits in branches/safari-536.28-branch/Source/WebKit2

Merge patch for <rdar://problem/11755093>

1:00 PM Changeset in webkit [135906] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Use-after-free in media player handling
https://bugs.webkit.org/show_bug.cgi?id=103426

Patch by Aaron Colwell <acolwell@chromium.org> on 2012-11-27
Reviewed by Eric Carlson.

Source/WebCore:

Fixed use-after-free bugs caused by the MediaSource not being closed before the HTMLMediaElement or the MediaPlayer
is destroyed. Closing the MediaSource causes it to clear its reference to the MediaPlayer which prevents
the use-after-free problems from happening.

Test: http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::clearMediaPlayer):

LayoutTests:

  • Added a test to verify that the MediaSource gets closed when the HTMLMediaElement is destroyed after it is removed from the DOM.
  • Updated video-media-source-state-changes-expected.txt to reflect a slight change in event dispatch ordering.
  • http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction-expected.txt: Added.
  • http/tests/media/media-source/video-media-source-closed-on-htmlmediaelement-destruction.html: Added.
  • http/tests/media/media-source/video-media-source-state-changes-expected.txt:
12:47 PM Changeset in webkit [135905] by Lucas Forschler
  • 8 edits in branches/safari-536.28-branch

Merged r133702. <rdar://problem/12679814>

12:45 PM Changeset in webkit [135904] by dgrogan@chromium.org
  • 24 edits in trunk

IndexedDB: Remove IDBDatabase.setVersion API
https://bugs.webkit.org/show_bug.cgi?id=94972

Reviewed by Tony Chang.

Source/WebCore:

This has been out of the spec for over a year. No other browser has
implemented it for close to a year.

Tests - removed.html

  • Modules/indexeddb/IDBCallbacks.h:

(IDBCallbacks):

  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::IDBDatabase):

  • Modules/indexeddb/IDBDatabase.h:

(IDBDatabase):

  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::processPendingCalls):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h:

(IDBDatabaseBackendInterface):

  • Modules/indexeddb/IDBRequest.cpp:
  • Modules/indexeddb/IDBRequest.h:

Source/WebKit/chromium:

  • src/IDBCallbacksProxy.cpp:
  • src/IDBCallbacksProxy.h:

(IDBCallbacksProxy):

  • src/IDBDatabaseBackendProxy.cpp:
  • src/IDBDatabaseBackendProxy.h:

(IDBDatabaseBackendProxy):

  • src/WebIDBCallbacksImpl.cpp:
  • src/WebIDBCallbacksImpl.h:

(WebIDBCallbacksImpl):

  • src/WebIDBDatabaseImpl.cpp:
  • src/WebIDBDatabaseImpl.h:

(WebIDBDatabaseImpl):

LayoutTests:

  • storage/indexeddb/removed-expected.txt:
  • storage/indexeddb/resources/removed.js:

(test):

12:44 PM Changeset in webkit [135903] by mkwst@chromium.org
  • 3 edits
    2 adds in trunk

Log to console when autofocus is blocked by sandbox attribute.
https://bugs.webkit.org/show_bug.cgi?id=103255

Reviewed by Ojan Vafai.

Source/WebCore:

Adding a short log message when autofocus is blocked by a document's
sandbox flags, as it's currently a black box.

Test: fast/forms/autofocus-in-sandbox-without-allow-scripts.html

  • html/HTMLFormControlElement.cpp:

(WebCore::shouldAutofocus):

LayoutTests:

  • fast/forms/autofocus-in-sandbox-without-allow-scripts-expected.txt: Added.
  • fast/forms/autofocus-in-sandbox-without-allow-scripts.html: Added.
12:40 PM Changeset in webkit [135902] by Lucas Forschler
  • 19 edits in branches/safari-536.28-branch

Merged r133371. <rdar://problem/12632316>

12:40 PM Changeset in webkit [135901] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: ImageOnlyFailure in fast/canvas/font-update.html
https://bugs.webkit.org/show_bug.cgi?id=103447

  • platform/chromium/TestExpectations:
12:32 PM Changeset in webkit [135900] by zhajiang@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] http:// origins can navigate to privileged local:// origins
https://bugs.webkit.org/show_bug.cgi?id=103437

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by Yong Li.

PR: 251489
When we aren't allowed to display the destination origin, we shouldn't
even create the window for it. In this way we can block the remote
origins(like http://) window.open local origins(like file:// and
local://) and avoid further security issues.
Chrome and Safari will open a blank window and fail to load. Firefox
will fail to open the window and report a load failure error which has
the same behavior as us. I would prefer this way as the window would
be useless and the calls after that would be harmful to us.

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::createWindow):

12:27 PM Changeset in webkit [135899] by yael@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Add bug numbers to flaky tests.

  • platform/efl/TestExpectations:
12:27 PM Changeset in webkit [135898] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove unnecessary backing store suspension in InputHandler::ensureFocusTextElementVisible
https://bugs.webkit.org/show_bug.cgi?id=103441

Patch by Andrew Lo <anlo@rim.com> on 2012-11-27
Reviewed by Rob Buis.
Internally reviewed by Mike Fenton.

Remove unnecessary backing store suspension in
InputHandler::ensureFocusTextElementVisible.

Not necessary anymore since both zoom and scroll adjustments
happen in an animation.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

12:21 PM Changeset in webkit [135897] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Gardening: Updated TestExpecations for failure in
http/tests/canvas/canvas-slow-font-loading.html
https://bugs.webkit.org/show_bug.cgi?id=103446

  • platform/chromium/TestExpectations:
12:09 PM Changeset in webkit [135896] by dino@apple.com
  • 3 edits in trunk/Source/WebCore

Attempted build fix after http://trac.webkit.org/changeset/135888.

  • WebCore.exp.in:
  • WebCore.order:
12:00 PM Changeset in webkit [135895] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix after r135890. #else, not #elif.

  • platform/graphics/ca/PlatformCALayer.h:

(PlatformCALayer):

11:59 AM Changeset in webkit [135894] by Lucas Forschler
  • 7 edits in branches/safari-536.28-branch/Source

Merged 133338 for <rdar://problem/12632316>

11:58 AM Changeset in webkit [135893] by rniwa@webkit.org
  • 21 edits in trunk/Source/WebCore

HTMLCollection on Document should be stored on NodeListsNodeData like other HTMLCollections and LiveNodeLists
https://bugs.webkit.org/show_bug.cgi?id=103364

Reviewed by Anders Carlsson.

Replaced the HTMLCollection storage in Document by NodeListsNodeData used by other HTMLCollection's
and LiveNodeList's. Now NodeListsNodeData is the only storage for HTMLCollection and LiveNodeList.

  • dom/Document.cpp:

(WebCore::Document::Document): Removed code for m_collection since it has been removed.
(WebCore::Document::~Document): Ditto.
(WebCore::Document::registerNodeList): Renamed.
(WebCore::Document::unregisterNodeList): Ditto.
(WebCore::Document::ensureCachedCollection): Renamed from cachedCollection to match the convetion
used elsewhere. Also use NodeListNodeData::addCacheWithAtomicName now that m_collection is gone.
(WebCore::Document::images):
(WebCore::Document::applets):
(WebCore::Document::embeds):
(WebCore::Document::plugins):
(WebCore::Document::scripts):
(WebCore::Document::links):
(WebCore::Document::forms):
(WebCore::Document::anchors):
(WebCore::Document::all):
(WebCore::Document::windowNamedItems): Use addCacheWithAtomicName.
(WebCore::Document::documentNamedItems): Ditto.
(WebCore::Document::reportMemoryUsage): Removed code for m_collection since it has been removed.

  • dom/Document.h:

(WebCore::Document): Removed m_collections, m_documentNamedItemCollections, and
m_windowNamedItemCollections.

  • dom/Element.cpp:

(WebCore::Element::ensureCachedHTMLCollection): Merged ElementRareData::ensureCachedHTMLCollection.
(WebCore::Element::cachedHTMLCollection): Merged ElementRareData::cachedHTMLCollection.

  • Source/WebCore/dom/ElementRareData.h: Removed ensureCachedHTMLCollection, cachedHTMLCollection,

and removeCachedHTMLCollection since they're no longer used.

  • dom/LiveNodeList.h:

(WebCore::LiveNodeListBase::LiveNodeListBase): Call registerNodeList now that LiveNodeList
and HTMLCollection share the same storage in all nodes.
(WebCore::LiveNodeListBase::~LiveNodeListBase): Ditto about unregisterNodeList.
(WebCore::LiveNodeList): Removed the calls to registerNodeList and unregisterNodeList since they
are now called in the base class.

  • dom/NameNodeList.h:

(WebCore::NameNodeList::create):

  • dom/NodeRareData.h:

(WebCore::NodeListsNodeData::addCacheWithAtomicName): Pass in CollectionType as the second argument
to T::create. This is used in HTMLNameCollection::create. Sevearl LiveNodeList constructors and
create functions have been modified to support this.
(WebCore::NodeListsNodeData::adoptTreeScope):
(WebCore::NodeListsNodeData::namedNodeListKey): CollectionType is no longer restricted in its range.

  • dom/TagNodeList.h:

(WebCore::TagNodeList::create):
(WebCore::HTMLTagNodeList::create):

  • html/CollectionType.h: Deleted a bunch of unused inline functions and constants, and cleanup enum.
  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::HTMLCollection): Removed the call to registerNodeListCache since it's called
in LiveNodeListBase now.
(WebCore::HTMLCollection::~HTMLCollection): Ditto. Also replaced calls to removeCachedHTMLCollection
of Element and Document by a call to NodeListsNodeData::removeCacheWithAtomicName.

  • html/HTMLFormControlsCollection.cpp:

(WebCore::HTMLFormControlsCollection::HTMLFormControlsCollection):
(WebCore::HTMLFormControlsCollection::create):

  • html/HTMLFormControlsCollection.h:

(HTMLFormControlsCollection):

  • html/HTMLNameCollection.cpp:

(WebCore::HTMLNameCollection::HTMLNameCollection):
(WebCore::HTMLNameCollection::~HTMLNameCollection):

  • html/HTMLNameCollection.h:

(WebCore::HTMLNameCollection::create):
(HTMLNameCollection):

  • html/HTMLOptionsCollection.cpp:

(WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
(WebCore::HTMLOptionsCollection::create):

  • html/HTMLOptionsCollection.h:

(HTMLOptionsCollection):

  • html/HTMLTableRowsCollection.cpp:

(WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
(WebCore::HTMLTableRowsCollection::create):

  • html/HTMLTableRowsCollection.h:

(HTMLTableRowsCollection):

  • html/LabelsNodeList.h:

(WebCore::LabelsNodeList::create):

  • html/RadioNodeList.h:

(WebCore::RadioNodeList::create):

11:56 AM Changeset in webkit [135892] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skip some flaky video tests on Windows.
https://bugs.webkit.org/show_bug.cgi?id=103442

  • platform/win/TestExpectations:
11:52 AM Changeset in webkit [135891] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

max-height property not respected in case of tables
https://bugs.webkit.org/show_bug.cgi?id=98633

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-11-27
Reviewed by Julien Chaffraix.

Source/WebCore:

The max-height property determines the maximum computed height an element can have. In case of tables
the computed height was not being limited by the max-height property. The current patch fixes the same.

Test: fast/table/css-table-max-height.html

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::convertStyleLogicalHeightToComputedHeight):

Helper function to compute height from the given style height.
This function handles style height of type fixed, percent and viewport percent.
As height of type 'calculated' gets internally resolved to either fixed or percent
there is no special handling required for the same.

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

Logic to compute the logical height of an element such that it does not exceed the max-height value given that
min-width < Content height < max-height, when min-height < max-height.
However max-height value is not respected if either min-height > max-height or Content height > max-height.

  • rendering/RenderTable.h:

(RenderTable):

Function definition for the newly add function convertStyleLogicalHeightToComputedHeight().

LayoutTests:

  • fast/table/css-table-max-height-expected.txt: Added.
  • fast/table/css-table-max-height.html: Added.
11:34 AM Changeset in webkit [135890] by roger_fong@apple.com
  • 4 edits
    2 adds in trunk

Windows specific implementation of usesTileCacheLayer needed after r133056.
https://bugs.webkit.org/show_bug.cgi?id=103321

Reviewed by Simon Fraser.

After r133056 it no longer suffices to use the existing usesTileCacheLayer method on Windows.
The change resulted in 3 crashing tests:
compositing/rotated-tiled-clamped
compositing/rotated-tiled-preserve3d-clamped
fast/events/tabindex-focus-blur-all

  • platform/win/TestExpectations:

Remove the tests below from the Windows skip list.

  • platform/win/compositing/tiling/rotated-tiled-clamped-expected.txt: Added.
  • platform/win/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt: Added.

Add Windows specific results for tests added in r133056.

  • platform/graphics/ca/PlatformCALayer.h:

(WebCore::PlatformCALayer::usesTileCacheLayer):
(PlatformCALayer):
Adding in platform specific method for Windows that returns false for this method.

11:31 AM Changeset in webkit [135889] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

[EFL] Gardening of failing tests
https://bugs.webkit.org/show_bug.cgi?id=103434

Unreviewed gardening.

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

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/fast/js/global-constructors-expected.txt:
11:25 AM Changeset in webkit [135888] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

Canvas does not draw any text if the font is not fully loaded yet
https://bugs.webkit.org/show_bug.cgi?id=103392

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-27
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Update CanvasRenderingContext2D::drawTextInternal() so that the
text is being drawn, even if custom fonts are still being loaded.
Without this, WebKit was not drawing any text on the canvas if
the needed font is custom and is not fully loaded yet. This seems
broken.

The new behavior is according to specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html

The specification says: "If a font is used before it is fully
loaded, or if the font style source object does not have that
font in scope at the time the font is to be used, then it must be
treated as if it was an unknown font, falling back to another as
described by the relevant CSS specifications."

Test: http/tests/canvas/canvas-slow-font-loading.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • platform/graphics/Font.cpp:

(WebCore::Font::drawText): Add argument to specify the behavior
when custom fonts are not ready. By default, it will not draw
anything (same behavior as before). However, the Canvas code
can now request that a fallback font is used if the custom
font is not fully loaded yet.

  • platform/graphics/Font.h: #undef Complex if defined to avoid

conflicting with Complex value in CodePath enum. X11/X.h is
defining Complex to 0.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawBidiText):

  • platform/graphics/GraphicsContext.h:

(WebCore):
(GraphicsContext):

LayoutTests:

Add canvas test to check that text is drawn using a fallback font
if the primary font is not fully loaded yet.

  • http/tests/canvas/canvas-slow-font-loading-expected.html: Added.
  • http/tests/canvas/canvas-slow-font-loading.html: Added.
11:23 AM Changeset in webkit [135887] by yael@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. fast/loader/submit-form-while-parsing-2.html is still flaky
so put it back in TestExpectations.

  • platform/efl/TestExpectations:
11:19 AM Changeset in webkit [135886] by dino@apple.com
  • 4 edits in trunk/Source/WebCore

No need for ExceptionCode in HTMLMediaElement::load
https://bugs.webkit.org/show_bug.cgi?id=103438

Reviewed by Eric Carlson.

After https://bugs.webkit.org/show_bug.cgi?id=103318, there is no
need for the ExceptionCode parameter in load(). The HTML5 spec says
that all errors in loading are communicated via state.
http://dev.w3.org/html5/spec/media-elements.html#dom-media-load

Of the 29 tests exercising load(), none of them were exercising
exceptions (obviously).

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::load):
(WebCore::HTMLMediaElement::resume):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:
11:16 AM Changeset in webkit [135885] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Layout Test transitions/transition-shorthand-delay.html should usePauseAPI
https://bugs.webkit.org/show_bug.cgi?id=103402

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-27
Reviewed by Simon Fraser.

PauseAPI works when pausing during delay in transitions now, using it
should fix the flakiness.

  • platform/efl/TestExpectations:
  • transitions/transition-shorthand-delay.html:
11:15 AM Changeset in webkit [135884] by robert@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r125578): word-wrapping in absolute position with nbsp, word-spacing and custom font
https://bugs.webkit.org/show_bug.cgi?id=101443

Reviewed by David Hyatt.

Source/WebCore:

Leading non-breaking space in a text run should always get word-spacing applied. When RenderText
calculates the preferred with of a run of text it breaks it up into word segments that contain
no breaking spaces and calculates the width of each. So when calculating the width of '&nbsp;b'
it needs to add word-spacing to the leading non-breaking space as it does not get collapsed away.

Test: fast/text/word-space-nbsp.html

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advanceInternal):

LayoutTests:

  • fast/text/word-space-nbsp-expected.html: Added.
  • fast/text/word-space-nbsp.html: Added.
11:08 AM Changeset in webkit [135883] by yoli@rim.com
  • 2 edits in trunk/Source/WebCore

[BlackBerry] EventLoop should end when WebKit thread is exiting
https://bugs.webkit.org/show_bug.cgi?id=103301

Reviewed by Rob Buis.
RIM PR# 194379.
Internally reviewed by Joe Mason.

Break the nested event loop when WebKit thread has been asked to quit.

  • platform/blackberry/EventLoopBlackBerry.cpp:

(WebCore::EventLoop::cycle):

10:58 AM Changeset in webkit [135882] by psolanki@apple.com
  • 33 edits in trunk

objc/objc-runtime.h does not exist on all PLATFORM(MAC)
https://bugs.webkit.org/show_bug.cgi?id=101780

Reviewed by Brent Fulgham.

Clean up header includes so we don't include objc/objc-runtime.h.

Source/WebCore:

No new tests because no functional changes.

  • bridge/objc/objc_header.h:
  • page/mac/EventHandlerMac.mm:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
  • platform/graphics/mac/WebLayer.mm:
  • platform/mac/WebCoreObjCExtras.mm:
  • platform/mac/WebVideoFullscreenController.mm:

Source/WebKit/mac:

  • Carbon/HIWebView.mm:

(UpdateCommandStatus): Use wtfObjcMsgSend template instead of objc_msgSend.

  • Plugins/WebNetscapePluginView.mm:
  • Plugins/WebPluginContainerCheck.mm:

(-[WebPluginContainerCheck _continueWithPolicy:]): Use wtfObjcMsgSend template instead of objc_msgSend.

  • Plugins/WebPluginController.mm:
  • WebCoreSupport/WebCachedFramePlatformData.h:
  • WebCoreSupport/WebDeviceOrientationClient.mm:
  • WebView/WebDelegateImplementationCaching.mm:
  • WebView/WebHTMLView.mm:
  • WebView/WebPDFDocumentExtras.mm:
  • WebView/WebPolicyDelegate.mm:

(-[WebPolicyDecisionListener _usePolicy:]): Use wtfObjcMsgSend template instead of objc_msgSend.

  • WebView/WebView.mm:

Source/WebKit2:

  • PluginProcess/mac/PluginProcessShim.mm:
  • UIProcess/API/mac/PDFViewController.mm:

Source/WTF:

  • wtf/Functional.h:
  • wtf/ObjcRuntimeExtras.h: Include objc/message.h here so we don't rely on proper ordering

of includes in files that include this header.

Tools:

  • DumpRenderTree/mac/DumpRenderTree.mm:
  • DumpRenderTree/mac/ObjCPlugin.m:
  • TestWebKitAPI/mac/InstanceMethodSwizzler.h:
  • WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
10:52 AM Changeset in webkit [135881] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Plumbing showPaintRects out of InspectorPageAgent to use a different drawing implementation if available.
https://bugs.webkit.org/show_bug.cgi?id=102452

Patch by Eberhard Graether <egraether@google.com> on 2012-11-27
Reviewed by Pavel Feldman.

This change makes the showPaintRects setting in the Web Inspector's settings notify InspectorClient
when changed. And the default paint rects drawing is not used if an alternative is available.
This allows Chromium to draw the paint rects in the compositor's HUDLayer.

Source/Platform:

  • chromium/public/WebLayerTreeView.h:

(WebLayerTreeView):
(WebKit::WebLayerTreeView::setShowPaintRects):

Source/WebCore:

No new tests.

  • inspector/InspectorClient.h:

(WebCore::InspectorClient::overridesShowPaintRects):
(WebCore::InspectorClient::setShowPaintRects):
(InspectorClient):

  • inspector/InspectorPageAgent.cpp:

(PageAgentState):
(WebCore::InspectorPageAgent::restore):
(WebCore::InspectorPageAgent::disable):
(WebCore::InspectorPageAgent::setShowPaintRects):
(WebCore::InspectorPageAgent::didPaint):

Source/WebKit/chromium:

  • public/WebView.h:

(WebView):

  • src/InspectorClientImpl.cpp:

(WebKit::InspectorClientImpl::overridesShowPaintRects):
(WebKit):
(WebKit::InspectorClientImpl::setShowPaintRects):

  • src/InspectorClientImpl.h:

(InspectorClientImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setShowPaintRects):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):

10:45 AM Changeset in webkit [135880] by tony@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed gardening, fixing lint errors in TestExpectations.

  • platform/gtk/TestExpectations:
  • platform/qt/TestExpectations:
10:36 AM Changeset in webkit [135879] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

[WK2] WebPageProxy::relatedPages() cannot assume that this page is known to process
https://bugs.webkit.org/show_bug.cgi?id=103433
<rdar://problem/12543513>

Reviewed by Jessie Berlin.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::relatedPages): Removed an incorrect assertion, and modified code to not rely on its condition being true.
10:36 AM Changeset in webkit [135878] by Lucas Forschler
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

Merge 134495 & 134666 for <rdar://problem/12696290> & <rdar://problem/12704510>

10:32 AM Changeset in webkit [135877] by tony@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Unreviewed build fix on Linux clang.

../../third_party/WebKit/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp:1055:63: error:
C++98 requires an accessible copy constructor for class 'WebKit::WebCachedURLRequest' when binding
a reference to a temporary; was private [-Werror,-Wbind-to-temporary-copy]

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::dispatchWillRequestResource):

10:30 AM Changeset in webkit [135876] by allan.jensen@digia.com
  • 1 edit
    1 delete in trunk/Source/WebCore

Unreviewed cleanup.

Remove leftover file that was replaced by PlatformScreenQt.cpp 4 years ago.

  • platform/qt/ScreenQt.cpp: Removed.
10:16 AM Changeset in webkit [135875] by yael@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Remove from TestExpectations tests that are passing.

  • platform/efl/TestExpectations:
10:14 AM Changeset in webkit [135874] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

freeV8NPObject: Skip trying to remove object from per context data's ObjectMap if the object does not exist in the map.
https://bugs.webkit.org/show_bug.cgi?id=103356

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-27
Reviewed by Adam Barth.

Before introducing per context data, it used to be the case that we would ignore removing v8 object
from context data's map if we couldn't find it. With perContextData change, this turned into an ASSERT
instead and we had crash reports.
Related crbug.com/154462.

Source/WebCore:

Test: platform/chromium/plugins/release-frame-content-window.html

  • bindings/v8/NPV8Object.cpp:

(WebCore::freeV8NPObject):

LayoutTests:

  • platform/chromium/plugins/release-frame-content-window-expected.txt: Added.
  • platform/chromium/plugins/release-frame-content-window.html: Added.
  • platform/chromium/plugins/resources/empty.html: Added.
  • platform/chromium/plugins/resources/empty2.html: Added.
10:11 AM Changeset in webkit [135873] by junov@google.com
  • 2 edits in trunk/LayoutTests

Skipping fast/backgrounds/background-opaque-images-over-color.html on mac
https://bugs.webkit.org/show_bug.cgi?id=103435

Unreviewed

  • platform/mac/TestExpectations:
10:00 AM Changeset in webkit [135872] by commit-queue@webkit.org
  • 15 edits
    4 adds in trunk

Add callbacks to the FrameLoaderClient when a resource is requested
https://bugs.webkit.org/show_bug.cgi?id=92761

Patch by Marja Hölttä <marja@chromium.org> on 2012-11-27
Reviewed by Adam Barth.

In Chromium, when an extension script cancels a network
request (which happens out of process), we'd like to
notify content scripts running on the current page about
which elements failed to load because the requests were
cancelled (as opposed to e.g. the network request just
didn't work). Since the resource request itself does not
carry any information what DOM element is was made for,
currently a content script has to search the DOM tree and
guess which requests will be cancelled by its counter
part. By adding these callbacks, the embedder can make
this connection explictly.

Source/WebCore:

Test: platform/chromium/fast/loader/resource-request-callbacks.html

  • loader/FrameLoaderClient.h:

(WebCore):
(WebCore::FrameLoaderClient::dispatchWillRequestResource):
(FrameLoaderClient):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestResource):

Source/WebKit/chromium:

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

(WebKit):
(WebCachedURLRequest):
(WebKit::WebCachedURLRequest::~WebCachedURLRequest):

  • public/WebFrameClient.h:

(WebKit):
(WebFrameClient):
(WebKit::WebFrameClient::willRequestResource):

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::dispatchWillRequestResource):
(WebKit):

  • src/FrameLoaderClientImpl.h:

(FrameLoaderClientImpl):

  • src/WebCachedURLRequest.cpp: Added.

(WebKit):
(WebKit::WebCachedURLRequest::reset):
(WebKit::WebCachedURLRequest::urlRequest):
(WebKit::WebCachedURLRequest::charset):
(WebKit::WebCachedURLRequest::forPreload):
(WebKit::WebCachedURLRequest::initiatorName):
(WebKit::WebCachedURLRequest::initiatorElement):
(WebKit::WebCachedURLRequest::WebCachedURLRequest):

Tools:

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::dumpResourceRequestCallbacks):
(DRTTestRunner::reset):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):
(DRTTestRunner::setShouldDumpResourceRequestCallbacks):
(DRTTestRunner::shouldDumpResourceRequestCallbacks):

  • DumpRenderTree/chromium/TestShell.h:

(TestShell::shouldDumpResourceRequestCallbacks):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::willRequestResource):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

LayoutTests:

  • platform/chromium/fast/loader/resource-request-callbacks-expected.txt: Added.
  • platform/chromium/fast/loader/resource-request-callbacks.html: Added.
9:59 AM Changeset in webkit [135871] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Fix world-reuse test for mac build
https://bugs.webkit.org/show_bug.cgi?id=103385

Patch by Dan Carney <dcarney@google.com> on 2012-11-27
Reviewed by Jochen Eisinger.

Mac and chrome builds have different expectations for where
an isolated world is executed.

  • http/tests/security/isolatedWorld/world-reuse.html:
9:57 AM Changeset in webkit [135870] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: updated TestExpectations for crashes in
media/video-duration-known-after-eos.html
https://bugs.webkit.org/show_bug.cgi?id=103183

  • platform/chromium/TestExpectations:
9:53 AM Changeset in webkit [135869] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for r135866.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::load):

9:45 AM Changeset in webkit [135868] by dgrogan@chromium.org
  • 2 edits in trunk/LayoutTests

IndexedDB: Make test resilient to different event ordering
https://bugs.webkit.org/show_bug.cgi?id=103344

Reviewed by Tony Chang.

This test was failing in multi-process chromium because the blocked
event can arrive before the versionchange event.

  • storage/indexeddb/pending-version-change-on-exit.html:
9:40 AM Changeset in webkit [135867] by leoyang@rim.com
  • 5 edits in trunk/Source/WebCore

[BlackBerry] Adapt to the change of BlackBerry::Platform::FilterStream::notifyHeadersReceived
https://bugs.webkit.org/show_bug.cgi?id=103425

Reviewed by Yong Li.

A const has been added for HeaderList parameter of BlackBerry::Platform::FilterStream::notifyHeadersReceived.
The patch is adapting to this change.

No functionalities changed no new tests.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::notifyHeadersReceived):

  • platform/network/blackberry/NetworkJob.h:

(NetworkJob):

  • platform/network/blackberry/rss/RSSFilterStream.cpp:

(WebCore::RSSFilterStream::notifyHeadersReceived):

  • platform/network/blackberry/rss/RSSFilterStream.h:
9:39 AM Changeset in webkit [135866] by commit-queue@webkit.org
  • 5 edits in trunk

Don't throw an exception if user gesture is required for load
https://bugs.webkit.org/show_bug.cgi?id=103318

Patch by Min Qin <qinmin@chromium.org> on 2012-11-27
Reviewed by Eric Carlson.

Source/WebCore:

There is no need to throw an exception if media load requires user gesture.
Since chrome does not render the poster and media control after an exception is thrown, throwing an exception may break a lot of sites on android.
Change a current test to match the new behavior: media/video-load-require-user-gesture.html

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::load):

LayoutTests:

Check that exception is not thrown and metadata is not loaded if media load requires user gesture.

  • media/video-load-require-user-gesture-expected.txt:
  • media/video-load-require-user-gesture.html:
9:11 AM Changeset in webkit [135865] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip a new failing test to paint the bots green.

  • platform/qt/TestExpectations:
9:02 AM Changeset in webkit [135864] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][Qt][WK2] Tiles not always painted
https://bugs.webkit.org/show_bug.cgi?id=103271

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

The problem turned up because visible content was synchromized before the new fixed
layout size had been applied in the web process.

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::didChangeViewportSize):
(WebKit::PageViewportController::didChangeViewportAttributes):

7:58 AM Changeset in webkit [135863] by commit-queue@webkit.org
  • 5 edits in trunk

[GStreamer] Verify if GStreamer was previously initialized
https://bugs.webkit.org/show_bug.cgi?id=103151

Patch by Víctor Manuel Jáquez Leal <vjaquez@igalia.com> on 2012-11-27
Reviewed by Philippe Normand.

Source/WebCore:

This patch calls gst_is_initialized() before calling gst_init_check()
in order to verify if GStreamer has not been initialized before.

This is useful particularly for WebKit1 so the applications could
initialize GStreamer before.

As the API call was added in GStreamer v0.10.31, the patch fences the
call only in that version of GStreamer or above.

No new tests, existing media tests cover this change.

  • platform/graphics/gstreamer/GStreamerUtilities.cpp:

(WebCore::initializeGStreamer):

Tools:

This patch adds the gst_init() in GtkLauncher, so we can add the
GStreamer options in the command line through
gst_init_get_option_group().

This approach is not valid for MiniBrowser because it uses WebKit2,
where the GStreamer backend lives in the web process, which is
different from the UI process.

  • GNUmakefile.am:
  • GtkLauncher/main.c:

(main):

7:50 AM Changeset in webkit [135862] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Remove V8StringResource::m_string
https://bugs.webkit.org/show_bug.cgi?id=103367

Reviewed by Adam Barth.

This patch cleans up V8StringResource and removes V8StringResource::m_string.
This patch won't change performance. (This patch just adds one redundant IsString()
check and one IsInt32() check.) I confirmed no performance regression in micro benchmarks
(https://bugs.webkit.org/attachment.cgi?id=176178).

No tests. No change in behavior.

  • bindings/v8/V8Binding.cpp:

(WebCore::v8NonStringValueToWebCoreString):

  • bindings/v8/V8StringResource.cpp:

(WebCore::int32ToWebCoreStringFast):
(WebCore::String):
(WebCore::AtomicString):
(WebCore):

  • bindings/v8/V8StringResource.h:

(WebCore::V8StringResource::V8StringResource):
(WebCore::V8StringResource::prepareBase):
(WebCore::V8StringResource::toString):
(V8StringResource):
(WebCore::::prepare):

7:45 AM Changeset in webkit [135861] by junov@google.com
  • 2 edits in trunk/LayoutTests

Correcting baseline for fast/backgrounds/background-opaque-images-over-color.html
https://bugs.webkit.org/show_bug.cgi?id=103275

Unreviewed

Fixing small error in ref test baseline.

  • fast/backgrounds/background-opaque-images-over-color-expected.html:
7:06 AM Changeset in webkit [135860] by keishi@webkit.org
  • 4 edits in trunk/Source

Add WebLocalizedString for validation type badinput
https://bugs.webkit.org/show_bug.cgi?id=103381

Reviewed by Kent Tamura.

Source/Platform:

Adding WebLocalizedString enums for validation type badinput text.

  • chromium/public/WebLocalizedString.h:

Source/WebKit/chromium:

  • src/LocalizedStrings.cpp:

(WebCore::validationMessageBadInputForNumberText): Using the newly added WebLocalizedString enum.
(WebCore::validationMessageBadInputForDateTimeText): Ditto.

6:56 AM Changeset in webkit [135859] by junov@google.com
  • 2 edits
    1 add
    3 deletes in trunk/LayoutTests

Convert test fast/backgrounds/background-opaque-images-over-color.html to a ref test
https://bugs.webkit.org/show_bug.cgi?id=103275

Reviewed by Simon Fraser

Removing existing baselines, and adding an -expecte.html to make
fast/backgrounds/background-opaque-images-over-color.html a ref test

  • fast/backgrounds/background-opaque-images-over-color-expected.html: Added.
  • fast/backgrounds/background-opaque-images-over-color-expected.txt: Removed.
  • fast/backgrounds/background-opaque-images-over-color.html:
  • platform/chromium-mac/fast/backgrounds/background-opaque-images-over-color-expected.png: Removed.
  • platform/chromium-win/fast/backgrounds/background-opaque-images-over-color-expected.png: Removed.
6:42 AM Changeset in webkit [135858] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL] Graphics layer edges are sometimes very pixelated
https://bugs.webkit.org/show_bug.cgi?id=103302

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-27
Reviewed by Kenneth Rohde Christiansen.

The call setEnableEdgeDistanceAntialiasing(true) was lost in the refactoring of
http://trac.webkit.org/changeset/135401.

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::paintToCurrentGLContext):

6:11 AM Changeset in webkit [135857] by abecsi@webkit.org
  • 4 edits in trunk/Tools

[Qt] Fix the build with new Qt5 hash
https://bugs.webkit.org/show_bug.cgi?id=103406

Reviewed by Csaba Osztrogonác.

Remove references to deprecated QApplication::GuiServer which
has been removed, and use QStyleFactory::create instead of
instantiating a QWindowsStyle directly since it is about to
become an internal class.

  • DumpRenderTree/qt/DumpRenderTreeMain.cpp:

(main):

  • QtTestBrowser/qttestbrowser.cpp:

(LauncherApplication::LauncherApplication):

  • WebKitTestRunner/InjectedBundle/qt/InjectedBundleQt.cpp:

(WTR::InjectedBundle::platformInitialize):

6:10 AM Changeset in webkit [135856] by alecflett@chromium.org
  • 14 edits in trunk/Source

IndexedDB: stub out IDBDatabaseBackendInterface::createTransaction
https://bugs.webkit.org/show_bug.cgi?id=102730

Reviewed by Darin Fisher.

Source/WebCore:

Stub out and support passing a 64-bit transaction id
so the frontend can refer to transactions by id rather than
a proxy object or a direct pointer reference. This will ultimately
loosen ownership and lifetime of transactions from the frontend
and backend.

No new tests, this is just part of a refactor.

  • Modules/indexeddb/IDBDatabase.cpp:
  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore):
(WebCore::IDBDatabaseBackendImpl::transaction):
(WebCore::IDBDatabaseBackendImpl::createTransaction):

  • Modules/indexeddb/IDBDatabaseBackendImpl.h:

(IDBDatabaseBackendImpl):

  • Modules/indexeddb/IDBDatabaseBackendInterface.h:

(IDBDatabaseBackendInterface):

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::create):
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):

  • Modules/indexeddb/IDBTransactionBackendImpl.h:

(IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::id):

Source/WebKit/chromium:

Add support for new createTransaction() method in both sides
of the WebKit API.

  • public/WebIDBDatabase.h:

(WebIDBDatabase):
(WebKit::WebIDBDatabase::createTransaction):

  • src/IDBDatabaseBackendProxy.cpp:

(WebKit):
(WebKit::IDBDatabaseBackendProxy::createTransaction):

  • src/IDBDatabaseBackendProxy.h:

(IDBDatabaseBackendProxy):

  • src/WebIDBDatabaseImpl.cpp:

(WebKit::WebIDBDatabaseImpl::createTransaction):
(WebKit):

  • src/WebIDBDatabaseImpl.h:

(WebIDBDatabaseImpl):

5:56 AM Changeset in webkit [135855] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Mark tests flaky
https://bugs.webkit.org/show_bug.cgi?id=103403

Unreviewed expectations update for EFL: Mark tests flaky based on
flakiness dashboard and testing. Also rearrange efl/TestExpectations
so all media flakes are next to each other.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-27

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
5:52 AM Changeset in webkit [135854] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

Unreviewed, rolling out r135828.
http://trac.webkit.org/changeset/135828
https://bugs.webkit.org/show_bug.cgi?id=103405

[Chromium] Multiple ASAN errors after a WebKit roll due to
mismatched malloc/delete (not free) resulting from
StringImpl::deref() (Requested by apavlov on #webkit).

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

  • wtf/FastAllocBase.h:
  • wtf/Platform.h:
5:49 AM Changeset in webkit [135853] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

[CSS Regions] Crash when dispatching regionlayoutupdate
https://bugs.webkit.org/show_bug.cgi?id=102944

Patch by Andrei Bucur <abucur@adobe.com> on 2012-11-27
Reviewed by Andreas Kling.

Source/WebCore:

The event dispatch function was incorrectly assuming the RenderNamedFlowThread is valid. Because the event is asynchronous it's
possible for the flow to be in the "NULL" state (the renderer is 0) while the regionlayoutupdate event is dispatched.

Test: fast/regions/webkit-named-flow-event-crash.html

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent): Remove the ASSERT and don't dispatch the event if the flow is

in the "NULL" state.

LayoutTests:

The test modifies the layout, forces a regionlayoutupdate event to be scheduled and then removes the content and the regions.
The event is dispatched on a named flow in the "NULL" state. Without this patch a crash occurs.

  • fast/regions/webkit-named-flow-event-crash-expected.txt: Added.
  • fast/regions/webkit-named-flow-event-crash.html: Added.
5:27 AM Changeset in webkit [135852] by allan.jensen@digia.com
  • 5 edits in trunk/LayoutTests

Reduce XHR timeout tests execution time
https://bugs.webkit.org/show_bug.cgi?id=102184

Reviewed by Csaba Osztrogonác.

Reduce all timeouts by five.

  • http/tests/resources/load-and-stall.cgi:
  • http/tests/resources/load-and-stall.php:
  • http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout-runner.js:
  • http/tests/xmlhttprequest/timeout/xmlhttprequest-timeout.js:

(RequestTracker.prototype.startXHR):
(RequestTracker.prototype.handleEvent):
(AbortedRequest.prototype.getMessage):
(AbortedRequest.prototype.handleEvent):
(SyncRequestSettingTimeoutAfterOpen.startXHR):
(SyncRequestSettingTimeoutBeforeOpen.startXHR):
(TestCounter.testComplete):

5:23 AM Changeset in webkit [135851] by mihnea@adobe.com
  • 9 edits
    4 adds in trunk

[CSS Regions] Absolutely positioned regions do not expand to fill their container
https://bugs.webkit.org/show_bug.cgi?id=102385

Reviewed by Julien Chaffraix.

Source/WebCore:

In the case of an absolutely positioned region with height auto, height computation should follow
the path of block elements instead of replaced elements.

Tests: fast/regions/autosize-abspos-anchoredregion-vertlr.html

fast/regions/autosize-abspos-anchoredregion.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computePositionedLogicalHeight): Skip replaced element height computation when a region has height auto.

  • rendering/RenderRegion.h:

(WebCore::RenderRegion::shouldHaveAutoLogicalHeight): Make it private since it is not accessed from outside.

LayoutTests:

Added new tests for the case of an absolutely positioned region inside a container. The region is anchored and it should expand to the container limits
in the anchored direction.
Also modified expectations for another test that has absolutely positioned auto-height regions, which now have height computed properly.

  • fast/regions/autosize-abspos-anchoredregion-expected.txt: Added.
  • fast/regions/autosize-abspos-anchoredregion-vertlr-expected.txt: Added.
  • fast/regions/autosize-abspos-anchoredregion-vertlr.html: Added.
  • fast/regions/autosize-abspos-anchoredregion.html: Added.
  • platform/chromium/fast/regions/autoheight-regions-mark-expected.txt:
  • platform/efl/fast/regions/autoheight-regions-mark-expected.txt:
  • platform/gtk/fast/regions/autoheight-regions-mark-expected.txt:
  • platform/mac/fast/regions/autoheight-regions-mark-expected.txt:
  • platform/qt/fast/regions/autoheight-regions-mark-expected.txt:
5:20 AM Changeset in webkit [135850] by kadam@inf.u-szeged.hu
  • 2 edits
    3 adds in trunk/LayoutTests

[Qt] Gardening after r135723, r135740 and r135789. Skipped 3 tests and added rebaseline to a test.

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

r135723: Added Qt baseline to http/tests/inspector/network/script-as-text-loading-with-caret.html
r135740: Skipped fast/frames/page-visibility-crash.html because Page Visibility API is disabled.
r135789: Skipped fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag.html because gestureLongTap is not supported on Qt, and

fast/events/touch/gesture/context-menu-on-long-tap.html because Drag and Drop support is disabled on Qt.

  • platform/qt/TestExpectations:
  • platform/qt/http/tests/inspector/network/script-as-text-loading-with-caret-expected.txt: Added.
5:19 AM Changeset in webkit [135849] by kov@webkit.org
  • 9 edits in releases/WebKitGTK/webkit-1.10

Merge 135538 - [GTK] Split SVG from WebCore to work-around make limitation
https://bugs.webkit.org/show_bug.cgi?id=97735

Reviewed by Carlos Garcia Campos.

Add a new libtool convenience library, libWebCoreSVG.la, to work-around
make limitation when linking libWebCore.

.:

  • GNUmakefile.am: variables for the new library.

Source/WebCore:

  • GNUmakefile.am: new libWebCoreSVG.la library.
  • GNUmakefile.list.am: move SVG-related files to be part of the new library.

Source/WebKit/gtk:

  • GNUmakefile.am: link libWebCoreSVG.la into libwebkitgtk.

Source/WebKit2:

  • GNUmakefile.am: link libWebCoreSVG.la into libwebkit2gtk.

Conflicts:

Source/WebCore/GNUmakefile.am
Source/WebCore/GNUmakefile.list.am

4:39 AM Changeset in webkit [135848] by apavlov@chromium.org
  • 10 edits
    2 adds in trunk

Incorrect value of CSSStyleDeclaration#length when a shorthand property is inherit or initial
https://bugs.webkit.org/show_bug.cgi?id=73002

Reviewed by Alexis Menard.

Source/WebCore:

Before the patch, "inherit" and "initial" shorthands would get added to the StylePropertySet as-is, their longhands unspecified.
This patch tackles two aspects of the problem:

  • When parsing "initial" and "inherit" shorthands, their longhands are added to the property set with the corresponding values.
  • When querying "initial" and "inherit" shorthands, their values are reconstructed from the longhands as usual, but if all of the longhands are found to have the same explicit "initial" or "inherit" value, the respective single value is returned as the shorthand value.

When reconstructing shorthands, a "common value" is tracked. If all longhands involved have the same explicit value, it becomes the
"common value", otherwise it is a String(). The "inherit" or "initial" common value ultimately becomes the shorthand value
(except for the "background-position" shorthand, which is a special case).

  • css/CSSParser.cpp:

(WebCore::parseKeywordValue): Parse shorthands' "initial" and "inherit" values using the CSSParser.
(WebCore::CSSParser::addExpandedPropertyForValue): Add simple property or all sharthand's longhands with given value and priority.
(WebCore::CSSParser::parseValue): For "initial" and "inherit" shorthands, add their longhands with the respective value, not the shorthands proper.

  • css/CSSParser.h: Add addExpandedPropertyForValue().
  • css/StylePropertySet.cpp:

(WebCore::isInitialOrInherit): Check if the value is "initial" or "inherit".
(WebCore):
(WebCore::StylePropertySet::appendFontLonghandValueIfExplicit): Modified to track the common value for the "font" shorthand.
(WebCore::StylePropertySet::fontValue): Ditto.
(WebCore::StylePropertySet::get4Values): Return "inherit" or "initial" if all 4 values are explicitly "inherit" or "initial".
(WebCore::StylePropertySet::getLayeredShorthandValue): Use the common value approach for layered shorthands.
(WebCore::StylePropertySet::getShorthandValue): Ditto for ordinary shorthands.
(WebCore::StylePropertySet::borderPropertyValue): Ditto for the "border" shorthand.

  • css/StylePropertySet.h: Modify the appendFontLonghandValueIfExplicit() signature.
  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::setFont): Now that "inherit" and "initial" shorthands are represented by their longhands,
we need to check the string value of the "font" shorthand for being "inherit" or "initial" instead: getPropertyCSSValue() no longer works,
since the shorthand itself is no longer added to the StylePropertySet.

LayoutTests:

Expectations get fixed in some cases.

  • css3/flexbox/flex-property-parsing-expected.txt:
  • fast/css/inherit-initial-shorthand-values-expected.txt: Added.
  • fast/css/inherit-initial-shorthand-values.html: Added.
  • fast/css/parsing-text-emphasis-expected.txt:
  • fast/css/parsing-text-emphasis.html:
4:18 AM Changeset in webkit [135847] by haraken@chromium.org
  • 30 edits in trunk/Source/WebCore

Unreviewed. Renamed TRYCATCH => V8TRYCATCH.
(I forgot to apply reviewer's comment in bug 103352 when landing r135817.)

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateParametersCheck):
(GenerateEventConstructorCallback):
(ConvertToV8StringResource):

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

(WebCore::Float64ArrayV8Internal::fooCallback):

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

(WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
(WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):

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

(WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):

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

(WebCore::V8TestEventConstructor::constructorCallback):

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

(WebCore::TestEventTargetV8Internal::itemCallback):
(WebCore::TestEventTargetV8Internal::dispatchEventCallback):

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

(WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
(WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
(WebCore::V8TestInterface::constructorCallback):

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

(WebCore::TestMediaQueryListListenerV8Internal::methodCallback):

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

(WebCore::V8TestNamedConstructorConstructorCallback):

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

(WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
(WebCore::TestObjV8Internal::stringAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
(WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
(WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
(WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
(WebCore::TestObjV8Internal::longMethodWithArgsCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsCallback):
(WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
(WebCore::TestObjV8Internal::methodReturningSequenceCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjV8Internal::idbKeyCallback):
(WebCore::TestObjV8Internal::optionsObjectCallback):
(WebCore::TestObjV8Internal::methodWithOptionalArgCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
(WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjV8Internal::overloadedMethod1Callback):
(WebCore::TestObjV8Internal::overloadedMethod2Callback):
(WebCore::TestObjV8Internal::overloadedMethod3Callback):
(WebCore::TestObjV8Internal::overloadedMethod4Callback):
(WebCore::TestObjV8Internal::overloadedMethod6Callback):
(WebCore::TestObjV8Internal::overloadedMethod7Callback):
(WebCore::TestObjV8Internal::overloadedMethod8Callback):
(WebCore::TestObjV8Internal::overloadedMethod9Callback):
(WebCore::TestObjV8Internal::overloadedMethod10Callback):
(WebCore::TestObjV8Internal::overloadedMethod11Callback):
(WebCore::TestObjV8Internal::classMethodWithOptionalCallback):
(WebCore::TestObjV8Internal::overloadedMethod12Callback):
(WebCore::TestObjV8Internal::classMethodWithClampCallback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
(WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
(WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
(WebCore::TestObjV8Internal::stringArrayFunctionCallback):
(WebCore::TestObjV8Internal::convert1Callback):
(WebCore::TestObjV8Internal::convert2Callback):
(WebCore::TestObjV8Internal::convert4Callback):
(WebCore::TestObjV8Internal::convert5Callback):
(WebCore::TestObjV8Internal::strictFunctionCallback):
(WebCore::TestObjV8Internal::variadicStringMethodCallback):
(WebCore::TestObjV8Internal::variadicDoubleMethodCallback):
(WebCore::TestObjV8Internal::variadicNodeMethodCallback):

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

(WebCore::V8TestOverloadedConstructors::constructor1Callback):
(WebCore::V8TestOverloadedConstructors::constructor2Callback):
(WebCore::V8TestOverloadedConstructors::constructor3Callback):
(WebCore::V8TestOverloadedConstructors::constructor4Callback):

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

(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

  • bindings/v8/V8Binding.h:

(WebCore::toV8Sequence):

  • bindings/v8/V8BindingMacros.h:
  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallbackCustom):

  • bindings/v8/custom/V8ConsoleCustom.cpp:

(WebCore::V8Console::profileCallback):
(WebCore::V8Console::profileEndCallback):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::handlePostMessageCallback):

  • bindings/v8/custom/V8DataViewCustom.cpp:

(WebCore::V8DataView::getInt8Callback):
(WebCore::V8DataView::getUint8Callback):
(WebCore::V8DataView::setInt8Callback):
(WebCore::V8DataView::setUint8Callback):

  • bindings/v8/custom/V8DeviceMotionEventCustom.cpp:

(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):

  • bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:

(WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::V8Document::evaluateCallback):

  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:

(WebCore::V8HTMLOptionsCollection::addCallback):

  • bindings/v8/custom/V8HistoryCustom.cpp:

(WebCore::V8History::pushStateCallback):
(WebCore::V8History::replaceStateCallback):

  • bindings/v8/custom/V8IntentCustom.cpp:

(WebCore::V8Intent::constructorCallbackCustom):

  • bindings/v8/custom/V8SQLTransactionCustom.cpp:

(WebCore::V8SQLTransaction::executeSqlCallback):

  • bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:

(WebCore::V8SQLTransactionSync::executeSqlCallback):

  • bindings/v8/custom/V8SVGLengthCustom.cpp:

(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::V8WebGLRenderingContext::getExtensionCallback):

  • bindings/v8/custom/V8WorkerContextCustom.cpp:

(WebCore::V8WorkerContext::importScriptsCallback):

3:52 AM Changeset in webkit [135846] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[V8] add contextForWorld helper function to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=103376

Patch by Dan Carney <dcarney@google.com> on 2012-11-27
Reviewed by Kentaro Hara.

Reducing some commonly occuring code with an inline function.

No new tests. No change in functionality.

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::contextForWorld):
(WebCore):
(WebCore::ScriptController::currentWorldContext):
(WebCore::ScriptController::mainWorldContext):

  • bindings/v8/ScriptController.h:

(ScriptController):

3:41 AM Changeset in webkit [135845] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[X11] Allow empty plugin name and description during scan plugin
https://bugs.webkit.org/show_bug.cgi?id=103234

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-27
Reviewed by Simon Hausmann.

Empty entries should be allowed when split the output string of scan plugin
because the plugin name and the description can be empty string.

  • UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:

(WebKit::PluginProcessProxy::scanPlugin):

  • UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:

(WebKit::PluginProcessProxy::scanPlugin):

3:31 AM Changeset in webkit [135844] by Csaba Osztrogonác
  • 10 edits in trunk/Source/WebKit2

Unreviewed, rolling out r135819.
http://trac.webkit.org/changeset/135819
https://bugs.webkit.org/show_bug.cgi?id=103388

It broke many tests on Qt and EFL WK2 platforms (Requested by
Ossy on #webkit).

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

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters):

  • UIProcess/API/C/WKPage.cpp:

(WKPageCopyRelatedPages):

  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):

  • UIProcess/WebPageProxy.h:

(WebPageProxy):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::setIsInWindow):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

  • WebProcess/WebPage/WebPage.messages.in:
3:20 AM Changeset in webkit [135843] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=103008

Patch by Kyungjin Kim <gen.kim@samsung.com> on 2012-11-27
Reviewed by Gyuyoung Kim.

Fix API names in WKPreferences from 2d to 2D.

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetAccelerated2DCanvasEnabled):
(WKPreferencesGetAccelerated2DCanvasEnabled):

  • UIProcess/API/C/WKPreferencesPrivate.h:
3:15 AM Changeset in webkit [135842] by allan.jensen@digia.com
  • 3 edits in trunk/Source/WebCore

[Qt] Implement the mimetype icon methods
https://bugs.webkit.org/show_bug.cgi?id=103260

Reviewed by Simon Hausmann.

  • platform/graphics/Icon.h:

(Icon):

  • platform/graphics/qt/IconQt.cpp:

(WebCore::Icon::createIconForFiles):
(WebCore::Icon::paint):

3:03 AM Changeset in webkit [135841] by allan.jensen@digia.com
  • 10 edits
    1 copy
    3 adds in trunk

Incorrect rect-based hit-test result when hit-test region includes culled inlines
https://bugs.webkit.org/show_bug.cgi?id=88376

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-09-17
Reviewed by Dave Hyatt.

Source/WebCore:

Move the handling of culled inlines from HitTestResult::addNodeToRectBasedTestResult to
InlineFlowBox::nodeAtPoint. This makes it possible to fix a number of bugs with how
culled inlines were handled. They are now checked after all their children, and may
terminate area-based hit-testing if they contain the whole area.

Tests: fast/dom/nodesFromRect/nodesFromRect-culled-inlines.html

fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak.html

  • rendering/HitTestResult.cpp:

(WebCore::HitTestLocation::HitTestLocation):
(WebCore::HitTestResult::addNodeToRectBasedTestResult):

  • rendering/HitTestResult.h:

(HitTestLocation):

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::nodeAtPoint):

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::hitTestCulledInline):

  • rendering/RenderInline.h:

(RenderInline):

LayoutTests:

Renames the existing nodesFromRect-culled-inlines.html test to nodesFromRect-inline-image.html,
because it did not test any culled inlines anymore, and replace it with two new tests that does
test culled inlines.

  • fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak-expected.txt: Copied from LayoutTests/fast/dom/nodesFromRect/nodesFromRect-culled-inlines-expected.txt.
  • fast/dom/nodesFromRect/nodesFromRect-culled-inline-with-linebreak.html: Added.
  • fast/dom/nodesFromRect/nodesFromRect-culled-inlines-expected.txt:
  • fast/dom/nodesFromRect/nodesFromRect-culled-inlines.html:
  • fast/dom/nodesFromRect/nodesFromRect-inline-image-expected.txt: Added.
  • fast/dom/nodesFromRect/nodesFromRect-inline-image.html: Added.
  • fast/dom/nodesFromRect/resources/nodesFromRect.js:

(checkRect):
(nodesFromRectAsString):

2:37 AM Changeset in webkit [135840] by tkent@chromium.org
  • 14 edits
    35 deletes in trunk/LayoutTests

Reduce the number of pixel tests for date/time input types
https://bugs.webkit.org/show_bug.cgi?id=103373

Reviewed by Kentaro Hara.

Merge fast/forms/<type>/<type>-appearance-style.html and
<type>-appearance-disabled-readonly.html into
<type>-appearance-basic.html, and add tests for font-weight, height, and
-webkit-appearance:none.

  • fast/forms/date/date-appearance-basic-expected.txt:
  • fast/forms/date/date-appearance-basic.html:
  • fast/forms/date/date-appearance-style-expected.txt: Removed.
  • fast/forms/date/date-appearance-style.html: Removed.
  • fast/forms/month/month-appearance-basic-expected.txt:
  • fast/forms/month/month-appearance-basic.html:
  • fast/forms/month/month-appearance-style-expected.txt: Removed.
  • fast/forms/month/month-appearance-style.html: Removed.
  • fast/forms/time/time-appearance-basic-expected.txt:
  • fast/forms/time/time-appearance-basic.html:
  • fast/forms/time/time-appearance-disabled-readonly-expected.txt: Removed.
  • fast/forms/time/time-appearance-disabled-readonly.html: Removed.
  • fast/forms/time/time-appearance-style-expected.txt: Removed.
  • fast/forms/time/time-appearance-style.html: Removed.
  • fast/forms/week/week-appearance-basic-expected.txt:
  • fast/forms/week/week-appearance-basic.html:
  • fast/forms/week/week-appearance-style-expected.txt: Removed.
  • fast/forms/week/week-appearance-style.html: Removed.
  • platform/chromium-linux/fast/forms/date/date-appearance-style-expected.png: Removed.
  • platform/chromium-linux/fast/forms/month/month-appearance-style-expected.png: Removed.
  • platform/chromium-linux/fast/forms/time/time-appearance-disabled-readonly-expected.png: Removed.
  • platform/chromium-linux/fast/forms/time/time-appearance-style-expected.png: Removed.
  • platform/chromium-linux/fast/forms/week/week-appearance-style-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/date/date-appearance-style-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/month/month-appearance-style-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/time/time-appearance-disabled-readonly-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/time/time-appearance-style-expected.png: Removed.
  • platform/chromium-mac-lion/fast/forms/week/week-appearance-style-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-style-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-style-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-disabled-readonly-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-style-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-style-expected.png: Removed.
  • platform/chromium-mac/fast/forms/date/date-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/date/date-appearance-style-expected.png: Removed.
  • platform/chromium-mac/fast/forms/month/month-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/month/month-appearance-style-expected.png: Removed.
  • platform/chromium-mac/fast/forms/time/time-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/time/time-appearance-disabled-readonly-expected.png: Removed.
  • platform/chromium-mac/fast/forms/time/time-appearance-style-expected.png: Removed.
  • platform/chromium-mac/fast/forms/week/week-appearance-basic-expected.png:
  • platform/chromium-mac/fast/forms/week/week-appearance-style-expected.png: Removed.
  • platform/chromium-win/fast/forms/date/date-appearance-style-expected.png: Removed.
  • platform/chromium-win/fast/forms/month/month-appearance-style-expected.png: Removed.
  • platform/chromium-win/fast/forms/time/time-appearance-disabled-readonly-expected.png: Removed.
  • platform/chromium-win/fast/forms/time/time-appearance-style-expected.png: Removed.
  • platform/chromium-win/fast/forms/week/week-appearance-style-expected.png: Removed.
  • platform/chromium/TestExpectations:
2:27 AM Changeset in webkit [135839] by kenneth@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(134887) [Qt][EFL][WK2] Repaint counter not working
https://bugs.webkit.org/show_bug.cgi?id=103261

Reviewed by Noam Rosenthal.

Fixed regression introduced in 134887, which introduced the
updateContentsNoSwizzle method and called it directly from
the repaint counter.

This method obviously needs to bind the texture.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::BitmapTextureGL::updateContentsNoSwizzle):

2:05 AM Changeset in webkit [135838] by tkent@chromium.org
  • 5 edits in trunk/LayoutTests

A followup of r135836
https://bugs.webkit.org/show_bug.cgi?id=102861

I landed an old revision of the patch in r135836.

  • fast/forms/ValidityState-001.html:
  • fast/forms/number/number-validity-badinput-expected.txt:
  • fast/forms/number/number-validity-badinput.html:
  • fast/forms/resources/multiple-fields-validity-badinput.js:

(testBadInput):

1:40 AM Changeset in webkit [135837] by Csaba Osztrogonác
  • 40 edits
    1 delete in trunk/Source

Unreviewed, rolling out r135786.
http://trac.webkit.org/changeset/135786
https://bugs.webkit.org/show_bug.cgi?id=103379

It made 3 plugin tests timeout on several platforms (Requested
by Ossy on #webkit).

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

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • loader/FrameLoadRequest.cpp: Removed.
  • loader/FrameLoadRequest.h:

(WebCore::FrameLoadRequest::FrameLoadRequest):
(FrameLoadRequest):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::load):

  • loader/FrameLoader.h:

(FrameLoader):

  • page/DragController.cpp:

(WebCore::DragController::performDrag):

  • plugins/PluginView.cpp:

(WebCore::PluginView::performRequest):

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPagePrivate::loadString):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):

Source/WebKit/chromium:

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::loadRequest):
(WebKit::WebFrameImpl::loadData):

  • src/WebSharedWorkerImpl.cpp:

(WebKit::WebSharedWorkerImpl::initializeLoader):

Source/WebKit/efl:

  • ewk/ewk_frame.cpp:

(ewk_frame_uri_set):
(_ewk_frame_contents_set_internal):

Source/WebKit/gtk:

  • webkit/webkitwebframe.cpp:

(webkit_web_frame_load_uri):
(webkit_web_frame_load_data):
(webkit_web_frame_load_request):

Source/WebKit/mac:

  • Plugins/WebPluginController.mm:
  • WebView/WebFrame.mm:

(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

Source/WebKit/qt:

  • Api/qwebframe.cpp:

(QWebFrame::setHtml):
(QWebFrame::setContent):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setAlternateHtml):

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::callErrorPageExtension):

  • WebCoreSupport/QWebFrameAdapter.cpp:

(QWebFrameAdapter::load):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::loadRequest):
(WebFrame::loadData):

Source/WebKit/wince:

  • WebView.cpp:

(WebView::load):

Source/WebKit/wx:

  • WebFrame.cpp:

(WebKit::WebFrame::SetPageSource):

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::performFrameLoadURLRequest):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):
(WebKit::WebPage::linkClicked):

1:26 AM WebKitGTK/WebKit2Roadmap edited by zandobersek@gmail.com
Add the isolated worlds API as a todo target for WebKitGTK+ 2.0 (diff)
1:09 AM Changeset in webkit [135836] by tkent@chromium.org
  • 25 edits
    1 move
    14 adds
    1 delete in trunk

Implement ValidityState::badInput
https://bugs.webkit.org/show_bug.cgi?id=102861

Reviewed by Hajime Morita.

Source/WebCore:

Add ValidityState::badInput, add hasBadInput, which always returns
false, to FormAssociatedElement, HTMLInputElement, and InputType.

For NumberInputType, we had hasUnacceptableValue, which was a hack to
make an input element match to :invalid if the element had non-number
strings. We don't need the hack any more because badInput affects :invalid
style. hasUnacceptableValue is re-used for hasBadInput implementation.
We cleared invalid numbers when elements lost focus to tell users that
the element had invalid numbers. We don't need this behavior because the
interactive validation tells it.

For date/time input types, we should make an input badInput when the
input has empty value but its sub-fields have values. It covers both of
partial input cases such as 12/--/2012 and invalid dates such as
02/31/2012.

For other types, ValidityState::badInput always returns false.

This patch doesn't contain tests for badInput validation messages. They
will be added later.

Tests: fast/forms/date-multiple-fields/date-multiple-fields-validity-badinput.html

fast/forms/datetime-multiple-fields/datetime-multiple-fields-validity-badinput.html
fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-validity-badinput.html
fast/forms/month-multiple-fields/month-multiple-fields-validity-badinput.html
fast/forms/number/number-validity-badinput.html
fast/forms/time-multiple-fields/time-multiple-fields-validity-badinput.html
fast/forms/week-multiple-fields/week-multiple-fields-validity-badinput.html

  • html/ValidityState.idl: Add badInput IDL attribute.
  • html/ValidityState.h:

(ValidityState): Add badInput.

  • html/ValidityState.cpp:

(WebCore::ValidityState::badInput):
Added. Calls FormAssociatedElement::hasBadInput.

  • html/FormAssociatedElement.h:

(FormAssociatedElement): Add hasBadInput.

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::hasBadInput):
Added. It always returns false.
(WebCore::FormAssociatedElement::valid): Takes account of hasBadInput().

  • html/HTMLInputElement.h:

(HTMLInputElement):
Remove hasUnacceptableValue, and add hasBadInput override.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::hasBadInput):
Added. Delegate to InputType::hasBadInput.
(WebCore): Remove hasUnacceptableValue.

  • html/InputType.h:

(InputType): Add hasBadInput and badInputText, and remove
hasUnacceptableValue.

  • html/InputType.cpp:

(WebCore::InputType::hasBadInput): Added. Returns false.
(WebCore::InputType::badInputText):
Added. This function should not be called because hasBadInput always
returns false.
(WebCore::InputType::validationMessage):
Supports badInput. This returns badInputText if hasBadInput is true.

  • html/NumberInputType.h:

(NumberInputType): Add hasBadInput and badInputTest. Remove
handleBlurEvent and hasUnacceptableValue.

  • html/NumberInputType.cpp:

Remove handleBlurEvent, which cleared invalid number strings.
(WebCore::NumberInputType::hasBadInput):
Added. We don't need to check existence of a renderer. The standard form
validation feature doesn't care of it.
(WebCore::NumberInputType::badInputText): Returns
validationMessageBadInputForNumberText defined in LocalizedStrings.h.

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOneSelector):
Remove a hack for hasUnacceptableValue. isValidFormControlElement takes
account of badInput.

  • dom/Element.h: Remove hasUnacceptableValue.
  • html/BaseMultipleFieldsDateAndTimeInputType.h:

(BaseMultipleFieldsDateAndTimeInputType): Add hasBadInput and badInputText.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::badInputText):
Returns validationMessageBadInputForDateTimeText defined in LocalizedStrings.h.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::hasBadInput):
Added.
(WebCore::BaseMultipleFieldsDateAndTimeInputType::setValue):
Add setNeedsValidityCheck call. It is needed because
updateInnerTextValue can modify subfields empty state.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::subtreeHasChanged): Update a comment.

  • platform/LocalizedStrings.h:

(WebCore): Add validationMessageBadInputForNumberText and
validationMessageBadInputForDateTimeText.

  • platform/LocalizedStrings.cpp:

(WebCore::validationMessageBadInputForNumberText):
Added a placeholder implementation. This should be fixed later.

  • platform/blackberry/LocalizedStringsBlackBerry.cpp:

(WebCore::validationMessageBadInputForNumberText): Ditto.

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::validationMessageBadInputForNumberText): Ditto.

  • platform/qt/LocalizedStringsQt.cpp:

(WebCore::validationMessageBadInputForNumberText): Ditto.

Source/WebKit/chromium:

  • src/LocalizedStrings.cpp:

Add placeholder implementations for new localized string functions.
We'll update them in another patch.
(WebCore::validationMessageBadInputForNumberText):
(WebCore::validationMessageBadInputForDateTimeText):

LayoutTests:

  • fast/forms/date-multiple-fields/date-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/date-multiple-fields/date-multiple-fields-validity-badinput.html: Added.
  • fast/forms/datetime-multiple-fields/datetime-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/datetime-multiple-fields/datetime-multiple-fields-validity-badinput.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-validity-badinput.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-validity-badinput.html: Added.
  • fast/forms/number/number-unacceptable-style-expected.txt: Removed.
  • fast/forms/number/number-validity-badinput-expected.txt: Added.
  • fast/forms/number/number-validity-badinput.html: Renamed from LayoutTests/fast/forms/number/number-unacceptable-style.html.
  • fast/forms/resources/multiple-fields-validity-badinput.js: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-validity-badinput.html: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-validity-badinput-expected.txt: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-validity-badinput.html: Added.
12:58 AM Changeset in webkit [135835] by apavlov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed, mark svg/animations/mpath-remove-from-dependents-on-delete-crash.html as flaky.

  • platform/chromium/TestExpectations:
12:52 AM Changeset in webkit [135834] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Cleaning up expectations, removing those that cover tests
that are now passing.

  • platform/gtk/TestExpectations:
12:49 AM Changeset in webkit [135833] by morrita@google.com
  • 6 edits in trunk/Source/WebCore

[Refactoring] NodeFlags::IsShadowRootFlag should be Node::IsDocumentFragmentFlag
https://bugs.webkit.org/show_bug.cgi?id=103370

Reviewed by Kentaro Hara.

This chagne introduces Node::IsDocumentFragmentFlag so that we can
have fast Node::isDocumentFragment().

Note that Node::isShadowRoot() can become slightly slower when it
returns true, but that is minor in terms of the number of calls at runtime.

No new tests. No behavior change.

  • dom/DocumentFragment.cpp:

(WebCore::DocumentFragment::create):

  • dom/DocumentFragment.h:
  • dom/Node.cpp:

(WebCore::Node::documentFragmentIsShadowRoot):
(WebCore):

  • dom/Node.h:

(Node):
(WebCore::Node::isDocumentFragment):
(WebCore::Node::isShadowRoot):
(WebCore::Node::parentNode):
(WebCore::Node::parentNodeGuaranteedHostFree):

  • dom/ShadowRoot.h:
12:38 AM Changeset in webkit [135832] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[style] Add a style-check for enum-member names
https://bugs.webkit.org/show_bug.cgi?id=103157

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-27
Reviewed by Daniel Bates.

  • Scripts/webkitpy/style/checkers/cpp.py:

(_EnumState):
(_EnumState.init):
(_EnumState.process_clean_line):
(check_enum_casing):
(check_style):
(process_line):
(_process_lines):
(CppChecker):

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(NoNonVirtualDestructorsTest.test_enum_casing):
(NoNonVirtualDestructorsTest.test_internal_braces.Foo):

12:24 AM Changeset in webkit [135831] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding timeout expectations for three plugins tests timing out after r135786.

  • platform/gtk/TestExpectations:
12:21 AM Changeset in webkit [135830] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Coordinated Graphics: Remove the maskTarget member of CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=103297

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

Remove the maskTarget member of CoordinatedGraphicsLayer, which is not used.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

Note: See TracTimeline for information about the timeline view.