From b365f1d5a846ec5f2d41f8dc15ed4cf02bfa0661 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 26 Jun 2009 19:03:50 +0200 Subject: Updated WebKit from /home/shausman/src/webkit/trunk to origin/qtwebkit-4.6-staging ( 6b0744eab3f993b9c2bd44e3e79d7664040fd003 ) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Changes in WebKit since the last update: ++ b/JavaScriptCore/ChangeLog 2009-06-26 Jedrzej Nowacki Reviewed by Simon Hausmann. Add support for QDataStream operators to Vector. * wtf/Vector.h: (WTF::operator<<): (WTF::operator>>): 2009-06-26 Zoltan Horvath Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=26750 Allow custom memory allocation control for JavaScriptCore/runtime directory's classes which instantiated by new: class IdentifierTable struct RegExpObjectData class HashEntry struct DataInstance::Cache class UString struct RegExpConstructorPrivate class ScopeChain * runtime/DateInstance.cpp: * runtime/Identifier.cpp: * runtime/Lookup.h: * runtime/RegExpConstructor.cpp: * runtime/RegExpObject.h: * runtime/ScopeChain.h: * runtime/UString.h: 2009-06-24 Sam Weinig Reviewed by Gavin Barraclough. Make the opcode sampler work once again. * jit/JIT.h: (JSC::JIT::compileGetByIdProto): (JSC::JIT::compileGetByIdSelfList): (JSC::JIT::compileGetByIdProtoList): (JSC::JIT::compileGetByIdChainList): (JSC::JIT::compileGetByIdChain): (JSC::JIT::compilePutByIdTransition): (JSC::JIT::compileCTIMachineTrampolines): (JSC::JIT::compilePatchGetArrayLength): * jit/JITStubCall.h: (JSC::JITStubCall::call): 2009-06-24 Zoltan Horvath Reviewed by Maciej Stachowiak. Extend FastAllocBase.h with 'using WTF::FastAllocBase' to avoid unnecessary WTF:: usings. Remove existing unnecessary WTF:: usings. * interpreter/Interpreter.h: * profiler/CallIdentifier.h: * runtime/ScopeChain.h: * wtf/FastAllocBase.h: 2009-06-24 David Levin Fix all builds. * bytecode/CodeBlock.h: * bytecompiler/BytecodeGenerator.h: * interpreter/Register.h: 2009-06-24 Zoltan Horvath Reviewed by Maciej Stachowiak. https://bugs.webkit.org/show_bug.cgi?id=26677 Inherits CodeBlock class from FastAllocBase because it has been instantiated by 'new' in JavaScriptCore/bytecode/CodeBlock.h:217. * bytecode/CodeBlock.h: 2009-06-24 Zoltan Horvath Reviewed by Maciej Stachowiak. https://bugs.webkit.org/show_bug.cgi?id=26676 Inherits BytecodeGenerator class from FastAllocBase because it has been instantiated by 'new' in JavaScriptCore/parser/Nodes.cpp:1892. * bytecompiler/BytecodeGenerator.h: 2009-06-24 Zoltan Horvath Reviewed by Maciej Stachowiak. https://bugs.webkit.org/show_bug.cgi?id=26675 Inherits Register class from FastAllocBase because it has been instantiated by 'new' in JavaScriptCore/runtime/JSVariableObject.h:149. * interpreter/Register.h: 2009-06-24 Zoltan Horvath Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=26674 Inherits HashMap class from FastAllocBase because it has been instantiated by 'new' in JavaScriptCore/runtime/Structure.cpp:458. * wtf/HashMap.h: 2009-06-24 Oliver Hunt Reviewed by Darin Adler. REGRESSION (Safari 4 Public Beta - TOT): google.com/adplanner shows blank page instead of site details in "basic research' The problem was caused by the page returned with a function using a var declaration list containing around ~3000 variables. The solution to this is to flatten the comma expression representation and make codegen comma expressions and initializer lists iterative rather than recursive. * parser/Grammar.y: * parser/NodeConstructors.h: (JSC::CommaNode::CommaNode): * parser/Nodes.cpp: (JSC::CommaNode::emitBytecode): * parser/Nodes.h: (JSC::ExpressionNode::isCommaNode): (JSC::CommaNode::isCommaNode): (JSC::CommaNode::append): ++ b/LayoutTests/ChangeLog 2009-06-26 Adele Peterson Reviewed by Darin Adler. Test for REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages * editing/inserting/break-blockquote-after-delete.html: Added. * platform/mac/editing/inserting/break-blockquote-after-delete-expected.checksum: Added. * platform/mac/editing/inserting/break-blockquote-after-delete-expected.png: Added. * platform/mac/editing/inserting/break-blockquote-after-delete-expected.txt: Added. 2009-06-26 Yongjun Zhang Reviewed by Eric Seidel. Bug 20303: [Qt] Key events are not working in frames. Add a layout test to test the event is sent to the right sub-frame. * platform/qt/fast/events/event-sender-keydown-frame-expected.txt: Added. * platform/qt/fast/events/event-sender-keydown-frame.html: Added. 2009-06-26 Rob Buis Reviewed by Eric Seidel. Test for: https://bugs.webkit.org/show_bug.cgi?id=26682 Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript) * platform/mac/svg/custom/createImageElement-expected.checksum: Added * platform/mac/svg/custom/createImageElement-expected.png: Added * platform/mac/svg/custom/createImageElement-expected.txt: Added. * svg/custom/createImageElement.svg: Added. 2009-06-26 Takeshi Yoshino Reviewed by Timothy Hatcher. Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument https://bugs.webkit.org/show_bug.cgi?id=26156 When in view-source mode, render the contents using HTMLViewSourceDocument regardless it's applicable for any plugin or not. Chromium tells WebCore to render the contents of specified URL when view-source: prefix is added to the URL. But currently, DOMImplementation ignores inViewSourceMode() when the MIME type is indicating that the contents are neither texts nor HTML family documents. For example, we can check the contents of asf file without launching media player. Rendering contents for view-source:-specified input is not what user expects. http://code.google.com/p/chromium/issues/detail?id=10545 I want to fix this issue by this patch. IMHO, regardless of this Chromium specific issue, I think we should force use of HTMLViewSourceDocument when inViewSourceMode() is specified. * fast/frames/resources/viewsource-fake-image-file.png: Added. * fast/frames/viewsource-on-image-file.html: Added. * platform/mac/fast/frames/viewsource-on-image-file-expected.txt: Added. 2009-06-26 Alexey Proskuryakov Reviewed by Sam Weinig. Update lookalike character list. * fast/encoding/idn-security-expected.txt: * fast/encoding/idn-security.html: 2009-06-26 Jungshik Shin Reviewed by Eric Seidel. Add an additional test for bug 23786 (mistreatment of CR/LF as zero-width characters in Chromium port). Tests using Bidi text were added when the fix was checked in. Without the patch, Chromium used to fail the same way with LTR complex scripts as well. (that is, CR and LF were treated as zero-width space). To prevent a potential regression in the future, a new test with Hindi (a LTR complex script) is added. The expected results for Mac and Windows are added while this test is added to Skipped file for gtk. I guess this test just needs a new test result generated on gtk. https://bugs.webkit.org/show_bug.cgi?id=25698 * fast/text/international/hindi-whitespace.html: Added. * platform/gtk/Skipped: * platform/mac/fast/text/international/hindi-whitespace-expected.checksum: Added. * platform/mac/fast/text/international/hindi-whitespace-expected.png: Added. * platform/mac/fast/text/international/hindi-whitespace-expected.txt: Added. * platform/win/fast/text/international/hindi-whitespace-expected.checksum: Added. * platform/win/fast/text/international/hindi-whitespace-expected.png: Added. * platform/win/fast/text/international/hindi-whitespace-expected.txt: Added. 2009-06-25 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=26681 Problem updating applicationCache when server returns 304 * http/tests/appcache/resources/uncacheable-resource.php: Added. * http/tests/appcache/resources/versioned-manifest.php: Added the kind of resource that was causing trouble. 2009-06-25 Ryosuke Niwa Reviewed by Eric Seidel. The following pixel tests have been converted into dumpastext tests. This fixes the bug 26336 partially. * editing/execCommand/remove-list-1-expected.txt: Added. * editing/execCommand/remove-list-1.html: * editing/execCommand/remove-list-items-expected.txt: Added. * editing/execCommand/remove-list-items.html: * platform/mac/editing/execCommand/remove-list-1-expected.checksum: Removed. * platform/mac/editing/execCommand/remove-list-1-expected.png: Removed. * platform/mac/editing/execCommand/remove-list-1-expected.txt: Removed. * platform/mac/editing/execCommand/remove-list-items-expected.checksum: Removed. * platform/mac/editing/execCommand/remove-list-items-expected.png: Removed. * platform/mac/editing/execCommand/remove-list-items-expected.txt: Removed. * platform/qt/editing/execCommand/remove-list-1-expected.txt: Removed. * platform/qt/editing/execCommand/remove-list-items-expected.txt: Removed. 2009-06-25 Simon Fraser Reviewed by Oliver Hunt. Handle perspective computation on non-layer objects. * transforms/3d/general/perspective-non-layer.html: Added. 2009-06-25 Simon Fraser Rubber-stamped by Eric Seidel Update this test after the video controller changes. * platform/mac/fast/layers/video-layer-expected.txt: 2009-06-25 Jan Michael Alonzo Not reviewed. Skip another failing test due to lack of eventSender impl. * platform/gtk/Skipped: 2009-06-25 Jan Michael Alonzo Not reviewed. Skip failing gtk tests due to missing DRT features. * platform/gtk/Skipped: 2009-06-25 Simon Fraser Rubber-stamped by Dan Bernstein. Add Windows-specific test results, since Windows does not have 3d transforms enabled. * platform/win/fast/media/mq-transform-02-expected.txt: Copied from LayoutTests/platform/mac-leopard/fast/media/mq-transform-02-expected.txt. * platform/win/fast/media/mq-transform-03-expected.txt: Copied from LayoutTests/platform/mac-leopard/fast/media/mq-transform-03-expected.txt. 2009-06-25 Pierre d'Herbemont Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=26653 After the change to -webkit-box usage for controller bar, we need to update the media layout tests. * platform/mac/media/audio-controls-rendering-expected.txt: * platform/mac/media/video-controls-rendering-expected.txt: * platform/mac/media/video-display-toggle-expected.txt: * platform/mac/media/video-empty-source-expected.txt: * platform/mac/media/video-zoom-controls-expected.txt: 2009-06-25 Ryosuke Niwa Reviewed by Eric Seidel. The following pixel tests have been converted into dumpastext tests. This fixes the bug 26336 partially. * editing/execCommand/5432254-2-expected.txt: Added. * editing/execCommand/5432254-2.html: * editing/execCommand/5700414-1-expected.txt: Added. * editing/execCommand/5700414-1.html: * editing/execCommand/5700414-2-expected.txt: Added. * editing/execCommand/5700414-2.html: * platform/mac/editing/execCommand/5432254-2-expected.checksum: Removed. * platform/mac/editing/execCommand/5432254-2-expected.png: Removed. * platform/mac/editing/execCommand/5432254-2-expected.txt: Removed. * platform/mac/editing/execCommand/5700414-1-expected.checksum: Removed. * platform/mac/editing/execCommand/5700414-1-expected.png: Removed. * platform/mac/editing/execCommand/5700414-1-expected.txt: Removed. * platform/mac/editing/execCommand/5700414-2-expected.checksum: Removed. * platform/mac/editing/execCommand/5700414-2-expected.png: Removed. * platform/mac/editing/execCommand/5700414-2-expected.txt: Removed. * platform/qt/editing/execCommand/5432254-2-expected.txt: Removed. 2009-06-25 Shinichiro Hamaji Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=26436 Windows Chromium bug fix: save context of destination canvas in TransparencyWin::compositeTextComposite() before the function modifies the context. * fast/canvas/resources/translate-text.js: Added. (description.pixelValueAt): (pixelToString): (pixelShouldBe): * fast/canvas/translate-text-expected.txt: Added. * fast/canvas/translate-text.html: Added. 2009-06-25 Takeshi Yoshino Reviewed by David Levin. Bug 26207: Rebaseline the expected image for fast/forms/select-style.html for Mac. https://bugs.webkit.org/show_bug.cgi?id=26207 Replace the expected image for fast/forms/select-style-expected.html for Mac which need to be rebaselined due to r43903 (http://trac.webkit.org/changeset/43903). * platform/mac/fast/forms/select-style-expected.png: 2009-06-25 John Gregg Reviewed by Sam Weinig. Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange https://bugs.webkit.org/show_bug.cgi?id=23721 Check for unnecessary calls to onchange in response to script actions. * fast/forms/select-script-onchange-expected.txt: Added. * fast/forms/select-script-onchange.html: Added. 2009-06-25 Dan Bernstein Reviewed by Darin Adler. - test for https://bugs.webkit.org/show_bug.cgi?id=26671 Safari 4.0 crashes in WebCore::DOMTimer::fired() * fast/dom/style-sheet-candidate-remove-unrendered-document-expected.txt: Added. * fast/dom/style-sheet-candidate-remove-unrendered-document.html: Added. 2009-06-25 Eric Seidel No review, just skipping a new test. Skip new test on platforms missing eventSender.beginDragWithFiles Test: http/tests/security/clipboard/clipboard-file-access.html https://bugs.webkit.org/show_bug.cgi?id=25916 * platform/gtk/Skipped: * platform/qt/Skipped: * platform/win/Skipped: 2009-06-24 Dan Bernstein Reviewed by Simon Fraser. - test for REGRESSION (r41902): Base position track at UCSC Genome Browser doesn't work because image map prevents img from hit-testing * fast/replaced/image-map-2-expected.txt: Added. * fast/replaced/image-map-2.html: Added. 2009-06-24 Chris Fleizach Reviewed by Oliver Hunt. Tests for Bug 26668: AX: need a way to retrieve the language for an element. * accessibility/language-attribute-expected.txt: Added. * accessibility/language-attribute.html: Added. 2009-06-24 Oliver Hunt Reviewed by Darin Adler. REGRESSION (Safari 4 Public Beta - TOT): google.com/adplanner shows blank page instead of site details in "basic research' Add test cases for excessively large comma expressions. * fast/js/excessive-comma-usage-expected.txt: Added. * fast/js/excessive-comma-usage.html: Added. * fast/js/resources/excessive-comma-usage.js: Added. 2009-06-24 Rob Buis Reviewed by Eric Seidel. Tests for: https://bugs.webkit.org/show_bug.cgi?id=26392 Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work. https://bugs.webkit.org/show_bug.cgi?id=26328 Bug 26328: changing href attribute of svg images dows not work when changing display attribute as well * platform/mac/svg/custom/js-update-image-and-display-expected.checksum: Added * platform/mac/svg/custom/js-update-image-and-display-expected.png: Added * platform/mac/svg/custom/js-update-image-and-display-expected.txt: Added * svg/custom/js-update-image-and-display.svg: Added. * platform/mac/svg/custom/js-update-image-and-display2-expected.checksum: Added * platform/mac/svg/custom/js-update-image-and-display2-expected.png: Added * platform/mac/svg/custom/js-update-image-and-display2-expected.txt: Added * svg/custom/js-update-image-and-display2.svg: Added. * platform/mac/svg/custom/js-update-image-and-display3-expected.checksum: Added * platform/mac/svg/custom/js-update-image-and-display3-expected.png: Added * platform/mac/svg/custom/js-update-image-and-display3-expected.txt: Added * svg/custom/js-update-image-and-display3.svg: Added. 2009-06-24 Dan Bernstein - add Windows results for one new test and one test whose Mac results changed recently * platform/win/fast/forms/search-vertical-alignment-expected.checksum: Added. * platform/win/fast/forms/search-vertical-alignment-expected.png: Added. * platform/win/fast/forms/search-vertical-alignment-expected.txt: Added. * platform/win/fast/replaced/width100percent-searchfield-expected.checksum: Added. * platform/win/fast/replaced/width100percent-searchfield-expected.png: Added. * platform/win/fast/replaced/width100percent-searchfield-expected.txt: 2009-06-24 David Hyatt Reviewed by Sam Weinig. Add test for https://bugs.webkit.org/show_bug.cgi?id=26687. * fast/dom/HTMLDataGridElement/DataGridColumns-basic-expected.txt: Added. * fast/dom/HTMLDataGridElement/DataGridColumns-basic.html: Added. 2009-05-21 Eric Seidel Reviewed by Maciej Stachowiak. Expose files in the clipboard in ondrop events. https://bugs.webkit.org/show_bug.cgi?id=25916 File.fileSize subtests fail due to limitations of DRT during http tests: https://bugs.webkit.org/show_bug.cgi?id=25909 Directory subtests fail until correct of directory File tests is decided by: https://bugs.webkit.org/show_bug.cgi?id=25879 * http/tests/security/clipboard/clipboard-file-access-expected.txt: Added. * http/tests/security/clipboard/clipboard-file-access.html: Added. * http/tests/security/clipboard/resources/TEMPLATE.html: Added. * http/tests/security/clipboard/resources/apple.gif: Copied from LayoutTests/editing/pasteboard/resources/apple.gif. * http/tests/security/clipboard/resources/clipboard-file-access.js: Added. (var): (moveMouseToCenterOfElement): (dragFilesOntoDragTarget): (fileListShouldBe): (draggingPathsShouldResultInFiles): (runTest): * http/tests/security/clipboard/resources/mozilla.gif: Copied from LayoutTests/editing/pasteboard/resources/mozilla.gif. ++ b/WebCore/ChangeLog 2009-06-26 Adele Peterson Reviewed by Darin Adler. Fix for REGRESSION(34681): Breaking up quoted text makes new, unquoted text blue after certain steps; repros with some messages Test: editing/inserting/break-blockquote-after-delete.html Keep track of whether the typing style should be preserved after the TypingCommand is applied. When adding onto an open typing command, keep that flag up to date. In this case, an InsertParagraphSeparatorInQuotedContent command, which should not preserve typing style, was following an open Delete command, which does preserve the typing style. So we were applying the original typing style (from before the delete, so blue text) to the cursor in the unquoted area after breaking up the blockquote. * editing/TypingCommand.cpp: (WebCore::TypingCommand::TypingCommand): (WebCore::TypingCommand::typingAddedToOpenCommand): (WebCore::TypingCommand::insertTextRunWithoutNewlines): (WebCore::TypingCommand::insertLineBreak): (WebCore::TypingCommand::insertParagraphSeparator): (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent): (WebCore::TypingCommand::deleteKeyPressed): (WebCore::TypingCommand::forwardDeleteKeyPressed): (WebCore::TypingCommand::deleteSelection): (WebCore::TypingCommand::updatePreservesTypingStyle): * editing/TypingCommand.h: (WebCore::TypingCommand::preservesTypingStyle): 2009-06-26 Jedrzej Nowacki Reviewed by Simon Hausmann. Add support for saving and loading of QWebHistory to and from a QByteArray. This includes streaming operators for QWebHistory. for convenience. New autotests that test QWebHistory and QWebHistoryItem serialization. * WebCore.pro: * history/HistoryItem.h: (WebCore::HistoryItem::dailyVisitCounts): (WebCore::HistoryItem::weeklyVisitCounts): * history/qt/HistoryItemQt.cpp: Added. (WebCore::HistoryItem::restoreState): (WebCore::HistoryItem::saveState): 2009-06-26 Jedrzej Nowacki Reviewed by Simon Hausmann. Add support for QDataStream operators to String and IntPoint. * platform/graphics/IntPoint.h: (WebCore::operator<<): (WebCore::operator>>): * platform/text/PlatformString.h: * platform/text/qt/StringQt.cpp: (WebCore::operator<<): (WebCore::operator>>): 2009-06-26 Ben Murdoch Reviewed by Darin Fisher. Add #if ENABLE(DOM_STORAGE) to the V8 custom bindings for local/session storage. https://bugs.webkit.org/show_bug.cgi?id=26757 * bindings/v8/custom/V8StorageCustom.cpp 2009-06-26 Yongjun Zhang Reviewed by Eric Seidel. Test: platform/qt/fast/events/event-sender-keydown-frame.html Bug 20303: [Qt] Key events are not working in frames. Merge scrolling handling code in qt and win port, move it to EventHandler. * page/EventHandler.cpp: (WebCore::EventHandler::scrollRecursively): * page/EventHandler.h: 2009-06-26 Rob Buis Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=26682 Bug 26682: It should be possible to add image to SVG DOM programmatically (using JavaScript) Make sure the xlink:href animated property setting syncs the corresponding attribute with the right namespace. Test: svg/custom/createImageElement.svg * svg/SVGAnimatedProperty.h: (WebCore::synchronizeProperty): 2009-06-26 Takeshi Yoshino Reviewed by Timothy Hatcher. Bug 26156: In view-source mode, always render the contents using HTMLViewSourceDocument https://bugs.webkit.org/show_bug.cgi?id=26156 When in view-source mode, render the contents using HTMLViewSourceDocument regardless it's applicable for any plugin or not. Chromium tells WebCore to render the contents of specified URL when view-source: prefix is added to the URL. But currently, DOMImplementation ignores inViewSourceMode() when the MIME type is indicating that the contents are neither texts nor HTML family documents. For example, we can check the contents of asf file without launching media player. Rendering contents for view-source:-specified input is not what user expects. http://code.google.com/p/chromium/issues/detail?id=10545 I want to fix this issue by this patch. IMHO, regardless of this Chromium specific issue, I think we should force use of HTMLViewSourceDocument when inViewSourceMode() is specified. Test: fast/frames/viewsource-on-image-file.html * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createDocument): * html/HTMLViewSourceDocument.cpp: (WebCore::HTMLViewSourceDocument::createTokenizer): * html/HTMLViewSourceDocument.h: 2009-06-26 Xan Lopez Reviewed by Jan Alonzo. https://bugs.webkit.org/show_bug.cgi?id=25529 [Gtk] Expected states not exposed to assistive technologies Add support for VISIBLE, EDITABLE and SENSITIVE states. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (setAtkStateSetFromCoreObject): 2009-06-26 Laszlo Gombos Reviewed by Darin Adler. "Pointer to incomplete class type is not allowed" error with RVCT https://bugs.webkit.org/show_bug.cgi?id=26721 Based on Norbert Leser's work. * dom/Document.cpp: (WebCore::Document::setFocusedNode): * dom/Node.cpp: (WebCore::Node::dispatchMouseEvent): * dom/Node.h: Remove the default value for PassRefPtr args, to eliminate dependency on the Event class definition 2009-06-26 Laszlo Gombos Reviewed by Maciej Stachowiak. [Qt] Build fix after r45183 https://bugs.webkit.org/show_bug.cgi?id=26748 * WebCore.pro: 2009-06-25 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=26681 Problem updating applicationCache when server returns 304 Test: http/tests/appcache/update-cache.html * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didReceiveResponse): We're already done with the resource, don't try to load it again. 2009-06-25 Simon Fraser Reviewed by Oliver Hunt. Handle perspective computation on non-layer objects. Test: transforms/3d/general/perspective-non-layer.html * rendering/RenderObject.cpp: (WebCore::RenderObject::getTransformFromContainer): 2009-06-25 Pierre d'Herbemont Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=26653 Use flex box in the mediaControls.css style, to nicely scale if a button gets dynamically added or removed. Media tests results are affected by this changes. * css/mediaControls.css: * css/mediaControlsQT.css: 2009-06-25 Albert J. Wong Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=26724 Move relavent part of setDefaultFontSize from RenderThemeChromiumWin up into RenderThemeChromiumSkia. * rendering/RenderThemeChromiumSkia.cpp: (WebCore::RenderThemeChromiumSkia::setDefaultFontSize): * rendering/RenderThemeChromiumSkia.h: * rendering/RenderThemeChromiumWin.cpp: (WebCore::RenderThemeChromiumWin::setDefaultFontSize): * rendering/RenderThemeChromiumWin.h: 2009-06-25 Matt Perry Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=26733 Add V8-only methods to FrameLoaderClient that V8 can use to send out notifications when it creates/destroys a script context. * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::didCreateScriptContext): (WebCore::EmptyFrameLoaderClient::didDestroyScriptContext): * loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::didCreateScriptContext): (WebCore::FrameLoaderClient::didDestroyScriptContext): 2009-06-25 Dimitri Glazkov Reviewed by David Levin. Correct a few typos that snuck in when I was reformatting CodeGeneratorV8.pm to match WebKit style. * bindings/scripts/CodeGeneratorV8.pm: Corrected lots of typos. 2009-06-25 Adam Langley TBRed: fix for Chromium tree. Add missing include for r45199. https://bugs.webkit.org/show_bug.cgi?id=26736 r45199 added a reference to throwError without including V8Proxy.h * bindings/v8/WorkerScriptController.cpp: 2009-06-25 Adam Langley TBRed: fix for Chromium tree. https://bugs.webkit.org/show_bug.cgi?id=26735 Fix V8IsolatedWorld to point to the correct include file. The deprecated v8_index.h was removed from the Chromium tree in r19291 and upstreamed into WebKit with r45193. However V8IsolatedWorld slipped in between the cracks and broke the build. * bindings/v8/V8IsolatedWorld.h: update with new header location. 2009-06-25 Chris Marrin Reviewed by Simon Fraser . https://bugs.webkit.org/show_bug.cgi?id=26651 Preference is named "WebKitAcceleratedCompositingEnabled" and is a boolean value. When false, prevents compositing layers from being created, which prevents hardware animation from running. Also forces video to do software rendering. Added a cache for the flag in RenderLayerCompositing and made it all work on-the-fly when the flag is changed while a page is loaded. * WebCore.base.exp: * page/FrameView.cpp: (WebCore::FrameView::updateCompositingLayers): * page/Settings.cpp: (WebCore::setNeedsReapplyStylesInAllFrames): (WebCore::Settings::Settings): (WebCore::Settings::setAcceleratedCompositingEnabled): * page/Settings.h: (WebCore::Settings::acceleratedCompositingEnabled): * rendering/RenderLayer.cpp: (WebCore::RenderLayer::hasAcceleratedCompositing): (WebCore::RenderLayer::updateTransform): (WebCore::RenderLayer::currentTransform): * rendering/RenderLayer.h: * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::updateLayerTransform): * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::RenderLayerCompositor): (WebCore::RenderLayerCompositor::enableCompositingMode): (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingEnabledFlag): (WebCore::RenderLayerCompositor::updateCompositingLayers): (WebCore::RenderLayerCompositor::canAccelerateVideoRendering): (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree): (WebCore::RenderLayerCompositor::needsToBeComposited): (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): * rendering/RenderLayerCompositor.h: (WebCore::RenderLayerCompositor::hasAcceleratedCompositing): * rendering/RenderObject.h: (WebCore::makeMatrixRenderable): 2009-06-25 Jian Li Reviewed by Dimitri Glazkov. Bug 26701: Implement the missing code for "FIXME: Need to return an exception" in WorkerScriptController::evaluate for v8 bindings. https://bugs.webkit.org/show_bug.cgi?id=26701 * bindings/v8/WorkerScriptController.cpp: (WebCore::WorkerScriptController::evaluate): 2009-06-25 Nate Chapin Reviewed by Dimitri Glazkov. Upstream V8Index. https://bugs.webkit.org/show_bug.cgi?id=26495 * bindings/v8/V8Index.cpp: Added. (WebCore::V8ClassIndex::GetFactory): Moved from src.chromium.org. (WebCore::V8ClassIndex::GetCache): Moved from src.chromium.org. * bindings/v8/V8Index.h: (WebCore::V8ClassIndex::): Moved from src.chromium.org. (WebCore::V8ClassIndex::ToInt): Moved from src.chromium.org. (WebCore::V8ClassIndex::FromInt): Moved from src.chromium.org. 2009-06-25 Adam Langley Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=26529 This is hopefully the last step before our renderers can run cleanly in a chroot. WebKit needs to be able to ask for the correct font to use in the case that the current font doesn't include glyphs for certain code points. Currently we make a fontconfig call in our WebKit port to handle this. This patch changes this so that the call is sent our via ChromiumBridge. http://codereview.chromium.org/132007 This should not affect any layout tests. * platform/chromium/ChromiumBridge.h: * platform/graphics/chromium/FontCacheLinux.cpp: (WebCore::FontCache::getFontDataForCharacters): 2009-06-25 Albert J. Wong Reviewed by David Levin. https://bugs.webkit.org/show_bug.cgi?id=26566 Upstream these files from the chromium v8 code. No tests were affected because this is essentially a code move. * bindings/v8/NPV8Object.cpp: Added. (allocV8NPObject): (freeV8NPObject): (listFromVariantArgs): (npIdentifierToV8Identifier): (npCreateV8ScriptObject): (NPN_Invoke): (NPN_InvokeDefault): (NPN_Evaluate): (NPN_EvaluateHelper): (NPN_GetProperty): (NPN_SetProperty): (NPN_RemoveProperty): (NPN_HasProperty): (NPN_HasMethod): (NPN_SetException): (NPN_Enumerate): (NPN_Construct): * bindings/v8/NPV8Object.h: Added. (PrivateIdentifier::): * bindings/v8/V8NPUtils.cpp: Added. (convertV8ObjectToNPVariant): (convertNPVariantToV8Object): (getStringIdentifier): * bindings/v8/V8NPUtils.h: Added. 2009-06-25 Shinichiro Hamaji Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=26436 Windows Chromium bug fix: save context of destination canvas in TransparencyWin::compositeTextComposite() before the function modifies the context. Test: fast/canvas/translate-text.html * platform/graphics/chromium/TransparencyWin.cpp: (WebCore::TransparencyWin::compositeTextComposite): 2009-06-25 Patrick Mueller Reviewed by Timothy Hatcher. Show the filename and first line for "(program)" in the Profiler/Debugger https://bugs.webkit.org/show_bug.cgi?id=25475 Add support to associate a sourceURL with an eval()'d string via a @sourceURL comment. Currently the sourceURL is only available in the script debugger, not in the console or profiler, but it's most needed in the script debugger. * English.lproj/localizedStrings.js: added new "(program): %s" string * inspector/front-end/Script.js: (WebInspector.Script): if no sourceURL is available for the Script, search for a comment of the form //@ sourceURL=(url) to use as the sourceURL instead. * manual-tests/inspector/named-evals.html: Added. 2009-06-25 John Gregg Reviewed by Sam Weinig. Bug 23721: Changing dropdown's selectedIndex within onchange handler fires another onchange https://bugs.webkit.org/show_bug.cgi?id=23721 onchange events fire when a SELECT element has focus and the selectedIndex is updated by script in some way--either during another onchange, onkeypress, onfocus, or timer--and then focus is lost. Fixed by making a separate method for user-driven selectedIndex changes, leaving scripts to use one which doesn't cause onchange to be queued. Test: fast/forms/select-script-onchange.html * dom/SelectElement.cpp: check if the pending change is user driven before calling onchange (WebCore::SelectElement::menuListOnChange): (WebCore::SelectElement::setSelectedIndex): * dom/SelectElement.h: store whether the pending change is user driven (WebCore::SelectElementData::userDrivenChange): (WebCore::SelectElementData::setUserDrivenChange): * html/HTMLSelectElement.cpp: split into two methods -- script version [non-user-driven] corresponds to IDL defined property name (WebCore::HTMLSelectElement::setSelectedIndex): (WebCore::HTMLSelectElement::setSelectedIndexByUser): * html/HTMLSelectElement.h: * rendering/RenderMenuList.cpp: use ByUser method when coming through the renderer (WebCore::RenderMenuList::valueChanged): 2009-06-25 Jeremy Orlow Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=26698 Combined LocalStorageArea and SessionStorageArea into StorageArea since (after my other refactorings) there are no longer substantial differences between the two. * GNUmakefile.am: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * storage/LocalStorage.cpp: (WebCore::LocalStorage::storageArea): * storage/LocalStorage.h: * storage/LocalStorageArea.cpp: Removed. * storage/LocalStorageArea.h: Removed. * storage/SessionStorage.cpp: (WebCore::SessionStorage::copy): (WebCore::SessionStorage::storageArea): * storage/SessionStorage.h: * storage/SessionStorageArea.cpp: Removed. * storage/SessionStorageArea.h: Removed. * storage/StorageArea.cpp: (WebCore::StorageArea::createLocalStorage): (WebCore::StorageArea::StorageArea): (WebCore::StorageArea::createSessionStorage): (WebCore::StorageArea::copy): (WebCore::StorageArea::setItem): (WebCore::StorageArea::removeItem): (WebCore::StorageArea::clear): (WebCore::StorageArea::scheduleFinalSync): (WebCore::StorageArea::blockUntilImportComplete): (WebCore::StorageArea::dispatchStorageEvent): * storage/StorageArea.h: * storage/StorageAreaSync.cpp: (WebCore::StorageAreaSync::StorageAreaSync): (WebCore::StorageAreaSync::scheduleFinalSync): (WebCore::StorageAreaSync::syncTimerFired): (WebCore::StorageAreaSync::performImport): * storage/StorageAreaSync.h: * storage/StorageSyncManager.h: 2009-06-25 Dan Bernstein Reviewed by Darin Adler. - fix https://bugs.webkit.org/show_bug.cgi?id=26671 Safari 4.0 crashes in WebCore::DOMTimer::fired() Test: fast/dom/style-sheet-candidate-remove-unrendered-document.html When a "style sheet candidate" element is removed from a document, call Document::removeStyleSheetCandidateNode() regardless of whether the document is rendered. Otherwise, the document's style sheet candidate set can end up containing stale references. * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::removedFromDocument): * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::removedFromDocument): * html/HTMLStyleElement.cpp: (WebCore::HTMLStyleElement::removedFromDocument): 2009-06-25 Dimitri Glazkov Reviewed by Darin Fisher. Update CodeGeneratorV8.pm to sync up with the changes downstream. * bindings/scripts/CodeGeneratorV8.pm: Added HTMLFrameSetElement check, FileList as a ref-counted type, and DataGridColumn as typeCanFailConversion. 2009-06-25 Dimitri Glazkov Unreviewed, build fix. Add FileList.h include to fix Chromium build. * platform/chromium/ClipboardChromium.cpp: Added FileList.h include. 2009-06-25 Joseph Pecoraro Reviewed by Jan Alonzo. Bug 26489: Web Inspector: Typo in DatabaseQuery Error Message https://bugs.webkit.org/show_bug.cgi?id=26489 Fixed a Typo in a Web Inspector error message. * English.lproj/localizedStrings.js: * inspector/front-end/DatabaseQueryView.js: (WebInspector.DatabaseQueryView.prototype._queryError): 2009-06-25 Simon Hausmann Fix the Qt build, add missing StorageAreaSync files to the build. * WebCore.pro: 2009-06-25 Simon Hausmann Reviewed by and done with Tor Arne Vestbø. Fix shortcut keyboard handling with plugins on the Qt/Mac build. When we receive shortcut events like Ctrl+V then the text in the QKeyEvent is empty. If we're asked to disambiguate the event into a Char keyboard event, we try to detect this situation and still set the text, to ensure that the general event handling sends a key press event after this disambiguation. * platform/qt/PlatformKeyboardEventQt.cpp: (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): 2009-06-25 Eric Seidel Build fix only, no review. Add FileList.h and NotImplemented.h includes in an attempt to fix bots. * platform/gtk/ClipboardGtk.cpp: * platform/qt/ClipboardQt.cpp: * platform/win/ClipboardWin.cpp: * platform/wx/ClipboardWx.cpp: 2009-05-21 Eric Seidel Reviewed by Maciej Stachowiak. Expose files in the clipboard in ondrop events https://bugs.webkit.org/show_bug.cgi?id=25916 Make it possible for applications like gmail to implement drag and drop of attachments onto email messages. This patch exposes an event.dataTransfer.files accessor on the drop event. No information is exposed during dragover. This follows the HTML 5 drag and drop security model: http://www.w3.org/TR/html5/editing.html#security-risks-in-the-drag-and-drop-model The test http/tests/security/clipboard/clipboard-file-access.html verifies this behavior. Internet Explorer shows historical documentation of supporting getData('File') as a way of exposing files on the pasteboard. The current version of their docs: http://msdn.microsoft.com/en-us/library/ms537658(VS.85).aspx has removed this reference (as far as I can tell IE never implemented it) I have a printed copy of that URL from 2008 on my desk describing getData('File') in IE. IE does not follow the HTML5 clipboard security model and always allows access to the full clipboard, even on dragover. I choose not to use IE's getData('File') and instead added .files so that the accessor could have a type, matching WebKit's existing .files accessor on HTMLInputElement. Mozilla has equivalent file access: event.dataTransfer.mozGetDataAt("application/x-moz-file", 0); which also does not return a typed value. https://developer.mozilla.org/En/DragDrop/Recommended_Drag_Types#Dragging_Files This is only implemented for Mac WebKit. All other platforms (including Apple's Win WebKit) have incomplete Clipboard implementations and will require experts from those platforms to add this functionality. Right now they all have Clipboard*::files() methods which call notImplemented(); Test: http/tests/security/clipboard/clipboard-file-access.html * dom/Clipboard.h: * dom/Clipboard.idl: * platform/chromium/ClipboardChromium.cpp: (WebCore::ClipboardChromium::files): * platform/chromium/ClipboardChromium.h: * platform/gtk/ClipboardGtk.cpp: (WebCore::ClipboardGtk::files): * platform/gtk/ClipboardGtk.h: * platform/mac/ClipboardMac.h: * platform/mac/ClipboardMac.mm: (WebCore::absoluteURLsFromPasteboardFilenames): (WebCore::absoluteURLsFromPasteboard): (WebCore::ClipboardMac::files): * platform/qt/ClipboardQt.cpp: (WebCore::ClipboardQt::files): * platform/qt/ClipboardQt.h: * platform/win/ClipboardWin.cpp: (WebCore::ClipboardWin::files): * platform/win/ClipboardWin.h: * platform/wx/ClipboardWx.cpp: (WebCore::ClipboardWx::files): * platform/wx/ClipboardWx.h: 2009-06-25 Eric Seidel No review, only completing revert of r45144. Add back files deleted by r45144. * storage/LocalStorageArea.cpp: Added. (WebCore::LocalStorageArea::create): (WebCore::LocalStorageArea::LocalStorageArea): (WebCore::LocalStorageArea::scheduleFinalSync): (WebCore::LocalStorageArea::itemChanged): (WebCore::LocalStorageArea::itemRemoved): (WebCore::LocalStorageArea::areaCleared): (WebCore::LocalStorageArea::blockUntilImportComplete): (WebCore::LocalStorageArea::dispatchStorageEvent): * storage/LocalStorageArea.h: Added. * storage/SessionStorageArea.cpp: Added. (WebCore::SessionStorageArea::copy): (WebCore::SessionStorageArea::SessionStorageArea): (WebCore::SessionStorageArea::itemChanged): (WebCore::SessionStorageArea::itemRemoved): (WebCore::SessionStorageArea::areaCleared): (WebCore::SessionStorageArea::blockUntilImportComplete): (WebCore::SessionStorageArea::dispatchStorageEvent): * storage/SessionStorageArea.h: Added. (WebCore::SessionStorageArea::create): 2009-06-25 Eric Seidel No review, reverting r45144 only. Roll out r45144 after 18 test failures appeared on the bots. https://bugs.webkit.org/show_bug.cgi?id=26698 * GNUmakefile.am: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * storage/LocalStorage.cpp: (WebCore::LocalStorage::storageArea): * storage/LocalStorage.h: * storage/SessionStorage.cpp: (WebCore::SessionStorage::copy): (WebCore::SessionStorage::storageArea): * storage/SessionStorage.h: * storage/StorageArea.cpp: (WebCore::StorageArea::StorageArea): (WebCore::StorageArea::~StorageArea): (WebCore::StorageArea::setItem): (WebCore::StorageArea::removeItem): (WebCore::StorageArea::clear): * storage/StorageArea.h: * storage/StorageAreaSync.cpp: (WebCore::StorageAreaSync::StorageAreaSync): (WebCore::StorageAreaSync::scheduleFinalSync): (WebCore::StorageAreaSync::syncTimerFired): (WebCore::StorageAreaSync::performImport): * storage/StorageAreaSync.h: * storage/StorageSyncManager.h: 2009-06-24 Jeremy Orlow Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=26698 Combined LocalStorageArea and SessionStorageArea into StorageArea since (after my other refactorings) there are no longer substantial differences between the two. * GNUmakefile.am: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * storage/LocalStorage.cpp: (WebCore::LocalStorage::storageArea): * storage/LocalStorage.h: * storage/LocalStorageArea.cpp: Removed. * storage/LocalStorageArea.h: Removed. * storage/SessionStorage.cpp: (WebCore::SessionStorage::copy): (WebCore::SessionStorage::storageArea): * storage/SessionStorage.h: * storage/SessionStorageArea.cpp: Removed. * storage/SessionStorageArea.h: Removed. * storage/StorageArea.cpp: (WebCore::StorageArea::createLocalStorage): (WebCore::StorageArea::StorageArea): (WebCore::StorageArea::createSessionStorage): (WebCore::StorageArea::copy): (WebCore::StorageArea::setItem): (WebCore::StorageArea::removeItem): (WebCore::StorageArea::clear): (WebCore::StorageArea::scheduleFinalSync): (WebCore::StorageArea::blockUntilImportComplete): (WebCore::StorageArea::dispatchStorageEvent): * storage/StorageArea.h: * storage/StorageAreaSync.cpp: (WebCore::StorageAreaSync::StorageAreaSync): (WebCore::StorageAreaSync::scheduleFinalSync): (WebCore::StorageAreaSync::syncTimerFired): (WebCore::StorageAreaSync::performImport): * storage/StorageAreaSync.h: * storage/StorageSyncManager.h: 2009-06-24 Dan Bernstein Reviewed by Simon Fraser. - fix REGRESSION (r41902): Base position track at UCSC Genome Browser doesn't work because image map prevents img from hit-testing Test: fast/replaced/image-map-2.html * rendering/RenderImage.cpp: (WebCore::RenderImage::nodeAtPoint): Do not reset 'inside' to false if the image map failed the hit test. 2009-06-22 Adam Barth Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=26366 Refactor V8DOMMap to support isolated worlds. * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::evaluateInNewWorld): * bindings/v8/ScriptController.h: * bindings/v8/V8DOMMap.cpp: (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap): (WebCore::DOMDataStore::allStores): (WebCore::DOMDataStore::allStoresMutex): (WebCore::DOMDataStore::domData): (WebCore::ScopedDOMDataStore::ScopedDOMDataStore): (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore): (WebCore::StaticDOMDataStore::StaticDOMDataStore): (WebCore::): (WebCore::MainThreadDOMData::MainThreadDOMData): (WebCore::MainThreadDOMData::getStore): (WebCore::ChildThreadDOMData::ChildThreadDOMData): (WebCore::ChildThreadDOMData::getStore): (WebCore::DOMDataStore::DOMDataStore): (WebCore::DOMDataStore::~DOMDataStore): (WebCore::DOMDataStoreHandle::DOMDataStoreHandle): (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle): (WebCore::::forget): (WebCore::getDOMNodeMap): (WebCore::getDOMObjectMap): (WebCore::getActiveDOMObjectMap): (WebCore::getDOMSVGElementInstanceMap): (WebCore::getDOMSVGObjectWithContextMap): (WebCore::DOMData::getCurrent): (WebCore::DOMData::handleWeakObject): (WebCore::DOMData::ensureDeref): (WebCore::weakDOMObjectCallback): (WebCore::weakActiveDOMObjectCallback): (WebCore::weakNodeCallback): (WebCore::weakSVGElementInstanceCallback): (WebCore::weakSVGObjectWithContextCallback): (WebCore::DOMData::derefObject): (WebCore::DOMData::derefDelayedObjects): (WebCore::DOMData::derefDelayedObjectsInCurrentThread): (WebCore::DOMData::removeObjectsFromWrapperMap): (WebCore::removeAllDOMObjectsInCurrentThreadHelper): (WebCore::visitDOMNodesInCurrentThread): (WebCore::visitDOMObjectsInCurrentThread): (WebCore::visitActiveDOMObjectsInCurrentThread): (WebCore::visitDOMSVGElementInstancesInCurrentThread): (WebCore::visitSVGObjectsInCurrentThread): * bindings/v8/V8DOMMap.h: (WebCore::DOMDataStoreHandle::getStore): * bindings/v8/V8IsolatedWorld.cpp: Added. (WebCore::getIsolatedWorldKey): (WebCore::contextWeakReferenceCallback): (WebCore::V8IsolatedWorld::evaluate): (WebCore::V8IsolatedWorld::V8IsolatedWorld): (WebCore::V8IsolatedWorld::~V8IsolatedWorld): (WebCore::V8IsolatedWorld::getEntered): * bindings/v8/V8IsolatedWorld.h: Added. (WebCore::V8IsolatedWorld::getDOMDataStore): 2009-06-24 Mikhail Naganov Reviewed by Timothy Hatcher. Bug 26604: Search doesn't work in Web Inspector Profiler https://bugs.webkit.org/show_bug.cgi?id=26604 Seems like search was damaged in revision 42808. * inspector/front-end/ProfileView.js: (WebInspector.ProfileView.prototype.refresh): Here and in other functions: nodes we're searching in are profile data grid nodes, so there is no more need for '_dataGridNode' references. (WebInspector.ProfileView.prototype.searchCanceled): (WebInspector.ProfileView.prototype.performSearch.matchesQuery): Fixed accidental semicolon that caused 'matchesQuery' always return true. (WebInspector.ProfileView.prototype.performSearch): To perform search correctly in the case of bottom up tree, we need to populate the tree, because there's no 1-to-1 correspondence between profile nodes and data grid nodes in this case. (WebInspector.ProfileView.prototype._jumpToSearchResult): 2009-06-24 Simon Fraser Reviewed by Darin Adler. Fix flashing issues caused by compositing layers rendering content before a deferred layout has happened. Because the -viewWillDraw machinery doesn't work for composited layers, we need to use scheduleViewUpdate() to queue up a layout via the run loop observer in WebKit, whenever we know we are going to be painting soon. * rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::setContentsNeedDisplay): (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): 2009-06-24 David Levin Fix all builds. * ForwardingHeaders/wtf/FastAllocBase.h: Added. 2009-06-24 Jeremy Orlow Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=26658 Split the syncing portions of LocalStorageArea into StorageAreaSync. This name will make more sense in the next patch (in this set) when LocalStorageArea and SessionStorageArea are merged to become simply StorageArea. (Thus the synching portion of StorageArea is in StorageAreaSync.) This looks like a big patch, but really all it's doing is splitting code and patching split-related things up. * GNUmakefile.am: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * storage/LocalStorageArea.cpp: (WebCore::LocalStorageArea::create): (WebCore::LocalStorageArea::LocalStorageArea): (WebCore::LocalStorageArea::scheduleFinalSync): (WebCore::LocalStorageArea::itemChanged): (WebCore::LocalStorageArea::itemRemoved): (WebCore::LocalStorageArea::areaCleared): (WebCore::LocalStorageArea::blockUntilImportComplete): * storage/LocalStorageArea.h: * storage/LocalStorageTask.cpp: (WebCore::LocalStorageTask::LocalStorageTask): * storage/LocalStorageTask.h: (WebCore::LocalStorageTask::createImport): (WebCore::LocalStorageTask::createSync): * storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): * storage/LocalStorageThread.h: * storage/SessionStorageArea.cpp: (WebCore::SessionStorageArea::blockUntilImportComplete): * storage/SessionStorageArea.h: * storage/StorageArea.h: * storage/StorageAreaSync.cpp: Copied from WebCore/storage/LocalStorageArea.cpp. * storage/StorageAreaSync.h: Copied from WebCore/storage/LocalStorageArea.h. * storage/StorageSyncManager.cpp: (WebCore::StorageSyncManager::scheduleImport): (WebCore::StorageSyncManager::scheduleSync): * storage/StorageSyncManager.h: 2009-06-24 Adam Treat Fix Qt build. * WebCore.pro: 2009-06-24 David Levin Reviewed by David Hyatt. Bug 26696: Member functions in DataGridColumnList should return pointers instead of PassRefPtr. https://bugs.webkit.org/show_bug.cgi?id=26696 * html/DataGridColumnList.cpp: (WebCore::DataGridColumnList::itemWithName): (WebCore::DataGridColumnList::add): * html/DataGridColumnList.h: (WebCore::DataGridColumnList::item): (WebCore::DataGridColumnList::primaryColumn): (WebCore::DataGridColumnList::sortColumn): 2009-06-24 Sam Weinig Reviewed by Dave "Messy" Hyatt. Little bit of style cleanup. * html/DataGridColumn.cpp: * html/DataGridColumn.h: * html/DataGridColumn.idl: * html/DataGridColumnList.cpp: * html/DataGridColumnList.h: * html/DataGridColumnList.idl: * html/HTMLDataGridCellElement.cpp: * html/HTMLDataGridCellElement.h: * html/HTMLDataGridCellElement.idl: * html/HTMLDataGridColElement.cpp: * html/HTMLDataGridColElement.h: * html/HTMLDataGridColElement.idl: * html/HTMLDataGridElement.h: * html/HTMLDataGridElement.idl: * html/HTMLDataGridRowElement.cpp: * html/HTMLDataGridRowElement.h: * html/HTMLDataGridRowElement.idl: 2009-06-24 Chris Fleizach Reviewed by Oliver Hunt. Bug 26668: AX: need a way to retrieve the language for an element Provides a way to retrieve the language associated with a specific accessibility element. Test: accessibility/language-attribute.html * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::language): * accessibility/AccessibilityObject.h: * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::language): * accessibility/AccessibilityRenderObject.h: * accessibility/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): 2009-06-24 Brady Eidson Reviewed by Dan Bernstein. Instead of downloading files linked from Google Earth, file contents displayed in browser window as text. * platform/network/mac/WebCoreURLResponse.mm: (createBinaryExtensionsSet): Add '.kmz' to the list of known-to-be-binary extensions. 2009-06-24 Nicolas Weber Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=26685 Accomodate for backwards-incompatible skia api changes. * platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::clearRect): (WebCore::GraphicsContext::setCompositeOperation): * platform/graphics/skia/ImageBufferSkia.cpp: (WebCore::ImageBuffer::ImageBuffer): * platform/graphics/skia/ImageSkia.cpp: (WebCore::paintSkBitmap): (WebCore::Image::drawPattern): * platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::State::State): (PlatformContextSkia::setupPaintCommon): (PlatformContextSkia::setXfermodeMode): (PlatformContextSkia::applyClipFromImage): * platform/graphics/skia/PlatformContextSkia.h: * platform/graphics/skia/SkiaUtils.cpp: (WebCore::): (WebCore::WebCoreCompositeToSkiaComposite): * platform/graphics/skia/SkiaUtils.h: 2009-06-24 Jan Michael Alonzo Gtk build fix. Add files that were added in r45093 and r45096 * GNUmakefile.am: 2009-06-24 Brady Eidson Fix 64-bit SnowLeopard build. * html/DataGridColumnList.cpp: (WebCore::DataGridColumnList::remove): (WebCore::DataGridColumnList::move): 2009-06-24 Rob Buis Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=26392 Bug 26392: In html, modification of xlink:href of an newly inserted svg image does not work. https://bugs.webkit.org/show_bug.cgi?id=26328 Bug 26328: changing href attribute of svg images does not work when changing display attribute as well React to href updates even when there is no renderer, i.e. display=none. Tests: svg/custom/js-update-image-and-display.svg svg/custom/js-update-image-and-display2.svg svg/custom/js-update-image-and-display3.svg * svg/SVGImageElement.cpp: (WebCore::SVGImageElement::svgAttributeChanged): 2009-06-24 David Hyatt Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=26687 Add basic back-end column support to datagrid. Added fast/dom/HTMLDataGridElement/ column tests. * DerivedSources.cpp: * DerivedSources.make: * WebCore.pro: * WebCore.vcproj/WebCore.vcproj: * WebCore.xcodeproj/project.pbxproj: * WebCoreSources.bkl: * html/DataGridColumn.cpp: Added. (WebCore::DataGridColumn::setPrimary): * html/DataGridColumn.h: Added. (WebCore::DataGridColumn::create): (WebCore::DataGridColumn::id): (WebCore::DataGridColumn::setId): (WebCore::DataGridColumn::label): (WebCore::DataGridColumn::setLabel): (WebCore::DataGridColumn::type): (WebCore::DataGridColumn::setType): (WebCore::DataGridColumn::sortable): (WebCore::DataGridColumn::setSortable): (WebCore::DataGridColumn::sortDirection): (WebCore::DataGridColumn::setSortDirection): (WebCore::DataGridColumn::primary): (WebCore::DataGridColumn::detachFromColumnList): (WebCore::DataGridColumn::DataGridColumn): * html/DataGridColumn.idl: Added. * html/DataGridColumnList.cpp: Added. (WebCore::DataGridColumnList::~DataGridColumnList): (WebCore::DataGridColumnList::itemWithName): (WebCore::DataGridColumnList::add): (WebCore::DataGridColumnList::remove): (WebCore::DataGridColumnList::move): (WebCore::DataGridColumnList::clear): (WebCore::DataGridColumnList::primaryColumnChanged): * html/DataGridColumnList.h: Added. (WebCore::DataGridColumnList::create): (WebCore::DataGridColumnList::length): (WebCore::DataGridColumnList::item): (WebCore::DataGridColumnList::primaryColumn): (WebCore::DataGridColumnList::sortColumn): * html/DataGridColumnList.idl: Added. * html/HTMLDataGridColElement.cpp: (WebCore::HTMLDataGridColElement::sortable): (WebCore::HTMLDataGridColElement::setSortable): (WebCore::HTMLDataGridColElement::sortDirection): (WebCore::HTMLDataGridColElement::setSortDirection): * html/HTMLDataGridColElement.h: * html/HTMLDataGridColElement.idl: * html/HTMLDataGridElement.cpp: (WebCore::HTMLDataGridElement::HTMLDataGridElement): * html/HTMLDataGridElement.h: (WebCore::HTMLDataGridElement::columns): * html/HTMLDataGridElement.idl: * rendering/RenderDataGrid.cpp: (WebCore::RenderDataGrid::paintObject): (WebCore::RenderDataGrid::paintColumnHeaders): (WebCore::RenderDataGrid::rebuildColumns): * rendering/RenderDataGrid.h: (WebCore::RenderDataGrid::gridElement): 2009-06-24 Jessie _Berlin Reviewed by Adam Roben. Partially fixes: https://bugs.webkit.org/show_bug.cgi?id=24735 () Where on windows it was not possible to set an element as the drag image using setDragImage on the dataTransfer object. Does not "fix" the case of dragging a link where the default link image is still used, even when the -webkit-user-drag is set to "element". This is the same behavior as is found on OS X. Added a manual test because it is not possible to check that what is contained in the image snapshot is indeed the requested element. * dom/Clipboard.h: (WebCore::Clipboard::dragImageElement): Made getting the raw pointer from the RefPtr a const operation. * manual-tests/drag-with-div-or-image-as-data-image.html: Added. * platform/win/ClipboardWin.cpp: (WebCore::ClipboardWin::createDragImage): Get an image of the rendered element and its subtree. 2009-06-24 Darin Fisher Reviewed by David Levin. https://bugs.webkit.org/show_bug.cgi?id=26683 Fix Chromium build bustage: Add custom binding for HTMLDataGridElement.dataSource This change just adds a stub implementation for now to help fix the build. * bindings/v8/custom/V8CustomBinding.h: * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Added. 2009-06-24 David Kilzer Build fixes for ENABLE(PLUGIN_PROXY_FOR_VIDEO) Reviewed by Adam Roben. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::deliverNotification): Removed ExceptionCode parameter from togglePlayState(). (WebCore::HTMLMediaElement::initialURL): Don't convert a KURL object to a String when assigning to a KURL variable. 2009-06-24 Nikolas Zimmermann Reviewed by Adam Treat. Save memory by not storing attribute values in member variables, if not absolutely needed. Also fixes bugs where we're substituting variables too early (noticeable with the upcoming element). + + * wml/WMLDoElement.cpp: + (WebCore::WMLDoElement::parseMappedAttribute): + (WebCore::WMLDoElement::label): + * wml/WMLDoElement.h: + * wml/WMLFieldSetElement.cpp: + (WebCore::WMLFieldSetElement::insertedIntoDocument): + * wml/WMLFieldSetElement.h: + * wml/WMLOptGroupElement.cpp: + (WebCore::WMLOptGroupElement::title): + (WebCore::WMLOptGroupElement::parseMappedAttribute): + (WebCore::WMLOptGroupElement::groupLabelText): + * wml/WMLOptGroupElement.h: + * wml/WMLPostfieldElement.cpp: + (WebCore::WMLPostfieldElement::name): + (WebCore::WMLPostfieldElement::value): + (WebCore::WMLPostfieldElement::encodeData): + * wml/WMLPostfieldElement.h: + * wml/WMLSetvarElement.cpp: + (WebCore::WMLSetvarElement::parseMappedAttribute): + (WebCore::WMLSetvarElement::name): + (WebCore::WMLSetvarElement::value): + * wml/WMLSetvarElement.h: + * wml/WMLTimerElement.cpp: + (WebCore::WMLTimerElement::parseMappedAttribute): + (WebCore::WMLTimerElement::insertedIntoDocument): + (WebCore::WMLTimerElement::timerFired): + (WebCore::WMLTimerElement::start): + (WebCore::WMLTimerElement::value): + * wml/WMLTimerElement.h: + +2009-06-24 Nikolas Zimmermann + + Reviewed by Adam Roben. + + Forgot to initialize m_task member variable. Results in crashes sometimes. + + * wml/WMLAnchorElement.cpp: + (WebCore::WMLAnchorElement::WMLAnchorElement): + +2009-06-24 Nikolas Zimmermann + + Not reviewed. Forgot to include within last patch. + + * manual-tests/wml/card-title-attr.wml: Added. + +2009-06-24 Wajahat Siddiqui + + Reviewed by Nikolas Zimmermann. + + Fixes: https://bugs.webkit.org/show_bug.cgi?id=26474 + Adding WML title attribute handling. + + * wml/WMLElement.h: marking parseValueSubstitutingVariableReferences and parseValueForbiddingVariableReferences as const + * wml/WMLElement.cpp: + * wml/WMLCardElement.h: + (WebCore::WMLCardElement::title): + * wml/WMLCardElement.cpp: + * wml/manual-test/card-title-attr.wml: Manual test + 2009-06-24 Simon Hausmann Reviewed by Tor Arne Vestbø. diff --git a/src/3rdparty/webkit/WebCore/DerivedSources.cpp b/src/3rdparty/webkit/WebCore/DerivedSources.cpp index a26a4de..3075a4b 100644 --- a/src/3rdparty/webkit/WebCore/DerivedSources.cpp +++ b/src/3rdparty/webkit/WebCore/DerivedSources.cpp @@ -54,6 +54,8 @@ #include "JSCSSVariablesDeclaration.cpp" #include "JSCSSVariablesRule.cpp" #include "JSDatabase.cpp" +#include "JSDataGridColumn.cpp" +#include "JSDataGridColumnList.cpp" #include "JSDocument.cpp" #include "JSDocumentFragment.cpp" #include "JSDocumentType.cpp" diff --git a/src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/FastAllocBase.h b/src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/FastAllocBase.h new file mode 100644 index 0000000..6e50bd8 --- /dev/null +++ b/src/3rdparty/webkit/WebCore/ForwardingHeaders/wtf/FastAllocBase.h @@ -0,0 +1,4 @@ +#ifndef WebCore_FWD_FastAllocBase_h +#define WebCore_FWD_FastAllocBase_h +#include +#endif diff --git a/src/3rdparty/webkit/WebCore/WebCore.pro b/src/3rdparty/webkit/WebCore/WebCore.pro index 3ccfb32..ce65958 100644 --- a/src/3rdparty/webkit/WebCore/WebCore.pro +++ b/src/3rdparty/webkit/WebCore/WebCore.pro @@ -329,6 +329,8 @@ IDL_BINDINGS += \ html/CanvasGradient.idl \ html/CanvasPattern.idl \ html/CanvasRenderingContext2D.idl \ + html/DataGridColumn.idl \ + html/DataGridColumnList.idl \ html/File.idl \ html/FileList.idl \ html/HTMLAudioElement.idl \ @@ -459,6 +461,7 @@ SOURCES += \ bindings/js/JSCustomPositionErrorCallback.cpp \ bindings/js/JSCustomVoidCallback.cpp \ bindings/js/JSCustomXPathNSResolver.cpp \ + bindings/js/JSDataGridColumnListCustom.cpp \ bindings/js/JSDataGridDataSource.cpp \ bindings/js/JSDocumentCustom.cpp \ bindings/js/JSDocumentFragmentCustom.cpp \ @@ -735,6 +738,7 @@ SOURCES += \ history/CachedFrame.cpp \ history/CachedPage.cpp \ history/HistoryItem.cpp \ + history/qt/HistoryItemQt.cpp \ history/PageCache.cpp \ html/CanvasGradient.cpp \ html/CanvasPattern.cpp \ @@ -742,6 +746,8 @@ SOURCES += \ html/CanvasRenderingContext2D.cpp \ html/CanvasStyle.cpp \ html/CollectionCache.cpp \ + html/DataGridColumn.cpp \ + html/DataGridColumnList.cpp \ html/File.cpp \ html/FileList.cpp \ html/FormDataList.cpp \ @@ -1361,19 +1367,19 @@ contains(DEFINES, ENABLE_DOM_STORAGE=1) { storage/Storage.h \ storage/StorageEvent.h \ storage/SessionStorage.h \ - storage/SessionStorageArea.h + storage/StorageSyncManager.h \ + storage/StorageAreaSync.h SOURCES += \ storage/LocalStorage.cpp \ - storage/LocalStorageArea.cpp \ storage/LocalStorageTask.cpp \ storage/LocalStorageThread.cpp \ storage/Storage.cpp \ storage/StorageArea.cpp \ + storage/StorageAreaSync.cpp \ storage/StorageMap.cpp \ storage/StorageEvent.cpp \ storage/SessionStorage.cpp \ - storage/SessionStorageArea.cpp \ storage/StorageSyncManager.cpp \ bindings/js/JSStorageCustom.cpp diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp index dccff82..a6cd62d 100644 --- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp +++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.cpp @@ -298,7 +298,22 @@ bool AccessibilityObject::press() const actionElem->accessKeyAction(true); return true; } - + +String AccessibilityObject::language() const +{ + AccessibilityObject* parent = parentObject(); + + // as a last resort, fall back to the content language specified in the meta tag + if (!parent) { + Document* doc = document(); + if (doc) + return doc->contentLanguage(); + return String(); + } + + return parent->language(); +} + AXObjectCache* AccessibilityObject::axObjectCache() const { return 0; diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h index f71be99..8939092 100644 --- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h +++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityObject.h @@ -311,7 +311,8 @@ public: virtual Document* document() const { return 0; } virtual FrameView* topDocumentFrameView() const { return 0; } virtual FrameView* documentFrameView() const; - + virtual String language() const; + void setAXObjectID(unsigned); virtual void setFocused(bool); virtual void setSelectedText(const String&); diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp index 6f309a8..663d643 100644 --- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp +++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.cpp @@ -656,6 +656,25 @@ String AccessibilityRenderObject::helpText() const return String(); } + +String AccessibilityRenderObject::language() const +{ + if (!m_renderer) + return String(); + + // Defer to parent if this element doesn't have a language set + Node* node = m_renderer->node(); + if (!node) + return AccessibilityObject::language(); + + if (!node->isElementNode()) + return AccessibilityObject::language(); + + String language = static_cast(node)->getAttribute(langAttr); + if (language.isEmpty()) + return AccessibilityObject::language(); + return language; +} String AccessibilityRenderObject::textUnderElement() const { diff --git a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h index 3fa88a2..dd1d583 100644 --- a/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h +++ b/src/3rdparty/webkit/WebCore/accessibility/AccessibilityRenderObject.h @@ -177,6 +177,7 @@ public: virtual Widget* widgetForAttachmentView() const; virtual void getDocumentLinks(AccessibilityChildrenVector&); virtual FrameView* documentFrameView() const; + virtual String language() const; virtual const AccessibilityChildrenVector& children(); diff --git a/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp new file mode 100644 index 0000000..af49df4 --- /dev/null +++ b/src/3rdparty/webkit/WebCore/bindings/js/JSDataGridColumnListCustom.cpp @@ -0,0 +1,49 @@ +/* + * Copyright (C) 2009 Apple Inc. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY + * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include "config.h" +#include "JSDataGridColumnList.h" + +#include "AtomicString.h" +#include "DataGridColumn.h" +#include "DataGridColumnList.h" +#include "JSDataGridColumn.h" + +using namespace JSC; + +namespace WebCore { + +bool JSDataGridColumnList::canGetItemsForName(ExecState*, DataGridColumnList* impl, const Identifier& propertyName) +{ + return impl->itemWithName(propertyName); +} + +JSValue JSDataGridColumnList::nameGetter(ExecState* exec, const Identifier& propertyName, const PropertySlot& slot) +{ + JSDataGridColumnList* thisObj = static_cast(asObject(slot.slotBase())); + return toJS(exec, thisObj->impl()->itemWithName(propertyName)); +} + +} // namespace WebCore diff --git a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm index 04bc929..2a7a81a 100644 --- a/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm +++ b/src/3rdparty/webkit/WebCore/bindings/scripts/CodeGeneratorV8.pm @@ -624,9 +624,9 @@ END if ($attrIsPodType) { my $classIndex = uc($attrType); - push(@implContentDecls, " return V8Proxy::ToV8Object(V8ClassIndex::$classIndex, wrapper);n"); + push(@implContentDecls, " return V8Proxy::ToV8Object(V8ClassIndex::$classIndex, wrapper);\n"); } else { - push(@implContentDecls, " return ".NativeToJSValue($attribute - >signature, $result).";n"); + push(@implContentDecls, " return ".NativeToJSValue($attribute->signature, $result).";\n"); } push(@implContentDecls, " }\n\n"); # end of getter @@ -945,7 +945,7 @@ sub GenerateBatchedAttributeData if ($interfaceName eq "DOMWindow") { $getter = "V8Custom::v8DOMWindowEventHandlerAccessorGetter"; $setter = "V8Custom::v8DOMWindowEventHandlerAccessorSetter"; - } elsif ($interfaceName eq "Element" || $interfaceName eq "Document" || $interfaceName eq "SVGElementInstance") { + } elsif ($interfaceName eq "Element" || $interfaceName eq "Document" || $interfaceName eq "HTMLBodyElement" || $interfaceName eq "SVGElementInstance" || $interfaceName eq "HTMLFrameSetElement") { $getter = "V8Custom::v8ElementEventHandlerAccessorGetter"; $setter = "V8Custom::v8ElementEventHandlerAccessorSetter"; } else { @@ -1135,7 +1135,7 @@ sub GenerateImplementation foreach my $function (@{$dataNode->functions}) { # hack for addEventListener/RemoveEventListener # FIXME: avoid naming conflict - if ($function->signature->extendedAttributes->{"Custom"} || function->signature->extendedAttributes->{"V8Custom"}) { + if ($function->signature->extendedAttributes->{"Custom"} || $function->signature->extendedAttributes->{"V8Custom"}) { $implIncludes{"V8CustomBinding.h"} = 1; } else { GenerateFunctionCallback($function, $dataNode, $classIndex, $implClassName); @@ -1603,6 +1603,7 @@ sub IsRefPtrType return 1 if $type eq "Element"; return 1 if $type eq "EntityReference"; return 1 if $type eq "Event"; + return 1 if $type eq "FileList"; return 1 if $type eq "HTMLCollection"; return 1 if $type eq "HTMLDocument"; return 1 if $type eq "HTMLElement"; @@ -1706,6 +1707,7 @@ my %typeCanFailConversion = ( "AtomicString" => 0, "Attr" => 1, "CompareHow" => 0, + "DataGridColumn" => 0, "DOMString" => 0, "DOMWindow" => 0, "DocumentType" => 0, diff --git a/src/3rdparty/webkit/WebCore/css/mediaControls.css b/src/3rdparty/webkit/WebCore/css/mediaControls.css index b94abbf..668458c 100644 --- a/src/3rdparty/webkit/WebCore/css/mediaControls.css +++ b/src/3rdparty/webkit/WebCore/css/mediaControls.css @@ -30,12 +30,16 @@ audio { } audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel { + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-user-select: none; position: absolute; bottom: 0; width: 100%; - height: 100%; - -webkit-user-select: none; z-index: 0; + overflow: hidden; + height: 16px; + text-align: right; } video:-webkit-full-page-media::-webkit-media-controls-panel { @@ -44,32 +48,26 @@ video:-webkit-full-page-media::-webkit-media-controls-panel { audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button { -webkit-appearance: media-mute-button; - position: absolute; - top: auto; - bottom: 0; - left: 0; - width: 17px; + display: -webkit-box; + width: 16px; height: 16px; } audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button { -webkit-appearance: media-play-button; - position: absolute; - top: auto; - bottom: 0; - left: 16px; - width: 17px; + display: -webkit-box; + width: 16px; height: 16px; } audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container { + -webkit-appearance: media-timeline-container; + display: -webkit-box; + -webkit-box-orient: horizontal; + -webkit-box-align: center; + -webkit-box-pack: end; + -webkit-box-flex: 1; -webkit-user-select: none; - position: absolute; - padding: 0px 16px 0px 0px; - top: auto; - bottom: 0; - left: 32px; - right: 32px; height: 16px; } @@ -83,35 +81,27 @@ audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-contr audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline { -webkit-appearance: media-slider; - position: absolute; - top: auto; - bottom: 0; - left: 0px; - right: 0px; + display: -webkit-box; + -webkit-box-flex: 1; height: 16px; padding: 0px 2px; } audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button { -webkit-appearance: media-seek-back-button; - position: absolute; - top: auto; - bottom: 0; - right: 16px; - width: 17px; + display: -webkit-box; + width: 16px; height: 16px; } audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button { -webkit-appearance: media-seek-forward-button; - position: absolute; - top: auto; - bottom: 0; - right: 0; - width: 17px; + display: -webkit-box; + width: 16px; height: 16px; } audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button { display: none; } + diff --git a/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css b/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css index 3a49816..900dcf2 100644 --- a/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css +++ b/src/3rdparty/webkit/WebCore/css/mediaControlsQT.css @@ -22,7 +22,7 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -/* alternate media controls */ +/* alternate media controls - Extend mediaControls.css */ audio { width: 200px; @@ -30,47 +30,26 @@ audio { } audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel { - -webkit-user-select: none; - position: absolute; - bottom: 0; - width: 100%; - height: 100%; - z-index: 0; + /* In mediaControls.css */ + height: 25px; } video:-webkit-full-page-media::-webkit-media-controls-panel { - bottom: -16px; + bottom: -25px; } audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button { - -webkit-appearance: media-mute-button; - position: absolute; - top: auto; - bottom: 0; - right: 0; - left: auto; + -webkit-box-ordinal-group: 2; /* At the end of the controller bar */ width: 30px; height: 25px; } audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button { - -webkit-appearance: media-play-button; - position: absolute; - top: auto; - bottom: 0; - left: 0px; width: 30px; height: 25px; } audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container { - -webkit-appearance: media-timeline-container; - -webkit-user-select: none; - position: absolute; - top: auto; - bottom: 0; - left: 30px; - right: 30px; height: 25px; } @@ -78,16 +57,12 @@ audio::-webkit-media-controls-current-time-display, video::-webkit-media-control -webkit-appearance: media-current-time-display; -webkit-user-select: none; display: inline-block; - position: absolute; cursor: default; font: -webkit-small-control; font-size: .09em; text-align: center; overflow: hidden; line-height: 13px; - top: auto; - bottom: 6px; - left: 0px; height: 14px; width: 45px; } @@ -96,36 +71,28 @@ audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-contr -webkit-appearance: media-time-remaining-display; -webkit-user-select: none; display: inline-block; - position: absolute; cursor: default; font: -webkit-small-control; font-size: .09em; text-align: center; overflow: hidden; line-height: 13px; - top: auto; - bottom: 6px; - right: 0px; height: 14px; width: 45px; } audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline { - -webkit-appearance: media-slider; - position: absolute; - top: auto; - bottom: 6px; - left: 45px; - right: 45px; height: 13px; } audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button { display: none; + width: 0px; } audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button { display: none; + width: 0px; } audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button { diff --git a/src/3rdparty/webkit/WebCore/dom/Clipboard.h b/src/3rdparty/webkit/WebCore/dom/Clipboard.h index 59ae026..0fea604 100644 --- a/src/3rdparty/webkit/WebCore/dom/Clipboard.h +++ b/src/3rdparty/webkit/WebCore/dom/Clipboard.h @@ -33,6 +33,8 @@ namespace WebCore { + class FileList; + // State available during IE's events for drag and drop and copy/paste class Clipboard : public RefCounted { public: @@ -53,11 +55,12 @@ namespace WebCore { // extensions beyond IE's API virtual HashSet types() const = 0; - + virtual PassRefPtr files() const = 0; + IntPoint dragLocation() const { return m_dragLoc; } CachedImage* dragImage() const { return m_dragImage.get(); } virtual void setDragImage(CachedImage*, const IntPoint&) = 0; - Node* dragImageElement() { return m_dragImageElement.get(); } + Node* dragImageElement() const { return m_dragImageElement.get(); } virtual void setDragImageElement(Node*, const IntPoint&) = 0; virtual DragImageRef createDragImage(IntPoint& dragLocation) const = 0; diff --git a/src/3rdparty/webkit/WebCore/dom/Clipboard.idl b/src/3rdparty/webkit/WebCore/dom/Clipboard.idl index 6fe83f7..dc8677e 100644 --- a/src/3rdparty/webkit/WebCore/dom/Clipboard.idl +++ b/src/3rdparty/webkit/WebCore/dom/Clipboard.idl @@ -34,6 +34,7 @@ module core { attribute [ConvertNullStringTo=Undefined] DOMString dropEffect; attribute [ConvertNullStringTo=Undefined] DOMString effectAllowed; readonly attribute [CustomGetter] Array types; + readonly attribute FileList files; [Custom] void clearData(in [Optional] DOMString type) raises(DOMException); diff --git a/src/3rdparty/webkit/WebCore/dom/DOMImplementation.cpp b/src/3rdparty/webkit/WebCore/dom/DOMImplementation.cpp index 783c629..065f708 100644 --- a/src/3rdparty/webkit/WebCore/dom/DOMImplementation.cpp +++ b/src/3rdparty/webkit/WebCore/dom/DOMImplementation.cpp @@ -314,14 +314,8 @@ PassRefPtr DOMImplementation::createHTMLDocument(const String& tit PassRefPtr DOMImplementation::createDocument(const String& type, Frame* frame, bool inViewSourceMode) { - if (inViewSourceMode) { - if (type == "text/html" || type == "application/xhtml+xml" || type == "image/svg+xml" || isTextMIMEType(type) || isXMLMIMEType(type) -#if ENABLE(XHTMLMP) - || type == "application/vnd.wap.xhtml+xml" -#endif - ) - return HTMLViewSourceDocument::create(frame, type); - } + if (inViewSourceMode) + return HTMLViewSourceDocument::create(frame, type); // Plugins cannot take HTML and XHTML from us, and we don't even need to initialize the plugin database for those. if (type == "text/html") diff --git a/src/3rdparty/webkit/WebCore/dom/Document.cpp b/src/3rdparty/webkit/WebCore/dom/Document.cpp index abf7a35..3d01c80 100644 --- a/src/3rdparty/webkit/WebCore/dom/Document.cpp +++ b/src/3rdparty/webkit/WebCore/dom/Document.cpp @@ -2540,7 +2540,7 @@ bool Document::setFocusedNode(PassRefPtr newFocusedNode) focusChangeBlocked = true; newFocusedNode = 0; } - oldFocusedNode->dispatchUIEvent(eventNames().DOMFocusOutEvent); + oldFocusedNode->dispatchUIEvent(eventNames().DOMFocusOutEvent, 0, 0); if (m_focusedNode) { // handler shifted focus focusChangeBlocked = true; @@ -2570,7 +2570,7 @@ bool Document::setFocusedNode(PassRefPtr newFocusedNode) focusChangeBlocked = true; goto SetFocusedNodeDone; } - m_focusedNode->dispatchUIEvent(eventNames().DOMFocusInEvent); + m_focusedNode->dispatchUIEvent(eventNames().DOMFocusInEvent, 0, 0); if (m_focusedNode != newFocusedNode) { // handler shifted focus focusChangeBlocked = true; diff --git a/src/3rdparty/webkit/WebCore/dom/Node.cpp b/src/3rdparty/webkit/WebCore/dom/Node.cpp index b68785f..3ddf4c0 100644 --- a/src/3rdparty/webkit/WebCore/dom/Node.cpp +++ b/src/3rdparty/webkit/WebCore/dom/Node.cpp @@ -2633,7 +2633,7 @@ bool Node::dispatchMouseEvent(const PlatformMouseEvent& event, const AtomicStrin return dispatchMouseEvent(eventType, button, detail, contentsPos.x(), contentsPos.y(), event.globalX(), event.globalY(), event.ctrlKey(), event.altKey(), event.shiftKey(), event.metaKey(), - false, relatedTarget); + false, relatedTarget, 0); } void Node::dispatchSimulatedMouseEvent(const AtomicString& eventType, diff --git a/src/3rdparty/webkit/WebCore/dom/Node.h b/src/3rdparty/webkit/WebCore/dom/Node.h index 501df67..ab743f4 100644 --- a/src/3rdparty/webkit/WebCore/dom/Node.h +++ b/src/3rdparty/webkit/WebCore/dom/Node.h @@ -531,7 +531,7 @@ public: void removeAllEventListeners() { if (hasRareData()) removeAllEventListenersSlowCase(); } void dispatchSubtreeModifiedEvent(); - void dispatchUIEvent(const AtomicString& eventType, int detail = 0, PassRefPtr underlyingEvent = 0); + void dispatchUIEvent(const AtomicString& eventType, int detail, PassRefPtr underlyingEvent); bool dispatchKeyEvent(const PlatformKeyboardEvent&); void dispatchWheelEvent(PlatformWheelEvent&); bool dispatchMouseEvent(const PlatformMouseEvent&, const AtomicString& eventType, @@ -539,8 +539,8 @@ public: bool dispatchMouseEvent(const AtomicString& eventType, int button, int clickCount, int pageX, int pageY, int screenX, int screenY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, - bool isSimulated = false, Node* relatedTarget = 0, PassRefPtr underlyingEvent = 0); - void dispatchSimulatedMouseEvent(const AtomicString& eventType, PassRefPtr underlyingEvent = 0); + bool isSimulated, Node* relatedTarget, PassRefPtr underlyingEvent); + void dispatchSimulatedMouseEvent(const AtomicString& eventType, PassRefPtr underlyingEvent); void dispatchSimulatedClick(PassRefPtr underlyingEvent, bool sendMouseEvents = false, bool showPressedLook = true); void dispatchProgressEvent(const AtomicString& eventType, bool lengthComputableArg, unsigned loadedArg, unsigned totalArg); void dispatchWebKitAnimationEvent(const AtomicString& eventType, const String& animationName, double elapsedTime); diff --git a/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp b/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp index 906902a..879bf62 100644 --- a/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp +++ b/src/3rdparty/webkit/WebCore/dom/ProcessingInstruction.cpp @@ -258,8 +258,7 @@ void ProcessingInstruction::removedFromDocument() { ContainerNode::removedFromDocument(); - if (document()->renderer()) - document()->removeStyleSheetCandidateNode(this); + document()->removeStyleSheetCandidateNode(this); // FIXME: It's terrible to do a synchronous update of the style selector just because a