WebKit-https.git
6 years ago[mac] ImageBuffer should create accelerated buffers for small canvases, but we should...
timothy_horton@apple.com [Wed, 30 Jan 2013 23:34:57 +0000 (23:34 +0000)]
[mac] ImageBuffer should create accelerated buffers for small canvases, but we shouldn't force them to create compositing layers
https://bugs.webkit.org/show_bug.cgi?id=107804
<rdar://problem/11752381>

Reviewed by Simon Fraser.

Make all canvases IOSurface-backed if requested, instead of having a size threshold
under which we won't use accelerated canvas.

Make requiresCompositingForCanvas take the size of the canvas into account, using
the threshold which was previously in ImageBuffer to determine whether or not a
canvas should be forced into a compositing layer.

This improves canvas performance on some benchmarks
(http://www.mikechambers.com/html5/javascript/QuadTree/examples/collision.html, for example)
significantly, in cases where canvases which fall below the size limit
(and thus are unaccelerated) are being drawn rapidly into either accelerated
tiles or another accelerated canvas, by preventing excessive copying to/from the GPU.

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore):
(WebCore::ImageBuffer::ImageBuffer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForCanvas):

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

6 years agoIndexedDB: clean up scheduleTask return type
alecflett@chromium.org [Wed, 30 Jan 2013 23:30:39 +0000 (23:30 +0000)]
IndexedDB: clean up scheduleTask return type
https://bugs.webkit.org/show_bug.cgi?id=108361

Reviewed by Tony Chang.

This is just a code simplification now that the
synchronous consumers of scheduleTask are gone.

No new tests: pure refactor.

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::setIndexesReady):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::scheduleTask):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(IDBTransactionBackendImpl):

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

6 years ago[Chromium] Enable textarea resize corner for tests
tony@chromium.org [Wed, 30 Jan 2013 23:27:05 +0000 (23:27 +0000)]
[Chromium] Enable textarea resize corner for tests
https://bugs.webkit.org/show_bug.cgi?id=108385

Reviewed by Ojan Vafai.

Tools:

We should test what we ship. Also, this makes us pass more tests in content_shell.

* DumpRenderTree/chromium/TestRunner/src/WebPreferences.cpp:
(WebTestRunner::WebPreferences::reset): Turn on resize corner.

LayoutTests:

* compositing/overflow/textarea-scroll-touch-expected.txt:
* fast/dom/shadow/shadowdom-for-textarea-with-placeholder-expected.html:
This ref test would overlay 2 textarea on top of each other. Turn off the resize corner on one of them.
* fast/dom/shadow/shadowdom-for-textarea-without-shadow.html: Turn off the resize corner since the reference
file doesn't use a textarea.
* fast/repaint/textarea-set-disabled-expected.png:
* platform/chromium-linux/editing/inserting/4960120-1-expected.png:
* platform/chromium-linux/editing/pasteboard/pasting-tabs-expected.png:
* platform/chromium-linux/fast/block/float/overhanging-tall-block-expected.png:
* platform/chromium-linux/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
* platform/chromium-linux/fast/forms/basic-textareas-expected.png:
* platform/chromium-linux/fast/forms/basic-textareas-quirks-expected.png:
* platform/chromium-linux/fast/forms/form-element-geometry-expected.png:
* platform/chromium-linux/fast/forms/linebox-overflow-in-textarea-padding-expected.png:
* platform/chromium-linux/fast/forms/negativeLineHeight-expected.png:
* platform/chromium-linux/fast/forms/textAreaLineHeight-expected.png:
* platform/chromium-linux/fast/forms/textarea-align-expected.png:
* platform/chromium-linux/fast/forms/textarea-placeholder-pseudo-style-expected.png:
* platform/chromium-linux/fast/forms/textarea-placeholder-visibility-1-expected.png:
* platform/chromium-linux/fast/forms/textarea-placeholder-visibility-2-expected.png:
* platform/chromium-linux/fast/forms/textarea-scroll-height-expected.png:
* platform/chromium-linux/fast/forms/textarea-scrollbar-expected.png:
* platform/chromium-linux/fast/forms/textarea-scrolled-type-expected.png:
* platform/chromium-linux/fast/forms/textarea-setinnerhtml-expected.png:
* platform/chromium-linux/fast/forms/textarea-width-expected.png:
* platform/chromium-linux/fast/overflow/overflow-x-y-expected.png:
* platform/chromium-linux/fast/parser/entity-comment-in-textarea-expected.png:
* platform/chromium-linux/fast/parser/open-comment-in-textarea-expected.png:
* platform/chromium-linux/fast/replaced/width100percent-textarea-expected.png:
* platform/chromium-linux/fast/table/003-expected.png:
* platform/chromium-linux/fast/text/international/rtl-white-space-pre-wrap-expected.png:
* platform/chromium-linux/fast/text/international/unicode-bidi-plaintext-in-textarea-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug194024-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug30559-expected.png:
* platform/chromium-linux/tables/mozilla/bugs/bug30692-expected.png:
* platform/chromium/TestExpectations: Mark image failures for Mac and Win.

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

6 years agoElements that dynamically become fixed sometimes jump to the top left on scrolling
simon.fraser@apple.com [Wed, 30 Jan 2013 23:22:25 +0000 (23:22 +0000)]
Elements that dynamically become fixed sometimes jump to the top left on scrolling
https://bugs.webkit.org/show_bug.cgi?id=108389

Source/WebCore:

Reviewed by Beth Dakin.

When an element became position:fixed and gained a compositing layer
as a result, we would compute its viewport constraints (including the
last GraphicsLayer position) before we had actually updated the GraphicsLayer
geometry for the first time. This would cause a jump to 0,0 on scrolling.

Fix by removing the call to updateViewportConstraintStatus() just after
creating the backing. Instead, hook in to registerScrollingLayers(),
which is called on every geometry update, to update the viewport
constraints for this layer.

Tested via existing tests, which now show correct positions at last
layout.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::registerScrollingLayers):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateBacking):

LayoutTests:

Reviewed by Beth Dakin.

Update test results; these results now correctly reflect the last layout
positions.

* platform/mac/tiled-drawing/fixed/absolute-inside-fixed-expected.txt:
* platform/mac/tiled-drawing/fixed/absolute-inside-out-of-view-fixed-expected.txt:
* platform/mac/tiled-drawing/fixed/fixed-in-overflow-expected.txt:
* platform/mac/tiled-drawing/fixed/four-bars-expected.txt:
* platform/mac/tiled-drawing/fixed/nested-fixed-expected.txt:
* platform/mac/tiled-drawing/fixed/percentage-inside-fixed-expected.txt:
* platform/mac/tiled-drawing/sticky/sticky-horizontal-expected.txt:
* platform/mac/tiled-drawing/sticky/sticky-vertical-expected.txt:

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

6 years agoRevert r138912, the right fix for https://bugs.webkit.org/show_bug.cgi?id=106187...
jberlin@webkit.org [Wed, 30 Jan 2013 23:19:21 +0000 (23:19 +0000)]
Revert r138912, the right fix for https://bugs.webkit.org/show_bug.cgi?id=106187 is in
r141323.

* platform/mac-wk2/TestExpectations:

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

6 years agoHTMLDocumentParser::insert should be aware of threaded parsing
abarth@webkit.org [Wed, 30 Jan 2013 23:16:03 +0000 (23:16 +0000)]
HTMLDocumentParser::insert should be aware of threaded parsing
https://bugs.webkit.org/show_bug.cgi?id=107764

Reviewed by Eric Seidel.

This patch is an incremental step towards recovering from
document.write invalidating our speculative parsing buffer. The
approach I've taken is to make it possible to transfer the
HTMLDocumentParser's HTMLTokenizer and HTMLToken to the background
thread. To make that possible, I've taught the HTMLDocumentParser how
to operate without a tokenizer or a token.

Not having a tokenizer or a token while parsing in the background also
helps us avoid accidentially feeding input to the main thread's
tokenizer when we're supposed to feed it to the background thread.

This patch shouldn't have any behavior change (other than possibly
fixing a crash in fast/parser when threading parsing is enabled).

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore::HTMLDocumentParser::didFailSpeculation):
(WebCore):
(WebCore::HTMLDocumentParser::insert):
(WebCore::HTMLDocumentParser::finish):
(WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTree):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processEndTag):
(WebCore::HTMLTreeBuilder::processGenericRCDATAStartTag):
(WebCore::HTMLTreeBuilder::processGenericRawTextStartTag):
(WebCore::HTMLTreeBuilder::processScriptStartTag):
* html/parser/TextDocumentParser.cpp:
(WebCore::TextDocumentParser::TextDocumentParser):

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

6 years ago[HTMLTemplateElement] prevent the parser from removing nodes from the content when...
rafaelw@chromium.org [Wed, 30 Jan 2013 23:11:52 +0000 (23:11 +0000)]
[HTMLTemplateElement] prevent the parser from removing nodes from the content when the foster agency is processing formatting elements
https://bugs.webkit.org/show_bug.cgi?id=108377

Reviewed by Adam Barth.

Source/WebCore:

https://dvcs.w3.org/hg/webcomponents/raw-file/50ce1f368c1a/spec/templates/index.html#in-body-addition

callTheAdoptionAgency now appends to the template's content when it previously would have appended to the template element itself.

New test added to html5lib.

* dom/ContainerNode.cpp:
(WebCore::ContainerNode::parserInsertBefore):
(WebCore::ContainerNode::parserAppendChild):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

LayoutTests:

Note that dump-as-markup.js is modified here to put both template content and its direct children. This was an oversight and fixing it will make it
easier to spot parse errors like ones that arise from this bug, where nodes are appended directly to the template element.

* html5lib/resources/template.dat:
* resources/dump-as-markup.js:
(Markup._get):

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

6 years agoUpdate fast/backgrounds/size/contain-and-cover-zoomed test expectations.
pdr@google.com [Wed, 30 Jan 2013 23:06:34 +0000 (23:06 +0000)]
Update fast/backgrounds/size/contain-and-cover-zoomed test expectations.

Unreviewed update of test expectations.

* platform/chromium-linux-x86/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Removed.
* platform/chromium-linux/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
* platform/chromium-mac-lion/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Removed.
* platform/chromium-mac/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
* platform/chromium-win-xp/fast/backgrounds/size/contain-and-cover-zoomed-expected.png: Removed.
* platform/chromium-win/fast/backgrounds/size/contain-and-cover-zoomed-expected.png:
* platform/chromium/TestExpectations:

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

6 years agoCoordinated Graphics: LayerTreeRenderer manages the surface of UpdateAtlas.
commit-queue@webkit.org [Wed, 30 Jan 2013 23:00:20 +0000 (23:00 +0000)]
Coordinated Graphics: LayerTreeRenderer manages the surface of UpdateAtlas.
https://bugs.webkit.org/show_bug.cgi?id=107224

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-30
Reviewed by Benjamin Poulain.

Currently, CoordinatedLayerTreeHostProxy manages the surface of UpdateAtlas, but
all other resources are managed by LayerTreeRenderer. This patch matches the
surface of UpdateAtlas to other resources.

* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::updateTileForLayer):
(WebKit::CoordinatedLayerTreeHostProxy::createUpdateAtlas):
(WebKit::CoordinatedLayerTreeHostProxy::removeUpdateAtlas):
(WebKit::CoordinatedLayerTreeHostProxy::purgeBackingStores):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::updateTile):
(WebKit::LayerTreeRenderer::createUpdateAtlas):
(WebKit):
(WebKit::LayerTreeRenderer::removeUpdateAtlas):
(WebKit::LayerTreeRenderer::purgeGLResources):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(TileUpdate):
(WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
(LayerTreeRenderer):

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

6 years agoUpdate chromium-mac svg/zoom test expectations after r141303
pdr@google.com [Wed, 30 Jan 2013 22:58:08 +0000 (22:58 +0000)]
Update chromium-mac svg/zoom test expectations after r141303

Unreviewed update of test expectations.

* platform/chromium-mac-lion/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac-snowleopard/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:

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

6 years agoDon't run the tiled-drawing tests on Lion WK2.
jberlin@webkit.org [Wed, 30 Jan 2013 22:49:56 +0000 (22:49 +0000)]
Don't run the tiled-drawing tests on Lion WK2.

* platform/mac-wk2/TestExpectations:
Even though the platform/mac/tiled-drawing tests were skipped in the Lion TestExpectations
file, the Pass value in the mac-wk2 TestExpectations file was causing them to be run on
Lion WK2. Explicity skip the tests on Lion here as well.

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

6 years agoRemove MessageID parameter from generated message receivers
andersca@apple.com [Wed, 30 Jan 2013 22:48:09 +0000 (22:48 +0000)]
Remove MessageID parameter from generated message receivers
https://bugs.webkit.org/show_bug.cgi?id=108379

Reviewed by Beth Dakin.

* NetworkProcess/NetworkConnectionToWebProcess.cpp:
(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
(WebKit::NetworkConnectionToWebProcess::didReceiveSyncMessage):
* NetworkProcess/NetworkConnectionToWebProcess.h:
(NetworkConnectionToWebProcess):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didReceiveMessage):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* PluginProcess/PluginControllerProxy.h:
(PluginControllerProxy):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::didReceiveMessage):
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::didReceiveMessage):
(WebKit::WebProcessConnection::didReceiveSyncMessage):
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):
* Scripts/webkit2/messages.py:
(generate_message_handler):
* Scripts/webkit2/messages_unittest.py:
* Shared/Authentication/AuthenticationManager.cpp:
(WebKit::AuthenticationManager::didReceiveMessage):
* Shared/Authentication/AuthenticationManager.h:
(AuthenticationManager):
* Shared/Network/CustomProtocols/CustomProtocolManager.h:
(CustomProtocolManager):
* Shared/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
(WebKit::CustomProtocolManager::didReceiveMessage):
* Shared/Plugins/NPObjectMessageReceiver.h:
(NPObjectMessageReceiver):
* Shared/Plugins/NPRemoteObjectMap.cpp:
(WebKit::NPRemoteObjectMap::didReceiveSyncMessage):
* Shared/WebConnection.cpp:
(WebKit::WebConnection::didReceiveMessage):
* Shared/WebConnection.h:
(WebConnection):
* Shared/mac/SecItemShim.cpp:
(WebKit::SecItemShim::didReceiveMessageOnConnectionWorkQueue):
* Shared/mac/SecItemShim.h:
(SecItemShim):
* SharedWorkerProcess/SharedWorkerProcess.cpp:
(WebKit::SharedWorkerProcess::didReceiveMessage):
* SharedWorkerProcess/SharedWorkerProcess.h:
(SharedWorkerProcess):
* UIProcess/Downloads/DownloadProxy.cpp:
(WebKit::DownloadProxy::didReceiveMessage):
(WebKit::DownloadProxy::didReceiveSyncMessage):
* UIProcess/Downloads/DownloadProxy.h:
(DownloadProxy):
* UIProcess/DrawingAreaProxy.h:
(DrawingAreaProxy):
* UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h:
(CustomProtocolManagerProxy):
* UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
(WebKit::CustomProtocolManagerProxy::didReceiveMessage):
* UIProcess/Network/NetworkProcessProxy.cpp:
(WebKit::NetworkProcessProxy::didReceiveMessage):
* UIProcess/Network/NetworkProcessProxy.h:
(NetworkProcessProxy):
* UIProcess/Plugins/PluginProcessProxy.cpp:
(WebKit::PluginProcessProxy::didReceiveMessage):
* UIProcess/Plugins/PluginProcessProxy.h:
(PluginProcessProxy):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
(WebKit::SharedWorkerProcessProxy::didReceiveMessage):
* UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
(SharedWorkerProcessProxy):
* UIProcess/WebApplicationCacheManagerProxy.cpp:
(WebKit::WebApplicationCacheManagerProxy::didReceiveMessage):
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebContext.cpp:
(WebKit::WebContext::didReceiveMessage):
(WebKit::WebContext::didReceiveSyncMessage):
* UIProcess/WebContext.h:
(WebContext):
* UIProcess/WebCookieManagerProxy.cpp:
(WebKit::WebCookieManagerProxy::didReceiveMessage):
* UIProcess/WebCookieManagerProxy.h:
(WebCookieManagerProxy):
* UIProcess/WebDatabaseManagerProxy.cpp:
(WebKit::WebDatabaseManagerProxy::didReceiveMessage):
* UIProcess/WebDatabaseManagerProxy.h:
(WebDatabaseManagerProxy):
* UIProcess/WebFullScreenManagerProxy.cpp:
(WebKit::WebFullScreenManagerProxy::didReceiveMessage):
(WebKit::WebFullScreenManagerProxy::didReceiveSyncMessage):
* UIProcess/WebFullScreenManagerProxy.h:
(WebFullScreenManagerProxy):
* UIProcess/WebInspectorProxy.h:
(WebInspectorProxy):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didReceiveMessage):
(WebKit::WebPageProxy::didReceiveSyncMessage):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::didReceiveMessage):
(WebKit::WebProcessProxy::didReceiveSyncMessage):
(WebKit::WebProcessProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/WebProcessProxy.h:
(WebProcessProxy):
* UIProcess/mac/RemoteLayerTreeHost.h:
(RemoteLayerTreeHost):
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::didReceiveMessage):
* UIProcess/mac/SecItemShimProxy.cpp:
(WebKit::SecItemShimProxy::didReceiveMessageOnConnectionWorkQueue):
* UIProcess/mac/SecItemShimProxy.h:
(SecItemShimProxy):
* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::didReceiveMessage):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
(WebApplicationCacheManager):
* WebProcess/Cookies/WebCookieManager.cpp:
(WebKit::WebCookieManager::didReceiveMessage):
* WebProcess/Cookies/WebCookieManager.h:
(WebCookieManager):
* WebProcess/FullScreen/WebFullScreenManager.cpp:
(WebKit::WebFullScreenManager::didReceiveMessage):
* WebProcess/FullScreen/WebFullScreenManager.h:
(WebFullScreenManager):
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveMessage):
(WebKit::NetworkProcessConnection::didReceiveSyncMessage):
* WebProcess/Network/WebResourceLoader.h:
(WebResourceLoader):
* WebProcess/Plugins/PluginProcessConnection.cpp:
(WebKit::PluginProcessConnection::didReceiveMessage):
(WebKit::PluginProcessConnection::didReceiveSyncMessage):
* WebProcess/Plugins/PluginProcessConnection.h:
(PluginProcessConnection):
* WebProcess/Plugins/PluginProxy.h:
(PluginProxy):
* WebProcess/WebCoreSupport/WebDatabaseManager.cpp:
(WebKit::WebDatabaseManager::didReceiveMessage):
* WebProcess/WebCoreSupport/WebDatabaseManager.h:
(WebDatabaseManager):
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebPage/EventDispatcher.h:
(EventDispatcher):
* WebProcess/WebPage/WebInspector.h:
(WebInspector):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didReceiveMessage):
(WebKit::WebPage::didReceiveSyncMessage):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::didReceiveMessage):
(WebKit::WebProcess::didReceiveMessageOnConnectionWorkQueue):
* WebProcess/WebProcess.h:
(WebProcess):

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

6 years agoObjective-C API: JSContext's dealloc causes ASSERT due to ordering of releases
mhahnenberg@apple.com [Wed, 30 Jan 2013 22:46:54 +0000 (22:46 +0000)]
Objective-C API: JSContext's dealloc causes ASSERT due to ordering of releases
https://bugs.webkit.org/show_bug.cgi?id=107978

Reviewed by Filip Pizlo.

We need to add the Identifier table save/restore in JSContextGroupRelease so that we
have the correct table if we end up destroying the JSGlobalData/Heap.

* API/JSContextRef.cpp:
(JSContextGroupRelease):

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

6 years agoDatabaseContext should implement ThreadSafeRefCounted.
mark.lam@apple.com [Wed, 30 Jan 2013 22:45:33 +0000 (22:45 +0000)]
DatabaseContext should implement ThreadSafeRefCounted.
https://bugs.webkit.org/show_bug.cgi?id=108285.

Reviewed by Alexey Proskuryakov.

DatabaseManager::interruptAllDatabasesForContext() can ref a
DatabaseContext from another thread. Hence, the DatabaseContext needs
to be a ThreadSafeRefCounted instead of a RefCounted.

No new tests.

* Modules/webdatabase/DatabaseContext.h:

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

6 years ago[WK2][UNIX] g_spawn_sync() generates warning in PluginProcessProxy::scanPlugin()
commit-queue@webkit.org [Wed, 30 Jan 2013 22:44:52 +0000 (22:44 +0000)]
[WK2][UNIX] g_spawn_sync() generates warning in PluginProcessProxy::scanPlugin()
https://bugs.webkit.org/show_bug.cgi?id=108371

Patch by Christophe Dumez <dchris@gmail.com> on 2013-01-30
Reviewed by Martin Robinson.

g_spawn_sync() was sometimes displaying a warning about the SIGCHLD
signal disposition not being set to SIG_DFL, despite the fix in r133755.
The reason was that the code was only setting the disposition to SIG_DFL
if the previous disposition was SIG_IGN.

In this patch, we set the SIGCHLD signal disposition to SIG_DFL, no
matter what its previous disposition was. Also, the signal disposition
is now restored to its previous state after the call to g_spawn_sync()
to avoid side effects. Finally, we now use SIGCHLD instead of SIDCLD
since this is the more compatible POSIX name.

* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::spawnProcessSync):
(WebKit):
(WebKit::PluginProcessProxy::scanPlugin):

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

6 years agoImplement WheelEvent constructor
haraken@chromium.org [Wed, 30 Jan 2013 22:43:57 +0000 (22:43 +0000)]
Implement WheelEvent constructor
https://bugs.webkit.org/show_bug.cgi?id=108303

Reviewed by Adam Barth.

Source/WebCore:

Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm

This patch implements UIEvent constructor under a DOM4_EVENTS_CONSTRUCTOR flag,
which is enabled on Chromium and Safari.

Test: fast/events/constructors/wheel-event-constructor.html

* dom/WheelEvent.cpp:
(WebCore::WheelEventInit::WheelEventInit):
(WebCore):
(WebCore::WheelEvent::WheelEvent):
(WebCore::WheelEvent::initWheelEvent):
* dom/WheelEvent.h:
(WheelEventInit):
(WebCore):
(WheelEvent):
(WebCore::WheelEvent::create):
(WebCore::WheelEvent::wheelDelta):
(WebCore::WheelEvent::wheelDeltaX):
(WebCore::WheelEvent::wheelDeltaY):
(WebCore::WheelEvent::rawDeltaX):
(WebCore::WheelEvent::rawDeltaY):
(WebCore::WheelEvent::granularity):
(WebCore::WheelEvent::webkitDirectionInvertedFromDevice):
(WebCore::WheelEvent::isHorizontal):
* dom/WheelEvent.idl:

Source/WebKit/chromium:

This patch just renames an enum value to avoid style check error.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::scrollBy):

LayoutTests:

Editor's draft: https://dvcs.w3.org/hg/d4e/raw-file/tip/source_respec.htm

This patch implements UIEvent constructor under a DOM4_EVENTS_CONSTRUCTOR flag,
which is enabled on Chromium and Safari.

Test: fast/events/constructors/wheel-event-constructor.html

* fast/events/constructors/wheel-event-constructor-expected.txt: Added.
* fast/events/constructors/wheel-event-constructor.html: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

6 years ago[CSS Grid Layout] Support 'auto' sized grid items
jchaffraix@webkit.org [Wed, 30 Jan 2013 22:41:59 +0000 (22:41 +0000)]
[CSS Grid Layout] Support 'auto' sized grid items
https://bugs.webkit.org/show_bug.cgi?id=103332

Reviewed by Tony Chang.

Source/WebCore:

Tests: fast/css-grid-layout/auto-content-resolution-columns.html
       fast/css-grid-layout/auto-content-resolution-rows.html

The specification interprets 'auto' as minmax(min-content, max-content).
Because we stored the grid definitions as an 'auto' length, we wouldn't
handle it properly during layout.

This change makes us do the translation when we query the information for
layout.

* rendering/style/GridTrackSize.h:
(WebCore::GridTrackSize::minTrackBreadth):
(WebCore::GridTrackSize::maxTrackBreadth):
Translate 'auto' to minmax(min-content, max-content). This works as getComputedStyle
still sees the GridTrackSize as a single length and thus query length() instead of the
individual component of minmax().

LayoutTests:

* fast/css-grid-layout/auto-content-resolution-columns-expected.txt: Added.
* fast/css-grid-layout/auto-content-resolution-columns.html: Added.
* fast/css-grid-layout/auto-content-resolution-rows-expected.txt: Added.
* fast/css-grid-layout/auto-content-resolution-rows.html: Added.

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

6 years agoIndexedDB: Avoid crashing when deleting indexes
alecflett@chromium.org [Wed, 30 Jan 2013 22:39:41 +0000 (22:39 +0000)]
IndexedDB: Avoid crashing when deleting indexes
https://bugs.webkit.org/show_bug.cgi?id=108356

Reviewed by Tony Chang.

Source/WebCore:

It is reasonable that the backend aborts a transaction before
the frontend is aware, depending on the timing of events. This
allows the transactionId to be invalid rather than asserting.

Test: storage/indexeddb/createIndex-after-failure.html

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(WebCore::IDBDatabaseBackendImpl::createIndex):
(WebCore::IDBDatabaseBackendImpl::deleteIndex):
(WebCore::IDBDatabaseBackendImpl::get):
(WebCore::IDBDatabaseBackendImpl::put):
(WebCore::IDBDatabaseBackendImpl::setIndexKeys):
(WebCore::IDBDatabaseBackendImpl::setIndexesReady):
(WebCore::IDBDatabaseBackendImpl::openCursor):
(WebCore::IDBDatabaseBackendImpl::count):
(WebCore::IDBDatabaseBackendImpl::deleteRange):
(WebCore::IDBDatabaseBackendImpl::clear):

LayoutTests:

This test works on an edge case around the asynchronous
creation/deletion of indexes that used to crash. It doesn't fail/crash even
without this patch but was the test condition that uncovered the overall problem
before https://bugs.webkit.org/show_bug.cgi?id=107311 changed the timing of
some of the events.

* storage/indexeddb/createIndex-after-failure.html: Added.
* storage/indexeddb/resources/createIndex-after-failure.js: Added.
(sleep):
(prepareDatabase):
(deleteIndexAfterGet):
* storage/indexeddb/resources/shared.js:
(.requests.forEach):
(waitForRequests):

* storage/indexeddb/createIndex-after-failure.html: Added.
* storage/indexeddb/resources/createIndex-after-failure.js: Added.
(prepareDatabase):
(deleteIndexAfterGet):
* storage/indexeddb/resources/shared.js:
(.requests.forEach):
(waitForRequests):

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

6 years agoisSameAsCurrentState() should take SerializedScriptValue* instead of PassRefPtr
haraken@chromium.org [Wed, 30 Jan 2013 22:36:24 +0000 (22:36 +0000)]
isSameAsCurrentState() should take SerializedScriptValue* instead of PassRefPtr
https://bugs.webkit.org/show_bug.cgi?id=107904

Reviewed by Darin Adler.

Applied Darin's comment: https://bugs.webkit.org/show_bug.cgi?id=107904#c5

No tests. No change in behavior.

* bindings/js/JSPopStateEventCustom.cpp:
(WebCore::JSPopStateEvent::state):
* bindings/v8/custom/V8PopStateEventCustom.cpp:
(WebCore::V8PopStateEvent::stateAccessorGetter):
* page/History.cpp:
(WebCore::History::isSameAsCurrentState):
* page/History.h:
(History):

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

6 years agoRemove unnecessary setAnimating() method
commit-queue@webkit.org [Wed, 30 Jan 2013 22:32:30 +0000 (22:32 +0000)]
Remove unnecessary setAnimating() method
https://bugs.webkit.org/show_bug.cgi?id=107495

Patch by Douglas Stockwell <dstockwell@chromium.org> on 2013-01-30
Reviewed by Dean Jackson.

The corresponding accessor and uses were removed in r39211.

No new tests: no change in behaviour.

* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::AnimationBase):
* page/animation/AnimationBase.h:
(AnimationBase):
* page/animation/CompositeAnimation.cpp:
* page/animation/CompositeAnimation.h:
* page/animation/ImplicitAnimation.cpp:
(WebCore::ImplicitAnimation::animate):
* page/animation/KeyframeAnimation.cpp:
(WebCore::KeyframeAnimation::animate):

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

6 years agoClean up interface to ShadowRoot
esprehn@chromium.org [Wed, 30 Jan 2013 22:30:54 +0000 (22:30 +0000)]
Clean up interface to ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=108300

Reviewed by Dimitri Glazkov.

Lots of general clean up to ShadowRoot removing unused headers and forward
declarations, moving short inline methods into the class definition so it's
easier to understand what methods do what, and replacing macros with methods
with inline methods.

No new tests, just refactoring.

* dom/ElementShadow.cpp:
(WebCore::ElementShadow::addShadowRoot):
(WebCore::ElementShadow::removeAllShadowRoots):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::setInnerHTML): Use isOrphan instead of macro.
(WebCore::ShadowRoot::setApplyAuthorStyles): Use isOrphan instead of macro.
(WebCore::ShadowRoot::setResetStyleInheritance): Use isOrphan instead of macro.
(WebCore::ShadowRoot::childrenChanged): Use isOrphan instead of macro.
* dom/ShadowRoot.h:
(WebCore::ShadowRoot::setHost): Removed.
(WebCore::ShadowRoot::host):
(WebCore::ShadowRoot::owner):
(ShadowRoot):
(WebCore::ShadowRoot::isOrphan): Replacement of GuardOrphanShadowRoot macro.

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

6 years agoRemove useless comment from Base.xcconfig
ddkilzer@apple.com [Wed, 30 Jan 2013 22:30:29 +0000 (22:30 +0000)]
Remove useless comment from Base.xcconfig

Rubber-stamped by Mark Rowe.

* Configurations/Base.xcconfig: Remove comment.

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

6 years ago Update svg/zoom test expectations after r141303
pdr@google.com [Wed, 30 Jan 2013 22:29:15 +0000 (22:29 +0000)]
 Update svg/zoom test expectations after r141303

 Unreviewed update of test expectations.

* platform/chromium-linux/svg/zoom/page/zoom-background-images-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-linux/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-background-images-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-svg-as-background-with-relative-size-expected.png:

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

6 years ago[EFL][Qt][WK2] We should consider a page scale factor in WebCore instead of our own...
commit-queue@webkit.org [Wed, 30 Jan 2013 22:27:52 +0000 (22:27 +0000)]
[EFL][Qt][WK2] We should consider a page scale factor in WebCore instead of our own scale factor.
https://bugs.webkit.org/show_bug.cgi?id=105978

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-30
Reviewed by Simon Fraser.

Currently, PageViewportController sends a page scale factor to Coordinated
Graphics System regardless of the page scale factor in WebCore. This patch makes
Coordinated Graphics System use the page scale factor in WebCore to match other
ports.

When it is needed to change a page scale, PageViewportController sends the scale
to Page in Web Process via WebPageProxy::scalePage. When the page scale in
WebCore is changed, CoordinatedGraphicsLayer gets notified via
deviceOrPageScaleFactorChanged callback. CoordinatedGraphicsLayer uses the page
scale factor like previous our own scale factor.

We set true to applyDeviceScaleFactorInCompositor and
ApplyPageScaleFactorInCompositor in Settings like chromium, because
TiledBackingStore that is a backing store of each GraphicsLayer applies the
scale to our raster graphics engines instead of applying the scale to the local
transform of each render object.

Thank Kenneth Rohde Christiansen for implementing the base patch of this patch.

No new tests. Covered by existing tests.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewLegacyPrivate::updateViewportSize):
* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebView::setSize):
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
(WebKit::CoordinatedLayerTreeHostProxy::CoordinatedLayerTreeHostProxy):
(WebKit::CoordinatedLayerTreeHostProxy::setVisibleContentsRect):
    Does not receive a pageScaleFactor argument because
    PageViewportController sends a page scale factor to Page.
    However, this method still receives a scroll position because we
    enable delegates scrolling.
* UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
(CoordinatedLayerTreeHostProxy):
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::setVisibleContentsRect):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::setVisibleContentsRect):
* UIProcess/DrawingAreaProxyImpl.h:
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didRenderFrame):
(WebKit::PageViewportController::didChangeContentsVisibility):
(WebKit::PageViewportController::syncVisibleContents):
(WebKit::PageViewportController::applyScaleAfterRenderingContents):
(WebKit::PageViewportController::applyPositionAfterRenderingContents):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::updateViewportSize):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::deviceOrPageScaleFactorChanged):
(WebCore::CoordinatedGraphicsLayer::effectiveContentsScale):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
(WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
(WebKit::CoordinatedLayerTreeHost::deviceScaleFactor):
(WebKit):
(WebKit::CoordinatedLayerTreeHost::pageScaleFactor):
(WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
(WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(CoordinatedLayerTreeHost):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setUseFixedLayout):

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

6 years agoUpstream iOS build file changes for WTF
ddkilzer@apple.com [Wed, 30 Jan 2013 22:24:53 +0000 (22:24 +0000)]
Upstream iOS build file changes for WTF
<http://webkit.org/b/108221>

Reviewed by Mark Rowe.

* Configurations/Base.xcconfig:
- Import iOS.xcconfig.
- Remove VALID_ARCHS.  Modern Xcodes define these correctly.
- Make HEADER_SEARCH_PATHS work with iOS Simulator builds.
- Add SUPPORTED_PLATFORMS so both Mac and iOS SDKs appear in
  schemes.
- Define INSTALL_PATH when building for macosx SDK.
* Configurations/CopyWTFHeaders.xcconfig:
- Make PRIVATE_HEADERS_FOLDER_PATH work with iOS Simulator
  builds.
* Configurations/DebugRelease.xcconfig:
- Simplify ARCHS.  This works correctly on 32-bit-only SDKs.
* Configurations/WTF.xcconfig:
- Fix installation directory for iOS Simulator builds by
  defining INSTALL_PATH_ACTUAL.
* Configurations/iOS.xcconfig: Add.
* WTF.xcodeproj/project.pbxproj:
- Add iOS.xcconfig to the project.

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

6 years ago[Chromium] Temporarily change expectations for tests affected by tiling shaders
enne@google.com [Wed, 30 Jan 2013 22:20:53 +0000 (22:20 +0000)]
[Chromium] Temporarily change expectations for tests affected by tiling shaders
https://bugs.webkit.org/show_bug.cgi?id=108367

Patch by Brian Anderson <brianderson@chromium.org> on 2013-01-30
Reviewed by Adrienne Walker.

* platform/chromium/TestExpectations:

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

6 years agoApple's internal PLT test suite doesn't finish after r141136
rniwa@webkit.org [Wed, 30 Jan 2013 22:17:30 +0000 (22:17 +0000)]
Apple's internal PLT test suite doesn't finish after r141136
https://bugs.webkit.org/show_bug.cgi?id=108380

Reviewed by Alexey Proskuryakov.

Temporarily disable the feature to see if that fixes it.

* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):

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

6 years agoObjective-C API: exceptionHandler needs to be released in JSContext dealloc
mhahnenberg@apple.com [Wed, 30 Jan 2013 22:16:25 +0000 (22:16 +0000)]
Objective-C API: exceptionHandler needs to be released in JSContext dealloc
https://bugs.webkit.org/show_bug.cgi?id=108378

Reviewed by Filip Pizlo.

JSContext has a (copy) exceptionHandler property that it doesn't release in dealloc.
That sounds like the potential for a leak. It should be released.

* API/JSContext.mm:
(-[JSContext dealloc]):

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

6 years ago[Chromium] Unreviewed gardening.
fmalita@chromium.org [Wed, 30 Jan 2013 21:55:30 +0000 (21:55 +0000)]
[Chromium] Unreviewed gardening.

Attempted Mac build fix after http://trac.webkit.org/changeset/141291.

* platform/graphics/harfbuzz/HarfBuzzFaceCoreText.cpp:
(WebCore::harfBuzzCoreTextGetFontFuncs):

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

6 years agoTrack scale and zoom together when drawing SVG images
pdr@google.com [Wed, 30 Jan 2013 21:09:52 +0000 (21:09 +0000)]
Track scale and zoom together when drawing SVG images
https://bugs.webkit.org/show_bug.cgi?id=108108

Reviewed by Tim Horton.

Source/WebCore:

This patch refactors SVGImage::drawSVGToImageBuffer to take a single zoomAndScale parameter
and removes two messy calls to setPageZoomFactor. This patch makes progress towards an
SVG image cache keyed on just container size and scale.

This refactoring is covered by existing tests.

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::setContainerSizeForRenderer):
(WebCore::CachedImage::imageSizeForRenderer):

    This complex logic has been refactored out of CachedImage and into SVGImageCache.
    In addition to the code move, we no longer divide by the zoom factor because the
    container size is stored without zoom.

* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::drawSVGToImageBuffer):

    This method signature has changed to take a FloatSize for the container size and
    a combined zoom and scale parameter (zoomAndScale). A FloatSize is needed for the
    container size because we now store the container size unzoomed, and in this process
    we do not want to lose precision.

    The messy setPageZoomFactor calls have also been removed which cleans this function up.

* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageCache.cpp:
(WebCore::SVGImageCache::setContainerSizeForRenderer):

    This function now stores the container size unzoomed. The container size was changed
    to a FloatSize so that precision is not lost.

(WebCore::SVGImageCache::imageSizeForRenderer):

    Note that the ImageBuffer size will stay the same. We now store the size as:
        containerSize (without zoom) * zoom * scale
    Previously this was:
        containerSize (with zoom) * scale

(WebCore::SVGImageCache::redraw):
(WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
* svg/graphics/SVGImageCache.h:
(WebCore::SVGImageCache::SizeAndScales::SizeAndScales):
(SizeAndScales):
(SVGImageCache):

LayoutTests:

* platform/chromium/TestExpectations:

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

6 years ago[chromium] Add recordRenderingStats to WebSettings
danakj@chromium.org [Wed, 30 Jan 2013 21:03:48 +0000 (21:03 +0000)]
[chromium] Add recordRenderingStats to WebSettings
https://bugs.webkit.org/show_bug.cgi?id=108358

Reviewed by James Robinson.

Source/Platform:

* chromium/public/WebLayerTreeView.h:
(WebKit::WebLayerTreeView::Settings::Settings):
(Settings):

Source/WebKit/chromium:

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setRecordRenderingStats):
(WebKit):
* src/WebSettingsImpl.h:
(WebSettingsImpl):
(WebKit::WebSettingsImpl::recordRenderingStats):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

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

6 years agoREGRESSION(140504): pure CSE no longer matches things, 10% regression on Kraken
fpizlo@apple.com [Wed, 30 Jan 2013 21:02:20 +0000 (21:02 +0000)]
REGRESSION(140504): pure CSE no longer matches things, 10% regression on Kraken
https://bugs.webkit.org/show_bug.cgi?id=108366

Reviewed by Geoffrey Garen and Mark Hahnenberg.

This was a longstanding bug that was revealed by http://trac.webkit.org/changeset/140504.
Pure CSE requires that the Node::flags() that may affect the behavior of a node match,
when comparing a possibly redundant node to its possible replacement. It was doing this
by comparing Node::arithNodeFlags(), which as the name might appear to suggest, returns
just those flag bits that correspond to actual node behavior and not auxiliary things.
Unfortunately, Node::arithNodeFlags() wasn't actually masking off the irrelevant bits.
This worked prior to r140504 because CSE itself didn't mutate the flags, so there was a
very high probability that matching nodes would also have completely identical flag bits
(even the ones that aren't relevant to arithmetic behavior, like NodeDoesNotExit). But
r140504 moved one of CSE's side-tables (m_relevantToOSR) into a flag bit for quicker
access. These bits would be mutated as the CSE ran over a basic block, in such a way that
there was a very high probability that the possible replacement would already have the
bit set, while the redundant node did not have the bit set. Since Node::arithNodeFlags()
returned all of the bits, this would cause CSEPhase::pureCSE() to reject the match
almost every time.

The solution is to make Node::arithNodeFlags() do as its name suggests: only return those
flags that are relevant to arithmetic behavior. This patch introduces a new mask that
represents those bits, and includes NodeBehaviorMask and NodeBackPropMask, which are both
used for queries on Node::arithNodeFlags(), and both affect arithmetic code gen. None of
the other flags are relevant to Node::arithNodeFlags() since they either correspond to
information already conveyed by the opcode (like NodeResultMask, NodeMustGenerate,
NodeHasVarArgs, NodeClobbersWorld, NodeMightClobber) or information that doesn't affect
the result that the node will produce or any of the queries performed on the result of
Node::arithNodeFlags (NodeDoesNotExit and of course NodeRelevantToOSR).

This is a 10% speed-up on Kraken, undoing the regression from r140504.

* dfg/DFGNode.h:
(JSC::DFG::Node::arithNodeFlags):
* dfg/DFGNodeFlags.h:
(DFG):

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

6 years agoDo not convert to String->AtomicString for NamedNodeMap
benjamin@webkit.org [Wed, 30 Jan 2013 20:51:07 +0000 (20:51 +0000)]
Do not convert to String->AtomicString for NamedNodeMap
https://bugs.webkit.org/show_bug.cgi?id=108289

Reviewed by Kentaro Hara.

NamedNodeMap's API was taking a WTF::String. Internally, attribute
names are AtomicString.

The conversions String->AtomicString was causing an additional ref-deref
for the JS/V8 bindings. And could cause an additional memory allocation for the Objective-C
bindings.

This patch changes the API to use AtomicString, and update the custom bindings accordingly.

* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::canGetItemsForName):
(WebCore::JSNamedNodeMap::nameGetter):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::V8NamedNodeMap::namedPropertyGetter):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::getNamedItem):
(WebCore::NamedNodeMap::getNamedItemNS):
(WebCore::NamedNodeMap::removeNamedItem):
(WebCore::NamedNodeMap::removeNamedItemNS):
* dom/NamedNodeMap.h:
(NamedNodeMap):

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

6 years ago[GTK] http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_entry_type...
zandobersek@gmail.com [Wed, 30 Jan 2013 20:47:01 +0000 (20:47 +0000)]
[GTK] http/tests/w3c/webperf/submission/Intel/user-timing/test_user_timing_entry_type.html is failing
https://bugs.webkit.org/show_bug.cgi?id=108100

Reviewed by Tony Gentilcore.

Source/WebCore:

Similarly to the changes to V8 bindings in r140882, wrap the PerformanceEntry
as a PerformanceMark or PerformanceMeasure if possible.

No new tests - the relevant test now passes.

* bindings/js/JSPerformanceEntryCustom.cpp:
(WebCore::toJS):

LayoutTests:

* platform/gtk/TestExpectations: Remove the failure expectation.

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

6 years ago[chromium] move custom policy delegate to TestRunner library
jochen@chromium.org [Wed, 30 Jan 2013 20:46:15 +0000 (20:46 +0000)]
[chromium] move custom policy delegate to TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=108328

Reviewed by Adam Barth.

* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebTestProxyBase):
(WebTestRunner::WebTestProxy::decidePolicyForNavigation):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::policyDelegateEnabled):
(WebTestRunner::WebTestRunner::policyDelegateIsPermissive):
(WebTestRunner::WebTestRunner::policyDelegateShouldNotifyDone):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::policyDelegateEnabled):
(WebTestRunner):
(WebTestRunner::TestRunner::policyDelegateIsPermissive):
(WebTestRunner::TestRunner::policyDelegateShouldNotifyDone):
(WebTestRunner::TestRunner::setCustomPolicyDelegate):
(WebTestRunner::TestRunner::waitForPolicyDelegate):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::decidePolicyForNavigation):
(WebTestRunner):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::decidePolicyForNavigation):
(WebViewHost::reset):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

6 years agoFix compile error in WebFrameTest
tonyg@chromium.org [Wed, 30 Jan 2013 20:42:40 +0000 (20:42 +0000)]
Fix compile error in WebFrameTest
https://bugs.webkit.org/show_bug.cgi?id=108360

Unreviewed build fix.

Fixes compile error:
../../Source/WebKit/chromium/tests/WebFrameTest.cpp:330:5: error: converting false to pointer type for argument 1 of char testing::internal::IsNullLiteralHelper(testing::internal::Secret*) [-Werror=conversion-null]

* tests/WebFrameTest.cpp:

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

6 years ago[JSC] MutationObservers should not create circular, leaky references
adamk@chromium.org [Wed, 30 Jan 2013 20:22:45 +0000 (20:22 +0000)]
[JSC] MutationObservers should not create circular, leaky references
https://bugs.webkit.org/show_bug.cgi?id=93661

Reviewed by Adam Barth.

This patch makes JSMutationCallback an entirely-custom class that
holds a weak reference to the function it wraps. To keep that function
alive, it also adds a PrivateName between the JSMutationObserver
wrapper and the function when the MutationObserver is constructed.

Unlike the generated JSC callbacks, JSMutationCallback doesn't hold a
reference to the JSDOMGlobalObject, instead holding the
DOMWrapperWorld it was created in. As an ActiveDOMCallback, it also
holds a weak pointer to ScriptExecutionContext (via ContextDestructionObserver).

It's not clear to me how to write a test for this. There's an existing
manual test in ManualTests/leak-cycle-observer-wrapper.html which may
be of use but which doesn't seem to currently give meaningful output.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* UseJSC.cmake:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSMutationCallback.cpp: Added.
(WebCore):
(WebCore::JSMutationCallback::JSMutationCallback):
(WebCore::JSMutationCallback::~JSMutationCallback):
(WebCore::JSMutationCallback::handleEvent):
* bindings/js/JSMutationCallback.h: Added.
(WebCore):
(JSMutationCallback): Instead of a JSCallbackData, hold a weak ref to the callback and a RefPtr to the DOMWrapperWorld.
(WebCore::JSMutationCallback::create):
* bindings/js/JSMutationCallbackCustom.cpp: Removed.
* bindings/js/JSMutationObserverCustom.cpp:
(WebCore::JSMutationObserverConstructor::constructJSMutationObserver):
When constructing the JSMutationObserver, add a reference via PrivateName from the MutationObserver to the callback function.
* dom/MutationCallback.idl: Removed. Neither JSC nor V8 use an IDL file to generate this class any more.

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

6 years agoStructure::m_outOfLineCapacity is unnecessary
mhahnenberg@apple.com [Wed, 30 Jan 2013 20:05:14 +0000 (20:05 +0000)]
Structure::m_outOfLineCapacity is unnecessary
https://bugs.webkit.org/show_bug.cgi?id=108206

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

We can calculate our out of line capacity by using the outOfLineSize and our knowledge about our resize policy.
According to GDB, this knocks Structures down from 136 bytes to 128 bytes (I'm guessing the extra bytes are from
better alignment of object fields), which puts Structures in a smaller size class. Woohoo! Looks neutral on our
benchmarks.

* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC):
(JSC::Structure::suggestedNewOutOfLineStorageCapacity):
(JSC::Structure::addPropertyTransition):
(JSC::Structure::addPropertyWithoutTransition):
* runtime/Structure.h:
(Structure):
(JSC::Structure::outOfLineCapacity):
(JSC::Structure::totalStorageCapacity):

Source/WTF:

We're adding a new function that gives us the ability to round a value up to the next power of a certain base.

* wtf/MathExtras.h:
(WTF::roundUpToPowerOf):

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

6 years ago[EFL] Gardening: Add expectations for flaky crashers
commit-queue@webkit.org [Wed, 30 Jan 2013 20:03:24 +0000 (20:03 +0000)]
[EFL] Gardening: Add expectations for flaky crashers
https://bugs.webkit.org/show_bug.cgi?id=108359

Unreviewed gardening: add a bunch of flaky results.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2013-01-30

* platform/efl-wk2/TestExpectations:

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

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 30 Jan 2013 20:01:53 +0000 (20:01 +0000)]
Unreviewed GTK gardening.

Adding failure expectations for a couple of fullscreen tests, probably
regressed with r141265.
Adding a crash expectation for an HTTP test that regressed with r141136.

* platform/gtk/TestExpectations:

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

6 years agoRemove willAddAuthorShadowRoot and replace with alwaysCreateUserAgentShadowRoot
esprehn@chromium.org [Wed, 30 Jan 2013 19:41:07 +0000 (19:41 +0000)]
Remove willAddAuthorShadowRoot and replace with alwaysCreateUserAgentShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=108248

Reviewed by Dimitri Glazkov.

The only reason willAddAuthorShadowRoot exists is so that a handful of
other elements can create the user agent shadow root right before the
author shadow root is created. Instead of providing this generic hook
just expose a virtual method on Element that requests this behavior.

No new tests, just refactoring.

* dom/Element.cpp:
(WebCore::Element::createShadowRoot):
* dom/Element.h:
(Element):
(WebCore::Element::alwaysCreateUserAgentShadowRoot): Added.
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::addShadowRoot): Remove willAddAuthorShadowRoot notification.
* html/HTMLButtonElement.cpp:
* html/HTMLButtonElement.h:
* html/HTMLFormControlElement.cpp:
* html/HTMLFormControlElement.h:
* html/HTMLMediaElement.cpp:
* html/HTMLMediaElement.h:

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

6 years ago[HarfBuzz] Naming fixes after removing old HarfBuzz code
dominik.rottsches@intel.com [Wed, 30 Jan 2013 19:39:35 +0000 (19:39 +0000)]
[HarfBuzz] Naming fixes after removing old HarfBuzz code
https://bugs.webkit.org/show_bug.cgi?id=108170

Reviewed by Tony Chang.

Since the old harfbuzz code is gone in r141241, it makes sense to get rid
of the now unnecessray NG suffix in a number of places. While at it,
I am also fixing some naming inconsistencies.

Renamed all occurences of HarfBuzzNG* to HarfBuzz*,
renamed lowercase variants of harfbuzz* in variable and function names to camel-case harfBuzz*,
moved files in platform/graphics/harfbuzz/ng/* one level up and removed ng folder.
Updated corresponding entries in Chromium, GTK and EFL build system files.

No new tests, no change in behavior.

* GNUmakefile.list.am:
* PlatformEfl.cmake:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* platform/graphics/FontPlatformData.cpp:
* platform/graphics/FontPlatformData.h:
(WebCore):
(FontPlatformData):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::platformDataInit):
(WebCore::FontPlatformData::platformDataAssign):
(WebCore::FontPlatformData::harfBuzzFace):
* platform/graphics/freetype/FontPlatformData.h:
(FontPlatformData):
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::harfBuzzFace):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::harfBuzzFace):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:
(WebCore):
(FontPlatformData):
* platform/graphics/harfbuzz/HarfBuzzFace.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzNGFace.cpp.
(WebCore):
(FaceCacheEntry):
(WebCore::FaceCacheEntry::create):
(WebCore::FaceCacheEntry::~FaceCacheEntry):
(WebCore::FaceCacheEntry::face):
(WebCore::FaceCacheEntry::glyphCache):
(WebCore::FaceCacheEntry::FaceCacheEntry):
(WebCore::harfBuzzFaceCache):
(WebCore::HarfBuzzFace::HarfBuzzFace):
(WebCore::HarfBuzzFace::~HarfBuzzFace):
(WebCore::findScriptForVerticalGlyphSubstitution):
(WebCore::HarfBuzzFace::setScriptForVerticalGlyphSubstitution):
* platform/graphics/harfbuzz/HarfBuzzFace.h: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzNGFace.h.
(WebCore):
(HarfBuzzFace):
(WebCore::HarfBuzzFace::create):
* platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCairo.cpp.
(WebCore):
(CairoFtFaceLocker):
(WebCore::CairoFtFaceLocker::CairoFtFaceLocker):
(WebCore::CairoFtFaceLocker::lock):
(WebCore::CairoFtFaceLocker::~CairoFtFaceLocker):
(WebCore::floatToHarfBuzzPosition):
(WebCore::doubleToHarfBuzzPosition):
(WebCore::CairoGetGlyphWidthAndExtents):
(WebCore::harfBuzzGetGlyph):
(WebCore::harfBuzzGetGlyphHorizontalAdvance):
(WebCore::harfBuzzGetGlyphHorizontalOrigin):
(WebCore::harfBuzzGetGlyphExtents):
(WebCore::harfBuzzCairoTextGetFontFuncs):
(WebCore::harfBuzzCairoGetTable):
(WebCore::HarfBuzzFace::createFace):
(WebCore::HarfBuzzFace::createFont):
(WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
* platform/graphics/harfbuzz/HarfBuzzFaceCoreText.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzNGFaceCoreText.cpp.
(WebCore):
(WebCore::floatToHarfBuzzPosition):
(WebCore::getGlyph):
(WebCore::getGlyphHorizontalAdvance):
(WebCore::getGlyphHorizontalOrigin):
(WebCore::getGlyphExtents):
(WebCore::harfbuzzCoreTextGetFontFuncs):
(WebCore::releaseTableData):
(WebCore::harfBuzzCoreTextGetTable):
(WebCore::HarfBuzzFace::createFace):
(WebCore::HarfBuzzFace::createFont):
(WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
* platform/graphics/harfbuzz/HarfBuzzFaceSkia.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzNGFaceSkia.cpp.
(WebCore):
(WebCore::HarfBuzzFontData::HarfBuzzFontData):
(HarfBuzzFontData):
(WebCore::SkiaScalarToHarfBuzzPosition):
(WebCore::SkiaGetGlyphWidthAndExtents):
(WebCore::harfBuzzGetGlyph):
(WebCore::harfBuzzGetGlyphHorizontalAdvance):
(WebCore::harfBuzzGetGlyphHorizontalOrigin):
(WebCore::harfBuzzGetGlyphExtents):
(WebCore::harfBuzzSkiaGetFontFuncs):
(WebCore::harfBuzzSkiaGetTable): Also fixed style checker whitespace complaint / indentation.
(WebCore::destroyHarfBuzzFontData):
(WebCore::HarfBuzzFace::createFace):
(WebCore::HarfBuzzFace::createFont):
(WebCore::HarfBuzzShaper::createGlyphBufferAdvance):
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp.
(WebCore):
(HarfBuzzScopedPtr):
(WebCore::HarfBuzzScopedPtr::HarfBuzzScopedPtr):
(WebCore::HarfBuzzScopedPtr::~HarfBuzzScopedPtr):
(WebCore::HarfBuzzScopedPtr::get):
(WebCore::harfBuzzPositionToFloat):
(WebCore::HarfBuzzShaper::HarfBuzzRun::HarfBuzzRun):
(WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult):
(WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndPositions):
(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
(WebCore::HarfBuzzShaper::HarfBuzzRun::xPositionForOffset):
(WebCore::normalizeCharacters):
(WebCore::HarfBuzzShaper::HarfBuzzShaper):
(WebCore::HarfBuzzShaper::~HarfBuzzShaper):
(WebCore::HarfBuzzShaper::setDrawRange):
(WebCore::HarfBuzzShaper::setFontFeatures):
(WebCore::HarfBuzzShaper::shape):
(WebCore::HarfBuzzShaper::adjustStartPoint):
(WebCore::HarfBuzzShaper::collectHarfBuzzRuns):
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):
(WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun):
(WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun):
(WebCore::HarfBuzzShaper::fillGlyphBuffer):
(WebCore::HarfBuzzShaper::offsetForPosition):
(WebCore::HarfBuzzShaper::selectionRect):
* platform/graphics/harfbuzz/HarfBuzzShaper.h: Renamed from Source/WebCore/platform/graphics/harfbuzz/ng/HarfBuzzShaper.h.
(WebCore):
(HarfBuzzShaper):
(WebCore::HarfBuzzShaper::totalWidth):
(HarfBuzzRun):
(WebCore::HarfBuzzShaper::HarfBuzzRun::create):
(WebCore::HarfBuzzShaper::HarfBuzzRun::setWidth):
(WebCore::HarfBuzzShaper::HarfBuzzRun::fontData):
(WebCore::HarfBuzzShaper::HarfBuzzRun::startIndex):
(WebCore::HarfBuzzShaper::HarfBuzzRun::numCharacters):
(WebCore::HarfBuzzShaper::HarfBuzzRun::numGlyphs):
(WebCore::HarfBuzzShaper::HarfBuzzRun::glyphs):
(WebCore::HarfBuzzShaper::HarfBuzzRun::advances):
(WebCore::HarfBuzzShaper::HarfBuzzRun::offsets):
(WebCore::HarfBuzzShaper::HarfBuzzRun::glyphToCharacterIndexes):
(WebCore::HarfBuzzShaper::HarfBuzzRun::width):
(WebCore::HarfBuzzShaper::HarfBuzzRun::rtl):
(WebCore::HarfBuzzShaper::HarfBuzzRun::script):

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

6 years agoREGRESSION(r136324): Flexbox should relayout flex children when width changes
tony@chromium.org [Wed, 30 Jan 2013 19:21:26 +0000 (19:21 +0000)]
REGRESSION(r136324): Flexbox should relayout flex children when width changes
https://bugs.webkit.org/show_bug.cgi?id=108231

Reviewed by Ojan Vafai.

Source/WebCore:

If the width of a block changes, we need to set relayoutChildren = true
to relayout the children. This broke when we optimized the layout calls
in layoutAndPlaceChildren.

Test: css3/flexbox/width-change-and-relayout-children.html

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock): Also reorder the code to match RenderBlock.
The bug fix is to use updateLogicalWidthAndColumnWidth() and its return value to set
relayoutChildren = true.

LayoutTests:

* css3/flexbox/width-change-and-relayout-children-expected.txt: Added.
* css3/flexbox/width-change-and-relayout-children.html: Added.

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

6 years agoGraphicsContext3DCG needs to copy image data in paintToCanvas
timothy_horton@apple.com [Wed, 30 Jan 2013 19:18:54 +0000 (19:18 +0000)]
GraphicsContext3DCG needs to copy image data in paintToCanvas
https://bugs.webkit.org/show_bug.cgi?id=108310

Reviewed by Simon Fraser.

Make the CG implementation of GraphicsContext3D::paintToCanvas copy image data
before drawing if we're drawing into an accelerated context, matching the fix made
in http://trac.webkit.org/changeset/106095 for 2D canvas.

No new tests, depends on acceleration and would be flaky at best.

* platform/graphics/GraphicsContext3D.h:
(GraphicsContext3D): Make CG's paintToCanvas take a GraphicsContext instead of a CGContextRef.
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::releaseImageData): Added.
(WebCore::GraphicsContext3D::paintToCanvas): Copy image data if the destination is
an accelerated context. Also, use GraphicsContext API instead of CGContext.
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):

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

6 years ago[Qt] Fix Win build after r141177
commit-queue@webkit.org [Wed, 30 Jan 2013 19:12:45 +0000 (19:12 +0000)]
[Qt] Fix Win build after r141177
https://bugs.webkit.org/show_bug.cgi?id=108325

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2013-01-30
Reviewed by Anders Carlsson.

* Platform/CoreIPC/win/ConnectionWin.cpp:
(CoreIPC::Connection::readEventHandler):
(CoreIPC::Connection::sendOutgoingMessage):

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

6 years ago[Chromium] Unreviewed gardening.
fmalita@chromium.org [Wed, 30 Jan 2013 19:02:16 +0000 (19:02 +0000)]
[Chromium] Unreviewed gardening.

inspector/editor/text-editor-ctrl-movements.html is timing out after r141245.

* platform/chromium/TestExpectations:

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

6 years ago Update WebKitSystemInterface for <rdar://problem/13111288>.
ap@apple.com [Wed, 30 Jan 2013 18:54:00 +0000 (18:54 +0000)]
    Update WebKitSystemInterface for <rdar://problem/13111288>.

        * libWebKitSystemInterfaceLion.a:
        * libWebKitSystemInterfaceMountainLion.a:

        * WebKitSystemInterface.h: Removed WKEnterPluginSandbox, which has been unused now.

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

6 years ago[BlackBerry] Screenshot is clipped when content is smaller than the desintation size
commit-queue@webkit.org [Wed, 30 Jan 2013 18:52:42 +0000 (18:52 +0000)]
[BlackBerry] Screenshot is clipped when content is smaller than the desintation size
https://bugs.webkit.org/show_bug.cgi?id=107735

Patch by Ed Baker <edbaker@rim.com> on 2013-01-30
Reviewed by Rob Buis.

Internal PR #284662
Don't scale the transformed content rect when the content is smaller than the destination
size. Scale the graphics context when it has a scale factor that isn't 1.0.

Internally reviewed by Andrew Lo

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::renderContents):

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

6 years agoMediaPlayerPrivateQTKit claims it supports application/x-diskcopy, breaking downloads.
jer.noble@apple.com [Wed, 30 Jan 2013 18:20:30 +0000 (18:20 +0000)]
MediaPlayerPrivateQTKit claims it supports application/x-diskcopy, breaking downloads.
https://bugs.webkit.org/show_bug.cgi?id=108237

Reviewed by Eric Carlson.

Disclaim any non-'video/' or 'audio/' types which QTKit purports to support.

* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::addFileTypesToCache):

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

6 years agoDo not restart the matched properties cache timer if active
fmalita@chromium.org [Wed, 30 Jan 2013 17:55:48 +0000 (17:55 +0000)]
Do not restart the matched properties cache timer if active
https://bugs.webkit.org/show_bug.cgi?id=108345

Reviewed by Andreas Kling.

StyleResolver::addToMatchedPropertiesCache() keeps resetting the timer as more than
matchedDeclarationCacheAdditionsBetweenSweeps entries are added. When armed, we should let
the timer expire at its scheduled time - otherwise it may never get a chance to fire if
entries keep getting added.

No new tests. This is a long lived timer (1min) which makes testing impractical.

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

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

6 years agoTemporarily disable assertions related to clip rect computation in RenderLayer
simon.fraser@apple.com [Wed, 30 Jan 2013 17:39:44 +0000 (17:39 +0000)]
Temporarily disable assertions related to clip rect computation in RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=108265

Reviewed by Dean Jackson.

These assertions are killing the test bots, so disable them temporarily
until we figure out the underlying bug (tracked by https://bugs.webkit.org/show_bug.cgi?id=103432).

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateLayerPositionsAfterScroll):

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

6 years agoElement::areAuthorShadowsAllowed should be private
esprehn@chromium.org [Wed, 30 Jan 2013 17:15:18 +0000 (17:15 +0000)]
Element::areAuthorShadowsAllowed should be private
https://bugs.webkit.org/show_bug.cgi?id=108298

Reviewed by Darin Adler.

There's no reason for areAuthorShadowsAllowed to be exposed publically
on Element since it just controls the behavior of createShadowRoot. Make
it private and fix all places where it wasn't in subclasses.

No new tests, just refactoring.

* dom/Element.h:
(WebCore::Element::areAuthorShadowsAllowed): Made private.
* html/HTMLFrameElementBase.h:
(HTMLFrameElementBase):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/HTMLMediaElement.h:
(HTMLMediaElement):
* html/HTMLPlugInElement.h:
(HTMLPlugInElement):
* svg/SVGElement.h:
(SVGElement):

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

6 years ago[BlackBerry] Webpage was cut off after rotating to landscape and then rotating back...
commit-queue@webkit.org [Wed, 30 Jan 2013 17:12:30 +0000 (17:12 +0000)]
[BlackBerry] Webpage was cut off after rotating to landscape and then rotating back to portrait on specific website
https://bugs.webkit.org/show_bug.cgi?id=108281
PR 284985

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2013-01-30
Reviewed by Rob Buis.
Internally reviewed by Jacky Jiang.

Return correct fixedLayoutSize when overflow exceeds contents size.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):

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

6 years agoREGRESSION (r141051): Broke plugin support on non-Mac WebKit2 Ports
thiago.santos@intel.com [Wed, 30 Jan 2013 16:58:10 +0000 (16:58 +0000)]
REGRESSION (r141051): Broke plugin support on non-Mac WebKit2 Ports
https://bugs.webkit.org/show_bug.cgi?id=108182

Reviewed by Sam Weinig.

Source/WebKit2:

Send the plugin path to the PluginProcess as a parameter.

* PluginProcess/qt/PluginProcessMainQt.cpp:
(WebKit::PluginProcessMain):
* PluginProcess/unix/PluginProcessMainUnix.cpp:
(WebKit::PluginProcessMainUnix):
* UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
(WebKit::ProcessLauncher::launchProcess):
* UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):
* UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
(WebKit::PluginProcessProxy::platformInitializeLaunchOptions):

LayoutTests:

Unskip failing tests.

* platform/efl-wk2/TestExpectations:
* platform/qt-5.0-wk2/TestExpectations:

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

6 years ago[EFL][WK2] Use C API inside ewk_window_features
christophe.dumez@intel.com [Wed, 30 Jan 2013 16:52:41 +0000 (16:52 +0000)]
[EFL][WK2] Use C API inside ewk_window_features
https://bugs.webkit.org/show_bug.cgi?id=107924

Reviewed by Sam Weinig.

Use C API inside ewk_window_features instead of accessing
internal C++ classes directly, to avoid violating API
layering.

* UIProcess/API/efl/EwkView.cpp:
(EwkView::createNewPage):
* UIProcess/API/efl/EwkView.h:
(EwkView):
* UIProcess/API/efl/ewk_window_features.cpp:
(EwkWindowFeatures::EwkWindowFeatures):
(getWindowFeatureValue):
(EwkWindowFeatures::getWindowFeatureBoolValue):
(EwkWindowFeatures::getWindowFeatureDoubleValue):
(ewk_window_features_geometry_get):
* UIProcess/API/efl/ewk_window_features_private.h:
(EwkWindowFeatures::create):
(EwkWindowFeatures::geometry):
(EwkWindowFeatures::setGeometry):
(EwkWindowFeatures):
* UIProcess/efl/PageUIClientEfl.cpp:
(WebKit::PageUIClientEfl::createNewPage):

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

6 years agoWeb Inspector: Script Profiler: Make profiler output typed.
commit-queue@webkit.org [Wed, 30 Jan 2013 16:15:38 +0000 (16:15 +0000)]
Web Inspector: Script Profiler: Make profiler output typed.
https://bugs.webkit.org/show_bug.cgi?id=102792

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2013-01-30
Reviewed by Yury Semikhatsky.

Currently fields "head" and "bottomUpHead" of Profile object
returned by Profiler.getCPUProfile is untyped (type = object).

That's not good both for client side (protocol users may
only guess on output content) and backend side (field names
are hardcoded in source code).

This patch defines "head" and "bottomUpHead" to be of new
"CPUProfileNode" type and updates serialization code to use
builders to create output.

* bindings/js/ScriptProfile.cpp: Used buiders for serialization.
* bindings/js/ScriptProfile.h: Ditto.
* bindings/v8/ScriptProfile.cpp: Ditto.
* bindings/v8/ScriptProfile.h: Ditto.
* inspector/Inspector.json: Added and used new ProfileNode type.

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

6 years agoWeb Inspector: remove NativeHeapGraph.js
yurys@chromium.org [Wed, 30 Jan 2013 16:12:32 +0000 (16:12 +0000)]
Web Inspector: remove NativeHeapGraph.js
https://bugs.webkit.org/show_bug.cgi?id=108342

Reviewed by Pavel Feldman.

NativeHeapGraph.js was removed as NativeHeapSnapshot.js provides more
features and shares its implementation with JSHeapSnapshot.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/NativeHeapGraph.js: Removed.
* inspector/front-end/NativeMemorySnapshotView.js:
(WebInspector.NativeSnapshotProfileType.prototype.buttonClicked.didReceiveMemorySnapshot):
(WebInspector.NativeSnapshotProfileType.prototype.buttonClicked):
(WebInspector.NativeSnapshotProfileHeader.prototype.startSnapshotTransfer):
* inspector/front-end/ProfilesPanel.js:
* inspector/front-end/WebKit.qrc:

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

6 years ago[EFL] Unreviewed gardening
commit-queue@webkit.org [Wed, 30 Jan 2013 15:33:02 +0000 (15:33 +0000)]
[EFL] Unreviewed gardening
https://bugs.webkit.org/show_bug.cgi?id=108341

Add a few failing results for EFL.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2013-01-30

* platform/efl/TestExpectations:

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

6 years agoWeb Inspector: Sidebar splitter is invisible in Elements and Sources panels
commit-queue@webkit.org [Wed, 30 Jan 2013 15:12:28 +0000 (15:12 +0000)]
Web Inspector: Sidebar splitter is invisible in Elements and Sources panels
https://bugs.webkit.org/show_bug.cgi?id=108331

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

This was a regression caused by https://bugs.webkit.org/show_bug.cgi?id=108181.
The splitter element did not get the correct class at the initialization.

* inspector/front-end/SidebarView.js:
(WebInspector.SidebarView):
(WebInspector.SidebarView.prototype._updateSidebarPosition):

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

6 years agoWeb Inspector: Filters on Console panel
commit-queue@webkit.org [Wed, 30 Jan 2013 15:10:57 +0000 (15:10 +0000)]
Web Inspector: Filters on Console panel
https://bugs.webkit.org/show_bug.cgi?id=107813

Source/WebCore:

The problem is that third-party libraries may spam javascript console with internal
messages. Now there's filter context-menu option, which allows to hide/show messages
sent from specific scripts or urls.

Patch by Dmitry Zvorygin <zvorygin@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

* English.lproj/localizedStrings.js:
* inspector/front-end/ConsoleMessage.js:
(WebInspector.ConsoleMessageImpl.prototype.appendUndefined):
(WebInspector.ConsoleMessageImpl.prototype._printArray):
(WebInspector.ConsoleMessageImpl.prototype._highlightSearchResultsInElement):
* inspector/front-end/ConsolePanel.js:
(WebInspector.ConsolePanel.prototype.performSearch):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.get this):
(WebInspector.ConsoleView.prototype._consoleMessageAdded):
(WebInspector.ConsoleView.prototype._appendConsoleMessage):
(WebInspector.ConsoleView.prototype._consoleCleared):
(WebInspector.ConsoleView.prototype._handleContextMenuEvent.get var):
(WebInspector.ConsoleView.prototype._handleContextMenuEvent.set get contextMenu):
(WebInspector.ConsoleView.prototype._shouldBeVisible):
(WebInspector.ConsoleView.prototype._updateMessageList):
(WebInspector.ConsoleGroup.prototype.addMessage):
* inspector/front-end/ContextMenu.js:
(WebInspector.ContextMenuItem.prototype.isEnabled):
(WebInspector.ContextMenuItem.prototype.setEnabled):
* inspector/front-end/Settings.js:

LayoutTests:

The problem is that third-party libraries may spam javascript console
with internal  messages. Now there's filter context-menu option, which
allows to hide/show messages sent from specific scripts or urls.

Patch by Dmitry Zvorygin <zvorygin@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

* http/tests/inspector/console-test.js:
(initialize_ConsoleTest.InspectorTest.dumpConsoleMessages):
(initialize_ConsoleTest.InspectorTest.dumpConsoleMessagesWithStyles):
(initialize_ConsoleTest.InspectorTest.dumpConsoleMessagesWithClasses):
(initialize_ConsoleTest.InspectorTest.expandConsoleMessages):
(initialize_ConsoleTest.InspectorTest.checkConsoleMessagesDontHaveParameters):
(initialize_ConsoleTest):
* http/tests/inspector/stacktraces/resources/stacktrace-test.js:
(test.addMessage):
(test):
* inspector/console/console-filter-test-expected.txt: Added.
* inspector/console/console-filter-test.html: Added.
* inspector/console/resources/log-source.js: Added.
(log2):

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

6 years ago[Qt] Fix minimal build after r141259.
allan.jensen@digia.com [Wed, 30 Jan 2013 15:07:33 +0000 (15:07 +0000)]
[Qt] Fix minimal build after r141259.

Unreviewed build fix.

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::clearNotificationPermissions):

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

6 years ago[Qt] Unreviewed gardening. Skip some failing tests.
fmalita@chromium.org [Wed, 30 Jan 2013 15:00:04 +0000 (15:00 +0000)]
[Qt] Unreviewed gardening. Skip some failing tests.
https://bugs.webkit.org/show_bug.cgi?id=108340.

Patch by Ádám Kallai <kadam@inf.u-szeged.hu> on 2013-01-30

* platform/qt/TestExpectations:

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

6 years ago[GStreamer] USE(NATIVE_FULLSCREEN_VIDEO) support
philn@webkit.org [Wed, 30 Jan 2013 14:55:50 +0000 (14:55 +0000)]
[GStreamer] USE(NATIVE_FULLSCREEN_VIDEO) support
https://bugs.webkit.org/show_bug.cgi?id=106760

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Initial support for NATIVE_FULLSCREEN_VIDEO in the GStreamer media
player. A new FullscreenVideoControllerGStreamer class is
introduced, ports interested to implement native fullscreen video
support should inherit from it (see FullscreenVideoControllerGtk)
and hook it in the MediaPlayerPrivateGStreamer backend.

The GStreamerGWorld port to GStreamer 1.x is partly based on a
patch by Sebastian Dröge <sebastian.droge@collabora.com>.

* GNUmakefile.am: Enable NATIVE_FULLSCREEN_VIDEO support.
* GNUmakefile.list.am: New
FullscreenVideoController{GStreamer,Gtk} modules.
* platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.cpp: Added.
(WebCore):
(WebCore::playerVolumeChangedCallback): Playbin notify::volume
signal callback.
(WebCore::playerMuteChangedCallback): Playbin notify::mute signal callback.
(WebCore::FullscreenVideoControllerGStreamer::FullscreenVideoControllerGStreamer):
(WebCore::FullscreenVideoControllerGStreamer::~FullscreenVideoControllerGStreamer):
(WebCore::FullscreenVideoControllerGStreamer::enterFullscreen):
Switch GStreamerGWorld to full screen, hook in to playbin's
notify::volume and mute signals and initialize the full screen window.
(WebCore::FullscreenVideoControllerGStreamer::exitFullscreen):
Destroy the full screen window, disconnect from playbin signals
and switch GStreamerGWorld out of full screen.
(WebCore::FullscreenVideoControllerGStreamer::exitOnUserRequest):
Trigger exit from full screen mode. This method is meant to be
called when the user explicitely requests to exit from full screen
by pressing a key or something similar.
(WebCore::FullscreenVideoControllerGStreamer::togglePlay): Switch
between play and pause states. Useful for child classes.
(WebCore::FullscreenVideoControllerGStreamer::increaseVolume):
Useful for child classes as well.
(WebCore::FullscreenVideoControllerGStreamer::decreaseVolume): Ditto.
(WebCore::FullscreenVideoControllerGStreamer::setVolume): Ditto.
(WebCore::FullscreenVideoControllerGStreamer::timeToString): Ditto.
* platform/graphics/gstreamer/FullscreenVideoControllerGStreamer.h: Added.
(WebCore):
(FullscreenVideoControllerGStreamer):
(WebCore::FullscreenVideoControllerGStreamer::playStateChanged):
To be implemented by child class to reflect the player's state changed.
(WebCore::FullscreenVideoControllerGStreamer::volumeChanged): To
be implemented by child class as well.
(WebCore::FullscreenVideoControllerGStreamer::muteChanged): Ditto.
(WebCore::FullscreenVideoControllerGStreamer::initializeWindow): Ditto.
(WebCore::FullscreenVideoControllerGStreamer::destroyWindow): Ditto.
* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::gstGWorldSyncMessageCallback): Adapt for GStreamer video
overlay API changes.
(WebCore::GStreamerGWorld::GStreamerGWorld):
gst_bus_set_sync_handler takes one more argument in GStreamer 1.x.
(WebCore::GStreamerGWorld::enterFullscreen): ffmpegcolorspace was
renamed to videoconvert in GStreamer 1.x and the tee src pad
template was renamed to src_%u. There is no need to send a new
segment query either.
(WebCore):
(WebCore::gstGWorldPadProbeCallback): Remove the platform video
sink branch once the tee source pad starting it has been blocked.
(WebCore::GStreamerGWorld::exitFullscreen): Refactor to use an
asynchronous pad probe.
(WebCore::GStreamerGWorld::removePlatformVideoSink): Refactored
from exitFullscreen.
(WebCore::GStreamerGWorld::setWindowOverlay): Adapt for GStreamer video
overlay API changes.
* platform/graphics/gstreamer/GStreamerGWorld.h:
(GStreamerGWorld):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
Hook NATIVE_FULLSCREEN_VIDEO support.
(WebCore::MediaPlayerPrivateGStreamer::volume): Playbin volume
query used by the FullscreenVideoController.
(WebCore):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
(WebCore):
(MediaPlayerPrivateGStreamer): volume(), muted() and MediaPlayer
accessor methods added. NATIVE_FULLSCREEN_VIDEO methods added as well.
(WebCore::MediaPlayerPrivateGStreamer::canEnterFullscreen):
(WebCore::MediaPlayerPrivateGStreamer::mediaPlayer):
* platform/graphics/gstreamer/PlatformVideoWindow.h: Re-enable
module if NATIVE_FULLSCREEN_VIDEO is turned on.
* platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp: Ditto.
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp: Re-enable
GStreamerGWorld support.
(_WebKitVideoSinkPrivate):
(webkitVideoSinkRender):
* platform/graphics/gstreamer/VideoSinkGStreamer.h: Ditto.

Source/WebKit/qt:

Build fixes for GStreamer NATIVE_FULLSCREEN_VIDEO support. Some
more changes will be needed to use the new
FullscreenVideoController though.

* WebCoreSupport/ChromeClientQt.cpp:
(WebCore::ChromeClientQt::ChromeClientQt):
(WebCore::ChromeClientQt::~ChromeClientQt):
* WebCoreSupport/FullScreenVideoQt.cpp:
(WebCore):
(WebCore::FullScreenVideoQt::FullScreenVideoQt):
(WebCore::FullScreenVideoQt::~FullScreenVideoQt):
(WebCore::FullScreenVideoQt::enterFullScreenForNode):
(WebCore::FullScreenVideoQt::exitFullScreenForNode):
(WebCore::FullScreenVideoQt::isValid):
* WebCoreSupport/FullScreenVideoQt.h:
(WebCore):
(FullScreenVideoQt):

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

6 years ago[Qt] Unreviewed gardening. Skip some failing tests.
kadam@inf.u-szeged.hu [Wed, 30 Jan 2013 14:49:13 +0000 (14:49 +0000)]
[Qt] Unreviewed gardening. Skip some failing tests.
https://bugs.webkit.org/show_bug.cgi?id=108340.

* platform/qt/TestExpectations:

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

6 years ago[Qt] Fix Qt/Mac build after r141024 and r141037
zeno.albisser@digia.com [Wed, 30 Jan 2013 14:48:40 +0000 (14:48 +0000)]
[Qt] Fix Qt/Mac build after r141024 and r141037
https://bugs.webkit.org/show_bug.cgi?id=108318

Reviewed by Kentaro Hara.

Source/WebKit2:

* Platform/CoreIPC/mac/ConnectionMac.cpp:
(CoreIPC::Connection::platformInvalidate):
    Replace nullptr with 0 to allow compiling without C++11 support.

Source/WTF:

* wtf/Functional.h:
    Make sure Block.h is included and its functionality
    is enabled for Qt on Mac.

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

6 years ago[Chromium] Unreviewed gaedening.
fmalita@chromium.org [Wed, 30 Jan 2013 14:31:51 +0000 (14:31 +0000)]
[Chromium] Unreviewed gaedening.

Updated results after http://trac.webkit.org/changeset/141243.

* platform/chromium-linux/fast/repaint/4774354-expected.png:
* platform/chromium-linux/fast/repaint/4776765-expected.png:
* platform/chromium-linux/fast/repaint/caret-with-transformation-expected.png: Added.
* platform/chromium-mac-lion/fast/repaint/4774354-expected.png:
* platform/chromium-mac-lion/fast/repaint/4776765-expected.png:
* platform/chromium-mac-lion/fast/repaint/caret-with-transformation-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/repaint/4774354-expected.png:
* platform/chromium-mac-snowleopard/fast/repaint/4776765-expected.png:
* platform/chromium-mac/fast/repaint/4774354-expected.png:
* platform/chromium-mac/fast/repaint/4776765-expected.png:
* platform/chromium-mac/fast/repaint/caret-with-transformation-expected.png: Added.
* platform/chromium-mac/fast/repaint/caret-with-transformation-expected.txt: Added.
* platform/chromium-win/fast/repaint/4774354-expected.png:
* platform/chromium-win/fast/repaint/4776765-expected.png:
* platform/chromium-win/fast/repaint/caret-with-transformation-expected.png: Added.
* platform/chromium-win/fast/repaint/caret-with-transformation-expected.txt: Added.
* platform/chromium/TestExpectations:

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

6 years agoWeb Inspector: beautify file selector dialog to render as two rows
pfeldman@chromium.org [Wed, 30 Jan 2013 14:03:32 +0000 (14:03 +0000)]
Web Inspector: beautify file selector dialog to render as two rows
https://bugs.webkit.org/show_bug.cgi?id=108335

Reviewed by Vsevolod Vlasov.

Go-to-file is now rendered in two rows.

* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog):
(WebInspector.FilteredItemSelectionDialog.prototype.focus):
(WebInspector.FilteredItemSelectionDialog.prototype.renderAsTwoRows):
(WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
(WebInspector.OpenResourceDialog.show):
* inspector/front-end/ViewportControl.js:
(WebInspector.ViewportControl):
(WebInspector.ViewportControl.prototype.refresh):
* inspector/front-end/filteredItemSelectionDialog.css:
(.filtered-item-list-dialog > input):
(.filtered-item-list-dialog > div.progress):
(.filtered-item-list-dialog > div.container):
(.filtered-item-list-dialog-item):
(.filtered-item-list-dialog-subtitle):
(.filtered-item-list-dialog-item.one-row .filtered-item-list-dialog-subtitle):
(.filtered-item-list-dialog-item.two-rows):
(.filtered-item-list-dialog-item.selected):
(.filtered-item-list-dialog-item span.highlight):

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

6 years ago[Qt][WK1] Support better testing of Web Notifications
allan.jensen@digia.com [Wed, 30 Jan 2013 13:59:04 +0000 (13:59 +0000)]
[Qt][WK1] Support better testing of Web Notifications
https://bugs.webkit.org/show_bug.cgi?id=107696

Reviewed by Jocelyn Turcotte.

Source/WebKit/qt:

Implement support for the DRT to clear notification permissions.

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::clearNotificationPermissions):
* WebCoreSupport/DumpRenderTreeSupportQt.h:
* WebCoreSupport/NotificationPresenterClientQt.cpp:
(WebCore::NotificationPresenterClientQt::clearCachedPermissions):
(WebCore):
* WebCoreSupport/NotificationPresenterClientQt.h:
(NotificationPresenterClientQt):

Tools:

Do not dump notification output to the console by default, instead allow the
tests that need this feature to enable it.

Implement denyWebNotificationPermission and removeAllWebNotificationPermissions.
Remove unused m_desktopNotificationAllowedOrigins variable.

* DumpRenderTree/qt/TestRunnerQt.cpp:
(TestRunner::TestRunner):
(TestRunner::reset):
(TestRunner::dumpNotifications):
(TestRunner::grantWebNotificationPermission):
(TestRunner::denyWebNotificationPermission):
(TestRunner::removeAllWebNotificationPermissions):
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunner):

LayoutTests:

Unskip the now working tests in http/tests/notifications.
Skip four tests that still fail on WebKit1.
Update tests that need notifications dumped.

* fast/notifications/notifications-click-event.html:
* fast/notifications/notifications-display-close-events.html:
* fast/notifications/notifications-no-icon.html:
* fast/notifications/notifications-replace.html:
* fast/notifications/notifications-rtl.html:
* fast/notifications/notifications-with-permission.html:
* platform/qt-5.0-wk1/TestExpectations:
* platform/qt/TestExpectations:

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

6 years agoWeb Inspector: migrate file selection dialog to the viewport.
pfeldman@chromium.org [Wed, 30 Jan 2013 12:47:39 +0000 (12:47 +0000)]
Web Inspector: migrate file selection dialog to the viewport.
https://bugs.webkit.org/show_bug.cgi?id=108313

Reviewed by Vsevolod Vlasov.

Otherwise it takes too long to render.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/FilteredItemSelectionDialog.js:
(WebInspector.FilteredItemSelectionDialog):
(WebInspector.FilteredItemSelectionDialog.prototype.focus):
(WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
(WebInspector.FilteredItemSelectionDialog.prototype._itemsLoaded):
(WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
(WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
(WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown.updateSelection):
(WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
(WebInspector.FilteredItemSelectionDialog.prototype._updateSelection):
(WebInspector.FilteredItemSelectionDialog.prototype._onClick):
(WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
(WebInspector.FilteredItemSelectionDialog.prototype.itemCount):
(WebInspector.FilteredItemSelectionDialog.prototype.itemElement):
* inspector/front-end/ViewportControl.js: Added.
(WebInspector.ViewportControl):
(WebInspector.ViewportControl.Provider):
(WebInspector.ViewportControl.Provider.prototype.itemCount):
(WebInspector.ViewportControl.Provider.prototype.itemElement):
(WebInspector.ViewportControl.prototype.contentElement):
(WebInspector.ViewportControl.prototype.refresh):
(WebInspector.ViewportControl.prototype._onScroll):
(WebInspector.ViewportControl.prototype.rowsPerViewport):
(WebInspector.ViewportControl.prototype.firstVisibleIndex):
(WebInspector.ViewportControl.prototype.lastVisibleIndex):
(WebInspector.ViewportControl.prototype.renderedElementAt):
(WebInspector.ViewportControl.prototype.scrollItemIntoView):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/filteredItemSelectionDialog.css:
(.js-outline-dialog .container div.item.selected):
(.js-outline-dialog .container div.item span.highlight):
* inspector/front-end/inspector.html:

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

6 years agoWeb Inspector: implement highlight range API
commit-queue@webkit.org [Wed, 30 Jan 2013 12:43:51 +0000 (12:43 +0000)]
Web Inspector: implement highlight range API
https://bugs.webkit.org/show_bug.cgi?id=108317

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Source/WebCore:

Test: inspector/editor/text-editor-highlight-api.html

Introduce RangeHighlightDescriptor class and implement Highlight Range
api.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor.prototype.removeHighlight):
(WebInspector.DefaultTextEditor.prototype.highlightRange):
(WebInspector.TextEditorMainPanel.prototype.removeHighlight):
(WebInspector.TextEditorMainPanel.prototype.highlightRange):
(WebInspector.TextEditorMainPanel.RangeHighlightDescriptor):
(WebInspector.TextEditorMainPanel.RangeHighlightDescriptor.prototype.affectsLine):
(WebInspector.TextEditorMainPanel.RangeHighlightDescriptor.prototype.rangesForLine):
(WebInspector.TextEditorMainPanel.RangeHighlightDescriptor.prototype.cssClass):
(WebInspector.TextEditorMainPanel.TokenHighlighter.prototype._removeHighlight):
* inspector/front-end/TextEditor.js:
(WebInspector.TextEditor.prototype.highlightRange):
(WebInspector.TextEditor.prototype.removeHighlight):

LayoutTests:

Added test cases to the existed test to cover highlight range
functionality.

* inspector/editor/text-editor-highlight-api-expected.txt: Added.
* inspector/editor/text-editor-highlight-api.html: Added.
* inspector/editor/text-editor-highlight-regexp-expected.txt: Removed.
* inspector/editor/text-editor-highlight-regexp.html: Removed.

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

6 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 30 Jan 2013 12:39:31 +0000 (12:39 +0000)]
Unreviewed GTK gardening.

* platform/gtk/accessibility/aria-combobox-expected.txt: Rebaselining after r141186.

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

6 years ago[Qt] Remove QT4_UNICODE related code paths
hausmann@webkit.org [Wed, 30 Jan 2013 12:27:34 +0000 (12:27 +0000)]
[Qt] Remove QT4_UNICODE related code paths
https://bugs.webkit.org/show_bug.cgi?id=108316

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Get rid of QT4_UNICODE and any related code paths. The Qt port
requires Qt5 and ICU these days. This also allows for the removal
of TextCodecQt.

* Target.pri:
* platform/KURL.cpp:
(WebCore::appendEncodedHostname):
* platform/graphics/SurrogatePairAwareTextIterator.cpp:
(WebCore::SurrogatePairAwareTextIterator::normalizeVoicingMarks):
* platform/text/TextEncoding.cpp:
(WebCore::TextEncoding::encode):
* platform/text/TextEncodingRegistry.cpp:
(WebCore::extendTextCodecMaps):
* platform/text/qt/TextCodecQt.cpp: Removed.
* platform/text/qt/TextCodecQt.h: Removed.

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataUseFeatures.in: The feature macro has been removed.

Source/WTF:

Get rid of QT4_UNICODE and any related code paths. The Qt port
requires Qt5 and ICU these days.

* WTF.gypi:
* WTF.pro:
* wtf/unicode/Unicode.h:
* wtf/unicode/qt4/UnicodeQt4.h: Removed.

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

6 years agoBUILD FIX: Make WebCorePrefix.h build on iOS
ddkilzer@apple.com [Wed, 30 Jan 2013 12:21:29 +0000 (12:21 +0000)]
BUILD FIX: Make WebCorePrefix.h build on iOS
<http://webkit.org/b/108224>

Reviewed by Sam Weinig.

* WebCorePrefix.h:
- Include <wtf/Platform.h>.
- Do not include <CoreServices/CoreServices.h> on iOS.
- Include <Foundation/Foundation.h> instead of <Cocoa/Cocoa.h>
  on iOS.

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

6 years agoBuild fix for WinCE after r141156.
paroga@webkit.org [Wed, 30 Jan 2013 12:20:25 +0000 (12:20 +0000)]
Build fix for WinCE after r141156.

* PlatformWinCE.cmake:

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

6 years ago[Chromium] Fix find in page rects for overflowing content.
jknotten@chromium.org [Wed, 30 Jan 2013 12:13:34 +0000 (12:13 +0000)]
[Chromium] Fix find in page rects for overflowing content.
https://bugs.webkit.org/show_bug.cgi?id=104924

Reviewed by Julien Chaffraix.

If a div has overflowing content, we should only normalise its
coordinates against the renderview or the containing scrollable block.

TEST=WebFrameTest.FindInPageMatchRects

* src/FindInPageCoordinates.cpp:
(WebKit::enclosingScrollableAncestor):
    Helper function to find the enclosing containing block with an overflow clip.
(WebKit::toNormalizedRect):
    Pass in the container as an argument.
(WebKit::findInPageRectFromAbsoluteRect):
    Compute the container for toNormalizedRect using enclosingScrollableAncestor.
* tests/WebFrameTest.cpp:
    Add expectations for new tests in WebFrameTest::FindInPageMatchRects and WebFrameTest::FindInPage.
* tests/data/find.html:
    Add test case for <select> element.
* tests/data/find_in_page_frame.html:
    Add test cases:
      - Result 15, 16 tests that containing <div> with style float:left and
        height:0px does not impact coordinate normalization.
      - Result 17, 18 tests that matches with absolute positioning are normalized containing
        relative positioned block, even if there is a closer parent block with overflow clip.
      - Result 19 adds a test case for <select> element.

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

6 years agoWeb Inspector: move heap profiler protocol tests into heap-profiler subfolder
yurys@chromium.org [Wed, 30 Jan 2013 12:07:19 +0000 (12:07 +0000)]
Web Inspector: move heap profiler protocol tests into heap-profiler subfolder
https://bugs.webkit.org/show_bug.cgi?id=108324

Reviewed by Vsevolod Vlasov.

Moved heap profiler protocol tests into LayoutTests/inspector-protocol/heap-profiler

* inspector-protocol/heap-profiler/resources/page-with-function.html: Renamed from LayoutTests/inspector-protocol/resources/page-with-function.html.
* inspector-protocol/heap-profiler/take-heap-snapshot-expected.txt: Renamed from LayoutTests/inspector-protocol/take-heap-snapshot-expected.txt.
* inspector-protocol/heap-profiler/take-heap-snapshot.html: Renamed from LayoutTests/inspector-protocol/take-heap-snapshot.html.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

6 years agoWeb Inspector: [Canvas] support instrumenting canvases in iframes (frontend side)
aandrey@chromium.org [Wed, 30 Jan 2013 12:01:07 +0000 (12:01 +0000)]
Web Inspector: [Canvas] support instrumenting canvases in iframes (frontend side)
https://bugs.webkit.org/show_bug.cgi?id=108319

Reviewed by Pavel Feldman.

Add a frame selector to choose between frames with canvases. Show this selector in the status
bar only if there are 2 or more frames with canvses. Otherwise, assume silently the only
frame with canvases (most common use case).

* English.lproj/localizedStrings.js:
* inspector/front-end/CanvasProfileView.js:
(WebInspector.CanvasProfileType):
(WebInspector.CanvasProfileType.prototype.get statusBarItems):
(WebInspector.CanvasProfileType.prototype._runSingleFrameCapturing):
(WebInspector.CanvasProfileType.prototype._startFrameCapturing):
(WebInspector.CanvasProfileType.prototype._frameAdded):
(WebInspector.CanvasProfileType.prototype._addFrame):
(WebInspector.CanvasProfileType.prototype._frameRemoved):
(WebInspector.CanvasProfileType.prototype._contextCreated):
(WebInspector.CanvasProfileType.prototype._selectedFrameId):
(WebInspector.CanvasProfileType.prototype._dispatchViewUpdatedEvent):
(WebInspector.CanvasDispatcher):
(WebInspector.CanvasDispatcher.prototype.contextCreated):
* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfileType.prototype.createProfile):
(WebInspector.ProfilesPanel.prototype._onProfileTypeSelected):
(WebInspector.ProfilesPanel.prototype._updateProfileTypeSpecificUI):
(WebInspector.ProfilesPanel.prototype._registerProfileType):
* inspector/front-end/StatusBarButton.js:
(WebInspector.StatusBarComboBox.prototype.size):

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

6 years agoWeb Inspector: Change the Elements panel sidebar layout based on its aspect ratio.
commit-queue@webkit.org [Wed, 30 Jan 2013 11:59:44 +0000 (11:59 +0000)]
Web Inspector: Change the Elements panel sidebar layout based on its aspect ratio.
https://bugs.webkit.org/show_bug.cgi?id=108181

Patch by Vladislav Kaznacheev <kaznacheev@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Sidebar aspect ratio proved to be a better trigger for the sidebar layout change that the docking mode.
Moved the sidebar layout handling completely into WebInspector.SidebarView which now only accepts
two positions: Start (corresponding to Left or Top) and End (corresponding to Right or Bottom).

No new tests.

* inspector/front-end/CSSNamedFlowCollectionsView.js:
(WebInspector.CSSNamedFlowCollectionsView):
* inspector/front-end/DockController.js:
(WebInspector.DockController.prototype._updateUI):
(WebInspector.DockController.prototype._toggleDockState):
* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.onResize):
* inspector/front-end/FileSystemView.js:
(WebInspector.FileSystemView):
* inspector/front-end/MemoryStatistics.js:
* inspector/front-end/Panel.js:
(WebInspector.Panel.prototype.createSidebarView):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/SidebarView.js:
(WebInspector.SidebarView):
(WebInspector.SidebarView.prototype.setAutoOrientation):
(WebInspector.SidebarView.prototype._updateSidebarPosition):
(WebInspector.SidebarView.prototype.onResize):

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

6 years agoPort SharedTimerWin.cpp to WinCE
paroga@webkit.org [Wed, 30 Jan 2013 11:58:08 +0000 (11:58 +0000)]
Port SharedTimerWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=103724

Reviewed by Brent Fulgham.

Add #if !OS(WINCE) around some parts of the code, so it can be used by the WinCE port too.

* PlatformWinCE.cmake:
* platform/win/SharedTimerWin.cpp:
(WebCore):
(WebCore::TimerWindowWndProc):
(WebCore::initializeOffScreenTimerWindow):
(WebCore::setSharedTimerFireInterval):
(WebCore::stopSharedTimer):
* platform/wince/SharedTimerWinCE.cpp: Removed.

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

6 years ago[EFL][Qt][WebGL] Avoid deleting an uncreated canvas.
commit-queue@webkit.org [Wed, 30 Jan 2013 11:56:42 +0000 (11:56 +0000)]
[EFL][Qt][WebGL] Avoid deleting an uncreated canvas.
https://bugs.webkit.org/show_bug.cgi?id=106878

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2013-01-30
Reviewed by Benjamin Poulain.

Source/WebKit2:

setContentsToCanvas is responsible for marking canvas for creation or deletion.
The issue here is that the canvas is marked for deletion even though it has not
been created. This causes an assert in LayerTreeRenderer::destroyCanvas.
This patch adds a seperate check to ensure that CoordinatedGraphicsLayer
tries to issue a request for canvas deletion only after request for canvas
creation has been handled.

New test: fast/canvas/webgl/canvas-resize-crash.html

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
(WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
(WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::fixedToViewport):

LayoutTests:

* fast/canvas/webgl/canvas-resize-crash-expected.txt: Added.
* fast/canvas/webgl/canvas-resize-crash.html: Added.

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

6 years agoUnreviewed GTK build fix.
zandobersek@gmail.com [Wed, 30 Jan 2013 11:55:07 +0000 (11:55 +0000)]
Unreviewed GTK build fix.

* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp: Include GraphicsLayerTextureMapper.h
as a forwarding header from WebCore.

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

6 years agoSource/WebCore: ctrl-arrows, ctrl-shift-arrow, ctrl-backspace
commit-queue@webkit.org [Wed, 30 Jan 2013 11:53:04 +0000 (11:53 +0000)]
Source/WebCore: ctrl-arrows, ctrl-shift-arrow, ctrl-backspace

Web Inspector: implmenet Ctrl-Arrow/Ctrl-Backspace in DefaultTextEditor
https://bugs.webkit.org/show_bug.cgi?id=107944

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Add ctrl-arrows/ctrl-shift-arrow/ctrl-backspace shortcuts to jump over
and delete words.

New test: inspector/editor/text-editor-ctrl-movements.html

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.DefaultTextEditor):
(WebInspector.DefaultTextEditor.prototype._registerShortcuts):
(WebInspector.DefaultTextEditor.prototype.selection):
(WebInspector.DefaultTextEditor.WordMovementController): Added.
(WebInspector.DefaultTextEditor.WordMovementController.prototype._registerShortcuts):
(WebInspector.DefaultTextEditor.WordMovementController.prototype.):
(WebInspector.DefaultTextEditor.WordMovementController.prototype._rangeForCtrlArrowMove):
(WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlArrow):
(WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlShiftArrow):
(WebInspector.DefaultTextEditor.WordMovementController.prototype._handleCtrlBackspace):

LayoutTests: Web Inspector: implmenet Ctrl-Arrow/Ctrl-Backspace in DefaultTextEditor
https://bugs.webkit.org/show_bug.cgi?id=107944

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Add new test to verify ctrl-arrow/ctrl-backspace behavior. Exclude
this test on the platforms that do not currently support eventSender.

* inspector/editor/text-editor-ctrl-movements-expected.txt: Added.
* inspector/editor/text-editor-ctrl-movements.html: Added.
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:

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

6 years agoWeb Inspector: do not repaint all lines in highlight regex API in DTE
commit-queue@webkit.org [Wed, 30 Jan 2013 11:49:40 +0000 (11:49 +0000)]
Web Inspector: do not repaint all lines in highlight regex API in DTE
https://bugs.webkit.org/show_bug.cgi?id=108081

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Source/WebCore:

Implement repaintLineRowsAffectedByHighlightDescriptor method that
will go through the visible lineRows and repaint only those of them
which were outdated by highlight change.

Improved test: inspector/editor/text-editor-highlight-regexp.html

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype.highlightRegex):
(WebInspector.TextEditorMainPanel.prototype.removeRegexHighlight):
(WebInspector.TextEditorMainPanel.prototype._repaintLineRowsAffectedByHighlightDescriptor):
(WebInspector.TextEditorMainPanel.prototype._paintLines):
(WebInspector.TextEditorMainPanel.prototype._paintLineRows):

LayoutTests:

Modify layout test to add a verification that highlight does not
repaint more DefaultTextEditor line rows than it needs to.

* inspector/editor/text-editor-highlight-regexp-expected.txt:
* inspector/editor/text-editor-highlight-regexp.html:

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

6 years agoREGRESSION (r139282): Caret repainting is broken for text-align: center'd <input>
commit-queue@webkit.org [Wed, 30 Jan 2013 11:20:31 +0000 (11:20 +0000)]
REGRESSION (r139282): Caret repainting is broken for text-align: center'd <input>
https://bugs.webkit.org/show_bug.cgi?id=108283

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-01-30
Reviewed by Tim Horton.

Occasionally carets won't be fully erased when blinking.
There used to be 1-pixel padding but removed since r139282.
This patch adds back the same workaround.

Source/WebCore:

Need to rebaseline test expectations.

* editing/FrameSelection.cpp:
(WebCore::repaintCaretForLocalRect):

LayoutTests:

* platform/chromium/TestExpectations:
* platform/mac/TestExpectations:

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

6 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Wed, 30 Jan 2013 10:52:58 +0000 (10:52 +0000)]
[EFL] Unreviewed gardening.

More plugin test cases skipped, failing after r141051,
plugins/document-open.html is not crashing, but currently timing out.

* platform/efl-wk2/TestExpectations:

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

6 years ago[HarfBuzz] Remove the HarfBuzz-old code
dominik.rottsches@intel.com [Wed, 30 Jan 2013 10:45:58 +0000 (10:45 +0000)]
[HarfBuzz] Remove the HarfBuzz-old code
https://bugs.webkit.org/show_bug.cgi?id=108077

Reviewed by Benjamin Poulain.

.:

Rename WTF_USE_HARFBUZZ_NG to WTF_USE_HARFBUZZ since there
won't be a distinction between ng and non-ng HarfBuzz after
removing the old code.

* Source/cmake/OptionsEfl.cmake:

Source/WebCore:

Removing unused old variant of the HarfBuzz code.

No new tests, no change in functionality.

* GNUmakefile.am: Rename WTF_USE_HARFBUZZ_NG to WTF_USE_HARFBUZZ
* WebCore.gypi: Removing ComplexTextControllerHarfBuzz* and HarfBuzzSkia* files,
* platform/graphics/SimpleFontData.h:
(SimpleFontData): USE(HARFBUZZ_NG) renamed to USE(HARFBUZZ).
* platform/graphics/freetype/FontPlatformData.h:
(FontPlatformData): Removing USE(HARFBUZZ_NG) ifdefs.
* platform/graphics/freetype/FontPlatformDataFreeType.cpp: Removing USE(HARFBUZZ_NG) ifdefs.
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::harfbuzzFace):
* platform/graphics/freetype/SimpleFontDataFreeType.cpp: USE(HARFBUZZ_NG) renamed to USE(HARFBUZZ).
(WebCore):
* platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp: Removed.
* platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h: Removed.
* platform/graphics/harfbuzz/FontHarfBuzz.cpp: Removing USE(HARFBUZZ_NG) ifdefs.
(WebCore::Font::drawComplexText):
(WebCore::Font::floatWidthForComplexText):
(WebCore::Font::offsetForPositionForComplexText):
(WebCore::Font::selectionRectForComplexText):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Removing USE(HARFBUZZ_NG) ifdefs.
(WebCore::FontPlatformData::harfbuzzFace):
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Removing USE(HARFBUZZ_NG) ifdefs.
(WebCore):
(FontPlatformData):
* platform/graphics/harfbuzz/HarfBuzzSkia.cpp: Removed.
* platform/graphics/harfbuzz/HarfBuzzSkia.h: Removed.
* platform/graphics/skia/SimpleFontDataSkia.cpp: USE(HARFBUZZ_NG) renamed to USE(HARFBUZZ).
(WebCore):

Source/WebKit/chromium:

Rename WTF_USE_HARFBUZZ_NG to WTF_USE_HARFBUZZ since there
won't be a distinction between ng and non-ng HarfBuzz after
removing the old code.

* features.gypi:

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

6 years ago[Qt] Major performance improvement in Qt's PluginDatabase implementation
commit-queue@webkit.org [Wed, 30 Jan 2013 10:34:24 +0000 (10:34 +0000)]
[Qt] Major performance improvement in Qt's PluginDatabase implementation
https://bugs.webkit.org/show_bug.cgi?id=106140

Patch by David Faure <faure@kde.org> on 2013-01-30
Reviewed by Simon Hausmann.

No new tests, only a performance improvement.

* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo): Don't do a full-fledged load(), load the module directly.
Keep the refcounting as it was before (broken, but otherwise flash crashes).
(WebCore::PluginPackage::load): Use existing module if fetchInfo created it.

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

6 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Wed, 30 Jan 2013 10:31:14 +0000 (10:31 +0000)]
[EFL] Unreviewed gardening.

More plugin test cases skipped, failing after r141051,

* platform/efl-wk2/TestExpectations: r140999 leads to assertions in two stacking container tests.
* platform/efl/TestExpectations: r140613 introduced fast/ruby/select-ruby.html - failing on our port.

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

6 years ago[TexMap] Remove GraphicsLayer in TextureMapperLayer.
commit-queue@webkit.org [Wed, 30 Jan 2013 10:20:46 +0000 (10:20 +0000)]
[TexMap] Remove GraphicsLayer in TextureMapperLayer.
https://bugs.webkit.org/show_bug.cgi?id=107073

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-30
Reviewed by Noam Rosenthal.

Source/WebCore:

Remove the dependency of TextureMapperLayer on GraphicsLayer. It is needed to
remove GraphicsLayerTextureMapper in LayerTreeRenderer.

This is in preparation for refactoring TextureMapper to work in an actor
model (http://webkit.org/b/103854).

Covered by existing tests.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::toTextureMapperLayer):
(WebCore):
(WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
(WebCore::GraphicsLayerTextureMapper::notifyChange):
(WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
(WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
    Set BackgroundColorChange to m_changeMask instead of ContentChange.
(WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
(WebCore::GraphicsLayerTextureMapper::setChildren):
(WebCore::GraphicsLayerTextureMapper::addChild):
(WebCore::GraphicsLayerTextureMapper::addChildAtIndex):
(WebCore::GraphicsLayerTextureMapper::addChildAbove):
(WebCore::GraphicsLayerTextureMapper::addChildBelow):
(WebCore::GraphicsLayerTextureMapper::replaceChild):
(WebCore::GraphicsLayerTextureMapper::setMaskLayer):
(WebCore::GraphicsLayerTextureMapper::setReplicatedByLayer):
(WebCore::GraphicsLayerTextureMapper::setPosition):
(WebCore::GraphicsLayerTextureMapper::setAnchorPoint):
(WebCore::GraphicsLayerTextureMapper::setSize):
(WebCore::GraphicsLayerTextureMapper::setTransform):
(WebCore::GraphicsLayerTextureMapper::setChildrenTransform):
(WebCore::GraphicsLayerTextureMapper::setPreserves3D):
(WebCore::GraphicsLayerTextureMapper::setMasksToBounds):
(WebCore::GraphicsLayerTextureMapper::setDrawsContent):
(WebCore::GraphicsLayerTextureMapper::setContentsVisible):
(WebCore::GraphicsLayerTextureMapper::setContentsOpaque):
(WebCore::GraphicsLayerTextureMapper::setBackfaceVisibility):
(WebCore::GraphicsLayerTextureMapper::setOpacity):
(WebCore::GraphicsLayerTextureMapper::setContentsRect):
(WebCore::GraphicsLayerTextureMapper::setContentsToSolidColor):
(WebCore::GraphicsLayerTextureMapper::setContentsToImage):
(WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
(WebCore::GraphicsLayerTextureMapper::setShowDebugBorder):
(WebCore::GraphicsLayerTextureMapper::setShowRepaintCounter):
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
(WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
(WebCore::GraphicsLayerTextureMapper::setDebugBorder):
(WebCore::toTextureMapperLayerVector):
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
    Flush pending changes into TextureMapperLayer.
(WebCore::GraphicsLayerTextureMapper::addAnimation):
(WebCore::GraphicsLayerTextureMapper::setAnimations):
(WebCore::GraphicsLayerTextureMapper::setFilters):
(WebCore::GraphicsLayerTextureMapper::setBackingStore):
(WebCore::GraphicsLayerTextureMapper::setFixedToViewport):
(WebCore::GraphicsLayerTextureMapper::setRepaintCount):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):
(WebCore):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::setChildren):
(WebCore::TextureMapperLayer::setMaskLayer):
(WebCore):
(WebCore::TextureMapperLayer::setReplicaLayer):
(WebCore::TextureMapperLayer::setPosition):
(WebCore::TextureMapperLayer::setSize):
(WebCore::TextureMapperLayer::setAnchorPoint):
(WebCore::TextureMapperLayer::setPreserves3D):
(WebCore::TextureMapperLayer::setTransform):
(WebCore::TextureMapperLayer::setChildrenTransform):
(WebCore::TextureMapperLayer::setContentsRect):
(WebCore::TextureMapperLayer::setMasksToBounds):
(WebCore::TextureMapperLayer::setDrawsContent):
(WebCore::TextureMapperLayer::setContentsVisible):
(WebCore::TextureMapperLayer::setContentsOpaque):
(WebCore::TextureMapperLayer::setBackfaceVisibility):
(WebCore::TextureMapperLayer::setOpacity):
(WebCore::TextureMapperLayer::setSolidColor):
(WebCore::TextureMapperLayer::setFilters):
(WebCore::TextureMapperLayer::setDebugVisuals):
(WebCore::TextureMapperLayer::setRepaintCount):
(WebCore::TextureMapperLayer::setContentsLayer):
(WebCore::TextureMapperLayer::setAnimations):
(WebCore::TextureMapperLayer::setFixedToViewport):
(WebCore::TextureMapperLayer::setBackingStore):
* platform/graphics/texmap/TextureMapperLayer.h:
(WebCore):
(TextureMapperLayer):
(WebCore::TextureMapperLayer::TextureMapperLayer):

Source/WebKit/efl:

Include GraphicsLayerTextureMapper.h to use toTextureMapperLayer().

* WebCoreSupport/AcceleratedCompositingContextEfl.cpp:

Source/WebKit/gtk:

Include GraphicsLayerTextureMapper.h to use toTextureMapperLayer().

* WebCoreSupport/AcceleratedCompositingContextGL.cpp:

Source/WebKit/qt:

Include GraphicsLayerTextureMapper.h to use toTextureMapperLayer().

* WebCoreSupport/TextureMapperLayerClientQt.cpp:

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

6 years ago[chromium] move methods from WebTestDelegate to WebTestRunner
jochen@chromium.org [Wed, 30 Jan 2013 10:13:22 +0000 (10:13 +0000)]
[chromium] move methods from WebTestDelegate to WebTestRunner
https://bugs.webkit.org/show_bug.cgi?id=108309

Reviewed by Adam Barth.

By moving more logic to the TestRunner library, we can share more
code with content shell.

* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
* DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:
(WebTestProxyBase):
(WebTestRunner::WebTestProxy::createView):
(WebTestRunner::WebTestProxy::isSmartInsertDeleteEnabled):
(WebTestRunner::WebTestProxy::isSelectTrailingWhitespaceEnabled):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::isSmartInsertDeleteEnabled):
(WebTestRunner::WebTestRunner::isSelectTrailingWhitespaceEnabled):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::isSmartInsertDeleteEnabled):
(WebTestRunner):
(WebTestRunner::TestRunner::isSelectTrailingWhitespaceEnabled):
(WebTestRunner::TestRunner::setSmartInsertDeleteEnabled):
(WebTestRunner::TestRunner::setSelectTrailingWhitespaceEnabled):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::createView):
(WebTestRunner::WebTestProxyBase::isSmartInsertDeleteEnabled):
(WebTestRunner):
(WebTestRunner::WebTestProxyBase::isSelectTrailingWhitespaceEnabled):
* DumpRenderTree/chromium/TestShell.h:
(TestShell):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::createView):
(WebViewHost::didStartLoading):
(WebViewHost::didStopLoading):
(WebViewHost::isSmartInsertDeleteEnabled):
(WebViewHost::isSelectTrailingWhitespaceEnabled):
(WebViewHost::reset):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

6 years agoUnreviewed. Add Jae Hyun Park to contributor list.
kseo@webkit.org [Wed, 30 Jan 2013 09:50:30 +0000 (09:50 +0000)]
Unreviewed. Add Jae Hyun Park to contributor list.

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

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

6 years agogetDecorationRootAndDecoratedRoot should add new user agent shadow roots
esprehn@chromium.org [Wed, 30 Jan 2013 09:41:34 +0000 (09:41 +0000)]
getDecorationRootAndDecoratedRoot should add new user agent shadow roots
https://bugs.webkit.org/show_bug.cgi?id=108301

Reviewed by Hajime Morita.

getDecorationRootAndDecoratedRoot intended to add a second UserAgentShadowRoot
to the input, not just reuse the existing one so it could insert icons into
the inputs. Add back in this behavior for now so we can sort out the right thing
to do.

This behavior is wrong in the current architecture since it means if you had an
input type=submit, add an author shadow root, and then change the type to text
and then the browser decorates it your shadow magically becomes inaccessible since
input.shadowRoot is no longer available. This feature is currently only used for
decorating type=password fields in Chromium with an icon for password generation.

No new tests, there's no way to test this because it's only used in Chromium
by way of the ChromeClient.

* html/shadow/TextFieldDecorationElement.cpp:
(WebCore::getDecorationRootAndDecoratedRoot):

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

6 years ago[chromium] WebConsoleMessage is missing LevelDebug (chromium bug 172416)
jochen@chromium.org [Wed, 30 Jan 2013 09:37:54 +0000 (09:37 +0000)]
[chromium] WebConsoleMessage is missing LevelDebug (chromium bug 172416)
https://bugs.webkit.org/show_bug.cgi?id=108004
http://code.google.com/p/chromium/issues/detail?id=172416

console.debug triggers a NOTREACHED() assertation in Chromium. This
is because WebCore::MessageLevel contains 5 levels, including debug,
where WebConsoleMessage::Level is missing a "debug" level. Add a
WebConsoleMessage::LevelDebug so that it can get passed up to the
renderer even if it doesn't make use of that now.

Requires another patch to chromium itself to fix chromium bug 172416
but this is a prerequisite.

Also add an enum compile time check to AssertMatchingEnums.cpp,

Patch by Kevin Day <kevinday@gmail.com> on 2013-01-28
Reviewed by Jochen Eisinger.

* public/WebConsoleMessage.h:
* src/AssertMatchingEnums.cpp:
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::addMessageToConsole):

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

6 years ago[Qt][WK1] Remember denied permission for notifications
allan.jensen@digia.com [Wed, 30 Jan 2013 09:28:19 +0000 (09:28 +0000)]
[Qt][WK1] Remember denied permission for notifications
https://bugs.webkit.org/show_bug.cgi?id=107694

Reviewed by Jocelyn Turcotte.

Store denied permissions. According to the specification, we should
ask the user again if he has already granted or denied permission.

* WebCoreSupport/NotificationPresenterClientQt.cpp:
(WebCore::NotificationPresenterClientQt::requestPermission):
(WebCore::NotificationPresenterClientQt::setNotificationsAllowedForFrame):
* WebCoreSupport/NotificationPresenterClientQt.h:
(NotificationPresenterClientQt):
* WebCoreSupport/QWebPageAdapter.cpp:
(QWebPageAdapter::setNotificationsAllowedForFrame):
* WebCoreSupport/QWebPageAdapter.h:
* WidgetApi/qwebpage.cpp:
(QWebPage::setFeaturePermission):

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

6 years agoCoordinated Graphics: Remove m_pendingSyncBackingStores in LayerTreeRenderer.
commit-queue@webkit.org [Wed, 30 Jan 2013 08:22:57 +0000 (08:22 +0000)]
Coordinated Graphics: Remove m_pendingSyncBackingStores in LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=107099

Patch by Huang Dongsung <luxtella@company100.net> on 2013-01-30
Reviewed by Noam Rosenthal.

Source/WebCore:

Add GraphicsLayerTextureMapper::setBackingStore() so that
LayerTreeRenderer sets a backing store to GraphicsLayerTextureMapper.

Remove three methods of TextureMapperLayer related to a backing store
because they are no longer used.

Covered by existing compositing tests.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::flushCompositingStateForThisLayerOnly):
(WebCore::GraphicsLayerTextureMapper::prepareBackingStoreIfNeeded):
(WebCore):
(WebCore::GraphicsLayerTextureMapper::updateDebugBorderAndRepaintCount):
(WebCore::GraphicsLayerTextureMapper::updateBackingStoreIfNeeded):
(WebCore::GraphicsLayerTextureMapper::setBackingStore):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::flushCompositingStateForThisLayerOnly):
* platform/graphics/texmap/TextureMapperLayer.h:
(TextureMapperLayer):

Source/WebKit2:

Instead of queuing the setting of backing stores in LayerTreeRenderer,
and then setting them directly to TextureMapperLayer, we allow
GraphicsLayerTextureMapper's existing queuing mechanism to handle that.
Instead of a m_pendingSyncBackingStores queue, we have a m_backingStores
queue which can be applied much more easily to the layer tree.

In addition, LayerTreeRenderer::purgeGLResources() does not call
TextureMapperLayer::clearBackingStoresRecursive() because
TextureMapperLayer will be destructed soon.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::deleteLayer):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
(WebKit::LayerTreeRenderer::purgeGLResources):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

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

6 years ago[Chromium] Correct zoom for focused node when using compositor scaling
wangxianzhu@chromium.org [Wed, 30 Jan 2013 08:22:46 +0000 (08:22 +0000)]
[Chromium] Correct zoom for focused node when using compositor scaling
https://bugs.webkit.org/show_bug.cgi?id=107599

Reviewed by Adam Barth.

When applyDeviceScaleFactorInCompositor, targetScale should exclude device scale factor.
When applyPageScaleFactorInCompositor, caret size and content sizes are in css pixels and they should be in the viewport of the new scale.

Reapply r141153. Added font-size in html to ensure same caret size across platforms.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::scrollFocusedNodeIntoRect):
(WebKit):
(WebKit::WebViewImpl::computeScaleAndScrollForFocusedNode): Extracted from scrollFocusedNodeIntoRect() to ease testing.
* src/WebViewImpl.h:
(WebViewImpl):
* tests/WebFrameTest.cpp: Updated test DivScrollEditableTest
* tests/data/get_scale_for_zoom_into_editable_test.html: Moved the logic of onload script (which seems not to work) into WebFrameTest.cpp.

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

6 years agoWeb Inspector: DTE adds additional space to the end of line.
commit-queue@webkit.org [Wed, 30 Jan 2013 08:05:23 +0000 (08:05 +0000)]
Web Inspector: DTE adds additional space to the end of line.
https://bugs.webkit.org/show_bug.cgi?id=108192

Patch by Andrey Lushnikov <lushnikov@chromium.org> on 2013-01-30
Reviewed by Pavel Feldman.

Append overlay highlight spans before decorations elements and skip
them in _collectLinesFromDom method.

No new tests.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype._appendOverlayHighlight):
(WebInspector.TextEditorMainPanel.prototype._collectLinesFromDOM):

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

6 years agoUnreviewed GTK build fix after r141175.
zandobersek@gmail.com [Wed, 30 Jan 2013 07:48:12 +0000 (07:48 +0000)]
Unreviewed GTK build fix after r141175.

* Source/autotools/symbols.filter: Export the WebCore::Element::createShadowRoot symbol.

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

6 years agoRenderer is recreated unexpectedly after detach in HTMLInputElement
shinyak@chromium.org [Wed, 30 Jan 2013 07:28:38 +0000 (07:28 +0000)]
Renderer is recreated unexpectedly after detach in HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=108150

Reviewed by Kent Tamura.

Source/WebCore:

After r140659, destoryShadowSubtree() may update style in removeChild(). It causes
attaching HTMLInputElement before creating shadowsubtree in HTMLInputElement::updateType().

For safe, destroyShadowSubtree() should be done before detach().

Test: fast/forms/number/number-change-type-on-focus-2.html

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType):

LayoutTests:

* fast/forms/time-multiple-fields/time-multiple-fields-change-type-on-focus-2.html: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-change-type-on-focus-2-expected.txt: Added.

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

6 years agoUnreviewed. EFL Gradening.
gyuyoung.kim@samsung.com [Wed, 30 Jan 2013 06:31:08 +0000 (06:31 +0000)]
Unreviewed. EFL Gradening.

fast/events/constructors/composition-event-constructor.html isn't exist anymore.

* platform/efl/TestExpectations:

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