WebKit-https.git
8 years ago[Chromium] Add trace events for decoding and drawing images.
commit-queue@webkit.org [Fri, 16 Dec 2011 08:35:07 +0000 (08:35 +0000)]
[Chromium] Add trace events for decoding and drawing images.
https://bugs.webkit.org/show_bug.cgi?id=74547

Patch by Daniel Sievers <sievers@chromium.org> on 2011-12-16
Reviewed by James Robinson.

* platform/graphics/skia/ImageSkia.cpp:
(WebCore::drawResampledBitmap):
(WebCore::paintSkBitmap):
(WebCore::Image::drawPattern):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::resizedBitmap):
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::decode):
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::decode):
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::decode):
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::decode):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::decode):
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::decode):

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

8 years ago[GTK] Rounding errors on 32-bit machines causes tests to fail
philn@webkit.org [Fri, 16 Dec 2011 08:28:21 +0000 (08:28 +0000)]
[GTK] Rounding errors on 32-bit machines causes tests to fail
https://bugs.webkit.org/show_bug.cgi?id=72254

Initial patch by vanuan@gmail.com.
Reviewed by Martin Robinson.

* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary): Pass additional
CXXFLAGS to autogen in an attempt to harmonize floating point
values between 32-bit and 64-bit architectures.

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

8 years agoUnreviewed expectations update.
morrita@google.com [Fri, 16 Dec 2011 08:27:17 +0000 (08:27 +0000)]
Unreviewed expectations update.

* fast/ruby/ruby-remove-no-base-expected.txt:

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

8 years ago[GTK] Make distcheck fails during the install
mrobinson@webkit.org [Fri, 16 Dec 2011 08:18:33 +0000 (08:18 +0000)]
[GTK] Make distcheck fails during the install
https://bugs.webkit.org/show_bug.cgi?id=74274

No review, since this is a build fix.

* GNUmakefile.am: Remove BUILT_SOURCES from the dependency list for the gtkdoc
step. BUILT_SOURCES includes forwarding header generation for WebKit2, which
always runs. This means that the gtkdoc step was always running when make was
invoked. Generating gtkdoc during 'make install' was triggering a race condition
with the library file. Later we can fix generate-forwarding-headers and unbreak
'make docs,' but this bandaid is sufficient to let us release.

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

8 years agoUnreviewed, GTK rebaseline and test_expectations update.
philn@webkit.org [Fri, 16 Dec 2011 08:18:24 +0000 (08:18 +0000)]
Unreviewed, GTK rebaseline and test_expectations update.

* platform/gtk/fast/css/bidi-override-in-anonymous-block-expected.txt:
* platform/gtk/fast/ruby/ruby-remove-no-base-expected.txt: Added.
* platform/gtk/test_expectations.txt:

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

8 years agoQt rebaselines for window properties.
rniwa@webkit.org [Fri, 16 Dec 2011 08:10:27 +0000 (08:10 +0000)]
Qt rebaselines for window properties.

* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/Window/window-property-descriptors-expected.txt:

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

8 years agoMac rebaseline after r102918.
rniwa@webkit.org [Fri, 16 Dec 2011 08:04:09 +0000 (08:04 +0000)]
Mac rebaseline after r102918.

* platform/mac/fast/dom/Window/window-property-descriptors-expected.txt:

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

8 years agoFix 'make dist' in preparation for the GTK+ release.
mrobinson@webkit.org [Fri, 16 Dec 2011 07:59:47 +0000 (07:59 +0000)]
Fix 'make dist' in preparation for the GTK+ release.

Source/JavaScriptCore:

* GNUmakefile.list.am: Add missing header.

Source/WebCore:

* GNUmakefile.list.am: Add missing header.

Source/WebKit2:

* GNUmakefile.am: Add missing header.

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

8 years agoUnreviewed expectations update.
morrita@google.com [Fri, 16 Dec 2011 07:55:16 +0000 (07:55 +0000)]
Unreviewed expectations update.

* html5lib/webkit-resumer-expected.txt:

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

8 years agoUnreviewed test_expectations.txt update.
morrita@google.com [Fri, 16 Dec 2011 07:26:13 +0000 (07:26 +0000)]
Unreviewed test_expectations.txt update.

* platform/chromium/test_expectations.txt:

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

8 years agoDon't create empty files on error.
commit-queue@webkit.org [Fri, 16 Dec 2011 07:18:05 +0000 (07:18 +0000)]
Don't create empty files on error.
https://bugs.webkit.org/show_bug.cgi?id=74373

Patch by Rafael Ávila de Espíndola <rafael.espindola@gmail.com> on 2011-12-15
Reviewed by Ryosuke Niwa.

* css/makeprop.pl:
* css/makevalues.pl:
* make-hash-tools.pl:

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

8 years agoPODIntervalTree takes 1.7MB memory on www.nytimes.com.
commit-queue@webkit.org [Fri, 16 Dec 2011 07:14:30 +0000 (07:14 +0000)]
PODIntervalTree takes 1.7MB memory on nytimes.com.
https://bugs.webkit.org/show_bug.cgi?id=73712

Patch by Yongjun Zhang <yongjun_zhang@apple.com> on 2011-12-15
Reviewed by Kenneth Russell.

Source/WebCore:

For a RenderBlock which has floating objects inside, we will create a PODIntervalTree and a PODArena with
at least one 16KB chunk.  A page could have a large number of such RenderBlocks and they could take huge
amount of memory.  To fix that, we can create a shared PODArena in the root RenderView.  Instead of having
their own PODArena, each RenderBlock with floating objects could share this PODArena to reduce memory consumption.

The shared PODArena could grow unboundedly if we keep removing and adding floating objects.  We can fix that
by reusing the freed memory in each chunk.  However, a PODArena could allocate objects of different sizes and
it would be complex to keep track of the size for each allocation in PODArena.  To address that, this patch
added class PODFreeListArena<T> which only allocates objects of type T (hence the same size).  We can then use a
free list to track freed nodes inside the chunk and reuse the free nodes in future allocations.

Manually tested on nytimes.com and the heap consumption of PODIntervalTree reduced from 1.7MB to 16KB. Performance
doesn't regress on test PerformanceTests/Layout/floats.html.

* WebCore.xcodeproj/project.pbxproj: add new header file PODFreeListArena.h.
* platform/PODArena.h:
(WebCore::PODArena::~PODArena): change dtor to virtual.
(WebCore::PODArena::Chunk::~Chunk): ditto.
* platform/PODFreeListArena.h: Added.
(WebCore::PODFreeListArena::create):
(WebCore::PODFreeListArena::allocateObject): allocate an object.
(WebCore::PODFreeListArena::freeObject): free an object, find the right chunk and update its free list.
(WebCore::PODFreeListArena::allocate): allocate memory from the free list or current chunk.
(WebCore::PODFreeListArena::FreeListChunk::FreeListChunk): add m_freeList to track freed cells.
(WebCore::PODFreeListArena::FreeListChunk::allocate): reuse a free cell if there is one.
(WebCore::PODFreeListArena::FreeListChunk::free): make the memory taken by this object is free, and link it to m_freeList.
(WebCore::PODFreeListArena::FreeListChunk::contains): check if a pointer is inside this chunk.
(WebCore::PODFreeListArena::FreeListChunk::hasFreeList): check if this chunk has free cells.
* platform/PODRedBlackTree.h:
(WebCore::PODRedBlackTree::PODRedBlackTree): take PODFreeListArena instead of PODArena, since nodes of a particular PODRedBlackTree
    is always of the same size.
(WebCore::PODRedBlackTree::clear): mark all nodes before clearing the tree.
(WebCore::PODRedBlackTree::initIfNeeded): add initIfNeeded to take an external PODFreeListArena.
(WebCore::PODRedBlackTree::add):
(WebCore::PODRedBlackTree::deleteNode): mark the node free in arena after it is removed from the tree.
(WebCore::PODRedBlackTree::markFree): mark all node free in the tree.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree):  passing the shared PODFreeListArena to m_placedFloatsTree.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatingObjects::FloatingObjects):
* rendering/RenderView.cpp:
(WebCore::RenderView::intervalArena): create the shared PODFreeListArena lazily.
* rendering/RenderView.h:

Source/WebKit/chromium:

Change the test code in chromium port since PODRedBlackTree now takes PODFreeListArena<T>
in its constructor.

* tests/PODRedBlackTreeTest.cpp:
(WebCore::TEST):

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

8 years agoUnreviewed; rebaseline Chromium speech input image tests.
dmazzoni@google.com [Fri, 16 Dec 2011 07:02:29 +0000 (07:02 +0000)]
Unreviewed; rebaseline Chromium speech input image tests.

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

8 years ago<rdar://problem/10552550> JavaScriptCore uses obsolete 'cpy' mnemonic in ARM assembly
weinig@apple.com [Fri, 16 Dec 2011 06:46:44 +0000 (06:46 +0000)]
<rdar://problem/10552550> JavaScriptCore uses obsolete 'cpy' mnemonic in ARM assembly

Reviewed by Gavin Barraclough.

Original patch by Jim Grosbach.

* jit/JITStubs.cpp:
(JSC::ctiTrampoline):
(JSC::ctiVMThrowTrampoline):
Replace uses of the 'cpy' mnemonic with 'mov'.

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

8 years agoUnreviewed, rollout r102825 because it didn't improve performance.
tony@chromium.org [Fri, 16 Dec 2011 06:40:32 +0000 (06:40 +0000)]
Unreviewed, rollout r102825 because it didn't improve performance.
https://bugs.webkit.org/show_bug.cgi?id=74622

* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::CSSStyleSelector::pseudoStyleForElement):

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

8 years agoNRWT should use free + inactive memory for default_child_processes on OS X (and never...
eric@webkit.org [Fri, 16 Dec 2011 06:02:55 +0000 (06:02 +0000)]
NRWT should use free + inactive memory for default_child_processes on OS X (and never return < 1 process)
https://bugs.webkit.org/show_bug.cgi?id=74650

Reviewed by Adam Barth.

* Scripts/webkitpy/common/system/platforminfo.py:
(PlatformInfo._compute_bytes_from_vm_stat_output):
* Scripts/webkitpy/layout_tests/port/base.py:
(Port.default_child_processes):
* Scripts/webkitpy/layout_tests/port/base_unittest.py:
(PortTest.test_default_child_processes):

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

8 years agoIndexedDB: Clean up WebIDBObjectStore createIndex temp code
commit-queue@webkit.org [Fri, 16 Dec 2011 06:00:00 +0000 (06:00 +0000)]
IndexedDB: Clean up WebIDBObjectStore createIndex temp code
https://bugs.webkit.org/show_bug.cgi?id=74205

Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-15
Reviewed by Darin Fisher.

Remove a method and an implementation that only needed for
older Chromium revisions.

* public/WebIDBObjectStore.h:
(WebKit::WebIDBObjectStore::createIndex):

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

8 years agobencher script should support remote benchmarking on platforms that don't have ruby
fpizlo@apple.com [Fri, 16 Dec 2011 05:56:23 +0000 (05:56 +0000)]
bencher script should support remote benchmarking on platforms that don't have ruby
https://bugs.webkit.org/show_bug.cgi?id=74659

Rubber-stamped by Sam Weinig.

Added the ability to have bencher generate a benchmarking playload that consists of
copies of all of the benchmarks, optionally copies of all of the frameworks and
binaries to run all of the VMs, and a sh script that runs the benchmarks in random
order, which then spits out a raw results file that bencher can parse.

In normal operating mode, you never see this, as it just generates the payload and
script internally, runs it, parses the results, and spits them out.

The --remote mode has been changed to use this style, so any remote host that has
sshd, passwordless login support, a ~/.bencher file that points to a "tempPath", and
a sh-compatible shell can be used for remote benchmarking.

The feature to include VMs in the benchmarking payload is by default only activated
when using --remote, but it can also be activated when doing local benchmarking; the
benefit is that you remove any pathname-related performance pathologies. All VMs
become equal because they are all located in
/path/to/bencher/directory/temp/benchdata/vmN where N is the configuration number
(usually 0 or 1).

Also fixed bugs in the DumpRenderTree support. It's now possible to run all benchmarks
through DumpRenderTree. This is only a bit slower than running in jsc.

* Scripts/bencher:

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

8 years agoValue profiling should distinguished between NaN and non-NaN doubles
fpizlo@apple.com [Fri, 16 Dec 2011 05:32:58 +0000 (05:32 +0000)]
Value profiling should distinguished between NaN and non-NaN doubles
https://bugs.webkit.org/show_bug.cgi?id=74682

Reviewed by Gavin Barraclough.

Added PredictDoubleReal and PredictDoubleNaN. PredictDouble is now the union
of the two.

* bytecode/PredictedType.cpp:
(JSC::predictionToString):
(JSC::predictionFromValue):
* bytecode/PredictedType.h:
(JSC::isDoubleRealPrediction):
(JSC::isDoublePrediction):

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

8 years ago[BlackBerry] Upstream BlackBerry WebCoreSupport drag client and context menu client
commit-queue@webkit.org [Fri, 16 Dec 2011 05:22:48 +0000 (05:22 +0000)]
[BlackBerry] Upstream BlackBerry WebCoreSupport drag client and context menu client
https://bugs.webkit.org/show_bug.cgi?id=74643

Patch by Jacky Jiang <zhajiang@rim.com> on 2011-12-15
Reviewed by Rob Buis.

Initial upstream, no new tests.

* blackberry/WebCoreSupport/ContextMenuClientBlackBerry.cpp: Added.
* blackberry/WebCoreSupport/ContextMenuClientBlackBerry.h: Added.
* blackberry/WebCoreSupport/DragClientBlackBerry.cpp: Added.
* blackberry/WebCoreSupport/DragClientBlackBerry.h: Added.

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

8 years agoChromium Windows (Tests) is failing to build
tony@chromium.org [Fri, 16 Dec 2011 05:21:00 +0000 (05:21 +0000)]
Chromium Windows (Tests) is failing to build
https://bugs.webkit.org/show_bug.cgi?id=74320

Reviewed by Kenneth Russell.

Roll chromium deps to r114686 to pull in a change to how generated
headers include files from third_party/WebKit.  This should make the
file path shorter, reducing the chance of hitting the 260 char path
limit on Windows.

* DEPS: roll to r114686

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

8 years agosizeof(RenderObject) is 32 instead of 24 on Windows
rniwa@webkit.org [Fri, 16 Dec 2011 05:09:51 +0000 (05:09 +0000)]
sizeof(RenderObject) is 32 instead of 24 on Windows
https://bugs.webkit.org/show_bug.cgi?id=74646

Reviewed by Darin Adler.

Make all bitfields in RenderObject to unsigned and wrap them around by RenderObjectBitfields.
Also add a compilation time assertion to make sure we won't grow RenderObject's size unintentionally.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
(WebCore::RenderBlock::layoutColumns):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatWithRect::FloatWithRect):
* rendering/RenderObject.cpp:
(WebCore::SameSizeAsRenderObject::~SameSizeAsRenderObject):
(WebCore::RenderObject::RenderObject):
(WebCore::RenderObject::markContainingBlocksForLayout):
(WebCore::RenderObject::setPreferredLogicalWidthsDirty):
(WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
(WebCore::RenderObject::styleWillChange):
(WebCore::RenderObject::styleDidChange):
(WebCore::RenderObject::willBeDestroyed):
(WebCore::RenderObject::updateDragState):
* rendering/RenderObject.h:
(WebCore::RenderObject::hasCounterNodeMap):
(WebCore::RenderObject::setHasCounterNodeMap):
(WebCore::RenderObject::childrenInline):
(WebCore::RenderObject::setChildrenInline):
(WebCore::RenderObject::hasColumns):
(WebCore::RenderObject::setHasColumns):
(WebCore::RenderObject::inRenderFlowThread):
(WebCore::RenderObject::setInRenderFlowThread):
(WebCore::RenderObject::isAnonymous):
(WebCore::RenderObject::setIsAnonymous):
(WebCore::RenderObject::isAnonymousBlock):
(WebCore::RenderObject::isFloating):
(WebCore::RenderObject::isPositioned):
(WebCore::RenderObject::isRelPositioned):
(WebCore::RenderObject::isText):
(WebCore::RenderObject::isBox):
(WebCore::RenderObject::isInline):
(WebCore::RenderObject::isDragging):
(WebCore::RenderObject::isReplaced):
(WebCore::RenderObject::isHorizontalWritingMode):
(WebCore::RenderObject::hasLayer):
(WebCore::RenderObject::hasBoxDecorations):
(WebCore::RenderObject::needsLayout):
(WebCore::RenderObject::selfNeedsLayout):
(WebCore::RenderObject::needsPositionedMovementLayout):
(WebCore::RenderObject::needsPositionedMovementLayoutOnly):
(WebCore::RenderObject::posChildNeedsLayout):
(WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
(WebCore::RenderObject::normalChildNeedsLayout):
(WebCore::RenderObject::preferredLogicalWidthsDirty):
(WebCore::RenderObject::hasOverflowClip):
(WebCore::RenderObject::hasTransform):
(WebCore::RenderObject::node):
(WebCore::RenderObject::setPositioned):
(WebCore::RenderObject::setRelPositioned):
(WebCore::RenderObject::setFloating):
(WebCore::RenderObject::setInline):
(WebCore::RenderObject::setHasBoxDecorations):
(WebCore::RenderObject::setIsText):
(WebCore::RenderObject::setIsBox):
(WebCore::RenderObject::setReplaced):
(WebCore::RenderObject::setHorizontalWritingMode):
(WebCore::RenderObject::setHasOverflowClip):
(WebCore::RenderObject::setHasLayer):
(WebCore::RenderObject::setHasTransform):
(WebCore::RenderObject::setHasReflection):
(WebCore::RenderObject::hasReflection):
(WebCore::RenderObject::setHasMarkupTruncation):
(WebCore::RenderObject::hasMarkupTruncation):
(WebCore::RenderObject::selectionState):
(WebCore::RenderObject::setSelectionState):
(WebCore::RenderObject::hasSelectedChildren):
(WebCore::RenderObject::isMarginBeforeQuirk):
(WebCore::RenderObject::isMarginAfterQuirk):
(WebCore::RenderObject::setMarginBeforeQuirk):
(WebCore::RenderObject::setMarginAfterQuirk):
(WebCore::RenderObject::everHadLayout):
(WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
(WebCore::RenderObject::RenderObjectBitfields::selectionState):
(WebCore::RenderObject::RenderObjectBitfields::setSelectionState):
(WebCore::RenderObject::setNeedsPositionedMovementLayout):
(WebCore::RenderObject::setNormalChildNeedsLayout):
(WebCore::RenderObject::setPosChildNeedsLayout):
(WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
(WebCore::RenderObject::setPaintBackground):
(WebCore::RenderObject::setIsDragging):
(WebCore::RenderObject::setEverHadLayout):
(WebCore::RenderObject::setNeedsLayout):
(WebCore::RenderObject::setChildNeedsLayout):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
* rendering/svg/RenderSVGContainer.cpp:
(WebCore::RenderSVGContainer::layout):

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

8 years ago[BlackBerry] Upstream BlackBerry porting of pluginView
leo.yang@torchmobile.com.cn [Fri, 16 Dec 2011 04:41:14 +0000 (04:41 +0000)]
[BlackBerry] Upstream BlackBerry porting of pluginView
https://bugs.webkit.org/show_bug.cgi?id=73397

Patch by Wei Charles <charles.wei@torchmobile.com.cn> on 2011-12-15
Reviewed by Daniel Bates.

No new tests for now.

* plugins/blackberry/PluginViewBlackBerry.cpp: Added.

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

8 years agoIndexedDB: Can't pass DOMStringList to IDBDatabase.transaction()
commit-queue@webkit.org [Fri, 16 Dec 2011 04:23:15 +0000 (04:23 +0000)]
IndexedDB: Can't pass DOMStringList to IDBDatabase.transaction()
https://bugs.webkit.org/show_bug.cgi?id=74452

Patch by Joshua Bell <jsbell@chromium.org> on 2011-12-15
Reviewed by Adam Barth.

Source/WebCore:

V8 code generator generated checks for DOMStringList arguments, then
deferred to a function that only handled array inputs. This previously
worked for IndexedDB because it would fall into a now-removed default
handler.

Modified storage/indexeddb/transaction-basics.html to test this.

* bindings/v8/V8Binding.cpp:
(WebCore::v8ValueToWebCoreDOMStringList):

LayoutTests:

* storage/indexeddb/transaction-basics-expected.txt:
* storage/indexeddb/transaction-basics.html:

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

8 years agoMake Element::setAttributeInternal inline in an attempt to avoid function call overhead
adamk@chromium.org [Fri, 16 Dec 2011 04:19:33 +0000 (04:19 +0000)]
Make Element::setAttributeInternal inline in an attempt to avoid function call overhead
https://bugs.webkit.org/show_bug.cgi?id=74638

Reviewed by Andreas Kling.

In r102695, I factored common code in setAttribute into
Element::setAttributeInternal. This may have caused a perf regression
due to the extra function call, which inlining should eliminate.

Running Dromaeo locally suggests that this will improve performance
by ~9% on the "dom-attr element.property = value" test (which assigns
a value to an element's id).

* dom/Element.cpp:
(WebCore::Element::setAttributeInternal):

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

8 years agoUpstream FileSystemBlackBerry.cpp into WebCore/platform/blackberry
commit-queue@webkit.org [Fri, 16 Dec 2011 04:03:47 +0000 (04:03 +0000)]
Upstream FileSystemBlackBerry.cpp into WebCore/platform/blackberry
https://bugs.webkit.org/show_bug.cgi?id=74491

Patch by Mary Wu <mary.wu@torchmobile.com.cn> on 2011-12-15
Reviewed by Rob Buis.

We are using POSIX porting of FileSystem, so here only implement other
necessary functions.

Initial upstream, no new tests.

* platform/blackberry/FileSystemBlackBerry.cpp: Added.
(WebCore::homeDirectoryPath):
(WebCore::fileSystemRepresentation):
(WebCore::unloadModule):
(WebCore::openTemporaryFile):

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

8 years ago[chromium] Clean up unnecessary leaf functions in GraphicsLayerChromium
enne@google.com [Fri, 16 Dec 2011 03:43:40 +0000 (03:43 +0000)]
[chromium] Clean up unnecessary leaf functions in GraphicsLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=74140

Reviewed by James Robinson.

Tested by existing compositor layout tests.

This is a follow-on cleanup to r102196, which made some of these
functions less useful than they had been in the past.

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::setContentsOpaque):
(WebCore::GraphicsLayerChromium::setBackfaceVisibility):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
* platform/graphics/chromium/GraphicsLayerChromium.h:

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

8 years agowebkitpy: clean up TestPort to (mostly) not create a new filesystem
dpranke@chromium.org [Fri, 16 Dec 2011 03:41:12 +0000 (03:41 +0000)]
webkitpy: clean up TestPort to (mostly) not create a new filesystem
https://bugs.webkit.org/show_bug.cgi?id=74556

This change modifies the TestPort to be ready to add tests to an
existing filesystem instead of creating a new filesystem; we
leave unit_test_filesystem() in for now for compatibility.

* Scripts/webkitpy/common/host_mock.py:
(MockHost.__init__):
  - call add_unit_tests_to_mock_filesystem by default to make
    the MockHost more generally useful for layout_test unit tests.
* Scripts/webkitpy/layout_tests/port/test.py:
(TestInstance.__init__):
(add_unit_tests_to_mock_filesystem):
(add_file):
(unit_test_filesystem):
(TestPort.__init__):
(TestPort._set_default_overriding_none):

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

8 years agoUnreviewed, rolling out r103000.
kbr@google.com [Fri, 16 Dec 2011 03:05:08 +0000 (03:05 +0000)]
Unreviewed, rolling out r103000.
http://trac.webkit.org/changeset/103000
https://bugs.webkit.org/show_bug.cgi?id=74658

Does not handle text/plain documents correctly.

Source/WebCore:

* html/parser/HTMLTokenizer.cpp:
* html/parser/HTMLTokenizer.h:
* html/parser/HTMLTreeBuilder.cpp:
* html/parser/HTMLTreeBuilder.h:
* xml/parser/MarkupTokenizerBase.h:

LayoutTests:

* html5lib/runner-expected.txt:
* platform/chromium/html5lib/runner-expected.txt:

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

8 years agowebkitpy: cleanup prior to systemhostifying the layout_test/port* classes
dpranke@chromium.org [Fri, 16 Dec 2011 03:02:33 +0000 (03:02 +0000)]
webkitpy: cleanup prior to systemhostifying the layout_test/port* classes
https://bugs.webkit.org/show_bug.cgi?id=74551

This is some minor cleanup prior to making all of the host/port
changes described in bug 74138.

* Scripts/webkitpy/common/host_mock.py:
(MockHost.__init__):
  - make sure the scm object is initialized with the same mock
    executive and filesystem objects.

* Scripts/webkitpy/common/system/filesystem_mock.py:
(MockFileSystem.clear_written_files):
  - add a routine that will be useful in testing.
(MockFileSystem.maybe_make_directory):
(MockFileSystem.write_binary_file):
  - fix bugs to make sure directories are created properly.
* Scripts/webkitpy/layout_tests/controllers/manager_worker_broker.py:
(_Process.run):
  - add clarifying comments.
* Scripts/webkitpy/layout_tests/port/mock_drt.py:
(MockDRTPort.__init__):
(MockDRT.__init__):
  - add clarifying comments.

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

8 years ago[chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
jamesr@google.com [Fri, 16 Dec 2011 02:32:29 +0000 (02:32 +0000)]
[chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
https://bugs.webkit.org/show_bug.cgi?id=74477

Reviewed by Kenneth Russell.

Source/WebCore:

This enforces that the m_layerTreeHost pointer on LayerChromium instances is always up to date, instead of
lazily setting it in the paintContents loop. There are two invariants:
1.) If a LayerChromium is the root layer of a CCLayerTreeHost, or is reachable via the children, mask, or
replica pointers from the root layer of a CCLayerTreeHost, then that LayerChromium's m_layerTreeHost pointer
refers to that CCLayerTreeHost
2.) If a LayerChromium is not a root layer or reachable from a root layer of any CCLayerTreeHost, its
CCLayerTreeHost pointer is nil.

Covered by several new layout tests in LayerChromiumTest

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::setLayerTreeHost):
(WebCore::LayerChromium::setParent):
(WebCore::LayerChromium::setMaskLayer):
(WebCore::LayerChromium::setReplicaLayer):
* platform/graphics/chromium/LayerChromium.h:
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore::TiledLayerChromium::createTile):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::setRootLayer):
(WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
(WebCore::CCLayerTreeHost::paintLayerContents):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:

Source/WebKit/chromium:

Add some new tests for LayerChromium::m_layerTreeHost behavior.

* tests/CCLayerTreeHostTest.cpp:
(::MockLayerTreeHost::create):
(::MockLayerTreeHost::MockLayerTreeHost):
(::CCLayerTreeHostTestShortlived1::beginTest):
(::CCLayerTreeHostTestShortlived2::beginTest):
(::CCLayerTreeHostTestShortlived3::beginTest):
* tests/LayerChromiumTest.cpp:

LayoutTests:

* platform/chromium/test_expectations.txt:

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

8 years agoAdd support for accelerated compositing to the tiled Core Animation drawing area
andersca@apple.com [Fri, 16 Dec 2011 02:32:08 +0000 (02:32 +0000)]
Add support for accelerated compositing to the tiled Core Animation drawing area
https://bugs.webkit.org/show_bug.cgi?id=74675

Reviewed by Andreas Kling.

Add a layer flush scheduler and get rid of the content layer since WebCore will manage that for us.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::~TiledCoreAnimationDrawingArea):
(WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
(WebKit::TiledCoreAnimationDrawingArea::scroll):
(WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
(WebKit::TiledCoreAnimationDrawingArea::scheduleCompositingLayerSync):
(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):

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

8 years agoUnreviewed, rolling out r102652 and r102717.
commit-queue@webkit.org [Fri, 16 Dec 2011 02:15:22 +0000 (02:15 +0000)]
Unreviewed, rolling out r102652 and r102717.
http://trac.webkit.org/changeset/102652
http://trac.webkit.org/changeset/102717
https://bugs.webkit.org/show_bug.cgi?id=74674

Broke too many webs. (Requested by kling on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-12-15

Source/WebCore:

* WebCore.exp.in:

Source/WebKit2:

* UIProcess/API/mac/WKView.mm:
(-[WKView _updateWindowAndViewFrames]):
* UIProcess/WebPageProxy.h:
* UIProcess/mac/WebPageProxyMac.mm:
(WebKit::WebPageProxy::windowAndViewFramesChanged):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::windowAndViewFramesChanged):
* WebProcess/Plugins/PluginView.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::windowRect):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::windowAndViewFramesChanged):
* WebProcess/WebPage/WebPage.h:
(WebKit::WebPage::windowFrameInScreenCoordinates):
(WebKit::WebPage::viewFrameInWindowCoordinates):
(WebKit::WebPage::accessibilityPosition):
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
(-[WKAccessibilityWebPageObject accessibilityAttributeValue:]):

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

8 years agoSource/JavaScriptCore: Regression (r102866): Navigating away from or closing a page...
andersca@apple.com [Fri, 16 Dec 2011 02:00:43 +0000 (02:00 +0000)]
Source/JavaScriptCore: Regression (r102866): Navigating away from or closing a page with a plugin crashes
https://bugs.webkit.org/show_bug.cgi?id=74655
<rdar://problem/10590024>

Reviewed by Sam Weinig.

Rewrite HasRefAndDeref to work if ref and deref are implemented in base classes,
using a modified version of the technique described here:
http://groups.google.com/group/comp.lang.c++.moderated/msg/e5fbc9305539f699

* wtf/Functional.h:

Tools: Regression (r102866): Navigating away from or closing a page with a plugin crashes
https://bugs.webkit.org/show_bug.cgi?id=74655

Reviewed by Sam Weinig.

Add a bunch of tests.

* TestWebKitAPI/Tests/WTF/Functional.cpp:

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

8 years agoLazily create the scrolling coordinator and add a setting for enabling it
andersca@apple.com [Fri, 16 Dec 2011 01:50:47 +0000 (01:50 +0000)]
Lazily create the scrolling coordinator and add a setting for enabling it
https://bugs.webkit.org/show_bug.cgi?id=74667

Reviewed by Darin Adler.

* WebCore.xcodeproj/project.pbxproj:
Make ScrollingCoordinator.h a private header so it can be used in WebKit.
* page/Page.cpp:
(WebCore::Page::Page):
Don't create the scrolling coordinator.

(WebCore::Page::~Page):
Check for a null scrolling coordinator.

(WebCore::Page::scrollingCoordinator):
Create the scrolling coordinator lazily.

* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setScrollingCoordinatorEnabled):
(WebCore::Settings::scrollingCoordinatorEnabled):
Add a setting for enabling the scrolling coordinator.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking):
Use a tile cache layer for the main frame when the scrolling coordinator is neabled.

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

8 years agoUnreviewed. Fix build break when data-transfer-items is enabled.
gyuyoung.kim@samsung.com [Fri, 16 Dec 2011 01:33:56 +0000 (01:33 +0000)]
Unreviewed. Fix build break when data-transfer-items is enabled.

* platform/efl/ClipboardEfl.cpp:
(WebCore::ClipboardEfl::items):
* platform/efl/ClipboardEfl.h:

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

8 years ago<ruby><div><p><rp> parses incorrectly
abarth@webkit.org [Fri, 16 Dec 2011 01:19:44 +0000 (01:19 +0000)]
<ruby><div><p><rp> parses incorrectly
https://bugs.webkit.org/show_bug.cgi?id=74668

Reviewed by Darin Adler.

Source/WebCore:

This patch updates our implementation to match a change to the HTML5
specification regarding how <ruby> elements parse.  Previously, <rp>
and similar tags used to pop the stack up to the <ruby> element.  Now
the popping does not occur.

Tests: html5lib/runner.html

* html/parser/HTMLTreeBuilder.cpp:

LayoutTests:

Update test results to show progression.

* html5lib/runner-expected.txt:
* platform/chromium/html5lib/runner-expected.txt:

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

8 years ago[Chromium] Avoid strdup() for extra argument when tracing is disabled.
commit-queue@webkit.org [Fri, 16 Dec 2011 01:17:45 +0000 (01:17 +0000)]
[Chromium] Avoid strdup() for extra argument when tracing is disabled.
https://bugs.webkit.org/show_bug.cgi?id=74637

Patch by Daniel Sievers <sievers@chromium.org> on 2011-12-15
Reviewed by James Robinson.

* platform/chromium/TraceEvent.h:
(WebCore::internal::ScopeTracer::ScopeTracer):

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

8 years agoWarnings fixes in Interpreter.cpp and PrivateExecute.cpp
commit-queue@webkit.org [Fri, 16 Dec 2011 01:12:45 +0000 (01:12 +0000)]
Warnings fixes in Interpreter.cpp and PrivateExecute.cpp
https://bugs.webkit.org/show_bug.cgi?id=74624

Patch by Andy Wingo <wingo@igalia.com> on 2011-12-15
Reviewed by Darin Adler.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute): Fix variables unused in
release mode.
* wtf/ParallelJobsGeneric.cpp:
(WTF::ParallelEnvironment::ParallelEnvironment): Fix
signed/unsigned comparison warning, with a cast.

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=74469
slewis@apple.com [Fri, 16 Dec 2011 01:08:25 +0000 (01:08 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=74469
Escape paths to svn commands so our tools can handle filenames with @ symbols.

Reviewed by Adam Roben.

* Scripts/VCSUtils.pm:
(scmMoveOrRenameFile):
(scmAddExecutableBit):
(scmRemoveExecutableBit):
(determineSVNRoot):
(svnRevisionForDirectory):
(pathRelativeToSVNRepositoryRootForPath):
(svnStatus):
(escapeSubversionPath):
* Scripts/parse-malloc-history:
(main):
* Scripts/prepare-ChangeLog:
(diffCommand):
(statusCommand):
(findOriginalFileFromSvn):
(determinePropertyChanges):
* Scripts/resolve-ChangeLogs:
(conflictFiles):
(resolveConflict):
(showStatus):
* Scripts/svn-apply:
(patch):
(scmCopy):
(scmAdd):
(scmRemove):
* Scripts/svn-create-patch:
(findBaseUrl):
(findMimeType):
(findSourceFileAndRevision):
(generateDiff):
(generateFileList):
(manufacturePatchForAdditionWithHistory):
* Scripts/svn-unapply:
(patch):
(revertDirectories):

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

8 years ago[MutationObservers] Add a document-level flag that can trivially be checked to avoid...
adamk@chromium.org [Fri, 16 Dec 2011 00:59:39 +0000 (00:59 +0000)]
[MutationObservers] Add a document-level flag that can trivially be checked to avoid doing unnessary work if mutation observers absent
https://bugs.webkit.org/show_bug.cgi?id=74641

Patch by Rafael Weinstein <rafaelw@chromium.org> on 2011-12-15
Reviewed by Ojan Vafai.

This patch adds a byte of flags to Document, of which three bits are used to signal if any
node owned by the document has a Mutation Observer of the given type. This is used to
reduce the cost of discovering there are none to a single (inlined) method call and bit-check.
Also, a similar byte of flags which was used to optimize a particular case when mutation observers
are present has been removed, with the reasoning that we should first focus on minimizing impact on
the null-case before optimizing particular in-use cases.

Also, MutationObserverInterestGroup is broken out into its own file (which probably should have happened
earlier, but now avoids a circular header dependency).

No tests needed. This patch is just a refactor.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* css/CSSMutableStyleDeclaration.cpp:
* dom/CharacterData.cpp:
* dom/ChildListMutationScope.cpp:
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore::Document::hasMutationObserversOfType):
(WebCore::Document::hasMutationObservers):
(WebCore::Document::addMutationObserverTypes):
* dom/Element.cpp:
* dom/MutationObserverInterestGroup.cpp: Added.
(WebCore::MutationObserverInterestGroup::createIfNeeded):
(WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
(WebCore::MutationObserverInterestGroup::isOldValueRequested):
(WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
* dom/MutationObserverInterestGroup.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.
(WebCore::MutationObserverInterestGroup::createForChildListMutation):
(WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
(WebCore::MutationObserverInterestGroup::createForAttributesMutation):
(WebCore::MutationObserverInterestGroup::hasOldValue):
* dom/Node.cpp:
(WebCore::Node::didMoveToNewOwnerDocument):
(WebCore::Node::getRegisteredMutationObserversOfType):
(WebCore::Node::notifyMutationObserversNodeWillDetach):
* dom/Node.h:
* dom/WebKitMutationObserver.cpp:
(WebCore::WebKitMutationObserver::observe):
* dom/WebKitMutationObserver.h:

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

8 years ago<!DOCTYPE html><pre>&#x0a;&#x0a;A</pre> doesn't parse correctly
abarth@webkit.org [Fri, 16 Dec 2011 00:51:06 +0000 (00:51 +0000)]
<!DOCTYPE html><pre>&#x0a;&#x0a;A</pre> doesn't parse correctly
https://bugs.webkit.org/show_bug.cgi?id=74658

Reviewed by Darin Adler.

Source/WebCore:

Previously, we handled skipping newlines after <pre> in the tokenizer,
which isn't how the spec handles them.  Instead, the spec skips them in
the tree builder.  This isn't usually observable, except in the case of
an HTML entity.  In that case, the tokenzier sees '&' (because the
entity hasn't been decoded yet), but the tree builder sees '\n' (the
decoded entity).  This patch fixes the bug by more closely aligning our
implementation with the spec.

Test: html5lib/runner.html

* html/parser/HTMLTokenizer.cpp:
(WebCore::HTMLTokenizer::reset):
(WebCore::HTMLTokenizer::nextToken):
* html/parser/HTMLTokenizer.h:
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipAtMostOneLeadingNewline):
(WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processCharacterBuffer):
* html/parser/HTMLTreeBuilder.h:
* xml/parser/MarkupTokenizerBase.h:

LayoutTests:

Shows test progression.

* html5lib/runner-expected.txt:

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

8 years agoUnreviewed, rolling out r102989.
kbr@google.com [Fri, 16 Dec 2011 00:44:56 +0000 (00:44 +0000)]
Unreviewed, rolling out r102989.
http://trac.webkit.org/changeset/102989
https://bugs.webkit.org/show_bug.cgi?id=74580

Caused SHOULD NOT BE REACHED assertions in debug builds.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EBoxAlignment):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
* rendering/RenderFullScreen.cpp:
(createFullScreenStyle):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::boxPack):
(WebCore::InheritedFlags::setBoxAlign):
(WebCore::InheritedFlags::setBoxPack):
(WebCore::InheritedFlags::initialBoxPack):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleDeprecatedFlexibleBoxData.h:

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

8 years ago[BlackBerry] Regression: lots of checkerboarding
commit-queue@webkit.org [Fri, 16 Dec 2011 00:41:00 +0000 (00:41 +0000)]
[BlackBerry] Regression: lots of checkerboarding
https://bugs.webkit.org/show_bug.cgi?id=74611

Patch by Jacky Jiang <zhajiang@rim.com> on 2011-12-15
Reviewed by Daniel Bates.

Fix a regression caused by r102843 which introduced a lot of unnecessary
checkerboarding. R102843 changed behavior by removing a check for blit
based on whether the render actually took place and whether the
backingstore was in the midst of suspended updates.
The initial anthor is Adam Treat <atreat@rim.com>.

* blackberry/Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::repaint):
(BlackBerry::WebKit::BackingStorePrivate::slowScroll):
(BlackBerry::WebKit::BackingStorePrivate::renderVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::renderBackingStore):
* blackberry/Api/BackingStore_p.h:
(BlackBerry::WebKit::BackingStorePrivate::isSuspended):

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

8 years agoCreate reftest for render-region-renderer
commit-queue@webkit.org [Fri, 16 Dec 2011 00:37:08 +0000 (00:37 +0000)]
Create reftest for render-region-renderer
https://bugs.webkit.org/show_bug.cgi?id=74518

Patch by Larry McLister <lmcliste@adobe.com> on 2011-12-15
Reviewed by Tony Chang.

* fast/regions/render-region-renderer-expected.html: Added.
* platform/chromium/test_expectations.txt:
* platform/efl/fast/regions/render-region-renderer-expected.png: Removed.
* platform/efl/fast/regions/render-region-renderer-expected.txt: Removed.
* platform/mac/fast/regions/render-region-renderer-expected.png: Removed.
* platform/mac/fast/regions/render-region-renderer-expected.txt: Removed.

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

8 years ago[qt][wk2] MiniBrowser: Add pressed state for viewport info button.
commit-queue@webkit.org [Fri, 16 Dec 2011 00:32:27 +0000 (00:32 +0000)]
[qt][wk2] MiniBrowser: Add pressed state for viewport info button.
https://bugs.webkit.org/show_bug.cgi?id=74617

Patch by Michael Bruning <michael.bruning@nokia.com> on 2011-12-15
Reviewed by Kenneth Rohde Christiansen.

* MiniBrowser/qt/qml/BrowserWindow.qml: Added state dependent coloring
for viewport info button, adjusted height and added rounded corners.

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

8 years agoUnreviewed Chromium test expectations update.
bashi@chromium.org [Fri, 16 Dec 2011 00:25:09 +0000 (00:25 +0000)]
Unreviewed Chromium test expectations update.
Rebaseline fast/text/unicode-variation-selector.html.

* platform/chromium-cg-mac-leopard/fast/text/unicode-variation-selector-expected.png: Added.
* platform/chromium-cg-mac-snowleopard/fast/text/unicode-variation-selector-expected.png: Added.
* platform/chromium-linux/fast/text/unicode-variation-selector-expected.png: Added.
* platform/chromium-linux/fast/text/unicode-variation-selector-expected.txt: Added.
* platform/chromium-mac-leopard/fast/text/unicode-variation-selector-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/text/unicode-variation-selector-expected.png: Added.
* platform/chromium-win/fast/text/unicode-variation-selector-expected.png: Added.
* platform/chromium-win/fast/text/unicode-variation-selector-expected.txt: Added.
* platform/chromium/fast/text/unicode-variation-selector-expected.txt: Added.
* platform/chromium/test_expectations.txt:

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

8 years agoTestFailures: store the name of the buildbot results directory in a property
aestes@apple.com [Fri, 16 Dec 2011 00:18:35 +0000 (00:18 +0000)]
TestFailures: store the name of the buildbot results directory in a property
https://bugs.webkit.org/show_bug.cgi?id=74663

Reviewed by Adam Barth.

Store the name of the results directory as a property on Buildbot's
prototype. This allows subclasses of Buildbot to customize the results
directory.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/Buildbot.js:
(Buildbot.prototype.resultsDirectoryURL):

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

8 years ago[CMake] Remove ENABLE_DATAGRID from the buildsystem.
kubo@profusion.mobi [Fri, 16 Dec 2011 00:02:59 +0000 (00:02 +0000)]
[CMake] Remove ENABLE_DATAGRID from the buildsystem.
https://bugs.webkit.org/show_bug.cgi?id=74640

Reviewed by Antonio Gomes.

r84991 removed Datagrid from the tree, but the options in CMake were
kept.

* Source/cmake/OptionsBlackBerry.cmake:
* Source/cmake/OptionsEfl.cmake:
* Source/cmake/OptionsWinCE.cmake:
* Source/cmakeconfig.h.cmake:

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

8 years agoTouch make_name.pl in an attempt to make Qt bots happy.
rniwa@webkit.org [Thu, 15 Dec 2011 23:50:17 +0000 (23:50 +0000)]
Touch make_name.pl in an attempt to make Qt bots happy.

* dom/make_names.pl:
(printNamesHeaderFile):

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

8 years agoUnreviewed. Rebaselined run-bindings-tests results.
haraken@chromium.org [Thu, 15 Dec 2011 23:48:19 +0000 (23:48 +0000)]
Unreviewed. Rebaselined run-bindings-tests results.

* bindings/scripts/test/JS/JSFloat64Array.cpp:
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:

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

8 years ago[chromium] pass --delete_unversioned_trees to gclient on the bots
tony@chromium.org [Thu, 15 Dec 2011 23:46:48 +0000 (23:46 +0000)]
[chromium] pass --delete_unversioned_trees to gclient on the bots
https://bugs.webkit.org/show_bug.cgi?id=74565

Reviewed by Kenneth Russell.

It was temporarily removed in r102891 to keep the bots green.  Now
that the bots have cycled, we can add it back.

* Scripts/update-webkit-chromium:

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

8 years agoSeparate box alignment and box pack values into separate enums.
macpherson@chromium.org [Thu, 15 Dec 2011 23:44:20 +0000 (23:44 +0000)]
Separate box alignment and box pack values into separate enums.
https://bugs.webkit.org/show_bug.cgi?id=74580

Reviewed by Darin Adler.

No new tests / refactoring only.

Separating these types cleans up the code by removing several assertions that
values are in the correct ranges, as this is ensured by the type system.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EBoxPack):
(WebCore::CSSPrimitiveValue::operator EBoxAlignment):
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
(WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
* rendering/RenderFullScreen.cpp:
(createFullScreenStyle):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::boxPack):
(WebCore::InheritedFlags::setBoxAlign):
(WebCore::InheritedFlags::setBoxPack):
(WebCore::InheritedFlags::initialBoxPack):
* rendering/style/RenderStyleConstants.h:
* rendering/style/StyleDeprecatedFlexibleBoxData.h:

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

8 years ago[Refactoring] In prepare-ChangeLog, make several global variables be used only throug...
haraken@chromium.org [Thu, 15 Dec 2011 23:13:40 +0000 (23:13 +0000)]
[Refactoring] In prepare-ChangeLog, make several global variables be used only through parameter passing
https://bugs.webkit.org/show_bug.cgi?id=74497

Reviewed by Ryosuke Niwa.

We are planning to write unit-tests for prepare-ChangeLog in a run-leaks_unittest
manner. This bug is one of the incremental refactorings to remove all top-level
code and global variables from prepare-ChangeLog. In this patch,
we make the following global variables be used only through parameter passing.
    - $bugDescription
    - $bugNumber
    - $name
    - $emailAddress
    - $gitReviewer
    - $writeChangeLogs

* Scripts/prepare-ChangeLog:
(fetchBugDescriptionFromURL):
(generateNewChangeLogs):
(reviewerAndDescriptionForGitCommit):

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

8 years agoREGRESSION(r102663): generate-bindings.pl runs every time
haraken@chromium.org [Thu, 15 Dec 2011 23:10:33 +0000 (23:10 +0000)]
REGRESSION(r102663): generate-bindings.pl runs every time
https://bugs.webkit.org/show_bug.cgi?id=74481

Reviewed by Adam Barth.

See the comment #1 of bug 74481 for the cause of this bug.

This patch fixes generate-bindings.pl so that it generates .h and .cpp files
even for IDL files that do not need .h and .cpp files. This is just to prevent
build scripts from trying to generate .h and .cpp files at every build.

No new tests. No change in behavior.

* bindings/scripts/generate-bindings.pl:
(generateEmptyHeaderAndCpp): Generates .h and .cpp files for IDL files
that do not need .h and .cpp files.
* bindings/scripts/test/CPP/CPPTestSupplemental.cpp: Added.
* bindings/scripts/test/CPP/CPPTestSupplemental.h: Added.
* bindings/scripts/test/GObject/GObjectTestSupplemental.cpp: Added.
* bindings/scripts/test/GObject/GObjectTestSupplemental.h: Added.
* bindings/scripts/test/JS/JSTestSupplemental.cpp: Added.
* bindings/scripts/test/JS/JSTestSupplemental.h: Added.
* bindings/scripts/test/ObjC/ObjCTestSupplemental.cpp: Added.
* bindings/scripts/test/ObjC/ObjCTestSupplemental.h: Added.
* bindings/scripts/test/V8/V8TestSupplemental.cpp: Added.
* bindings/scripts/test/V8/V8TestSupplemental.h: Added.

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

8 years agoUnreviewed Chromium test expectations update; pull up some
kbr@google.com [Thu, 15 Dec 2011 22:19:11 +0000 (22:19 +0000)]
Unreviewed Chromium test expectations update; pull up some
downstream suppressions.

* platform/chromium/test_expectations.txt:

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

8 years agoUnreviewed build fix. Mac build broken when CSS Filters enabled.
jarred@sencha.com [Thu, 15 Dec 2011 22:17:04 +0000 (22:17 +0000)]
Unreviewed build fix. Mac build broken when CSS Filters enabled.
Needed to move Filter headers out as private headers in WebCore.framework.

* WebCore.xcodeproj/project.pbxproj:

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

8 years agoWebCore has two (disconnected) ways to keep track of updated widgets, should be unified
eric@webkit.org [Thu, 15 Dec 2011 22:00:09 +0000 (22:00 +0000)]
WebCore has two (disconnected) ways to keep track of updated widgets, should be unified
https://bugs.webkit.org/show_bug.cgi?id=74367

Reviewed by Adam Barth.

It seems the FrameView updateWidgets set is needed for now,
so just making FrameView::addWidgetToUpdate mark the DOM node
as needing a widget update and later when it goes to call
updateWidget() checking first if it needs an update.

No new tests, just adding an assert.

* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateWidget):
* html/HTMLPlugInImageElement.h:
(WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
(WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
* page/FrameView.cpp:
(WebCore::FrameView::addWidgetToUpdate):
(WebCore::FrameView::updateWidget):

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

8 years agoWindows project file is broken. It has a missing </File> enclosing tag
achicu@adobe.com [Thu, 15 Dec 2011 21:56:15 +0000 (21:56 +0000)]
Windows project file is broken. It has a missing </File> enclosing tag
https://bugs.webkit.org/show_bug.cgi?id=74632

Reviewed by Anders Carlsson.

No new tests, just fixing the project file.

* WebCore.vcproj/WebCore.vcproj:

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

8 years ago<table><tr><td><svg><desc><td> parses incorrectly
abarth@webkit.org [Thu, 15 Dec 2011 21:35:23 +0000 (21:35 +0000)]
<table><tr><td><svg><desc><td> parses incorrectly
https://bugs.webkit.org/show_bug.cgi?id=68106

Reviewed by Eric Seidel.

Source/WebCore:

This patch updates our implementation of the HTML5 parser to account
for recent changes in the spec.  The main change in this patch is to
remove the "in foreign content" state from the tree builder.  Rather
than maintaining this as a separate state, the parser now introspects
on the stack of open elements to determine whether the parser is in
foriegn content.  In the process, I've deleted some now-unused
machinery in the tree builder.

Tested by the html5lib LayoutTests.  These tests show the progression
in our spec compliance.

* html/parser/HTMLElementStack.cpp:
* html/parser/HTMLElementStack.h:
* html/parser/HTMLTreeBuilder.cpp:
* html/parser/HTMLTreeBuilder.h:
* mathml/mathattrs.in:

LayoutTests:

* html5lib/resources/webkit01.dat:
    - This test had an incorrect expectation that matched our previous
      behavior.  The new expected result matches Firefox's
      implemenation as well.
* html5lib/runner-expected.txt:
* platform/chromium/html5lib/runner-expected.txt:
    - Updated to show test progressions.  The one non-monotonic
      improvement is some churn in which of the unsafe-text tests we
      pass.  I'll look into this issue in a future patch.

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

8 years ago[chromium] Add forUseOnAnotherThread to WebGraphicsContext3D::Attributes
nduca@chromium.org [Thu, 15 Dec 2011 21:34:02 +0000 (21:34 +0000)]
[chromium] Add forUseOnAnotherThread to WebGraphicsContext3D::Attributes
https://bugs.webkit.org/show_bug.cgi?id=74557

Reviewed by Kenneth Russell.

* public/platform/WebGraphicsContext3D.h:
(WebKit::WebGraphicsContext3D::Attributes::Attributes):
* src/GraphicsContext3DChromium.cpp:

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

8 years agom_hasCounterNodeMap and m_everHadLayout should be private to RenderObject
rniwa@webkit.org [Thu, 15 Dec 2011 21:30:21 +0000 (21:30 +0000)]
m_hasCounterNodeMap and m_everHadLayout should be private to RenderObject
https://bugs.webkit.org/show_bug.cgi?id=74645

Reviewed by Eric Seidel.

Made them private and added getters and setters as needed.

* rendering/RenderCounter.cpp:
(WebCore::makeCounterNode):
(WebCore::RenderCounter::destroyCounterNodes):
(WebCore::updateCounters):
(WebCore::RenderCounter::rendererStyleChanged):
(showCounterRendererTree):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::layout):
* rendering/RenderObject.h:
(WebCore::RenderObject::hasCounterNodeMap):
(WebCore::RenderObject::setHasCounterNodeMap):
(WebCore::RenderObject::everHadLayout):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::layout):
* rendering/svg/RenderSVGImage.cpp:
(WebCore::RenderSVGImage::layout):
* rendering/svg/RenderSVGResourceContainer.cpp:
(WebCore::RenderSVGResourceContainer::layout):
* rendering/svg/RenderSVGResourceMarker.cpp:
(WebCore::RenderSVGResourceMarker::layout):
* rendering/svg/RenderSVGRoot.cpp:
(WebCore::RenderSVGRoot::layout):
* rendering/svg/RenderSVGShape.cpp:
(WebCore::RenderSVGShape::layout):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::layout):

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

8 years agoUse more macrology in JSC::Options
commit-queue@webkit.org [Thu, 15 Dec 2011 21:29:37 +0000 (21:29 +0000)]
Use more macrology in JSC::Options
https://bugs.webkit.org/show_bug.cgi?id=72938

Patch by Andy Wingo <wingo@igalia.com> on 2011-12-15
Reviewed by Filip Pizlo.

* runtime/Options.cpp:
(JSC::Options::initializeOptions):
* runtime/Options.h: Use macros to ensure that all heuristics are
declared and have initializers.

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

8 years agoNot able to navigate the Resource tab options properly with arrow keys after adding...
vsevik@chromium.org [Thu, 15 Dec 2011 21:07:14 +0000 (21:07 +0000)]
Not able to navigate the Resource tab options properly with arrow keys after adding the sticky-notes.
https://bugs.webkit.org/show_bug.cgi?id=72013

Reviewed by Pavel Feldman.

* inspector/front-end/DatabaseQueryView.js:
(WebInspector.DatabaseQueryView):
(WebInspector.DatabaseQueryView.prototype._messagesClicked):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.DatabaseTreeElement.prototype.onexpand):

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

8 years agoAdd ScrollingCoordinator class and ENABLE_THREADED_SCROLLING define
andersca@apple.com [Thu, 15 Dec 2011 20:44:57 +0000 (20:44 +0000)]
Add ScrollingCoordinator class and ENABLE_THREADED_SCROLLING define
https://bugs.webkit.org/show_bug.cgi?id=74639

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Add ENABLE_THREADED_SCROLLING #define.

* wtf/Platform.h:

Source/WebCore:

Add a ScrollingCoordinator class and make it a member of Page. Tear it down
when the page goes away.

* WebCore.xcodeproj/project.pbxproj:
* page/Page.cpp:
(WebCore::Page::Page):
(WebCore::Page::~Page):
* page/Page.h:
(WebCore::Page::scrollingCoordinator):
* page/ScrollingCoordinator.cpp: Added.
(WebCore::ScrollingCoordinator::create):
(WebCore::ScrollingCoordinator::ScrollingCoordinator):
(WebCore::ScrollingCoordinator::~ScrollingCoordinator):
(WebCore::ScrollingCoordinator::pageDestroyed):
* page/ScrollingCoordinator.h: Added.

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

8 years ago[chromium] MediaStream API: Fixing #include statements and removing forwarding header...
tommyw@google.com [Thu, 15 Dec 2011 20:32:45 +0000 (20:32 +0000)]
[chromium] MediaStream API: Fixing #include statements and removing forwarding header file
https://bugs.webkit.org/show_bug.cgi?id=74598

Reviewed by Darin Fisher.

WebMediaStreamSource.h had some issues when accessed from chromium. Also cleaned up the forwarding header.

* WebKit.gyp:
* public/WebMediaStreamSource.h: Removed.
* public/platform/WebMediaStreamSource.h:

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

8 years agoRename WEBKIT_lose_context to WEBKIT_WEBGL_lose_context
kbr@google.com [Thu, 15 Dec 2011 19:54:23 +0000 (19:54 +0000)]
Rename WEBKIT_lose_context to WEBKIT_WEBGL_lose_context
https://bugs.webkit.org/show_bug.cgi?id=71870

Reviewed by James Robinson.

Re-landing after original commit was rolled out.

Source/WebCore:

Rename largely done with do-webcore-rename with a couple of
necessary manual fixups. Ran WebGL layout tests.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
* bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
(WebCore::toV8Object):
* html/canvas/WebGLExtension.h:
* html/canvas/WebGLLoseContext.cpp: Copied from Source/WebCore/html/canvas/WebKitLoseContext.cpp.
(WebCore::WebGLLoseContext::WebGLLoseContext):
(WebCore::WebGLLoseContext::~WebGLLoseContext):
(WebCore::WebGLLoseContext::getName):
(WebCore::WebGLLoseContext::create):
(WebCore::WebGLLoseContext::loseContext):
(WebCore::WebGLLoseContext::restoreContext):
* html/canvas/WebGLLoseContext.h: Copied from Source/WebCore/html/canvas/WebKitLoseContext.h.
* html/canvas/WebGLLoseContext.idl: Copied from Source/WebCore/html/canvas/WebKitLoseContext.idl.
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getExtension):
(WebCore::WebGLRenderingContext::getSupportedExtensions):
(WebCore::WebGLRenderingContext::maybeRestoreContext):
* html/canvas/WebGLRenderingContext.h:
* html/canvas/WebKitLoseContext.cpp: Removed.
* html/canvas/WebKitLoseContext.h: Removed.
* html/canvas/WebKitLoseContext.idl: Removed.

LayoutTests:

Synchronized context-lost-restored.html and context-lost.html with
Khronos repository; upstream tests must check for multiple vendor
prefixes.

* fast/canvas/webgl/WebGLContextEvent.html:
* fast/canvas/webgl/context-destroyed-crash.html:
* fast/canvas/webgl/context-lost-expected.txt:
* fast/canvas/webgl/context-lost-restored.html:
* fast/canvas/webgl/context-lost.html:

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

8 years agoUnreviewed, rolling out r102956.
senorblanco@chromium.org [Thu, 15 Dec 2011 19:47:58 +0000 (19:47 +0000)]
Unreviewed, rolling out r102956.
http://trac.webkit.org/changeset/102956
https://bugs.webkit.org/show_bug.cgi?id=74334

Broke Chromium/Win build.

* features.gypi:

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

8 years ago[EFL] Clean up and refactor the memory cache functions in ewk_settings.
kubo@profusion.mobi [Thu, 15 Dec 2011 19:45:35 +0000 (19:45 +0000)]
[EFL] Clean up and refactor the memory cache functions in ewk_settings.
https://bugs.webkit.org/show_bug.cgi?id=72140

Reviewed by Antonio Gomes.

Use a better naming prefix, as "ewk_settings_cache" was too general,
and make it possible to pass all parameters to
MemoryCache::setCapacities().

* ewk/ewk_settings.cpp:
(ewk_settings_object_cache_capacity_set):
(ewk_settings_object_cache_enable_get):
(ewk_settings_object_cache_enable_set):
* ewk/ewk_settings.h:

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

8 years agoUnreviewed. Disable flaky tests. Built and tested on Linux.
kbr@google.com [Thu, 15 Dec 2011 19:34:20 +0000 (19:34 +0000)]
Unreviewed. Disable flaky tests. Built and tested on Linux.
https://bugs.webkit.org/show_bug.cgi?id=74623

* tests/CCLayerTreeHostTest.cpp:
(WTF::TEST_F):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=74631
beidson@apple.com [Thu, 15 Dec 2011 19:28:14 +0000 (19:28 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=74631
HTMLMediaElement should not register for document activation callbacks as it doesn't use them

Reviewed by Eric Carlson.

No new tests. (No behavior change, pruning useless code)

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::willMoveToNewOwnerDocument):
(WebCore::HTMLMediaElement::didMoveToNewOwnerDocument):

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

8 years agoText tracks should be treated differently according to their kind
eric.carlson@apple.com [Thu, 15 Dec 2011 19:18:54 +0000 (19:18 +0000)]
Text tracks should be treated differently according to their kind
https://bugs.webkit.org/show_bug.cgi?id=72547

Reviewed by Sam Weinig.

Source/WebCore:

Tests: media/track/track-default-attribute.html
       media/track/track-mode-not-changed-by-new-track.html
       media/track/track-mode-triggers-loading.html

* html/HTMLAudioElement.cpp:
(WebCore::HTMLAudioElement::HTMLAudioElement): Add "createdByParser" parameter.
(WebCore::HTMLAudioElement::create): Ditto.
(WebCore::HTMLAudioElement::createForJSConstructor): Deal with constructor change.
* html/HTMLAudioElement.h:

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::HTMLMediaElement): Add "createdByParser" parameter. Initialize m_parsingInProgress.
(WebCore::HTMLMediaElement::finishParsingChildren): Clear m_parsingInProgress. Schedule track
    loading if necessary.
(WebCore::HTMLMediaElement::loadTimerFired): Call configureTextTracks not call scheduleLoad,
    it just schedules the load timer again.
(WebCore::HTMLMediaElement::prepareForLoad): Add all non-disabled track elements to a vector
    so we can prevent the media element's readyState from reaching HAVE_METADATA until the
    tracks are ready.
(WebCore::HTMLMediaElement::textTracksAreReady): New. Return false unless all tracks that were
    not disabled when loading started have loaded or failed.
(WebCore::HTMLMediaElement::textTrackReadyStateChanged): Call setReadyState when a track is
    stops loading.
(WebCore::HTMLMediaElement::textTrackModeChanged): Trigger <track> loading when the mode
    changes to hidden or showing for the first time.
(WebCore::HTMLMediaElement::setReadyState): Do not advance to HAVE_METADATA or higher while
    track elements are loading.
(WebCore::HTMLMediaElement::addTrack): Removed.
(WebCore::HTMLMediaElement::showingTrackWithSameKind): New.
(WebCore::HTMLMediaElement::trackWasAdded):
(WebCore::HTMLMediaElement::trackWillBeRemoved): Flag a track as unconfigured so it will be
    reconfigured if it is added to another element.
(WebCore::HTMLMediaElement::userIsInterestedInThisLanguage): New.
(WebCore::HTMLMediaElement::userIsInterestedInThisTrack): New. Consider user preferences.
(WebCore::HTMLMediaElement::configureTextTrack): New. Configure a track as per the user's preferences.
(WebCore::HTMLMediaElement::configureTextTracks): New. Configure all track elements.
* html/HTMLMediaElement.h:
* html/HTMLMediaElement.h:

* html/HTMLTagNames.in: Add constructorNeedsCreatedByParser to audio and video.

* html/HTMLTrackElement.cpp:
(WebCore::HTMLTrackElement::HTMLTrackElement): Initialize m_hasBeenConfigured.
* html/HTMLTrackElement.h:
(WebCore::HTMLTrackElement::hasBeenConfigured):
(WebCore::HTMLTrackElement::setHasBeenConfigured):

* html/HTMLVideoElement.cpp:
(WebCore::HTMLVideoElement::HTMLVideoElement): Add "createdByParser" parameter.
(WebCore::HTMLVideoElement::create): Ditto.
* html/HTMLVideoElement.h:

* html/TextTrack.cpp:
(WebCore::TextTrack::TextTrack): Initialize m_mode to DISABLED, not HIDDEN. Initialize m_showingByDefault.
(WebCore::TextTrack::setMode): Clear the "showing by default" flag when a track's mode is
    explicitly set to SHOWING.
(WebCore::TextTrack::mode): Return SHOWING whenever the "showing by default" flag is set.
* html/TextTrack.h:
(WebCore::TextTrack::showingByDefault):
(WebCore::TextTrack::setShowingByDefault):

* html/TextTrackCue.cpp:
(WebCore::TextTrackCue::isActive): Return false if a cue has no track, or if its track is disabled.
(WebCore::TextTrackCue::setIsActive): Don't enable a cue if it has no track, or if its track
    is disabled.

LayoutTests:

* media/track/captions-webvtt/metadata.vtt: Added.
* media/track/track-default-attribute-expected.txt: Added.
* media/track/track-default-attribute.html: Added.
* media/track/track-mode-not-changed-by-new-track-expected.txt: Added.
* media/track/track-mode-not-changed-by-new-track.html: Added.
* media/track/track-mode-triggers-loading-expected.txt: Added.
* media/track/track-mode-triggers-loading.html: Added.

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

8 years agoUnreviewed Chromium test expectations update; add suppression.
kbr@google.com [Thu, 15 Dec 2011 19:13:24 +0000 (19:13 +0000)]
Unreviewed Chromium test expectations update; add suppression.
https://bugs.webkit.org/show_bug.cgi?id=74634

* platform/chromium/test_expectations.txt:

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

8 years ago[EFL] Add a few more web database functions to ewk_settings.
kubo@profusion.mobi [Thu, 15 Dec 2011 19:11:35 +0000 (19:11 +0000)]
[EFL] Add a few more web database functions to ewk_settings.
https://bugs.webkit.org/show_bug.cgi?id=72148

Reviewed by Antonio Gomes.

Source/WebKit/efl:

Add code to change the default quota (there as only a getter so far)
and one to clear the databases.

* ewk/ewk_settings.cpp:
(ewk_settings_web_database_default_quota_set):
(ewk_settings_web_database_clear):
* ewk/ewk_settings.h:

Tools:

* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::clearAllDatabases):
(LayoutTestController::setDatabaseQuota):

LayoutTests:

LayoutTestController::setDatabaseQuota is implemented now.

* platform/efl/Skipped:

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

8 years ago[GTK] New API test for WindowProperties fails
kov@webkit.org [Thu, 15 Dec 2011 19:07:58 +0000 (19:07 +0000)]
[GTK] New API test for WindowProperties fails
https://bugs.webkit.org/show_bug.cgi?id=74630

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2011-12-15
Reviewed by Martin Robinson.

* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(WindowProperties::viewReadyToShow): assert each member to make
assertion error messages more useful, and avoid asserting x and y,
since we are getting bad values from WebCore, for some reason.
(testWebViewWindowProperties): use smaller values that fit inside the
800x600 screen used by the bots.

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=74607
beidson@apple.com [Thu, 15 Dec 2011 19:04:53 +0000 (19:04 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=74607
Removed a skipped test after rolling out r102829

Unreviewed.

* platform/qt/Skipped:

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

8 years agoEventDispatcher should handle wheel events on the connection queue
andersca@apple.com [Thu, 15 Dec 2011 18:56:16 +0000 (18:56 +0000)]
EventDispatcher should handle wheel events on the connection queue
https://bugs.webkit.org/show_bug.cgi?id=74627

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Add a BoundFunctionImpl specialization that takes three parameters.

* wtf/Functional.h:
(WTF::C::):
(WTF::R):
(WTF::bind):

Source/WebKit2:

Send wheel events to the EventDispatcher, which handles them on the connection work queue, and
immediately bounces them to the main thread (for now).

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::handleWheelEvent):
(WebKit::WebPageProxy::didReceiveEvent):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::dispatchWheelEvent):
* WebProcess/WebPage/EventDispatcher.h:
* WebProcess/WebPage/EventDispatcher.messages.in:
* WebProcess/WebPage/WebPage.h:

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

8 years agoUnreviewed, rolling out r102829.
beidson@apple.com [Thu, 15 Dec 2011 18:50:59 +0000 (18:50 +0000)]
Unreviewed, rolling out r102829.
http://trac.webkit.org/changeset/102829
https://bugs.webkit.org/show_bug.cgi?id=74533

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

Source/WebCore:

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
(WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument):
(WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument):
(WebCore::HTMLPlugInImageElement::documentWillBecomeInactive):
(WebCore::HTMLPlugInImageElement::documentDidBecomeActive):
* html/HTMLPlugInImageElement.h:

LayoutTests:

* media/crash-closing-page-with-media-as-plugin-fallback-expected.txt: Removed.
* media/crash-closing-page-with-media-as-plugin-fallback.html: Removed.
* media/resources/video-with-poster-as-object-fallback.html: Removed.

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

8 years ago[Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()
simonjam@chromium.org [Thu, 15 Dec 2011 18:45:29 +0000 (18:45 +0000)]
[Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()
https://bugs.webkit.org/show_bug.cgi?id=58354

Reviewed by Pavel Feldman.

Source/WebCore:

No new tests. Relies on existing webtiming-* tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp: Use monotonic times.
(WebCore::Document::setReadyState):
(WebCore::Document::finishedParsing):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didFinishLoadingImpl): Convert monotonicFinishTime to wall time if needed.
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForTiming): Convert monotonic requestTime to wall time.
(WebCore::buildObjectForResourceResponse): Plumbing for above.
(WebCore::buildObjectForCachedResource): Ditto.
(WebCore::InspectorResourceAgent::willSendRequest): Ditto.
(WebCore::InspectorResourceAgent::didReceiveResponse): Ditto.
(WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): Ditto.
* loader/DocumentLoadTiming.cpp: Added.
(WebCore::DocumentLoadTiming::DocumentLoadTiming):
(WebCore::DocumentLoadTiming::setNavigationStart): Determine reference time and root reference time.
(WebCore::DocumentLoadTiming::addRedirect): Moved logic from MainResourceLoader.
(WebCore::DocumentLoadTiming::convertMonotonicTimeToDocumentTime): Helper to compute wall time from monotonic time.
* loader/DocumentLoadTiming.h: Turned into class. Made times monotonic.
(WebCore::DocumentLoadTiming::setUnloadEventStart):
(WebCore::DocumentLoadTiming::setUnloadEventEnd):
(WebCore::DocumentLoadTiming::setRedirectStart):
(WebCore::DocumentLoadTiming::setRedirectEnd):
(WebCore::DocumentLoadTiming::setFetchStart):
(WebCore::DocumentLoadTiming::setResponseEnd):
(WebCore::DocumentLoadTiming::setLoadEventStart):
(WebCore::DocumentLoadTiming::setLoadEventEnd):
(WebCore::DocumentLoadTiming::setHasSameOriginAsPreviousDocument):
(WebCore::DocumentLoadTiming::navigationStart):
(WebCore::DocumentLoadTiming::unloadEventStart):
(WebCore::DocumentLoadTiming::unloadEventEnd):
(WebCore::DocumentLoadTiming::redirectStart):
(WebCore::DocumentLoadTiming::redirectEnd):
(WebCore::DocumentLoadTiming::redirectCount):
(WebCore::DocumentLoadTiming::fetchStart):
(WebCore::DocumentLoadTiming::responseEnd):
(WebCore::DocumentLoadTiming::loadEventStart):
(WebCore::DocumentLoadTiming::loadEventEnd):
(WebCore::DocumentLoadTiming::hasCrossOriginRedirect):
(WebCore::DocumentLoadTiming::hasSameOriginAsPreviousDocument):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::stopLoading):
(WebCore::FrameLoader::commitProvisionalLoad):
(WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
(WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::continueAfterNavigationPolicy):
(WebCore::MainResourceLoader::willSendRequest): Moved logic to DocumentLoadTiming.
(WebCore::MainResourceLoader::didReceiveData): Use monotonic time.
(WebCore::MainResourceLoader::didFinishLoading): Ditto.
(WebCore::MainResourceLoader::load):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::dispatchLoadEvent):
* page/DOMWindow.h: Removed dispatchTimedEvent. It doesn't really help in the new model.
* page/PerformanceNavigation.cpp:
(WebCore::PerformanceNavigation::redirectCount):
* page/PerformanceTiming.cpp: Removed skew correction code. This should never happen now.
(WebCore::PerformanceTiming::navigationStart):
(WebCore::PerformanceTiming::unloadEventStart):
(WebCore::PerformanceTiming::unloadEventEnd):
(WebCore::PerformanceTiming::redirectStart):
(WebCore::PerformanceTiming::redirectEnd):
(WebCore::PerformanceTiming::fetchStart):
(WebCore::PerformanceTiming::responseEnd):
(WebCore::PerformanceTiming::domLoading):
(WebCore::PerformanceTiming::domInteractive):
(WebCore::PerformanceTiming::domContentLoadedEventStart):
(WebCore::PerformanceTiming::domContentLoadedEventEnd):
(WebCore::PerformanceTiming::domComplete):
(WebCore::PerformanceTiming::loadEventStart):
(WebCore::PerformanceTiming::loadEventEnd):
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Used for ResourceLoadTiming.
(WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds): Used for DocumentTiming and DocumentLoadTiming.
* page/PerformanceTiming.h:
* platform/network/ResourceLoadTiming.cpp:
(WebCore::ResourceLoadTiming::convertResourceLoadTimeToDocumentTime):
* platform/network/ResourceLoadTiming.h: Added helper function to convert to wall times. Added instructions for use.

LayoutTests:

* fast/dom/script-tests/webtiming.js: Current monotonic time is unknown until performance.now() is available. Use 0 until then.

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

8 years ago[WK2] Extend WebNotification to include its origin https://bugs.webkit.org/show_bug...
jonlee@apple.com [Thu, 15 Dec 2011 18:44:43 +0000 (18:44 +0000)]
[WK2] Extend WebNotification to include its origin https://bugs.webkit.org/show_bug.cgi?id=74615 <rdar://problem/10587164>

Reviewed by Sam Weinig.

* Shared/API/c/WKSecurityOrigin.h: Expose API that converts the security origin to database
identifier.
* Shared/API/c/WKSecurityOrigin.cpp:
(WKSecurityOriginCopyDatabaseIdentifier):

* UIProcess/Notifications/WebNotification.h: Extend WebNotification to include the origin.
(WebKit::WebNotification::create):
(WebKit::WebNotification::origin):
* UIProcess/Notifications/WebNotification.cpp: Remove unneeded encode() and decode() functions.
(WebKit::WebNotification::WebNotification):

* UIProcess/API/C/WKNotification.h: Expose WebNotification's origin().
* UIProcess/API/C/WKNotification.cpp:
(WKNotificationGetSecurityOrigin):

* UIProcess/Notifications/WebNotificationManagerProxy.messages.in: Update show() to include the
origin of the notification.
* UIProcess/Notifications/WebNotificationManagerProxy.cpp:
(WebKit::WebNotificationManagerProxy::show):
* UIProcess/Notifications/WebNotificationManagerProxy.h:
* WebProcess/Notifications/WebNotificationManager.cpp:
(WebKit::WebNotificationManager::show): Pass the notification's exec context's origin as
identifier.

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

8 years ago[Qt][WK2] Add test for download policy on navigation request
commit-queue@webkit.org [Thu, 15 Dec 2011 18:39:51 +0000 (18:39 +0000)]
[Qt][WK2] Add test for download policy on navigation request
https://bugs.webkit.org/show_bug.cgi?id=74541

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2011-12-15
Reviewed by Tor Arne Vestbø.

* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_navigationRequested.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_download.qml: Make it wait for a
downloadFinished signal to finish the test.

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

8 years agoplugin crash
commit-queue@webkit.org [Thu, 15 Dec 2011 18:28:29 +0000 (18:28 +0000)]
plugin crash

[GTK] Plugins sometimes crash WebKitGTK+ with Gdk-CRITICAL **: gdk_window_get_toplevel: assertion `GDK_IS_WINDOW (window)' failed
https://bugs.webkit.org/show_bug.cgi?id=73719

Patch by Martin Robinson <mrobinson@igalia.com> on 2011-12-15
Reviewed by Philippe Normand.

No new tests. It's difficult to test or reproduce this exact situation
as it only occurs when running plugins under nspluginwrapper.

* plugins/gtk/PluginViewGtk.cpp:
(WebCore::PluginView::platformGetValue): Properly handle when the plugin tries to
get the window value when the GtkSocket is no longer realized.

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

8 years agoUnreviewed Chromium expectations update. Mark another flaky compositing test.
kbr@google.com [Thu, 15 Dec 2011 18:21:31 +0000 (18:21 +0000)]
Unreviewed Chromium expectations update. Mark another flaky compositing test.

* platform/chromium/test_expectations.txt:

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

8 years agoEnable CSS_FILTERS in Chromium.
senorblanco@chromium.org [Thu, 15 Dec 2011 18:20:00 +0000 (18:20 +0000)]
Enable CSS_FILTERS in Chromium.
https://bugs.webkit.org/show_bug.cgi?id=74334

Reviewed by Kenneth Russell.

* features.gypi:

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

8 years agoFix find on web pages with -webkit-user-select: none for Chromium
commit-queue@webkit.org [Thu, 15 Dec 2011 18:17:49 +0000 (18:17 +0000)]
Fix find on web pages with -webkit-user-select: none for Chromium
https://bugs.webkit.org/show_bug.cgi?id=72281

Patch by Martin Kosiba <mkosiba@google.com> on 2011-12-15
Reviewed by Ryosuke Niwa.

Source/WebCore:

Adding findStringAndScrollToVisible to Editor. This new method returns
the new match as a range rather than modify the active selection.

Test: editing/text-iterator/findString-selection-disabled.html

* editing/Editor.cpp:
(WebCore::Editor::findStringAndScrollToVisible):
* editing/Editor.h:

Source/WebKit/chromium:

This will make it possible to search for text that has
selection disabled (via the webkit-user-select attribute).

WebFrameImpl::find will use findStringAndScrollToVisible, which is
similar to findString except that it uses Range directly rather
than passing the find result in the active selection.

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::find):

Tools:

Provided a partial findString implementation. This doesn't support
all of the FindOptions since they're not exposed via WebFindOptions.

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(LayoutTestController::findString):
* DumpRenderTree/chromium/LayoutTestController.h:

LayoutTests:

Adding a layout test to verify that find works correctly on pages
that prevent text selection.

* editing/text-iterator/findString-selection-disabled-expected.txt: Added.
* editing/text-iterator/findString-selection-disabled.html: Added.
* platform/efl/Skipped:
* platform/gtk-wk2/Skipped:
* platform/mac-lion/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac/Skipped:
* platform/qt-5.0/Skipped:
* platform/qt-mac/Skipped:
* platform/qt-wk2/Skipped:
* platform/wk2/Skipped:

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

8 years agoMove WorkQueue Mach handlers over to WTF::Function
andersca@apple.com [Thu, 15 Dec 2011 18:15:14 +0000 (18:15 +0000)]
Move WorkQueue Mach handlers over to WTF::Function
https://bugs.webkit.org/show_bug.cgi?id=74620

Reviewed by Sam Weinig.

* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::open):
(CoreIPC::Connection::initializeDeadNameSource):
* Platform/WorkQueue.h:
* Platform/mac/WorkQueueMac.cpp:
(WorkQueue::EventSource::EventSource):
(WorkQueue::EventSource::eventHandler):
(WorkQueue::registerMachPortEventHandler):

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

8 years agoAdd WTF::Function to wtf/Forward.h
andersca@apple.com [Thu, 15 Dec 2011 18:05:19 +0000 (18:05 +0000)]
Add WTF::Function to wtf/Forward.h
https://bugs.webkit.org/show_bug.cgi?id=74576

Reviewed by Adam Roben.

Source/JavaScriptCore:

* jsc.cpp:
Work around a name conflict in the readline library.

* wtf/Forward.h:
Add Function.

Source/WebCore:

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateImplementation):
Add a JSC:: qualifier to the Function flags to avoid ambiguities.

Source/WebKit2:

* Platform/RunLoop.h:
* Platform/WorkQueue.h:
Remove forward declarations and just include wtf/Forward.h.

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

8 years agoHardware-backed renderLayer could avoid repainting during a positioned movement layout
jchaffraix@webkit.org [Thu, 15 Dec 2011 17:55:47 +0000 (17:55 +0000)]
Hardware-backed renderLayer could avoid repainting during a positioned movement layout
https://bugs.webkit.org/show_bug.cgi?id=74370

Reviewed by Simon Fraser.

Source/WebCore:

Tests: compositing/absolute-position-changed-in-composited-layer.html
       compositing/absolute-position-changed-with-composited-parent-layer.html
       compositing/fixed-position-changed-in-composited-layer.html
       compositing/fixed-position-changed-within-composited-parent-layer.html

To be able to properly skip repainting after a positioned movement layout only, we
needed to add more state to the current |setNeedsFullRepaint| method. As part of that
we refactored the callers and internal fields to better match the new meaning.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::styleDidChange):
Explicitely gave the RepaintStatus to setRepaintStatus.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::removeOnlyThisLayer):
Updated those function after the renamings.

(WebCore::RenderLayer::updateLayerPositions):
Ditto. Also added a sholdRepaintAfterLayout check.

(WebCore::RenderLayer::shouldRepaintAfterLayout):
Heart of the optimization, if we just did a positioned movement layout of composited RenderLayer,
then don't repaint. All the other cases should still trigger a repaint.

* rendering/RenderLayer.h:
(WebCore::RenderLayer::setRepaintStatus):
Renamed setNeedsFullRepaint to setRepaintStatus. Also added a new enum RepaintStatus.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::setLayerNeedsFullRepaint):
Updated after the renamings.

(WebCore::RenderObject::setLayerNeedsFullRepaintForPositionedMovementLayout):
New method that pass a new value to the RenderLayer.

* rendering/RenderObject.h:
(WebCore::RenderObject::setNeedsPositionedMovementLayout):
Switched the call to the dedicated method.

LayoutTests:

I did not find any test covering positioned movement layout with composited layers
so I added some testing.

* compositing/absolute-position-changed-in-composited-layer-expected.png: Added.
* compositing/absolute-position-changed-in-composited-layer-expected.txt: Added.
* compositing/absolute-position-changed-in-composited-layer.html: Added.
* compositing/absolute-position-changed-with-composited-parent-layer-expected.png: Added.
* compositing/absolute-position-changed-with-composited-parent-layer-expected.txt: Added.
* compositing/absolute-position-changed-with-composited-parent-layer.html: Added.
* compositing/fixed-position-changed-in-composited-layer-expected.png: Added.
* compositing/fixed-position-changed-in-composited-layer-expected.txt: Added.
* compositing/fixed-position-changed-in-composited-layer.html: Added.
* compositing/fixed-position-changed-within-composited-parent-layer-expected.png: Added.
* compositing/fixed-position-changed-within-composited-parent-layer-expected.txt: Added.
* compositing/fixed-position-changed-within-composited-parent-layer.html: Added.

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

8 years agoDon't invoke CSSStyleSelector::pushParent before Text::recalcTextStyle
antti@apple.com [Thu, 15 Dec 2011 17:53:46 +0000 (17:53 +0000)]
Don't invoke CSSStyleSelector::pushParent before Text::recalcTextStyle
https://bugs.webkit.org/show_bug.cgi?id=74575

Reviewed by Darin Adler.

Text::recalcTextStyle never enters the style selector so pushing the state is not necessary

* dom/Element.cpp:
(WebCore::Element::recalcStyle):

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

8 years ago[chromium] Add DRT support for WebKitPageCacheSupportsPluginsPreferenceKey
kbr@google.com [Thu, 15 Dec 2011 17:50:41 +0000 (17:50 +0000)]
[chromium] Add DRT support for WebKitPageCacheSupportsPluginsPreferenceKey
https://bugs.webkit.org/show_bug.cgi?id=74581

Reviewed by Darin Fisher.

Source/WebKit/chromium:

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setPageCacheSupportsPlugins):
* src/WebSettingsImpl.h:

Tools:

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::overridePreference):
* DumpRenderTree/chromium/WebPreferences.cpp:
(WebPreferences::reset):
(WebPreferences::applyTo):
* DumpRenderTree/chromium/WebPreferences.h:

LayoutTests:

Unskip one test which now passes. The other one will continue to
be covered under the other bug.

* platform/chromium/test_expectations.txt:

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

8 years agoPatch by Adam Treat <atreat@rim.com> on 2011-12-15
commit-queue@webkit.org [Thu, 15 Dec 2011 17:33:03 +0000 (17:33 +0000)]
Patch by Adam Treat <atreat@rim.com> on 2011-12-15
Reviewed by Rob Buis.

https://bugs.webkit.org/show_bug.cgi?id=74609
PR 122703

For certain configurations of webpage content and zoom level we were
failing to produce a valid backingstore matrix by being to strict on
whether a given matrix fits the preferred matrix orientation.
This patch fixes this by insisting on storing a candidate divisor
whether or not it agrees with the preferred matrix orientation and then
comparing all subsequent divisors.

* blackberry/Api/BackingStore.cpp:
(BlackBerry::WebKit::divisorIsPerfectWidth):
(BlackBerry::WebKit::divisorIsPerfectHeight):
(BlackBerry::WebKit::divisorIsPreferredDirection):
(BlackBerry::WebKit::bestDivisor):

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

8 years ago[Qt][WK2] Move WebPreferences into experimental
commit-queue@webkit.org [Thu, 15 Dec 2011 17:21:56 +0000 (17:21 +0000)]
[Qt][WK2] Move WebPreferences into experimental
https://bugs.webkit.org/show_bug.cgi?id=74404

Patch by Rafael Brandao <rafael.lobo@openbossa.org> on 2011-12-15
Reviewed by Tor Arne Vestbø.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewExperimental::preferences):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/tests/qmltests/DesktopBehavior/tst_messaging.qml:
* UIProcess/API/qt/tests/qmltests/WebView/tst_preferences.qml:

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

8 years ago Fixed error in Target.pri.
cmarrin@apple.com [Thu, 15 Dec 2011 17:09:55 +0000 (17:09 +0000)]
    Fixed error in Target.pri.

        Unreviewed.

        * Target.pri:

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

8 years ago Fixed error in Target.pri.
cmarrin@apple.com [Thu, 15 Dec 2011 17:09:44 +0000 (17:09 +0000)]
    Fixed error in Target.pri.

        Unreviewed.

        * Target.pri:

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

8 years agoWeb Inspector: #hex colors are not highlighted in CSS files
apavlov@chromium.org [Thu, 15 Dec 2011 16:46:16 +0000 (16:46 +0000)]
Web Inspector: #hex colors are not highlighted in CSS files
https://bugs.webkit.org/show_bug.cgi?id=74570

Reviewed by Pavel Feldman.

Source/WebCore:

Drive by: highlight color keywords as colors, not as keywords.

* inspector/front-end/CSSKeywordCompletions.js:
(WebInspector.CSSKeywordCompletions.colors):
* inspector/front-end/SourceCSSTokenizer.js:
(WebInspector.SourceCSSTokenizer):
(WebInspector.SourceCSSTokenizer.prototype.nextToken):
* inspector/front-end/SourceCSSTokenizer.re2js:

LayoutTests:

* inspector/syntax-highlight-css-expected.txt:
* inspector/syntax-highlight-css.html:

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

8 years ago Hardware acceleration of W3C Filter Effects
cmarrin@apple.com [Thu, 15 Dec 2011 16:42:59 +0000 (16:42 +0000)]
    Hardware acceleration of W3C Filter Effects
        https://bugs.webkit.org/show_bug.cgi?id=68479

        Reviewed by Simon Fraser.

        Move FilterOperation(s) to platform/graphics/filters so it can be used to pass filter information
        down to GraphicsLayer for hardware acceleration. This leaves the CustomFilterOperation subclass in
        rendering/style since it has dependencies outside platform. Some part of that class will
        eventually need to be down in platform.

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

8 years ago[Qt] Improve the look of the viewport info overlay
kenneth@webkit.org [Thu, 15 Dec 2011 16:40:41 +0000 (16:40 +0000)]
[Qt] Improve the look of the viewport info overlay

Reviewed by Tor Arne Vestbø.

* MiniBrowser/qt/qml/ViewportInfoItem.qml:

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

8 years agoUnreviewed test expectations fix.
vsevik@chromium.org [Thu, 15 Dec 2011 16:40:19 +0000 (16:40 +0000)]
Unreviewed test expectations fix.

* http/tests/inspector/console-resource-errors-expected.txt:
* http/tests/inspector/console-xhr-logging-expected.txt:
* platform/chromium/http/tests/inspector/console-xhr-logging-expected.txt: Copied from LayoutTests/http/tests/inspector/console-xhr-logging-expected.txt.
* platform/qt/Skipped:

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

8 years ago[Qt] Support requestAnimationFrame API
igor.oliveira@openbossa.org [Thu, 15 Dec 2011 16:27:55 +0000 (16:27 +0000)]
[Qt] Support requestAnimationFrame API
https://bugs.webkit.org/show_bug.cgi?id=74528

Source/JavaScriptCore:

Let Qt port use REQUEST_ANIMATION_FRAME_TIMER.

Reviewed by Kenneth Rohde Christiansen.

* wtf/Platform.h:

Source/WebCore:

Add necessary files to Target.pri when enabling requestAnimationFrame option.

Reviewed by Kenneth Rohde Christiansen.

* Target.pri:

Tools:

Add build-option for requestAnimationFrame feature.

Reviewed by Kenneth Rohde Christiansen.

* qmake/mkspecs/features/features.prf:

LayoutTests:

Enable requestAnimationFrame tests.

Reviewed by Kenneth Rohde Christiansen.

* platform/qt/Skipped:

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

8 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Thu, 15 Dec 2011 16:21:53 +0000 (16:21 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/Skipped: Skip new failing tests (regressions).
* platform/qt/fast/dom/Window/window-property-descriptors-expected.txt: Updated after r102918.

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