WebKit-https.git
8 years agoFix packing in StyleBoxData for Windows.
alexis.menard@openbossa.org [Tue, 12 Jun 2012 23:07:21 +0000 (23:07 +0000)]
Fix packing in StyleBoxData for Windows.
https://bugs.webkit.org/show_bug.cgi?id=88858

Reviewed by Tony Chang.

MSVC doesn't pack bitfields if the types are mixed.
We can safely change the bool type to an unsigned so
the packing will happen. I have added a compile assert
for future regressions.

No new tests : we should not see any regressions.

* rendering/style/StyleBoxData.h:
* rendering/style/StyleBoxData.cpp:
(StyleBoxData):

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

8 years ago[chromium] Paint scrollbars on WebKit thread and composite those textures
enne@google.com [Tue, 12 Jun 2012 23:04:17 +0000 (23:04 +0000)]
[chromium] Paint scrollbars on WebKit thread and composite those textures
https://bugs.webkit.org/show_bug.cgi?id=88145

Reviewed by James Robinson.

Source/WebCore:

Scrollbars were previously painted and uploaded on the compositor
thread. This isn't possible to do for many scrollbar themes. This
patch changes ScrollbarLayerChromium to paint the scrollbar into two
parts: the thumb, and everything else. These are uploaded into
textures and synced over to the CCScrollbarImpl where they are
composited and drawn.

Mac and overlay scrollbars are still not enabled to have compositor
thread-updated scrollbars.

As a bonus, fix LayerRendererChromium::drawTextureQuad to draw quads
that do not fill the entire layer bounds.

Tested by existing layout and unit tests by removing the condition
that these scrollbar layers are only created when the threaded proxy
exists.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::scrollbarLayerDidChange):
* platform/ScrollbarThemeComposite.cpp:
(WebCore::ScrollbarThemeComposite::thumbRect):
(WebCore):
* platform/ScrollbarThemeComposite.h:
(ScrollbarThemeComposite):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawTextureQuad):
* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
(WebCore::ScrollbarLayerChromium::theme):
(WebCore):
(WebCore::ScrollbarLayerChromium::pushPropertiesTo):
(ScrollbarBackgroundPainter):
(WebCore::ScrollbarBackgroundPainter::create):
(WebCore::ScrollbarBackgroundPainter::paint):
(WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
(ScrollbarThumbPainter):
(WebCore::ScrollbarThumbPainter::create):
(WebCore::ScrollbarThumbPainter::paint):
(WebCore::ScrollbarThumbPainter::ScrollbarThumbPainter):
(WebCore::ScrollbarLayerChromium::setLayerTreeHost):
(WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
(WebCore::ScrollbarLayerChromium::updatePart):
(WebCore::ScrollbarLayerChromium::update):
* platform/graphics/chromium/ScrollbarLayerChromium.h:
(WebCore):
(ScrollbarLayerChromium):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
(WebCore::CCScrollbarLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(WebCore::CCScrollbarLayerImpl::setBackgroundTextureId):
(WebCore::CCScrollbarLayerImpl::setThumbTextureId):
(CCScrollbarLayerImpl):

Source/WebKit/chromium:

Remove scrollbarLayerLostContext test that no longer makes sense. The
compositor won't draw at all after a lost context if it has no
contents.

* tests/CCLayerTreeHostImplTest.cpp:

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

8 years ago[BlackBerry] Crash when rendering web page that's being destroyed
commit-queue@webkit.org [Tue, 12 Jun 2012 22:52:31 +0000 (22:52 +0000)]
[BlackBerry] Crash when rendering web page that's being destroyed
https://bugs.webkit.org/show_bug.cgi?id=88915

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-06-12
Reviewed by Rob Buis.

PR #164943

This was a null pointer dereference that happened when the compositor
was asked to render after being disconnected from its web page.

* Api/WebPageCompositor.cpp:
(BlackBerry::WebKit::WebPageCompositorPrivate::render):

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

8 years agoWinLauncher should show loading errors
commit-queue@webkit.org [Tue, 12 Jun 2012 22:47:56 +0000 (22:47 +0000)]
WinLauncher should show loading errors
https://bugs.webkit.org/show_bug.cgi?id=80760

Patch by Ashod Nakashian <ashodnakashian@yahoo.com> on 2012-06-12
Reviewed by Brent Fulgham.

* WinLauncher/WinLauncher.cpp: Added load-fail handler to show messagebox with error.
(WinLauncherWebHost::didFailProvisionalLoadWithError):
* WinLauncher/WinLauncher.h:
(WinLauncherWebHost::didFailProvisionalLoadWithError):
(WinLauncherWebHost):

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

8 years agoReplaced items in a flexbox should be coerced to display:block
tony@chromium.org [Tue, 12 Jun 2012 22:39:01 +0000 (22:39 +0000)]
Replaced items in a flexbox should be coerced to display:block
https://bugs.webkit.org/show_bug.cgi?id=87068

Reviewed by Ojan Vafai.

Source/WebCore:

The flexbox spec lists HTML tags that should automatically be converted
to display:block when a flex child. It also says that atomic inline-level
children should become block (e.g., inline-table should be treated as table).
http://dev.w3.org/csswg/css3-flexbox/#flex-items

Test: css3/flexbox/flexitem.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):

LayoutTests:

* css3/flexbox/flexitem-expected.txt: Added.
* css3/flexbox/flexitem.html: Added.
* css3/flexbox/resources/flexbox.js:
(checkExpectedValues):

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

8 years agoIndexedDB: ObjectStore/Index shouldn't hold reference to backing store
jsbell@chromium.org [Tue, 12 Jun 2012 22:36:54 +0000 (22:36 +0000)]
IndexedDB: ObjectStore/Index shouldn't hold reference to backing store
https://bugs.webkit.org/show_bug.cgi?id=83074

Reviewed by Tony Chang.

Source/WebCore:

We should be able to collect and close the leveldb backing store as soon as the database
connection is closed, but the IDBObjectStoreBackendImpl and IDBIndexBackendImpl were
holding RefPtrs, and those objects are kept alive by script references.

Replaced RefPtrs to the IDBBackingStore with pointers to the IDBDatabase. On the back end,
IDBDatabaseBackendImpl maintains a RefPtr to the IDBObjectStoreBackendImpl object, so
a raw pointer back is safe. On the front end, the IDBObjectStore maintains a RefPtr to
the IDBDatabase so script can navigate upwards. Ditto on both ends for the ObjectStore/Index
relationship. The frontend objects maintain RefPtrs to the backend objects, so the backend
objects and their owners are maintained as long as there's a script reference. To ensure
that all LevelDB objects are destructed in the right order, transactions indirectly track all
open cursors and ensure they are closed when the transaction finishes, and database closing
is explicitly prevented from occurring until transactions are complete.

Also made IDBDatabaseBackendImpl handle a null IDBFactoryBackendImpl pointer, for testing.

Tests: storage/indexeddb/database-close.html
       storage/indexeddb/persistence.html
       [Chromium] webkit_unit_tests --gtest_filter=IDBDatabaseBackendTest.BackingStoreRetention

* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::close): Release LevelDB resources when closed to allow backing store to close.
* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore):
* Modules/indexeddb/IDBDatabase.cpp: Ensure connection close deferred until all transactions are finished.
(WebCore::IDBDatabase::transactionCreated): Accounting.
(WebCore::IDBDatabase::transactionFinished): Accounting.
(WebCore::IDBDatabase::close):
(WebCore):
(WebCore::IDBDatabase::closeConnection):
* Modules/indexeddb/IDBDatabase.h:
(IDBDatabase):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Track outstanding transactions for forced-close scenarios.
(WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::createObjectStore): Don't pass in backing store reference.
(WebCore::IDBDatabaseBackendImpl::setVersion): Use transaction() for consistent accounting.
(WebCore::IDBDatabaseBackendImpl::transactionFinished): Accounting.
(WebCore::IDBDatabaseBackendImpl::transaction): Accounting.
(WebCore::IDBDatabaseBackendImpl::close): Unregister from factory when last connection is closed.
(WebCore::IDBDatabaseBackendImpl::loadObjectStores): Don't pass in backing store reference.
(WebCore::IDBDatabaseBackendImpl::removeObjectStoreFromMap):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(WebCore):
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::deleteDatabase): Don't hang on to deleted databases eternally.
* Modules/indexeddb/IDBFactoryBackendImpl.h: Backend map controls IDBDatabaseBackend lifetimes.
(IDBFactoryBackendImpl):
* Modules/indexeddb/IDBIndexBackendImpl.cpp: Don't hold backing store references.
(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
* Modules/indexeddb/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::create):
(IDBIndexBackendImpl):
(WebCore::IDBIndexBackendImpl::backingStore):
(WebCore::IDBIndexBackendImpl::databaseId):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Don't hold backing store references.
(WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::loadIndexes):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(WebCore::IDBObjectStoreBackendImpl::create):
(IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::backingStore):
(WebCore::IDBObjectStoreBackendImpl::databaseId):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::onSuccess):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::IDBTransaction): For IDBDatabase accounting, allow ref during ctor.
(WebCore::IDBTransaction::onAbort): Accounting.
(WebCore::IDBTransaction::onComplete): Accounting.
* Modules/indexeddb/IDBTransaction.h:
(WebCore::IDBTransaction::isVersionChange): Convenience function.
(IDBTransaction):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::abort): Cleanup ordering to allow backing store to close.
(WebCore::IDBTransactionBackendImpl::commit): Cleanup ordering to allow backing store to close.

Source/WebKit/chromium:

* WebKit.gypi:
* tests/IDBDatabaseBackendTest.cpp: Added.
(WebCore):
(WebCore::TEST):

LayoutTests:

The storage/indexeddb/persistence.html test verifies http://webkit.org/b/88788 which
was revealed by this patch set. The storage/indexeddb/database-close.html test verifies
the precise database connection closing semantics defined in the IDB spec.

* storage/indexeddb/database-close-expected.txt: Added.
* storage/indexeddb/database-close.html: Added.
* storage/indexeddb/persistence-expected.txt: Added.
* storage/indexeddb/persistence.html: Added.
* storage/indexeddb/resources/database-close.js: Added.
(test):
(openConnection.request.onsuccess.request.onsuccess):
(openConnection.request.onsuccess):
(openConnection):
(openVersionChangeConnection.request2.onsuccess):
(openVersionChangeConnection):
(testClose.transactionCompleted):
(testClose.request.onsuccess):
(testClose):
* storage/indexeddb/resources/persistence.js: Added.
(test):
(openAndChangeVersion.request.onsuccess.request.onsuccess.trans.oncomplete):
(openAndChangeVersion.request.onsuccess.request.onsuccess):
(openAndChangeVersion.request.onsuccess):

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

8 years ago[EFL][WK2] Add MiniBrowserEfl.
ryuan.choi@samsung.com [Tue, 12 Jun 2012 22:19:56 +0000 (22:19 +0000)]
[EFL][WK2] Add MiniBrowserEfl.
https://bugs.webkit.org/show_bug.cgi?id=61850

Reviewed by Chang Shu.

Implement MiniBrowser for EFL.

* CMakeLists.txt:
* MiniBrowser/efl/CMakeLists.txt: Added.
* MiniBrowser/efl/main.c: Added.
(_MiniBrowser):
(main_signal_exit):
(on_ecore_evas_resize):
(browserCreate):
(main):

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

8 years ago[chromium] Don't set visible layer rect in CCLayerTreeHost paint iteration
enne@google.com [Tue, 12 Jun 2012 22:12:52 +0000 (22:12 +0000)]
[chromium] Don't set visible layer rect in CCLayerTreeHost paint iteration
https://bugs.webkit.org/show_bug.cgi?id=88895

Reviewed by James Robinson.

We should only set visible layer rects during the recursion in
CClayerTreeHostCommon and not while we're painting. This is one last
straggling piece of code that never got moved.

Tested by existing mask-related layout tests.

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateVisibleAndScissorRectsInternal):

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

8 years ago[chromium] Set contentBounds() on impl layers in CCLayerTreeHostCommonTests
danakj@chromium.org [Tue, 12 Jun 2012 22:02:51 +0000 (22:02 +0000)]
[chromium] Set contentBounds() on impl layers in CCLayerTreeHostCommonTests
https://bugs.webkit.org/show_bug.cgi?id=88903

Reviewed by Adrienne Walker.

Without setting the contentBounds() on impl layers, the visibleLayerRect
will be wrong. This is not the case for main-thread layers, which most
of the tests in this file use. But this is a potential serious confusion
for future test implementors so I'd like to make it explicit now.

* tests/CCLayerTreeHostCommonTest.cpp:

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

8 years ago[chromium] Return empty visibleLayerRect for layers with empty content bounds
danakj@chromium.org [Tue, 12 Jun 2012 21:57:05 +0000 (21:57 +0000)]
[chromium] Return empty visibleLayerRect for layers with empty content bounds
https://bugs.webkit.org/show_bug.cgi?id=88901

Reviewed by Adrienne Walker.

Source/WebCore:

This change should only affect tests. Currently if you set up a
CCLayerImpl with some bounds, but don't set the contentBounds, then
they are empty by default. In this case the visibleLayerRect gets
set inappropriately to the layer's target surface contentRect which
in a completely different coordinate space.

Fixed up tests that were passing bogusly and failed after this change.

* platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
(WebCore::calculateVisibleLayerRect):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:

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

8 years ago[Qt] Unreviwed nightly gardening.
ossy@webkit.org [Tue, 12 Jun 2012 21:55:26 +0000 (21:55 +0000)]
[Qt] Unreviwed nightly gardening.

* platform/qt/Skipped:

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

8 years ago[chromium] ScrollingCoordinator::setScrollLayer should update scroll layer ids
enne@google.com [Tue, 12 Jun 2012 21:46:28 +0000 (21:46 +0000)]
[chromium] ScrollingCoordinator::setScrollLayer should update scroll layer ids
https://bugs.webkit.org/show_bug.cgi?id=88882

Reviewed by James Robinson.

Tested manually, as scrollbar layers are currently only created when
threaded compositing is enabled and none of those layout tests trigger
this bug.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(ScrollingCoordinatorPrivate):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
* platform/graphics/chromium/ScrollbarLayerChromium.h:
(WebCore::ScrollbarLayerChromium::setScrollLayerId):
(ScrollbarLayerChromium):
* platform/graphics/chromium/TreeSynchronizer.cpp:
(WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):

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

8 years ago[BlackBerry] Scale was incorrect when reloading a simple web page after initial load
zhajiang@rim.com [Tue, 12 Jun 2012 21:44:54 +0000 (21:44 +0000)]
[BlackBerry] Scale was incorrect when reloading a simple web page after initial load
https://bugs.webkit.org/show_bug.cgi?id=88889

Reviewed by Adam Treat.
Patch by Jacky Jiang <zhajiang@rim.com>

PR: 164442
When we were reloading a web page with the load type FrameLoadTypeSame
after the initial load, the first layout timer was fired after the load
Finished state, in which case the web page would have no chance to zoom
to the initial scale during the layout as it was only for load
Committed state. This patch takes care of it.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::layoutFinished):
(BlackBerry::WebKit::WebPagePrivate::shouldZoomToInitialScaleOnLoad):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidFirstVisuallyNonEmptyLayout):

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

8 years ago[Qt] Unreviwed nightly gardening.
ossy@webkit.org [Tue, 12 Jun 2012 21:40:42 +0000 (21:40 +0000)]
[Qt] Unreviwed nightly gardening.

* platform/qt/Skipped: Remove rolled out tests.
* platform/qt/fast/multicol/span/clone-flexbox-expected.txt: Updated after r120100.

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

8 years agoSource/WebCore: [chromium mac] Don't include things in subframeworks of
commit-queue@webkit.org [Tue, 12 Jun 2012 21:39:14 +0000 (21:39 +0000)]
Source/WebCore: [chromium mac] Don't include things in subframeworks of
ApplicationServices.framework.

Subframeworks move around from SDK to SDK and OS release to OS
release, but just using the top-level umbrella framework guarantees
forward compatibility. When building for Chromium Mac, just #include
<ApplicationServices/ApplicationServices.h> instead of reaching in to
subframeworks.

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

Patch by Mark Mentovai <mark@chromium.org> on 2012-06-12
Reviewed by Stephen White.

No new tests.

* platform/graphics/GlyphBuffer.h:
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
* platform/graphics/skia/GraphicsContextSkia.cpp:

Source/WebKit/chromium: [chromium mac] Don't #include things in subframeworks of
ApplicationServices.framework.

#including the umbrella <ApplicatonServices/ApplicationServices.h>
exposed an ambiguous name, FontMetrics, that needs to be fully
qualified as WebCore::FontMetrics.

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

Patch by Mark Mentovai <mark@chromium.org> on 2012-06-12
Reviewed by Stephen White.

* src/WebFontImpl.cpp:
(WebKit::WebFontImpl::estimateTextBounds):

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

8 years agoREGRESSION (r119779): Javascript TypeError: 'undefined' is not an object
fpizlo@apple.com [Tue, 12 Jun 2012 21:15:43 +0000 (21:15 +0000)]
REGRESSION (r119779): Javascript TypeError: 'undefined' is not an object
https://bugs.webkit.org/show_bug.cgi?id=88783
<rdar://problem/11640299>

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

If you don't keep alive the base of an object access over the various checks
you do for the prototype chain, you're going to have a bad time.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleGetById):

LayoutTests:

Reviewed by Geoffrey Garen.

* fast/js/dfg-proto-access-inline-osr-exit-expected.txt: Added.
* fast/js/dfg-proto-access-inline-osr-exit.html: Added.
* fast/js/script-tests/dfg-proto-access-inline-osr-exit.js: Added.
(foo):
(Thingy):

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

8 years agoUnreviewed. Update my email address in committers.py.
helder@sencha.com [Tue, 12 Jun 2012 21:09:18 +0000 (21:09 +0000)]
Unreviewed. Update my email address in committers.py.

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

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

8 years agoApply animations and transitions for first-letter element
igor.o@sisa.samsung.com [Tue, 12 Jun 2012 21:08:18 +0000 (21:08 +0000)]
Apply animations and transitions for first-letter element
https://bugs.webkit.org/show_bug.cgi?id=85253

Source/WebCore:

Add animations and transitions support for the first-letter
pseudo element.
Instead of calling RenderOject::node() in the animations code,
now we need to call RenderObject::styledGeneratingNode() because
pseudo elements does not have a Node associated with the
RenderObject.

Initial patch by Simon Fraser

Reviewed by Simon Fraser.

Tests: animations/first-letter-animation.html
       animations/first-letter-play-state.html
       transitions/first-letter-color-transition.html
       transitions/first-letter-transition.html

* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::updateStateMachine):
* page/animation/AnimationController.cpp:
(WebCore::AnimationControllerPrivate::updateAnimations):
(WebCore::AnimationControllerPrivate::pauseAnimationAtTime):
(WebCore::AnimationControllerPrivate::pauseTransitionAtTime):
(WebCore::AnimationController::cancelAnimations):
(WebCore::AnimationController::updateAnimations):
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::pauseAnimation):
(WebCore::ImplicitAnimation::sendTransitionEvent):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::KeyframeAnimation):
(WebCore::KeyframeAnimation::pauseAnimation):
(WebCore::KeyframeAnimation::endAnimation):
(WebCore::KeyframeAnimation::sendAnimationEvent):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetterStyle):
(WebCore::RenderBlock::createFirstLetterRenderer):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::clippedOverflowRectForRepaint):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::setAnimatableStyle):
(WebCore::RenderObject::styledGeneratingNode):
(WebCore):
* rendering/RenderObject.h:
(RenderObject):

LayoutTests:

Reviewed by Simon Fraser.

* animations/first-letter-animation-expected.txt: Added.
* animations/first-letter-animation.html: Added.
* animations/first-letter-play-state-expected.txt: Added.
* animations/first-letter-play-state.html: Added.
* transitions/first-letter-color-transition-expected.txt: Added.
* transitions/first-letter-color-transition.html: Added.
* transitions/first-letter-transition-expected.txt: Added.
* transitions/first-letter-transition.html: Added.

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

8 years agoChecking a radio button doesn't uncheck other buttons in the same group in some cases.
tkent@chromium.org [Tue, 12 Jun 2012 21:04:05 +0000 (21:04 +0000)]
Checking a radio button doesn't uncheck other buttons in the same group in some cases.
https://bugs.webkit.org/show_bug.cgi?id=88835

Reviewed by Ryosuke Niwa.

Source/WebCore:

This change fixes a bug that checking a radio button in a radio button
group in a form detached from a document tree doesn't uncheck another
checked radio button in the radio button group.

A radio button participates in a radio button group in the following
conditions:
- If it is owned by a form element regardless of the form is in a
document tree or not, or

- If it is not owned by any form elements and it is in a document tree.
A radio button group for the radio button is owned by the document.

For HTMLInputElement::removedFrom():
The old code always unregistered the radio button if it was removed from
the document tree. It was incorrect because we don't need to unregister
it if it has an owner form and the owner form is not changed by
removedFrom().
If the owner form is cleared by removedFrom(), willChangeForm()
unregisters the radio button. So what we should do in removedFrom() is
to unregister the radio button only if the radio button group is owned
by the document.

For HTMLInputElement::insertedInto():
The old code always registered the radio button if it is inserted into
the document tree. It was incorrect because we don't need to register it
if it has an owner form and the owner form is not changed by
insertedInto().
If the owner form is changed by insertedInto(), didChangeForm()
registers the radio button. So We should register the radio button only
if its radio button group will be owned by the document.

Test: Add test cases to fast/forms/radio/radio-group.html

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::insertedInto):
Register this to CheckedRadioButtons only if new group owner is Document.
(WebCore::HTMLInputElement::removedFrom):
Unregister this from CheckedRadioButtons only if old group owner was Document.

LayoutTests:

* fast/forms/radio/radio-group-expected.txt:
* fast/forms/radio/radio-group.html: Add test cases.

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

8 years ago[chromium] REGRESSION(119769): Canvas2DLayerBridge may go away before its TextureLaye...
jamesr@google.com [Tue, 12 Jun 2012 20:54:41 +0000 (20:54 +0000)]
[chromium] REGRESSION(119769): Canvas2DLayerBridge may go away before its TextureLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=88910

Reviewed by Adrienne Walker.

Source/WebCore:

Unregister the bridge as its TextureLayerChromium client when going away.

Covered by new unit test in Canvas2DLayerBridgeTest.cpp.

* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):

Source/WebKit/chromium:

New unit test to verify that we can still update a TextureLayerChromium after the bridge owning it has gone
away.

* tests/Canvas2DLayerBridgeTest.cpp:

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

8 years agoIndexedDB: Error codes, phase two
commit-queue@webkit.org [Tue, 12 Jun 2012 20:45:58 +0000 (20:45 +0000)]
IndexedDB: Error codes, phase two
https://bugs.webkit.org/show_bug.cgi?id=88690

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

Source/WebCore:

Update the next phase of IndexedDB error codes to match the spec.
This update is mostly focused on DATA_ERR vs CONSTRAINT_ERR.

Also moves some of the error checking for the transaction mode
into the frontend and replaces the backend checks with asserts, so that
we can consolidate error checking in one place.

This also removes a few FIXME's that are no longer true (about
I/O errors - the spec was updated and our implementation was
already correct)

No new tests, existing tests cover changed behavior.

* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::deleteFunction):
* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::deleteFunction):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::setVersionInternal):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::add):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::clear):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::clear):
* Modules/indexeddb/IDBTransaction.h:
(WebCore::IDBTransaction::enumMode):
* Modules/indexeddb/IDBTransactionBackendImpl.h:

LayoutTests:

* storage/indexeddb/cursor-advance-expected.txt:
* storage/indexeddb/index-unique-expected.txt:
* storage/indexeddb/mozilla/index-prev-no-duplicate-expected.txt:
* storage/indexeddb/mozilla/index-prev-no-duplicate.html:
* storage/indexeddb/objectstore-basics-expected.txt:
* storage/indexeddb/objectstore-basics-workers-expected.txt:
* storage/indexeddb/resources/cursor-advance.js:
(openSuccess):
(createObjectStore.trans.oncomplete):
(createObjectStore):
(populateObjectStore):
* storage/indexeddb/resources/index-unique.js:
(addMoreDataFailed):
* storage/indexeddb/resources/objectstore-basics.js:
(addAgainFailure):

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

8 years ago[EFL] Resolve CMake warnings on overlapping search paths for EFL jhbuild-enabled...
commit-queue@webkit.org [Tue, 12 Jun 2012 20:38:01 +0000 (20:38 +0000)]
[EFL] Resolve CMake warnings on overlapping search paths for EFL jhbuild-enabled build
https://bugs.webkit.org/show_bug.cgi?id=84707

Fixing CMAKE prefix path for 64bit systems to avoid CMAKE warnings on those.
use_lib64 variable is preconfigured to True by jhbuild.

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-06-12
Reviewed by Dirk Pranke.

* efl/jhbuildrc:

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

8 years agoDisable autoplay when user gesture is required for media playback
commit-queue@webkit.org [Tue, 12 Jun 2012 20:37:16 +0000 (20:37 +0000)]
Disable autoplay when user gesture is required for media playback
https://bugs.webkit.org/show_bug.cgi?id=88897

Patch by Min Qin <qinmin@google.com> on 2012-06-12
Reviewed by Adam Barth.

When user gesture is required for media playback, we should block autoplay.
Otherwise, people will use autoplay instead of video.play() to bypass the gesture requirement.
Test: media/no-autoplay-with-user-gesture-requirement.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState):

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

8 years agoUse testRunner in accessibility tests instead of layoutTestController
rniwa@webkit.org [Tue, 12 Jun 2012 20:37:15 +0000 (20:37 +0000)]
Use testRunner in accessibility tests instead of layoutTestController
https://bugs.webkit.org/show_bug.cgi?id=88755

Reviewed by Tony Chang.

Replaced all instances of layoutTestController in accessibility tests by testRunner.

* accessibility/:
* platform/chromium/accessibility/:
* platform/gtk/accessibility/:
* platform/mac/accessibility/:
* platform/win/accessibility/:

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

8 years agoAdd zlieber@chromium.org to contributors list
danakj@chromium.org [Tue, 12 Jun 2012 20:27:48 +0000 (20:27 +0000)]
Add zlieber@chromium.org to contributors list
https://bugs.webkit.org/show_bug.cgi?id=88904

Unreviewed.

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

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

8 years agoRename Apple bots to a standard convention.
lforschler@apple.com [Tue, 12 Jun 2012 20:21:15 +0000 (20:21 +0000)]
Rename Apple bots to a standard convention.
https://bugs.webkit.org/show_bug.cgi?id=88893

Note: This has the side effect of grouping all of the Apple bots together in the waterfall.

Reviewed by Simon Fraser.

* BuildSlaveSupport/build.webkit.org-config/config.json:

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

8 years agoHTML parser should yield more to improve perceived page load time
commit-queue@webkit.org [Tue, 12 Jun 2012 20:20:57 +0000 (20:20 +0000)]
HTML parser should yield more to improve perceived page load time
https://bugs.webkit.org/show_bug.cgi?id=86165

Source/WebCore:

Patch by Shrey Banga <banga@chromium.org> on 2012-06-12
Reviewed by Tony Gentilcore.

Test: fast/events/event-yield-timing.html

We want the parser to yield at least every 500ms to keep the page somewhat responsive and allow painting.
Since it would be too expensive to check the time after each token, the previous heuristic was to check every 4,096 tokens.
That works fine for most tokens, but a script may spend an arbitrary amount of time executing.

This patch fixes the issue by causing the parser to check the elapsed time immediately after executing a script.

* html/parser/HTMLParserScheduler.cpp:
(WebCore::HTMLParserScheduler::checkForYieldBeforeScript):
* html/parser/HTMLParserScheduler.h:
(WebCore::PumpSession::PumpSession):
(PumpSession):
(WebCore::HTMLParserScheduler::checkForYieldBeforeToken):

LayoutTests:

Added test for parser yield times after seeing a script

Patch by Shrey Banga <banga@chromium.org> on 2012-06-12
Reviewed by Tony Gentilcore.

* fast/parser/parser-yield-timing-expected.txt: Added.
* fast/parser/parser-yield-timing.html: Added.
* http/tests/loading/gmail-assert-on-load-expected.txt: The test was added
for an assert that failed on debug builds when an iframe removed itself
from its parent window after blocking for 1 second. In previous builds,
the destroyIt() function was called without yielding to the event loop,
which lead to didFailLoadWithError being called. The fix for bug 86165
ensures that we yield after executing the script, which leads to
didHandleOnloadEventsForFrame being called instead. This is the cause
of the change in output of the test. The test still successfully removes
the iframe and since no asserts fail in the debug build, we should consider
it as passing.

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

8 years agoLayoutTests/http/tests/xmlhttprequest/origin-exact-matching.html is giving trouble...
commit-queue@webkit.org [Tue, 12 Jun 2012 20:09:22 +0000 (20:09 +0000)]
LayoutTests/http/tests/xmlhttprequest/origin-exact-matching.html is giving trouble due to too many redirects
https://bugs.webkit.org/show_bug.cgi?id=88896

Patch by Pablo Flouret <pablof@motorola.com> on 2012-06-12
Reviewed by Darin Adler.

The test was giving out "too many redirect" errors on GTK and EFL due to
using redirect-cors.php without an actual url to redirect.

Redirects are not actually tested in that test, a script that set the
Access-Control-Allow-Origin header to an arbitrary origin was needed and
redirect-cors.php was the only existing one that had the capability. The
infinite redirect thing was an unintended consequence.
Use resources/access-control-allow-lists.php to set the header instead.

* http/tests/xmlhttprequest/origin-exact-matching-expected.txt:
* http/tests/xmlhttprequest/resources/origin-exact-matching-iframe.html:

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

8 years agoUpdate more expectations to match the state of the bots.
ojan@chromium.org [Tue, 12 Jun 2012 20:01:59 +0000 (20:01 +0000)]
Update more expectations to match the state of the bots.
* platform/chromium/TestExpectations:

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

8 years ago[chromium] Fix incorrect LayerChromium scroll position for RTL overflow pages
enne@google.com [Tue, 12 Jun 2012 19:55:29 +0000 (19:55 +0000)]
[chromium] Fix incorrect LayerChromium scroll position for RTL overflow pages
https://bugs.webkit.org/show_bug.cgi?id=88887

Reviewed by James Robinson.

The scroll position on layers needs to take into account the scroll
origin, since RTL pages start scrolled all the way to the right.
Otherwise, when scrolling left the scroll position incorrectly will go
negative, causing havok in scrollbar theme code that just assumes that
it's always scrolled all the way to the left.

Also, now that the scroll origin is passed into NCCH, handle
scrollOrigin.y() for layer adjusting. This is always zero in practice,
but it seemed awkward to just drop it and that assumption could always
change in the future.

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setViewport):
(WebKit::NonCompositedContentHost::paintContents):
* src/NonCompositedContentHost.h:
(NonCompositedContentHost):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::updateLayerTreeViewport):

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

8 years agoUnreviewed GTK gardening after r120099, fix two incorrect text expectations.
zandobersek@gmail.com [Tue, 12 Jun 2012 19:47:59 +0000 (19:47 +0000)]
Unreviewed GTK gardening after r120099, fix two incorrect text expectations.

* platform/gtk/TestExpectations:

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

8 years ago[chromium] Don't crash in CCLayerIterator if the root layer doesn't have a render...
commit-queue@webkit.org [Tue, 12 Jun 2012 19:17:54 +0000 (19:17 +0000)]
[chromium] Don't crash in CCLayerIterator if the root layer doesn't have a render surface
https://bugs.webkit.org/show_bug.cgi?id=88886

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-06-12
Reviewed by James Robinson.

If we are iterating over a render render surface layer list where the
root layer does not have a render surface, fail gracefully instead of
crashing.

Tests: CCLayerIteratorTest.{emptyTree,rootLayerWithoutRenderSurface}

* platform/graphics/chromium/cc/CCLayerIterator.h:
(WebCore::CCLayerIterator::CCLayerIterator):

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

8 years agoChange default for flex-grow back to 0
ojan@chromium.org [Tue, 12 Jun 2012 19:06:50 +0000 (19:06 +0000)]
Change default for flex-grow back to 0
https://bugs.webkit.org/show_bug.cgi?id=88443

Reviewed by Tony Chang.

Source/WebCore:

* rendering/style/RenderStyle.h:

LayoutTests:

* css3/flexbox/flex-algorithm.html:
* css3/flexbox/flex-order.html:
* css3/flexbox/flex-property-parsing-expected.txt:
* css3/flexbox/flex-property-parsing.html:

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

8 years ago[Gtk] TestExpectations should remove use of FAIL expectations
zandobersek@gmail.com [Tue, 12 Jun 2012 19:01:14 +0000 (19:01 +0000)]
[Gtk] TestExpectations should remove use of FAIL expectations
https://bugs.webkit.org/show_bug.cgi?id=88894

Reviewed by Martin Robinson.

Remove FAIL expectation from Gtk's TestExpectations file, replacing it
with TEXT or IMAGE in case of reftests. That should suffice for now as the
buildbots don't run pixel tests at the moment.

* platform/gtk/TestExpectations:

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

8 years agoSeparate RemoveID test cases.
annacc@chromium.org [Tue, 12 Jun 2012 18:52:11 +0000 (18:52 +0000)]
Separate RemoveID test cases.
https://bugs.webkit.org/show_bug.cgi?id=88798

Reviewed by Eric Carlson.

* http/tests/media/media-source/video-media-source-add-and-remove-ids-expected.txt:
* http/tests/media/media-source/video-media-source-add-and-remove-ids.html:

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

8 years ago<rdar://problem/11593686> and https://bugs.webkit.org/show_bug.cgi?id=88683
beidson@apple.com [Tue, 12 Jun 2012 18:24:27 +0000 (18:24 +0000)]
<rdar://problem/11593686> and https://bugs.webkit.org/show_bug.cgi?id=88683
Garbage collection of an <img> element can cause reentrant event dispatch.

Reviewed by Darin Adler.

Source/WebCore:

The most straightforward solution is for ImageLoader to keep its Element alive
with ref/deref any time the Image is actually loading.

ImageLoader should always do this for all Elements, and if those Elements want/need
different behavior for when they are detached then they need to manually stop their
loads.

Tests: http/tests/loading/embed-image-load-outlives-gc-without-crashing.html
       http/tests/loading/image-input-type-outlives-gc-without-crashing.html
       http/tests/loading/image-load-outlives-gc-without-crashing.html
       http/tests/loading/object-image-load-outlives-gc-without-crashing.html
       http/tests/loading/svg-image-load-outlives-gc-without-crashing.html
       http/tests/loading/video-poster-image-load-outlives-gc-without-crashing.html

* loader/ImageLoader.cpp:
(WebCore::ImageLoader::ImageLoader):
(WebCore::ImageLoader::~ImageLoader):
(WebCore::ImageLoader::setImage):
(WebCore::ImageLoader::updateFromElement):
(WebCore::ImageLoader::notifyFinished):
(WebCore::ImageLoader::updatedHasPendingLoadEvent):
(WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
(WebCore::ImageLoader::dispatchPendingLoadEvent):
* loader/ImageLoader.h:
(ImageLoader):

LayoutTests:

New tests for all users of ImageLoader:
* http/tests/loading/embed-image-load-outlives-gc-without-crashing-expected.txt: Added.
* http/tests/loading/embed-image-load-outlives-gc-without-crashing.html: Added.
* http/tests/loading/image-input-type-outlives-gc-without-crashing-expected.txt: Added.
* http/tests/loading/image-input-type-outlives-gc-without-crashing.html: Added.
* http/tests/loading/image-load-outlives-gc-without-crashing-expected.txt: Added.
* http/tests/loading/image-load-outlives-gc-without-crashing.html: Added.
* http/tests/loading/object-image-load-outlives-gc-without-crashing-expected.txt: Added.
* http/tests/loading/object-image-load-outlives-gc-without-crashing.html: Added.
* http/tests/loading/resources/slowimage.php: Added.
* http/tests/loading/svg-image-load-outlives-gc-without-crashing-expected.txt: Added.
* http/tests/loading/svg-image-load-outlives-gc-without-crashing.html: Added.
* http/tests/loading/video-poster-image-load-outlives-gc-without-crashing-expected.txt: Added.
* http/tests/loading/video-poster-image-load-outlives-gc-without-crashing.html: Added.

Shared sub resource for all of those tests:
* http/tests/loading/resources/slowimage.php: Added.

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

8 years agoUpdate some tests to better match actual results on the bots.
ojan@chromium.org [Tue, 12 Jun 2012 18:21:32 +0000 (18:21 +0000)]
Update some tests to better match actual results on the bots.

* platform/chromium/TestExpectations:

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

8 years ago[chromium] Make damage tracking more robust to early exits
shawnsingh@chromium.org [Tue, 12 Jun 2012 18:07:40 +0000 (18:07 +0000)]
[chromium] Make damage tracking more robust to early exits
https://bugs.webkit.org/show_bug.cgi?id=84803

Reviewed by James Robinson.

Source/WebCore:

All CCDamageTrackerTest unit tests updated;
One new unit test added:
   CCDamageTrackerTest.verifyDamageAccumulatesUntilReset

Damage tracking inherently needs to be aware of all changes that
occur for every frame. Before this patch, anyone modifying details
of CCLayerTreeHostImpl and the drawing phases of the compositor
needed to be careful to avoid early exiting once draw is
initiated, otherwise running the risk of damage tracking's state
getting out-of-sync from actual changes. This patch makes the
damage tracker API more asynchronous-like, so that damage will
continue to accumulate until it is explicitly notified that
damaged areas have been drawn. This will allow more freedom in
designing and restructuing drawing code in the compositor, without
worrying as much about damage tracking getting out-of-sync.

* platform/graphics/chromium/cc/CCDamageTracker.h:
(WebCore::CCDamageTracker::didDrawDamagedArea):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::drawLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):

Source/WebKit/chromium:

* tests/CCDamageTrackerTest.cpp:
(WebKitTests::clearDamageForAllSurfaces):
(WebKitTests::TEST_F):

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

8 years agoMake document.documentURI readonly from JavaScript
commit-queue@webkit.org [Tue, 12 Jun 2012 18:02:56 +0000 (18:02 +0000)]
Make document.documentURI readonly from JavaScript
https://bugs.webkit.org/show_bug.cgi?id=65187

Patch by Mike West <mkwst@chromium.org> on 2012-06-12
Reviewed by Alexey Proskuryakov.

Source/WebCore:

The DOM4 working draft marks the documentURI attribute as read only
(http://www.w3.org/TR/dom/#document). Firefox has shipped with this
behavior since https://hg.mozilla.org/mozilla-central/rev/3bc751906409
landed in October 2011, IE9 doesn't support the property, and
Opera throws a NO_MODIFICATION_ALLOWED_ERR. This patch changes WebKit
to silently fail (matching Firefox's behavior) by setting the property
to readonly in the IDL.

Document::setDocumentURI and the m_documentURI property are retained
for compatibility with ObjC clients, and the readonly attribute is
ifdeffed out for ObjC.

This patch adds a single test to verify the behavior, and removes a
variety of tests that depended on the writable behavior. In particular,
potential security issues involving the document.baseURL property are
avoided completely as long as this property can't be changed.

Test: fast/dom/documenturi-readonly.html

* dom/Document.cpp:
(WebCore::Document::setDocumentURI):
    Adds a comment explaining that the fallback is necessary only to
    support ObjC, not for JS calls.
* dom/Document.cpp:
(WebCore::Document::updateBaseURL):
    Ditto.
(Document):
* dom/Document.idl:
    Add readonly to the attribute and drop null value when not in
    LANGUAGE_OBJECTIVE_C.

Tools:

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/SetDocumentURI.html: Added.
* TestWebKitAPI/Tests/mac/SetDocumentURI.mm: Added.
(-[SetDocumentURITest webView:didFinishLoadForFrame:]):
(TestWebKitAPI):
(TestWebKitAPI::TEST):

LayoutTests:

* dom/xhtml/level3/core/documentsetdocumenturi01-expected.txt: Removed.
* dom/xhtml/level3/core/documentsetdocumenturi01.xhtml-disabled: Renamed from LayoutTests/dom/xhtml/level3/core/documentsetdocumenturi01.xhtml.
* dom/xhtml/level3/core/documentsetdocumenturi02-expected.txt: Removed.
* dom/xhtml/level3/core/documentsetdocumenturi02.xhtml-disabled: Renamed from LayoutTests/dom/xhtml/level3/core/documentsetdocumenturi02.xhtml.
    Disabling these two tests, because they write out documentURI which is a `file:` URL dependent on a local path.
* dom/xhtml/level3/core/documentsetdocumenturi03-expected.txt:
* dom/xhtml/level3/core/nodegetbaseuri02-expected.txt:
    Updating these two tests to match the new, read-only behavior.
* fast/dom/documenturi-affects-relative-paths-expected.txt: Removed.
* fast/dom/documenturi-affects-relative-paths.html: Removed.
* fast/dom/documenturi-assigned-junk-implies-baseuri-null-expected.txt: Removed.
* fast/dom/documenturi-assigned-junk-implies-baseuri-null.html: Removed.
* fast/dom/documenturi-assigned-junk-implies-relative-urls-do-not-resolve-expected.txt: Removed.
* fast/dom/documenturi-assigned-junk-implies-relative-urls-do-not-resolve.html: Removed.
* fast/dom/documenturi-can-hold-arbitrary-string-expected.txt: Removed.
* fast/dom/documenturi-can-hold-arbitrary-string.html: Removed.
    Removing now-irrelevant tests.
* fast/dom/documenturi-readonly-expected.txt: Added.
* fast/dom/documenturi-readonly.html: Added.
    Adding a test to verify that document.documentURI is read-only.
* http/tests/security/xss-DENIED-document-baseURI-javascript-expected.txt: Removed.
* http/tests/security/xss-DENIED-document-baseURI-javascript-with-spaces-expected.txt: Removed.
* http/tests/security/xss-DENIED-document-baseURI-javascript-with-spaces.html: Removed.
* http/tests/security/xss-DENIED-document-baseURI-javascript.html: Removed.
* platform/chromium/dom/xhtml/level3/core/nodegetbaseuri02-expected.txt: Added
    Platform-specific result for Chromium, which doesn't set the `line` property on exceptions.
* storage/domstorage/events/documentURI-expected.txt: Removed.
* storage/domstorage/events/documentURI.html: Removed.
* storage/domstorage/events/script-tests/documentURI.js: Removed.
    Removing now-irrelevant tests.

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

8 years agoSupport !ENABLE(VIDEO) builds with horizontally layed out video controls.
ossy@webkit.org [Tue, 12 Jun 2012 17:52:57 +0000 (17:52 +0000)]
Support !ENABLE(VIDEO) builds with horizontally layed out video controls.
https://bugs.webkit.org/show_bug.cgi?id=88881

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-12
Reviewed by Csaba Osztrogonác.

No new tests as this is a regression from WK87835.

* html/shadow/SliderThumbElement.cpp:
(WebCore::hasVerticalAppearance):
Ifdef out video related functionality, since usesVerticalVolumeSlider
does not exist in that case.

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

8 years ago[BlackBerry] Fix crash in InputHandler
commit-queue@webkit.org [Tue, 12 Jun 2012 17:28:59 +0000 (17:28 +0000)]
[BlackBerry] Fix crash in InputHandler
https://bugs.webkit.org/show_bug.cgi?id=88808

Patch by Crystal Zhang <haizhang@rim.com> on 2012-06-12
Reviewed by Antonio Gomes.

m_page is destroyed before InputHandler, so should move the call to destroy popup to chromeDestroyed().

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::chromeDestroyed():
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::~InputHandler):

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

8 years agoWeb Inspector: allow clearing revision history.
pfeldman@chromium.org [Tue, 12 Jun 2012 16:57:12 +0000 (16:57 +0000)]
Web Inspector: allow clearing revision history.
https://bugs.webkit.org/show_bug.cgi?id=88847

Reviewed by Vsevolod Vlasov.

This change also renames "Revision history" to "Local modifications".
I intend to list modifications to all files in that view in the subsequent change.

* English.lproj/localizedStrings.js:
* inspector/front-end/Resource.js:
(WebInspector.Resource._clearResourceHistory):
* inspector/front-end/RevisionHistoryView.js:
(WebInspector.RevisionHistoryView.else.clearHistory):
(WebInspector.RevisionHistoryView):
(WebInspector.RevisionHistoryView.prototype._revisionAdded):
(WebInspector.RevisionHistoryTreeElement):
(WebInspector.RevisionHistoryTreeElement.prototype._createLine):
(WebInspector.RevisionHistoryTreeElement.prototype.allowRevert):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.appendApplicableItems):

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

8 years agoWeb Inspector: use jsdifflib for revision diff calculation.
pfeldman@chromium.org [Tue, 12 Jun 2012 16:44:28 +0000 (16:44 +0000)]
Web Inspector: use jsdifflib for revision diff calculation.
https://bugs.webkit.org/show_bug.cgi?id=88791

Reviewed by Vsevolod Vlasov.

Present diff calculation is incomplete, it does not properly handle the following case:
    [a, b, c, d, e, f, g, h] => [c, d, e, f, g, h, a, b]
We should not be implementing diff by ourselves. I imported jsdifflib from
https://github.com/cemerick/jsdifflib. It has BSD license that is compatible with WebKit.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/RevisionHistoryView.js:
(WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step2):
(WebInspector.RevisionHistoryTreeElement.prototype.onexpand):
(WebInspector.RevisionHistoryTreeElement.prototype._createLine.appendLineNumber):
(WebInspector.RevisionHistoryTreeElement.prototype._createLine):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
(difflib.stringAsLines):
(difflib.SequenceMatcher):
(difflib.SequenceMatcher.prototype.get_opcodes):
* inspector/front-end/inspector.html:
* inspector/front-end/jsdifflib.js: Added.
(difflib.defaultJunkFunction):
(difflib.stripLinebreaks):
(difflib.stringAsLines):
(difflib.__reduce):
(difflib.__ntuplecomp):
(difflib.__calculate_ratio):
(difflib.__dictget):
(difflib.SequenceMatcher.this.set_seqs):
(difflib.SequenceMatcher.this.set_seq1):
(difflib.SequenceMatcher.this.set_seq2):
(difflib.SequenceMatcher.this.__chain_b):
(difflib.SequenceMatcher.this.find_longest_match):
(difflib.SequenceMatcher.this.get_matching_blocks):
(difflib.SequenceMatcher.this.get_opcodes):
(difflib.SequenceMatcher.this.get_grouped_opcodes):
(difflib.SequenceMatcher.this.quick_ratio):
(difflib.SequenceMatcher.this.real_quick_ratio):
* inspector/front-end/revisionHistory.css:
(.revision-history-line-separator .webkit-line-number):

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

8 years ago[EFL] enable LEGACY_WEBKIT_BLOB_BUILDER flag
commit-queue@webkit.org [Tue, 12 Jun 2012 16:32:58 +0000 (16:32 +0000)]
[EFL] enable LEGACY_WEBKIT_BLOB_BUILDER flag
https://bugs.webkit.org/show_bug.cgi?id=88715

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-12
Reviewed by Noam Rosenthal.

.:

Enable LEGACY_WEBKIT_BLOB_BUILDER flag by default on EFL port.

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

Tools:

Enable LEGACY_WEBKIT_BLOB_BUILDER flag by default on EFL port.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Unskip fast/files/blob-builder-crash.html now that
LEGACY_WEBKIT_BLOB_BUILDER flag is enabled by default
on EFL port.

* platform/efl/Skipped:

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

8 years ago[Qt] Fix -Werror for the buildbots
ossy@webkit.org [Tue, 12 Jun 2012 16:28:36 +0000 (16:28 +0000)]
[Qt] Fix -Werror for the buildbots
https://bugs.webkit.org/show_bug.cgi?id=88223

Rubber-stamped by Tor Arne Vestbø.

Revert a part of r119269 to enable Werror again for non qt-developer-builds. (for bots for example)

* qmake/mkspecs/features/unix/default_post.prf:

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

8 years ago[GStreamer] http/tests/media/video-buffered-range-contains-currentTime.html is failing
commit-queue@webkit.org [Tue, 12 Jun 2012 16:15:05 +0000 (16:15 +0000)]
[GStreamer] http/tests/media/video-buffered-range-contains-currentTime.html is failing
https://bugs.webkit.org/show_bug.cgi?id=87575

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-06-12
Reviewed by Philippe Normand.

Source/WebCore:

When EOS is reached in forward playback, the position does not necessarily
match the duration. This confuses HTMLMediaElement and causes the "ended"
event not to be fired. To avoid this, we synchronize position and duration
values in this case.

Test: http/tests/media/video-buffered-range-contains-currentTime.html

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

LayoutTests:

Unskip http/tests/media/video-buffered-range-contains-currentTime.html for both
GTK and EFL ports now that MediaPlayerPrivateGStreamer correctly reports EOS and
now that the "ended" event is properly fired.

* platform/efl/TestExpectations:
* platform/efl/http/tests/media/video-buffered-range-contains-currentTime-expected.png: Added.
* platform/gtk/TestExpectations:
* platform/gtk/http/tests/media/video-buffered-range-contains-currentTime-expected.png: Added.

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

8 years agoRefactor InputType::receiveDroppedFiles to take DragData
kinuko@chromium.org [Tue, 12 Jun 2012 15:34:15 +0000 (15:34 +0000)]
Refactor InputType::receiveDroppedFiles to take DragData
https://bugs.webkit.org/show_bug.cgi?id=88860

Reviewed by Kent Tamura.

So that we can centralize the file paths related code into FileInputType
and makes it easier to extract more data from DragData for
<input type=file> (like bug 88293 for directory drag-and-drop).

No new tests as this has no behavioral changes.

* html/FileInputType.cpp:
(WebCore::FileInputType::receiveDroppedFiles):
* html/FileInputType.h:
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::receiveDroppedFiles):
* html/HTMLInputElement.h:
* html/InputType.cpp:
(WebCore::InputType::receiveDroppedFiles):
* html/InputType.h:
* page/DragController.cpp:
(WebCore::DragController::concludeEditDrag):

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

8 years agoGenerate -webkit-box-decoration-break property only when the feature is enabled
commit-queue@webkit.org [Tue, 12 Jun 2012 15:29:33 +0000 (15:29 +0000)]
Generate -webkit-box-decoration-break property only when the feature is enabled
https://bugs.webkit.org/show_bug.cgi?id=88861

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-12
Reviewed by Alexis Menard.

Otherwise it will hit an assertion if the property is present on the
style but the feature disabled. Also fixes a compilation warning when
the feature is disabled.

* css/CSSPropertyNames.in:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):

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

8 years ago[Gtk] Many tests revealed as passing after moving from Skipped to test_expectations.txt
mario@webkit.org [Tue, 12 Jun 2012 15:11:35 +0000 (15:11 +0000)]
[Gtk] Many tests revealed as passing after moving from Skipped to test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=85591

Reviewed by Martin Robinson.

Remove FAIL text expectations for sputnik tests that have been
consistently passing on all the Gtk builders.

* platform/gtk/TestExpectations:

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

8 years agoTweaked the Mac export file a bit more, adding more-correct iOS cases.
darin@apple.com [Tue, 12 Jun 2012 15:10:06 +0000 (15:10 +0000)]
Tweaked the Mac export file a bit more, adding more-correct iOS cases.

Reviewed by David Kilzer.

* WebCore.exp.in: Rearrangement.

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

8 years agoUnreviewed build fix.
kenneth@webkit.org [Tue, 12 Jun 2012 15:06:31 +0000 (15:06 +0000)]
Unreviewed build fix.

* UIProcess/qt/QtViewportHandler.cpp:
(WebKit::QtViewportHandler::initialRect):

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

8 years agoUsing extrernal ICU library on case unsensitive drives will not work
jocelyn.turcotte@nokia.com [Tue, 12 Jun 2012 15:04:41 +0000 (15:04 +0000)]
Using extrernal ICU library on case unsensitive drives will not work
https://bugs.webkit.org/show_bug.cgi?id=70913

Reviewed by Csaba Osztrogonác.

Source/WebCore:

* platform/graphics/surfaces/GraphicsSurface.h:

Source/WebKit2:

* WebProcess/WebPage/UpdateAtlas.cpp:

Source/WTF:

Properly set the include path for the WTF module and for modules using it.
The path should include Source/WTF/wtf only when building WTF itself. Other
modules are expected to include the headers as #include <wtf/Header.h>, so
only add Source/WTF to their include path.

"unicode/utf8.h" should now then always reference to ICU in the include path
and "wtf/unicode/UTF8.h" reference to the WTF version.
This will work as long as WTF object files don't depend on ICU themselves.

Removed gobject, qt and unicode from the include path as those directories
don't exist anymore.

* WTF.pri:
* WTF.pro:

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

8 years ago[Qt] Do not move/scale content while the user is interacting with it
kenneth@webkit.org [Tue, 12 Jun 2012 14:55:14 +0000 (14:55 +0000)]
[Qt] Do not move/scale content while the user is interacting with it
https://bugs.webkit.org/show_bug.cgi?id=88872

Reviewed by Simon Hausmann.

Don't try moving content into valid bounds when the content
size changes and the user is interacting with the content.

Only apply the viewport initial scale after user interaction
has ended.

* UIProcess/qt/QtViewportHandler.cpp:
(WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
(WebKit::QtViewportHandler::setInitialScaleIfNeeded):
(WebKit::QtViewportHandler::viewportAttributesChanged):
(WebKit::QtViewportHandler::pageContentsSizeChanged):
(WebKit::QtViewportHandler::initialRect):
(WebKit):
* UIProcess/qt/QtViewportHandler.h:
(QtViewportHandler):

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

8 years ago[BlackBerry] Use a safer way to shrink JS memory usage
commit-queue@webkit.org [Tue, 12 Jun 2012 14:51:18 +0000 (14:51 +0000)]
[BlackBerry] Use a safer way to shrink JS memory usage
https://bugs.webkit.org/show_bug.cgi?id=88811

Patch by Yong Li <yoli@rim.com> on 2012-06-12
Reviewed by Antonio Gomes.

We should just make a GC request and JSC will check if it is safe to do anything.

* Api/BlackBerryGlobal.cpp:
(BlackBerry::WebKit::clearMemoryCaches):

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

8 years ago[chromium] Use TextureDrawQuad for video layer output when it produces a single GL...
danakj@chromium.org [Tue, 12 Jun 2012 14:39:24 +0000 (14:39 +0000)]
[chromium] Use TextureDrawQuad for video layer output when it produces a single GL texture
https://bugs.webkit.org/show_bug.cgi?id=88814

Reviewed by Adrienne Walker.

When a CCVideLayerImpl produces quads for a frame that is contained
in a single GL texture, then use the TextureDrawQuad instead of the
VideoDrawQuad. Moves the computation for the RGBA(software) and
NativeTexture (hardware) cases from LayerRendererChromium into
CCVideoLayerImpl, so it can embed these values in the TextureDrawQuad.

No new tests, behaviour should be the same.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawStreamTexture):
(WebCore::LayerRendererChromium::drawVideoQuad):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore::CCVideoLayerImpl::appendQuads):

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

8 years agoChange the volume slider to horizontal rendering for Chrome video controls.
commit-queue@webkit.org [Tue, 12 Jun 2012 14:31:59 +0000 (14:31 +0000)]
Change the volume slider to horizontal rendering for Chrome video controls.
https://bugs.webkit.org/show_bug.cgi?id=87835

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-12
Reviewed by Eric Carlson.

Source/WebCore:

No new tests - final patch in the Chrome controls update series will contain rebaselined tests.

The Chrome video controls are receiving a visual update. The volume slider is moved into
the controls with horizontal rendering, the volume slider container is removed. The visual
update itself is in a separate patch.

* css/mediaControlsChromium.css:
(audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
Removed relative positioning to render all controls elements equally in DOM order.
(audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
Removed absolute positioning to render all controls elements equally in DOM order.
(audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
Removed absolute positioning to render all controls elements equally in DOM order.
(audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
Removed volume slider container - it's not necessary any more.
(audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
Remove flexbox and introduce inline display to always display this field.
(audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
Removed absolute positioning to render all controls elements equally in DOM order.
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
Removed volume slider container - it's not necessary any more.
(WebCore::MediaControlRootElementChromium::create):
Appended the volume slider and the mute button directly to the panel, removed volume slider container.
(WebCore::MediaControlRootElementChromium::setMediaController):
Removed volume slider container.
(WebCore::MediaControlRootElementChromium::reportedError):
Removed volume slider container.
(WebCore::MediaControlRootElementChromium::showVolumeSlider):
Removed volume slider container.
* html/shadow/MediaControlRootElementChromium.h:
(WebCore):
(MediaControlRootElementChromium):
Removed volume slider container.
* html/shadow/SliderThumbElement.cpp:
(WebCore::hasVerticalAppearance):
Allow use of horizontal media volume slider.
(WebCore::RenderSliderThumb::layout):
Reuse hasVerticalAppearance function.
* rendering/RenderMediaControlsChromium.cpp:
(WebCore::RenderMediaControlsChromium::paintMediaVolumeSlider):
Change line drawing from vertical to horizontal.
* rendering/RenderTheme.h:
(WebCore::RenderTheme::usesVerticalVolumeSlider):
Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
* rendering/RenderThemeChromiumMac.h:
(WebCore::RenderThemeChromiumMac::usesVerticalVolumeSlider):
Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
Add usesVerticalVolumeSlider function to allow horizontal volume sliders.
* rendering/RenderThemeChromiumSkia.h:
(WebCore::RenderThemeChromiumSkia::usesVerticalVolumeSlider):
Add usesVerticalVolumeSlider function to allow horizontal volume sliders.

LayoutTests:

The Chrome video controls are receiving a visual update. The volume slider is included into
the controls with horizontal rendering, the volume slider container is removed. The visual
update itself is in a separate patch.

* platform/chromium/TestExpectations:
Temporarily skip tests related to volume controls rendering for Chromium.

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

8 years ago[CSSRegions]NamedFlow::overset should return true when there's no region chain attached
commit-queue@webkit.org [Tue, 12 Jun 2012 14:21:41 +0000 (14:21 +0000)]
[CSSRegions]NamedFlow::overset should return true when there's no region chain attached
https://bugs.webkit.org/show_bug.cgi?id=88515

The CSS Regions specifies that the "overset" attribute needs to return true if the content overflows, there's no region attached to the flow
or if the NamedFlow is in the NULL state:
http://www.w3.org/TR/css3-regions/#dom-named-flow-overset

Source/WebCore:

This patch updates WebKit's behavior in the last two situations to match the one in the spec.

Patch by Andrei Bucur <abucur@adobe.com> on 2012-06-12
Reviewed by Andreas Kling.

Test: fast/regions/webkit-named-flow-overset.html was updated

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
(WebCore::RenderFlowThread::computeOverflowStateForRegions): If the last valid region is null, the flow has not region chain attached or it's in the NULL state.

LayoutTests:

The overset test was updated to cover the attribute value in case of a flow in the NULL state.

Patch by Andrei Bucur <abucur@adobe.com> on 2012-06-12
Reviewed by Andreas Kling.

* fast/regions/webkit-named-flow-overset-expected.txt:
* fast/regions/webkit-named-flow-overset.html:

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

8 years agoWeb Inspector: Provide context menu for deleting recorded profile on Profiles Panel
pfeldman@chromium.org [Tue, 12 Jun 2012 13:58:05 +0000 (13:58 +0000)]
Web Inspector: Provide context menu for deleting recorded profile on Profiles Panel
https://bugs.webkit.org/show_bug.cgi?id=88286

Added the context menu to delete the selected profile.

Patch by Rahul Tiwari <rahultiwari.cse.iitr@gmail.com> on 2012-06-12
Reviewed by Pavel Feldman.

No new tests required as UI related change

* English.lproj/localizedStrings.js: Removed property svn:mime-type.
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):

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

8 years ago2012-06-12 Pavel Feldman <pfeldman@chromium.org>
pfeldman@chromium.org [Tue, 12 Jun 2012 13:52:07 +0000 (13:52 +0000)]
2012-06-12  Pavel Feldman  <pfeldman@chromium.org>

        Not reviewed: removed svn:mime-type property from English.lproj/localizedStrings.js

        * English.lproj/localizedStrings.js

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

8 years agoTried to fix the notification-enabled build after r120044.
mitz@apple.com [Tue, 12 Jun 2012 13:45:34 +0000 (13:45 +0000)]
Tried to fix the notification-enabled build after r120044.

* notifications/NotificationController.cpp:
(WebCore::NotificationController::NotificationController):
(WebCore::NotificationController::create):
(WebCore::provideNotification):
* notifications/NotificationController.h:
(NotificationController):

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

8 years agoUnreviewed gardening. Skip test failing randomly in GTK bots after r120040.
mario@webkit.org [Tue, 12 Jun 2012 13:40:19 +0000 (13:40 +0000)]
Unreviewed gardening. Skip test failing randomly in GTK bots after r120040.

* platform/gtk/TestExpectations:

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

8 years ago[Qt][Texmap] Falling leaves demo missing clipping.
commit-queue@webkit.org [Tue, 12 Jun 2012 13:33:36 +0000 (13:33 +0000)]
[Qt][Texmap] Falling leaves demo missing clipping.
https://bugs.webkit.org/show_bug.cgi?id=88704

The bug originated from begining native painting mode of QPainter after enabling
scissor test, because begining native painting mode disables scissor test.

Covered by existing compositing tests.

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

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::beginPainting):

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

8 years ago[Qt][Win] Buildfix related to fromWinHBITMAP
ossy@webkit.org [Tue, 12 Jun 2012 13:30:54 +0000 (13:30 +0000)]
[Qt][Win] Buildfix related to fromWinHBITMAP
https://bugs.webkit.org/show_bug.cgi?id=88863

Reviewed by Jocelyn Turcotte.

* platform/graphics/qt/GraphicsContextQt.cpp: Add qt_pixmapFromWinHBITMAP and HBitmapFormat enum.
(WebCore):
(WebCore::GraphicsContext::releaseWindowsContext):
* platform/graphics/qt/ImageQt.cpp:
(WebCore): Move qt_pixmapFromWinHBITMAP to outside of WebCore namespace. (Fix after r119924.)

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

8 years ago[CMake] Enabled CSS_BOX_DECORATION_BREAK by default
commit-queue@webkit.org [Tue, 12 Jun 2012 13:19:07 +0000 (13:19 +0000)]
[CMake] Enabled CSS_BOX_DECORATION_BREAK by default
https://bugs.webkit.org/show_bug.cgi?id=88850

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-06-12
Reviewed by Alexis Menard.

Enabled it by default on CMake ports like in other ports.
This patch is a follow up to r120029.

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:

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

8 years ago[REGRESSION][WTR] Build fail with werror after r120054
kbalazs@webkit.org [Tue, 12 Jun 2012 12:51:16 +0000 (12:51 +0000)]
[REGRESSION][WTR] Build fail with werror after r120054
https://bugs.webkit.org/show_bug.cgi?id=88862

Reviewed by Csaba Osztrogonác.

Some static helpers become unused after counterValueForElementById
has moved to Internals. Let's remove them.

* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR):

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

8 years ago[Shadow DOM] <style> inside Shadow subtree should be scoped inside the subtree.
commit-queue@webkit.org [Tue, 12 Jun 2012 12:28:29 +0000 (12:28 +0000)]
[Shadow DOM] <style> inside Shadow subtree should be scoped inside the subtree.
https://bugs.webkit.org/show_bug.cgi?id=87805

Source/WebCore:

Modified HTMLStyleElement to be treated as a scoped style independent
of its "scoped" attribute's value if HTMLStyleElement is in shadow
subtree. HTMLStyleElement has the following four cases talking about
"scoped" attribute and whether is in shadow subtree or not:
1, HTMLStyleElement is "scoped" and is in document tree,
2, HTMLStyleElement is "scoped" and is in shadow subtree,
3, HTMLStyleElement is not "scoped" and is in document tree, and
4, HTMLStyleElement is not "scoped" and is in shadow subtree.
The case 1 and 2 are not changed. This patch affected the case 4.
At the case 4, the HTMLStyleElement's scoping node is the shadow root.
This change is the first step for fixing style scope bug,
i.e. HTMLStyleElements in shadow subtree are applied to any element
in document tree.

Patch by Takashi Sakamoto <tasak@google.com> on 2012-06-12
Reviewed by Dimitri Glazkov.

Test: fast/css/style-scoped/style-scoped-change-scoped-in-shadow.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::determineScope):
Modified to return a shadow root if a targeted stylesheet owner node is
not scoped but in some shadow DOM subtree.
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::HTMLStyleElement):
(WebCore::HTMLStyleElement::parseAttribute):
Modified to use the below scopedAttributeChanged when a changed
attribute's name is "scoped".
(WebCore::HTMLStyleElement::scopedAttributeChanged):
Newly added. According to new scoped value and isInShadowTree,
add or remove style rules to/from scopedAuthorRules via
registerWithScopingNode or unregisterWithScopingNode.
(WebCore::HTMLStyleElement::registerWithScopingNode):
Added one boolean argument to determine whether HTMLStyleElement is
scoped or not. The reason why not using scoped() is the comment:
"We cannot rely on the scoped element already being present when this
method is invoked. Therefore we cannot rely on scoped()"
(WebCore::HTMLStyleElement::unregisterWithScopingNode):
Changed the code for updating m_isRegisteredWithScopingNode. Now
set m_scopedStyleRegistrationState to be NotRegistered.
(WebCore::HTMLStyleElement::insertedInto):
Modified to invoke registerWithScopingNode when an element is not
scoped but in some shadow subtree.
(WebCore::HTMLStyleElement::removedFrom):
Modified to invoke unregisterWithScopingNode when an element is not
scoped but in some shadow subtree.
* html/HTMLStyleElement.h:
(HTMLStyleElement):
Modified the type of m_isRegisteredWithScopingNode from bool to
enum and renamed to m_scopedStyleRegistrationState. Now the member
variable keeps what HTMLStyleElement's scoping node is, i.e.
none (this means, not in shadow subtree and not scoped), shadow root or
parent node.
Added one new method scopedAttributeChanged's declaration and
modified the declaration of registerWithScopingNode.

LayoutTests:

Patch by Takashi Sakamoto <tasak@google.com> on 2012-06-12
Reviewed by Dimitri Glazkov.

* fast/css/style-scoped/registering-shadowroot-expected.txt:
* fast/css/style-scoped/registering-shadowroot.html:
* fast/css/style-scoped/style-scoped-change-scoped-in-shadow-expected.txt: Added.
* fast/css/style-scoped/style-scoped-change-scoped-in-shadow.html: Added.

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

8 years agoRemoving unused parameter Page
commit-queue@webkit.org [Tue, 12 Jun 2012 12:06:20 +0000 (12:06 +0000)]
Removing unused parameter Page
https://bugs.webkit.org/show_bug.cgi?id=88848

Patch by Amy Ousterhout <aousterh@chromium.org> on 2012-06-12
Reviewed by Kentaro Hara.

Removed the unused parameter Page* supplied to the create function
and constructor in DeviceOrientationController.

The parameter Page* was previously stored in an instance variable
m_page, but this was removed (see https://bugs.webkit.org/show_bug.cgi?id=88812).

No new tests because the removed parameter was unused and untested.

* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
(WebCore::DeviceOrientationController::create):
(WebCore::provideDeviceOrientationTo):
* dom/DeviceOrientationController.h:
(DeviceOrientationController):

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

8 years ago[Qt] Slave losts cause build break on bots
ossy@webkit.org [Tue, 12 Jun 2012 11:53:23 +0000 (11:53 +0000)]
[Qt] Slave losts cause build break on bots
https://bugs.webkit.org/show_bug.cgi?id=38980

Minor fix after r59261.

Reviewed by Tor Arne Vestbø.

* Scripts/build-webkit:
(unlinkZeroFiles): Don't remove 0 byte sized directories, because they are always 0 byte sized on Windows.

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

8 years agoUnreviewed. Add reference to bug 88859 for test skipped in r120055.
mario@webkit.org [Tue, 12 Jun 2012 11:48:47 +0000 (11:48 +0000)]
Unreviewed. Add reference to bug 88859 for test skipped in r120055.

* platform/efl/Skipped:
* platform/gtk/TestExpectations:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:

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

8 years ago[Chromium] Unreviewed: Add expectations for speech-recognition-event-constructor
dominicc@chromium.org [Tue, 12 Jun 2012 11:30:42 +0000 (11:30 +0000)]
[Chromium] Unreviewed: Add expectations for speech-recognition-event-constructor

This looks like it was failing as it was added in r120053. Filed
bug 88856.

* platform/chromium/TestExpectations:

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

8 years agoUnreviewed, rolling out r120051.
commit-queue@webkit.org [Tue, 12 Jun 2012 11:18:18 +0000 (11:18 +0000)]
Unreviewed, rolling out r120051.
http://trac.webkit.org/changeset/120051
https://bugs.webkit.org/show_bug.cgi?id=88852

some tests are crashing (Requested by morrita on #webkit).

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

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/generic/ContextEnabledFeatures.cpp: Renamed from Source/WebKit/chromium/src/ContextFeaturesClientImpl.cpp.
(WebCore):
(WebCore::ContextEnabledFeatures::shadowDOMEnabled):
(WebCore::ContextEnabledFeatures::styleScopedEnabled):
(WebCore::ContextEnabledFeatures::pagePopupEnabled):
* bindings/generic/ContextEnabledFeatures.h: Renamed from Source/WebKit/chromium/src/ContextFeaturesClientImpl.h.
(WebCore):
(ContextEnabledFeatures):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementation):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::determineScope):
* dom/ContextFeatures.cpp: Removed.
* dom/ContextFeatures.h: Removed.
* dom/DOMAllInOne.cpp:
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):
* dom/Document.cpp:
(WebCore::Document::Document):
* dom/Document.h:
(WebCore):
(Document):
* dom/Position.cpp:
(WebCore::Position::Position):
(WebCore::Position::findParent):
* dom/TreeScope.cpp:
(WebCore::TreeScope::getSelection):
* dom/make_names.pl:
(printConstructorInterior):
(printFactoryCppFile):
(printWrapperFunctions):
(printWrapperFactoryCppFile):
* editing/markup.cpp:
(WebCore::createFragmentFromMarkupWithContext):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::registerWithScopingNode):
(WebCore::HTMLStyleElement::unregisterWithScopingNode):
* html/shadow/HTMLContentElement.cpp:
(WebCore::contentTagName):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::patchDocument):
* loader/FrameLoaderClient.h:
(WebCore::FrameLoaderClient::allowShadowDOM):
(WebCore::FrameLoaderClient::allowStyleScoped):
(FrameLoaderClient):
(WebCore::FrameLoaderClient::allowPagePopup):
* platform/RefCountedSupplement.h: Removed.
* platform/Supplementable.h:
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebPermissionClient.h:
(WebKit::WebPermissionClient::allowWebComponents):
* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::allowShadowDOM):
(WebKit):
(WebKit::FrameLoaderClientImpl::allowStyleScoped):
* src/FrameLoaderClientImpl.h:
(FrameLoaderClientImpl):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::initPage):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setPermissionClient):
(WebKit::WebViewImpl::WebViewImpl):
* src/WebViewImpl.h:
(WebKit):

LayoutTests:

* fast/dom/shadow/elements-in-frameless-document-expected.txt: Removed.
* fast/dom/shadow/elements-in-frameless-document.html: Removed.

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

8 years ago[Qt] Diverging test results on 32/64 bit architectures
ossy@webkit.org [Tue, 12 Jun 2012 11:09:00 +0000 (11:09 +0000)]
[Qt] Diverging test results on 32/64 bit architectures
https://bugs.webkit.org/show_bug.cgi?id=82601

Unreviewed gardening, update expected files.

* platform/qt/Skipped: Unskip svg/transforms/transform-origin-css-property.xhtml, because it passes now.
* platform/qt/fast/repaint/moving-shadow-on-container-expected.png:
* platform/qt/fast/repaint/moving-shadow-on-path-expected.png:
* platform/qt/svg/W3C-SVG-1.1/paths-data-03-f-expected.png:
* platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.png:
* platform/qt/svg/custom/use-on-symbol-inside-pattern-expected.txt:
* platform/qt/svg/transforms/transform-origin-css-property-expected.png: Removed, because it is a reftest.
* platform/qt/svg/transforms/transform-origin-css-property-expected.txt: Removed, because it is a reftest.

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

8 years agoUnreviewed; skipping the new XHR blob test on the platforms where XHR_RESPONSE_BLOB...
kinuko@chromium.org [Tue, 12 Jun 2012 11:05:01 +0000 (11:05 +0000)]
Unreviewed; skipping the new XHR blob test on the platforms where XHR_RESPONSE_BLOB is not enabled.
http/tests/xmlhttprequest/response-blob-size.html

* platform/efl/Skipped:
* platform/gtk/TestExpectations:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:

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

8 years ago[DRT] LTC:: counterValueForElementById() could be moved to Internals.
kaustubh@motorola.com [Tue, 12 Jun 2012 10:47:39 +0000 (10:47 +0000)]
[DRT] LTC:: counterValueForElementById() could be moved to Internals.
https://bugs.webkit.org/show_bug.cgi?id=84406

Reviewed by Hajime Morita.

.:

Exporting Internals::counterValueForElement symbols for the Gtk build.

* Source/autotools/symbols.filter:

Source/WebCore:

Move the counterValueForElementById from LayoutTestCotroller to Internals and
remove the old platform specific implementations as it exclusively tests WebCore functionality.

Covered by existing test cases.

* testing/Internals.cpp:
(WebCore::Internals::counterValue):
(WebCore):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit/efl:

Move the counterValueForElementById from LayoutTestCotroller to Internals and
remove the old platform specific implementations as it exclusively tests WebCore functionality.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

Source/WebKit/gtk:

Move the counterValueForElementById from LayoutTestCotroller to Internals and
remove the old platform specific implementations as it exclusively tests WebCore functionality.

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):

Source/WebKit/qt:

Move the counterValueForElementById from LayoutTestCotroller to Internals and
remove the old platform specific implementations as it exclusively tests WebCore functionality.

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit/win:

Move the counterValueForElementById from LayoutTestCotroller to Internals and
remove the old platform specific implementations as it exclusively tests WebCore functionality.

* Interfaces/IWebFramePrivate.idl:
* WebFrame.cpp:
* WebFrame.h:

Source/WebKit2:

Exporting Internals::counterValueForElement symbols for the win build.

* win/WebKit2.def:

Tools:

Move the counterValueForElementById from LayoutTestCotroller to Internals and
remove the old platform specific implementations as it exclusively tests WebCore functionality.

* DumpRenderTree/LayoutTestController.cpp:
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(LayoutTestController::setPOSIXLocale):
* DumpRenderTree/chromium/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
* DumpRenderTree/qt/LayoutTestControllerQt.h:
(LayoutTestController):
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:
* WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR):
* WebKitTestRunner/InjectedBundle/LayoutTestController.h:
(LayoutTestController):

LayoutTests:

Move the counterValueForElementById from LayoutTestCotroller to Internals and
remove the old platform specific implementations as it exclusively tests WebCore functionality.

* fast/css/counters/2displays-expected.txt:
* fast/css/counters/2displays.html:
* fast/css/counters/adding-nodes.html:
* fast/css/counters/after-continuation-expected.txt:
* fast/css/counters/after-continuation.html:
* fast/css/counters/content-021-expected.txt:
* fast/css/counters/content-021.html:
* fast/css/counters/counter-before-content-not-incremented.html:
* fast/css/counters/counter-increment-000-expected.txt:
* fast/css/counters/counter-increment-000.html:
* fast/css/counters/counter-increment-001-expected.txt:
* fast/css/counters/counter-increment-001.html:
* fast/css/counters/counter-increment-002.html:
* fast/css/counters/counter-increment-inherit-expected.txt:
* fast/css/counters/counter-increment-inherit.htm:
* fast/css/counters/counter-increment-overflow.html:
* fast/css/counters/counter-increment-tests-expected.txt:
* fast/css/counters/counter-increment-tests.htm:
* fast/css/counters/counter-reset-000.html:
* fast/css/counters/counter-reset-001.html:
* fast/css/counters/counter-reset-002.html:
* fast/css/counters/counterValueForElementById-expected.txt:
* fast/css/counters/counterValueForElementById.html:
* fast/css/counters/deep-before-expected.txt:
* fast/css/counters/deep-before.html:
* fast/css/counters/invalidate-cached-counter-node.html:
* fast/css/counters/nesting.html:

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

8 years agoSpeech JavaScript API: Make SpeechRecognitionError an Event
hans@chromium.org [Tue, 12 Jun 2012 10:38:39 +0000 (10:38 +0000)]
Speech JavaScript API: Make SpeechRecognitionError an Event
https://bugs.webkit.org/show_bug.cgi?id=88784

Reviewed by Adam Barth.

Source/WebCore:

Make SpeechRecognitionError an Event. The spec was updated to make it
an event in its own right, rather than an attribute of
SpeechRecognitionEvent.

Test: fast/speech/scripted/speechrecognition-errors.html

* Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::didReceiveError):
* Modules/speech/SpeechRecognitionError.cpp:
(WebCore::SpeechRecognitionError::SpeechRecognitionError):
(WebCore::SpeechRecognitionError::interfaceName):
(WebCore):
* Modules/speech/SpeechRecognitionError.h:
(WebCore::SpeechRecognitionError::create):
(SpeechRecognitionError):
* Modules/speech/SpeechRecognitionError.idl:
* Modules/speech/SpeechRecognitionEvent.cpp:
(WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent):
* Modules/speech/SpeechRecognitionEvent.h:
(SpeechRecognitionEventInit):
(SpeechRecognitionEvent):
* Modules/speech/SpeechRecognitionEvent.idl:
* dom/EventNames.in:

Tools:

Make it possible to have MockWebSpeechRecognizer fire error events.

* DumpRenderTree/chromium/LayoutTestController.cpp:
(LayoutTestController::LayoutTestController):
(LayoutTestController::setMockSpeechRecognitionError):
* DumpRenderTree/chromium/LayoutTestController.h:
(LayoutTestController):
* DumpRenderTree/chromium/MockWebSpeechRecognizer.cpp:
(WebKit):
(ErrorTask):
(WebKit::ErrorTask::ErrorTask):
(MockWebSpeechRecognizer::addMockResult):
(MockWebSpeechRecognizer::setError):
* DumpRenderTree/chromium/MockWebSpeechRecognizer.h:
(MockWebSpeechRecognizer):

LayoutTests:

Add a layout test that fires a SpeechRecognitionError.

* fast/speech/scripted/speechrecognition-errors-expected.txt: Added.
* fast/speech/scripted/speechrecognition-errors.html: Added.

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

8 years agoUnreviewed gardening. Skip test failing on GTK bots after r119947.
mario@webkit.org [Tue, 12 Jun 2012 10:13:08 +0000 (10:13 +0000)]
Unreviewed gardening. Skip test failing on GTK bots after r119947.

* platform/gtk/TestExpectations: Skip test.

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

8 years agoREGRESSION(r118098): <content> element does not render distributed children when...
morrita@google.com [Tue, 12 Jun 2012 09:49:54 +0000 (09:49 +0000)]
REGRESSION(r118098): <content> element does not render distributed children when cloned from another document
https://bugs.webkit.org/show_bug.cgi?id=88148

Source/WebCore:

Reviewed by Dimitri Glazkov.

The shadow DOM availability was decided through FrameLoaderClient.
But there are documents which don't have any associated frames, in
which any shadow DOM related elements cannot be constructed.  That
resulsted the regression.

This change introduces a Page-based client called
ContextFeaturesClient which takes the role from FrameLoaderClient
to decide the feature availability, and ContextFeatures which is a
proxy of ContextFeaturesClient.  ContextEnabledFeatures is is
replaced with ContextFeatures.

Each ContextFeatures object is owned by a Page, and is attached to
each Document in the page even if the page itself has no referenct
to Frames or Pages. With ContextFeatures, each Document can decide
the feature availability even if it cannot reach Page or Frame.

On RefCountedSupplement: Document instance can live longer than a
Page where it is shwon. This means that ContextFeatures instance
needs to survive after owner Page destruction because it's
referenced from possibly surviving Documents. RefCountedSupplement
is introduced to cover this scenario: It allows supplement classes
to live after Page's destruction.

RefCountedSupplement::hostDestroyed() is notified when the hosting
page is gone. ContextFeatures clears its reference to the client
using this notification.

Test: fast/dom/shadow/elements-in-frameless-document.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateImplementation):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::determineScope):
* dom/ContextFeatures.cpp: Added.
(WebCore):
(WebCore::ContextFeaturesClient::empty):
(WebCore::ContextFeatures::supplementName):
(WebCore::ContextFeatures::defaultSwitch):
(WebCore::ContextFeatures::shadowDOMEnabled):
(WebCore::ContextFeatures::styleScopedEnabled):
(WebCore::ContextFeatures::pagePopupEnabled):
(WebCore::provideContextFeaturesTo):
(WebCore::provideContextFeaturesToDocumentFrom):
* dom/ContextFeatures.h: Added.
(WebCore):
(ContextFeatures):
(WebCore::ContextFeatures::ContextFeatures):
(WebCore::ContextFeatures::hostDestroyed):
(ContextFeaturesClient):
(WebCore::ContextFeaturesClient::~ContextFeaturesClient):
(WebCore::ContextFeaturesClient::isEnabled):
(WebCore::ContextFeatures::create):
(WebCore::ContextFeatures::isEnabled):
* dom/DOMAllInOne.cpp:
* dom/DOMImplementation.cpp:
(WebCore::DOMImplementation::createDocument):
(WebCore::DOMImplementation::createHTMLDocument):
* dom/Document.h:
(WebCore::Document::contextFeatures):
* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::setContextFeatures):
* dom/Position.cpp:
(WebCore::Position::Position):
(WebCore::Position::findParent):
* dom/TreeScope.cpp:
(WebCore::TreeScope::getSelection):
* dom/make_names.pl:
(printConstructorInterior):
(printFactoryCppFile):
(printWrapperFunctions):
(printWrapperFactoryCppFile):
* editing/markup.cpp:
(WebCore::createFragmentFromMarkupWithContext):
* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::registerWithScopingNode):
(WebCore::HTMLStyleElement::unregisterWithScopingNode):
* html/shadow/HTMLContentElement.cpp:
(WebCore::contentTagName):
* inspector/DOMPatchSupport.cpp:
(WebCore::DOMPatchSupport::patchDocument):
* loader/FrameLoaderClient.h:
* platform/RefCountedSupplement.h: Copied from Source/WebCore/platform/Supplementable.h.
(WebCore):
(RefCountedSupplement):
(WebCore::RefCountedSupplement::hostDestroyed):
(Wrapper):
(WebCore::RefCountedSupplement::Wrapper::Wrapper):
(WebCore::RefCountedSupplement::Wrapper::~Wrapper):
(WebCore::RefCountedSupplement::Wrapper::wrapped):
(WebCore::RefCountedSupplement::provideTo):
(WebCore::RefCountedSupplement::from):
* platform/Supplementable.h:
(WebCore::Supplement::isRefCountedWrapper):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseXML):

Source/WebKit/chromium:

Reviewed by Dimitri Glazkov.

- Added ContextFeaturesClientImpl which implements WebCore::ContextFeaturesClient.
- Replaced PagePopupFrameLoaderClient with PagePopupFeaturesClient.

* WebKit.gyp:
* public/WebPermissionClient.h:
(WebKit):
(WebKit::WebPermissionClient::allowWebComponents):
* src/ContextFeaturesClientImpl.cpp: Renamed from Source/WebCore/bindings/generic/ContextEnabledFeatures.cpp.
(WebKit):
(WebKit::ContextFeaturesClientImpl::isEnabled):
* src/ContextFeaturesClientImpl.h: Renamed from Source/WebCore/bindings/generic/ContextEnabledFeatures.h.
(WebKit):
(ContextFeaturesClientImpl):
(WebKit::ContextFeaturesClientImpl::ContextFeaturesClientImpl):
(WebKit::ContextFeaturesClientImpl::setPermissionClient):
* src/FrameLoaderClientImpl.cpp:
* src/FrameLoaderClientImpl.h:
(FrameLoaderClientImpl):
* src/WebPagePopupImpl.cpp:
(PagePopupFeaturesClient):
(WebKit::PagePopupFeaturesClient::isEnabled):
(WebKit):
(WebKit::WebPagePopupImpl::initPage):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setPermissionClient):
(WebKit::WebViewImpl::WebViewImpl):
* src/WebViewImpl.h:
(WebKit):

LayoutTests:

Reviewed by Dimitri Glazkov.

* fast/dom/shadow/elements-in-frameless-document-expected.txt: Added.
* fast/dom/shadow/elements-in-frameless-document.html: Added.

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

8 years ago[Chromium] Unreviewed: Rebaseline gradient-after-transparent-border
dominicc@chromium.org [Tue, 12 Jun 2012 09:21:06 +0000 (09:21 +0000)]
[Chromium] Unreviewed: Rebaseline gradient-after-transparent-border

Font antialiasing differences are causing this to fail after
rebaseline in r120043.

* platform/chromium-linux/fast/gradients/gradient-after-transparent-border-expected.png:

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

8 years agoRemove unnecessary functions: setName() and formControlName()
tkent@chromium.org [Tue, 12 Jun 2012 09:10:04 +0000 (09:10 +0000)]
Remove unnecessary functions: setName() and formControlName()
https://bugs.webkit.org/show_bug.cgi?id=88392

Reviewed by Kentaro Hara.

Source/WebCore:

'name' IDL attributes of form-related elements should be [Reflected],
and we don't need to have setName(). We used formControlName() for
name() implementation, and formControlName() is not needed because it
just converts a null attribute to an empty string. Our binding code does it.

We don't remove FormAssociatedElement::name() because many C++ code use it.

FormAssociatedElement::name() is virtual, and HTMLInputElement overrides
it so that it returns a cache of the name attribtue value because
CheckedRadioButtons class needs to know an old name attribute value when
the name attribtue is changed.

References:
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-object-name
http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-form-name
http://www.whatwg.org/specs/web-apps/current-work/multipage/association-of-controls-and-forms.html#dom-fe-name

Test: fast/forms/name-attribute.html

* dom/Element.h: Remove formControlName().
* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::name):
Copied from formControlName() implementation of HTMLFormControlElement.
* html/FormAssociatedElement.h:
(FormAssociatedElement): Make name() virtual, remove formControlName().
* html/FormController.cpp:
(WebCore::FormController::formElementsState):
Use name() instead of formControlName().
* html/HTMLFormControlElement.cpp:
Remove formControlName() and setName().
* html/HTMLFormControlElement.h: ditto.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::name): Renamed from formControlName().
* html/HTMLInputElement.h:
(HTMLInputElement): Renamed formControlName() to name(), and make it public.
* html/HTMLKeygenElement.idl: Make 'name' [Reflected].
* html/HTMLObjectElement.cpp: Remove formControlName().
* html/HTMLObjectElement.h: ditto.
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::appendFormData):
Use name() instead of formControlName().
* html/HTMLSelectElement.idl: Make 'name' [Reflected].
* html/HTMLTextAreaElement.idl: Make 'name' [Reflected].

LayoutTests:

* fast/forms/name-attribute-expected.txt: Added.
* fast/forms/name-attribute.html: Added.

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

8 years agoUnreviewed gardening. Skip test crashing on GTK debug bots.
mario@webkit.org [Tue, 12 Jun 2012 08:58:28 +0000 (08:58 +0000)]
Unreviewed gardening. Skip test crashing on GTK debug bots.

* platform/gtk/TestExpectations: Skip test.

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

8 years ago[Chromium] video-media-source-add-and-remove-ids.html needs to be skipped
annacc@chromium.org [Tue, 12 Jun 2012 08:21:27 +0000 (08:21 +0000)]
[Chromium] video-media-source-add-and-remove-ids.html needs to be skipped
until a chromium patch lands that will cause different expectations.

Unreviewed.

* platform/chromium/TestExpectations:

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

8 years ago[Chromium] Unreviewed: Rebaseline gradients tests
dominicc@chromium.org [Tue, 12 Jun 2012 07:46:19 +0000 (07:46 +0000)]
[Chromium] Unreviewed: Rebaseline gradients tests

Rebaseline two gradients tests after r120033 that I missed in
rebaselines in r120043.

* platform/chromium-linux-x86/fast/gradients/css3-radial-gradients2-expected.png: Removed.
* platform/chromium-linux/fast/gradients/css3-radial-gradients2-expected.png:
* platform/chromium-linux/fast/gradients/gradient-after-transparent-border-expected.png:

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

8 years agoProperty names of the built-in object cannot be retrieved
commit-queue@webkit.org [Tue, 12 Jun 2012 07:08:14 +0000 (07:08 +0000)]
Property names of the built-in object cannot be retrieved
after trying to delete one of its properties
https://bugs.webkit.org/show_bug.cgi?id=86461

Patch by Hojong Han <hojong.han@samsung.com> on 2012-06-12
Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

* runtime/JSObject.cpp:
(JSC::getClassPropertyNames):
(JSC::JSObject::getOwnPropertyNames):

LayoutTests:

* fast/js/delete-syntax-expected.txt:
* fast/js/script-tests/delete-syntax.js:

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

8 years agoRemove unused member variables found by clang's -Wunused-private-field
thakis@chromium.org [Tue, 12 Jun 2012 06:24:48 +0000 (06:24 +0000)]
Remove unused member variables found by clang's -Wunused-private-field
https://bugs.webkit.org/show_bug.cgi?id=88812

Reviewed by Anders Carlsson.

Source/WebCore:

Change a few |class|s that were used only to pin down the size of
existing classes to |struct|, so that clang doesn't warn about these
memvars.

No intended behavior change.

* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::GeolocationController):
* Modules/geolocation/GeolocationController.h:
(GeolocationController):
* Modules/webaudio/AudioContext.h:
(AudioContext):
* Modules/webaudio/AudioParamTimeline.h:
(AudioParamTimeline):
* accessibility/AccessibilityScrollbar.h:
(AccessibilityScrollbar):
* bindings/v8/ScriptScope.cpp:
(WebCore::ScriptScope::ScriptScope):
* bindings/v8/ScriptScope.h:
(ScriptScope):
* css/CSSValue.cpp:
* css/StylePropertySet.cpp:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
* dom/DeviceOrientationController.h:
(DeviceOrientationController):
* editing/ReplaceSelectionCommand.cpp:
(ReplacementFragment):
(WebCore::ReplacementFragment::ReplacementFragment):
* editing/TextIterator.cpp:
(WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
* editing/TextIterator.h:
(SimplifiedBackwardsTextIterator):
(BackwardsCharacterIterator):
* html/HTMLFormCollection.cpp:
(WebCore::HTMLFormCollection::HTMLFormCollection):
* html/HTMLFormCollection.h:
(HTMLFormCollection):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
* html/shadow/MediaControlElements.h:
(MediaControlFullscreenButtonElement):
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
* html/shadow/MediaControlRootElementChromium.h:
(MediaControlRootElementChromium):
* html/track/LoadableTextTrack.cpp:
(WebCore::LoadableTextTrack::LoadableTextTrack):
* html/track/LoadableTextTrack.h:
(LoadableTextTrack):
* inspector/CodeGeneratorInspector.py:
(Generator.go):
* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::InspectorCSSAgent):
* inspector/InspectorCSSAgent.h:
(InspectorCSSAgent):
* inspector/InspectorDOMDebuggerAgent.cpp:
(WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
* inspector/InspectorDOMDebuggerAgent.h:
(InspectorDOMDebuggerAgent):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
* inspector/InspectorMemoryAgent.h:
(InspectorMemoryAgent):
* notifications/NotificationController.cpp:
(WebCore::NotificationController::NotificationController):
* notifications/NotificationController.h:
(NotificationController):
* page/animation/CompositeAnimation.h:
(WebCore::CompositeAnimation::CompositeAnimation):
(CompositeAnimation):
* platform/Length.cpp:
* platform/audio/ReverbConvolver.cpp:
(WebCore::ReverbConvolver::ReverbConvolver):
* platform/audio/ReverbConvolver.h:
(ReverbConvolver):
* platform/audio/ReverbConvolverStage.cpp:
(WebCore::ReverbConvolverStage::ReverbConvolverStage):
* platform/audio/ReverbConvolverStage.h:
(ReverbConvolverStage):
* platform/graphics/TextRun.cpp:
(ExpectedTextRunSize):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):
* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::FECustomFilter):
* platform/graphics/filters/FECustomFilter.h:
(FECustomFilter):
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(JPEGImageReader):
* platform/leveldb/LevelDBTransaction.cpp:
(WebCore::LevelDBTransaction::TreeIterator::next):
* platform/text/TextCodecICU.cpp:
(WebCore::TextCodecICU::TextCodecICU):
* platform/text/TextCodecICU.h:
(TextCodecICU):
* rendering/InlineBox.cpp:
* rendering/InlineFlowBox.cpp:
* rendering/RenderText.cpp:
* rendering/style/KeyframeList.h:
(WebCore::KeyframeList::KeyframeList):
(KeyframeList):
* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::RenderSVGTextPath):
* rendering/svg/RenderSVGTextPath.h:
* rendering/svg/SVGInlineTextBox.cpp:
* svg/SVGPathByteStreamSource.cpp:
* svg/SVGPathByteStreamSource.h:
* svg/SVGPathTraversalStateBuilder.cpp:
(WebCore::SVGPathTraversalStateBuilder::SVGPathTraversalStateBuilder):
* svg/SVGPathTraversalStateBuilder.h:
(SVGPathTraversalStateBuilder):
* xml/XSLStyleSheet.h:

Source/WebKit/chromium:

* src/AudioDestinationChromium.cpp:
(WebCore::AudioDestinationChromium::AudioDestinationChromium):
* src/AudioDestinationChromium.h:
(AudioDestinationChromium):
* src/InspectorFrontendClientImpl.cpp:
(WebKit::InspectorFrontendClientImpl::InspectorFrontendClientImpl):
* src/InspectorFrontendClientImpl.h:
(InspectorFrontendClientImpl):
* src/WebFrameImpl.cpp:
(ChromePluginPrintContext):
* src/WebInputEvent.cpp:
* src/WorkerAsyncFileSystemChromium.cpp:
(WebCore::WorkerAsyncFileSystemChromium::createWorkerFileSystemCallbacksBridge):
* src/WorkerAsyncFileWriterChromium.cpp:
(WebCore::WorkerAsyncFileWriterChromium::WorkerAsyncFileWriterChromium):
* src/WorkerAsyncFileWriterChromium.h:
(WorkerAsyncFileWriterChromium):
* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTestSetVisible::CCLayerTreeHostTestSetVisible):
(CCLayerTreeHostTestSetVisible):

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

8 years ago[Chromium] Unreviewed: Rebaseline gradients tests
dominicc@chromium.org [Tue, 12 Jun 2012 06:22:49 +0000 (06:22 +0000)]
[Chromium] Unreviewed: Rebaseline gradients tests

r120033 added IMAGE failures for bunch of gradient tests that will
need rebaselining as a result of that change. This is that
rebaseline.

(File list elided because it is too long.)

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

8 years agoXHR returns size==0 Blob
kinuko@chromium.org [Tue, 12 Jun 2012 06:17:27 +0000 (06:17 +0000)]
XHR returns size==0 Blob
https://bugs.webkit.org/show_bug.cgi?id=88750

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Response Blob's .size field must have the correct response size.

Test: http/tests/xmlhttprequest/response-blob-size.html

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::responseBlob):

LayoutTests:

* http/tests/xmlhttprequest/response-blob-size-expected.txt: Added.
* http/tests/xmlhttprequest/response-blob-size.html: Added.

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

8 years ago[CMAKE][WK2] Make WebProcess target name more clear.
ryuan.choi@samsung.com [Tue, 12 Jun 2012 06:03:08 +0000 (06:03 +0000)]
[CMAKE][WK2] Make WebProcess target name more clear.
https://bugs.webkit.org/show_bug.cgi?id=88767

Reviewed by Ryosuke Niwa.

* CMakeLists.txt: Change WebProcess_NAME to WebProcess_EXECUTABLE_NAME.

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

8 years agoIntroduce an Enclosure Element for Chromium video controls.
commit-queue@webkit.org [Tue, 12 Jun 2012 05:40:04 +0000 (05:40 +0000)]
Introduce an Enclosure Element for Chromium video controls.
https://bugs.webkit.org/show_bug.cgi?id=87683

Patch by Silvia Pfeiffer <silviapf@chromium.org> on 2012-06-11
Reviewed by Eric Carlson.

Source/WebCore:

Updated tests.

The Chrome video controls are receiving a visual update. A new enclosure div is required
to provide for a offset space from the video's boundaries. The visual update itself is in
a separate patch.

* css/mediaControlsChromium.css:
(video::-webkit-media-controls-enclosure):
Introduce CSS for enclosure div so it doesn't show yet.
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlChromiumEnclosureElement::MediaControlChromiumEnclosureElement):
Definition of the new enclosure element.
(WebCore::MediaControlChromiumEnclosureElement::create):
Definition of a create operator for the new enclosure element.
(WebCore::MediaControlChromiumEnclosureElement::shadowPseudoId):
Definition of the shadowPseudoId of -webkit-media-controls-enclosure for the enclosure div.
(WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
Initialize member element for enclosure div.
(WebCore::MediaControlRootElementChromium::create):
Instantiate enclosure div and add into DOM between controls and panel elements.
(WebCore::MediaControlRootElementChromium::setMediaController):
Set media controller for enclosure div.
(WebCore::MediaControlRootElementChromium::createTextTrackDisplay):
Insert text track display container to enclosure rather than panel.
* html/shadow/MediaControlRootElementChromium.h:
(WebCore):
(MediaControlChromiumEnclosureElement):
(WebCore::MediaControlChromiumEnclosureElement::setMediaController):
(WebCore::MediaControlChromiumEnclosureElement::mediaController):
(WebCore::MediaControlChromiumEnclosureElement::isMediaControlElement):
Add declaration of the new enclosure element and its member functions.
(MediaControlRootElementChromium):
Add member variable to controls root element to hold the enclosure element.

LayoutTests:

Change fullscreen/video-controls-override.html, media/media-controls-invalid-url.html and
media/track/track-cue-rendering-snap-to-lines-not-set.html to deal with the new enclosure
div in Chromium controls and use the mediaControlsElement() helper function to find elements
inside the controls.
Fail video controls tests in test expectations.

* fullscreen/video-controls-override-expected.txt: Updated.
* fullscreen/video-controls-override.html: Use mediaControlsElement helper function.
* media/media-controls-invalid-url.html: Use mediaControlsElement helper function.
* media/track/track-cue-rendering-snap-to-lines-not-set.html: Height is provided by enclosure element.
* platform/chromium/TestExpectations: Fail video controls tests.

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

8 years agoDon't show the ASAN builders in garden-o-matic since they don't get block WebKit...
ojan@chromium.org [Tue, 12 Jun 2012 05:32:29 +0000 (05:32 +0000)]
Don't show the ASAN builders in garden-o-matic since they don't get block WebKit rolls.
https://bugs.webkit.org/show_bug.cgi?id=88836

Reviewed by Dirk Pranke.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:

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

8 years ago[Chromium] Unreviewed: Expectations for track-cues-cuechange.html
dominicc@chromium.org [Tue, 12 Jun 2012 04:23:34 +0000 (04:23 +0000)]
[Chromium] Unreviewed: Expectations for track-cues-cuechange.html
https://bugs.webkit.org/show_bug.cgi?id=88833

media/track/track-cues-cuechange.html is timing out flakily like
some other media tests noted in bug 88833.

* platform/chromium/TestExpectations:

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

8 years agoWebKit doesn't allow replacing the document element with a DocumentFragment containin...
commit-queue@webkit.org [Tue, 12 Jun 2012 04:10:42 +0000 (04:10 +0000)]
WebKit doesn't allow replacing the document element with a DocumentFragment containing one element
https://bugs.webkit.org/show_bug.cgi?id=88681

Patch by Elliott Sprehn <esprehn@gmail.com> on 2012-06-11
Reviewed by Ojan Vafai.

Source/WebCore:

Fix bug where replacing an immediate child of a Document with a DocumentFragment
would throw a HIERARCHY_REQUEST_ERR instead of replacing the node as required by DOM4.
http://www.w3.org/TR/domcore/#mutation-algorithms

* dom/Document.cpp:
(WebCore::Document::canReplaceChild):
    When the newChild was a DocumentFragment we incorrectly
    iterated over the document's children twice instead of the
    fragment when counting the total number of elements and
    doctypes to enfoce that there's only one of each.

LayoutTests:

Re-enables a bunch of disabled tests that are long since fixed and rewrites
the tests to use a more modern js-test-pre.js style.
https://bugs.webkit.org/show_bug.cgi?id=12751

* fast/dom/Document/replace-child-expected.txt:
* fast/dom/Document/replace-child.html:

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

8 years ago[BlackBerry] Add handling of notifyDataReceived in NetworkJob even there's no data...
mary.wu@torchmobile.com.cn [Tue, 12 Jun 2012 03:46:36 +0000 (03:46 +0000)]
[BlackBerry] Add handling of notifyDataReceived in NetworkJob even there's no data inside
https://bugs.webkit.org/show_bug.cgi?id=88773

Reviewed by Rob Buis.

Handling notifyDataReceived event even if there is no data inside.
This event was critical because it gives downloadFilterStream a chance
to follow up NetworkStream close event, and it also make pluginView in
FrameLoaderBlackBerry return normal logic.

RIM PR# 164563

Reviewed internally by Leo Yang.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::handleNotifyDataReceived):

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

8 years ago[BlackBerry] Wrong mimetype for empty file link
mary.wu@torchmobile.com.cn [Tue, 12 Jun 2012 03:44:38 +0000 (03:44 +0000)]
[BlackBerry] Wrong mimetype for empty file link
https://bugs.webkit.org/show_bug.cgi?id=88642

Reviewed by Rob Buis.

RIM PR# 164164

For empty file link, we shouldn't give "application/octet-stream"
which will lead to download.

Reviewed internally by Charles Wei.

* platform/network/blackberry/NetworkJob.cpp:
(WebCore::NetworkJob::sendResponseIfNeeded):

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

8 years ago[Chromium] Unreviewed: Update test expectations with bugs for media test timeouts
dominicc@chromium.org [Tue, 12 Jun 2012 03:21:24 +0000 (03:21 +0000)]
[Chromium] Unreviewed: Update test expectations with bugs for media test timeouts

* platform/chromium/TestExpectations:

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

8 years agoGeneratorGeneratedImage should cache images for the non-tiled case
commit-queue@webkit.org [Tue, 12 Jun 2012 03:04:38 +0000 (03:04 +0000)]
GeneratorGeneratedImage should cache images for the non-tiled case
https://bugs.webkit.org/show_bug.cgi?id=87094

Patch by Jin Yang <jin.a.yang@intel.com> on 2012-06-11
Reviewed by Simon Fraser.

Source/WebCore:

We cache the generated image if generator is not changed. By compared
with generating image on the fly, it will lose a little pixel precision
and several layout tests should be rebaselined. With this patch, the IE test
drive benchmark "Bayou" can gain about 50%.

No new tests. Performance optimization.

* platform/graphics/GeneratorGeneratedImage.cpp:
(WebCore::GeneratorGeneratedImage::draw):

LayoutTests:

Update expectations: added failures for baselines to come.

* platform/chromium/TestExpectations:

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

8 years ago[EFL] Remove CMakeCache.txt before building
commit-queue@webkit.org [Tue, 12 Jun 2012 03:04:28 +0000 (03:04 +0000)]
[EFL] Remove CMakeCache.txt before building
https://bugs.webkit.org/show_bug.cgi?id=88717

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

Remove CMake cache file before every build to avoid using outdated
build flags when new features get enabled. This will avoid unexpected
failures on the bots due to outdated build flags.

* Scripts/webkitdirs.pm:
(generateBuildSystemFromCMakeProject):

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

8 years agoAdd new Pointer Lock spec attribute webkitPointerLockElement.
scheib@chromium.org [Tue, 12 Jun 2012 03:02:16 +0000 (03:02 +0000)]
Add new Pointer Lock spec attribute webkitPointerLockElement.
https://bugs.webkit.org/show_bug.cgi?id=88799

Source/WebCore:

Reviewed by Dimitri Glazkov.

Part of a series of refactoring changes to update pointer lock API to
the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402

New attribute webkitPointerLockElement added. Follow up patches
will remove the previous isLocked attribute. Tests updated to use
the new attribute.

* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::webkitPointerLockElementEnabled):
* dom/Document.cpp:
(WebCore):
(WebCore::Document::webkitPointerLockElement):
* dom/Document.h:
(Document):
* dom/Document.idl:
* page/PointerLockController.h:
(WebCore::PointerLockController::element):

Tools:

Reviewed by Dimitri Glazkov.

Part of a series of refactoring changes to update pointer lock API to
the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402

New attribute webkitPointerLockElement added. Follow up patches
will remove the previous isLocked attribute. Tests updated to use
the new attribute.

WebViewHost logic required modification to correctly repond to
a lock, unlock, pointerLockElement call series. Specifically,
unlocking must be queued after a lock command is issued always
as the lock state may not be set yet with a lock request in flight.

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::requestPointerUnlock): Always post didLosePointerLock task.
(WebViewHost::didLosePointerLock): Signal didLosePointerLock only if pointer was locked.

LayoutTests:

Part of a series of refactoring changes to update pointer lock API to
the fullscreen locking style. https://bugs.webkit.org/show_bug.cgi?id=84402

New attribute webkitPointerLockElement added. Follow up patches
will remove the previous isLocked attribute. Tests updated to use
the new attribute.

Reviewed by Dimitri Glazkov.

* pointer-lock/lock-already-locked-expected.txt:
* pointer-lock/lock-already-locked.html:
* pointer-lock/pointer-lock-api-expected.txt:
* pointer-lock/pointer-lock-api.html:
* pointer-lock/pointerlocklost-event-expected.txt:
* pointer-lock/pointerlocklost-event.html:

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

8 years agoConsolidate Pointer Lock runtime enabled flags to just one.
scheib@chromium.org [Tue, 12 Jun 2012 02:51:59 +0000 (02:51 +0000)]
Consolidate Pointer Lock runtime enabled flags to just one.
https://bugs.webkit.org/show_bug.cgi?id=88810

Reviewed by Dimitri Glazkov.

Source/WebCore:

No new tests.

* bindings/generic/RuntimeEnabledFeatures.h:
(WebCore::RuntimeEnabledFeatures::pointerLockEnabled):
(WebCore::RuntimeEnabledFeatures::setPointerLockEnabled):
* dom/MouseEvent.idl:
* page/Navigator.idl:

Source/WebKit/chromium:

* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enablePointerLock):
(WebKit::WebRuntimeFeatures::isPointerLockEnabled):

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

8 years ago[CSS3 Backgrounds and Borders] Protect box-decoration-break behind a feature flag.
alexis.menard@openbossa.org [Tue, 12 Jun 2012 02:21:42 +0000 (02:21 +0000)]
[CSS3 Backgrounds and Borders] Protect box-decoration-break behind a feature flag.
https://bugs.webkit.org/show_bug.cgi?id=88804

Reviewed by Tony Chang.

Protect box-decoration-break behind a feature flag enabled by default.

.:

* configure.ac:

Source/WebCore:

No new tests : no behavior change here.

* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* rendering/style/RenderStyle.h:
* rendering/style/StyleBoxData.cpp:
(WebCore::StyleBoxData::StyleBoxData):
(WebCore::StyleBoxData::operator==):
* rendering/style/StyleBoxData.h:
(StyleBoxData):

Source/WebKit/chromium:

* features.gypi:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* Scripts/webkitperl/FeatureList.pm:
* qmake/mkspecs/features/features.pri:

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:

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

8 years ago[Chromium] Unreviewed: http/tests/xmlhttprequest/origin-exact-matching.html is timing...
dominicc@chromium.org [Tue, 12 Jun 2012 02:05:52 +0000 (02:05 +0000)]
[Chromium] Unreviewed: http/tests/xmlhttprequest/origin-exact-matching.html is timing out on XP about half the time

* platform/chromium/TestExpectations:

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