- 21 Sep, 2012 40 commits
-
-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=68656 Reviewed by Oliver Hunt. Source/JavaScriptCore: Instanceof is currently implemented as a sequance of three opcodes: check_has_instance get_by_id(prototype) op_instanceof There are three interesting types of base value that instanceof can be applied to: (A) Objects supporting default instanceof behaviour (functions, other than those created with bind) (B) Objects overriding the default instancecof behaviour with a custom one (API objects, bound functions) (C) Values that do not respond to the [[HasInstance]] trap. Currently check_has_instance handles case (C), leaving the op_instanceof opcode to handle (A) & (B). There are two problems with this apporach. Firstly, this is suboptimal for case (A), since we have to check for hasInstance support twice (once in check_has_instance, then for default behaviour in op_instanceof). Secondly, this means that in cases (B) we also perform the get_by_id, which is both suboptimal and an observable spec violation. The fix here is to move handing of non-default instanceof (cases (B)) to the check_has_instance op, leaving op_instanceof to handle only cases (A). * API/JSCallbackObject.h: (JSCallbackObject): * API/JSCallbackObjectFunctions.h: (JSC::::customHasInstance): * API/JSValueRef.cpp: (JSValueIsInstanceOfConstructor): - renamed hasInstance to customHasInstance * bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): - added additional parameters to check_has_instance opcode * bytecode/Opcode.h: (JSC): (JSC::padOpcodeName): - added additional parameters to check_has_instance opcode * bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitCheckHasInstance): - added additional parameters to check_has_instance opcode * bytecompiler/BytecodeGenerator.h: (BytecodeGenerator): - added additional parameters to check_has_instance opcode * bytecompiler/NodesCodegen.cpp: (JSC::InstanceOfNode::emitBytecode): - added additional parameters to check_has_instance opcode * dfg/DFGByteCodeParser.cpp: (JSC::DFG::ByteCodeParser::parseBlock): - added additional parameters to check_has_instance opcode * interpreter/Interpreter.cpp: (JSC::isInvalidParamForIn): (JSC::Interpreter::privateExecute): - Add handling for non-default instanceof to op_check_has_instance * jit/JITInlineMethods.h: (JSC::JIT::emitArrayProfilingSiteForBytecodeIndex): - Fixed no-LLInt no_DFG build * jit/JITOpcodes.cpp: (JSC::JIT::emit_op_check_has_instance): (JSC::JIT::emitSlow_op_check_has_instance): - check for ImplementsDefaultHasInstance, handle additional arguments to op_check_has_instance. (JSC::JIT::emit_op_instanceof): (JSC::JIT::emitSlow_op_instanceof): - no need to check for ImplementsDefaultHasInstance. * jit/JITOpcodes32_64.cpp: (JSC::JIT::emit_op_check_has_instance): (JSC::JIT::emitSlow_op_check_has_instance): - check for ImplementsDefaultHasInstance, handle additional arguments to op_check_has_instance. (JSC::JIT::emit_op_instanceof): (JSC::JIT::emitSlow_op_instanceof): - no need to check for ImplementsDefaultHasInstance. * jit/JITStubs.cpp: (JSC::DEFINE_STUB_FUNCTION): * jit/JITStubs.h: - Add handling for non-default instanceof to op_check_has_instance * llint/LLIntSlowPaths.cpp: (JSC::LLInt::LLINT_SLOW_PATH_DECL): * llint/LowLevelInterpreter32_64.asm: * llint/LowLevelInterpreter64.asm: - move check for ImplementsDefaultHasInstance, handle additional arguments to op_check_has_instance. * runtime/ClassInfo.h: (MethodTable): (JSC): - renamed hasInstance to customHasInstance * runtime/CommonSlowPaths.h: (CommonSlowPaths): - removed opInstanceOfSlow (this was whittled down to one function call!) * runtime/JSBoundFunction.cpp: (JSC::JSBoundFunction::customHasInstance): * runtime/JSBoundFunction.h: (JSBoundFunction): - renamed hasInstance to customHasInstance, reimplemented. * runtime/JSCell.cpp: (JSC::JSCell::customHasInstance): * runtime/JSCell.h: (JSCell): * runtime/JSObject.cpp: (JSC::JSObject::hasInstance): (JSC): (JSC::JSObject::defaultHasInstance): * runtime/JSObject.h: (JSObject): LayoutTests: * fast/js/function-bind-expected.txt: - check in passing result. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129281 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
adamk@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=97352 Reviewed by Ryosuke Niwa. ChildListMutationScope is one of the most complicated bits of MutationObserver implementation. This patch aims to simplify it for clarity and improve its performance (mostly by just doing less). The big change is to remove the MutationAccumulatorRouter class, replacing it with lifetime-management logic in ChildListMutationAccumulator ChildListMutationScope is expected to call getOrCreate() in its constructor, and each scope holds a RefPtr to the accumulator. When the last scope holding such a RefPtr is destroyed, ChildListMutationAccumulator's destructor enqueues the accumulated record. This greatly reduces the number of lines of code, and condenses two HashMaps into one. It also reduces hash lookups, which now occur only on scope creation and when the refcount for a given accumulator reaches 0 (previously, each childAdded and willRemoveChild call could result in two hash lookups each). There are some minor changes as well: the ChildListMutationAccumulator::clear() method is gone, as it was doing more work than necessary; DEFINE_STATIC_LOCAL is now used instead of hand-rolled static-management code; ChildListMutationAccumulator::m_lastAdded is no longer a RefPtr, since it always points at a Node that's already being ref'd by the accumulator. Also various minor syntactic cleanups. No new tests, no change in behavior. * dom/ChildListMutationScope.cpp: (WebCore::accumulatorMap): Reduced two maps to one, and manage its lifetime with DEFINE_STATIC_LOCAL. (WebCore::ChildListMutationAccumulator::ChildListMutationAccumulator): Remove unnecessary call to clear() (which itself has been removed). (WebCore::ChildListMutationAccumulator::~ChildListMutationAccumulator): Enqueue record if not empty at destruction, and have the accumulator remove itself from the map. (WebCore::ChildListMutationAccumulator::getOrCreate): Replaces half of MutationAccumulatorRouter's job. (WebCore::ChildListMutationAccumulator::childAdded): Minor RefPtr usage improvements. (WebCore::ChildListMutationAccumulator::isRemovedNodeInOrder): Simplify RefPtr syntax. (WebCore::ChildListMutationAccumulator::willRemoveChild): Minor RefPtr usage improvements. (WebCore::ChildListMutationAccumulator::enqueueMutationRecord): Replace call to clear() with clearing m_lastAdded, since it's the only bit not cleared by the MutationRecord creation call. Also remove isEmpty check and replace with asserts now that it's a private method. (WebCore::ChildListMutationAccumulator::isEmpty): Added more assertions about emptiness. * dom/ChildListMutationScope.h: (WebCore): (ChildListMutationAccumulator): Extract the inner class to make everything easier to read. (WebCore::ChildListMutationScope::ChildListMutationScope): Store m_accumulator rather than m_target. (WebCore::ChildListMutationScope::~ChildListMutationScope): ditto (WebCore::ChildListMutationScope::childAdded): ditto (WebCore::ChildListMutationScope::willRemoveChild): ditto (ChildListMutationScope): * html/HTMLElement.cpp: Remove unused ChildListMutationScope.h #include. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129280 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
roger_fong@apple.com authored
Unreviewed. Skip this test because it relies on sandboxed-iframe-origin-add.html which was removed in http://trac.webkit.org/changeset/129262. * platform/win/Skipped: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129279 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
benjamin@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=97376 Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-09-21 Reviewed by Alexey Proskuryakov. Source/WebKit2: In GeolocationPermissionRequestManager::cancelRequestForGeolocation, we access an iterator after its value has been removed from the table. There are two problems with that: -The iterator is no longer valid after the container has been modified. -If it was the last element, the table has been freed and the iterator points to deleted memory. We solve the issue by keeping a copy of the ID. We could have inverted the order of the calls but that would make the issue less visible for future change. Testing covered by fast/dom/Geolocation/disconnected-frame.html. * WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp: (WebKit::GeolocationPermissionRequestManager::cancelRequestForGeolocation): LayoutTests: * platform/wk2/Skipped: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129278 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
crogers@google.com authored
https://bugs.webkit.org/show_bug.cgi?id=97369 Reviewed by Kenneth Russell. BiquadFilterNode is currently ignoring any timeline or audio-rate changes to its parameters. We now check if any of its parameters have timeline or audio-rate changes and, if so, take them into account. Otherwise, we use ordinary parameter smoothing/de-zippering which is the case when the parameters are adjusted, for example, from a knob or slider in the UI. * Modules/webaudio/BiquadDSPKernel.cpp: (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary): * Modules/webaudio/BiquadProcessor.cpp: (WebCore::BiquadProcessor::checkForDirtyCoefficients): * Modules/webaudio/BiquadProcessor.h: (WebCore::BiquadProcessor::hasSampleAccurateValues): (BiquadProcessor): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129277 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
roger_fong@apple.com authored
Missed some new lines in http://trac.webkit.org/changeset/129255. * platform/win/accessibility/aria-toggle-button-with-title-expected.txt: * platform/win/accessibility/canvas-fallback-content-2-expected.txt: * platform/win/accessibility/img-fallsback-to-title-expected.txt: * platform/win/accessibility/svg-image-expected.txt: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129276 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=96578 Patch by Brandon Jones <bajones@google.com> on 2012-09-21 Reviewed by Kenneth Russell. Source/Platform: Added code to allow calls to the OES_vertex_array_object extension to interface properly with the chromium WebGL implementation. * chromium/public/WebGraphicsContext3D.h: (WebGraphicsContext3D): (WebKit::WebGraphicsContext3D::createVertexArrayOES): (WebKit::WebGraphicsContext3D::deleteVertexArrayOES): (WebKit::WebGraphicsContext3D::isVertexArrayOES): (WebKit::WebGraphicsContext3D::bindVertexArrayOES): Source/WebCore: Adding basic reference counting to WebGLBuffer objects to satisfy spec requirements for the OES_vertex_array_object extension. Added code to allow calls to the OES_vertex_array_object extension to interface properly with the chromium WebGL implementation. Test: fast/canvas/webgl/oes-vertex-array-object.html * html/canvas/WebGLRenderingContext.cpp: (WebCore): (WebCore::WebGLRenderingContext::deleteBuffer): (WebCore::WebGLRenderingContext::vertexAttribPointer): * html/canvas/WebGLVertexArrayObjectOES.cpp: (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer): (WebCore): * html/canvas/WebGLVertexArrayObjectOES.h: (WebGLVertexArrayObjectOES): (WebCore::WebGLVertexArrayObjectOES::getVertexAttribStateSize): * platform/chromium/support/Extensions3DChromium.cpp: (WebCore::Extensions3DChromium::createVertexArrayOES): (WebCore::Extensions3DChromium::deleteVertexArrayOES): (WebCore::Extensions3DChromium::isVertexArrayOES): (WebCore::Extensions3DChromium::bindVertexArrayOES): LayoutTests: Brought over KHRONOS conformance test for OES_vertex_array_object * fast/canvas/webgl/oes-vertex-array-object-expected.txt: Added. * fast/canvas/webgl/oes-vertex-array-object.html: Added. * platform/efl/Skipped: * platform/gtk-wk2/Skipped: * platform/mac/Skipped: * platform/wk2/Skipped: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129275 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
fpizlo@apple.com authored
* assembler/MacroAssemblerARMv7.h: (JSC::MacroAssemblerARMv7::store8): (MacroAssemblerARMv7): * offlineasm/armv7.rb: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129274 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
bashi@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=97277 Reviewed by Tony Chang. Source/WebCore: Remove HarfBuzz dependency from GlyphPageTreeNodeSkia. Use OpenTypeVerticalData instead. No new tests. Rebaselined existing tests. * WebCore.gyp/WebCore.gyp: Added OpenTypeTypes.h and OpenTypeVerticalData.(cpp|h) for linux and android. * platform/graphics/FontCache.cpp: Inserted a space between > and > in typedef of FontVerticalDataCache so that making some compilers happy. (WebCore): * platform/graphics/SimpleFontData.h: (SimpleFontData): Moved declaration of m_verticalData to avoid compile warnings. * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: (WebCore): (WebCore::FontPlatformData::verticalData): Added. (WebCore::FontPlatformData::openTypeTable): Added. * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: (WebCore): (FontPlatformData): * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp: Removed substituteWithVerticalGlyphs(). (WebCore::GlyphPage::fill): Source/WebKit/chromium: * features.gypi: Enable OPENTYPE_VERTICAL on linux and android. LayoutTests: Rebaselined vertical writing test expectations. * platform/chromium-linux/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png: * platform/chromium-linux/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png: * platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png: * platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png: * platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.png: * platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png: * platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png: * platform/chromium-linux/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.png: * platform/chromium-linux/fast/dynamic/text-combine-expected.png: * platform/chromium-linux/fast/repaint/japanese-rl-selection-repaint-expected.png: * platform/chromium-linux/fast/text/international/text-spliced-font-expected.png: * platform/chromium-linux/fast/writing-mode/Kusa-Makura-background-canvas-expected.png: * platform/chromium-linux/fast/writing-mode/border-vertical-lr-expected.png: * platform/chromium-linux/fast/writing-mode/japanese-lr-selection-expected.png: * platform/chromium-linux/fast/writing-mode/japanese-lr-text-expected.png: * platform/chromium-linux/fast/writing-mode/japanese-rl-selection-expected.png: * platform/chromium-linux/fast/writing-mode/japanese-rl-text-expected.png: * platform/chromium-linux/fast/writing-mode/japanese-rl-text-with-broken-font-expected.png: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129273 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
fpizlo@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=97328 Reviewed by Mark Hahnenberg. It's a bad idea to emit stub code that reallocates property storage when we're in indexed storage mode. DFGRepatch.cpp knew this and had the appropriate check in one of the places, but it didn't have it in all of the places. This change also adds some more handy disassembly support, which I used to find the bug. * assembler/LinkBuffer.h: (JSC): * dfg/DFGRepatch.cpp: (JSC::DFG::generateProtoChainAccessStub): (JSC::DFG::tryCacheGetByID): (JSC::DFG::tryBuildGetByIDList): (JSC::DFG::emitPutReplaceStub): (JSC::DFG::emitPutTransitionStub): (JSC::DFG::tryCachePutByID): * jit/JITStubRoutine.h: (JSC): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129272 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=97367 Patch by Jeremy Apthorp <jeremya@chromium.org> on 2012-09-21 Reviewed by Abhishek Arya. The document could be destroyed during the processing of the fullscreenchange event, if the document was destroyed as a result of one of the dispatchEvent calls. This bug isn't reliably reproducible, so no new tests. * dom/Document.cpp: (WebCore::Document::fullScreenChangeDelayTimerFired): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129270 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
weinig@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=91079 <rdar://problem/12332660> Reviewed by Anders Carlsson. * WebProcess/com.apple.WebProcess.sb.in: Add pragma to ignore the invalid preprocessor warnings. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129269 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
benjamin@webkit.org authored
Unreviewed. The test assert in Debug, skip it until this has been fixed. Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-09-21 * platform/wk2/Skipped: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129268 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
psolanki@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=97363 Reviewed by David Kilzer. No new tests because no functional change. * Configurations/WebCoreTestSupport.xcconfig: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129267 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
fpizlo@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=97373 Reviewed by Mark Hahnenberg. Source/JavaScriptCore: * dfg/DFGCSEPhase.cpp: (JSC::DFG::CSEPhase::pureCSE): (JSC::DFG::CSEPhase::getArrayLengthElimination): (JSC::DFG::CSEPhase::putStructureStoreElimination): (JSC::DFG::CSEPhase::performNodeCSE): * dfg/DFGGraph.h: (Graph): LayoutTests: * fast/js/dfg-holy-put-by-val-interferes-with-get-array-length-expected.txt: Added. * fast/js/dfg-holy-put-by-val-interferes-with-get-array-length.html: Added. * fast/js/jsc-test-list: * fast/js/script-tests/dfg-holy-put-by-val-interferes-with-get-array-length.js: Added. (foo): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129266 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
dpranke@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=97364 Reviewed by Ryosuke Niwa. * Scripts/webkitpy/layout_tests/models/test_expectations.py: (TestExpectationParser._collect_matching_tests): (TestExpectationParser): (TestExpectationParser._tokenize_line): * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: (SkippedTests.test_skipped_entry_dont_exist): (ExpectationSyntaxTests.assert_tokenize_exp): (ExpectationSyntaxTests.test_bare_name): (ExpectationSyntaxTests.test_bare_name_and_bugs): (ExpectationSyntaxTests.test_comments): (ExpectationSyntaxTests.test_config_modifiers): (ExpectationSyntaxTests.test_unknown_config): (ExpectationSyntaxTests.test_unknown_expectation): (ExpectationSyntaxTests.test_skip): (ExpectationSyntaxTests.test_slow): (ExpectationSyntaxTests.test_wontfix): (ExpectationSyntaxTests.test_blank_line): (ExpectationSyntaxTests.test_warnings): (RebaseliningTest.test_no_get_rebaselining_failures): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129265 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
simon.fraser@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=97370 Reviewed by Timothy Horton. Distinguish between conditions that already set the errorMessage, and unresponsiveness due to slow about:blank loads when WTR reports unresponsiveness. * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::invoke): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129264 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
dpranke@chromium.org authored
Unreviewed, rolled DEPS. * DEPS: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129263 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
roger_fong@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=97271 * platform/win/Skipped: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129262 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
dpranke@chromium.org authored
Unreviewed, rolled DEPS. * DEPS: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129261 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
crogers@google.com authored
https://bugs.webkit.org/show_bug.cgi?id=97050 Reviewed by Eric Carlson. .: * Source/cmake/WebKitFeatures.cmake: Source/JavaScriptCore: * Configurations/FeatureDefines.xcconfig: Source/WebCore: The Web Audio API specification has undergone much review and some small API changes have been made (mostly naming-related changes). This patch adds an ENABLE_LEGACY_WEB_AUDIO build option to allow ports to support the old names. Tests changed: audiobuffersource-playbackrate.html audiobuffersource.html note-grain-on-testing.js oscillator-testing.js * Configurations/FeatureDefines.xcconfig: * GNUmakefile.features.am: * Modules/webaudio/AudioBufferSourceNode.cpp: (WebCore::AudioBufferSourceNode::startGrain): (WebCore): (WebCore::AudioBufferSourceNode::noteGrainOn): * Modules/webaudio/AudioBufferSourceNode.h: (AudioBufferSourceNode): * Modules/webaudio/AudioBufferSourceNode.idl: * Modules/webaudio/AudioScheduledSourceNode.cpp: (WebCore::AudioScheduledSourceNode::start): (WebCore::AudioScheduledSourceNode::stop): (WebCore): (WebCore::AudioScheduledSourceNode::noteOn): (WebCore::AudioScheduledSourceNode::noteOff): * Modules/webaudio/AudioScheduledSourceNode.h: * Modules/webaudio/Oscillator.idl: * page/FeatureObserver.h: Source/WebKit/chromium: * features.gypi: Source/WebKit/mac: * Configurations/FeatureDefines.xcconfig: Source/WebKit2: * Configurations/FeatureDefines.xcconfig: Tools: * Scripts/webkitperl/FeatureList.pm: LayoutTests: * webaudio/audiobuffersource-playbackrate.html: * webaudio/audiobuffersource.html: * webaudio/resources/note-grain-on-testing.js: (playGrain): * webaudio/resources/oscillator-testing.js: (generateExponentialOscillatorSweep): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129260 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
dpranke@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=97362 Reviewed by Ojan Vafai. This patch updates all the unit tests that were still using the old TestExpectations syntax to use the new syntax *except* for the tests that were specifically testing that we parsed the old syntax correctly. Also, a block of tests for the new syntax were duplicated, so I've deleted the duplicate. Note that the old syntax is still supported so this change should produce no visible changes. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: (MiscTests.test_multiple_results): (MiscTests.test_category_expectations): (MiscTests.test_error_on_different_platform): (MiscTests.test_error_on_different_build_type): (MiscTests.test_overrides): (MiscTests.test_overrides__directory): (MiscTests.test_overrides__duplicate): (MiscTests.test_more_specific_override_resets_skip): (SkippedTests.check): (SkippedTests.test_duplicate_skipped_test_fails_lint): (SkippedTests.test_skipped_file_overrides_expectations): (SkippedTests.test_skipped_dir_overrides_expectations): (SkippedTests.test_skipped_file_overrides_overrides): (SkippedTests.test_skipped_dir_overrides_overrides): (ExpectationSyntaxTests.disabled_test_missing_expectation): (ExpectationSyntaxTests.disabled_test_missing_colon): (ExpectationSyntaxTests.disabled_test_too_many_colons): (ExpectationSyntaxTests.disabled_test_too_many_equals_signs): (ExpectationSyntaxTests): (ExpectationSyntaxTests.test_unrecognized_expectation): (ExpectationSyntaxTests.test_macro): (SemanticTests.test_bug_format): (SemanticTests.test_bad_bugid): (SemanticTests.test_missing_bugid): (SemanticTests.test_slow_and_timeout): (SemanticTests.test_rebaseline): (test_missing_file): (test_ambiguous): (test_more_modifiers): (test_order_in_file): (test_macro_overrides): (OldExpectationParserTests): (OldExpectationParserTests._tokenize): (OldExpectationParserTests.test_tokenize_extra_colon): (OldExpectationParserTests.test_tokenize_missing_equal): (OldExpectationParserTests.test_tokenize_extra_equal): * Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py: (MainTest.test_skip_failing_tests): (MainTest.test_additional_expectations): * Scripts/webkitpy/style/checkers/test_expectations_unittest.py: (TestExpectationsTestCase.test_valid_expectations): (TestExpectationsTestCase.test_invalid_expectations): (TestExpectationsTestCase.test_tab): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
https://bugs.webkit.org/show_bug.cgi?id=92916roger_fong@apple.com authored
Unreviewed. As in https://bugs.webkit.org/show_bug.cgi?id=92916, Windows specific results need to be added for various accessibility tests. * platform/win/accessibility/aria-toggle-button-with-title-expected.txt: Added. * platform/win/accessibility/canvas-fallback-content-2-expected.txt: Added. * platform/win/accessibility/img-fallsback-to-title-expected.txt: Added. * platform/win/accessibility/svg-image-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129258 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
pilgrim@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=96282 Reviewed by Tony Chang. Migrating away from PlatformSupport. getFontFamilyForCharacters is moved to FontCache.h and overridden by the two platforms that need it (Chromium Linux and Blackberry). New files for the overrides. Part of a larger refactoring series. See tracking bug 82948. Source/WebCore: * PlatformBlackBerry.cmake: * WebCore.gypi: * platform/chromium/PlatformSupport.h: (PlatformSupport): * platform/graphics/FontCache.h: (SimpleFontFamily): (FontCache): * platform/graphics/blackberry/FontCacheBlackberry.cpp: Added. (WebCore): (WebCore::FontCache::getFontFamilyForCharacters): * platform/graphics/blackberry/skia/PlatformSupport.cpp: (WebCore): * platform/graphics/blackberry/skia/PlatformSupport.h: (PlatformSupport): * platform/graphics/chromium/FontCacheAndroid.cpp: (WebCore::FontCache::getFontDataForCharacters): * platform/graphics/chromium/FontCacheChromiumLinux.cpp: Added. (WebCore): (WebCore::FontCache::getFontFamilyForCharacters): * platform/graphics/skia/FontCacheSkia.cpp: (WebCore::FontCache::getFontDataForCharacters): Source/WebKit/chromium: * src/PlatformSupport.cpp: (WebCore): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129257 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
roger_fong@apple.com authored
http://trac.webkit.org/changeset/128652 changed results for these tests on Mac but Windows results should stay the same. * platform/win/fast/block/positioning: Added. * platform/win/fast/block/positioning/016-expected.txt: Added. * platform/win/fast/block/positioning/025-expected.txt: Added. * platform/win/fast/block/positioning/fixed-position-stacking-context-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129255 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
cfleizach@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=96168 Reviewed by Eric Seidel. Override absoluteFocusRingQuads() for SVG objects because the default implementation relies on addFocusRingRects(). In addFocusRingRects(), SVG objects adds local positions for its rects instead of absolute positions. Test: accessibility/svg-bounds.html * rendering/RenderObject.h: (RenderObject): * rendering/svg/RenderSVGModelObject.cpp: (WebCore): (WebCore::RenderSVGModelObject::absoluteFocusRingQuads): * rendering/svg/RenderSVGModelObject.h: (RenderSVGModelObject): LayoutTests: WebKit exposes incorrect bounds for embedded SVG in HTML https://bugs.webkit.org/show_bug.cgi?id=96168 Reviewed by Eric Seidel. * accessibility/svg-bounds.html: Added. * platform/chromium/TestExpectations: * platform/mac/accessibility/svg-bounds-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129254 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
benjamin@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=97278 Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-09-21 Reviewed by Kenneth Rohde Christiansen. Source/WebKit2: * Shared/API/c/WKNumber.h: Fix an unfortunate copy-paste :) * WebProcess/InjectedBundle/API/c/WKBundle.cpp: * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h: * WebProcess/InjectedBundle/InjectedBundle.cpp: * WebProcess/InjectedBundle/InjectedBundle.h: (InjectedBundle): Remove the code forcing the Geolocation permissions. It was working around the normal Geolocation code and updating all the GeolocationController, which is a terrible idea. Tools: Update the Geolocation testing to use the proper API in the UIProcess. * WebKitTestRunner/CMakeLists.txt: * WebKitTestRunner/GNUmakefile.am: * WebKitTestRunner/GeolocationProviderMock.cpp: Added. (WTR::startUpdatingCallback): (WTR::stopUpdatingCallback): (WTR::GeolocationProviderMock::GeolocationProvierMock): (WTR::GeolocationProviderMock::setMockGeolocationPosition): (WTR::GeolocationProviderMock::startUpdating): (WTR::GeolocationProviderMock::stopUpdating): (GeolocationProviderMock): The GeolocationProvider store the location update and deliver them as needed. WebCore GeolocationController do not support asynchronous update on start/stop. This is not a problem in this case because all the messages between the WebProcess and the UIProcess are asynchronous. Because of this, unlike GeolocationClientMock, we do not use a timer for event delivery. * WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: * WebKitTestRunner/InjectedBundle/InjectedBundle.cpp: (WTR::InjectedBundle::setGeolocationPermission): (WTR::InjectedBundle::setMockGeolocationPosition): * WebKitTestRunner/InjectedBundle/InjectedBundle.h: (InjectedBundle): * WebKitTestRunner/InjectedBundle/TestRunner.cpp: (WTR::TestRunner::setGeolocationPermission): (WTR::TestRunner::setMockGeolocationPosition): From the InjectedBundle, we now pass the information to the UIProcess so that GeolocationProvider and the TestController can respond appropriately. * WebKitTestRunner/InjectedBundle/TestRunner.h: (TestRunner): * WebKitTestRunner/Target.pri: * WebKitTestRunner/TestController.cpp: (WTR::TestController::TestController): (WTR::decidePolicyForGeolocationPermissionRequest): (WTR::TestController::createOtherPage): (WTR::TestController::initialize): (WTR::TestController::setMockGeolocationPosition): * WebKitTestRunner/TestController.h: (TestController): (WTR::TestController::setGeolocationPermission): (WTR::TestController::isGeolocationPermissionAllowed): * WebKitTestRunner/TestInvocation.cpp: (WTR::TestInvocation::didReceiveMessageFromInjectedBundle): * WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: * WebKitTestRunner/win/WebKitTestRunner.vcproj: LayoutTests: * platform/wk2/Skipped: Unskip the passing tests. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129252 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
[BlackBerry] Really fix bug 95488 that user can get the authentication challenge dialog while the other tab has focus. https://bugs.webkit.org/show_bug.cgi?id=97348 Internal PR: 186597. Internally reviewed by Yong Li, Joe Mason. Patch by Lianghui Chen <liachen@rim.com> on 2012-09-21 Reviewed by Yong Li. Source/WebCore: Add a singleton AuthenticationChallengeManager to manage authentication challenge dialog. It does following things: Record page creation/deletion, so it knows what page is present or not. Record page visibility change so it knows when to display a dialog or not. Accept authentication challenge, and decide whether to postpone the challenge dialog based on whether there is active authentication challenge dialog already and whether its page is visible or not. When a challenge result comes back, notify the result to all clients authenticating for the same protection space, and then start the next authentication challenge from the same page, if there is one. When a page becomes visible, start the first authentication challenge dialog that has been blocked before. And to support this new AuthenticationChallengeManager, and making the challenge really asynchronous, NetworkJob has been updated to support the concept of "freeze", which means buffering all network loading status change but don't send them to NetworkJob clients. This is necessary when authentication challenge is asynchronous, as the previous network loading status will likely come before user make any decision. No new tests for platform specific internal change. * PlatformBlackBerry.cmake: * platform/blackberry/AuthenticationChallengeManager.cpp: Added. (WebCore): (ChallengeInfo): (WebCore::ChallengeInfo::ChallengeInfo): (AuthenticationChallengeManagerPrivate): (WebCore::AuthenticationChallengeManagerPrivate::AuthenticationChallengeManagerPrivate): (WebCore::AuthenticationChallengeManagerPrivate::resumeAuthenticationChallenge): (WebCore::AuthenticationChallengeManagerPrivate::startAuthenticationChallenge): (WebCore::AuthenticationChallengeManagerPrivate::pageExists): (WebCore::AuthenticationChallengeManager::AuthenticationChallengeManager): (WebCore::AuthenticationChallengeManager::pageCreated): (WebCore::AuthenticationChallengeManager::pageDeleted): (WebCore::AuthenticationChallengeManager::pageVisibilityChanged): (WebCore::AuthenticationChallengeManager::authenticationChallenge): (WebCore::AuthenticationChallengeManager::cancelAuthenticationChallenge): (WebCore::AuthenticationChallengeManager::notifyChallengeResult): (WebCore::AuthenticationChallengeManager::instance): (WebCore::AuthenticationChallengeManager::init): * platform/blackberry/AuthenticationChallengeManager.h: (WebCore): (AuthenticationChallengeManager): * platform/blackberry/PageClientBlackBerry.h: * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate): (WebCore::MediaPlayerPrivate::onAuthenticationNeeded): (WebCore::MediaPlayerPrivate::notifyChallengeResult): * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: (MediaPlayerPrivate): * platform/network/blackberry/NetworkJob.cpp: (WebCore::NetworkJob::NetworkJob): (WebCore::NetworkJob::~NetworkJob): (WebCore): (WebCore::NetworkJob::handleNotifyStatusReceived): (WebCore::NetworkJob::handleNotifyClose): (WebCore::NetworkJob::sendRequestWithCredentials): (WebCore::NetworkJob::notifyChallengeResult): * platform/network/blackberry/NetworkJob.h: (NetworkJob): Source/WebKit/blackberry: Update WebPage to use new AuthenticationChallengeManager. Register page creation/deletion and visibility change to the new AuthenticationChallengeManager. Initialize AuthenticationChallengeManager in GlobalInitialize() function. * Api/BlackBerryGlobal.cpp: (BlackBerry::WebKit::globalInitialize): * Api/WebPage.cpp: (BlackBerry::WebKit::WebPagePrivate::WebPagePrivate): (BlackBerry::WebKit::WebPagePrivate::~WebPagePrivate): (BlackBerry::WebKit::WebPagePrivate::authenticationChallenge): (BlackBerry::WebKit::WebPage::setVisible): * Api/WebPage_p.h: (WebPagePrivate): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129251 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
ap@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=97354 Reviewed by Timothy Hatcher. * UIProcess/mac/WebInspectorProxyMac.mm: (WebKit::WebInspectorProxy::platformCreateInspectorPage): Tell WKView that it's related to original page, making inspector page be in the same process. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129250 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hausmann@webkit.org authored
http://trac.webkit.org/changeset/129248 https://bugs.webkit.org/show_bug.cgi?id=96000 Broke win build * Target.pri: * WebCore.vcproj/WebCore.vcproj: * rendering/RenderingAllInOne.cpp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129249 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
hausmann@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=96000 Patch by Simon Hausmann <simon.hausmann@nokia.com> on 2012-09-21 Reviewed by Ryosuke Niwa. RenderingAllInOne.cpp unconditionally includes RenderThemeWin. This patch separates it out from the file. * Target.pri: Add RenderingAllInOne.cpp to the list of supported all-in-one files. * WebCore.vcproj/WebCore.vcproj: Compile RenderThemeWin.cpp separately. * rendering/RenderingAllInOne.cpp: Don't include RenderThemeWin.cpp here. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129248 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=96196 Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-09-21 Reviewed by Martin Robinson. The "regression" is that a new test was added but the support was missing in the Gtk port for spin buttons. Source/WebCore: No new tests. Instead the new test which had been skipped was unskipped as part of this fix. * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: (atkRole): Map SpinButtonRole to ATK_ROLE_SPIN_BUTTON (getInterfaceMaskFromObject): Add SpinButtonRole to the roles implementing the AtkValue interface. Tools: * DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp: (AccessibilityUIElement::valueDescription): Updated the FIXME comment to indicate that this cannot be implemented until it is implemented in ATK. URL of the newly-filed ATK bug included for reference. LayoutTests: * platform/gtk/TestExpectations: Unskip the new test. * platform/gtk/accessibility/spinbutton-value-expected.txt: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129247 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=96932 Patch by Joanmarie Diggs <jdiggs@igalia.com> on 2012-09-21 Reviewed by Martin Robinson. Source/WebCore: Make the decision based on RenderObjects rather than AccessibilityObjects to avoid the infinite recursion which occurs when remapAriaRoleDueToParent gets called. Test: platform/gtk/accessibility/remapped-aria-crash.html * accessibility/gtk/AccessibilityObjectAtk.cpp: (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject): LayoutTests: Added a new test which replicates the recursion and crash. * platform/gtk/accessibility/remapped-aria-crash-expected.txt: Added. * platform/gtk/accessibility/remapped-aria-crash.html: Added. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129246 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
dpranke@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=97225 Unreviewed, build fix. * Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: (SemanticTests.test_skip_and_wontfix): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129245 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=93324 Patch by Jonathan Dong <jonathan.dong@torchmobile.com.cn> on 2012-09-21 Reviewed by Eric Carlson. RIM PR: 116205 Passed FrameLoaderClientBlackBerry's playerId to MMRPlayer::load() because MMRPlayer::load() added playerId as a new parameter, which is required to initiate a MediaSSLHandlerStream to deal with certificate failure when loading a "https" media url. Internally reviewed by Joe Mason <jmason@rim.com>. No new tests since there's no functional change. * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: (WebCore::MediaPlayerPrivate::load): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129244 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
danakj@chromium.org authored
https://bugs.webkit.org/show_bug.cgi?id=97147 Reviewed by James Robinson. Source/Platform: These methods allow us to restore a WebFilterOperation from a blob of opaque data. The pickling code needs to be able to create an empty object and then fill in the pieces, so these setters allow it to do so. Test: WebFilterOperationsTest.saveAndRestore * chromium/public/WebFilterOperation.h: (WebKit::WebFilterOperation::amount): (WebKit::WebFilterOperation::dropShadowOffset): (WebKit::WebFilterOperation::matrix): (WebKit::WebFilterOperation::zoomRect): (WebFilterOperation): (WebKit::WebFilterOperation::createEmptyFilter): (WebKit::WebFilterOperation::setType): (WebKit::WebFilterOperation::setAmount): (WebKit::WebFilterOperation::setDropShadowOffset): (WebKit::WebFilterOperation::setDropShadowColor): (WebKit::WebFilterOperation::setMatrix): (WebKit::WebFilterOperation::setZoomRect): * chromium/src/WebFilterOperation.cpp: Source/WebKit/chromium: * tests/FilterOperationsTest.cpp: (WebKit): (WebKit::TEST): git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129243 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
tony@chromium.org authored
* WebKit.gyp: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129242 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
barraclough@apple.com authored
https://bugs.webkit.org/show_bug.cgi?id=55343 Reviewed by Oliver Hunt. Source/JavaScriptCore: This has no performance impact. * runtime/JSGlobalObject.cpp: (JSC::JSGlobalObject::reset): - Make 'Math' a regular property. LayoutTests: Added test case. * fast/js/math-expected.txt: * fast/js/script-tests/math.js: - Added test case. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129241 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-09-21 * DEPS: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129240 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-
commit-queue@webkit.org authored
https://bugs.webkit.org/show_bug.cgi?id=97237 Patch by Evan Wallace <evan.exe@gmail.com> on 2012-09-21 Reviewed by Alexey Proskuryakov. WebSocketChannel always reallocates its internal buffer when it receives and appends new data which causes dramatic slowdowns for messages over 2 MB in size. This patch changes the internal buffer of WebSocketChannel from a raw char array to a Vector<char> and uses its amortized append() method. This brings the time to receive a 5 MB message from 5.2 seconds to 0.25 seconds. This patch is only for optimization. No new tests are needed. * Modules/websockets/WebSocketChannel.cpp: (WebCore::WebSocketChannel::WebSocketChannel): (WebCore::WebSocketChannel::~WebSocketChannel): (WebCore::WebSocketChannel::fail): (WebCore::WebSocketChannel::resume): (WebCore::WebSocketChannel::didReceiveSocketStreamData): (WebCore::WebSocketChannel::appendToBuffer): (WebCore::WebSocketChannel::skipBuffer): (WebCore::WebSocketChannel::processBuffer): (WebCore::WebSocketChannel::resumeTimerFired): (WebCore::WebSocketChannel::processFrame): * Modules/websockets/WebSocketChannel.h: git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129239 268f45cc-cd09-0410-ab3c-d52691b4dbfc
-