2009-11-09 Laszlo Gombos Reviewed by Kenneth Rohde Christiansen. [Qt] Few classes have virtual functions but non-virtual destructor https://bugs.webkit.org/show_bug.cgi?id=31269 No new tests as there is no functional change. * platform/qt/QWebPageClient.h: (QWebPageClient::~QWebPageClient): Add virtual destructor. 2009-11-09 Yael Aharon Reviewed by Kenneth Rohde Christiansen. [Qt] Allow setting HTTP headers with empty value in XMLHTTPRequest https://bugs.webkit.org/show_bug.cgi?id=31140 QtNetwork interprets null string as request to remove the header, not add it. Replace null values with empty values before passing them to QtNetwork. Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html * platform/network/qt/ResourceRequestQt.cpp: (WebCore::ResourceRequest::toNetworkRequest): 2009-11-09 Vadim Zeitlin Reviewed by Kevin Ollivier. [wx] Fix handling of alpha channel when using wxWidgets 2.9: it was simply ignored before resulting in transparent areas being black in PNG images for example. https://bugs.webkit.org/show_bug.cgi?id=30823 * platform/image-decoders/wx/ImageDecoderWx.cpp: (WebCore::RGBA32Buffer::asNewNativeImage): 2009-11-09 Laszlo Gombos Reviewed by Kenneth Rohde Christiansen. Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings https://bugs.webkit.org/show_bug.cgi?id=31040 No new tests as there is no functional change. * dom/Document.cpp: (WebCore::Document::recalcStyleSelector): * editing/TextIterator.cpp: (WebCore::pushFullyClippedState): * editing/VisibleSelection.cpp: (WebCore::VisibleSelection::appendTrailingWhitespace): * html/HTMLLinkElement.cpp: (WebCore::HTMLLinkElement::process): * loader/RedirectScheduler.cpp: (WebCore::RedirectScheduler::mustLockBackForwardList): * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): * platform/graphics/qt/FontCacheQt.cpp: (WebCore::FontPlatformDataCacheKey::computeHash): * rendering/RenderBlock.cpp: (WebCore::RenderBlock::handleRunInChild): * rendering/RenderBox.cpp: (WebCore::RenderBox::calcHeight): * rendering/RenderTextControlMultiLine.cpp: (WebCore::RenderTextControlMultiLine::nodeAtPoint): * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::diff): * svg/SVGAnimateElement.cpp: (WebCore::parseNumberValueAndUnit): * svg/SVGAnimationElement.cpp: (WebCore::SVGAnimationElement::startedActiveInterval): * svg/SVGPreserveAspectRatio.cpp: (WebCore::SVGPreserveAspectRatio::getCTM): 2009-11-09 Shinichiro Hamaji Reviewed by Dimitri Glazkov. Win chromium is slow to draw transparent texts https://bugs.webkit.org/show_bug.cgi?id=31258 Clip graphics context to reduce calculation. No new tests because this change only affects performance. * platform/graphics/chromium/FontChromiumWin.cpp: (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI): (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter): 2009-11-09 Carol Szabo Reviewed by Darin Adler. showTree(CounterNode*) generates too little info and has too many spaces. https://bugs.webkit.org/show_bug.cgi?id=31212 No new tests as the change has no functional effect it is just for improved debugging. * rendering/CounterNode.cpp: (WebCore::showTreeAndMark): Changed to also show addresses of parent, next and previous siblings. 2009-11-09 Stuart Morgan Reviewed by Darin Adler. Moves Mac implementation of setUseSecureKeyboardEntry to Frame.cpp and enables it PLATFORM(CHROMIUM) in addition to PLATFORM(MAC). https://bugs.webkit.org/show_bug.cgi?id=31083 No new tests; implementation is unchanged. * page/Frame.cpp: (WebCore::Frame::setUseSecureKeyboardEntry): * page/mac/FrameMac.mm: 2009-11-09 Laszlo Gombos Reviewed by Jan Alonzo. Make XP_UNIX tests consistent https://bugs.webkit.org/show_bug.cgi?id=31250 No new tests as there is no functional change. * plugins/PluginView.cpp: (WebCore::PluginView::setFrameRect): Test if XP_UNIX is defined instead of the value of the macro * plugins/gtk/PluginViewGtk.cpp: (WebCore::PluginView::setNPWindowIfNeeded): Test if the XP_UNIX is defined instead of using the PLATFORM macro to be consistent (WebCore::PluginView::getValue): Ditto. 2009-11-09 Kevin Watters Reviewed by Darin Adler. Thunk to the main thread from ~Database to deref Database's m_document. If the Database was the Document's last referrer, then ~Document occurs on the Database thread, and ASSERT(!m_styleRecalcTimer.isActive()) hits a main thread ASSERT in debug builds. * storage/Database.cpp: (WebCore::derefDocument): (WebCore::Database::~Database): 2009-11-09 Mark Mentovai Reviewed by Dan Bernstein. Track "can have scrollbar" state within FrameView independently of the individual scrollbar states in ScrollView. rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167 REGRESSION (r48064): mint.com loses scrollbars after coming out of edit mode. rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517 REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store. Test: fast/overflow/scrollbar-restored.html * WebCore.base.exp: * page/FrameView.cpp: (WebCore::FrameView::FrameView): (WebCore::FrameView::resetScrollbars): (WebCore::FrameView::setCanHaveScrollbars): (WebCore::FrameView::updateCanHaveScrollbars): (WebCore::FrameView::layout): * page/FrameView.h: * platform/ScrollView.h: 2009-11-09 Keishi Hattori Reviewed by Timothy Hatcher. Web Inspector: CSS syntax highlighter doesn't recognize negative numbers https://bugs.webkit.org/show_bug.cgi?id=31257 * inspector/front-end/SourceFrame.js: 2009-11-09 Alexander Pavlov Reviewed by Timothy Hatcher. Web Inspector: Debugger shortcuts (F8, F10, F11) have no effect if the Console view is open https://bugs.webkit.org/show_bug.cgi?id=31252 Route F1-F12 keypresses in the Console view to the current panel if there is one. Test: manual-tests/inspector/debugger-shortcuts-with-console-opened.html * inspector/front-end/ConsoleView.js: (WebInspector.ConsoleView.prototype._promptKeyDown): * inspector/front-end/utilities.js: (): * manual-tests/inspector/debugger-shortcuts-with-console-opened.html: Added. 2009-11-09 Yael Aharon Reviewed by Kenneth Rohde Christiansen. [Qt] Pass credentials provided by XMLHTTPRequest to the network request. https://bugs.webkit.org/show_bug.cgi?id=31208 After r42483, the credentials are no longer passed to the network request in the URL of the request. Pass the credentials from XMLHTTPRequest to the network request, the same way that other ports do. After this patch LayoutTests/http/xmlhttprequest/basic-auth.html passes. * platform/network/qt/ResourceHandleQt.cpp: (WebCore::ResourceHandle::start): (WebCore::ResourceHandle::loadResourceSynchronously): 2009-11-09 Zoltan Horvath Unreviewed. https://bugs.webkit.org/show_bug.cgi?id=31161 Roll back r50657 because it breaks the MAC builds. * loader/ImageLoader.cpp: * loader/ProgressTracker.cpp: * loader/RedirectScheduler.cpp: * loader/Request.h: * loader/ThreadableLoaderClient.h: * loader/WorkerThreadableLoader.h: * loader/appcache/ApplicationCacheHost.h: * loader/appcache/ApplicationCacheStorage.h: * loader/icon/IconDatabaseClient.h: 2009-11-09 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for the part of loader directory in WebCore https://bugs.webkit.org/show_bug.cgi?id=31161 Inherits the following classes from Noncopyable because these are instantiated by 'new' and these are no need to be copyable: class Request - WebCore/loader/loader.cpp:100 struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164 class IconDatabaseClient - WebCore/loader/icon/IconDatabase.cpp:89 class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121 class ApplicationCacheHost - WebCore/loader/DocumentLoader.cpp:151 class ImageEventSender - WebCore/loader/ImageLoader.cpp:54 struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169 Inherits ThreadableLoaderClient class from Noncopyable because (its child class) MainThreadBridge is instantiated by 'new' in WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable. ThreadableLoaderClient's inheriting has been changed to public. * loader/ImageLoader.cpp: * loader/ProgressTracker.cpp: * loader/RedirectScheduler.cpp: * loader/Request.h: * loader/ThreadableLoaderClient.h: * loader/WorkerThreadableLoader.h: * loader/appcache/ApplicationCacheHost.h: * loader/appcache/ApplicationCacheStorage.h: * loader/icon/IconDatabaseClient.h: 2009-11-09 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's DocLoader https://bugs.webkit.org/show_bug.cgi?id=31163 Inherits DocLoader class from Noncopyable because it is instantiated by 'new' in WebCore/dom/Document.cpp:370 and it is no need to be copyable. * loader/DocLoader.h: 2009-11-09 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's Tokenizer https://bugs.webkit.org/show_bug.cgi?id=31162 Inherits Tokenizer class from Noncopyable because (its child class) ImageTokenizer instantiated by 'new' in WebCore/loader/ImageDocument.cpp:178 and it is no need to be copyable. * dom/Tokenizer.h: 2009-11-09 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's DeleteButtonController https://bugs.webkit.org/show_bug.cgi?id=31105 Inherits DeleteButtonController class from Noncopyable because it is instantiated by 'new' in WebCore/editing/Editor.cpp:919 and it is no need to be copyable. * editing/DeleteButtonController.h: 2009-11-09 Martin Robinson Reviewed by Jan Alonzo. [GTK] Expose Page::tabKeyCyclesThroughElements in the API https://bugs.webkit.org/show_bug.cgi?id=30482 Expose Page::tabKeyCyclesThroughElements as a property of WebKitWebView. No new tests; fast/events/keypress-insert-tab.html is no longer skipped. * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses. (WebCore::singleCharacterString): 2009-11-09 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=25415 [GTK][ATK] Please implement support for get_text_at_offset Fix a crasher that occurred with text which included newline chars in the markup. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (convertUniCharToUTF8): 2009-11-05 Jakub Wieczorek Reviewed by Holger Freyther. [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found. https://bugs.webkit.org/show_bug.cgi?id=31144 XMLTokenizer::doEnd() uses an additional logic to report a parse failure in documents that end prematurely but are not considered invalid by QXmlStream. This is to stay compatible with the libxml2 implementation. However, that code path would be also hit in situations when it should not, i.e. the error would have already been caught and handled. As a result, the same error would be reported twice. No new tests, because the problem is already covered by fast/parser/xml-declaration-missing-ending-mark.html. * dom/XMLTokenizerQt.cpp: (WebCore::XMLTokenizer::doEnd): 2009-11-08 Keishi Hattori Reviewed by Pavel Feldman. Web Inspector: Inspector should support copy() in the command line https://bugs.webkit.org/show_bug.cgi?id=31238 * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::copyText): Added. * inspector/InspectorBackend.h: Added copyText * inspector/InspectorBackend.idl: Added copyText * inspector/front-end/InjectedScript.js: (InjectedScript._copy): Added. (InjectedScript._ensureCommandLineAPIInstalled): 2009-11-08 Drew Wilson Reviewed by Dimitri Glazkov. V8 WorkerContextExecutionProxy does not handle SharedWorkers https://bugs.webkit.org/show_bug.cgi?id=31226 Now checks to see what type of context is active and creates the appropriate wrapper (DEDICATEDWORKERCONTEXT vs SHAREDWORKERCONTEXT). Added support for converting to SharedWorkers and SharedWorkerContexts. Test: Existing layout tests cover this case (start passing in Chrome). * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Now generates the right type of DOMWrapper for SharedWorkerContexts. (WebCore::WorkerContextExecutionProxy::convertToV8Object): Added support for SHAREDWORKERCONTEXT. (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object): Added support for SharedWorker and SharedWorkerContext. 2009-11-08 Johnny Ding Reviewed by Dimitri Glazkov. https://bugs.webkit.org/show_bug.cgi?id=31224 [V8] Return StyleSheet object instead of HTMLStyleElement w/document.styleSheets named property getter. Test: fast/dom/StyleSheet/get-stylesheet-byname.html * bindings/v8/custom/V8StyleSheetListCustom.cpp: (WebCore::NAMED_PROPERTY_GETTER): 2009-11-08 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: "Search again" on scripts panel switches to the script this search started with. https://bugs.webkit.org/show_bug.cgi?id=31243 * inspector/front-end/Panel.js: (WebInspector.Panel.prototype.jumpToNextSearchResult): 2009-11-08 Kent Tamura Reviewed by Darin Adler. Simplify Icon interface. https://bugs.webkit.org/show_bug.cgi?id=31154 - Remove Icon::createIconForFile(). createIconForFiles() covers createIconForFile()'s role. - Remove FileChooser::chooseIcon() - Change the parameter types of FileChooser constructor and the factory method, String -> const Vector&, in order to support initialization with multiple files. - Remove the icon loading code in IconChromiumWin.cpp, which doesn't work because of the sandbox. No tests because it's just a refactoring. * platform/FileChooser.cpp: (WebCore::FileChooser::FileChooser): (WebCore::FileChooser::create): (WebCore::FileChooser::chooseFile): (WebCore::FileChooser::chooseFiles): * platform/FileChooser.h: * platform/graphics/Icon.h: * platform/graphics/chromium/IconChromiumLinux.cpp: * platform/graphics/chromium/IconChromiumMac.cpp: * platform/graphics/chromium/IconChromiumWin.cpp: (WebCore::Icon::createIconForFiles): * platform/graphics/gtk/IconGtk.cpp: (WebCore::Icon::createIconForFiles): * platform/graphics/haiku/IconHaiku.cpp: * platform/graphics/mac/IconMac.mm: (WebCore::Icon::createIconForFiles): * platform/graphics/qt/IconQt.cpp: (WebCore::Icon::createIconForFiles): * platform/graphics/win/IconWin.cpp: (WebCore::Icon::createIconForFiles): * platform/graphics/wx/IconWx.cpp: * rendering/RenderFileUploadControl.cpp: (WebCore::RenderFileUploadControl::RenderFileUploadControl): 2009-11-08 Daniel Bates Reviewed by Adam Barth. https://bugs.webkit.org/show_bug.cgi?id=31098 Allows same-origin plugin-based content to load. Test: http/tests/security/xssAuditor/object-src-inject.html * page/XSSAuditor.cpp: (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Modified to call XSSAuditor::isSameOriginResource. (WebCore::XSSAuditor::canLoadObject): Ditto. (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. (WebCore::XSSAuditor::isSameOriginResource): Added. * page/XSSAuditor.h: 2009-11-08 David Levin Reviewed by NOBODY (chromium build fix). * platform/network/HTTPParsers.cpp: (WebCore::parseDate): Changed this to not use a date parser that needs ExecState passed. 2009-11-08 David Levin Unreviewed build fix for chromium. * platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::strokeRect): 2009-11-08 David Levin Unreviewed build fix for chromium. Build fix for https://bugs.webkit.org/show_bug.cgi?id=31219 Clean up GraphicsContext's current concept of ColorSpace * platform/graphics/skia/GraphicsContextSkia.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::strokeRect): 2009-11-08 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: [REGRESSION] committing style edit clears elements panel selection. https://bugs.webkit.org/show_bug.cgi?id=31242 * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.update): * inspector/front-end/StylesSidebarPane.js: (WebInspector.StylePropertyTreeElement.prototype.): (WebInspector.StylePropertyTreeElement.prototype): 2009-11-08 Janne Koskinen Reviewed by Holger Freyther. ResourceRequest to be class instead of struct https://bugs.webkit.org/show_bug.cgi?id=30670 Started as a compilation fix for Symbian where the compiler makes a distinction between class and struct in function argument signatures. Changed all forward declarations of ResourceRequest to have class in the forward declaration instead of struct and changed the definition of ResourceRequest to be class and added access qualifiers where missing. Additionally two references of friend struct ResourceRequestBase changed to class instead. * history/HistoryItem.h: * inspector/InspectorController.h: * inspector/InspectorResource.h: * loader/DocumentThreadableLoader.h: * loader/FrameLoaderClient.h: * loader/MainResourceLoader.h: * loader/ResourceLoadNotifier.h: * loader/SubresourceLoader.h: * loader/SubresourceLoaderClient.h: * loader/ThreadableLoader.h: * loader/WorkerThreadableLoader.h: * loader/appcache/ApplicationCache.h: * loader/appcache/ApplicationCacheHost.h: * platform/CrossThreadCopier.h: * platform/network/ResourceHandle.h: * platform/network/ResourceHandleClient.h: * platform/network/ResourceRequestBase.h: * platform/network/cf/ResourceRequest.h: * platform/network/cf/ResourceRequestCFNet.h: * platform/network/chromium/ResourceRequest.h: * platform/network/curl/ResourceRequest.h: * platform/network/qt/ResourceRequest.h: * platform/network/soup/ResourceRequest.h: * xml/XMLHttpRequest.h: 2009-11-08 Dan Bernstein Reviewed by Simon Fraser. Crash inside RenderObject::localToAbsolute below FrameView::layout https://bugs.webkit.org/show_bug.cgi?id=31093 Test: fast/block/positioning/relative-positioned-inline-container.html In , setStaticY() was changed to mark the object for layout, doing so without marking its ancestors. However, RenderBlock::skipLeadingWhitespace and RenderBlock::skipTrailingWhitespace() call setStaticY() on a relative- positioned inline container, causing it to be marked for layout without ever going back to give it layout, and thus layout could end with a dirty object still in the tree, leading to all sorts of badness. The fix is to revert setStaticY() to not marking the object dirty, and instead do it in the call sites that require it, which are in RenderBlock and RenderFlexibleBox. * rendering/RenderBlock.cpp: (WebCore::RenderBlock::adjustPositionedBlock): * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutHorizontalBox): (WebCore::RenderFlexibleBox::layoutVerticalBox): * rendering/RenderLayer.cpp: * rendering/RenderLayer.h: (WebCore::RenderLayer::setStaticY): 2009-11-07 Daniel Bates Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=20780 Fixes an issue where the onchange event handler is not fired when the input field is autocompleted. We cannot test this using DRT since DRT cannot emulate autocompletion. So, a manual-test is included. Tests: manual-tests/autocompletion-fire-onchange.html * manual-tests/autocompletion-fire-onchange.html: Added. * rendering/RenderTextControl.cpp: (WebCore::RenderTextControl::setInnerTextValue): 2009-11-07 Benjamin Otte Reviewed by Holger Freyther. Mark redrawn areas on image surfaces as dirty. This is required to conform to the Cairo API, but is currently only used by debugging tools like cairo-trace. * platform/graphics/cairo/ImageBufferCairo.cpp: (WebCore::ImageBuffer::platformTransformColorSpace): (WebCore::putImageData): 2009-11-07 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=30878 [Gtk] atk_text_get_text() fails in entries when the end_offset is -1 If the end_offset is -1, use the String length as the end_offset. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (webkit_accessible_text_get_text): 2009-11-06 Beth Dakin Reviewed by Adele Peterson. Fix for https://bugs.webkit.org/show_bug.cgi?id=31219 Clean up GraphicsContext's current concept of ColorSpace ColorSpace is now called ColorType. The variables on the state we appropriately re-named as well. I removed strokeColorSpace() and fillColorSpace() from GraphicsContext since they were never called. * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::setStrokeColor): (WebCore::GraphicsContext::setFillColor): (WebCore::GraphicsContext::setStrokePattern): (WebCore::GraphicsContext::setFillPattern): (WebCore::GraphicsContext::setStrokeGradient): (WebCore::GraphicsContext::setFillGradient): * platform/graphics/GraphicsContext.h: (WebCore::): * platform/graphics/GraphicsContextPrivate.h: (WebCore::GraphicsContextState::GraphicsContextState): * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::calculateDrawingMode): (WebCore::GraphicsContext::drawPath): (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect): (WebCore::GraphicsContext::strokeRect): * platform/graphics/qt/GraphicsContextQt.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::strokePath): (WebCore::GraphicsContext::fillRect): * platform/graphics/wince/GraphicsContextWince.cpp: (WebCore::GraphicsContext::fillPath): (WebCore::GraphicsContext::fillRect): 2009-11-06 Brian Weinstein Reviewed by Tim Hatcher. Fixes . Web Inspector: Bind backspace to delete cookies and DOM Storage. Refactor editing code from DOMStorageDataGrid to DataGrid, so other places in the inspector can use editing in DataGrid (added a FIXME for some stuff that needs to be generalized). Also added deleting functionality to DataGrid, and implemented it for Cookies and DOM Storage. The reason this patch is so big is because of the refactoring of editing code, which won't be used yet in a cross-datagrid way, but should be able to. Additionally, moved the callbacks members from DOMStorageDataGrid to DOMStorageItemsView, which allowed us to delete DOMStorageDataGrid, to make the architecture of DOM Storage look a lot more like the Cookies view. Lastly, added a preventDefault call in ElementsTreeOutline to prevent the inspector from beeping at you when you delete an element. * WebCore.gypi: Removed DOMStorageDataGrid. * WebCore.vcproj/WebCore.vcproj: Removed DOMStorageDataGrid. * inspector/front-end/CookieItemsView.js: (WebInspector.CookieItemsView.prototype.dataGridForCookies): (WebInspector.CookieItemsView.prototype._deleteButtonClicked): (WebInspector.CookieItemsView.prototype._deleteCookieCallback): * inspector/front-end/DOMStorageDataGrid.js: Removed. * inspector/front-end/DOMStorageItemsView.js: (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries): (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked): (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked): (WebInspector.DOMStorageItemsView.prototype._editingCallback): (WebInspector.DOMStorageItemsView.prototype.deleteSelectedRow): (WebInspector.DOMStorageItemsView.prototype._deleteCallback): * inspector/front-end/DataGrid.js: (WebInspector.DataGrid): (WebInspector.DataGrid.prototype._ondblclick): Moved from DOMStorageDataGrid to DataGrid + Refactoring. (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): Ditto. (WebInspector.DataGrid.prototype._startEditing): Ditto. (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded): Ditto. (WebInspector.DataGrid.prototype._editingCommitted): Ditto. (WebInspector.DataGrid.prototype._editingCancelled): Ditto. (WebInspector.DataGrid.prototype.handleKeyEvent): Added case for delete/backspace. * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): Added preventDefault call. * inspector/front-end/WebKit.qrc: Removed DOMStorageDataGrid. * inspector/front-end/inspector.html: Removed DOMStorageDataGrid. 2009-11-06 Geoffrey Garen Qt build fix: added an ExecState parameter. * bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertValueToQVariant): (JSC::Bindings::convertQVariantToValue): 2009-11-06 Geoffrey Garen https://bugs.webkit.org/show_bug.cgi?id=31197 Implemented a timezone cache not based on Mac OS X's notify_check API. Updated for JavaScriptCore internal API change. * bridge/qt/qt_runtime.cpp: (JSC::Bindings::convertValueToQVariant): (JSC::Bindings::convertQVariantToValue): Updated for namespace change. * platform/network/HTTPParsers.cpp: (WebCore::parseDate): Pass 0 for ExecState, since we don't have one. (This function probably shouldn't be using a JavaScript date parser to begin with, but oh well.) 2009-11-06 Anantanarayanan G Iyengar Reviewed by Adam Barth. The associated webkit bug is https://bugs.webkit.org/show_bug.cgi?id=31067, which affects Chromium only. Changes to V8HTMLDocumentCustom.cpp are as below:- 1. The HTMLDocumentOpen function would cause a crash in Chromium if there was no calling javascript context. We now check for this case and pass in NULL to the HTMLDocument::open function which can handle a NULL document parameter. 2. The other functions like HTMLDocumentWrite, HTMLDocumentWriteln, etc had ASSERTS for a NULL caller frame, which was bogus as it would crash anyway. We now check for this case and return a failure. Changes to V8DOMWindowCustom.cpp are as below:- 1. Instead of failing the window.open call made by NPAPI for lack of a calling javascript context, we now use the entered context as the calling context. Tests: plugins/document-open.html plugins/window-open.html * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8HTMLDocumentCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): 2009-11-06 Steve Block Reviewed by Eric Seidel. Geolocation error code UNKNOWN_ERROR is deprecated. https://bugs.webkit.org/show_bug.cgi?id=31184 Remove this error code from PositionError, both for use from C++ code and from the JS object. Updated fast/dom/Geolocation/error.html to test this. * page/PositionError.h: Modified. (WebCore::PositionError::): Remove ErrorCode::UNKNOWN_ERROR. * page/PositionError.idl: Modified. Remove UNKNOWN_ERROR constant. * page/Geolocation.cpp: Modified. (WebCore::Geolocation::startRequest): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE. * platform/gtk/GeolocationServiceGtk.cpp: Modified. (WebCore::GeolocationServiceGtk::startUpdating): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE. 2009-11-06 Dirk Schulze Reviewed by Nikolas Zimmermann. feMorphology filter is not implemented [https://bugs.webkit.org/show_bug.cgi?id=5863] The Implementation of feMorphology. Test: We have allready a test for feMorphology svg/W3C-SVG-1.1/filters-morph-01-f.svg * svg/graphics/filters/SVGFEMorphology.cpp: (WebCore::FEMorphology::apply): 2009-11-06 Steve Block Reviewed by Eric Seidel. V8DOMWindowCustom.cpp is missing WEB_SOCKETS guard on include. https://bugs.webkit.org/show_bug.cgi?id=31209 Build fix only. No new tests possible. * bindings/v8/custom/V8DOMWindowCustom.cpp: Modified. Added WEB_SOCKETS guard on inclue of WebSockets.h. 2009-11-06 Drew Wilson Reviewed by David Levin. V8 bindings do not support SharedWorkers as event targets https://bugs.webkit.org/show_bug.cgi?id=31199 No new tests because existing layout tests suffice (they currently crash on Chromium) * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::convertEventTargetToV8Object): Added clause to create a DOM wrapper for SharedWorkers. 2009-11-06 Anton Muhin Reviewed by Adam Barth. Do not unnecessarly synchronzie in weak reference callbacks. https://bugs.webkit.org/show_bug.cgi?id=31191 * bindings/v8/DOMData.h: (WebCore::DOMData::handleWeakObject): 2009-11-06 Alexander Pavlov Reviewed by Pavel Feldman. Fix resource content search. https://bugs.webkit.org/show_bug.cgi?id=31202 * inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel.prototype.refresh): (WebInspector.AbstractTimelinePanel.prototype.removeItem): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelineGraph.prototype.refresh): 2009-11-05 Yuta Kitamura Reviewed by Eric Seidel. Fix ASSERT(currentStyle = renderStyle()). https://bugs.webkit.org/show_bug.cgi?id=31152 * dom/Element.cpp: (WebCore::Element::pseudoStyleCacheIsInvalid): We should have used "==" instead of "=". 2009-11-05 Alpha Lam Revert 50562 because it broke Chromium. Not reviewed since this is a build fix and revert. * bindings/v8/V8GCController.cpp: (WebCore::V8GCController::gcEpilogue): * bindings/v8/V8GCController.h: * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::evaluate): (WebCore::V8Proxy::runScript): (WebCore::V8Proxy::callFunction): 2009-11-05 Adam Barth Reviewed by Sam Weinig. Cross-domain access to stylesheet text should not be allowed https://bugs.webkit.org/show_bug.cgi?id=20527 Check whether whether the current document can read the cssRules from the style sheet. Firefox throws a security error here, but we return null instead because that's what we usually do in these cases. Test: http/tests/security/cannot-read-cssrules-redirect.html http/tests/security/cannot-read-cssrules.html * css/CSSStyleSheet.cpp: (WebCore::CSSStyleSheet::cssRules): 2009-11-05 Steve Block Reviewed by Eric Seidel. If the Geolocation service fails to start, invoke the error callback asynchronously. https://bugs.webkit.org/show_bug.cgi?id=28276 All Geolocation callbacks must be invoked asynchronously. See http://www.w3.org/TR/geolocation-API/#geolocation_interface No new tests possible with current LayoutTestController. * page/Geolocation.cpp: (WebCore::Geolocation::getCurrentPosition): Modified. Asserts that startRequest returned a notifier. (WebCore::Geolocation::watchPosition): Modified. Asserts that startRequest returned a notifier. (WebCore::Geolocation::startRequest): Modified. If the Geolocation service fails to start, set a fatal error on the notifier. 2009-11-05 Chris Jerdonek Reviewed by Eric Seidel. Removed the "this is part of the KDE project" comments from all *.h, *.cpp, *.idl, and *.pm files. https://bugs.webkit.org/show_bug.cgi?id=31167 The maintenance and architecture page in the project wiki lists this as a task. This change includes no changes or additions to test cases since the change affects only comments. * bindings/scripts/CodeGeneratorV8.pm: * bindings/scripts/IDLParser.pm: * bindings/scripts/IDLStructure.pm: * css/CSSInheritedValue.cpp: * css/CSSInitialValue.cpp: * css/CSSMediaRule.cpp: * css/CSSNamespace.h: * css/CSSProperty.cpp: * css/CSSProperty.h: * css/CSSRuleList.cpp: * css/CSSRuleList.h: * css/CSSSelector.h: * css/CSSValueList.cpp: * css/FontValue.cpp: * css/MediaFeatureNames.cpp: * css/MediaFeatureNames.h: * css/Pair.h: * css/SVGCSSStyleSelector.cpp: * css/ShadowValue.cpp: * css/StyleSheet.cpp: * css/StyleSheetList.cpp: * css/maketokenizer: * dom/BeforeUnloadEvent.cpp: * dom/BeforeUnloadEvent.h: * dom/CSSMappedAttributeDeclaration.cpp: * dom/EventNames.cpp: * dom/EventTarget.cpp: * dom/MappedAttributeEntry.h: * dom/MouseRelatedEvent.h: * dom/RangeException.h: * dom/StyleElement.h: * dom/Tokenizer.h: * html/HTMLHeadElement.h: * html/HTMLHeadingElement.cpp: * html/HTMLHeadingElement.h: * html/HTMLHtmlElement.h: * html/HTMLImageLoader.h: * html/HTMLMetaElement.h: * html/HTMLModElement.cpp: * html/HTMLModElement.h: * html/HTMLOptionsCollection.cpp: * html/HTMLPlugInElement.cpp: * html/HTMLPreElement.cpp: * html/HTMLPreElement.h: * html/HTMLTableCellElement.cpp: * html/HTMLTableCellElement.h: * html/HTMLTableColElement.cpp: * html/HTMLTableColElement.h: * html/HTMLTablePartElement.cpp: * html/HTMLTablePartElement.h: * html/HTMLTitleElement.h: * page/MouseEventWithHitTestResults.h: * platform/StaticConstructors.h: * platform/text/AtomicStringImpl.h: * platform/text/qt/TextBreakIteratorQt.cpp: * rendering/AutoTableLayout.h: * rendering/CounterNode.cpp: * rendering/EllipsisBox.cpp: * rendering/EllipsisBox.h: * rendering/FixedTableLayout.cpp: * rendering/FixedTableLayout.h: * rendering/HitTestRequest.h: * rendering/HitTestResult.h: * rendering/InlineRunBox.h: * rendering/PointerEventsHitRules.cpp: * rendering/PointerEventsHitRules.h: * rendering/RenderBR.cpp: * rendering/RenderBR.h: * rendering/RenderButton.cpp: * rendering/RenderButton.h: * rendering/RenderFieldset.cpp: * rendering/RenderFrameSet.cpp: * rendering/RenderListItem.cpp: * rendering/RenderTableRow.cpp: * rendering/RenderView.h: * rendering/RootInlineBox.h: * rendering/SVGInlineTextBox.cpp: * rendering/SVGInlineTextBox.h: * rendering/TableLayout.h: * rendering/break_lines.h: * rendering/style/SVGRenderStyle.cpp: * rendering/style/SVGRenderStyle.h: * rendering/style/SVGRenderStyleDefs.cpp: * rendering/style/SVGRenderStyleDefs.h: * svg/GradientAttributes.h: * svg/LinearGradientAttributes.h: * svg/PatternAttributes.h: * svg/RadialGradientAttributes.h: * svg/SVGAElement.cpp: * svg/SVGAngle.idl: * svg/SVGAnimateColorElement.cpp: * svg/SVGAnimateColorElement.h: * svg/SVGAnimateElement.cpp: * svg/SVGAnimateElement.h: * svg/SVGAnimateTransformElement.h: * svg/SVGAnimatedPathData.cpp: * svg/SVGAnimatedPathData.h: * svg/SVGAnimatedPoints.cpp: * svg/SVGAnimatedPoints.h: * svg/SVGAnimationElement.cpp: * svg/SVGCircleElement.cpp: * svg/SVGClipPathElement.cpp: * svg/SVGColor.cpp: * svg/SVGColor.idl: * svg/SVGComponentTransferFunctionElement.cpp: * svg/SVGComponentTransferFunctionElement.h: * svg/SVGCursorElement.cpp: * svg/SVGDefsElement.cpp: * svg/SVGDescElement.cpp: * svg/SVGDescElement.h: * svg/SVGDocument.idl: * svg/SVGElement.idl: * svg/SVGElementInstanceList.cpp: * svg/SVGElementInstanceList.h: * svg/SVGEllipseElement.cpp: * svg/SVGExternalResourcesRequired.cpp: * svg/SVGFEBlendElement.cpp: * svg/SVGFEBlendElement.h: * svg/SVGFEColorMatrixElement.cpp: * svg/SVGFEColorMatrixElement.h: * svg/SVGFEComponentTransferElement.cpp: * svg/SVGFEComponentTransferElement.h: * svg/SVGFECompositeElement.cpp: * svg/SVGFECompositeElement.h: * svg/SVGFEFloodElement.cpp: * svg/SVGFEFloodElement.h: * svg/SVGFEFuncAElement.cpp: * svg/SVGFEFuncAElement.h: * svg/SVGFEFuncBElement.cpp: * svg/SVGFEFuncBElement.h: * svg/SVGFEFuncGElement.cpp: * svg/SVGFEFuncGElement.h: * svg/SVGFEFuncRElement.cpp: * svg/SVGFEFuncRElement.h: * svg/SVGFEGaussianBlurElement.cpp: * svg/SVGFEGaussianBlurElement.h: * svg/SVGFEImageElement.cpp: * svg/SVGFEMergeElement.cpp: * svg/SVGFEMergeElement.h: * svg/SVGFEMergeNodeElement.cpp: * svg/SVGFEOffsetElement.cpp: * svg/SVGFEOffsetElement.h: * svg/SVGFETileElement.cpp: * svg/SVGFETileElement.h: * svg/SVGFETurbulenceElement.cpp: * svg/SVGFETurbulenceElement.h: * svg/SVGFilterElement.cpp: * svg/SVGGElement.cpp: * svg/SVGGradientElement.cpp: * svg/SVGHKernElement.idl: * svg/SVGLangSpace.cpp: * svg/SVGLangSpace.h: * svg/SVGLength.cpp: * svg/SVGLength.h: * svg/SVGLength.idl: * svg/SVGLengthList.cpp: * svg/SVGLengthList.h: * svg/SVGLineElement.cpp: * svg/SVGLinearGradientElement.h: * svg/SVGList.h: * svg/SVGListTraits.h: * svg/SVGLocatable.h: * svg/SVGMaskElement.cpp: * svg/SVGMatrix.idl: * svg/SVGMetadataElement.cpp: * svg/SVGMetadataElement.h: * svg/SVGMetadataElement.idl: * svg/SVGNumber.idl: * svg/SVGNumberList.cpp: * svg/SVGNumberList.h: * svg/SVGPaint.cpp: * svg/SVGPathElement.cpp: * svg/SVGPathSeg.h: * svg/SVGPathSegArc.cpp: * svg/SVGPathSegArc.h: * svg/SVGPathSegClosePath.cpp: * svg/SVGPathSegClosePath.h: * svg/SVGPathSegCurvetoCubic.cpp: * svg/SVGPathSegCurvetoCubic.h: * svg/SVGPathSegCurvetoCubicSmooth.cpp: * svg/SVGPathSegCurvetoCubicSmooth.h: * svg/SVGPathSegCurvetoQuadratic.cpp: * svg/SVGPathSegCurvetoQuadratic.h: * svg/SVGPathSegCurvetoQuadraticSmooth.cpp: * svg/SVGPathSegCurvetoQuadraticSmooth.h: * svg/SVGPathSegLineto.cpp: * svg/SVGPathSegLineto.h: * svg/SVGPathSegLinetoHorizontal.cpp: * svg/SVGPathSegLinetoHorizontal.h: * svg/SVGPathSegLinetoVertical.cpp: * svg/SVGPathSegLinetoVertical.h: * svg/SVGPathSegMoveto.cpp: * svg/SVGPathSegMoveto.h: * svg/SVGPatternElement.cpp: * svg/SVGPoint.idl: * svg/SVGPointList.cpp: * svg/SVGPointList.h: * svg/SVGPolyElement.cpp: * svg/SVGPolygonElement.cpp: * svg/SVGPolygonElement.h: * svg/SVGPolylineElement.cpp: * svg/SVGPolylineElement.h: * svg/SVGPreserveAspectRatio.cpp: * svg/SVGPreserveAspectRatio.h: * svg/SVGRadialGradientElement.h: * svg/SVGRect.idl: * svg/SVGRectElement.cpp: * svg/SVGRenderingIntent.h: * svg/SVGSVGElement.idl: * svg/SVGScriptElement.cpp: * svg/SVGSetElement.cpp: * svg/SVGSetElement.h: * svg/SVGStopElement.cpp: * svg/SVGStringList.cpp: * svg/SVGStringList.h: * svg/SVGStylable.cpp: * svg/SVGStylable.h: * svg/SVGStyleElement.cpp: * svg/SVGStyleElement.h: * svg/SVGStyledElement.h: * svg/SVGStyledLocatableElement.cpp: * svg/SVGStyledLocatableElement.h: * svg/SVGStyledTransformableElement.cpp: * svg/SVGStyledTransformableElement.h: * svg/SVGSwitchElement.cpp: * svg/SVGSymbolElement.cpp: * svg/SVGTRefElement.cpp: * svg/SVGTSpanElement.cpp: * svg/SVGTSpanElement.h: * svg/SVGTests.h: * svg/SVGTextElement.cpp: * svg/SVGTextElement.h: * svg/SVGTextPathElement.cpp: * svg/SVGTextPositioningElement.cpp: * svg/SVGTextPositioningElement.h: * svg/SVGTitleElement.cpp: * svg/SVGTitleElement.h: * svg/SVGTransform.cpp: * svg/SVGTransform.h: * svg/SVGTransform.idl: * svg/SVGTransformList.cpp: * svg/SVGTransformList.h: * svg/SVGTransformable.h: * svg/SVGURIReference.h: * svg/SVGUnitTypes.h: * svg/SVGUseElement.cpp: * svg/SVGViewElement.cpp: * svg/SVGZoomAndPan.cpp: * svg/SVGZoomAndPan.h: * svg/SVGZoomEvent.cpp: 2009-11-05 Jeremy Orlow Reviewed by Dimitri Glazkov. REGRESSION Clean up security origin usage in DOM Storage. https://bugs.webkit.org/show_bug.cgi?id=31188 Clean up security origin usage in DOM Storage. This fixes a bug in my refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149 Instead of having StorageAreaSync's constructor (which is called in the constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the database identifier, simply have StorageAreaImpl pass the identifier into StorageAreaSync. No test because there's no change in externally observable behavior. * storage/StorageAreaImpl.cpp: (WebCore::StorageAreaImpl::StorageAreaImpl): * storage/StorageAreaImpl.h: * storage/StorageAreaSync.cpp: (WebCore::StorageAreaSync::create): (WebCore::StorageAreaSync::StorageAreaSync): * storage/StorageAreaSync.h: 2009-11-05 Scott Violet Reviewed by Dimitri Glazkov. Need notification of scrolling frame https://bugs.webkit.org/show_bug.cgi?id=31145 Adds FrameLoaderClient::didChangeScrollOffset that is called when the frame scrolls. This will be used to know when history state needs to be updated. * loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::didChangeScrollOffset): * page/FrameView.cpp: (WebCore::FrameView::valueChanged): 2009-11-05 Kenneth Russell Reviewed by Dimitri Glazkov. [V8] Update bindings to use new API for external arrays https://bugs.webkit.org/show_bug.cgi?id=31181 No new tests; covered by existing WebGL tests. * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray): (WebCore::V8DOMWrapper::getTemplate): (WebCore::V8DOMWrapper::convertToV8Object): * bindings/v8/V8DOMWrapper.h: * bindings/v8/custom/V8CanvasArrayCustom.h: (WebCore::constructCanvasArray): 2009-11-05 Alpha Lam Not reviewed, Chromium build fix. 50561 introduces a custom method for SVGMatrix, we need to implement this in V8. * bindings/v8/custom/V8CustomBinding.h: Adding definition for V8SVGMatrixMultiply. * bindings/v8/custom/V8SVGMatrixCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): Implement V8SVGMatrixMultiply according to the same method in JSC. 2009-11-05 Jeremy Orlow Revert 50569 since it broke QT. Build fix and just a revert, so no review. * page/DOMWindow.cpp: (WebCore::DOMWindow::sessionStorage): * page/Settings.cpp: (WebCore::Settings::Settings): (WebCore::Settings::setSessionStorageEnabled): * page/Settings.h: (WebCore::Settings::sessionStorageEnabled): 2009-11-05 Pavel Feldman Reviewed by Timothy Hatcher. REGRESSION: Web Inspector doesn't show CSS rules properly for iframes https://bugs.webkit.org/show_bug.cgi?id=30884 Test: inspector/styles-iframe.html * inspector/front-end/DOMAgent.js: (WebInspector.DOMNode): * inspector/front-end/InjectedScript.js: (InjectedScript.getStyles): (InjectedScript.getComputedStyle): (InjectedScript.addStyleSelector): * inspector/front-end/TestController.js: (WebInspector.TestController.prototype.notifyDone): (WebInspector.TestController.prototype.runAfterPendingDispatches): (WebInspector.evaluateForTestInFrontend.invokeMethod): (WebInspector.evaluateForTestInFrontend): 2009-11-05 Vitaly Repeshko Reviewed by Geoffrey Garen and Dimitri Glazkov. Rehashing of EventListenerMap leads to loss of EvenListenerList. https://bugs.webkit.org/show_bug.cgi?id=31027 Tested by new fast/events/event-listener-map-rehash-crash.html. EventListenerMap modified to store pointers to listener vectors: * dom/EventTarget.cpp: (WebCore::EventTargetData::~EventTargetData): (WebCore::EventTarget::addEventListener): (WebCore::EventTarget::removeEventListener): (WebCore::EventTarget::fireEventListeners): (WebCore::EventTarget::getEventListeners): (WebCore::EventTarget::removeAllEventListeners): * dom/EventTarget.h: Usages updated after interface changes: * inspector/InspectorDOMAgent.cpp: (WebCore::InspectorDOMAgent::getEventListenersForNode): * svg/SVGUseElement.cpp: (WebCore::SVGUseElement::transferEventListenersToShadowTree): 2009-11-05 Dan Kegel Reviewed by Dmitri Titov. Add missing initialization for m_createdByParser. https://bugs.webkit.org/show_bug.cgi?id=31089 Test: fast/dom/beforeload/pi-before-load.xhtml in Valgrind * dom/ProcessingInstruction.cpp: (WebCore::ProcessingInstruction::ProcessingInstruction): 2009-11-04 Jeremy Orlow Reviewed by Adam Barth. DOM Storage runtime flag changes https://bugs.webkit.org/show_bug.cgi?id=30602 Part 2/2. Revert my changes to Settings and instead implement DOM Storage enabling via the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240 This stuff was (intentionally) never exposed to web pages or DRT, so there's no LayoutTest visible changes and thus no tests. * bindings/v8/custom/V8CustomBinding.h: * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::ACCESSOR_RUNTIME_ENABLER): * page/DOMWindow.cpp: (WebCore::DOMWindow::sessionStorage): * page/DOMWindow.idl: * page/Settings.cpp: (WebCore::Settings::Settings): * page/Settings.h: * storage/Storage.cpp: (WebCore::Storage::setLocalStorageAvailable): (WebCore::Storage::localStorageAvailable): (WebCore::Storage::setSessionStorageAvailable): (WebCore::Storage::sessionStorageAvailable): * storage/Storage.h: 2009-11-05 Jian Li Reviewed by Pavel Feldman. Bug 31108 - [V8] REGRESSION: Pause on exception is broken https://bugs.webkit.org/show_bug.cgi?id=31108 * bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::invokeEventHandler): * bindings/v8/V8Utilities.cpp: (WebCore::reportException): 2009-11-05 Jian Li Reviewed by Dmitri Titov. We should not bubble up events if we drag something to an iframe that has an invalid source. https://bugs.webkit.org/show_bug.cgi?id=30469 Test: http/tests/misc/bubble-drag-events.html * page/EventHandler.cpp: (WebCore::EventHandler::handleDragAndDropForTarget): (WebCore::EventHandler::updateDragAndDrop): (WebCore::EventHandler::cancelDragAndDrop): (WebCore::EventHandler::performDragAndDrop): * page/EventHandler.h: (WebCore::EventHandler::): 2009-11-05 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: speed up Timelines Clear by a factor of thousands. https://bugs.webkit.org/show_bug.cgi?id=31160 * inspector/front-end/utilities.js: (Element.prototype.removeChildren): 2009-11-05 Anton Muhin Reviewed by Adam Barth. If high memory usage is detected, hint to V8 that it might be due to external objects retained by V8 objects. https://bugs.webkit.org/show_bug.cgi?id=31051 * bindings/v8/V8GCController.cpp: (WebCore::GetMemoryUsageInMB): (WebCore::V8GCController::gcEpilogue): (WebCore::V8GCController::checkMemoryUsage): * bindings/v8/V8GCController.h: * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::evaluate): (WebCore::V8Proxy::runScript): (WebCore::V8Proxy::callFunction): 2009-11-05 Jeff Schiller Reviewed by Simon Fraser. Correct order of matrix multiplication for SVGMatrix. https://bugs.webkit.org/show_bug.cgi?id=16062 Test: svg/dom/SVGMatrix-interface.xhtml * bindings/js/JSSVGMatrixCustom.cpp: (WebCore::JSSVGMatrix::multiply): * svg/SVGMatrix.idl: 2009-11-04 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Make resource-related records in timeline actually take some time. https://bugs.webkit.org/show_bug.cgi?id=31139 * English.lproj/localizedStrings.js: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._formatRecord): (WebInspector.TimelinePanel.prototype._getRecordDetails): (WebInspector.TimelinePanel.prototype.reset): 2009-11-04 Jeremy Orlow Reviewed by Darin Fisher. Simplify LocalStorageThread https://bugs.webkit.org/show_bug.cgi?id=30935 This is a re-submit of 50519. LocalStorageTask should have never been ref counted. I've removed that and switched a PassRefPtr over to a PassOwnPtr. On LocalStoragethread: Remove reference counting. Get rid of locking. Make some of the method names a bit more clear. Assert proper thread usage. Join rather than detaching the thread and doing an ad-hoc form of join. Avoid touching variables on the background thread when simple to do so. Also create a generic scheduleTask function rather than one for each task. No behavior should have changed. * storage/LocalStorageTask.h: * storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::create): (WebCore::LocalStorageThread::LocalStorageThread): (WebCore::LocalStorageThread::~LocalStorageThread): (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::threadEntryPointCallback): (WebCore::LocalStorageThread::threadEntryPoint): (WebCore::LocalStorageThread::scheduleTask): (WebCore::LocalStorageThread::terminate): (WebCore::LocalStorageThread::performTerminate): * storage/LocalStorageThread.h: * storage/StorageSyncManager.cpp: (WebCore::StorageSyncManager::StorageSyncManager): (WebCore::StorageSyncManager::~StorageSyncManager): (WebCore::StorageSyncManager::scheduleImport): (WebCore::StorageSyncManager::scheduleSync): * storage/StorageSyncManager.h: 2009-11-04 Jeremy Orlow Reviewed by Darin Fisher. Calling databaseIdentifier on LocalStorage's background thread is not safe. https://bugs.webkit.org/show_bug.cgi?id=31149 Calling SecurityOrigin::databaseIdentifier on LocalStorage's background thread is not safe. databaseIdentifier does a bunch of string concatenation which ref-counts StringImpls in some cases. This was caught by valgrind thread sanitizer: http://code.google.com/p/chromium/issues/detail?id=25645 There's no way to test for such racyness, unfortunately. * storage/StorageAreaSync.cpp: (WebCore::StorageAreaSync::StorageAreaSync): (WebCore::StorageAreaSync::performImport): * storage/StorageAreaSync.h: * storage/StorageSyncManager.cpp: (WebCore::StorageSyncManager::fullDatabaseFilename): * storage/StorageSyncManager.h: 2009-11-03 Jeremy Orlow Reviewed by Darin Fisher. Clean up StorageAreaSync https://bugs.webkit.org/show_bug.cgi?id=31100 Major fixes: Break the ref count cycle for StorageArea on the main thread, not the background thread since the latter is not safe. Length() needs to block on the import completing. Small fixes: setItem needs to handle the copy on write case even if it has an exception. setItem and removeItem should just bail from the the function if the value hasn't changed rather than wrapping the end in an if block. Clear should only send an event if it wasn't already cleared. StorageAreaSync should assert that the final sync was scheduled. * storage/StorageAreaImpl.cpp: (WebCore::StorageAreaImpl::length): Forgot to block on the import. (WebCore::StorageAreaImpl::key): (WebCore::StorageAreaImpl::setItem): Handle the copy on write case even when there's an exception. (WebCore::StorageAreaImpl::removeItem): (WebCore::StorageAreaImpl::clear): * storage/StorageAreaSync.cpp: (WebCore::StorageAreaSync::~StorageAreaSync): (WebCore::StorageAreaSync::scheduleFinalSync): (WebCore::StorageAreaSync::performImport): (WebCore::StorageAreaSync::markImported): (WebCore::StorageAreaSync::blockUntilImportComplete): * storage/StorageAreaSync.h: 2009-11-05 Zoltan Horvath Reviewed by Eric Seidel. Allow custom memory allocation control for WebCore's CachedResource https://bugs.webkit.org/show_bug.cgi?id=31114 Inherits CachedResource class from Noncopyable because its (its child class) CachedCSSStyleSheet instantiated by 'new' in WebCore/loader/Cache.cpp:75 and it is no need to be copyable. * loader/CachedResource.h: 2009-11-04 Mark Mentovai Reviewed by Mark Rowe. Separate the difference between HAVE(CGINTERPOLATION_MEDIUM), which is true when building on 10.6 or later, and USE(CGINTERPOLATION_MEDIUM) which is true when targeting 10.6 or later. HAVE(CGINTERPOLATION_MEDIUM) indicates that kCGInterpolationMedium is present in the CGInterpolationQuality enum, and must be handled by a switch that has cases for each enumerated value. USE(CGINTERPOLATION_MEDIUM) indicates that the product will only run on 10.6 or later, and that CoreGraphics will understand when InterpolationMedium is mapped to kCGInterpolationMedium at runtime. * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::setImageInterpolationQuality): (WebCore::GraphicsContext::imageInterpolationQuality): 2009-11-04 Dan Kegel Reviewed by Alexey Proskuryakov. Fix buffer overrun in WebCore::Page::userStyleSheetLocationChanged() https://bugs.webkit.org/show_bug.cgi?id=31138 Test: LayoutTests/platform/mac/fast/loader/user-stylesheet-fast-path.html in Valgrind * page/Page.cpp: (WebCore::Page::userStyleSheetLocationChanged): 2009-11-04 Timothy Hatcher Update the Web Inspector Timeline panel to better match the mock-up. https://bugs.webkit.org/show_bug.cgi?id=31150 Reviewed by Pavel Feldman. * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._getRecordDetails): (WebInspector.TimelinePanel.prototype._dragWindow): (WebInspector.TimelinePanel.prototype._resizeWindowLeft): (WebInspector.TimelinePanel.prototype._resizeWindowRight): (WebInspector.TimelineCategoryTreeElement.prototype.onattach): (WebInspector.TimelineRecordTreeElement.prototype.onattach): (WebInspector.TimelineRecordTreeElement.prototype.refresh): (WebInspector.TimelineCategoryGraph): * inspector/front-end/inspector.css: 2009-11-05 Justin Garcia Reviewed by Adele Peterson. https://bugs.webkit.org/show_bug.cgi?id=25439 Deleting when in front of a block image removes character from previous paragraph Added editing/deleting/25439-{1,2,3}.html * editing/DeleteSelectionCommand.cpp: (WebCore::DeleteSelectionCommand::mergeParagraphs): Block images, tables and HRs cannot be made inline with other content. Instead of merging, just move the caret to just before the selection we deleted. * editing/htmlediting.cpp: (WebCore::firstInSpecialElement): Added a FIXME. This function begins iterating up from pos.node(), which doesn't necessarily contain pos (suppose pos was [img, 0]). (WebCore::lastInSpecialElement): Ditto. (WebCore::isRenderedAsNonInlineTableImageOrHR): Moved from visible_units.cpp. Added a check for non-inline images. * editing/htmlediting.h: * editing/visible_units.cpp: (WebCore::startOfParagraph): Use moved/renamed function. Removed FIXME. The problem causing 5027702 is now squarely in first/lastInSpecialElement (WebCore::endOfParagraph): Ditto. 2009-11-04 Enrica Casucci Reviewed by Adele Peterson. Hang in Mail on attempting to change indent level. https://bugs.webkit.org/show_bug.cgi?id=31127 The hang was caused by an infinite loop inside outdentRegion. The code did not account for the fact that, when a list item contains multiple paragraphs, outdent moves all paragraphs at once, invalidating some of the positions we keep track of in the loop. Some code refactoring has also been done to minimize duplicated code. Test: editing/execCommand/outdent-multiparagraph-list.html * editing/IndentOutdentCommand.cpp: (WebCore::IndentOutdentCommand::indentRegion): Moved code in common with outdentRegion to doApply. (WebCore::IndentOutdentCommand::outdentRegion): Fixed endless loop. (WebCore::IndentOutdentCommand::doApply): Some code refactoring. * editing/IndentOutdentCommand.h: Added VisiblePosition parameters to indentRegion and outdentRegion. 2009-11-04 Alpha Lam Reviewed by Eric Carlson. Volume slider doesn't have a thumb https://bugs.webkit.org/show_bug.cgi?id=31135 Fixed an incorrect if statement that prevents volume slider being updated. The statement checks if the slider value equals to the current volume value of the media control to avoid updating the volume slider. Updating the volume slider control shouldn't be within this condition because we explicitly set them to be equals during creation of the controls and also when mouse events are received on the volume control. No new tests because existing code breaks: LayoutTests/media/video-volume-slider.html It should now start passing on Chromium. * rendering/MediaControlElements.cpp: (WebCore::MediaControlVolumeSliderElement::update): Update the volume slider regardless of the current volume value of the media control. 2009-11-04 Jenn Braithwaite Reviewed by David Levin. Need to properly disable applicationCache at runtime https://bugs.webkit.org/show_bug.cgi?id=30417 Adding applicationCacheEnabled bit to V8 RuntimeEnabledFeatures. No new exposed functionality, so no new tests. * bindings/v8/RuntimeEnabledFeatures.cpp: * bindings/v8/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled): (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled): * bindings/v8/custom/V8CustomBinding.h: * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::ACCESSOR_RUNTIME_ENABLER): * page/DOMWindow.idl: 2009-11-04 Alexey Proskuryakov Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=31143 Assertion failure in CredentialStorage::set() when proxy credentials are being set No test, cannot test proxy behavior. * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::set): Account for the possibility of null url. Release mode changes are likely inconsequential - e.g. we used to add "://" to origin set, which is weird, but safe. 2009-11-04 Patrick Mueller Reviewed by Timothy Hatcher. Web Inspector: Leftover Breakpoints in the Sidebar Pane https://bugs.webkit.org/show_bug.cgi?id=30659 No new tests. * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype.addScript): 2009-11-04 Jocelyn Turcotte Reviewed by Timothy Hatcher. WebInspector: Use a different method to identify the webkit port in InspectorBackent::platform(). This corrects the inspector expected behavior with Qt on Windows. https://bugs.webkit.org/show_bug.cgi?id=31116 * inspector/InspectorBackend.cpp: (WebCore::InspectorBackend::platform): (WebCore::InspectorBackend::port): * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/front-end/InspectorControllerStub.js: (.WebInspector.InspectorControllerStub.prototype.port): * inspector/front-end/inspector.css: * inspector/front-end/inspector.js: (WebInspector.loaded): (WebInspector.toolbarDragStart): 2009-11-04 Benjamin Otte Reviewed by Gustavo Noronha. Update Cairo requirement to 1.6. Also remove all conditional code and workarounds for older versions of Cairo. In particular, gain image quality by removing the use of CAIRO_FILTER_NEAREST when rendering images and use the default bilinear filter instead. https://bugs.webkit.org/show_bug.cgi?id=19266 * platform/graphics/cairo/GraphicsContextCairo.cpp: (WebCore::GraphicsContext::clipOut): * platform/graphics/cairo/ImageCairo.cpp: (WebCore::BitmapImage::draw): (WebCore::BitmapImage::drawPattern): * platform/graphics/cairo/PathCairo.cpp: (WebCore::Path::isEmpty): (WebCore::Path::boundingRect): * platform/gtk/RenderThemeGtk.cpp: (WebCore::paintMozWidget): 2009-11-04 Kevin Ollivier wx build fix. Restore removed string conversion after cleanup. * platform/graphics/wx/FontPlatformDataWx.cpp: (WebCore::FontPlatformData::computeHash): 2009-11-04 Chris Fleizach Reviewed by Beth Dakin. Need to implement ARIA role="combobox" https://bugs.webkit.org/show_bug.cgi?id=31096 Test: accessibility/aria-combobox.html * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isComboBox): (WebCore::AccessibilityObject::isExpanded): (WebCore::AccessibilityObject::expandObject): (WebCore::AccessibilityObject::increment): (WebCore::AccessibilityObject::decrement): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::expandObject): (WebCore::AccessibilityRenderObject::isExpanded): (WebCore::createARIARoleMap): * accessibility/AccessibilityRenderObject.h: * accessibility/mac/AccessibilityObjectWrapper.mm: (-[AccessibilityObjectWrapper accessibilityAttributeNames]): (-[AccessibilityObjectWrapper accessibilityAttributeValue:]): (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]): * html/HTMLAttributeNames.in: 2009-11-04 Kelly Norton Reviewed by Pavel Feldman. Fixes naming inconsistencies in TimelineRecordFactory. https://bugs.webkit.org/show_bug.cgi?id=31132 * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::willPaint): (WebCore::InspectorTimelineAgent::willChangeXHRReadyState): (WebCore::InspectorTimelineAgent::willLoadXHR): (WebCore::InspectorTimelineAgent::willEvaluateScript): (WebCore::InspectorTimelineAgent::willSendResourceRequest): (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): (WebCore::InspectorTimelineAgent::didFinishLoadingResource): * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createXHRReadyStateChangeRecord): (WebCore::TimelineRecordFactory::createXHRLoadRecord): (WebCore::TimelineRecordFactory::createEvaluateScriptRecord): (WebCore::TimelineRecordFactory::createMarkTimelineRecord): (WebCore::TimelineRecordFactory::createResourceSendRequestRecord): (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord): (WebCore::TimelineRecordFactory::createResourceFinishRecord): (WebCore::TimelineRecordFactory::createPaintRecord): * inspector/TimelineRecordFactory.h: 2009-11-04 Eric Z. Ayers Reviewed by Pavel Feldman. Followon to bug 31080, which protects Timeline instrumentation in the case where InspectorTimelineAgent is enabled or disabled during an event dispatch. https://bugs.webkit.org/show_bug.cgi?id=31121 * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::evaluate): * dom/Document.cpp: (WebCore::Document::recalcStyle): * dom/Node.cpp: (WebCore::Node::dispatchGenericEvent): * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write): * page/DOMWindow.cpp: (WebCore::DOMWindow::inspectorTimelineAgent): (WebCore::DOMWindow::dispatchEvent): * page/DOMWindow.h: * page/FrameView.cpp: (WebCore::FrameView::layout): (WebCore::FrameView::paintContents): * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::callReadyStateChangeListener): 2009-11-04 Jeremy Orlow Revert 50519 while I work out what went wrong. * storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::create): (WebCore::LocalStorageThread::LocalStorageThread): (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::localStorageThreadStart): (WebCore::LocalStorageThread::localStorageThread): (WebCore::LocalStorageThread::scheduleImport): (WebCore::LocalStorageThread::scheduleSync): (WebCore::LocalStorageThread::terminate): (WebCore::LocalStorageThread::performTerminate): * storage/LocalStorageThread.h: * storage/StorageSyncManager.cpp: (WebCore::StorageSyncManager::StorageSyncManager): (WebCore::StorageSyncManager::~StorageSyncManager): (WebCore::StorageSyncManager::scheduleImport): (WebCore::StorageSyncManager::scheduleSync): * storage/StorageSyncManager.h: 2009-11-04 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Add basic support for resource events and marks. Couple of drive-by fixes. Enabling the panel! https://bugs.webkit.org/show_bug.cgi?id=31130 * English.lproj/localizedStrings.js: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype._formatRecord): (WebInspector.TimelinePanel.prototype._getRecordDetails): (WebInspector.TimelinePanel.prototype.reset): (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClicked): (WebInspector.TimelineRecordTreeElement.prototype.onattach): * inspector/front-end/inspector.js: (WebInspector._createPanels): 2009-11-03 Jeremy Orlow Reviewed by Darin Fisher. Simplify LocalStorageThread https://bugs.webkit.org/show_bug.cgi?id=30935 On LocalStoragethread: Remove reference counting. Get rid of locking. Make some of the method names a bit more clear. Assert proper thread usage. Join rather than detaching the thread and doing an ad-hoc form of join. Avoid touching variables on the background thread when simple to do so. Also create a generic scheduleTask function rather than one for each task. No behavior should have changed. * storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::create): (WebCore::LocalStorageThread::LocalStorageThread): (WebCore::LocalStorageThread::~LocalStorageThread): (WebCore::LocalStorageThread::start): (WebCore::LocalStorageThread::threadEntryPointCallback): (WebCore::LocalStorageThread::threadEntryPoint): (WebCore::LocalStorageThread::scheduleTask): (WebCore::LocalStorageThread::terminate): (WebCore::LocalStorageThread::performTerminate): * storage/LocalStorageThread.h: * storage/StorageSyncManager.cpp: (WebCore::StorageSyncManager::StorageSyncManager): (WebCore::StorageSyncManager::~StorageSyncManager): (WebCore::StorageSyncManager::scheduleImport): (WebCore::StorageSyncManager::scheduleSync): * storage/StorageSyncManager.h: 2009-11-04 Vadim Zeitlin Reviewed by Eric Seidel. [wx] Small cleanup: avoid unnecessary wxString::mb_str() calls. * platform/graphics/wx/FontPlatformDataWx.cpp: (WebCore::FontPlatformData::computeHash): 2009-11-04 Kelly Norton Reviewed by Pavel Feldman. Adds lightweight network resources to InspectorTimelineAgent. https://bugs.webkit.org/show_bug.cgi?id=31065 * inspector/InspectorController.cpp: (WebCore::InspectorController::willSendRequest): (WebCore::InspectorController::didReceiveResponse): (WebCore::InspectorController::didFinishLoading): (WebCore::InspectorController::didFailLoading): * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::willSendResourceRequest): (WebCore::InspectorTimelineAgent::didReceiveResourceResponse): (WebCore::InspectorTimelineAgent::didFinishLoadingResource): * inspector/InspectorTimelineAgent.h: (WebCore::): * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord): (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord): (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord): * inspector/TimelineRecordFactory.h: * inspector/front-end/TimelineAgent.js: 2009-11-04 Yael Aharon Reviewed by Tor Arne Vestbø. [Qt] ASSERT failure when receiving 401 HTTP Authentication response. https://bugs.webkit.org/show_bug.cgi?id=31077 Allow sending the response body under the same conditions that we allow it to finish without reporting an error. * platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): 2009-11-04 Adam Roben Sort WebCore.base.exp Rubber-stamped by Dan Bernstein. * WebCore.base.exp: Sorted. 2009-11-04 Csaba Osztrogonác Unreviewed rollout. Revert r50496 because it broke all layout tests on QtBuildBot. * WebCore.pro: * platform/graphics/qt/FontCacheQt.cpp: (WebCore::fontCache): (WebCore::FontCache::FontCache): (WebCore::FontCache::getTraitsInFamily): (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): (WebCore::FontPlatformDataCacheKey::): (WebCore::FontPlatformDataCacheKey::operator==): (WebCore::FontPlatformDataCacheKey::hash): (WebCore::FontPlatformDataCacheKey::computeHash): (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): (WebCore::FontPlatformDataCacheKeyHash::hash): (WebCore::FontPlatformDataCacheKeyHash::equal): (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): (WebCore::FontCache::getCachedFontPlatformData): (WebCore::FontCache::getCachedFontData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::FontCache::releaseFontData): (WebCore::FontCache::purgeInactiveFontData): (WebCore::FontCache::addClient): (WebCore::FontCache::removeClient): (WebCore::FontCache::invalidate): * platform/graphics/qt/FontFallbackListQt.cpp: Added. (WebCore::FontFallbackList::FontFallbackList): (WebCore::FontFallbackList::invalidate): (WebCore::FontFallbackList::releaseFontData): (WebCore::FontFallbackList::determinePitch): (WebCore::FontFallbackList::fontDataAt): (WebCore::FontFallbackList::fontDataForCharacters): (WebCore::FontFallbackList::setPlatformFont): * platform/graphics/qt/FontPlatformData.h: (WebCore::FontPlatformData::pixelSize): * platform/graphics/qt/FontPlatformDataQt.cpp: (WebCore::FontPlatformData::FontPlatformData): 2009-11-04 Joanmarie Diggs Reviewed by Jan Alonzo. https://bugs.webkit.org/show_bug.cgi?id=31044 [Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (atkParentOfWebView): (webkit_accessible_get_index_in_parent): (webkit_accessible_get_parent): 2009-11-04 Dominik Röttsches Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=15914 [GTK] Implement Unicode functionality using GLib Initial version of this patch by Jürg Billeter and Naiem Shaik. Patch 2/4 - Moving TextCodecs to GLib Added probing for a hard-coded lists of text encodings. The basis of this list is taken from the encodings supported by iconv, then extended by e.g. tis-620, windows-1251, euc-kr, windows-1253 and a number of Chinese ones. Probing is necessary with the current design of text codecs as iconv/GLib do not support enumerating available encodings. * GNUmakefile.am: * platform/ThreadGlobalData.cpp: (WebCore::ThreadGlobalData::ThreadGlobalData): (WebCore::ThreadGlobalData::~ThreadGlobalData): * platform/text/TextEncoding.cpp: (WebCore::TextEncoding::encode): * platform/text/TextEncodingRegistry.cpp: (WebCore::buildBaseTextCodecMaps): (WebCore::extendTextCodecMaps): * platform/text/gtk/TextCodecGtk.cpp: Added. (WebCore::): (WebCore::newTextCodecGtk): (WebCore::TextCodecGtk::isEncodingAvailable): (WebCore::TextCodecGtk::registerEncodingNames): (WebCore::TextCodecGtk::registerCodecs): (WebCore::TextCodecGtk::registerBaseEncodingNames): (WebCore::TextCodecGtk::registerBaseCodecs): (WebCore::TextCodecGtk::registerExtendedEncodingNames): (WebCore::TextCodecGtk::registerExtendedCodecs): (WebCore::TextCodecGtk::TextCodecGtk): (WebCore::TextCodecGtk::~TextCodecGtk): (WebCore::TextCodecGtk::releaseIConv): (WebCore::TextCodecGtk::createIConvDecoder): (WebCore::TextCodecGtk::createIConvEncoder): (WebCore::TextCodecGtk::decode): (WebCore::TextCodecGtk::encode): * platform/text/gtk/TextCodecGtk.h: Added. 2009-11-04 Martin Robinson Reviewed by Jan Alonzo. [GTK] Enable DOM clipboard and drag-and-drop access https://bugs.webkit.org/show_bug.cgi?id=30623 Unify redudant methods which will always return the same value. * platform/gtk/PasteboardGtk.cpp: (WebCore::Pasteboard::writeSelection): * platform/gtk/PasteboardHelper.h: 2009-11-04 Joanmarie Diggs Reviewed by Jan Alonzo. https://bugs.webkit.org/show_bug.cgi?id=31035 [GTK] some accessibility tests hitting assertion in debug builds Removes the assertions in webkit_accessible_ref_child; adds sanity checks. Any app or AT can attempt to ref a child at a bogus index. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (webkit_accessible_ref_child): 2009-11-04 Benjamin Otte Reviewed by Jan Alonzo. [gtk] Use gst_element_class_set_details_simple() Cosmetic change, just code simplification * platform/graphics/gtk/VideoSinkGStreamer.cpp: (webkit_video_sink_base_init): 2009-11-04 Kelly Norton Reviewed by Timothy Hatcher. Adds paint rectangle information to TimelineAgent's didPaint callback. https://bugs.webkit.org/show_bug.cgi?id=31087 * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::willPaint): * inspector/InspectorTimelineAgent.h: * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createPaintTimelineRecord): * inspector/TimelineRecordFactory.h: * page/FrameView.cpp: (WebCore::FrameView::paintContents): 2009-11-04 Jaime Yap Reviewed by Timothy Hatcher. This patch adds API to the console object for annotating the inspector timeline. This allows developers to mark logical checkpoints in their apps and have them overlaid in the event record tree. tests updated: LayoutTests/fast/dom/Window/window-properties.html https://bugs.webkit.org/show_bug.cgi?id=31082 * inspector/InspectorController.cpp: (WebCore::InspectorController::markTimeline): * inspector/InspectorController.h: * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::didMarkTimeline): * inspector/InspectorTimelineAgent.h: (WebCore::): * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createMarkTimelineRecord): * inspector/TimelineRecordFactory.h: * inspector/front-end/TimelineAgent.js: * page/Console.cpp: (WebCore::Console::markTimeline): * page/Console.h: * page/Console.idl: 2009-11-03 Simon Hausmann Unreviewed build fix for WebInspector with Qt build. Simply re-generate the Qt resource file by running WebKitTools/Scripts/generate-qt-inspector-resource * inspector/front-end/WebKit.qrc: 2009-11-02 Benjamin Poulain Reviewed by Simon Hausmann. [Qt] Handle fonts like the other ports Remove FontFallbackListQt and rely on the common FontFallbackList to handle the fonts. FontCache and FontPlatformData have been updated to work with the common FontFallbackList. In the previous implementation, FontPlatformDataCacheKey was a clone of FontPlatformData with the hashing capabilities added in order to use it as a key in the cache's hashmap. FontPlatformData has been modified to handle the hashing function directly so the data are not copied twice in memory. FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of code from FontCache::getFontData() and FontFallbackList::fontDataAt(). The behavior is similar except currFamily->family().length() was not tested and the fallback fonts selector were not used. https://bugs.webkit.org/show_bug.cgi?id=29856 Test: svg/text/text-font-invalid.html * WebCore.pro: * platform/graphics/qt/FontCacheQt.cpp: (WebCore::FontCache::platformInit): (WebCore::FontCache::getFontDataForCharacters): (WebCore::FontCache::getSimilarFontPlatformData): (WebCore::FontCache::getLastResortFallbackFont): (WebCore::FontCache::getTraitsInFamily): (WebCore::FontCache::createFontPlatformData): * platform/graphics/qt/FontFallbackListQt.cpp: Removed. We now use the implementation from FontFallbackList.cpp * platform/graphics/qt/FontPlatformData.h: Add hashing capabilities to be able to use the data with the FontCache. This was previously done in FontCacheQt.cpp (WebCore::FontPlatformData::FontPlatformData): Added a boolean to identify deleted value in the hash table. (WebCore::FontPlatformData::isHashTableDeletedValue): (WebCore::FontPlatformData::hash): (WebCore::FontPlatformData::operator==): * platform/graphics/qt/FontPlatformDataQt.cpp: (WebCore::FontPlatformData::FontPlatformData): 2009-11-03 Dan Bernstein Leopard build fix * platform/network/mac/AuthenticationMac.mm: (WebCore::mac): (WebCore::core): 2009-11-03 Dan Bernstein Reviewed by Alexey Proskuryakov. Fix an assertion failure in core(NSURLProtectionSpace *) by handling NTLM authentication in AuthenticationMac * platform/network/mac/AuthenticationMac.mm: 2009-11-03 Eric Z. Ayers Reviewed by Timothy Hatcher. Fixes a problem where the timeline instrumentation crashes if timeline profiling is enabled or disabled in the middle of an event dispatch. https://bugs.webkit.org/show_bug.cgi?id=31080 Test: inspector/timeline-trivial.html * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): (WebCore::ScriptController::processingUserGestureEvent): * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord): * page/DOMTimer.cpp: (WebCore::DOMTimer::fired): 2009-11-03 Dan Bernstein Reviewed by Dave Hyatt. Allow a frame to go back to copy-on-scroll when it ceases being overlapped The code was not testing slow-scrolling frames for overlappedness, thinking the answer would not matter. That is not the case if the only reason for the slow-scrolling is being overlapped. * page/FrameView.cpp: (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): Added. Returns whether there is any reason besides being overlapped that the frame would need to fully repaint on scroll. * page/FrameView.h: * rendering/RenderWidget.cpp: (WebCore::RenderWidget::paint): Use useSlowRepaintsIfNotOverlapped(). 2009-11-03 Dmitry Titov Not reviewed, Qt build fix. Need to use right capitalization for include file. * page/Navigator.cpp: 2009-11-03 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Migrate from top bar filters to check boxes in Timeline. https://bugs.webkit.org/show_bug.cgi?id=31081 * inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel.prototype.showCategory): (WebInspector.AbstractTimelinePanel.prototype.hideCategory): (WebInspector.AbstractTimelinePanel.prototype.filter): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelineCategoryTreeElement.prototype.onattach): (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClick): (WebInspector.TimelineCategoryGraph.prototype.clearChunks): (WebInspector.TimelineCategoryGraph.prototype.set dimmed): * inspector/front-end/inspector.css: 2009-11-03 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: clear overview on Clear action and panel reset. https://bugs.webkit.org/show_bug.cgi?id=31078 * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._getRecordDetails): (WebInspector.TimelinePanel.prototype.reset): 2009-11-03 Yaar Schnitman Reviewed by Dimitri Glazkov. Imported action and rules python files that WebCore.gyp depends on. These files used to live in chromium.org and deal mostly with auto-generation of code by wrapping existing webkit perl scripts. https://bugs.webkit.org/show_bug.cgi?id=31071 * WebCore.gyp/WebCore.gyp: Fixed paths in actions and rules. * WebCore.gyp/scripts/action_csspropertynames.py: Added. * WebCore.gyp/scripts/action_cssvaluekeywords.py: Added. * WebCore.gyp/scripts/action_makenames.py: Added. * WebCore.gyp/scripts/action_maketokenizer.py: Added. * WebCore.gyp/scripts/action_useragentstylesheets.py: Added. * WebCore.gyp/scripts/rule_binding.py: Added. * WebCore.gyp/scripts/rule_bison.py: Added. * WebCore.gyp/scripts/rule_gperf.py: Added. 2009-11-03 Bradley Green Reviewed by Dmitry Titov. Implement window.navigator.registerProtocolHandler in webkit, https://bugs.webkit.org/b/29651 Also implemented its sister API window.navigator.registerContentHandler. These methods are as described in the HTML5 specification which can be found here, http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registercontenthandler As specified in the document, the behavior of the browser is determined by the current registered handler. The state of a registered handler can change at any time, with the user clearing a registered handler, registering a different page as handler, or deferring the hander to the OS. If webkit was to track the state of the currently registered handlers, it would need more APIs and complexity to keep in sync with user actions reported to webkit from the UA. For simplicity, the state of protocol handlers should be kept isolated from webkit and webkit only notifies the UA that a page has made the call. The UA is then responsible for correctly handling the registerProtocolHandler call and the redirects which result from registration. We do however follow the specification in insuring that the reserved schemes and mimeTypes are not passed to the UA as custom handler registration tests. We also insure that the "%s" token is present as required by the specification. Updated test expectations for window.clientInformation and navigator objects. Tests: fast/dom/registerContentHandler.html fast/dom/registerProtocolHandler.html * page/Chrome.cpp: (WebCore::Chrome::registerProtocolHandler): (WebCore::Chrome::registerContentHandler): * page/Chrome.h: * page/ChromeClient.h: (WebCore::ChromeClient::registerProtocolHandler): (WebCore::ChromeClient::registerContentHandler): * page/Navigator.cpp: (WebCore::verifyCustomHandlerURL): (WebCore::verifyProtocolHandlerScheme): (WebCore::Navigator::registerProtocolHandler): (WebCore::verifyProtocolHandlerMimeType): (WebCore::Navigator::registerContentHandler): * page/Navigator.h: * page/Navigator.idl: 2009-11-03 Brady Eidson Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=31079 - Remove #include "Page.h" from Document.h No new tests. (No change in functionality) * dom/Document.cpp: (WebCore::Document::inspectorTimelineAgent): Moved from Document.h * dom/Document.h: Include "Page.h" directly: * html/HTMLVideoElement.cpp: * loader/RedirectScheduler.cpp: * page/History.cpp: * rendering/MediaControlElements.cpp: * storage/StorageAreaImpl.cpp: 2009-11-03 Keishi Hattori Reviewed by Timothy Hatcher. Web Inspector: hover over JS "things" in source and see their values https://bugs.webkit.org/show_bug.cgi?id=30913 * inspector/front-end/SourceFrame.js: 2009-11-03 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: update timeline content boundaries on timer. https://bugs.webkit.org/show_bug.cgi?id=31072 * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype.refresh): (WebInspector.TimelinePanel.prototype._setWindowPosition): 2009-11-03 Dan Bernstein Reviewed by Anders Carlsson and Beth Dakin. https://bugs.webkit.org/show_bug.cgi?id=31070 Fix Crashes at RenderText::RenderText() Fix Crashes at RenderWidget::destroy() Tests: plugins/attach-during-destroy.html plugins/destroy-reentry.html These crashes were caused by plug-in code running during detach(), causing re-entry into RenderWidget::destroy() in one case and a call into attach() in the other. The fix is to prevent plug-in code from being called at certain unsafe times (during attach(), detach(), and recalcStyle()) by deferring changes to the widget hierarchy. * dom/Document.cpp: (WebCore::Document::recalcStyle): Suspend widget hierarchy updates during style recalculation. * dom/Element.cpp: (WebCore::Element::attach): Suspend widget hierarchy updates during attach(). (WebCore::Element::detach): Suspend widget hierarchy updates during detach(). * rendering/RenderWidget.cpp: (WebCore::widgetNewParentMap): Returns a static map of pending changes to the widget hierarchy. (WebCore::RenderWidget::suspendWidgetHierarchyUpdates): Increments the suspend count. (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): Decrements the suspend count. If the count is going to be zero, updates the widget hierarchy by executing the pending changes stored in the map. (WebCore::moveWidgetToParentSoon): Updates the widget hierarchy immediately or makes or updates an entry in the map, depending on whether updates are suspended. (WebCore::RenderWidget::destroy): Removed earlier bandaid fix for . (WebCore::RenderWidget::setWidgetGeometry): Assert that widget updates are not suspended, because this function updates the widget’s bounds, which can result in arbitrary native and JavaScript code execution. I think this assertion is true thanks to some deferred- update mechanisms that have already been deployed in other places in the code. (WebCore::RenderWidget::setWidget): Call moveWidgetToParentSoon instead of changing the widget hierarchy directly. * rendering/RenderWidget.h: Declared suspendWidgetHierarchyUpdates() and resumeWidgetHierarchyUpdates(). 2009-11-03 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: only show timeline records that contribute to the current window. https://bugs.webkit.org/show_bug.cgi?id=31069 * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype.refresh): (WebInspector.TimelineGraph): (WebInspector.TimelineGraph.prototype.refresh): 2009-11-03 Patrick Mueller Reviewed by Timothy Hatcher. Watch expression editor should stay open after Add button was clicked https://bugs.webkit.org/show_bug.cgi?id=31049 No new tests, was a regression, use existing manual test. * inspector/front-end/WatchExpressionsSidebarPane.js: (WebInspector.WatchExpressionsSection.prototype.update): (WebInspector.WatchExpressionsSection.prototype.addExpression): 2009-11-03 Evan Martin Reviewed by Darin Adler. Fix an off-by-one in the CSS lexer that causes memory corruption in hard-to-trigger circumstances. https://bugs.webkit.org/show_bug.cgi?id=30827 Test: fast/css/end-of-buffer-crash.html * css/maketokenizer: Add comments, fix off-by-one. 2009-11-02 Darin Adler Reviewed by Dan Bernstein. Crash due to double-destroy related to CSS run-in property https://bugs.webkit.org/show_bug.cgi?id=31034 rdar://problem/7328458 Test: fast/css/run-in-crash.html * rendering/RenderBlock.cpp: (WebCore::RenderBlock::destroy): Reorder destruction so the continuation is destroyed after anonymous children. See comment in the code for more details of why this is right. * rendering/RenderInline.cpp: (WebCore::RenderInline::destroy): Ditto. 2009-11-03 Alexander Pavlov Reviewed by Pavel Feldman. Fix exception in ElementsPanel.js when moving pointer out of crumbs and window There might be no new node under mouse if the pointer is moved out of the window in which case we get an exception. https://bugs.webkit.org/show_bug.cgi?id=31061 * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs): 2009-11-03 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for the dom directory of WebCore https://bugs.webkit.org/show_bug.cgi?id=31053 Inherits the following classes from Noncopyable because these are instantiated by 'new' and these are no need to be copyable: class EventNames - 'new' call: WebCore/platform/ThreadGlobalData.cpp:73 struct PerformTaskContext - 'new' call: WebCore/dom/Document.cpp:4581 class EventData - 'new' call: WebCore/dom/MessagePortChannel.cpp:38 struct NodeListsNodeData - 'new' call: WebCore/dom/NodeRareData.h:51 struct EventTargetData - 'new' call: WebCore/dom/NodeRareData.h:100 class NodeRareData - 'new' call: WebCore/dom/Node.cpp:552 Inherits QualifiedName class from FastAllocBase because it is instantiated by 'new' in WebCore/editing/markup.cpp:319 * dom/Document.cpp: * dom/EventNames.h: * dom/EventTarget.h: * dom/MessagePortChannel.h: * dom/NodeRareData.h: * dom/QualifiedName.h: 2009-11-03 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Implement timeline summary panel. https://bugs.webkit.org/show_bug.cgi?id=31064 * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._createOverview): (WebInspector.TimelinePanel.prototype.refresh): (WebInspector.TimelineCategoryGraph): (WebInspector.TimelineCategoryGraph.prototype.get graphElement): (WebInspector.TimelineCategoryGraph.prototype.addChunk): (WebInspector.TimelineCategoryGraph.prototype.clearChunks): (WebInspector.TimelineGraph.prototype.refresh): * inspector/front-end/inspector.css: 2009-11-03 Alexander Pavlov Reviewed by Timothy Hatcher. Toggle off 'Search for node' when the Inspector window is closing Searching for node should be toggled off when the Inspector window is closed, in a platform-independent manner. https://bugs.webkit.org/show_bug.cgi?id=31059 * inspector/InspectorController.cpp: (WebCore::InspectorController::setWindowVisible): 2009-11-03 Mikhail Naganov Reviewed by Timothy Hatcher. Prepare for heap profiles upstreaming: - pass profile type id from InspectorController; - this makes WebInspector.CPUProfile redundant---removed; - support multiple profile types when populating profiles. https://bugs.webkit.org/show_bug.cgi?id=31052 * inspector/InspectorController.cpp: (WebCore::InspectorController::createProfileHeader): * inspector/front-end/ProfileView.js: (WebInspector.CPUProfileView.profileCallback): (WebInspector.CPUProfileView): (WebInspector.CPUProfileView.prototype._sortData): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.addProfileHeader): * inspector/front-end/inspector.js: (WebInspector.addProfileHeader): 2009-11-03 Dan Kegel Reviewed by Dimitri Glazkov. UMR in WebCore::AccessibilityRenderObject::children(); m_childrenDirty uninitialized in constructor https://bugs.webkit.org/show_bug.cgi?id=31063 * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::AccessibilityRenderObject): 2009-11-03 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Implement Timeline Window, wire it to the bottom timeline. https://bugs.webkit.org/show_bug.cgi?id=31056 * English.lproj/localizedStrings.js: * inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel.prototype.get items): (WebInspector.AbstractTimelinePanel.prototype.createInterface): (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded): (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition): (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems): (WebInspector.AbstractTimelinePanel.prototype.refresh): (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition): (WebInspector.AbstractTimelinePanel.prototype.addExtraDivider): (WebInspector.TimelineGrid): (WebInspector.TimelineGrid.prototype.get itemsGraphsElement): (WebInspector.TimelineGrid.prototype.updateDividers): (WebInspector.TimelineGrid.prototype.addExtraDivider): (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel): (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded): (WebInspector.ResourcesPanel.prototype.get _resources): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype.get categories): (WebInspector.TimelinePanel.prototype._formatRecord): (WebInspector.TimelinePanel.prototype.reset): (WebInspector.TimelinePanel.prototype._createOverview): (WebInspector.TimelinePanel.prototype.setSidebarWidth): (WebInspector.TimelinePanel.prototype.updateMainViewWidth): (WebInspector.TimelinePanel.prototype.updateGraphDividersIfNeeded): (WebInspector.TimelinePanel.prototype.refresh): (WebInspector.TimelinePanel.prototype._resizeWindow): (WebInspector.TimelinePanel.prototype._windowResizeDragging): (WebInspector.TimelinePanel.prototype._dragWindow): (WebInspector.TimelinePanel.prototype._windowDragging): (WebInspector.TimelinePanel.prototype._resizeWindowLeft): (WebInspector.TimelinePanel.prototype._resizeWindowRight): (WebInspector.TimelinePanel.prototype._setWindowPosition): (WebInspector.TimelinePanel.prototype._endWindowDragging): (WebInspector.TimelineCategoryTreeElement): (WebInspector.TimelineCategoryTreeElement.prototype.onattach): (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages): (WebInspector.TimelineCalculator.prototype.get minimumBoundary): (WebInspector.TimelineCalculator.prototype.get maximumBoundary): (WebInspector.TimelineCalculator.prototype.reset): (WebInspector.TimelineCalculator.prototype.updateBoundaries): (WebInspector.TimelineCalculator.prototype.formatValue): * inspector/front-end/inspector.css: 2009-11-03 Simon Hausmann Reviewed by Tor Arne Vestbø. Make QWebPluginDatabase private API for now. https://bugs.webkit.org/show_bug.cgi?id=30775 * WebCore.pro: 2009-11-03 Simon Hausmann Reviewed by Tor Arne Vestbø. Extended the conversion of the WebCore ResourceRequest to the QNetworkRequest with a mandatory originating object argument, which is meant to be the QWebFrame the request belongs to. https://bugs.webkit.org/show_bug.cgi?id=29975 * platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): (WebCore::QNetworkReplyHandler::sendResponseIfNeeded): (WebCore::QNetworkReplyHandler::start): * platform/network/qt/ResourceRequest.h: * platform/network/qt/ResourceRequestQt.cpp: (WebCore::ResourceRequest::toNetworkRequest): 2009-11-03 Keishi Hattori Reviewed by Pavel Feldman. Web Inspector: monitorEvent should be monitorEvents https://bugs.webkit.org/show_bug.cgi?id=31042 * inspector/front-end/InjectedScript.js: (InjectedScript._ensureCommandLineAPIInstalled): 2009-11-02 Tor Arne Vestbø Rubber-stamped by Antti Koivisto. [Qt] Build fix for Windows CE * plugins/PluginDatabase.cpp: 2009-11-02 Chris Fleizach Reviewed by David Levin. fix accessibility webkit-style-check errors https://bugs.webkit.org/show_bug.cgi?id=29672 * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::getOrCreate): (WebCore::AXObjectCache::remove): (WebCore::AXObjectCache::platformGenerateAXID): (WebCore::AXObjectCache::removeAXID): * accessibility/AXObjectCache.h: (WebCore::AXObjectCache::enableAccessibility): (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility): (WebCore::AXObjectCache::accessibilityEnabled): (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled): (WebCore::AXObjectCache::isIDinUse): (WebCore::AXObjectCache::objectFromAXID): (WebCore::AXObjectCache::): (WebCore::AXObjectCache::handleActiveDescendantChanged): (WebCore::AXObjectCache::handleAriaRoleChanged): (WebCore::AXObjectCache::detachWrapper): (WebCore::AXObjectCache::attachWrapper): (WebCore::AXObjectCache::selectedChildrenChanged): (WebCore::AXObjectCache::postNotification): (WebCore::AXObjectCache::postPlatformNotification): (WebCore::AXObjectCache::handleFocusedUIElementChanged): (WebCore::AXObjectCache::handleScrolledToAnchor): * accessibility/AccessibilityARIAGrid.cpp: (WebCore::AccessibilityARIAGrid::cellForColumnAndRow): * accessibility/AccessibilityAllInOne.cpp: * accessibility/AccessibilityImageMapLink.cpp: * accessibility/AccessibilityList.h: (WebCore::AccessibilityList::isList): * accessibility/AccessibilityListBox.cpp: * accessibility/AccessibilityListBox.h: (WebCore::AccessibilityListBox::isListBox): * accessibility/AccessibilityListBoxOption.cpp: * accessibility/AccessibilityListBoxOption.h: (WebCore::AccessibilityListBoxOption::isListBoxOption): * accessibility/AccessibilityMediaControls.h: (WebCore::AccessibilityMediaControl::~AccessibilityMediaControl): (WebCore::AccessibilityMediaTimeline::~AccessibilityMediaTimeline): (WebCore::AccessibilityMediaTimeline::isMediaTimeline): (WebCore::AccessibilityMediaControlsContainer::~AccessibilityMediaControlsContainer): (WebCore::AccessibilityMediaControlsContainer::roleValue): (WebCore::AccessibilityMediaControlsContainer::accessibilityIsIgnored): (WebCore::AccessibilityMediaTimeDisplay::~AccessibilityMediaTimeDisplay): (WebCore::AccessibilityMediaTimeDisplay::roleValue): * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::parentObjectUnignored): (WebCore::AccessibilityObject::rightLineVisiblePositionRange): (WebCore::replacedNodeNeedsCharacter): (WebCore::AccessibilityObject::stringForVisiblePositionRange): (WebCore::AccessibilityObject::lengthForVisiblePositionRange): (WebCore::AccessibilityObject::actionVerb): * accessibility/AccessibilityObject.h: (WebCore::PlainTextRange::isNull): (WebCore::AccessibilityObject::isAccessibilityRenderObject): (WebCore::AccessibilityObject::isAnchor): (WebCore::AccessibilityObject::isAttachment): (WebCore::AccessibilityObject::isHeading): (WebCore::AccessibilityObject::isLink): (WebCore::AccessibilityObject::isImage): (WebCore::AccessibilityObject::isNativeImage): (WebCore::AccessibilityObject::isImageButton): (WebCore::AccessibilityObject::isPasswordField): (WebCore::AccessibilityObject::isTextControl): (WebCore::AccessibilityObject::isNativeTextControl): (WebCore::AccessibilityObject::isWebArea): (WebCore::AccessibilityObject::isCheckboxOrRadio): (WebCore::AccessibilityObject::isListBox): (WebCore::AccessibilityObject::isFileUploadButton): (WebCore::AccessibilityObject::isProgressIndicator): (WebCore::AccessibilityObject::isSlider): (WebCore::AccessibilityObject::isControl): (WebCore::AccessibilityObject::isList): (WebCore::AccessibilityObject::isDataTable): (WebCore::AccessibilityObject::isTableRow): (WebCore::AccessibilityObject::isTableColumn): (WebCore::AccessibilityObject::isTableCell): (WebCore::AccessibilityObject::isFieldset): (WebCore::AccessibilityObject::isGroup): (WebCore::AccessibilityObject::isChecked): (WebCore::AccessibilityObject::isEnabled): (WebCore::AccessibilityObject::isSelected): (WebCore::AccessibilityObject::isFocused): (WebCore::AccessibilityObject::isHovered): (WebCore::AccessibilityObject::isIndeterminate): (WebCore::AccessibilityObject::isLoaded): (WebCore::AccessibilityObject::isMultiSelect): (WebCore::AccessibilityObject::isOffScreen): (WebCore::AccessibilityObject::isPressed): (WebCore::AccessibilityObject::isReadOnly): (WebCore::AccessibilityObject::isVisited): (WebCore::AccessibilityObject::isRequired): (WebCore::AccessibilityObject::canSetFocusAttribute): (WebCore::AccessibilityObject::canSetTextRangeAttributes): (WebCore::AccessibilityObject::canSetValueAttribute): (WebCore::AccessibilityObject::hasIntValue): (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId): (WebCore::AccessibilityObject::accessibilityIsIgnored): * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::parentObjectIfExists): (WebCore::AccessibilityRenderObject::parentObject): (WebCore::AccessibilityRenderObject::isMenuRelated): (WebCore::AccessibilityRenderObject::accessibilityDescription): (WebCore::AccessibilityRenderObject::accessibilityIsIgnored): (WebCore::AccessibilityRenderObject::isFocused): (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine): (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange): (WebCore::AccessibilityRenderObject::doAXRangeForLine): (WebCore::AccessibilityRenderObject::doAXStringForRange): (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute): (WebCore::AccessibilityRenderObject::determineAccessibilityRole): (WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole): (WebCore::AccessibilityRenderObject::canSetFocusAttribute): (WebCore::AccessibilityRenderObject::canHaveChildren): (WebCore::AccessibilityRenderObject::actionVerb): (WebCore::shouldReturnTagNameAsRoleForMSAA): * accessibility/AccessibilityRenderObject.h: (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject): * accessibility/AccessibilitySlider.cpp: (WebCore::AccessibilitySlider::orientation): * accessibility/AccessibilitySlider.h: (WebCore::AccessibilitySlider::~AccessibilitySlider): (WebCore::AccessibilitySlider::roleValue): (WebCore::AccessibilitySlider::accessibilityIsIgnored): (WebCore::AccessibilitySlider::isSlider): (WebCore::AccessibilitySlider::canSetValueAttribute): (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb): (WebCore::AccessibilitySliderThumb::roleValue): (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored): (WebCore::AccessibilitySliderThumb::setParentObject): (WebCore::AccessibilitySliderThumb::parentObject): * accessibility/AccessibilityTable.cpp: (WebCore::AccessibilityTable::isTableExposableThroughAccessibility): * accessibility/AccessibilityTableColumn.cpp: * accessibility/AccessibilityTableHeaderContainer.cpp: (WebCore::AccessibilityTableHeaderContainer::addChildren): * accessibility/AccessibilityTableRow.cpp: * accessibility/mac/AccessibilityObjectWrapper.h: 2009-11-02 Darin Fisher Fixing JSC build bustage. * bindings/js/ScriptController.cpp: Added missing #include 2009-10-30 Darin Fisher Reviewed by Adam Barth. Give the FrameLoaderClient the ability to override Settings::isJavaScriptEnabled. https://bugs.webkit.org/show_bug.cgi?id=30967 * bindings/js/ScriptController.cpp: (WebCore::ScriptController::isEnabled): * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::isEnabled): * bindings/v8/V8Proxy.cpp: Move implementation of isEnabled to ScriptController * bindings/v8/V8Proxy.h: Ditto * loader/FrameLoaderClient.h: (WebCore::FrameLoaderClient::allowJavaScript): * platform/chromium/ChromiumBridge.h: Delete uiResourceProtocol function 2009-11-02 Brady Eidson Rubberstamped by Mark Rowe. Fix a typo in Mark's last commit. * loader/archive/ArchiveFactory.cpp: (WebCore::archiveMIMETypes): 2009-11-02 Mark Rowe Rubber-stamped by Brady Eidson. Re-enable support for web archives on Windows. It was mistakenly disabled in r50438. * loader/archive/ArchiveFactory.cpp: (WebCore::archiveMIMETypes): 2009-11-02 Laszlo Gombos Reviewed by Darin Adler. PLATFORM(CF) should be set when building for Qt on Darwin https://bugs.webkit.org/show_bug.cgi?id=23671 * WebCore.pro: Add SharedBufferCF.cpp and SmartReplaceCF.cpp to the Darwin build. * loader/archive/ArchiveFactory.cpp: Change the support for legacy WebArchive from all CF platforms to Mac and Chromium CF platforms. (WebCore::archiveMIMETypes): * platform/text/AtomicString.h: Remove PLATFORM(QT) && PLATFORM(DARWIN) test as it is redundant now. * platform/text/PlatformString.h: Ditto. * platform/text/StringImpl.h: Ditto. * platform/text/cf/StringCF.cpp: Ditto. * platform/text/cf/StringImplCF.cpp: Ditto. 2009-11-02 Adam Barth Reviewed by David Levin. [Chromium] Actually declare getPluginMimeTypeFromExtension in a header. https://bugs.webkit.org/show_bug.cgi?id=30985 Our current code does not conform to our style guide. * WebCore.gyp/WebCore.gyp: * WebCore.gypi: * platform/chromium/MIMETypeRegistryChromium.cpp: * plugins/chromium/PluginDataChromium.cpp: * plugins/chromium/PluginDataChromium.h: Added. 2009-11-02 Adele Peterson Reviewed by Darin Adler. Fix for REGRESSION (Safari 4.0.2 - ToT): After navigating back to a known phishy page, the "Ignore warning" button appears highlighted (along with the "Go Back" button) This bug is timing dependent, and not always reproducible. I could not think of a way to add a layout test that would demonstrate the problem and fix. * platform/mac/ThemeMac.mm: (WebCore::checkbox): Update style. (WebCore::paintCheckbox): ditto. (WebCore::radio): ditto. (WebCore::paintRadio): ditto. (WebCore::setupButtonCell): Added convenience method. (WebCore::button): Use a separate NSButtonCell for defaultButtons and regular buttons. (WebCore::paintButton): Don't check for the key window here. Consider that when deciding if the button should have the default style in RenderTheme. * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isDefault): Only consider a button to be default if the page is active. This fixes a problem I noticed where the button would flicker crazily if the page with the default button was in the background. 2009-11-02 Dan Bernstein Reviewed by Anders Carlsson. Minor RenderWidget clean-up in preparation for deferring widget tree mutation when it is not safe. * rendering/RenderWidget.cpp: (WebCore::RenderWidget::RenderWidget): Initialize m_refCount to 1 instead of calling ref(). (WebCore::RenderWidget::destroy): Call setWidget(0) instead of repeating what it does. (WebCore::RenderWidget::setWidgetGeometry): Now returns a boolean indicating whether the bounds have changed. (WebCore::RenderWidget::setWidget): Replaced all-encompassing if statement with an early return. (WebCore::RenderWidget::updateWidgetPosition): Call setWidgetGeometry(). * rendering/RenderWidget.h: 2009-11-02 Dumitru Daniliuc Reviewed by Dimitri Glazkov. Adding Chromium's DatabaseTracker and SQLTransactionClient implementations. https://bugs.webkit.org/show_bug.cgi?id=30701 * storage/chromium: Added. * storage/chromium/DatabaseObserver.h: Added. * storage/chromium/DatabaseTrackerChromium.cpp: Added. * storage/chromium/QuotaTracker.cpp: Added. * storage/chromium/QuotaTracker.h: Added. * storage/chromium/SQLTransactionClientChromium.cpp: Added. 2009-11-02 Enrica Casucci Reviewed by Adele Peterson and Dan Bernstein. Safari crashes when calling execCommand on formatted html in special case https://bugs.webkit.org/show_bug.cgi?id=31023 Test: editing/execCommand/align-in-span.html * rendering/RenderObject.cpp: (WebCore::RenderObject::containingBlock): Modified comment on containingBlock returning NULL. * rendering/RenderText.cpp: (WebCore::RenderText::setSelectionState): Added check for NULL return from containingBlock, since it is possible when dealing with orphaned trees. 2009-11-02 Chris Marrin Reviewed by Oliver Hunt. Exception checks were being too aggressive https://bugs.webkit.org/show_bug.cgi?id=31005 Several calls in CanvasRenderingContext3D are allowed to have a null value passed, which indicated that the object is being unbound. Handle this case and the corresponding null handling in GraphicsContext3DMac. * html/canvas/CanvasRenderingContext3D.cpp: (WebCore::CanvasRenderingContext3D::bindBuffer): (WebCore::CanvasRenderingContext3D::bindFramebuffer): (WebCore::CanvasRenderingContext3D::bindRenderbuffer): (WebCore::CanvasRenderingContext3D::bindTexture): (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer): (WebCore::CanvasRenderingContext3D::framebufferTexture2D): * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::framebufferRenderbuffer): (WebCore::GraphicsContext3D::framebufferTexture2D): 2009-11-02 Patrick Mueller Reviewed by Timothy Hatcher. Each JS execution in console adds extra item into "scripts" combo https://bugs.webkit.org/show_bug.cgi?id=30212 Added manual test * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel.prototype._showScriptOrResource): * manual-tests/inspector/hidden-evals.html: Added. 2009-11-02 Kelly Norton Reviewed by Timothy Hatcher. Adds a missed case for InspectorTimeline, DOMWindow dispatch of DOM events. https://bugs.webkit.org/show_bug.cgi?id=31030 * dom/Node.cpp: (WebCore::eventHasListeners): Checks DOMWindow for listeners. (WebCore::Node::dispatchGenericEvent): 2009-11-02 Dmitry Titov Reviewed by David Levin. Remove threadsafe refcounting from tasks used with WTF::MessageQueue. https://bugs.webkit.org/show_bug.cgi?id=30612 No new tests since no new functionality. Storage, MessagePorts and Workers tests cover this. There are a lot of files but most changes are simply replace RefPtr and PassRefPtr with OwnPtr and PassOwnPtr when dealing with Tasks. ScriptExecutionContext::Task, DatabaseTask and WorkerRunLoop::Task are no longer threadsafe refcounted, but simply Noncopyable. * dom/Document.cpp: (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer): (WebCore::PerformTaskContext::PerformTaskContext): (WebCore::Document::postTask): * dom/Document.h: * dom/ScriptExecutionContext.cpp: (WebCore::ProcessMessagesSoonTask::create): * dom/ScriptExecutionContext.h: * dom/default/PlatformMessagePortChannel.cpp: (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote): * dom/default/PlatformMessagePortChannel.h: (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage): (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty): * loader/FrameLoader.cpp: (WebCore::HashChangeEventTask::create): * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::CallCacheListenerTask::create): * storage/Database.cpp: (WebCore::Database::openAndVerifyVersion): (WebCore::Database::markAsDeletedAndClose): (WebCore::Database::scheduleTransaction): (WebCore::Database::scheduleTransactionStep): (WebCore::Database::tableNames): * storage/DatabaseTask.h: (WebCore::DatabaseOpenTask::create): (WebCore::DatabaseCloseTask::create): (WebCore::DatabaseTransactionTask::create): (WebCore::DatabaseTableNamesTask::create): * storage/DatabaseThread.cpp: (WebCore::DatabaseThread::databaseThread): (WebCore::DatabaseThread::scheduleTask): (WebCore::DatabaseThread::scheduleImmediateTask): (WebCore::SameDatabasePredicate::operator()): * storage/DatabaseThread.h: * storage/LocalStorageTask.h: (WebCore::LocalStorageTask::createImport): (WebCore::LocalStorageTask::createSync): (WebCore::LocalStorageTask::createTerminate): * storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::localStorageThread): * storage/LocalStorageThread.h: * websockets/WebSocket.cpp: (WebCore::ProcessWebSocketEventTask::create): * workers/DefaultSharedWorkerRepository.cpp: (WebCore::SharedWorkerProxy::postTaskToLoader): (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext): (WebCore::SharedWorkerConnectTask::create): * workers/GenericWorkerTask.h: (WebCore::GenericWorkerTask1::create): (WebCore::GenericWorkerTask2::create): (WebCore::GenericWorkerTask3::create): (WebCore::GenericWorkerTask4::create): (WebCore::GenericWorkerTask5::create): (WebCore::GenericWorkerTask6::create): (WebCore::GenericWorkerTask7::create): (WebCore::GenericWorkerTask8::create): (WebCore::createCallbackTask): * workers/WorkerContext.cpp: (WebCore::WorkerContext::postTask): * workers/WorkerContext.h: * workers/WorkerLoaderProxy.h: * workers/WorkerMessagingProxy.cpp: (WebCore::MessageWorkerContextTask::create): (WebCore::MessageWorkerTask::create): (WebCore::WorkerExceptionTask::create): (WebCore::WorkerContextDestroyedTask::create): (WebCore::WorkerTerminateTask::create): (WebCore::WorkerThreadActivityReportTask::create): (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext): (WebCore::WorkerMessagingProxy::postTaskToLoader): (WebCore::WorkerMessagingProxy::workerThreadCreated): * workers/WorkerMessagingProxy.h: * workers/WorkerRunLoop.cpp: (WebCore::ModePredicate::operator()): (WebCore::WorkerRunLoop::runInMode): (WebCore::WorkerRunLoop::postTask): (WebCore::WorkerRunLoop::postTaskForMode): (WebCore::WorkerRunLoop::Task::create): (WebCore::WorkerRunLoop::Task::performTask): (WebCore::WorkerRunLoop::Task::Task): * workers/WorkerRunLoop.h: (WebCore::WorkerRunLoop::Task::~Task): (WebCore::WorkerRunLoop::Task::mode): 2009-11-02 Philippe Normand Reviewed by Jan Alonzo. [GTK] Failing media/video-played-reset.html https://bugs.webkit.org/show_bug.cgi?id=30589 new m_seekTime attribute to keep track of the seek position * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::currentTime): (WebCore::MediaPlayerPrivate::seek): * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: 2009-11-02 Xan Lopez Reviewed by Jan Alonzo. [GTK] Remove Referer when redirecting to non-secure site https://bugs.webkit.org/show_bug.cgi?id=31021 Remove referer from HTTP headers when redirecting to a non-secure site. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::restartedCallback): 2009-11-02 Alexey Proskuryakov Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=18539 multipart/form-data not being parsed correctly on server due to '+' in boundary string No test - the characters that the boundary is made of are not deterministic. * platform/network/FormDataBuilder.cpp: (WebCore::FormDataBuilder::generateUniqueBoundaryString): Don't ever put a '+' in boundary string, either. Removed a FIXME to bring '/' back once GMail is fixed - I don't think we'll ever want to allow non-alphanumeric characters, as they cause problems on many web sites. 2009-10-30 Alexey Proskuryakov Reviewed by Darin Adler. https://bugs.webkit.org/show_bug.cgi?id=30969 A no-prefix XPath node test should not match no-namespace elements in HTML document Test: fast/xpath/null-namespace-in-html.html * xml/XPathStep.cpp: (WebCore::XPath::nodeMatchesBasicTest): Special case non-HTML elements in HTML documents (as these are the ones that can have null namespace). 2009-11-02 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: [REGRESSION] No timeline marks on resources panel. https://bugs.webkit.org/show_bug.cgi?id=31013 * inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded): 2009-11-02 David Levin Reviewed by Dan Bernstein. Possible crash in RenderSlider::layout. https://bugs.webkit.org/show_bug.cgi?id=31016 Fix out of place line of code. Test: scrollbars/overflow-scrollbar-combinations.html This crash only seems to repro when WebKit draws the play controls, so the crash repros in chromium running this test but not WebKit nightlies which use QuickTime to draw the controls. * rendering/RenderSlider.cpp: (WebCore::RenderSlider::layout): 2009-11-02 Jocelyn Turcotte Reviewed by Tor Arne Vestbø. [Qt] Fix Qt build on Windows. https://bugs.webkit.org/show_bug.cgi?id=30905 * WebCore.pro: * platform/graphics/BitmapImage.h: * platform/graphics/qt/ImageQt.cpp: (WebCore::BitmapImage::BitmapImage): (WebCore::BitmapImage::create): 2009-11-02 Jedrzej Nowacki Reviewed by Adam Barth. QWebView crash fix. The QWebView should not crash if the stop() method is called from a function triggered by the loadProgress signal. A null pointer protection was added in the ProgressTracker::incrementProgress. New autotest was created. https://bugs.webkit.org/show_bug.cgi?id=29425 * loader/ProgressTracker.cpp: (WebCore::ProgressTracker::incrementProgress): 2009-11-02 Mikhail Naganov Reviewed by Pavel Feldman. Fix a leftover from profiles panel generalization. https://bugs.webkit.org/show_bug.cgi?id=31010 * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel.prototype.get searchableViews): 2009-11-02 Kai Koehne Reviewed by Holger Freyther. Remove implementation of ImageDecocerQt::clearFrameBufferCache. The implementation was buggy, and will visually break repeating animations anyway. https://bugs.webkit.org/show_bug.cgi?id=31009 * platform/graphics/qt/ImageDecoderQt.cpp: (WebCore::ImageDecoderQt::clearFrameBufferCache): 2009-11-02 Joanmarie Diggs Reviewed by Jan Alonzo. https://bugs.webkit.org/show_bug.cgi?id=30964 [Gtk] Implemment AtkDocument Provides access to the reported content language. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (webkit_accessible_document_get_locale): 2009-11-02 Keishi Hattori Reviewed by Timothy Hatcher. Web Inspector: Rewrite CSSSourceSyntaxHighlighter so it shares more code https://bugs.webkit.org/show_bug.cgi?id=30907 Test: inspector/css-syntax-highlight.html * inspector/front-end/ElementsTreeOutline.js: * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype.syntaxHighlightCSS): (WebInspector.SourceSyntaxHighlighter): (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk): (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine): (WebInspector.SourceSyntaxHighlighter.prototype.process): (WebInspector.SourceSyntaxHighlighter.prototype.lex): (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken): (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode): (WebInspector.CSSSourceSyntaxHighlighter): * inspector/front-end/inspectorSyntaxHighlight.css: 2009-11-02 Chris Fleizach Reviewed by Beth Dakin. Support ARIA "tab" roles https://bugs.webkit.org/show_bug.cgi?id=30842 Implement support for ARIA "tab", "tabpanel" and "tablist". As a consequence, we also needed to implement aria-selected and aria-controls. Tests: accessibility/aria-controls-with-tabs.html accessibility/aria-tab-roles.html * accessibility/AXObjectCache.cpp: * accessibility/AccessibilityObject.h: * accessibility/AccessibilityRenderObject.cpp: * accessibility/AccessibilityRenderObject.h: * accessibility/mac/AccessibilityObjectWrapper.mm: * html/HTMLAttributeNames.in: 2009-10-27 Stephen White Reviewed by Dmitry Titov. This is the WebKit-side change needed to fix canvas.getImageData() for Chromium. The unpremultiply code in Skia assumes that unpremultiplied values should be rounded, while CG does not. In addition, the fixed point inversion used by Skia introduces slight inaccuracies that make us fail this test. This change brings Chromium in line with the CG path. https://bugs.webkit.org/show_bug.cgi?id=30825 Covered by LayoutTests/fast/canvas/canvas-getImageData.html * platform/graphics/skia/ImageBufferSkia.cpp: (WebCore::getImageData): 2009-11-01 Kelly Norton Reviewed by Timothy Hatcher. Adds window event dispatches to InspectorTimelineAgent. https://bugs.webkit.org/show_bug.cgi?id=31002 * English.lproj/localizedStrings.js: * dom/Node.cpp: Updated call site to willDispatchEvent and didDispatchEvent. (WebCore::Node::dispatchGenericEvent): * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::willDispatchEvent): Renamed. (WebCore::InspectorTimelineAgent::didDispatchEvent): Renamed. * inspector/InspectorTimelineAgent.h: (WebCore::): * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createEventDispatchRecord): Renamed. * inspector/TimelineRecordFactory.h: * inspector/front-end/TimelineAgent.js: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._formatRecord): (WebInspector.TimelinePanel.prototype._getRecordDetails): * page/DOMWindow.cpp: (WebCore::DOMWindow::dispatchEvent): 2009-11-01 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Convert script tag event into a more generic script eval event in timeline. https://bugs.webkit.org/show_bug.cgi?id=30999 * bindings/js/ScriptController.cpp: (WebCore::ScriptController::evaluateInWorld): * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::evaluate): * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::scriptExecution): * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::willEvaluateScript): (WebCore::InspectorTimelineAgent::didEvaluateScript): * inspector/InspectorTimelineAgent.h: (WebCore::): * inspector/TimelineRecordFactory.cpp: (WebCore::TimelineRecordFactory::createEvaluateScriptTimelineRecord): * inspector/TimelineRecordFactory.h: * inspector/front-end/TimelineAgent.js: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._formatRecord): (WebInspector.TimelinePanel.prototype._getRecordDetails): 2009-11-01 Brian Weinstein Rubber-stamped by Mark Rowe. Fix for loop to use an size_t instead of unsigned and some spacing style fixes. * dom/Node.cpp: (WebCore::eventHasListeners): 2009-11-01 Kelly Norton Reviewed by Timothy Hatcher. Does not send DOM dispatches to the InspectorTimelineAgent if there are no event listeners. https://bugs.webkit.org/show_bug.cgi?id=30995 * dom/Node.cpp: (WebCore::eventHasListeners): (WebCore::Node::dispatchGenericEvent): * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::callReadyStateChangeListener): 2009-11-01 Roland Steiner No review (build fix). Add missing files for Ruby implementation to WebCore.vcproj (Fix build break after 50397) https://bugs.webkit.org/show_bug.cgi?id=31001 No new tests. (No functional change) * WebCore.vcproj/WebCore.vcproj: 2009-11-02 Roland Steiner Reviewed by Dave Hyatt. Bug 28420 - Implement HTML5 rendering (https://bugs.webkit.org/show_bug.cgi?id=28420) First rudimentary implementation of HTML5 ruby rendering support. Following the HTML 5 spec, the box object model for a element allows several runs of ruby bases with their respective ruby texts looks as follows: 1 RenderRuby object, corresponding to the whole HTML element 1+ RenderRubyRun (anonymous) 0 or 1 RenderRubyText - shuffled to the front in order to re-use existing block layouting 0-n inline object(s) 0 or 1 RenderRubyBase - contains the inline objects that make up the ruby base 1-n inline object(s) Note: elements are defined as having 'display:none' and thus normally are not assigned a renderer. New layout tests will be committed in a follow-up patch under fast/ruby. Makefiles, etc. * GNUmakefile.am: * WebCore.gypi: * WebCore.pro: * WebCore.xcodeproj/project.pbxproj: CSS * css/html.css: Added and Existing render files: * rendering/RenderBlock.cpp: make moveChild a member function moveChildTo (WebCore::RenderBlock::moveChildTo): (WebCore::RenderBlock::makeChildrenNonInline): (WebCore::RenderBlock::removeChild): * rendering/RenderBlock.h: * rendering/RenderObject.cpp: (WebCore::RenderObject::createObject): instantiate ruby renderers based on element name * rendering/RenderObject.h: add query methods for ruby renderers (WebCore::RenderObject::isRuby): (WebCore::RenderObject::isRubyBase): (WebCore::RenderObject::isRubyRun): (WebCore::RenderObject::isRubyText): New ruby renderers: * rendering/RenderRuby.cpp: Added. (WebCore::lastRubyRun): (WebCore::findRubyRunParent): (WebCore::RenderRubyAsInline::RenderRubyAsInline): (WebCore::RenderRubyAsInline::~RenderRubyAsInline): (WebCore::RenderRubyAsInline::isChildAllowed): (WebCore::RenderRubyAsInline::addChild): (WebCore::RenderRubyAsInline::removeChild): (WebCore::RenderRubyAsBlock::RenderRubyAsBlock): (WebCore::RenderRubyAsBlock::~RenderRubyAsBlock): (WebCore::RenderRubyAsBlock::isChildAllowed): (WebCore::RenderRubyAsBlock::addChild): (WebCore::RenderRubyAsBlock::removeChild): * rendering/RenderRuby.h: Added. (WebCore::RenderRubyAsInline::renderName): (WebCore::RenderRubyAsInline::isRuby): (WebCore::RenderRubyAsBlock::renderName): (WebCore::RenderRubyAsBlock::isRuby): * rendering/RenderRubyBase.cpp: Added. (WebCore::RenderRubyBase::RenderRubyBase): (WebCore::RenderRubyBase::~RenderRubyBase): (WebCore::RenderRubyBase::isChildAllowed): (WebCore::RenderRubyBase::splitToLeft): (WebCore::RenderRubyBase::mergeWithRight): * rendering/RenderRubyBase.h: Added. (WebCore::RenderRubyBase::renderName): (WebCore::RenderRubyBase::isRubyBase): * rendering/RenderRubyRun.cpp: Added. (WebCore::RenderRubyRun::RenderRubyRun): (WebCore::RenderRubyRun::~RenderRubyRun): (WebCore::RenderRubyRun::hasRubyText): (WebCore::RenderRubyRun::hasRubyBase): (WebCore::RenderRubyRun::isEmpty): (WebCore::RenderRubyRun::rubyText): (WebCore::RenderRubyRun::rubyBase): (WebCore::RenderRubyRun::rubyBaseSafe): (WebCore::RenderRubyRun::firstLineBlock): (WebCore::RenderRubyRun::updateFirstLetter): (WebCore::RenderRubyRun::isChildAllowed): (WebCore::RenderRubyRun::addChild): (WebCore::RenderRubyRun::removeChild): (WebCore::RenderRubyRun::createRubyBase): (WebCore::RenderRubyRun::staticCreateRubyRun): * rendering/RenderRubyRun.h: Added. (WebCore::RenderRubyRun::renderName): (WebCore::RenderRubyRun::isRubyRun): * rendering/RenderRubyText.cpp: Added. (WebCore::RenderRubyText::RenderRubyText): (WebCore::RenderRubyText::~RenderRubyText): (WebCore::RenderRubyText::isChildAllowed): * rendering/RenderRubyText.h: Added. (WebCore::RenderRubyText::renderName): (WebCore::RenderRubyText::isRubyText): 2009-11-01 Alexey Proskuryakov Reviewed by Dan Bernstein. https://bugs.webkit.org/show_bug.cgi?id=30992 Node.isDefaultNamespace doesn't convert empty strings to null Test: fast/dom/Node/default-namespace-empty-argument.html * dom/Node.cpp: (WebCore::Node::isDefaultNamespace): Per DOM 3 Core, treat empty input as null. 2009-11-01 Yael Aharon Reviewed by Darin Adler. Don't add '/' to the URL path if the it does not include '/' after the protocol component https://bugs.webkit.org/show_bug.cgi?id=30971 Match IE8 behaviour, that does not add '/' if there is none after the protocol component. * platform/KURL.cpp: (WebCore::KURL::parse): 2009-10-31 Oliver Hunt Reviewed by Darin Adler. Fix layering violations in GraphicsContext3D https://bugs.webkit.org/show_bug.cgi?id=30986 Remove uses of HTMLImageElement and HTMLCanvasElement * html/canvas/CanvasRenderingContext3D.cpp: (WebCore::CanvasRenderingContext3D::texImage2D): (WebCore::CanvasRenderingContext3D::texSubImage2D): * platform/graphics/GraphicsContext3D.h: * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::texImage2D): (WebCore::GraphicsContext3D::texSubImage2D): 2009-11-01 Joanmarie Diggs Reviewed by Jan Alonzo. https://bugs.webkit.org/show_bug.cgi?id=30964 [Gtk] Implemment AtkDocument Provides access to expected document attributes. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (documentAttributeValue): (webkit_accessible_document_get_document_attribute_value): (webkit_accessible_document_get_document_attributes): 2009-11-03 Joanmarie Diggs Reviewed by Jan Alonzo. https://bugs.webkit.org/show_bug.cgi?id=30964 [Gtk] Implemment AtkDocument Implements what has been implemented in AT-SPI. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (GetAtkInterfaceTypeFromWAIType): (getInterfaceMaskFromObject): (atk_document_interface_init): (webkit_accessible_document_get_document_attribute_value): (webkit_accessible_document_get_document_attributes): (webkit_accessible_document_get_locale): 2009-11-01 Laszlo Gombos Reviewed by Eric Seidel. Turn on warnings for QtWebKit for gcc https://bugs.webkit.org/show_bug.cgi?id=30958 No new tests as there is no functional change. * platform/image-decoders/qt/RGBA32BufferQt.cpp: (WebCore::RGBA32Buffer::RGBA32Buffer): Reorder initialization list to fix compiler warnings. 2009-11-01 Keishi Hattori Reviewed by Pavel Feldman. [Regression] monitorEvent doesn't work * inspector/front-end/InjectedScript.js: (InjectedScript._ensureCommandLineAPIInstalled): 2009-11-01 Keishi Hattori Reviewed by Pavel Feldman. Fix Web Inspector: Bug with Message Bubble in Syntax Highlighter https://bugs.webkit.org/show_bug.cgi?id=30990 * inspector/front-end/SourceFrame.js: 2009-10-31 Alexey Proskuryakov Reviewed by John Sullivan. https://bugs.webkit.org/show_bug.cgi?id=30982 createHTMLDocument doesn't escape ampersand and less-than in title Test: fast/dom/DOMImplementation/createHTMLDocument-title.html * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createHTMLDocument): Set document title after creating the document, avoiding parser intricacies. 2009-11-01 Keishi Hattori Reviewed by Timothy Hatcher. Web Inspector: Double clicking on a breakpoints should not select text https://bugs.webkit.org/show_bug.cgi?id=30950 * inspector/front-end/SourceFrame.js: (WebInspector.SourceFrame.prototype._documentMouseDown): 2009-11-01 Yuta Kitamura Reviewed by Darin Adler. Fix assertion falure in RenderObjectChildList::updateBeforeAfterContent(). [Crash (debug)] Combination of list-item and :after causes assertion failure https://bugs.webkit.org/show_bug.cgi?id=30944 Test: fast/css/list-item-pseudo-nocrash.html * rendering/RenderObjectChildList.cpp: (WebCore::RenderObjectChildList::updateBeforeAfterContent): 2009-11-01 Philippe Normand Reviewed by Eric Seidel. https://bugs.webkit.org/show_bug.cgi?id=30586 [GTK] Failing test media/video-src-empty.html Correctly set network/ready state depending on GStreamer errors received on the bus. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mediaPlayerPrivateMessageCallback): 2009-10-31 Oliver Hunt Build fix * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::attachShader): 2009-10-31 Oliver Hunt Reviewed by Darin Adler. Remove obsolete null checks from CanvasRenderingContext3DMac https://bugs.webkit.org/show_bug.cgi?id=30983 * platform/graphics/mac/GraphicsContext3DMac.cpp: (WebCore::GraphicsContext3D::attachShader): (WebCore::GraphicsContext3D::bindAttribLocation): (WebCore::GraphicsContext3D::compileShader): (WebCore::GraphicsContext3D::detachShader): (WebCore::GraphicsContext3D::framebufferRenderbuffer): (WebCore::GraphicsContext3D::framebufferTexture2D): (WebCore::GraphicsContext3D::linkProgram): (WebCore::GraphicsContext3D::shaderSource): (WebCore::GraphicsContext3D::useProgram): (WebCore::GraphicsContext3D::validateProgram): (WebCore::GraphicsContext3D::getProgramInfoLog): (WebCore::GraphicsContext3D::getShaderi): (WebCore::GraphicsContext3D::getShaderiv): (WebCore::GraphicsContext3D::getShaderInfoLog): (WebCore::GraphicsContext3D::getShaderSource): (WebCore::GraphicsContext3D::getUniformLocation): 2009-10-31 Oliver Hunt Reviewed by Jon Honeycutt. WebGL allows objects to be used with the wrong context https://bugs.webkit.org/show_bug.cgi?id=30981 Simply add null checks and a few context guards to ensure we don't deref null or attempt to use an object from a different context. Tests: fast/canvas/webgl/incorrect-context-object-behaviour.html fast/canvas/webgl/null-object-behaviour.html * html/canvas/CanvasRenderingContext3D.cpp: (WebCore::CanvasRenderingContext3D::attachShader): (WebCore::CanvasRenderingContext3D::bindAttribLocation): (WebCore::CanvasRenderingContext3D::bindBuffer): (WebCore::CanvasRenderingContext3D::bindFramebuffer): (WebCore::CanvasRenderingContext3D::bindRenderbuffer): (WebCore::CanvasRenderingContext3D::bindTexture): (WebCore::CanvasRenderingContext3D::compileShader): (WebCore::CanvasRenderingContext3D::detachShader): (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer): (WebCore::CanvasRenderingContext3D::framebufferTexture2D): (WebCore::CanvasRenderingContext3D::getProgrami): (WebCore::CanvasRenderingContext3D::getProgramiv): (WebCore::CanvasRenderingContext3D::getProgramInfoLog): (WebCore::CanvasRenderingContext3D::getShaderi): (WebCore::CanvasRenderingContext3D::getShaderiv): (WebCore::CanvasRenderingContext3D::getShaderInfoLog): (WebCore::CanvasRenderingContext3D::getShaderSource): (WebCore::CanvasRenderingContext3D::getUniformf): (WebCore::CanvasRenderingContext3D::getUniformfv): (WebCore::CanvasRenderingContext3D::getUniformi): (WebCore::CanvasRenderingContext3D::getUniformiv): (WebCore::CanvasRenderingContext3D::getUniformLocation): (WebCore::CanvasRenderingContext3D::isBuffer): (WebCore::CanvasRenderingContext3D::linkProgram): (WebCore::CanvasRenderingContext3D::shaderSource): * html/canvas/CanvasRenderingContext3D.h: * html/canvas/CanvasRenderingContext3D.idl: 2009-10-30 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's MediaQueryResult https://bugs.webkit.org/show_bug.cgi?id=30857 Inherits MediaQueryResult class from Noncopyable because it is instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:5984 and it is no need to be copyable. * css/CSSStyleSelector.h: 2009-10-30 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's MediaQueryEvaluator https://bugs.webkit.org/show_bug.cgi?id=30854 Inherits MediaQueryEvaluator class from Noncopyable because it is instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:401 and it is no need to be copyable. * css/MediaQueryEvaluator.h: 2009-10-30 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's CSSRuleSet https://bugs.webkit.org/show_bug.cgi?id=30852 Inherits CSSRuleSet class from Noncopyable because it is instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:455 and it is no need to be copyable. * css/CSSStyleSelector.cpp: 2009-10-30 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's CSSRuleData https://bugs.webkit.org/show_bug.cgi?id=30851 Inherits CSSRuleData class from Noncopyable because it is instantiated by 'new' in WebCore/css/CSSStyleSelector.h:320 and it is no need to be copyable. * css/CSSStyleSelector.h: 2009-10-30 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's CSSRuleDataList https://bugs.webkit.org/show_bug.cgi?id=30850 Inherits CSSRuleDataList class from Noncopyable because it has been instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:2715 and it is no need to be copyable. * css/CSSStyleSelector.h: 2009-10-30 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's CSSNamespace https://bugs.webkit.org/show_bug.cgi?id=30849 Inherits CSSNamespace struct from Noncopyable because it is instantiated by 'new' in WebCore/css/CSSStyleSheet.cpp:141 and it is no need to be copyable. * css/CSSNamespace.h: 2009-10-30 Dmitry Titov Reviewed by David Levin. Refactor DatabaseTask in preparation for removing threadsafe refcounting from it. Move the synchronizer object out of the DatabaseTask so there is no need to keep the pointer to Databasetask around after passing it to MessageQueue. Also pass the references to return parameters to the task so it can update them. https://bugs.webkit.org/show_bug.cgi?id=30941 No new tests, since this is just moving the code around, no change in functionality. * storage/Database.cpp: (WebCore::Database::Database): (WebCore::Database::openAndVerifyVersion): Use new DatabaseTaskSynchronizer to wait for task completion. (WebCore::Database::markAsDeletedAndClose): Ditto. (WebCore::Database::tableNames): Ditto. (WebCore::Database::stop): Use the boolean flag rather then 'killed' flag built into MessageQueue. (WebCore::Database::scheduleTransaction): Transaction queue is a Deque now, change the way to fetch the transaction. * storage/Database.h: Change the SQLTransaction queue to be a Deque rather then a MessageQueue. * storage/DatabaseTask.cpp: (WebCore::DatabaseTaskSynchronizer::DatabaseTaskSynchronizer): (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion): (WebCore::DatabaseTaskSynchronizer::taskCompleted): (WebCore::DatabaseTask::DatabaseTask): Ctor takes DatabaseTaskSynchronizer which can be 0. (WebCore::DatabaseTask::performTask): Signal completion. m_synchronizer should still be around since main thread is waiting on it. (WebCore::DatabaseOpenTask::DatabaseOpenTask): Pass synchronizer and return parameters via constructor. (WebCore::DatabaseCloseTask::DatabaseCloseTask): Ditto. (WebCore::DatabaseTransactionTask::DatabaseTransactionTask): Ditto. (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): Ditto. * storage/DatabaseTask.h: (WebCore::DatabaseOpenTask::create): (WebCore::DatabaseCloseTask::create): (WebCore::DatabaseTransactionTask::create): (WebCore::DatabaseTableNamesTask::create): 2009-10-30 Enrica Casucci Reviewed by Darin Adler. REGRESSION: In Mail, Undo does not restore some characters I have deleted at the end of a line https://bugs.webkit.org/show_bug.cgi?id=30955 When the command is deleteWordBackward or deleteWordForward we should not add to the open typing command, but create a new one. Test: editing/undo/undo-deleteWord.html * editing/TypingCommand.cpp: (WebCore::TypingCommand::deleteKeyPressed): Always start a new command if the granularity is not CharacterGranularity. (WebCore::TypingCommand::forwardDeleteKeyPressed): Always start a new command if the granularity is not CharacterGranularity. 2009-10-30 Eric Carlson Reviewed by Darin Adler. Make MediaPlayer constructor private https://bugs.webkit.org/show_bug.cgi?id=30965 * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::loadResource): (WebCore::HTMLMediaElement::finishParsingChildren): Use MediaPlayer::create. * platform/graphics/MediaPlayer.h: (WebCore::MediaPlayer::create): New. 2009-10-29 Jon Honeycutt MSAA: Accessibility of headings is not correct https://bugs.webkit.org/show_bug.cgi?id=30937 Reviewed by Alice Liu. * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::stringRoleForMSAA): (WebCore::AccessibilityObject::descriptionForMSAA): * accessibility/AccessibilityRenderObject.cpp: (WebCore::shouldReturnTagNameAsRoleForMSAA): If the element's tag name is one of h1, h2, h3, h4, h5, h6, return true. (WebCore::AccessibilityRenderObject::stringRoleForMSAA): If the element should return its tag name as the role, return the tag name. (WebCore::AccessibilityRenderObject::positionalDescriptionForMSAA): If the object is a heading, return the string "L" followed by the heading level. (WebCore::AccessibilityRenderObject::descriptionForMSAA): If the object has a positional description, return it. Otherwise, get the accessibility description, and prefix it with "Description" so that MSAA clients know that it's not a positional description. * accessibility/AccessibilityRenderObject.h: 2009-10-29 Jon Honeycutt MSAA: Accessibility of links is wrong https://bugs.webkit.org/show_bug.cgi?id=30928 Reviewed by Darin Adler. * accessibility/AccessibilityImageMapLink.cpp: (WebCore::AccessibilityImageMapLink::stringValueForMSAA): Return the URL. (WebCore::AccessibilityImageMapLink::nameForMSAA): Return the alt text. * accessibility/AccessibilityImageMapLink.h: (WebCore::AccessibilityImageMapLink::isLinked): Return true. * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::isLinked): (WebCore::AccessibilityObject::stringValueForMSAA): (WebCore::AccessibilityObject::nameForMSAA): * accessibility/AccessibilityRenderObject.cpp: (WebCore::isLinkable): Return true if the element is considered "linkable" with respect to accessibility. (WebCore::AccessibilityRenderObject::stringValueForMSAA): If the element is linkable, check whether it has a parent anchor element. If so, return the anchor element's href. (WebCore::AccessibilityRenderObject::isLinked): Return true if the element is linkable and if it's parent anchor tag's href is non-empty. (WebCore::AccessibilityRenderObject::nameForMSAA): For text nodes, return the text. * accessibility/AccessibilityRenderObject.h: 2009-10-30 Evan Stade Reviewed by David Levin. Notify the chrome when the focused node has changed. https://bugs.webkit.org/show_bug.cgi?id=30832 This is similar to AX code that is already in place, except that this also informs the chrome when there stops being a focused node. This is needed for a browser to show the anchor for links that have keyboard focus. * dom/Document.cpp: (WebCore::Document::setFocusedNode): * loader/EmptyClients.h: (WebCore::EmptyChromeClient::focusedNodeChanged): * page/Chrome.cpp: (WebCore::Chrome::focusedNodeChanged): * page/Chrome.h: * page/ChromeClient.h: 2009-10-30 Ben Murdoch Reviewed by David Kilzer. openDatabase() with empty version sets db version up incorrectly https://bugs.webkit.org/show_bug.cgi?id=28417 Test: storage/open-database-set-empty-version.html * storage/Database.cpp: (WebCore::Database::performOpenAndVerify): Raise an exception if the current database version does not match the expected version when the current version is the empty string. 2009-10-30 John Gregg Reviewed by David Levin. Need to turn off notifications properly at runtime https://bugs.webkit.org/show_bug.cgi?id=30409 Moving the notificationsEnabled bit from NotificationCenter to the new V8 RuntimeEnabledFeatures object. Just moving a bit around, so no new tests. * bindings/v8/RuntimeEnabledFeatures.cpp: * bindings/v8/RuntimeEnabledFeatures.h: (WebCore::RuntimeEnabledFeatures::setNotificationsEnabled): (WebCore::RuntimeEnabledFeatures::notificationsEnabled): * bindings/v8/custom/V8DOMWindowCustom.cpp: (WebCore::ACCESSOR_RUNTIME_ENABLER): * bindings/v8/custom/V8WorkerContextCustom.cpp: (WebCore::ACCESSOR_RUNTIME_ENABLER): * notifications/NotificationCenter.cpp: * notifications/NotificationCenter.h: 2009-10-30 Dmitry Titov Reviewed by Dimitri Glazkov. [V8] More cleanup after r49949: remove ListenerGuard. ListenerGuard is no longer needed since EventListeners do not depend on frame or v8 context. https://bugs.webkit.org/show_bug.cgi?id=30943 Covered by fast/events/add-event-without-document.html which will now pass in Chromium. * bindings/v8/V8AbstractEventListener.cpp: (WebCore::V8AbstractEventListener::V8AbstractEventListener): (WebCore::V8AbstractEventListener::handleEvent): * bindings/v8/V8AbstractEventListener.h: * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getEventListener): * bindings/v8/V8EventListenerList.h: (WebCore::V8EventListenerList::findOrCreateWrapper): * bindings/v8/V8LazyEventListener.cpp: (WebCore::V8LazyEventListener::V8LazyEventListener): * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::V8Proxy): (WebCore::V8Proxy::disconnectFrame): (WebCore::V8Proxy::clearForNavigation): * bindings/v8/V8Proxy.h: * bindings/v8/V8WorkerContextEventListener.cpp: (WebCore::V8WorkerContextEventListener::V8WorkerContextEventListener): (WebCore::V8WorkerContextEventListener::handleEvent): (WebCore::V8WorkerContextEventListener::reportError): * bindings/v8/V8WorkerContextEventListener.h: (WebCore::V8WorkerContextEventListener::create): * bindings/v8/WorkerContextExecutionProxy.cpp: (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy): (WebCore::WorkerContextExecutionProxy::dispose): (WebCore::WorkerContextExecutionProxy::findOrCreateEventListener): * bindings/v8/WorkerContextExecutionProxy.h: * bindings/v8/custom/V8CustomEventListener.cpp: (WebCore::V8EventListener::V8EventListener): * bindings/v8/custom/V8CustomEventListener.h: (WebCore::V8EventListener::create): 2009-10-30 Shinichiro Hamaji Reviewed by Darin Adler. counterValueForElementById should return space-separated string for multiple counters https://bugs.webkit.org/show_bug.cgi?id=30939 Test: fast/css/counters/counterValueForElementById.html * rendering/RenderTreeAsText.cpp: (WebCore::writeCounterValuesFromChildren): (WebCore::counterValueForElement): 2009-10-30 Sebastian Dröge Reviewed by Gustavo Noronha. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::paint): Add some comments to explain what is happening here. 2009-10-30 Alexander Pavlov Reviewed by Timothy Hatcher. Fix Web Inspector crash on the errors/warnings counter click RenderObject::createVisiblePosition(const Position& position) understands "null Positions", so we can construct such a Position manually. https://bugs.webkit.org/show_bug.cgi?id=30499 * rendering/RenderBox.cpp: (WebCore::RenderBox::positionForPoint): 2009-10-30 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=25534 [GTK] Objects of ROLE_TABLE should implement the accessible table interface Third part of the implementation of AtkTable. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (nameFromChildren): (webkit_accessible_get_name): New convenience function to construct an object's name using the name(s) of any children it has. (atk_table_interface_init): (webkit_accessible_table_get_column_description): (webkit_accessible_table_get_row_description): Implemented. (webkit_accessible_table_get_column_header): Stub function added so that webkit_accessible_table_get_column_description could be implemented in the meantime. 2009-10-30 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=25534 [GTK] Objects of ROLE_TABLE should implement the accessible table interface Second part of the implementation of AtkTable. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (cellAtIndex): (webkit_accessible_table_get_column_at_index): (webkit_accessible_table_get_row_at_index): (webkit_accessible_table_get_caption): (atk_table_interface_init): 2009-10-30 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Add TimelinePanel into the panels enum. https://bugs.webkit.org/show_bug.cgi?id=30915 * inspector/InspectorFrontend.cpp: (WebCore::InspectorFrontend::showPanel): * inspector/front-end/inspector.js: (WebInspector.showTimelinePanel): 2009-10-30 Kenneth Rohde Christiansen Reviewed by Holger Hans Peter Freyther. If the owner widget of the page has a palette set, we should use that one. This was only working when the owner was a QWebView. This patch fixes that. * platform/qt/RenderThemeQt.cpp: (WebCore::RenderThemeQt::applyTheme): 2009-10-30 Pavel Feldman Not reviewed: Wire CookieJarChromium to the cookies backend. This is a final step of a 3-steps raw cookies access implementation in Chromium. * platform/network/chromium/CookieJarChromium.cpp: (WebCore::getRawCookies): (WebCore::deleteCookie): 2009-10-30 Yury Semikhatsky Reviewed by Pavel Feldman. Fix Chromium crash in console.log in "deeply recursive" function Check that result of 'frameSourceName' is not null handle before casting it to String. Allow V8Proxy::sourceName/sourceLineNumber() to report that they have failed due to JavaScript stack overflow. https://bugs.webkit.org/show_bug.cgi?id=30904 * bindings/scripts/CodeGeneratorV8.pm: * bindings/v8/ScriptCallStack.cpp: (WebCore::ScriptCallStack::create): (WebCore::ScriptCallStack::ScriptCallStack): * bindings/v8/ScriptCallStack.h: * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::sourceLineNumber): (WebCore::V8Proxy::sourceName): * bindings/v8/V8Proxy.h: * bindings/v8/custom/V8WorkerContextCustom.cpp: (WebCore::CALLBACK_FUNC_DECL): 2009-10-30 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's MediaQuery https://bugs.webkit.org/show_bug.cgi?id=30856 Inherits MediaQuery class from Noncopyable because it is instantiated by 'new' in WebCore/css/CSSParser.cpp:4905 and it is no need to be copyable. * css/CSSStyleSelector.h: 2009-10-30 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's MediaQueryExp https://bugs.webkit.org/show_bug.cgi?id=30855 Inherits MediaQueryExp class from FastAllocBase because it is instantiated by 'new' in WebCore/css/CSSParser.cpp:4874. * css/MediaQueryExp.h: 2009-10-30 Roland Steiner Reviewed by Eric Seidel. Remove ENABLE_RUBY guards as discussed with Dave Hyatt and Maciej Stachowiak. Bug 28420 - Implement HTML5 rendering (https://bugs.webkit.org/show_bug.cgi?id=28420) No new tests (no functional change). * Configurations/FeatureDefines.xcconfig: * DerivedSources.make: * GNUmakefile.am: * WebCore.pro: * WebCore.vcproj/WebCoreCommon.vsprops: * WebCore.vcproj/build-generated-files.sh: 2009-10-30 Dan Bernstein Reviewed by Adele Peterson. Removed test for an impossible condition (a glyph in a right-to-left run not having the RTL flag 0x800) * platform/graphics/mac/ComplexTextControllerATSUI.cpp: (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): 2009-10-29 Adam Barth Reviewed by Dimitri Glazkov. [V8] Out-of-memory crash in isolated worlds https://bugs.webkit.org/show_bug.cgi?id=30906 We need to handle the fact that creating a V8:Context might fail. I don't know how to test this change because creating a context usually only fails when V8 decides it's using too much memory. * bindings/v8/V8IsolatedWorld.cpp: (WebCore::V8IsolatedWorld::V8IsolatedWorld): * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::evaluateInIsolatedWorld): (WebCore::V8Proxy::evaluateInNewContext): 2009-10-29 Erik Arvidsson Reviewed by Eric Seidel. Make links mouse focusable only on GTK and QT. Links are now always mouse focusable on GTK and QT. On other platforms the link needs a tabIndex or it needs to be contentEditable. https://bugs.webkit.org/show_bug.cgi?id=26856 * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::isMouseFocusable): 2009-10-29 Dan Bernstein Reviewed by Sam Weinig. Complete the fix for hit-testing and selection highlighting in ligatures for the ATSUI code path. * platform/graphics/mac/ComplexTextController.h: Added m_ltr member to ComplexTextRun. * platform/graphics/mac/ComplexTextControllerATSUI.cpp: (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Skip over deleted glyphs, but update indexes and advances correctly. (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Initialize m_ltr. 2009-10-29 Enrica Casucci Reviewed by Darin Adler. REGRESSION(3.2.3 - 4.0.2): Message composing: when I undo a color change to text in Mail, undo/redo behaves strangely https://bugs.webkit.org/show_bug.cgi?id=30892 This problem shows in any scenario where it is necessary to split a text node to apply a style. SplitElementCommand and WrapContentsInDummySpanCommand both have member variables initialized in the constructor to keep reference to elements they need to operate upon. These reference are not updated when reapplying the command. For this reason it is necessary to guarantee that unapply doesn not delete the references and that these commands implement doReapply to correctly reuse the existing elements. Test: editing/undo/redo-style.html * editing/SplitElementCommand.cpp: (WebCore::SplitElementCommand::executeApply): Added. (WebCore::SplitElementCommand::doApply): Modified to call executeApply. (WebCore::SplitElementCommand::doUnapply): Doesn't release m_element1. (WebCore::SplitElementCommand::doReapply): Added. * editing/SplitElementCommand.h: Added doReapply and executeApply. * editing/WrapContentsInDummySpanCommand.cpp: (WebCore::WrapContentsInDummySpanCommand::executeApply): Added. (WebCore::WrapContentsInDummySpanCommand::doApply): Modified to call executeApply. (WebCore::WrapContentsInDummySpanCommand::doUnapply): Doesn't release m_dummySpan. (WebCore::WrapContentsInDummySpanCommand::doReapply): Added. * editing/WrapContentsInDummySpanCommand.h: Added doReapply and executeApply. 2009-10-29 Jeremy Orlow Reviewed by Darin Fisher. DOM Storage's condition variable needs to handle spurious wakeups https://bugs.webkit.org/show_bug.cgi?id=30920 Add a boolean to keep track of whether it's been terminated. Clean up the locking code a tiny bit to make it easier to read. There's no way to reproduce this reliably in a LayoutTest. * storage/LocalStorageThread.cpp: (WebCore::LocalStorageThread::LocalStorageThread): (WebCore::LocalStorageThread::terminate): (WebCore::LocalStorageThread::performTerminate): * storage/LocalStorageThread.h: 2009-10-29 Dimitri Glazkov Unreviewed, build fix. [Chromium] Include ComplextTextController into Chromium Mac project. * WebCore.gyp/WebCore.gyp: Added include rule for ComplextText* files. 2009-10-29 Timothy Hatcher Fix tabbing through element attributes in the Web Insector. https://bugs.webkit.org/show_bug.cgi?id=30429 Reviewed by Pavel Feldman. * inspector/front-end/ElementsTreeOutline.js: (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): Don't call _updateTitle, it is called for us when removeAttribute succeeds in the back-end. (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted): Ditto except for nodeValue. (WebInspector.ElementsTreeElement.prototype._editingCancelled): Don't call _updateTitle, editing code reverts. (WebInspector.ElementsTreeElement.prototype._updateTitle): Return early if we are editing. 2009-10-29 Dan Bernstein Reviewed by Sam Weinig. Problem editing or selecting text containing ligatures https://bugs.webkit.org/show_bug.cgi?id=30025 Test: platform/mac/fast/text/ligature-subdivision.html * platform/graphics/mac/ComplexTextController.cpp: (WebCore::ComplexTextController::ComplexTextController): Initialize m_characterInCurrentGlyph. (WebCore::ComplexTextController::offsetForPosition): If the hit glyph spans multiple characters, compute the hit character based on dividing the glyph’s total advance into a number of equal intervals equal to the number of characters and assigning the hit to the character corresponding to the hit interval. (WebCore::ComplexTextController::advance): If the final offset occurs mid-glyph, advance by a fraction of the glyph’s total advance. * platform/graphics/mac/ComplexTextController.h: Added m_characterInCurrentGlyph. 2009-10-29 Brian Weinstein Reviewed by Timothy Hatcher. Fixes . Web Inspector: Datagrid Rows on Windows not properly aligned. Use line-height for the table rows to make sure the height of our text and the height of the table rows are consistent. * inspector/front-end/inspector.css: 2009-10-29 Adam Barth No review, rolling out r50296. http://trac.webkit.org/changeset/50296 * bindings/v8/V8IsolatedWorld.cpp: (WebCore::V8IsolatedWorld::V8IsolatedWorld): * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::evaluateInIsolatedWorld): (WebCore::V8Proxy::evaluateInNewContext): 2009-10-29 Adam Barth Reviewed by Dimitri Glazkov. [V8] Out-of-memory crash in isolated worlds https://bugs.webkit.org/show_bug.cgi?id=30906 We need to handle the fact that creating a V8:Context might fail. I don't know how to test this change because creating a context usually only fails when V8 decides it's using too much memory. * bindings/v8/V8IsolatedWorld.cpp: (WebCore::V8IsolatedWorld::V8IsolatedWorld): * bindings/v8/V8Proxy.cpp: (WebCore::V8Proxy::evaluateInIsolatedWorld): (WebCore::V8Proxy::evaluateInNewContext): 2009-10-29 Gustavo Noronha Silva Reviewed by Xan Lopez. Remove build warning introduced by r50284. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::duration): 2009-10-29 Dimitri Glazkov Reviewed by Adam Barth. [V8] Remove random crashes by removing retrieval of V8 context during garbage collection. https://bugs.webkit.org/show_bug.cgi?id=30919 Unfortunately, I haven't been able to trigger this crash explicitly, so no test :(. * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::jsWrapperForDOMObject): Added new "assume-it's-there" getter. * bindings/v8/V8DOMWrapper.h: Added getter decl. * bindings/v8/V8GCController.cpp: (WebCore::GCPrologueVisitor::visitDOMWrapper): Changed to use explicit getter. 2009-10-29 Dimitri Glazkov Unreviewed, build fix. [Chromium] Adjust the project files to sync up with http://trac.webkit.org/changeset/50259 * WebCore.gypi: Renamed and added files. 2009-10-29 Laszlo Gombos Reviewed by Tor Arne Vestbø. [Qt] Implement DELETE HTTP method for XmlHttpRequest https://bugs.webkit.org/show_bug.cgi?id=30894 No new tests as this functionality is already tested by the xmlhttprequest LayoutTests. As this patch depends on an unreleased version of the dependent QtNetwork library and the tests will be enabled later once the dependent library is released (and the buildbot is updated). * platform/network/qt/QNetworkReplyHandler.cpp: (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): (WebCore::QNetworkReplyHandler::start): 2009-10-29 Brian Weinstein Reviewed by Timothy Hatcher. Part of . Web Inspector: Always show the Local and Session Storage Views. Even if the length of the DOM Storage entry array is 0, still generate the Datagrid because users can add things storage items through the UI, so we should allow them to even if there isn't anything there currently. * English.lproj/localizedStrings.js: Removed "This Storage is Empty". * inspector/front-end/DOMStorageItemsView.js: (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries): 2009-10-29 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Add TimelinePanel into the panels enum. https://bugs.webkit.org/show_bug.cgi?id=30915 * inspector/InspectorController.cpp: (WebCore::InspectorController::specialPanelForJSName): * inspector/InspectorController.h: (WebCore::InspectorController::): 2009-10-29 Xan Lopez Reviewed by Oliver Hunt. [GTK] Threading problems with some of the tests https://bugs.webkit.org/show_bug.cgi?id=30814 Create strings shared among threads with crossThreadString constructor method. * storage/Database.cpp: (WebCore::Database::Database): 2009-10-29 Sebastian Dröge Reviewed by Gustavo Noronha. https://bugs.webkit.org/show_bug.cgi?id=30308 Add support for ARGB videos. * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::MediaPlayerPrivate::paint): Create the Cairo image surface for ARGB32 or RGB24 depending on the buffer's caps. * platform/graphics/gtk/VideoSinkGStreamer.cpp: (webkit_video_sink_timeout_func): (webkit_video_sink_render): Handle ARGB video and convert GStreamer's ARGB to Cairo's for displaying. 2009-10-29 Anton Muhin Reviewed by David Levin. [chromium] expose a method to access memory usage information in ChromiumBridge Declare a static method to be implemented by http://codereview.chromium.org/332010/ https://bugs.webkit.org/show_bug.cgi?id=30829 * platform/chromium/ChromiumBridge.h: 2009-10-29 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=25679 [Gtk] Improve accessibility of focusable lists Implements the AtkSelection interface and enables the corresponding (and expected) object:selection-changed event. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (optionFromList): (optionFromSelection): (atk_selection_interface_init): (webkit_accessible_selection_add_selection): (webkit_accessible_selection_clear_selection): (webkit_accessible_selection_ref_selection): (webkit_accessible_selection_get_selection_count): (webkit_accessible_selection_is_child_selected): (webkit_accessible_selection_remove_selection): (webkit_accessible_selection_select_all_selection): (GetAtkInterfaceTypeFromWAIType): * accessibility/gtk/AXObjectCacheAtk.cpp: (AXObjectCache::postPlatformNotification): 2009-10-29 Jian Li Reviewed by Darin Adler. Bug 30655 - Only plain text should be copied to clipboard for TextArea. https://bugs.webkit.org/show_bug.cgi?id=30655 * editing/Editor.cpp: (WebCore::nodeIsInTextFormControl): (WebCore::Editor::cut): (WebCore::Editor::copy): 2009-10-29 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: hide timeline for now - not yet ready. https://bugs.webkit.org/show_bug.cgi?id=30912 * inspector/front-end/inspector.js: (WebInspector._createPanels): 2009-10-29 Pavel Feldman Not reviewed: deploy Web Inspector's images in WebCore.gypi. * WebCore.gypi: 2009-10-29 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: get rid of timelineProfilerEnabled method. https://bugs.webkit.org/show_bug.cgi?id=30911 * inspector/InspectorBackend.cpp: * inspector/InspectorBackend.h: * inspector/InspectorBackend.idl: * inspector/InspectorController.cpp: (WebCore::InspectorController::setWindowVisible): * inspector/InspectorController.h: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked): 2009-10-29 Pavel Feldman Reviewed by Darin Fisher. Create stub methods for raw cookies access in ChromiumBridge.h https://bugs.webkit.org/show_bug.cgi?id=30910 * platform/chromium/ChromiumBridge.h: 2009-10-29 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's RareData https://bugs.webkit.org/show_bug.cgi?id=30858 Inherits RareData struct from Noncopyable because it is instantiated by 'new' in WebCore/css/CSSSelector.h:259 and it is no need to be copyable. * css/CSSSelector.h: 2009-10-29 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's ShorthandScope https://bugs.webkit.org/show_bug.cgi?id=30859 Inherits ShorthandScope class from FastAllocBase because it is instantiated by 'new' in WebCore/css/CSSParser.cpp:902 and it is no need to be copyable. * css/CSSParser.h: 2009-10-29 Zoltan Horvath Reviewed by Darin Adler. Allow custom memory allocation control for WebCore's AXObjectCache https://bugs.webkit.org/show_bug.cgi?id=30848 Inherits AXObjectCache class from FastAllocBase because it is instantiated by 'new' in WebCore/dom/Document.cpp:1537 and it is no need to be copyable. * accessibility/AXObjectCache.h: 2009-10-28 Adam Barth Reviewed by Eric Seidel. Don't run JavaScript URLs in view source mode https://bugs.webkit.org/show_bug.cgi?id=30881 Just say no. Test: http/tests/security/view-source-no-javascript-url.html * bindings/ScriptControllerBase.cpp: (WebCore::ScriptController::executeIfJavaScriptURL): 2009-10-29 Gustavo Noronha Silva Unreviewed. Fixes style problems pointed out by Evan Martin. * platform/gtk/Language.cpp: (WebCore::defaultLanguage): 2009-10-29 Dan Bernstein Rubber-stamped by Mark Rowe. 64-bit Leopard build fix after r50259 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Declared ATSUTextInserted in 64-bit. (WebCore::fontHasMirroringInfo): Use %d format and cast to int. (WebCore::disableLigatures): Ditto. (WebCore::initializeATSUStyle): Ditto. (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Ditto. 2009-10-29 Dan Bernstein Tiger build fix after r50259 * platform/graphics/mac/ComplexTextController.h: * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 2009-10-29 Dan Bernstein Attempted Tiger build fix after r50259 * platform/graphics/mac/ComplexTextControllerATSUI.cpp: 2009-10-28 Steve Falkenburg Rubber stamped by Mark Rowe. https://bugs.webkit.org/show_bug.cgi?id=30899 WebKit fails to build release on 32-bit Windows systems * WebCore.vcproj/WebCore.vcproj: Excluded files from project. * bindings/js/JSBindingsAllInOne.cpp: Added. 2009-10-28 Dan Bernstein Reviewed by Jon Honeycutt. Fixed typos in color names. * inspector/front-end/Color.js: 2009-10-28 Dan Bernstein Reviewed by Sam Weinig. Share code between the ATSUI- and Core Text-based Font implementations by doing the following: - Generalize CoreTextController as ComplexTextController, keeping the Core Text-specific parts in ComplexTextControllerCoreText.cpp. - Generalize FontMacCoreText as FontComplexTextMac using ComplexTextController - Implement ATSUI-specific parts of ComplexTextController in ComplexTextControllerATSUI. - Remove FontMacATSUI. * WebCore.xcodeproj/project.pbxproj: Removed CoreTextController.{cpp,h}, FontMacATSUI.mm, and FontMacCoreText.cpp, and added ComplexTextController.{cpp,h}, ComplexTextControllerATSUI.cpp, ComplexTextControllerCoreText.cpp, and FontComplexTextMac.cpp. * platform/graphics/mac/ComplexTextController.cpp: Copied from CoreTextController.cpp and kept the non-Core Text-specific bits. (WebCore::ComplexTextController::ComplexTextController): Updated for renames, including its own. (WebCore::ComplexTextController::offsetForPosition): Updated for renames and for m_complexTextRuns holding references instead of objects. (WebCore::ComplexTextController::collectComplexTextRuns): Updated for renames, including its own. (WebCore::ComplexTextController::advance): Updated for renames. (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Updated for renames and for m_complexTextRuns holding references instead of objects, and changed to use the glyphs() and advances() accessors. * platform/graphics/mac/ComplexTextController.h: Copied from CoreTextController.h and renamed CoreTextController to ComplexTextController and CoreTextRun to ComplexTextRun. Made the latter RefCounted, added ATSUI-specific members to it, and made some other members Core Text-specific. Renamed m_coreTextRuns to m_complexTextRuns and made it hold references rather than objects. (WebCore::ComplexTextController::ComplexTextRun::create): (WebCore::ComplexTextController::ComplexTextRun::glyphs): (WebCore::ComplexTextController::ComplexTextRun::advances): * platform/graphics/mac/ComplexTextControllerATSUI.cpp: Added. Includes ATSUI-specific parts of the ComplexTextController implementation. (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): This ATSUI callback populates the ComplexTextRun’s glyphs, advances and indices vectors. It is invoked when the ComplexTextRun constructor calls ATSUGetGlyphBounds(). (WebCore::isArabicLamWithAlefLigature): Helper function, copied from FontMacATSUI.mm. (WebCore::shapeArabic): Helper function, adapted from FontMacATSUI.mm. (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Sets up the ATSUTextLayout, substituting the text buffer if necessary for things like shaping Arabic, mirroring glyphs or directionality overrides, then calls ATSUGetGlyphBounds() in order to get the glyphs, advances and indices vectors populated. (WebCore::fontHasMirroringInfo): Helper function, copied from FontMacATSUI.mm. (WebCore::disableLigatures): Ditto. (WebCore::initializeATSUStyle): Ditto, somewhat cleaned up and simplified. (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Constructs ComplexTextRuns, either missing-glyphs ones or ATSUTextLayout-based ones. * platform/graphics/mac/ComplexTextControllerCoreText.cpp: Copied from CoreTextController.cpp and kept the Core Text-specific bits. (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Updated for renames, including its own, and moved the code to initialize m_glyphs and m_advances here. Previously this was done in adjustGlyphsAndAdvances(). (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Updated for renames, including its own. * platform/graphics/mac/CoreTextController.cpp: Removed. * platform/graphics/mac/CoreTextController.h: Removed. * platform/graphics/mac/FontComplexTextMac.cpp: Renamed FontMacCoreText.cpp to this. (WebCore::Font::selectionRectForComplexText): Changed to use ComplexTextController instead of CoreTextController. (WebCore::Font::drawComplexText): Ditto. (WebCore::Font::floatWidthForComplexText): Ditto. (WebCore::Font::offsetForPositionForComplexText): Ditto. * platform/graphics/mac/FontMacATSUI.mm: Removed. * platform/graphics/mac/FontMacCoreText.cpp: Removed. 2009-10-27 Chris Fleizach Reviewed by Darin Adler. WAI-ARIA: add support for 'option' role https://bugs.webkit.org/show_bug.cgi?id=30843 Test: accessibility/aria-option-role.html * accessibility/AccessibilityListBoxOption.h: (WebCore::AccessibilityListBoxOption::canHaveChildren): * accessibility/AccessibilityRenderObject.cpp: (WebCore::RoleEntry::): (WebCore::AccessibilityRenderObject::canHaveChildren): 2009-10-28 Jens Alfke Reviewed by Eric Seidel. Fix GCC compiler warnings in WebCore, and enable -Wall and -Werror for Chromium build. https://bugs.webkit.org/show_bug.cgi?id=30716 * WebCore.gyp/WebCore.gyp: Enable "chromium_code" flag, just on Mac build for now. * accessibility/AccessibilityRenderObject.cpp: (WebCore::createARIARoleMap): Fix struct visibiity warning. * bindings/v8/ScriptCallStack.h: Fix out-of-order member initialization warning. * bindings/v8/V8Collection.h: (WebCore::getV8Object): Function in header should not be 'static' (fixes unused-static warning.) * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::convertNewNodeToV8Object): Fix signed/unsigned comparison warning. * bindings/v8/V8GCController.cpp: (WebCore::ObjectGrouperVisitor::applyGrouping): Fix unused-variable warning. * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Enable ListButtonPart case to avoid warning about missing cases in 'switch' statement. * editing/EditorCommand.cpp: (WebCore::createCommandMap): Fix struct visibiity warning. * platform/graphics/skia/PlatformContextSkia.cpp: (PlatformContextSkia::State::State): Fix out-of-order member initialization warning. * rendering/RenderMediaControlsChromium.cpp: (WebCore::RenderMediaControlsChromium::shouldRenderMediaControlPart): Add empty 'default' case in 'switch' statement to avoid missing-case warning. (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Ditto. * xml/XPathFunctions.cpp: (WebCore::XPath::createFunctionMap): Fix struct visibiity warning. 2009-10-29 Adam Barth Reviewed by Darin Adler. REGRESSION: crashes in WebCore::RedirectScheduler::timerFired(WebCore::Timer*) https://bugs.webkit.org/show_bug.cgi?id=30839 Added null check for the case when the frame is detached from the page. * loader/RedirectScheduler.cpp: (WebCore::RedirectScheduler::timerFired): 2009-10-28 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=30817 Use parentObjectUnignored instead of parentObject in webkit_accessible_get_parent Also removes the hack I had originally added to solve bug 25411, because the fix here is what I should have done in the first place. * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: (webkit_accessible_get_parent): 2009-10-28 Dmitry Titov Reviewed by David Levin. https://bugs.webkit.org/show_bug.cgi?id=30805 Add MessageQueue::removeIf(Predicate&) to remove certain tasks without pulling them from the queue. Existing Database tests cover this, no change in functionality. * storage/DatabaseThread.cpp: (WebCore::SameDatabasePredicate::SameDatabasePredicate): Added predicate that flags the tasks belonging to a specified database. (WebCore::SameDatabasePredicate::operator()): (WebCore::DatabaseThread::unscheduleDatabaseTasks): changed to use the new removeIf method. 2009-10-28 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Glue subsequent timeline records with same category and title together. https://bugs.webkit.org/show_bug.cgi?id=30885 * English.lproj/localizedStrings.js: * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel.prototype.addRecordToTimeline): (WebInspector.TimelinePanel.prototype._formatRecord): (WebInspector.TimelineRecordTreeElement.prototype.onattach): (WebInspector.TimelineRecordTreeElement.prototype.refresh): 2009-10-28 Gustavo Noronha Silva Reviewed by Xan Lopez. [GTK] Fails new test fast/js/navigator-language.html https://bugs.webkit.org/show_bug.cgi?id=30440 Reimplement WebCore::defaultLanguage to account for changes in locale done by setLocale. Already existing test: fast/js/navigator-language.html * platform/gtk/Language.cpp: (WebCore::defaultLanguage): 2009-10-28 Eric Carlson Reviewed by Simon Fraser. Can't exit full screen mode or restart movie after pressing command -R. * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::removedFromDocument): (WebCore::HTMLMediaElement::documentWillBecomeInactive): Exit from fullscreen if necessary. * html/HTMLMediaElement.h: 2009-10-28 Alexey Proskuryakov Unreviewed - a trivial fix to get Windows bots running. https://bugs.webkit.org/show_bug.cgi?id=30841 WebKit should not pass Referer header through a redirect to a non-secure site * platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::setHeaderFields): Don't try to access empty vector's data. 2009-10-28 Joanmarie Diggs Reviewed by Xan Lopez. https://bugs.webkit.org/show_bug.cgi?id=25897 [Gtk] Extraneous object of ROLE_PANEL in hierarchy for entries Remove the extraneous object of ROLE_PANEL. * accessibility/gtk/AccessibilityObjectAtk.cpp: (AccessibilityObject::accessibilityPlatformIncludesObject): 2009-10-28 Jonathan Dixon Reviewed by Eric Seidel. Bug 30547: (Chromium) searchbox not rendered properly due to the css property -webkit-border-radius https://bugs.webkit.org/show_bug.cgi?id=30547 Test: fast/css/text-input-with-webkit-border-radius.html * rendering/RenderThemeChromiumWin.cpp: (WebCore::RenderThemeChromiumWin::paintTextFieldInternal): Implemented rounded border rendering in Chromium Windows theme renderer. 2009-10-28 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Pull items collections from resources panel and timeline panel into AbstractTimelinePanel. https://bugs.webkit.org/show_bug.cgi?id=30875 * inspector/front-end/AbstractTimelinePanel.js: (WebInspector.AbstractTimelinePanel): (WebInspector.AbstractTimelinePanel.prototype.populateSidebar): (WebInspector.AbstractTimelinePanel.prototype.createItemTreeElement): (WebInspector.AbstractTimelinePanel.prototype.createItemGraph): (WebInspector.AbstractTimelinePanel.prototype._showCategory): (WebInspector.AbstractTimelinePanel.prototype._hideCategory): (WebInspector.AbstractTimelinePanel.prototype.filter): (WebInspector.AbstractTimelinePanel.prototype._createGraph): (WebInspector.AbstractTimelinePanel.prototype.updateMainViewWidth): (WebInspector.AbstractTimelinePanel.prototype.refresh): (WebInspector.AbstractTimelinePanel.prototype.reset): (WebInspector.AbstractTimelinePanel.prototype.get calculator): (WebInspector.AbstractTimelinePanel.prototype.set calculator): (WebInspector.AbstractTimelinePanel.prototype.addItem): (WebInspector.AbstractTimelinePanel.prototype.removeItem): (WebInspector.AbstractTimelinePanel.prototype.refreshItem): (WebInspector.AbstractTimelinePanel.prototype.revealAndSelectItem): (WebInspector.AbstractTimelinePanel.prototype.sortItems): (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition): (WebInspector.AbstractTimelineCategory): (WebInspector.AbstractTimelineCategory.prototype.toString): * inspector/front-end/ResourceCategory.js: (WebInspector.ResourceCategory): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel): (WebInspector.ResourcesPanel.prototype.createItemTreeElement): (WebInspector.ResourcesPanel.prototype.createItemGraph): (WebInspector.ResourcesPanel.prototype.isCategoryVisible): (WebInspector.ResourcesPanel.prototype.populateSidebar): (WebInspector.ResourcesPanel.prototype.get searchableViews): (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction.sortFuction): (WebInspector.ResourcesPanel.prototype.get searchResultsSortFunction): (WebInspector.ResourcesPanel.prototype.searchMatchFound): (WebInspector.ResourcesPanel.prototype.searchCanceled): (WebInspector.ResourcesPanel.prototype.performSearch): (WebInspector.ResourcesPanel.prototype.refresh): (WebInspector.ResourcesPanel.prototype.reset): (WebInspector.ResourcesPanel.prototype.removeResource): (WebInspector.ResourcesPanel.prototype.addMessageToResource): (WebInspector.ResourcesPanel.prototype.clearMessages): (WebInspector.ResourcesPanel.prototype.refreshResource): (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded): (WebInspector.ResourcesPanel.prototype.showResource): (WebInspector.ResourcesPanel.prototype._sortResourcesIfNeeded): (WebInspector.ResourcesPanel.prototype._toggleLargerResources): (WebInspector.ResourcesPanel.prototype._toggleResourceTracking): (WebInspector.ResourcesPanel.prototype.get _resources): (WebInspector.ResourceTimeCalculator.prototype._upperBound): * inspector/front-end/TimelinePanel.js: (WebInspector.TimelinePanel): (WebInspector.TimelinePanel.prototype.get categories): (WebInspector.TimelinePanel.prototype.populateSidebar): (WebInspector.TimelinePanel.prototype.addRecordToTimeline): (WebInspector.TimelinePanel.prototype.createItemTreeElement): (WebInspector.TimelinePanel.prototype.createItemGraph): (WebInspector.TimelinePanel.prototype._formatRecord): (WebInspector.TimelineCategory): * inspector/front-end/inspector.css: * inspector/front-end/inspector.html: 2009-10-28 Kelly Norton Reviewed by Pavel Feldman. Resets InspectorFrontend in InspectorTimelineAgent instead of removing it so that it remains active on refreshs and page transitions. https://bugs.webkit.org/show_bug.cgi?id=30874 * inspector/InspectorController.cpp: (WebCore::InspectorController::setFrontendProxyObject): * inspector/InspectorTimelineAgent.cpp: (WebCore::InspectorTimelineAgent::resetFrontendProxyObject): * inspector/InspectorTimelineAgent.h: 2009-10-27 Shinichiro Hamaji Reviewed by Darin Adler. Provide a way to get counter values with layoutTestContoller https://bugs.webkit.org/show_bug.cgi?id=30555 Expose WebCore::counterValueForElement as a WebCore API. * WebCore.base.exp: * rendering/RenderTreeAsText.cpp: (WebCore::writeCounterValuesFromChildren): (WebCore::counterValueForElement): * rendering/RenderTreeAsText.h: 2009-10-28 Nate Chapin Unreviewed, Chromium build fix for r50225. * loader/FrameLoader.cpp: (WebCore::FrameLoader::defaultObjectContentType): 2009-10-28 Eric Z. Ayers Reviewed by Pavel Feldman. Adds InspectorTimelineAgent instrumentation for encountering a