WebKit-https.git
7 years ago[EFL] Gardening of failing tests
commit-queue@webkit.org [Fri, 3 Aug 2012 13:47:30 +0000 (13:47 +0000)]
[EFL] Gardening of failing tests
https://bugs.webkit.org/show_bug.cgi?id=93098

Unreviewed EFL gardening. Add failing tests to the Test Expectations.

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

* platform/efl/TestExpectations:

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

7 years ago[WK2] LayerTreeCoordinator can disallow tile updates in forceRepaint
kbalazs@webkit.org [Fri, 3 Aug 2012 13:06:16 +0000 (13:06 +0000)]
[WK2] LayerTreeCoordinator can disallow tile updates in forceRepaint
https://bugs.webkit.org/show_bug.cgi?id=93077

Reviewed by Jocelyn Turcotte.

Force tile updates when doing a forced repaint.

* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::forceRepaint):
(WebKit::LayerTreeCoordinator::layerTreeTileUpdatesAllowed):
* WebProcess/WebPage/LayerTreeCoordinator/LayerTreeCoordinator.h:
(LayerTreeCoordinator):

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

7 years agoUnreviewed build fix for GTK after r124581.
mario@webkit.org [Fri, 3 Aug 2012 12:56:21 +0000 (12:56 +0000)]
Unreviewed build fix for GTK after r124581.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(runTest): Fix wrong variable name in ASSERT.

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

7 years ago[Qt] Always save CONFIG & DEFINES in default_pre
vestbo@webkit.org [Fri, 3 Aug 2012 12:54:23 +0000 (12:54 +0000)]
[Qt] Always save CONFIG & DEFINES in default_pre

Always doing it is cheaper than checking whether it needs to be done.
apart from that, it would break configuration initiated from another
project.

Patch by Oswald Buddenhagen <oswald.buddenhagen@nokia.com> on 2012-08-03
Reviewed by Tor Arne Vestbø.

* qmake/mkspecs/features/default_pre.prf:

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

7 years ago[WTR] process unresponsiveness is reported to the wrong test
kbalazs@webkit.org [Fri, 3 Aug 2012 12:25:16 +0000 (12:25 +0000)]
[WTR] process unresponsiveness is reported to the wrong test
https://bugs.webkit.org/show_bug.cgi?id=88404

2nd unreviewed buildfix.

* WebKitTestRunner/TestInvocation.cpp:

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

7 years ago[EFL][DRT] fast/loader/stop-provisional-loads.html fails
commit-queue@webkit.org [Fri, 3 Aug 2012 12:16:30 +0000 (12:16 +0000)]
[EFL][DRT] fast/loader/stop-provisional-loads.html fails
https://bugs.webkit.org/show_bug.cgi?id=92219

Patch by Joone Hur <joone.hur@intel.com> on 2012-08-03
Reviewed by Kenneth Rohde Christiansen.

This patch adds the ability to tell DRT to call ewk_frame_stop
inside of a didStartProvisionalLoadForFrame signal handler.
It allows to pass fast/loader/stop-provisional-loads.html.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::onFrameProvisionalLoad):

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

7 years ago[WTR] process unresponsiveness is reported to the wrong test
kbalazs@webkit.org [Fri, 3 Aug 2012 12:08:33 +0000 (12:08 +0000)]
[WTR] process unresponsiveness is reported to the wrong test
https://bugs.webkit.org/show_bug.cgi?id=88404

Unreviewed buildfix. Also made the change on the array size
suggested on review because I forgot it when landed.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):

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

7 years agoAdd missing include to build on Mac OS 10.8
vestbo@webkit.org [Fri, 3 Aug 2012 11:53:53 +0000 (11:53 +0000)]
Add missing include to build on Mac OS 10.8

Reviewed by Ossy.

* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:

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

7 years ago[WTR] process unresponsiveness is reported to the wrong test
kbalazs@webkit.org [Fri, 3 Aug 2012 11:51:58 +0000 (11:51 +0000)]
[WTR] process unresponsiveness is reported to the wrong test
https://bugs.webkit.org/show_bug.cgi?id=88404

Reviewed by Zoltan Herczeg.

Do resetting to consistent state after the finished test,
not before the next. This way we can report unresponsiveness
to the test that triggered it, and we do a restart before the
next test so it will start in a functional state.

* Scripts/webkitpy/layout_tests/port/webkit.py:
(WebKitDriver._check_for_driver_crash):
Print the error line for unresponsive web process, otherwise
it's hard to tell what happened.
* WebKitTestRunner/TestController.cpp:
(WTR):
Decreased the default short timeout so we can detect unresponsiveness
before the timer of the test harness times out. It was unnecessarily
high anyway, we should get answer from the web process in those cases
when the short timeout is used in less than a second.
(WTR::TestController::runTest):
(WTR::TestController::run):
* WebKitTestRunner/TestController.h:
(TestController):
* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::invoke):
(WTR::TestInvocation::dump):
(WTR::TestInvocation::didReceiveMessageFromInjectedBundle):
* WebKitTestRunner/TestInvocation.h:
(TestInvocation): Make the dump function static as it doesn't need an object.

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

7 years ago[EFL] (REGRESSION 124581) : EFL 64-bit Debug bot is red and build is exiting early...
kbalazs@webkit.org [Fri, 3 Aug 2012 11:23:08 +0000 (11:23 +0000)]
[EFL] (REGRESSION 124581) : EFL 64-bit Debug bot is red and build is exiting early after 20 test crashes
https://bugs.webkit.org/show_bug.cgi?id=93084

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-08-03
Reviewed by Csaba Osztrogonác.

Fix regression introduced in r124581.

* DumpRenderTree/efl/DumpRenderTree.cpp:
(getFinalTestURL): Convert the path into a full file URL.
(runTest):

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

7 years ago[V8] Re-wire "target" half of the same-origin security check through Document rather...
abarth@webkit.org [Fri, 3 Aug 2012 11:17:47 +0000 (11:17 +0000)]
[V8] Re-wire "target" half of the same-origin security check through Document rather than DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=93079

Reviewed by Eric Seidel.

Before this patch, we were traversing from Nodes to Frames to
DOMWindows to SecurityOrigins when determing the "target" of an
operation for the same-origin policy security check. Rather than
detouring through DOMWindow, these security checks should operate in
terms of ScriptExecutionContexts (aka Documents) because that's the
canonical place we store SecurityOrigin objects.

A future patch will re-wire the "active" part of the security check to
use ScriptExecutionContexts as well and we'll be able to remove the
extra copy of SecurityOrigin that we keep in DOMWindow.

* bindings/generic/BindingSecurity.cpp:
(WebCore::canAccessDocument):
(WebCore::BindingSecurity::canAccessFrame):
(WebCore::BindingSecurity::shouldAllowAccessToNode):
* bindings/v8/BindingState.cpp:
(WebCore::immediatelyReportUnsafeAccessTo):
* bindings/v8/BindingState.h:
(WebCore):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::reportUnsafeJavaScriptAccess):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::reportUnsafeAccessTo):
* bindings/v8/V8Proxy.h:
(V8Proxy):

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

7 years agoColorSuggestionPicker popup's height doesn't get smaller than 100 px
keishi@webkit.org [Fri, 3 Aug 2012 10:49:35 +0000 (10:49 +0000)]
ColorSuggestionPicker popup's height doesn't get smaller than 100 px
https://bugs.webkit.org/show_bug.cgi?id=92945

Reviewed by Kent Tamura.

Source/WebCore:

A window cannot be resized to be smaller than 100x100 pixels so this
adjust the color suggestion popup UI to look better when there are only
a few suggestions.

Tests: platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance.html
       platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance.html

* Resources/colorSuggestionPicker.css:
(.color-swatch-container): Vertically center the swatches.

LayoutTests:

* platform/chromium-mac/platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.png: Added.
* platform/chromium-mac/platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.png: Added.
* platform/chromium/TestExpectations:
* platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance-expected.txt: Added.
* platform/chromium/fast/forms/color/color-suggestion-picker-one-row-appearance.html: Added.
* platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance-expected.txt: Added.
* platform/chromium/fast/forms/color/color-suggestion-picker-two-row-appearance.html: Added.

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

7 years agoWeb Inspector: Remove InspectorCSSAgent from InstrumentingAgents on clearFrontend()
apavlov@chromium.org [Fri, 3 Aug 2012 10:45:00 +0000 (10:45 +0000)]
Web Inspector: Remove InspectorCSSAgent from InstrumentingAgents on clearFrontend()
https://bugs.webkit.org/show_bug.cgi?id=93082

Reviewed by Yury Semikhatsky.

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::InspectorCSSAgent):
(WebCore::InspectorCSSAgent::~InspectorCSSAgent):
(WebCore::InspectorCSSAgent::setFrontend):
(WebCore::InspectorCSSAgent::clearFrontend):

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

7 years agoWeb Inspector: Profiles: extract save to file / load from code
commit-queue@webkit.org [Fri, 3 Aug 2012 10:28:23 +0000 (10:28 +0000)]
Web Inspector: Profiles: extract save to file / load from code
https://bugs.webkit.org/show_bug.cgi?id=92348

Patch by Eugene Klyuchnikov <eustas.big@gmail.com> on 2012-08-03
Reviewed by Yury Semikhatsky.

Source/WebCore:

Motivation: extract reusable code for timeline load/save.
FileUtils.js will contain common code. Not all code moved to FileUtils
to make review easier. This code will be moved in next patch.

Core abstractions: OutputStream and OutputStreamDelegate.

OutputStream is interface that is used to transfer entity divded
to chunks. Transfer process is explicitly initialized (startTransfer)
and finalized (finishTrnsfer).

OutputStreamDelegate is interface to receive notifications about
transfer process: onTransferStarted, onChunkTransferred, onTransferFinished.

ChunkedFileReader: utility class that loads file by chunks of specified
size and notifies given delegate. OutputStream is supplied as a
parameter of method "start".

ChunkedFileWriter: implementation of OutputStream that saves data
to file specified by file name and notifies given delegate.

* WebCore.gypi: Added 'FileUtils.js'.
* WebCore.vcproj/WebCore.vcproj: Added 'FileUtils.js'.
* inspector/compile-front-end.py: Added 'FileUtils.js'.
* inspector/front-end/FileUtils.js: Added.
(WebInspector.OutputStreamDelegate): Added.
(WebInspector.ChunkedFileReader): Added.
(WebInspector.createFileSelectorElement): Added utility method to construct
hidden input element to select file.
* inspector/front-end/HeapSnapshotLoader.js: Adopted new API.
* inspector/front-end/HeapSnapshotProxy.js: Adopted new API.
* inspector/front-end/HeapSnapshotView.js: Adopted new API.
(WebInspector.HeapSnapshotLoadFromFileDelegate):
Extracted from existing code.
(WebInspector.ChunkedFileWriter): Renamed and refactored.
(WebInspector.HeapSnapshotSaveToFileDelegate):
Extracted from existing code.
* inspector/front-end/ProfilesPanel.js: Adopted new API.

LayoutTests:

Changed test to adopt new API. Replaced FS mock with
reader mock.

* inspector/profiler/heap-snapshot-loader.html:
Adopted new API.

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

7 years agoWeb Inspector: Incorrect blob url href when inspecting
apavlov@chromium.org [Fri, 3 Aug 2012 10:25:20 +0000 (10:25 +0000)]
Web Inspector: Incorrect blob url href when inspecting
https://bugs.webkit.org/show_bug.cgi?id=93076

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Special-cased the "blob" scheme to return the original URL intact on completion.

* inspector/front-end/ResourceUtils.js:
(WebInspector.completeURL):

LayoutTests:

* inspector/styles/styles-url-linkify-expected.txt:
* inspector/styles/styles-url-linkify.html:

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

7 years agoWeb Inspector: add CSSRule memory instrumentation
yurys@chromium.org [Fri, 3 Aug 2012 10:18:31 +0000 (10:18 +0000)]
Web Inspector: add CSSRule memory instrumentation
https://bugs.webkit.org/show_bug.cgi?id=92962

Reviewed by Pavel Feldman.

Added memory footprint reporting method to CSSRule and its descendants.

* css/CSSCharsetRule.cpp:
(WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
(WebCore):
* css/CSSCharsetRule.h:
(CSSCharsetRule):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::reportMemoryUsage):
(WebCore):
* css/CSSComputedStyleDeclaration.h:
(CSSComputedStyleDeclaration):
* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::reportDescendantMemoryUsage):
(WebCore):
* css/CSSFontFaceRule.h:
(CSSFontFaceRule):
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::reportDescendantMemoryUsage):
(WebCore):
* css/CSSImportRule.h:
(CSSImportRule):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::reportDescendantMemoryUsage):
(WebCore):
* css/CSSMediaRule.h:
(CSSMediaRule):
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::reportDescendantMemoryUsage):
(WebCore):
* css/CSSPageRule.h:
(CSSPageRule):
* css/CSSRule.cpp:
(WebCore::CSSRule::reportMemoryUsage): we manually implement polymorphic
call here to avoid adding vtable pointer to all CSSRule objects. Descendants
are expected to report their memory via reportDescendantMemoryUsage. The name
is intentionally different from reportMemoryUsage to avoid accidential infitite
recursion: if the descendants overrode non-virtual CSSRule::reportMemoryUsage,
it would be easy to add a new descendant type to the switch in
CSSRule::reportMemoryUsage without providing proper override for reportMemoryUsage
and CSSRule::reportMemoryUsage would end up calling itself.
(WebCore):
(WebCore::CSSRule::reportBaseClassMemoryUsage): again we cannot use
MemoryClassInfo::visitBaseClass like we do for virtual methods because it would
lead to a recursive call of CSSRule::reportMemoryUsage. This is why we use
reportBaseClassMemoryUsage to allow descendants to report objects referenced
from their base class.
* css/CSSRule.h:
(WebCore):
(CSSRule):
* css/CSSRuleList.cpp:
(WebCore::StaticCSSRuleList::reportMemoryUsage):
(WebCore):
* css/CSSRuleList.h:
(WebCore):
(CSSRuleList):
(StaticCSSRuleList):
(LiveCSSRuleList):
* css/CSSStyleDeclaration.h:
(WebCore):
(CSSStyleDeclaration):
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::reportDescendantMemoryUsage):
(WebCore):
* css/CSSStyleRule.h:
(CSSStyleRule):
* css/CSSStyleSheet.cpp:
(StyleSheetCSSRuleList):
(WebCore::CSSStyleSheet::reportMemoryUsage):
* css/CSSUnknownRule.h:
(CSSUnknownRule):
(WebCore::CSSUnknownRule::reportDescendantMemoryUsage):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
(WebCore):
(WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
(WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
* css/PropertySetCSSStyleDeclaration.h:
(PropertySetCSSStyleDeclaration):
(StyleRuleCSSStyleDeclaration):
(InlineCSSStyleDeclaration):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::WebKitCSSKeyframeRule::reportDescendantMemoryUsage):
(WebCore):
* css/WebKitCSSKeyframeRule.h:
(WebKitCSSKeyframeRule):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
(WebCore):
* css/WebKitCSSKeyframesRule.h:
(WebKitCSSKeyframesRule):
* css/WebKitCSSRegionRule.cpp:
(WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
(WebCore):
* css/WebKitCSSRegionRule.h:
(WebKitCSSRegionRule):

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

7 years agoWebCore::DragController::cleanupAfterSystemDrag should null-check page
abarth@webkit.org [Fri, 3 Aug 2012 10:14:44 +0000 (10:14 +0000)]
WebCore::DragController::cleanupAfterSystemDrag should null-check page
https://bugs.webkit.org/show_bug.cgi?id=61815

Reviewed by Eric Seidel.

* page/DragController.cpp:
(WebCore::DragController::dragEnteredOrUpdated):
(WebCore::DragController::doSystemDrag):

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

7 years ago[cmake] Cleanup FindHarfBuzz.cmake
commit-queue@webkit.org [Fri, 3 Aug 2012 10:02:37 +0000 (10:02 +0000)]
[cmake] Cleanup FindHarfBuzz.cmake
https://bugs.webkit.org/show_bug.cgi?id=92984

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-08-03
Reviewed by Hajime Morita.

Cleanup which didn't make it into my previous ptch.

* Source/cmake/FindHarfBuzz.cmake: Remove duplicate line, add a bit of documentation.

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

7 years agoDelete text from password does nothing.
commit-queue@webkit.org [Fri, 3 Aug 2012 09:35:24 +0000 (09:35 +0000)]
Delete text from password does nothing.
https://bugs.webkit.org/show_bug.cgi?id=92040

Patch by Sergio Carlos Morales Angeles <carloschilazo@gmail.com> on 2012-08-03
Reviewed by Ryosuke Niwa.

Source/WebCore:

Use Editor::canDelete() to determine if field is editable or not.
Added password-delete-contents test.

Test: editing/deleting/password-delete-contents.html

* editing/EditorCommand.cpp:
(WebCore::enabledDelete):

LayoutTests:

Added regression test for password field content delete.

* editing/deleting/password-delete-contents-expected.txt: Added.
* editing/deleting/password-delete-contents.html: Added.

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

7 years agoUnreviewed GTK gardening, adding text failure expectations for 20 MathML
zandobersek@gmail.com [Fri, 3 Aug 2012 09:12:41 +0000 (09:12 +0000)]
Unreviewed GTK gardening, adding text failure expectations for 20 MathML
Presentation tests that started failing after r124512.

* platform/gtk/TestExpectations:

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

7 years agoWeb Inspector: Make textModel private to textEditor
commit-queue@webkit.org [Fri, 3 Aug 2012 09:03:05 +0000 (09:03 +0000)]
Web Inspector: Make textModel private to textEditor
https://bugs.webkit.org/show_bug.cgi?id=92999

Patch by Jan Keromnes <janx@linux.com> on 2012-08-03
Reviewed by Pavel Feldman.

Source/WebCore:

Making textModel private to the textEditor ensures that it is accessed
only through the textEditor, making the latter more modular.

Tests were changed accordingly.

* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype._restoreBreakpointsAfterEditing):
(WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
(WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
(WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
* inspector/front-end/SourceFrame.js:
(WebInspector.SourceFrame):
(WebInspector.SourceFrame.prototype.setContent):
(WebInspector.SourceFrame.prototype.replaceAllWith):
(WebInspector.SourceFrame.prototype._collectRegexMatches):
(WebInspector.SourceFrame.prototype.addMessageToSource):
(WebInspector.SourceFrame.prototype.removeMessageFromSource):
(WebInspector.TextEditorDelegateForSourceFrame.prototype.commitEditing):
* inspector/front-end/TextEditor.js:
(WebInspector.TextEditor.prototype.setText):
(WebInspector.TextEditor.prototype.text):
(WebInspector.TextEditor.prototype.range):
(WebInspector.TextEditor.prototype.line):
(WebInspector.TextEditor.prototype.get linesCount):
(WebInspector.TextEditor.prototype.setAttribute):
(WebInspector.TextEditor.prototype.getAttribute):
(WebInspector.TextEditor.prototype.removeAttribute):
* inspector/front-end/UISourceCodeFrame.js:
(WebInspector.UISourceCodeFrame.prototype.afterTextChanged):

LayoutTests:

Tests no longer access textModel directly from sourceFrame.

* http/tests/inspector/debugger-test.js:
(initialize_DebuggerTest):
* http/tests/inspector/live-edit-test.js:
(initialize_LiveEditTest.InspectorTest.replaceInSource):
(initialize_LiveEditTest):
* inspector/debugger/pause-in-inline-script.html:
* inspector/debugger/script-formatter.html:
* inspector/debugger/source-url-comment.html:

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

7 years agoV8Proxy::retrieve(*) leads to really obfuscated code and should be removed
abarth@webkit.org [Fri, 3 Aug 2012 08:56:08 +0000 (08:56 +0000)]
V8Proxy::retrieve(*) leads to really obfuscated code and should be removed
https://bugs.webkit.org/show_bug.cgi?id=93072

Reviewed by Eric Seidel.

Source/WebCore:

Once upon a time, V8Proxy::retrieve did a bunch of checks before
returning the V8Proxy object (such as checking whether script was
enabled). Over time, we've removed all of these checks in order to fix
various bugs. Now all it does is check whether the Frame is 0. However,
because the function ends up returning 0 when its argument is 0, the
caller sill needs to have a null check.

This patch deletes all the variations of V8Proxy::retrieve(*) and
inlines them into their callers. In several cases, inlining the
function call showed that we were testing the Frame for 0 twice, and
I've removed the redundant null checks. In other cases, I've
uncontorted the callers to make the code more readable.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateToV8Converters):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::V8TestActiveDOMObject::wrapSlow):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::V8TestNode::wrapSlow):
* bindings/v8/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::addListener):
* bindings/v8/ScheduledAction.cpp:
(WebCore::ScheduledAction::execute):
* bindings/v8/ScriptController.h:
(WebCore::ScriptController::windowShell):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::instantiateV8Object):
* bindings/v8/V8EventListener.cpp:
(WebCore::V8EventListener::callListenerFunction):
* bindings/v8/V8Helpers.cpp:
(WebCore::toV8Proxy):
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::callListenerFunction):
(WebCore::V8LazyEventListener::prepareListenerObject):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::handleOutOfMemory):
(WebCore::V8Proxy::retrievePerContextData):
(WebCore::V8Proxy::mainWorldContext):
(WebCore::toV8Context):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::addEventListenerCallback):
(WebCore::V8DOMWindow::removeEventListenerCallback):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::openCallback):
(WebCore::toV8):
* bindings/v8/custom/V8SVGDocumentCustom.cpp:
(WebCore::toV8):

Source/WebKit/chromium:

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

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

7 years agoAdd *explicit* keyword to constructors in WebCore/accessibility
gyuyoung.kim@samsung.com [Fri, 3 Aug 2012 08:41:07 +0000 (08:41 +0000)]
Add *explicit* keyword to constructors in WebCore/accessibility
https://bugs.webkit.org/show_bug.cgi?id=93067

Reviewed by Kentaro Hara.

As a step to add *explicit* keyword to constructors which have a parameter,
*explicit* keyword is added to Source/WebCore/accessibility in order to avoid
implicit type conversion.

No new tests. Covered by existing tests.

* accessibility/AXObjectCache.h:
(AXObjectCache):
* accessibility/AccessibilityARIAGrid.h:
(AccessibilityARIAGrid):
* accessibility/AccessibilityARIAGridCell.h:
(AccessibilityARIAGridCell):
* accessibility/AccessibilityARIAGridRow.h:
(AccessibilityARIAGridRow):
* accessibility/AccessibilityList.h:
(AccessibilityList):
* accessibility/AccessibilityListBox.h:
(AccessibilityListBox):
* accessibility/AccessibilityMediaControls.h:
(AccessibilityMediaControl):
(AccessibilityMediaTimeline):
(AccessibilityMediaControlsContainer):
(AccessibilityMediaTimeDisplay):
* accessibility/AccessibilityMenuList.h:
(AccessibilityMenuList):
* accessibility/AccessibilityNodeObject.h:
(AccessibilityNodeObject):
* accessibility/AccessibilityProgressIndicator.h:
(AccessibilityProgressIndicator):
* accessibility/AccessibilityRenderObject.h:
(AccessibilityRenderObject):
* accessibility/AccessibilityScrollView.h:
(AccessibilityScrollView):
* accessibility/AccessibilityScrollbar.h:
(AccessibilityScrollbar):
* accessibility/AccessibilitySlider.h:
(AccessibilitySlider):
* accessibility/AccessibilityTable.h:
(AccessibilityTable):
* accessibility/AccessibilityTableCell.h:
(AccessibilityTableCell):
* accessibility/AccessibilityTableRow.h:
(AccessibilityTableRow):

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

7 years agoAll ports should support per test switching of pixel testing
kbalazs@webkit.org [Fri, 3 Aug 2012 08:20:19 +0000 (08:20 +0000)]
All ports should support per test switching of pixel testing
https://bugs.webkit.org/show_bug.cgi?id=92398

Reviewed by Dirk Pranke.

Teach all test drivers to accept a per test control of whether
to dump pixels. Drivers now accept a -p/--pixel-test argument
on the standart input that means that running the current
test as pixel test is allowed (even if the expected hash is
missing). Removed the --pixel-tests command line option since
there is no need for it anymore.

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/DumpRenderTree.h:
(TestCommand::TestCommand):
(TestCommand):
* DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
* DumpRenderTree/DumpRenderTreeCommon.cpp: Added.
(CommandTokenizer):
(CommandTokenizer::CommandTokenizer):
(CommandTokenizer::pump):
(CommandTokenizer::next):
(CommandTokenizer::hasNext):
(die):
(parseInputLine):
Common logic to parse the input line from the standard input (or from the command line
in standalone mode). Made it somewhat general so we can easily add more arguments if
there is a need.

* DumpRenderTree/chromium/DumpRenderTree.cpp:
(runTest):
(main):

* DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityController.cpp.
* DumpRenderTree/chromium/TestRunner/AccessibilityControllerChromium.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityController.h.
* DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.cpp: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElement.cpp.
* DumpRenderTree/chromium/TestRunner/AccessibilityUIElementChromium.h: Renamed from Tools/DumpRenderTree/chromium/TestRunner/AccessibilityUIElement.h.
Renamed these files with a Chromium suffix because they were clashing with the common ones used by other ports after adding the root
DumpRenderTree directory to the include path.

* DumpRenderTree/chromium/TestRunner/TestInterfaces.cpp:
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
(TestShell::runFileTest):
(TestShell::dump):
* DumpRenderTree/chromium/TestShell.h:
(TestParams::TestParams):
(TestShell):
* DumpRenderTree/efl/CMakeLists.txt:
* DumpRenderTree/efl/DumpRenderTree.cpp:
(parseCommandLineOptions):
(runTest):
(shouldDumpPixelsAndCompareWithExpected):
(main):
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(initializeGlobalsFromCommandLineOptions):
(dump):
(runTest):
(main):
* DumpRenderTree/mac/DumpRenderTree.mm:
(initializeGlobalsFromCommandLineOptions):
(dumpRenderTree):
(dump):
(runTest):
* DumpRenderTree/qt/DumpRenderTree.pro:
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::DumpRenderTree::DumpRenderTree):
(WebCore::DumpRenderTree::open):
(WebCore::DumpRenderTree::processLine):
(WebCore::DumpRenderTree::dump):
* DumpRenderTree/qt/DumpRenderTreeQt.h:
(DumpRenderTree):
* DumpRenderTree/qt/main.cpp:
(isOption):
(printUsage):
(main):
* DumpRenderTree/win/DumpRenderTree.cpp:
(dump):
(runTest):
(dllLauncherEntryPoint):
* DumpRenderTree/win/DumpRenderTree.vcproj:
* DumpRenderTree/wscript:
* DumpRenderTree/wx/DumpRenderTreeWx.cpp:
(dump):
(runTest):
(MyApp::OnInit):
* GNUmakefile.am:

* Scripts/old-run-webkit-tests:
* Scripts/old-run-webkit-tests:
Pass --pixel-test before the hash.

* Scripts/webkitpy/layout_tests/port/base.py:
(Port.should_run_as_pixel_test): Removed now that all ports supports it.
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.cmd_line): Don't pass --pixel-tests anymore.
(Driver._command_from_driver_input):
* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort.should_run_as_pixel_test):
* Scripts/webkitpy/layout_tests/port/test.py:
(TestPort.should_run_as_pixel_test):

* WebKitTestRunner/TestController.cpp:
(WTR::TestController::TestController):
(WTR::TestController::initialize):
(WTR::TestCommand::TestCommand):
(TestCommand):
(WTR):
(CommandTokenizer):
(WTR::CommandTokenizer::CommandTokenizer):
(WTR::CommandTokenizer::pump):
(WTR::CommandTokenizer::next):
(WTR::CommandTokenizer::hasNext):
(WTR::die):
(WTR::parseInputLine):
(WTR::TestController::runTest):
* WebKitTestRunner/TestController.h:
(TestController):
Duplicate the logic for parsing the command line because
unfortunately there is no way to share code between
WebKitTestRunner and DumpRenderTree.

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

7 years agoRegression(r124564): Wrong inlineChildrenBlock->hasLayer() computed in RenderBlock...
inferno@chromium.org [Fri, 3 Aug 2012 08:15:35 +0000 (08:15 +0000)]
Regression(r124564): Wrong inlineChildrenBlock->hasLayer() computed in RenderBlock::removeChild.
https://bugs.webkit.org/show_bug.cgi?id=90800

Reviewed by Eric Seidel.

r124564 reversed the sequence of setStyle and removeChildNode calls, but failed to cache the value
of inlineChildrenBlock->hasLayer(). So, it will be null when the layer is removed from parent in setStyle.
Fixed by the caching the bool value.

Covered by existing test fast/block/layer-not-removed-from-parent-crash.html.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild):

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

7 years agoWeb Inspector: clang plugin for checking native memory instrumentation coverage.
loislo@chromium.org [Fri, 3 Aug 2012 08:04:39 +0000 (08:04 +0000)]
Web Inspector: clang plugin for checking native memory instrumentation coverage.
https://bugs.webkit.org/show_bug.cgi?id=92650

Reviewed by Yury Semikhatsky.

This is the clang plugin for checking native memory instrumentation coverage.
The idea: InspectorMemoryAgent traverses through instrumented objects and collects pointers and their sizes and types.
It is doing that with help of reportMemoryUsage function that needs to be implemented in each, significant
from native memory footprint point of view, WebCore class.
This plugin checks that the list of class members is matching with the list of members reported in reportMemoryUsage function
and makes a warning for the each member that needs to be reported.

* clang/ReportMemoryUsagePlugin/CMakeLists.txt: Added.
* clang/ReportMemoryUsagePlugin/Makefile: Added.
* clang/ReportMemoryUsagePlugin/ReportMemoryUsage.cpp: Added.
(clang):
(AddMemberCallVisitor):
(clang::AddMemberCallVisitor::VisitCallExpr):
(clang::AddMemberCallVisitor::instrumentedMembers):
(ReportMemoryUsageVisitor):
(clang::ReportMemoryUsageVisitor::ReportMemoryUsageVisitor):
(clang::ReportMemoryUsageVisitor::VisitCXXMethodDecl):
(clang::ReportMemoryUsageVisitor::emitWarning):
(clang::ReportMemoryUsageVisitor::findInstrumentationMethod):
(clang::ReportMemoryUsageVisitor::needsToBeInstrumented):
(clang::ReportMemoryUsageVisitor::CheckMembersCoverage):
(ReportMemoryUsageConsumer):
(clang::ReportMemoryUsageConsumer::ReportMemoryUsageConsumer):
(clang::ReportMemoryUsageConsumer::HandleTranslationUnit):
(ReportMemoryUsageAction):
(clang::ReportMemoryUsageAction::CreateASTConsumer):
(clang::ReportMemoryUsageAction::ParseArgs):
* clang/ReportMemoryUsagePlugin/tests/Source/WebCore/Test.cpp: Added.
(aNamespace):
(MemoryInstrumentation):
(MemoryClassInfo):
(aNamespace::MemoryClassInfo::MemoryClassInfo):
(aNamespace::MemoryClassInfo::addMember):
(aNamespace::MemoryClassInfo::addInstrumentedMember):
(OwnPtr):
(aNamespace::OwnPtr::OwnPtr):
(RefPtr):
(aNamespace::RefPtr::RefPtr):
(Vector):
(String):
(NotInstrumentedClass):
(InstrumentedClass):
(aNamespace::InstrumentedClass::reportMemoryUsage):
(InstrumentedChildClass):
(aNamespace::InstrumentedChildClass::reportMemoryUsage):
(InstrumentedChildChildClass):
(InstrumentedChildChildClass::reportMemoryUsage):
(main):

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

7 years ago[GTK] Add a new and reusable enchant-based spellchecker in WebCore
mario@webkit.org [Fri, 3 Aug 2012 08:03:51 +0000 (08:03 +0000)]
[GTK] Add a new and reusable enchant-based spellchecker in WebCore
https://bugs.webkit.org/show_bug.cgi?id=90269

Reviewed by Martin Robinson.

Source/WebCore:

Move enchant specific code down to WebCore, into a new class
TextCheckerEnchant, that we can use from WK1 and WK2.

* GNUmakefile.am: Add flags to handle the SPELLCHECK feature.
* GNUmakefile.list.am: Added new files.
* platform/text/gtk/TextCheckerEnchant.cpp: Added.
(getAvailableDictionariesCallback):
(TextCheckerEnchant::TextCheckerEnchant):
(TextCheckerEnchant::~TextCheckerEnchant):
(TextCheckerEnchant::ignoreWord):
(TextCheckerEnchant::learnWord):
(TextCheckerEnchant::checkSpellingOfString):
(TextCheckerEnchant::getGuessesForWord):
(TextCheckerEnchant::updateSpellCheckingLanguages):
(TextCheckerEnchant::freeEnchantBrokerDictionaries):
* platform/text/gtk/TextCheckerEnchant.h: Added.
(WebCore):
(TextCheckerEnchant):
(WebCore::TextCheckerEnchant::create):

Source/WebKit/gtk:

Remove enchant specific code from WebKitSpellCheckerEnchant and
implement it relying in the new TextCheckerEnchant class in WebCore.

* webkit/webkitspellcheckerenchant.cpp:
(_WebKitSpellCheckerEnchantPrivate):
(webkit_spell_checker_enchant_finalize):
(webkit_spell_checker_enchant_class_init):
(webkit_spell_checker_enchant_init):
(checkSpellingOfString):
(getGuessesForWord):
(updateSpellCheckingLanguages):
(learnWord):
(ignoreWord):

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

7 years agoUnreviewed r124536 followup, fix the assertion error on Chromium.
kseo@webkit.org [Fri, 3 Aug 2012 08:00:34 +0000 (08:00 +0000)]
Unreviewed r124536 followup, fix the assertion error on Chromium.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

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

7 years agoUnreviewed, test expectation change only.
yutak@chromium.org [Fri, 3 Aug 2012 07:52:03 +0000 (07:52 +0000)]
Unreviewed, test expectation change only.

* platform/chromium/TestExpectations: Merge a couple of tests into an existing bug.

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

7 years ago[Qt] Unreviewed gardening after r124549. Skipped a newly added failing test.
kkristof@inf.u-szeged.hu [Fri, 3 Aug 2012 07:43:07 +0000 (07:43 +0000)]
[Qt] Unreviewed gardening after r124549. Skipped a newly added failing test.
https://bugs.webkit.org/show_bug.cgi?id=93074

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-08-03

* platform/qt/Skipped:

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

7 years agoWeb Inspector: simple replace objectType with ownerObjectType in NMI code.
loislo@chromium.org [Fri, 3 Aug 2012 07:41:36 +0000 (07:41 +0000)]
Web Inspector: simple replace objectType with ownerObjectType in NMI code.
https://bugs.webkit.org/show_bug.cgi?id=93001

Reviewed by Yury Semikhatsky.

In all the cases when we are visiting members, objectType field is actually the object type of the member's owner object.

* dom/MemoryInstrumentation.h:
(WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
(InstrumentedPointer):
(WebCore::MemoryInstrumentation::addObject):
(WebCore::MemoryInstrumentation::addInstrumentedObject):
(WebCore::MemoryInstrumentation::addRawBuffer):
(WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedObject):
(WebCore::MemoryInstrumentation::OwningTraits::addObject):
(WebCore::MemoryObjectInfo::MemoryObjectInfo):
(WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
(WebCore::MemoryInstrumentation::addObjectImpl):
(WebCore::MemoryInstrumentation::addHashMap):
(WebCore::MemoryInstrumentation::addHashSet):
(WebCore::MemoryInstrumentation::addInstrumentedCollection):
(WebCore::MemoryInstrumentation::addListHashSet):
(WebCore::MemoryInstrumentation::addVector):
(WebCore::::process):

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

7 years ago[Chromium] Unreviewed, skip appcache abort() tests.
apavlov@chromium.org [Fri, 3 Aug 2012 07:41:01 +0000 (07:41 +0000)]
[Chromium] Unreviewed, skip appcache abort() tests.

* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: extend test coverage for nmi code and fix 2 bugs.
loislo@chromium.org [Fri, 3 Aug 2012 07:33:45 +0000 (07:33 +0000)]
Web Inspector: extend test coverage for nmi code and fix 2 bugs.
https://bugs.webkit.org/show_bug.cgi?id=92994

Reviewed by Yury Semikhatsky.

1) owner object type propagation.
If a class with object-type DOM has an instrumented member with object-type Other then it has to be recorded as DOM.
Sample: We have SharedBuffer class and we don't know the object-type for it but we know that it is owned by an object with object-type CachedResourceImage.

2) the first member of an instrumented non virtual class was skipped even if it was reported properly.
it happened because the first member has the same address as it's owner

Source/WebCore:

* dom/MemoryInstrumentation.h:
(WebCore::MemoryInstrumentation::addRootObject):
(WebCore::MemoryInstrumentation::InstrumentedPointer::InstrumentedPointer):
(InstrumentedPointer):
(WebCore::MemoryInstrumentation::addInstrumentedObject):
(MemoryInstrumentation):
(WebCore::MemoryInstrumentation::OwningTraits::addInstrumentedObject):
(WebCore::MemoryObjectInfo::MemoryObjectInfo):
(WebCore::MemoryObjectInfo::reportObjectInfo):
(WebCore::MemoryClassInfo::addInstrumentedMember):
(WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
(WebCore::MemoryInstrumentation::addObjectImpl):
(WebCore::MemoryInstrumentation::addInstrumentedCollection):
(WebCore::::process):

Source/WebKit/chromium:

* tests/MemoryInstrumentationTest.cpp:
(WebCore::TEST):
(WebCore):
(InstrumentedOther):
(WebCore::InstrumentedOther::InstrumentedOther):
(WebCore::InstrumentedOther::reportMemoryUsage):
(InstrumentedDOM):
(WebCore::InstrumentedDOM::InstrumentedDOM):
(WebCore::InstrumentedDOM::reportMemoryUsage):
(NonVirtualInstrumented):
(WebCore::NonVirtualInstrumented::reportMemoryUsage):

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

7 years ago[EFL][DRT] WebKitAnimation API compile-time disabled
commit-queue@webkit.org [Fri, 3 Aug 2012 07:33:11 +0000 (07:33 +0000)]
[EFL][DRT] WebKitAnimation API compile-time disabled
https://bugs.webkit.org/show_bug.cgi?id=84593

Patch by Joone Hur <joone.hur@intel.com> on 2012-08-03
Reviewed by Laszlo Gombos.

.:

Enable ENABLE_ANIMATION_API by default on the Efl port.

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

Tools:

Enable ENABLE_ANIMATION_API by default on the Efl port.

* Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Removing animations/animation-api-1.html from TestExpectations
by enabling ENABLE_ANIMATION_API.

* platform/efl/TestExpectations:

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

7 years agoWTR should be able to load external resources
kbalazs@webkit.org [Fri, 3 Aug 2012 07:28:41 +0000 (07:28 +0000)]
WTR should be able to load external resources
https://bugs.webkit.org/show_bug.cgi?id=89382

Reviewed by Ryosuke Niwa.

Allow to load an external resource as the main frame
and allow all subsequent external loads for such a main
frame. This behavior is necessary for being able to run
performance tests (wkb.ug/84008).

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::isLocalHost):
(WTR):
(WTR::isHTTPOrHTTPSScheme):
(WTR::InjectedBundlePage::willSendRequestForFrame):

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

7 years ago[V8] Make v8NonStringValueToWebCoreString a static method
haraken@chromium.org [Fri, 3 Aug 2012 07:23:45 +0000 (07:23 +0000)]
[V8] Make v8NonStringValueToWebCoreString a static method
https://bugs.webkit.org/show_bug.cgi?id=93066

Reviewed by Adam Barth.

v8NonStringValueToWebCoreString() and v8NonStringValueToAtomicWebCoreString()
are not intended to be used from outside V8Binding.cpp.
They should be static methods.

No tests. No change in behavior.

* bindings/v8/V8Binding.cpp:
(WebCore::v8NonStringValueToWebCoreString):
(WebCore):
(WebCore::v8NonStringValueToAtomicWebCoreString):
* bindings/v8/V8Binding.h:
(WebCore::v8StringToWebCoreString):
(WebCore::v8StringToAtomicWebCoreString):

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

7 years agoUnreviewed attempt at fixing the GTK 64-bit debug build.
zandobersek@gmail.com [Fri, 3 Aug 2012 06:27:38 +0000 (06:27 +0000)]
Unreviewed attempt at fixing the GTK 64-bit debug build.

* Source/autotools/symbols.filter:

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

7 years agoCrash due to layer not removed from parent for anonymous block.
inferno@chromium.org [Fri, 3 Aug 2012 05:53:38 +0000 (05:53 +0000)]
Crash due to layer not removed from parent for anonymous block.
https://bugs.webkit.org/show_bug.cgi?id=90800

Reviewed by Kent Tamura.

Source/WebCore:

Reverse the order of setStyle and removeChildNode calls. This ensures that setting the style
properly removes its layer from the parent in RenderBoxModelObject::styleDidChange. Calling
removeChildNode before calling setStyle is problematic since the parent layer never gets
notified.

Test: fast/block/layer-not-removed-from-parent-crash.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild):

LayoutTests:

* fast/block/layer-not-removed-from-parent-crash-expected.txt: Added.
* fast/block/layer-not-removed-from-parent-crash.html: Added.

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

7 years agoV8Proxy::retrieveFrameFor*Context are used only by BindingState and should be removed...
abarth@webkit.org [Fri, 3 Aug 2012 05:32:32 +0000 (05:32 +0000)]
V8Proxy::retrieveFrameFor*Context are used only by BindingState and should be removed as separate functions
https://bugs.webkit.org/show_bug.cgi?id=93049

Reviewed by Eric Seidel.

No one calls these functions directly anymore. This patch removes them
from V8Proxy and inlines their logic into BindingState.cpp.

* bindings/v8/BindingState.cpp:
(WebCore::activeContext):
(WebCore):
(WebCore::activeWindow):
(WebCore::activeFrame):
(WebCore::firstFrame):
(WebCore::currentFrame):
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Proxy.h:
(V8Proxy):

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

7 years agoMake order of attribute/method in HTMLTrackElement.idl as same as specification
yosin@chromium.org [Fri, 3 Aug 2012 05:26:13 +0000 (05:26 +0000)]
Make order of attribute/method in HTMLTrackElement.idl as same as specification
https://bugs.webkit.org/show_bug.cgi?id=80102

Reviewed by Kentaro Hara.

No new tests. This patch doesn't change behavior.

* html/HTMLTrackElement.idl: Reorder attribute/method position.

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

7 years agoIndexedDB: remove leftover chromium stubs from putIndexWithKeys
commit-queue@webkit.org [Fri, 3 Aug 2012 05:07:13 +0000 (05:07 +0000)]
IndexedDB: remove leftover chromium stubs from putIndexWithKeys
https://bugs.webkit.org/show_bug.cgi?id=93032

Patch by Alec Flett <alecflett@chromium.org> on 2012-08-02
Reviewed by Darin Fisher.

Remove old chromium APIs that are no longer called by chrome.

* public/WebIDBCursor.h:
* public/WebIDBObjectStore.h:
* public/WebIDBTransaction.h:

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

7 years agoMove getLocalTime() as static inline function to DateMath
paroga@webkit.org [Fri, 3 Aug 2012 05:06:38 +0000 (05:06 +0000)]
Move getLocalTime() as static inline function to DateMath
https://bugs.webkit.org/show_bug.cgi?id=92955

Reviewed by Ryosuke Niwa.

getCurrentLocalTime() and getLocalTime() has been superseded with the
GregorianDateTime class. So we can move it into DateMath.cpp as an static inline
function. This allows us to remove the dependecy on time() and localtime()
for Windows CE, where this functions require the ce_time library to work.

Source/JavaScriptCore:

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

Source/WTF:

* wtf/CurrentTime.cpp:
(WTF):
* wtf/CurrentTime.h:
* wtf/DateMath.cpp:
(WTF):
(WTF::getLocalTime):

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

7 years ago[GTK] Build break when building DumpRenderTree/gtk/EditingCallbacks.cpp
commit-queue@webkit.org [Fri, 3 Aug 2012 04:42:15 +0000 (04:42 +0000)]
[GTK] Build break when building DumpRenderTree/gtk/EditingCallbacks.cpp
https://bugs.webkit.org/show_bug.cgi?id=93061

Unreviewed, Fix build break for WebKitGtk+.

Use webkit_dom_element_get_class_name instead of webkit_dom_html_element_get_class_name.

Patch by Joone Hur <joone.hur@intel.com> on 2012-08-02

* DumpRenderTree/gtk/EditingCallbacks.cpp:
(shouldShowDeleteInterfaceForElement):

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

7 years agoUnreviewed, revert debugging stuff I landed in http://trac.webkit.org/changeset/124557
fpizlo@apple.com [Fri, 3 Aug 2012 03:44:36 +0000 (03:44 +0000)]
Unreviewed, revert debugging stuff I landed in trac.webkit.org/changeset/124557
by accident.

* tests/v8-v6/v8-crypto.js:
(am1):
(am2):
(am3):
(am4):
(bnpCopyTo):
(bnpFromString):
(bnpClamp):

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

7 years agoUnreviewed, land some overrides for Chromium for the tests I just added, since
fpizlo@apple.com [Fri, 3 Aug 2012 03:38:55 +0000 (03:38 +0000)]
Unreviewed, land some overrides for Chromium for the tests I just added, since
V8 attachs a slightly different (but equally valid) string for the exception we
expect to see.

* platform/chromium/fast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object-expected.txt: Added.
* platform/chromium/fast/js/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object-expected.txt: Added.
* platform/chromium/fast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven-final-object-expected.txt: Added.
* platform/chromium/fast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-proven-final-object-expected.txt: Added.

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

7 years agoFix crashes for <input> and <textarea> with display:run-in.
tkent@chromium.org [Fri, 3 Aug 2012 03:31:22 +0000 (03:31 +0000)]
Fix crashes for <input> and <textarea> with display:run-in.
https://bugs.webkit.org/show_bug.cgi?id=87300

Reviewed by Abhishek Arya.

Source/WebCore:

Introduce RenderObject::canBeReplacedWithInlineRunIn, and renderers which
should not be run-in override it so that it returns false.

Test: fast/runin/input-text-runin.html
      fast/runin/textarea-runin.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded):
Checks canBeReplacedWithInlineRunIn instead of checking tag names.
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::canBeReplacedWithInlineRunIn):
Added. Disallow run-in.
* rendering/RenderFileUploadControl.h:
(RenderFileUploadControl): Declare canBeReplacedWithInlineRunIn.
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::canBeReplacedWithInlineRunIn):
Added. Disallow run-in. This is not a behavior change.
* rendering/RenderListBox.h:
(RenderListBox): Declare canBeReplacedWithInlineRunIn.
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::canBeReplacedWithInlineRunIn):
Added. Disallow run-in. This is not a behavior change.
* rendering/RenderMenuList.h:
(RenderMenuList): Declare canBeReplacedWithInlineRunIn.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::canBeReplacedWithInlineRunIn):
Added. Allow run-in by default.
* rendering/RenderObject.h:
(RenderObject): Declare canBeReplacedWithInlineRunIn.
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::canBeReplacedWithInlineRunIn):
Added. Disallow run-in. This is not a behavior change.
* rendering/RenderProgress.h:
(RenderProgress): Declare canBeReplacedWithInlineRunIn.
* rendering/RenderSlider.cpp:
(WebCore::RenderSlider::canBeReplacedWithInlineRunIn):
Added. Disallow run-in.
* rendering/RenderSlider.h:
(RenderSlider): Declare canBeReplacedWithInlineRunIn.
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::canBeReplacedWithInlineRunIn):
Added. Disallow run-in.
* rendering/RenderTextControl.h:
(RenderTextControl): Declare canBeReplacedWithInlineRunIn.

LayoutTests:

* fast/runin/input-text-runin-expected.txt: Added.
* fast/runin/input-text-runin.html: Added.
* fast/runin/textarea-runin-expected.txt: Added.
* fast/runin/textarea-text-runin.html: Added.

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

7 years agoASSERTION FAILED: at(m_compileIndex).canExit() || m_isCheckingArgumentTypes
fpizlo@apple.com [Fri, 3 Aug 2012 03:27:08 +0000 (03:27 +0000)]
ASSERTION FAILED: at(m_compileIndex).canExit() || m_isCheckingArgumentTypes
https://bugs.webkit.org/show_bug.cgi?id=91074

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Fixes a bug where the speculative JIT was performing an unnecessary speculation that the
CFA had proven shouldn't be performed, leading to asserts that a node should not have
exit sites. This is a debug-only assert with no release symptom - we were just emitting
a check that was not reachable.

Also found, and fixed, a bug where structure check hoisting was slightly confusing the
CFA by inserting GetLocal's into the graph. CSE would clean the GetLocal's up, which
would make the backend happy - but the CFA would produce subtly wrong results.

* bytecode/SpeculatedType.h:
(JSC::isOtherOrEmptySpeculation):
(JSC):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compileObjectToObjectOrOtherEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectToObjectOrOtherEquality):

LayoutTests:

Added a test for this specific case (dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven-final-object)
as well as three other tests to cover similar, though not necessarily currently broken, cases, since it was previously the
case that we apparently had no explicit coverage for these code paths.

* fast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object-expected.txt: Added.
* fast/js/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.html: Added.
* fast/js/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object-expected.txt: Added.
* fast/js/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object.html: Added.
* fast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven-final-object-expected.txt: Added.
* fast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven-final-object.html: Added.
* fast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-proven-final-object-expected.txt: Added.
* fast/js/dfg-peephole-compare-final-object-to-final-object-or-other-when-proven-final-object.html: Added.
* fast/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-both-proven-final-object.js: Added.
(foo):
* fast/js/script-tests/dfg-compare-final-object-to-final-object-or-other-when-proven-final-object.js: Added.
(foo):
* fast/js/script-tests/dfg-peephole-compare-final-object-to-final-object-or-other-when-both-proven-final-object.js: Added.
(foo):
* fast/js/script-tests/dfg-peephole-compare-final-object-to-final-object-or-other-when-proven-final-object.js: Added.
(foo):

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

7 years agoUnreviewed. Rebaseline fast/forms/basic-selects.html for Chromium-Mac and Chromium...
yosin@chromium.org [Fri, 3 Aug 2012 03:23:04 +0000 (03:23 +0000)]
Unreviewed. Rebaseline fast/forms/basic-selects.html for Chromium-Mac and Chromium-Win.

r124416 changes rendering of non-disabled option element in disabled select.

* platform/chromium-mac-snowleopard/fast/forms/basic-selects-expected.png:
* platform/chromium-mac/fast/forms/basic-selects-expected.png:
* platform/chromium-mac/fast/forms/basic-selects-expected.txt: Added.
* platform/chromium-win/fast/forms/basic-selects-expected.png:
* platform/chromium-win/fast/forms/basic-selects-expected.txt:
* platform/chromium/TestExpectations:

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

7 years ago[chromium] add lost context test case for HW video decoder
piman@chromium.org [Fri, 3 Aug 2012 02:46:13 +0000 (02:46 +0000)]
[chromium] add lost context test case for HW video decoder
https://bugs.webkit.org/show_bug.cgi?id=93057

Reviewed by Adrienne Walker.

We check that we don't use resources after a lost context (assuming
proper WebVideoFrameProvider behavior).

* tests/CCLayerTreeHostImplTest.cpp:

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

7 years ago[EFL] Fix wrong assigned value of BatteryStatus
commit-queue@webkit.org [Fri, 3 Aug 2012 02:40:14 +0000 (02:40 +0000)]
[EFL] Fix wrong assigned value of BatteryStatus
https://bugs.webkit.org/show_bug.cgi?id=93058

Patch by Kihong Kwon <kihong.kwon@samsung.com> on 2012-08-02
Reviewed by Kentaro Hara.

There is a wrong change in the bug 92964.
property variable have to be used after assigned value in the setBatteryClient.

* platform/efl/BatteryProviderEfl.cpp:
(WebCore::BatteryProviderEfl::setBatteryClient):

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

7 years agoLayout Test: fast/css/image-orientation/image-orientation needs to be added to skip...
commit-queue@webkit.org [Fri, 3 Aug 2012 02:35:41 +0000 (02:35 +0000)]
Layout Test: fast/css/image-orientation/image-orientation needs to be added to skip list for Windows.
https://bugs.webkit.org/show_bug.cgi?id=93053

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-02
Reviewed by Tim Horton.

The feature has not been completed yet.
It has been added to all other platforms' skip lists (see https://bugs.webkit.org/show_bug.cgi?id=89624), except for Windows.

* platform/win/Skipped:
Added fast/css/image-orientation/image-orientation to skip list.

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

7 years ago[BlackBerry] Add default implementation of GraphicsLayerClient::contentsVisible()
commit-queue@webkit.org [Fri, 3 Aug 2012 02:26:44 +0000 (02:26 +0000)]
[BlackBerry] Add default implementation of GraphicsLayerClient::contentsVisible()
https://bugs.webkit.org/show_bug.cgi?id=93036

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-08-02
Reviewed by George Staikos.

Source/WebCore:

Returning true by default would cause memory usage to balloon, because
the LayerTiler would believe every tile is visible and always needs to
be rendered. Instead, we choose to return false by default, relying
entirely on reactive rendering through render jobs.

However this revealed a subtle bug. If the entire layer was invalidated
every frame, checkerboard would never resolve with this default
implementation.

Fixed by not clearing render jobs when the entire layer is invalidated,
thus making us robust against an incomplete contentsVisible
implementation.

Also removed dead code related to the deprecated
LayerTiler::m_tilesWebKitThread mechanism, which has been replaced by
the implicit visibility management resulting from render jobs.

With m_tilesWebKitThread out of the way, rename m_tilesCompositingThread
to be simply m_tiles.

PR 187458

This is not currently testable using BlackBerry testing infrastructure.

* platform/graphics/GraphicsLayerClient.h:
(WebCore::GraphicsLayerClient::contentsVisible): Gets a default implementation instead of being pure virtual.
* platform/graphics/blackberry/LayerTile.cpp:
(WebCore::LayerTile::LayerTile): Merged LayerTileData into LayerTile now that m_tilesWebKitThread is gone.
* platform/graphics/blackberry/LayerTile.h:
(LayerTile):
* platform/graphics/blackberry/LayerTiler.cpp:
(WebCore::LayerTiler::~LayerTiler):
(WebCore::LayerTiler::updateTextureContentsIfNeeded): Bug fix to make us robust against the new default implementation of GraphicsLayerClient::contentsVisible()
(WebCore::LayerTiler::shouldPerformRenderJob):
(WebCore::LayerTiler::layerVisibilityChanged):
(WebCore::LayerTiler::uploadTexturesIfNeeded):
(WebCore::LayerTiler::drawTexturesInternal):
(WebCore::LayerTiler::deleteTextures):
(WebCore::LayerTiler::pruneTextures):
(WebCore::LayerTiler::bindContentsTexture):
* platform/graphics/blackberry/LayerTiler.h:
(LayerTiler):

Source/WebKit/blackberry:

Remove implementation of GraphicsLayerClient::contentsVisible() now
that it has a default implementation.

This also fixes a bug where memory usage for the inspector highlight
overlay would balloon because it returned true from contentsVisible()
which would cause the LayerTiler to populate all tiles. The default
implementation returns false instead.

PR 187458, 184377

* WebCoreSupport/InspectorOverlay.cpp:
(WebCore::InspectorOverlay::showRepaintCounter):
* WebCoreSupport/InspectorOverlay.h:
(InspectorOverlay):
* WebKitSupport/DefaultTapHighlight.h:
* WebKitSupport/SelectionOverlay.h:

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

7 years agoSlider should snap to datalist tick marks
keishi@webkit.org [Fri, 3 Aug 2012 02:05:51 +0000 (02:05 +0000)]
Slider should snap to datalist tick marks
https://bugs.webkit.org/show_bug.cgi?id=92640

Reviewed by Kent Tamura.

Source/WebCore:

Input type=range slider snaps to datalist tick marks.

Test: fast/forms/datalist/range-snap-to-datalist.html

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::findClosestTickMarkValue): Just calls InputType::findClosestTickMarkValue.
(WebCore):
* html/HTMLInputElement.h:
(HTMLInputElement):
* html/InputType.cpp:
(WebCore):
(WebCore::InputType::findClosestTickMarkValue): Overridden by RangeInputType.
* html/InputType.h:
(InputType):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::RangeInputType):
(WebCore):
(WebCore::RangeInputType::listAttributeTargetChanged): Mark m_tickMarkValues as dirty.
(WebCore::decimalCompare):
(WebCore::RangeInputType::updateTickMarkValues): Sets m_tickMarkValues to a list of sorted valid datalist values.
(WebCore::RangeInputType::findClosestTickMarkValue): Finds closest tick mark value to a given value.
* html/RangeInputType.h:
(RangeInputType):
* html/shadow/SliderThumbElement.cpp:
(WebCore):
(WebCore::SliderThumbElement::setPositionFromPoint): Snaps to the closest tick mark value if it is within a certain distance.

LayoutTests:

* fast/forms/datalist/range-snap-to-datalist-expected.txt: Added.
* fast/forms/datalist/range-snap-to-datalist.html: Added.

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

7 years ago[EFL] Crash while loading plugin after r121467
ryuan.choi@samsung.com [Fri, 3 Aug 2012 01:54:50 +0000 (01:54 +0000)]
[EFL] Crash while loading plugin after r121467
https://bugs.webkit.org/show_bug.cgi?id=92943

Reviewed by Laszlo Gombos.

r121467 replaced POSIX dlopen to helpers in eina_module, but some codes
are not changed.

No new tests, behavior has not changed.

* plugins/efl/PluginPackageEfl.cpp:
(WebCore::PluginPackage::fetchInfo):
Changes dlsym to eina_module_symbol_get to follow changes of r121467.

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

7 years agoV8 bindings code that tries to find its context should use BindingState functions...
abarth@webkit.org [Fri, 3 Aug 2012 01:51:35 +0000 (01:51 +0000)]
V8 bindings code that tries to find its context should use BindingState functions rather than V8Proxy
https://bugs.webkit.org/show_bug.cgi?id=93038

Reviewed by Eric Seidel.

After this patch, most code in the V8 bindings that tries to determine
it's "context" goes through BindingState.h rather than V8Proxy. This
patch is a step towards unifying all these code paths.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNamedConstructorCallback):
* bindings/v8/BindingState.cpp:
(WebCore::currentFrame):
(WebCore):
* bindings/v8/BindingState.h:
(WebCore):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::retrieveFrameForEnteredContext):
(WebCore::ScriptController::retrieveFrameForCurrentContext):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::v8UncaughtExceptionHandler):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::reportUnsafeAccessTo):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/V8Utilities.cpp:
(WebCore::getScriptExecutionContext):
* bindings/v8/custom/V8AudioContextCustom.cpp:
(WebCore::V8AudioContext::constructorCallback):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::handlePostMessageCallback):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::writeCallback):
(WebCore::V8HTMLDocument::writelnCallback):
(WebCore::V8HTMLDocument::openCallback):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore::v8HTMLImageElementConstructorCallback):

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

7 years ago[WINCE] Return 0 at calculateDSTOffset(double, double)
paroga@webkit.org [Fri, 3 Aug 2012 01:43:05 +0000 (01:43 +0000)]
[WINCE] Return 0 at calculateDSTOffset(double, double)
https://bugs.webkit.org/show_bug.cgi?id=92953

Reviewed by Ryosuke Niwa.

localtime() is implemented as a call to gmtime() in ce_time.c.
Since this will never return correct values, returning 0 instead
does not remove any existing functionality, but decreases the
dependency on the (external) ce_time implementation.

* wtf/DateMath.cpp:
(WTF::calculateDSTOffsetSimple):

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

7 years agoUnreviewed, rolling out r124540.
dimich@chromium.org [Fri, 3 Aug 2012 01:32:28 +0000 (01:32 +0000)]
Unreviewed, rolling out r124540.
http://trac.webkit.org/changeset/124540
https://bugs.webkit.org/show_bug.cgi?id=93055

Broke compile on Chromium Win bot (Requested by dimich on
#webkit).

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

Source/WebCore:

* Modules/indexeddb/IDBBackingStore.h:
(IDBBackingStore):
* Modules/indexeddb/IDBCallbacks.h:
(IDBCallbacks):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::PendingOpenCall::PendingOpenCall):
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::openInternal):
(WebCore::IDBDatabaseBackendImpl::metadata):
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::transactionFinished):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
(WebCore::IDBDatabaseBackendImpl::deleteDatabase):
(WebCore::IDBDatabaseBackendImpl::close):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseCallbacks.h:
(IDBDatabaseCallbacks):
* Modules/indexeddb/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::open):
* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
(WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
(WebCore::IDBLevelDBBackingStore::deleteDatabase):
* Modules/indexeddb/IDBLevelDBBackingStore.h:
(IDBLevelDBBackingStore):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::commit):

Source/WebKit/chromium:

* tests/IDBAbortOnCorruptTest.cpp:
(WebCore::FailingBackingStore::createIDBDatabaseMetaData):
* tests/IDBFakeBackingStore.h:

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

7 years ago[BlackBerry] Upstream GraphicsLayerClient::contentsVisible()
commit-queue@webkit.org [Fri, 3 Aug 2012 01:14:59 +0000 (01:14 +0000)]
[BlackBerry] Upstream GraphicsLayerClient::contentsVisible()
https://bugs.webkit.org/show_bug.cgi?id=93040

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-08-02
Reviewed by George Staikos.

Our LayerTiler uses both proactive and reactive rendering to populate
tiles. If contentsVisible() is accurate, it will cause the right tiles
to be rendered. Failing that, when a dirty tile is found to be visible
on the compositing thread, a render job is scheduled.

This is not currently testable using BlackBerry testing infrastructure.

* platform/graphics/GraphicsLayerClient.h:
(GraphicsLayerClient): New BlackBerry-specific method "contentsVisible" added.
* rendering/RenderLayerBacking.cpp:
(WebCore):
(WebCore::RenderLayerBacking::contentsVisible): BlackBerry-specific implementation.

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

7 years ago[chromium] deviceViewportSize cleanup
commit-queue@webkit.org [Fri, 3 Aug 2012 00:51:39 +0000 (00:51 +0000)]
[chromium] deviceViewportSize cleanup
https://bugs.webkit.org/show_bug.cgi?id=92794

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

In the future, CSS layout size will become increasingly disassociated
from physical device size, and it will become impossible to infer one
from the other inside the compositor.  Therefore, this patch allows
deviceViewportSize to be explicitly passed in by the outside client.

I also renamed the existing viewportSize field to "layoutViewportSize"
for clarity, and converted its uses to deviceViewportSize since
that is more appropriate.

I had to add some default-value scaffolding to WebLayerTreeView in
order to avoid breaking ui/compositor.  We can delete it once that's
updated.

Source/Platform:

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

Source/WebCore:

No new tests (covered by existing tests).

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::setViewportSize):
(WebCore::CCLayerTreeHost::updateLayers):
(WebCore::CCLayerTreeHost::setDeviceScaleFactor):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
(WebCore::CCLayerTreeHost::layoutViewportSize):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::canDraw):
(WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
(WebCore::CCLayerTreeHostImpl::setViewportSize):
(WebCore::CCLayerTreeHostImpl::setDeviceScaleFactor):
(WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::layoutViewportSize):

Source/WebKit/chromium:

* src/WebLayerTreeView.cpp:
(WebKit::WebLayerTreeView::setViewportSize):
(WebKit::WebLayerTreeView::layoutViewportSize):
(WebKit):
(WebKit::WebLayerTreeView::deviceViewportSize):
(WebKit::WebLayerTreeView::setDeviceScaleFactor):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::paint):
(WebKit::WebViewImpl::updateLayerTreeViewport):

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

7 years agoV8Proxy::currentContext() doesn't do anything and should be removed
abarth@webkit.org [Fri, 3 Aug 2012 00:45:28 +0000 (00:45 +0000)]
V8Proxy::currentContext() doesn't do anything and should be removed
https://bugs.webkit.org/show_bug.cgi?id=93041

Reviewed by Eric Seidel.

Source/WebCore:

It's just a wrapper for GetCurrent().

* bindings/v8/DateExtension.cpp:
(WebCore::DateExtension::setAllowSleep):
* bindings/v8/V8NPUtils.cpp:
(WebCore::convertV8ObjectToNPVariant):
* bindings/v8/V8Proxy.cpp:
(WebCore::V8Proxy::retrieve):
(WebCore::V8Proxy::mainWorldContext):
* bindings/v8/V8Proxy.h:
(V8Proxy):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
(WebCore::getJSListenerFunctions):

Source/WebKit/chromium:

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

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

7 years agoVersioning.
lforschler@apple.com [Fri, 3 Aug 2012 00:40:57 +0000 (00:40 +0000)]
Versioning.

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

7 years agoIndexedDB: Core upgradeneeded logic
dgrogan@chromium.org [Fri, 3 Aug 2012 00:35:59 +0000 (00:35 +0000)]
IndexedDB: Core upgradeneeded logic
https://bugs.webkit.org/show_bug.cgi?id=92558

Reviewed by Ojan Vafai.

Source/WebCore:

This is the backend webkit logic needed for integer versions. The rest
is in https://bugs.webkit.org/show_bug.cgi?id=89505.

I tried to make use of the existing processPendingCalls and added two
more queues, pendingOpenWithVersionCalls and
pendingSecondHalfOpenWithVersionCalls. The "second half" refers to
how there are two events that need to be fired in response to an
open-with-version call. The "second half" queue holds the open
requests that should immediately follow the caller's upgradeneeded
handler.

No new tests, there are so many they are in their own patch:
https://bugs.webkit.org/show_bug.cgi?id=92560

Though this patch doesn't change any expected behavior anyway, lack of
regressions is what we're hoping for here.

* Modules/indexeddb/IDBBackingStore.h:
(IDBBackingStore):
* Modules/indexeddb/IDBCallbacks.h:
(WebCore::IDBCallbacks::onBlocked):
(WebCore::IDBCallbacks::onUpgradeNeeded):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(IDBDatabaseBackendImpl::PendingOpenCall):
(IDBDatabaseBackendImpl::PendingOpenWithVersionCall):
(WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create):
(WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::callbacks):
(WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::version):
(WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::PendingOpenWithVersionCall):
(WebCore):
(WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
(WebCore::IDBDatabaseBackendImpl::openInternal):
(WebCore::IDBDatabaseBackendImpl::metadata):
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::setIntVersionInternal):
(WebCore::IDBDatabaseBackendImpl::transactionFinished):
(WebCore::IDBDatabaseBackendImpl::transactionFinishedAndEventsFired):
When an upgradeneeded event is fired in response to an
open-with-version call, the version change transaction must receive its
complete event before processPendingCalls fires a success event at
IDBOpenDBRequest. In the future this should probably be changed
instead to transactionFinishedAndAbortFired and
transactionFinishedAndCompleteFired so that we'll know to fire a
success or error event at IDBOpenDBRequest. Currently, instead of
firing error when there's an abort, we don't fire anything.

(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
Now that this is called after a connection is opened, we unfortunately
lose the invariant that there is only one existing connection when this
is called, but nothing inside this function actually relied on that.
Additionally, the secondHalfOpen calls only ever need to be serviced
in one place: right after a version change transaction completes, so
it could be moved out of here.

(WebCore::IDBDatabaseBackendImpl::registerFrontendCallbacks):
Now that setVersion and deleteDatabase calls are queued up behind
secondHalfOpen calls, we have to service those queues when
secondHalfOpen calls complete, which is here.  So call
processPendingCalls().

(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackendImpl::openConnectionWithVersion):
(WebCore::IDBDatabaseBackendImpl::deleteDatabase):
(WebCore::IDBDatabaseBackendImpl::close):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseCallbacks.h:
(WebCore::IDBDatabaseCallbacks::onVersionChange):
* Modules/indexeddb/IDBFactoryBackendImpl.cpp:
(WebCore::IDBFactoryBackendImpl::open):
This is refactored some so that the call to openConection{WithVersion}
happens once, at the end.

* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
(WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
(WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
(WebCore):
(WebCore::IDBLevelDBBackingStore::deleteDatabase):
* Modules/indexeddb/IDBLevelDBBackingStore.h:
(IDBLevelDBBackingStore):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::commit):
See above comments about transactionFinishedAndEventsFired. I tried
moving the call to transactionFinished after the events were fired but
that failed some asserts. But changing those asserts is still an
alternative to splitting up transactionFinished as is done here.

Source/WebKit/chromium:

Update overridden methods to match new signatures.

* tests/IDBAbortOnCorruptTest.cpp:
(WebCore::FailingBackingStore::createIDBDatabaseMetaData):
* tests/IDBFakeBackingStore.h:

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

7 years agoSVG text selection doesn't work with hyperlinked text
rwlbuis@webkit.org [Fri, 3 Aug 2012 00:23:14 +0000 (00:23 +0000)]
SVG text selection doesn't work with hyperlinked text
https://bugs.webkit.org/show_bug.cgi?id=29166

Reviewed by Eric Seidel.

Cleanup SVGAElement. There is no need to test for middle mouse button here, this
is handled elsewhere, so remove isMiddleMouseButtonEvent. Similarly handleLinkClick
is not used anymore by HTMLAnchorElement, remove it. Finally, _self indeed is not needed.

No new tests, since no change in behaviour.

* WebCore.order:
* html/HTMLAnchorElement.cpp:
* html/HTMLAnchorElement.h:
(WebCore):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::defaultEventHandler):

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

7 years agoMove causesFosterParenting() to HTMLStackItem
kseo@webkit.org [Fri, 3 Aug 2012 00:16:33 +0000 (00:16 +0000)]
Move causesFosterParenting() to HTMLStackItem
https://bugs.webkit.org/show_bug.cgi?id=93048

Reviewed by Adam Barth.

Changed to share causesFosterParenting() between HTMLTreeBuilder and HTMLConstructionSite
by moving this function to HTMLStackItem.

No functional change, so no new tests.

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::shouldFosterParent):
* html/parser/HTMLStackItem.h:
(WebCore::HTMLStackItem::causesFosterParenting):
(HTMLStackItem):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

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

7 years agoRead tag names and attributes from the saved tokens in HTMLTreeBuilder::callTheAdopti...
kseo@webkit.org [Fri, 3 Aug 2012 00:15:18 +0000 (00:15 +0000)]
Read tag names and attributes from the saved tokens in HTMLTreeBuilder::callTheAdoptionAgency(AtomicHTMLToken*)
https://bugs.webkit.org/show_bug.cgi?id=93047

Reviewed by Adam Barth.

This is a follow-up patch for r123577.
Changed to retrieve the stack item of commonAncestor and read the local name from the saved token.

No new tests, covered by existing tests.

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):

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

7 years agoRemove old Pointer Lock API.
scheib@chromium.org [Thu, 2 Aug 2012 23:58:09 +0000 (23:58 +0000)]
Remove old Pointer Lock API.
https://bugs.webkit.org/show_bug.cgi?id=88892

Reviewed by Adam Barth.

Source/WebCore:

Removing the old Pointer Lock API as one of the final cleanup
changes for the Update to Fullscreen style locking Spec meta
bug https://bugs.webkit.org/show_bug.cgi?id=84402.

This change primarily removes idl, access in navigator,
one event, and supporting infrastructure in page/PointerLock.

In PointerLockController changes were already noted clearly with
TODOs differentiating old and new api sections.

Test: pointer-lock/pointerlockchange-event-on-lock-lost.html

* WebCore.gypi:
* dom/Element.cpp:
(WebCore::Element::webkitRequestPointerLock):
* dom/EventNames.h:
(WebCore):
* page/Navigator.cpp:
* page/Navigator.h:
(WebCore):
(Navigator):
* page/Navigator.idl:
* page/PointerLock.cpp: Removed.
* page/PointerLock.h: Removed.
* page/PointerLock.idl: Removed.
* page/PointerLockController.cpp:
(WebCore::PointerLockController::requestPointerLock):
(WebCore::PointerLockController::didAcquirePointerLock):
(WebCore::PointerLockController::didNotAcquirePointerLock):
(WebCore::PointerLockController::didLosePointerLock):
* page/PointerLockController.h:
(PointerLockController):

Source/WebKit/chromium:

* src/WebViewImpl.cpp:
    Removed #include to old API header.

LayoutTests:

Tests for old API removed, and most remaining tests required only small
changes.

* platform/chromium/fast/dom/navigator-detached-no-crash-expected.txt:
* pointer-lock/lock-already-locked-expected.txt:
* pointer-lock/lock-already-locked.html:
* pointer-lock/lock-fail-responses-expected.txt: Removed.
* pointer-lock/lock-fail-responses.html: Removed.
    This test only covered the old API. The related concept is tested
    for the new api in pointerlockchange-pointerlockerror-events.html.
* pointer-lock/pointer-lock-api-expected.txt:
* pointer-lock/pointer-lock-api.html:
* pointer-lock/pointerlockchange-event-on-lock-lost-expected.txt: Added.
* pointer-lock/pointerlockchange-event-on-lock-lost.html: Added.
* pointer-lock/pointerlocklost-event-expected.txt: Removed.
* pointer-lock/pointerlocklost-event.html: Removed.
    pointerlocklost-event.html renamed to pointerlockchange-event-on-lock-lost.html.

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

7 years agotest-webkitpy can fail on a clean checkout
dpranke@chromium.org [Thu, 2 Aug 2012 23:09:11 +0000 (23:09 +0000)]
test-webkitpy can fail on a clean checkout
https://bugs.webkit.org/show_bug.cgi?id=93039

Reviewed by Adam Barth.

Now that we run tests in parallel that can cause the installer
to try and install packages in parallel (even the same package),
and that probably won't work. We fix this by autoinstalling
everything up front (serially).

* Scripts/webkitpy/test/main.py:
(Tester._run_tests):
* Scripts/webkitpy/thirdparty/__init__.py:
(autoinstall_everything):

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

7 years agoscripts in formaction should be stripped upon paste
rniwa@webkit.org [Thu, 2 Aug 2012 23:02:30 +0000 (23:02 +0000)]
scripts in formaction should be stripped upon paste
https://bugs.webkit.org/show_bug.cgi?id=92298

Reviewed by Eric Seidel.

Source/WebCore:

Strip formaction attribute values when the URL is of javascript protocol.

Test: editing/pasteboard/paste-noscript-xhtml.html
      editing/pasteboard/paste-noscript.html

* dom/Element.cpp:
(WebCore::isAttributeToRemove): Explicitly compare with href and nohref instead of comparing
the ends of strings since comparing two AtomicString is much faster.

LayoutTests:

Added formaction attributes to tests.

* editing/pasteboard/paste-noscript-expected.txt:
* editing/pasteboard/paste-noscript-xhtml-expected.txt:
* editing/pasteboard/paste-noscript.html:
* editing/pasteboard/resources/paste-noscript-content.html:

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

7 years agoBuilt in quotes don't use lang attribute
commit-queue@webkit.org [Thu, 2 Aug 2012 22:50:52 +0000 (22:50 +0000)]
Built in quotes don't use lang attribute
https://bugs.webkit.org/show_bug.cgi?id=92918

Patch by Elliott Sprehn <esprehn@gmail.com> on 2012-08-02
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Previously even though there was a table in RenderQuote of languages mapped
to quotes we always used basic quotes. This patch removes the broken tree
walking and uses Element::computeInheritedLanguage fixing this.

Tests: fast/css-generated-content/quotes-lang-expected.html
       fast/css-generated-content/quotes-lang.html
       fast/css-generated-content/quotes-xml-lang-expected.html
       fast/css-generated-content/quotes-xml-lang.html

* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::originalText):
(WebCore::RenderQuote::quotesData): New method that determines the right QuotesData to use.
(WebCore):
* rendering/RenderQuote.h:
(RenderQuote):

LayoutTests:

Add a test that the built in quote languages are used and that custom
languages work as well. This also tests that xml:lang takes precedence
over lang.

* fast/css-generated-content/quotes-lang-expected.html: Added.
* fast/css-generated-content/quotes-lang.html: Added.
* fast/css-generated-content/quotes-xml-lang-expected.html: Added.
* fast/css-generated-content/quotes-xml-lang.html: Added.

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

7 years agoAdd back a header I mistakenly removed in my previous commit.
abarth@webkit.org [Thu, 2 Aug 2012 22:48:27 +0000 (22:48 +0000)]
Add back a header I mistakenly removed in my previous commit.

* WebCore.xcodeproj/project.pbxproj:

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

7 years ago[chromium] Remove dependency on Scrollbar.h from ScrollbarLayerChromium
enne@google.com [Thu, 2 Aug 2012 22:47:38 +0000 (22:47 +0000)]
[chromium] Remove dependency on Scrollbar.h from ScrollbarLayerChromium
https://bugs.webkit.org/show_bug.cgi?id=93024

Reviewed by James Robinson.

Change part enum from the Scrollbar version to WebScrollbar's.

Tested by composited layout tests.

* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarBackgroundPainter::create):
(WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
(ScrollbarBackgroundPainter):
(WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):

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

7 years agoBindingSecurityBase serves no purpose and should be removed
abarth@webkit.org [Thu, 2 Aug 2012 22:46:01 +0000 (22:46 +0000)]
BindingSecurityBase serves no purpose and should be removed
https://bugs.webkit.org/show_bug.cgi?id=93025

Reviewed by Eric Seidel.

Now that we don't use templates in the generic bindings, we can merge
BindingSecurity and BindingSecurityBase. This patch also removes some
functions that are no longer used (and reduces the number of
#includes).

No behavior change.

* GNUmakefile.list.am:
* WebCore.gypi:
* bindings/generic/BindingSecurity.h:
(WebCore):
(BindingSecurity):
* bindings/generic/BindingSecurityBase.cpp: Removed.
* bindings/generic/BindingSecurityBase.h: Removed.
* bindings/v8/V8Binding.h:
* bindings/v8/V8Utilities.cpp:
* bindings/v8/custom/V8MutationObserverCustom.cpp:

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

7 years agoLet XCode have its own away and also sort the files.
rniwa@webkit.org [Thu, 2 Aug 2012 22:41:18 +0000 (22:41 +0000)]
Let XCode have its own away and also sort the files.

* WebCore.xcodeproj/project.pbxproj:

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

7 years ago[chromium] Add CCScrollbarAnimationController class for compositor scrollbar animation
commit-queue@webkit.org [Thu, 2 Aug 2012 22:39:01 +0000 (22:39 +0000)]
[chromium] Add CCScrollbarAnimationController class for compositor scrollbar animation
https://bugs.webkit.org/show_bug.cgi?id=91688

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-08-02
Reviewed by Adrienne Walker.

Source/WebCore:

Add CCScrollbarAnimationController that serves as the middle man
between the scrolling layer and scrollbar layer. Now all scroll offset
information are pushed through the controller, and individual platform
can provide specialized controller for extra processing.

A basic fadeout controller for Android scrollbar is included.

New test: ScrollbarLayerChromiumTest.scrollOffsetSynchronization
          CCScrollbarAnimationControllerLinearFade.*

* WebCore.gypi:
* page/FrameView.cpp:
(WebCore::FrameView::calculateScrollbarModesForLayout):
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::createScrollbarLayer):
* platform/graphics/chromium/TreeSynchronizer.cpp:
(WebCore::TreeSynchronizer::synchronizeTreeRecursive):
(WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::scrollBy):
(WebCore::CCLayerImpl::setMaxScrollPosition):
(WebCore):
(WebCore::CCLayerImpl::horizontalScrollbarLayer):
(WebCore::CCLayerImpl::setHorizontalScrollbarLayer):
(WebCore::CCLayerImpl::verticalScrollbarLayer):
(WebCore::CCLayerImpl::setVerticalScrollbarLayer):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore):
(CCLayerImpl):
(WebCore::CCLayerImpl::scrollbarAnimationController):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::animate):
(WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
(WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
(WebCore::CCLayerTreeHostImpl::pinchGestureEnd):
(WebCore::CCLayerTreeHostImpl::animateScrollbars):
(WebCore):
(WebCore::CCLayerTreeHostImpl::animateScrollbarsRecursive):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):
* platform/graphics/chromium/cc/CCScrollbarAnimationController.cpp: Added.
(WebCore):
(WebCore::CCScrollbarAnimationController::create):
(WebCore::CCScrollbarAnimationController::CCScrollbarAnimationController):
(WebCore::CCScrollbarAnimationController::~CCScrollbarAnimationController):
(WebCore::CCScrollbarAnimationController::getScrollLayerBounds):
(WebCore::CCScrollbarAnimationController::updateScrollOffset):
* platform/graphics/chromium/cc/CCScrollbarAnimationController.h: Added.
(WebCore):
(CCScrollbarAnimationController):
(WebCore::CCScrollbarAnimationController::animate):
(WebCore::CCScrollbarAnimationController::didPinchGestureBegin):
(WebCore::CCScrollbarAnimationController::didPinchGestureUpdate):
(WebCore::CCScrollbarAnimationController::didPinchGestureEnd):
(WebCore::CCScrollbarAnimationController::setHorizontalScrollbarLayer):
(WebCore::CCScrollbarAnimationController::horizontalScrollbarLayer):
(WebCore::CCScrollbarAnimationController::setVerticalScrollbarLayer):
(WebCore::CCScrollbarAnimationController::verticalScrollbarLayer):
* platform/graphics/chromium/cc/CCScrollbarAnimationControllerAndroid.cpp: Added.
(WebCore):
(WebCore::CCScrollbarAnimationController::create):
(WebCore::CCScrollbarAnimationControllerAndroid::CCScrollbarAnimationControllerAndroid):
(WebCore::CCScrollbarAnimationControllerAndroid::~CCScrollbarAnimationControllerAndroid):
(WebCore::CCScrollbarAnimationControllerAndroid::animate):
(WebCore::CCScrollbarAnimationControllerAndroid::didPinchGestureUpdate):
(WebCore::CCScrollbarAnimationControllerAndroid::didPinchGestureEnd):
(WebCore::CCScrollbarAnimationControllerAndroid::updateScrollOffset):
(WebCore::CCScrollbarAnimationControllerAndroid::opacityAtTime):
* platform/graphics/chromium/cc/CCScrollbarAnimationControllerAndroid.h: Added.
(WebCore):
(CCScrollbarAnimationControllerAndroid):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
(WebCore):
(WebCore::CCScrollbarLayerImpl::CCScrollbar::value):
(WebCore::CCScrollbarLayerImpl::CCScrollbar::currentPos):
(WebCore::CCScrollbarLayerImpl::CCScrollbar::totalSize):
(WebCore::CCScrollbarLayerImpl::CCScrollbar::maximum):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(WebCore::CCScrollbarLayerImpl::orientation):
(WebCore::CCScrollbarLayerImpl::setCurrentPos):
(WebCore::CCScrollbarLayerImpl::setTotalSize):
(WebCore::CCScrollbarLayerImpl::setMaximum):
(CCScrollbarLayerImpl):

Source/WebKit/chromium:

New unit test ScrollbarLayerChromiumTest.scrollOffsetSynchronization to verify
scroll offset is updated during tree synchronization and threaded scrolling.
Another new unit test CCScrollbarAnimationControllerLinearFadeTest to verify
opacity animates as intended.

* tests/ScrollbarLayerChromiumTest.cpp:

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

7 years agoMathML: nested square root symbols have varying descenders
dbarton@mathscribe.com [Thu, 2 Aug 2012 22:34:52 +0000 (22:34 +0000)]
MathML: nested square root symbols have varying descenders
https://bugs.webkit.org/show_bug.cgi?id=43819

Reviewed by Eric Seidel.

Source/WebCore:

This bug stems from the use of offsetHeight() on a renderer that's possibly a
RenderInline, in getBoxModelObjectHeight() in RenderMathMLBlock.h.
RenderInline::offsetHeight() actually returns linesBoundingBox().height(), which can be
overly large, especially for the big STIX fonts that include a few mathematical symbols
with unusually tall ascenders or descenders. A better solution for MathML in general is
the CSS properties { -webkit-line-box-contain: glyphs replaced; line-height: 0; }. This
gives tight glyph-based formatting in radical expressions, subscripts, superscripts,
underscripts, overscripts, numerators, denominators, etc. To make this work, inline
elements such as <mn> and <mi> must be wrapped inside implicit <mrow>s or just
RenderMathMLBlocks, when a tight height is desired. We also replace
getBoxModelObjectWidth(), which uses offsetWidth(), with contentLogicalWidth(). Finally,
we enable the STIXGeneral font for use inside layout tests.

Tested by existing LayoutTests/mathml/presentation/ files including roots.xhtml.

* css/mathml.css:
(math):
(mtext):
(mroot > * + *):
(mtd):
* rendering/mathml/RenderMathMLBlock.cpp:
(WebCore::RenderMathMLBlock::preferredLogicalHeightAfterSizing):
(WebCore::RenderMathMLBlock::baselinePosition):
* rendering/mathml/RenderMathMLBlock.h:
* rendering/mathml/RenderMathMLFraction.cpp:
(WebCore::RenderMathMLFraction::baselinePosition):
* rendering/mathml/RenderMathMLOperator.cpp:
(WebCore::RenderMathMLOperator::createStackableStyle):
(WebCore::RenderMathMLOperator::baselinePosition):
* rendering/mathml/RenderMathMLRoot.cpp:
(WebCore::RenderMathMLRoot::addChild):
(WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
(WebCore::RenderMathMLRoot::paint):
* rendering/mathml/RenderMathMLRoot.h:
* rendering/mathml/RenderMathMLSquareRoot.cpp:
* rendering/mathml/RenderMathMLSquareRoot.h:
* rendering/mathml/RenderMathMLSubSup.cpp:
(WebCore::RenderMathMLSubSup::layout):
* rendering/mathml/RenderMathMLUnderOver.cpp:
(WebCore::RenderMathMLUnderOver::baselinePosition):
* rendering/mathml/RenderMathMLUnderOver.h:

Tools:

Allow the STIXGeneral font to be used during layout tests, especially for MathML.

* DumpRenderTree/mac/DumpRenderTree.mm:
(allowedFontFamilySet):
* WebKitTestRunner/InjectedBundle/mac/ActivateFonts.mm:
(WTR::allowedFontFamilySet):

LayoutTests:

These tests are rebaselined to use the STIXGeneral font, and tight glyph-based MathML
layout using the CSS properties
{ -webkit-line-box-contain: glyphs replaced; line-height: 0; }.

* mathml/presentation/style.xhtml:
* platform/mac/mathml/presentation/attributes-expected.png:
* platform/mac/mathml/presentation/attributes-expected.txt:
* platform/mac/mathml/presentation/fenced-expected.png:
* platform/mac/mathml/presentation/fenced-expected.txt:
* platform/mac/mathml/presentation/fenced-mi-expected.png:
* platform/mac/mathml/presentation/fenced-mi-expected.txt:
* platform/mac/mathml/presentation/fractions-expected.png:
* platform/mac/mathml/presentation/fractions-expected.txt:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.png:
* platform/mac/mathml/presentation/fractions-vertical-alignment-expected.txt:
* platform/mac/mathml/presentation/mo-expected.png:
* platform/mac/mathml/presentation/mo-expected.txt:
* platform/mac/mathml/presentation/mo-stretch-expected.png:
* platform/mac/mathml/presentation/mo-stretch-expected.txt:
* platform/mac/mathml/presentation/mroot-pref-width-expected.png:
* platform/mac/mathml/presentation/mroot-pref-width-expected.txt:
* platform/mac/mathml/presentation/over-expected.png:
* platform/mac/mathml/presentation/over-expected.txt:
* platform/mac/mathml/presentation/roots-expected.png:
* platform/mac/mathml/presentation/roots-expected.txt:
* platform/mac/mathml/presentation/row-alignment-expected.png:
* platform/mac/mathml/presentation/row-alignment-expected.txt:
* platform/mac/mathml/presentation/row-expected.png:
* platform/mac/mathml/presentation/row-expected.txt:
* platform/mac/mathml/presentation/style-expected.png:
* platform/mac/mathml/presentation/style-expected.txt:
* platform/mac/mathml/presentation/sub-expected.png:
* platform/mac/mathml/presentation/sub-expected.txt:
* platform/mac/mathml/presentation/subsup-expected.png:
* platform/mac/mathml/presentation/subsup-expected.txt:
* platform/mac/mathml/presentation/sup-expected.png:
* platform/mac/mathml/presentation/sup-expected.txt:
* platform/mac/mathml/presentation/tables-expected.png:
* platform/mac/mathml/presentation/tables-expected.txt:
* platform/mac/mathml/presentation/tokenElements-expected.png:
* platform/mac/mathml/presentation/tokenElements-expected.txt:
* platform/mac/mathml/presentation/under-expected.png:
* platform/mac/mathml/presentation/under-expected.txt:
* platform/mac/mathml/presentation/underover-expected.png:
* platform/mac/mathml/presentation/underover-expected.txt:
* platform/mac/mathml/xHeight-expected.png:
* platform/mac/mathml/xHeight-expected.txt:

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

7 years ago[chromium] Make CCScrollbarLayerImpl handle lost contexts properly
enne@google.com [Thu, 2 Aug 2012 22:29:38 +0000 (22:29 +0000)]
[chromium] Make CCScrollbarLayerImpl handle lost contexts properly
https://bugs.webkit.org/show_bug.cgi?id=93021

Reviewed by James Robinson.

Source/WebCore:

The resource ids that CCScrollbarLayerImpl holds onto need to be
discarded during a lost context as the resource provider they came
from is also destroyed.

Make a scrollbarGeometry function that wraps all uses of the
m_geometry member to make it possible to test CCScrollbarLayerImpl
without depending on WebCore.

Test: CCLayerTreeHostImplTest.dontUseOldResourcesAfterLostContext

* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::scrollbarGeometry):
(WebCore):
(WebCore::CCScrollbarLayerImpl::appendQuads):
(WebCore::CCScrollbarLayerImpl::didLoseContext):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(CCScrollbarLayerImpl):

Source/WebKit/chromium:

Add CCScrollbarLayerImpl to the dontUseOldResourceAfterLostContext
test. Additionally, modify this test so that stale resource ids
properly point at invalid texture ids so that the test actually tests
what it is supposed to be testing.

* tests/CCLayerTreeHostImplTest.cpp:

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

7 years agoA few objects aren't being safely protected from GC in all cases
oliver@apple.com [Thu, 2 Aug 2012 22:24:08 +0000 (22:24 +0000)]
A few objects aren't being safely protected from GC in all cases
https://bugs.webkit.org/show_bug.cgi?id=93031

Reviewed by Filip Pizlo.

I haven't seen evidence that anyone is hitting bugs due to this, but any
GC error can lead to later -- hard to diagnose -- bugs if they result in
resurrecting dead objects.

* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::create):
(WebCore::JSCustomXPathNSResolver::JSCustomXPathNSResolver):
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* bindings/js/JSCustomXPathNSResolver.h:
(JSCustomXPathNSResolver):
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::tryGetProperty):
* bindings/js/JSDictionary.h:
(WebCore::JSDictionary::JSDictionary):
(WebCore::JSDictionary::initializerObject):

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

7 years agoRange::isPointInRange incorrectly throws WRONG_DOCUMENT_ERR
eae@chromium.org [Thu, 2 Aug 2012 21:59:47 +0000 (21:59 +0000)]
Range::isPointInRange incorrectly throws WRONG_DOCUMENT_ERR
https://bugs.webkit.org/show_bug.cgi?id=93009

Reviewed by Ojan Vafai.

Source/WebCore:

The latest working draft of the DOM4 spec has all but killed the
WRONG_DOCUMENT_ERR exception. Update isPointInRange to return false
instead of throwing an exception when the range and point are in
different documents. This matches the Mozilla behavior.

Test: fast/html/range-point-in-range-for-different-documents.html

* dom/Range.cpp:
(WebCore::Range::isPointInRange):
Return false instead of throwing WRONG_DOCUMENT_ERR when the point is in
a different document.

LayoutTests:

Add test for Range::isPointInRange where the point is in a different
document than the range.

* fast/dom/move-nodes-across-documents.html: Change expectations for isPointInRange
* fast/html/range-point-in-range-for-different-documents-expected.txt: Added.
* fast/html/range-point-in-range-for-different-documents.html: Added.

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

7 years agotest-webkitpy: some tests need to run by themselves
dpranke@chromium.org [Thu, 2 Aug 2012 21:38:16 +0000 (21:38 +0000)]
test-webkitpy: some tests need to run by themselves
https://bugs.webkit.org/show_bug.cgi?id=92926

Reviewed by Ojan Vafai.

Due to timing issues some of the executive tests will collide
and fail if they're run concurrently. This patch adds support
for writing tests that will be executed one at a time
(serially); to get them, add "serial_" to the front of the test
method name.

* Scripts/webkitpy/common/system/executive_unittest.py:
(ExecutiveTest.serial_test_kill_process):
(ExecutiveTest.serial_test_kill_all):
(ExecutiveTest.serial_test_check_running_pid):
(ExecutiveTest.serial_test_running_pids):
(ExecutiveTest.serial_test_run_in_parallel):
* Scripts/webkitpy/test/main.py:
(Tester._run_tests):
(Tester._test_names):

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

7 years agotest-webkitpy: integrate proper support for integration tests
dpranke@chromium.org [Thu, 2 Aug 2012 21:36:45 +0000 (21:36 +0000)]
test-webkitpy: integrate proper support for integration tests
https://bugs.webkit.org/show_bug.cgi?id=92925

Reviewed by Ojan Vafai.

This patch merges the custom loader I used for integration tests
into the main test-webkitpy code. Integration tests are not run
by default yet, but at least they can be run.

* Scripts/webkitpy/layout_tests/port/mock_drt_unittest.py:
(MockTestShellTest.test_test_shell_parse_options):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(test_path_to_apache_config_file):
* Scripts/webkitpy/layout_tests/servers/http_server_integrationtest.py:
(WebsocketserverTest):
* Scripts/webkitpy/test/main.py:
(Tester._parse_args):
(Tester._run_tests):
(Tester._test_names):
(Tester._log_exception):
(_Loader):
(_Loader.getTestCaseNames):
(_Loader.getTestCaseNames.isTestMethod):

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

7 years agotest-webkitpy: clean up runner in preparation for running tests serially as necessary
dpranke@chromium.org [Thu, 2 Aug 2012 21:35:34 +0000 (21:35 +0000)]
test-webkitpy: clean up runner in preparation for running tests serially as necessary
https://bugs.webkit.org/show_bug.cgi?id=92922

Reviewed by Ojan Vafai.

In order to run some tests by themselves (serially, rather than
in parallel with other tests), we will need to be able to run
multiple test suites; this causes us to move loading the logic
for finding test method names out of the runner and into main.

I'm taking advantage of this to simplify some other stuff from
the runner as well; it is now very simple and doesn't expose its
dependency on unittest.TestResult at all (nor will the Printer
use TestResult).

Subsequent patches will move the custom loader from
port_testcase so that we can properly choose whether to run
integration tests and/or serial tests, and then update the
appropriate tests to run only serially.

* Scripts/webkitpy/test/main.py:
(Tester._run_tests):
(Tester):
(Tester._check_imports):
(Tester._test_names):
(Tester._all_test_names):
* Scripts/webkitpy/test/printer.py:
(Printer.__init__):
(Printer.write_update):
(Printer):
(Printer.print_finished_test):
(Printer.print_result):
* Scripts/webkitpy/test/runner.py:
(unit_test_name):
(Runner.__init__):
(Runner.run):
(Runner.handle):
(_Worker.handle):
* Scripts/webkitpy/test/runner_unittest.py:
(FakeLoader.loadTestsFromName):
(RunnerTest.test_run):

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

7 years agoDOM4: className should be defined on Element and not on HTMLElement
arv@chromium.org [Thu, 2 Aug 2012 21:28:12 +0000 (21:28 +0000)]
DOM4: className should be defined on Element and not on HTMLElement
https://bugs.webkit.org/show_bug.cgi?id=93014

Reviewed by Adam Barth.

DOM4 specs that Element should have the className WebIDL attribute. This moves the
attribute to the correct IDL file.

Source/WebCore:

Test: fast/dom/Element/class-name.html

* dom/Element.idl:
* html/HTMLElement.idl:

LayoutTests:

* fast/dom/Element/class-name-expected.txt: Added.
* fast/dom/Element/class-name.html: Added.

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

7 years ago[V8] Handle case where Error.prototype returns an empty object
arv@chromium.org [Thu, 2 Aug 2012 21:25:37 +0000 (21:25 +0000)]
[V8] Handle case where Error.prototype returns an empty object
https://bugs.webkit.org/show_bug.cgi?id=91792

Reviewed by Kentaro Hara.

In some edge cases we get an empty object back from Error.prototype.

No new tests. I cannot reproduce this.

* bindings/v8/V8BindingPerContextData.cpp:
(WebCore::V8BindingPerContextData::constructorForTypeSlowCase):

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

7 years agoUnreviewed, build fix for DFG_ENABLE(DEBUG_PROPAGATION_VERBOSE).
fpizlo@apple.com [Thu, 2 Aug 2012 21:10:43 +0000 (21:10 +0000)]
Unreviewed, build fix for DFG_ENABLE(DEBUG_PROPAGATION_VERBOSE).

* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):

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

7 years agoAdd back ASSERT(!needsLayout) to RenderTableSection which is now valid
eric@webkit.org [Thu, 2 Aug 2012 21:06:06 +0000 (21:06 +0000)]
Add back ASSERT(!needsLayout) to RenderTableSection which is now valid
https://bugs.webkit.org/show_bug.cgi?id=92954

Unreviewed, follow-up per Mitz's request.

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::paint):

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

7 years ago[chromium] Remove unused includes from compositor code
jamesr@google.com [Thu, 2 Aug 2012 21:00:39 +0000 (21:00 +0000)]
[chromium] Remove unused includes from compositor code
https://bugs.webkit.org/show_bug.cgi?id=92930

Reviewed by Adrienne Walker.

* platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:

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

7 years agoTurn on tests for the mac-ews, for realz this time.
abarth@webkit.org [Thu, 2 Aug 2012 20:50:45 +0000 (20:50 +0000)]
Turn on tests for the mac-ews, for realz this time.

* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(MacEWS):

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

7 years agoThe generic bindings shouldn't use templates
abarth@webkit.org [Thu, 2 Aug 2012 20:49:19 +0000 (20:49 +0000)]
The generic bindings shouldn't use templates
https://bugs.webkit.org/show_bug.cgi?id=93016

Reviewed by Eric Seidel.

Source/WebCore:

We originally created the generic bindings to share code between the
JavaScriptCore and V8 bindings. However, the code came out sort of ugly
because we used templates (with the idea that templates would let us
use more than one scripting engine).

This patch rips out the templates in an attempt to make the code
prettier and therefore easier to use in both V8 and JSC. I've tried to
keep this patch small by remaning things mostly in place. In the next
patch, I'll move a bunch of code out of headers and into cpp files.

No behavior change.

* GNUmakefile.am:
* UseV8.cmake:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.pri:
* bindings/generic/BindingSecurity.h:
(WebCore):
(BindingSecurity):
(WebCore::BindingSecurity::canAccessWindow):
(WebCore::BindingSecurity::canAccessFrame):
(WebCore::BindingSecurity::shouldAllowAccessToNode):
(WebCore::BindingSecurity::allowPopUp):
(WebCore::BindingSecurity::allowSettingFrameSrcToJavascriptUrl):
(WebCore::BindingSecurity::allowSettingSrcToJavascriptURL):
* bindings/generic/GenericBinding.h:
(WebCore::completeURL):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateDomainSafeFunctionGetter):
(GenerateNormalAttrGetter):
(GenerateReplaceableAttrSetter):
(GenerateFunctionCallback):
(GenerateImplementation):
* bindings/scripts/test/V8/V8Float64Array.cpp:
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
(WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
* bindings/scripts/test/V8/V8TestException.cpp:
* bindings/scripts/test/V8/V8TestInterface.cpp:
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
* bindings/scripts/test/V8/V8TestNode.cpp:
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::contentDocumentAttrGetter):
(WebCore::TestObjV8Internal::getSVGDocumentCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
* bindings/v8/BindingState.cpp: Renamed from Source/WebCore/bindings/v8/specialization/V8BindingState.cpp.
(WebCore):
(WebCore::BindingState::instance):
(WebCore::activeWindow):
(WebCore::firstWindow):
(WebCore::activeFrame):
(WebCore::firstFrame):
(WebCore::immediatelyReportUnsafeAccessTo):
* bindings/v8/BindingState.h: Renamed from Source/WebCore/bindings/v8/specialization/V8BindingState.h.
(WebCore):
(BindingState):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::canAccessFromCurrentOrigin):
* bindings/v8/V8Binding.h:
(WebCore):
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/V8Proxy.cpp:
* bindings/v8/V8Utilities.cpp:
(WebCore::callingOrEnteredFrame):
(WebCore::completeURL):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::WindowSetTimeoutImpl):
(WebCore::V8DOMWindow::eventAccessorGetter):
(WebCore::V8DOMWindow::eventAccessorSetter):
(WebCore::V8DOMWindow::locationAccessorSetter):
(WebCore::V8DOMWindow::openerAccessorSetter):
(WebCore::V8DOMWindow::addEventListenerCallback):
(WebCore::V8DOMWindow::removeEventListenerCallback):
(WebCore::V8DOMWindow::showModalDialogCallback):
(WebCore::V8DOMWindow::openCallback):
(WebCore::V8DOMWindow::namedSecurityCheck):
(WebCore::V8DOMWindow::indexedSecurityCheck):
* bindings/v8/custom/V8DocumentLocationCustom.cpp:
(WebCore::V8Document::locationAccessorSetter):
* bindings/v8/custom/V8EntryCustom.cpp:
* bindings/v8/custom/V8EntrySyncCustom.cpp:
* bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
(WebCore::V8HTMLFrameElement::locationAccessorSetter):
* bindings/v8/custom/V8HistoryCustom.cpp:
(WebCore::V8History::indexedSecurityCheck):
(WebCore::V8History::namedSecurityCheck):
* bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
* bindings/v8/custom/V8InjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::canAccessInspectedWindow):
* bindings/v8/custom/V8LocationCustom.cpp:
(WebCore::V8Location::hashAccessorSetter):
(WebCore::V8Location::hostAccessorSetter):
(WebCore::V8Location::hostnameAccessorSetter):
(WebCore::V8Location::hrefAccessorSetter):
(WebCore::V8Location::pathnameAccessorSetter):
(WebCore::V8Location::portAccessorSetter):
(WebCore::V8Location::protocolAccessorSetter):
(WebCore::V8Location::searchAccessorSetter):
(WebCore::V8Location::reloadAccessorGetter):
(WebCore::V8Location::replaceAccessorGetter):
(WebCore::V8Location::assignAccessorGetter):
(WebCore::V8Location::reloadCallback):
(WebCore::V8Location::replaceCallback):
(WebCore::V8Location::assignCallback):
(WebCore::V8Location::toStringCallback):
(WebCore::V8Location::indexedSecurityCheck):
(WebCore::V8Location::namedSecurityCheck):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
* bindings/v8/custom/V8NodeCustom.cpp:

Source/WebKit/chromium:

Update #include.

* src/WebBindings.cpp:

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

7 years agoNo isChildAllowed checked when adding RenderFullScreen as the child..
inferno@chromium.org [Thu, 2 Aug 2012 20:44:31 +0000 (20:44 +0000)]
No isChildAllowed checked when adding RenderFullScreen as the child..
https://bugs.webkit.org/show_bug.cgi?id=92995

Reviewed by Eric Seidel.

Source/WebCore:

Test: fullscreen/fullscreen-child-not-allowed-crash.html

* dom/Document.cpp:
(WebCore::Document::webkitWillEnterFullScreenForElement): pass the object's parent
pointer as an additional argument.
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRendererFactory::createRendererIfNeeded): pass the to be parent |parentRenderer|
as the argument.
* rendering/RenderFullScreen.cpp:
(RenderFullScreen::wrapRenderer): make sure that parent allows RenderFullScreen as the child.
* rendering/RenderFullScreen.h:
(RenderFullScreen): support the object's parent
pointer as an additional argument.

LayoutTests:

* fullscreen/fullscreen-child-not-allowed-crash-expected.txt: Added.
* fullscreen/fullscreen-child-not-allowed-crash.html: Added.

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

7 years ago[chromium] Wrap shared context getters in WebKit API and avoid WebCore::GraphicsConte...
jamesr@google.com [Thu, 2 Aug 2012 20:33:42 +0000 (20:33 +0000)]
[chromium] Wrap shared context getters in WebKit API and avoid WebCore::GraphicsContext3D use in compositor internals
https://bugs.webkit.org/show_bug.cgi?id=92917

Reviewed by Adrienne Walker.

Source/Platform:

This adds Platform API for creating and accessing shared GraphicsContext3D and Ganesh contexts from the main or
compositor threads. These can be used for evaluating filters or doing accelerated painting. These contexts are
generally leaked until lost or process exit, the details are documented in WebSharedGraphicsContext3D.h

* Platform.gypi:
* chromium/public/WebSharedGraphicsContext3D.h: Added.
(WebKit):
(WebSharedGraphicsContext3D):

Source/WebCore:

This uses Platform API wrappers to access the shared WebGraphicsContext3D / Ganesh contexts from the compositor
to evaluate accelerated filters or do accelerated painting.

Filters changes covered by css3/filters/*-hw.html layout tests.

* WebCore.gypi:
* platform/chromium/support/WebSharedGraphicsContext3D.cpp:
(WebKit):
(WebKit::WebSharedGraphicsContext3D::mainThreadContext):
(WebKit::WebSharedGraphicsContext3D::mainThreadGrContext):
(WebKit::WebSharedGraphicsContext3D::compositorThreadContext):
(WebKit::WebSharedGraphicsContext3D::compositorThreadGrContext):
(WebKit::WebSharedGraphicsContext3D::haveCompositorThreadContext):
(WebKit::WebSharedGraphicsContext3D::createCompositorThreadContext):
* platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::createAcceleratedCanvas):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
* platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
(WebKit):
(FrameBufferSkPictureCanvasLayerTextureUpdater):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::applyFilters):
* platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
(WebCore::CCRenderSurfaceFilters::apply):
* platform/graphics/chromium/cc/CCRenderSurfaceFilters.h:
(WebKit):
(CCRenderSurfaceFilters):

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=93020
bdakin@apple.com [Thu, 2 Aug 2012 20:30:15 +0000 (20:30 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=93020
REGRESSION (tiled scrolling): Full-screen video is broken if page is
scrolled
-and corresponding-
<rdar://problem/11629778>

Reviewed by Anders Carlsson.

The bug here is that ScrollingTreeNodeMac::setScrollLayerPosition()
uses the CALayer (PlatformLayer) directly to set the position. That
means that the GraphicsLayer that owns that PlatformLayer does not
have updated position information. That results in this bug when we
switch from fast scrolling to main thread scrolling, because at that
point, the GraphicsLayer needs to have the correct information. So
make sure to update the main thread scroll position and layer
position before transitioning to main thread scrolling.
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):

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

7 years agoUnreviewed debug build fix (bug 92889)
commit-queue@webkit.org [Thu, 2 Aug 2012 20:23:16 +0000 (20:23 +0000)]
Unreviewed debug build fix (bug 92889)

Patch by Antonio Gomes <agomes@rim.com> on 2012-08-02

* WebKitSupport/InRegionScroller.cpp:
(BlackBerry::WebKit::pushBackInRegionScrollable):

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

7 years ago[BlackBerry] Rounding error of destination rect of checkerboard
commit-queue@webkit.org [Thu, 2 Aug 2012 19:53:52 +0000 (19:53 +0000)]
[BlackBerry] Rounding error of destination rect of checkerboard
https://bugs.webkit.org/show_bug.cgi?id=93012

Patch by Leo Yang <leoyang@rim.com> on 2012-08-02
Reviewed by Rob Buis.

Reviewed internally by Jakob Petsovits.

Intersect with the destination rectangle to eliminate the rounding error.

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

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

7 years agoWeb Inspector: Rename 'User agent' to 'Overrides' in settings screen
commit-queue@webkit.org [Thu, 2 Aug 2012 19:42:01 +0000 (19:42 +0000)]
Web Inspector: Rename 'User agent' to 'Overrides' in settings screen
https://bugs.webkit.org/show_bug.cgi?id=92990

Patch by Addy Osmani <addyo@chromium.org> on 2012-08-02
Reviewed by Pavel Feldman.

Simple setting rename of User agent -> Overrides

* English.lproj/localizedStrings.js:
* inspector/front-end/SettingsScreen.js:

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

7 years agoDo not dispatch modification events in SVG attribute synchronization
pdr@google.com [Thu, 2 Aug 2012 19:36:04 +0000 (19:36 +0000)]
Do not dispatch modification events in SVG attribute synchronization
https://bugs.webkit.org/show_bug.cgi?id=92604

Reviewed by Ryosuke Niwa.

Source/WebCore:

Previously, calling hasAttribute() during layout could hit a
layout-during-layout bug because calling hasAttribute() could dispatch a
subtree modification event which could synchronously force a layout. hasAttribute()
exhibits this behavior because property synchronization is done lazily.

This patch skips dispatching subtree modification events during attribute
synchronization.

Additionally, this patch contains a refactoring of lazy attribute setting. We
now have a single place where lazy attributes are set (setSynchronizedLazyAttribute)
and lazy attribute flags have been moved to just Element and ElementAttributeData.

Test: svg/custom/path-domsubtreemodified-crash.html

* dom/Element.cpp:
(WebCore::Element::setAttribute):
(WebCore::Element::setSynchronizedLazyAttribute):
(WebCore):
(WebCore::Element::setAttributeInternal):
* dom/Element.h:
(Element):
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::addAttribute):
(WebCore::ElementAttributeData::removeAttribute):
* dom/ElementAttributeData.h:
(ElementAttributeData):
* dom/StyledElement.cpp:
(WebCore::StyledElement::updateStyleAttribute):
* svg/properties/SVGAnimatedPropertyMacros.h:
(WebCore::SVGSynchronizableAnimatedProperty::synchronize):

LayoutTests:

* svg/custom/path-domsubtreemodified-crash-expected.txt: Added.
* svg/custom/path-domsubtreemodified-crash.html: Added.

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

7 years agoWeb Inspector: Override the DeviceOrientation
kpiascik@rim.com [Thu, 2 Aug 2012 19:29:26 +0000 (19:29 +0000)]
Web Inspector: Override the DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=91008

Reviewed by Pavel Feldman.

Source/WebCore:

Re-added the m_page member variable to DeviceOrientationController and
added InspectorInstrumentation to see if the DeviceOrientationData
should be overridden or not.

Added UI to the web inspector front-end to allow users to override the
device orientation.  This is currently hidden behind an experiment.

Test: inspector/device-orientation-success.html

* English.lproj/localizedStrings.js:
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::DeviceOrientationController):
(WebCore::DeviceOrientationController::create):
(WebCore::DeviceOrientationController::didChangeDeviceOrientation):
(WebCore::provideDeviceOrientationTo):
* dom/DeviceOrientationController.h:
(DeviceOrientationController):
* inspector/Inspector.json:
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::overrideDeviceOrientationImpl):
* inspector/InspectorInstrumentation.h:
(WebCore):
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::overrideDeviceOrientation):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::setDeviceOrientationOverride):
(WebCore):
(WebCore::InspectorPageAgent::clearDeviceOrientationOverride):
(WebCore::InspectorPageAgent::canOverrideDeviceOrientation):
(WebCore::InspectorPageAgent::overrideDeviceOrientation):
* inspector/InspectorPageAgent.h:
* inspector/front-end/Settings.js:
(WebInspector.ExperimentsSettings):
* inspector/front-end/SettingsScreen.js:
(WebInspector.UserAgentSettingsTab):
(WebInspector.UserAgentSettingsTab.prototype._createInput):
(WebInspector.UserAgentSettingsTab.prototype._createDeviceMetricsElement):
(WebInspector.UserAgentSettingsTab.prototype._createGeolocationOverrideElement):
(WebInspector.UserAgentSettingsTab.prototype._onDeviceOrientationOverrideCheckboxClicked):
(WebInspector.UserAgentSettingsTab.prototype._applyDeviceOrientationUserInput):
(WebInspector.UserAgentSettingsTab.prototype._setDeviceOrientation.set if):
(WebInspector.UserAgentSettingsTab.prototype._setDeviceOrientation):
(WebInspector.UserAgentSettingsTab.prototype._createDeviceOrientationOverrideElement):
* inspector/front-end/UserAgentSupport.js:
(WebInspector.UserAgentSupport.DeviceOrientation):
(WebInspector.UserAgentSupport.DeviceOrientation.prototype.toSetting):
(WebInspector.UserAgentSupport.DeviceOrientation.parseSetting):
(WebInspector.UserAgentSupport.DeviceOrientation.parseUserInput):
(WebInspector.UserAgentSupport.DeviceOrientation.clearDeviceOrientationOverride):
* inspector/front-end/inspector.js:
(WebInspector.doLoadedDone):

LayoutTests:

New tests for Device Orientation override.

* inspector/device-orientation-success-expected.txt: Added.
* inspector/device-orientation-success.html: Added.

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

7 years agoTypedArray set method is slow when called with another typed array
commit-queue@webkit.org [Thu, 2 Aug 2012 19:20:33 +0000 (19:20 +0000)]
TypedArray set method is slow when called with another typed array
https://bugs.webkit.org/show_bug.cgi?id=92556

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-08-02
Reviewed by Kenneth Russell.

PerformanceTests:

* Bindings/typed-array-set-from-typed.html: Added.

Source/WebCore:

When setting multiples values to a typed array from an array like
element, try to determine if the argument is a typed array. If so,
cast the argument to a typed array, and read each element with .item()
method. That avoid reading the value as a JSValue, and speedups set
method by approximatively 10x.

Introduce setWebGLArrayWithTypedArrayArgument template function which
checks if argument is a typed array. If so, it copies the data to
target typed array and returns true. Otherwise, it returns false.

Introduce copyTypedArrayBuffer template function which copies data
from a typed array to another one. This function is also used from
constructArrayBufferViewWithTypedArrayArgument.

* bindings/js/JSArrayBufferViewHelper.h:
(WebCore):
(WebCore::copyTypedArrayBuffer):
(WebCore::setWebGLArrayWithTypedArrayArgument):
(WebCore::setWebGLArrayHelper):
(WebCore::constructArrayBufferViewWithTypedArrayArgument):
* bindings/js/JSFloat32ArrayCustom.cpp:
(WebCore::JSFloat32Array::set):
* bindings/js/JSFloat64ArrayCustom.cpp:
(WebCore::JSFloat64Array::set):
* bindings/js/JSInt16ArrayCustom.cpp:
(WebCore::JSInt16Array::set):
* bindings/js/JSInt32ArrayCustom.cpp:
(WebCore::JSInt32Array::set):
* bindings/js/JSInt8ArrayCustom.cpp:
(WebCore::JSInt8Array::set):
* bindings/js/JSUint16ArrayCustom.cpp:
(WebCore::JSUint16Array::set):
* bindings/js/JSUint32ArrayCustom.cpp:
(WebCore::JSUint32Array::set):
* bindings/js/JSUint8ArrayCustom.cpp:
(WebCore::JSUint8Array::set):
* bindings/js/JSUint8ClampedArrayCustom.cpp:
(WebCore::JSUint8ClampedArray::set):

Source/WTF:

Add an checkInboundData function to TypedArrayBase to check if a
position will be not be out of bound or overflow from the typed array.

* wtf/TypedArrayBase.h:
(WTF::TypedArrayBase::checkInboundData):
(TypedArrayBase):

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

7 years agoAXEnabled = false for AXIncrementors inside text fields
cfleizach@apple.com [Thu, 2 Aug 2012 18:53:16 +0000 (18:53 +0000)]
AXEnabled = false for AXIncrementors inside text fields
https://bugs.webkit.org/show_bug.cgi?id=93008

Reviewed by Anders Carlsson.

Source/WebCore:

Mock objects should return "enabled" by default, since they are valid objects.

* accessibility/AccessibilityMockObject.h:
(WebCore::AccessibilityMockObject::isEnabled):
(AccessibilityMockObject):

LayoutTests:

Update tests to reflect that mock objects should be enabled by default.

* platform/mac/accessibility/html5-input-number-expected.txt:
* platform/mac/accessibility/html5-input-number.html:
* platform/mac/accessibility/table-attributes-expected.txt:
* platform/mac/accessibility/table-sections-expected.txt:

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

7 years ago[Chromium-Android] Run layout tests on multiple devices in parallel
wangxianzhu@chromium.org [Thu, 2 Aug 2012 18:46:24 +0000 (18:46 +0000)]
[Chromium-Android] Run layout tests on multiple devices in parallel
https://bugs.webkit.org/show_bug.cgi?id=92877

Reviewed by Dirk Pranke.

Moved methods that run command on a particular device from ChromiumAndroidPort to ChromiumAndroidDriver.
The drivers run adb commands with the '-s serial_number' parameter which specifies the device according to the work_number.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.__init__):
(ChromiumAndroidPort.default_child_processes): Default to the number of attached devices.
(ChromiumAndroidPort.test_expectations): Removed because it is unused.
(ChromiumAndroidPort.setup_test_run): Most contents moved into ChromiumAndroidDriver._setup_test()
(ChromiumAndroidPort.clean_up_test_run): Now the http server is stopped here.
(ChromiumAndroidPort._get_devices):
(ChromiumAndroidPort._get_device_serial):
(ChromiumAndroidDriver):
(ChromiumAndroidDriver.__init__):
(ChromiumAndroidDriver.__del__):
(ChromiumAndroidDriver._setup_test): Original contents of ChromiumAndroidPort.setup_test_run().
(ChromiumAndroidDriver._push_executable): Moved from ChromiumAndroidPort.
(ChromiumAndroidDriver._push_fonts): Moved from ChromiumAndroidPort.
(ChromiumAndroidDriver._push_test_resources): Moved from ChromiumAndroidPort.
(ChromiumAndroidDriver._synchronize_datetime): Moved from ChromiumAndroidPort.
(ChromiumAndroidDriver._run_adb_command): Moved from ChromiumAndroidPort.
(ChromiumAndroidDriver._teardown_performance): Moved from ChromiumAndroidPort.
(ChromiumAndroidDriver._get_crash_log): Moved from ChromiumAndroidPort.
(ChromiumAndroidDriver.cmd_line):
(ChromiumAndroidDriver._file_exists_on_device):
(ChromiumAndroidDriver._remove_all_pipes):
(ChromiumAndroidDriver._start):
(ChromiumAndroidDriver._start_once):
(ChromiumAndroidDriver.stop):
* Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:
(MockRunCommand):
(MockRunCommand.__init__):
(MockRunCommand.mock_run_command_fn):
(MockRunCommand.mock_no_device):
(MockRunCommand.mock_one_device):
(MockRunCommand.mock_two_devices):
(MockRunCommand.mock_no_tombstone_dir):
(MockRunCommand.mock_no_tombstone_file):
(MockRunCommand.mock_ten_tombstones):
(MockRunCommand.mock_logcat):
(ChromiumAndroidPortTest):
(ChromiumAndroidPortTest.make_port):
(ChromiumAndroidPortTest.test_driver_cmd_line):
(ChromiumAndroidPortTest.test_get_devices_no_device):
(ChromiumAndroidPortTest.test_get_devices_one_device):
(ChromiumAndroidPortTest.test_get_devices_two_devices):
(ChromiumAndroidPortTest.test_get_device_serial_no_device):
(ChromiumAndroidPortTest.test_get_device_serial_one_device):
(ChromiumAndroidPortTest.test_get_device_serial_two_devices):
(ChromiumAndroidDriverTest):
(ChromiumAndroidDriverTest.setUp):
(ChromiumAndroidDriverTest.test_get_last_stacktrace):
(ChromiumAndroidDriverTest.test_get_crash_log):
(ChromiumAndroidDriverTest.test_cmd_line):
(ChromiumAndroidDriverTwoDriversTest):
(ChromiumAndroidDriverTwoDriversTest.test_two_drivers):
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):
(Driver._get_crash_log): Added to allow subclasses to override.
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args): Removed the --adb-args command-line parameter because now we select device automatically. Added --adb-device to specify devices.

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

7 years agoLayout Test: compositing/backface-visibility/backface-visibility-webgl.html is not...
commit-queue@webkit.org [Thu, 2 Aug 2012 18:41:47 +0000 (18:41 +0000)]
Layout Test: compositing/backface-visibility/backface-visibility-webgl.html is not supported on Windows.
No WebGL support.
https://bugs.webkit.org/show_bug.cgi?id=92929

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-02
Reviewed by Tim Horton.

* platform/win/Skipped:
compositing/backface-visibility/backface-visibility-webgl.html added to Windows skip list.

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