WebKit-https.git
7 years agoSource/WebCore: parse CSS attribute -webkit-blend-mode
krit@webkit.org [Tue, 21 Aug 2012 00:35:27 +0000 (00:35 +0000)]
Source/WebCore: parse CSS attribute -webkit-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=94024

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-08-20
Reviewed by Dirk Schulze.

Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/

Tests: css3/compositing/blend-mode-property-parsing-invalid.html
       css3/compositing/blend-mode-property-parsing.html
       css3/compositing/blend-mode-property.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore):
(WebCore::RenderLayerBacking::updateLayerBlendMode):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::setBlendMode):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

LayoutTests: parse CSS attribute -webkit-blend-mode
https://bugs.webkit.org/show_bug.cgi?id=94024

Patch by Rik Cabanier <cabanier@adobe.com> on 2012-08-20
Reviewed by Dirk Schulze.

Added parsing and general CSS handling of -webkit-blend-mode per http://www.w3.org/TR/2012/WD-compositing-20120816/

* css3/compositing: Added.
* css3/compositing/blend-mode-property-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-invalid-expected.txt: Added.
* css3/compositing/blend-mode-property-parsing-invalid.html: Added.
* css3/compositing/blend-mode-property-parsing.html: Added.
* css3/compositing/blend-mode-property.html: Added.
* css3/compositing/script-tests: Added.
* css3/compositing/script-tests/blend-mode-property-parsing-invalid.js: Added.
(testInvalidFilterRule):
* css3/compositing/script-tests/blend-mode-property-parsing.js: Added.
(jsWrapperClass):
(shouldBeType):
(testFilterRule):
* css3/compositing/script-tests/blend-mode-property.js: Added.
* platform/chromium/css3/compositing/blend-mode-property-expected.txt : Added.
* platform/chromium/css3/compositing/blend-mode-property-parsing-expected.txt : Added.

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

7 years ago[EFL] Move jhbuild dependencies based on SVN to tarballs
commit-queue@webkit.org [Tue, 21 Aug 2012 00:32:09 +0000 (00:32 +0000)]
[EFL] Move jhbuild dependencies based on SVN to tarballs
https://bugs.webkit.org/show_bug.cgi?id=90374

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Moved all the dependencies based on SVN to tarballs taken from a
equivalent snapshot from the official git mirror. This will make
update-webkitefl not dependent on network connection after the first
run. The bots will not fail if EFL SVN server in unreachable.
The reason why git mirror is not used directly is to minimize the
total size of source code we need to download.

* efl/jhbuild.modules:

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

7 years ago[V8] Move retrieve{Window,Frame,PerContextData}() from V8Proxy to V8Binding
haraken@chromium.org [Tue, 21 Aug 2012 00:31:09 +0000 (00:31 +0000)]
[V8] Move retrieve{Window,Frame,PerContextData}() from V8Proxy to V8Binding
https://bugs.webkit.org/show_bug.cgi?id=94460

Reviewed by Adam Barth.

To kill V8Proxy, we move retrieve{Window,Frame,PerContextData}()
from V8Proxy to V8Binding. Also, this patch renames these methods as follows:

- retrieveWindow() -> toDOMWindow()
- retrieveFrame() -> toFrameIfNotDetached()
- retrievePerContextData() -> perContextDataForCurrentWorld()

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/BindingState.cpp:
(WebCore::activeDOMWindow):
(WebCore::firstDOMWindow):
(WebCore::activeFrame):
(WebCore::firstFrame):
(WebCore::currentFrame):
(WebCore::currentDocument):
* bindings/v8/PageScriptDebugServer.cpp:
(WebCore::retrieveFrameWithGlobalObjectCheck):
(WebCore::PageScriptDebugServer::getDebugListenerForContext):
(WebCore::PageScriptDebugServer::runMessageLoopOnPause):
* bindings/v8/V8Binding.cpp:
(WebCore::retrieveWindow):
(WebCore):
(WebCore::retrieveFrame):
(WebCore::retrievePerContextData):
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::constructorForType):
* bindings/v8/V8NPUtils.cpp:
(WebCore::convertV8ObjectToNPVariant):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::handleOutOfMemory):
(WebCore::V8Proxy::context):
(WebCore::V8Proxy::matchesCurrentContext):
* bindings/v8/V8Proxy.h:
(V8Proxy):

Source/WebKit/chromium:

* src/WebBindings.cpp:
(WebKit::makeIntArrayImpl):
(WebKit::makeStringArrayImpl):
* src/WebFrameImpl.cpp:
(WebKit::WebFrame::frameForContext):

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

7 years ago[BLACKBERRY] Add notification if an element does not have touch move or mouse move...
commit-queue@webkit.org [Tue, 21 Aug 2012 00:20:43 +0000 (00:20 +0000)]
[BLACKBERRY] Add notification if an element does not have touch move or mouse move handlers.
https://bugs.webkit.org/show_bug.cgi?id=94529

Patch by Genevieve Mak <gmak@rim.com> on 2012-08-20
Reviewed by George Staikos.

Send a notification to the client if the fat finger element does
not have a mouse move or touch move handler or if it is empty.
PR #177701

Reviewed Internally By Mike Lattanzio and Antonio Gomes.

* Api/WebPageClient.h:
* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

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

7 years agoLots of "error, test and reference image have different properties" in pixel test...
simon.fraser@apple.com [Tue, 21 Aug 2012 00:16:41 +0000 (00:16 +0000)]
Lots of "error, test and reference image have different properties" in pixel test output
https://bugs.webkit.org/show_bug.cgi?id=92578

Reviewed by Dirk Pranke.

Improve ImageDiff's error reporting when test result image and expected image
differ in their properties.

* DumpRenderTree/cg/ImageDiffCG.cpp:

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

7 years agoYank an unneccessary if added in r125810.
inferno@chromium.org [Tue, 21 Aug 2012 00:09:47 +0000 (00:09 +0000)]
Yank an unneccessary if added in r125810.
https://bugs.webkit.org/show_bug.cgi?id=85804

Reviewed by Levi Weintraub.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):

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

7 years ago[chromium] REGRESSION(126076) Should not touch old GraphicsLayerChromium::m_contentsL...
jamesr@google.com [Tue, 21 Aug 2012 00:06:28 +0000 (00:06 +0000)]
[chromium] REGRESSION(126076) Should not touch old GraphicsLayerChromium::m_contentsLayer when setting up a new contents layer
https://bugs.webkit.org/show_bug.cgi?id=94544

Reviewed by Adrienne Walker.

Source/Platform:

Exposes an id so users of the WebLayer API can make identity checks for layers that they do not have ownership
of.

* chromium/public/WebLayer.h:
(WebLayer):

Source/WebCore:

GraphicsLayerChromium only keeps a weak pointer to its m_contentsLayer. When replacing it with a new contents
layer, it may be unsafe to touch the old value. It's also completely unnecessary.

* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsTo):
(WebCore::GraphicsLayerChromium::setupContentsLayer):
* platform/graphics/chromium/GraphicsLayerChromium.h:

Source/WebKit/chromium:

* src/WebLayerImpl.cpp:
(WebKit::WebLayerImpl::id):
(WebKit):
* src/WebLayerImpl.h:
(WebLayerImpl):

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

7 years ago[V8] Move collectGarbage() from ScriptController to V8GCController
haraken@chromium.org [Tue, 21 Aug 2012 00:02:03 +0000 (00:02 +0000)]
[V8] Move collectGarbage() from ScriptController to V8GCController
https://bugs.webkit.org/show_bug.cgi?id=94455

Reviewed by Adam Barth.

- This patch moves collectGarbage() from ScriptController to V8GCController.
- This patch makes collectGarbage() a static method.
- This patch removes ScriptController::lowMemoryNotification()
since it is not used at all.

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/ScriptController.cpp:
* bindings/v8/ScriptController.h:
* bindings/v8/V8GCController.cpp:
(WebCore::V8GCController::collectGarbage):
(WebCore):
* bindings/v8/V8GCController.h:
(V8GCController):

Source/WebKit/chromium:

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

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

7 years agoREGRESSION (125759) fast/forms/file/selected-files-from-history-state.html fails...
beidson@apple.com [Tue, 21 Aug 2012 00:00:13 +0000 (00:00 +0000)]
REGRESSION (125759) fast/forms/file/selected-files-from-history-state.html fails on Mac
https://bugs.webkit.org/show_bug.cgi?id=94549

Unreviewed (Bot gardening)

* platform/mac-wk2/Skipped:

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

7 years ago[V8] Remove V8Proxy from V8IsolatedContext
haraken@chromium.org [Mon, 20 Aug 2012 23:57:30 +0000 (23:57 +0000)]
[V8] Remove V8Proxy from V8IsolatedContext
https://bugs.webkit.org/show_bug.cgi?id=94450

Reviewed by Adam Barth.

This patch removes dependency on V8Proxy from V8IsolatedContext.

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluateInIsolatedWorld):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
* bindings/v8/V8IsolatedContext.h:
(WebCore):
(V8IsolatedContext):

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

7 years agoWebWidget should be able to paint into a zoomed canvas without aliasing
abarth@webkit.org [Mon, 20 Aug 2012 23:57:24 +0000 (23:57 +0000)]
WebWidget should be able to paint into a zoomed canvas without aliasing
https://bugs.webkit.org/show_bug.cgi?id=92043

Reviewed by James Robinson.

If accelerated compositing is enabled, WebWidget::paint reads back from
the compositor rather than re-painting the widget. That approach works
well if the canvas we're rendering into is at a similar resolution to
the pixels in the compositor, but if the canvas has been scaled (e.g.,
to help the user disambiguate links), then reading back from the
compositor will cause aliasing artifacts.

This patch adds an option to paint to let the embedder request a
software re-rendering of the widget to avoid these aliasing artifacts.

* public/WebWidget.h:
(WebKit::WebWidget::paint):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::paint):
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):
* src/WebPopupMenuImpl.cpp:
(WebKit::WebPopupMenuImpl::paint):
* src/WebPopupMenuImpl.h:
* src/WebViewImpl.cpp:
(WebKit::canvasBackgroundForTransparencey):
(WebKit):
(WebKit::WebViewImpl::paint):
* src/WebViewImpl.h:
(WebViewImpl):

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

7 years agoCanvas drawImage() should draw SVG at the correct scale.
pdr@google.com [Mon, 20 Aug 2012 23:50:23 +0000 (23:50 +0000)]
Canvas drawImage() should draw SVG at the correct scale.
https://bugs.webkit.org/show_bug.cgi?id=94377

Source/WebCore:

Previously, drawing SVG in canvas would render at the incorrect scale
because imageSizeForRenderer did not take into account the page scale.
After this patch, we now incorporate the page scale in
CachedImage::imageSizeForRenderer().

Reviewed by Tim Horton.

Test: svg/as-image/svg-as-image-canvas.html

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

LayoutTests:

Reviewed by Tim Horton.

* svg/as-image/resources/100px-green-rect.svg: Added.
* svg/as-image/svg-as-image-canvas-expected.html: Added.
* svg/as-image/svg-as-image-canvas.html: Added.

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

7 years agoFixed erroneous line number for LLint frame when throwing exceptions.
commit-queue@webkit.org [Mon, 20 Aug 2012 23:48:00 +0000 (23:48 +0000)]
Fixed erroneous line number for LLint frame when throwing exceptions.
https://bugs.webkit.org/show_bug.cgi?id=94051.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-20
Reviewed by Filip Pizlo.

For LLInt frames, before throwing an exception, adjust the PC from the
return PC back to the call PC if we are indeed at a call site.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::adjustPCIfAtCallSite):
(JSC):
(JSC::CodeBlock::bytecodeOffset):
* bytecode/CodeBlock.h:
(CodeBlock):
* llint/LLIntExceptions.cpp:
(JSC::LLInt::fixupPCforExceptionIfNeeded):
(LLInt):
(JSC::LLInt::interpreterThrowInCaller):
(JSC::LLInt::returnToThrow):
(JSC::LLInt::callToThrow):

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

7 years agoUpdate TestExpectations now that stray ASSERT is fixed in AudioParamTimeline
crogers@google.com [Mon, 20 Aug 2012 23:45:57 +0000 (23:45 +0000)]
Update TestExpectations now that stray ASSERT is fixed in AudioParamTimeline
https://bugs.webkit.org/show_bug.cgi?id=94548

Unreviewed.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed. Roll WebKit chromium DEPS forward.
jamesr@google.com [Mon, 20 Aug 2012 23:43:58 +0000 (23:43 +0000)]
Unreviewed. Roll WebKit chromium DEPS forward.

* DEPS:

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

7 years agoAssertion going back to results.html page from an image diff result
simon.fraser@apple.com [Mon, 20 Aug 2012 23:43:14 +0000 (23:43 +0000)]
Assertion going back to results.html page from an image diff result
https://bugs.webkit.org/show_bug.cgi?id=94143

Reviewed by Adam Barth.

Avoid redundantly setting the DOMWindow on a JSDOMWindow shell in
ScriptCachedFrameData::restore(), as we may have already done this
in ScriptController::clearWindowShell(). This avoids an assertion
on some platforms when going Back to the test results page from
a diff image.

* bindings/js/ScriptCachedFrameData.cpp:
(WebCore::ScriptCachedFrameData::restore):

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

7 years agoUnsafe vsprintf usage in TestNetscapePlugin
japhet@chromium.org [Mon, 20 Aug 2012 23:39:39 +0000 (23:39 +0000)]
Unsafe vsprintf usage in TestNetscapePlugin
https://bugs.webkit.org/show_bug.cgi?id=94522

Reviewed by Adam Barth.

* DumpRenderTree/TestNetscapePlugIn/PluginObject.cpp:
(pluginLogWithArguments): Using vsnprintf instead of vsprintf to ensure we don't overflow
    the message buffer.
(testDocumentOpen):
(testWindowOpen):

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

7 years ago[WebGL] OES_vertex_array_object is not correctly un/binding or deleting
dino@apple.com [Mon, 20 Aug 2012 23:33:47 +0000 (23:33 +0000)]
[WebGL] OES_vertex_array_object is not correctly un/binding or deleting
https://bugs.webkit.org/show_bug.cgi?id=94029

Reviewed by Ken Russell.

When the currently bound vertex array is deleted, the specification says that
the default object should be bound in its place. Also, binding a null object
as a vertex array was not actually clearing the bound object at the GL layer.
And lastly, it should not be possible to bind a deleted vertex array.

The test case for this is the public Khronos WebGL conformance suite, in particular:
conformance/extensions/oes-vertex-array-object.html

* html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::deleteVertexArrayOES): Check if the deleted array is
currently bound, and if so, unbind it.
(WebCore::OESVertexArrayObject::bindVertexArrayOES): Make sure never to bind an
array that has been marked as deleted.
* platform/graphics/opengl/Extensions3DOpenGL.cpp:
(WebCore::Extensions3DOpenGL::bindVertexArrayOES): Remove the null check on bind. We
do need to call glBindVertexArrayAPPLE with a null value in order to clear it.

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

7 years ago2d.imageData.object.wrap.html has wrong expectations
commit-queue@webkit.org [Mon, 20 Aug 2012 23:25:29 +0000 (23:25 +0000)]
2d.imageData.object.wrap.html has wrong expectations
https://bugs.webkit.org/show_bug.cgi?id=94089

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Updating and renaming the test to match new version in W3C approved tests.

* canvas/philip/tests/2d.imageData.object.clamp-expected.txt: Renamed from LayoutTests/canvas/philip/tests/2d.imageData.object.wrap-expected.txt.
* canvas/philip/tests/2d.imageData.object.clamp.html: Renamed from LayoutTests/canvas/philip/tests/2d.imageData.object.wrap.html.
* platform/chromium/TestExpectations: Unskipping.
* platform/efl/Skipped: Unskipping.
* platform/gtk/TestExpectations: Unskipping.
* platform/mac/Skipped: Unskipping.
* platform/qt/Skipped: Unskipping.

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

7 years ago[V8] Move clearForClose() and clearForNavigation() from V8Proxy to ScriptController
haraken@chromium.org [Mon, 20 Aug 2012 23:18:17 +0000 (23:18 +0000)]
[V8] Move clearForClose() and clearForNavigation() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94459

Reviewed by Adam Barth.

To kill V8Proxy, we can move clearForClose() and
clearForNavigation() from V8Proxy to ScriptController.

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::resetIsolatedWorlds):
(WebCore):
(WebCore::ScriptController::clearForClose):
(WebCore::ScriptController::clearForNavigation):
(WebCore::ScriptController::clearWindowShell):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::~V8Proxy):
(WebCore::V8Proxy::handleOutOfMemory):
* bindings/v8/V8Proxy.h:
(V8Proxy):

Source/WebKit/chromium:

* src/FrameLoaderClientImpl.cpp:
(WebKit::FrameLoaderClientImpl::detachedFromParent3):

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

7 years agoCSS Masking and CSS Filters applied in wrong order
krit@webkit.org [Mon, 20 Aug 2012 23:07:21 +0000 (23:07 +0000)]
CSS Masking and CSS Filters applied in wrong order
https://bugs.webkit.org/show_bug.cgi?id=94354

Reviewed by Dean Jackson.

Source/WebCore:

According to the Filter Effects spec, the order should be first filters, then masking and clipping.
Changed the order on applying the different effects in RenderLayer.

Test: css3/filters/filter-mask-clip-order.html

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayerContents): First filter, then mask and clip the content.

LayoutTests:

The test checks the correct order on applying CSS Masking, Filter Effects and CSS Clipping.
According to the Filter Effects spec, the order should be first filters, then masking and clipping.

* css3/filters/filter-mask-clip-order-expected.html: Added.
* css3/filters/filter-mask-clip-order.html: Added.
* css3/filters/resources/mask.png: Added.

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

7 years ago[V8] Move mainWorldContext() from V8Proxy to ScriptController
haraken@chromium.org [Mon, 20 Aug 2012 22:42:35 +0000 (22:42 +0000)]
[V8] Move mainWorldContext() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94453

Reviewed by Adam Barth.

This patch moves mainWorldContext() from V8Proxy to ScriptController.
In addition, this patch removes dependency on V8Proxy from WorldContextHandle.

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/DOMTransaction.cpp:
(WebCore::DOMTransaction::callFunction):
* bindings/v8/NPV8Object.cpp:
(WebCore::toV8Context):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::evaluate):
(WebCore::ScriptController::mainWorldContext):
(WebCore):
(WebCore::ScriptController::bindToWindowObject):
(WebCore::createScriptObject):
(WebCore::ScriptController::createScriptObjectForPluginElement):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/ScriptState.cpp:
(WebCore::mainWorldScriptState):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::prepareListenerObject):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::context):
(WebCore::toV8Context):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/WorldContextHandle.cpp:
(WebCore::WorldContextHandle::adjustedContext):
* bindings/v8/WorldContextHandle.h:
(WebCore):
(WorldContextHandle):

Source/WebKit/chromium:

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

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

7 years agofast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven...
fpizlo@apple.com [Mon, 20 Aug 2012 22:41:06 +0000 (22:41 +0000)]
fast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven-final-object.html on 32-bit
https://bugs.webkit.org/show_bug.cgi?id=94538

Reviewed by Mark Hahnenberg.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):

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

7 years agofast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final...
fpizlo@apple.com [Mon, 20 Aug 2012 22:32:18 +0000 (22:32 +0000)]
fast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.html crashes on 32-bit
https://bugs.webkit.org/show_bug.cgi?id=94026

Reviewed by Mark Hahnenberg.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):

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

7 years agoRemove redundant TOUCH_LISTENER event type
adamk@chromium.org [Mon, 20 Aug 2012 22:24:35 +0000 (22:24 +0000)]
Remove redundant TOUCH_LISTENER event type
https://bugs.webkit.org/show_bug.cgi?id=94524

Reviewed by Ryosuke Niwa.

Source/WebCore:

Code that needs to determine whether there are touch listeners
can instead call Document::touchEventHandlerCount(), added in r107832.
TOUCH_LISTENER didn't fit very well into the hasListenerType() model
anyway, as there's not a 1:1 correspondance between the enum value and
an event.

* dom/Document.cpp:
(WebCore::Document::addListenerTypeIfNeeded): Remove two bits of code:
the bookkeeping for TOUCH_LISTENER, and the notification into
ChromeClient (which is handled by calls to didAddTouchEventHandler in
all the places that call addListenerTypeIfNeeded).
(WebCore::Document::didRemoveTouchEventHandler): Remove bookkeeping for TOUCH_LISTENER.
* dom/Document.h:
* history/CachedFrame.cpp:
(WebCore::CachedFrameBase::restore): Call touchEventHandlerCount instead of hasListenerType.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::updateType): ditto
* page/EventHandler.cpp:
(WebCore::EventHandler::handleTouchEvent): ditto
* page/Frame.cpp:
(WebCore::Frame::setDocument): ditto
* testing/Internals.cpp: Remove hasTouchEventListener method since its
data source no longer exists.
* testing/Internals.h: ditto
(Internals):
* testing/Internals.idl: ditto

Source/WebKit/chromium:

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setIsAcceptingTouchEvents): Remove
bookkeeping for TOUCH_LISTENER.

LayoutTests:

Removed tests for hasTouchEventListener as they're redundant
with tests for touchEventHandlerCount.

* fast/events/touch/touch-handler-count-expected.txt:
* fast/events/touch/touch-handler-count.html:

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

7 years ago[BlackBerry] Enable XHR Response BLOB
staikos@webkit.org [Mon, 20 Aug 2012 22:23:54 +0000 (22:23 +0000)]
[BlackBerry] Enable XHR Response BLOB
https://bugs.webkit.org/show_bug.cgi?id=94525

Reviewed by Rob Buis.

.:

Add the XHR response blob enable feature to the cmake build system and
enable it for BlackBerry.

* Source/cmake/OptionsBlackBerry.cmake: Add the feature and enable
* Source/cmakeconfig.h.cmake: Add the feature

Tools:

Turn on the XHR response blob feature for the BlackBerry port.

* Scripts/webkitperl/FeatureList.pm: Add the feature and enable it.

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

7 years agoReftest fast/text-autosizing/nested-em-line-height.html needs updating after r126058
kbr@google.com [Mon, 20 Aug 2012 22:22:55 +0000 (22:22 +0000)]
Reftest fast/text-autosizing/nested-em-line-height.html needs updating after r126058
https://bugs.webkit.org/show_bug.cgi?id=94528

Unreviewed Chromium gardening. Narrow test expectation.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed Chromium gardening. Adding suppressions for failing tests.
kbr@google.com [Mon, 20 Aug 2012 22:08:43 +0000 (22:08 +0000)]
Unreviewed Chromium gardening. Adding suppressions for failing tests.

https://bugs.webkit.org/show_bug.cgi?id=94521
https://bugs.webkit.org/show_bug.cgi?id=94528
https://bugs.webkit.org/show_bug.cgi?id=94532

* platform/chromium/TestExpectations:

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

7 years ago[chromium] Change WebLayer from a concrete type to a pure virtual interface
jamesr@google.com [Mon, 20 Aug 2012 21:57:44 +0000 (21:57 +0000)]
[chromium] Change WebLayer from a concrete type to a pure virtual interface
https://bugs.webkit.org/show_bug.cgi?id=94174

Reviewed by Adrienne Walker.

Source/Platform:

This changes WebLayer from a value type to a pure virtual interface and changes Web*Layers from subtypes to
standalone types that have a WebLayer. This better isolates the implementation from the interface and, since
it's not possible to re-wrap an existing layer, makes cleanup explicit instead of requiring the caller to invoke
special cleanup methods before shutdown.

* chromium/public/WebContentLayer.h:
(WebContentLayer):
* chromium/public/WebExternalTextureLayer.h:
(WebExternalTextureLayer):
* chromium/public/WebIOSurfaceLayer.h:
(WebIOSurfaceLayer):
* chromium/public/WebImageLayer.h:
(WebImageLayer):
* chromium/public/WebLayer.h:
(WebKit):
(WebLayer):
(WebKit::WebLayer::~WebLayer):
* chromium/public/WebScrollableLayer.h:
(WebScrollableLayer):
* chromium/public/WebScrollbarLayer.h:
(WebScrollbarLayer):
* chromium/public/WebSolidColorLayer.h:
(WebKit):
(WebSolidColorLayer):
(WebKit::WebSolidColorLayer::~WebSolidColorLayer):
* chromium/public/WebVideoLayer.h:
(WebVideoLayer):

Source/WebCore:

This updates WebCore code for the WebLayer interface changes. Classes that have ownership of specific layer
types (such as DrawingBufferChromium, Canvas2DLayerBridge and ScrollingCoordinatorChromium) hold ownership
of a specific type and a pointer to the WebLayer to GraphicsLayerChromium to be included in the final layer
tree. GraphicsLayerChromium holds a WebContentLayer and (optionally) a WebImageLayer and WebLayer (for
m_transformLayer) and assembles the final layer tree.

* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
(ScrollingCoordinatorPrivate):
(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::setHorizontalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::setVerticalScrollbarLayer):
(WebCore::ScrollingCoordinatorPrivate::scrollLayer):
(WebCore::scrollableLayerForGraphicsLayer):
(WebCore):
(WebCore::createScrollbarLayer):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinator::setLayerIsContainerForFixedPositionLayers):
(WebCore::ScrollingCoordinator::setLayerIsFixedToContainerLayer):
* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::clearLayer):
(AcceleratedDeviceContext):
(WebCore::AcceleratedDeviceContext::prepareForDraw):
(WebCore::Canvas2DLayerBridge::Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::skCanvas):
(WebCore::Canvas2DLayerBridge::layer):
(WebCore::Canvas2DLayerBridge::contextAcquired):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(WebCore):
(Canvas2DLayerBridge):
* platform/graphics/chromium/DrawingBufferChromium.cpp:
(WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
(WebCore::DrawingBufferPrivate::layer):
(DrawingBufferPrivate):
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::removeFromParent):
(WebCore::GraphicsLayerChromium::setSize):
(WebCore::GraphicsLayerChromium::clearBackgroundColor):
(WebCore::GraphicsLayerChromium::setContentsOpaque):
(WebCore::GraphicsLayerChromium::setFilters):
(WebCore::GraphicsLayerChromium::setBackgroundFilters):
(WebCore::GraphicsLayerChromium::setMaskLayer):
(WebCore::GraphicsLayerChromium::setBackfaceVisibility):
(WebCore::GraphicsLayerChromium::setOpacity):
(WebCore::GraphicsLayerChromium::setReplicatedByLayer):
(WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
(WebCore::GraphicsLayerChromium::setContentsToImage):
(WebCore::GraphicsLayerChromium::setContentsToCanvas):
(WebCore):
(WebCore::GraphicsLayerChromium::setContentsToMedia):
(WebCore::GraphicsLayerChromium::setContentsTo):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::pauseAnimation):
(WebCore::GraphicsLayerChromium::removeAnimation):
(WebCore::GraphicsLayerChromium::suspendAnimations):
(WebCore::GraphicsLayerChromium::resumeAnimations):
(WebCore::GraphicsLayerChromium::addLinkHighlight):
(WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
(WebCore::GraphicsLayerChromium::platformLayer):
(WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
(WebCore::GraphicsLayerChromium::setDebugBorder):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::updateLayerPosition):
(WebCore::GraphicsLayerChromium::updateLayerSize):
(WebCore::GraphicsLayerChromium::updateAnchorPoint):
(WebCore::GraphicsLayerChromium::updateTransform):
(WebCore::GraphicsLayerChromium::updateChildrenTransform):
(WebCore::GraphicsLayerChromium::updateMasksToBounds):
(WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
(WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
(WebCore::GraphicsLayerChromium::updateContentsRect):
(WebCore::GraphicsLayerChromium::updateContentsScale):
(WebCore::GraphicsLayerChromium::setupContentsLayer):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore::GraphicsLayerChromium::hasContentsLayer):
(WebCore::GraphicsLayerChromium::contentLayer):
(GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::contentsLayer):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::rootLayer):
* platform/graphics/chromium/LayerChromium.h:

Source/WebKit/chromium:

This updates the implementation of the Web*Layer family to the new design and updates callers in WebViewImpl /
NonCompositedContentHost.

* WebKit.gyp:
* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::NonCompositedContentHost):
(WebKit::NonCompositedContentHost::setScrollLayer):
(WebKit::NonCompositedContentHost::setViewport):
(WebKit::NonCompositedContentHost::scrollLayer):
* src/NonCompositedContentHost.h:
* src/WebContentLayerImpl.cpp:
(WebKit::WebContentLayer::create):
(WebKit::WebContentLayerImpl::WebContentLayerImpl):
(WebKit::WebContentLayerImpl::~WebContentLayerImpl):
(WebKit::WebContentLayerImpl::layer):
(WebKit):
(WebKit::WebContentLayerImpl::clearClient):
(WebKit::WebContentLayerImpl::setDoubleSided):
(WebKit::WebContentLayerImpl::setContentsScale):
(WebKit::WebContentLayerImpl::setUseLCDText):
(WebKit::WebContentLayerImpl::setDrawCheckerboardForMissingTiles):
(WebKit::WebContentLayerImpl::paintContents):
* src/WebContentLayerImpl.h:
(WebContentLayerImpl):
* src/WebExternalTextureLayer.cpp: Removed.
* src/WebExternalTextureLayerImpl.cpp: Added.
(WebKit):
(WebKit::WebExternalTextureLayer::create):
(WebKit::WebExternalTextureLayerImpl::WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::~WebExternalTextureLayerImpl):
(WebKit::WebExternalTextureLayerImpl::layer):
(WebKit::WebExternalTextureLayerImpl::clearClient):
(WebKit::WebExternalTextureLayerImpl::setTextureId):
(WebKit::WebExternalTextureLayerImpl::setFlipped):
(WebKit::WebExternalTextureLayerImpl::setUVRect):
(WebKit::WebExternalTextureLayerImpl::setOpaque):
(WebKit::WebExternalTextureLayerImpl::setPremultipliedAlpha):
(WebKit::WebExternalTextureLayerImpl::willModifyTexture):
(WebKit::WebExternalTextureLayerImpl::setRateLimitContext):
(WebTextureUpdaterImpl):
(WebKit::WebTextureUpdaterImpl::WebTextureUpdaterImpl):
(WebKit::WebExternalTextureLayerImpl::prepareTexture):
(WebKit::WebExternalTextureLayerImpl::context):
* src/WebExternalTextureLayerImpl.h: Renamed from Source/WebKit/chromium/src/WebContentLayer.cpp.
(WebKit):
(WebExternalTextureLayerImpl):
* src/WebIOSurfaceLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebIOSurfaceLayer.cpp.
(WebKit):
(WebKit::WebIOSurfaceLayer::create):
(WebKit::WebIOSurfaceLayerImpl::WebIOSurfaceLayerImpl):
(WebKit::WebIOSurfaceLayerImpl::~WebIOSurfaceLayerImpl):
(WebKit::WebIOSurfaceLayerImpl::setIOSurfaceProperties):
(WebKit::WebIOSurfaceLayerImpl::layer):
* src/WebIOSurfaceLayerImpl.h: Copied from Source/Platform/chromium/public/WebImageLayer.h.
(WebCore):
(WebKit):
(WebIOSurfaceLayerImpl):
* src/WebImageLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebSolidColorLayer.cpp.
(WebKit):
(WebKit::WebImageLayer::create):
(WebKit::WebImageLayerImpl::WebImageLayerImpl):
(WebKit::WebImageLayerImpl::~WebImageLayerImpl):
(WebKit::WebImageLayerImpl::layer):
(WebKit::WebImageLayerImpl::setBitmap):
* src/WebImageLayerImpl.h: Renamed from Source/WebKit/chromium/src/WebImageLayer.cpp.
(WebCore):
(WebKit):
(WebImageLayerImpl):
* src/WebLayer.cpp: Removed.
* src/WebLayerImpl.cpp:
(WebKit::WebLayer::create):
(WebKit::WebLayerImpl::WebLayerImpl):
(WebKit::WebLayerImpl::~WebLayerImpl):
(WebKit):
(WebKit::WebLayerImpl::invalidateRect):
(WebKit::WebLayerImpl::invalidate):
(WebKit::WebLayerImpl::addChild):
(WebKit::WebLayerImpl::insertChild):
(WebKit::WebLayerImpl::replaceChild):
(WebKit::WebLayerImpl::setChildren):
(WebKit::WebLayerImpl::removeFromParent):
(WebKit::WebLayerImpl::removeAllChildren):
(WebKit::WebLayerImpl::setAnchorPoint):
(WebKit::WebLayerImpl::anchorPoint):
(WebKit::WebLayerImpl::setAnchorPointZ):
(WebKit::WebLayerImpl::anchorPointZ):
(WebKit::WebLayerImpl::setBounds):
(WebKit::WebLayerImpl::bounds):
(WebKit::WebLayerImpl::setMasksToBounds):
(WebKit::WebLayerImpl::masksToBounds):
(WebKit::WebLayerImpl::setMaskLayer):
(WebKit::WebLayerImpl::setReplicaLayer):
(WebKit::WebLayerImpl::setOpacity):
(WebKit::WebLayerImpl::opacity):
(WebKit::WebLayerImpl::setOpaque):
(WebKit::WebLayerImpl::opaque):
(WebKit::WebLayerImpl::setPosition):
(WebKit::WebLayerImpl::position):
(WebKit::WebLayerImpl::setSublayerTransform):
(WebKit::WebLayerImpl::sublayerTransform):
(WebKit::WebLayerImpl::setTransform):
(WebKit::WebLayerImpl::transform):
(WebKit::WebLayerImpl::setDrawsContent):
(WebKit::WebLayerImpl::drawsContent):
(WebKit::WebLayerImpl::setPreserves3D):
(WebKit::WebLayerImpl::setUseParentBackfaceVisibility):
(WebKit::WebLayerImpl::setBackgroundColor):
(WebKit::WebLayerImpl::setFilters):
(WebKit::WebLayerImpl::setBackgroundFilters):
(WebKit::WebLayerImpl::setDebugBorderColor):
(WebKit::WebLayerImpl::setDebugBorderWidth):
(WebKit::WebLayerImpl::setDebugName):
(WebKit::WebLayerImpl::setAnimationDelegate):
(WebKit::WebLayerImpl::addAnimation):
(WebKit::WebLayerImpl::removeAnimation):
(WebKit::WebLayerImpl::pauseAnimation):
(WebKit::WebLayerImpl::suspendAnimations):
(WebKit::WebLayerImpl::resumeAnimations):
(WebKit::WebLayerImpl::hasActiveAnimation):
(WebKit::WebLayerImpl::transferAnimationsTo):
(WebKit::WebLayerImpl::setForceRenderSurface):
(WebKit::WebLayerImpl::clearRenderSurface):
(WebKit::WebLayerImpl::setScrollPosition):
(WebKit::WebLayerImpl::setScrollable):
(WebKit::WebLayerImpl::setHaveWheelEventHandlers):
(WebKit::WebLayerImpl::setShouldScrollOnMainThread):
(WebKit::WebLayerImpl::setNonFastScrollableRegion):
(WebKit::WebLayerImpl::setIsContainerForFixedPositionLayers):
(WebKit::WebLayerImpl::setFixedToContainerLayer):
(WebKit::WebLayerImpl::layer):
* src/WebLayerImpl.h:
(WebCore):
(WebLayerImpl):
* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::setRootLayer):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::create):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::readyStateChanged):
(WebKit::WebMediaPlayerClientImpl::repaint):
(WebKit::WebMediaPlayerClientImpl::setOpaque):
(WebKit::WebMediaPlayerClientImpl::platformLayer):
(WebKit::WebMediaPlayerClientImpl::acceleratedRenderingInUse):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setBackingTextureId):
(WebKit::WebPluginContainerImpl::setBackingIOSurfaceId):
(WebKit::WebPluginContainerImpl::commitBackingTexture):
(WebKit::WebPluginContainerImpl::setOpaque):
(WebKit::WebPluginContainerImpl::platformLayer):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):
* src/WebScrollableLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebScrollableLayer.cpp.
(WebKit):
(WebKit::WebScrollableLayer::setScrollPosition):
(WebKit::WebScrollableLayer::setScrollable):
(WebKit::WebScrollableLayer::setHaveWheelEventHandlers):
(WebKit::WebScrollableLayer::setShouldScrollOnMainThread):
(WebKit::WebScrollableLayer::setNonFastScrollableRegion):
(WebKit::WebScrollableLayer::setIsContainerForFixedPositionLayers):
(WebKit::WebScrollableLayer::setFixedToContainerLayer):
* src/WebScrollbarLayerImpl.cpp: Renamed from Source/WebKit/chromium/src/WebScrollbarLayer.cpp.
(WebKit):
(WebKit::WebScrollbarLayer::create):
(WebKit::WebScrollbarLayerImpl::WebScrollbarLayerImpl):
(WebKit::WebScrollbarLayerImpl::~WebScrollbarLayerImpl):
(WebKit::WebScrollbarLayerImpl::layer):
(WebKit::WebScrollbarLayerImpl::setScrollLayer):
* src/WebScrollbarLayerImpl.h: Copied from Source/WebKit/chromium/src/WebSolidColorLayerImpl.h.
(WebCore):
(WebKit):
(WebScrollbarLayerImpl):
* src/WebSolidColorLayerImpl.cpp:
(WebKit::WebSolidColorLayer::create):
(WebKit::WebSolidColorLayerImpl::WebSolidColorLayerImpl):
(WebKit::WebSolidColorLayerImpl::layer):
(WebKit):
(WebKit::WebSolidColorLayerImpl::setBackgroundColor):
* src/WebSolidColorLayerImpl.h:
(WebCore):
(WebKit):
(WebSolidColorLayerImpl):
* src/WebVideoLayerImpl.cpp: Copied from Source/WebKit/chromium/src/WebVideoLayer.cpp.
(WebKit):
(WebKit::WebVideoLayer::create):
(WebKit::WebVideoLayerImpl::WebVideoLayerImpl):
(WebKit::WebVideoLayerImpl::~WebVideoLayerImpl):
(WebKit::WebVideoLayerImpl::layer):
(WebKit::WebVideoLayerImpl::active):
* src/WebVideoLayerImpl.h: Renamed from Source/WebKit/chromium/src/WebVideoLayer.cpp.
(WebCore):
(WebKit):
(WebVideoLayerImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
(WebKit::WebViewImpl::setRootGraphicsLayer):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
(WebKit):
* src/WebViewImpl.h:
* tests/ImageLayerChromiumTest.cpp:
(WebCore::TEST):
* tests/WebLayerTest.cpp:
* tests/WebLayerTreeViewTest.cpp:

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

7 years ago[chromium] CCMathUtilTest.smallestAngleBetweenVectors unit test failing
shawnsingh@chromium.org [Mon, 20 Aug 2012 21:50:21 +0000 (21:50 +0000)]
[chromium] CCMathUtilTest.smallestAngleBetweenVectors unit test failing
https://bugs.webkit.org/show_bug.cgi?id=94502

Reviewed by Kenneth Russell.

The test needed to use EXPECT_FLOAT_EQ instead of EXPECT_EQ. In
this patch, the test is also re-enabled.

* tests/CCMathUtilTest.cpp:

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

7 years agoMove transformFriendlyBoundingBox out of Range
rniwa@webkit.org [Mon, 20 Aug 2012 21:41:02 +0000 (21:41 +0000)]
Move transformFriendlyBoundingBox out of Range
https://bugs.webkit.org/show_bug.cgi?id=94366

Source/WebCore:

Patch by Leandro Gracia Gil <leandrogracia@chromium.org> on 2012-08-20
Reviewed by Simon Fraser and Ryosuke Niwa.

Bug 93111 introduced a new method in Range called transformFriendlyBoundingBox.
However, this method should not have been added there in order to reduce the
dependencies between Range and the rendering code. This patch moves it to a
static method in RenderObject.

Tests: existing tests, no new feature added by this patch.

* dom/Range.cpp:
* dom/Range.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::absoluteBoundingBoxRectForRange):
(WebCore):
* rendering/RenderObject.h:
(RenderObject):

Source/WebKit/chromium:

Patch by Leandro Gracia Gil <leandrogracia@chromium.org> on 2012-08-20
Reviewed by Ryosuke Niwa.

Update the WebKit code that makes use of transformFriendlyBoundingBox.

* src/FindInPageCoordinates.cpp:
(WebKit::findInPageRectFromRange):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::find):
(WebKit::WebFrameImpl::selectFindMatch):

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

7 years agoFix change for timeout detection to not crash if we have no output :)
dpranke@chromium.org [Mon, 20 Aug 2012 21:38:42 +0000 (21:38 +0000)]
Fix change for timeout detection to not crash if we have no output :)
https://bugs.webkit.org/show_bug.cgi?id=94505

Unreviewed, build fix.

* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):

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

7 years agoReplace isolate || bidi-override by isolate-override
rniwa@webkit.org [Mon, 20 Aug 2012 21:34:11 +0000 (21:34 +0000)]
Replace isolate || bidi-override by isolate-override
https://bugs.webkit.org/show_bug.cgi?id=89746

Reviewed by Levi Weintraub.

Source/WebCore:

The combination of bidi-isolate and isolate was replaced by a single isolate-override in
http://lists.w3.org/Archives/Public/www-style/2012May/0541.html. The spec. has been updated accordingly:
http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi

To follow the specification change, added -webkit-isolate-override and removed the support for
isolate || bidi-override, simplifying the CSS parser and serializer.

Test: fast/text/bidi-override-isolate.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed. We can just new a CSSPrimitiveValue
constructor now.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added now that unicode-bidi always creates a signle
primitive value instead of a primitive value of css value list.
(WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
* css/CSSValueKeywords.in: Added -webkit-isolate-override
* css/StyleBuilder.cpp:
(WebCore): Removed ApplyPropertyUnicodeBidi since we can use ApplyPropertyDefault now.
(WebCore::StyleBuilder::StyleBuilder): Use ApplyPropertyDefault.
* platform/text/UnicodeBidi.h: Renamed OverrideIsolate to IsolateOverride to match the spec.
(WebCore::isIsolated):
(WebCore::isOverride):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::constructBidiRuns):

LayoutTests:

Rebaseline test expectations. These tests test the new behavior and new property value -webkit-isolate-override.

* fast/css/unicode-bidi-computed-value-expected.txt:
* fast/css/unicode-bidi-computed-value.html:
* fast/text/bidi-override-isolate.html:

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

7 years agoRenderGrid children should always be RenderBoxes
tony@chromium.org [Mon, 20 Aug 2012 21:32:03 +0000 (21:32 +0000)]
RenderGrid children should always be RenderBoxes
https://bugs.webkit.org/show_bug.cgi?id=94305

Reviewed by Abhishek Arya.

Source/WebCore:

During RenderGrid::layout, we assume all the children are RenderBoxes.
When removing children, if the last child is an anonymous block, we don't
want to remove the anonymous block for grids. Ensure this doesn't happen
by adding canCollapseAnonymousBlockChild to RenderBlock (flexboxen and
grid can override this method).

Test: fast/css-grid-layout/should-not-collapse-anonymous-blocks.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild): Check canCollapseAnonymousBlockChild().
* rendering/RenderBlock.h:
(WebCore::RenderBlock::canCollapseAnonymousBlockChild):
(RenderBlock):
* rendering/RenderDeprecatedFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
* rendering/RenderFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
* rendering/RenderGrid.h: canCollapseAnonymousBlockChild returns false.

LayoutTests:

Add test case from fuzzer.

* fast/css-grid-layout/should-not-collapse-anonymous-blocks-expected.txt: Added.
* fast/css-grid-layout/should-not-collapse-anonymous-blocks.html: Added.

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

7 years agotemporarily disable ImageDiff on WK2 ports for ref tests
dpranke@chromium.org [Mon, 20 Aug 2012 21:30:38 +0000 (21:30 +0000)]
temporarily disable ImageDiff on WK2 ports for ref tests
https://bugs.webkit.org/show_bug.cgi?id=94517

Reviewed by Brady Eidson.

ImageDiff appears to be unable to handle the pngs returned from
WebKitTestRunner, so we disable checking images by default
for ref tests on wk2 ports (unless pixel tests is explicitly enabled).

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_output_with_reference):

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

7 years agoUnreviewed, rolling out r126026.
kbr@google.com [Mon, 20 Aug 2012 21:16:51 +0000 (21:16 +0000)]
Unreviewed, rolling out r126026.
http://trac.webkit.org/changeset/126026
https://bugs.webkit.org/show_bug.cgi?id=94449

Caused assertion failure in layout test touchadjustment/context-menu.html

Source/WebCore:

* page/TouchAdjustment.cpp:
(TouchAdjustment):
(WebCore::TouchAdjustment::providesContextMenuItems):
(WebCore::TouchAdjustment::appendSubtargetsForNodeToList):
(WebCore::TouchAdjustment::compileSubtargetList):
(WebCore::findBestClickableCandidate):
(WebCore::findBestContextMenuCandidate):

LayoutTests:

* touchadjustment/context-menu-select-text.html:
* touchadjustment/context-menu-text-subtargets-expected.txt: Removed.
* touchadjustment/context-menu-text-subtargets.html: Removed.
* touchadjustment/resources/touchadjustment.js:

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

7 years ago[BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
commit-queue@webkit.org [Mon, 20 Aug 2012 21:15:36 +0000 (21:15 +0000)]
[BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
https://bugs.webkit.org/show_bug.cgi?id=94514

Patch by Andrew Lo <anlo@rim.com> on 2012-08-20
Reviewed by Rob Buis.

Add wtf::CString definition to fix build break when enabling DEBUG_LAYER_ANIMATION
debug prints. Fix build warnings from prints.

No new tests, non-functional change.

* platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
(WebCore::GraphicsLayerBlackBerry::addAnimation):
(WebCore::GraphicsLayerBlackBerry::pauseAnimation):

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

7 years ago[JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an...
commit-queue@webkit.org [Mon, 20 Aug 2012 21:12:55 +0000 (21:12 +0000)]
[JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an unsupported object
https://bugs.webkit.org/show_bug.cgi?id=94493

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-20
Reviewed by Oliver Hunt.

Source/WebCore:

Update JSC implementation for SerializedScriptValue::create() so that
a DataCloneError is thrown when the input value is an unsupported
object. The previous implementation was not throwing any error.

This change is according to the structured clone specification at:
http://www.w3.org/TR/html5/common-dom-interfaces.html#structured-clone

This also matches the corresponding V8 implementation.

Test: fast/events/message-port-multi.html.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::serialize):
(WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
* bindings/js/SerializedScriptValue.h:

LayoutTests:

Add checks for Function, Error and host objects arguments to
MessagePort.postMessage() in fast/events/message-port-multi.html.

According to the structured clone specification, we should throw
a DataCloneError for such input types.

* fast/dom/Window/anonymous-slot-with-changes-expected.txt:
* fast/dom/Window/anonymous-slot-with-changes.html: Update test to expect
an exception when passing a function to postMessage().
* fast/events/message-port-multi-expected.txt: Update expected result
accordingly.
* fast/events/resources/message-port-multi.js:
(testTransfers.try.f1):
* platform/chromium/fast/events/message-port-multi-expected.txt: Removed.
Now identical to global expectation.

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

7 years agoUnreviewed, rolling out r125884.
commit-queue@webkit.org [Mon, 20 Aug 2012 21:11:07 +0000 (21:11 +0000)]
Unreviewed, rolling out r125884.
http://trac.webkit.org/changeset/125884
https://bugs.webkit.org/show_bug.cgi?id=94523

Appears to be causing a top crash in the Canary channel
(Requested by abarth on #webkit).

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

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
(WebCore::mainThreadNormalWorld):
* bindings/v8/DOMWrapperWorld.h:
(WebCore):
(WebCore::DOMWrapperWorld::create):
(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
(DOMWrapperWorld):
* bindings/v8/IsolatedWorld.cpp: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.cpp.
(WebCore):
(WebCore::IsolatedWorld::IsolatedWorld):
(WebCore::IsolatedWorld::~IsolatedWorld):
* bindings/v8/IsolatedWorld.h: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.h.
(WebCore):
(IsolatedWorld):
(WebCore::IsolatedWorld::create):
(WebCore::IsolatedWorld::count):
(WebCore::IsolatedWorld::id):
(WebCore::IsolatedWorld::domDataStore):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
(WebCore::V8IsolatedContext::destroy):
* bindings/v8/V8IsolatedContext.h:
(WebCore::V8IsolatedContext::getEntered):
(WebCore::V8IsolatedContext::world):
(V8IsolatedContext):
* bindings/v8/V8PerIsolateData.h:
(WebCore::V8PerIsolateData::registerDOMDataStore):
(WebCore::V8PerIsolateData::unregisterDOMDataStore):

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

7 years agoRemove improper ASSERT in AudioParamTimeline::valuesForTimeRangeImpl()
crogers@google.com [Mon, 20 Aug 2012 21:09:18 +0000 (21:09 +0000)]
Remove improper ASSERT in AudioParamTimeline::valuesForTimeRangeImpl()
https://bugs.webkit.org/show_bug.cgi?id=94504

Reviewed by Kenneth Russell.

AudioParamTimeline::valuesForTimeRangeImpl() is able to handle the case where there are no timeline events.
So don't ASSERT for that case.

* Modules/webaudio/AudioParamTimeline.cpp:
(WebCore::AudioParamTimeline::valuesForTimeRangeImpl):

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

7 years agoAdd missing FIXME: to previous change.
dpranke@chromium.org [Mon, 20 Aug 2012 21:03:07 +0000 (21:03 +0000)]
Add missing FIXME: to previous change.
https://bugs.webkit.org/show_bug.cgi?id=94505

Reviewed by Ojan Vafai.

* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):

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

7 years agoLine boxes not being dirtied correctly during inline removal
kenrb@chromium.org [Mon, 20 Aug 2012 21:02:32 +0000 (21:02 +0000)]
Line boxes not being dirtied correctly during inline removal
https://bugs.webkit.org/show_bug.cgi?id=93156

Reviewed by David Hyatt.

Source/WebCore:

When two inline objects were being removed from different lineboxes
in an ancestral RenderBlock, the way the RenderBlock was being marked
prevented the second linebox from being marked dirty. This causes
it to not get layout in the subsequent layout pass.

This patch causes only the descendants corresponding to actual changed
lineboxes to have their ancestorLineBoxDirty bit set, rather than
the RenderBlock that contains the lineboxes themselves.

* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

LayoutTests:

Test exercising crashing condition for bug 93156.

* fast/block/line-layout/double-line-break-obj-removal-crash.html: Added
* fast/block/line-layout/double-line-break-obj-removal-crash-expected.txt: Added

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

7 years agoIntermittenly, many WebKit2 tests have results from the wrong test compared to the...
dpranke@chromium.org [Mon, 20 Aug 2012 20:59:47 +0000 (20:59 +0000)]
Intermittenly, many WebKit2 tests have results from the wrong test compared to the test just run, giving false failures.
https://bugs.webkit.org/show_bug.cgi?id=94505

Reviewed by Ojan Vafai.

It looks like if the webprocess times out, WTR may tell NRWT
that the test completed, but not properly reset its internal
state, and then return stale output for subsequent tests.

This patch modifies NRWT temporarily to check for
"Timed out waiting for final message from web process" in stdout
and treat that as a timeout (and thus kill WTR); this seems
to solve the cascade of failures, but of course there's probably
still a bug in WTR that needs to be fixed.

* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):

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

7 years ago[Chromium] detectContentIntentAround has a misleading name
leandrogracia@chromium.org [Mon, 20 Aug 2012 20:48:52 +0000 (20:48 +0000)]
[Chromium] detectContentIntentAround has a misleading name
https://bugs.webkit.org/show_bug.cgi?id=94349

Reviewed by Adam Barth.

The current WebViewClient API exposes a method named detectContentIntentAround.
However, this is not designed to detect any "content intent", but to allow the embedder
to detect content around a position and fire Android intents if appropriate.

This patch also disables content detection if the touched node listens to events
that consume the tap action like clicks, touch events or mouse events.

* public/WebViewClient.h:
(WebViewClient):
(WebKit::WebViewClient::detectContentAround):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::detectContentOnTouch):
* src/WebViewImpl.h:
(WebViewImpl):

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

7 years ago[css3-text] Add getComputedStyle tests for -webkit-text-decoration-line
commit-queue@webkit.org [Mon, 20 Aug 2012 20:44:36 +0000 (20:44 +0000)]
[css3-text] Add getComputedStyle tests for -webkit-text-decoration-line
https://bugs.webkit.org/show_bug.cgi?id=94108

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Changeset r125205 introduced new CSS3 property "-webkit-text-decoration-line",
with included basic getComputedStyle* layout tests for parsing check. This
patch adds a new, more robust getComputedStyle-based layout test for this
property.

* fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line-expected.txt: Added.
* fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line.html: Added.
* fast/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-line.js: Added.

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

7 years agoNRWT reports unexpected EOF
dpranke@chromium.org [Mon, 20 Aug 2012 20:25:03 +0000 (20:25 +0000)]
NRWT reports unexpected EOF
https://bugs.webkit.org/show_bug.cgi?id=94387

Reviewed by Adam Barth.

Stop logging "Unexpected EOF" when we are reading the last few
bytes from stdout/stderr after stopping the subprocess.

* Scripts/webkitpy/layout_tests/port/server_process.py:
(ServerProcess._wait_for_data_and_update_buffers_using_select):
(ServerProcess.stop):

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

7 years agoText Autosizing: Only take into account block width <= document layout width.
commit-queue@webkit.org [Mon, 20 Aug 2012 20:23:31 +0000 (20:23 +0000)]
Text Autosizing: Only take into account block width <= document layout width.
https://bugs.webkit.org/show_bug.cgi?id=93862

Patch by John Mellor <johnme@chromium.org> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Instead of calculating the textAutosizingMultiplier purely based on the
width of each block, we now work out the maximum width of the block
that could be displayed onscreen at any one time, and use that value.
This avoids excessive text size multiplication (there's no point making
text bigger than this, since you wouldn't be able to zoom out far
enough to read it!).

To determine the maximum onscreen block width, we take the minimum of
the block width and the layoutWidth of the narrowest non-flattened
ancestor frame. Flattened frames are ignored since they don't impose a
hard limit on the maximum width that can be displayed, instead they can
stretch to fit their contents. Note that on mobile the layoutWidth of
the main frame is the fixed layout width aka viewport width.

In practice this caps the maximum multiplier to a value that depends
on the metrics of the device. For example on a Nexus S (480 x 800px
and 1.5x devicePixelRatio) with a 980px default fixed layout width,
this limits the multiplier to: 980 / (480/1.5) = 3.0625

Most pages won't have blocks that actually hit this cap, or they will
only slightly exceed it (so their multiplier will only be slightly
reduced). For example it's not uncommon for desktop pages to be
slightly wider than 980px, but they would have to additionally have
text that spans the full width of the page for this to affect them, and
even then it would merely slightly decrease their multiplier).

This will have more dramatic effects on the rare desktop pages which
give a width=device-width (or similar) mobile viewport tag (on ports
which support viewports). A follow-up patch will hopefully address this
by wrapping the text in such excessively wide blocks to the layoutWidth.

Tests: fast/text-autosizing/narrow-iframe-flattened.html
       fast/text-autosizing/narrow-iframe.html
       fast/text-autosizing/wide-block.html
       fast/text-autosizing/wide-iframe.html

* page/FrameView.cpp:
(WebCore::FrameView::isInChildFrameWithFrameFlattening):

    Made public and const, so can be used from TextAutosizer.

* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::processSubtree):

    Computes the minimum layout width of the parent frames, as described
    above.

(WebCore::TextAutosizer::processBlock):

    Limits used block width to this min layout width.

LayoutTests:

Added 4 tests: a block wider than the main frame, iframes both narrower
than and wider than the main frame, both also containing wide blocks,
and a narrow iframe expanded by frame flattening.

I verified experimentally that narrow-iframe-flattened.html passes, by
enabling frame flattening in Settings.cpp, but unfortunately it won't
get run by any bots since the only platform which currently enables
Text Autosizing (Chromium), doesn't enable frame flattening (or have
the DRT methods required to test it).

* fast/text-autosizing/font-scale-factor-expected.html:
* fast/text-autosizing/font-scale-factor.html:
* fast/text-autosizing/narrow-iframe-expected.html: Added.
* fast/text-autosizing/narrow-iframe-flattened-expected.html: Added.
* fast/text-autosizing/narrow-iframe-flattened.html: Added.
* fast/text-autosizing/narrow-iframe.html: Added.
* fast/text-autosizing/wide-block-expected.html: Added.
* fast/text-autosizing/wide-block.html: Added.
* fast/text-autosizing/wide-iframe-expected.html: Added.
* fast/text-autosizing/wide-iframe.html: Added.
* platform/chromium/TestExpectations:
* platform/win/Skipped:
* platform/wincairo/Skipped:

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

7 years agoRespect runtime flags for Device Orientation and Device Motion
hans@chromium.org [Mon, 20 Aug 2012 19:53:44 +0000 (19:53 +0000)]
Respect runtime flags for Device Orientation and Device Motion
https://bugs.webkit.org/show_bug.cgi?id=94479

Reviewed by Adam Barth.

Source/WebCore:

There are flags that allows disabling of device orientation and device
motion at runtime. These flags determine the availability of the
corresponding event constructors in DOMWindow.

However, the flags should also control the ability to add event
listeners for these events, otherwise the feature can be used even if
it is disabled.

* page/DOMWindow.cpp:
(WebCore::DOMWindow::addEventListener):

Source/WebKit/chromium:

WebRuntimeFeatures::enableDeviceMotion should not be hard-coded to
false.

* src/WebViewImpl.cpp:
(WebKit::WebView::create):

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

7 years agoRemove incorrect getBBox() code
pdr@google.com [Mon, 20 Aug 2012 19:52:16 +0000 (19:52 +0000)]
Remove incorrect getBBox() code
https://bugs.webkit.org/show_bug.cgi?id=94419

Reviewed by Dirk Schulze.

SVGPathElement defines a getBBox() function that is wrong and
should use objectBoundingBox(). This patch cleans this up.

No new tests as this is just a cleanup of old code.

* svg/SVGPathElement.cpp:
(WebCore):
* svg/SVGPathElement.h:
(SVGPathElement):

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

7 years ago[Chromium] Schedule texture uploads based on hard-coded timer and vsync.
commit-queue@webkit.org [Mon, 20 Aug 2012 19:50:23 +0000 (19:50 +0000)]
[Chromium] Schedule texture uploads based on hard-coded timer and vsync.
https://bugs.webkit.org/show_bug.cgi?id=84281

Patch by David Reveman <reveman@chromium.org> on 2012-08-20
Reviewed by James Robinson.

Source/WebCore:

Improve interaction between vsync and texture uploads by performing
uploads in smaller batches and use a hard-coded timer to emulate
upload completion. This greatly reduces the chance of the compositor
missing a vsync due to being busy with texture uploads.

The CCScheduler client is now given a time limit when told to update
more resources. This time limit is passed to an instance of the
CCTextureUpdateController class, which is responsible for performing
texture updates until the limit is reached.

Unit tests: CCSchedulerTest.RequestCommit
            CCTextureUpdateControllerTest.UpdateMoreTextures
            CCTextureUpdateControllerTest.HasMoreUpdates

* platform/graphics/chromium/cc/CCFrameRateController.cpp:
(WebCore::CCFrameRateController::nextTickTime):
(WebCore):
* platform/graphics/chromium/cc/CCFrameRateController.h:
(CCFrameRateController):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
(CCSchedulerClient):
* platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
(WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
(WebCore::CCTextureUpdateController::CCTextureUpdateController):
(WebCore::CCTextureUpdateController::updateMoreTextures):
(WebCore):
(WebCore::CCTextureUpdateController::onTimerFired):
(WebCore::CCTextureUpdateController::monotonicTimeNow):
(WebCore::CCTextureUpdateController::updateMoreTexturesTime):
(WebCore::CCTextureUpdateController::updateMoreTexturesSize):
(WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
(WebCore::CCTextureUpdateController::updateMoreTexturesNow):
* platform/graphics/chromium/cc/CCTextureUpdateController.h:
(WebCore::CCTextureUpdateController::create):
(CCTextureUpdateController):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
(WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
* platform/graphics/chromium/cc/CCThreadProxy.h:

Source/WebKit/chromium:

* tests/CCSchedulerTest.cpp:
(WebKitTests::TEST):
* tests/CCSchedulerTestCommon.h:
(WebKitTests::FakeCCTimeSource::FakeCCTimeSource):
(WebKitTests::FakeCCTimeSource::setNextTickTime):
(FakeCCTimeSource):
* tests/CCTextureUpdateControllerTest.cpp:

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

7 years ago[css3-text] Add parsing support for -webkit-text-decoration-style
commit-queue@webkit.org [Mon, 20 Aug 2012 19:36:03 +0000 (19:36 +0000)]
[css3-text] Add parsing support for -webkit-text-decoration-style
https://bugs.webkit.org/show_bug.cgi?id=94093

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-08-20
Reviewed by Julien Chaffraix.

This patch implements the "text-decoration-style" property parsing as specified
in CSS3 working draft, with "-webkit-" prefix. The specification can be found
here: http://dev.w3.org/csswg/css3-text/#text-decoration-style

Additionally, Mozilla implementation details can be found here:
https://developer.mozilla.org/en-US/docs/CSS/text-decoration-style

This is an individual task for bug 90958. Rendering support will be handled on a
different bug.

Source/WebCore:

Test: fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::renderTextDecorationStyleFlagsToCSSValue):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::operator TextDecorationStyle):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h: Added non-bitwise TextDecorationStyle enum.
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Added m_textDecorationStyle to default and copy constructors.
(WebCore::StyleRareNonInheritedData::operator==): Include m_textDecorationStyle in comparison.
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):
Added m_textDecorationStyle here as it won't be used regularly.

LayoutTests:

* fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style-expected.txt: Added.
* fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-style.html: Added.
* fast/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-style.js: Added.

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

7 years ago[BlackBerry] Persist cookies not from atexit() but the new onThreadFinished()
jpetsovits@rim.com [Mon, 20 Aug 2012 19:23:40 +0000 (19:23 +0000)]
[BlackBerry] Persist cookies not from atexit() but the new onThreadFinished()
https://bugs.webkit.org/show_bug.cgi?id=94482
RIM PR 184923

Reviewed by Yong Li.

BlackBerry::Platform recently made changes that ensure
that MessageClient threads are being shut down correctly.
A new onThreadFinished() virtual was introduced for
custom clean-up functionality and can replace the
atexit() handler that we previously used to flush cookies
to the cookie database backingstore.

No new functionality, no new tests.

* platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
(WebCore):
(WebCore::CookieDatabaseBackingStore::onThreadFinished):
(WebCore::CookieDatabaseBackingStore::sendChangesToDatabaseSynchronously):
* platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h:
(CookieDatabaseBackingStore):
* platform/blackberry/CookieManager.cpp:
(WebCore):
(WebCore::cookieManager):
* platform/blackberry/CookieManager.h:

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

7 years ago[chromium] Move non-GL-specific code out of LayerRendererChromium
commit-queue@webkit.org [Mon, 20 Aug 2012 19:15:44 +0000 (19:15 +0000)]
[chromium] Move non-GL-specific code out of LayerRendererChromium
https://bugs.webkit.org/show_bug.cgi?id=93927

Patch by Alexandre Elias <aelias@google.com> on 2012-08-20
Reviewed by Adrienne Walker.

This patch moves most of the generic logic dealing with matrices and
render passes into a new class "CCDirectRenderer" that sits between
CCRenderer and LayerRendererChromium, and also publicly exposes a
few other things like the UnthrottledTextureUploader.

The plan is for the future software compositing implementation to also
derive from CCDirectRenderer, whereas the ubercompositor delegating
renderer will still derive from CCRenderer.

No new tests (no-op refactoring).

* WebCore.gypi:
* platform/graphics/chromium/GeometryBinding.cpp:
(WebCore::GeometryBinding::GeometryBinding):
* platform/graphics/chromium/GeometryBinding.h:
(GeometryBinding):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::beginDrawingFrame):
(WebCore::LayerRendererChromium::drawQuad):
(WebCore::LayerRendererChromium::drawRenderPassQuad):
(WebCore::LayerRendererChromium::drawTileQuad):
(WebCore::LayerRendererChromium::finishDrawingFrame):
(WebCore::LayerRendererChromium::drawQuadGeometry):
(WebCore::LayerRendererChromium::bindFramebufferToOutputSurface):
(WebCore):
(WebCore::LayerRendererChromium::bindFramebufferToTexture):
(WebCore::LayerRendererChromium::enableScissorTestRect):
(WebCore::LayerRendererChromium::disableScissorTest):
(WebCore::LayerRendererChromium::setDrawViewportSize):
(WebCore::LayerRendererChromium::makeContextCurrent):
(WebCore::LayerRendererChromium::initializeSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/TextureCopier.h:
(TextureCopier):
* platform/graphics/chromium/TextureUploader.h:
(UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::create):
(WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
(WebCore):
* platform/graphics/chromium/cc/CCDirectRenderer.cpp: Added.
(projectionMatrix):
(canvasMatrix):
(WebCore):
(WebCore::CCDirectRenderer::DrawingFrame::initializeMatrices):
(WebCore::CCDirectRenderer::DrawingFrame::initializeScissors):
(WebCore::CCDirectRenderer::decideRenderPassAllocationsForFrame):
(WebCore::CCDirectRenderer::drawFrame):
(WebCore::CCDirectRenderer::drawRenderPass):
(WebCore::CCDirectRenderer::useRenderPass):
(WebCore::CCDirectRenderer::haveCachedResourcesForRenderPassId):
(WebCore::CCDirectRenderer::renderPassTextureSize):
(WebCore::CCDirectRenderer::renderPassTextureFormat):
* platform/graphics/chromium/cc/CCDirectRenderer.h: Added.
(WebCore):
(CCDirectRenderer):
(WebCore::CCDirectRenderer::~CCDirectRenderer):
(WebCore::CCDirectRenderer::resourceProvider):
(WebCore::CCDirectRenderer::CCDirectRenderer):
(DrawingFrame):
(WebCore::CCDirectRenderer::DrawingFrame::DrawingFrame):
(CachedTexture):
(WebCore::CCDirectRenderer::CachedTexture::create):
(WebCore::CCDirectRenderer::CachedTexture::~CachedTexture):
(WebCore::CCDirectRenderer::CachedTexture::isComplete):
(WebCore::CCDirectRenderer::CachedTexture::setIsComplete):
(WebCore::CCDirectRenderer::CachedTexture::CachedTexture):
(WebCore::CCDirectRenderer::quadVertexRect):
(WebCore::CCDirectRenderer::quadRectTransform):

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

7 years agoUnreviewed Chromium gardening. Fixed invalid test expectation.
kbr@google.com [Mon, 20 Aug 2012 19:10:06 +0000 (19:10 +0000)]
Unreviewed Chromium gardening. Fixed invalid test expectation.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed Chromium rebaselining and test failure suppressions.
kbr@google.com [Mon, 20 Aug 2012 18:55:12 +0000 (18:55 +0000)]
Unreviewed Chromium rebaselining and test failure suppressions.

Source/WebKit/chromium:

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

* tests/CCMathUtilTest.cpp:

LayoutTests:

https://bugs.webkit.org/show_bug.cgi?id=94494
https://bugs.webkit.org/show_bug.cgi?id=94501
https://bugs.webkit.org/show_bug.cgi?id=94502

* platform/chromium-mac-snowleopard/fast/forms/input-double-click-selection-gap-bug-expected.png:
* platform/chromium-mac/fast/css/text-overflow-input-expected.png:
* platform/chromium-mac/fast/forms/box-shadow-override-expected.png:
* platform/chromium-mac/fast/forms/input-double-click-selection-gap-bug-expected.png:
* platform/chromium/TestExpectations:

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

7 years agoIntroduce a will-be-removed-from-tree notification in RenderObject
jchaffraix@webkit.org [Mon, 20 Aug 2012 18:52:25 +0000 (18:52 +0000)]
Introduce a will-be-removed-from-tree notification in RenderObject
https://bugs.webkit.org/show_bug.cgi?id=94271

Reviewed by Abhishek Arya.

Following bug 93874, we have an insertion notification. This change adds the
matching removal notification (willBeRemovedFromTree).

Refactoring covered by existing tests.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
Removed the code from here and moved it below.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeRemovedFromTree):
* rendering/RenderObject.h:
This is the base function that should be called by every instance.

* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::willBeRemovedFromTree):
* rendering/RenderListItem.h:
* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::willBeRemovedFromTree):
* rendering/RenderQuote.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::willBeRemovedFromTree):
* rendering/RenderRegion.h:
Overriden functions.

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

7 years agoCSP 1.1: The 'plugin-types' warning should include details about explicit type declar...
commit-queue@webkit.org [Mon, 20 Aug 2012 18:33:20 +0000 (18:33 +0000)]
CSP 1.1: The 'plugin-types' warning should include details about explicit type declaration when relevant.
https://bugs.webkit.org/show_bug.cgi?id=94432

Patch by Mike West <mkwst@chromium.org> on 2012-08-20
Reviewed by Adam Barth.

Source/WebCore:

Given a 'plugin-types' Content Security Policy directive, an 'object' or
'embed' tag is blocked if it doesn't include an explicit declaration of
the plugin's expected media type. This restriction should be made clear
in the console warning that's generated.

Existing tests have been adjusted to agree with the new error string.

* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::checkMediaTypeAndReportViolation):
    If a media type fail to match the policy's restrictions, and the
    declared type attribute is empty, then add another line to the
    console warning, espousing the virtues of explicit declaration.

LayoutTests:

* http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data-expected.txt:
* http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-url-expected.txt:

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

7 years ago[chromium] Update HUD resources as a final step to drawing a frame
danakj@chromium.org [Mon, 20 Aug 2012 18:23:08 +0000 (18:23 +0000)]
[chromium] Update HUD resources as a final step to drawing a frame
https://bugs.webkit.org/show_bug.cgi?id=93743

Reviewed by Adrienne Walker.

The HUD should be painted as a last step, after the whole frame has been
generated. This introduces a new "updateHudTexture" method on the HUD layer
and has the HUD layer save itself on CCLayerTreeHostImpl so that it can
call back to this method.

This allows the CCLayerTreeHostImpl to cause the HUD layer to update its
texture as a final step before drawing the frame, allowing the HUD texture
to contain all possible information about the current frame.

* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.cpp:
(WebCore::CCHeadsUpDisplayLayerImpl::willDraw):
(WebCore):
(WebCore::CCHeadsUpDisplayLayerImpl::appendQuads):
(WebCore::CCHeadsUpDisplayLayerImpl::updateHudTexture):
* platform/graphics/chromium/cc/CCHeadsUpDisplayLayerImpl.h:
(CCHeadsUpDisplayLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::drawLayers):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(WebCore):
(WebCore::CCLayerTreeHostImpl::setHudLayer):
(WebCore::CCLayerTreeHostImpl::hudLayer):
(CCLayerTreeHostImpl):

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

7 years ago[chromium] Add tracing for active composited animations
vollick@chromium.org [Mon, 20 Aug 2012 18:21:45 +0000 (18:21 +0000)]
[chromium] Add tracing for active composited animations
https://bugs.webkit.org/show_bug.cgi?id=84210

Reviewed by James Robinson.

This patch issues the trace events from the animations. Animations will
report when they start and finish on the main and impl threads (via
TRACE_EVENT_ASYNC*), and also issues instant trace events whenever they
change state.

Source/WebCore:

No new tests, only changes tracing behavior.

* platform/graphics/chromium/cc/CCActiveAnimation.cpp:
(WebCore::CCActiveAnimation::CCActiveAnimation):
(WebCore::CCActiveAnimation::~CCActiveAnimation):
(WebCore::CCActiveAnimation::setRunState):
(WebCore::CCActiveAnimation::clone):
(WebCore):
(WebCore::CCActiveAnimation::cloneAndInitialize):
* platform/graphics/chromium/cc/CCActiveAnimation.h:
(WebCore::CCActiveAnimation::isControllingInstance):
(CCActiveAnimation):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
(WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
(WebCore::CCLayerAnimationController::tickAnimations):

Source/WebKit/chromium:

* src/WebAnimationImpl.cpp:
(WebKit::WebAnimationImpl::cloneToCCAnimation):
* tests/CCAnimationTestCommon.h:

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

7 years agoTemporarily disable the 20+ crash and 500+ failure options on WK2 bots.
beidson@apple.com [Mon, 20 Aug 2012 18:16:45 +0000 (18:16 +0000)]
Temporarily disable the 20+ crash and 500+ failure options on WK2 bots.
https://bugs.webkit.org/show_bug.cgi?id=94506

Reviewed by Dirk Pranke.

When running WK2 tests, don't add the "abort early" command line options.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(ConfigureBuild.start):
(RunWebKitTests):
(RunWebKitTests.start):
(RunWebKit2Tests.start):

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

7 years agowebkitfullscreenchange not fired properly in iframe.
bbudge@chromium.org [Mon, 20 Aug 2012 18:11:22 +0000 (18:11 +0000)]
webkitfullscreenchange not fired properly in iframe.
https://bugs.webkit.org/show_bug.cgi?id=93525

Reviewed by Adam Barth.

webkitCancelFullScreen exits fullscreen by invoking webkitExitFullScreen on topDocument.
However, if webkitDidExitFullScreenForElement is invoked on a descendant document, no events
get dispatched. This change starts the event dispatch delay timer on the document where
webkitCancelFullScreen was called, so that the events get dispatched. In addition, when events
are dispatched, the check whether a node has been removed is changed to also check that the
node isn't in another document, as can happen with frames. Finally, webkitExitFullscreen
is fixed to remove unnecessary code and conform to the spec.

No new tests (the existing fullscreen/exit-full-screen-iframe.html test now passes).

* dom/Document.cpp:
(WebCore::Document::webkitExitFullscreen):
(WebCore::Document::webkitDidExitFullScreenForElement):
(WebCore::Document::fullScreenChangeDelayTimerFired):

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

7 years ago[chromium] pepper plugins sometimes are shifted by 1 pixel
commit-queue@webkit.org [Mon, 20 Aug 2012 18:01:40 +0000 (18:01 +0000)]
[chromium] pepper plugins sometimes are shifted by 1 pixel
https://bugs.webkit.org/show_bug.cgi?id=94257

Patch by Yuzhu Shen <yzshen@chromium.com> on 2012-08-20
Reviewed by Levi Weintraub.

Change RenderWidget::updateWidgetGeometry() to use LayoutRect instead of IntRect to avoid unwanted truncation
(when converting from FloatRect to IntRect).

This makes sure that the optimized rendering code path of Pepper plugin
(PluginInstance::GetBitmapForOptimizedPluginPaint) has consistent coordinates with the normal WebKit rendering
code path.

No new tests because we don't have Pepper plugin tests in WebKit.

* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::updateWidgetGeometry):

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

7 years ago<https://bugs.webkit.org/show_bug.cgi?id=94486>
sullivan@apple.com [Mon, 20 Aug 2012 16:53:36 +0000 (16:53 +0000)]
<https://bugs.webkit.org/show_bug.cgi?id=94486>
<rdar://problem/12128557>
REGRESSION (r121482, Lion-only): Closing a popover containing a WKView can crash

Reviewed by Darin Adler.

* UIProcess/API/mac/WKView.mm:
(-[WKView viewWillMoveToWindow:]):
Avoid calling the code added in 121482 that ensures that the undo stack is cleaned up
before the WKView is moved from one window to another when the WKView is being moved
out of a popover window. This avoids a bug in OS X 10.7 that was fixed in 10.8.
While this technically reopens a potentially crashing code path that 121482 closed,
it only reopens it for WKViews that are used for text editing and that are removed
from an NSPopover at some time earlier than tear-down of the NSPopover.

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

7 years agopostMessage() in MessagePort.idl does not match spec
commit-queue@webkit.org [Mon, 20 Aug 2012 16:39:11 +0000 (16:39 +0000)]
postMessage() in MessagePort.idl does not match spec
https://bugs.webkit.org/show_bug.cgi?id=94477

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-20
Reviewed by Kentaro Hara.

Update definition of postMessage() in MessagePort.idl
to match the specification at:
http://www.w3.org/TR/html5/comms.html#messageport

The first argument should be of type 'any', not
'DOMString'.

No new tests, no behavior change.

* dom/MessagePort.idl:

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

7 years agoUnreviewed, rolling out r125989.
commit-queue@webkit.org [Mon, 20 Aug 2012 16:13:19 +0000 (16:13 +0000)]
Unreviewed, rolling out r125989.
http://trac.webkit.org/changeset/125989
https://bugs.webkit.org/show_bug.cgi?id=94485

"Two of the new tests always failed on Mac bots" (Requested by
bradee-oh on #webkit).

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

Source/WebCore:

* css/CSSComputedStyleDeclaration.cpp:
(WebCore):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/CSSValueKeywords.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
(WebCore):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
* rendering/RenderLayerBacking.h:
(RenderLayerBacking):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::diff):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
(WebCore::StyleRareNonInheritedData::operator==):
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):

LayoutTests:

* css3/compositing/blend-mode-property-expected.txt: Removed.
* css3/compositing/blend-mode-property-parsing-expected.txt: Removed.
* css3/compositing/blend-mode-property-parsing-invalid-expected.txt: Removed.
* css3/compositing/blend-mode-property-parsing-invalid.html: Removed.
* css3/compositing/blend-mode-property-parsing.html: Removed.
* css3/compositing/blend-mode-property.html: Removed.
* css3/compositing/script-tests/blend-mode-property-parsing-invalid.js: Removed.
* css3/compositing/script-tests/blend-mode-property-parsing.js: Removed.
* css3/compositing/script-tests/blend-mode-property.js: Removed.

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

7 years ago[Qt] Custom tap-highlight-color renders fully opaque
allan.jensen@nokia.com [Mon, 20 Aug 2012 15:18:17 +0000 (15:18 +0000)]
[Qt] Custom tap-highlight-color renders fully opaque
https://bugs.webkit.org/show_bug.cgi?id=94468

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Adjust the default tap-highlight-color to figure in that is will be
drawn semi-transparent.

* rendering/RenderTheme.h:
(RenderTheme):

Source/WebKit2:

Draw tap-highlight-color at 50% transparency, to better match how
existing WebKit browsers act on custom tap-highlight colors.

* WebProcess/WebPage/TapHighlightController.cpp:
(WebKit::TapHighlightController::drawRect):

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

7 years ago[GTK] Replace webkit_web_view_replace_content with webkit_web_view_load_alternate_html
carlosgc@webkit.org [Mon, 20 Aug 2012 15:10:55 +0000 (15:10 +0000)]
[GTK] Replace webkit_web_view_replace_content with webkit_web_view_load_alternate_html
https://bugs.webkit.org/show_bug.cgi?id=94471

Reviewed by Martin Robinson.

In WebKit1 there's code to prevent that load signals are emitted
when loading internal custom error pages. We added
webkit_web_view_replace_content() with the same idea, but it has
ended up being problematic, because it allows to add any HTML
content (in WebKit1 we assumed internal error pages never failed
and always loaded) and it's impossible to know when the load has
finished. It also required a lot of logic to handle
replace_content as an especial case, in order to hide the fact
that it loads content. This patch renames
webkit_web_view_replace_content() as
webkit_web_view_load_alternate_html() and emit load events
normally.

* UIProcess/API/gtk/WebKitWebView.cpp:
(_WebKitWebViewPrivate):
(webkitWebViewLoadChanged):
(webkitWebViewLoadFailed):
(webkitWebViewSetEstimatedLoadProgress):
(webkitWebViewResourceLoadStarted):
(webkitWebViewGetLoadingWebResource):
(webkitWebViewRemoveLoadingWebResource):
(webkitWebViewResourceLoadFinished):
(webkit_web_view_load_alternate_html):
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
* UIProcess/API/gtk/tests/TestLoaderClient.cpp:
(testLoadAlternateHTML):
(beforeAll):
* UIProcess/API/gtk/tests/TestResources.cpp:
(beforeAll):
* UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
(beforeAll):
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(WebViewTest::loadAlternateHTML):
* UIProcess/API/gtk/tests/WebViewTest.h:

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

7 years agoWeb Inspector: [WebGL] Add minimum transport protocol from backend to frontend
commit-queue@webkit.org [Mon, 20 Aug 2012 15:05:09 +0000 (15:05 +0000)]
Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
https://bugs.webkit.org/show_bug.cgi?id=88973

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-08-20
Reviewed by Pavel Feldman.

Added the following protocol methods to communicate with the WebGL injected
module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.

* inspector/CodeGeneratorInspector.py:
* inspector/InjectedScriptWebGLModule.cpp:
(WebCore::InjectedScriptWebGLModule::captureFrame):
(WebCore):
(WebCore::InjectedScriptWebGLModule::dropTraceLog):
(WebCore::InjectedScriptWebGLModule::getTraceLog):
(WebCore::InjectedScriptWebGLModule::replayTraceLog):
* inspector/InjectedScriptWebGLModule.h:
(InjectedScriptWebGLModule):
* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorWebGLAgent.cpp:
(WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
(WebCore::InspectorWebGLAgent::dropTraceLog):
(WebCore):
(WebCore::InspectorWebGLAgent::captureFrame):
(WebCore::InspectorWebGLAgent::getTraceLog):
(WebCore::InspectorWebGLAgent::replayTraceLog):
* inspector/InspectorWebGLAgent.h:
(WebCore):
(WebCore::InspectorWebGLAgent::create):
(InspectorWebGLAgent):

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

7 years agoUpdate canvas tests that are using CanvasPixelArray
commit-queue@webkit.org [Mon, 20 Aug 2012 15:04:59 +0000 (15:04 +0000)]
Update canvas tests that are using CanvasPixelArray
https://bugs.webkit.org/show_bug.cgi?id=94474

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-20
Reviewed by Andreas Kling.

CanvasPixelArray is deprecated. W3C already updated these tests on the
approved tests repository. Using Uint8ClampedArray, they now pass on
WebKit.

* canvas/philip/tests/2d.imageData.create1.type.html:
* canvas/philip/tests/2d.imageData.create2.type.html:
* canvas/philip/tests/2d.imageData.get.type.html:
* platform/chromium/TestExpectations:
* platform/efl/Skipped:
* platform/gtk/TestExpectations:
* platform/mac/canvas/philip/tests/2d.imageData.create1.type-expected.txt: Removed.
* platform/mac/canvas/philip/tests/2d.imageData.create2.type-expected.txt: Removed.
* platform/mac/canvas/philip/tests/2d.imageData.get.type-expected.txt: Removed.
* platform/qt/Skipped:

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

7 years ago[TouchAdjustment] Adjust to word or selection
allan.jensen@nokia.com [Mon, 20 Aug 2012 14:50:24 +0000 (14:50 +0000)]
[TouchAdjustment] Adjust to word or selection
https://bugs.webkit.org/show_bug.cgi?id=94449

Reviewed by Antonio Gomes.

Source/WebCore:

Makes each separate word a separate subtarget when context menu triggers
selections, and only the selected part of a partial selected node a
target when selections are not overridden.

Test: touchadjustment/context-menu-text-subtargets.html

* page/TouchAdjustment.cpp:
(TouchAdjustment):
(WebCore::TouchAdjustment::providesContextMenuItems):
(WebCore::TouchAdjustment::appendQuadsToSubtargetList):
(WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
(WebCore::TouchAdjustment::appendContextSubtargetsForNode):
(WebCore::TouchAdjustment::compileSubtargetList):
(WebCore::findBestClickableCandidate):
(WebCore::findBestContextMenuCandidate):

LayoutTests:

Tests that touch-adjustment can adjust to the right subtargets within text-nodes.

* touchadjustment/context-menu-select-text.html:
* touchadjustment/context-menu-text-subtargets-expected.txt: Added.
* touchadjustment/context-menu-text-subtargets.html: Added.
* touchadjustment/resources/touchadjustment.js:
(pointToString):
(shouldBeWithin):

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

7 years agoNot reviewed: fixing flaky inspector test.
pfeldman@chromium.org [Mon, 20 Aug 2012 14:34:01 +0000 (14:34 +0000)]
Not reviewed: fixing flaky inspector test.

* http/tests/inspector/resource-tree/resource-tree-frame-navigate.html:
* http/tests/inspector/resource-tree/resource-tree-test.js:
(initialize_ResourceTreeTest.InspectorTest.dumpResourcesTree):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 20 Aug 2012 13:57:52 +0000 (13:57 +0000)]
Unreviewed GTK gardening.

Fixing the failure expectations for a flaky crasher XFrameOptions test
in debug builds. When it doesn't crash it fails due to text diff.

* platform/gtk/TestExpectations:

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

7 years agoThe 2d.imageData.object.round canvas test is failing
commit-queue@webkit.org [Mon, 20 Aug 2012 13:24:50 +0000 (13:24 +0000)]
The 2d.imageData.object.round canvas test is failing
https://bugs.webkit.org/show_bug.cgi?id=40272

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Source/WTF:

According to the Uint8ClampedArray spec (http://www.khronos.org/registry/typedarray/specs/latest/#7.1)
which references WebIDL's clamping rules, with implications defined in http://www.w3.org/TR/WebIDL/#es-octet
we need to round to nearest integer, and to the even one if exactly halfway in between.
As a solution: applying C99's lrint which, in default rounding mode, does that.

The updated version of test 2d.imageData.object.round.html test passes now.

* wtf/MathExtras.h:
(lrint): Assembly based implementation for MSVC under X86, otherwise falling back to casting.
* wtf/Uint8ClampedArray.h:
(WTF::Uint8ClampedArray::set): lrint instead of simple rounding.

LayoutTests:

Fixing expectations for the imageData rounding test, unskipping the tests on all ports.

* canvas/philip/tests/2d.imageData.object.round.html: Fixing expected results according to "round to even in halfway case".
* fast/canvas/canvas-ImageData-behaviour-expected.txt: Fixing expected results according to "round to even in halfway case".
* fast/canvas/canvas-ImageData-behaviour.js: Fixing expected results according to "round to even in halfway case".
* platform/chromium/TestExpectations: Updating bug id for 2d.imageData.object.round.html and for wrap case, adding SVG case for rebaselining.
* platform/efl/Skipped: 2d.imageData.object.round.html
* platform/efl/TestExpectations: Moving 2d.imageData.object.wrap.html case here with new bug id.
* platform/gtk/TestExpectations: Unskippng 2d.imageData.object.round.html, updating bug id for wrap case.
* platform/mac/Skipped: Unskipping 2d.imageData.object.round.html.
* platform/qt/Skipped: Unskipping 2d.imageData.object.round.html.

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

7 years agoRegression(r124945): Build is broken when touch events is disabled
commit-queue@webkit.org [Mon, 20 Aug 2012 12:45:19 +0000 (12:45 +0000)]
Regression(r124945): Build is broken when touch events is disabled
https://bugs.webkit.org/show_bug.cgi?id=94466

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Added missing guards around touch events code.

* ewk/ewk_touch_event.cpp:
* ewk/ewk_touch_event_private.h:

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

7 years ago[GTK] Provide backwards compatible method for WebKitDOMWebKitNamedFlow::overflow
commit-queue@webkit.org [Mon, 20 Aug 2012 12:25:57 +0000 (12:25 +0000)]
[GTK] Provide backwards compatible method for WebKitDOMWebKitNamedFlow::overflow
https://bugs.webkit.org/show_bug.cgi?id=94464

Patch by Xan Lopez <xlopez@igalia.com> on 2012-08-20
Reviewed by Carlos Garcia Campos.

Provide a compatibility method to access the new 'overset'
property through the old 'overflow' name in
WebKitDOMWebKitNamedFlow. Note that trying to access it through
g_object_get directly will give a runtime warning, since the
property does not actually exist anymore; this is done purely to
maintain API compatibility.

* bindings/gobject/WebKitDOMCustom.cpp:
(webkit_dom_webkit_named_flow_get_overflow): add method.
* bindings/gobject/WebKitDOMCustom.h:

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

7 years ago[EFL] Update flaky tests to make the bots green
commit-queue@webkit.org [Mon, 20 Aug 2012 12:21:29 +0000 (12:21 +0000)]
[EFL] Update flaky tests to make the bots green
https://bugs.webkit.org/show_bug.cgi?id=94467

Unreviewed EFL gardening. Mark several tests as
flaky in order to make the bots green.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-20

* platform/efl/TestExpectations:

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

7 years ago[EFL][WK2] Add unit tests for WKEinaSharedString
commit-queue@webkit.org [Mon, 20 Aug 2012 11:52:26 +0000 (11:52 +0000)]
[EFL][WK2] Add unit tests for WKEinaSharedString
https://bugs.webkit.org/show_bug.cgi?id=94104

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Added unit tests for WKEinaSharedString class.

* PlatformEfl.cmake:
* UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp: Added.
(checkString):
(TEST_F):

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

7 years ago[chromium] Convert screen space scroll gestures to layer space
commit-queue@webkit.org [Mon, 20 Aug 2012 11:01:41 +0000 (11:01 +0000)]
[chromium] Convert screen space scroll gestures to layer space
https://bugs.webkit.org/show_bug.cgi?id=92499

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

Source/WebCore:

Scroll gestures should be converted from screen space to local layer space to
correctly apply the scroll delta to page scaled and/or transformed layers.
Visually this means that the scrolled content will always follow the user's
finger for any "well-formed" layer transform.

Wheel scroll deltas will still be directly interpreted as local layer scroll
coordinates.

We also adjust the logic for propagating ("bubbling") scroll events to parent
layers. Previously a parent layer was allowed to scroll in the screen-space
axis orthogonal to the direction the starting layer scrolled toward. For
example if a vertically scrolling layer is scrolled diagonally down and right,
the layer moves down and its parent to the right.

This patch generalizes this behavior to non-axis aligned transformed layers so
that the scrolling direction of any parent is constrained to be perpendicular
direction of movement of the starting layer. This makes the scrolling behavior
of transformed layers physically plausible. For instance, assume a 45 degree
rotated, vertically scrollable layer. Dragging your finger vertically
(relative to the layer) scrolls the layer up and down, while horizontal
movement results in the parent of the layer moving in a corresponding way.

Since generally users want to scroll a single layer in one direction, this
patch also introduces a rule that if the resulting movement of a layer is
within 45 degrees of the original scroll input, the bubbling process is
stopped. This makes it possible to reliably scroll a single layer without
affecting any of its parents.

Added new unit tests:
    CCLayerTreeHostImplTest.scrollAxisAlignedRotatedLayer
    CCLayerTreeHostImplTest.scrollNonAxisAlignedRotatedLayer
    CCLayerTreeHostImplTest.scrollScaledLayer
    CCMathUtilTest.smallestAngleBetweenVectors
    CCMathUtilTest.vectorProjection

* platform/graphics/chromium/cc/CCInputHandler.h:
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::scrollBegin):
(WebCore::scrollLayerWithScreenSpaceDelta):
(WebCore):
(WebCore::scrollLayerWithLocalDelta):
(WebCore::CCLayerTreeHostImpl::scrollBy):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCMathUtil.cpp:
(WebCore::CCMathUtil::smallestAngleBetweenVectors):
(WebCore):
(WebCore::CCMathUtil::projectVector):
* platform/graphics/chromium/cc/CCMathUtil.h:
(CCMathUtil):

Source/WebKit/chromium:

Added new tests for verifying transformed layer scrolling:

    CCLayerTreeHostImplTest.scrollAxisAlignedRotatedLayer
    CCLayerTreeHostImplTest.scrollNonAxisAlignedRotatedLayer
    CCLayerTreeHostImplTest.scrollScaledLayer

Also some tests for the introduced math utilities:

    CCMathUtilTest.smallestAngleBetweenVectors
    CCMathUtilTest.vectorProjection

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):
(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
* tests/CCLayerTreeHostImplTest.cpp: Adjusted scroll delta in scrollChildBeyondLimit to avoid triggering the 45 degree rule.
* tests/CCLayerTreeHostTest.cpp:
* tests/CCMathUtilTest.cpp:
* tests/WebCompositorInputHandlerImplTest.cpp:
(MockCCInputHandlerClient):
(WebKit::TEST_F):

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

7 years ago[GTK] Add API to set preferred languages to WebKit2 GTK+
carlosgc@webkit.org [Mon, 20 Aug 2012 10:27:21 +0000 (10:27 +0000)]
[GTK] Add API to set preferred languages to WebKit2 GTK+
https://bugs.webkit.org/show_bug.cgi?id=90878

Source/WebCore:

Unreviewed. Fix mac build.

* WebCore.exp.in: Export WebCore::languageDidChange().

Source/WebKit2:

Reviewed by Martin Robinson.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_set_preferred_languages): Public API to set a
list of preferred languages sorted from most desirable to least
desirable.
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
(testWebContextLanguages):
(serverCallback):
(beforeAll):
(afterAll):
* UIProcess/API/gtk/tests/WebViewTest.cpp:
(resourceGetDataCallback):
(WebViewTest::mainResourceData): Moved from TestWebKitWebContext
to make it available to all WebViewTests.
* UIProcess/API/gtk/tests/WebViewTest.h:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::userPreferredLanguagesChanged): Notify our
observer that the languages have been overriden.
* WebProcess/gtk/WebProcessGtk.cpp:
(WebKit::buildAcceptLanguages): Helper function to build the
accept languages as specified in RFC 2616.
(WebKit::setSoupSessionAcceptLanguage): Set the accept-language
property of the default SoupSession.
(WebKit::languageChanged): Update the preferred languages in
SoupSession.
(WebKit::WebProcess::platformInitializeWebProcess): Add an
observer to be notified when the list of preferred languages is
updated.
(WebKit::WebProcess::platformTerminate): Remove the observer added
in platformInitializeWebProcess().

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

7 years agoWeb Inspector: improve standalone test harness to allow attaching to inspector before...
pfeldman@chromium.org [Mon, 20 Aug 2012 10:05:56 +0000 (10:05 +0000)]
Web Inspector: improve standalone test harness to allow attaching to inspector before test.
https://bugs.webkit.org/show_bug.cgi?id=94426

Reviewed by Vsevolod Vlasov.

- User can not "Debug", attach inspector to the front-end and "Continue" test execution.
- You can also assign filter from the query parameter.

* inspector/front-end/test-runner.html:

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

7 years ago[EFL] Mark several inspector tests as flaky
commit-queue@webkit.org [Mon, 20 Aug 2012 09:38:47 +0000 (09:38 +0000)]
[EFL] Mark several inspector tests as flaky
https://bugs.webkit.org/show_bug.cgi?id=94452

Unreviewed EFL gardening. Mark several inspector
tests as flaky to make the bots green.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-20

* platform/efl/TestExpectations:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 20 Aug 2012 09:33:48 +0000 (09:33 +0000)]
Unreviewed GTK gardening.

Moving a couple of WONTFIX accessibility tests into the appropriate
section.

Removing crash expectations for a few accessibility tests that were fixed
in r125920.

Adding a flaky crash expectation for a XFrameOptions http test.

Adding platform-specific baselines for a few css3 compositing tests that fail
differently because of using JavaScriptCore instead of V8.

* platform/gtk/TestExpectations:
* platform/gtk/css3/compositing: Added.
* platform/gtk/css3/compositing/blend-mode-property-expected.txt: Added.
* platform/gtk/css3/compositing/blend-mode-property-parsing-expected.txt: Added.

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

7 years agoAdd mountain lion to build config.
slewis@apple.com [Mon, 20 Aug 2012 09:29:16 +0000 (09:29 +0000)]
Add mountain lion to build config.
https://bugs.webkit.org/show_bug.cgi?id=94441

Reviewed by Adam Barth.

Add Mountain Lion to the build trigger configurations.

* Scripts/webkitpy/common/config/build.py:
(_should_file_trigger_build):
* Scripts/webkitpy/common/config/build_unittest.py:
(ShouldBuildTest):
(ShouldBuildTest.test_should_build):

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

7 years agoWeb Inspector: load scripts panel lazily
pfeldman@chromium.org [Mon, 20 Aug 2012 09:27:22 +0000 (09:27 +0000)]
Web Inspector: load scripts panel lazily
https://bugs.webkit.org/show_bug.cgi?id=94416

Reviewed by Vsevolod Vlasov.

Source/WebCore:

- removes access to WebInspector.panels.scripts and loads it lazily.
- extracts classes to their own files when classes residing in one file belong to different modules
- removes StylesPanel.js in favor of the actual classes it contains

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/compile-front-end.py:
* inspector/front-end/AdvancedSearchController.js:
(WebInspector.AdvancedSearchController.prototype.handleShortcut):
* inspector/front-end/BreakpointsSidebarPane.js:
* inspector/front-end/FilteredItemSelectionDialog.js:
* inspector/front-end/InspectorFrontendAPI.js:
(InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
(InspectorFrontendAPI.setDebuggingEnabled):
* inspector/front-end/NativeBreakpointsSidebarPane.js: Added.
(WebInspector.NativeBreakpointsSidebarPane):
(WebInspector.NativeBreakpointsSidebarPane.prototype._addListElement):
(WebInspector.NativeBreakpointsSidebarPane.prototype._removeListElement):
(WebInspector.NativeBreakpointsSidebarPane.prototype._reset):
* inspector/front-end/ObjectPropertiesSection.js:
(WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
* inspector/front-end/ScriptSnippetModel.js:
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
* inspector/front-end/SnippetJavaScriptSourceFrame.js: Added.
(WebInspector.SnippetJavaScriptSourceFrame):
(WebInspector.SnippetJavaScriptSourceFrame.prototype.statusBarItems):
(WebInspector.SnippetJavaScriptSourceFrame.prototype._runButtonClicked):
* inspector/front-end/StyleSheetOutlineDialog.js: Added.
(WebInspector.StyleSheetOutlineDialog):
(WebInspector.StyleSheetOutlineDialog.show):
(WebInspector.StyleSheetOutlineDialog.prototype.itemTitleAt):
(WebInspector.StyleSheetOutlineDialog.prototype.itemSubtitleAt):
(WebInspector.StyleSheetOutlineDialog.prototype.itemKeyAt):
(WebInspector.StyleSheetOutlineDialog.prototype.itemsCount):
(WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
(WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet):
(WebInspector.StyleSheetOutlineDialog.prototype.selectItem):
(WebInspector.StyleSheetOutlineDialog.prototype.rewriteQuery):
* inspector/front-end/StyleSource.js: Renamed from Source/WebCore/inspector/front-end/StylesPanel.js.
(WebInspector.StylesUISourceCodeProvider):
(WebInspector.StylesUISourceCodeProvider.prototype.uiSourceCodes):
(WebInspector.StylesUISourceCodeProvider.prototype.rawLocationToUILocation):
(WebInspector.StylesUISourceCodeProvider.prototype.uiLocationToRawLocation):
(WebInspector.StylesUISourceCodeProvider.prototype._populate):
(WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
(WebInspector.StylesUISourceCodeProvider.prototype.reset):
(WebInspector.StyleSource):
(WebInspector.StyleSource.prototype.isEditable):
(WebInspector.StyleSource.prototype.workingCopyCommitted):
(WebInspector.StyleSource.prototype.workingCopyChanged):
(WebInspector.StyleSource.prototype._callOrSetTimeout):
(WebInspector.StyleSource.prototype._commitIncrementalEdit):
(WebInspector.StyleSource.prototype._clearIncrementalUpdateTimer):
(WebInspector.InspectorStyleSource):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector._panelDescriptors):
(WebInspector._registerShortcuts):
(WebInspector.documentKeyDown):
(WebInspector._showAnchorLocation):

Source/WebKit/chromium:

* WebKit.gyp:

LayoutTests:

This change removes access to WebInspector.panels.scripts and loads it lazily.

* http/tests/inspector/debugger-test.js:
(initialize_DebuggerTest):
* inspector/debugger/scripts-panel.html:
* inspector/debugger/scripts-sorting.html:
* inspector/filtered-item-selection-dialog-filtering.html:
* inspector/styles/edit-inspector-stylesheet.html:
* inspector/tabbed-editors-history.html:

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

7 years ago[EFL] Move CSS 3 compositing tests to TestExpectations
commit-queue@webkit.org [Mon, 20 Aug 2012 09:16:41 +0000 (09:16 +0000)]
[EFL] Move CSS 3 compositing tests to TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=94451

Unreviewed EFL gardening. Skip css3/compositing test
cases for EFL port until we turn on CSS_COMPOSITING
compile flag.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-20

* platform/efl/TestExpectations:

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

7 years ago[EFL] Get rid of pango backend support once harfbuzz-ng is working
commit-queue@webkit.org [Mon, 20 Aug 2012 09:09:26 +0000 (09:09 +0000)]
[EFL] Get rid of pango backend support once harfbuzz-ng is working
https://bugs.webkit.org/show_bug.cgi?id=92102

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

.:

Removing choice of font backend, Pango detection not required any more.

* Source/cmake/FindPango.cmake: Removed.
* Source/cmake/LibFindMacros.cmake: Removed.
* Source/cmake/OptionsEfl.cmake: Removing choice of font backend.

Source/WebCore:

Removing support for Pango complex font rendering now that we HarfBuzz.

No new tests, no change in behavior.

* PlatformEfl.cmake: Removing Pango specific includes and libraries.

Source/WebKit:

Removing pango-specific includes and libraries.

* PlatformEfl.cmake: Pango sections removed.

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

7 years agoWeb Inspector: prepare scripts panel to be lazily loaded
pfeldman@chromium.org [Mon, 20 Aug 2012 09:00:16 +0000 (09:00 +0000)]
Web Inspector: prepare scripts panel to be lazily loaded
https://bugs.webkit.org/show_bug.cgi?id=94423

Reviewed by Vsevolod Vlasov.

Source/WebCore:

- makes scripts panel read workspace data upon creation
- moves pause on script state management into the debugger model
- updates frontend API to use debugger model, not scripts panel

* inspector/front-end/DebuggerModel.js:
(WebInspector.DebuggerModel.prototype.debuggerEnabled):
(WebInspector.DebuggerModel.prototype.disableDebugger):
(WebInspector.DebuggerModel.prototype._debuggerWasEnabled):
(WebInspector.DebuggerModel.prototype._pauseOnExceptionStateChanged):
(WebInspector.DebuggerModel.prototype.get _debuggerWasDisabled):
* inspector/front-end/InspectorFrontendAPI.js:
(InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
(InspectorFrontendAPI.setDebuggingEnabled):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
(WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
(WebInspector.ScriptsPanel.prototype._reset):
(WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
(WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
(WebInspector.ScriptsPanel.prototype._enableDebugging):
(WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
(WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
* inspector/front-end/inspector.js:
(WebInspector.documentKeyDown):

LayoutTests:

* http/tests/inspector/debugger-test.js:
(initialize_DebuggerTest.InspectorTest.finishDebuggerTest.disableDebugger):
* inspector/debugger/debugger-autocontinue-on-syntax-error.html:
* inspector/debugger/debugger-pause-in-internal.html:
* inspector/debugger/debugger-pause-on-exception.html:
* inspector/debugger/scripts-panel-expected.txt:

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

7 years ago[BlackBerry] Adapt to changes in the platform media player API
commit-queue@webkit.org [Mon, 20 Aug 2012 08:47:04 +0000 (08:47 +0000)]
[BlackBerry] Adapt to changes in the platform media player API
https://bugs.webkit.org/show_bug.cgi?id=94329
PR #194237

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-08-20
Reviewed by Antonio Gomes.

The interface to platform's media player has changed from MMRPlayer
to PlatformPlayer. This patch adapts to this change.

And we also decided to postpone the creation of PlatformPlayer until
the loading started. This is needed because we may create different
types of player for different media sources.

This is a refactor, no new tests.

* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::getSupportedTypes):
(WebCore::MediaPlayerPrivate::supportsType):
(WebCore::MediaPlayerPrivate::notifyAppActivatedEvent):
(WebCore::MediaPlayerPrivate::setCertificatePath):
(WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
(WebCore::MediaPlayerPrivate::load):
(WebCore::MediaPlayerPrivate::cancelLoad):
(WebCore::MediaPlayerPrivate::prepareToPlay):
(WebCore::MediaPlayerPrivate::play):
(WebCore::MediaPlayerPrivate::pause):
(WebCore::MediaPlayerPrivate::naturalSize):
(WebCore::MediaPlayerPrivate::hasVideo):
(WebCore::MediaPlayerPrivate::hasAudio):
(WebCore::MediaPlayerPrivate::duration):
(WebCore::MediaPlayerPrivate::currentTime):
(WebCore::MediaPlayerPrivate::seek):
(WebCore::MediaPlayerPrivate::setRate):
(WebCore::MediaPlayerPrivate::paused):
(WebCore::MediaPlayerPrivate::setVolume):
(WebCore::MediaPlayerPrivate::maxTimeSeekable):
(WebCore::MediaPlayerPrivate::buffered):
(WebCore::MediaPlayerPrivate::paint):
(WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
(WebCore::MediaPlayerPrivate::movieLoadType):
(WebCore::MediaPlayerPrivate::setAllowPPSVolumeUpdates):
(WebCore::MediaPlayerPrivate::updateStates):
(WebCore):
(WebCore::MediaPlayerPrivate::onStateChanged):
(WebCore::MediaPlayerPrivate::onMediaStatusChanged):
(WebCore::MediaPlayerPrivate::onError):
(WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
(WebCore::MediaPlayerPrivate::showErrorDialog):
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
(MediaPlayerPrivate):

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

7 years agoUnreviewed gardening, remove FAIL expectation fixed by r126006
allan.jensen@nokia.com [Mon, 20 Aug 2012 08:23:56 +0000 (08:23 +0000)]
Unreviewed gardening, remove FAIL expectation fixed by r126006

* platform/chromium/TestExpectations:

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

7 years ago[chromium] context-menu.html fails on Chromium Mac
allan.jensen@nokia.com [Mon, 20 Aug 2012 08:14:34 +0000 (08:14 +0000)]
[chromium] context-menu.html fails on Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=94367

Reviewed by Kenneth Rohde Christiansen.

Set editing behaviour explicitly so the test behaves the same independent of host OS.

* touchadjustment/context-menu.html:

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

7 years ago[V8] Move contextDebugId() and setContextDebugId() from V8Proxy to ScriptController
haraken@chromium.org [Mon, 20 Aug 2012 07:53:33 +0000 (07:53 +0000)]
[V8] Move contextDebugId() and setContextDebugId() from V8Proxy to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94446

Reviewed by Adam Barth.

To kill V8Proxy, we can move contextDebugId() and setContextDebugId()
from V8Proxy to ScriptController.

No tests. No change in behavior.

Source/WebCore:

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::setContextDebugId):
(WebCore):
(WebCore::ScriptController::contextDebugId):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
(V8Proxy):

Source/WebKit/chromium:

* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgentImpl::didCreateScriptContext):

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

7 years ago[V8] Move V8Proxy::newInstance() to V8ObjectConstructor
haraken@chromium.org [Mon, 20 Aug 2012 07:47:27 +0000 (07:47 +0000)]
[V8] Move V8Proxy::newInstance() to V8ObjectConstructor
https://bugs.webkit.org/show_bug.cgi?id=94443

Reviewed by Adam Barth.

To kill V8Proxy, this patch moves V8Proxy::newInstance() to
V8ObjectConstructor::newInstanceInFrame().
In addition, this patch does the following things:

- For consistency with V8ObjectConstructor::newInstanceInFrame(),
this patch inserts an if(v8::V8::IsDead()) check to just after
Function::NewInstance(). The check is done by V8Binding::assertIfV8IsDead().

- To avoid #include circular dependency, this patch de-inline
V8ObjectConstructor::newInstance()s. I didn't observe any perf regression.
I don't think these methods are worth being inlined, because
these methods call Function::NewInstance(), which is not inlined
and calls a bunch of heavy mehtods in V8.

No tests. No change in behavior.

* bindings/v8/NPV8Object.cpp:
(_NPN_Construct):
* bindings/v8/V8Binding.cpp:
(WebCore::assertIfV8IsDead):
(WebCore):
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8ObjectConstructor.cpp:
(WebCore::V8ObjectConstructor::newInstance):
(WebCore):
(WebCore::V8ObjectConstructor::newInstanceInFrame):
* bindings/v8/V8ObjectConstructor.h:
(WebCore):
(V8ObjectConstructor):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::runScript):
(WebCore::V8Proxy::instrumentedCallFunction):

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

7 years ago[Tests] time-multiple-fields-appearance-basic.html and time-multiple-fields-appearanc...
yosin@chromium.org [Mon, 20 Aug 2012 07:38:54 +0000 (07:38 +0000)]
[Tests] time-multiple-fields-appearance-basic.html and time-multiple-fields-appearance-pseudo-elements.html are failed on Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=94439

Unreviewed. Temporary disabled these tests.

* platform/chromium/TestExpectations: Add entries for these tests.

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

7 years ago[V8] Move V8Proxy::m_extensions to ScriptController
haraken@chromium.org [Mon, 20 Aug 2012 07:33:10 +0000 (07:33 +0000)]
[V8] Move V8Proxy::m_extensions to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94444

Reviewed by Adam Barth.

Source/WebCore:

To kill V8Proxy, this patch moves V8Proxy::m_extensions to ScriptController.
This patch also renames extensions() to registeredExtensions() for clarification.

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::registeredExtensions):
(WebCore):
(WebCore::ScriptController::registerExtensionIfNeeded):
* bindings/v8/ScriptController.h:
(WebCore):
(ScriptController):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::createNewContext):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
(WebCore):
(V8Proxy):

Source/WebKit/chromium:

To kill V8Proxy, this patch moves V8Proxy::m_extensions to ScriptController.

No tests. No change in behavior.

* src/WebScriptController.cpp:
(WebKit::WebScriptController::registerExtension):

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

7 years agoWeb Inspector: toolbar causes 8 reflows upon opening
pfeldman@chromium.org [Mon, 20 Aug 2012 07:21:16 +0000 (07:21 +0000)]
Web Inspector: toolbar causes 8 reflows upon opening
https://bugs.webkit.org/show_bug.cgi?id=94422

Reviewed by Yury Semikhatsky.

Toolbar's overflow code causes inspector to do 8 reflows upon opening.
Fixing it via introducing batch toolbar update.

* inspector/front-end/Toolbar.js:
(WebInspector.Toolbar):
(WebInspector.Toolbar.prototype.setCoalescingUpdate):
(WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
* inspector/front-end/inspector.css:
(body.compact .toolbar-icon):
(body.compact .toolbar-icon.custom-toolbar-icon):
(body.compact .toolbar-item:active .toolbar-icon):
(body.compact .toolbar-label):
(body.compact .toolbar-item.resources .toolbar-icon):
(body.compact .toolbar-item.network .toolbar-icon):
(body.compact .toolbar-item.scripts .toolbar-icon):
(body.compact .toolbar-item.timeline .toolbar-icon):
(body.compact .toolbar-item.profiles .toolbar-icon):
(body.compact .toolbar-item.audits .toolbar-icon):
(body.compact .toolbar-item.console .toolbar-icon):
* inspector/front-end/inspector.js:
(WebInspector.get _setCompactMode):
(WebInspector.windowResize):

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

7 years ago[V8] Replace proxy()->windowShell() in ScriptController with windowShell()
haraken@chromium.org [Mon, 20 Aug 2012 06:51:59 +0000 (06:51 +0000)]
[V8] Replace proxy()->windowShell() in ScriptController with windowShell()
https://bugs.webkit.org/show_bug.cgi?id=94445

Reviewed by Adam Barth.

Now ScriptController owns windowShell. So ScriptController doesn't
need to get windowShell through V8Proxy.

No tests. No change in behavior.

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::updateSecurityOrigin):
(WebCore::ScriptController::haveInterpreter):
(WebCore::ScriptController::enableEval):
(WebCore::ScriptController::disableEval):
(WebCore::ScriptController::updateDocument):
(WebCore::ScriptController::namedItemAdded):
(WebCore::ScriptController::namedItemRemoved):

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

7 years agoThe relationship between abstract values and structure transition watchpoints should...
fpizlo@apple.com [Mon, 20 Aug 2012 06:11:24 +0000 (06:11 +0000)]
The relationship between abstract values and structure transition watchpoints should be rationalized
https://bugs.webkit.org/show_bug.cgi?id=94205

Reviewed by Geoffrey Garen.

This patch does a number of things related to the handling of the abstract values
arrising from values with structures known to be watchpointable:

- This rationalizes the relationship between the structure that we know an object
  to have *right now* based on having executed a check against that structure, and
  the structure that we know the object could have *in the future* based on a type
  check executed in the past over a structure that was watchpointable.

- We use the above to assert that structure transition watchpoints are being used
  soundly.

- We use the above to strength reduce CheckStructure into StructureTransitionWatchpoint
  whenever possible.

- This rationalizes the handling of CFA over constants that appeared in the bytecode.
  If at compile-time the constant has a watchpointable structure, then we can prove
  what structures it may have in the future. The analysis uses this to both assert
  that structure transition watchpoints are being used correctly, and to find
  opportunities for using them more aggressively.

The net effect of all of these changes is that OSR entry should work more smoothly.
It may also be a slight win due to strength reductions, though most of those strength
reductions would have already been done by the parser and the structure check hoister.

* GNUmakefile.list.am:
* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::beginBasicBlock):
(JSC::DFG::AbstractState::execute):
* dfg/DFGAbstractValue.h:
(DFG):
(JSC::DFG::AbstractValue::clear):
(JSC::DFG::AbstractValue::isClear):
(JSC::DFG::AbstractValue::makeTop):
(JSC::DFG::AbstractValue::clobberStructures):
(JSC::DFG::AbstractValue::isTop):
(JSC::DFG::AbstractValue::setFuturePossibleStructure):
(AbstractValue):
(JSC::DFG::AbstractValue::filterFuturePossibleStructure):
(JSC::DFG::AbstractValue::setMostSpecific):
(JSC::DFG::AbstractValue::set):
(JSC::DFG::AbstractValue::operator==):
(JSC::DFG::AbstractValue::merge):
(JSC::DFG::AbstractValue::filter):
(JSC::DFG::AbstractValue::filterValueByType):
(JSC::DFG::AbstractValue::validateType):
(JSC::DFG::AbstractValue::validate):
(JSC::DFG::AbstractValue::checkConsistency):
(JSC::DFG::AbstractValue::dump):
* dfg/DFGArgumentsSimplificationPhase.cpp:
(JSC::DFG::ArgumentsSimplificationPhase::run):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::checkStructureLoadElimination):
(JSC::DFG::CSEPhase::structureTransitionWatchpointElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGConstantFoldingPhase.cpp:
(JSC::DFG::ConstantFoldingPhase::foldConstants):
* dfg/DFGNode.h:
(JSC::DFG::Node::convertToStructureTransitionWatchpoint):
(Node):
(JSC::DFG::Node::hasStructure):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::convertLastOSRExitToForward):
(JSC::DFG::SpeculativeJIT::forwardSpeculationWatchpoint):
(DFG):
(JSC::DFG::SpeculativeJIT::speculationWatchpointWithConditionalDirection):
(JSC::DFG::SpeculativeJIT::forwardSpeculationCheck):
(JSC::DFG::SpeculativeJIT::speculateArray):
* dfg/DFGSpeculativeJIT.h:
(SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGStructureAbstractValue.h: Added.
(DFG):
(StructureAbstractValue):
(JSC::DFG::StructureAbstractValue::StructureAbstractValue):
(JSC::DFG::StructureAbstractValue::clear):
(JSC::DFG::StructureAbstractValue::makeTop):
(JSC::DFG::StructureAbstractValue::top):
(JSC::DFG::StructureAbstractValue::add):
(JSC::DFG::StructureAbstractValue::addAll):
(JSC::DFG::StructureAbstractValue::contains):
(JSC::DFG::StructureAbstractValue::isSubsetOf):
(JSC::DFG::StructureAbstractValue::doesNotContainAnyOtherThan):
(JSC::DFG::StructureAbstractValue::isSupersetOf):
(JSC::DFG::StructureAbstractValue::filter):
(JSC::DFG::StructureAbstractValue::isClear):
(JSC::DFG::StructureAbstractValue::isTop):
(JSC::DFG::StructureAbstractValue::isClearOrTop):
(JSC::DFG::StructureAbstractValue::isNeitherClearNorTop):
(JSC::DFG::StructureAbstractValue::size):
(JSC::DFG::StructureAbstractValue::at):
(JSC::DFG::StructureAbstractValue::operator[]):
(JSC::DFG::StructureAbstractValue::last):
(JSC::DFG::StructureAbstractValue::speculationFromStructures):
(JSC::DFG::StructureAbstractValue::hasSingleton):
(JSC::DFG::StructureAbstractValue::singleton):
(JSC::DFG::StructureAbstractValue::operator==):
(JSC::DFG::StructureAbstractValue::dump):
(JSC::DFG::StructureAbstractValue::topValue):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):

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

7 years ago[V8] Move V8Proxy::callFunction() to ScriptController
haraken@chromium.org [Mon, 20 Aug 2012 05:18:56 +0000 (05:18 +0000)]
[V8] Move V8Proxy::callFunction() to ScriptController
https://bugs.webkit.org/show_bug.cgi?id=94437

Reviewed by Adam Barth.

To kill V8Proxy, this patch moves callFunction() from V8Proxy to ScriptController.

No tests. No change in behavior.

* bindings/v8/DOMTransaction.cpp:
(WebCore::DOMTransaction::callFunction):
* bindings/v8/NPV8Object.cpp:
(_NPN_Invoke):
(_NPN_InvokeDefault):
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/v8/ScheduledAction.h:
(WebCore):
(ScheduledAction):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::callFunction):
(WebCore):
(WebCore::ScriptController::callFunctionEvenIfScriptDisabled):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/V8EventListener.cpp:
(WebCore::V8EventListener::callListenerFunction):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::callListenerFunction):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::openCallback):

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

7 years ago[Forms] Set SpinButtonElement free from HTMLInputElement
yosin@chromium.org [Mon, 20 Aug 2012 05:11:05 +0000 (05:11 +0000)]
[Forms] Set SpinButtonElement free from HTMLInputElement
https://bugs.webkit.org/show_bug.cgi?id=93941

Reviewed by Kent Tamura.

This patch removes dependency to HTMLInputElement from SpinButtonElement.

Functionalities used to be calling HTMLInputElement functions are
replaced to calling functions SpinButtonOwner class.

* html/TextFieldInputType.cpp:
(WebCore::TextFieldInputType::focusAndSelectSpinButtonOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
(WebCore::TextFieldInputType::shouldSpinButtonRespondToMouseEvents): Moved code from SpinButtonElement::willRespondToMouseClickEvents
(WebCore::TextFieldInputType::shouldSpinButtonRespondToWheelEvents): Moved code from SpinButtonElement::forwardEvent
* html/TextFieldInputType.h:
(TextFieldInputType):
* html/TimeInputType.cpp:
(WebCore::TimeInputType::DateTimeEditControlOwnerImpl::focusAndSelectEditControlOwner): Moved functionality from SpinButtonElement::defaultEventHandler.
(WebCore::TimeInputType::DateTimeEditControlOwnerImpl::isEditControlOwnerFocused): Added for DateTimeEditElement::shouldSpinButtonRespondToWheelEvents.
* html/TimeInputType.h:
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::focusAndSelectSpinButtonOwner): Added for SpinButtonElementOwner class change.
(WebCore::DateTimeEditElement::shouldSpinButtonRespondToMouseEvents): ditto
(WebCore::DateTimeEditElement::shouldSpinButtonRespondToWheelEvents): ditto
* html/shadow/DateTimeEditElement.h:
(EditControlOwner): Added new virtual function declarations for SpinButtonElementOwner class change.
(DateTimeEditElement): Added new function declarations for SpinButtonElementOwner.
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::defaultEventHandler): Changed to use SpinButtonElementOwner instead of HTMLInputElement.
(WebCore::SpinButtonElement::forwardEvent): ditto
(WebCore::SpinButtonElement::willRespondToMouseMoveEvents): ditto
(WebCore::SpinButtonElement::willRespondToMouseClickEvents): ditto
(WebCore::SpinButtonElement::step): ditto
(WebCore::SpinButtonElement::shouldRespondToMouseEvents): Added helper function for calling SpinButtonOwner instance.
* html/shadow/SpinButtonElement.h:
(SpinButtonOwner): Added new virtual function declarations.
(SpinButtonElement):

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

7 years ago[Tests] time-multiple-fields-appearance-basic.html and time-multiple-fields-appearanc...
yosin@chromium.org [Mon, 20 Aug 2012 04:52:56 +0000 (04:52 +0000)]
[Tests] time-multiple-fields-appearance-basic.html and time-multiple-fields-appearance-pseudo-elements.html are failed on Chromium Mac
https://bugs.webkit.org/show_bug.cgi?id=94439

Reviewed by Kent Tamura.

Source/WebCore:

This patch disabled CSS selector for Firefox compatibility applied to
multiple fields time input UI, because it is supposed to apply text
field rather than multiple fields.

This patch allows us to have same appearance among Chromium-Linux,
Mac and Win.

No new tests. Following existing tests cover this change:
  fast/forms/time-multiple-fields/time-multiple-fields-appearance-basic.html
  fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly.html
  fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes.html
  fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-elements.html
  fast/forms/time-multiple-fields/time-multiple-fields-appearance-style.html

* css/themeWin.css: Exclude input[type="time"] selector if ENABLE_INPUT_TYPE_TIME_MULTIPLE_FIELDS
enabled.

LayoutTests:

This patch updates expected images of multiple fields time input UI for
Chromium-Linux and CSS selectors for expected HTML file for changing
of Source/WebCore/css/themeWin.css.

* fast/forms/time-multiple-fields/resources/time-multiple-fields-appearance.css:
(.host): Changed padding property.
(.ampmField): Remove wrong property.
(.hourField): ditto
(.millisecondField): ditto
(.minuteField): ditto
(.secondField): ditto
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly-expected.png:
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-disabled-readonly-expected.txt:
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.png:
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-pseudo-classes-expected.txt:
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-style-expected.png:
* platform/chromium-linux/fast/forms/time-multiple-fields/time-multiple-fields-appearance-style-expected.txt:
* platform/chromium/TestExpectations: Remove Chromium-Mac disabled entries.

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