WebKit-https.git
7 years ago[Chromium] Unreviewed, mark fast/regions tests failing after r136045 as failing,...
apavlov@chromium.org [Thu, 29 Nov 2012 08:40:56 +0000 (08:40 +0000)]
[Chromium] Unreviewed, mark fast/regions tests failing after r136045 as failing, since they are actually reftests.

* platform/chromium-mac/fast/regions/autoheight-dynamic-update-expected.png: Removed.
* platform/chromium-mac/fast/regions/firstletter-inside-flowthread-expected.png: Removed.
* platform/chromium-mac/fast/regions/listmarker-inside-flowthread-expected.png: Removed.
* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136109 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Broken rendering occurs when scrolling in ewk_view_single.
ryuan.choi@samsung.com [Thu, 29 Nov 2012 08:38:24 +0000 (08:38 +0000)]
[EFL] Broken rendering occurs when scrolling in ewk_view_single.
https://bugs.webkit.org/show_bug.cgi?id=77325

Reviewed by Gyuyoung Kim.

After r104687, broken rendering occurs when scrolling contents.
It's because scrollWidth can be smaller than width of image buffer.

This patch fixes it and renames parameter to avoid confusion.

* ewk/ewk_view_single.cpp:
(_ewk_view_screen_move):
(_ewk_view_single_scroll_process_single):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136108 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Regions] Fix content node renderers ordering inside the named flow thread
commit-queue@webkit.org [Thu, 29 Nov 2012 08:35:50 +0000 (08:35 +0000)]
[CSS Regions] Fix content node renderers ordering inside the named flow thread
https://bugs.webkit.org/show_bug.cgi?id=103501

Patch by Andrei Bucur <abucur@adobe.com> on 2012-11-29
Reviewed by David Hyatt.

Source/WebCore:

This patch fixes two issues with how content nodes renderers are added to a named flow thread.
The first issue was about determining the insertion position of a renderer inside the children list of a named flow thread. Before this patch, the
insertion point was based on both the DOM ordering of the elements and insertion order of previous renderers.
The patch fixes this and makes the renderer position just a function of the DOM ordering of elements.
The second issue appeared when next/previousRenderer methods were skipping nodes because they had the flow-into property as a side effect
of copying the style of the parent element (e.g. Text nodes). The patch ensures the skipped nodes are also elements.

Tests: fast/regions/named-flow-content-order-1.html
       fast/regions/named-flow-content-order-2.html
       fast/regions/named-flow-content-order-3.html

* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::nextRenderer): Skip only elements.
(WebCore::NodeRenderingContext::previousRenderer): Skip only elements.
* rendering/RenderNamedFlowThread.cpp:
(WebCore::RenderNamedFlowThread::addFlowChild): Insert the renderer in the list based on the DOM position of the owner element.
* rendering/RenderNamedFlowThread.h:
(RenderNamedFlowThread):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::renderNamedFlowThreadWrapper): Rename to eliminate the confusion with enclosingRenderFlowThread.
(WebCore::RenderObject::insertedIntoTree):
(WebCore::RenderObject::willBeRemovedFromTree):
* rendering/RenderObject.h:
(RenderObject):

LayoutTests:

The first two ref tests cover the issue with incorrectly computing the insertion position for a content node renderer.
The third ref test covers the issue with nextRenderer and previousRenderer skipping valid nodes.

* fast/regions/named-flow-content-order-1-expected.html: Added.
* fast/regions/named-flow-content-order-1.html: Added.
* fast/regions/named-flow-content-order-2-expected.html: Added.
* fast/regions/named-flow-content-order-2.html: Added.
* fast/regions/named-flow-content-order-3-expected.html: Added.
* fast/regions/named-flow-content-order-3.html: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136107 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agorun-perf-tests does not work when the layout test directory does not exist
eric@webkit.org [Thu, 29 Nov 2012 08:03:31 +0000 (08:03 +0000)]
run-perf-tests does not work when the layout test directory does not exist
https://bugs.webkit.org/show_bug.cgi?id=103572

Reviewed by Ryosuke Niwa.

Make sure that Profiler() calls maybe_make_directory for the output_dir
before ever using it.  It's a little awkward to create the directory
from the constructor, but its simplest that way as the various subclasses
all use the directory at different times.

Since this required having a filesystem in Profiler (and I didn't want
to grab inside Workspace to get one), I just made Profiler expect a
SystemHost instead of a separate filesystem, executive and workspace.

* Scripts/webkitpy/common/system/profiler.py:
(ProfilerFactory.create_profiler):
(Profiler.__init__):
(SingleFileOutputProfiler.__init__):
(GooglePProf.__init__):
(GooglePProf.profile_after_exit):
(Instruments.__init__):
(Instruments.attach_to_pid):
* Scripts/webkitpy/common/system/profiler_unittest.py:
(ProfilerFactoryTest.test_basic):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136106 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd a test to ensure that 'seamless' iframes do not inherit contenteditable.
mkwst@chromium.org [Thu, 29 Nov 2012 07:46:01 +0000 (07:46 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136105 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoWeb Inspector: Console message's anchor element should be trimmed for readability.
mkwst@chromium.org [Thu, 29 Nov 2012 07:28:02 +0000 (07:28 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136104 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Generate big_button_theme.edj
commit-queue@webkit.org [Thu, 29 Nov 2012 07:10:14 +0000 (07:10 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136103 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, rolling out r135973.
commit-queue@webkit.org [Thu, 29 Nov 2012 07:00:22 +0000 (07:00 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136102 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago012-11-28 Alexander Pavlov <apavlov@chromium.org>
apavlov@chromium.org [Thu, 29 Nov 2012 06:49:16 +0000 (06:49 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136101 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Rebaselined run-bindings-tests.
haraken@chromium.org [Thu, 29 Nov 2012 06:44:33 +0000 (06:44 +0000)]
Unreviewed. Rebaselined run-bindings-tests.

* bindings/scripts/test/V8/V8TestNode.h:
(WebCore::toV8Fast):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136100 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC Serial...
weinig@apple.com [Thu, 29 Nov 2012 06:24:18 +0000 (06:24 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136099 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Shadow] ShadowRoot should cache InsertionPointList.
shinyak@chromium.org [Thu, 29 Nov 2012 06:23:58 +0000 (06:23 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136098 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIndexedDB: Remove duplicate toWireString() and createFromWire() methods in JSC Serial...
commit-queue@webkit.org [Thu, 29 Nov 2012 06:21:20 +0000 (06:21 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136097 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSpeculatedType dumping should not use the static char buffer[thingy] idiom
fpizlo@apple.com [Thu, 29 Nov 2012 06:01:40 +0000 (06:01 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136096 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoAdd an objc object graph wrapper and coder for WKConnection message bodies
weinig@apple.com [Thu, 29 Nov 2012 05:33:42 +0000 (05:33 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136095 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Shadow DOM] Element.createShadowRoot() should be prefixed.
morrita@google.com [Thu, 29 Nov 2012 05:27:07 +0000 (05:27 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136092 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoTest the return value from Node::compareDocumentPositionMake more strictly.
hayato@chromium.org [Thu, 29 Nov 2012 05:15:08 +0000 (05:15 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136090 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Adding secondary email.
vivek.vg@samsung.com [Thu, 29 Nov 2012 05:10:17 +0000 (05:10 +0000)]
Unreviewed. Adding secondary email.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136089 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK2] input-with-validation-without-shadow.html makes following tests crash...
commit-queue@webkit.org [Thu, 29 Nov 2012 05:02:29 +0000 (05:02 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136088 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoNode::compareDocumentPosition returns wrong value for a node in the different shadow...
hayato@chromium.org [Thu, 29 Nov 2012 03:17:50 +0000 (03:17 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136087 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoChange Bytecompiler s_dumpsGeneratedCode to an Options value
msaboff@apple.com [Thu, 29 Nov 2012 03:16:11 +0000 (03:16 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136086 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed test fix: chromium/fast/storage/serialized-script-value.html
noel.gordon@gmail.com [Thu, 29 Nov 2012 02:49:13 +0000 (02:49 +0000)]
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).

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136085 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] IndexedDB: Assert/crash in indexing layout tests in content_shell
jsbell@chromium.org [Thu, 29 Nov 2012 02:24:38 +0000 (02:24 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136084 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WK2][Qt] Add drag&drop support to Flickable webView
sergio@webkit.org [Thu, 29 Nov 2012 02:24:31 +0000 (02:24 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136083 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUpdate String Stats for recent dataLog changes and add summary
msaboff@apple.com [Thu, 29 Nov 2012 02:21:57 +0000 (02:21 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136082 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago.: [Shadow] Move Distribution stuffs from ShadowRoot
shinyak@chromium.org [Thu, 29 Nov 2012 02:18:20 +0000 (02:18 +0000)]
.: [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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136081 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove -webkit-mask-attachment
krit@webkit.org [Thu, 29 Nov 2012 02:03:37 +0000 (02:03 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136080 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIndexedDB: Add forward declaration of SecurityOrigin to IDBBackingStore.h
commit-queue@webkit.org [Thu, 29 Nov 2012 01:46:34 +0000 (01:46 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136079 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agogarden-o-matic: Use indeterminate <progress> in the status area
tkent@chromium.org [Thu, 29 Nov 2012 01:21:39 +0000 (01:21 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136078 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCopying phase should use work lists
mhahnenberg@apple.com [Thu, 29 Nov 2012 01:03:45 +0000 (01:03 +0000)]
Copying phase should use work lists
https://bugs.webkit.org/show_bug.cgi?id=101390

Reviewed by Filip Pizlo.

* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/BlockAllocator.cpp:
(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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136077 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agocheckAcceptChild() needs fewer virtual calls
morrita@google.com [Thu, 29 Nov 2012 00:51:45 +0000 (00:51 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136076 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[mac] Dictionary lookup bubble loses intrarange formatting
timothy_horton@apple.com [Thu, 29 Nov 2012 00:20:17 +0000 (00:20 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136075 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoStyleResolver should not set NaN to font size
bashi@chromium.org [Thu, 29 Nov 2012 00:14:52 +0000 (00:14 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136074 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[mac] WebHTMLConverter should maintain font size even when there is no related NSFont
timothy_horton@apple.com [Thu, 29 Nov 2012 00:13:19 +0000 (00:13 +0000)]
[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:]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136073 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCSS parser does not support -webkit-mask-size for -webkit-mask shorthand
krit@webkit.org [Thu, 29 Nov 2012 00:11:38 +0000 (00:11 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136072 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIndexedDB: Change frontend to call IDBDatabaseBackendInterface::createTransaction()
alecflett@chromium.org [Wed, 28 Nov 2012 23:42:32 +0000 (23:42 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136071 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMake DataLog work/compile properly on Windows.
roger_fong@apple.com [Wed, 28 Nov 2012 23:39:32 +0000 (23:39 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136070 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoDisassembly methods should be able to disassemble to any PrintStream& rather than...
fpizlo@apple.com [Wed, 28 Nov 2012 23:37:24 +0000 (23:37 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136069 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHTMLFontElement font size parsing should directly handle 8 bit strings
msaboff@apple.com [Wed, 28 Nov 2012 23:32:55 +0000 (23:32 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136068 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago2012-11-28 Nima Ghanavatian <nghanavatian@rim.com>
nghanavatian@rim.com [Wed, 28 Nov 2012 23:21:32 +0000 (23:21 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136067 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIt should be possible to say dataLog("count = ", count, "\n") instead of dataLogF...
fpizlo@apple.com [Wed, 28 Nov 2012 22:59:35 +0000 (22:59 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136066 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoremove unused PlatformGestureCurve code
rjkroege@chromium.org [Wed, 28 Nov 2012 22:56:22 +0000 (22:56 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136063 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoHeap-use-after-free in WebCore::EventHandler::handleMousePressEvent
inferno@chromium.org [Wed, 28 Nov 2012 22:53:55 +0000 (22:53 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136062 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoXSSAuditor bypass with script src=data: URL ending in <!--
tsepez@chromium.org [Wed, 28 Nov 2012 22:52:29 +0000 (22:52 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136061 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoSource/WebCore: Heap-use-after-free in WebCore::RenderLayerModelObject::hasSelfPaintingL
inferno@chromium.org [Wed, 28 Nov 2012 22:46:59 +0000 (22:46 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136060 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Remove pluginsScriptableObject from PlatformSupport
pilgrim@chromium.org [Wed, 28 Nov 2012 22:39:12 +0000 (22:39 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136059 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[BlackBerry] CookieJarBlackBerry will use document settings for cookiesEnabled
commit-queue@webkit.org [Wed, 28 Nov 2012 22:37:06 +0000 (22:37 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136058 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium][Win] Remove ensureFontLoaded from PlatformSupport
pilgrim@chromium.org [Wed, 28 Nov 2012 22:35:36 +0000 (22:35 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136057 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[WinCairo] Crash when requesting favicon.
bfulgham@webkit.org [Wed, 28 Nov 2012 22:21:47 +0000 (22:21 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136056 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMove internals.settings.setPageScaleFactor to internals.setPageScaleFactor
tony@chromium.org [Wed, 28 Nov 2012 22:14:03 +0000 (22:14 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136055 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Regions] Elements using transforms are not repainted correctly when rendered...
achicu@adobe.com [Wed, 28 Nov 2012 21:38:12 +0000 (21:38 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136054 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCSS3 Multicolumn: column-span should accept value 'none' (instead of '1')
christophe.dumez@intel.com [Wed, 28 Nov 2012 21:30:15 +0000 (21:30 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136053 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoChromium TestExpectations minor changes.
schenney@chromium.org [Wed, 28 Nov 2012 21:24:19 +0000 (21:24 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136052 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agorun-perf-tests should have a --profile option for easy profiling
eric@webkit.org [Wed, 28 Nov 2012 21:21:23 +0000 (21:21 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136051 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Skip flaky video test media/W3C/video/readyState/readyState_during_loaded...
roger_fong@apple.com [Wed, 28 Nov 2012 21:18:35 +0000 (21:18 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136050 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMake source cache include more information about the function extent.
oliver@apple.com [Wed, 28 Nov 2012 21:11:53 +0000 (21:11 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136049 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoText Autosizing: Clusters should use width of LCA of their text nodes
commit-queue@webkit.org [Wed, 28 Nov 2012 21:02:30 +0000 (21:02 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136047 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agocleanup: Change some code to be cleaner, more readable and style conforming
commit-queue@webkit.org [Wed, 28 Nov 2012 20:59:10 +0000 (20:59 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136046 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Regions] Crash when using hover and first-letter inside a flow-thread
achicu@adobe.com [Wed, 28 Nov 2012 20:39:52 +0000 (20:39 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136045 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, fix duplicate expectation.
tony@chromium.org [Wed, 28 Nov 2012 20:20:38 +0000 (20:20 +0000)]
Unreviewed, fix duplicate expectation.

* platform/efl-wk1/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136042 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoLayoutTests/fast/table/css-table-max-height.html failing on Qt Linux
commit-queue@webkit.org [Wed, 28 Nov 2012 20:13:58 +0000 (20:13 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136041 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Regions] Auto-height regions will not calculate the height correctly when the...
achicu@adobe.com [Wed, 28 Nov 2012 20:05:47 +0000 (20:05 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136039 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed. Fixing lint errors introduced in r136030.
scherkus@chromium.org [Wed, 28 Nov 2012 20:00:19 +0000 (20:00 +0000)]
[Chromium] Unreviewed. Fixing lint errors introduced in r136030.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136038 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[CSS Regions] InRenderFlowThread returns false in the first setStyle
achicu@adobe.com [Wed, 28 Nov 2012 19:55:04 +0000 (19:55 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136037 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemove deprecated logging usage from QueueEngine
zandobersek@gmail.com [Wed, 28 Nov 2012 19:54:25 +0000 (19:54 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136036 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, land updated Mac results after track limiter removal.
tony@chromium.org [Wed, 28 Nov 2012 19:47:26 +0000 (19:47 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136035 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago<rdar://problem/12645085> REGRESSION (r130851): With kerning enabled, a white-space...
mitz@apple.com [Wed, 28 Nov 2012 19:43:24 +0000 (19:43 +0000)]
<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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136034 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=102970
bdakin@apple.com [Wed, 28 Nov 2012 19:37:15 +0000 (19:37 +0000)]
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]):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136033 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Add unit tests for ChromeClientImpl::getNavigationPolicy
ericu@chromium.org [Wed, 28 Nov 2012 19:30:51 +0000 (19:30 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136032 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMove empty loading to DocumentLoader, simplify FrameLoader::init()
japhet@chromium.org [Wed, 28 Nov 2012 19:30:48 +0000 (19:30 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136031 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Chromium] Unreviewed. Mark http/tests/media/video-buffered-range-contains-currentTim...
scherkus@chromium.org [Wed, 28 Nov 2012 19:16:36 +0000 (19:16 +0000)]
[Chromium] Unreviewed. Mark http/tests/media/video-buffered-range-contains-currentTime.html as requiring an image rebaseline.

* platform/chromium/TestExpectations:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136030 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Handle pinch correctly in slow-scrolling area
aelias@chromium.org [Wed, 28 Nov 2012 19:11:15 +0000 (19:11 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136029 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed, land updated Chromium results after track limiter removal.
tony@chromium.org [Wed, 28 Nov 2012 19:00:34 +0000 (19:00 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136027 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoCalling .removeCue() for a cue that was never added should raise a NOT_FOUND_ERR
commit-queue@webkit.org [Wed, 28 Nov 2012 18:55:52 +0000 (18:55 +0000)]
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 <graouts@apple.com> 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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136026 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoLayout Test svg/animations/mpath-remove-from-dependents-on-delete-crash.html is flaky
schenney@chromium.org [Wed, 28 Nov 2012 18:29:10 +0000 (18:29 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136024 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[Qt][Win] Enable usage of QTWEBKIT_PLUGIN_PATH.
zeno.albisser@digia.com [Wed, 28 Nov 2012 16:58:34 +0000 (16:58 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136017 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRegression(r135962): m_pendingSyncBackingStores needs to be cleared in LayerTreeRende...
christophe.dumez@intel.com [Wed, 28 Nov 2012 16:54:18 +0000 (16:54 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136016 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[v8] 4% regression in dom_traverse tests
abarth@webkit.org [Wed, 28 Nov 2012 16:50:21 +0000 (16:50 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136015 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRemoved extra definition of GLXContext.
commit-queue@webkit.org [Wed, 28 Nov 2012 16:41:03 +0000 (16:41 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136014 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[chromium] Allow plugins to opt-in to receive synthetic mouse events out of touch...
commit-queue@webkit.org [Wed, 28 Nov 2012 16:28:51 +0000 (16:28 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136013 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix gesture scrolling when the target-element of scroll-begin is removed
commit-queue@webkit.org [Wed, 28 Nov 2012 16:06:11 +0000 (16:06 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136012 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK2] Add support for PlatformWebView::simulateSpacebarKeyPress() in TestWebKitAPI
commit-queue@webkit.org [Wed, 28 Nov 2012 16:05:58 +0000 (16:05 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136011 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoFix .libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::validationMessageBadI...
philn@webkit.org [Wed, 28 Nov 2012 16:03:51 +0000 (16:03 +0000)]
Fix .libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::validationMessageBadInputForNumberText().
https://bugs.webkit.org/show_bug.cgi?id=103509

Patch by Anton Obzhirov <a.obzhirov@samsung.com> on 2012-11-28
Reviewed by Philippe Normand.

GTK build fix after r136001.

* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::validationMessageBadInputForNumberText):
(WebCore):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136010 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoRegression(r135962): ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
christophe.dumez@intel.com [Wed, 28 Nov 2012 14:51:18 +0000 (14:51 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136009 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoIndexedDB: Remove setVersion from WK API
dgrogan@chromium.org [Wed, 28 Nov 2012 14:42:52 +0000 (14:42 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136008 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK2] add flaky results after r135935
commit-queue@webkit.org [Wed, 28 Nov 2012 14:38:46 +0000 (14:38 +0000)]
[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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136007 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Use mutex locker in wakeUp() to ensure thread-safety.
commit-queue@webkit.org [Wed, 28 Nov 2012 14:38:33 +0000 (14:38 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136006 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL] Refactor theme to choose whether to support foreground color of selection
commit-queue@webkit.org [Wed, 28 Nov 2012 14:23:18 +0000 (14:23 +0000)]
[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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136005 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMinor cleanup in TestInvocation
commit-queue@webkit.org [Wed, 28 Nov 2012 14:12:30 +0000 (14:12 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136004 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Wed, 28 Nov 2012 14:05:44 +0000 (14:05 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136003 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMove childrenAffectedBy bits from RenderStyle to Element
allan.jensen@digia.com [Wed, 28 Nov 2012 13:44:46 +0000 (13:44 +0000)]
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:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136002 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoMove childrenAffectedBy bits from RenderStyle to Element
allan.jensen@digia.com [Wed, 28 Nov 2012 13:09:40 +0000 (13:09 +0000)]
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.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136001 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK2] MiniBrowser rendering should not get blurry when scrolled down with differ...
kenneth@webkit.org [Wed, 28 Nov 2012 13:09:34 +0000 (13:09 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@136000 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK2][AC] No need to export GL properties from EwkViewImpl class
commit-queue@webkit.org [Wed, 28 Nov 2012 12:56:26 +0000 (12:56 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@135999 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
zeno.albisser@digia.com [Wed, 28 Nov 2012 12:49:22 +0000 (12:49 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@135998 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[EFL][WK2][AC] Clear the viewport with white color
joone.hur@intel.com [Wed, 28 Nov 2012 12:45:45 +0000 (12:45 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@135997 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
zeno.albisser@digia.com [Wed, 28 Nov 2012 12:07:50 +0000 (12:07 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@135996 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoGraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
zeno.albisser@digia.com [Wed, 28 Nov 2012 12:07:27 +0000 (12:07 +0000)]
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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@135995 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoUnreviewed. Fix extra spaces in SimpleFontData::initGDIFont().
roger_fong@apple.com [Wed, 28 Nov 2012 11:48:34 +0000 (11:48 +0000)]
Unreviewed. Fix extra spaces in SimpleFontData::initGDIFont().

* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::initGDIFont):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@135994 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years ago[V8] Crash wrapping media element when MediaPlayer isn't available
commit-queue@webkit.org [Wed, 28 Nov 2012 11:33:28 +0000 (11:33 +0000)]
[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):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@135993 268f45cc-cd09-0410-ab3c-d52691b4dbfc