2009-08-11 Simon Hausmann Reviewed by Holger Freyther. Fix the build on the Qt build bot by making the generated JS bindings files depend on the code generator itself. * WebCore.pro: 2009-08-07 Oliver Hunt Reviewed by Sam Weinig Stack overflow crash in JavaScript garbage collector mark pass https://bugs.webkit.org/show_bug.cgi?id=12216 Make WebCore use the new iterative marking logic. Tests: fast/js/nested-object-gc.html * bindings/js/JSAbstractWorkerCustom.cpp: (WebCore::JSAbstractWorker::markChildren): * bindings/js/JSDOMApplicationCacheCustom.cpp: (WebCore::JSDOMApplicationCache::markChildren): * bindings/js/JSDOMBinding.cpp: (WebCore::markDOMNodesForDocument): (WebCore::markActiveObjectsForContext): (WebCore::markDOMObjectWrapper): * bindings/js/JSDOMBinding.h: (WebCore::DOMObjectWithGlobalPointer::markChildren): * bindings/js/JSDOMGlobalObject.cpp: (WebCore::JSDOMGlobalObject::markChildren): * bindings/js/JSDOMGlobalObject.h: * bindings/js/JSDOMWindowCustom.cpp: (WebCore::JSDOMWindow::markChildren): * bindings/js/JSDOMWindowShell.cpp: (WebCore::JSDOMWindowShell::markChildren): * bindings/js/JSDOMWindowShell.h: * bindings/js/JSDedicatedWorkerContextCustom.cpp: (WebCore::JSDedicatedWorkerContext::markChildren): * bindings/js/JSDocumentCustom.cpp: (WebCore::JSDocument::markChildren): * bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::markJSFunction): * bindings/js/JSEventListener.h: * bindings/js/JSMessageChannelCustom.cpp: (WebCore::JSMessageChannel::markChildren): * bindings/js/JSMessagePortCustom.cpp: (WebCore::JSMessagePort::markChildren): * bindings/js/JSNavigatorCustom.cpp: (WebCore::JSNavigator::markChildren): * bindings/js/JSNodeCustom.cpp: (WebCore::JSNode::markChildren): * bindings/js/JSNodeFilterCondition.cpp: (WebCore::JSNodeFilterCondition::markAggregate): * bindings/js/JSNodeFilterCondition.h: * bindings/js/JSNodeFilterCustom.cpp: (WebCore::JSNodeFilter::markChildren): * bindings/js/JSNodeIteratorCustom.cpp: (WebCore::JSNodeIterator::markChildren): * bindings/js/JSQuarantinedObjectWrapper.cpp: (WebCore::JSQuarantinedObjectWrapper::markChildren): * bindings/js/JSQuarantinedObjectWrapper.h: * bindings/js/JSSVGElementInstanceCustom.cpp: (WebCore::JSSVGElementInstance::markChildren): * bindings/js/JSSharedWorkerCustom.cpp: (WebCore::JSSharedWorker::markChildren): * bindings/js/JSStyleSheetCustom.cpp: (WebCore::JSStyleSheet::markChildren): * bindings/js/JSTreeWalkerCustom.cpp: (WebCore::JSTreeWalker::markChildren): * bindings/js/JSWebSocketCustom.cpp: (WebCore::JSWebSocket::markChildren): * bindings/js/JSWorkerContextCustom.cpp: (WebCore::JSWorkerContext::markChildren): * bindings/js/JSWorkerCustom.cpp: (WebCore::JSWorker::markChildren): * bindings/js/JSXMLHttpRequestCustom.cpp: (WebCore::JSXMLHttpRequest::markChildren): * bindings/js/JSXMLHttpRequestUploadCustom.cpp: (WebCore::JSXMLHttpRequestUpload::markChildren): * bindings/scripts/CodeGeneratorJS.pm: * dom/EventListener.h: (WebCore::EventListener::markJSFunction): (WebCore::markIfNotNull): * dom/NodeFilter.h: (WebCore::NodeFilter::markAggregate): * dom/NodeFilterCondition.h: (WebCore::NodeFilterCondition::markAggregate): * dom/RegisteredEventListener.h: (WebCore::markEventListeners): * page/DOMWindow.h: * workers/WorkerContext.h: 2009-08-10 Jeremy Orlow Reviewed by Eric Seidel. Renamed all V8 NPN_ functions to _NPN_ to match JSC and make them "private". https://bugs.webkit.org/show_bug.cgi?id=28089 Rename all the NPN_foo functions to _NPN_foo so that they can't directly be called by mistake. This roughly matches the way JSC does it, which is an additional advantage. * bindings/v8/NPV8Object.cpp: (npCreateV8ScriptObject): (_NPN_Invoke): (_NPN_InvokeDefault): (_NPN_Evaluate): (_NPN_EvaluateHelper): (_NPN_GetProperty): (_NPN_SetProperty): (_NPN_RemoveProperty): (_NPN_HasProperty): (_NPN_HasMethod): (_NPN_SetException): (_NPN_Enumerate): (_NPN_Construct): * bindings/v8/ScriptController.cpp: (WebCore::ScriptController::clearScriptObjects): (WebCore::ScriptController::createScriptInstanceForWidget): (WebCore::ScriptController::cleanupScriptObjectsForPlugin): * bindings/v8/V8NPObject.cpp: (npObjectInvokeImpl): (npObjectGetProperty): (npObjectIndexedPropertyGetter): (npObjectGetIndexedProperty): (npObjectSetProperty): (npObjectIndexedPropertySetter): (npObjectSetIndexedProperty): (weakNPObjectCallback): (createV8ObjectForNPObject): (forgetV8ObjectForNPObject): * bindings/v8/V8NPUtils.cpp: (getStringIdentifier): * bindings/v8/npruntime.cpp: * bindings/v8/npruntime_impl.h: 2009-08-10 Jeremy Orlow Reviewed by Brady Eidson. Change ___Storage.key() to match current spec behavior. https://bugs.webkit.org/show_bug.cgi?id=28112 The current WebStorage spec says that ___Storage.key() should return null when the index is out of bounds, rather than an exception. A bunch of logic can be simplified after this change. * bindings/js/JSStorageCustom.cpp: (WebCore::JSStorage::getPropertyNames): * bindings/v8/custom/V8StorageCustom.cpp: (WebCore::V8Custom::v8StorageNamedPropertyEnumerator): * storage/Storage.cpp: (WebCore::Storage::key): * storage/Storage.h: * storage/Storage.idl: * storage/StorageArea.h: * storage/StorageAreaImpl.cpp: (WebCore::StorageAreaImpl::key): * storage/StorageAreaImpl.h: * storage/StorageMap.cpp: (WebCore::StorageMap::key): * storage/StorageMap.h: 2009-08-07 Michael Nordman Reviewed by Darin Fisher. https://bugs.webkit.org/show_bug.cgi?id=28087 Mods for a chrome specific impl of ApplicationCacheHost. * The public section of the interface is the same, but we use PLATFORM(CHROMIUM) to identify which parts of the private section are shared. The chrome specific internals are encapsulated in a seperate ApplicationCacheHostInternal class. WebCore common code only contains a forward reference to this class. * Cleanup a couple of stale comments. * Have window.applicationCache return null to script when the feature is disabled in the preferences. No new tests. * loader/appcache/ApplicationCacheHost.cpp: * loader/appcache/ApplicationCacheHost.h: (WebCore::ApplicationCacheHost::documentLoader): * page/DOMWindow.cpp: (WebCore::DOMWindow::applicationCache): 2009-08-10 Crystal Zhang Reviewed by George Staikos. Implement GraphicsContext::fillRoundRect() for WINCE port https://bugs.webkit.org/show_bug.cgi?id=27842 * platform/graphics/GraphicsContext.h: * platform/graphics/wince/GraphicsContextWince.cpp: (WebCore::rectCenterPoint): (WebCore::GraphicsContext::fillRoundedRect): (WebCore::GraphicsContext::drawRoundCorner): 2009-08-10 Anthony Ricaud Reviewed by Timothy Hatcher. Inspector Resources / Graphs should support filtering https://bugs.webkit.org/show_bug.cgi?id=20629 Introduces a filter bar for resources. Thanks to Matt Lilek for the CSS scope bar. * English.lproj/localizedStrings.js: * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel.createFilterElement): (WebInspector.ResourcesPanel): (WebInspector.ResourcesPanel.prototype.toolbarItemClass.categoryOrder.filter): (WebInspector.ResourcesPanel.prototype._updateFilter): (WebInspector.ResourcesPanel.prototype._updateSummaryGraph): * inspector/front-end/inspector.css: * inspector/front-end/inspector.js: (WebInspector.loaded): 2009-08-10 Brent Fulgham Unreviewed build correction after http://trac.webkit.org/changeset/46978 * platform/network/curl/ResourceHandleManager.cpp: (WebCore::ResourceHandleManager::initializeHandle): Correct deprecated removeRef to new removeFragmentIdentifier. 2009-08-07 Ryosuke Niwa Reviewed by Justin Garcia. Background color formatting lost on enter https://bugs.webkit.org/show_bug.cgi?id=20348 This patch makes background color be preserved during editing. In particular, editingStyleAtPosition would include the background color when obtaining styles. * editing/ApplyStyleCommand.cpp: (WebCore::): Added CSSPropertyBackgroundColor to editingStyleProperties 2009-08-10 Kenneth Rohde Christiansen Reviewed by Simon Hausmann. Stop sending QEvent::CursorChange to Qt for mouse move. Verify if the cursor didn't change in WidgetQt::setCursor, just like the mac port does. Thanks to Adriano Rezendo for spotting and debugging the issue. * platform/qt/WidgetQt.cpp: (WebCore::Widget::setCursor): 2009-08-10 Alexey Proskuryakov Reviewed by Brady Eidson. https://bugs.webkit.org/show_bug.cgi?id=28165 Application cache maximum size cannot be set before the database is opened * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::vacuumDatabaseFile): Open appcache database if it isn't open yet. 2009-08-10 Vitaly Repeshko Reviewed by Dimitri Glazkov. [V8] Fix memory leak in node event listeners. See http://crbug.com/17400. https://bugs.webkit.org/show_bug.cgi?id=28156 * bindings/scripts/CodeGeneratorV8.pm: Custom event handler accessors now apply to all Node descendants. * bindings/v8/V8AbstractEventListener.h: (WebCore::V8AbstractEventListener::isObjectListener): Added virtual method to detect listeners that have weak references to JS objects. * bindings/v8/V8DOMWrapper.cpp: (WebCore::V8DOMWrapper::getTemplate): * bindings/v8/V8ObjectEventListener.cpp: * bindings/v8/V8ObjectEventListener.h: (WebCore::V8ObjectEventListener::isObjectListener): * bindings/v8/V8Utilities.cpp: (WebCore::removeHiddenDependency): * bindings/v8/custom/V8CustomBinding.h: * bindings/v8/custom/V8ElementCustom.cpp: * bindings/v8/custom/V8NodeCustom.cpp: Moved custom accessors from V8ElementCustom.cpp. (WebCore::toEventType): (WebCore::getEventListener): (WebCore::ACCESSOR_SETTER): (WebCore::ACCESSOR_GETTER): (WebCore::CALLBACK_FUNC_DECL): * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: (WebCore::getEventListener): Made static. 2009-08-10 Jeremy Orlow Reviewed by Darin Fisher. Cleanup DOM Storage namespace shutdown code + usage of security origin. https://bugs.webkit.org/show_bug.cgi?id=28094 If a storage namespace is not explicitly closed, be sure to do so on destruction of the object. In addition, the close call should wait on the background thread finishing its syncing. (Not doing so is actually a regression from the original LocalStorage code.) There's no point to passing in the SecurityOrigin when copying a storage area since what was passed in is exactly what is stored within each storage area. In addition, the non-copy constructor should take in a PassRefPtr rather than a pointer since that pointer was only passed into the constuctor for RefPtr's anyway. * storage/StorageAreaImpl.cpp: (WebCore::StorageAreaImpl::StorageAreaImpl): (WebCore::StorageAreaImpl::copy): * storage/StorageAreaImpl.h: * storage/StorageNamespaceImpl.cpp: (WebCore::StorageNamespaceImpl::StorageNamespaceImpl): (WebCore::StorageNamespaceImpl::~StorageNamespaceImpl): (WebCore::StorageNamespaceImpl::copy): (WebCore::StorageNamespaceImpl::close): * storage/StorageNamespaceImpl.h: 2009-08-10 Nikolas Zimmermann Not reviewed, build fix. Rename ref() to fragmentIdentifier() in the wml/ subdirectory. * wml/WMLCardElement.cpp: (WebCore::WMLCardElement::determineActiveCard): * wml/WMLGoElement.cpp: (WebCore::WMLGoElement::executeTask): * wml/WMLPageState.cpp: (WebCore::WMLPageState::canAccessDeck): 2009-08-10 Steve Falkenburg Windows build fix. Exclude JSMedia.cpp from build since it is included in DerivedSources.cpp. Fixes linker warnings. Corrected spelling of JSInspectorBackend.cpp. Other changes related to actually using a Visual Studio to open/save the vcproj file. * WebCore.vcproj/WebCore.vcproj: 2009-08-10 Sam Weinig Reviewed by Anders Carlsson. Remove a dead #define. * bindings/js/JSDOMBinding.cpp: 2009-08-10 Dimitri Glazkov Unreviewed, build fix. [Chromium] Update KURLGoogle for ref* method renames in http://trac.webkit.org/changeset/46978. https://bugs.webkit.org/show_bug.cgi?id=28084 * bindings/v8/custom/V8LocationCustom.cpp: (WebCore::ACCESSOR_SETTER): Renamed ref and setRef to fragmentIdentifier and setFragmentIdentifier, respectively. * platform/KURLGoogle.cpp: Ditto, plus all other ref* method names. 2009-08-10 Jan Michael Alonzo [Gtk] Unreviewed. Fix the nit as suggested by Darin in bug #28144 for r46989. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::finishedCallback): 2009-08-10 John Kjellberg Reviewed by Darin Adler. Memory leak in error handling code for SOUP interface https://bugs.webkit.org/show_bug.cgi?id=28144 Freed memory leaked in error handling code for soup requests. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::finishedCallback): (WebCore::): 2009-08-10 Dimitri Glazkov Reviewed by Darin Adler. Provide graceful handling of the situation when an embedder invokes visited link update methods before a Page constructor has been called. https://bugs.webkit.org/show_bug.cgi?id=28149 * page/Page.cpp: (WebCore::Page::allVisitedStateChanged): Added a null-check for allPages. (WebCore::Page::visitedStateChanged): Ditto. 2009-08-10 Xan Lopez Fix GTK+ build. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::): 2009-08-10 Dan Bernstein Reviewed by Anders Carlsson. Remove the redundant, Windows CE-only GlyphBuffer::advnaceData() * platform/graphics/GlyphBuffer.h: Removed advanceData(). * platform/graphics/wince/GraphicsContextWince.cpp: (WebCore::GraphicsContext::drawText): Changed to use advances(from) instead of advanceData() + from. 2009-08-10 Xan Lopez Reviewed by Gustavo Noronha. Remove workaround for older libsoup versions. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::fillResponseFromMessage): 2009-08-10 Xan Lopez Reviewed by Gustavo Noronha. Let startHttp validate the URI instead of doing it, with potential crashes, in ::start. * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::startHttp): 2009-08-10 Darin Adler Reviewed by Dan Bernstein. When empty is focused, getSelection() exposes shadow tree nodes https://bugs.webkit.org/show_bug.cgi?id=15903 Test: fast/forms/shadow-tree-exposure.html * page/DOMSelection.cpp: (WebCore::selectionShadowAncestor): Added. (WebCore::DOMSelection::anchorNode): Return the parent of the shadow ancestor if the selection is in a shadow tree. Matches Firefox. (WebCore::DOMSelection::anchorOffset): Return the index of the shadow ancestor if the selection is in a shadow tree. Matches Firefox. (WebCore::DOMSelection::focusNode): Ditto. (WebCore::DOMSelection::focusOffset): Ditto. (WebCore::DOMSelection::baseNode): More of the same, but since this is a WebKit-invented property, it does not match Firefox. (WebCore::DOMSelection::baseOffset): Ditto. (WebCore::DOMSelection::extentNode): Ditto. (WebCore::DOMSelection::extentOffset): Ditto. (WebCore::DOMSelection::isCollapsed): Return true even when the selection is a range, if the selection is in the shadow tree. Matches Firefox. Also changed behavior when called and the frame is gone to return true instead of false which makes more sense. (WebCore::DOMSelection::empty): Use clear() just like the other selection-clearing function in this file does. (WebCore::DOMSelection::getRangeAt): Return a range that starts and ends before the shadow ancestor. Matches Firefox. 2009-08-10 Pavel Feldman Reviewed by Timothy Hatcher. Web Inspector: Make all status bar button images glyph-based. https://bugs.webkit.org/show_bug.cgi?id=28124 * inspector/front-end/ElementsPanel.js: (WebInspector.ElementsPanel): * inspector/front-end/Images/clearConsoleButtonGlyph.png: Added. * inspector/front-end/Images/clearConsoleButtons.png: Removed. * inspector/front-end/Images/consoleButtonGlyph.png: Added. * inspector/front-end/Images/consoleButtons.png: Removed. * inspector/front-end/Images/dockButtonGlyph.png: Added. * inspector/front-end/Images/dockButtons.png: Removed. * inspector/front-end/Images/enableButtons.png: Removed. * inspector/front-end/Images/enableOutlineButtonGlyph.png: Added. * inspector/front-end/Images/enableSolidButtonGlyph.png: Added. * inspector/front-end/Images/excludeButtonGlyph.png: Added. * inspector/front-end/Images/excludeButtons.png: Removed. * inspector/front-end/Images/focusButtonGlyph.png: Added. * inspector/front-end/Images/focusButtons.png: Removed. * inspector/front-end/Images/largerResourcesButtonGlyph.png: Added. * inspector/front-end/Images/largerResourcesButtons.png: Removed. * inspector/front-end/Images/nodeSearchButtonGlyph.png: Added. * inspector/front-end/Images/nodeSearchButtons.png: Removed. * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Added. * inspector/front-end/Images/pauseOnExceptionButtons.png: Removed. * inspector/front-end/Images/percentButtonGlyph.png: Added. * inspector/front-end/Images/percentButtons.png: Removed. * inspector/front-end/Images/recordButtonGlyph.png: Added. * inspector/front-end/Images/recordButtons.png: Removed. * inspector/front-end/Images/recordToggledButtonGlyph.png: Added. * inspector/front-end/Images/reloadButtonGlyph.png: Added. * inspector/front-end/Images/reloadButtons.png: Removed. * inspector/front-end/Images/undockButtonGlyph.png: Added. * inspector/front-end/Panel.js: (WebInspector.Panel.prototype.createStatusBarButton): * inspector/front-end/ProfilesPanel.js: (WebInspector.ProfilesPanel): * inspector/front-end/ResourcesPanel.js: (WebInspector.ResourcesPanel): * inspector/front-end/ScriptsPanel.js: (WebInspector.ScriptsPanel): * inspector/front-end/WebKit.qrc: * inspector/front-end/inspector.css: * inspector/front-end/inspector.html: 2009-08-07 Brady Eidson Reviewed by Darin Adler. KURL ref() methods should be fragmentIdentifier() methods https://bugs.webkit.org/show_bug.cgi?id=28084 In addition to the renames, also took the chance to replace all use of: setRef(String()); with: removeFragmentIdentifier(); * platform/KURL.cpp: (WebCore::KURL::fragmentIdentifier): (WebCore::KURL::hasFragmentIdentifier): (WebCore::KURL::setFragmentIdentifier): (WebCore::KURL::removeFragmentIdentifier): (WebCore::KURL::prettyURL): (WebCore::equalIgnoringFragmentIdentifier): * platform/KURL.h: * bindings/js/JSLocationCustom.cpp: (WebCore::JSLocation::setHash): Rework with new names, and to use the new equalIgnoringNullity() method. * accessibility/AccessibilityRenderObject.cpp: (WebCore::AccessibilityRenderObject::internalLinkElement): * css/CSSCursorImageValue.cpp: (WebCore::isSVGCursorIdentifier): * history/HistoryItem.cpp: (WebCore::HistoryItem::isCurrentDocument): * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::hash): * html/HTMLFrameElementBase.cpp: (WebCore::HTMLFrameElementBase::isURLAllowed): * loader/FrameLoader.cpp: (WebCore::FrameLoader::begin): (WebCore::FrameLoader::gotoAnchor): (WebCore::FrameLoader::scheduleLocationChange): (WebCore::FrameLoader::scrollToAnchor): (WebCore::FrameLoader::shouldReload): (WebCore::FrameLoader::urlsMatchItem): * loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::resourceForURL): (WebCore::ApplicationCache::resourceForRequest): * loader/appcache/ApplicationCacheGroup.cpp: (WebCore::ApplicationCacheGroup::cacheForMainRequest): (WebCore::ApplicationCacheGroup::fallbackCacheForMainRequest): (WebCore::ApplicationCacheGroup::selectCache): (WebCore::ApplicationCacheGroup::finishedLoadingMainResource): (WebCore::ApplicationCacheGroup::didReceiveResponse): (WebCore::ApplicationCacheGroup::didFail): (WebCore::ApplicationCacheGroup::addEntry): * loader/appcache/ApplicationCacheResource.h: (WebCore::ApplicationCacheResource::create): * loader/appcache/ApplicationCacheStorage.cpp: (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): (WebCore::ApplicationCacheStorage::cacheGroupForURL): (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): * loader/appcache/ManifestParser.cpp: (WebCore::parseManifest): * page/Location.cpp: (WebCore::Location::hash): * page/Page.cpp: (WebCore::Page::goToItem): * rendering/RenderPartObject.cpp: (WebCore::isURLAllowed): * workers/WorkerLocation.cpp: (WebCore::WorkerLocation::hash): 2009-08-10 Andy Shaw Reviewed by Simon Hausmann. Fix endless loop when the application is quit by a secondary thread during a sync xml http request. Replace the m_finished state variable and the call to QCoreApplication::processEvents() with a dedicated QEventLoop, that can be terminated from within WebCoreSynchronousLoader as well as from Qt through its knowledge of globally registered eventloops. There is no unit test for this bug as it would require exporting additional symbols and introduce the synchronous loader as global variable just for the test. * platform/network/qt/ResourceHandleQt.cpp: (WebCore::WebCoreSynchronousLoader::didFinishLoading): (WebCore::WebCoreSynchronousLoader::didFail): (WebCore::WebCoreSynchronousLoader::waitForCompletion): 2009-08-10 Pavel Feldman Reviewed by Timothy Hatcher. WebInspector: Make properties inspection serialized. https://bugs.webkit.org/show_bug.cgi?id=28078 * inspector/front-end/DOMAgent.js: (InspectorController.getPrototypes): (InspectorController.getProperties): * inspector/front-end/InjectedScript.js: (InjectedScript.getPrototypes): (InjectedScript.getProperties): (InjectedScript.setPropertyValue): * inspector/front-end/ObjectPropertiesSection.js: (WebInspector.ObjectRef): (WebInspector.ObjectPropertyRef): (WebInspector.ObjectPropertiesSection.prototype.onpopulate): (WebInspector.ObjectPropertiesSection.prototype.update.callback): (WebInspector.ObjectPropertiesSection.prototype.update): (WebInspector.ObjectPropertiesSection.prototype._update): (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback): (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): (WebInspector.ObjectPropertyTreeElement.prototype.onattach): (WebInspector.ObjectPropertyTreeElement.prototype.update): * inspector/front-end/PropertiesSidebarPane.js: (WebInspector.PropertiesSidebarPane.prototype.update.callback): (WebInspector.PropertiesSidebarPane.prototype.update): 2009-08-09 Nikolas Zimmermann Reviewed by George Staikos. [WML] wml.css lacks
 support
        https://bugs.webkit.org/show_bug.cgi?id=28135

        Add 
 support for WML.
        Extended fast/wml/text-emphasis.wml to cover 
 support.

        * css/wml.css: 
 section copied from html.css

2009-08-09  Nikolas Zimmermann  

        Reviewed by Oliver Hunt.

        Fix non-WML enabled builds. Remove ENABLE(WML) guards around the switch cases 'FrameLoadTypeBackWMLDeckNotAccessible'.

        * loader/FrameLoader.cpp:
        (WebCore::isBackForwardLoadType):
        (WebCore::FrameLoader::restoreDocumentState):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::loadItem):

2009-08-09  Nikolas Zimmermann  

        Reviewed by George Staikos.

        [WML] Deck access control is completly broken
        https://bugs.webkit.org/show_bug.cgi?id=27721

        Rewrite WML deck access control, actually works now standalone and within LayoutTests.
        Added several new layout tests covering local & remote access support.

        In order to detect WML task execution failures from within the WML layout tests a new
        method Console::lastWMLErrorMessage() has been added, returning the last recorded WML
        error message. Change WML log messages to dump to InspectorClient, just like it's done
        for HTML - we used to behave like JSMessageSource, which is wrong.

        Tests: http/tests/wml/access-target-domain-deny.html
               http/tests/wml/access-target-path-deny.html
               http/tests/wml/access-target.html
               wml/access-target-deny.html
               wml/access-target.html

        * inspector/ConsoleMessage.h:
        (WebCore::ConsoleMessage::source): Added public method to fetch the message source type.
        (WebCore::ConsoleMessage::message): Added public method to access the error message.
        * inspector/InspectorController.h:
        (WebCore::InspectorController::consoleMessages): Added for Console::lastWMLErrorMessage(), to be able to crawl through the list of dumped messages.
        * loader/FrameLoader.cpp: Recognize 'FrameLoadTypeBackWMLDeckNotAccessible', all guarded by ENABLE(WML).
        (WebCore::isBackForwardLoadType):
        (WebCore::FrameLoader::restoreDocumentState):
        (WebCore::FrameLoader::transitionToCommitted):
        (WebCore::FrameLoader::loadItem):
        * loader/FrameLoaderTypes.h:
        (WebCore::): Add new load type 'FrameLoadTypeBackWMLDeckNotAccessible', behaving like FrameLoadTypeBack plus WML specific information.
        * page/Console.cpp:
        (WebCore::Console::addMessage): Don't dump WML messages using ChromeClient (as it's done for JSMessageSource), but go through InspectorController.
        (WebCore::Console::lastWMLErrorMessage): Crawl InspectorController::consoleMssages() to look up the last WML error message, if present.
        * page/Console.h:
        * page/Console.idl: Add "[DontEnum] DOMString lastWMLErrorMessage()".
        * wml/WMLAccessElement.cpp: Store path/domain as member variables and pass them to WMLPageState once in insertedIntoDocument().
        (WebCore::WMLAccessElement::parseMappedAttribute):
        (WebCore::WMLAccessElement::insertedIntoDocument):
        * wml/WMLAccessElement.h:
        * wml/WMLCardElement.cpp: Handle 'FrameLoadTypeBackWMLDeckNotAccessible' as deck-entry method. Report WML error in current deck.
        (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
        * wml/WMLDocument.cpp: Enable deck-access control in finishedParsing. Take care of method name changes in WMLPageState.
        (WebCore::WMLDocument::finishedParsing):
        (WebCore::WMLDocument::initialize):
        * wml/WMLErrorHandling.cpp: Never report 'WMLErrorDeckNotAccessible' messages through the tokenizer, that would alter the page into error state.
        (WebCore::reportWMLError):
        * wml/WMLPageState.cpp: Completly rewrote access path/domain parsing & deck-access control, strictly following the WML spec. All covered by tests.
        (WebCore::WMLPageState::WMLPageState):
        (WebCore::normalizedHostName):
        (WebCore::hostFromURL):
        (WebCore::urlForHistoryItem):
        (WebCore::tryAccessHistoryURLs):
        (WebCore::WMLPageState::processAccessControlData):
        (WebCore::WMLPageState::resetAccessControlData):
        (WebCore::WMLPageState::canAccessDeck):
        (WebCore::WMLPageState::hostIsAllowedToAccess):
        (WebCore::WMLPageState::pathIsAllowedToAccess):
        * wml/WMLPageState.h:

2009-08-09  Nikolas Zimmermann  

        Reviewed by Maciej Stachowiak.

        FrameLoadType / WebFrameLoadType enums are out of sync
        https://bugs.webkit.org/show_bug.cgi?id=28132

        Modify FrameLoadType enum to match the order of WebFrameLoadType in WebFramePrivate.h / IWebFramePrivate.idl.
        The mac/win public API exposes the old 'FrameLoadTypeReloadAllowingStaleData' value, which resides between
        'FrameLoadTypeReload' and 'FrameLoadTypeSame'. Work around this problem, by assigning 'FrameLoadTypeSame = FrameLoadTypeReload + 2'.

        Add a note to the FrameLoadType enum to keep it in sync with WebFramePrivate.h & IWebFramePrivate.idl.

        * loader/FrameLoaderTypes.h:
        (WebCore::):

2009-08-09  Nikolas Zimmermann  

        Reviewed by George Staikos.

        [WML] manual-tests/wml/onevent-prev.wml crashes
        https://bugs.webkit.org/show_bug.cgi?id=27722

        Fix intrinsic event execution, leading to crashes.
        First finish parsing the document, then execute the events. Not the other way round.
        -> exposes bugs all over the WML layout tests, which relied on that quirk.

        Fixes manual-tests/wml/onevent-prev.wml.

        * wml/WMLDocument.cpp:
        (WebCore::WMLDocument::WMLDocument):
        (WebCore::WMLDocument::finishedParsing):
        (WebCore::WMLDocument::initialize):
        * wml/WMLDocument.h:

2009-08-08  Dimitri Glazkov  

        Unreviewed, build fix.

        [Chromium] Update WebCore.gyp to add ImageBuffer.cpp,
        introduced by http://trac.webkit.org/changeset/46956.
        https://bugs.webkit.org/show_bug.cgi?id=27844

        * WebCore.gypi: Added ImageBuffer.cpp.

2009-08-08  Nikolas Zimmermann  

        Rubber-stamped by Jan Michael Alonzo.

        Add [DontEnum] to WML specific initializeWMLPageState/resetWMLPageState methods, to assure
        fast/dom/Window/window-properties.html doesn't show any differences when WML is enabled.

        * dom/Document.idl:

2009-08-08  Dirk Schulze  

        Reviewed by Eric Seidel.

        SVG Filter need feColorMatrix implementation
        [https://bugs.webkit.org/show_bug.cgi?id=27711]

        Adds the filter effect feColorMatrix to SVG filters. 

        There is already a test in the w3c directory.
        Test: svg/W3C-SVG-1.1/filters-color-01-b.svg

        * platform/graphics/filters/FEColorMatrix.cpp:
        (WebCore::matrix):
        (WebCore::saturate):
        (WebCore::huerotate):
        (WebCore::luminance):
        (WebCore::FEColorMatrix::apply):

2009-08-08  Dirk Schulze  

        Reviewed by Oliver Hunt.

        Build fix for Tiger.
        https://bugs.webkit.org/show_bug.cgi?id=27844

        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):

2009-08-08  Dirk Schulze  

        Reviewed by Oliver Hunt.

        This is an initial implementation for linearRGB and sRGB support for all
        platforms. Some platforms like Cg support different color spaces
        natively, others like Qt, Cairo and Skia do not. This patch uses the
        native implementation of platforms if possible and offers a common version
        if not.

        Different color spaces are used in SVG Filters. Nearly every Filter test 
        case is a test for this patch and will be enabled, once Filters are enabled.
        https://bugs.webkit.org/show_bug.cgi?id=27844

        * GNUmakefile.am:
        * WebCore.pro:
        * html/canvas/CanvasRenderingContext2D.cpp:
        (WebCore::CanvasRenderingContext2D::drawTextInternal):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::createImageBuffer):
        * platform/graphics/GeneratedImage.cpp:
        (WebCore::GeneratedImage::drawPattern):
        * platform/graphics/ImageBuffer.cpp: Added.
        (WebCore::ImageBuffer::transformColorSpace):
        * platform/graphics/ImageBuffer.h:
        (WebCore::):
        (WebCore::ImageBuffer::create):
        * platform/graphics/cairo/ImageBufferCairo.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * platform/graphics/cairo/ImageCairo.cpp:
        (WebCore::Image::drawPattern):
        * platform/graphics/cg/ImageBufferCG.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/graphics/chromium/TransparencyWin.cpp:
        (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
        * platform/graphics/filters/FilterEffect.cpp:
        (WebCore::FilterEffect::getEffectContext):
        * platform/graphics/qt/ImageBufferQt.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * platform/graphics/qt/PathQt.cpp:
        (WebCore::Path::strokeContains):
        (WebCore::Path::strokeBoundingRect):
        * platform/graphics/skia/ImageBufferSkia.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        (WebCore::ImageBuffer::platformTransformColorSpace):
        * platform/graphics/skia/SkiaUtils.cpp:
        (WebCore::scratchContext):
        * platform/graphics/wx/ImageBufferWx.cpp:
        (WebCore::ImageBuffer::ImageBuffer):
        * platform/mac/ScrollbarThemeMac.mm:
        (WebCore::ScrollbarThemeMac::paint):
        * rendering/RenderBoxModelObject.cpp:
        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
        * svg/SVGMaskElement.cpp:
        (WebCore::SVGMaskElement::drawMaskerContent):
        * svg/SVGPatternElement.cpp:
        (WebCore::SVGPatternElement::buildPattern):
        * svg/graphics/SVGImage.cpp:
        (WebCore::SVGImage::nativeImageForCurrentFrame):
        * svg/graphics/SVGPaintServerGradient.cpp:
        (WebCore::createMaskAndSwapContextForTextGradient):
        * svg/graphics/SVGPaintServerPattern.cpp:
        (WebCore::SVGPaintServerPattern::setup):
        * svg/graphics/SVGResourceFilter.cpp:
        (WebCore::SVGResourceFilter::prepareFilter):
        (WebCore::SVGResourceFilter::applyFilter):
        * svg/graphics/SVGResourceMasker.cpp:
        (WebCore::SVGResourceMasker::applyMask):
        * svg/graphics/filters/SVGFETile.cpp:
        (WebCore::FETile::apply):

2009-08-08  Xan Lopez  

        Roll out r46928, since it wasn't done in accordance with the
        agreed naming.

        * bindings/gdom/GdomDOMObject.cpp: Removed.

2009-08-08  Jan Michael Alonzo  

        Reviewed by Xan Lopez.

        [Gtk] Enable accessibility in Gtk DRT
        https://bugs.webkit.org/show_bug.cgi?id=25989

        Add SPI to get the focused accessible element to be used by DRT.

        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (webkit_accessible_get_focused_element):
        * accessibility/gtk/AccessibilityObjectWrapperAtk.h:

2009-08-07  Jan Michael Alonzo  

        Gtk build fix - add html/canvas to the binding generator's include path

        * GNUmakefile.am:

2009-08-07  Oliver Hunt  

        Another attempt to fix windows.

        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.vcproj/WebCoreCommon.vsprops:

2009-08-07  Oliver Hunt  

        Windows build fix

        * WebCore.vcproj/WebCore.vcproj:

2009-08-07  Jan Michael Alonzo  

        Gtk build fix - add html/canvas to the include path.

        * GNUmakefile.am:

2009-08-07  Adam Treat  

        Prospective build fix for Qt following r46937.

        * WebCore.pro:

2009-08-07  Yong Li  

        WINCE PORT: store only width for GlyphBufferAdvance, to save space on low-memory devices
        https://bugs.webkit.org/show_bug.cgi?id=27734

        * platform/graphics/GlyphBuffer.h:
        (WebCore::GlyphBuffer::advanceAt):
        (WebCore::GlyphBuffer::advanceData):
        (WebCore::GlyphBuffer::add):

2009-08-07  Yong Li  

        Reviewed by Eric Seidel.

        WINCE PORT: pass unrecognized glyphs to GDI to handle
        https://bugs.webkit.org/show_bug.cgi?id=27734

        * platform/graphics/FontFastPath.cpp:
        (WebCore::Font::glyphDataForCharacter):

2009-08-07  Chris Marrin  

        Reviewed by Oliver Hunt.

        Move Canvas related file to a subdirectories
        https://bugs.webkit.org/show_bug.cgi?id=28026

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/CanvasGradient.cpp: Removed.
        * html/CanvasGradient.h: Removed.
        * html/CanvasGradient.idl: Removed.
        * html/CanvasPattern.cpp: Removed.
        * html/CanvasPattern.h: Removed.
        * html/CanvasPattern.idl: Removed.
        * html/CanvasPixelArray.cpp: Removed.
        * html/CanvasPixelArray.h: Removed.
        * html/CanvasPixelArray.idl: Removed.
        * html/CanvasRenderingContext2D.cpp: Removed.
        * html/CanvasRenderingContext2D.h: Removed.
        * html/CanvasRenderingContext2D.idl: Removed.
        * html/CanvasStyle.cpp: Removed.
        * html/CanvasStyle.h: Removed.
        * html/canvas: Added.
        * html/canvas/CanvasGradient.cpp: Copied from WebCore/html/CanvasGradient.cpp.
        * html/canvas/CanvasGradient.h: Copied from WebCore/html/CanvasGradient.h.
        * html/canvas/CanvasGradient.idl: Copied from WebCore/html/CanvasGradient.idl.
        * html/canvas/CanvasPattern.cpp: Copied from WebCore/html/CanvasPattern.cpp.
        * html/canvas/CanvasPattern.h: Copied from WebCore/html/CanvasPattern.h.
        * html/canvas/CanvasPattern.idl: Copied from WebCore/html/CanvasPattern.idl.
        * html/canvas/CanvasPixelArray.cpp: Copied from WebCore/html/CanvasPixelArray.cpp.
        * html/canvas/CanvasPixelArray.h: Copied from WebCore/html/CanvasPixelArray.h.
        * html/canvas/CanvasPixelArray.idl: Copied from WebCore/html/CanvasPixelArray.idl.
        * html/canvas/CanvasRenderingContext2D.cpp: Copied from WebCore/html/CanvasRenderingContext2D.cpp.
        * html/canvas/CanvasRenderingContext2D.h: Copied from WebCore/html/CanvasRenderingContext2D.h.
        * html/canvas/CanvasRenderingContext2D.idl: Copied from WebCore/html/CanvasRenderingContext2D.idl.
        * html/canvas/CanvasStyle.cpp: Copied from WebCore/html/CanvasStyle.cpp.
        * html/canvas/CanvasStyle.h: Copied from WebCore/html/CanvasStyle.h.

2009-08-07  Szabo Carol  

        Reviewed by David Hyatt.

        QtWebkit ignores letter-spacing and word-spacing styles.
        QtWebkit handles custom letter-spacing and word-spacing in the native QFont
        class, but the values for these options are not not passed on from
        the platform independent part of the Font class.
        Fixed QtWebkit behavior by applying the options to QFont when it is
        returned via Font::font()

        http://bugs.webkit.org/show_bug.cgi?id=27988

        LayoutTests:
        fast/css/word-space-extra.html
        css2.1/t1604-c542-letter-sp-00-b-a.html
        css2.1/t1604-c541-word-sp-01-b-a.html
        css1/text_properties/word_spacing.html
        
        * platform/graphics/qt/FontQt.cpp:
        (WebCore::Font::font):

2009-08-07  Nicolas Weber  

        Reviewed by Darin Adler.

        Use correct highlight color for listboxes and completion popups.

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

        * rendering/RenderThemeChromiumMac.h:
        * rendering/RenderThemeChromiumMac.mm:
        Rename activeListBoxSelectionBackgroundColor to
        platformActiveListBoxSelectionBackgroundColor, so that it actually
        overrides a virtual method.

2009-08-07  Maxime Simon  

        Reviewed by Eric Seidel.

        Added a fourth bunch of Haiku-specific files for WebCore.
        https://bugs.webkit.org/show_bug.cgi?id=26988

        * platform/haiku/PasteboardHaiku.cpp: Added.
        (WebCore::Pasteboard::Pasteboard):
        (WebCore::Pasteboard::generalPasteboard):
        (WebCore::Pasteboard::writeSelection):
        (WebCore::Pasteboard::canSmartReplace):
        (WebCore::Pasteboard::plainText):
        (WebCore::Pasteboard::documentFragment):
        (WebCore::Pasteboard::writeURL):
        (WebCore::Pasteboard::writeImage):
        (WebCore::Pasteboard::clear):
        * platform/haiku/PlatformKeyboardEventHaiku.cpp: Added.
        (WebCore::keyIdentifierForHaikuKeyCode):
        (WebCore::windowsKeyCodeForKeyEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
        * platform/haiku/PlatformMouseEventHaiku.cpp: Added.
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/haiku/PlatformWheelEventHaiku.cpp: Added.
        (WebCore::PlatformWheelEvent::PlatformWheelEvent):

2009-08-07  Nicolas Weber  

        Teach WebKit how to decode jpegs in cmyk and ycck color spaces.
        Heavily inspired by Firefox's take on this issue.

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

        Reviewed by Eric Seidel.

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
        (WebCore::JPEGImageReader::decode):
        Tell jpeglib to convert ycck to cmyk and keep cmyk.
        (WebCore::convertCMYKToRGBA):
        Added function to convert cmyk to rgb.
        (WebCore::convertRGBToRGBA):
        Extracted existing conversion logic into its own function.
        (WebCore::JPEGImageDecoder::outputScanlines):
        Call convertCMYKToRGBA for cmyk images, convertRGBToRGBA for rgb
        images.

2009-08-07  Drew Wilson  

        Reviewed by David Levin.

        SharedWorkers should be shared
        https://bugs.webkit.org/show_bug.cgi?id=28058

        Added tracking of shared workers to the SharedWorkerRepository.

        * workers/DefaultSharedWorkerRepository.cpp:
        (WebCore::SharedWorkerProxy::create):
        Changed SharedWorkerProxy to derive from ThreadSafeShared, as it needs to outlive the repository (if closed while some documents are still loading).
        (WebCore::SharedWorkerProxy::thread):
        (WebCore::SharedWorkerProxy::closing):
        Added flag used to determine whether the worker has closed itself while loading.
        (WebCore::SharedWorkerProxy::url):
        (WebCore::SharedWorkerProxy::name):
        Proxy now tracks worker URL and name to allow validity checks per section 4.8.3 of the WebWorkers spec.
        (WebCore::SharedWorkerProxy::SharedWorkerProxy):
        (WebCore::SharedWorkerProxy::addToDocumentSet):
        Added API to track the document set for a worker to allow worker shutdown. Currently does nothing.
        (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
        Renamed SharedWorkerLoader to be SharedWorkerScriptLoader for clarity.
        (WebCore::SharedWorkerScriptLoader::load):
        (WebCore::SharedWorkerScriptLoader::notifyFinished):
        (WebCore::DefaultSharedWorkerRepository::instance):
        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
        Now handles "worker already loaded" case.
        (WebCore::SharedWorkerRepository::connect):
        Delegates to DefaultSharedWorkerRepository::connectToWorker
        (WebCore::DefaultSharedWorkerRepository::connectToWorker):
        Added code to track the SharedWorkerProxy in a map, and to handle the "worker already loaded" case.
        (WebCore::DefaultSharedWorkerRepository::getProxy):
        Atomic get-or-create operation on the internal tracking HashMap.
        * workers/DefaultSharedWorkerRepository.h:
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::SharedWorker):
        * workers/SharedWorkerRepository.h:
        Removed instance() API and made constructor private to prevent instantiation.
        (WebCore::SharedWorkerRepository::SharedWorkerRepository):

2009-08-07  Maxime Simon  

        Reviewed by Eric Seidel.

        Added four Haiku-specific files for WebCore:
        PopupMenuHaiku.cpp, ScreenHaiku.cpp,
        SearchPopupMenuHaiku.cpp and SoundHaiku.cpp
        https://bugs.webkit.org/show_bug.cgi?id=28080

        * platform/haiku/PopupMenuHaiku.cpp: Added.
        (WebCore::PopupMenu::PopupMenu):
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::hide):
        (WebCore::PopupMenu::updateFromElement):
        (WebCore::PopupMenu::itemWritingDirectionIsNatural):
        * platform/haiku/ScreenHaiku.cpp: Added.
        (WebCore::screenRect):
        (WebCore::screenAvailableRect):
        (WebCore::screenDepth):
        (WebCore::screenDepthPerComponent):
        (WebCore::screenIsMonochrome):
        * platform/haiku/SearchPopupMenuHaiku.cpp: Added.
        (WebCore::SearchPopupMenu::SearchPopupMenu):
        (WebCore::SearchPopupMenu::saveRecentSearches):
        (WebCore::SearchPopupMenu::loadRecentSearches):
        (WebCore::SearchPopupMenu::enabled):
        * platform/haiku/SoundHaiku.cpp: Added.
        (WebCore::systemBeep):

2009-08-07  Maxime Simon  

        Reviewed by Eric Seidel.

        Added two Haiku-specific files to WebCore:
        TemporaryLinkStubs.cpp and WidgetHaiku.cpp
        https://bugs.webkit.org/show_bug.cgi?id=28080

        * platform/haiku/TemporaryLinkStubs.cpp: Added.
        (loadResourceIntoArray):
        (WebCore::historyContains):
        (WebCore::supportedKeySizes):
        (WebCore::signedPublicKeyAndChallengeString):
        (WebCore::userIdleTime):
        (WebCore::callOnMainThread):
        (WebCore::SharedBuffer::createWithContentsOfFile):
        (WebCore::KURL::fileSystemPath):
        (WebCore::getSupportedKeySizes):
        * platform/haiku/WidgetHaiku.cpp: Added.
        (WebCore::Widget::Widget):
        (WebCore::Widget::~Widget):
        (WebCore::Widget::frameRect):
        (WebCore::Widget::setFrameRect):
        (WebCore::Widget::setFocus):
        (WebCore::Widget::setCursor):
        (WebCore::Widget::show):
        (WebCore::Widget::hide):
        (WebCore::Widget::paint):
        (WebCore::Widget::setIsSelected):

2009-08-07  Jian Li  

        Reviewed by Dimitri Glazkov.

        [V8] Fix the problem that isAttribute is set to false for onerror and
        onmessage in worker custom code.
        https://bugs.webkit.org/show_bug.cgi?id=28083

        * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::ACCESSOR_SETTER):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_SETTER):

2009-08-07  Vitaly Repeshko  

        Reviewed by Dimitri Glazkov.

        V8 bindings: speed up lookupDOMWrapper by using new V8 API function.

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

        * bindings/v8/V8DOMWrapper.cpp:
        * bindings/v8/V8DOMWrapper.h:
        (WebCore::V8DOMWrapper::lookupDOMWrapper):

2009-08-07  Ryosuke Niwa  

        Reviewed by Justin Garcia.

        selectionHasStyle doesn't handle text-specific properties properly
        https://bugs.webkit.org/show_bug.cgi?id=27858

        This patch modifies selectionHasStyle so that it returns TrueTriState when text styles
        (text-decoration, font-style, font-weight, & color) are present in all text nodes,
        regardless of whether the style is also present in their ancestor nodes or not.
        e.g. New behavior concludes that helloworld has italic style.

        WebKit now applies the text styles (bold, italic, etc) if the specified style was not present on
        at least one text node, rather than at the beginning of selection except on Mac.
        On Mac, WebKit applies the text style if the style was not present at the beginning of style.

        Test: editing/execCommand/toggle-compound-styles.html

        * editing/ApplyStyleCommand.cpp:
        (WebCore::getPropertiesNotInComputedStyle): bug fix, must use copy instead of makeMutable for a mutable style.
        * editing/Editor.cpp:
        (WebCore::):
        (WebCore::triStateOfStyleInComputedStyle): Added a boolean type to ignore text-specific styles
        (WebCore::Editor::selectionHasStyle): Ignores text-specific styles for all but text nodes
        * editing/EditorCommand.cpp:
        (WebCore::executeToggleStyle): Uses selectionHasStyle instead of selectionStartHasStyle

2009-08-07  Jian Li  

        Reviewed by Dimitri Glazkov.

        [V8] Do not register V8 error message listener in WorkerContextExecutionProxy.
        https://bugs.webkit.org/show_bug.cgi?id=28082

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):

2009-08-07  Kwang Yul Seo  

        Reviewed by Eric Seidel.

        Cairo-based Windows port does not handle cookies properly
        https://bugs.webkit.org/show_bug.cgi?id=27414

        curl handles cookies by itself, so using WinINet functions
        to get and set cookies is wrong.

        Replace CookieJarWin.cpp with CookieJarCurl.cpp so that
        cookies can be implemented later once curl provides an API to
        get and set cookies.

        * WebCore.vcproj/WebCore.vcproj:

2009-08-07  Michael Nordman  

        Reviewed by Dimitri Glazkov.

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

        V8 bindings for the window.applicationCache attribute.

        * WebCore.gypi:
        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getTemplate):
        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:
        * bindings/v8/custom/V8CustomBinding.h:
        * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp: Added.

2009-08-07  Alpha Lam  

        Reviewed by Eric Seidel.

        Right click on timeline of media controls panel cause seek
        https://bugs.webkit.org/show_bug.cgi?id=27920

        Add a test simulate the behavior of seeking by right clicking
        on the time bar of media controls while playing.

        * media/controls-right-click-on-timebar-expected.txt: Added.
        * media/controls-right-click-on-timebar.html: Added.

2009-08-07  Ryosuke Niwa  

        Reviewed by Justin Garcia.

        deprecatedCopyInheritableProperties must be replaced by two different functions
        https://bugs.webkit.org/show_bug.cgi?id=28057

        This patch deletes deprecatedInheritableProperties and modifies call callees to call either editingStyleAtPosition
        or prepareEditingStyleToApplyAt. The concept of editing style is introduced in this patch,
        which consists of all CSS properties need to be preserved under editing operations.

        No test is added since this patch does not change any behavior.

        * css/CSSComputedStyleDeclaration.cpp: Removed deprecatedCopyInheritableProperties
        * css/CSSComputedStyleDeclaration.h: Removed deprecatedCopyInheritableProperties
        * editing/ApplyStyleCommand.cpp:
        (WebCore::):
        (WebCore::editingStyleAtPosition): Obtains the editing-specific computed style at the position
        (WebCore::prepareEditingStyleToApplyAt): Removes redundant editing styles at the specified position
        (WebCore::removeStylesAddedByNode): Removes the style derived from the specified node
        * editing/ApplyStyleCommand.h:
        (WebCore::):
        * editing/CompositeEditCommand.cpp:
        (WebCore::CompositeEditCommand::moveParagraphs): Uses editingStyleAtPosition
        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Uses editingStyleAtPosition
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::removeEnclosingAnchorStyle): Uses removeStyleOfNode
        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Uses editingStyleAtPosition
        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete): Uses prepareEditingStyleToApplyAt
        * editing/EditCommand.cpp:
        * editing/EditCommand.h:
        * editing/InsertParagraphSeparatorCommand.cpp:
        (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Uses editingStyleAtPosition
        (WebCore::InsertParagraphSeparatorCommand::applyStyleAfterInsertion): Uses prepareEditingStyleToApplyAt
        * editing/RemoveFormatCommand.cpp:
        (WebCore::RemoveFormatCommand::doApply): Uses editingStyleAtPosition
        * editing/ReplaceSelectionCommand.cpp:
        (WebCore::handleStyleSpansBeforeInsertion): Uses editingStyleAtPosition
        (WebCore::ReplaceSelectionCommand::handleStyleSpans): Uses editingStyleAtPosition and prepareEditingStyleToApplyAt
        (WebCore::ReplaceSelectionCommand::doApply): Uses prepareEditingStyleToApplyAt
        * editing/markup.cpp:
        (WebCore::removeEnclosingMailBlockquoteStyle): Uses removeStyleOfNode
        (WebCore::removeDefaultStyles): Uses prepareEditingStyleToApplyAt
        (WebCore::createMarkup): Uses editingStyleAtPosition

2009-08-07  Steve Block  

        Reviewed by Darin Adler.

        Bug 27250: Geolocation callback function IDL files are superfluous
        https://bugs.webkit.org/show_bug.cgi?id=27250

        The objects for the Geolocation success and error callbacks are created 'manually' in
        WebCore/bindings/js/JSGeolocationCustom.cpp. Furthermore, the callback interfaces are 
        marked 'NoInterfaceObject' in the W3C spec, so the prototype should not
        appear on the window object. Hence IDL files for these callbacks are not required.

        See http://www.w3.org/TR/geolocation-API/#geolocation_interface and
        http://www.w3.org/TR/WebIDL/#NoInterfaceObject.

        No new tests required.

        * DerivedSources.make: Modified. Removed reference to IDL files.
        * WebCore.gypi: Modified. Removed reference to IDL files.
        * WebCore.xcodeproj/project.pbxproj: Modified. Removed reference to IDL files.
        * page/PositionCallback.idl: Removed.
        * page/PositionErrorCallback.idl: Removed.

2009-08-07  Adam Treat  

        Reviewed by David Levin.

        Build fix for Qt when ENABLE_VIDEO = 0.  This was necessitated by r46890 which
        put the idl files back into play regardless of compile time defines.

        * html/TimeRanges.idl:

2009-08-07  Mike Fenton  

        Reviewed by George Staikos.

        Coding style patches for RenderThemeQt.cpp based on results from cpp_style.py.

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

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::baselinePosition):
        (WebCore::inflateButtonRect):
        (WebCore::RenderThemeQt::supportsFocus):
        (WebCore::RenderThemeQt::applyTheme):

2009-08-07  Mike Fenton  

        Reviewed by Eric Seidel.

        Prevent RenderThemeQt AdjustStyle based calls for TextField, MenuList and MenuListButton
        from discarding style colour.

        Add tests and remove tests from platform/qt/Skipped that now pass.

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

        Tests: fast/forms/menulist-style-color.html
               fast/forms/text-style-color.html

        * platform/qt/RenderThemeQt.cpp:
        (WebCore::RenderThemeQt::adjustTextFieldStyle):
        (WebCore::RenderThemeQt::adjustMenuListStyle):
        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):

2009-08-07  Dimitri Glazkov  

        Unreviewed, build fix.

        https://bugs.webkit.org/show_bug.cgi?id=22495
        [V8] Re-land http://trac.webkit.org/changeset/46821, now that
        http://trac.webkit.org/changeset/46874 re-landed

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:

2009-08-07  Adam Treat  

        Reviewed by Darin Adler and George Staikos.

        Add rectToRect convenience function which returns the TransformationMatrix
        which maps the 'from' rectangle to the 'to' rectangle.

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

        No tests as this would require binding the method to js and since it is static
        that doesn't seem possible.  Please check the math.

        * platform/graphics/transforms/TransformationMatrix.cpp:
        (WebCore::TransformationMatrix::rectToRect):
        * platform/graphics/transforms/TransformationMatrix.h:

2009-08-07  Brady Eidson  

        Reviewed by Darin Adler.

        Implement the HTML5 hashchange event.
        https://bugs.webkit.org/show_bug.cgi?id=21605

        Test: fast/loader/hashchange-event.html

        * dom/EventNames.h: Add "hashchange"
        * html/HTMLAttributeNames.in: Add "onhashchange"

        * loader/FrameLoader.cpp:
        (WebCore::HashChangeEventTask::create):
        (WebCore::HashChangeEventTask::performTask):
        (WebCore::HashChangeEventTask::HashChangeEventTask):
        (WebCore::FrameLoader::scrollToAnchor): When an anchor navigation is completed and the
          new fragment identifier is different from the old one, queue a hash change event
          on the Document.

        Add a window event listener for the hashchange event if onhashchange is encountered:
        * html/HTMLBodyElement.cpp:
        (WebCore::HTMLBodyElement::parseMappedAttribute): 
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::parseMappedAttribute):

        Add a new string utility method that gives "null and empty are equivalent" behavior:
        * platform/text/PlatformString.h:
        (WebCore::equalIgnoringNullity):
        * platform/text/StringImpl.cpp:
        (WebCore::equalIgnoringNullity):
        * platform/text/StringImpl.h:

2009-08-07  Jessie Berlin  

        Reviewed by Timothy Hatcher.

        Add the initial implementation of the ability to resize the columns in
        a DataGrid in the Web Inspector. Enables that functionality in both the
        Profile View and in the Local Storage View.
        
        https://bugs.webkit.org/show_bug.cgi?id=26182
        
        In this version, resizing a column can change the width of at most two
        columns (the columns to the left and right of the resizer being dragged).
        
        Possible changes in future patches:
        
        1) Be able to specify the minimum size of a column and the maximum size
           of a column. If the minimum size is equal to the maximum size, the
           column can't be resized.
        2) Make the behavior more in line with the following description:
        
        Everything before the column that is resized stays fixed size. The
        resized column changes sizes. The other columns except the last stay
        the same size. And the last column adjusts to fit with a minimum size.
        If the last column is already the minimum, the next to last column
        shrinks, etc.
        
        3) Make it possible to scale the column sizes appropriately when the
           Web Inspector window gets resized.
        
        * inspector/front-end/DOMStorageItemsView.js:
        (WebInspector.DOMStorageItemsView.prototype.update):
        Once the DataGrid is added to the DOM, update the widths of the
        DataGrid in order to put the resizers in place.
        (WebInspector.DOMStorageItemsView.prototype.resize):
        Update the widths of the DataGrid in order to correctly adjust the
        positions of the resizers.
        
        * inspector/front-end/DataGrid.js:
        (WebInspector.DataGrid):
        Store column groups whose widths can later be changed when the columns
        are resized by the user.
        Also, keep track of whether the widths of the columns have been
        initialized.
        (WebInspector.DataGrid.prototype.updateWidths):
        Create the resizers for the columns.
        (WebInspector.DataGrid.prototype._clickInDataTable):
        Didn't actually change anything in this method, just added a comma to
        the end of the function.
        (WebInspector.DataGrid.prototype._startResizerDragging):
        Store the resizer that is currently dragging.
        (WebInspector.DataGrid.prototype._resizerDragging):
        Constrain the area that the resizer can be dragged to the column to
        it's left and right, with some padding added to make sure that the
        neighboring columns don't disappear.
        (WebInspector.DataGrid.prototype._endResizerDragging):
        
        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype.resize):
        Resize the view.
        (WebInspector.DatabasesPanel.prototype._updateSidebarWidth):
        ditto.
        
        * inspector/front-end/ProfileView.js:
        (WebInspector.ProfileView.prototype.show):
        Now that the DataGrid is actually attached to the DOM, update the
        widths of the DataGrid in order to put the resizers in place.
        (WebInspector.ProfileView.prototype.resize):
        Update the widths of the DataGrid in order to correctly adjust the
        positions of the resizers.
        
        * inspector/front-end/ProfilesPanel.js:
        (WebInspector.ProfilesPanel.prototype.resize):
        Resize the view.
        (WebInspector.ProfilesPanel.prototype._updateSidebarWidth):
        ditto.
        
        * inspector/front-end/inspector.css:
        Add in a style rule for a resizer in the Data Grid.

2009-08-07  Simon Hausmann  

        Reviewed by Tor Arne Vestbø.

        Back out r46847 and fix the Qt build system to always generate
        all the JS binding files from IDL files. The generated files
        have #if feature guards, so the #ifs are not needed in the
        files using them.

        * WebCore.pro:
        * bindings/js/JSEventTarget.cpp:
        * bindings/js/JSWorkerContextBase.cpp:
        * bindings/js/WorkerScriptController.cpp:

2009-08-07  Shinichiro Hamaji  

        Reviewed by Adele Peterson.

        Cannot scroll for box-reflect:right
        https://bugs.webkit.org/show_bug.cgi?id=27979

        Update m_overflowLeft an m_overflowWidth for reflection just like
        m_overflowTop and m_overflowHeight.

        Test: fast/reflections/reflection-overflow-scroll.html

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

2009-08-06  Shinichiro Hamaji  

        Reviewed by Adam Barth.

        box-shadow's spread is ignored with 
        https://bugs.webkit.org/show_bug.cgi?id=28017

        Use RenderStyle::getBoxShadowExtent just like RenderBlock.

        Test: fast/box-shadow/box-shadow-overflow-scroll.html

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::layout):

2009-08-06  Joseph Pecoraro  

        Reviewed by Timothy Hatcher.

        Inspector: NodeLists Don't Display Well in the Console
        https://bugs.webkit.org/show_bug.cgi?id=28061

        * inspector/front-end/ConsoleView.js:
        (WebInspector.ConsoleView.prototype._format): Specific check if the object is a NodeList, display as an "array"

2009-08-06  Yusuke Sato  

        Reviewed by David Levin.

        Chromium Linux: add support for @font-face
        https://bugs.webkit.org/show_bug.cgi?id=28015
        
        * loader/CachedFont.cpp:
        (WebCore::CachedFont::~CachedFont):
        (WebCore::CachedFont::ensureCustomFontData):
        (WebCore::CachedFont::platformDataFromCustomData):
        (WebCore::CachedFont::allClientsRemoved):

        Modified #ifdefs so that chromium linux can load remote fonts.
        
        * platform/graphics/chromium/FontCustomPlatformData.cpp:
        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
        (WebCore::FontCustomPlatformData::fontPlatformData):
        (WebCore::createFontCustomPlatformData):

        Create SkTypeface for a web font by calling SkTypeface::CreateFromStream function.
        
        (WebCore::RemoteFontStream::RemoteFontStream):
        (WebCore::RemoteFontStream::~RemoteFontStream):
        (WebCore::RemoteFontStream::rewind):
        (WebCore::RemoteFontStream::read):

        New class that implements SkStream interface and wraps wtf's SharedBuffer.
        
        * platform/graphics/chromium/FontCustomPlatformData.h:
        (WebCore::FontCustomPlatformData::FontCustomPlatformData):

        Added member variables for Linux.
        
2009-08-06  Yong Li  

        Reviewed by Eric Seidel.

        Fix JPEGImageDecoder.cpp compile error on WinCE
        https://bugs.webkit.org/show_bug.cgi?id=28051

        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

2009-08-06  Kevin Ollivier  

        Reviewed by Eric Seidel.

        Adding WebCore support for the waf build system for wx.
        
        https://bugs.webkit.org/show_bug.cgi?id=27619

        * wscript: Added.

2009-08-06  Adam Barth  

        Unreviewed revert.

        http://bugs.webkit.org/show_bug.cgi?id=27879

        Revert 46877 because it broke GTK.

        * platform/graphics/wince/GraphicsContextWince.cpp:

2009-08-06  Chris Fleizach  

        Reviewed by Eric Seidel.

        Bug 27956 - AX: roleValue should be cached for performance
        https://bugs.webkit.org/show_bug.cgi?id=27956

        Caches the role value of an accessibility object instead of calculating it everytime.
        The changes gained a 5% speedup using VoiceOver to navigate a webpage.

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::handleAriaRoleChanged):

        Use generic role setter instead of specific ARIA role setter.

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::AccessibilityObject):
        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::headingLevel):

        Make headingLevel into instance method so that it can *safely* be called in the constructor.

        (WebCore::AccessibilityObject::setRoleValue):
        (WebCore::AccessibilityObject::roleValue):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
        (WebCore::AccessibilityRenderObject::headingLevel):
        (WebCore::AccessibilityRenderObject::intValue):
        (WebCore::AccessibilityRenderObject::updateAccessibilityRole):
        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (AXAttributeStringSetHeadingLevel):

2009-08-06  Zoltan Horvath  

        Reviewed by Adam Barth.

        Change Noncopyable inheriting to public
        http://bugs.webkit.org/show_bug.cgi?id=27879

        Since Noncopyable is inherited from FastAllocBase, Noncopyable's
        inheriting has been changed to public.

        * platform/graphics/wince/GraphicsContextWince.cpp:

2009-08-06  Mark Rowe  

        Rubber-stamped by Sam Weinig.

        Add explicit dependencies for our build verification scripts to ensure that they always run after linking has completed.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-05  Simon Fraser  

        Reviewed by Darin Adler.

        Implement the matchMedium method on the Media interface described in the CSSOM View Module.
        https://bugs.webkit.org/show_bug.cgi?id=22495
        
        Add a new Media interface, obtainable via the AbstractView, that can
        evaluate queries via its matchesMedium() method.

        Test: fast/media/matchmedium-query-api.html

        * DerivedSources.cpp:
        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        Add Media.* files to the build.

        * css/Media.cpp: Added.
        (WebCore::Media::Media):
        (WebCore::Media::type):
        (WebCore::Media::matchMedium):
        * css/Media.h: Added.
        (WebCore::Media::create):
        (WebCore::Media::document):
        * css/Media.idl: Added.
        Media::matchMedium() uses a MediaQueryEvaluator() to test the query.

        * page/AbstractView.idl:
        * page/DOMWindow.cpp:
        (WebCore::DOMWindow::media):
        * page/DOMWindow.h:
        * page/DOMWindow.idl:
        Add a readonly attribute for Media.

2009-08-06  Michelangelo De Simone  

        Reviewed by Darin Adler.

        https://bugs.webkit.org/show_bug.cgi?id=27455
        Support for a custom validation message in ValidityState and related
        form controls.
        http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#dom-cva-setcustomvalidity

        Tests: fast/forms/ValidityState-customError-001.html
               fast/forms/ValidityState-customError-002.html
               fast/forms/ValidityState-customError-003.html
               fast/forms/ValidityState-customError-004.html

        * html/HTMLButtonElement.idl: setCustomValidity DOM method
        * html/HTMLFieldSetElement.idl: ditto
        * html/HTMLFormControlElement.cpp:
        (WebCore::HTMLFormControlElement::setCustomValidity): ditto
        * html/HTMLFormControlElement.h:
        (WebCore::HTMLFormControlElement::valueMissing): moved down
        * html/HTMLInputElement.idl: ditto
        * html/HTMLSelectElement.idl: ditto
        * html/HTMLTextAreaElement.idl:
        * html/ValidityState.h:
        (WebCore::ValidityState::setCustomErrorMessage): method to set custom
        validation message
        (WebCore::ValidityState::customError): validation flag

2009-08-06  Mark Rowe  

        Bring a little order to our otherwise out of control lives.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-06  Mark Rowe  

        Stop copying .idl files in to the framework resources directory.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-06  Mark Rowe  

        Fix the build some more.

        Add JSWebSocket.cpp and JSWebSocket.h to the Xcode project, and move the WebSocket-related
        files and groups in to the appropriate locations.

        * WebCore.xcodeproj/project.pbxproj:

2009-08-06  Fumitoshi Ukai  

        Reviewed by Alexey Proskuryakov.

        Add WebSocket.idl
        https://bugs.webkit.org/show_bug.cgi?id=27209

        Add WebSocket.idl in WebCore/websockets/.
        Add build systems only for GNUmakefile.am and WebCore.xcodeproj now.
        Other build systems will be updated once the code is functional.

        * DerivedSources.make:
        * GNUmakefile.am:
        * WebCore.xcodeproj/project.pbxproj:
        * bindings/js/JSWebSocketConstructor.cpp: Added.
        * bindings/js/JSWebSocketConstructor.h: Added.
        * bindings/js/JSWebSocketCustom.cpp: Added.
        * websockets/WebSocket.cpp: Added.
        * websockets/WebSocket.h: Added.
        * websockets/WebSocket.idl: Added.

2009-08-06  Jian Li  

        Reviewed by Dimitri Glazkov.

        [V8] Style cleaning for WorkerContextExecutionProxy.
        https://bugs.webkit.org/show_bug.cgi?id=27997

        Cleanup WorkerContextExecutioonProxy related files to follow
        WebKit coding styles after all V8 binding codes are upstreamed.
        1) Lower-case the first letter of remaining functins in class
           WorkerContextExecutionProxy. Update the V8 code generator
           and all other references accordingly.
        2) Integrate getConstructor from WorkerContextExecutionProxy
           to V8DOMWrapper.
        3) Other misc changes, like removing trailing whitespaces and
           sorting the include files.

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::execute):
        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::getConstructorForContext):
        (WebCore::V8DOMWrapper::convertToV8Object):
        * bindings/v8/V8DOMWrapper.h:
        * bindings/v8/V8WorkerContextEventListener.cpp:
        (WebCore::V8WorkerContextEventListener::~V8WorkerContextEventListener):
        (WebCore::V8WorkerContextEventListener::handleEvent):
        (WebCore::V8WorkerContextEventListener::reportError):
        (WebCore::V8WorkerContextEventListener::getReceiverObject):
        * bindings/v8/V8WorkerContextObjectEventListener.cpp:
        (WebCore::weakObjectEventListenerCallback):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::handleConsoleMessage):
        (WebCore::WorkerContextExecutionProxy::dispose):
        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
        (WebCore::WorkerContextExecutionProxy::convertEventToV8Object):
        (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
        (WebCore::WorkerContextExecutionProxy::convertWorkerContextToV8Object):
        (WebCore::WorkerContextExecutionProxy::toV8):
        (WebCore::WorkerContextExecutionProxy::forgetV8EventObject):
        (WebCore::WorkerContextExecutionProxy::removeEventListener):
        * bindings/v8/WorkerContextExecutionProxy.h:
        (WebCore::WorkerContextExecutionProxy::context):
        (WebCore::WorkerContextExecutionProxy::convertToV8Object):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::ACCESSOR_GETTER):
        (WebCore::CALLBACK_FUNC_DECL):

2009-08-06  Darin Adler  

        Fix Mac Leopard debug build.

        * platform/text/StringImpl.cpp:
        (WebCore::equalIgnoringCase): Removed meaningless assertion; an unsigned
        is always >= 0 and checking causes a warning in the newer versions of gcc.

2009-08-06  Adam Barth  

        Unreview rollout.

        Revert 46840 because it broke the reliability tests.

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScheduledAction.h:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):

2009-08-06  Adam Barth  

        Unreviewed rollout.

        Revert 46840 in preparation to revert 46838, which broke the reliability tests.

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::updateDocumentWrapperCache):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::mainWorldContext):
        * bindings/v8/V8Proxy.h:
        (WebCore::V8Proxy::context):

2009-08-06  Pavel Feldman  

        Reviewed by Timothy Hatcher.

        WebInspector: move style-related utilities into InjectedScript.

        http://bugs.webkit.org/show_bug.cgi?id=27939

        * inspector/front-end/DOMAgent.js:
        (WebInspector.CSSStyleDeclaration):
        (WebInspector.CSSStyleDeclaration.prototype.isPropertyImplicit):
        (WebInspector.CSSStyleDeclaration.prototype.styleTextWithShorthands):
        (WebInspector.CSSStyleDeclaration.prototype.getLonghandProperties):
        (WebInspector.CSSStyleDeclaration.prototype.getShorthandPriority):
        * inspector/front-end/InjectedScript.js:
        (InjectedScript.applyStyleText):
        (InjectedScript.toggleStyleEnabled):
        (InjectedScript._serializeStyle):
        (InjectedScript._getUniqueStyleProperties):
        (InjectedScript._getLonghandProperties):
        (InjectedScript._getShorthandPriority):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype._update):
        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
        (WebInspector.StylePropertiesSection.prototype.onpopulate):
        (WebInspector.StylePropertyTreeElement.prototype.get priority):
        (WebInspector.StylePropertyTreeElement.prototype.get value):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/utilities.js:

2009-08-06  Simon Hausmann  

        Unreviewed build fix, add #ifdef guards around
        inclusions of shared worker specific files.

        * bindings/js/JSEventTarget.cpp:
        * bindings/js/JSWorkerContextBase.cpp:
        * bindings/js/WorkerScriptController.cpp:

2009-08-06  Laszlo Gombos  

        Reviewed by Darin Adler.

        cssgrammar.cpp fails to compile with RVCT compiler
        https://bugs.webkit.org/show_bug.cgi?id=27952

        * css/CSSGrammar.y: Do not convert to String to get rid of the stray
        memory allocation 

        * platform/text/StringImpl.cpp:
        (WebCore::equalIgnoringCase):
        * platform/text/StringImpl.h: 
        (WebCore::equalIgnoringCase): Add charactersEqualIgnoringCase
          function that works with a character pointer and length

2009-08-06  Drew Wilson  

        Reviewed by David Levin.

        Created first working implementation of SharedWorkers (execution only, no sharing).
        https://bugs.webkit.org/show_bug.cgi?id=27927

        Added initial implementations of SharedWorkerThread and SharedWorkerContext.
        No v8 bindings yet.

        * DerivedSources.cpp:
        Added shared worker files.
        * DerivedSources.make:
        Added shared worker files.
        * GNUmakefile.am:
        Added shared worker files.
        * WebCore.gypi:
        Added shared worker files.
        * WebCore.pro:
        Added shared worker files.
        * WebCore.vcproj/WebCore.vcproj:
        Added shared worker files.
        * WebCore.xcodeproj/project.pbxproj:
        Added shared worker files.
        * bindings/js/JSEventTarget.cpp:
        (WebCore::toJS):
        Added code to convert from EventTarget to correct JS class.
        (WebCore::toEventTarget):
        Added code to cast from JS object to appropriate EventTarget impl class.
        * bindings/js/JSSharedWorkerConstructor.cpp:
        (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor):
        (WebCore::constructSharedWorker):
        Tweaked the constructor code to pass in the lexical global object like normal workers.
        * bindings/js/JSSharedWorkerContextCustom.cpp: Added.
        (WebCore::JSSharedWorkerContext::mark):
        Custom marking of the onconnect handler.
        * bindings/js/JSWorkerContextBase.cpp:
        (WebCore::toJSSharedWorkerContext):
        (WebCore::toJSWorkerContext):
        Added proper conversion to the correct WorkerContext derived class.
        * bindings/js/JSWorkerContextBase.h:
        * bindings/js/WorkerScriptController.cpp:
        (WebCore::WorkerScriptController::initScript):
        Updated WorkerScriptController to create the correct type of binding object (JSSharedWorkerContext vs JSDedicatedWorkerContext)
        * bindings/scripts/CodeGeneratorV8.pm:
        Added support for SharedWorkerContext.
        * bindings/v8/DOMObjectsInclude.h:
        Added shared worker bindings files.
        * dom/EventNames.h:
        Added connect event.
        * dom/EventTarget.cpp:
        (WebCore::EventTarget::toSharedWorkerContext):
        Added API for casting to new derived class (SharedWorkerContext).
        * dom/EventTarget.h:
        * workers/AbstractWorker.cpp:
        (WebCore::AbstractWorker::resolveURL):
        Moved code that resolves/validates URLs to base class so it can be shared between dedicated/shared workers.
        * workers/AbstractWorker.h:
        * workers/DedicatedWorkerContext.cpp:
        (WebCore::DedicatedWorkerContext::logException):
        Refactored exception handling code - moved onerror handling to base class.
        * workers/DedicatedWorkerContext.h:
        (WebCore::DedicatedWorkerContext::isDedicatedWorkerContext):
        * workers/SharedWorker.cpp:
        (WebCore::SharedWorker::SharedWorker):
        Changed constructor to fire up worker thread.
        * workers/SharedWorker.h:
        * workers/SharedWorkerContext.cpp: Added.
        (WebCore::SharedWorkerContext::SharedWorkerContext):
        (WebCore::SharedWorkerContext::~SharedWorkerContext):
        (WebCore::SharedWorkerContext::logException):
        (WebCore::SharedWorkerContext::addMessage):
        Placeholder methods until we add support for sending exceptions/messages to console.
        (WebCore::SharedWorkerContext::dispatchConnect):
        (WebCore::SharedWorkerContext::thread):
        * workers/SharedWorkerContext.h: Added.
        (WebCore::SharedWorkerContext::create):
        (WebCore::SharedWorkerContext::isSharedWorkerContext):
        (WebCore::SharedWorkerContext::toSharedWorkerContext):
        (WebCore::SharedWorkerContext::setOnconnect):
        (WebCore::SharedWorkerContext::onconnect):
        (WebCore::SharedWorkerContext::name):
        * workers/SharedWorkerContext.idl: Added.
        * workers/SharedWorkerRepository.h: Added.
        (WebCore::SharedWorkerRepository::~SharedWorkerRepository):
        * workers/DefaultSharedWorkerRepository.cpp: Added.
        Implementation of core singleton class that will be used to implement sharing.
        (WebCore::SharedWorkerProxy::setThread):
        Proxy object used to handle resource loading for a given shared worker.
        (WebCore::SharedWorkerProxy::postTaskToLoader):
        (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
        Placeholder routines until we implement loading.
        (WebCore::SharedWorkerConnectTask::create):
        Creates a task to fire off a connect event on the worker thread.
        (WebCore::SharedWorkerConnectTask::SharedWorkerConnectTask):
        (WebCore::SharedWorkerConnectTask::performTask):
        (WebCore::SharedWorkerLoader::SharedWorkerLoader):
        Added helper object to load the initial script for the worker.
        (WebCore::SharedWorkerLoader::load):
        (WebCore::SharedWorkerLoader::notifyFinished):
        (WebCore::SharedWorkerRepository::instance):
        (WebCore::DefaultSharedWorkerRepository::instance):
        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
        Fires off the worker thread once the script is loaded.
        (WebCore::SharedWorkerRepository::connect):
        (WebCore::DefaultSharedWorkerRepository::DefaultSharedWorkerRepository):
        (WebCore::DefaultSharedWorkerRepository::~DefaultSharedWorkerRepository):
        * workers/DefaultSharedWorkerRepository.h: Added.
        * workers/SharedWorkerThread.cpp: Added.
        (WebCore::SharedWorkerThread::create):
        (WebCore::SharedWorkerThread::SharedWorkerThread):
        (WebCore::SharedWorkerThread::~SharedWorkerThread):
        (WebCore::SharedWorkerThread::createWorkerContext):
        * workers/SharedWorkerThread.h: Added.
        * workers/Worker.cpp:
        (WebCore::Worker::Worker):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::reportException):
        * workers/WorkerContext.h:
        (WebCore::WorkerContext::isSharedWorkerContext):
        (WebCore::WorkerContext::isDedicatedWorkerContext):
        Added APIs to determine the type of a given context.

2009-08-06  Chris Marrin  

        Reviewed by David Hyatt.

        Added ENABLE_3D_CANVAS flag to build, default to off

        * Configurations/FeatureDefines.xcconfig:

2009-08-06  Andras Becsi  

        Reviewed by Simon Hausmann.

        [Qt] windowsKeyCodeForKeyEvent fix

        Fix windowsKeyCodeForKeyEvent to determine wheter the event comes from the keypad.

        * platform/qt/PlatformKeyboardEventQt.cpp:
        (WebCore::windowsKeyCodeForKeyEvent):
        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

2009-08-06  George Staikos  

        Rubber-stamped by Ariya Hidayat.

        Remove the dead wince/ directory that should never have gone in.

        * svg/graphics/wince: Removed.
        * svg/graphics/wince/SVGResourceFilterWince.cpp: Removed.

2009-08-06  Pavel Feldman  

        Reviewed by Timothy Hatcher.

        WebInspector: Extract style editing into a separate file that is
        going to be loaded in page context.

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

        * inspector/front-end/InjectedScript.js: Added.
        (InjectedScript.applyStyleText):
        (InjectedScript.setStyleText):
        (InjectedScript.toggleStyleEnabled):
        (InjectedScript.setStyleRule):
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertyTreeElement.prototype.):
        (WebInspector.StylePropertyTreeElement.prototype):
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:

2009-08-06  Adam Barth  

        Reviewed by David Levin.

        [V8] Remove bug-bait V8Proxy::context()
        https://bugs.webkit.org/show_bug.cgi?id=27826

        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::updateDocumentWrapperCache):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::mainWorldContext):
        * bindings/v8/V8Proxy.h:

2009-08-06  Adam Barth  

        Unreviewed attempt to fix the Chromium Linux build.  This function is
        not used.

        * bindings/v8/OwnHandle.h:

2009-08-06  Adam Barth  

        Reviewed by Eric Seidel.

        [V8] Teach ScheduledAction::execute about isolated worlds
        https://bugs.webkit.org/show_bug.cgi?id=27703

        We now save a weak handle to the original context.  We use that handle
        to call the timeout in the right context / world.

        Tests: http/tests/security/isolatedWorld/window-setTimeout-function.html
               http/tests/security/isolatedWorld/window-setTimeout-string.html

        * bindings/v8/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/v8/ScheduledAction.h:
        (WebCore::ScheduledAction::ScheduledAction):
        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::V8Custom::WindowSetTimeoutImpl):
        * bindings/v8/custom/V8WorkerContextCustom.cpp:
        (WebCore::SetTimeoutOrInterval):

2009-08-05  Dimitri Glazkov  

        Unreviewed, build fix.

        [V8] Revert http://trac.webkit.org/changeset/46821, which was
        landed to supplement http://trac.webkit.org/changeset/46816, but
        now that the latter is reverted, the former needs the same.

        * bindings/v8/DOMObjectsInclude.h:
        * bindings/v8/DerivedSourcesAllInOne.cpp:
        * bindings/v8/V8Index.cpp:
        * bindings/v8/V8Index.h:

2009-08-05  Joseph Pecoraro  

        Reviewed by Timothy Hatcher.

        Color is only reported in rgb() format; should toggle between rgb() and hex
        https://bugs.webkit.org/show_bug.cgi?id=13516

          New Class to Parse and Change Between Color Representations:

        * inspector/front-end/Color.js: Added.
        (WebInspector.Color):

          Representations of Colors in Raw Form. (May be Lazy Loaded):

        (WebInspector.Color.prototype.get shorthex):
        (WebInspector.Color.prototype.get hex):
        (WebInspector.Color.prototype.set hex):
        (WebInspector.Color.prototype.get rgb):
        (WebInspector.Color.prototype.set rgb):
        (WebInspector.Color.prototype.get hsl):
        (WebInspector.Color.prototype.set hsl):
        (WebInspector.Color.prototype.get nickname):
        (WebInspector.Color.prototype.set nickname):
        (WebInspector.Color.prototype.get rgba):
        (WebInspector.Color.prototype.set rgba):
        (WebInspector.Color.prototype.get hsla):
        (WebInspector.Color.prototype.set hsla):

          Helpers and Standard String Representations:

        (WebInspector.Color.prototype.hasShortHex):
        (WebInspector.Color.prototype.toRgb):
        (WebInspector.Color.prototype.toHsl):
        (WebInspector.Color.prototype.toShortHex):
        (WebInspector.Color.prototype.toHex):
        (WebInspector.Color.prototype.toRgba):
        (WebInspector.Color.prototype.toHsla):
        (WebInspector.Color.prototype.toNickname):

          Conversion Functions to Determine Other Representations:
          My Sources for all algorithms and sample data:
          Wikipedia: http://en.wikipedia.org/wiki/HSV_color_space
          CSS Specification: http://www.w3.org/TR/css3-color/#hsla-color

        (WebInspector.Color.prototype.rgbToHex):
        (WebInspector.Color.prototype.hexToRgb):
        (WebInspector.Color.prototype.rgbToHsl):
        (WebInspector.Color.prototype.hslToRgb.hueToRgb):
        (WebInspector.Color.prototype.hslToRgb):
        (WebInspector.Color.prototype.rgbaToHsla):
        (WebInspector.Color.prototype.hslaToRgba):

          Called from the constructor, attempts to parse and will throw an error
          if it cannot parse.  If simple then the "hex" value is guarenteed.
          If advanced then both the "rgba" and "hsla" are guarenteed.  If it is
          a nickname in any way (e.g. "transparent", "black") then this is
          guarenteed to be set as well.

        (WebInspector.Color.prototype.parse):

          Clicking on the swatch will rotate through Color Representations.
            Simple:   rgb -> hsl -> nickname? -> shorthex? -> hex -> (loop around)
            Advanced: rgba -> hsla -> nickname? -> (loop around)

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.value.):
        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):

          Load Color.js:

        * inspector/front-end/inspector.html:

2009-08-05  John Abd-El-Malek  

        Reviewed by Dimitri Glazkov.

        Support setting event listeners for message ports in the worker process.

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

        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::retrieve):
        (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
        * bindings/v8/WorkerContextExecutionProxy.h:
        * bindings/v8/custom/V8MessagePortCustom.cpp:
        (WebCore::getEventListener):
        (WebCore::ACCESSOR_SETTER):
        (WebCore::CALLBACK_FUNC_DECL):

2009-08-05  Stephen White  

        Reviewed by Dimitri Glazkov.

        http://bugs.webkit.org/show_bug.cgi?id=28022

        Minor fix for media code on chromium/skia.

        * rendering/RenderThemeChromiumSkia.cpp:
        (WebCore::RenderThemeChromiumSkia::paintMediaSliderTrack):

2009-08-05  Darin Adler  

        Reviewed by Dan Bernstein.

        Client side image maps did not handle zoom correctly.
        Client side image maps did not handle border and padding correctly.

        Test: fast/images/image-map-zoom.html

        * rendering/RenderImage.cpp:
        (WebCore::RenderImage::nodeAtPoint): Compute the values to pass in to the map
        element using the content box and the effective zoom.

2009-08-05  Alexey Proskuryakov  

        Reviewed by Oliver Hunt.

        https://bugs.webkit.org/show_bug.cgi?id=28027
         Files with accents in names are submitted incorrectly due to use of
        precomposed Unicode

        * platform/network/mac/FormDataStreamMac.mm: (WebCore::setHTTPBody): Use getFileSize() from
        FileSystem.h instead of custom code for getting file size. This adds path normalization
        necessary with some file systems on Mac. This also loses a S_IFMT check, which didn't seem
        important anyway.

2009-08-05  Dimitri Glazkov  

        Unreviewed, build fix.

        [V8] Include Media into V8 bindings.

        * bindings/v8/DOMObjectsInclude.h: Added Media include.
        * bindings/v8/DerivedSourcesAllInOne.cpp: Added V8Media include.
        * bindings/v8/V8Index.cpp: Added decl for V8Media.
        * bindings/v8/V8Index.h: Added V8Media include.

2009-08-04  Jon Honeycutt  

        Fix Windows layout test crashes.

        PluginView::removeFromUnstartedListIfNecessary() would try to remove
        any unstarted PluginView from the Page's set of unstarted plug-ins,
        regardless of why the PluginView wasn't started. If we tried to start a
        plug-in, but it failed to start, we would hit an assertion in
        Page::removeUnstartedPlugin() that asserts that we would only modify the
        unstarted plug-ins set if we were not currently starting plug-ins.

        Fix this by having PluginView track whether it's waiting to be started,
        and to check this before trying to remove itself from the Page's
        unstarted plug-ins set.

        Reviewed by Darin Adler.

        * page/Page.cpp:
        (WebCore::Page::removeUnstartedPlugin):
        Assert that the passed PluginView is in the unstarted set.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        Set that we are not waiting to be started.
        (WebCore::PluginView::startOrAddtoUnstartedList):
        Set that we are waiting to be started.
        (WebCore::PluginView::removeFromUnstartedListIfNecessary):
        Check not whether we are started, but whether we are waiting to be
        started.
        (WebCore::PluginView::PluginView):

        * plugins/PluginView.h:

2009-08-05  Jeremy Orlow  

       Fix DOM Storage memory leak
       https://bugs.webkit.org/show_bug.cgi?id=28029

       Forgot to use adoptRef in one place.  This caused the = operator to
       increment the ref count when it shouldn't have, so StorageAreaImpl's were
       never freed.

        * storage/StorageNamespaceImpl.cpp:
        (WebCore::StorageNamespaceImpl::storageArea):

2009-08-05  Dimitri Glazkov  

        Unreviewed, build fix.

        [Chromium] Let CodeGeneratorV8.pm know that Media is ref-counted.

        * bindings/scripts/CodeGeneratorV8.pm: Added Media check to IsRefPtrType.

2009-08-05  Darin Adler  

        Reviewed by David Levin.

        Use checked casts for render tree
        https://bugs.webkit.org/show_bug.cgi?id=23522

        Last patch. Makes all the casts of RenderObject use checked
        casts instead of using static_cast directly.

        * accessibility/AccessibilityListBox.cpp:
        (WebCore::AccessibilityListBox::visibleChildren):
        (WebCore::AccessibilityListBox::doAccessibilityHitTest):
        * accessibility/AccessibilityListBoxOption.cpp:
        (WebCore::AccessibilityListBoxOption::elementRect):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::textUnderElement):
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::titleUIElement):
        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySliderThumb::elementRect):
        * dom/InputElement.cpp:
        (WebCore::InputElement::updatePlaceholderVisibility):
        * dom/SelectElement.cpp:
        (WebCore::SelectElement::scrollToSelection):
        (WebCore::SelectElement::recalcStyle):
        (WebCore::SelectElement::setRecalcListItems):
        (WebCore::SelectElement::menuListDefaultEventHandler):
        (WebCore::SelectElement::listBoxDefaultEventHandler):
        * editing/BreakBlockquoteCommand.cpp:
        (WebCore::BreakBlockquoteCommand::doApply):
        * html/HTMLAppletElement.cpp:
        (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
        * html/HTMLCanvasElement.cpp:
        (WebCore::HTMLCanvasElement::reset):
        * html/HTMLEmbedElement.cpp:
        (WebCore::HTMLEmbedElement::updateWidget):
        * html/HTMLFrameElementBase.cpp:
        (WebCore::HTMLFrameElementBase::attach):
        * html/HTMLFrameSetElement.cpp:
        (WebCore::HTMLFrameSetElement::defaultEventHandler):
        * html/HTMLIFrameElement.cpp:
        (WebCore::HTMLIFrameElement::attach):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::defaultEventHandler):
        (WebCore::HTMLInputElement::addSearchResult):
        (WebCore::HTMLInputElement::onSearch):
        * html/HTMLLIElement.cpp:
        (WebCore::HTMLLIElement::parseMappedAttribute):
        (WebCore::HTMLLIElement::attach):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::setReadyState):
        (WebCore::HTMLMediaElement::mediaPlayerDurationChanged):
        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged):
        (WebCore::HTMLMediaElement::mediaPlayerRenderingCanBeAccelerated):
        (WebCore::HTMLMediaElement::mediaPlayerGraphicsLayer):
        (WebCore::HTMLMediaElement::defaultEventHandler):
        (WebCore::HTMLMediaElement::finishParsingChildren):
        * html/HTMLOListElement.cpp:
        (WebCore::HTMLOListElement::parseMappedAttribute):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::updateWidget):
        * html/HTMLTextAreaElement.cpp:
        (WebCore::HTMLTextAreaElement::defaultEventHandler):
        * page/DragController.cpp:
        (WebCore::DragController::concludeEditDrag):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::selectCursor):
        (WebCore::EventHandler::capsLockStateMayHaveChanged):
        * page/Frame.cpp:
        (WebCore::Frame::ownerRenderer):
        * page/FrameView.cpp:
        (WebCore::FrameView::detachCustomScrollbars):
        * page/wince/FrameWince.cpp:
        (WebCore::computePageRectsForFrame):
        * rendering/InlineFlowBox.cpp:
        (WebCore::InlineFlowBox::placeBoxesHorizontally):
        * rendering/MediaControlElements.cpp:
        (WebCore::MediaControlTimelineElement::defaultEventHandler):
        * rendering/RenderBlockLineLayout.cpp:
        (WebCore::RenderBlock::findNextLineBreak):
        * rendering/RenderCounter.cpp:
        (WebCore::planCounter):
        * rendering/RenderFrameSet.cpp:
        (WebCore::RenderFrameSet::computeEdgeInfo):
        (WebCore::RenderFrameSet::setIsResizing):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::contentsBox):
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::updateBacking):
        (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
        * rendering/RenderListItem.cpp:
        (WebCore::previousListItem):
        (WebCore::RenderListItem::explicitValueChanged):
        * rendering/RenderObject.cpp:
        (WebCore::updateListMarkerNumbers):
        * rendering/RenderObjectChildList.cpp:
        (WebCore::updateListMarkerNumbers):
        (WebCore::invalidateCountersInContainer):
        * rendering/RenderScrollbarTheme.cpp:
        (WebCore::RenderScrollbarTheme::minimumThumbLength):
        (WebCore::RenderScrollbarTheme::backButtonRect):
        (WebCore::RenderScrollbarTheme::forwardButtonRect):
        (WebCore::RenderScrollbarTheme::trackRect):
        (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
        (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
        (WebCore::RenderScrollbarTheme::paintTrackBackground):
        (WebCore::RenderScrollbarTheme::paintTrackPiece):
        (WebCore::RenderScrollbarTheme::paintButton):
        (WebCore::RenderScrollbarTheme::paintThumb):
        * rendering/RenderSlider.cpp:
        (WebCore::SliderThumbElement::defaultEventHandler):
        * rendering/RenderThemeChromiumMac.mm:
        (WebCore::RenderThemeChromiumMac::paintSliderThumb):
        (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
        * rendering/RenderThemeChromiumWin.cpp:
        (WebCore::RenderThemeChromiumWin::determineSliderThumbState):
        * rendering/RenderThemeMac.mm:
        (WebCore::RenderThemeMac::paintSliderThumb):
        * rendering/RenderThemeSafari.cpp:
        (WebCore::RenderThemeSafari::paintSliderThumb):
        * rendering/RenderThemeWin.cpp:
        (WebCore::RenderThemeWin::determineSliderThumbState):
        * rendering/SVGCharacterLayoutInfo.cpp:
        (WebCore::SVGCharacterLayoutInfo::addLayoutInformation):
        * rendering/SVGRootInlineBox.cpp:
        (WebCore::findSVGRootObject):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::RenderTextControlInnerBlock::nodeAtPoint):
        (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
        * svg/SVGImageElement.cpp:
        (WebCore::SVGImageElement::attach):
        * svg/SVGMarkerElement.cpp:
        (WebCore::SVGMarkerElement::canvasResource):
        * svg/SVGTextContentElement.cpp:
        (WebCore::rootInlineBoxForTextContentElement):
        * wml/WMLInputElement.cpp:
        (WebCore::WMLInputElement::defaultEventHandler):
        Use checked casts.

        * rendering/RenderApplet.h:
        * rendering/RenderCounter.h:
        * rendering/RenderFieldset.h:
        * rendering/RenderFileUploadControl.h:
        * rendering/RenderFrame.h:
        * rendering/RenderFrameSet.h:
        * rendering/RenderHTMLCanvas.h:
        * rendering/RenderListBox.h:
        * rendering/RenderListItem.h:
        * rendering/RenderListMarker.h:
        * rendering/RenderMedia.h:
        * rendering/RenderMenuList.h:
        * rendering/RenderPart.h:
        * rendering/RenderPartObject.h:
        * rendering/RenderPath.h:
        * rendering/RenderSVGContainer.h:
        * rendering/RenderSVGRoot.h:
        * rendering/RenderSVGTextPath.h:
        * rendering/RenderSVGViewportContainer.h:
        * rendering/RenderScrollbar.h:
        * rendering/RenderSlider.h:
        * rendering/RenderTextControlMultiLine.h:
        * rendering/RenderTextControlSingleLine.h:
        * rendering/RenderVideo.h:
        Added a checked cast. Also made most members protected or private.

        * rendering/RenderBlock.h:
        * rendering/RenderInline.h:
        * rendering/RenderReplaced.h:
        * rendering/RenderSVGBlock.h:
        * rendering/RenderSVGImage.h:
        * rendering/RenderSVGInlineText.h:
        * rendering/RenderSVGText.h:
        * rendering/RenderTextControl.h:
        Made most members protected or private.

        * rendering/RenderInline.cpp:
        * rendering/RenderSVGContainer.cpp:
        * rendering/RenderSVGHiddenContainer.cpp:
        * rendering/RenderSVGImage.cpp:
        * rendering/RenderSVGRoot.cpp:
        Removed unneeded destructor.

        * rendering/RenderSVGHiddenContainer.h:
        Removed unneeded virtual function overrides that did the same as
        the default and base class.

        * rendering/RenderSVGViewportContainer.cpp:
        (WebCore::RenderSVGViewportContainer::paint): Updated to use m_viewport
        directly instead of using a function call.
        (WebCore::RenderSVGViewportContainer::applyViewportClip): Ditto.
        (WebCore::RenderSVGViewportContainer::viewportTransform): Ditto.
        (WebCore::RenderSVGViewportContainer::localToParentTransform): Ditto.
        (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Ditto.

        * rendering/RenderScrollbar.cpp:
        (WebCore::pseudoForScrollbarPart): Changed switch statement to use cases for
        all values instead of using a default case.

        * rendering/RenderTreeAsText.cpp:
        (WebCore::operator<<): Removed dependency on casting to types that don't
        have any public members we need to get at. Instead, use function names to
        identify the type rather than doing so much overloading. Changed to use
        checked casts.
        (WebCore::write): Ditto.

        * rendering/SVGRenderSupport.cpp:
        (WebCore::renderSubtreeToImage): Changed to use a checked cast and also
        added a comment about the fact that the code does not do sufficient type
        checking before doing the cast.

        * rendering/SVGRenderTreeAsText.cpp:
        (WebCore::writeRenderSVGTextBox): Renamed this from operator<<.
        (WebCore::writeSVGInlineTextBoxes): Renamed this from writeSVGInlineText.
        (WebCore::writeSVGText): Renamed this from write.
        (WebCore::writeSVGInlineText): Ditto.
        (WebCore::writeSVGImage): Ditto.
        * rendering/SVGRenderTreeAsText.h: Updated for name changes. Removed
        unneeded default arguments.

2009-08-05  Peter Kasting  

        Reviewed by Sam Weinig.

        https://bugs.webkit.org/show_bug.cgi?id=27851
        Fix a pair of compiler warnings on the GTK Linux buildbot.

        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::processFileHeader): Don't use multi-character constants, they're not portable.
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::setSize): Simpler code that also doesn't compare signed with unsigned.

2009-08-05  Peter Kasting  

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460
        Return multiple icon entries from the ICO decoder as separate frames,
        sorted by decreasing quality (much like the CG ICO decoder does).

        As a result of this change, we can eliminate the Skia-specific setData()
        hack that the Chromium port used to select the desired icon size -- now
        callers can just enumerate the frames and ask for the data from the one
        they like.
        
        Under the hood, the ICO decoder now keeps vectors for a number of things
        (including directory entries and image decoders) where it used to have
        single members.  However, callers (that I have seen) will only request
        one frame from the icon, so practically there aren't going to be lots of
        instantiated image decoders.

        * platform/graphics/ImageSource.h: Move |m_decoder| back to private now that Skia no longer needs to access it.
        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
        * platform/graphics/skia/ImageSourceSkia.cpp:
        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
        (WebCore::ImageSource::setData): Remove function to ask for a particular icon size.
        * platform/graphics/skia/ImageSourceSkia.h: Removed.
        * platform/graphics/wx/ImageSourceWx.cpp:
        (WebCore::createDecoder): Remove size argument from ICO decoder instantiation.
        * platform/image-decoders/ico/ICOImageDecoder.cpp:
        (WebCore::ICOImageDecoder::ICOImageDecoder):
        (WebCore::ICOImageDecoder::~ICOImageDecoder): Delete all instantiated per-frame decoders.
        (WebCore::ICOImageDecoder::setData): Send data to all instantiated per-frame decoders.
        (WebCore::ICOImageDecoder::isSizeAvailable): Use size from icon directory instead of PNG decoder (if applicable) so we can report it without decoding the PNG frames.
        (WebCore::ICOImageDecoder::size): Report frame-specific size if BMP decoder is calling.  Otherwise, use size from icon directory instead of PNG decoder (if applicable).
        (WebCore::ICOImageDecoder::frameSizeAtIndex): Implement.
        (WebCore::ICOImageDecoder::setSize): Sanity check value if BMP decoder is calling.
        (WebCore::ICOImageDecoder::frameCount): Implement.
        (WebCore::ICOImageDecoder::frameBufferAtIndex): Sanity check size for PNG frames.
        (WebCore::ICOImageDecoder::compareEntries): Add utility function for sorting entries.
        (WebCore::ICOImageDecoder::setDataForPNGDecoderAtIndex): Factor out utility function for passing correct data blob to a PNG decoder.
        (WebCore::ICOImageDecoder::decodeWithCheckForDataEnded): Split decode() into two pieces.
        (WebCore::ICOImageDecoder::decodeDirectory): The first part of the old decode().
        (WebCore::ICOImageDecoder::decodeAtIndex): The second part of the old decode(), split off so we avoid decoding an entry until it's requested.
        (WebCore::ICOImageDecoder::processDirectory): Add resizing of internal data structures based on directory contents.
        (WebCore::ICOImageDecoder::processDirectoryEntries): Sort entries by quality.
        (WebCore::ICOImageDecoder::imageTypeAtIndex): Return type to caller instead of setting a member.
        * platform/image-decoders/ico/ICOImageDecoder.h:

2009-08-05  Szabo Carol  

        Reviewed by Darin Adler.

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

        Test: fast/forms/select-reset-multiple-selections-4-single-selection.html

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::reset):
           Added HTML 4.01 compliant handling of broken webpages that
           specify more than one selected option for single selection SELECT
           element, in a manner that emulates Firefox and is similar to IE 7


2009-08-05  Andras Becsi  

        Reviewed by Simon Hausmann.

        WebCore.pro bugfix

        Fix the gperf lines to properly include the string.h header at compilation with gperf version 3.0.3 and newer.

        * WebCore.pro:

2009-08-05  Chris Fleizach  

        Fix Tiger build breakage.

        * accessibility/mac/AccessibilityObjectWrapper.mm:

2009-08-04  Simon Hausmann  

        Prospective build fix for Qt build bot: Fix dependency of HTMLNames.cpp
        to both source files, HTMLTagNames.in and HTMLAttributeNames.in

        * WebCore.pro:

2009-08-04  Brian Weinstein  

        Reviewed by Adele Peterson.

        Keypress should exit from pan scrolling mode.
        https://bugs.webkit.org/show_bug.cgi?id=28005

        Change the logic from only exiting pan scrolling on escape to exiting on any key press,
        making it easier for users to back out of an accidental pan scroll.

        * page/EventHandler.cpp:
        (WebCore::EventHandler::keyEvent):
        
2009-08-04  Eric Seidel  

        Reviewed by Simon Fraser.

        REGRESSION (r45064): Drop caret remains in text control after the mouse exits
        https://bugs.webkit.org/show_bug.cgi?id=26787

        Add back missing dragController()->clear() call.

        * manual-tests/drag-caret.html: Added.
        * page/DragController.cpp:
        (WebCore::DragController::tryDocumentDrag):

2009-08-04  Chris Fleizach  

        Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
        https://bugs.webkit.org/show_bug.cgi?id=27994

        Forgot to commit attribute names.

        * html/HTMLAttributeNames.in:

2009-08-04  Chris Fleizach  

        Reviewed by Darin Adler.

        Bug 27994 - WAI-ARIA: aria-valuetext needs to be implemented
        https://bugs.webkit.org/show_bug.cgi?id=27994

        Test: platform/mac/accessibility/aria-valuetext.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::valueDescription):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::valueDescription):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        * html/HTMLAttributeNames.in:

2009-08-04  Michael Nordman  

        Reviewed by Alexey Proskuryakov.

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

        No new features, no new tests. Existing layout tests pass.

        * WebCore.base.exp:

        Export AppliationCacheGroup::storeCopyOfCache

        * WebCore.xcodeproj/project.pbxproj:

        Restore DOMApplicationCache.h and ApplicationCacheHost.h to 'project' headers
        instead of 'private' headers since they're no longer in the DocumentLoader.h
        include graph.

        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::insertedIntoDocument):

        Reinstate the test for manifest.isNull instead of .isEmtpty().
        Added a FIXME to revisit once the spec gets clarified.
        
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::mainReceivedError):
        (WebCore::DocumentLoader::detachFromFrame):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::applicationCacheHost):

        ApplicationCacheHost is held in an OwnPtr<> by DocumentLoader. This was done
        for compile time friendliness, it results in a smaller include graph for files
        dependent on DocumentLoader.h.

        * loader/FrameLoader.cpp:
        * loader/MainResourceLoader.cpp:
        * loader/ResourceLoader.cpp:

        Cleanup ussage of ENABLE(xxx) around includes, generally remove those guards.
        This was done for readability at the include site. The included files contain appropriate guards,
        so they're not needed at the include site.

        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::update):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::manifestNotFound):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        (WebCore::ApplicationCacheGroup::startLoadingEntry):
        (WebCore::CallCacheListenerTask::create):
        (WebCore::CallCacheListenerTask::performTask):
        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
        (WebCore::ApplicationCacheGroup::postListenerTask):
        * loader/appcache/ApplicationCacheGroup.h:

        Use ApplicationCachHost defined constants, no longer depends on DOMApplicationCache.

        * loader/appcache/ApplicationCacheHost.cpp:
        (WebCore::ApplicationCacheHost::ApplicationCacheHost):
        (WebCore::ApplicationCacheHost::setDOMApplicationCache):
        (WebCore::ApplicationCacheHost::notifyEventListener):
        (WebCore::ApplicationCacheHost::status):
        * loader/appcache/ApplicationCacheHost.h:
        (WebCore::ApplicationCacheHost::):
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::storeCopyOfCache):
        * loader/appcache/ApplicationCacheStorage.h:

        Merge recently added transferApplicationCache and pre-existing storeCopyOfCache methods.

        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::status):
        (WebCore::DOMApplicationCache::addEventListener):
        (WebCore::DOMApplicationCache::removeEventListener):
        (WebCore::DOMApplicationCache::callListener):
        (WebCore::DOMApplicationCache::toEventType):
        (WebCore::DOMApplicationCache::toEventID):
        * loader/appcache/DOMApplicationCache.h:
        (WebCore::DOMApplicationCache::setAttributeEventListener):
        (WebCore::DOMApplicationCache::getAttributeEventListener):
        (WebCore::DOMApplicationCache::clearAttributeEventListener):
        (WebCore::DOMApplicationCache::callEventListener):
        (WebCore::DOMApplicationCache::setOnchecking):
        (WebCore::DOMApplicationCache::onchecking):
        (WebCore::DOMApplicationCache::setOnerror):
        (WebCore::DOMApplicationCache::onerror):
        (WebCore::DOMApplicationCache::setOnnoupdate):
        (WebCore::DOMApplicationCache::onnoupdate):
        (WebCore::DOMApplicationCache::setOndownloading):
        (WebCore::DOMApplicationCache::ondownloading):
        (WebCore::DOMApplicationCache::setOnprogress):
        (WebCore::DOMApplicationCache::onprogress):
        (WebCore::DOMApplicationCache::setOnupdateready):
        (WebCore::DOMApplicationCache::onupdateready):
        (WebCore::DOMApplicationCache::setOncached):
        (WebCore::DOMApplicationCache::oncached):
        (WebCore::DOMApplicationCache::setOnobsolete):
        (WebCore::DOMApplicationCache::onobsolete):

        Use ApplicationCachHost defined constants for Status and EventIDs.

2009-08-04  Nate Chapin  

        Reviewed by Dimitri Glazkov.

        Revert r46421 and r46769, which appear to have totally hosed the v8 bindings.

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

        * bindings/v8/V8AbstractEventListener.cpp: Revert r46421.
        (WebCore::V8AbstractEventListener::invokeEventHandler):
        * bindings/v8/custom/V8DOMWindowCustom.cpp: Revert r46769.
        (WebCore::ACCESSOR_GETTER):

2009-08-04  Chris Fleizach  

        Reviewed by Darin Adler.

        Bug 27993 - AXSliders are missing required attributes and actions
        https://bugs.webkit.org/show_bug.cgi?id=27993

        Expose appropriate actions and attributes for sliders.

        Test: platform/mac/accessibility/slider-supports-actions.html

        * accessibility/AccessibilityObject.cpp:
        (WebCore::AccessibilityObject::orientation):
        * accessibility/AccessibilityObject.h:
        (WebCore::):
        * accessibility/AccessibilitySlider.cpp:
        (WebCore::AccessibilitySlider::orientation):
        * accessibility/AccessibilitySlider.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityActionNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2009-08-04  Jian Li  

        Reviewed by David Levin.

        [V8] Fix an assert in WebCoreStringResource that causes worker script
        evaluation failed.
        https://bugs.webkit.org/show_bug.cgi?id=27996

        The fix is to check for the same thread, instead of the main thread.
        This is because Chromium's workers use v8 in a single thread that is
        not the main thread.

        * bindings/v8/V8Binding.cpp:
        (WebCore::WebCoreStringResource::WebCoreStringResource):
        (WebCore::WebCoreStringResource::~WebCoreStringResource):
        (WebCore::WebCoreStringResource::atomicString):

2009-08-04  Simon Fraser  

        Reviewed by Dave Hyatt.

        Add support for transitions/animations of text-indent.

        Test: transitions/text-indent-transition.html

        * page/animation/AnimationBase.cpp:
        (WebCore::ensurePropertyMap):

2009-08-04  Simon Fraser  

        Reviewed by Dave Hyatt.

        Add support for transitions of min- and max-width, and min- and max-height.
        https://bugs.webkit.org/show_bug.cgi?id=27990

        Test: transitions/min-max-width-height-transitions.html

        * page/animation/AnimationBase.cpp:
        (WebCore::ensurePropertyMap):

2009-08-04  Chris Fleizach  

        Reviewed by Darin Adler.

        Bug 27964 - WAI-ARIA: radio button does not determine its label from text content
        https://bugs.webkit.org/show_bug.cgi?id=27964

        ARIA radio buttons also need to use the text inside of them, like buttons and other roles.
        Also fixed an issue where an extra space was being appended to some ARIA labels.

        Test: platform/mac/accessibility/aria-radiobutton-text.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::ariaAccessibilityName):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::ariaAccessibilityName):
        (WebCore::AccessibilityRenderObject::ariaLabeledByAttribute):
        (WebCore::AccessibilityRenderObject::title):
        (WebCore::AccessibilityRenderObject::ariaDescribedByAttribute):
        * accessibility/AccessibilityRenderObject.h:

2009-08-04  Nate Chapin  

        Reviewed by Dimitri Glazkov.

        Missed a place that expects window.event to be hidden when it shouldn't be.

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

        * bindings/v8/custom/V8DOMWindowCustom.cpp:
        (WebCore::ACCESSOR_GETTER): window.event is no longer hidden.

2009-08-03  Chris Fleizach  

        Reviewed by Jon Honeycutt.

        Bug 27958 - WAI-ARIA: Implement 'aria-required' attribute.
        https://bugs.webkit.org/show_bug.cgi?id=27958

        Test: platform/mac/accessibility/aria-required.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isRequired):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::isRequired):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
        * html/HTMLAttributeNames.in:

2009-08-04  Jakub Wieczorek  

        Reviewed by Simon Hausmann.

        Add QWebPluginDatabase API to the Qt API.
        
        https://bugs.webkit.org/show_bug.cgi?id=27651

        * WebCore.pro:

2009-08-04  Ariya Hidayat  

        Reviewed by Adam Treat.

        [Qt] PlusDarker is not supported. Fall back to CompositionMode_Darken
        (as it is the closest match) instead of CompositionMode_SourceOver.

        * platform/graphics/qt/GraphicsContextQt.cpp:
        (WebCore::toQtCompositionMode):

2009-08-04  Christian Plesner Hansen  

        Reviewed by Adam Barth.

        [v8] Fix crash when converting empty v8 string to atomic webkit string.
        https://bugs.webkit.org/show_bug.cgi?id=27975

        collection-null-like-arguments.html tests for this.

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8StringToAtomicWebCoreString):

2009-08-04  Ryosuke Niwa  

        Reviewed by Eric Seidel.

        selectionHasStyle needs clean up to fix Bug 27858
        https://bugs.webkit.org/show_bug.cgi?id=27865

        This patch cleans up selectionStartHasStyle and selectionHasStyle.
        No test is added because the patch does not change any behavior.

        * editing/ApplyStyleCommand.cpp:
        (WebCore::getPropertiesNotInComputedStyle): Used in triStateOfStyleInComputedStyle but will be used here as well
        * editing/ApplyStyleCommand.h: Added the prototype of getPropertiesNotInComputedStyle
        * editing/Editor.cpp:
        (WebCore::triStateOfStyleInComputedStyle): Determines if the specified style is present in the specified computed style.
        (WebCore::Editor::selectionStartHasStyle): Uses triStateOfStyleInComputedStyle
        (WebCore::Editor::selectionHasStyle): Uses triStateOfStyleInComputedStyle instead of updateState

2009-08-03  John Abd-El-Malek  

        Reviewed by David Levin.

        Fix MessagePort construction in worker process.  Also make the other object constructions match this.

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

        * bindings/v8/V8DOMWrapper.cpp:
        (WebCore::V8DOMWrapper::convertToV8Object):
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::setDOMException):
        * bindings/v8/WorkerContextExecutionProxy.cpp:
        (WebCore::WorkerContextExecutionProxy::ToV8Object):

2009-08-03  Christian Plesner Hansen  

        Reviewed by David Levin.

        [V8] Cache atomic strings in externalized v8 strings
        https://bugs.webkit.org/show_bug.cgi?id=27762

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8Binding.cpp:
        (WebCore::WebCoreStringResource::WebCoreStringResource):
        (WebCore::WebCoreStringResource::~WebCoreStringResource):
        (WebCore::WebCoreStringResource::data):
        (WebCore::WebCoreStringResource::length):
        (WebCore::WebCoreStringResource::webcoreString):
        (WebCore::WebCoreStringResource::atomicString):
        (WebCore::WebCoreStringResource::toStringResource):
        (WebCore::v8StringToWebCoreString):
        (WebCore::v8StringToAtomicWebCoreString):
        (WebCore::v8ValueToWebCoreString):
        (WebCore::v8ValueToAtomicWebCoreString):
        * bindings/v8/V8Binding.h:
        (WebCore::):
        * dom/Document.idl:

2009-08-03  Joseph Pecoraro  

        Reviewed by Timothy Hatcher.

        Inspector: DOM Storage Live Updating Should Not Affect Tabbing
        https://bugs.webkit.org/show_bug.cgi?id=27957

        * inspector/front-end/DOMStorageDataGrid.js:
        (WebInspector.DOMStorageDataGrid.prototype._startEditingColumnOfDataGridNode): disable storage event listener
        (WebInspector.DOMStorageDataGrid.prototype._startEditing): disable storage event listener
        (WebInspector.DOMStorageDataGrid.prototype._editingCancelled): enable storage event listener
        * inspector/front-end/DatabasesPanel.js:
        (WebInspector.DatabasesPanel.prototype._unregisterStorageEventListener): quick return if no listener

2009-08-03  Laszlo Gombos  

        Reviewed by Eric Seidel.

        [Qt] Consolidate common gcc flags to WebKit.pri
        https://bugs.webkit.org/show_bug.cgi?id=27934

        * WebCore.pro:

2009-08-03  Jeremy Orlow  

        Reviewed by Darin Fisher.

        Chromium code sometimes isn't sandboxed and needs to access the FS.
        https://bugs.webkit.org/show_bug.cgi?id=27954

        These changes are the WebKit side of http://codereview.chromium.org/159778 which
        aims to make LocalStorage persistent.

        This change runs all FileSystem routines through the ChromiumBridge so that
        WebKitClients can handle them if they choose to.  For now, the only such client
        will be the one running in the browser process.

        It also adds a method called sandboxEnabled to the Chromium bridge so that the
        SQLite file system code can shift its behavior depending on whether we're
        inside a sandbox or not.

        * platform/chromium/ChromiumBridge.h:
        * platform/chromium/FileSystemChromium.cpp:
        (WebCore::deleteFile):
        (WebCore::deleteEmptyDirectory):
        (WebCore::getFileModificationTime):
        (WebCore::directoryName):
        (WebCore::pathByAppendingComponent):
        (WebCore::makeAllDirectories):
        (WebCore::fileExists):
        * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
        (WebCore::SQLiteFileSystem::openDatabase):
        * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
        (WebCore::SQLiteFileSystem::registerSQLiteVFS):

2009-08-03  Alpha Lam  

        Reviewed by David Levin.

        [chromium] Implement media slider for chromium
        https://bugs.webkit.org/show_bug.cgi?id=27859

        Implemented the media slider for chromium port. The implementation
        is using Skia for drawing the thumb and buffered region instead of
        using any native system controls so different platforms would have
        the same look and feel.

        No new tests because this is covered by existing tests.

        * css/mediaControlsChromium.css:
        * rendering/RenderThemeChromiumSkia.cpp:
        * rendering/RenderThemeChromiumSkia.h:
        * rendering/RenderThemeChromiumWin.cpp:

2009-07-27  Peter Kasting  

        Reviewed by Eric Seidel.

        https://bugs.webkit.org/show_bug.cgi?id=26460
        Plumbing and cleanup in advance of returning multiple frames from the
        ICOImageDecoder:
        * Make ImageDecoder::frameCount() return a size_t like
          ImageSource::frameCount() and BitmapImage::frameCount() already do.
        * Add ImageDecoder::frameSizeAtIndex() alongside size(), to report the
          size of a particular frame.  Hook all the
          ImageSource::frameSizeAtIndex() implementations to this.  No
          ImageDecoder implements this yet; that will come in my next change.

        * platform/graphics/cairo/ImageSourceCairo.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/graphics/qt/ImageDecoderQt.cpp:
        (WebCore::ImageDecoderQt::frameCount): returns size_t.
        * platform/graphics/qt/ImageDecoderQt.h: frameCount() returns size_t.
        * platform/graphics/qt/ImageSourceQt.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/graphics/skia/ImageSourceSkia.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/graphics/win/ImageCGWin.cpp:
        (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
        * platform/graphics/win/ImageCairoWin.cpp:
        (WebCore::BitmapImage::drawFrameMatchingSourceSize): frameCount() returns size_t.
        * platform/graphics/wx/ImageSourceWx.cpp:
        (WebCore::ImageSource::frameSizeAtIndex): Hook to ImageDecoder function.
        * platform/image-decoders/ImageDecoder.h:
        (WebCore::ImageDecoder::size): Clarify comment.
        (WebCore::ImageDecoder::frameSizeAtIndex): Add.
        (WebCore::ImageDecoder::frameCount): returns size_t.
        (WebCore::ImageDecoder::frameBufferAtIndex): Remove unneeded param name.
        * platform/image-decoders/gif/GIFImageDecoder.cpp:
        (WebCore::GIFImageDecoder::frameCount): returns size_t.
        (WebCore::GIFImageDecoder::frameBufferAtIndex): frameCount() returns size_t.
        * platform/image-decoders/gif/GIFImageDecoder.h: frameCount() returns size_t.

2009-08-03  Dumitru Daniliuc  

        Reviewed by Darin Adler.

        Fix a bug that could cause an ASSERT to fail incorrectly, leading
        to a renderer crash in Chromium.

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

        All tests in storage/ pass.

        * platform/sql/SQLiteTransaction.cpp:
        (WebCore::SQLiteTransaction::~SQLiteTransaction):
        (WebCore::SQLiteTransaction::begin):

2009-08-03  Kenneth Rohde Christiansen  

        Reviewed by Simon Hausmann.

        Based on work by Yael Aharon.

        Implement keyboard event forwarding for windowless plugins
        for the Qt port.

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::dispatchNPEvent):
        (WebCore::setSharedXEventFields):
        (WebCore::setXKeyEventSpecificFields):
        (WebCore::PluginView::handleKeyboardEvent):
        (WebCore::PluginView::handleMouseEvent):

2009-08-03  Joseph Pecoraro  

        Reviewed by Timothy Hatcher.

        Inspector: Make Bottom "Drawer" More Extensible To Support Other Views
        https://bugs.webkit.org/show_bug.cgi?id=27928

        * English.lproj/localizedStrings.js:

          "Show changes view", "Hide changes view", "Clear changes log", "%d style change", "%d style changes"

        * inspector/front-end/ChangesView.js: Added.
        (WebInspector.ChangesView):
        (WebInspector.ChangesView.prototype._clearButtonClicked):
        (WebInspector.ChangesView.prototype._toggleChangesButtonClicked):
        (WebInspector.ChangesView.prototype.attach):
        (WebInspector.ChangesView.prototype.show):
        (WebInspector.ChangesView.prototype.hide):

          To be a new view to show Changes made via the inspector.  DOM, CSS, or otherwise.

        * inspector/front-end/Console.js: Removed.

          Sliding View aspect moved to Drawer.js.  The "console" itself has moved to ConsoleView.js

        * inspector/front-end/ConsoleView.js: Added.

          Little has changed from its move from Console.js other then support for working with the Drawer.

        * inspector/front-end/Drawer.js: Added.
        (WebInspector.Drawer):
        (WebInspector.Drawer.prototype.get visibleView):
        (WebInspector.Drawer.prototype.set visibleView):
        (WebInspector.Drawer.prototype.show.animationFinished):
        (WebInspector.Drawer.prototype.show):
        (WebInspector.Drawer.prototype.hide.animationFinished):
        (WebInspector.Drawer.prototype.hide):
        (WebInspector.Drawer.prototype._safelyRemoveChildren):
        (WebInspector.Drawer.prototype._startStatusBarDragging):
        (WebInspector.Drawer.prototype._statusBarDragging):
        (WebInspector.Drawer.prototype._endStatusBarDragging):

          Allow for multiple views inside the Sliding Drawer.

        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel):
        (WebInspector.ElementsPanel.prototype.renameSelector):
        (WebInspector.ElementsPanel.prototype.addStyleChange):
        (WebInspector.ElementsPanel.prototype.removeStyleChange):
        (WebInspector.ElementsPanel.prototype.generateStylesheet):

          Starting work on the "Changes" Panel. The ability to generate a Stylesheet from Styles added via the Inspector.

        * inspector/front-end/Images/styleIcon.png: Added.

        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylePropertiesSection.prototype.isInspectorStylesheet):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
        (WebInspector.StylePropertyTreeElement.prototype):

          Interface with ElementsPanel for generating a Stylesheet of Changes.

        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.css: Refactored to allow for multiple views in the drawer.
        * inspector/front-end/inspector.html: Refactored to allow for multiple views in the drawer.

        * inspector/front-end/inspector.js:
        (WebInspector.get styleChanges):
        (WebInspector.set styleChanges):
        (WebInspector._updateChangesCount):
        (WebInspector.loaded):
        (WebInspector.documentKeyDown):
        (WebInspector.showConsole):
        (WebInspector.showChanges):

          Support for the drawer and "styles changed icon" similar to the "errors and warnings" icons.

2009-08-03  Dean McNamee  

        Reviewed by Adam Barth.

        Correct an assert on a PassRefPtr in the v8 svg bindings.
        https://bugs.webkit.org/show_bug.cgi?id=27951

        * bindings/v8/V8SVGPODTypeWrapper.h:
        (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper):

2009-08-03  Dirk Pranke  

        Reviewed by Sam Weinig.

        Fix for https://bugs.webkit.org/show_bug.cgi?id=27748
        crash w/ stack overflow when same CSS file loaded repeatedly

        Fix crash caused by a stack overflow when repeatedly loading very large
        CSS files. CSSRuleData in CSSStyleSelector.h destroyed itself 
        recursively rather than iteratively.

        Test: fast/css/large-list-of-rules-crash.html

        * css/CSSStyleSelector.h:
        (WebCore::CSSRuleData::~CSSRuleData):
        (WebCore::CSSRuleDataList::~CSSRuleDataList):

2009-08-03  Simon Fraser  

        Reviewed by Dan Bernstein.

        Make the DRT APIs to pause transitions and animations work for accelerated animations
        
        

        Fix the 'pauseAnimationAtTimeOnElementWithId' and 'pauseTransitionAtTimeOnElementWithId' APIs
        available to LayoutTests to work with accelerated animations and transitions. Done by sending
        the pause time down to the GraphicsLayer, and using it to stop time on the layer.
        
        I also added an assertion to check that the animation has actually started when we
        try to pause it, to check that the pause time we compute is valid. This revealed a number
        of tests that tried to pause before animations started, required some amount of test fixing.

        * page/animation/AnimationBase.cpp:
        (WebCore::AnimationBase::freezeAtTime):
        * page/animation/AnimationBase.h:
        * page/animation/CompositeAnimation.cpp:
        (WebCore::CompositeAnimation::pauseAnimationAtTime):
        (WebCore::CompositeAnimation::pauseTransitionAtTime):
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::suspendAnimations):
        * platform/graphics/GraphicsLayer.h:
        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        (WebCore::GraphicsLayerCA::suspendAnimations):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::suspendAnimations):
        * rendering/RenderLayerBacking.h:

2009-08-03  Tony Chang  

        Reviewed by Darin Adler.

        Fix Chromium build by removing PluginView.h from Page.cpp.
        Chromium doesn't use PluginView and the pointer is never
        dereferenced so the header doesn't need to be included.
        https://bugs.webkit.org/show_bug.cgi?id=27946

        No new tests because this is a build fix.

        * page/Page.cpp:

2009-08-03  Eric Carlson  

        One more build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.

        Unreviewed.

        * WebCoreSources.bkl:

2009-08-03  Eric Carlson  

        Build fix after https://bugs.webkit.org/show_bug.cgi?id=46720.

        Unreviewed.

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:

2009-08-03  Chris Fleizach  

        Reviewed by Darin Adler.

        Bug 27943: Need to implement ARIA role="radiogroup"
        https://bugs.webkit.org/show_bug.cgi?id=27943

        Test: platform/mac/accessibility/aria-radiogroup.html

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::isRadioGroup):
        (WebCore::AccessibilityObject::selectedRadioButton):
        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::selectedRadioButton):
        (WebCore::RoleEntry::):
        * accessibility/AccessibilityRenderObject.h:
        * accessibility/mac/AccessibilityObjectWrapper.mm:
        (-[AccessibilityObjectWrapper roleDescription]):
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):

2009-08-03  Eric Carlson  

        Reviewed by Eric Seidel.

        HTMLInputElement is not controllable by assistive technologies
        https://bugs.webkit.org/show_bug.cgi?id=27941

        Test: accessibility/input-slider.html

        * WebCore.xcodeproj/project.pbxproj:
            Add AccessibilitySlider.cpp/.h

        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::getOrCreate):
            Create AccessibilitySlider and AccessibilitySliderThumb.

        * accessibility/AccessibilityObject.h:
        (WebCore::AccessibilityObject::increment):
        (WebCore::AccessibilityObject::decrement):
            Add default, do nothing, base class methods.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
            Correct typo.

        * accessibility/AccessibilitySlider.cpp: Added.
        (WebCore::AccessibilitySlider::AccessibilitySlider):
        (WebCore::AccessibilitySlider::create):
        (WebCore::AccessibilitySlider::children):
        (WebCore::AccessibilitySlider::addChildren):
        (WebCore::AccessibilitySlider::getAttribute):
        (WebCore::AccessibilitySlider::valueForRange):
        (WebCore::AccessibilitySlider::maxValueForRange):
        (WebCore::AccessibilitySlider::minValueForRange):
        (WebCore::AccessibilitySlider::changeValue):
        (WebCore::AccessibilitySlider::setValue):
        (WebCore::AccessibilitySlider::increment):
        (WebCore::AccessibilitySlider::decrement):
        (WebCore::AccessibilitySlider::element):
        (WebCore::AccessibilitySliderThumb::AccessibilitySliderThumb):
        (WebCore::AccessibilitySliderThumb::create):
        (WebCore::AccessibilitySliderThumb::elementRect):
        (WebCore::AccessibilitySliderThumb::size):
        * accessibility/AccessibilitySlider.h: Added.
        (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/mac/AccessibilityObjectWrapper.mm:
        (RoleEntry::):
            SliderThumbRole -> NSAccessibilityValueIndicatorRole
        (-[AccessibilityObjectWrapper roleDescription]):
            Return role description for NSAccessibilitySliderRole and NSAccessibilityValueIndicatorRole.
        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
            Minor coding style correction.
        (-[AccessibilityObjectWrapper accessibilityPerformPressAction]):
            If attachement view handles press action, don't also call object wrapper.
        (-[AccessibilityObjectWrapper accessibilityPerformIncrementAction]):
            New, call object's increment() method.
        (-[AccessibilityObjectWrapper accessibilityPerformDecrementAction]):
            New, call object's decrement() method.
        (-[AccessibilityObjectWrapper accessibilityPerformAction:]):
            Respond to NSAccessibilityIncrementAction and NSAccessibilityDecrementAction.

        * rendering/RenderSlider.cpp:
        (WebCore::RenderSlider::thumbRect):
            Factor logic out of layout so AccessibilitySliderThumb can get thumb location/size.
        (WebCore::RenderSlider::layout):
            Move code to thumbRect().
        * rendering/RenderSlider.h:

2009-08-03  Laszlo Gombos  

        Reviewed by Eric Seidel.

        Build fix if Netscape plugin support is turned off
        https://bugs.webkit.org/show_bug.cgi?id=27940

        * plugins/PluginView.cpp:
        (WebCore::PluginView::stop): Do not call NPN_MemFree if NPAPI is
        disabled
        * plugins/PluginViewNone.cpp:
        (WebCore::PluginView::platformStart): Empty stub.

2009-07-31  Joe Mason  

        Reviewed by George Staikos.

        WINCE port: LOAD_WITH_ALTERED_SEARCH_PATH param of LoadLibraryEx not supported on WINCE
        https://bugs.webkit.org/show_bug.cgi?id=27917

        * plugins/win/PluginPackageWin.cpp:
        (WebCore::PluginPackage::load): use LoadLibrary instead of LoadLibraryEx

2009-08-02  Adam Barth  
        Reviewed by Darin Adler.

        SVGElementInstance::scriptExecutionContext should call document() instead of scriptExecutionContext()

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

        There's no reason to pay for a virtual function call in this case.  We
        can just call document() directly because we know that element is a
        Node*.

        * svg/SVGElementInstance.cpp:
        (WebCore::SVGElementInstance::scriptExecutionContext):

2009-08-02  Adam Barth  

        Reviewed by Darin Adler.

        JSNodeCustom should call document() instead of scriptExecutionContext()
        https://bugs.webkit.org/show_bug.cgi?id=27931

        We want to call document() because it's in inline function, instead of
        scriptExecutionContext() because it's a virtual function.  If we have a
        Node*, then we know that the virtual function will always return the
        document anyway.

        There are more instance of this bug, but I'd like to start with a small
        patch and work up.

        * bindings/js/JSDOMGlobalObject.cpp:
        (WebCore::toJSDOMGlobalObject):
        * bindings/js/JSDOMGlobalObject.h:
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::addEventListener):
        (WebCore::JSNode::removeEventListener):

2009-08-02  Tor Arne Vestbø  

        Reviewed by Anders Carlsson.

        Share implementation of PluginView::userAgent() and userAgentStatic()

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

        Differences to the original implementation are as follows:
        
            - The Win port used to return 0 for userAgentStatic, but now
              returns the quirk mode MozillaUserAgent as the other ports.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::userAgent):
        (WebCore::PluginView::userAgentStatic):
        * plugins/PluginViewNone.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/mac/PluginViewMac.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/win/PluginViewWin.cpp:

2009-07-27  Tor Arne Vestbø  

        Reviewed by Anders Carlsson.

        Unregister plugin from PluginMainThreadScheduler if NPP_New fails
        
        https://bugs.webkit.org/show_bug.cgi?id=27706
        
        Since the plugin has not been started yet (m_isStarted is not set),
        calling stop() will not have any affect, so we manually unregister
        in start() before returning.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):

2009-07-27  Tor Arne Vestbø  

        Reviewed by Anders Carlsson.

        Join the various versions of PluginView::stop() into one shared implementation

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

        The platform-dependent bits are now ifdef'ed in the shared implementation,
        using the XP_ defines (XP_WIN, XP_MACOSX, XP_UNIX) from npapi.h
        
        Differences to the original implementation are as follows:

            - The Qt port unregistered the plugin before calling NP_SetWindow
              with a 0 window handle. Now it's done after (similar to Win)

            - The GTK and Qt ports unregistered the plugin before clearing
              the m_npWindow.ws_info struct. Now it's done after.
              
            - The Win port constructed the DropAllLocks after unsubclassing
              the window. Now it's done before.
              
            - The Mac, Qt, and GTK ports did not pass a NPSavedData struct
              to NP_Destroy (like the Win port). Now all ports do.

            - The Win port did not call PluginView::setCurrentPluginView()
              before calling to NP-functions. Now it does.     

        * plugins/PluginView.cpp:
        * plugins/PluginViewNone.cpp:
        * plugins/gtk/PluginViewGtk.cpp:
        * plugins/mac/PluginViewMac.cpp:
        * plugins/qt/PluginViewQt.cpp:
        * plugins/win/PluginViewWin.cpp:

2009-07-30  Joseph Pecoraro  

        Reviewed by Timothy Hatcher.

        Inspector: let me *edit* css styles in the web inspector.
        https://bugs.webkit.org/show_bug.cgi?id=27124

        * English.lproj/localizedStrings.js:
        * inspector/front-end/ElementsPanel.js:
        (WebInspector.ElementsPanel): added property stylesheet pointing to 1 stylesheet added to the page if needed
        * inspector/front-end/StylesSidebarPane.js:
        (WebInspector.StylesSidebarPane.prototype.update): handle blank sections
        (WebInspector.StylesSidebarPane.prototype.addBlankSection): blank section in the correct position
        (WebInspector.StylesSidebarPane.prototype.appropriateSelectorForNode): helper to get a nice selector for the selectd node
        (WebInspector.StylePropertiesSection):
        (WebInspector.StylePropertiesSection.prototype.expand):
        (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
        (WebInspector.StylePropertiesSection.prototype._dblclickEmptySpace): easily create new properties
        (WebInspector.StylePropertiesSection.prototype._dblclickSelector):
        (WebInspector.StylePropertiesSection.prototype.startEditingSelector): allow for editing selectors
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
        (WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
        (WebInspector.StylePropertiesSection.prototype._doesSelectorAffectSelectedNode): helper to check if a selector applies to the selected node
        (WebInspector.BlankStylePropertiesSection.prototype._dblclick):
        (WebInspector.BlankStylePropertiesSection.prototype.startEditing):
        (WebInspector.BlankStylePropertiesSection.prototype.editingCancelled):
        (WebInspector.BlankStylePropertiesSection.prototype.editingCommitted):
        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal): morph into a StylePropertiesSection
        (WebInspector.StylePropertyTreeElement.prototype):
        (WebInspector.StylePropertyTreeElement.prototype.):
        * inspector/front-end/inspector.css:

2009-07-31  Anton Muhin  

        Reviewed by Adam Barth.

        [v8] check if proxy is present before invoking a handler
        https://bugs.webkit.org/show_bug.cgi?id=27883 

        Do not invoke handler function if proxy is null pointer (that would lead to access violation
        anyway)

        * bindings/v8/custom/V8CustomEventListener.cpp:
        (WebCore::V8EventListener::callListenerFunction):

2009-08-01  Pavel Feldman  

        Reviewed by Timothy Hatcher.

        Web Inspector: Reimplement Elements Panel so that its
        interaction with DOM is serialized.

        This is a first cut wuth read support for DOM elements
        tree as well as some limited editing. No properties, no
        styles, no search capabilities are implemented yet.
        Set Preferences.useDOMAgent to true in order to try it
        out, otherwise disabled by default.

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

        * GNUmakefile.am:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * inspector/InspectorBackend.cpp:
        (WebCore::InspectorBackend::getChildNodes):
        (WebCore::InspectorBackend::setAttribute):
        (WebCore::InspectorBackend::removeAttribute):
        (WebCore::InspectorBackend::setTextNodeValue):
        * inspector/InspectorBackend.h:
        * inspector/InspectorBackend.idl:
        * inspector/InspectorController.cpp:
        (WebCore::InspectorController::windowScriptObjectAvailable):
        (WebCore::InspectorController::setFrontendProxyObject):
        (WebCore::InspectorController::close):
        (WebCore::InspectorController::populateScriptObjects):
        (WebCore::InspectorController::didCommitLoad):
        * inspector/InspectorController.h:
        (WebCore::InspectorController::domAgent):
        * inspector/InspectorDOMAgent.cpp: Added.
        * inspector/InspectorDOMAgent.h: Added.
        * inspector/InspectorFrontend.cpp:
        * inspector/InspectorFrontend.h:
        * inspector/front-end/Callback.js: Added.
        * inspector/front-end/DOMAgent.js: Added.
        * inspector/front-end/ElementsPanel.js:
        * inspector/front-end/WebKit.qrc:
        * inspector/front-end/inspector.html:
        * inspector/front-end/inspector.js:
        (WebInspector.loaded):

2009-08-01  Ryosuke Niwa  

        Reviewed by Adele Peterson.

        isContentEditable function in htmlediting.* must be removed
        https://bugs.webkit.org/show_bug.cgi?id=27870

        This patch removes isContentEditable function in htmlediting.cpp and
        replaces all usage by calling Node::isContentEditable or its derivatives.

        * editing/AppendNodeCommand.cpp: ditto
        (WebCore::AppendNodeCommand::AppendNodeCommand): ditto
        * editing/IndentOutdentCommand.cpp: ditto
        (WebCore::IndentOutdentCommand::outdentParagraph): ditto
        * editing/InsertNodeBeforeCommand.cpp: ditto
        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand): ditto
        * editing/htmlediting.cpp: ditto
        (WebCore::enclosingNodeWithTag): ditto
        (WebCore::enclosingNodeOfType): ditto
        (WebCore::canMergeLists): ditto
        * editing/htmlediting.h: Updated prototype

2009-08-01  John Abd-El-Malek  

        Reviewed by Adam Barth.

        Fix a message port handle always getting marked as reachable once it gets entangled.

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

        No tests since this only arises with the Chromium multi-process message port implementation
        which isn't in this repostiory.

        * bindings/v8/V8GCController.cpp:
        (WebCore::GCEpilogueVisitor::visitDOMWrapper):

2009-07-31  Yong Li  

        Reviewed by Adam Barth.

        Fix Geolocation permission problem
        https://bugs.webkit.org/show_bug.cgi?id=26993

        * page/Geolocation.cpp:
        (WebCore::Geolocation::requestPermission):

2009-07-31  Norbert Leser  

        Reviewed by Eric Seidel.

        Added project properties as needed by symbian platform

        * WebCore.pro:

2009-07-31  Xan Lopez  

        Reviewed by Holger Freyther.

        Fix compiler warning.

        Initialize member variables in the correct order.

        * plugins/PluginView.cpp:
        (WebCore::PluginView::PluginView):

2009-07-31  Jon Honeycutt  

        Windows build fix!

        Unreviewed.

        * page/win/PageWin.cpp:

2009-07-31  Jon Honeycutt  

        Mac build fix.

        Unreviewed.

        * page/Page.cpp:
        Move setCanStartPlugins() from here...
        * page/win/PageWin.cpp:
        (WebCore::Page::setCanStartPlugins):
        ... to here.

2009-07-29  Jon Honeycutt  

         Safari shouldn't auto-activate plug-ins in
        background tabs (make Win consistent with Mac)

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

        Reviewed by Anders Carlsson.

        * loader/FrameLoaderClient.h:
        (WebCore::FrameLoaderClient::dispatchDidFailToStartPlugin):
        Declare a new function to dispatch failures to start plug-ins.

        * page/Page.cpp:
        (WebCore::Page::Page):
        Initialize new member variable.
        (WebCore::Page::addUnstartedPlugin):
        Add the PluginView to the set of unstarted plug-ins.
        (WebCore::Page::removeUnstartedPlugin):
        Remove the PluginView from the set of unstarted plug-ins.
        (WebCore::Page::setCanStartPlugins):
        If we can now start plug-ins, iterate the set of unstarted plug-ins,
        starting them. If a plug-in fails to start, dispatch a failed-to-start-
        plug-in error. Clear the list of unstarted plug-ins.

        * page/Page.h:
        Added m_canStartPlugins to track whether we can currently start
        plug-ins. Added m_unstartedPlugins to keep track of plug-ins in the
        page that are waiting to be started.
        (WebCore::Page::canStartPlugins):

        * plugins/PluginView.cpp:
        (WebCore::PluginView::start):
        m_mimeType is now a WebCore::String, so we call .utf8(). If NPP_New()
        fails, set m_status to reflect this; this used to be set by init(), but
        start() will not be called by init() if we are delaying start().
        If NPP_New() succeeds, set m_status to reflect this, and call
        platformStart().
        (WebCore::PluginView::startOrAddToUnstartedList):
        If we cannot start plug-ins, add this view to the Page's list of
        unstarted plug-ins and return true. Otherwise, call start() and return
        the result.
        (WebCore::PluginView::removeFromUnstartedListIfNecessary):
        If we've been started or we don't have a Page, return early. Remove
        ourselves from the Page's list of unstarted plug-ins.
        (WebCore::PluginView::bindingInstance):
        If we haven't been started yet, return 0. This matches the Mac
        behavior.
        (WebCore::PluginView::setParameters):
        If we find the "plug-ins page" parameter, record it; it may be used if
        we fail to start the plug-in.
        (WebCore::PluginView::PluginView):
        Initialize new members m_haveUpdatedPluginWidget. Initialize m_mimeType
        with mimeType directly; m_mimeType is now a WebCore::String.

        * plugins/PluginView.h:
        Made start() public, so Page can call it when we start unstarted
        plug-ins. Changed m_mimeType from CString to String and added
        m_pluginsPage; these are needed by dispatchDidFailToStartPlugin().
        (WebCore::PluginView::pluginsPage):
        Added for dispatchDidFailToStartPlugin().
        (WebCore::PluginView::mimeType):
        Ditto.
        (WebCore::PluginView::url):
        Ditto.

        * plugins/gtk/PluginViewGtk.cpp:
        (WebCore::PluginView::platformStart):
        Stubbed.

        * plugins/mac/PluginViewMac.cpp:
        (WebCore::PluginView::platformStart):
        Stubbed.

        * plugins/qt/PluginViewQt.cpp:
        (WebCore::PluginView::platformStart):
        Stubbed.

        * plugins/win/PluginViewWin.cpp:
        (WebCore::PluginView::updatePluginWidget):
        Use m_haveUpdatedPluginWidget to ensure that we will call MoveWindow()
        and SetWindowRgn() to position the plug-in and set its clip rect if an
        earlier call to updatePluginWidget() was made before
        setPlatformPluginWidget() was called to set the plug-in's HWND.
        (WebCore::PluginView::~PluginView):
        Call removeFromUnstartedListIfNecessary() to remove the plug-in from
        the unstarted list if the plug-in is destroyed before it is started.
        (WebCore::PluginView::init):
        Call startOrAddtoUnstartedList to start the plug-in or, if plug-ins
        cannot be started, to add it to the list of plug-ins waiting to be
        started. Set m_status to indicate success; this is also set by start(),
        but that may be delayed, and we don't want the loader to dispatch a
        failed-to-start-plug-in error when we return from init().
        (WebCore::PluginView::platformStart):
        Added; code moved from init(). This is now called by start() to perform
        any platform-specific tasks that need to take place after the plug-in
        has started. Added a call to updatePluginWidget() to ensure we position
        the plug-in and set its clip rect after the plug-in has started.
        Removed the setting of m_status; start() does this before calling this
        function (and we assert this at the head of the function).

2009-07-30  Darin Adler  

        Reviewed by David Levin.

        Use checked casts for render tree
        https://bugs.webkit.org/show_bug.cgi?id=23522

        Next step: Add casts for all the RenderTable classes and use them everywhere.

        Also added a few uses in places that were still using static_cast.
        Also made some virtual member functions private.
        Also changed RenderTable::m_tableLayout to use OwnPtr.

        * accessibility/AccessibilityTable.cpp:
        (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
        (WebCore::AccessibilityTable::addChildren):
        (WebCore::AccessibilityTable::cellForColumnAndRow):
        * accessibility/AccessibilityTableCell.cpp:
        (WebCore::AccessibilityTableCell::parentTable):
        (WebCore::AccessibilityTableCell::rowIndexRange):
        (WebCore::AccessibilityTableCell::columnIndexRange):
        (WebCore::AccessibilityTableCell::titleUIElement):
        * accessibility/AccessibilityTableColumn.cpp:
        (WebCore::AccessibilityTableColumn::headerObject):
        * accessibility/AccessibilityTableRow.cpp:
        (WebCore::AccessibilityTableRow::parentTable):
        * editing/DeleteSelectionCommand.cpp:
        (WebCore::DeleteSelectionCommand::removeNode):
        * editing/TextIterator.cpp:
        (WebCore::shouldEmitTabBeforeNode):
        (WebCore::shouldEmitNewlinesBeforeAndAfterNode):
        * html/HTMLTableCellElement.cpp:
        (WebCore::HTMLTableCellElement::parseMappedAttribute):
        * html/HTMLTableColElement.cpp:
        (WebCore::HTMLTableColElement::parseMappedAttribute):
        * page/Frame.cpp:
        (WebCore::Frame::searchForLabelsAboveCell):
        * page/mac/FrameMac.mm:
        (WebCore::Frame::searchForNSLabelsAboveCell):
        * rendering/AutoTableLayout.cpp:
        (WebCore::AutoTableLayout::recalcColumn):
        (WebCore::AutoTableLayout::fullRecalc):
        (WebCore::shouldScaleColumns):
        * rendering/FixedTableLayout.cpp:
        (WebCore::FixedTableLayout::calcWidthArray):
        * rendering/RenderBlock.cpp:
        (WebCore::RenderBlock::calcPrefWidths):
        * rendering/RenderBox.cpp:
        (WebCore::RenderBox::calcPercentageHeight):
        * rendering/RenderObject.cpp:
        (WebCore::RenderObject::addChild):
        (WebCore::RenderObject::containingBlock):
        * rendering/RenderTableCell.cpp:
        (WebCore::RenderTableCell::collapsedBottomBorder):
        * rendering/RenderTableCol.cpp:
        (WebCore::RenderTableCol::table):
        * rendering/RenderTableRow.cpp:
        (WebCore::RenderTableRow::addChild):
        (WebCore::RenderTableRow::layout):
        (WebCore::RenderTableRow::paint):
        * rendering/RenderTableSection.cpp:
        (WebCore::RenderTableSection::addChild):
        (WebCore::RenderTableSection::layoutRows):
        (WebCore::RenderTableSection::lowestPosition):
        (WebCore::RenderTableSection::rightmostPosition):
        (WebCore::RenderTableSection::leftmostPosition):
        (WebCore::RenderTableSection::paintObject):
        (WebCore::RenderTableSection::recalcCells):
        * rendering/RenderTreeAsText.cpp:
        (WebCore::operator<<):
        (WebCore::writeTextRun):
        Use checked casts.

        * rendering/RenderTable.cpp:
        (WebCore::RenderTable::styleDidChange): Updated to use OwnPtr.
        (WebCore::RenderTable::addChild): Use checked cast.
        (WebCore::RenderTable::layout): Ditto.
        (WebCore::RenderTable::setCellWidths): Ditto.
        (WebCore::RenderTable::paintObject): Ditto.
        (WebCore::RenderTable::splitColumn): Ditto.
        (WebCore::RenderTable::appendColumn): Ditto.
        (WebCore::RenderTable::colElement): Ditto.
        (WebCore::RenderTable::recalcSections): Ditto.
        (WebCore::RenderTable::outerBorderBottom): Ditto.
        (WebCore::RenderTable::outerBorderLeft): Ditto.
        (WebCore::RenderTable::outerBorderRight): Ditto.
        (WebCore::RenderTable::sectionAbove): Ditto.
        (WebCore::RenderTable::sectionBelow): Ditto.

        * rendering/RenderTable.h: Added checked cast. Made virtual
        functions private. Changed m_tableLayout to be a OwnPtr.

        * rendering/RenderTableCell.h: Added checked cast.
        * rendering/RenderTableCol.h: Ditto. Made virtual functions private.
        * rendering/RenderTableRow.h: Ditto.
        * rendering/RenderTableSection.h: Ditto.

2009-07-31  Brady Eidson  

        Reviewed by John Sullivan.

         and https://bugs.webkit.org/show_bug.cgi?id=27896
        Favicons are still loaded when automatic image loading is disabled.

        People who want to avoid loading images generally want to avoid loading all images.

        Test: http/tests/misc/favicon-loads-with-images-disabled.html

        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::startIconLoader): After committing the URL mapping, don't actually 
          perform the load if images shouldn't be loading.

2009-07-31  Simon Fraser  

        Reviewed by Anders Carlsson.
        
        Accelerated animations stutter on pages with lots of animations and 3d transforms
        https://bugs.webkit.org/show_bug.cgi?id=27884
        
        This patch changes the strategy for synchronizing painting view the view,
        and compositing layer updates. Previously the strategy was to disable screen
        updates between the time we updated the layer tree, and painted the view. That
        left screen updates disabled for too long (hundreds of milliseconds) in some
        cases, causing animation stutter.
        
        The new strategy is to batch up changes to the CA layer tree, and commit them
        all at once just before painting happens (referred to as a "sync" in the code).
        GraphicsLayerCA now keeps a bitmask of changed properties, and then migrates
        the values stored in GraphicsLayer into the CA layer tree at commit time.
        
        Compositing layers are then synced in FrameView::paintContents(). However, not
        all style/layout changes will result in painting; to deal with style changes that
        touch only compositing properties, we set up a runloop observer that takes care
        of comitting layer changes when no painting happens.

        * WebCore.base.exp: Export FrameView::syncCompositingStateRecursive()

        * loader/EmptyClients.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()
        * page/ChromeClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive()

        * page/FrameView.h:
        * page/FrameView.cpp:
        (WebCore::FrameView::syncCompositingStateRecursive): syncCompositingState() on the
        view and all subviews. Like layoutIfNeededRecursive(). If layout is pending, does not
        sync and returns false, since we only want to sync when layout is done.
        
        (WebCore::FrameView::paintContents): syncCompositingState() before painting.

        * page/animation/KeyframeAnimation.cpp:
        (WebCore::KeyframeAnimation::endAnimation):
        Call animationPaused() to notify the graphics layers about animation pausing.
        
        * platform/graphics/FloatPoint3D.h:
        (WebCore::operator==):
        (WebCore::operator!=): 
        Add missing comparison operators.
        
        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::setOpacity):
        (WebCore::GraphicsLayer::setBackgroundColor): Simple setters no longer care about animation info.
        
        (WebCore::GraphicsLayer::paintGraphicsLayerContents): Null-check client.
        
        * platform/graphics/GraphicsLayer.h:
        (WebCore::AnimationValue:):
        (WebCore::TransformAnimationValue:):
        (WebCore::KeyframeValueList:):
        (WebCore::KeyframeValueList::insert):
        Cleaned up versions of FloatValue and TransformValue, used to store information
        about keyframes values.

        (WebCore::GraphicsLayer::contentsRect):
        (WebCore::GraphicsLayer::setContentsRect):
        ContentsRect is now a simple setter.
        
        (WebCore::GraphicsLayer::addAnimation):
        (WebCore::GraphicsLayer::removeAnimationsForProperty):
        (WebCore::GraphicsLayer::removeAnimationsForKeyframes):
        (WebCore::GraphicsLayer::pauseAnimation):
        Simplified animation api.
        
        (WebCore::GraphicsLayer::setGeometryOrientation):
        (WebCore::GraphicsLayer::geometryOrientation):
        setGeometryOrientation is now just a normal member variable.
        
        (WebCore::GraphicsLayer::contentsOrientation): add a getter.
        (WebCore::GraphicsLayer::syncCompositingState): Entry into the layer sync code.
        
        * platform/graphics/GraphicsLayerClient.h: scheduleViewUpdate() renamed to syncCompositingStateRecursive)

        * platform/graphics/mac/GraphicsLayerCA.h:
        * platform/graphics/mac/GraphicsLayerCA.mm:
        Lots of cleanup and refactoring. Main points:
        - Layer changes are all batched, and only committed to the CA layer on syncCompositingState().
        - Bitmask is used to store which properties have changed. More efficient than before.
        - Simpler animation interface; simple setters are no longer confounded with animations.
        - Refactored code that creates CA animations, and stores which animations are running.

        * platform/graphics/transforms/TransformOperations.h:
        (WebCore::TransformOperations::size):
        (WebCore::TransformOperations::at): Useful accessors for size and indexed access.
        
        * rendering/RenderLayerBacking.h:
        * rendering/RenderLayerBacking.cpp:
        Renamed 'contentsLayer' to 'foregroundLayer' to avoid confusion with GraphicsLayer's
        contentsLayer.
        Adapt to GraphicsLayer's simpler animation API.
        Pass animation pausing through to the graphics layers.
        contentsBox() is no longer a callback via GraphicsLayerClient.
        
        * rendering/RenderLayerCompositor.h:
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::setCompositingLayersNeedRebuild):
        (WebCore::RenderLayerCompositor::scheduleSync):
        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
        scheduleViewUpdate() is no longer required. Instead, we plumb through "compositingLayerSync"
        notifications, which travel up to WebKit and set up a runloop observer.
        
2009-07-30  Jeremy Orlow  

        Reviewed by David Levin.

        Guard needs //'s between #endif and ENABLE(DATAGRID)
        https://bugs.webkit.org/show_bug.cgi?id=27862

        Compiling this file causes a build break without this change.

        * bindings/v8/custom/V8DataGridColumnListCustom.cpp:

2009-07-31  Greg Bolsinga  

        Reviewed by Eric Seidel.

        Geolocation clean up when no longer updating
        https://bugs.webkit.org/show_bug.cgi?id=27888

        When Geolocation::disconnectFrame() is called, need to call 
        Document::setUsingGeolocation(false) to mirror the true call 
        when it is set up.

        When handling an error, and there are no more listeners, call
        GeolocationService::stopUpdating().

        * page/Geolocation.cpp:
        (WebCore::Geolocation::disconnectFrame):
        (WebCore::Geolocation::handleError):

2009-07-31  Greg Bolsinga  

        Reviewed by George Staikos.

        Consolidate GeoLocation code to send positions and errors
        https://bugs.webkit.org/show_bug.cgi?id=27863
        
        Create helper methods that will send positions and errors to either
        one shots or watchers.

        * page/Geolocation.cpp:
        (WebCore::Geolocation::sendError):
        (WebCore::Geolocation::sendErrorToOneShots):
        (WebCore::Geolocation::sendErrorToWatchers):
        (WebCore::Geolocation::sendPosition):
        (WebCore::Geolocation::sendPositionToOneShots):
        (WebCore::Geolocation::sendPositionToWatchers):
        * page/Geolocation.h:

2009-07-31  Xan Lopez  

        Roll out previous change as it might be causing some weirdness in
        the bots.

        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::processFileHeader):

2009-07-31  Xan Lopez  

        Reviewed by Mark Rowe.

        Fix compiler warning.
        https://bugs.webkit.org/show_bug.cgi?id=27851

        GCC does not like multi-character character constants, so use the
        explicit numerical value of 'BM' in the enum.

        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
        (WebCore::BMPImageDecoder::processFileHeader):

2009-07-30  Brady Eidson  

        Reviewed by Mark Rowe, but Dan Bernstein also reviewed and asked thoughtful questions.

         and https://bugs.webkit.org/show_bug.cgi?id=27868
        http://www.ruthhuntcandy.com/ goes into infinite refresh in WebKit, works in others.
        
        Test: http/tests/misc/meta-refresh-stray-single-quote.html

        * platform/network/HTTPParsers.cpp:
        (WebCore::parseHTTPRefresh): Allow for a stray quote character at the start of the URL string.

2009-07-30  Mark Rowe  

        Reviewed by Adele Peterson and Jon Honeycutt.

        Fix  for Mac.
        Bug 27828: Title attribute is not respected on option elements

        No tests added as it is not clear how to test a tool tip from DumpRenderTree.

        * platform/PopupMenuClient.h: Add a method for retrieving the tool tip of an item.
        * platform/mac/PopupMenuMac.mm:
        (WebCore::PopupMenu::populate): Set the tool tip of the menu item to that of the represented item.
        * rendering/RenderMenuList.cpp:
        (WebCore::RenderMenuList::itemToolTip): Expose the title attribute of the element as the tool tip.
        * rendering/RenderMenuList.h:
        * rendering/RenderTextControlSingleLine.h:
        (WebCore::RenderTextControlSingleLine::itemToolTip): Return an empty string, indicating no tool tip, for
        the popup menu in RenderTextControlSingleLine.

2009-07-30  Xiaomei Ji  

        Reviewed by Dan Bernstein.

        Remove ChromeClientChromium::setToolTip().
        https://bugs.webkit.org/show_bug.cgi?id=27861

        This patch is just to remove a temporarily introduced overloaded empty
        virtual function. No test is needed.

        * page/chromium/ChromeClientChromium.h:

2009-07-30  Michael Nordman  

        Reviewed by Darin Fisher.

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

        ApplicationCacheHost refactoring.
        
        1) Better encapsulate the interfaces between webcore common code
        and the appcache system within a new class ApplicationCacheHost.

        2) Use that interface throughout the loader system, replacing inline appcache logic.

        3) Implement the interface in terms of webcore's appcache system.

        4) Add the new files to various makefiles.

        5) Implement protocolHostAndPortAreEqual() in KURLGoogle.cpp

        No new features, no new tests. The existing layout tests all pass.

        * GNUmakefile.am:
        * WebCore.base.exp:
        * WebCore.gypi:
        * WebCore.pro:
        * WebCore.vcproj/WebCore.vcproj:
        * WebCore.xcodeproj/project.pbxproj:
        * WebCoreSources.bkl:
        * html/HTMLHtmlElement.cpp:
        (WebCore::HTMLHtmlElement::insertedIntoDocument):
        * loader/DocumentLoader.cpp:
        (WebCore::DocumentLoader::DocumentLoader):
        (WebCore::DocumentLoader::~DocumentLoader):
        (WebCore::DocumentLoader::mainReceivedError):
        (WebCore::DocumentLoader::detachFromFrame):
        (WebCore::DocumentLoader::setPrimaryLoadComplete):
        * loader/DocumentLoader.h:
        (WebCore::DocumentLoader::applicationCacheHost):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::canCachePageContainingThisFrame):
        (WebCore::FrameLoader::logCanCacheFrameDecision):
        (WebCore::FrameLoader::loadResourceSynchronously):
        * loader/MainResourceLoader.cpp:
        (WebCore::MainResourceLoader::didReceiveResponse):
        (WebCore::MainResourceLoader::didReceiveData):
        (WebCore::MainResourceLoader::didFinishLoading):
        (WebCore::MainResourceLoader::didFail):
        (WebCore::MainResourceLoader::load):
        * loader/MainResourceLoader.h:
        * loader/ResourceLoader.cpp:
        (WebCore::ResourceLoader::load):
        (WebCore::ResourceLoader::willSendRequest):
        (WebCore::ResourceLoader::didReceiveResponse):
        (WebCore::ResourceLoader::didFail):
        * loader/ResourceLoader.h:
        * loader/appcache/ApplicationCacheGroup.cpp:
        (WebCore::ApplicationCacheGroup::selectCache):
        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
        (WebCore::ApplicationCacheGroup::finishedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::failedLoadingMainResource):
        (WebCore::ApplicationCacheGroup::disassociateDocumentLoader):
        (WebCore::ApplicationCacheGroup::update):
        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
        (WebCore::ApplicationCacheGroup::manifestNotFound):
        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
        (WebCore::ApplicationCacheGroup::startLoadingEntry):
        (WebCore::ApplicationCacheGroup::associateDocumentLoaderWithCache):
        (WebCore::CallCacheListenerTask::create):
        (WebCore::CallCacheListenerTask::performTask):
        (WebCore::CallCacheListenerTask::CallCacheListenerTask):
        (WebCore::ApplicationCacheGroup::postListenerTask):
        * loader/appcache/ApplicationCacheGroup.h:
        * loader/appcache/ApplicationCacheHost.cpp: Added.
        * loader/appcache/ApplicationCacheHost.h: Added.
        * loader/appcache/ApplicationCacheStorage.cpp:
        (WebCore::ApplicationCacheStorage::transferApplicationCache):
        * loader/appcache/ApplicationCacheStorage.h:
        * loader/appcache/DOMApplicationCache.cpp:
        (WebCore::DOMApplicationCache::DOMApplicationCache):
        (WebCore::DOMApplicationCache::disconnectFrame):
        (WebCore::DOMApplicationCache::applicationCacheHost):
        (WebCore::DOMApplicationCache::status):
        (WebCore::DOMApplicationCache::update):
        (WebCore::DOMApplicationCache::swapCache):
        (WebCore::DOMApplicationCache::addEventListener):
        (WebCore::DOMApplicationCache::removeEventListener):
        (WebCore::DOMApplicationCache::dispatchEvent):
        (WebCore::DOMApplicationCache::callListener):
        (WebCore::DOMApplicationCache::toEventName):
        (WebCore::DOMApplicationCache::toEventType):
        * loader/appcache/DOMApplicationCache.h:
        (WebCore::DOMApplicationCache::):
        (WebCore::DOMApplicationCache::setAttributeEventListener):
        (WebCore::DOMApplicationCache::getAttributeEventListener):
        (WebCore::DOMApplicationCache::clearAttributeEventListener):
        (WebCore::DOMApplicationCache::callEventListener):
        (WebCore::DOMApplicationCache::setOnchecking):
        (WebCore::DOMApplicationCache::onchecking):
        (WebCore::DOMApplicationCache::setOnerror):
        (WebCore::DOMApplicationCache::onerror):
        (WebCore::DOMApplicationCache::setOnnoupdate):
        (WebCore::DOMApplicationCache::onnoupdate):
        (WebCore::DOMApplicationCache::setOndownloading):
        (WebCore::DOMApplicationCache::ondownloading):
        (WebCore::DOMApplicationCache::setOnprogress):
        (WebCore::DOMApplicationCache::onprogress):
        (WebCore::DOMApplicationCache::setOnupdateready):
        (WebCore::DOMApplicationCache::onupdateready):
        (WebCore::DOMApplicationCache::setOncached):
        (WebCore::DOMApplicationCache::oncached):
        (WebCore::DOMApplicationCache::setOnobsolete):
        (WebCore::DOMApplicationCache::onobsolete):
        (WebCore::DOMApplicationCache::~DOMApplicationCache):
        * platform/KURLGoogle.cpp:
        (WebCore::protocolHostAndPortAreEqual):

2009-07-30  Chris Fleizach  

        Reviewed by Darin Adler.

        Bug 27854 - crash at WebCore::AXObjectCache::notificationPostTimerFired
        https://bugs.webkit.org/show_bug.cgi?id=27854

        AccessibilityObjects need to be retained while waiting to fire their notifications, otherwise
        they can disappear and then lead to crashes.
       
        * accessibility/AXObjectCache.cpp:
        (WebCore::AXObjectCache::notificationPostTimerFired):
        (WebCore::AXObjectCache::postNotification):
        * accessibility/AXObjectCache.h:

2009-07-30  Simon Fraser  

        Minor change to earlier commit suggested by Darin Adler.
        Use the variable rather than dereferencing 'it' again.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):

2009-07-30  Simon Fraser  

        Reviewed by Dan Bernstein.

        Animation with a timing function property in a keyframe eats CPU
        https://bugs.webkit.org/show_bug.cgi?id=27856
         Animation demo uses lots of CPU
        
        Don't include animation-timing-function in the list of properties to
        animate in a keyframe animation, because this property is not animated;
        instead, it describes the timing function to apply to this keyframe.
        
        This prevents the animation code from thinking that there's a property
        that it has to software-animate, and thus firing the animation timer frequently.
        
        Not testable because there is no visible impact.

        * css/CSSStyleSelector.cpp:
        (WebCore::CSSStyleSelector::keyframeStylesForAnimation): Don't add
        CSSPropertyWebkitAnimationTimingFunction to the list of properties to animate.

        * page/animation/KeyframeAnimation.cpp
        (WebCore::KeyframeAnimation::getKeyframeAnimationInterval): Add a comment

2009-07-30  Mike Fenton  

         Reviewed by Adam Treat.

         Apply colour style to buttons that use Theme settings in Qt.

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

         * platform/qt/RenderThemeQt.cpp:
         (WebCore::RenderThemeQt::adjustButtonStyle):

=== End merge of nitro-extreme branch 2009-07-30 ===

2009-05-11  Geoffrey Garen  

        Reviewed by Sam Weinig.

        Make WebCore compile with the new JS number representation.

        * ForwardingHeaders/runtime/JSAPIValueWrapper.h: Added.
        * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
        * bindings/js/ScriptEventListener.cpp:
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/c/c_instance.cpp:

=== Start merge of nitro-extreme branch 2009-07-30 ===

2009-07-30  Dean McNamee  

        Reviewed by Dimitri Glazkov.

        Don't try to hash member function pointers, instead use a precomputed value based on the field.
        https://bugs.webkit.org/show_bug.cgi?id=27843

        * bindings/scripts/CodeGeneratorV8.pm:
        * bindings/v8/V8SVGPODTypeWrapper.h:
        (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
        (WebCore::PODTypeWrapperCacheInfo::operator==):
        (WebCore::PODTypeWrapperCacheInfoHash::hash):
        (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):

2009-07-30  Xan Lopez  

        Reviewed by Simon Fraser.

        Fix compiler warning.

        * dom/SelectElement.cpp:
        (WebCore::SelectElement::menuListDefaultEventHandler):

2009-07-29  Matt Perry  

        Reviewed by Adam Barth.

        Add a way to register V8 extensions for Isolated Worlds only.
        https://bugs.webkit.org/show_bug.cgi?id=27785

        * bindings/v8/ScriptController.cpp:
        (WebCore::ScriptController::evaluateInNewWorld):
        (WebCore::ScriptController::evaluateInNewContext):
        * bindings/v8/ScriptController.h:
        * bindings/v8/V8IsolatedWorld.cpp:
        (WebCore::V8IsolatedWorld::evaluate):
        * bindings/v8/V8IsolatedWorld.h:
        * bindings/v8/V8Proxy.cpp:
        (WebCore::V8Proxy::evaluateInNewWorld):
        (WebCore::V8Proxy::evaluateInNewContext):
        (WebCore::V8Proxy::createNewContext):
        (WebCore::V8Proxy::initContextIfNeeded):
        (WebCore::V8Proxy::registerExtensionWithV8):
        (WebCore::V8Proxy::registerExtension):
        * bindings/v8/V8Proxy.h:

2009-07-30  Mike Fenton  

         Reviewed by Adam Treat.

         Add previously defined out support to PopupMenuQt for marking entries as
         disabled and for selecting the desired item.

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

         * platform/qt/PopupMenuQt.cpp:
         (WebCore::PopupMenu::populate):

2009-07-30  Darin Adler  

        Reviewed by David Levin.

        Use checked casts for render tree
        https://bugs.webkit.org/show_bug.cgi?id=23522

        Next step: Add new toRenderWidget cast and use it everywhere.

        Use checked casts in all the places that were using static_cast
        but there is a checked cast available.

        * accessibility/AccessibilityRenderObject.cpp:
        (WebCore::AccessibilityRenderObject::stringValue):
        (WebCore::AccessibilityRenderObject::widget):
        (WebCore::AccessibilityRenderObject::widgetForAttachmentView):
        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
        (getPangoLayoutForAtk):
        * dom/Document.cpp:
        (WebCore::widgetForNode):
        (WebCore::Document::setFocusedNode):
        * html/HTMLEmbedElement.cpp:
        (WebCore::findWidgetRenderer):
        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::defaultEventHandler):
        * html/HTMLObjectElement.cpp:
        (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
        * html/HTMLPlugInElement.cpp:
        (WebCore::HTMLPlugInElement::defaultEventHandler):
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadSubframe):
        * loader/PluginDocument.cpp:
        (WebCore::PluginTokenizer::writeRawData):
        * page/EventHandler.cpp:
        (WebCore::EventHandler::hitTestResultAtPoint):
        (WebCore::subframeForTargetNode):
        (WebCore::EventHandler::handleWheelEvent):
        * page/Frame.cpp:
        (WebCore::isFrameElement):
        * page/PrintContext.cpp:
        (WebCore::PrintContext::computePageRects):
        * page/android/EventHandlerAndroid.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/chromium/EventHandlerChromium.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/chromium/FrameChromium.cpp:
        (WebCore::computePageRectsForFrame):
        * page/gtk/EventHandlerGtk.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/haiku/EventHandlerHaiku.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * page/mac/EventHandlerMac.mm:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        (WebCore::EventHandler::passSubframeEventToSubframe):
        * page/win/FrameWin.cpp:
        (WebCore::computePageRectsForFrame):
        * page/wx/EventHandlerWx.cpp:
        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
        * platform/chromium/ClipboardChromium.cpp:
        (WebCore::getCachedImage):
        * platform/chromium/PasteboardChromium.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/gtk/PasteboardGtk.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/mac/PasteboardMac.mm:
        (WebCore::Pasteboard::writeImage):
        * platform/qt/ClipboardQt.cpp:
        (WebCore::getCachedImage):
        * platform/qt/PasteboardQt.cpp:
        (WebCore::Pasteboard::writeImage):
        * platform/win/ClipboardWin.cpp:
        (WebCore::getCachedImage):
        * platform/win/PasteboardWin.cpp:
        (WebCore::Pasteboard::writeImage):
        * rendering/InlineBox.h:
        (WebCore::InlineBox::boxModelObject):
        * rendering/RenderInline.cpp:
        (WebCore::RenderInline::splitInlines):
        (WebCore::RenderInline::addChildToContinuation):
        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::updateImageContents):
        * rendering/TextControlInnerElements.cpp:
        (WebCore::RenderTextControlInnerBlock::positionForPoint):
        Use checked cast instead of static_cast.
        
        * rendering/RenderWidget.h: Added toRenderWidget.

2009-07-30  Yong Li  

        Reviewed by George Staikos.

        WINCE PORT: some files modified to build for WINCE
        https://bugs.webkit.org/show_bug.cgi?id=27816

        * accessibility/AccessibilityObject.h:
        * page/win/EventHandlerWin.cpp:
        (WebCore::EventHandler::createDraggingClipboard):
        * platform/win/PlatformMouseEventWin.cpp:
        (WebCore::messageToEventType):
        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
        * platform/win/PlatformScreenWin.cpp:
        (WebCore::deviceInfoForWidget):
        (WebCore::screenIsMonochrome):
        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::show):
        (WebCore::PopupMenu::paint):
        (WebCore::registerPopup):
        (WebCore::PopupWndProc):

2009-07-30  Yong Li  

        Reviewed by George Staikos.

        WINCE PORT: modified graphics files
        https://bugs.webkit.org/show_bug.cgi?id=27779

        * platform/graphics/BitmapImage.h:
        (WebCore::BitmapImage::mayFillWithSolidColor):
        * platform/graphics/Gradient.h:
        * platform/graphics/GraphicsContext.cpp:
        * platform/graphics/GraphicsContext.h:
        * platform/graphics/ImageSource.h:
        * platform/graphics/MediaPlayer.cpp:
        * platform/graphics/Path.h:
        * platform/graphics/Pattern.h:
        * platform/graphics/transforms/Matrix3DTransformOperation.cpp:
        (WebCore::Matrix3DTransformOperation::blend):
        * platform/graphics/transforms/MatrixTransformOperation.cpp:
        (WebCore::MatrixTransformOperation::blend):
        * platform/graphics/transforms/TransformationMatrix.h:
        (WebCore::TransformationMatrix::operator*):
        * platform/graphics/win/IconWin.cpp:
        (WebCore::Icon::createIconForFile):
        (WebCore::Icon::createIconForFiles):
        (WebCore::Icon::paint):

2009-07-30  Kenneth Rohde Christiansen  

        Reviewed by Ariya Hidayat.

        Improve efficiency by rewriting code doing three hash table
        lookups, which can be replaced by just one as pointed out
        by Darin Adler.

        Though being slightly less clear, this should be considerable
        faster.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::remove):

2009-07-30  Antonio Gomes   

        Reviewed by Gustavo Noronha.

        [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 2)
        https://bugs.webkit.org/show_bug.cgi?id=27651

        Removed unneeded includes (gdk.h and gtk.h) and added glib.h and cairo.h instead.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:

2009-07-30  Antonio Gomes   

        Reviewed by Gustavo Noronha.

        [Gtk] Code cleanup in MediaPlayerPrivateGStreamer.cpp|h and VideoSinkGStreamer.cpp|h (Part 1)
        https://bugs.webkit.org/show_bug.cgi?id=27651

        Fixed many code style issues pointed by WebKitTools/Scripts/modules/cpplint.py
        No functionality change at all.

        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
        * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
        * platform/graphics/gtk/VideoSinkGStreamer.cpp:
        * platform/graphics/gtk/VideoSinkGStreamer.h:

2009-07-30  Jakub Wieczorek  

        Reviewed by Simon Hausmann.

        Allow to explicitly choose a preferred plugin for a mimetype.

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

        When the preferred plugin is set for a specific MIME type, it will be
        always picked up, regardless of its version, quirks etc.

        Client applications may want to use that API to resolve mimetype
        ambiguity in a custom way, rather than in the default way that is
        currently used in WebKit.

        * plugins/PluginDatabase.cpp:
        (WebCore::PluginDatabase::pluginForMIMEType):
        (WebCore::PluginDatabase::MIMETypeForExtension):
        (WebCore::PluginDatabase::setPreferredPluginForMIMEType): Added.
        (WebCore::PluginDatabase::remove):
        (WebCore::PluginDatabase::clear):
        * plugins/PluginDatabase.h:

2009-07-30  Jakub Wieczorek  

        [Qt] Fix build with Qt 4.4 after r46535.

        * platform/network/qt/ResourceHandleQt.cpp:

2009-07-30  Eric Carlson  

        Reviewed by Simon Fraser.

        Video elements fires another "load" event when attached to DOM
        https://bugs.webkit.org/show_bug.cgi?id=27623

        Test: media/media-load-event.html

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::insertedIntoDocument):
            Only schedule load when element's network state is NETWORK_EMPTY.

2009-07-30  Anton Muhin  

        Reviewed by David Levin.

        Cache v8 strings when converting from WebCore::String to v8 string.
        https://bugs.webkit.org/show_bug.cgi?id=27655

        * bindings/v8/V8Binding.cpp:
        (WebCore::v8String): now just immediately calls v8ExternalString
        (WebCore::enableStringImplCache): enables caching of conversions from WebCore::StringImpl to
        v8::String
        (WebCore::makeExternalString): utilty function to create external v8::String out of
        WebCore::String
        (WebCore::getStringCache): static function to access string cache
        (WebCore::cachedStringCallback): callback for weak handles of v8::Strings stored in the
        cache
        (WebCore::v8ExternalString): if caching enabled, checks if there is already v8::String for
        the given WebCore::StringImpl.  If present, returns it, otherwise creates a new v8 external
        string.
        * bindings/v8/V8Binding.h:

2009-07-30  Xan Lopez  

        Reviewed by Maciej Stachowiak.

        https://bugs.webkit.org/show_bug.cgi?id=25535
        [GTK] object:state-changed:checked events missing for radio buttons and checkboxes

        Implement state-changed:checked for radio buttons and checkboxes.

        * accessibility/gtk/AXObjectCacheAtk.cpp:
        (WebCore::AXObjectCache::postPlatformNotification):
        * html/HTMLInputElement.cpp:
        (WebCore::HTMLInputElement::setChecked):

2009-07-30  Xan Lopez  

        Forgot the 'break'.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::checkOrEnableIfNeeded):

2009-07-30  Xan Lopez  

        Try to fix Mac build.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::checkOrEnableIfNeeded):

2009-07-29  Xan Lopez  

        Reviewed by Adam Barth.

        Add missing enumeration value to switch.

        * platform/ContextMenu.cpp:
        (WebCore::ContextMenu::checkOrEnableIfNeeded):

2009-07-29  Jian Li  

        Reviewed by Darin Adler.

        Workers need to throw an exception when presented with invalid URLs.
        https://bugs.webkit.org/show_bug.cgi?id=27770

        Tests covered by worker-constructor.html and worker-redirect.html.

        * bindings/js/JSWorkerConstructor.cpp:
        (WebCore::constructWorker):
        * bindings/v8/custom/V8WorkerCustom.cpp:
        (WebCore::CALLBACK_FUNC_DECL):
        * workers/Worker.cpp:
        (WebCore::Worker::Worker):
        * workers/Worker.h:
        (WebCore::Worker::create):
        * workers/WorkerContext.cpp:
        (WebCore::WorkerContext::importScripts):
        * workers/WorkerScriptLoader.cpp:
        (WebCore::WorkerScriptLoader::loadSynchronously):
        (WebCore::WorkerScriptLoader::loadAsynchronously):
        (WebCore::WorkerScriptLoader::createResourceRequest):
        * workers/WorkerScriptLoader.h:

2009-07-29  Brady Eidson  

        Reviewed by Darin Adler.

        (REGRESSION: r46039) Should restore previous connections-per-host limit for non-http(s) hosts
        https://bugs.webkit.org/show_bug.cgi?id=27822 and 

        * loader/loader.cpp:
        (WebCore::Loader::Host::servePendingRequests): For non-http(s) hosts, restore the previous behavior of 
          only limiting connections while parsing and still trying to figure out stylesheet urls.

2009-07-29  Yong Li  

        Reviewed by George Staikos.

        WINCE PORT: Add WebCore/page/wince/FrameWince.cpp
        https://bugs.webkit.org/show_bug.cgi?id=27729

        * page/wince/FrameWince.cpp: Added.

2009-07-29  Ryosuke Niwa  

        Reviewed by Justin Garcia.

        REGRESSION(r46370-46426): /editing/style/remove-underline-from-stylesheet.html fails
        https://bugs.webkit.org/show_bug.cgi?id=27809

        The patch primarily rebaselines the tests but also fixes the bug in currentlyHasStyle.
        To determine that a particular text decoration is present, currentlyHasStyle should refer to
        -webkit-text-decorations-in-effect to take care of styles set by u, s, strike tags and ancestors' CSS.
        We also need to update layout to accommodate the changes made within ApplyStyleCommand.

        * editing/ApplyStyleCommand.cpp: ditto
        (WebCore::StyleChange::currentlyHasStyle): ditto

2009-07-29  Yong Li  

        Reviewed by George Staikos.

        WINCE PORT: changes to platform/text files
        https://bugs.webkit.org/show_bug.cgi?id=27715

        * platform/text/String.cpp:
        (WebCore::String::format):
        * platform/text/TextEncoding.cpp:
        (WebCore::TextEncoding::encode):
        * platform/text/TextEncodingRegistry.cpp:
        (WebCore::buildBaseTextCodecMaps):
        (WebCore::extendTextCodecMaps):

2009-07-29  Yong Li  

        Reviewed by Adam Roben.

        FIX: HDC leaks in PopupMenuWin.cpp
        https://bugs.webkit.org/show_bug.cgi?id=27817

        * platform/win/PopupMenuWin.cpp:
        (WebCore::PopupMenu::~PopupMenu):
        (WebCore::PopupMenu::paint):

2009-07-29  Darin Adler  

        Reviewed by Dan Bernstein.

        Illegal values for 
    cause list numbering start at 0 (should start at 1) https://bugs.webkit.org/show_bug.cgi?id=27810 Test: fast/lists/ol-start-parsing.html * html/HTMLOListElement.cpp: (WebCore::HTMLOListElement::parseMappedAttribute): Check the result of toInt and use the value 1 if it failed to parse. Before we were getting toInt's default behavior, which is to return 0. 2009-07-29 Kevin McCullough Reviewed by Darin Adler. Added foundation work to allow a testing infrastructure for the Web Inspector. * inspector/InspectorClient.h: * inspector/InspectorController.cpp: (WebCore::InspectorController::scriptObjectReady): Tell the testing harness that the window object is ready. * loader/EmptyClients.h: Empty class support for SVG. (WebCore::EmptyInspectorClient::inspectorWindowObjectCleared): 2009-07-29 Chris Fleizach Build fix for windows after landing Bug 27807 - AX: move re-usable code into more common areas for other platforms Apparently bzero doesn't exist on windows. * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): 2009-07-29 Chris Fleizach Reviewed by Justin Garcia. Bug 27807 - AX: move re-usable code into more common areas for other platforms https://bugs.webkit.org/show_bug.cgi?id=27807 Moves some accessibility code that was in the Mac file to a more common place so it can be used by other platforms. This includes: Making TextMarkerData from a VisiblePosition. Making a VisiblePosition from TextMarkerData. Finding the anchor accessibility object for an arbitrary Node. * accessibility/AXObjectCache.cpp: (WebCore::AXObjectCache::visiblePositionForTextMarkerData): (WebCore::AXObjectCache::textMarkerDataForVisiblePosition): * accessibility/AXObjectCache.h: * accessibility/AccessibilityObject.cpp: (WebCore::AccessibilityObject::anchorElementForNode): * accessibility/AccessibilityObject.h: (WebCore::AccessibilityObject::visiblePositionForIndex): * accessibility/mac/AccessibilityObjectWrapper.mm: (textMarkerForVisiblePosition): (visiblePositionForTextMarker): (AXAttributedStringAppendText): 2009-07-29 Dan Bernstein Reviewed by Simon Fraser. Inset box shadows are incorrectly accounted for in visual overflow computations https://bugs.webkit.org/show_bug.cgi?id=27811 * rendering/InlineFlowBox.cpp: (WebCore::InlineFlowBox::placeBoxesHorizontally): Use getBoxShadowHorizontalExtent(). (WebCore::InlineFlowBox::placeBoxesVertically): Use getBoxShadowVerticalExtent(). Removed duplicate code to get the text-shadow overflow. (WebCore::InlineFlowBox::paint): Use getBoxShadowHorizontalExtent(). * rendering/RenderBlock.cpp: (WebCore::RenderBlock::overflowHeight): Use getBoxShadowVerticalExtent(). (WebCore::RenderBlock::overflowWidth): Use getBoxShadowHorizontalExtent(). (WebCore::RenderBlock::overflowLeft): Ditto. (WebCore::RenderBlock::overflowTop): Use getBoxShadowVerticalExtent(). (WebCore::RenderBlock::overflowRect): Use getBoxShadowExtent(). (WebCore::RenderBlock::layoutBlock): Ditto. * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutBlock): Ditto. * rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateRects): Exclude inset shadows. * rendering/RenderObject.cpp: (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Use getBoxShadowHorizontalExtent() and getBoxShadowVerticalExtent(). (WebCore::RenderObject::adjustRectForOutlineAndShadow): Exclude inset shadows. * rendering/RenderReplaced.cpp: (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto. * rendering/style/RenderStyle.cpp: (WebCore::RenderStyle::setTextShadow): Also assert that text-shadows are not inset. (WebCore::RenderStyle::getBoxShadowExtent): Added. Excludes inset shadows. (WebCore::RenderStyle::getBoxShadowHorizontalExtent): Ditto. (WebCore::RenderStyle::getBoxShadowVerticalExtent): Ditto. * rendering/style/RenderStyle.h: 2009-07-29 Simon Fraser Reviewed by Dan Bernstein. Fix crash when an element with display: table-row is composited (e.g. via a 3d-transform) https://bugs.webkit.org/show_bug.cgi?id=27796 Avoid repainting when a layer becomes composited if the renderer is not parented yet, because it makes no sense to do so. If the table row is a repaint container, default to the RenderBox implementation of clippedOverflowRectForRepaint(), because we cannot hand off the repaint rect computation to something that is above the repaint container. Test: fast/table/table-row-compositing-repaint-crash.html * rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::repaintOnCompositingChange): * rendering/RenderTableRow.cpp: (WebCore::RenderTableRow::clippedOverflowRectForRepaint): 2009-07-29 Brady Eidson Reviewed by Sam Weinig. https://bugs.webkit.org/show_bug.cgi?id=27791 307 redirects of POSTs should use POST, not GET Test: http/tests/loading/redirect-methods.html * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willSendRequest): * platform/network/mac/ResourceHandleMac.mm: (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]): 2009-07-29 Chris Marrin Reviewed by Simon Fraser. Adding -webkit-animation-play-state back in https://bugs.webkit.org/show_bug.cgi?id=26867 We've decided to keep -webkit-animation-play-state. So this just adds back in the code from https://bugs.webkit.org/show_bug.cgi?id=22907. Test: animations/play-state.html * css/CSSComputedStyleDeclaration.cpp: (WebCore::): (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): (WebCore::CSSParser::parseAnimationPlayState): (WebCore::CSSParser::parseAnimationProperty): * css/CSSParser.h: * css/CSSPropertyNames.in: * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): (WebCore::CSSStyleSelector::mapAnimationPlayState): * css/CSSStyleSelector.h: * platform/animation/Animation.h: * rendering/style/RenderStyleConstants.h: (WebCore::): 2009-07-29 Jakub Wieczorek Reviewed by Simon Hausmann. Expose the default plugin directories and the current directory set of the plugin database as public API. https://bugs.webkit.org/show_bug.cgi?id=27651 * plugins/PluginDatabase.h: (WebCore::PluginDatabase::pluginDirectories): 2009-07-29 Alpha Lam Reviewed by David Levin. [chromium] Font size for current time display in media controls panel is affected by body font size. https://bugs.webkit.org/show_bug.cgi?id=27799 Fixing the problem of rendering by explicitly setting the font size for the time displays. No new tests since this is covered by existing media tests. * css/mediaControlsChromium.css: 2009-07-29 Mike Fenton Reviewed by David Levin. Update WebCore/page/ContextMenuController.cpp to conform to WebKit Style Guidelines as identified by cpp_style.py. https://bugs.webkit.org/show_bug.cgi?id=27613 * page/ContextMenuController.cpp: (WebCore::openNewWindow): (WebCore::ContextMenuController::contextMenuItemSelected): 2009-07-29 Dean McNamee Reviewed by Dimitri Glazkov. Removed unused wrapCPointer/extractCPointer from the v8 bindings. https://bugs.webkit.org/show_bug.cgi?id=27805 * bindings/v8/V8DOMWrapper.h: 2009-07-29 Jakub Wieczorek Reviewed by Simon Hausmann. Expose the PluginDatabase::pluginForMIMEType() function as public API. https://bugs.webkit.org/show_bug.cgi?id=27651 It can be used to determine the appropriate plugin for a mime type, without guessing the mimetype from the extension. * plugins/PluginDatabase.h: 2009-07-29 Jakub Wieczorek Reviewed by Adam Treat. Allow to enable/disable particular plugin packages. https://bugs.webkit.org/show_bug.cgi?id=27651 Disabled plugins will not be picked up when looking for a plugin supporting the requested mimetypes. Client applications may want to use that API to disable specific plugins. * plugins/PluginDatabase.cpp: (WebCore::PluginDatabase::pluginForMIMEType): (WebCore::PluginDatabase::MIMETypeForExtension): * plugins/PluginPackage.cpp: (WebCore::PluginPackage::PluginPackage): (WebCore::PluginPackage::setEnabled): * plugins/PluginPackage.h: (WebCore::PluginPackage::isEnabled): 2009-07-29 Nikolas Zimmermann Reviewed by Adam Treat. [WML] Running WML tests in random order multiple times exposes subtle bugs https://bugs.webkit.org/show_bug.cgi?id=27801 Remove superflous assertions regarding the parent node. Under certain circumstances these can even fire (related to garbage collection while destructing). Fixes random order WML tests (run-webkit-tests fast/wml wml http/tests/wml fast/wml ... --random) The wml/enter-first-card-with-events.html test relied on a bug in our implementation of WMLPageState::reset() - the history stack should still contain the current card afterwards. Fix that bug by preserving the first item in BackForwardList::clearWMLPageHistory(). * history/BackForwardList.cpp: Preserve first item in history stack, as demanded by the spec. (WebCore::BackForwardList::clearWMLPageHistory): * wml/WMLDoElement.cpp: (WebCore::WMLDoElement::insertedIntoDocument): (WebCore::WMLDoElement::removedFromDocument): * wml/WMLNoopElement.cpp: (WebCore::WMLNoopElement::insertedIntoDocument): * wml/WMLOnEventElement.cpp: (WebCore::eventHandlingParent): * wml/WMLPostfieldElement.cpp: (WebCore::WMLPostfieldElement::insertedIntoDocument): (WebCore::WMLPostfieldElement::removedFromDocument): * wml/WMLSetvarElement.cpp: (WebCore::WMLSetvarElement::insertedIntoDocument): (WebCore::WMLSetvarElement::removedFromDocument): * wml/WMLTaskElement.cpp: (WebCore::WMLTaskElement::insertedIntoDocument): (WebCore::WMLTaskElement::removedFromDocument): * wml/WMLTimerElement.cpp: (WebCore::WMLTimerElement::insertedIntoDocument): (WebCore::WMLTimerElement::removedFromDocument): 2009-07-29 Yongjun Zhang Reviewed by Simon Hausmann. https://bugs.webkit.org/show_bug.cgi?id=26848 [Qt] ResourceHandle::willLoadFromCache needs to be implemented QtWebKit. * loader/FrameLoader.cpp: (WebCore::FrameLoader::loadItem): * platform/network/ResourceHandle.h: * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::willLoadFromCache): * platform/network/curl/ResourceHandleCurl.cpp: (WebCore::ResourceHandle::willLoadFromCache): * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::willLoadFromCache): * platform/network/qt/ResourceHandleQt.cpp: (WebCore::ResourceHandle::willLoadFromCache): * platform/network/soup/ResourceHandleSoup.cpp: (WebCore::): 2009-07-29 Alpha Lam Reviewed by David Levin. Media control panel for