WebKit-https.git
8 years ago[EFL][DRT] Gardening failure cases on EFL build bot
commit-queue@webkit.org [Fri, 11 May 2012 12:06:50 +0000 (12:06 +0000)]
[EFL][DRT] Gardening failure cases on EFL build bot
https://bugs.webkit.org/show_bug.cgi?id=86192

Unreviewed, EFL gardening.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-11

* platform/efl/test_expectations.txt:

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

8 years ago[EFL] Gardening failure cases on editing/style and editing/pasteboard
commit-queue@webkit.org [Fri, 11 May 2012 11:52:58 +0000 (11:52 +0000)]
[EFL] Gardening failure cases on editing/style and editing/pasteboard
https://bugs.webkit.org/show_bug.cgi?id=86184

Unreviewed EFL gardening.

Test expectations update.

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-05-11

* platform/efl/test_expectations.txt: adding tests regarding to missing beginDragWithFiles
execCommand('copy') and execCommand('paste') implementation.

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

8 years ago[EFL][DRT] fast/css/getComputedStyle/computed-style-without-renderer.html fails on EFL
commit-queue@webkit.org [Fri, 11 May 2012 11:43:24 +0000 (11:43 +0000)]
[EFL][DRT] fast/css/getComputedStyle/computed-style-without-renderer.html fails on EFL
https://bugs.webkit.org/show_bug.cgi?id=86190

Unreviewed, EFL rebaseline after r116723.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-11

* platform/efl/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:

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

8 years ago[Chromium] Rebaseline for some tests, and optimization.
tkent@chromium.org [Fri, 11 May 2012 11:23:30 +0000 (11:23 +0000)]
[Chromium] Rebaseline for some tests, and optimization.

* fast/block/float/032-expected.txt: Renamed from LayoutTests/platform/efl/fast/block/float/032-expected.txt.
* fast/forms/input-appearance-bkcolor-expected.txt: Renamed from LayoutTests/platform/efl/fast/forms/input-appearance-bkcolor-expected.txt.
* fast/images/color-jpeg-with-color-profile-expected.png: Renamed from LayoutTests/platform/efl/fast/images/color-jpeg-with-color-profile-expected.png.
* platform/chromium-linux-x86/fast/forms/date/date-appearance-expected.txt: Added.
* platform/chromium-linux-x86/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium-mac-leopard/fast/block/float/032-expected.png:
* platform/chromium-mac-leopard/fast/block/float/032-expected.txt:
* platform/chromium-mac-leopard/fast/css/getComputedStyle/computed-style-expected.txt: Copied from LayoutTests/platform/chromium-mac/fast/css/getComputedStyle/computed-style-expected.txt.
* platform/chromium-mac-leopard/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Added.
* platform/chromium-mac-leopard/fast/forms/input-appearance-bkcolor-expected.png:
* platform/chromium-mac-leopard/fast/forms/input-appearance-bkcolor-expected.txt: Removed.
* platform/chromium-mac-leopard/fast/forms/text-style-color-expected.png:
* platform/chromium-mac-leopard/fast/forms/text-style-color-expected.txt: Removed.
* platform/chromium-mac-leopard/fast/images/color-jpeg-with-color-profile-expected.png:
* platform/chromium-mac-leopard/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium-mac-leopard/tables/mozilla/bugs/bug99948-expected.png:
* platform/chromium-mac-snowleopard/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/forms/input-appearance-bkcolor-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/input-appearance-bkcolor-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/forms/text-style-color-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/text-style-color-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium-mac-snowleopard/tables/mozilla/bugs/bug99948-expected.png:
* platform/chromium-mac/fast/block/float/032-expected.png:
* platform/chromium-mac/fast/block/float/032-expected.txt: Removed.
* platform/chromium-mac/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/chromium-mac/fast/forms/date/date-appearance-expected.png:
* platform/chromium-mac/fast/forms/date/date-appearance-expected.txt:
* platform/chromium-mac/fast/forms/input-appearance-bkcolor-expected.png:
* platform/chromium-mac/fast/forms/input-appearance-bkcolor-expected.txt: Removed.
* platform/chromium-mac/fast/forms/text-style-color-expected.png:
* platform/chromium-mac/fast/forms/text-style-color-expected.txt: Removed.
* platform/chromium-mac/fast/images/color-jpeg-with-color-profile-expected.png:
* platform/chromium-mac/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium-mac/tables/mozilla/bugs/bug99948-expected.png:
* platform/chromium-mac/tables/mozilla/bugs/bug99948-expected.txt: Removed.
* platform/chromium-win-vista/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
* platform/chromium-win-vista/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium-win-xp/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium-win/compositing/geometry/horizontal-scroll-composited-expected.png:
* platform/chromium-win/fast/block/float/032-expected.txt:
* platform/chromium-win/fast/forms/date/date-appearance-expected.txt:
* platform/chromium-win/fast/forms/input-appearance-bkcolor-expected.txt:
* platform/chromium-win/fast/forms/text-style-color-expected.txt:
* platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium-win/tables/mozilla/bugs/bug99948-expected.txt:
* platform/chromium/test_expectations.txt:
* platform/gtk/fast/block/float/032-expected.txt: Removed.
* platform/gtk/fast/forms/input-appearance-bkcolor-expected.txt: Removed.
* platform/gtk/fast/images/color-jpeg-with-color-profile-expected.png: Removed.
* platform/gtk/tables/mozilla/bugs/bug99948-expected.txt: Removed.
* tables/mozilla/bugs/bug99948-expected.txt: Renamed from LayoutTests/platform/efl/tables/mozilla/bugs/bug99948-expected.txt.

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

8 years ago[Refactoring] Move Selection from DOMWindow to TreeScope.
shinyak@chromium.org [Fri, 11 May 2012 10:36:31 +0000 (10:36 +0000)]
[Refactoring] Move Selection from DOMWindow to TreeScope.
https://bugs.webkit.org/show_bug.cgi?id=82699

Reviewed by Ryosuke Niwa.

Since ShadowRoot will also manage its own version of DOMSelection, we would like to
share the code among Document and DOMSelection. This patch moves DOMSelection from DOMWindow to TreeScope
so that ShadowRoot can also use it.

No new tests, should covered by existing tests.

* dom/Document.cpp:
(WebCore::Document::updateFocusAppearanceTimerFired):
* dom/Document.h:
(Document):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::selection):
* dom/TreeScope.cpp:
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::getSelection):
(WebCore):
* dom/TreeScope.h:
(WebCore):
(TreeScope):
* page/DOMSelection.cpp:
(WebCore::DOMSelection::DOMSelection):
(WebCore::DOMSelection::clearTreeScope):
(WebCore):
* page/DOMSelection.h:
(WebCore):
(WebCore::DOMSelection::create):
(DOMSelection):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::clearDOMWindowProperties):
(WebCore::DOMWindow::getSelection):
* page/DOMWindow.h:
(DOMWindow):

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

8 years agoUnreviewed build fix attempt.
morrita@google.com [Fri, 11 May 2012 10:26:21 +0000 (10:26 +0000)]
Unreviewed build fix attempt.

* WebProcess/WebCoreSupport/win/WebPopupMenuWin.cpp:
(WebKit::WebPopupMenu::setUpPlatformData):

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

8 years agoWeb Inspector: console should allow JS execution in the context of an isolated world
yurys@chromium.org [Fri, 11 May 2012 09:55:19 +0000 (09:55 +0000)]
Web Inspector: console should allow JS execution in the context of an isolated world
https://bugs.webkit.org/show_bug.cgi?id=85612

Reviewed by Pavel Feldman.

Added an option to select not only a frame but also isolated world in which
to perform evaluation of the code typed into the console.

Each execution context can be identified using it injected script id. We call it
execution context id in the protocol. Runtime agent is extended with an event that
is sent when new ExecutionContext is created. The event tracking can be enabled/disabled
using setReportExecutionContextCreation command.

* bindings/js/ScriptController.cpp:
(WebCore):
(WebCore::isolatedWorldToSecurityOriginMap):
* bindings/js/ScriptController.h:
(ScriptController):
* bindings/js/ScriptState.cpp:
(WebCore::isolatedWorldScriptState):
(WebCore):
* bindings/js/ScriptState.h:
(WebCore):
* bindings/v8/ScriptController.cpp:
(WebCore):
(WebCore::ScriptController::isolatedWorldToSecurityOriginMap):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/ScriptState.cpp:
(WebCore::isolatedWorldScriptState):
(WebCore):
* bindings/v8/ScriptState.h:
(WebCore):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::setSecurityOrigin):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::setIsolatedWorldSecurityOrigin):
(WebCore::V8Proxy::isolatedWorldContext):
(WebCore):
(WebCore::V8Proxy::isolatedWorldToSecurityOriginMap):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* inspector/CodeGeneratorInspector.py:
(DomainNameFixes):
* inspector/Inspector.json:
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl):
(WebCore):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::didCreateIsolatedContext):
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::evaluate):
* inspector/InspectorRuntimeAgent.h:
(InspectorRuntimeAgent):
* inspector/InstrumentingAgents.h:
(WebCore):
(WebCore::InstrumentingAgents::InstrumentingAgents):
(WebCore::InstrumentingAgents::pageRuntimeAgent):
(WebCore::InstrumentingAgents::setPageRuntimeAgent):
(InstrumentingAgents):
* inspector/PageRuntimeAgent.cpp:
(PageRuntimeAgentState):
(WebCore):
(WebCore::PageRuntimeAgent::PageRuntimeAgent):
(WebCore::PageRuntimeAgent::setFrontend):
(WebCore::PageRuntimeAgent::clearFrontend):
(WebCore::PageRuntimeAgent::restore):
(WebCore::PageRuntimeAgent::setReportExecutionContextCreation):
(WebCore::PageRuntimeAgent::didCreateExecutionContext):
(WebCore::PageRuntimeAgent::getScriptStateForEval):
* inspector/PageRuntimeAgent.h:
(WebCore):
(PageRuntimeAgent):
* inspector/WorkerRuntimeAgent.cpp:
(WebCore::WorkerRuntimeAgent::setReportExecutionContextCreation):
(WebCore::WorkerRuntimeAgent::getScriptStateForEval):
* inspector/WorkerRuntimeAgent.h:
(WorkerRuntimeAgent):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.get statusBarItems):
(WebInspector.ConsoleView.prototype.addContext):
(WebInspector.ConsoleView.prototype.removeContext):
(WebInspector.ConsoleView.prototype._updateIsolatedWorldSelector):
(WebInspector.ConsoleView.prototype._contextUpdated):
(WebInspector.ConsoleView.prototype._addedExecutionContext):
(WebInspector.ConsoleView.prototype._currentEvaluationContextId):
(WebInspector.ConsoleView.prototype._currentEvaluationContext):
(WebInspector.ConsoleView.prototype._currentIsolatedWorldId):
(WebInspector.ConsoleView.prototype.evalInInspectedWindow):
* inspector/front-end/ExtensionPanel.js:
(WebInspector.ExtensionSidebarPane.prototype.setExpression):
* inspector/front-end/ExtensionServer.js:
(WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
* inspector/front-end/JavaScriptContextManager.js:
(WebInspector.JavaScriptContextManager):
(WebInspector.JavaScriptContextManager.prototype._didLoadCachedResources):
(WebInspector.JavaScriptContextManager.prototype.isolatedContextCreated):
(WebInspector.RuntimeDispatcher):
(WebInspector.RuntimeDispatcher.prototype.isolatedContextCreated):
(WebInspector.ExecutionContext):
(WebInspector.ExecutionContext.comparator):
(WebInspector.FrameEvaluationContext):
(WebInspector.FrameEvaluationContext.prototype._frameNavigated):
(WebInspector.FrameEvaluationContext.prototype._addExecutionContext):
(WebInspector.FrameEvaluationContext.prototype._ensureMainWorldContextAdded):
(WebInspector.FrameEvaluationContext.prototype.isolatedContexts):

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

8 years agoWeb Inspector: use div, not span as a parent element for ElementsTreeOutline in Audit...
caseq@chromium.org [Fri, 11 May 2012 09:35:00 +0000 (09:35 +0000)]
Web Inspector: use div, not span as a parent element for ElementsTreeOutline in Audits panel
https://bugs.webkit.org/show_bug.cgi?id=86188

Reviewed by Yury Semikhatsky.

Source/WebCore:

We need to use <div>, not <span> as a container for ElementsTreeOutline, as latter accesses its parent offsetWidth
within _treeElementFromEvent(), which returns 0 for inline elements.

* inspector/front-end/AuditFormatters.js:
(WebInspector.AuditFormatters.node.onNodeAvailable):
(WebInspector.AuditFormatters.node):

LayoutTests:

* inspector/extensions/extensions-audits-expected.txt: rebaseline to account for extra <div>.

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

8 years agoInline Node::traverseNextNode
antti@apple.com [Fri, 11 May 2012 09:28:52 +0000 (09:28 +0000)]
Inline Node::traverseNextNode
https://bugs.webkit.org/show_bug.cgi?id=85844

Reviewed by Ryosuke Niwa.

Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
for many hot loops.

In this version only the firstChild()/nextSibling() tests are inlined and the ancestor traversal is not.

Performance bots will tell if this was worthwhile.

* dom/ContainerNode.h:
(WebCore::Node::traverseNextNode):
(WebCore):
(WebCore::Node::traverseNextSibling):
* dom/Node.cpp:
(WebCore::Node::traverseNextAncestorSibling):
* dom/Node.h:
(Node):
* bindings/v8/RetainedDOMInfo.cpp:

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

8 years ago[Chromium] Test expectation update
tkent@chromium.org [Fri, 11 May 2012 09:05:09 +0000 (09:05 +0000)]
[Chromium] Test expectation update

* platform/chromium/test_expectations.txt:

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

8 years agoWeb Inspector: get rid of InspectorAgent::emitCommitLoadIfNeeded method
yurys@chromium.org [Fri, 11 May 2012 08:42:07 +0000 (08:42 +0000)]
Web Inspector: get rid of InspectorAgent::emitCommitLoadIfNeeded method
https://bugs.webkit.org/show_bug.cgi?id=85708

Reviewed by Pavel Feldman.

Instead of calling emitCommitLoadIfNeeded after all agents are restored
required actions are performed directly in the restore() methods.

* inspector/InspectorAgent.cpp:
* inspector/InspectorAgent.h:
(WebCore::InspectorAgent::didCommitLoadFired):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::restoreInspectorStateFromCookie):
* inspector/InspectorDatabaseAgent.cpp:
(WebCore::InspectorDatabaseAgent::restore):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::create):
(WebCore::InspectorPageAgent::InspectorPageAgent):
(WebCore::InspectorPageAgent::restore):
* inspector/InspectorPageAgent.h:
(WebCore):
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::restore):

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

8 years agoWeb Inspector: [Extensions API] add audit formatters for remote objects and DOM elements
caseq@chromium.org [Fri, 11 May 2012 08:29:08 +0000 (08:29 +0000)]
Web Inspector: [Extensions API] add audit formatters for remote objects and DOM elements
https://bugs.webkit.org/show_bug.cgi?id=86108

Reviewed by Pavel Feldman.

Source/WebCore:

       - added two new formatters to AuditResults object of webInspector.audits API;

* inspector/front-end/AuditFormatters.js:
(WebInspector.AuditFormatters.resourceLink):
(WebInspector.AuditFormatters.object.onEvaluate):
(WebInspector.AuditFormatters.object): format as a remote object property list;
(WebInspector.AuditFormatters.node.onNodeAvailable):
(WebInspector.AuditFormatters.node.onEvaluate):
(WebInspector.AuditFormatters.node): format as a DOM elements sub-tree;
(WebInspector.AuditFormatters.Utilities.evaluate): common expression evaluation logic for both new formatters;
* inspector/front-end/ExtensionAPI.js:
(injectedExtensionAPI.AuditResultImpl):
* inspector/front-end/auditsPanel.css:
(.audit-result-tree ol.outline-disclosure):
(.audit-result-tree .section .header):
(.audit-result-tree .section .header::before):

LayoutTests:

- rebaselined tests to account for two new AuditResults method and their results;

* inspector/extensions/extensions-audits-api-expected.txt:
* inspector/extensions/extensions-audits-expected.txt:
* inspector/extensions/extensions-audits-tests.js:
(initialize_ExtensionsAuditsTest.InspectorTest.startExtensionAudits.onAuditsDone):
* inspector/extensions/extensions-audits.html:

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

8 years ago[SOUP] Allow sending URI request data in chunks
carlosgc@webkit.org [Fri, 11 May 2012 08:14:39 +0000 (08:14 +0000)]
[SOUP] Allow sending URI request data in chunks
https://bugs.webkit.org/show_bug.cgi?id=85880

Reviewed by Martin Robinson.

The API to handle custom URI schemes will receive an input stream
to read from. Current code requires to buffer the whole stream
before sending it to the WebProcess. This patch allows to send the
data in chunks while it's read from the stream.

* GNUmakefile.list.am: Add new files to compilation
* UIProcess/API/C/soup/WKSoupRequestManager.cpp:
(WKSoupRequestManagerRegisterURIScheme): Use toWTFString() to
convert from WKString to WTFString.
(WKSoupRequestManagerDidHandleURIRequest): Use didHandleURIRequest
as it has been renamed.
(WKSoupRequestManagerDidReceiveURIRequestData): New method to send
more data for the uri request to the web process.
* UIProcess/API/C/soup/WKSoupRequestManager.h:
* UIProcess/soup/WebSoupRequestManagerProxy.cpp:
(WebKit::WebSoupRequestManagerProxy::didHandleURIRequest):
HandleURIRequest has been renamed to DidHandleURIRequest.
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequestData):
Send DidReceiveURIRequestData message to the web process.
(WebKit::WebSoupRequestManagerProxy::didReceiveURIRequest): Use
didHandleURIRequest as it has been renamed.
* UIProcess/soup/WebSoupRequestManagerProxy.h:
(WebSoupRequestManagerProxy):
* WebProcess/soup/WebKitSoupRequestInputStream.cpp: Added.
(AsyncReadData::AsyncReadData): Helper struct to store information
about pending async read operations.
(_WebKitSoupRequestInputStreamPrivate):
(webkitSoupRequestInputStreamReadAsyncResultComplete): Read the
data from the memory input stream and complete the async read
operation.
(webkitSoupRequestInputStreamReadAsync): Read the data from the
memory input stream and complete the async read operation if
there's data to read, or save the async result to be completed
when more data is added to the stream.
(webkitSoupRequestInputStreamReadFinish): Finish an async read
started with webkitSoupRequestInputStreamReadAsync.
(webkitSoupRequestInputStreamFinalize):
(webkit_soup_request_input_stream_init):
(webkit_soup_request_input_stream_class_init):
(webkitSoupRequestInputStreamNew): Create a new input stream with
a fixed size or 0 if content length is not known.
(webkitSoupRequestInputStreamAddData): Add more data to the
stream and complete any pending async read.
(webkitSoupRequestInputStreamFinished): Whether all data expected
by the stream has been received.
* WebProcess/soup/WebKitSoupRequestInputStream.h: Added.
* WebProcess/soup/WebSoupRequestManager.cpp:
(WebKit::WebSoupRequestManager::didHandleURIRequest): Create a
WebKitSoupRequestInputStream if we haven't received all the
request data in the HandleURIRequest message. Otherwise just
create a memory input stream with all the data.
(WebKit::WebSoupRequestManager::didReceiveURIRequestData): Add the data
received to the WebKitSoupRequestInputStream associated to the
given request identifier.
* WebProcess/soup/WebSoupRequestManager.h:
* WebProcess/soup/WebSoupRequestManager.messages.in: Add
contentLength parameter to DidHandleURIRequest message and add
DidReceiveURIRequestData message.

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

8 years agoUnreviewed gardening, skip a new failing test.
ossy@webkit.org [Fri, 11 May 2012 07:53:37 +0000 (07:53 +0000)]
Unreviewed gardening, skip a new failing test.

* platform/qt/Skipped:

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

8 years agoUnreviewed, rolling out r116727.
commit-queue@webkit.org [Fri, 11 May 2012 07:33:16 +0000 (07:33 +0000)]
Unreviewed, rolling out r116727.
http://trac.webkit.org/changeset/116727
https://bugs.webkit.org/show_bug.cgi?id=86181

Build error on Chromium-Android (Requested by tkent on
#webkit).

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

Source/WebCore:

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::enterFullscreen):
(WebCore):
* platform/graphics/MediaPlayer.h:
(MediaPlayer):
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::enterFullscreen):
(MediaPlayerPrivateInterface):

Source/WebKit/chromium:

* public/WebMediaPlayer.h:
(WebMediaPlayer):
(WebKit::WebMediaPlayer::enterFullscreen):
(WebKit::WebMediaPlayer::exitFullscreen):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::enterFullscreen):
(WebKit::WebMediaPlayerClientImpl::exitFullscreen):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::enterFullScreenForElement):

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

8 years agoUnreviewed expectation update.
morrita@google.com [Fri, 11 May 2012 07:16:26 +0000 (07:16 +0000)]
Unreviewed expectation update.

* platform/mac/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* platform/mac/svg/css/getComputedStyle-basic-expected.txt:

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

8 years agoUnreviewed gardening.
ossy@webkit.org [Fri, 11 May 2012 07:11:31 +0000 (07:11 +0000)]
Unreviewed gardening.

* fast/css/getComputedStyle/computed-style-expected.txt: Updated after r116723.
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Updated after r116723.
* platform/qt/Skipped: Skip new crashing and failing tests.
* platform/qt/svg/css/getComputedStyle-basic-expected.txt: Updated after r116723.

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

8 years agoUnreviewed, rolling out r116731.
commit-queue@webkit.org [Fri, 11 May 2012 07:00:46 +0000 (07:00 +0000)]
Unreviewed, rolling out r116731.
http://trac.webkit.org/changeset/116731
https://bugs.webkit.org/show_bug.cgi?id=86178

Build failure on Chromium-mac (Requested by tkent on #webkit).

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

Source/WebCore:

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initializeSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::create):
(WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::isBusy):
(WebCore::UnthrottledTextureUploader::beginUploads):
(WebCore::UnthrottledTextureUploader::endUploads):
(WebCore::UnthrottledTextureUploader::uploadTexture):
(WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
(WebCore):
(WebCore::CCSingleThreadProxy::initializeLayerRenderer):
(WebCore::CCSingleThreadProxy::recreateContext):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore):
(UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::create):
(WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::isBusy):
(WebCore::UnthrottledTextureUploader::beginUploads):
(WebCore::UnthrottledTextureUploader::endUploads):
(WebCore::UnthrottledTextureUploader::uploadTexture):
(WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
(WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
(WebCore::CCThreadProxy::recreateContextOnImplThread):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
(WebKitTests::CCLayerTreeHostImplTest::CCLayerTreeHostImplTest):
(WebKitTests::TEST_F):
* tests/LayerRendererChromiumTest.cpp:
(FakeLayerRendererChromium::FakeLayerRendererChromium):
(LayerRendererChromiumTest::LayerRendererChromiumTest):
(TEST):

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

8 years agoAdd a perf tab to garden-o-matic
ojan@chromium.org [Fri, 11 May 2012 06:56:59 +0000 (06:56 +0000)]
Add a perf tab to garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=86169

Reviewed by Dimitri Glazkov.

This is a first stab at making it easier to view the Chromium WebKit canary
perf graphs. For now, it's just a couple select elements and an iframe.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf.js: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf_unittests.js: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/perf.css: Added.
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css:

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

8 years ago[Chromium] Move instantiation of texture uploader to LayerRendererChromium.
commit-queue@webkit.org [Fri, 11 May 2012 06:33:58 +0000 (06:33 +0000)]
[Chromium] Move instantiation of texture uploader to LayerRendererChromium.
https://bugs.webkit.org/show_bug.cgi?id=85893

Patch by David Reveman <reveman@chromium.org> on 2012-05-10
Reviewed by Adrienne Walker.

Source/WebCore:

Move instantiation of texture uploader to LayerRendererChromium and
allow CCProxy to decide between a throttled or unthrottled uploader
using a flag passed to the LayerRendererChromium constructor.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initializeSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::initializeLayerRenderer):
(WebCore::CCSingleThreadProxy::recreateContext):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
(WebCore::CCThreadProxy::recreateContextOnImplThread):

Source/WebKit/chromium:

* tests/CCLayerTreeHostImplTest.cpp:
(WebKitTests::CCLayerTreeHostImplTest::CCLayerTreeHostImplTest):
(WebKitTests::TEST_F):
* tests/LayerRendererChromiumTest.cpp:
(FakeLayerRendererChromium::FakeLayerRendererChromium):
(LayerRendererChromiumTest::LayerRendererChromiumTest):
(TEST):

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

8 years agoElementShadow should minimize the usage of "ShadowRoot" name
morrita@google.com [Fri, 11 May 2012 05:35:12 +0000 (05:35 +0000)]
ElementShadow should minimize the usage of "ShadowRoot" name
https://bugs.webkit.org/show_bug.cgi?id=85970

Reviewed by Dimitri Glazkov.

.:

Removed symbols which no longer exists

* Source/autotools/symbols.filter:

Source/WebCore:

This change cleans two out dated assumptions which brought in at
early stage of Shadow DOM implementation.

- Removed Element::hasShadowRoot(): shadow existence can be checked by Element::shadow().
- Made ElementShadow::removeAllShadowRoots() private: we no longer allow ShadowRoot removal.
  It can only happens at the ElementShadow destruction.

Most of changes in element implementations are basically simple
replacement from hasShadowRoot() to shadow().

No new tests. Covered by existing tests.

* WebCore.exp.in:
* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildFrameDisconnector::collectDescendant):
* dom/ComposedShadowTreeWalker.cpp:
(WebCore::ComposedShadowTreeWalker::traverseChild):
* dom/Document.cpp:
(WebCore::Document::buildAccessKeyMap):
* dom/Element.cpp:
(WebCore::Element::recalcStyle):
(WebCore::Element::ensureShadowRoot):
(WebCore::Element::childrenChanged):
* dom/Element.h:
(Element):
(WebCore::isShadowHost):
(WebCore):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::~ElementShadow):
(WebCore::ElementShadow::removeAllShadowRoots):
* dom/ElementShadow.h:
(ElementShadow):
(WebCore::ElementShadow::host):
* dom/EventDispatcher.cpp:
* dom/Node.cpp:
(WebCore::oldestShadowRootFor):
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::NodeRenderingContext):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::create):
* html/ColorInputType.cpp:
(WebCore::ColorInputType::createShadowSubtree):
* html/FileInputType.cpp:
(WebCore::FileInputType::createShadowSubtree):
(WebCore::FileInputType::multipleAttributeChanged):
* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::createShadowSubtree):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::createShadowSubtree):
* html/HTMLKeygenElement.cpp:
(WebCore::HTMLKeygenElement::HTMLKeygenElement):
(WebCore::HTMLKeygenElement::shadowSelect):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::hasMediaControls):
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::createShadowSubtree):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::createShadowSubtree):
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::createShadowSubtree):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::createShadowSubtree):
* html/InputType.cpp:
(WebCore::InputType::destroyShadowSubtree):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::createShadowSubtree):
* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::createShadowSubtree):
* html/shadow/SliderThumbElement.cpp:
(WebCore::trackLimiterElementOf):
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::buildObjectForNode):
* page/FocusController.cpp:
(WebCore):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::uploadButton):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::updateReferencedText):
(WebCore::SVGTRefElement::detachTarget):
* testing/Internals.cpp:
(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::youngestShadowRoot):
(WebCore::Internals::oldestShadowRoot):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit2:

Removed symbols which no longer exists

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests:

Removed tests cases which exercise shadow root removals.
Such functionality was only available from Internals object
and it made little sense to test it.

* fast/dom/shadow/content-element-move-expected.txt:
* fast/dom/shadow/content-element-move.html:
* fast/dom/shadow/dynamically-created-shadow-root-expected.html:
* fast/dom/shadow/dynamically-created-shadow-root.html:
* fast/dom/shadow/layout-tests-can-access-shadow-expected.txt:
* fast/dom/shadow/layout-tests-can-access-shadow.html:
* fast/dom/shadow/multiple-shadowroot-expected.txt:
* fast/dom/shadow/multiple-shadowroot.html:

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

8 years agoMove resumeAnimations to use Internals interface
gyuyoung.kim@samsung.com [Fri, 11 May 2012 05:31:35 +0000 (05:31 +0000)]
Move resumeAnimations to use Internals interface
https://bugs.webkit.org/show_bug.cgi?id=86063

Reviewed by Alexey Proskuryakov.

.:

* Source/autotools/symbols.filter: Add a symbol filter for resumeAnimations.

Source/WebCore:

Add resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

No new tests, since we are improving here the infra-structure for testing
a specific method.

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

Source/WebKit/efl:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

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

Source/WebKit/mac:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

* WebKit.order:
* WebView/WebFrame.mm:
* WebView/WebFramePrivate.h:

Source/WebKit/qt:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

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

Source/WebKit/win:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

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

Source/WebKit2:

* win/WebKit2.def: Add a symbol filter for resumeAnimations.

Tools:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

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

LayoutTests:

Call resumeAnimations functions from internals, because it is able to work in the
cross-port way through the Internals interface.

* animations/play-state-suspend.html:
* animations/stop-animation-on-suspend.html:
* animations/suspend-resume-animation-events.html:
* animations/suspend-resume-animation.html:

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

8 years ago[Chromium] Test expectation update
tkent@chromium.org [Fri, 11 May 2012 04:51:59 +0000 (04:51 +0000)]
[Chromium] Test expectation update

* platform/chromium/test_expectations.txt:

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

8 years agosplit MediaPlayer::enterFullscreen into 2 seperate functions
commit-queue@webkit.org [Fri, 11 May 2012 04:27:19 +0000 (04:27 +0000)]
split MediaPlayer::enterFullscreen into 2 seperate functions
https://bugs.webkit.org/show_bug.cgi?id=86052

Patch by Min Qin <qinmin@google.com> on 2012-05-10
Reviewed by Benjamin Poulain.

Source/WebCore:

It is confusing that enterFullscreen returns a boolean while exitFullscreen does
not do the same. And ios does not need the return value.
So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
function for android.
No tests as there are no behavior change, just refactoring.

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::enterFullscreen):
(WebCore):
(WebCore::MediaPlayer::canEnterFullscreen):
* platform/graphics/MediaPlayer.h:
(MediaPlayer):
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::enterFullscreen):
(MediaPlayerPrivateInterface):
(WebCore::MediaPlayerPrivateInterface::canEnterFullscreen):

Source/WebKit/chromium:

It is confusing that enterFullscreen returns a boolean while exitFullscreen does
not do the same. And ios does not need the return value.
So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
function for android.
No behavior change, just refactoring.

* public/WebMediaPlayer.h:
(WebMediaPlayer):
(WebKit::WebMediaPlayer::enterFullscreen):
(WebKit::WebMediaPlayer::canEnterFullscreen):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::enterFullscreen):
(WebKit):
(WebKit::WebMediaPlayerClientImpl::exitFullscreen):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::enterFullScreenForElement):

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

8 years ago[EFL][DRT] Editor doesn't cancel composition as change of value
commit-queue@webkit.org [Fri, 11 May 2012 04:16:04 +0000 (04:16 +0000)]
[EFL][DRT] Editor doesn't cancel composition as change of value
https://bugs.webkit.org/show_bug.cgi?id=85122

Patch by Kangil Han <kangil.han@samsung.com> on 2012-05-10
Reviewed by Martin Robinson.

IME composition should be cancelled when the value of input element is changed programmatically.
However, EFL port doesn't cancel as change of value.
Therefore, this patch will fix the bug.

Source/WebKit/efl:

* WebCoreSupport/EditorClientEfl.cpp:
(WebCore::EditorClientEfl::respondToChangedSelection):

LayoutTests:

* platform/efl/Skipped:

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

8 years ago[chromium] Rebaseline compositing/geometry/horizontal-scroll-composited.html after...
noel.gordon@gmail.com [Fri, 11 May 2012 04:14:04 +0000 (04:14 +0000)]
[chromium] Rebaseline compositing/geometry/horizontal-scroll-composited.html after r107389

Unreviewed test expectations update.

* platform/chromium-linux-x86/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
* platform/chromium-linux/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
* platform/chromium-mac-leopard/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
* platform/chromium-mac-snowleopard/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
* platform/chromium-mac/compositing/geometry/horizontal-scroll-composited-expected.png:
* platform/chromium-win-xp/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
* platform/chromium/test_expectations.txt:

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

8 years agoUnreviewed, rolling out r116715.
tkent@chromium.org [Fri, 11 May 2012 04:00:34 +0000 (04:00 +0000)]
Unreviewed, rolling out r116715.
http://trac.webkit.org/changeset/116715
https://bugs.webkit.org/show_bug.cgi?id=86172

Broke http/tests/security/cross-frame-access-selection.html
(Requested by tkent on #webkit).

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

* dom/Document.cpp:
(WebCore):
(WebCore::Document::getSelection):
* dom/Document.h:
(Document):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::selection):
* dom/TreeScope.cpp:
(WebCore::TreeScope::~TreeScope):
* dom/TreeScope.h:
(WebCore):
(TreeScope):
* page/DOMSelection.cpp:
(WebCore::DOMSelection::DOMSelection):
* page/DOMSelection.h:
(WebCore):
(WebCore::DOMSelection::create):
(DOMSelection):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::clearDOMWindowProperties):
(WebCore::DOMWindow::getSelection):
* page/DOMWindow.h:
(DOMWindow):

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

8 years agoWebKit should support tab-size.
morrita@google.com [Fri, 11 May 2012 03:28:46 +0000 (03:28 +0000)]
WebKit should support tab-size.
https://bugs.webkit.org/show_bug.cgi?id=52994

Source/WebCore:

- Added boilerplate for "tab-size" CSS property.
- Added RenderStye::tabSize() as a RareInheritedData.
- Replaced TextRun::m_allowTabs into TextRun::m_tabSize.

Reviewed by Simon Fraser.

Tests: fast/css/tab-size-expected.html
       fast/css/tab-size.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSStyleSelector.cpp:
(WebCore::CSSStyleSelector::applyProperty):
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::drawTextInternal):
* platform/chromium/PopupListBox.cpp:
(WebCore::PopupListBox::paintRow):
* platform/graphics/Font.h:
(WebCore::Font::tabWidth):
* platform/graphics/TextRun.h:
(WebCore::TextRun::TextRun):
(WebCore::TextRun::allowTabs):
(WebCore::TextRun::tabSize):
(WebCore::TextRun::setTabSize):
* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advance):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::paint):
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::constructTextRun):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::constructTextRun):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::textWidth):
(WebCore::tryHyphenating):
* rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::width):
* rendering/RenderText.h:
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
(WebCore::RenderStyleBitfields::tabSize):
(WebCore::RenderStyleBitfields::collapsedTabSize):
(WebCore::RenderStyleBitfields::setTabSize):
(WebCore::RenderStyleBitfields::initialTabSize):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):
* rendering/style/StyleRareInheritedData.h:
* rendering/svg/SVGInlineTextBox.cpp:
(WebCore::SVGInlineTextBox::constructTextRun):
* rendering/svg/SVGTextMetrics.cpp:
(WebCore::constructTextRun):

Source/WebKit/chromium:

Reviewed by Simon Fraser.

* src/WebTextRun.cpp:
(WebKit::WebTextRun::operator WebCore::TextRun):

LayoutTests:

Reviewed by Simon Fraser.

* fast/css/tab-size-expected.html: Added.
* fast/css/tab-size.html: Added.
* platform/chromium-linux/svg/css/getComputedStyle-basic-expected.txt:
* platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt:
* platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:

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

8 years agoSync with impl thread when removing references to external textures
piman@chromium.org [Fri, 11 May 2012 03:07:08 +0000 (03:07 +0000)]
Sync with impl thread when removing references to external textures
https://bugs.webkit.org/show_bug.cgi?id=86054

We want to ensure the client side is safe to release textures, so we
sync with the impl thread when:
- we change the texture (and we had one)
- the layer is removed from the tree (and we had a texture)
- the layer is destroyed (and we had a texture)

Reviewed by James Robinson.

Test: TextureLayerChromiumTest.

* platform/graphics/chromium/TextureLayerChromium.cpp:
(WebCore::TextureLayerChromium::~TextureLayerChromium):
(WebCore::TextureLayerChromium::setTextureId):
(WebCore::TextureLayerChromium::setLayerTreeHost):
(WebCore):
* platform/graphics/chromium/TextureLayerChromium.h:
(TextureLayerChromium):

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

8 years ago[Chromium] attempt to build fix for Chromium-mac.
tkent@chromium.org [Fri, 11 May 2012 02:47:12 +0000 (02:47 +0000)]
[Chromium] attempt to build fix for Chromium-mac.
r116697 introduced an override of a system function. It's intentional
and WebCoreTextFieldCell should be in the whitelist.

* WebCore.gyp/WebCore.gyp:

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

8 years agoPDF files won't scroll in Safari when using Adobe plug-in
andersca@apple.com [Fri, 11 May 2012 02:34:11 +0000 (02:34 +0000)]
PDF files won't scroll in Safari when using Adobe plug-in
https://bugs.webkit.org/show_bug.cgi?id=86167
<rdar://problem/11389719>

Reviewed by Sam Weinig.

Source/WebCore:

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::computeNonFastScrollableRegion):
Loop over the frame view children looking for plug-in views that want wheel events
and add them to the non-fast scrollable region. Ideally, the plug-ins should be added
to the set of scrollable areas, but PluginView in WebKit2 is not a ScrollableArea yet.

* plugins/PluginViewBase.h:
(PluginViewBase):
(WebCore::PluginViewBase::wantsWheelEvents):

Source/WebKit2:

Add a way to whitelist plug-ins that we know will process wheel events correctly. Add the new
Adobe Reader plug-in to this whitelist. Only send wheel events to plug-ins that are in the whitelist.

* PluginProcess/PluginControllerProxy.cpp:
(WebKit::PluginControllerProxy::wantsWheelEvents):
(WebKit):
* PluginProcess/PluginControllerProxy.h:
(PluginControllerProxy):
* PluginProcess/WebProcessConnection.cpp:
(WebKit::WebProcessConnection::createPlugin):
* PluginProcess/WebProcessConnection.h:
(WebProcessConnection):
* PluginProcess/WebProcessConnection.messages.in:
* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::NetscapePluginModule::determineQuirks):
* Shared/Plugins/PluginQuirks.h:
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::wantsWheelEvents):
(WebKit):
* WebProcess/Plugins/Netscape/NetscapePlugin.h:
(NetscapePlugin):
* WebProcess/Plugins/PDF/BuiltInPDFView.h:
(BuiltInPDFView):
* WebProcess/Plugins/PDF/BuiltInPDFView.mm:
(WebKit::BuiltInPDFView::wantsWheelEvents):
(WebKit):
* WebProcess/Plugins/Plugin.h:
(Plugin):
* WebProcess/Plugins/PluginProxy.cpp:
(WebKit::PluginProxy::PluginProxy):
(WebKit::PluginProxy::initialize):
(WebKit::PluginProxy::wantsWheelEvents):
(WebKit):
* WebProcess/Plugins/PluginProxy.h:
(PluginProxy):
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::initializePlugin):
(WebKit::PluginView::wantsWheelEvents):
(WebKit):
(WebKit::PluginView::handleEvent):
* WebProcess/Plugins/PluginView.h:
(PluginView):

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

8 years agoCrash in 3rd party WebKit apps that disable cache at a wrong time
ap@apple.com [Fri, 11 May 2012 02:31:26 +0000 (02:31 +0000)]
Crash in 3rd party WebKit apps that disable cache at a wrong time
https://bugs.webkit.org/show_bug.cgi?id=86027
<rdar://problem/10615880>

Reviewed by Antti Koivisto.

Source/WebCore:

Added an API test.

The fix is to use CachedResourceHandle throughout MemoryCache, which will certainly
keep the resource alive. Also removed earlier fixes.

* css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::cachedImageSet):
* css/CSSImageValue.cpp: (WebCore::CSSImageValue::cachedImage):
* css/WebKitCSSShaderValue.cpp: (WebCore::WebKitCSSShaderValue::cachedShader):
* history/PageCache.cpp: (WebCore::PageCache::releaseAutoreleasedPagesNow):
* loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement):
* loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::load):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestFont):
(WebCore::CachedResourceLoader::requestTextTrack):
(WebCore::CachedResourceLoader::requestShader):
(WebCore::CachedResourceLoader::requestCSSStyleSheet):
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestScript):
(WebCore::CachedResourceLoader::requestXSLStyleSheet):
(WebCore::CachedResourceLoader::requestSVGDocument):
(WebCore::CachedResourceLoader::requestLinkResource):
(WebCore::CachedResourceLoader::requestRawResource):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::requestPreload):
* loader/cache/CachedResourceLoader.h: (CachedResourceLoader):
* loader/cache/MemoryCache.h: (WebCore::MemoryCache::setPruneEnabled):

* loader/cache/CachedResourceHandle.h:
(WebCore::CachedResourceHandle::CachedResourceHandle):
(WebCore::CachedResourceHandle::operator=):
Teach CachedResourceHandle how to make CachedResourceHandle<CachedResource> from
a handle to subclass.

Tools:

Added a test that's very similar to MemoryCachePruneWithinResourceLoadDelegate,
but for disabling the cache instead of triggering a prune.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/MemoryCacheDisableWithinResourceLoadDelegate.html: Added.
* TestWebKitAPI/Tests/mac/MemoryCacheDisableWithinResourceLoadDelegate.mm: Added.
(-[MemoryCacheDisableTestResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
(-[MemoryCacheDisableTestResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
(-[MemoryCacheDisableTestResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]):
(-[MemoryCacheDisableTestResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
(TestWebKitAPI::TEST):

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

8 years agoEliminate duplicated code for culled line box in RenderInline
commit-queue@webkit.org [Fri, 11 May 2012 02:08:06 +0000 (02:08 +0000)]
Eliminate duplicated code for culled line box in RenderInline
https://bugs.webkit.org/show_bug.cgi?id=85725

This patch extracts the common part of culledInlineBoundingBox() /
culledInlineAbsoluteRects() / culledInlineAbsoluteQuads() to become a
template function generateCulledLineBoxRects(). The template function
accepts a new parameter, GeneratorContext functor, which will be
invoked everytime a new line box rect has been generated. The generated
rect will be in local coordinate. The functor will be responsible for
appropriate transformation, then appending to vector or union with
existing bounding box.

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-05-10
Reviewed by Eric Seidel.

No new tests. No change in behavior.

* rendering/RenderInline.cpp:
(WebCore):
(WebCore::RenderInline::generateLineBoxRects):
(WebCore::RenderInline::generateCulledLineBoxRects):
(WebCore::RenderInline::absoluteRects):
(WebCore::RenderInline::absoluteQuads):
(WebCore::RenderInline::linesBoundingBox):
(WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
(WebCore::RenderInline::addFocusRingRects):
* rendering/RenderInline.h:
(RenderInline):

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

8 years agoCrash in swapInNodePreservingAttributesAndChildren.
inferno@chromium.org [Fri, 11 May 2012 02:06:11 +0000 (02:06 +0000)]
Crash in swapInNodePreservingAttributesAndChildren.
https://bugs.webkit.org/show_bug.cgi?id=85197

Reviewed by Ryosuke Niwa.

Keep the children in a ref vector before adding them to newNode.
They can get destroyed due to mutation events.

No new tests because we don't have a reduction.

* editing/ReplaceNodeWithSpanCommand.cpp:
(WebCore::swapInNodePreservingAttributesAndChildren):

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

8 years agoWebKit2: Add a way to blacklist specific plug-ins/plug-in versions
andersca@apple.com [Fri, 11 May 2012 01:49:40 +0000 (01:49 +0000)]
WebKit2: Add a way to blacklist specific plug-ins/plug-in versions
https://bugs.webkit.org/show_bug.cgi?id=86164
<rdar://problem/9551196>

Reviewed by Sam Weinig.

Source/WebKit2:

* Shared/API/c/WKError.h:
Add kWKErrorCodeInsecurePlugInVersion error code.

* Shared/APIClientTraits.cpp:
Update now that didFailToInitializePlugin is deprecated.

* UIProcess/API/C/WKPage.h:
Deprecate didFailToInitializePlugin and replace it with the more generic pluginDidFail.
Also, deprecate missingPluginButtonClicked and replace it with unavailablePluginButtonClicked.

* UIProcess/Plugins/PluginInfoStore.cpp:
(WebKit::PluginInfoStore::shouldBlockPlugin):
Non-Mac version, always return false.

* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::shouldBlockPlugin):
Call WKShouldBlockPlugin.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::getPluginPath):
Check if the plug-in should be blocked.

* UIProcess/WebContext.messages.in:
GetPluginPath now takes an additional out parameter, a boolean that determines whether the plug-in
should be blocked from loading or not.

* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didFailToInitializePlugin):
Call m_client.pluginDidFail.

(WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
Ditto.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::unavailablePluginButtonClicked):
Call the loader client.

(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
Ditto.

* UIProcess/WebPageProxy.messages.in:
Rename MissingPluginButtonClicked to UnavailablePluginButtonClicked and add a new DidBlockInsecurePluginVersion message.

* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::unavailablePluginButtonClicked):
Call missingPluginButtonClicked and unavailablePluginButtonClicked.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
(WebKit::WebChromeClient::unavailablePluginButtonClicked):
Handle RenderEmbeddedObject::InsecurePluginVersion.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin):
WebPage::createPlugin now takes the plug-in element.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
If the plug-in is blocked, set the appropriate unavailability reason.

* WebProcess/WebProcess.cpp:
(WebKit::canPluginHandleResponse):
Update now that GetPluginPath returns a blocked parameter as well.

Tools:

Update for WK2 API changes.

* MiniBrowser/mac/BrowserWindowController.m:
(-[BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::initialize):

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

8 years ago[Refactoring] Move Selection from DOMWindow to TreeScope.
shinyak@chromium.org [Fri, 11 May 2012 01:45:47 +0000 (01:45 +0000)]
[Refactoring] Move Selection from DOMWindow to TreeScope.
https://bugs.webkit.org/show_bug.cgi?id=82699

Reviewed by Ryosuke Niwa.

Since ShadowRoot will also manage its own version of DOMSelection, we would like to
share the code among Document and DOMSelection. This patch moves DOMSelection from DOMWindow to TreeScope
so that ShadowRoot can also use it.

No new tests, should covered by existing tests.

* dom/Document.cpp:
(WebCore::Document::updateFocusAppearanceTimerFired):
* dom/Document.h:
(Document):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::selection):
* do/mTreeScope.cpp:
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::getSelection):
(WebCore):
* dom/TreeScope.h:
(WebCore):
(TreeScope):
* page/DOMSelection.cpp:
(WebCore::DOMSelection::DOMSelection):
(WebCore::DOMSelection::clearTreeScope):
(WebCore):
* page/DOMSelection.h:
(WebCore):
(WebCore::DOMSelection::create):
(DOMSelection):
(WebCore::DOMSelection::frame):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::clearDOMWindowProperties):
(WebCore::DOMWindow::getSelection):
* page/DOMWindow.h:
(DOMWindow):

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

8 years agoUnreviewed, rolling out r116594.
tkent@chromium.org [Fri, 11 May 2012 01:20:13 +0000 (01:20 +0000)]
Unreviewed, rolling out r116594.
http://trac.webkit.org/changeset/116594
https://bugs.webkit.org/show_bug.cgi?id=86013

r116594 might have made some composition tests flaky.

Source/WebCore:

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::addAnimation):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCProxy.h:
(CCProxy):
* platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::doComposite):
* platform/graphics/chromium/cc/CCSingleThreadProxy.h:
(WebCore):
* platform/graphics/chromium/cc/CCThreadProxy.h:
(CCThreadProxy):

Source/WebKit/chromium:

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

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

8 years agoUnreviewed. Fix chromium build break.
jianli@chromium.org [Fri, 11 May 2012 01:08:35 +0000 (01:08 +0000)]
Unreviewed. Fix chromium build break.

* src/LocalizedStrings.cpp:
(WebCore::insecurePluginVersionText):

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

8 years agoSource/WebCore: [chromium] DomStorage events handling needs TLC (2)
michaeln@google.com [Fri, 11 May 2012 00:42:34 +0000 (00:42 +0000)]
Source/WebCore: [chromium] DomStorage events handling needs TLC (2)
https://bugs.webkit.org/show_bug.cgi?id=85221
Alter the StorageArea virtual interface such that the mutators no longer
return old values. This is to allow implementations of the interface to operate
more asynchronously.

Reviewed by Adam Barth.

No new tests. Existing tests cover this.

* storage/StorageArea.h: Alter the interface so the mutators no longer return previous values
* storage/StorageAreaImpl.cpp:
(WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):  removed an unneeded PLATFORM(CHROMIUM) guard
(WebCore::StorageAreaImpl::setItem): no longer return the old value
(WebCore::StorageAreaImpl::removeItem): no longer return the old value
(WebCore::StorageAreaImpl::clear): no longer return whether something was cleared
* storage/StorageAreaImpl.h: match StorageArea's virtual interface

Source/WebKit/chromium: [chromium] DomStorage events handling needs TLC (2)
https://bugs.webkit.org/show_bug.cgi?id=85221
Alter the WebStorageArea virtual interface such that the mutators no longer
return old values. This is to allow implementations of the interface to operate
more asynchronously.

Also clean up from the last patch, remove support for the DEPRECATED event
dispatching API.

Reviewed by Adam Barth.

* WebKit.gyp: delete three files indicated below
* public/WebStorageArea.h:
(WebKit::WebStorageArea::setItem): no longer returns the old value
(WebKit::WebStorageArea::removeItem): no longer returns the old value
(WebKit::WebStorageArea::clear): no longer returns a bool indicated if something was cleared
* public/WebStorageEventDispatcher.h: removed the DEPRECATED instance methods
* public/WebStorageNamespace.h: removed the DEPRECATED close() method
* public/platform/WebKitPlatformSupport.h: removed the DEPRECATED dispatchStorageEvent() method
* src/StorageAreaProxy.cpp: removed the DEPREACTED storageEvent() method
(WebCore::StorageAreaProxy::setItem): no return value
(WebCore::StorageAreaProxy::removeItem): no return value
(WebCore::StorageAreaProxy::clear): no return value
(WebCore::StorageAreaProxy::dispatchLocalStorageEvent): remove an early return thats no longer needed
(WebCore::findPageWithSessionStorageNamespace): switched to passing pageGroup by ptr value instead of by name
(WebCore::StorageAreaProxy::dispatchSessionStorageEvent): remove an early return thats no longer needed
* src/StorageAreaProxy.h:
(WebCore):
(StorageAreaProxy):
* src/StorageEventDispatcherImpl.cpp: Deleted the file.
* src/StorageEventDispatcherImpl.h: Deleted the file.
* src/WebStorageEventDispatcherImpl.cpp: Deleted the DEPRECATED instance methods.
(WebKit::WebStorageEventDispatcher::dispatchLocalStorageEvent): use WebViewImpl::defaultPageGroup
(WebKit::WebStorageEventDispatcher::dispatchSessionStorageEvent): use WebViewImpl::defaultPageGroup
* src/WebStorageEventDispatcherImpl.h: Deleted the file.
* src/WebViewImpl.cpp: added a static method to retrieve a ptr to the default page group,
(WebKit::WebViewImpl::defaultPageGroup):
* src/WebViewImpl.h:

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=86158
bdakin@apple.com [Fri, 11 May 2012 00:31:30 +0000 (00:31 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=86158
Overlay scrollbars without layers never paint in overflow regions in
tiled drawing mode
-and corresponding-
<rdar://problem/11289546>

Reviewed by Darin Adler.

RenderLayers paint scrollbars that do not have their own layers by
running a second pass through the layer tree after the layer tree has
painted. This ensures that the scrollbars always paint on top of
content. However, this mechanism was relying on
FrameView::paintContents() as a choke-point for all painting to
trigger the second painting pass. That is not a reasonable choke-point
in tiled drawing, so this patch adds similar code to
RenderLayerBacking.

Only opt into the second painting pass for scrollbars that do not have
their own layers.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintOverflowControls):

A layer that paints into its backing cannot return early here if it
has overlay scrollbars to paint.
(WebCore::RenderLayer::paintLayer):

This replicates code in FrameView::paintContents(). After painting the
owning layer, do a second pass if there are overlay scrollbars to
paint.
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):

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

8 years agoWell, at least fixing the GTK+ build is something!
andersca@apple.com [Fri, 11 May 2012 00:19:57 +0000 (00:19 +0000)]
Well, at least fixing the GTK+ build is something!

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

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

8 years agoAdd insecurePluginVersionText stub here too.
andersca@apple.com [Fri, 11 May 2012 00:07:46 +0000 (00:07 +0000)]
Add insecurePluginVersionText stub here too.

* src/LocalizedStrings.cpp:

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

8 years agoAdd insecurePluginVersionText stubs.
andersca@apple.com [Fri, 11 May 2012 00:06:37 +0000 (00:06 +0000)]
Add insecurePluginVersionText stubs.

* platform/blackberry/LocalizedStringsBlackBerry.cpp:
(WebCore::insecurePluginVersionText):
(WebCore):
* platform/efl/LocalizedStringsEfl.cpp:
(WebCore::insecurePluginVersionText):
(WebCore):
* platform/qt/LocalizedStringsQt.cpp:
(WebCore::insecurePluginVersionText):
(WebCore):

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

8 years agonrwt: [chromium] fix path to asan symbolize script
dpranke@chromium.org [Fri, 11 May 2012 00:06:02 +0000 (00:06 +0000)]
nrwt: [chromium] fix path to asan symbolize script
https://bugs.webkit.org/show_bug.cgi?id=86161

Reviewed by Abhishek Arya.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort._get_crash_log):

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

8 years agoUnreviewed, rolling out r116677.
commit-queue@webkit.org [Fri, 11 May 2012 00:02:04 +0000 (00:02 +0000)]
Unreviewed, rolling out r116677.
http://trac.webkit.org/changeset/116677
https://bugs.webkit.org/show_bug.cgi?id=86159

This patch causes linker error to some mac bots (Requested by
jianli_ on #webkit).

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

* WebCore.exp.in:
* dom/ContainerNode.h:
* dom/Node.cpp:
(WebCore::Node::traverseNextNode):
(WebCore::Node::traverseNextSibling):
* dom/Node.h:
(Node):

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

8 years ago[chromium] Set Valgrind environment variables for layout tests.
dpranke@chromium.org [Thu, 10 May 2012 23:48:11 +0000 (23:48 +0000)]
[chromium] Set Valgrind environment variables for layout tests.
https://bugs.webkit.org/show_bug.cgi?id=86156

Patch by Lei Zhang <thestig@chromium.org> on 2012-05-10
Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.setup_environ_for_server):

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

8 years agoCrash in FontCache::releaseFontData due to infinite float size.
inferno@chromium.org [Thu, 10 May 2012 23:02:00 +0000 (23:02 +0000)]
Crash in FontCache::releaseFontData due to infinite float size.
https://bugs.webkit.org/show_bug.cgi?id=86110

Reviewed by Andreas Kling.

Source/WebCore:

New callers always forget to clamp the font size, which overflows
to infinity on multiplication. It is best to clamp it at the end
to avoid getting greater than std::numeric_limits<float>::max().

Test: fast/css/large-font-size-crash.html

* platform/graphics/FontDescription.h:
(WebCore::FontDescription::setComputedSize):
(WebCore::FontDescription::setSpecifiedSize):

LayoutTests:

* fast/css/large-font-size-crash-expected.txt: Added.
* fast/css/large-font-size-crash.html: Added.

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=82131
bdakin@apple.com [Thu, 10 May 2012 22:58:28 +0000 (22:58 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=82131
[Mac] REGRESSION (r110480): Text field that specifies background-color
(or is auto-filled) gets un-themed border
-and corresponding-
<rdar://problem/11115221>

Reviewed by Maciej Stachowiak.

This change rolls out r110480 which is what caused styled text fields
to get the un-themed border, and it does a bunch of work to make sure
we get the pretty, new version of the NSTextField art whenever
possible. We do this differently for post-Lion OS's since there is now
a way to opt into it all the time. Lion and SnowLeopard can only use
the new art in HiDPI mode when the background color of the text field
is just white.

RenderThemeMac::textField() takes a boolean paramter used to determine
if the new gradient will be used.
* rendering/RenderThemeMac.h:
(RenderThemeMac):

This is the post-Lion workaround. This code has no effect on Lion and
SnowLeopard. This allows up to opt into a version of [NSTextField drawWithFrame:] that will only draw the frame of the text field; without this, it will draw the frame and the background, which creates a number of problems with styled text fields and text fields in HiDPI. There is a less comprehesive workaround for Lion and SnowLeopard in place in RenderThemeMac::textField().
* rendering/RenderThemeMac.mm:
(-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):

This is the roll-out of r110480.
(WebCore::RenderThemeMac::isControlStyled):

See the comments for a full explanation, but this is mostly code for
Lion and SnowLeopard to determine if we can opt into the new artwork.
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::textField):

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

8 years agoWebKit1: Add a way to blacklist specific plug-ins/plug-in versions
andersca@apple.com [Thu, 10 May 2012 22:45:41 +0000 (22:45 +0000)]
WebKit1: Add a way to blacklist specific plug-ins/plug-in versions
https://bugs.webkit.org/show_bug.cgi?id=86150
<rdar://problem/9551196>

Reviewed by Sam Weinig.

Source/WebCore:

* English.lproj/Localizable.strings:
Update.

* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadPlugin):
It is possible that the client has already set the unavailability reason so don't try to set it twice.

* platform/LocalizedStrings.cpp:
(WebCore::insecurePluginVersionText):
* platform/LocalizedStrings.h:
Add insecure plug-in version text.

* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::unavailablePluginReplacementText):
* rendering/RenderEmbeddedObject.h:
Add InsecurePluginVersion unavailability reason.

Source/WebKit/mac:

* Misc/WebKitErrors.h:
Add WebKitErrorInsecurePlugInVersion enum.

* Plugins/WebBasePluginPackage.h:
* Plugins/WebBasePluginPackage.mm:
(-[WebBasePluginPackage bundleIdentifier]):
(-[WebBasePluginPackage bundleVersion]):
Add bundleIdentifier and bundleVersion getters.

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::createPlugin):
Check if the plug-in is blocked. If it is, set the unavailability reason and the error code.

WebKitLibraries:

Add WKShouldBlockPlugin.

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceSnowLeopard.a:

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

8 years agoMake IFRAME_SEAMLESS child documents inherit styles from their parent iframe element
eric@webkit.org [Thu, 10 May 2012 22:11:57 +0000 (22:11 +0000)]
Make IFRAME_SEAMLESS child documents inherit styles from their parent iframe element
https://bugs.webkit.org/show_bug.cgi?id=85940

Reviewed by Ojan Vafai.

Source/WebCore:

The HTML5 <iframe seamless> spec says:
In a CSS-supporting user agent: the user agent must, for the purpose of CSS property
inheritance only, treat the root element of the active document of the iframe
element's nested browsing context as being a child of the iframe element.
(Thus inherited properties on the root element of the document in the
iframe will inherit the computed values of those properties on the iframe
element instead of taking their initial values.)

Initially I implemented this support to the letter of the spec. However, doing so I learned
that WebKit has a RenderStyle for the Document Node, not just the root element of the document.
In this RenderStyle on the Document, we add a bunch of per-document styles from settings
including designMode.

This change makes StyleResolver::styleForDocument inherit style from the parent iframe's
style, before applying any of these per-document styles.  This may or may not be correct
depending on what behavior we want for rtl-ordering, page-zoom, locale, design mode, etc.
For now, we continue to treat the iframe's document as independent in these regards, and
the settings on that document override those inherited from the iframe.

Also, intially when making this work, I added redirects in recalcStyle and scheduleStyleRecalc
from the child document to the parent document in the case of seamless (since the parent
document effectively manages the style resolve and layout of the child in seamless mode).
However, I was not able to find a test which depended on this code change, so in this final patch
I have removed both of these modifications and replaced them with FIXMEs.  Based on discussions
with Ojan and James Robinson, I believe both of those changes may eventually be wanted.

This change basically does 3 things:
1.  Makes StyleResolver::styleForDocument inherit from the parent iframe.
2.  Makes any recalcStyle calls on the iframe propogate down into the child document (HTMLIFrameElement::didRecalcStyle).
3.  Makes Document::recalcStyle aware of the fact that the Document's style *can* change
    for reasons other than recalcStyle(Force).

I'm open to more testing suggestions, if reviewers have settings on the Document's style
that you want to make sure we inherit from the parent iframe, or don't inherit, etc.
I view this as a complete solution to this aspect of the current <iframe seamless> spec,
but likely not the last code we will write for this aspect of the seamless feature. :)

Tested by fast/frames/seamlesss/seamless-css-cascade.html and seamless-designMode.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* dom/Document.cpp:
(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::recalcStyle):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::HTMLIFrameElement):
(WebCore::HTMLIFrameElement::didRecalcStyle):
(WebCore):
* html/HTMLIFrameElement.h:
(HTMLIFrameElement):

LayoutTests:

This single pass is deceptive.  seamless-designMode exists
to make sure that we do not regress application of Document-level
styles in the child document.

* fast/frames/seamless/seamless-css-cascade-expected.txt:

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

8 years agoCrash in computedCSSPadding* functions due to RenderImage::imageDimensionsChanged...
jchaffraix@webkit.org [Thu, 10 May 2012 22:08:27 +0000 (22:08 +0000)]
Crash in computedCSSPadding* functions due to RenderImage::imageDimensionsChanged called during attachment
https://bugs.webkit.org/show_bug.cgi?id=85912

Reviewed by Eric Seidel.

Source/WebCore:

Tests: fast/images/link-body-content-imageDimensionChanged-crash.html
       fast/images/script-counter-imageDimensionChanged-crash.html

The bug comes from CSS generated images that could end up calling imageDimensionsChanged during attachment. As the
rest of the code (e.g. computedCSSPadding*) would assumes that we are already inserted in the tree, we would crash.

The solution is to bail out in this case as newly inserted RenderObject will trigger layout later on and properly
handle what we would be doing as part of imageDimensionChanged (the only exception being updating our intrinsic
size which should be done as part of imageDimensionsChanged).

* rendering/RenderImage.cpp:
(WebCore::RenderImage::imageDimensionsChanged):

LayoutTests:

* fast/images/link-body-content-imageDimensionChanged-crash-expected.txt: Added.
* fast/images/link-body-content-imageDimensionChanged-crash.html: Added.
* fast/images/script-counter-imageDimensionChanged-crash-expected.txt: Added.
* fast/images/script-counter-imageDimensionChanged-crash.html: Added.

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

8 years ago[webkitpy][EFL] It should be possible to use a wrapper command for ImageDiff.
rakuco@webkit.org [Thu, 10 May 2012 22:00:02 +0000 (22:00 +0000)]
[webkitpy][EFL] It should be possible to use a wrapper command for ImageDiff.
https://bugs.webkit.org/show_bug.cgi?id=86145

Reviewed by Dirk Pranke.

The GTK+ and EFL ports use jhbuild to build a few base libraries
which are then used when building the port itself. Programs such
as DRT and ImageDiff are then supposed to be run with the
`run-with-jhbuild' wrapper so that the libraries are properly
found and loaded.

This was already the case for DumpRenderTree (EflPort defines the
'wrapper' option for that), but it was not possible to do the same
with ImageDiff so far.

The code which created the ImageDiff command-line call has been
moved to a separate method, _image_diff_command, which is then
overridden by EflPort to add the jhbuild wrapper.

* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort.__init__):
(EflPort._image_diff_command):
* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitPort):
(WebKitPort._image_diff_command):
(WebKitPort._start_image_diff_process):

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

8 years agoASSERT in BidiResolver<Iterator, Run>::commitExplicitEmbedding makes running debug...
abarth@webkit.org [Thu, 10 May 2012 21:53:35 +0000 (21:53 +0000)]
ASSERT in BidiResolver<Iterator, Run>::commitExplicitEmbedding makes running debug builds annoying
https://bugs.webkit.org/show_bug.cgi?id=86140

Reviewed by Eric Seidel.

The correct fix here is to resolve
https://bugs.webkit.org/show_bug.cgi?id=76574, but in the mean time,
this ASSERT is annoying.

* platform/text/BidiResolver.h:
(WebCore::::commitExplicitEmbedding):

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

8 years ago[Chromium] Call addTraceEvent and getTraceCategoryEnabledFlag directly
pilgrim@chromium.org [Thu, 10 May 2012 21:52:01 +0000 (21:52 +0000)]
[Chromium] Call addTraceEvent and getTraceCategoryEnabledFlag directly
https://bugs.webkit.org/show_bug.cgi?id=85399

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/EventTracer.cpp: Added.
(WebCore):
(WebCore::EventTracer::getTraceCategoryEnabledFlag):
(WebCore::EventTracer::addTraceEvent):
* platform/EventTracer.h: Added.
(WebCore):
(EventTracer):
* platform/chromium/EventTracerChromium.cpp: Added.
(WebCore):
(WebCore::EventTracer::getTraceCategoryEnabledFlag):
(WebCore::EventTracer::addTraceEvent):
* platform/chromium/PlatformSupport.h:
* platform/chromium/TraceEvent.h:

Source/WebKit/chromium:

* src/PlatformSupport.cpp:
(WebCore):

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

8 years ago[Chromium] Remove WEBKIT_USING_SKIA ifdefs that are always true
pilgrim@chromium.org [Thu, 10 May 2012 21:44:03 +0000 (21:44 +0000)]
[Chromium] Remove WEBKIT_USING_SKIA ifdefs that are always true
https://bugs.webkit.org/show_bug.cgi?id=86121

Reviewed by Adam Barth.

Chromium always uses Skia now, so this just removes the barriers
around code that was previously #if'd.

Source/Platform:

* chromium/public/WebCanvas.h:
(WebKit):
* chromium/public/WebGraphicsContext3D.h:
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::onCreateGrGLInterface):
* chromium/public/WebImage.h:
(WebImage):

Source/WebKit/chromium:

* README:
* src/DragClientImpl.cpp:
(WebKit::DragClientImpl::startDrag):
* src/PageOverlay.cpp:
* src/PlatformSupport.cpp:
(WebCore::PlatformSupport::clipboardWriteImage):
(WebCore::PlatformSupport::paintScrollbarThumb):
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::paintContents):
* src/WebFontImpl.cpp:
(WebKit::WebFontImpl::drawText):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::printPage):
(WebKit::WebFrameImpl::printPagesWithBoundaries):
* src/WebGraphicsContext3D.cpp:
(WebKit::WebGraphicsContext3D::createGrGLInterface):
* src/WebImageDecoder.cpp:
(WebKit::WebImageDecoder::getFrameAtIndex):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::paint):
(WebKit::WebPluginContainerImpl::printPage):
* src/painting/GraphicsContextBuilder.h:
(WebKit):

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

8 years agoScrollView::fixedVisibleContentRect should be public
abarth@webkit.org [Thu, 10 May 2012 21:37:46 +0000 (21:37 +0000)]
ScrollView::fixedVisibleContentRect should be public
https://bugs.webkit.org/show_bug.cgi?id=86147

Reviewed by Eric Seidel.

Some code in the WebKit layer of OS(ANDROID) uses this function. That
could will be upstreamed in a later patch. For now, this patch just
makes this function public so that we remove the diff to this file.

* platform/ScrollView.h:
(WebCore::ScrollView::fixedVisibleContentRect):
(WebCore::ScrollView::delegatesScrollingDidChange):

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

8 years agoRename the missing plug-in indicator to the unavailable plug-in indicator
andersca@apple.com [Thu, 10 May 2012 21:21:00 +0000 (21:21 +0000)]
Rename the missing plug-in indicator to the unavailable plug-in indicator
https://bugs.webkit.org/show_bug.cgi?id=86136

Reviewed by Sam Weinig.

Source/WebCore:

Since the indicator is shown for more than just missing plug-ins, generalize it and use a plug-in unavailability
reason enum to make it easier to extend. Also, pass the unavailability reason to the ChromeClient member functions.

* WebCore.exp.in:
* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::updateWidget):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateWidget):
* html/HTMLPlugInElement.cpp:
(WebCore::HTMLPlugInElement::defaultEventHandler):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
* loader/SubframeLoader.cpp:
(WebCore::SubframeLoader::loadPlugin):
* page/ChromeClient.h:
(WebCore::ChromeClient::shouldUnavailablePluginMessageBeButton):
(WebCore::ChromeClient::unavailablePluginButtonClicked):
* page/FrameView.cpp:
(WebCore::FrameView::updateWidget):
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
(WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
(WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):
(WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsPressed):
(WebCore::RenderEmbeddedObject::paint):
(WebCore::RenderEmbeddedObject::paintReplaced):
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
(WebCore::RenderEmbeddedObject::unavailablePluginReplacementText):
(WebCore):
(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
(WebCore::shouldUnavailablePluginMessageBeButton):
(WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
(WebCore::RenderEmbeddedObject::getCursor):
* rendering/RenderEmbeddedObject.h:
(RenderEmbeddedObject):

Source/WebKit/mac:

* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView pluginHostDied]):
* WebCoreSupport/WebChromeClient.h:
* WebCoreSupport/WebChromeClient.mm:
(WebChromeClient::shouldUnavailablePluginMessageBeButton):
(WebChromeClient::unavailablePluginButtonClicked):

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.cpp:
(WebChromeClient::shouldUnavailablePluginMessageBeButton):
(WebChromeClient::unavailablePluginButtonClicked):
* WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

Source/WebKit2:

Update for WebCore changes.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginProcessCrashed):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
(WebKit::WebChromeClient::unavailablePluginButtonClicked):
* WebProcess/WebCoreSupport/WebChromeClient.h:
(WebChromeClient):

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

8 years ago[Chromium] WebFrameTest.ChromePageNoJavascript isn't catching regressions
tsepez@chromium.org [Thu, 10 May 2012 21:14:12 +0000 (21:14 +0000)]
[Chromium] WebFrameTest.ChromePageNoJavascript isn't catching regressions
https://bugs.webkit.org/show_bug.cgi?id=86046

Reviewed by Adam Barth.

Test both cases for registerURLSchemeAsNotAllowingJavascriptURLs.  Also add
a call to layout() to ensure the javascript result is seen.

* tests/WebFrameTest.cpp:
(WebKit::TEST_F):
(WebKit):

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

8 years ago<rdar://problem/10972577> and https://bugs.webkit.org/show_bug.cgi?id=80170
beidson@apple.com [Thu, 10 May 2012 21:09:31 +0000 (21:09 +0000)]
<rdar://problem/10972577> and https://bugs.webkit.org/show_bug.cgi?id=80170
Contents of noscript elements turned into strings in WebArchives

Source/WebCore:

Reviewed by Andy Estes.

There's a much deeper question about how innerHTML of <noscript> is expected to work in
both a scripting and non-scripting environment that we should pursue separately.

But for webarchives, we can solve this by filtering out the <noscript> elements completely
if scripting is enabled.

Test: webarchive/ignore-noscript-if-scripting-enabled.html

* WebCore.exp.in:

Add arguments to createMarkup and MarkupAccumulator methods to pass a Vector of QualifiedNames
that should be filtered from the resulting markup:
* editing/MarkupAccumulator.cpp:
(WebCore::MarkupAccumulator::serializeNodes):
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
* editing/MarkupAccumulator.h:
* editing/markup.cpp:
(WebCore::createMarkup):
* editing/markup.h:

If scripting is enabled, add the noscriptTag to the tag names to filter:
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create):

LayoutTests:

Reviewed by Andy Estes.

* webarchive/ignore-noscript-if-scripting-enabled-expected.txt: Added.
* webarchive/ignore-noscript-if-scripting-enabled.html: Added.

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

8 years agoCaret node boundary should be adjusted to account for the visible region.
mifenton@rim.com [Thu, 10 May 2012 21:01:07 +0000 (21:01 +0000)]
Caret node boundary should be adjusted to account for the visible region.
https://bugs.webkit.org/show_bug.cgi?id=86116

Reviewed by Antonio Gomes.

PR 138988.

Update the node bounding box to be clipped and adjusted
for the visible region of the frame.

Reviewed Internally by Gen Mak.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::caretPositionChanged):

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

8 years agoCrash due to floats not removed from first-letter element.
inferno@chromium.org [Thu, 10 May 2012 20:50:43 +0000 (20:50 +0000)]
Crash due to floats not removed from first-letter element.
https://bugs.webkit.org/show_bug.cgi?id=86019

Reviewed by Julien Chaffraix.

Source/WebCore:

Move clearing logic of a floating/positioned object from removeChild
to removeChildNode. There are lot of places which use removeChildNode
directly and hence the object is not removed from the floating or
positioned objects list.

Test: fast/block/float/float-not-removed-from-first-letter.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::removeChild):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):

LayoutTests:

* fast/block/float/float-not-removed-from-first-letter-expected.txt: Added.
* fast/block/float/float-not-removed-from-first-letter.html: Added.

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

8 years agoRemove empty ElementAttributeData destructor.
kling@webkit.org [Thu, 10 May 2012 20:43:08 +0000 (20:43 +0000)]
Remove empty ElementAttributeData destructor.
<http://webkit.org/b/86126>

Reviewed by Antti Koivisto.

* dom/ElementAttributeData.cpp:
* dom/ElementAttributeData.h:

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

8 years agoWeb Inspector: heap snapshot comparison view is broken
yurys@chromium.org [Thu, 10 May 2012 20:24:20 +0000 (20:24 +0000)]
Web Inspector: heap snapshot comparison view is broken
https://bugs.webkit.org/show_bug.cgi?id=86102

Reviewed by Pavel Feldman.

Pass HeapSnapshotProxy instead of undefined to the profile load callback. Added
compiler annotations to avoid such errors in the future.

* inspector/front-end/HeapSnapshotView.js:

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

8 years agoUnreviewed chromium gardening. Updated failed tests.
jianli@chromium.org [Thu, 10 May 2012 20:24:14 +0000 (20:24 +0000)]
Unreviewed chromium gardening. Updated failed tests.

* platform/chromium/test_expectations.txt:

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

8 years ago[GTK] ENABLE_IFRAME_SEAMLESS support
zandobersek@gmail.com [Thu, 10 May 2012 20:10:22 +0000 (20:10 +0000)]
[GTK] ENABLE_IFRAME_SEAMLESS support
https://bugs.webkit.org/show_bug.cgi?id=85843

Reviewed by Eric Seidel.

.:

Add a configuration option for enabling the iframe seamless
attribute support, enabling it by default.

* configure.ac:

Source/WebCore:

Export the ENABLE_IFRAME_SEAMLESS feature define when the feature is
enabled.

No new tests - all the related tests should now be passing.

* GNUmakefile.am:

Tools:

Add the iframe-seamless option to the options list. This makes it
possible to enable the iframe seamless support through build-webkit
script. Enabled by default for all the ports.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Remove test expectations for the iframe seamless tests. All these
tests should be passing now as the feature is enabled.

* platform/gtk/test_expectations.txt:

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

8 years agoUnreviewed Qt gardening.
jchaffraix@webkit.org [Thu, 10 May 2012 19:57:36 +0000 (19:57 +0000)]
Unreviewed Qt gardening.

* platform/qt/Skipped:
Skipped the test as it fails only on Qt (double-checked locally on Mac),
the difference is very small and likely minor.

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

8 years agoInline Node::traverseNextNode
antti@apple.com [Thu, 10 May 2012 19:52:05 +0000 (19:52 +0000)]
Inline Node::traverseNextNode
https://bugs.webkit.org/show_bug.cgi?id=85844

Reviewed by Ryosuke Niwa.

Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
for many hot loops.

In this version only the firstChild()/nextSibling() tests are inlined and the ancestor traversal is not.

Performance bots will tell if this was worthwhile.

* dom/ContainerNode.h:
(WebCore::Node::traverseNextNode):
(WebCore):
(WebCore::Node::traverseNextSibling):
* dom/Node.cpp:
(WebCore::Node::traverseNextAncestorSibling):
* dom/Node.h:
(Node):

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

8 years ago[EFL][webkitpy] Do not redefine check_build() in EflPort.
rakuco@webkit.org [Thu, 10 May 2012 19:28:18 +0000 (19:28 +0000)]
[EFL][webkitpy] Do not redefine check_build() in EflPort.
https://bugs.webkit.org/show_bug.cgi?id=86124

Reviewed by Dirk Pranke.

Remove an old FIXME and do not redefine check_build in EflPort;
once build-dumprendertree recognizes --efl, we can use the
check_build implementation in WebKitPort.

* Scripts/build-dumprendertree:
* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort.check_build):

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

8 years agoMediaStream API: Fix MediaHints parsing
tommyw@google.com [Thu, 10 May 2012 19:17:21 +0000 (19:17 +0000)]
MediaStream API: Fix MediaHints parsing
https://bugs.webkit.org/show_bug.cgi?id=86098

Reviewed by Adam Barth.

Not currently testable. Working on a series of patches that will fix that.

* Modules/mediastream/PeerConnection00.cpp:
(WebCore::PeerConnection00::createMediaHints):

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

8 years ago[chromium] MediaStream API: Fix the ExtraData functionality in WebMediaStreamDescriptor
tommyw@google.com [Thu, 10 May 2012 19:11:17 +0000 (19:11 +0000)]
[chromium] MediaStream API: Fix the ExtraData functionality in WebMediaStreamDescriptor
https://bugs.webkit.org/show_bug.cgi?id=86087

Reviewed by Adam Barth.

Source/WebCore:

Not easy to test but I have added code that excercises this to WebUserMediaClientMock (in DumpRenderTree).

* platform/chromium/support/WebMediaStreamDescriptor.cpp:
(WebKit::WebMediaStreamDescriptor::setExtraData):

Tools:

* DumpRenderTree/chromium/WebUserMediaClientMock.cpp:
(MockExtraData):
(WebKit):
(WebKit::WebUserMediaClientMock::requestUserMedia):

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

8 years agoRemove op_get_callee
barraclough@apple.com [Thu, 10 May 2012 19:01:07 +0000 (19:01 +0000)]
Remove op_get_callee

Rubber stamped by Geoff Garen.

This is now redundant.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
* jit/JIT.h:
* jit/JITOpcodes.cpp:
(JSC):
* jit/JITOpcodes32_64.cpp:
(JSC):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

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

8 years agoWeb Inspector: search title is shown beside the search field (not under) in the verti...
pfeldman@chromium.org [Thu, 10 May 2012 18:47:04 +0000 (18:47 +0000)]
Web Inspector: search title is shown beside the search field (not under) in the vertical mode.
https://bugs.webkit.org/show_bug.cgi?id=86120

Reviewed by Yury Semikhatsky.

This change makes search title render as placeholder at all times.
It also adjusts the size of the search field when navigation arrows appear.

* inspector/front-end/SearchController.js:
(WebInspector.SearchController):
(WebInspector.SearchController.prototype.updateSearchLabel):
(WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
(WebInspector.SearchController.prototype._createSearchNavigationButton):
* inspector/front-end/inspector.css:
(#toolbar-search-item):
(.with-navigation-buttons #search):
(.toolbar-search-navigation-label):
(.with-navigation-buttons .toolbar-search-navigation-label):
* inspector/front-end/inspector.html:

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

8 years ago[chromium] Trigger context menu for long press gesture
commit-queue@webkit.org [Thu, 10 May 2012 18:42:54 +0000 (18:42 +0000)]
[chromium] Trigger context menu for long press gesture
https://bugs.webkit.org/show_bug.cgi?id=85919

Patch by Varun Jain <varunjain@google.com> on 2012-05-10
Reviewed by Adam Barth.

Source/WebCore:

Test: fast/events/touch/gesture/context-menu-on-long-press.html

* page/EventHandler.cpp:
(WebCore):
(WebCore::EventHandler::sendContextMenuEventForGesture):
* page/EventHandler.h:
(EventHandler):

Source/WebKit/chromium:

* src/PageWidgetDelegate.cpp:
(WebKit::PageWidgetDelegate::handleInputEvent):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):

Tools:

* DumpRenderTree/chromium/EventSender.cpp:
(EventSender::EventSender):
(EventSender::gestureLongPress):
(EventSender::gestureEvent):
* DumpRenderTree/chromium/EventSender.h:
(EventSender):

LayoutTests:

* fast/events/touch/gesture/context-menu-on-long-press.html: Added.
* platform/chromium/fast/events/touch/gesture/context-menu-on-long-press-expected.txt: Added.

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

8 years agoCache inheritorID on JSFunction
barraclough@apple.com [Thu, 10 May 2012 18:40:29 +0000 (18:40 +0000)]
Cache inheritorID on JSFunction
https://bugs.webkit.org/show_bug.cgi?id=85853

Reviewed by Geoff Garen & Filip Pizlo.

An object's prototype is indicated via its structure.  To create an otherwise
empty object with object A as its prototype, we require a structure with its
prototype set to point to A.  We wish to use this same structure for all empty
objects created with a prototype of A, so we presently store this structure as
a property of A, known as the inheritorID.

When a function F is invoked as a constructor, where F has a property 'prototype'
set to point to A, in order to create the 'this' value for the constructor to
use the following steps are taken:
  - the 'prototype' proptery of F is read, via a regular [[Get]] access.
  - the inheritorID internal property of the prototype is read.
  - a new, empty object is constructed with its structure set to point to inheritorID.

There are two drawbacks to the current approach:
  - it requires that every object has an inheritorID field.
  - it requires a [[Get]] access on every constructor call to access the 'prototype' property.

Instead, switch to caching a copy of the inheritorID on the function.  Constructor
calls now only need read the internal property from the callee, saving a [[Get]].
This also means that JSObject::m_inheritorID is no longer commonly read, and in a
future patch we can move to storing this in a more memory efficient fashion.

* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JITInlineMethods.h:
(JSC::JIT::emitAllocateJSFunction):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/JSFunction.cpp:
(JSC::JSFunction::JSFunction):
(JSC::JSFunction::cacheInheritorID):
(JSC):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
* runtime/JSFunction.h:
(JSC::JSFunction::cachedInheritorID):
(JSFunction):
(JSC::JSFunction::offsetOfCachedInheritorID):

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

8 years agoCrash in ApplyStyleCommand::joinChildTextNodes.
inferno@chromium.org [Thu, 10 May 2012 18:39:43 +0000 (18:39 +0000)]
Crash in ApplyStyleCommand::joinChildTextNodes.
https://bugs.webkit.org/show_bug.cgi?id=85939

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: editing/style/apply-style-join-child-text-nodes-crash.html

* editing/ApplyStyleCommand.cpp:
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): add conditions
to bail out if our start and end position nodes are removed due to
mutation events in joinChildTextNodes.
(WebCore::ApplyStyleCommand::applyInlineStyle): this executes after
applyRelativeFontStyleChange in ApplyStyleCommand::doApply. So, need
to bail out if our start and end position nodes are removed due to
mutation events.
(WebCore::ApplyStyleCommand::joinChildTextNodes): hold all the children
in a ref vector to prevent them from getting destroyed due to mutation events.

LayoutTests:

* editing/style/apply-style-join-child-text-nodes-crash-expected.txt: Added.
* editing/style/apply-style-join-child-text-nodes-crash.html: Added.

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

8 years agodon't use autoinstall to import pywebsocket but check it in WebKit directly.
toyoshim@chromium.org [Thu, 10 May 2012 18:38:34 +0000 (18:38 +0000)]
don't use autoinstall to import pywebsocket but check it in WebKit directly.
https://bugs.webkit.org/show_bug.cgi?id=86107

Reviewed by Adam Barth.

This change removes pywebsocket from webkitpy's autoinstall list and
imports pywebsocket 0.7.4 directly into webkitpy/thirparty.

* Scripts/webkitpy/layout_tests/servers/websocket_server.py:
(PyWebSocket._prepare_config):
* Scripts/webkitpy/thirdparty/__init__.py:
(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_irc):
* Scripts/webkitpy/thirdparty/__init___unittest.py:
(ThirdpartyTest.test_import_hook.MockImportHook.__init__):
(ThirdpartyTest.test_import_hook.MockImportHook._install_eliza):
(ThirdpartyTest):
(ThirdpartyTest.test_import_hook):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING: Added.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/__init__.py: Added.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_base.py: Added.
(ConnectionTerminatedException):
(InvalidFrameException):
(BadOperationException):
(UnsupportedFrameException):
(InvalidUTF8Exception):
(StreamBase):
(StreamBase.__init__):
(StreamBase._read):
(StreamBase._write):
(StreamBase.receive_bytes):
(StreamBase._read_until):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hixie75.py: Added.
(for):
(StreamHixie75):
(StreamHixie75.for):
(StreamHixie75.__init__):
(StreamHixie75.send_message):
(StreamHixie75._read_payload_length_hixie75):
(StreamHixie75.receive_message):
(StreamHixie75._send_closing_handshake):
(StreamHixie75.close_connection):
(StreamHixie75.send_ping):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hybi.py: Added.
(Frame):
(Frame.__init__):
(create_length_header):
(create_header):
(_build_frame):
(_filter_and_format_frame_object):
(create_binary_frame):
(create_text_frame):
(FragmentedFrameBuilder):
(FragmentedFrameBuilder.to):
(FragmentedFrameBuilder.__init__):
(FragmentedFrameBuilder.build):
(_create_control_frame):
(create_ping_frame):
(create_pong_frame):
(create_close_frame):
(StreamOptions):
(StreamOptions.__init__):
(Stream):
(Stream.for):
(Stream.__init__):
(Stream._receive_frame):
(Stream._receive_frame_as_frame_object):
(Stream.send_message):
(Stream.receive_message):
(Stream._send_closing_handshake):
(Stream.close_connection):
(Stream.send_ping):
(Stream._send_pong):
(Stream._drain_received_data):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/common.py: Added.
(is_control_opcode):
(ExtensionParameter):
(ExtensionParameter.__init__):
(ExtensionParameter.name):
(ExtensionParameter.add_parameter):
(ExtensionParameter.get_parameters):
(ExtensionParameter.get_parameter_names):
(ExtensionParameter.has_parameter):
(ExtensionParameter.get_parameter_value):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/dispatch.py: Added.
(DispatchException):
(DispatchException.__init__):
(_default_passive_closing_handshake_handler):
(_normalize_path):
(_create_path_to_resource_converter):
(_create_path_to_resource_converter.converter):
(_enumerate_handler_file_paths):
(_HandlerSuite):
(_HandlerSuite.__init__):
(_source_handler_file):
(_extract_handler):
(Dispatcher):
(Dispatcher.maintains):
(Dispatcher.__init__):
(Dispatcher.add_resource_path_alias):
(Dispatcher.source_warnings):
(Dispatcher.do_extra_handshake):
(Dispatcher.transfer_data):
(Dispatcher.passive_closing_handshake):
(Dispatcher.get_handler_suite):
(Dispatcher._source_handler_files_in_dir):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py: Added.
(ExtensionProcessorInterface):
(ExtensionProcessorInterface.get_extension_response):
(ExtensionProcessorInterface.setup_stream_options):
(DeflateStreamExtensionProcessor):
(DeflateStreamExtensionProcessor.__init__):
(DeflateStreamExtensionProcessor.get_extension_response):
(DeflateStreamExtensionProcessor.setup_stream_options):
(DeflateFrameExtensionProcessor):
(DeflateFrameExtensionProcessor.__init__):
(DeflateFrameExtensionProcessor.get_extension_response):
(DeflateFrameExtensionProcessor.setup_stream_options):
(DeflateFrameExtensionProcessor.setup_stream_options._OutgoingFilter):
(DeflateFrameExtensionProcessor.setup_stream_options._OutgoingFilter.__init__):
(DeflateFrameExtensionProcessor.setup_stream_options._OutgoingFilter.filter):
(DeflateFrameExtensionProcessor.setup_stream_options._IncomingFilter):
(DeflateFrameExtensionProcessor.setup_stream_options._IncomingFilter.__init__):
(DeflateFrameExtensionProcessor.setup_stream_options._IncomingFilter.filter):
(DeflateFrameExtensionProcessor.set_response_window_bits):
(DeflateFrameExtensionProcessor.set_response_no_context_takeover):
(DeflateFrameExtensionProcessor.enable_outgoing_compression):
(DeflateFrameExtensionProcessor.disable_outgoing_compression):
(DeflateFrameExtensionProcessor._outgoing_filter):
(DeflateFrameExtensionProcessor._incoming_filter):
(get_extension_processor):
(get_extension_processor.is):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/__init__.py: Added.
(try):
(do_handshake):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/_base.py: Added.
(AbortedByUserException):
(HandshakeException):
(HandshakeException.__init__):
(VersionException):
(VersionException.__init__):
(get_default_port):
(validate_subprotocol):
(parse_host_header):
(format_header):
(build_location):
(get_mandatory_header):
(validate_mandatory_header):
(check_request_line):
(check_header_lines):
(parse_token_list):
(_parse_extension_param):
(_parse_extension):
(parse_extensions):
(format_extensions):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/draft75.py: Added.
(Handshaker):
(Handshaker.performs):
(Handshaker.__init__):
(Handshaker.do_handshake):
(Handshaker._set_resource):
(Handshaker._set_origin):
(Handshaker._set_location):
(Handshaker._set_subprotocol):
(Handshaker._set_protocol_version):
(Handshaker._sendall):
(Handshaker._send_handshake):
(Handshaker._check_header_lines):
(Handshaker._check_first_lines):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi.py: Added.
(compute_accept):
(Handshaker):
(Handshaker.__init__):
(Handshaker._validate_connection_header):
(Handshaker.do_handshake):
(Handshaker._get_origin):
(Handshaker._check_version):
(Handshaker._set_protocol):
(Handshaker._parse_extensions):
(Handshaker._validate_key):
(Handshaker._get_key):
(Handshaker._send_handshake):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi00.py: Added.
(Handshaker):
(Handshaker.__init__):
(Handshaker.do_handshake):
(Handshaker._set_resource):
(Handshaker._set_subprotocol):
(Handshaker._set_location):
(Handshaker._set_origin):
(Handshaker._set_protocol_version):
(Handshaker._set_challenge_response):
(Handshaker._get_key_value):
(Handshaker._get_challenge):
(Handshaker._send_handshake):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/headerparserhandler.py: Added.
(ApacheLogHandler):
(ApacheLogHandler.__init__):
(ApacheLogHandler.emit):
(_configure_logging):
(_parse_option):
(_create_dispatcher):
(headerparserhandler):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/http_header_util.py: Added.
(_is_char):
(_is_ctl):
(ParsingState):
(ParsingState.__init__):
(peek):
(consume):
(consume_string):
(consume_lws):
(consume_lwses):
(consume_token):
(consume_token_or_quoted_string):
(quote_if_necessary):
(parse_uri):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/memorizingfile.py: Added.
(MemorizingFile):
(MemorizingFile.__init__):
(MemorizingFile.__getattribute__):
(MemorizingFile.readline):
(MemorizingFile.get_memorized_lines):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/msgutil.py: Added.
(close_connection):
(send_message):
(receive_message):
(send_ping):
(MessageReceiver):
(MessageReceiver.receives):
(MessageReceiver.provides):
(MessageReceiver.should):
(MessageReceiver.__init__):
(MessageReceiver.run):
(MessageReceiver.receive):
(MessageReceiver.receive_nowait):
(MessageReceiver.stop):
(MessageSender):
(MessageSender.sends):
(MessageSender.provides):
(MessageSender.should):
(MessageSender.__init__):
(MessageSender.run):
(MessageSender.send):
(MessageSender.send_nowait):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/standalone.py: Added.
(_StandaloneConnection):
(_StandaloneConnection.__init__):
(_StandaloneConnection.get_local_addr):
(_StandaloneConnection.get_remote_addr):
(_StandaloneConnection.write):
(_StandaloneConnection.read):
(_StandaloneConnection.get_memorized_lines):
(_StandaloneRequest):
(_StandaloneRequest.__init__):
(_StandaloneRequest.get_uri):
(_StandaloneRequest.get_method):
(_StandaloneRequest.is_https):
(_StandaloneRequest._drain_received_data):
(_StandaloneSSLConnection):
(_StandaloneSSLConnection.for):
(_StandaloneSSLConnection.__init__):
(_StandaloneSSLConnection.__getattribute__):
(_StandaloneSSLConnection.__setattr__):
(_StandaloneSSLConnection.makefile):
(WebSocketServer):
(WebSocketServer.__init__):
(WebSocketServer._create_sockets):
(WebSocketServer.server_bind):
(WebSocketServer.server_activate):
(WebSocketServer.server_close):
(WebSocketServer.fileno):
(WebSocketServer.handle_error):
(WebSocketServer.get_request):
(WebSocketServer.serve_forever):
(WebSocketServer.shutdown):
(WebSocketRequestHandler):
(WebSocketRequestHandler.setup):
(WebSocketRequestHandler.setup.SocketServer):
(WebSocketRequestHandler.__init__):
(WebSocketRequestHandler.parse_request):
(WebSocketRequestHandler.log_request):
(WebSocketRequestHandler.log_error):
(WebSocketRequestHandler.is_cgi):
(_configure_logging):
(_alias_handlers):
(_build_option_parser):
(ThreadMonitor):
(ThreadMonitor.__init__):
(ThreadMonitor.run):
(_parse_args_and_config):
(_main):
(_main.if):
(_main.if.__check_script):
* Scripts/webkitpy/thirdparty/mod_pywebsocket/stream.py: Copied from Tools/Scripts/webkitpy/thirdparty/__init___unittest.py.
* Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py: Added.
(get_stack_trace):
(prepend_message_to_exception):
(__translate_interp):
(get_script_interp):
(wrap_popen3_for_win):
(wrap_popen3_for_win.__wrap_popen3):
(hexify):
(get_class_logger):
(NoopMasker):
(NoopMasker.__init__):
(NoopMasker.mask):
(RepeatedXorMasker):
(RepeatedXorMasker.__init__):
(RepeatedXorMasker.mask):
(DeflateRequest):
(DeflateRequest.for):
(DeflateRequest.__init__):
(DeflateRequest.__getattribute__):
(DeflateRequest.__setattr__):
(_Deflater):
(_Deflater.__init__):
(_Deflater.compress_and_flush):
(_Inflater):
(_Inflater.__init__):
(_Inflater.decompress):
(_Inflater.append):
(_Inflater.reset):
(_RFC1979Deflater):
(_RFC1979Deflater.that):
(_RFC1979Deflater.__init__):
(_RFC1979Deflater.filter):
(_RFC1979Inflater):
(_RFC1979Inflater.for):
(_RFC1979Inflater.__init__):
(_RFC1979Inflater.filter):
(DeflateSocket):
(DeflateSocket.for):
(DeflateSocket.__init__):
(DeflateSocket.recv):
(DeflateSocket.sendall):
(DeflateSocket.send):
(DeflateConnection):
(DeflateConnection.for):
(DeflateConnection.__init__):
(DeflateConnection.get_remote_addr):
(DeflateConnection.put_bytes):
(DeflateConnection.read):
(DeflateConnection.write):
(_is_ewouldblock_errno):
(drain_received_data):

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

8 years ago[Chromium] Remove dead code behind unused WEBKIT_USING_CG
pilgrim@chromium.org [Thu, 10 May 2012 18:25:52 +0000 (18:25 +0000)]
[Chromium] Remove dead code behind unused WEBKIT_USING_CG
https://bugs.webkit.org/show_bug.cgi?id=86018

Reviewed by Adam Barth.

We never use CoreGraphics as the backend for GraphicsContext in
Chromium, so this is all dead code.

Source/Platform:

* chromium/public/WebCanvas.h:
(WebKit):
* chromium/public/WebImage.h:
(WebImage):

Source/WebKit/chromium:

* README:
* src/PageOverlay.cpp:
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayerImpl::paintContents):
* src/WebFontImpl.cpp:
(WebKit::WebFontImpl::drawText):
* src/WebImageDecoder.cpp:
(WebKit::WebImageDecoder::getFrameAtIndex):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::paint):
(WebKit::WebPluginContainerImpl::printPage):
* src/painting/GraphicsContextBuilder.h:
(WebKit):

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

8 years agoUnreviewed. Correct spelling in test name.
inferno@chromium.org [Thu, 10 May 2012 18:23:06 +0000 (18:23 +0000)]
Unreviewed. Correct spelling in test name.

* editing/inserting/insert-paragraph-separator-crash-expected.txt: Renamed from LayoutTests/editing/inserting/insert-paragraph-seperator-crash-expected.txt.
* editing/inserting/insert-paragraph-separator-crash.html: Renamed from LayoutTests/editing/inserting/insert-paragraph-seperator-crash.html.

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

8 years agoUnreviewed, rebaselined run-bindings-tests results.
arv@chromium.org [Thu, 10 May 2012 18:22:59 +0000 (18:22 +0000)]
Unreviewed, rebaselined run-bindings-tests results.

* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore::V8TestException::wrapSlow):
* bindings/scripts/test/V8/V8TestException.h:
(WebCore::V8TestException::wrap):

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

8 years agoTest from bug 34875 does not work on chromium/mac
commit-queue@webkit.org [Thu, 10 May 2012 18:15:57 +0000 (18:15 +0000)]
Test from bug 34875 does not work on chromium/mac
https://bugs.webkit.org/show_bug.cgi?id=85913

Patch by Shezan Baig <shezbaig.wk@gmail.com> on 2012-05-10
Reviewed by Julien Chaffraix.

* fast/block/positioning/offsetLeft-offsetTop-multicolumn-expected.html: Added.
* fast/block/positioning/offsetLeft-offsetTop-multicolumn-expected.txt: Removed.
* fast/block/positioning/offsetLeft-offsetTop-multicolumn.html:
Turned the test back into a ref-test as keeping the test cross-platform and
dumpAsText is proving cumbersome. Apart from that, it also make the test work
cross-browser.

* platform/chromium/test_expectations.txt:
* platform/mac/Skipped:
* platform/qt-mac/Skipped:
Re-enabled the test.

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

8 years ago[EFL][webkitpy] Define the 'wrapper' option in EflPort instead of creating a EflDriver.
rakuco@webkit.org [Thu, 10 May 2012 18:15:04 +0000 (18:15 +0000)]
[EFL][webkitpy] Define the 'wrapper' option in EflPort instead of creating a EflDriver.
https://bugs.webkit.org/show_bug.cgi?id=86117

Reviewed by Adam Barth.

Simplify the code used to wrap driver calls with jhbuild: we can
just define the 'wrapper' option instead of having to create a
Driver class just for that.

* Scripts/webkitpy/layout_tests/port/efl.py:
(EflPort.__init__):
(EflPort._port_flag_for_scripts):

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

8 years ago[EFL] Gardening away IETC crash for now
rakuco@webkit.org [Thu, 10 May 2012 18:09:35 +0000 (18:09 +0000)]
[EFL] Gardening away IETC crash for now
https://bugs.webkit.org/show_bug.cgi?id=86115

Unreviewed, EFL gardening.

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-05-10

* platform/efl/test_expectations.txt:

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

8 years agoUnreviewed chromium gardening. Marked tests as failure.
jianli@chromium.org [Thu, 10 May 2012 18:05:59 +0000 (18:05 +0000)]
Unreviewed chromium gardening. Marked tests as failure.

* platform/chromium/test_expectations.txt:

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

8 years agoEnh: Hash Const JSString in Backing Stores to Save Memory
msaboff@apple.com [Thu, 10 May 2012 17:32:39 +0000 (17:32 +0000)]
Enh: Hash Const JSString in Backing Stores to Save Memory
https://bugs.webkit.org/show_bug.cgi?id=86024

Reviewed by Filip Pizlo.

During garbage collection, each marking thread keeps a HashMap of
strings.  While visiting via MarkStack::copyAndAppend(), we check to
see if the string we are visiting is already in the HashMap.  If not
we add it.  If so, we change the reference to the current string we're
visiting to the prior string.

To somewhat reduce the performance impact of this change, if a string
is unique at the end of a marking it will not be checked during further
GC phases.  In some cases this won't catch all duplicates, but we are
trying to catch the growth of duplicate strings.

* heap/Heap.cpp:
(JSC::Heap::markRoots):
* heap/MarkStack.cpp:
(JSC::MarkStackThreadSharedData::resetChildren): New method called by the
main thread to reset the slave threads.  This is primarily done to
clear the m_uniqueStrings HashMap.
(JSC):
(JSC::MarkStackThreadSharedData::markingThreadMain):
(JSC::MarkStackThreadSharedData::markingThreadStartFunc):
(JSC::MarkStackThreadSharedData::MarkStackThreadSharedData):
(JSC::MarkStackThreadSharedData::reset):
(JSC::MarkStack::reset): Added call to clear m_uniqueStrings.
(JSC::MarkStack::internalAppend): New method that performs the hash consting.
(JSC::SlotVisitor::copyAndAppend): Changed to call the new hash consting
internalAppend()
* heap/MarkStack.h:
(MarkStackThreadSharedData):
(MarkStack):
(JSC::MarkStack::sharedData):
* runtime/JSString.h:
(JSString): Added m_isHashConstSingleton flag, accessors for the flag and
code to initialize the flag.
(JSC::JSString::finishCreation):
(JSC::JSString::isHashConstSingleton):
(JSC::JSString::clearHashConstSingleton):
(JSC::JSString::setHashConstSingleton):
(JSC::JSRopeString::finishCreation):

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

8 years agoIntegrate IETC CSS : values and units tests
tomz@codeaurora.org [Thu, 10 May 2012 17:26:32 +0000 (17:26 +0000)]
Integrate IETC CSS : values and units tests
https://bugs.webkit.org/show_bug.cgi?id=85307

Patch by Dave Tharp <dtharp@codeaurora.org> on 2012-05-10
Reviewed by Adam Barth.

Added the IETC values and unit tests and associated reference tests.

Also removed two "file not found" test entries in the mac test_expectations.txt
file that were causing a style check failure.

* ietestcenter/css3/valuesandunits/units-000-expected.htm: Added.
* ietestcenter/css3/valuesandunits/units-000.htm: Added.
* ietestcenter/css3/valuesandunits/units-010-expected.htm: Added.
* ietestcenter/css3/valuesandunits/units-010.htm: Added.
* ietestcenter/css3/valuesandunits/units-020-expected.htm: Added.
* ietestcenter/css3/valuesandunits/units-020.htm: Added.
* platform/chromium/test_expectations.txt:
* platform/efl/test_expectations.txt:
* platform/gtk/test_expectations.txt:
* platform/mac/test_expectations.txt:
* platform/qt/test_expectations.txt:

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

8 years ago[BlackBerry] Assertions and assumptions in BackingStoreClient around m_frame and...
tonikitoo@webkit.org [Thu, 10 May 2012 17:15:55 +0000 (17:15 +0000)]
[BlackBerry] Assertions and assumptions in BackingStoreClient around m_frame and m_frame->view() are invalid
https://bugs.webkit.org/show_bug.cgi?id=86096

Reviewed by Rob Buis.
Patch by Antonio Gomes <agomes@rim.com>

A Frame's FrameView has always to be checked since it is
a volatile object, and gets created and destroyed all the time.

We have been facing a particular issue, where during our automated
interaction tests, the main frame object was being pinch zoomed in
the middle of it creation, and WebKit thread was blocked by a mutex.
In practice, it is a case that would not be possible in a real
world scenario, but shows that the ASSERTs are bogus regardless.

* WebKitSupport/BackingStoreClient.cpp:
(BlackBerry::WebKit::BackingStoreClient::scrollPosition):
(BlackBerry::WebKit::BackingStoreClient::setScrollPosition):
(BlackBerry::WebKit::BackingStoreClient::maximumScrollPosition):
(BlackBerry::WebKit::BackingStoreClient::viewportSize):
(BlackBerry::WebKit::BackingStoreClient::transformedViewportSize):
(BlackBerry::WebKit::BackingStoreClient::visibleContentsRect):
(BlackBerry::WebKit::BackingStoreClient::contentsSize):

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

8 years ago[EFL][DRT] ewk_view_paint_contents may trigger assertion failure
commit-queue@webkit.org [Thu, 10 May 2012 16:54:02 +0000 (16:54 +0000)]
[EFL][DRT] ewk_view_paint_contents may trigger assertion failure
https://bugs.webkit.org/show_bug.cgi?id=85058

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-05-10
Reviewed by Gustavo Noronha Silva.

Source/WebKit/efl:

Fixing assertion failure triggered in media/media-fragment cases.
The assertion is hit because of a race between scheduleRelayout() and
the EWK's idle tiling painting. This is exposed by test cases
that rapidly insert child nodes to the document which lead to
scheduleRelayout() calls. Using the general purpose defensive
layout function, not causing any extra relayout work if there's
nothing to be done, but still avoiding the assertion failure if
layout is needed.

* ewk/ewk_view.cpp:
(ewk_view_paint):
(ewk_view_paint_contents):

LayoutTests:

Unskipping media-fragments that pass after the assertion failure was fixed.

* platform/efl/Skipped:

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

8 years agoAdd test that makes sure wrappers are setup using the correct window scope
arv@chromium.org [Thu, 10 May 2012 16:47:45 +0000 (16:47 +0000)]
Add test that makes sure wrappers are setup using the correct window scope
https://bugs.webkit.org/show_bug.cgi?id=85526

Reviewed by Ojan Vafai.

This tests the same thing as the recently removed fast/dom/prototype-inheritance.html test.

* fast/dom/wrapper-scope-expected.txt: Added.
* fast/dom/wrapper-scope.html: Added.
* platform/chromium/test_expectations.txt:

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

8 years ago[GTK] Test /webkit2/WebKitWebView/resources times out
carlosgc@webkit.org [Thu, 10 May 2012 16:45:09 +0000 (16:45 +0000)]
[GTK] Test /webkit2/WebKitWebView/resources times out
https://bugs.webkit.org/show_bug.cgi?id=86088

Reviewed by Martin Robinson.

* UIProcess/API/gtk/tests/TestResources.cpp:
(testWebViewResources): Use webkit_web_view_reload_bypass_cache()
instead of webkit_web_view_reload() to make sure resources are not
read from the cache.

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

8 years agoCrash in InsertParagraphSeparatorCommand::doApply.
inferno@chromium.org [Thu, 10 May 2012 16:44:26 +0000 (16:44 +0000)]
Crash in InsertParagraphSeparatorCommand::doApply.
https://bugs.webkit.org/show_bug.cgi?id=84995

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: editing/inserting/insert-paragraph-seperator-crash.html

* editing/DeleteSelectionCommand.cpp:
(WebCore::DeleteSelectionCommand::mergeParagraphs): no need of static cast, since
type of enclosingBlock returned is already Element*.
* editing/IndentOutdentCommand.cpp:
(WebCore::IndentOutdentCommand::tryIndentingAsListItem): no need of static cast, since
type of enclosingBlock returned is already Element*.
* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): RefPtr startBlock to guard against
mutation events.
* editing/htmlediting.cpp:
(WebCore::enclosingBlock): make sure type of enclosingNode is an element before doing
the static cast. This was already failing in a couple of layout tests. Also, isBlock
check already exists in the function call to enclosingNodeOfType, so don't need it
again on enclosingNode's renderer.
* editing/htmlediting.h:
(WebCore):

LayoutTests:

* editing/inserting/insert-paragraph-seperator-crash-expected.txt: Added.
* editing/inserting/insert-paragraph-seperator-crash.html: Added.

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

8 years ago[GTK] WK2 misses WebKitSettings for media playback requiring user gestures and inline...
commit-queue@webkit.org [Thu, 10 May 2012 16:38:13 +0000 (16:38 +0000)]
[GTK] WK2 misses WebKitSettings for media playback requiring user gestures and inline playback
https://bugs.webkit.org/show_bug.cgi?id=85999

Patch by Simon Pena <spena@igalia.com> on 2012-05-10
Reviewed by Martin Robinson.

Expose WebKitSettings for media playback requiring user gesture and
media playback allows inline to GTK side.

This adds two properties (mediaPlaybackRequiresUserGesture and
mediaPlaybackAllowsInline), with their setters and getters, to
WebKitSettings. It also updates the WebKitSettings tests so these
two properties are checked, and includes the new methods in the
documentation.

* UIProcess/API/gtk/WebKitSettings.cpp: added the new properties and
their accessors
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_set_media_playback_requires_user_gesture):
(webkit_settings_get_media_playback_requires_user_gesture):
(webkit_settings_set_media_playback_allows_inline):
(webkit_settings_get_media_playback_allows_inline):
* UIProcess/API/gtk/WebKitSettings.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: included the new
methods in the documentation
* UIProcess/API/gtk/tests/TestWebKitSettings.cpp: tested the newly
added methods
(testWebKitSettings):

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

8 years ago[GTK] Missing field initializers for WKPageLoaderClient
commit-queue@webkit.org [Thu, 10 May 2012 16:33:28 +0000 (16:33 +0000)]
[GTK] Missing field initializers for WKPageLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=86005

Patch by Simon Pena <spena@igalia.com> on 2012-05-10
Reviewed by Martin Robinson.

Initialize willGoToBackForwardListItem and
interactionOccurredWhileProcessUnresponsive fields of
WKPageLoaderClient.

* UIProcess/API/gtk/WebKitLoaderClient.cpp:
(attachLoaderClientToView):

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

8 years agoTouchAdjustment doesn't correct for scroll-offsets.
commit-queue@webkit.org [Thu, 10 May 2012 16:17:53 +0000 (16:17 +0000)]
TouchAdjustment doesn't correct for scroll-offsets.
https://bugs.webkit.org/show_bug.cgi?id=86083

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-05-10
Reviewed by Kenneth Rohde Christiansen.

Already tested by: touchadjustment/scroll-delegation

* page/EventHandler.cpp:
(WebCore::EventHandler::bestClickableNodeForTouchPoint):
(WebCore::EventHandler::bestZoomableAreaForTouchPoint):
* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
* testing/Internals.cpp:
(WebCore::Internals::bestZoomableAreaForTouchPoint):

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

8 years agoFix typo in filename
commit-queue@webkit.org [Thu, 10 May 2012 15:59:36 +0000 (15:59 +0000)]
Fix typo in filename
https://bugs.webkit.org/show_bug.cgi?id=86095

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-05-10
Reviewed by Andreas Kling.

* UseJSC.cmake:

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

8 years ago[Qt] Double tap to zoom is considered a user interaction
kenneth@webkit.org [Thu, 10 May 2012 15:35:02 +0000 (15:35 +0000)]
[Qt] Double tap to zoom is considered a user interaction
https://bugs.webkit.org/show_bug.cgi?id=86094

Reviewed by Simon Hausmann.

This makes it so that the content size change doesn't change scale
after a double tap to zoom.

* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):

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

8 years agoSVG Filters allow invalid elements as children
schenney@chromium.org [Thu, 10 May 2012 15:22:04 +0000 (15:22 +0000)]
SVG Filters allow invalid elements as children
https://bugs.webkit.org/show_bug.cgi?id=83979

Reviewed by Nikolas Zimmermann.

.:

This test will crash upon load in Chromium, unless the associated fix is in.

* ManualTests/bugzilla-83979.svg: Added.

Source/WebCore:

According to the SVG spec, there are numerous restrictions on the
content of nodes (that is, their children). Specific to this problem,
SVGFilter elements may only contain SVGFilterPrimitive elements, and
those may only contain animation related elements. This patch enforces
the restriction on filters in the render tree, thus preventing us from
having (for instance) content that is inside a filter yet filtered by
the filter.

Manual test: ManualTests/bugzilla-83979.svg

* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::childShouldCreateRenderer): Added to only allow renderers for fe* children
(WebCore):
* svg/SVGFilterElement.h:
(SVGFilterElement):
* svg/SVGFilterPrimitiveStandardAttributes.h: Do not allow any children at all for fe* elements.
(SVGFilterPrimitiveStandardAttributes):

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

8 years ago[Qt] Rename QDeclarative* to QQml*
kent.hansen@nokia.com [Thu, 10 May 2012 15:12:36 +0000 (15:12 +0000)]
[Qt] Rename QDeclarative* to QQml*
https://bugs.webkit.org/show_bug.cgi?id=86089

Reviewed by Simon Hausmann.

The QtDeclarative module was deprecated in favor of QtQml.

* Target.pri:
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::_q_onReceivedResponseFromDownload):
(QQuickWebViewExperimental::alertDialog):
(QQuickWebViewExperimental::setAlertDialog):
(QQuickWebViewExperimental::confirmDialog):
(QQuickWebViewExperimental::setConfirmDialog):
(QQuickWebViewExperimental::promptDialog):
(QQuickWebViewExperimental::setPromptDialog):
(QQuickWebViewExperimental::authenticationDialog):
(QQuickWebViewExperimental::setAuthenticationDialog):
(QQuickWebViewExperimental::proxyAuthenticationDialog):
(QQuickWebViewExperimental::setProxyAuthenticationDialog):
(QQuickWebViewExperimental::certificateVerificationDialog):
(QQuickWebViewExperimental::setCertificateVerificationDialog):
(QQuickWebViewExperimental::itemSelector):
(QQuickWebViewExperimental::setItemSelector):
(QQuickWebViewExperimental::filePicker):
(QQuickWebViewExperimental::setFilePicker):
(QQuickWebViewExperimental::databaseQuotaDialog):
(QQuickWebViewExperimental::setDatabaseQuotaDialog):
(QQuickWebViewExperimental::schemeDelegates_At):
(QQuickWebViewExperimental::schemeDelegates_Append):
(QQuickWebViewExperimental::schemeDelegates_Count):
(QQuickWebViewExperimental::schemeDelegates_Clear):
(QQuickWebViewExperimental::schemeDelegates):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/qwebiconimageprovider.cpp:
(QWebIconImageProvider::QWebIconImageProvider):
* UIProcess/API/qt/qwebiconimageprovider_p.h:
* UIProcess/API/qt/qwebviewportinfo_p.h:
* UIProcess/API/qt/tests/tests.pri:
* UIProcess/qt/QtDialogRunner.h:
(QtDialogRunner):
* UIProcess/qt/WebPopupMenuProxyQt.h:
(WebPopupMenuProxyQt):

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

8 years ago[CSS3 Backgrounds and Borders] Add background-size to the background shorthand
commit-queue@webkit.org [Thu, 10 May 2012 15:10:11 +0000 (15:10 +0000)]
[CSS3 Backgrounds and Borders] Add background-size to the background shorthand
https://bugs.webkit.org/show_bug.cgi?id=27577

Patch by Joe Thomas <joethomas@motorola.com> on 2012-05-10
Reviewed by Alexis Menard.

Added CSSPropertyBackgroundSize to the background shorthand propery. Added the logic for parsing background-size.
bakground-size appears after background-position followed by a '/'.
The specification related to this change is http://www.w3.org/TR/css3-background/#the-background

Source/WebCore:

Tests: fast/backgrounds/background-shorthand-with-backgroundSize-style.html
       fast/backgrounds/size/backgroundSize-in-background-shorthand.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::getBackgroundShorthandValue):
(WebCore):
* css/CSSComputedStyleDeclaration.h:
(CSSComputedStyleDeclaration):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillShorthand):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getLayeredShorthandValue):
* css/StylePropertyShorthand.cpp:
(WebCore):
(WebCore::backgroundShorthand):

LayoutTests:

* fast/backgrounds/background-shorthand-with-backgroundSize-style-expected.txt: Added.
* fast/backgrounds/background-shorthand-with-backgroundSize-style.html: Added.
* fast/backgrounds/size/backgroundSize-in-background-shorthand-expected.html: Added.
* fast/backgrounds/size/backgroundSize-in-background-shorthand.html: Added.
* fast/css/getComputedStyle/getComputedStyle-background-shorthand-expected.txt:
* fast/css/getComputedStyle/getComputedStyle-background-shorthand.html:
* fast/inspector-support/style-expected.txt:
* inspector/styles/lazy-computed-style-expected.txt:
* inspector/styles/styles-computed-trace-expected.txt:
* inspector/styles/styles-new-API-expected.txt:

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

8 years agoNode::InDetachFlag could be removed.
morrita@google.com [Thu, 10 May 2012 14:43:27 +0000 (14:43 +0000)]
Node::InDetachFlag could be removed.
https://bugs.webkit.org/show_bug.cgi?id=85963

Reviewed by Antti Koivisto.

Removed Node::inDetach() since it can never true
on the only call site setFocusedNode().

No new test. Covered by existing tests.

* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
* dom/Node.cpp:
(WebCore::Node::detach):
* dom/Node.h:
(WebCore):
(Node):

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

8 years agoCrash in HTMLFormControlElement::m_fieldSetAncestor
keishi@webkit.org [Thu, 10 May 2012 14:11:37 +0000 (14:11 +0000)]
Crash in HTMLFormControlElement::m_fieldSetAncestor
https://bugs.webkit.org/show_bug.cgi?id=86070

Reviewed by Kent Tamura.

No new tests.

The previous patch r115990 didn't completely resolve the crash (Bug 85453)
We don't have a reproducible test case, so we are reverting to the old code for setting m_fieldSetAncestor.

* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
(WebCore::HTMLFormControlElement::insertedInto): Set m_dataListAncestorState to Unknown because ancestor has changed. Call setNeedsWillValidateCheck because style might need to be updated.
(WebCore::HTMLFormControlElement::removedFrom):
(WebCore::HTMLFormControlElement::disabled):
(WebCore::HTMLFormControlElement::recalcWillValidate):
(WebCore::HTMLFormControlElement::willValidate):
(WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
* html/HTMLFormControlElement.h:
(HTMLFormControlElement): Added m_dataListAncestorState.

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