diff options
Diffstat (limited to 'src/3rdparty/webkit/WebCore/ChangeLog')
-rw-r--r-- | src/3rdparty/webkit/WebCore/ChangeLog | 7331 |
1 files changed, 7329 insertions, 2 deletions
diff --git a/src/3rdparty/webkit/WebCore/ChangeLog b/src/3rdparty/webkit/WebCore/ChangeLog index 35640c58e..7fc69b45b 100644 --- a/src/3rdparty/webkit/WebCore/ChangeLog +++ b/src/3rdparty/webkit/WebCore/ChangeLog @@ -1,3 +1,7330 @@ +2009-07-28 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Steve Falkenburg. + + Add output directory for VS pre-build steps to enable out-of-tree builds + + https://bugs.webkit.org/show_bug.cgi?id=27700 + + The tmp.obj file is now placed in the intermediate build directory. + + * WebCore.vcproj/WebCoreCommon.vsprops: + +2009-07-28 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Add inspected node using public console API. + + https://bugs.webkit.org/show_bug.cgi?id=27758 + + * inspector/front-end/Console.js: + (WebInspector.Console.prototype.addInspectedNode): + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): + (WebInspector.ElementsPanel): + +2009-07-28 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by George Staikos. + + [WML] <do> elements with a <noop> task shouldn't be exposed to the user + https://bugs.webkit.org/show_bug.cgi?id=27724 + + Fix WMLNoopElement to disable it's parent WMLDoElement, as required by the spec. + Moved manual-tests/wml/task-noop-in-do.wml to LayoutTests/fast/wml/task-noop-in-do.wml. + + * manual-tests/wml/task-noop-in-do.wml: Removed. + * wml/WMLNoopElement.cpp: + (WebCore::WMLNoopElement::insertedIntoDocument): + +2009-07-28 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Disable some compiler warnings for the win build + https://bugs.webkit.org/show_bug.cgi?id=27709 + + * WebCore.pro: Move the msvc options to WebKit.pri + +2009-07-28 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> + + Reviewed by Tor Arne Vestbø + + Make equality checks for logging channel names ignore casing. + + * platform/Logging.cpp: + (WebCore::getChannelFromName): + +2009-07-28 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Xan Lopez. + + [Gtk] Refactor ResourceHandleSoup - make start* functions static + https://bugs.webkit.org/show_bug.cgi?id=27687 + + * platform/network/ResourceHandle.h: + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::startData): + (WebCore::startHttp): + (WebCore::): + +2009-07-28 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + https://bugs.webkit.org/show_bug.cgi?id=25415 + [GTK][ATK] Please implement support for get_text_at_offset + + Do not cache the pango layout in the object, since the layout of + the page can change between calls. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + +2009-07-23 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + Simplify management of Nodes in weak handles callbacks. + https://bugs.webkit.org/show_bug.cgi?id=27628 + + * bindings/v8/V8DOMMap.cpp: + (WebCore::weakNodeCallback): + +2009-07-28 Brian Weinstein <bweinstein@apple.com> + + Rubber-stamped by David Levin. + + Fix error handling of GetIconInfo (returns a bool). + + * platform/win/DragImageWin.cpp: + (WebCore::createDragImageIconForCachedImage): + +2009-07-27 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Jon Honeycutt. + + Fix of <rdar://5015949> Drag Icon is not produced for over sized images. + + Implemented the createDragImageIconForCachedImage function by using the Windows + SHFILEINFO structure. + + * platform/win/DragImageWin.cpp: + (WebCore::createDragImageIconForCachedImage): + +2009-07-25 Adam Barth <abarth@webkit.org> + + Reviewed by David Levin. + + [V8] Split up V8DOMMap.cpp by class + https://bugs.webkit.org/show_bug.cgi?id=27685 + + No behavior change. Just copy-and-paste. + + * WebCore.gypi: + * bindings/v8/ChildThreadDOMData.cpp: Added. + (WebCore::ChildThreadDOMData::ChildThreadDOMData): + (WebCore::ChildThreadDOMData::getStore): + * bindings/v8/ChildThreadDOMData.h: Added. + * bindings/v8/DOMData.cpp: Added. + (WebCore::DOMData::DOMData): + (WebCore::DOMData::getCurrent): + (WebCore::DOMData::getCurrentMainThread): + (WebCore::DOMData::handleWeakObject): + (WebCore::DOMData::ensureDeref): + (WebCore::DOMData::derefObject): + (WebCore::DOMData::derefDelayedObjects): + (WebCore::DOMData::derefDelayedObjectsInCurrentThread): + (WebCore::DOMData::removeObjectsFromWrapperMap): + * bindings/v8/DOMData.h: Added. + (WebCore::): + * bindings/v8/DOMDataStore.cpp: Added. + (WebCore::DOMDataStore::DOMDataStore): + (WebCore::DOMDataStore::~DOMDataStore): + (WebCore::DOMDataStore::allStores): + (WebCore::DOMDataStore::allStoresMutex): + (WebCore::DOMDataStore::getDOMWrapperMap): + (WebCore::forget): + (WebCore::DOMDataStore::weakDOMObjectCallback): + (WebCore::DOMDataStore::weakActiveDOMObjectCallback): + (WebCore::DOMDataStore::weakNodeCallback): + (WebCore::DOMDataStore::weakSVGElementInstanceCallback): + (WebCore::DOMDataStore::weakSVGObjectWithContextCallback): + * bindings/v8/DOMDataStore.h: Added. + (WebCore::DOMDataStore::): + (WebCore::DOMDataStore::InternalDOMWrapperMap::InternalDOMWrapperMap): + (WebCore::DOMDataStore::InternalDOMWrapperMap::forgetOnly): + (WebCore::DOMDataStore::domData): + (WebCore::DOMDataStore::domNodeMap): + (WebCore::DOMDataStore::domObjectMap): + (WebCore::DOMDataStore::activeDomObjectMap): + (WebCore::DOMDataStore::domSvgElementInstanceMap): + (WebCore::DOMDataStore::domSvgObjectWithContextMap): + * bindings/v8/MainThreadDOMData.cpp: Added. + (WebCore::MainThreadDOMData::MainThreadDOMData): + (WebCore::MainThreadDOMData::getStore): + * bindings/v8/MainThreadDOMData.h: Added. + * bindings/v8/ScopedDOMDataStore.cpp: Added. + (WebCore::ScopedDOMDataStore::ScopedDOMDataStore): + (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore): + * bindings/v8/ScopedDOMDataStore.h: Added. + * bindings/v8/StaticDOMDataStore.cpp: Added. + (WebCore::StaticDOMDataStore::StaticDOMDataStore): + * bindings/v8/StaticDOMDataStore.h: Added. + * bindings/v8/V8DOMMap.cpp: + +2009-07-27 Mark Rowe <mrowe@apple.com> + + Reviewed by Darin Adler. + + <rdar://problem/7091036> REGRESSION: Microsoft Messenger crashes during file send/receive due to use of WebKit on non-main thread + + Add a method for detecting if we're being used within Microsoft Messenger. + + * WebCore.base.exp: Export applicationIsMicrosoftMessenger and sort existing entries. + * platform/mac/RuntimeApplicationChecks.h: + * platform/mac/RuntimeApplicationChecks.mm: + (WebCore::applicationIsMicrosoftMessenger): + +2009-07-27 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + [V8] Implement EventListener::reportError for V8 event listeners in worker context. + https://bugs.webkit.org/show_bug.cgi?id=27731 + + * bindings/v8/V8WorkerContextEventListener.cpp: + (WebCore::V8WorkerContextEventListener::reportError): + * bindings/v8/V8WorkerContextEventListener.h: + +2009-07-27 Stephen White <senorblanco@chromium.org> + + Reviewed by Eric Seidel and David Levin. + + Re-apply chromium/skia border fix (originally landed in r46157, + reverted in r46363), since it was not the cause of the reliability + failures in Chromium. + + http://bugs.webkit.org/show_bug.cgi?id=27388 + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::drawLine): + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::setupPaintForStroking): + +2009-07-27 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Justin Garcia. + + createMarkup does not handle CSS properly + https://bugs.webkit.org/show_bug.cgi?id=27660 + + This patch isolates code that creates markup for styles in addStyleMarkup + It also makes all presentational elements (u, s, strike, i, em, b, strong) special ancestor in createMarkup + so that we can assume no text decoration style is passed to addStyleMarkup. + + * editing/markup.cpp: + (WebCore::propertyMissingOrEqualToNone): Changed the first argument from CSSMutableStyleDecleration to CSSStyleDeclaration + (WebCore::isElementPresentational): Used to be elementHasTextDecorationProperty, now supports presentational tags + (WebCore::addStyleMarkup): Adds markup for style span and div + (WebCore::createMarkup): Uses isElementPresentational and addStyleMarkup + +2009-07-27 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + fix more obvious global object lookups + https://bugs.webkit.org/show_bug.cgi?id=27745 + + No new tests for these changes. I believe in many cases + testing to be impossible. Lack of testing justification next to + each change below. The remaining pieces of bug 27634 will all + need tests. + + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::JSDOMWindowBase::updateDocument): not testable. + * bindings/js/JSDataGridColumnListCustom.cpp: + (WebCore::JSDataGridColumnList::nameGetter): no testing for this incomplete feature. + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::handleEvent): would require outer frame to trigger an event in the inner frame + * bindings/js/JSEventTarget.cpp: + (WebCore::toJS): covered by other tests, always correct to pass the globalObject through. + * bindings/js/JSHTMLElementCustom.cpp: + (WebCore::JSHTMLElement::pushEventHandlerScope): unclear when this could be triggered. + * bindings/js/JSHTMLOptionsCollectionCustom.cpp: + (WebCore::JSHTMLOptionsCollection::remove): toJS seems superfluous here to begin with. + * bindings/js/JSLazyEventListener.cpp: + (WebCore::JSLazyEventListener::parseCode): would require outer frame to trigger inner frame event. + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::jsObjectForPluginElement): only used for NPAPI binding, unclear how to test. + * bindings/js/ScriptEventListener.cpp: + (WebCore::createAttributeEventListener): unclear how to test. + * bindings/js/ScriptObject.cpp: + (WebCore::ScriptGlobalObject::set): unclear how to test/inspector only. + * bindings/js/ScriptObjectQuarantine.cpp: + (WebCore::getQuarantinedScriptObject): unclear how to test. + * bindings/objc/DOMInternal.mm: + (-[WebScriptObject _initializeScriptDOMNodeImp]): unclear how to test. + +2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by George Staikos. + + [WML] 'title' attribute handling not correct for <a> / <anchor> elements + https://bugs.webkit.org/show_bug.cgi?id=27720 + + Unify title() implementation in WMLElement instead of several copies of the same logic. + We forgot WMLAnchorElement/WMLAElement, that lead to bugs. Fixes hovering links in the + WML manual-test suite. + + * wml/WMLCardElement.cpp: + * wml/WMLCardElement.h: + * wml/WMLElement.cpp: + (WebCore::WMLElement::title): + * wml/WMLElement.h: + * wml/WMLOptGroupElement.cpp: + * wml/WMLOptGroupElement.h: + * wml/WMLSelectElement.cpp: + * wml/WMLSelectElement.h: + +2009-07-27 Adam Treat <adam.treat@torchmobile.com> + + Speculative build fix for Windows and WinCE. + + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackage::load): + +2009-07-27 Ojan Vafai <ojan@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=27474 + Fixes crashes due to renderer getting destroyed in updateLayout. + We need to call updateLayout before we call into the renderer. + Removed the updateLayout call from RenderTextControl and moved it + into the calling sites. + + Also changes updateLayout to updateLayoutIgnorePendingStylesheets so + this works with pending stylesheets. Unfortunately, this seems to be + untestable. Loading an external stylesheet and then having an inline + script hit this code did not result in an pending stylesheets. + + The are other cases of this bug in the rendering code. I'll file a + followup bug to audit the calls to updateLayout. + + Test: fast/dom/text-control-crash-on-select.html + + * dom/Document.h: + (WebCore::Document::inStyleRecalc): Added so the ASSERTs in updateFocusAppearance + and setSelectionRange could deal with cases of reentrancy into updateLayout + calls. This happens in a couple layout tests. + * dom/InputElement.cpp: + (WebCore::InputElement::updateSelectionRange): + * html/HTMLInputElement.cpp: + (WebCore::isTextFieldWithRendererAfterUpdateLayout): + (WebCore::HTMLInputElement::setSelectionStart): + (WebCore::HTMLInputElement::setSelectionEnd): + (WebCore::HTMLInputElement::select): + * html/HTMLTextAreaElement.cpp: + (WebCore::rendererAfterUpdateLayout): + (WebCore::HTMLTextAreaElement::setSelectionStart): + (WebCore::HTMLTextAreaElement::setSelectionEnd): + (WebCore::HTMLTextAreaElement::select): + (WebCore::HTMLTextAreaElement::setSelectionRange): + (WebCore::HTMLTextAreaElement::updateFocusAppearance): + * rendering/RenderTextControl.cpp: + (WebCore::RenderTextControl::setSelectionRange): + +2009-07-27 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Dave Levin. + + [V8] Remove parameterless frame/window retrieval methods from V8Proxy. + https://bugs.webkit.org/show_bug.cgi?id=27737 + + Refactoring, no new behavior, covered by existing tests. + + * bindings/v8/ScriptCallStack.cpp: + (WebCore::ScriptCallStack::ScriptCallStack): + * bindings/v8/V8NPUtils.cpp: + (convertV8ObjectToNPVariant): Ditto. + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::retrieve): Ditto. + (WebCore::V8Proxy::canAccessPrivate): Ditto. + * bindings/v8/V8Proxy.h: Removed parameterless retrieveWindow/retrieveProxy decls. + * bindings/v8/custom/V8DatabaseCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): Changed to use V8Proxy::retrieveFrameForCurrentContext(). + * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): Ditto. + * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): Ditto. + * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): Ditto. + * bindings/v8/custom/V8MessageChannelConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): Ditto. + * bindings/v8/custom/V8SQLTransactionCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): Ditto. + * bindings/v8/custom/V8WorkerCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): Ditto. + * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): Ditto. + +2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by George Staikos. + + [WML] 'onpick' intrinsic event handling missing + https://bugs.webkit.org/show_bug.cgi?id=27723 + + Trigger 'onpick' intrinsic events from WMLOptionElement::setSelectedState(). + All was in place, just forgot to enable the relevant code. + + Fixes manual-tests/wml/select-onpick-event.wml + Test: wml/option-element-onpick.html + + * wml/WMLOptionElement.cpp: + (WebCore::WMLOptionElement::setSelectedState): + +2009-07-27 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=27735 + Give a helpful name to JSLock constructor argument + + * bindings/js/GCController.cpp: + (WebCore::collect): + (WebCore::GCController::gcTimerFired): + (WebCore::GCController::garbageCollectNow): + * bindings/js/JSCustomPositionCallback.cpp: + (WebCore::JSCustomPositionCallback::handleEvent): + * bindings/js/JSCustomPositionErrorCallback.cpp: + (WebCore::JSCustomPositionErrorCallback::handleEvent): + * bindings/js/JSCustomSQLStatementCallback.cpp: + (WebCore::JSCustomSQLStatementCallback::handleEvent): + * bindings/js/JSCustomSQLStatementErrorCallback.cpp: + (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionCallback.cpp: + (WebCore::JSCustomSQLTransactionCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: + (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): + * bindings/js/JSCustomVoidCallback.cpp: + (WebCore::JSCustomVoidCallback::handleEvent): + * bindings/js/JSCustomXPathNSResolver.cpp: + (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI): + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::handleEvent): + * bindings/js/JSInspectorBackendCustom.cpp: + (WebCore::JSInspectorBackend::currentCallFrame): + (WebCore::JSInspectorBackend::profiles): + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::acceptNode): + * bindings/js/ScheduledAction.cpp: + (WebCore::ScheduledAction::executeFunctionInContext): + * bindings/js/ScriptArray.cpp: + (WebCore::ScriptArray::set): + (WebCore::ScriptArray::createNew): + * bindings/js/ScriptCachedFrameData.cpp: + (WebCore::ScriptCachedFrameData::ScriptCachedFrameData): + (WebCore::ScriptCachedFrameData::restore): + (WebCore::ScriptCachedFrameData::clear): + * bindings/js/ScriptController.cpp: + (WebCore::ScriptController::evaluate): + (WebCore::ScriptController::clearWindowShell): + (WebCore::ScriptController::initScript): + (WebCore::ScriptController::updateDocument): + (WebCore::ScriptController::bindingRootObject): + (WebCore::ScriptController::windowScriptNPObject): + (WebCore::ScriptController::jsObjectForPluginElement): + (WebCore::ScriptController::clearScriptObjects): + * bindings/js/ScriptControllerMac.mm: + (WebCore::ScriptController::windowScriptObject): + * bindings/js/ScriptEventListener.cpp: + (WebCore::createAttributeEventListener): + * bindings/js/ScriptFunctionCall.cpp: + (WebCore::ScriptFunctionCall::appendArgument): + (WebCore::ScriptFunctionCall::call): + (WebCore::ScriptFunctionCall::construct): + * bindings/js/ScriptObject.cpp: + (WebCore::ScriptObject::set): + (WebCore::ScriptObject::createNew): + (WebCore::ScriptGlobalObject::set): + (WebCore::ScriptGlobalObject::get): + (WebCore::ScriptGlobalObject::remove): + * bindings/js/ScriptObjectQuarantine.cpp: + (WebCore::quarantineValue): + (WebCore::getQuarantinedScriptObject): + * bindings/js/ScriptValue.cpp: + (WebCore::ScriptValue::getString): + * bindings/js/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::initScript): + (WebCore::WorkerScriptController::evaluate): + * bindings/objc/WebScriptObject.mm: + (-[WebScriptObject callWebScriptMethod:withArguments:]): + (-[WebScriptObject evaluateWebScript:]): + (-[WebScriptObject setValue:forKey:]): + (-[WebScriptObject valueForKey:]): + (-[WebScriptObject removeWebScriptKey:]): + (-[WebScriptObject stringRepresentation]): + (-[WebScriptObject webScriptValueAtIndex:]): + (-[WebScriptObject setWebScriptValueAtIndex:value:]): + (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]): + * bridge/NP_jsobject.cpp: + (_NPN_InvokeDefault): + (_NPN_Invoke): + (_NPN_Evaluate): + (_NPN_GetProperty): + (_NPN_SetProperty): + (_NPN_RemoveProperty): + (_NPN_HasProperty): + (_NPN_HasMethod): + (_NPN_Enumerate): + (_NPN_Construct): + * bridge/c/c_class.cpp: + (JSC::Bindings::CClass::~CClass): + (JSC::Bindings::CClass::methodsNamed): + (JSC::Bindings::CClass::fieldNamed): + * bridge/c/c_instance.cpp: + (JSC::Bindings::CInstance::moveGlobalExceptionToExecState): + (JSC::Bindings::CInstance::invokeMethod): + (JSC::Bindings::CInstance::invokeDefaultMethod): + (JSC::Bindings::CInstance::invokeConstruct): + (JSC::Bindings::CInstance::getPropertyNames): + * bridge/c/c_runtime.cpp: + (JSC::Bindings::CField::valueFromInstance): + (JSC::Bindings::CField::setValueToInstance): + * bridge/c/c_utility.cpp: + (JSC::Bindings::convertValueToNPVariant): + (JSC::Bindings::convertNPVariantToValue): + * bridge/jni/jni_class.cpp: + (JavaClass::JavaClass): + (JavaClass::~JavaClass): + * bridge/jni/jni_instance.cpp: + (JavaInstance::stringValue): + * bridge/jni/jni_jsobject.mm: + (JavaJSObject::call): + (JavaJSObject::eval): + (JavaJSObject::getMember): + (JavaJSObject::setMember): + (JavaJSObject::removeMember): + (JavaJSObject::getSlot): + (JavaJSObject::setSlot): + (JavaJSObject::toString): + (JavaJSObject::convertValueToJObject): + (JavaJSObject::convertJObjectToValue): + * bridge/jni/jni_objc.mm: + (JSC::Bindings::dispatchJNICall): + * bridge/jni/jni_runtime.cpp: + (JavaMethod::signature): + * bridge/jni/jni_runtime.h: + (JSC::Bindings::JavaString::JavaString): + (JSC::Bindings::JavaString::_commonInit): + (JSC::Bindings::JavaString::~JavaString): + (JSC::Bindings::JavaString::UTF8String): + * bridge/jni/jni_utility.cpp: + (JSC::Bindings::convertValueToJValue): + * bridge/objc/objc_instance.mm: + (ObjcInstance::moveGlobalExceptionToExecState): + (ObjcInstance::invokeMethod): + (ObjcInstance::invokeDefaultMethod): + (ObjcInstance::setValueOfUndefinedField): + (ObjcInstance::getValueOfUndefinedField): + * bridge/objc/objc_runtime.mm: + (JSC::Bindings::ObjcField::valueFromInstance): + (JSC::Bindings::ObjcField::setValueToInstance): + * bridge/objc/objc_utility.mm: + (JSC::Bindings::convertValueToObjcValue): + (JSC::Bindings::convertNSStringToString): + (JSC::Bindings::convertObjcValueToValue): + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtRuntimeObjectImp::removeFromCache): + (JSC::Bindings::QtInstance::~QtInstance): + (JSC::Bindings::QtInstance::getQtInstance): + (JSC::Bindings::QtInstance::createRuntimeObject): + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::convertValueToQVariant): + (JSC::Bindings::convertQVariantToValue): + (JSC::Bindings::QtRuntimeMetaMethod::call): + (JSC::Bindings::QtRuntimeConnectionMethod::call): + (JSC::Bindings::QtConnectionObject::execute): + * bridge/runtime.cpp: + (JSC::Bindings::Instance::createRuntimeObject): + * inspector/InspectorController.cpp: + (WebCore::InspectorController::addScriptProfile): + * inspector/JavaScriptCallFrame.cpp: + (WebCore::JavaScriptCallFrame::evaluate): + * inspector/JavaScriptDebugServer.cpp: + (WebCore::JavaScriptDebugServer::recompileAllJSFunctions): + * inspector/JavaScriptProfileNode.cpp: + (WebCore::getTotalTime): + (WebCore::getSelfTime): + (WebCore::getTotalPercent): + (WebCore::getSelfPercent): + (WebCore::getNumberOfCalls): + (WebCore::getChildren): + (WebCore::getParent): + (WebCore::getHead): + (WebCore::getVisible): + (WebCore::getCallUID): + * plugins/PluginView.cpp: + (WebCore::PluginView::start): + (WebCore::getString): + (WebCore::PluginView::performRequest): + (WebCore::PluginView::bindingInstance): + * plugins/gtk/PluginViewGtk.cpp: + (WebCore::PluginView::dispatchNPEvent): + (WebCore::PluginView::handleKeyboardEvent): + (WebCore::PluginView::handleMouseEvent): + (WebCore::PluginView::setNPWindowIfNeeded): + (WebCore::PluginView::stop): + (WebCore::PluginView::init): + * plugins/mac/PluginViewMac.cpp: + (WebCore::PluginView::stop): + (WebCore::PluginView::setNPWindowIfNeeded): + (WebCore::PluginView::dispatchNPEvent): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::setNPWindowIfNeeded): + (WebCore::PluginView::stop): + (WebCore::PluginView::init): + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::dispatchNPEvent): + (WebCore::PluginView::handleKeyboardEvent): + (WebCore::PluginView::handleMouseEvent): + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::stop): + +2009-07-27 Yong Li <yong.li@torchmobile.com> + + Reviewed by George Staikos. + + WINCE PORT: Make plugin work for WINCE + https://bugs.webkit.org/show_bug.cgi?id=27713 + + * plugins/win/PluginDatabaseWin.cpp: + (SHGetValue): + (PathRemoveFileSpec): + (WebCore::addWindowsMediaPlayerPluginDirectory): + (WebCore::addMacromediaPluginDirectories): + * plugins/win/PluginPackageWin.cpp: + (WebCore::PluginPackage::load): + * plugins/win/PluginViewWin.cpp: + (WebCore::registerPluginView): + (WebCore::PluginView::wndProc): + (WebCore::PluginView::updatePluginWidget): + (WebCore::PluginView::paintWindowedPluginIntoContext): + (WebCore::PluginView::paint): + (WebCore::PluginView::handleMouseEvent): + (WebCore::PluginView::setParent): + (WebCore::PluginView::setNPWindowRect): + (WebCore::PluginView::stop): + (WebCore::PluginView::init): + +2009-07-27 Joseph Pecoraro <joepeck02@gmail.com> + + Inspector: Tab Through Element Attributes and CSS Properties When Editing + + https://bugs.webkit.org/show_bug.cgi?id=27673 + + Reviewed by Timothy Hatcher. + + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement): + (WebInspector.ElementsTreeElement.prototype._startEditing): refactored parameter + (WebInspector.ElementsTreeElement.prototype._addNewAttribute): refactored to remove excess + (WebInspector.ElementsTreeElement.prototype._triggerEditAttribute): provide an attribute name and this will start editing it + (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted.moveToNextAttributeIfNeeded): move between attributes + (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): + * inspector/front-end/StylesSidebarPane.js: + (WebInspector.StylePropertiesSection.prototype.onpopulate): + (WebInspector.StylePropertiesSection.prototype.findTreeElementWithName): search through treeElements for a style property name + (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty): initialize a blank property for adding new properties + (WebInspector.StylePropertyTreeElement.prototype.updateTitle): add references to the name and value elements + (WebInspector.StylePropertyTreeElement.prototype.): + (WebInspector.StylePropertyTreeElement.prototype): + * inspector/front-end/inspector.js: + (WebInspector.startEditing.editingCommitted): include the move direction as a parameter to the commit callback + (WebInspector.startEditing.element.handleKeyEvent): handle the tab key to specify the move direction + (WebInspector.startEditing): + +2009-07-27 Mike Fenton <mike.fenton@torchmobile.com> + + Reviewed by Adam Treat. + + Add mapping FontWeight to QFont::Weight values as requested via FIXME. + https://bugs.webkit.org/show_bug.cgi?id=27663 + + * platform/graphics/qt/FontCacheQt.cpp: + (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): + * platform/graphics/qt/FontPlatformData.h: + (WebCore::FontPlatformData::toQFontWeight): + * platform/graphics/qt/FontPlatformDataQt.cpp: + (WebCore::FontPlatformData::FontPlatformData): + +2009-07-27 Jakub Wieczorek <faw217@gmail.com> + + Reviewed by Adam Treat. + + When clearing the plugin database, clear also the timestamp map. + + https://bugs.webkit.org/show_bug.cgi?id=27651 + + Currently, if we clear the database, it will still think that it is up + to date with the plugin directories so refreshing the database again + after changing the search paths may not work. + + * plugins/PluginDatabase.cpp: + (WebCore::PluginDatabase::clear): + +2009-07-27 Albert J. Wong <ajwong@chromium.org> + + Reviewed by David Levin. + + Add in trivial implementation of FontPlatformData::description() for + linux to fix build bustage in chromium. + + Fix chromium linux build by adding missing function implementation. + https://bugs.webkit.org/show_bug.cgi?id=27732 + + Tested with a build of chromium on linux. + + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::description): + * platform/graphics/chromium/FontPlatformDataLinux.h: + +2009-07-27 Brent Fulgham <bfulgham@webkit.org> + + Build correct, no review. + + Final correction for WinCairo builds. + CoreServices only exists in Apple builds, but + some of its internal includes (e.g., <windows.h>) are needed + for other Windows targets. + + * WebCorePrefix.h: When building for WinCairo, make sure + to include <windows.h>, <stdio.h>, and <ConditionalMacros.h> + +2009-07-27 Michelangelo De Simone <micdesim@gmail.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=25552 + Added new "pattern" attribute to HTMLInputElement and validation code + (validity.patternMismatch) as per HTML5 specs. + http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-pattern + + Tests: fast/forms/ValidityState-002.html + fast/forms/ValidityState-patternMismatch-001.html + fast/forms/ValidityState-patternMismatch-002.html + fast/forms/ValidityState-patternMismatch-003.html + fast/forms/ValidityState-patternMismatch-004.html + fast/forms/ValidityState-patternMismatch-005.html + fast/forms/ValidityState-patternMismatch-006.html + fast/forms/ValidityState-patternMismatch-007.html + fast/forms/pattern-attribute-001.html + fast/forms/pattern-attribute-002.html + fast/forms/pattern-attribute-003.html + + * html/HTMLAttributeNames.in: pattern attribute + * html/HTMLFormControlElement.h: + (WebCore::HTMLFormControlElement::patternMismatch): method definition + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::patternMismatch): validation method + * html/HTMLInputElement.h: + * html/HTMLInputElement.idl: + * html/ValidityState.h: + (WebCore::ValidityState::patternMismatch): validation flag + +2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by George Staikos. + + [WML] Manual WML tests aren't properly working + https://bugs.webkit.org/show_bug.cgi?id=27718 + + Fix file paths in the manual WML layout tests, remove unneeded tests (already covered by DRT tests). + Add missing resources directory and test image. Reformat all testcases to a common style. + Add new StartTests.wml file, which should be used as starting point to crawl through the manual tests. + + Filing bugs soon for all tests exposing bugs (7 in total). + + * manual-tests/wml/StartTests.wml: Added. + * manual-tests/wml/a-br-element.wml: + * manual-tests/wml/a-element.wml: + * manual-tests/wml/a-img-element.wml: + * manual-tests/wml/access-target.wml: + * manual-tests/wml/anchor-br-element.wml: + * manual-tests/wml/anchor-element.wml: + * manual-tests/wml/anchor-img-element.wml: + * manual-tests/wml/card-newcontext-attr.wml: + * manual-tests/wml/card-onenterbackward.wml: + * manual-tests/wml/card-onenterforward.wml: + * manual-tests/wml/card-ontimer.wml: + * manual-tests/wml/card-title-attr.wml: Removed. + * manual-tests/wml/deck-access-control.wml: + * manual-tests/wml/go-element.wml: Removed. + * manual-tests/wml/input-emptyok.wml: Removed. + * manual-tests/wml/input-format.wml: + * manual-tests/wml/onevent-go.wml: + * manual-tests/wml/onevent-noop.wml: + * manual-tests/wml/onevent-prev.wml: + * manual-tests/wml/onevent-refresh.wml: + * manual-tests/wml/onevent-shadow.wml: + * manual-tests/wml/postfield-get.wml: Removed. + * manual-tests/wml/postfield-post.wml: Removed. + * manual-tests/wml/resources: Added. + * manual-tests/wml/resources/smiley.png: Added. + * manual-tests/wml/select-element.wml: + * manual-tests/wml/select-onpick-event.wml: + * manual-tests/wml/setvar-element.wml: + * manual-tests/wml/targetdeck.wml: + * manual-tests/wml/task-go-in-anchor.wml: + * manual-tests/wml/task-noop-in-do.wml: + * manual-tests/wml/task-noop-in-onevent.wml: Removed. + * manual-tests/wml/task-prev-in-anchor.wml: + * manual-tests/wml/task-refresh-in-anchor.wml: + * manual-tests/wml/template-go.wml: + * manual-tests/wml/template-onevent.wml: Removed. + * manual-tests/wml/template-ontimer.wml: + * manual-tests/wml/timer.wml: + * manual-tests/wml/variable-substitution.wml: + +2009-07-27 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + Fix a regression introduced in r42671, which caused the js event + object to be hidden (some websites depend on being able to access it). + + https://bugs.webkit.org/show_bug.cgi?id=27719 + + * bindings/v8/V8AbstractEventListener.cpp: + (WebCore::V8AbstractEventListener::invokeEventHandler): Make the event object visible to javascript, instead of hidden. + +2009-07-27 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Dimitri Glazkov. + + Removing a no-op block of code in DatabaseTracker.cpp that + should've been removed in the patch for bug 26054. + + https://bugs.webkit.org/show_bug.cgi?id=27666 + + All tests in WebCore/storage pass. + + * storage/DatabaseTracker.cpp: + (WebCore::DatabaseTracker::fullPathForDatabase): Removed a no-op + block of code that was moved to SQLiteFileSystem.cpp and should + have been removed from DatabaseTracker.cpp + +2009-07-27 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Fix error handling in dedicated worker and worker context. + https://bugs.webkit.org/show_bug.cgi?id=27525 + + The following problems have been fixed: + 1) The uncaught runtime script error is not reported using the + WorkerGlobalScope object's onerror attribute. + 2) If the error is still not handled afterwards (onerror attribute + is not defined as a function or it returns true), the error should + be reported back to the associated Worker object by firing an + ErrorEvent. + 3) If the error is still not handled by the associated Worker + object, the error should be reported to the user. + + Test: fast/workers/worker-script-error.html + + * bindings/js/JSEventListener.cpp: + (WebCore::JSEventListener::reportError): + * bindings/js/JSEventListener.h: + * dom/EventListener.h: + (WebCore::EventListener::reportError): adds a function to call + EventListener as a function with 3 arguments to report an error. + * workers/AbstractWorker.cpp: + (WebCore::AbstractWorker::dispatchScriptErrorEvent): + * workers/AbstractWorker.h: + * workers/DedicatedWorkerContext.cpp: + (WebCore::DedicatedWorkerContext::reportException): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::reportException): + * workers/WorkerContext.h: + * workers/WorkerMessagingProxy.cpp: + (WebCore::WorkerExceptionTask::performTask): + * workers/WorkerMessagingProxy.h: + +2009-07-27 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by George Staikos. + + [WML] History handling / page cache / loading is buggy and depends on several hacks + https://bugs.webkit.org/show_bug.cgi?id=27707 + + Redesign WML history/loading handling. In detail: + + - Remove FrameLoader::setForceReloadWmlDeck(). WML used to force a special loading behaviour + by calling this method from WMLGoElement & friends - instead teach FrameLoader to detect + WML content itself. + + WML content is usually a standalone WML document (isWMLDocument()=true) or as special case + an XHTML document which embeds a WML document (that's the way the WML layout tests work). + Force WML loading behaviour even for XHTML document which embed WML documents. This only + applies to our layout tests, not for any real world site. Though it gives us a perfect + way to test the WML loading code even when we're not operating on a standalone WML document. + + Whenever a WMLCardElement is inserted into the document it will check wheter it's inserted + in a standalone WML document or wheter the main frame document is different. If it differs + the main frame documents' "containsWMLContent" property is set to true. + + -> Make FrameLoader::shouldReload() use the new frameContainsWMLContent() method, which + checks if the associated frame document is a WML document or wheter it contains WML content. + + - Change FrameLoader::loadItem() to use the new frameContainsWMLContent() method for 'shouldScroll' + detection. WML documents (or those containing WML content) always want new loads even for in-page + navigation. No "scroll to anchor" mechanism should apply. + + - Modify FrameLoader::canCachePageContainingThisFrame() to check for !frameContainsWMLContent(). + WML pages should never be cached, potential security problem due the use of variables (per spec). + + Add two new WML tests which were broken before, testing onenterforward/onenterbackward event handling + and history navigation (<prev/> task). + + Tests: wml/enter-card-with-events.html + wml/enter-first-card-with-events.html + + * dom/Document.cpp: Initialize new 'm_containsWMLContent' property. + (WebCore::Document::Document): + * dom/Document.h: Add new helper methods and 'm_containsWMLContent" variable (explained above). + (WebCore::Document::setContainsWMLContent): + (WebCore::Document::containsWMLContent): + * history/BackForwardList.cpp: + (WebCore::BackForwardList::clearWMLPageHistory): Renamed from clearWmlPageHistory() & slight cleanup. + * history/BackForwardList.h: + * loader/FrameLoader.cpp: Rework WML loading behaviour (explained above). + (WebCore::FrameLoader::FrameLoader): + (WebCore::frameContainsWMLContent): + (WebCore::FrameLoader::canCachePageContainingThisFrame): + (WebCore::FrameLoader::shouldReload): + (WebCore::FrameLoader::loadItem): + * loader/FrameLoader.h: + * wml/WMLCardElement.cpp: + (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded): No need anymore to manually track history length. + (WebCore::WMLCardElement::insertedIntoDocument): Handle setting containsWMLContent on the main frame document. + * wml/WMLGoElement.cpp: + (WebCore::WMLGoElement::executeTask): Remove call to FrameLoader::setForceReloadWmlDeck() + * wml/WMLPageState.cpp: Remove 'm_historyLength' - no need anymore to track history length on our own. + (WebCore::WMLPageState::WMLPageState): + (WebCore::WMLPageState::dump): + (WebCore::WMLPageState::reset): + * wml/WMLPageState.h: + +2009-07-27 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Adam Roben. + + Fix Chromium build breakage introduced in 46388. + + https://bugs.webkit.org/show_bug.cgi?id=27705 + + * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp: + (WebCore::FontPlatformData::description): + * platform/graphics/chromium/FontPlatformDataChromiumWin.h: + +2009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + Add some more debug logging to PluginViewMac. + + * plugins/mac/PluginViewMac.cpp: + +2009-07-27 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Jan Michael Alonzo. + + Remove dead code from the GTK NPAPI implementation. + + * plugins/gtk/PluginViewGtk.cpp: + +2009-07-27 Csaba Osztrogonac <oszi@inf.u-szeged.hu> + + Reviewed by Simon Hausmann. + + [Qt] Buildfix on Windows. + https://bugs.webkit.org/show_bug.cgi?id=27702 + + * plugins/win/PluginViewWin.cpp: + (WebCore::PluginView::hookedEndPaint): + Constraint of (*endPaint) operand modified from "g" to "m" (memory) in inline + assembly, because with "g" constraint, wrong assembly code generated. + +2009-07-27 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + WebCore bindings: Implement ScriptArray bindings. + + https://bugs.webkit.org/show_bug.cgi?id=27691 + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/ScriptArray.cpp: Added. + (WebCore::ScriptArray::ScriptArray): + (WebCore::handleException): + (WebCore::ScriptArray::set): + (WebCore::length): + (WebCore::ScriptArray::createNew): + * bindings/js/ScriptArray.h: Added. + (WebCore::ScriptArray::ScriptArray): + (WebCore::ScriptArray::jsArray): + * bindings/v8/ScriptArray.cpp: Added. + (WebCore::ScriptArray::ScriptArray): + (WebCore::ScriptArray::set): + (WebCore::ScriptArray::length): + (WebCore::ScriptArray::createNew): + * bindings/v8/ScriptArray.h: Added. + (WebCore::ScriptArray::ScriptArray): + (WebCore::ScriptArray::~ScriptArray): + +2009-07-27 Brent Fulgham <bfulgham@webkit.org> + + Build correct, no review. + + Change in r46407 broke Apple Windows build. + Switch to WinCairo-only test, to avoid any + other platform break. + + * WebCorePrefix.h: + +2009-07-26 Brent Fulgham <bfulgham@webkit.org> + + Build correct, no review. + + Change in r46407 broke Apple Windows build. + + * WebCorePrefix.h: Use WTF_PLATFORM_CG to decide if + CoreServices.h should be included. + +2009-07-26 Brent Fulgham <bfulgham@webkit.org> + + Build correction, no review. + + Change in r46195 broke WinCairo build. + + * WebCorePrefix.h: CoreServices should be ignored + for non-Apple build. + +2009-07-26 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Implement the breakpoints sidebar pane. + This change adds simple UI support into the existing + BreakpointSidebarPane. + + https://bugs.webkit.org/show_bug.cgi?id=11175 + + * inspector/front-end/Breakpoint.js: + (WebInspector.Breakpoint.prototype.set enabled): + (WebInspector.Breakpoint.prototype.get label): + (WebInspector.Breakpoint.prototype.get id): + * inspector/front-end/BreakpointsSidebarPane.js: + (WebInspector.BreakpointsSidebarPane): + (WebInspector.BreakpointsSidebarPane.prototype.addBreakpoint): + (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement): + (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.labelClicked): + (WebInspector.BreakpointsSidebarPane.prototype.removeBreakpoint): + (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged): + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + (WebInspector.ScriptsPanel.prototype.scriptOrResourceForID): + * inspector/front-end/inspector.css: + +2009-07-16 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by Oliver Hunt. + + Canvas: rotation of 'no-repeat' pattern still has small error + https://bugs.webkit.org/show_bug.cgi?id=26749 + + Use 1<<22 as steps of no-repeat pattern to make the error less + than 0.5. The previous value may cause 1 pixel errors. + + Add another test to show this bug clearly. + Also add png expected image which was missing in the previous patch. + + Test: fast/canvas/image-pattern-rotate.html + + * platform/graphics/cg/PatternCG.cpp: + (WebCore::Pattern::createPlatformPattern): + +2009-07-25 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Darin Adler. + + Windows build break due to warning C4819 + https://bugs.webkit.org/show_bug.cgi?id=27416 + + Disable C4819 warning to fix build. + + * WebCore.vcproj/QTMovieWin.vcproj: + * WebCore.vcproj/WebCore.vcproj: + +2009-07-25 Joseph Pecoraro <joepeck02@gmail.com> + + Reviewed by Kevin McCullough. + + Inspector: Keyboard Shortcuts to Switch Panels + https://bugs.webkit.org/show_bug.cgi?id=27286 + + * inspector/front-end/inspector.js: + (WebInspector.loaded): save a list of the order of the panels + (WebInspector.documentKeyDown): handle the keyboard shortcuts to traverse the panels + +2009-07-25 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by George Staikos. + + [Qt] Fix build break after r46369 + https://bugs.webkit.org/show_bug.cgi?id=27680 + + * WebCore.pro: + +2009-07-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by George Staikos. + + [WML] Variable substitution is buggy + https://bugs.webkit.org/show_bug.cgi?id=27677 + + Substitute variables upon attach() time instead of insertedIntoDocument(). Otherwhise variable substitution + won't work during inter-deck jumps (same URL, different fragment). Covered by new test fast/wml/newcontext-same-deck.html. + + * dom/Text.cpp: + (WebCore::Text::attach): + * dom/Text.h: + +2009-07-25 Nikolas Zimmermann <nikolas.zimmermann@torchmobile.com> + + Reviewed by George Staikos. + + [WML] WMLDoElement doesn't update its RenderButton object upon attach() + https://bugs.webkit.org/show_bug.cgi?id=27676 + + WMLDoElement needs to implement attach() and call updateFromElement() on its associated RenderButton. + Mimics HTMLButtonElement/HTMLFormControlElement behaviour and fixes several painting/styling issues covered by existing tests in fast/wml. + + * wml/WMLDoElement.cpp: + (WebCore::WMLDoElement::attach): + * wml/WMLDoElement.h: + +2009-07-25 Pavel Feldman <pfeldman@chromium.org> + + Fix Windows build breakage introduced in 46390. + + * WebCore.vcproj/WebCore.vcproj: + +2009-07-24 Joseph Pecoraro <joepeck02@gmail.com> + + Reviewed by Oliver Hunt. + + Inspector: Properties Should be Sorted more Naturally + https://bugs.webkit.org/show_bug.cgi?id=27329 + + * inspector/front-end/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertiesSection.prototype.update): use the displaySort when showing properties + (WebInspector.ObjectPropertiesSection.prototype._displaySort): alphaNumerical sort + (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): use the displaySort when showing properties + * inspector/front-end/utilities.js: + (Object.sortedProperties): allow for an optional sorting function in Object.sortedProperties + +2009-07-24 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Split InspectorController into InspectorController + and InspectorBackend. Everything frontend needs from InspectorController + will slowly migrate into the InspectorBackend. + + https://bugs.webkit.org/show_bug.cgi?id=27541 + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSInspectorBackendCustom.cpp: Added. + (WebCore::JSInspectorBackend::highlightDOMNode): + (WebCore::JSInspectorBackend::search): + (WebCore::JSInspectorBackend::databaseTableNames): + (WebCore::JSInspectorBackend::inspectedWindow): + (WebCore::JSInspectorBackend::setting): + (WebCore::JSInspectorBackend::setSetting): + (WebCore::JSInspectorBackend::wrapCallback): + (WebCore::JSInspectorBackend::currentCallFrame): + (WebCore::JSInspectorBackend::profiles): + * bindings/v8/custom/V8InspectorBackendCustom.cpp: Added. + (WebCore::CALLBACK_FUNC_DECL): + * bindings/js/JSInspectorControllerCustom.cpp: Removed. + * bindings/js/ScriptObject.cpp: + (WebCore::ScriptGlobalObject::set): + * bindings/js/ScriptObject.h: + * bindings/v8/DOMObjectsInclude.h: + * bindings/v8/DerivedSourcesAllInOne.cpp: + * bindings/v8/ScriptObject.cpp: + (WebCore::ScriptGlobalObject::set): + * bindings/v8/ScriptObject.h: + * bindings/v8/V8Index.cpp: + * bindings/v8/V8Index.h: + * bindings/v8/custom/V8CustomBinding.h: + * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed. + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::windowScriptObjectAvailable): + * inspector/InspectorController.h: + (WebCore::InspectorController::inspectorBackend): + * inspector/InspectorBackend.cpp: Added. + * inspector/InspectorBackend.h: Added. + (WebCore::InspectorBackend::create): + (WebCore::InspectorBackend::inspectorController): + * inspector/InspectorBackend.idl: Added. + * inspector/InspectorController.idl: Removed. + * inspector/front-end/Resource.js: + * page/Page.cpp: + (WebCore::Page::Page): + * page/Page.h: + +2009-07-25 Mike Fenton <mike.fenton@torchmobile.com> + + Reviewed by George Staikos. + + Update WebCore/page/Frame.cpp/h to conform to WebKit + Style Guidelines as identified by cpplint.py. + https://bugs.webkit.org/show_bug.cgi?id=27654 + + * page/Frame.cpp: + (WebCore::Frame::Frame): + (WebCore::Frame::~Frame): + (WebCore::Frame::setDocument): + (WebCore::Frame::firstRectForRange): + (WebCore::createRegExpForLabels): + (WebCore::Frame::searchForLabelsBeforeElement): + (WebCore::Frame::matchLabelsAgainstElement): + (WebCore::Frame::selectionLayoutChanged): + (WebCore::Frame::setZoomFactor): + (WebCore::Frame::reapplyStyles): + (WebCore::Frame::isContentEditable): + (WebCore::Frame::computeAndSetTypingStyle): + (WebCore::Frame::selectionStartStylePropertyValue): + (WebCore::Frame::selectionComputedStyle): + (WebCore::Frame::applyEditingStyleToBodyElement): + (WebCore::Frame::removeEditingStyleFromBodyElement): + (WebCore::Frame::applyEditingStyleToElement): + (WebCore::Frame::selectionBounds): + (WebCore::Frame::currentForm): + (WebCore::Frame::revealSelection): + (WebCore::Frame::styleForSelectionStart): + (WebCore::Frame::setSelectionFromNone): + (WebCore::Frame::findString): + (WebCore::Frame::markAllMatchesForText): + (WebCore::Frame::setMarkedTextMatchesAreHighlighted): + (WebCore::Frame::clearFormerDOMWindow): + (WebCore::Frame::unfocusWindow): + (WebCore::Frame::respondToChangedSelection): + (WebCore::Frame::documentAtPoint): + * page/Frame.h: + (WebCore::Frame::create): + (WebCore::Frame::displayStringModifiedByEncoding): + (WebCore::Frame::pageZoomFactor): + (WebCore::Frame::textZoomFactor): + +2009-07-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + Add functions to print the glyph page trees for debugging + https://bugs.webkit.org/show_bug.cgi?id=27671 + + * platform/graphics/FontData.h: Defined a description() method. + + * platform/graphics/GlyphPageTreeNode.cpp: + (WebCore::GlyphPageTreeNode::showSubtree): Added. Prints the node and + its descendants. + (showGlyphPageTrees): Added. Prints all glyph page trees. + (showGlyphPageTree): Added. Prints the glyph page tree for a given page. + * platform/graphics/GlyphPageTreeNode.h: + + * platform/graphics/SegmentedFontData.cpp: + (WebCore::SegmentedFontData::description): Added. + + * platform/graphics/SegmentedFontData.h: + * platform/graphics/SimpleFontData.cpp: + (WebCore::SimpleFontData::description): Added. Uses the platform data + as the description for non-svg, non-custom fonts. + * platform/graphics/SimpleFontData.h: + + * platform/graphics/gtk/FontPlatformData.h: + * platform/graphics/gtk/FontPlatformDataGtk.cpp: + (WebCore::FontPlatformData::description): Added. Returns a null string. + * platform/graphics/gtk/FontPlatformDataPango.cpp: + (WebCore::FontPlatformData::description): Added. Returns a null string. + + * platform/graphics/mac/FontPlatformData.h: + * platform/graphics/mac/FontPlatformDataMac.mm: + (WebCore::FontPlatformData::description): Added. Returns the + description of the CGFont, the size and the synthetic style flags, + if set. + + * platform/graphics/qt/FontPlatformData.h: + * platform/graphics/qt/FontPlatformDataQt.cpp: + (WebCore::FontPlatformData::description): Added. Returns a null string. + + * platform/graphics/win/FontPlatformData.h: + * platform/graphics/win/FontPlatformDataWin.cpp: + (WebCore::FontPlatformData::description): Added. Returns a null string. + + * platform/graphics/wince/FontPlatformData.cpp: + (WebCore::FontPlatformData::description): Added. Returns a null string. + * platform/graphics/wince/FontPlatformData.h: + + * platform/graphics/wx/FontPlatformData.h: + * platform/graphics/wx/FontPlatformDataWx.cpp: + (WebCore::FontPlatformData::description): Added. Returns a null string. + +2009-07-24 Mads Ager <ager@chromium.org> + + Reviewed by Adam Barth. + + SVG and XPath memory leaks in V8 bindings + https://bugs.webkit.org/show_bug.cgi?id=27488 + + Add proper 'create' methods to SVGPodTypeWrappers and + XPathNSResolvers in the V8 bindings to avoid memory leaks. + + Introduce convertToV8Object methods that accept PassRefPtrs and + clean up the use of get() and release() on RefPtrs. + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8DOMWrapper.h: + (WebCore::V8DOMWrapper::convertNodeToV8Object): + (WebCore::V8DOMWrapper::convertEventToV8Object): + (WebCore::V8DOMWrapper::convertEventTargetToV8Object): + (WebCore::V8DOMWrapper::convertEventListenerToV8Object): + * bindings/v8/V8SVGPODTypeWrapper.h: + (WebCore::V8SVGPODTypeWrapperCreatorForList::create): + (WebCore::V8SVGPODTypeWrapperCreatorForList::V8SVGPODTypeWrapperCreatorForList): + (WebCore::V8SVGStaticPODTypeWrapper::create): + (WebCore::V8SVGStaticPODTypeWrapper::V8SVGStaticPODTypeWrapper): + (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::create): + (WebCore::V8SVGStaticPODTypeWrapperWithPODTypeParent::V8SVGStaticPODTypeWrapperWithPODTypeParent): + (WebCore::V8SVGStaticPODTypeWrapperWithParent::create): + (WebCore::V8SVGStaticPODTypeWrapperWithParent::V8SVGStaticPODTypeWrapperWithParent): + (WebCore::V8SVGDynamicPODTypeWrapper::create): + (WebCore::V8SVGDynamicPODTypeWrapper::V8SVGDynamicPODTypeWrapper): + (WebCore::V8SVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper): + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8ClientRectListCustom.cpp: + (WebCore::INDEXED_PROPERTY_GETTER): + * bindings/v8/custom/V8CustomXPathNSResolver.cpp: + (WebCore::V8CustomXPathNSResolver::create): + * bindings/v8/custom/V8CustomXPathNSResolver.h: + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8ElementCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLCollectionCustom.cpp: + (WebCore::getNamedItems): + (WebCore::getItem): + * bindings/v8/custom/V8HTMLDocumentCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::ACCESSOR_GETTER): + * bindings/v8/custom/V8HTMLFormElementCustom.cpp: + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: + (WebCore::INDEXED_PROPERTY_GETTER): + * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8InspectorControllerCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8NamedNodeMapCustom.cpp: + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8NodeIteratorCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8NodeListCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + * bindings/v8/custom/V8SVGMatrixCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8TreeWalkerCustom.cpp: + (WebCore::toV8): + * bindings/v8/custom/V8XSLTProcessorCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + +2009-07-24 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Jon Honeycutt. + + Fix of <rdar://6310538> Middle-click panning should be springloaded while dragging + https://bugs.webkit.org/show_bug.cgi?id=21794 + + Create two new booleans to determine whether we have done a springloaded pan scroll, and update + the name of setPanScrollCursor to updatePanScrollState to more accurately describe what the function + does. + + * page/EventHandler.cpp: + (WebCore::EventHandler::EventHandler): Initialized two new booleans. + (WebCore::EventHandler::autoscrollTimerFired): + (WebCore::EventHandler::updatePanScrollState): Renamed from setPanScrollCursor. + (WebCore::EventHandler::stopAutoscrollTimer): Clear the pan scrolling in progress flag. + (WebCore::EventHandler::handleMouseReleaseEvent): Clear the pan scrolling button pressed flag. + * page/EventHandler.h: + +2009-07-24 Yong Li <yong.li@torchmobile.com> + + Reviewed by George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=27657 + Add more wince port files to WebCore + + Written by Yong Li <yong.li@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com> + + * loader/icon/wince/IconDatabaseWince.cpp: Added. + * rendering/RenderThemeWince.cpp: Added. + * rendering/RenderThemeWince.h: Added. + * storage/wince/DatabaseThreadWince.cpp: Added. + * storage/wince/DatabaseThreadWince.h: Added. + * storage/wince/LocalStorageThreadWince.cpp: Added. + * storage/wince/LocalStorageThreadWince.h: Added. + * svg/graphics/wince/SVGResourceFilterWince.cpp: Added. + +2009-07-24 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Justin Garcia. + + execCommand('underline') can modify DOM outside of the contentEditable area + https://bugs.webkit.org/show_bug.cgi?id=24333 + + highestAncestorWithTextDecoration stops at the closest unsplittable element so that if text-decoration is applied + outside of it, we don't accidently modify the style attribute. + + Tests: editing/style/textdecoration-outside-of-rooteditable.html + editing/style/textdecoration-outside-of-unsplittable-element.html + + * editing/ApplyStyleCommand.cpp: + (WebCore::StyleChange::init): + (WebCore::highestAncestorWithTextDecoration): + +2009-07-24 Daniel Bates <dbates@intudata.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=27639 + + Fixes false positives when evaluating certain strings that only contain + non-canonical characters. + + Test: http/tests/security/xssAuditor/script-tag-safe.html + + * page/XSSAuditor.cpp: + (WebCore::isNonCanonicalCharacter): + (WebCore::XSSAuditor::findInRequest): + +2009-07-24 Drew Wilson <atwilson@google.com> + + Reviewed by David Levin. + + Changed WorkerContext destructor to not access possibly-freed WorkerThread. + + Failed assertion in WorkerContext::~WorkerContext(). + https://bugs.webkit.org/show_bug.cgi?id=27665 + + * workers/DedicatedWorkerContext.cpp: + (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::~WorkerContext): + Removed assertion that relies on WorkerThread still being alive (moved to DedicatedWorkerContext destructor). + +2009-07-24 Drew Wilson <atwilson@google.com> + + Reviewed by Adam Barth. + + Updated code generator to properly generate bindings for WorkerContext exposed functions. + + Storing a reference to WorkerContext.postMessage() and calling it later yields a TypeError + https://bugs.webkit.org/show_bug.cgi?id=27419 + + Test: fast/workers/worker-call.html + + * bindings/js/JSWorkerContextBase.cpp: + (WebCore::toJSDedicatedWorkerContext): + (WebCore::toJSWorkerContext): + Functions that convert from JSValue to the appropriate WorkerContext/DedicatedWorkerContext object. + * bindings/js/JSWorkerContextBase.h: + Added toJS*WorkerContext APIs. + * bindings/scripts/CodeGeneratorJS.pm: + Added code to appropriately check the passed-in this object when invoking functions at global scope. + +2009-07-24 Drew Wilson <atwilson@google.com> + + Reviewed by Adam Barth. + + Refactor WorkerContext to move DedicatedWorker-specific APIs into DedicatedWorkerContext + https://bugs.webkit.org/show_bug.cgi?id=27420 + + No new tests as the existing tests already provide sufficient coverage (this is just a refactoring with no new functionality). + + * DerivedSources.cpp: + Added JSDerivedWorkerContext.cpp + * DerivedSources.make: + Added DerivedWorkerContext files + * GNUmakefile.am: + Added DerivedWorkerContext files + * WebCore.gypi: + Added DerivedWorkerContext files + * WebCore.pro: + Added DerivedWorkerContext files + * WebCore.vcproj/WebCore.vcproj: + Added DerivedWorkerContext files + * WebCore.xcodeproj/project.pbxproj: + Added DerivedWorkerContext files + * bindings/js/JSDedicatedWorkerContextCustom.cpp: Added. + (WebCore::JSDedicatedWorkerContext::mark): + Custom mark function for onmessage event handler. + * bindings/js/JSEventTarget.cpp: + (WebCore::toJS): + Supports conversion to JSDedicatedWorkerContext. + (WebCore::toEventTarget): + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::mark): + Moved onmessage mark handling into DedicatedWorkerContext. + * bindings/js/WorkerScriptController.cpp: + Added appropriate casts to DedicatedWorkerContext for postMessage(). + (WebCore::WorkerScriptController::initScript): + Manually sets up the prototype chain for the worker context. + * bindings/scripts/CodeGeneratorJS.pm: + Changed special case code for WorkerContext to be triggered by new IsWorkerContext attribute. + * bindings/scripts/CodeGeneratorV8.pm: + Changed hard-coded tests for WorkerContext to support DedicatedWorkerContext. + * bindings/v8/DOMObjectsInclude.h: + Added DedicatedWorkerContext.h + * bindings/v8/DerivedSourcesAllInOne.cpp: + Added V8DedicatedWorkerContext.cpp + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::getTemplate): + Added code to reserve extra fields for V8DedicatedWorkerContext. + * bindings/v8/V8Index.cpp: + Now includes V8DedicatedWorkerContext.h in addition to V8WorkerContext.h + * bindings/v8/V8Index.h: + Added DedicatedWorkerContext as a non-node wrapper type. + Removed WORKERCONTEXT as a valid template type. + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): + Creates DedicatedWorkerContext instead of WorkerContext. + (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object): + Returns DedicatedWorkerContext instead of WorkerContext. + (WebCore::WorkerContextExecutionProxy::retrieve): + Refactored to deal with DedicatedWorkerContext. + * bindings/v8/custom/V8AbstractWorkerCustom.cpp: + * bindings/v8/custom/V8CustomBinding.h: + * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp: Added. + Moved onmessage code from V8WorkerContextCustom.cpp + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8WorkerContextCustom.cpp: + Moved onmessage code to V8DedicatedWorkerContextCustom.cpp + * dom/EventTarget.cpp: + (WebCore::EventTarget::toDedicatedWorkerContext): + * dom/EventTarget.h: + * workers/DedicatedWorkerContext.cpp: Added. + Moved DedicatedWorker-only APIs from WorkerContext. + (WebCore::DedicatedWorkerContext::DedicatedWorkerContext): + (WebCore::DedicatedWorkerContext::~DedicatedWorkerContext): + (WebCore::DedicatedWorkerContext::reportException): + (WebCore::DedicatedWorkerContext::postMessage): + (WebCore::DedicatedWorkerContext::dispatchMessage): + * workers/DedicatedWorkerContext.h: Added. + Moved DedicatedWorker-only APIs from WorkerContext. + (WebCore::DedicatedWorkerContext::create): + (WebCore::DedicatedWorkerContext::toDedicatedWorkerContext): + (WebCore::DedicatedWorkerContext::setOnmessage): + (WebCore::DedicatedWorkerContext::onmessage): + * workers/DedicatedWorkerContext.idl: Added. + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::~WorkerContext): + Moved code that notifies parent that worker is closing down into DedicatedWorkerContext. + * workers/WorkerContext.h: + (WebCore::WorkerContext::isClosing): + Exposed closing flag as an API so derived classes can access it. + * workers/WorkerContext.idl: + * workers/WorkerMessagingProxy.cpp: + (WebCore::MessageWorkerContextTask::performTask): + Calls into DedicatedWorkerContext to handle message. + * workers/WorkerThread.cpp: + (WebCore::WorkerThread::workerThread): + Creates a DedicatedWorkerContext when the thread starts up. + +2009-07-24 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Move more callers to using 3 argument toJS + https://bugs.webkit.org/show_bug.cgi?id=27661 + + No functional changes, thus no tests. + These are all the places where we can't yet pass the + correct globalObject because we don't have or don't know the right one. + + * bindings/js/JSCustomPositionCallback.cpp: + (WebCore::JSCustomPositionCallback::handleEvent): + * bindings/js/JSCustomPositionErrorCallback.cpp: + (WebCore::JSCustomPositionErrorCallback::handleEvent): + * bindings/js/JSCustomSQLStatementCallback.cpp: + (WebCore::JSCustomSQLStatementCallback::handleEvent): + * bindings/js/JSCustomSQLStatementErrorCallback.cpp: + (WebCore::JSCustomSQLStatementErrorCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionCallback.cpp: + (WebCore::JSCustomSQLTransactionCallback::handleEvent): + * bindings/js/JSCustomSQLTransactionErrorCallback.cpp: + (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent): + * bindings/js/JSNodeFilterCondition.cpp: + (WebCore::JSNodeFilterCondition::acceptNode): + +2009-07-24 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Fix the last of the x-frame constructor calls to have the right prototype chains + https://bugs.webkit.org/show_bug.cgi?id=27645 + + Fix the last few constructors to use their stored globalObject pointer when + constructing objects instead of the lexicalGlobalObject(). + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::constructAudio): + * bindings/js/JSImageConstructor.cpp: + (WebCore::constructImage): + * bindings/js/JSMessageChannelConstructor.cpp: + (WebCore::JSMessageChannelConstructor::construct): + * bindings/js/JSOptionConstructor.cpp: + (WebCore::constructHTMLOptionElement): + * bindings/js/JSWebKitPointConstructor.cpp: + (WebCore::constructWebKitPoint): + * bindings/js/JSWorkerConstructor.cpp: + (WebCore::constructWorker): + +2009-07-24 Jian Li <jianli@chromium.org> + + Reviewed by Adam Barth. + + [V8] Cleanup exception handling in worker evaluation code. + https://bugs.webkit.org/show_bug.cgi?id=27282 + + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::WorkerContextExecutionProxy::evaluate): + * bindings/v8/WorkerContextExecutionProxy.h: + (WebCore::WorkerContextExecutionState::WorkerContextExecutionState): + * bindings/v8/WorkerScriptController.cpp: + (WebCore::WorkerScriptController::evaluate): + (WebCore::WorkerScriptController::setException): + +2009-07-24 Stephen White <senorblanco@chromium.org> + + Reviewed by David Levin. + + Reverting r46157, since it may be causing problems with Chromium + reliability (see http://crbug.com/17569). + + https://bugs.webkit.org/show_bug.cgi?id=27388 + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::drawLine): + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::setupPaintForStroking): + +2009-07-24 Joseph Pecoraro <joepeck02@gmail.com> + + Reviewed by Timothy Hatcher. + + REGRESSION: inspector seems broken in ToT WebKit + https://bugs.webkit.org/show_bug.cgi?id=27646 + + * inspector/front-end/Console.js: + (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): + +2009-07-24 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + Add the shadow style member to the ShadowData constructor and == + operator + + * rendering/style/ShadowData.cpp: + (WebCore::ShadowData::ShadowData): + (WebCore::ShadowData::operator==): + +2009-07-24 Jian Li <jianli@chromium.org> + + Reviewed by Eric Seidel. + + [V8] More V8 bindings changes to use ErrorEvent. + https://bugs.webkit.org/show_bug.cgi?id=27630 + + * bindings/v8/DOMObjectsInclude.h: + * bindings/v8/DerivedSourcesAllInOne.cpp: + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::convertEventToV8Object): + * bindings/v8/V8Index.cpp: + * bindings/v8/V8Index.h: + +2009-07-24 Brent Fulgham <bfulgham@webkit.org> + + Reviewed by Dave Hyatt. + + Clean up dependencies on Apple support libraries for non-Apple build. + http://bugs.webkit.org/show_bug.cgi?id=27532. + + * platform/graphics/win/SimpleFontDataWin.cpp: Conditionalize references + to ApplicationServices.h and WebKitSystemInterface.h + +2009-07-24 Dan Bernstein <mitz@apple.com> + + Another attempted build fix + + * bindings/js/JSAbstractWorkerCustom.cpp: + +2009-07-24 Dan Bernstein <mitz@apple.com> + + Attempted build fix + + * bindings/js/JSAbstractWorkerCustom.cpp: + (WebCore::toJS): + +2009-07-24 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Build fix for 64 bit Linux. + + int64_t is long on Linux 64 bit and not long long, thus + getFileSize with a int64_t out value fails to build. + + Use a temporary to work around the problem. + + * loader/appcache/ApplicationCacheStorage.cpp: + (WebCore::ApplicationCacheStorage::spaceNeeded): + +2009-07-24 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Update all CREATE_DOM_*_WRAPPER callers to pass globalObject + https://bugs.webkit.org/show_bug.cgi?id=27644 + + This is another attempt at making the change for bug 27634 smaller. + I included the changes to make_names.pl as well as any file which + used CREATE_DOM_*_WRAPPER macros. + + The changes to the construct* functions are what fix the cases in + fast/dom/constructed-objects-prototypes.html + + The changes to passing globalObject through CREATE_* are what fix + fast/dom/prototype-inheritance-2.html + + * bindings/js/JSCDATASectionCustom.cpp: + (WebCore::toJSNewlyCreated): pass globalObject. + * bindings/js/JSCSSRuleCustom.cpp: + (WebCore::toJS): pass globalObject. + * bindings/js/JSCSSValueCustom.cpp: + (WebCore::toJS): pass globalObject. + * bindings/js/JSDOMBinding.h: updated macros to pass globalObject. + * bindings/js/JSDocumentCustom.cpp: + (WebCore::toJS): pass globalObject. + * bindings/js/JSElementCustom.cpp: + (WebCore::JSElement::setAttributeNode): use globalObject() for wrapping return value. + (WebCore::JSElement::setAttributeNodeNS): use globalObject() for wrapping return value. + (WebCore::toJSNewlyCreated): pass globalObject. + * bindings/js/JSEventCustom.cpp: + (WebCore::JSEvent::clipboardData): pass globalObject. + (WebCore::toJS): pass globalObject. + * bindings/js/JSHTMLCollectionCustom.cpp: + (WebCore::getNamedItems): use globalObject() for wrapping returned collection items. + (WebCore::callHTMLCollection): use globalObject() for wrapping returned collection items. + (WebCore::JSHTMLCollection::item): use globalObject() for wrapping returned collection items. + (WebCore::toJS): pass globalObject. + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): pass globalObject. + * bindings/js/JSNodeCustom.cpp: + (WebCore::createWrapper): pass globalObject. + * bindings/js/JSSVGPathSegCustom.cpp: + (WebCore::toJS): pass globalObject. + * bindings/js/JSStyleSheetCustom.cpp: + (WebCore::toJS): pass globalObject. + * bindings/js/JSTextCustom.cpp: + (WebCore::toJSNewlyCreated): pass globalObject. + * bindings/js/JSWebKitCSSMatrixConstructor.cpp: + (WebCore::constructWebKitCSSMatrix): use constructors globalObject when constructing + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::constructXMLHttpRequest): use constructors globalObject when constructing + * bindings/js/JSXSLTProcessorConstructor.cpp: + (WebCore::constructXSLTProcessor): use constructors globalObject when constructing + * dom/make_names.pl: + Pass globalObject through CREATE_* macros and various support functions. + +2009-07-24 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Update CodeGeneratorJS.pm to support passing JSDOMGlobalObject* to toJS calls + https://bugs.webkit.org/show_bug.cgi?id=27643 + + This is an attempt to make this change as small as possible. + I started by including all changes to CodeGeneratorJS.pm from bug 27634, + and then made the minimal amount of other changes needed to support that change. + + Most toJS implementations ignore their passed JSDOMGlobalObject. + There are stub 2-argument toJS, toJSNewlyCreated implementations to help compiling. + All places where it is not clear what we should pass as the global object + (or where the global object is simply not available, like for some SVG bindings) + we pass deprecatedGlobalObjectForPrototype instead. + + * bindings/js/JSCDATASectionCustom.cpp: + (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* + * bindings/js/JSCSSRuleCustom.cpp: + (WebCore::toJS): add ignored JSDOMGlobalObject* + * bindings/js/JSCSSValueCustom.cpp: + (WebCore::toJS): add ignored JSDOMGlobalObject* + * bindings/js/JSDOMBinding.cpp: + (WebCore::setDOMException): pass the wrong globalObject for now + * bindings/js/JSDOMBinding.h: + Pass the wrong global object to the CREATE_ macros for now. + In the next change we'll come back and pass the correct one. + That will require changes to make_names.pl. + (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext): + (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): + (WebCore::DOMObjectWithGlobalPointer::~DOMObjectWithGlobalPointer): + (WebCore::createDOMObjectWrapper): + (WebCore::getDOMObjectWrapper): + (WebCore::createDOMNodeWrapper): + (WebCore::getDOMNodeWrapper): + (WebCore::toJS): added to convert 2 arg calls to 3 arg calls to limit the scope of this change. + (WebCore::toJSNewlyCreated): + * bindings/js/JSDOMWindowBase.cpp: + (WebCore::toJS): DOMWindow always uses its own prototype chain. + * bindings/js/JSDOMWindowBase.h: + * bindings/js/JSDocumentCustom.cpp: + (WebCore::toJS): add ignored JSDOMGlobalObject* + * bindings/js/JSElementCustom.cpp: + (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): add ignored JSDOMGlobalObject* + * bindings/js/JSEventTarget.cpp: + (WebCore::toJS): add ignored JSDOMGlobalObject* + * bindings/js/JSEventTarget.h: + * bindings/js/JSHTMLCollectionCustom.cpp: + (WebCore::toJS): add ignored JSDOMGlobalObject* + * bindings/js/JSImageDataCustom.cpp: + (WebCore::toJS): add ignored JSDOMGlobalObject* + * bindings/js/JSNodeCustom.cpp: + (WebCore::createWrapper): pass globalObject to toJS(Document*) to avoid recursion + (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* + (WebCore::toJS): add ignored JSDOMGlobalObject* + * bindings/js/JSSVGElementInstanceCustom.cpp: + (WebCore::toJS): pass globalObject along + * bindings/js/JSSVGMatrixCustom.cpp: + (WebCore::JSSVGMatrix::inverse): pass wrong globalObject for now. + (WebCore::JSSVGMatrix::rotateFromVector): pass wrong globalObject for now. + * bindings/js/JSSVGPathSegCustom.cpp: + (WebCore::toJS): + * bindings/js/JSSVGPathSegListCustom.cpp: + All of these methods need a globalObject, but most SVG binding don't have + space for one, so we just pass the lexicalGlobalObject for now. + (WebCore::JSSVGPathSegList::initialize): + (WebCore::JSSVGPathSegList::getItem): + (WebCore::JSSVGPathSegList::insertItemBefore): + (WebCore::JSSVGPathSegList::replaceItem): + (WebCore::JSSVGPathSegList::removeItem): + (WebCore::JSSVGPathSegList::appendItem): + * bindings/js/JSSVGPointListCustom.cpp: + (WebCore::finishGetter): pass wrong globalObject for now. + (WebCore::finishSetter): + (WebCore::finishSetterReadOnlyResult): + * bindings/js/JSSVGTransformListCustom.cpp: + (WebCore::finishGetter): pass wrong globalObject for now. + (WebCore::finishSetter): + (WebCore::finishSetterReadOnlyResult): + * bindings/js/JSStyleSheetCustom.cpp: + (WebCore::toJS): add ignored JSDOMGlobalObject* + * bindings/js/JSTextCustom.cpp: + (WebCore::toJSNewlyCreated): add ignored JSDOMGlobalObject* + * bindings/js/JSWorkerContextBase.cpp: + (WebCore::toJS): WorkerContext always uses its own prototype chain since it's a GlobalObject subclass. + * bindings/js/JSWorkerContextBase.h: + * bindings/scripts/CodeGeneratorJS.pm: + All generated toJS calls now pass a globalObject. + All generated toJS implementations now expect a globalObject. + Simplified all the slot casts by using a "castedThis" local. + SVG bindings which don't have a globalObject() accessor pass the deprecated lexicalGlobalObject instead. + Simplified printing of constructor objects using a $constructorClassName variable. + All generated constructor functions follow the construct$className form to match the custom constructors. + +2009-07-24 Joseph Pecoraro <joepeck02@gmail.com> + + Reviewed by Timothy Hatcher. + + typing "document.__proto__" in inspector throws exception + https://bugs.webkit.org/show_bug.cgi?id=27169 + + * inspector/front-end/utilities.js: + (Object.type): + +2009-07-24 Andrei Popescu <andreip@google.com> + + Reviewed by Anders Carlsson. + + ApplicationCache should have size limit + https://bugs.webkit.org/show_bug.cgi?id=22700 + + https://lists.webkit.org/pipermail/webkit-dev/2009-May/007560.html + + This change implements a mechanism for limiting the maximum size of + the application cache file. When this size is reached, a ChromeClient + callback is invoked asynchronously and the saving of the last (failed) + cache is retried automatically. + + This change also extends the ApplicationCacheStorage API by allowing + a client to query or modify the application cache without having to + load any resources into memory. + + Test: http/tests/appcache/max-size.html + + * WebCore.base.exp: + Exports the symbols required by the DumpRenderTree test application. + * loader/EmptyClients.h: + Adds empty implementation of the new ChromeClient methods. + * loader/appcache/ApplicationCache.cpp: + * loader/appcache/ApplicationCache.h: + Adds the ability to calculate the approximate size of an ApplicationCache object. + * loader/appcache/ApplicationCacheGroup.cpp: + * loader/appcache/ApplicationCacheGroup.h: + Invokes the ChromeClient callback when the storage layer runs out of space. + After the callback is invoked, we re-attempt to store the newest cache, + in case the ChromeClient has freed some space. + * loader/appcache/ApplicationCacheResource.cpp: + * loader/appcache/ApplicationCacheResource.h: + Adds the ability to calculate the approximate size of an ApplicationCacheResource object. + * loader/appcache/ApplicationCacheStorage.cpp: + * loader/appcache/ApplicationCacheStorage.h: + Enforces a maximum size for the application cache file. + * page/ChromeClient.h: + Adds a new callback, invoked when the ApplicationCacheStorage reports that it has + reached the maximum size for its database file. + * platform/sql/SQLiteDatabase.cpp: + * platform/sql/SQLiteDatabase.h: + Adds a new method that allows querying for the amount of unused space inside the + application cache database file. + +2009-07-24 Xan Lopez <xlopez@igalia.com> + + Reviewed by Jan Alonzo. + + https://bugs.webkit.org/show_bug.cgi?id=25415 + [GTK][ATK] Please implement support for get_text_at_offset + + Use TextEncoding facilities to convert between UTF16 and UTF8 + instead of rolling our own solution. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (convertUniCharToUTF8): + +2009-07-24 Xan Lopez <xlopez@igalia.com> + + Reviewed by Jan Alonzo. + + https://bugs.webkit.org/show_bug.cgi?id=25415 + [GTK][ATK] Please implement support for get_text_at_offset + + Fix confusion in g_substr between length in bytes and length in + characters. Was causing crashes in some situations when dealing + with non-ASCII text encoded as UTF8. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (g_substr): + +2009-07-24 Joseph Pecoraro <joepeck02@gmail.com> + + Reviewed by Timothy Hatcher. + + Inspector: Impossible to add an attribute to a node without attributes + https://bugs.webkit.org/show_bug.cgi?id=21108 + + * inspector/front-end/ElementsTreeOutline.js: + (WebInspector.ElementsTreeElement): + (WebInspector.ElementsTreeElement.prototype.set hovered): + (WebInspector.ElementsTreeElement.prototype.toggleNewButton): + (WebInspector.ElementsTreeElement.prototype.ondblclick): + (WebInspector.ElementsTreeElement.prototype._startEditing): + (WebInspector.ElementsTreeElement.prototype._addNewAttribute): + (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted): + * inspector/front-end/inspector.css: + +2009-07-24 Keishi Hattori <casey.hattori@gmail.com> + + Reviewed by Timothy Hatcher. + + Web Inspector: Adds support for Firebug's magic $0 variable to access inspected node + https://bugs.webkit.org/show_bug.cgi?id=17907 + + * inspector/front-end/Console.js: + (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): Added _inspectorCommandLineAPI.{ + _inspectedNodes, _addInspectedNode, $0, $1, $n} + * inspector/front-end/ElementsPanel.js: + (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged): Stores the inspected node history + in _inspectorCommandLineAPI._inspectedNodes + (WebInspector.ElementsPanel): + +2009-07-24 Joseph Pecoraro <joepeck02@gmail.com> + + Reviewed by Timothy Hatcher. + + Dragging a resource in the sidebar should drag it's URL + https://bugs.webkit.org/show_bug.cgi?id=14410 + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourceSidebarTreeElement.prototype.onattach): + +2009-07-24 Joseph Pecoraro <joepeck02@gmail.com> + + Reviewed by Timothy Hatcher. + + Double click on a resource in the sidebar should open that resource in Safari + https://bugs.webkit.org/show_bug.cgi?id=14409 + + * inspector/front-end/ResourcesPanel.js: + (WebInspector.ResourceSidebarTreeElement.prototype.ondblclick): open a resource url + +2009-07-24 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Xan Lopez. + + Bump pango version requirement to 1.12 and remove unnecessary #ifdefs. + + * platform/graphics/gtk/FontGtk.cpp: + (WebCore::getDefaultPangoLayout): + * platform/graphics/gtk/FontPlatformDataPango.cpp: + (WebCore::FontPlatformData::FontPlatformData): + * platform/gtk/Language.cpp: + +2009-07-24 Joseph Pecoraro <joepeck02@gmail.com> + + Reviewed by Timothy Hatcher. + + Inspector: Missing UIString and other localizedString.js fixes + https://bugs.webkit.org/show_bug.cgi?id=27288 + + * English.lproj/localizedStrings.js: + +2009-07-24 Joseph Pecoraro <joepeck02@gmail.com> + + Reviewed by Timothy Hatcher. + + Inspector: Should Syntax Highlight JSON + https://bugs.webkit.org/show_bug.cgi?id=27503 + + * inspector/front-end/SourceView.js: + (WebInspector.SourceView.prototype._contentLoaded): + +2009-07-24 Mike Fenton <mike.fenton@torchmobile.com> + + Reviewed by Eric Seidel. + + Update WebCore/page/DOMTimer.cpp/h to conform to WebKit + Style Guidelines as identified by cpplint.py. + https://bugs.webkit.org/show_bug.cgi?id=27624 + + * page/DragController.cpp: + (WebCore::DragController::~DragController): + (WebCore::documentFragmentFromDragData): + (WebCore::DragController::dragEnded): + (WebCore::DragController::dragEntered): + (WebCore::DragController::dragExited): + (WebCore::DragController::dragUpdated): + (WebCore::DragController::performDrag): + (WebCore::asFileInput): + (WebCore::DragController::tryDocumentDrag): + (WebCore::DragController::delegateDragSourceAction): + (WebCore::DragController::concludeEditDrag): + (WebCore::DragController::canProcessDrag): + (WebCore::DragController::tryDHTMLDrag): + (WebCore::DragController::mayStartDragAtEventLocation): + (WebCore::getCachedImage): + (WebCore::getImage): + (WebCore::prepareClipboardForImageDrag): + (WebCore::dragLocForDHTMLDrag): + (WebCore::DragController::startDrag): + (WebCore::DragController::doImageDrag): + (WebCore::DragController::doSystemDrag): + (WebCore::DragController::placeDragCaret): + +2009-07-24 Mike Fenton <mike.fenton@torchmobile.com> + + Reviewed by Eric Seidel. + + Update WebCore/page/Chrome.cpp to conform to WebKit + Style Guidelines as identified by cpplint.py. + https://bugs.webkit.org/show_bug.cgi?id=27608 + + * page/Chrome.cpp: + (WebCore::Chrome::runBeforeUnloadConfirmPanel): + (WebCore::Chrome::runJavaScriptAlert): + (WebCore::Chrome::runJavaScriptConfirm): + (WebCore::Chrome::runJavaScriptPrompt): + (WebCore::Chrome::shouldInterruptJavaScript): + (WebCore::Chrome::setToolTip): + (WebCore::Chrome::requestGeolocationPermissionForFrame): + (WebCore::ChromeClient::generateReplacementFile): + (WebCore::ChromeClient::paintCustomScrollbar): + +2009-07-24 Mike Fenton <mike.fenton@torchmobile.com> + + Reviewed by Eric Seidel. + + Update WebCore/page/Coordinates.cpp to conform to WebKit + Style Guidelines as identified by cpplint.py. + https://bugs.webkit.org/show_bug.cgi?id=27614 + + * page/Coordinates.cpp: + (WebCore::Coordinates::toString): + +2009-07-24 Mike Fenton <mike.fenton@torchmobile.com> + + Reviewed by Eric Seidel. + + Update WebCore/page/DOMSelection.cpp/h to conform to WebKit + Style Guidelines as identified by cpplint.py. + https://bugs.webkit.org/show_bug.cgi?id=27614 + + * page/DOMSelection.cpp: + (WebCore::DOMSelection::setBaseAndExtent): + (WebCore::DOMSelection::modify): + (WebCore::DOMSelection::addRange): + (WebCore::DOMSelection::deleteFromDocument): + * page/DOMSelection.h: + +2009-07-24 Mike Fenton <mike.fenton@torchmobile.com> + + Reviewed by Eric Seidel. + + Update WebCore/page/DOMTimer.cpp/h to conform to WebKit + Style Guidelines as identified by cpplint.py. + https://bugs.webkit.org/show_bug.cgi?id=27618 + + * page/DOMTimer.cpp: + (WebCore::DOMTimer::DOMTimer): + (WebCore::DOMTimer::~DOMTimer): + (WebCore::DOMTimer::fired): + (WebCore::DOMTimer::suspend): + (WebCore::DOMTimer::resume): + (WebCore::DOMTimer::canSuspend): + * page/DOMTimer.h: + (WebCore::DOMTimer::minTimerInterval): + (WebCore::DOMTimer::setMinTimerInterval): + +2009-07-24 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Classes call DOMObject::mark() explicitly, should call DOMObjectWithGlobal::mark() instead + https://bugs.webkit.org/show_bug.cgi?id=27641 + + Nothing uses globalObject() yet, but this was causing crashes + in the patch for bug 27634. This is covered by fast/dom/gc-6.html. + + I decided to change these to Base:: instead of DOMObjectWithGlobal:: + for future-proofing. All autogenerated classes use a typedef Base + to avoid bugs like these. Sadly C++ does not have a built-in super:: we could use. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/JSAbstractWorkerCustom.cpp: + (WebCore::JSAbstractWorker::mark): + * bindings/js/JSDOMApplicationCacheCustom.cpp: + (WebCore::JSDOMApplicationCache::mark): + * bindings/js/JSMessageChannelCustom.cpp: + (WebCore::JSMessageChannel::mark): + * bindings/js/JSMessagePortCustom.cpp: + (WebCore::JSMessagePort::mark): + * bindings/js/JSNamedNodesCollection.cpp: + (WebCore::JSNamedNodesCollection::getOwnPropertySlot): + * bindings/js/JSNodeCustom.cpp: + (WebCore::JSNode::mark): + * bindings/js/JSNodeFilterCustom.cpp: + (WebCore::JSNodeFilter::mark): + * bindings/js/JSNodeIteratorCustom.cpp: + (WebCore::JSNodeIterator::mark): + * bindings/js/JSSVGElementInstanceCustom.cpp: + (WebCore::JSSVGElementInstance::mark): + * bindings/js/JSTreeWalkerCustom.cpp: + (WebCore::JSTreeWalker::mark): + +2009-07-22 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Make most DOMObjects hold onto a JSDOMGlobalObject* + https://bugs.webkit.org/show_bug.cgi?id=27588 + + This change is almost entirely plumbing. Only one functional + change as part of this all (window.document.constructor has the correct prototype) + Changes are detailed below. + + inner.document.constructor is fixed because all properties on the window + object are created with the correct globalObject (instead of the lexical one). + Since all objects now carry a globalObject pointer, when document creates + HTMLDocumentConstructor it now has the right globalObject to use. + + Tests: + fast/dom/prototype-inheritance.html + fast/dom/prototype-inheritance-2.html + + * bindings/js/DOMObjectWithSVGContext.h: + (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext): + Update the comment and add an ignored globalObject argument. + * bindings/js/JSDOMBinding.h: + Pass a globalObject to all DOMObjects during creation. Currently it's the wrong global object. + Once toJS is passed a globalObject it will be the right one. + (WebCore::createDOMObjectWrapper): + (WebCore::createDOMNodeWrapper): + * bindings/js/JSDOMGlobalObject.h: + (WebCore::JSDOMGlobalObject::globalObject): Makes binding generation easier. + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::history): JSHistory is now passed a globalObject, but since it has no custom constructor it doesn't use it. + (WebCore::JSDOMWindow::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it. + * bindings/js/JSDocumentCustom.cpp: + (WebCore::JSDocument::location): JSLocation is now passed a globalObject, but since it has no custom constructor it doesn't use it. + * bindings/js/JSHTMLAllCollection.h: + (WebCore::JSHTMLAllCollection::JSHTMLAllCollection): + * bindings/js/JSHTMLCollectionCustom.cpp: Re-factoring needed to pass globalObject to JSNamedNodesCollection constructor. + (WebCore::getNamedItems): + (WebCore::callHTMLCollection): + (WebCore::JSHTMLCollection::canGetItemsForName): + (WebCore::JSHTMLCollection::nameGetter): + (WebCore::JSHTMLCollection::item): + (WebCore::JSHTMLCollection::namedItem): + * bindings/js/JSHTMLFormElementCustom.cpp: + (WebCore::JSHTMLFormElement::nameGetter): + * bindings/js/JSNamedNodesCollection.cpp: + Now passed globalObject. This is tested by inner.document.forms.testForm. + The passed globalObject is still wrong until toJS is fixed. + (WebCore::JSNamedNodesCollection::JSNamedNodesCollection): + * bindings/js/JSNamedNodesCollection.h: + * bindings/js/JSSharedWorkerConstructor.cpp: + Add DOMConstructorObject missed by http://trac.webkit.org/changeset/45938 + This class is not compiled by default, so not testable. + (WebCore::JSSharedWorkerConstructor::JSSharedWorkerConstructor): + * bindings/js/JSSharedWorkerConstructor.h: + * bindings/scripts/CodeGeneratorJS.pm: + Make all bindings objects carry a globalObject pointer using DOMObjectWithGlobalPointer. + SVG bindings which need a context() pointer do not have enough space for globalObject() too. + WorkerContext does not need a globalObject (it is one), so special case it. + Make all .constructor calls use the stored globalObject(). This is what fixes window.document.constructor. + Make all constructors inherit from DOMConstructorObject for consistency. Since the auto-bound constructors + override createStructure anyway, there is no functional change here. Just completing work started in r45938. + +2009-07-23 Brady Eidson <beidson@apple.com> + + Reviewed by Geoff Garen. + + WebCore has a few places that don't gracefully handle a null request returned from willSendRequest. + https://bugs.webkit.org/show_bug.cgi?id=27595 + + Test: http/tests/misc/will-send-request-returns-null-on-redirect.html + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::removeResource): Null-check the request URL. + + * platform/network/cf/ResourceHandleCFNet.cpp: Ditto, and return null instead of creating an empty one. + (WebCore::willSendRequest): + +2009-07-23 Chris Fleizach <cfleizach@apple.com> + + Reviewed by Darin Adler. + + Bug 27633 - AXLoadComplete can be fired off to frequently + https://bugs.webkit.org/show_bug.cgi?id=27633 + + An integration issue left out some curly braces. + + * dom/Document.cpp: + (WebCore::Document::implicitClose): + +2009-07-23 Darin Adler <darin@apple.com> + + Reviewed by Brady Eidson. + + URL appears in back/forward button menu instead of title for items with custom representation + https://bugs.webkit.org/show_bug.cgi?id=27586 + rdar://problem/5060337 + + * WebCore.base.exp: Exported DocumentLoader::setTitle for use by Mac WebKit. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::didChangeTitle): Tightened code to check if the document + loader is the correct one; previously this would never happen because we'd + commit the load before any title changes could be registered, but now we can + encounter a case where we get a title during a provisional load. + +2009-07-23 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + [CSS3 Backgrounds and Borders] Add support for inset box shadows + https://bugs.webkit.org/show_bug.cgi?id=27582 + + Test: fast/box-shadow/inset.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::valueForShadow): Set the ShadowValue’s shadow style to 'inset' + as needed. + + * css/CSSParser.cpp: + (WebCore::ShadowParseContext::ShadowParseContext): Added style and allowStyle + members. Initialize the allowStyle member. + (WebCore::ShadowParseContext::commitValue): Pass the style value to the + ShadowValue constructor. Reset allowStyle. + (WebCore::ShadowParseContext::commitLength): Update allowStyle. + (WebCore::ShadowParseContext::commitColor): Ditto. + (WebCore::ShadowParseContext::commitStyle): Added. Sets the style member and + updates the state. + (WebCore::CSSParser::parseShadow): Parse the 'inset' keyword. + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): Get the style value from the + shadow value and pass it to the ShadowData constructor. + + * css/ShadowValue.cpp: + (WebCore::ShadowValue::ShadowValue): Added style. + (WebCore::ShadowValue::cssText): Added style. + + * css/ShadowValue.h: + (WebCore::ShadowValue::create): Added style. + + * page/animation/AnimationBase.cpp: + (WebCore::blendFunc): Added a blend function for shadow styles. When blending + between normal and inset shadows, all intermediate values map to normal. + (WebCore::PropertyWrapperShadow::blend): Added normal style to the default + shadow. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::paintBoxShadow): Added a shadow style parameter, + which is passed through to RenderBoxModelObject::paintBoxShadow(). + + (WebCore::InlineFlowBox::paintBoxDecorations): Paint inset shadows on top of + the background. + + * rendering/InlineFlowBox.h: + + * rendering/RenderBox.cpp: + (WebCore::RenderBox::paintBoxDecorations): Paint inset shadows on top of the + background. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBoxShadow): Added a shadow style + parameter, and code to paint inset shadows. + + * rendering/RenderBoxModelObject.h: + + * rendering/RenderFieldset.cpp: + (WebCore::RenderFieldset::paintBoxDecorations): Paint inset shadows on top of + the background. + + * rendering/RenderTable.cpp: + (WebCore::RenderTable::paintBoxDecorations): Ditto. + + * rendering/RenderTableCell.cpp: + (WebCore::RenderTableCell::paintBoxDecorations): Ditto. + + * rendering/style/ShadowData.h: + Added a ShadowStyle enum. + (WebCore::ShadowData::ShadowData): Add and initialize a style member. + +2009-07-23 Simon Fraser <simon.fraser@apple.com> + + Fix the build with UNUSED_PARAM(frame) for when ENABLE(3D_RENDERING) is not defined. + + * css/MediaQueryEvaluator.cpp: + (WebCore::transform_3dMediaFeatureEval): + +2009-07-23 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Adele Peterson. + + 3d-transforms media query needs to look check that accelerated compositing is enabled + https://bugs.webkit.org/show_bug.cgi?id=27621 + + When evaluating a media query with '-webkit-transform-3d', we need to check the + runtime switch that toggles accererated compositing, and therefore 3D. + + No test because we can't disable the pref dynamically in DRT. + + * css/MediaQueryEvaluator.cpp: + (WebCore::transform_3dMediaFeatureEval): + +2009-07-22 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + execCommand('underline') can't remove <U> underlines + https://bugs.webkit.org/show_bug.cgi?id=20215 + + This patch adds support for u, s, and strike to implicitlyStyledElementShouldBeRemovedWhenApplyingStyle so that + WebKit can remove those presentational tags when necessary. + It also modifies StyleChange::init not to add "text-decoration: none". Not only is this style meaningless + (does not override inherited styles) but it was also causing WebKit to generate extra spans with this style. + + * css/CSSValueList.cpp: + (WebCore::CSSValueList::hasValue): True if the property contains the specified value + * css/CSSValueList.h: Updated prototype + * editing/ApplyStyleCommand.cpp: + (WebCore::StyleChange::init): No longer adds "text-decoration: none" + (WebCore::ApplyStyleCommand::implicitlyStyledElementShouldBeRemovedWhenApplyingStyle): Supports text-decoration-related elements + +2009-07-23 Jessie Berlin <jberlin@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=27554 + Expose the value of text-overflow in getComputedStyle. + + Test: fast/css/getComputedStyle/getComputedStyle-text-overflow.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::): + Add text-overflow to the list of computedProperties. + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + Return the value of the text-overflow property. + +2009-07-23 Yongjun Zhang <yongjun.zhang@nokia.com> + + Reviewed by Simon Hausmann. + + https://bugs.webkit.org/show_bug.cgi?id=27510 + + [S60 QtWebKit] Don't put some intermediate generated files into the final mmp project + file for linking. This is a temporary workaround for qmake bug in Symbian port, should + be reverted after qmake is fixed. + + * WebCore.pro: + +2009-07-23 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + [V8] Fix an assert in running workers in Chrome. + https://bugs.webkit.org/show_bug.cgi?id=27620 + + The fix is to change V8DOMMap::removeAllDOMObjectsInCurrentThreadHelper + to do not call removeObjectsFromWrapperMap for certain types of DOM + objects that exist only in main thread. + + * bindings/v8/V8DOMMap.cpp: + (WebCore::removeAllDOMObjectsInCurrentThreadHelper): + +2009-07-23 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=27572 + Implement support for background-attachment:local. + + Added new test fast/overflow/overflow-with-local-attachment.html. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseFillProperty): + * css/CSSPrimitiveValueMappings.h: + (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): + (WebCore::CSSPrimitiveValue::operator EFillAttachment): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::mapFillAttachment): + * css/CSSValueKeywords.in: + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintFillLayerExtended): + (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): + * rendering/style/FillLayer.h: + (WebCore::FillLayer::attachment): + (WebCore::FillLayer::setAttachment): + (WebCore::FillLayer::hasFixedImage): + (WebCore::FillLayer::initialFillAttachment): + * rendering/style/RenderStyle.h: + (WebCore::InheritedFlags::backgroundAttachment): + (WebCore::InheritedFlags::maskAttachment): + * rendering/style/RenderStyleConstants.h: + (WebCore::): + +2009-07-23 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + copyInheritableProperties and removeComputedInheritablePropertiesFrom should be deprecated + https://bugs.webkit.org/show_bug.cgi?id=27325 + + This patch deprecates copyInheritableProperties because it has been used for two different purposes: + 1. Calculating the typing style. + 2. Moving HTML subtrees and seeking to remove redundant styles. + These tasks should be broken out into two separate functions. New code should not use this function. + + It deletes removeComputedInheritablePropertiesFrom because it hasn't been used anywhere. + + There is no test since the patch does not change any behavior. + + * css/CSSComputedStyleDeclaration.cpp: removeComputedInheritablePropertiesFrom has been removed + (WebCore::CSSComputedStyleDeclaration::deprecatedCopyInheritableProperties): has been renamed from copyInheritableProperties + * css/CSSComputedStyleDeclaration.h: ditto + * editing/DeleteSelectionCommand.cpp: ditto + (WebCore::removeEnclosingAnchorStyle): ditto + (WebCore::DeleteSelectionCommand::saveTypingStyleState): ditto + * editing/EditCommand.cpp: ditto + (WebCore::EditCommand::styleAtPosition): ditto + * editing/RemoveFormatCommand.cpp: ditto + (WebCore::RemoveFormatCommand::doApply): ditto + * editing/ReplaceSelectionCommand.cpp: ditto + (WebCore::handleStyleSpansBeforeInsertion): ditto + (WebCore::ReplaceSelectionCommand::handleStyleSpans): ditto + * editing/markup.cpp: ditto + (WebCore::removeEnclosingMailBlockquoteStyle): ditto + (WebCore::removeDefaultStyles): ditto + (WebCore::createMarkup): ditto + +2009-07-22 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Simon Fraser. + + Audio element at default width shouldn't have time field. + https://bugs.webkit.org/show_bug.cgi?id=27589 + + * rendering/MediaControlElements.cpp: + (WebCore::MediaControlTimeDisplayElement::setVisible): Make sure we don't + forget to remember the visibility if there is no renderer. + +2009-07-23 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=27598 Clean up the + AccessibilityObject class + + Mostly this is just moving empty stubs into the header rather than + muddying the cpp file with them. A few functions were made pure + virtual. + + * accessibility/AccessibilityObject.cpp: + (WebCore::AccessibilityObject::isARIAControl): + (WebCore::AccessibilityObject::clickPoint): + (WebCore::AccessibilityObject::documentFrameView): + (WebCore::AccessibilityObject::actionVerb): + * accessibility/AccessibilityObject.h: + (WebCore::AccessibilityObject::intValue): + (WebCore::AccessibilityObject::layoutCount): + (WebCore::AccessibilityObject::doAccessibilityHitTest): + (WebCore::AccessibilityObject::focusedUIElement): + (WebCore::AccessibilityObject::firstChild): + (WebCore::AccessibilityObject::lastChild): + (WebCore::AccessibilityObject::previousSibling): + (WebCore::AccessibilityObject::nextSibling): + (WebCore::AccessibilityObject::parentObjectIfExists): + (WebCore::AccessibilityObject::observableObject): + (WebCore::AccessibilityObject::linkedUIElements): + (WebCore::AccessibilityObject::titleUIElement): + (WebCore::AccessibilityObject::ariaRoleAttribute): + (WebCore::AccessibilityObject::isPresentationalChildOfAriaRole): + (WebCore::AccessibilityObject::ariaRoleHasPresentationalChildren): + (WebCore::AccessibilityObject::roleValue): + (WebCore::AccessibilityObject::ariaAccessiblityName): + (WebCore::AccessibilityObject::ariaLabeledByAttribute): + (WebCore::AccessibilityObject::ariaDescribedByAttribute): + (WebCore::AccessibilityObject::accessibilityDescription): + (WebCore::AccessibilityObject::ariaSelectedTextDOMRange): + (WebCore::AccessibilityObject::axObjectCache): + (WebCore::AccessibilityObject::axObjectID): + (WebCore::AccessibilityObject::setAXObjectID): + (WebCore::AccessibilityObject::anchorElement): + (WebCore::AccessibilityObject::actionElement): + (WebCore::AccessibilityObject::boundingBoxRect): + (WebCore::AccessibilityObject::selectedTextRange): + (WebCore::AccessibilityObject::selectionStart): + (WebCore::AccessibilityObject::selectionEnd): + (WebCore::AccessibilityObject::url): + (WebCore::AccessibilityObject::selection): + (WebCore::AccessibilityObject::stringValue): + (WebCore::AccessibilityObject::title): + (WebCore::AccessibilityObject::helpText): + (WebCore::AccessibilityObject::textUnderElement): + (WebCore::AccessibilityObject::text): + (WebCore::AccessibilityObject::textLength): + (WebCore::AccessibilityObject::selectedText): + (WebCore::AccessibilityObject::accessKey): + (WebCore::AccessibilityObject::widget): + (WebCore::AccessibilityObject::widgetForAttachmentView): + (WebCore::AccessibilityObject::setFocused): + (WebCore::AccessibilityObject::setSelectedText): + (WebCore::AccessibilityObject::setSelectedTextRange): + (WebCore::AccessibilityObject::setValue): + (WebCore::AccessibilityObject::setSelected): + (WebCore::AccessibilityObject::makeRangeVisible): + (WebCore::AccessibilityObject::childrenChanged): + (WebCore::AccessibilityObject::addChildren): + (WebCore::AccessibilityObject::hasChildren): + (WebCore::AccessibilityObject::selectedChildren): + (WebCore::AccessibilityObject::visibleChildren): + (WebCore::AccessibilityObject::visiblePositionRange): + (WebCore::AccessibilityObject::visiblePositionRangeForLine): + (WebCore::AccessibilityObject::boundsForVisiblePositionRange): + (WebCore::AccessibilityObject::setSelectedVisiblePositionRange): + (WebCore::AccessibilityObject::visiblePositionForPoint): + (WebCore::AccessibilityObject::nextVisiblePosition): + (WebCore::AccessibilityObject::previousVisiblePosition): + (WebCore::AccessibilityObject::visiblePositionForIndex): + (WebCore::AccessibilityObject::indexForVisiblePosition): + (WebCore::AccessibilityObject::index): + (WebCore::AccessibilityObject::doAXRangeForLine): + (WebCore::AccessibilityObject::doAXRangeForIndex): + (WebCore::AccessibilityObject::doAXStringForRange): + (WebCore::AccessibilityObject::doAXBoundsForRange): + (WebCore::AccessibilityObject::updateBackingStore): + +2009-07-23 Brian Weinstein <bweinstein@apple.com> + + Reviewed by David Hyatt. + + Fix of <rdar://4877658> Dragging from the area between the horizontal/vertical scrollbars when status bar is showing starts a selection and autoscroll. + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + * platform/ScrollView.cpp: + (WebCore::ScrollView::wheelEvent): + * platform/ScrollView.h: + +2009-07-23 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=27581 + Drop the prefix from the box-shadow property. + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::ShadowParseContext::commitLength): + (WebCore::cssPropertyID): + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * page/animation/AnimationBase.cpp: + (WebCore::ensurePropertyMap): + +2009-07-22 Viet-Trung Luu <viettrungluu@gmail.com> + + Reviewed by David Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=27289 + When a mouse click occurs on a scrollbar without a preceding mouse move + onto it, the release isn't handled correctly (since + EventHandler::m_lastScrollbarUnderMouse isn't set on mouse down, but + only on mouse move). (Side comment: That scrollbar-handling code + in EventHandler is ugly. It should be fixed properly.) + + Tests: scrollbars/scrollbar-miss-mousemove.html + scrollbars/scrollbar-miss-mousemove-disabled.html + + * page/EventHandler.cpp: + (WebCore::EventHandler::handleMousePressEvent): + (WebCore::EventHandler::handleMouseMoveEvent): + (WebCore::EventHandler::updateLastScrollbarUnderMouse): + * page/EventHandler.h: + +2009-07-23 Mike Fenton <mike.fenton@torchmobile.com> + + Reviewed by David Levin. + + Update WebCore/page/BarInfo.cpp to conform to WebKit + Style Guidelines as identified by cpplint.py. + https://bugs.webkit.org/show_bug.cgi?id=27606 + + * page/BarInfo.cpp: + (WebCore::BarInfo::visible): + +2009-07-23 Mike Fenton <mike.fenton@torchmobile.com> + + Reviewed by David Levin. + + Update WebCore/page/Console.cpp to conform to WebKit + Style Guidelines as identified by cpplint.py. + https://bugs.webkit.org/show_bug.cgi?id=27606 + + * page/Console.cpp: + (WebCore::printMessageSourceAndLevelPrefix): + (WebCore::Console::profile): + (WebCore::Console::time): + +2009-07-23 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Holger Freyther. + + Fix crashes with the QObject bindings after garbage collection. + + There is one QtInstance per wrapped QObject, and that QtInstance keeps + references to cached JSObjects for slots. When those objects get + deleted due to GC, then they becoming dangling pointers. + + When a cached member dies, it is now removed from the QtInstance's + cache. + + As we cannot track the lifetime of the children, we have to remove + them from QtInstance alltogether. They are not cached and were + only used for mark(), but we _want_ them to be subject to gc. + + * bridge/qt/qt_instance.cpp: + (JSC::Bindings::QtInstance::~QtInstance): Minor coding style cleanup, + use qDeleteAll(). + (JSC::Bindings::QtInstance::removeCachedMethod): New function, to + clean m_methods and m_defaultMethod. + (JSC::Bindings::QtInstance::mark): Avoid marking already marked objects. + (JSC::Bindings::QtField::valueFromInstance): Don't save children for + marking. + * bridge/qt/qt_instance.h: Declare removeCachedMethod. + * bridge/qt/qt_runtime.cpp: + (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod): Call removeCachedMethod + with this on the instance. + +2009-07-23 Xan Lopez <xlopez@igalia.com> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=27599 + 'const unsigned' in return value + + Remove const modifier from unsigned return value, as it does not + make sense. + + * dom/ErrorEvent.h: + +2009-07-22 Jens Alfke <snej@chromium.org> + + Reviewed by David Levin. + + Bug 22784: Improve keyboard navigation of Select elements. + Home/End and PageUp/PageDn buttons do not do anything in drop down lists, + on non-Mac platforms. + https://bugs.webkit.org/show_bug.cgi?id=22784 + http://code.google.com/p/chromium/issues/detail?id=4576 + + New test: LayoutTests/fast/forms/select-popup-pagekeys.html + + * dom/SelectElement.cpp: + (WebCore::nextValidIndex): + New utility fn for traversing items of a select's list. + (WebCore::SelectElement::menuListDefaultEventHandler): + Added code to handle Home/End and PageUp/PageDn when ARROW_KEYS_POP_MENU is false. + +2009-07-23 Xan Lopez <xlopez@igalia.com> + + Reviewed by Mark Rowe. + + Fix a couple of compiler warnings. + + * platform/graphics/cairo/ImageBufferCairo.cpp: + (copySurface): + * platform/graphics/gtk/SimpleFontDataGtk.cpp: + (WebCore::SimpleFontData::containsCharacters): + +2009-07-22 Simon Hausmann <simon.hausmann@nokia.com> + + Rubber-stamped by David Levin. + + Enable HTML5 Datagrid defines for the Qt build. + + * WebCore.pro: + +2009-07-22 Adam Barth <abarth@webkit.org> + + Reviewed by David Levin. + + [V8] Make Node wrappers go fast + https://bugs.webkit.org/show_bug.cgi?id=27597 + + Profiles indicate we're spending a lot of time asking whether we're on + the main thread when looking up DOM wrappers for Nodes, but there isn't + much point in doing that work because Nodes only exist on the main + thread. I've also added an assert to keep us honest in this regard. + + * bindings/v8/V8DOMMap.cpp: + (WebCore::): + (WebCore::getDOMNodeMap): + (WebCore::DOMData::getCurrent): + (WebCore::DOMData::getCurrentMainThread): + +2009-07-22 Adam Barth <abarth@webkit.org> + + Reviewed by Alexey Proskuryakov. + + Remove unneeded virtual destructor from ScriptSourceProvider + https://bugs.webkit.org/show_bug.cgi?id=27563 + + * bindings/js/ScriptSourceProvider.h: + +2009-07-22 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + execCommand('underline' / 'strikeThrough') doesn't work properly with multiple styles in text-decoration + https://bugs.webkit.org/show_bug.cgi?id=27476 + + executeStrikethrough and executeUnderline were toggling between "line-through" / "underline" and "none". + This patch adds executeToggleStyleInList that toggles a style in CSSValueList instead of toggling the entire value. + It modifies CSSComputedStyleDeclaration to return CSSValueList instead of CSSPrimitiveValue for text decorations, + and adds removeAll member function to CSSValueList. + + Tests: editing/execCommand/toggle-text-decorations.html + fast/css/getComputedStyle/getComputedStyle-text-decoration.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::renderTextDecorationFlagsToCSSValue): Creates a CSSValueList + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Returns a CSSValueList instead of CSSValue + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Text decorations are space separated instead of comma separated + * css/CSSValueList.cpp: + (WebCore::CSSValueList::removeAll): Removes all values that match the specified value + * css/CSSValueList.h: + * editing/EditorCommand.cpp: + (WebCore::applyCommandToFrame): Apply style to a frame using specified command + (WebCore::executeApplyStyle): Uses applyCommandToFrame + (WebCore::executeToggleStyleInList): Uses applyCommandToFrame + (WebCore::executeToggleStyle): Toggles a style in CSSValueList + (WebCore::executeStrikethrough): Uses executeToggleStyleInList + (WebCore::executeUnderline): Uses executeToggleStyleInList + +2009-07-22 Daniel Bates <dbates@intudata.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=27174 + And + https://bugs.webkit.org/show_bug.cgi?id=26938 + + Code cleanup. Implements support for detecting attacks transformed by + PHP Magic Quotes/PHP addslashes(). + + Tests: http/tests/security/xssAuditor/script-tag-addslashes-backslash.html + http/tests/security/xssAuditor/script-tag-addslashes-double-quote.html + http/tests/security/xssAuditor/script-tag-addslashes-null-char.html + http/tests/security/xssAuditor/script-tag-addslashes-single-quote.html + + * page/XSSAuditor.cpp: + (WebCore::isInvalidCharacter): + (WebCore::XSSAuditor::canEvaluate): + (WebCore::XSSAuditor::canEvaluateJavaScriptURL): + (WebCore::XSSAuditor::canLoadObject): + (WebCore::XSSAuditor::normalize): Decodes HTML entities, removes backslashes, + and removes control characters that could otherwise cause a discrepancy between + the source code of a script and the outgoing HTTP parameters. + (WebCore::XSSAuditor::decodeURL): + (WebCore::XSSAuditor::decodeHTMLEntities): + (WebCore::XSSAuditor::findInRequest): + * page/XSSAuditor.h: + +2009-07-22 Oliver Hunt <oliver@apple.com> + + Reviewed by Adele Peterson. + + Null deref in JSObject::mark due to null xhr wrapper + https://bugs.webkit.org/show_bug.cgi?id=27565 + + Make event target binding for appcache and xhr behave in the same way as + it does for all other events. + + No test as I couldn't make a testcase which was remotely reliable. + + * bindings/js/JSEventTarget.cpp: + (WebCore::toJS): + +2009-07-22 Mads Ager <ager@chromium.org> + + Reviewed by David Levin. + + Inform V8 of the amount of WebCore string memory it is keeping alive. + https://bugs.webkit.org/show_bug.cgi?id=27537 + + V8 uses external strings that are backed by WebCore strings. Since + the external strings themselves are small, V8 has no way of + knowing how much memory it is actually holding on to. With this + change, we inform V8 of the amount of WebCore string data it is + holding on to with external strings. + + * bindings/v8/V8Binding.cpp: + (WebCore::WebCoreStringResource::WebCoreStringResource): + (WebCore::WebCoreStringResource::~WebCoreStringResource): + +2009-07-22 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + https://bugs.webkit.org/show_bug.cgi?id=27562 + Add the finalized versions of background-clip and background-origin. Remove background-clip from + the background shorthand and have it be auto-set based off background-origin's value. + + Three new tests added in fast/backgrounds/size + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::): + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + * css/CSSMutableStyleDeclaration.cpp: + (WebCore::CSSMutableStyleDeclaration::getPropertyValue): + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::parseFillShorthand): + (WebCore::CSSParser::parseFillProperty): + * css/CSSPropertyLonghand.cpp: + (WebCore::initShorthandMap): + * css/CSSPropertyNames.in: + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): + * css/CSSValueKeywords.in: + +2009-07-22 Jens Alfke <snej@chromium.org> + + Reviewed by Darin Fisher. + + Hook up V8 bindings for DataGrid elements. + https://bugs.webkit.org/show_bug.cgi?id=27383 + http://code.google.com/p/chromium/issues/detail?id=16730 + + Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/* + to handle exceptions, check appropriate JS prototypes, and + test column-list's item() method as well as array-indexing. + + * WebCore.gypi: Added new source files. + * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes. + * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers. + * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates. + (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template. + * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource) + (WebCore::V8DataGridDataSource::V8DataGridDataSource): + (WebCore::V8DataGridDataSource::~V8DataGridDataSource): + * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource) + (WebCore::V8DataGridDataSource::create): + (WebCore::V8DataGridDataSource::isJSDataGridDataSource): + (WebCore::V8DataGridDataSource::jsDataSource): + (WebCore::asV8DataGridDataSource): + * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE". + * bindings/v8/V8Index.h: Conditionalize datagrid stuff. + * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize. + * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Added. + * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors. + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + +2009-07-22 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + pushDownTextDecorationStyleAroundNode needs clean up + https://bugs.webkit.org/show_bug.cgi?id=27556 + + Cleaned up. pushDownTextDecorationStyleAroundNode traverses tree vertically from highestAncestor to targetNode + While traversing, it will apply the specified style to all nodes but targetNode. + i.e. the style is applies to all ancestor nodes and their siblings of targetNode. + + * editing/ApplyStyleCommand.cpp: + (WebCore::ApplyStyleCommand::pushDownTextDecorationStyleAroundNode): Cleaned up and added comments + * editing/ApplyStyleCommand.h: Updated prototype + +2009-07-22 Peter Kasting <pkasting@google.com> + + Reviewed by David Kilzer. + + https://bugs.webkit.org/show_bug.cgi?id=27323 + Handle any type of line endings in WebCore/css/*CSSPropertyNames.in. + + * DerivedSources.make: + * css/makeprop.pl: + * css/makevalues.pl: + +2009-07-22 Paul Godavari <paul@chromium.org> + + Reviewed by Darin Fisher. + + Chromium has a build break after removal of JSRGBColor bindings + https://bugs.webkit.org/show_bug.cgi?id=27548 + + Fix a build break in Chromium V8 after the JSRGBColor bindings change: + https://bugs.webkit.org/show_bug.cgi?id=27242 + + * bindings/scripts/CodeGeneratorV8.pm: + +2009-07-22 Adam Langley <agl@google.com> + + Reviewed by Darin Fisher. + + Chromium Linux: add static functions to FontPlatformData which allow + for setting the global font rendering preferences. + + https://bugs.webkit.org/show_bug.cgi?id=27513 + http://code.google.com/p/chromium/issues/detail?id=12179 + + This should not affect any layout tests. + + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::setHinting): + (WebCore::FontPlatformData::setAntiAlias): + (WebCore::FontPlatformData::setSubpixelGlyphs): + (WebCore::FontPlatformData::setupPaint): + * platform/graphics/chromium/FontPlatformDataLinux.h: + +2009-07-22 Mikhail Naganov <mnaganov@chromium.org> + + Reviewed by Timothy Hatcher. + + Move Inspector panels creation into a function to make possible introducing + custom panels. + + * inspector/front-end/inspector.js: + (WebInspector._createPanels): + (WebInspector.loaded): + +2009-07-22 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + WebInspector: Print console command message upon evaluate + selection request; Handle errors in evaluation request + properly. + + https://bugs.webkit.org/show_bug.cgi?id=27535 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame): + +2009-07-22 Xan Lopez <xlopez@igalia.com> + + Attempt to fix the GTK+ build. + + * GNUmakefile.am: + +2009-07-21 Simon Hausmann <simon.hausmann@nokia.com> + + Fix the Qt build. + + * WebCore.pro: Add RGBColor.cpp to the build, remove JSRGBColor. + +2009-07-21 Daniel Bates <dbates@intudata.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=27494 + + Fixes an issue that can cause a crash or unexpected behavior when calling + WebCore::ScriptSourceCode::source on a cached script. + + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/CachedScriptSourceProvider.h: Modified to inherit from + WebCore::ScriptSourceCode. + (WebCore::CachedScriptSourceProvider::source): + (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider): + * bindings/js/ScriptSourceCode.h: + (WebCore::ScriptSourceCode::ScriptSourceCode): Separated out source provider and + rewrote to use WebCore::ScriptSourceProvider. + (WebCore::ScriptSourceCode::source): + * bindings/js/ScriptSourceProvider.h: Added. + (WebCore::ScriptSourceProvider::ScriptSourceProvider): + (WebCore::ScriptSourceProvider::~ScriptSourceProvider): + * bindings/js/StringSourceProvider.h: Modified to inherit from + WebCore::ScriptSourceCode. + (WebCore::StringSourceProvider::StringSourceProvider): + +2009-07-21 Sam Weinig <sam@webkit.org> + + Another attempt to fix the Windows build. + + * WebCore.vcproj/WebCore.vcproj: + +2009-07-21 Sam Weinig <sam@webkit.org> + + Attempt to fix the Windows build. + + * DerivedSources.cpp: + +2009-07-21 Sam Weinig <sam@webkit.org> + + Attempt to fix the GTK build. + + * GNUmakefile.am: + +2009-07-21 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Autogenerate Objective-C binding implementation for RGBColor. + + No functionality change. + + * WebCore.xcodeproj/project.pbxproj: + * bindings/objc/DOMRGBColor.mm: Removed. + * bindings/scripts/CodeGeneratorObjC.pm: Add logic to convert from + WebCore::Color to NSColor*. + * css/RGBColor.idl: + +2009-07-21 Sam Weinig <sam@webkit.org> + + Reviewed by Dan Bernstein. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=27242 + JSC bindings should use an auto-bound RGBColor class instead of hand-rolled JSRGBColor + + Move the JSC and Objective-C bindings onto using the RGBColor object instead + of just an unsigned int. The JSC bindings are now completely autogenerated for + this class. (Also removes the last lut from WebCore). + + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSRGBColor.cpp: Removed. + * bindings/js/JSRGBColor.h: Removed. + * bindings/objc/DOM.mm: + (-[DOMRGBColor _color]): + * bindings/objc/DOMRGBColor.mm: + (-[DOMRGBColor dealloc]): + (-[DOMRGBColor finalize]): + (-[DOMRGBColor red]): + (-[DOMRGBColor green]): + (-[DOMRGBColor blue]): + (-[DOMRGBColor alpha]): + (-[DOMRGBColor color]): + * bindings/scripts/CodeGenerator.pm: + * bindings/scripts/CodeGeneratorJS.pm: + * bindings/scripts/CodeGeneratorObjC.pm: + * css/CSSParser.cpp: + (WebCore::CSSParser::parseColor): + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::getRGBColorValue): + * css/CSSPrimitiveValue.h: + (WebCore::CSSPrimitiveValue::getRGBA32Value): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::getColorFromPrimitiveValue): + * css/RGBColor.cpp: + (WebCore::RGBColor::alpha): + * css/RGBColor.h: + (WebCore::RGBColor::color): + (WebCore::RGBColor::RGBColor): + * css/RGBColor.idl: + * page/DOMWindow.idl: + * svg/SVGColor.cpp: + (WebCore::SVGColor::rgbColor): + * svg/SVGColor.h: + +2009-07-21 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Implement AbstractWorker::dispatchScriptErrorEvent by generating an ErrorEvent. + https://bugs.webkit.org/show_bug.cgi?id=27515 + + * workers/AbstractWorker.cpp: + (WebCore::AbstractWorker::dispatchScriptErrorEvent): + +2009-07-21 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Move m_context out of generator into a superclass + https://bugs.webkit.org/show_bug.cgi?id=27521 + + Mostly this is removing code from CodeGeneratorJS + and instead using a DOMObjectWithSVGContext superclass in JSDOMBinding.h. + + DOMObjectWithSVGContext.h is its own file so that WebKit doesn't need to + know about SVGElement.h (WebKit includes JSDOMBinding.h for some reason). + + I also removed context pointer from SVGZoomEvent since it was never used. + + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * bindings/js/DOMObjectWithSVGContext.h: Added. + (WebCore::DOMObjectWithSVGContext::context): + (WebCore::DOMObjectWithSVGContext::DOMObjectWithSVGContext): + * bindings/js/JSDOMBinding.h: + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * bindings/scripts/CodeGeneratorJS.pm: + +2009-07-21 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + REGRESSION (r46142): editing/execCommand/19087.html & editing/execCommand/19653-1.html fail in Windows build + https://bugs.webkit.org/show_bug.cgi?id=27480 + + Because m_anchorType : 2 is treated as a signed integer by cl.exe, anchorType() wasn't returning the correct value. + We made m_anchorType unsigned so that anchorType() returns the correct value. + + * dom/Position.h: + (WebCore::Position::anchorType): statically cast to AnchorType + +2009-07-21 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + [V8] Add V8 bindings for onerror in WorkerContext. + https://bugs.webkit.org/show_bug.cgi?id=27518 + + * bindings/v8/custom/V8CustomBinding.h: + * bindings/v8/custom/V8WorkerContextCustom.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + +2009-07-21 Jian Li <jianli@chromium.org> + + Fix the incorrect patch being landed for bug 27516 that has already been reviewed. + https://bugs.webkit.org/show_bug.cgi?id=27516 + + * workers/WorkerContext.h: + (WebCore::WorkerContext::setOnerror): + (WebCore::WorkerContext::onerror): + * workers/WorkerContext.idl: + +2009-07-21 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Add onerror to WorkerContext. + https://bugs.webkit.org/show_bug.cgi?id=27516 + + * bindings/js/JSWorkerContextCustom.cpp: + (WebCore::JSWorkerContext::mark): + * workers/WorkerContext.h: + (WebCore::WorkerContext::setOnerror): + (WebCore::WorkerContext::onerror): + * workers/WorkerContext.idl: + +2009-07-21 Yong Li <yong.li@torchmobile.com> + + Reviewed by George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=27509 + Add font-related files for the WinCE port. + + Written by Yong Li <yong.li@torchmobile.com> + + * platform/graphics/wince/FontCacheWince.cpp: Added. + * platform/graphics/wince/FontCustomPlatformData.cpp: Added. + * platform/graphics/wince/FontCustomPlatformData.h: Added. + * platform/graphics/wince/FontPlatformData.cpp: Added. + * platform/graphics/wince/FontPlatformData.h: Added. + * platform/graphics/wince/FontWince.cpp: Added. + * platform/graphics/wince/GlyphPageTreeNodeWince.cpp: Added. + * platform/graphics/wince/SimpleFontDataWince.cpp: Added. + +2009-07-21 Kevin Ollivier <kevino@theolliviers.com> + + Fix the Windows build, and update the comment on top now that wx uses WebCorePrefix.h too. + + * WebCorePrefix.h: + +2009-07-21 Kevin Ollivier <kevino@theolliviers.com> + + WebCorePrefix.h build fixes for non-Mac and wx / CURL builds. + + * WebCorePrefix.h: + +2009-07-21 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + All DOMConstructorObjects should hold a pointer to the JSDOMGlobalObject + https://bugs.webkit.org/show_bug.cgi?id=27478 + + This is just moving code. + I've added two new classes: DOMObjectWithGlobalPointer and DOMConstructorWithDocument. + + DOMObjectWithGlobalPointer is a new baseclass for DOMConstructorObject. + (It's a baseclass because eventually all DOMObjects will have a global pointer, but + I'll be moving them onto DOMObjectWithGlobalPointer in stages.) + + DOMConstructorWithDocument is a new baseclass for the 3 constructor objects + which require a backpointer to the Document to function. I made this a subclass of + DOMConstructorObject to make clear that most constructors can hold no-such assumptions + about having a back-pointer to the Document (since many constructors can be used from Workers). + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + * bindings/js/JSAudioConstructor.h: + * bindings/js/JSDOMBinding.h: + (WebCore::DOMObjectWithGlobalPointer::globalObject): + (WebCore::DOMObjectWithGlobalPointer::scriptExecutionContext): + (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer): + (WebCore::DOMObjectWithGlobalPointer::mark): + (WebCore::DOMConstructorObject::DOMConstructorObject): + (WebCore::DOMConstructorWithDocument::document): + (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument): + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + * bindings/js/JSImageConstructor.h: + * bindings/js/JSMessageChannelConstructor.cpp: + (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): + * bindings/js/JSMessageChannelConstructor.h: + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): + * bindings/js/JSOptionConstructor.h: + * bindings/js/JSWebKitCSSMatrixConstructor.cpp: + (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): + * bindings/js/JSWebKitPointConstructor.cpp: + (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): + * bindings/js/JSWorkerConstructor.cpp: + (WebCore::JSWorkerConstructor::JSWorkerConstructor): + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): + * bindings/js/JSXMLHttpRequestConstructor.h: + * bindings/js/JSXSLTProcessorConstructor.cpp: + (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): + +2009-07-21 James Hawkins <jhawkins@google.com> + + Reviewed by David Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=27453 + Initialize isInt when creating a CSSParserValue for a function. + + No change in behavior, so no tests. + + * css/CSSFunctionValue.cpp: + (WebCore::CSSFunctionValue::parserValue): + +2009-07-20 Jens Alfke <snej@google.com> + + Reviewed by David Levin. + + Bug 27448: [Chromium] On Mac, arrow keys should cause Select to pop up its menu. + Mac build of Chromium doesn't follow Mac HI guidelines to pop up the menu when + an arrow key is pressed. + https://bugs.webkit.org/show_bug.cgi?id=27448 + + No new tests; affects only control response to user input. + + * dom/SelectElement.cpp: + Changed definition of ARROW_KEYS_POP_MENU to make it true in Mac Chromium, + so it will behave compatibly with Mac HI guidelines on pop-up menus. + It's not possible to have PLATFORM(MAC) be true in the Mac build of Chromium. + +2009-07-21 Paul Godavari <paul@chromium.org> + + Reviewed by Eric Seidel. + + [Chromium] popup menus can crash when the selected index is -1 + https://bugs.webkit.org/show_bug.cgi?id=27275 + + Crash reports from users indicate a crash can occur when PopupListBox::isSelectableItem + is passed an index of less than 0 (which is possible under certain circumstances). This + change prevents such a value from causing a crash by enforcing valid index values passed + by all callers of isSelectableItem. isSelectableItem is now a private method of + PopupListBox, as there are no external callers. + + Also cleaned up a small amount of code for style and grammar errors. + + No automatic test is provided since we cannot send events to the child window used by + the popup menu. + + * platform/chromium/PopupMenuChromium.cpp: + (WebCore::PopupListBox::acceptIndex): + (WebCore::PopupListBox::selectIndex): + (WebCore::PopupListBox::isSelectableItem): + (WebCore::PopupListBox::selectPreviousRow): + +2009-07-21 Kevin Ollivier <kevino@theolliviers.com> + + wx build fix. Don't include winsock2.h on wx, it conflicts with wx's inclusion of winsock. + + * platform/network/curl/ResourceHandleManager.h: + +2009-07-21 Adam Roben <aroben@apple.com> + + Roll out r46153, r46154, and r46155 + + These changes were causing build failures and assertion failures on + Windows. + + * ForwardingHeaders/wtf/PossiblyNull.h: Removed. + * platform/graphics/cg/ImageBufferCG.cpp: + +2009-07-21 Jian Li <jianli@chromium.org> + + Reviewed by Eric Seidel. + + Implement ErrorEvent API. + https://bugs.webkit.org/show_bug.cgi?id=27387 + + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * bindings/js/JSEventCustom.cpp: + (WebCore::toJS): + * dom/ErrorEvent.cpp: Added. + * dom/ErrorEvent.h: Added. + * dom/ErrorEvent.idl: Added. + * dom/Event.cpp: + (WebCore::Event::isErrorEvent): + * dom/Event.h: + +2009-07-21 Priit Laes <plaes@plaes.org> + + Reviewed by Gustavo Noronha. + + [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word + https://bugs.webkit.org/show_bug.cgi?id=24602 + + Remove workaround required for <=libsoup-2.26.1 + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::restartedCallback): + +2009-07-21 Adam Barth <abarth@webkit.org> + + Reviewed by David Levin. + + V8IsolatedWorld keeps a handle to a disposed context + https://bugs.webkit.org/show_bug.cgi?id=27397 + + Make a copy of the context handle before making it weak. We don't want + to make the original handle weak because we want it to survive for the + length of the V8IsolatedWorld::evaluate method. + + * bindings/v8/V8IsolatedWorld.cpp: + (WebCore::V8IsolatedWorld::V8IsolatedWorld): + +2009-07-21 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + Web Inspector: Add ability to evaluate selection while on break point. + + https://bugs.webkit.org/show_bug.cgi?id=27502 + + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._loaded): + (WebInspector.SourceFrame.prototype._documentKeyDown): + +2009-07-21 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + WebInspector: Special case ConsolePanel opening since + it is a 'fast view'. + + https://bugs.webkit.org/show_bug.cgi?id=27493 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::setWindowVisible): + +2009-07-20 Kenneth Rohde Christiansen <kenneth@webkit.org> + + Reviewed by Eric Seidel. + + Fix Qt code to follow the WebKit Coding Style. + + * platform/graphics/qt/FontQt.cpp: + (WebCore::qstring): + (WebCore::fixSpacing): + * platform/graphics/qt/FontQt43.cpp: + (WebCore::generateComponents): + (WebCore::Font::offsetForPositionForComplexText): + (WebCore::cursorToX): + * platform/graphics/qt/GradientQt.cpp: + (WebCore::Gradient::platformGradient): + * platform/graphics/qt/GraphicsContextQt.cpp: + (WebCore::toQtFillRule): + (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate): + (WebCore::GraphicsContext::~GraphicsContext): + (WebCore::GraphicsContext::getCTM): + (WebCore::GraphicsContext::concatCTM): + (WebCore::GraphicsContext::getWindowsContext): + * platform/graphics/qt/IconQt.cpp: + (WebCore::Icon::paint): + * platform/graphics/qt/ImageDecoderQt.cpp: + (WebCore::ImageDecoderQt::ReadContext::read): + (WebCore::ImageDecoderQt::ReadContext::readImageLines): + (WebCore::ImageDecoderQt::setData): + * platform/graphics/qt/ImageQt.cpp: + (WebCore::Image::drawPattern): + (WebCore::BitmapImage::draw): + * platform/graphics/qt/ImageSourceQt.cpp: + (WebCore::ImageSource::frameDurationAtIndex): + (WebCore::ImageSource::frameHasAlphaAtIndex): + (WebCore::ImageSource::frameIsCompleteAtIndex): + * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp: + (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): + (WebCore::MediaPlayerPrivate::create): + (WebCore::MediaPlayerPrivate::bytesLoaded): + (WebCore::MediaPlayerPrivate::updateStates): + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::addArcTo): + (WebCore::Path::isEmpty): + * platform/graphics/qt/TransformationMatrixQt.cpp: + (WebCore::TransformationMatrix::operator QTransform): + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::ClipboardQt): + (WebCore::ClipboardQt::clearData): + (WebCore::ClipboardQt::clearAllData): + (WebCore::ClipboardQt::getData): + (WebCore::ClipboardQt::setData): + (WebCore::ClipboardQt::setDragImage): + (WebCore::getCachedImage): + (WebCore::ClipboardQt::declareAndWriteDragImage): + (WebCore::ClipboardQt::writeURL): + (WebCore::ClipboardQt::writeRange): + (WebCore::ClipboardQt::hasData): + * platform/qt/ClipboardQt.h: + * platform/qt/ContextMenuItemQt.cpp: + (WebCore::ContextMenuItem::action): + (WebCore::ContextMenuItem::title): + * platform/qt/CursorQt.cpp: + (WebCore::westPanningCursor): + (WebCore::notAllowedCursor): + * platform/qt/DragDataQt.cpp: + (WebCore::DragData::containsFiles): + (WebCore::DragData::asFilenames): + (WebCore::DragData::asPlainText): + (WebCore::DragData::asFragment): + * platform/qt/DragImageQt.cpp: + (WebCore::createDragImageIconForCachedImage): + * platform/qt/FileSystemQt.cpp: + (WebCore::getFileSize): + (WebCore::unloadModule): + * platform/qt/Localizations.cpp: + (WebCore::contextMenuItemTagShowSpellingPanel): + * platform/qt/MIMETypeRegistryQt.cpp: + (WebCore::): + * platform/qt/PasteboardQt.cpp: + (WebCore::Pasteboard::Pasteboard): + (WebCore::Pasteboard::writeSelection): + (WebCore::Pasteboard::plainText): + * platform/qt/PlatformKeyboardEventQt.cpp: + (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): + * platform/qt/PlatformMouseEventQt.cpp: + (WebCore::PlatformMouseEvent::PlatformMouseEvent): + * platform/qt/PopupMenuQt.cpp: + (WebCore::PopupMenu::populate): + * platform/qt/RenderThemeQt.cpp: + (WebCore::RenderThemeQt::fallbackStyle): + (WebCore::inflateButtonRect): + (WebCore::RenderThemeQt::computeSizeBasedOnStyle): + (WebCore::RenderThemeQt::paintButton): + (WebCore::RenderThemeQt::paintMenuList): + (WebCore::RenderThemeQt::applyTheme): + (WebCore::WorldMatrixTransformer::WorldMatrixTransformer): + (WebCore::RenderThemeQt::paintMediaBackground): + (WebCore::RenderThemeQt::paintMediaFullscreenButton): + * platform/qt/RenderThemeQt.h: + * platform/qt/ScreenQt.cpp: + (WebCore::screenRect): + (WebCore::usableScreenRect): + * platform/qt/ScrollbarQt.cpp: + (WebCore::Scrollbar::contextMenu): + * platform/qt/ScrollbarThemeQt.cpp: + (WebCore::scPart): + (WebCore::scrollbarPart): + * platform/qt/ScrollbarThemeQt.h: + * platform/qt/SharedBufferQt.cpp: + (WebCore::SharedBuffer::createWithContentsOfFile): + * platform/qt/TemporaryLinkStubs.cpp: + (PluginDatabase::defaultPluginDirectories): + (PluginDatabase::getPluginPathsInDirectories): + (PluginDatabase::isPreferredPluginDirectory): + (WebCore::getSupportedKeySizes): + (WebCore::signedPublicKeyAndChallengeString): + (WebCore::userIdleTime): + (WebCore::prefetchDNS): + * platform/text/qt/StringQt.cpp: + (WebCore::String::String): + * platform/text/qt/TextBoundaries.cpp: + * platform/text/qt/TextBreakIteratorQt.cpp: + (WebCore::TextBreakIterator::following): + (WebCore::TextBreakIterator::preceding): + (WebCore::WordBreakIteratorQt::first): + (WebCore::WordBreakIteratorQt::next): + (WebCore::WordBreakIteratorQt::previous): + (WebCore::CharBreakIteratorQt::first): + (WebCore::CharBreakIteratorQt::next): + (WebCore::CharBreakIteratorQt::previous): + (WebCore::characterBreakIterator): + * plugins/qt/PluginPackageQt.cpp: + (WebCore::PluginPackage::fetchInfo): + * plugins/qt/PluginViewQt.cpp: + (WebCore::PluginView::userAgentStatic): + (WebCore::PluginView::handlePostReadFile): + (WebCore::PluginView::init): + +2009-07-21 Maxime Simon <simon.maxime@gmail.com> + + Reviewed by David Levin. + + Added a first bunch of Haiku-specific files for WebCore. + https://bugs.webkit.org/show_bug.cgi?id=26988 + + * platform/haiku/ClipboardHaiku.cpp: Added. + (WebCore::ClipboardHaiku::ClipboardHaiku): + (WebCore::ClipboardHaiku::clearData): + (WebCore::ClipboardHaiku::clearAllData): + (WebCore::ClipboardHaiku::getData): + (WebCore::ClipboardHaiku::setData): + (WebCore::ClipboardHaiku::types): + (WebCore::ClipboardHaiku::files): + (WebCore::ClipboardHaiku::dragLocation): + (WebCore::ClipboardHaiku::dragImage): + (WebCore::ClipboardHaiku::setDragImage): + (WebCore::ClipboardHaiku::dragImageElement): + (WebCore::ClipboardHaiku::setDragImageElement): + (WebCore::ClipboardHaiku::createDragImage): + (WebCore::ClipboardHaiku::declareAndWriteDragImage): + (WebCore::ClipboardHaiku::writeURL): + (WebCore::ClipboardHaiku::writeRange): + (WebCore::ClipboardHaiku::hasData): + * platform/haiku/ClipboardHaiku.h: Added. + (WebCore::ClipboardHaiku::create): + (WebCore::ClipboardHaiku::~ClipboardHaiku): + * platform/haiku/CookieJarHaiku.cpp: Added. + (WebCore::setCookies): + (WebCore::cookies): + (WebCore::cookiesEnabled): + * platform/haiku/CursorHaiku.cpp: Added. + (WebCore::Cursor::Cursor): + (WebCore::Cursor::~Cursor): + (WebCore::Cursor::operator=): + (WebCore::pointerCursor): + (WebCore::moveCursor): + (WebCore::crossCursor): + (WebCore::handCursor): + (WebCore::iBeamCursor): + (WebCore::waitCursor): + (WebCore::helpCursor): + (WebCore::eastResizeCursor): + (WebCore::northResizeCursor): + (WebCore::northEastResizeCursor): + (WebCore::northWestResizeCursor): + (WebCore::southResizeCursor): + (WebCore::southEastResizeCursor): + (WebCore::southWestResizeCursor): + (WebCore::westResizeCursor): + (WebCore::northSouthResizeCursor): + (WebCore::eastWestResizeCursor): + (WebCore::northEastSouthWestResizeCursor): + (WebCore::northWestSouthEastResizeCursor): + (WebCore::columnResizeCursor): + (WebCore::rowResizeCursor): + (WebCore::verticalTextCursor): + (WebCore::cellCursor): + (WebCore::contextMenuCursor): + (WebCore::noDropCursor): + (WebCore::copyCursor): + (WebCore::progressCursor): + (WebCore::aliasCursor): + (WebCore::noneCursor): + (WebCore::notAllowedCursor): + (WebCore::zoomInCursor): + (WebCore::zoomOutCursor): + (WebCore::grabCursor): + (WebCore::grabbingCursor): + +2009-07-21 Albert Astals Cid <aacid@kde.org> + + Reviewed by Tor Arne Vestbø. + + Change #error line not to have a ' (single quote) + + * DerivedSources.cpp: + +2009-07-21 Roland Steiner <rolandsteiner@google.com> + + Reviewed by David Levin. + + Add ENABLE_RUBY to list of build options + https://bugs.webkit.org/show_bug.cgi?id=27324 + + Added flag ENABLE_RUBY: + + * Configurations/FeatureDefines.xcconfig: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.pro: + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.vcproj/build-generated-files.sh: + +2009-07-21 James Hawkins <jhawkins@google.com> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=27467 + Return an empty path in PlatformContextSkia::currentPathInLocalCoordinates + if matrix.invert() fails. This prevents the use of an uninitialized + value in inverseMatrix. + + No new tests added. Run + LayoutTests/svg/dynamic-updates/SVGMarkerElement-dom-markerHeight-attr.html + under valgrind and notice there are no errors. + + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::currentPathInLocalCoordinates): + +2009-07-21 Stephen White <senorblanco@chromium.org> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=27388 + + Fix dotted and dashed borders on Chromium/skia. This follows + the logic in the Cg path, so results are much closer to Safari now + (some tests won't be exactly the same due to font layout differences). + + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::drawLine): + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::setupPaintForStroking): + +2009-07-20 Oliver Hunt <oliver@apple.com> + + Reviewed by Gavin Barraclough. + + Make it harder to misuse try* allocation routines + https://bugs.webkit.org/show_bug.cgi?id=27469 + + Add forwarding header for PossiblyNull type, and add missing null check + to ImageBuffer creation. + + * ForwardingHeaders/wtf/PossiblyNull.h: Added. + * platform/graphics/cg/ImageBufferCG.cpp: + (WebCore::ImageBuffer::ImageBuffer): + +2009-07-20 Adam Langley <agl@google.com> + + Reviewed by Eric Seidel. + + Guard access to installedMediaEngines()[0]. + + https://bugs.webkit.org/show_bug.cgi?id=27479 + http://code.google.com/p/chromium/issues/detail?id=16541 + + Else where in the file, installedMediaEngines is always checked for + being empty because access. This patch adds a case which missed that + check. + + This triggered a crash in Chromium: + http://www.yakeze.com/chat/example-chromium-crash/ + + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::load): + +2009-07-20 Adam Langley <agl@google.com> + + Reviewed by Eric Seidel. + + Allow search entries to render with a CSS border if the RenderTheme + doesn't paint them. + + https://bugs.webkit.org/show_bug.cgi?id=27466 + http://code.google.com/p/chromium/issues/detail?id=16958 + + <input type="search"> is very much like a text entry except that, + currently, if the RenderTheme doesn't deal with it, nothing is + rendered. With this patch, the default CSS border is rendered if the + RenderTheme requests it. + + This will affect many layout tests, but only for Chromium Linux and + those results are not currently in the WebKit tree. + + * rendering/RenderTheme.cpp: + (WebCore::RenderTheme::paintBorderOnly): + +2009-07-17 Anton Muhin <antonm@chromium.org> + + Reviewed by Adam Barth. + + Switch to faster methods to access internal fields. + https://bugs.webkit.org/show_bug.cgi?id=27372 + + Minor refactoring. + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::convertToSVGPODTypeImpl): + (WebCore::V8DOMWrapper::setDOMWrapper): + * bindings/v8/V8DOMWrapper.h: + (WebCore::V8DOMWrapper::convertDOMWrapperToNative): + (WebCore::V8DOMWrapper::convertDOMWrapperToNode): + (WebCore::V8DOMWrapper::convertToNativeObject): + (WebCore::V8DOMWrapper::convertToNativeEvent): + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8ClipboardCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8ElementCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: + (WebCore::removeElement): + * bindings/v8/custom/V8InspectorControllerCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8XSLTProcessorCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + +2009-07-20 Adam Langley <agl@google.com> + + Reviewed by Eric Seidel. + + Chromium Linux: cache Harfbuzz faces. + + https://bugs.webkit.org/show_bug.cgi?id=27473 + + Previously, we recreated the Harfbuzz face for each script-run. With + this patch, we keep the Harfbuzz face in the FontPlatformData (created + as needed) and so they will persist for the duration of the + FontPlatformData. + + Shouldn't affect any layout tests. Results in a significant win on the + intl2 page cycler time. + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::TextRunWalker::~TextRunWalker): + (WebCore::TextRunWalker::setupFontForScriptRun): + * platform/graphics/chromium/FontPlatformDataLinux.cpp: + (WebCore::FontPlatformData::RefCountedHarfbuzzFace::~RefCountedHarfbuzzFace): + (WebCore::FontPlatformData::FontPlatformData): + (WebCore::FontPlatformData::harfbuzzFace): + * platform/graphics/chromium/FontPlatformDataLinux.h: + (WebCore::FontPlatformData::RefCountedHarfbuzzFace::create): + (WebCore::FontPlatformData::RefCountedHarfbuzzFace::face): + (WebCore::FontPlatformData::RefCountedHarfbuzzFace::RefCountedHarfbuzzFace): + * platform/graphics/chromium/HarfbuzzSkia.h: Added. + +2009-07-20 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Simon Fraser. + + REGRESSION (r46142): Need to remove showTreeThisForThis + https://bugs.webkit.org/show_bug.cgi?id=27475 + + Removes showTreeThisForThis + + * editing/IndentOutdentCommand.cpp: + (WebCore::IndentOutdentCommand::appendParagraphIntoNode): + +2009-07-19 Ryosuke Niwa <rniwa@webkit.org> + + Reviewed by Eric Seidel. + + Refactoring of indentRegion to fix bugs 26816 and 25317 + https://bugs.webkit.org/show_bug.cgi?id=26816 + https://bugs.webkit.org/show_bug.cgi?id=25317 + https://bugs.webkit.org/show_bug.cgi?id=23995 (partially) + + This patch implements appendParagraphIntoNode, a simpler specialized version of moveParagraph + and replaces all calls inside indentRegion. The following is the new behavior of indentRegion. + + 1. We try to indent as many wrapping nodes as possible. + e.g. when indenting "hello" in <div>hello</div>, we try to indent div as well. + 2. We do not delete any wrapping elements + With moveParagraph, we used to remove all wrapping nodes, and replaced with a blockquote. + This was causing https://bugs.webkit.org/show_bug.cgi?id=23995 for indentation. + With appendParagraphIntoNode, we can preserve all wrapping nodes. + 3. We only split the tree until the closest block node instead of until the root editable node. + This behavioral change fixes the bug 25317. + 4. When multiple paragraphs are indented, we indent the highest common ancestor within the selection. + e.g. when a list is a child node of a div, and the entire div is intended, + we enclose the div by a single blockquote. + + Note that new behavior is more consistent with that of Internet Explorer and Firefox. + To demonstrate this, the following tests are added. + + Tests: editing/execCommand/indent-div-inside-list.html + editing/execCommand/indent-nested-blockquotes.html + editing/execCommand/indent-nested-div.html + editing/execCommand/indent-second-paragraph-in-blockquote.html + + * editing/IndentOutdentCommand.cpp: prepareBlockquoteLevelForInsertion is removed + (WebCore::IndentOutdentCommand::tryIndentingAsListItem): uses appendParagraphIntoNode now + (WebCore::IndentOutdentCommand::indentIntoBlockquote): uses appendParagraphIntoNode now + (WebCore::IndentOutdentCommand::appendParagraphIntoNode): removes a paragraph and appends it to a new node + (WebCore::IndentOutdentCommand::removeUnnecessaryLineBreakAt): removes a break element at the specified position + (WebCore::IndentOutdentCommand::indentRegion): exhibits the described behavior + * editing/IndentOutdentCommand.h: updated prototype + +2009-07-20 Dan Bernstein <mitz@apple.com> + + Try to fix release builds after r46136 + + * dom/Element.cpp: + +2009-07-17 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Eric Seidel. + + Media Controls: We are specifying the text height, where it is unneeded and the slider is 2px off. + https://bugs.webkit.org/show_bug.cgi?id=27380 + + Adjust the margin of the slider and remove useless height specification to fix alignement of the media controls. + + * css/mediaControlsQT.css: + +2009-07-20 Peter Kasting <pkasting@google.com> + + Reviewed by Mark Rowe. + + https://bugs.webkit.org/show_bug.cgi?id=27468 + Back out r46060, which caused problems for some Apple developers. + + * WebCore.vcproj/QTMovieWin.vcproj: + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.vcproj/WebCoreGenerated.vcproj: + +2009-07-20 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + When loading a custom view into a frame, the old document is still + around + <rdar://problem/5145841> + + Safari fires onload before PDF is loaded into the browser + <rdar://problem/6618869> + + Test: fast/loader/non-html-load-event.html + + * GNUmakefile.am: Added PlaceholderDocument.{cpp,h} + * WebCore.gypi: Ditto. + * WebCore.pro: Ditto. + * WebCore.vcproj/WebCore.vcproj: Ditto. + * WebCore.xcodeproj/project.pbxproj: Ditto. + * WebCoreSources.bkl: Ditto. + * dom/Document.h: + (WebCore::Document::setStyleSelector): Added this protected accessor for + PlaceholderDocument to use. + * dom/Element.cpp: + (WebCore::Element::clientWidth): Check whether the document has a + renderer. + (WebCore::Element::clientHeight): Ditto. + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::begin): Create a PlaceholderDocument for frames + that do not use an HTML view. Do not nullify the content size in + that case. + (WebCore::FrameLoader::transitionToCommitted): For frames that do not + use an HTML view, call receivedFirstData(), which sets up the + frame with a new PlaceHolderDocument. + * loader/PlaceholderDocument.cpp: Added. + (WebCore::PlaceholderDocument::attach): Sets up the style selector but + does not create a RenderView. + * loader/PlaceholderDocument.h: Added. + (WebCore::PlaceholderDocument::create): + (WebCore::PlaceholderDocument::PlaceholderDocument): + +2009-07-20 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Handle opacity and opacity animations on transform layers in Leopard + https://bugs.webkit.org/show_bug.cgi?id=27398 + + This makes two changes, and only for Leopard. + + First, whenever opacity is changed on a layer I propagate the + change into the content layer and all the children if the layer + on which opacity is set is a transform layer (preserve3D is true). + The opacity set is the accumulated opacity from this layer + and all its direct ancestor transform layers. Second, I turn off all + hardware opacity animation. + + * platform/graphics/GraphicsLayer.cpp: + (WebCore::GraphicsLayer::accumulatedOpacity): + (WebCore::GraphicsLayer::distributeOpacity): + * platform/graphics/GraphicsLayer.h: + (WebCore::GraphicsLayer::setOpacityInternal): + * platform/graphics/mac/GraphicsLayerCA.h: + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::setPreserves3D): + (WebCore::GraphicsLayerCA::setOpacity): + (WebCore::GraphicsLayerCA::animateFloat): + (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): + (WebCore::GraphicsLayerCA::setOpacityInternal): + (WebCore::GraphicsLayerCA::updateOpacityOnLayer): + +2009-07-20 Yong Li <yong.li@torchmobile.com> + + Reviewed by Adam Roben. + + https://bugs.webkit.org/show_bug.cgi?id=27349 + Add GraphicsContext implementation for the WinCE port. + + Written by Yong Li <yong.li@torchmobile.com>, George Staikos <george.staikos@torchmobile.com> and Lyon Chen <lyon.chen@torchmobile.com> + with trivial style fixes by Adam Treat <adam.treat@torchmobile.com> + + * platform/graphics/wince/GraphicsContextWince.cpp: Added. + +2009-07-20 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Dimitri Glazkov. + + Adding the Win SQLite VFS implementation for Chromium, and stubs + for the Mac and Linux VFSs. + + https://bugs.webkit.org/show_bug.cgi?id=26940 + + * WebCore.gypi: + * platform/chromium/ChromiumBridge.h: + * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added. + * platform/sql/chromium/SQLiteFileSystemChromiumLinux.cpp: Added. + * platform/sql/chromium/SQLiteFileSystemChromiumMac.cpp: Added. + * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added. + +2009-07-20 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + https://bugs.webkit.org/show_bug.cgi?id=27097 + [Gtk] Segfault when examining an object of ROLE_TABLE via at-spi + + Check that an object is a RenderObject before trying to access its + renderer and related node. + + * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp: + (webkit_accessible_get_role): + +2009-07-20 Balazs Kelemen <kelemen.balazs.3@stud.u-szeged.hu> + + Reviewed by Simon Hausmann. + + [Qt] font cache reworking + https://bugs.webkit.org/show_bug.cgi?id=27265 + + Reimplemented Qt's FontCache in a way that follows the shared one. + Now we can release its elements when those became inactive. + FontFallbackList had been changed to be able to hold WebCore fonts in its list and to be able to release a FontData what is in the cache. + + No change in behavior, so no tests. + + * platform/graphics/qt/FontCacheQt.cpp: + (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey): + (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue): + (WebCore::FontPlatformDataCacheKey::): Key type for the cache of FontPlatformData objects. + It can be constructed from a FontPlatformData or from a FontDescription. The keys have to be consistent + with FontPlatformData::FontPlatformData(const FontDescription&) - if we create the same + FontPlatformData from two FontDescription then we have to create the same key from them, and vica versa. + (WebCore::FontPlatformDataCacheKey::operator==): + (WebCore::FontPlatformDataCacheKey::hash): + (WebCore::FontPlatformDataCacheKey::computeHash): + (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize): + (WebCore::FontPlatformDataCacheKeyHash::hash): + (WebCore::FontPlatformDataCacheKeyHash::equal): + (WebCore::FontPlatformDataCacheKeyTraits::emptyValue): + (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue): + (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue): + (WebCore::FontCache::getCachedFontPlatformData): Get a FontDescription and returns a FontPlatformData. + (WebCore::FontCache::getCachedFontData): Get a FontPlatformData and returns a SimpleFontData. + (WebCore::FontCache::releaseFontData): Get a SimpleFontData and releases it from the cache. Also releases the appropriate FontPlatformData. + (WebCore::FontCache::purgeInactiveFontData): Frees inactive elements. + (WebCore::FontCache::invalidate): Frees all inactive elements (call purgeInactiveFontData with default argument) + * platform/graphics/qt/FontFallbackListQt.cpp: + (WebCore::FontFallbackList::releaseFontData): + (WebCore::FontFallbackList::fontDataAt): + * platform/graphics/qt/FontPlatformData.h: + (WebCore::FontPlatformData::family): Getter. It is needed for FontPlatformDataCacheKey. + (WebCore::FontPlatformData::bold): Ditto. + (WebCore::FontPlatformData::italic): Ditto. + (WebCore::FontPlatformData::smallCaps): Ditto. + (WebCore::FontPlatformData::pixelSize): Ditto. + * platform/graphics/qt/FontPlatformDataQt.cpp: + (WebCore::FontPlatformData::FontPlatformData): Set m_bold. + +2009-07-20 Xan Lopez <xlopez@igalia.com> + + Reviewed by Holger Freyther. + + https://bugs.webkit.org/show_bug.cgi?id=26716 + [Gtk] Each XMLHttpRequest leaks memory. + + Free the SoupURI we create to check the URI. Fix suggested by John + Kjellberg. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::): + +2009-07-20 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Holger Freyther. + + [Qt] On Symbian link against system sqlite3 + https://bugs.webkit.org/show_bug.cgi?id=27368 + + Add an option to force linking against system sqlite3 + by adding system-sqlite to the CONFIG variable. + + The Symbian specific part of this patch is contributed by + Norbert Leser. + + * WebCore.pro: + +2009-07-20 Xan Lopez <xlopez@igalia.com> + + Reviewed by Gustavo Noronha. + + Change the glib version check to check for the first unstable + release with g_mapped_file_unref. Otherwise this would be useless + until 2.22 is released, a few months from now. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::startHttp): + +2009-07-20 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by and done with Tor Arne Vestbø. + + Fix fast/css/pseudo-required-optional-*.html in the Qt build + after r46062. + + These tests triggered a bug in RenderThemeQt where we did not fall back + to the unstyled painting of text areas and input fields when they have + a styled background. + + Our re-implementation of isControlStyled incorrectly only checked the + border for determining whether to style or not. The base-implementation + performs the same check, but also includes the background. Removing + our implementation fixes the appearance. + + * platform/qt/RenderThemeQt.cpp: Removed isControlStyled reimplementation. + * platform/qt/RenderThemeQt.h: Ditto. + +2009-07-20 Simon Hausmann <simon.hausmann@nokia.com> + + Rubber-stamped by Tor Arne Vestbø. + + Add missing (sorted) header files to the HEADERS variable in the qmake + .pro file for improved completion in IDEs. + + * WebCore.pro: + +2009-07-19 Adam Barth <abarth@webkit.org> + + Reviewed by David Levin. + + [V8] Factor V8ConsoleMessage out of V8Proxy + https://bugs.webkit.org/show_bug.cgi?id=27421 + + No behavior change. + + * WebCore.gypi: + * bindings/v8/V8ConsoleMessage.cpp: Added. + (WebCore::V8ConsoleMessage::V8ConsoleMessage): + (WebCore::V8ConsoleMessage::dispatchNow): + (WebCore::V8ConsoleMessage::dispatchLater): + (WebCore::V8ConsoleMessage::processDelayed): + (WebCore::V8ConsoleMessage::handler): + * bindings/v8/V8ConsoleMessage.h: Added. + (WebCore::V8ConsoleMessage::Scope::Scope): + (WebCore::V8ConsoleMessage::Scope::~Scope): + * bindings/v8/V8Proxy.cpp: + (WebCore::logInfo): + (WebCore::reportUnsafeAccessTo): + (WebCore::V8Proxy::runScript): + (WebCore::V8Proxy::callFunction): + (WebCore::V8Proxy::newInstance): + (WebCore::V8Proxy::initContextIfNeeded): + (WebCore::V8Proxy::processConsoleMessages): + +2009-07-19 Rob Buis <rwlbuis@gmail.com> + + Reviewed by Adam Barth. + + Remove unused member variable. + + * svg/SVGPolyElement.h: + +2009-07-19 Eric Carlson <eric.carlson@apple.com> + + Reviewed by Dan Bernstein. + + HTMLAudioElement: constructor should set "autobuffer" attribute + https://bugs.webkit.org/show_bug.cgi?id=27422 + + Test: media/audio-constructor-autobuffer.html + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::constructAudio): + Set 'autobuffer' attribute. + +2009-07-19 Thierry Bastian <thierry.bastian@nokia.com> + + Reviewed by Simon Hausmann. + + Fix the Qt build with mingw. + + * WebCore.pro: Don't use MSVC commandline options to disable warnings + with mingw. + +2009-07-19 Adam Barth <abarth@webkit.org> + + Reviewed by David Levin. + + [V8] Phase 2: Remove event listener methods from V8Proxy + https://bugs.webkit.org/show_bug.cgi?id=27415 + + No behavior change. + + * bindings/v8/V8ObjectEventListener.cpp: + (WebCore::weakObjectEventListenerCallback): + (WebCore::V8ObjectEventListener::~V8ObjectEventListener): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::disconnectEventListeners): + * bindings/v8/V8Proxy.h: + (WebCore::V8Proxy::eventListeners): + (WebCore::V8Proxy::objectListeners): + * bindings/v8/custom/V8AbstractWorkerCustom.cpp: + (WebCore::getEventListener): + * bindings/v8/custom/V8CustomEventListener.cpp: + (WebCore::V8EventListener::~V8EventListener): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8ElementCustom.cpp: + (WebCore::ACCESSOR_SETTER): + * bindings/v8/custom/V8MessagePortCustom.cpp: + (WebCore::ACCESSOR_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8NodeCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8SVGElementInstanceCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8WorkerCustom.cpp: + (WebCore::getEventListener): + * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: + (WebCore::getEventListener): + * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: + (WebCore::ACCESSOR_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + +2009-07-18 Jan Michael Alonzo <jmalonzo@webkit.org> + + Reviewed by Gustavo Noronha. + + [Gtk] soup/ResourceHandleSoup.cpp:533: error: 'g_mapped_file_free' was not declared in this scope + https://bugs.webkit.org/show_bug.cgi?id=27230 + + Use g_mapped_file_unref for GLIB version 2.22 onwards. + + * platform/network/soup/ResourceHandleSoup.cpp: + (WebCore::ResourceHandle::startHttp): + +2009-07-18 Dan Bernstein <mitz@apple.com> + + Reviewed by Anders Carlsson. + + Add spread radius support to -webkit-box-shadow + https://bugs.webkit.org/show_bug.cgi?id=27417 + rdar://problem/7072267 + + Test: fast/box-shadow/spread.html + + * css/CSSComputedStyleDeclaration.cpp: + (WebCore::valueForShadow): Added a property ID parameter and used it to + include the spread length for box-shadow but not for text-shadow. + (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): + Pass the property ID to valueForShadow(). + + * css/CSSParser.cpp: + (WebCore::ShadowParseContext::ShadowParseContext): Added property, + spread, and allowSpread members. Added a property ID parameter to + the constructor. Initialize the property and allowSpread members. + (WebCore::ShadowParseContext::allowLength): Added allowSpread. + (WebCore::ShadowParseContext::commitValue): Pass the spread value to + the ShadowValue constructor. Reset allowSpread. + (WebCore::ShadowParseContext::commitLength): Allow spread after blur + for the box-shadow property. + (WebCore::ShadowParseContext::commitColor): Reset allowSpread. + (WebCore::CSSParser::parseShadow): Pass the property ID to + ShadowParseContext(). + + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::applyProperty): Get the spread value from + the shadow value and pass it to the ShadowData constructor. + + * css/ShadowValue.cpp: + (WebCore::ShadowValue::ShadowValue): Added spread. + (WebCore::ShadowValue::cssText): Added spread. + + * css/ShadowValue.h: + (WebCore::ShadowValue::create): Added spread. + + * page/animation/AnimationBase.cpp: + (WebCore::blendFunc): Blend the spread value. + (WebCore::PropertyWrapperShadow::blend): Added 0 spread to the default + shadow. + + * rendering/InlineFlowBox.cpp: + (WebCore::InlineFlowBox::placeBoxesHorizontally): Account for spread in + the visual overflow calculations. + (WebCore::InlineFlowBox::placeBoxesVertically): Ditto. + (WebCore::InlineFlowBox::paint): Ditto. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::overflowHeight): Ditto. + (WebCore::RenderBlock::overflowWidth): Ditto. + (WebCore::RenderBlock::overflowLeft): Ditto. + (WebCore::RenderBlock::overflowTop): Ditto. + (WebCore::RenderBlock::overflowRect): Ditto. + (WebCore::RenderBlock::layoutBlock): Ditto. + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::paintBoxShadow): Inflate the shadow- + casting rect by the shadow spread value. Adjust border radii if + necessary. + + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::layoutBlock): Account for spread in the + visual overflow calculations. + * rendering/RenderLayer.cpp: + (WebCore::RenderLayer::calculateRects): Ditto. + + * rendering/RenderObject.cpp: + (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Account for spread. + (WebCore::RenderObject::adjustRectForOutlineAndShadow): Ditto. + + * rendering/RenderReplaced.cpp: + (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Ditto. + + * rendering/style/RenderStyle.cpp: + (WebCore::RenderStyle::setTextShadow): Assert that text shadows do not + have spread. + + * rendering/style/ShadowData.cpp: + (WebCore::ShadowData::ShadowData): Added spread. + (WebCore::ShadowData::operator==): Compare spread. + * rendering/style/ShadowData.h: + (WebCore::ShadowData::ShadowData): Added spread. + +2009-07-18 Adam Barth <abarth@webkit.org> + + Reviewed by Jan Alonzo. + + Minor FrameLoader.cpp cleanup + https://bugs.webkit.org/show_bug.cgi?id=27406 + + No behavior change. + + * loader/FrameLoader.cpp: + (WebCore::FrameLoader::executeIfJavaScriptURL): + +2009-07-18 Adam Barth <abarth@webkit.org> + + Reviewed by Darin Fisher. + + [V8] Move event listener methods from V8Proxy to V8EventListenerList + https://bugs.webkit.org/show_bug.cgi?id=27408 + + Move some event listener code out of V8Proxy and into the event + listener list. + + I'd like to remove these methods from V8Proxy entirely and just expose + getters for the lists themselves, but I'll do that in a follow up + patch. + + * bindings/v8/V8EventListenerList.cpp: + (WebCore::V8EventListenerList::findWrapper): + * bindings/v8/V8EventListenerList.h: + (WebCore::V8EventListenerList::findOrCreateWrapper): + * bindings/v8/V8ObjectEventListener.cpp: + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::findV8EventListener): + (WebCore::V8Proxy::findOrCreateV8EventListener): + (WebCore::V8Proxy::removeV8EventListener): + (WebCore::V8Proxy::findObjectEventListener): + (WebCore::V8Proxy::findOrCreateObjectEventListener): + (WebCore::V8Proxy::removeObjectEventListener): + * bindings/v8/V8Proxy.h: + +2009-07-18 Jeremy Orlow <jorlow@chromium.org> + + Rubber stamped by Adam Barth. + + Revert https://bugs.webkit.org/show_bug.cgi?id=27383 + https://bugs.webkit.org/show_bug.cgi?id=27407 + + Revert Jens' patch. I believe he forgot to include a file. + + * WebCore.gypi: + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/DOMObjectsInclude.h: + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::getTemplate): + * bindings/v8/V8DataGridDataSource.cpp: Removed. + * bindings/v8/V8DataGridDataSource.h: Removed. + * bindings/v8/V8GCController.h: + * bindings/v8/V8Index.h: + * bindings/v8/custom/V8CustomBinding.h: + * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + +2009-07-17 Daniel Bates <dbates@intudata.com> + + Reviewed by Adam Barth. + + https://bugs.webkit.org/show_bug.cgi?id=27405 + + Fixes an issue when decoding HTML entities with an unknown named entity that + caused null-characters to be inserted into the decoded result. + + Test: http/tests/security/xssAuditor/link-onclick-ampersand.html + http/tests/security/xssAuditor/javascript-link-ampersand.html + + * page/XSSAuditor.cpp: + (WebCore::XSSAuditor::decodeHTMLEntities): Added check to conditional so that + non-zero entity values are not inserted during decoding process. + +2009-07-17 Jan Michael Alonzo <jmalonzo@webkit.org> + + <http://webkit.org/b/18363> [GTK] Combo boxes cannot be opened pressing space + + Reviewed by Holger Freyther. + + Add Gtk to platforms that want to open the menulist using the + spacebar. + + * dom/SelectElement.cpp: + (WebCore::SelectElement::menuListDefaultEventHandler): + +2009-07-17 Mario Sanchez Prada <msanchez@igalia.com> + + Reviewed by Jan Alonzo. + + https://bugs.webkit.org/show_bug.cgi?id=25523 + [GTK] The text displayed by push buttons is not exposed to assistive technologies + + Add new public method text() to RenderButton and use it from + AccessibilityRenderObject::stringValue(). + + * accessibility/AccessibilityRenderObject.cpp: + (WebCore::AccessibilityRenderObject::stringValue): + * rendering/RenderButton.cpp: + (WebCore::RenderButton::text): + * rendering/RenderButton.h: + +2009-07-17 Anton Muhin <antonm@chromium.org> + + Reviewed by Dimitri Glazkov. + + Restore proxy retrieval + https://bugs.webkit.org/show_bug.cgi?id=27369 + + No new tests are needed. + + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::instantiateV8Object): + +2009-07-17 Yael Aharon <yael.aharon@nokia.com> + + Reviewed by George Staikos. + + https://bugs.webkit.org/show_bug.cgi?id=27351 + Added platform "Symbian" to WEBCORE_NAVIGATOR_PLATFORM + Use uname to find the correct platform for Linux. + + * page/NavigatorBase.cpp: + (WebCore::NavigatorBase::platform): + +2009-07-17 Jens Alfke <snej@chromium.org> + + Reviewed by Dimitri Glazkov. + + Hook up V8 bindings for DataGrid elements. + https://bugs.webkit.org/show_bug.cgi?id=27383 + http://code.google.com/p/chromium/issues/detail?id=16730 + + Tests: Enhanced LayoutTests/fast/dom/HTMLDataGridElement/* + to handle exceptions, check appropriate JS prototypes, and + test column-list's item() method as well as array-indexing. + + * WebCore.gypi: Added new source files. + * bindings/scripts/CodeGeneratorV8.pm: Made GenerateBatchedAttributeData put #if's around conditional attributes. + * bindings/v8/DOMObjectsInclude.h: #include DataGrid headers. + * bindings/v8/V8DOMWrapper.cpp: Add bindings from HTML tags to datagrid templates. + (WebCore::V8DOMWrapper::getTemplate): Customize datagrid template. + * bindings/v8/V8DataGridDataSource.cpp: Added. (Based on JSDataGridDataSource) + (WebCore::V8DataGridDataSource::V8DataGridDataSource): + (WebCore::V8DataGridDataSource::~V8DataGridDataSource): + * bindings/v8/V8DataGridDataSource.h: Added. (Based on JSDataGridDataSource) + (WebCore::V8DataGridDataSource::create): + (WebCore::V8DataGridDataSource::isJSDataGridDataSource): + (WebCore::V8DataGridDataSource::jsDataSource): + (WebCore::asV8DataGridDataSource): + * bindings/v8/V8GCController.h: Added new handle type "DATASOURCE". + * bindings/v8/V8Index.h: Conditionalize datagrid stuff. + * bindings/v8/custom/V8CustomBinding.h: Declare more accessors. Conditionalize. + * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Fill in dataSource accessors. + (WebCore::ACCESSOR_GETTER): + (WebCore::ACCESSOR_SETTER): + +2009-07-17 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Darin Fisher. + + StorageArea should only contain methods we intend to proxy. + https://bugs.webkit.org/show_bug.cgi?id=27181 + + Right now, StorageAreaSync takes in a StorageArea* and calls methods + like importItem. Really, StorageAreaSync should be operating directly + on StorageAreaImpl* and those methods should be removed from StorageArea + since StorageAreaSync should never be attached to anything other than a + StorageAreaImpl. + + This was pointed out in the review for + https://bugs.webkit.org/show_bug.cgi?id=27072 + + Also clean up StorageNamespaceImpl to operate directly on + StorageAreaImpl. Also, get rid of the factory for StorageArea + since nothing should ever create a StorageArea directly. + + * GNUmakefile.am: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * storage/StorageArea.cpp: Removed. + * storage/StorageArea.h: + (WebCore::StorageArea::~StorageArea): + * storage/StorageAreaImpl.cpp: + (WebCore::StorageAreaImpl::copy): + * storage/StorageAreaImpl.h: + * storage/StorageAreaSync.cpp: + (WebCore::StorageAreaSync::create): + (WebCore::StorageAreaSync::StorageAreaSync): + * storage/StorageAreaSync.h: + * storage/StorageNamespaceImpl.cpp: + (WebCore::StorageNamespaceImpl::copy): + (WebCore::StorageNamespaceImpl::storageArea): + * storage/StorageNamespaceImpl.h: + +2009-07-17 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add v8 implementation for DOM Storage ScriptObjectQuarantine. + https://bugs.webkit.org/show_bug.cgi?id=27327 + + Wrap the storage object with a generic object as is done elsewhere in + the file (but continue to hit a NOTIMPLEMENTED if DOM_STORAGE is not + enabled. + + * bindings/v8/ScriptObjectQuarantine.cpp: + (WebCore::getQuarantinedScriptObject): + +2009-07-17 Mads Ager <ager@chromium.org> + + Reviewed by Dimitri Glazkov. + + https://bugs.webkit.org/show_bug.cgi?id=27394 + Fix access to global object wrappers after navigation of their + frame in the V8 bindings. This fixes selenium test failures. + + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::updateDocument): + +2009-07-17 Mark Rowe <mrowe@apple.com> + + Fix the 32-bit build by removing implicit float <-> double conversions. + + * inspector/InspectorController.cpp: + (WebCore::constrainedAttachedWindowHeight): + +2009-07-17 Brian Weinstein <bweinstein@apple.com> + + Reviewed by Adam Roben. + + Fix of <rdar://problem/5712795> Win: Cannot change the height of the docked Web Inspector (14272) + https://bugs.webkit.org/show_bug.cgi?id=14272 + + Moved preference setting for attached inspector height and inspector height calculation from + WebInspectorClient.mm into InspectorController.cpp, to make this code cross-platform and enable + Windows resizing of attached inspector. + + * inspector/InspectorController.cpp: + * inspector/InspectorController.h: + +2009-07-17 Dan Bernstein <mitz@apple.com> + + Another attempt at fixing the build after r46063 + + * WebCore.xcodeproj/project.pbxproj: Made ExceptionCode.h a private + header, because it is now included from htmlediting.h, which is + a private header. + +2009-07-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=27396 + Moving cursor in Thai text sometimes jumps over two characters + + Test: editing/text-iterator/thai-cursor-movement.html + + * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator): Added a special + case for five Thai characters, matching ICU/CLDR changes. + +2009-07-14 Eric Seidel <eric@webkit.org> + + Reviewed by Adam Barth. + + Some constructor objects exposed on Window have the wrong prototype chain + https://bugs.webkit.org/show_bug.cgi?id=27276 + + Several Constructor classes were already being passed a global object + during construction, but they were ignoring it for prototype lookup. + I've fixed those to use the passed global object instead. + + Most of these Constructor classes should just be auto-generated, but I + refrained from changing them over to auto-gen in this patch. + + Fixed CodeGeneratorJS to pass a global object to getDOMConstructor when + available, otherwise default to deprecatedGlobalObjectForPrototype(exec) + to match existing behavior. + + Test: fast/dom/prototype-inheritance.html + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): use the existing globalObject pointer for prototype lookup + * bindings/js/JSDOMBinding.h: + (WebCore::deprecatedGlobalObjectForPrototype): Make it easy to detect where the wrong global object is being used. + (WebCore::deprecatedGetDOMStructure): + * bindings/js/JSDOMGlobalObject.h: remove error-prone getDOMConstructor, require passing JSDOMGlobalObject* + * bindings/js/JSDOMWindowCustom.cpp: + (WebCore::JSDOMWindow::webKitPoint): pass "this" for the global object. + (WebCore::JSDOMWindow::webKitCSSMatrix): pass "this" for the global object. + (WebCore::JSDOMWindow::xsltProcessor): pass "this" for the global object. + (WebCore::JSDOMWindow::worker): pass "this" for the global object. + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): use the existing globalObject pointer for prototype lookup + * bindings/js/JSMessageChannelConstructor.cpp: + (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): use the existing globalObject pointer for prototype lookup + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): use the existing globalObject pointer for prototype lookup + * bindings/js/JSWebKitCSSMatrixConstructor.cpp: + (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): add new globalObject parameter and use it + * bindings/js/JSWebKitCSSMatrixConstructor.h: + * bindings/js/JSWebKitPointConstructor.cpp: + (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): add new globalObject parameter and use it + * bindings/js/JSWebKitPointConstructor.h: + * bindings/js/JSWorkerConstructor.cpp: + (WebCore::JSWorkerConstructor::JSWorkerConstructor): add new globalObject parameter and use it + * bindings/js/JSWorkerConstructor.h: + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): use the existing globalObject pointer for prototype lookup + -- XMLHttpRequest constructor was also missing a length. Added one. + * bindings/js/JSXSLTProcessorConstructor.cpp: + (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): + * bindings/js/JSXSLTProcessorConstructor.h: + * bindings/scripts/CodeGeneratorJS.pm: + +2009-07-17 Dan Bernstein <mitz@apple.com> + + Build fix + + * editing/htmlediting.cpp: + (WebCore::visiblePositionBeforeNode): + (WebCore::visiblePositionAfterNode): + +2009-07-17 Jan Michael Alonzo <jmalonzo@webkit.org> + + Gtk build fix for symbol lookup error. + + Move AbstractWorker from SHARED_WORKERS to WORKERS as Worker derives from it now + Changed in http://trac.webkit.org/changeset/46048 + + * GNUmakefile.am: + +2009-07-17 Ryosuke Niwa <ryosuke.niwa@gmail.com> + + Reviewed by Eric Seidel. + + htmlediting.cpp needs more utility functions to fix the bug 26816 + https://bugs.webkit.org/show_bug.cgi?id=27038 + + In order to fix the bug 26816, we need several utility functions be added to htmlediting.cpp + + No tests because functions haven't been used anywhere yet. + + * dom/Range.cpp: + (WebCore::Range::create): + (WebCore::Range::comparePoint): added const qualifier + (WebCore::Range::compareNode): added const qualifier + * dom/Range.h: + * editing/htmlediting.cpp: + (WebCore::unsplittableElementForPosition): find the enclosing unsplittable element (editing root & table cell) + (WebCore::positionBeforeNode): added ASSERT(node) + (WebCore::positionAfterNode): added ASSERT(node) + (WebCore::visiblePositionBeforeNode): + (WebCore::visiblePositionAfterNode): + (WebCore::createRange): create a range object from two visible positions + (WebCore::extendRangeToWrappingNodes): extend range to include nodes that starts and ends at the boundaries + (WebCore::canMergeLists): typo + (WebCore::indexForVisiblePosition): added const qualifier + (WebCore::isVisiblyAdjacent): typo + (WebCore::isNodeVisiblyContainedWithin): determine if a node is inside a range or within the visible boundaries of the range + * editing/htmlediting.h: + +2009-07-17 Michelangelo De Simone <micdesim@gmail.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=25551 + Added support for the "required" attribute, the valueMissing flag + to the ValidityState object and :required/:optional CSS pseudoclasses. + Part of HTML5 sec. Forms specs. + http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#attr-input-required + + Tests: fast/css/pseudo-required-optional-001.html + fast/css/pseudo-required-optional-002.html + fast/css/pseudo-required-optional-003.html + fast/css/pseudo-required-optional-004.html + fast/css/pseudo-required-optional-005.html + fast/css/pseudo-required-optional-006.html + fast/forms/ValidityState-valueMissing-001.html + fast/forms/ValidityState-valueMissing-002.html + fast/forms/ValidityState-valueMissing-003.html + fast/forms/ValidityState-valueMissing-004.html + fast/forms/ValidityState-valueMissing-005.html + fast/forms/ValidityState-valueMissing-006.html + fast/forms/ValidityState-valueMissing-007.html + fast/forms/ValidityState-valueMissing-008.html + fast/forms/ValidityState-valueMissing-009.html + fast/forms/required-attribute-001.html + fast/forms/required-attribute-002.html + + * css/CSSSelector.cpp: + (WebCore::CSSSelector::extractPseudoType): pseudoRequired/pseudoOptional + * css/CSSSelector.h: + (WebCore::CSSSelector::): ditto + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto + * dom/Element.h: + (WebCore::Element::isOptionalFormControl): check for optional controls + (WebCore::Element::isRequiredFormControl): check for required controls + * html/HTMLAttributeNames.in: required attribute + * html/HTMLButtonElement.h: + (WebCore::HTMLButtonElement::isOptionalFormControl): ditto + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::required): requiredAttr getter + (WebCore::HTMLFormControlElement::setRequired): requiredAttr setter + * html/HTMLFormControlElement.h: + (WebCore::HTMLFormControlElement::valueMissing): method definition + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::valueMissing): validation code + (WebCore::HTMLInputElement::isRequiredFormControl): ditto + * html/HTMLInputElement.h: + (WebCore::HTMLInputElement::isOptionalFormControl): ditto + * html/HTMLInputElement.idl: required DOM attribute + * html/HTMLSelectElement.h: + (WebCore::HTMLSelectElement::isOptionalFormControl): ditto + * html/HTMLTextAreaElement.h: + (WebCore::HTMLTextAreaElement::valueMissing): validation code + (WebCore::HTMLTextAreaElement::isOptionalFormControl): ditto + (WebCore::HTMLTextAreaElement::isRequiredFormControl): ditto + * html/HTMLTextAreaElement.idl: required DOM attribute + * html/ValidityState.cpp: + * html/ValidityState.h: + (WebCore::ValidityState::valueMissing): validation flag + +2009-07-17 Beth Dakin <bdakin@apple.com> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=27390 CSS custom + cursor hotspots should work in quirks mode + - and corresponding <rdar://problem/6554340> + + Enable hotspots in quirks mode. + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): + + Update this manual test to reflect the fact that hotspots are now + expected to work in quirks mode. + * manual-tests/css3-cursor-fallback-quirks.html: + +2009-07-17 Peter Kasting <pkasting@google.com> + + Reviewed by Steve Falkenburg. + + https://bugs.webkit.org/show_bug.cgi?id=27323 + Only add Cygwin to the path when it isn't already there. This avoids + causing problems for people who purposefully have non-Cygwin versions of + executables like svn in front of the Cygwin ones in their paths. + + * WebCore.vcproj/QTMovieWin.vcproj: + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.vcproj/WebCoreGenerated.vcproj: + +2009-07-17 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by David Levin. + + https://bugs.webkit.org/show_bug.cgi?id=27384 + Random crashes in appcache/update-cache.html test + + * loader/appcache/ApplicationCacheGroup.cpp: + (WebCore::ApplicationCacheGroup::didReceiveResponse): Reorder code to avoid using a handle + after canceling it. + +2009-07-17 Drew Wilson <atwilson@google.com> + + Reviewed by David Levin. + + Need to refactor Worker to derive from AbstractWorker + https://bugs.webkit.org/show_bug.cgi?id=26948 + + Changed Worker to derive from AbstractWorker, which involved moving + AbstractWorker files from being wrapped by ENABLE_SHARED_WORKERS to + ENABLE_WORKERS. + + Removed obsolete functionality from the JS/V8 bindings that is now + inherited from AbstractWorker. + + * WebCore.pro: + Moved AbstractWorker files out of SHARED_WORKERS section and into WORKERS. + * bindings/js/JSAbstractWorkerCustom.cpp: + Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). + * bindings/js/JSWorkerCustom.cpp: + Removed obsolete event listener code (now in base class) + (WebCore::JSWorker::mark): + No longer need to explicitly mark event listeners (handled by base class). + * bindings/v8/V8Index.h: + Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS. + * bindings/v8/custom/V8AbstractWorkerCustom.cpp: + Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). + * bindings/v8/custom/V8CustomBinding.h: + Moved AbstractWorker lines out of SHARED_WORKERS section and into WORKERS. + * bindings/v8/custom/V8WorkerCustom.cpp: + Removed obsolete event listener code that now lives in the base class. + (WebCore::V8WorkerConstructor): Cleaned up legacy style nits. + * workers/AbstractWorker.cpp: + Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). + * workers/AbstractWorker.h: + Changed to be wrapped by ENABLE(WORKERS), not ENABLE(SHARED_WORKERS). + * workers/Worker.cpp: + Removed event listener code (now in base class). + (WebCore::Worker::Worker): Now derives from AbstractWorker. + (WebCore::Worker::notifyFinished): Calls dispatchLoadErrorEvent on base class. + * workers/Worker.h: + Removed APIs that now live in the base class. + * workers/Worker.idl: + Now derives from AbstractWorker. + Removed APIs that live in the base class, and added a GenerateToJS flag. + +2009-07-17 David Hyatt <hyatt@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=27379 + Absolutely-positioned elements with a scrollbar wrap prematurely. Make sure to include + the vertical scrollbar width for overflow:scroll elements. + + Added fast/css/positioned-overflow-scroll.html + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::calcPrefWidths): + * rendering/RenderFlexibleBox.cpp: + (WebCore::RenderFlexibleBox::calcPrefWidths): + +2009-07-17 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Dimitri Glazkov. + + Need a DOM_STORAGE guard in DerivedSroucesAllInOne.cpp + https://bugs.webkit.org/show_bug.cgi?id=27375 + + In https://bugs.webkit.org/show_bug.cgi?id=27360 I added Storage.cpp + and StorageEvent.cpp. Unfortunately, until later this afternoon, + DOM_STORAGE is not turned on by default in Chromium, and so these two + files are never generated. This breaks the compile. + + There are no other instances of guards in the file, which puzzles me... + but I think adding guards is the right way to go about this. + + * bindings/v8/DerivedSourcesAllInOne.cpp: Added the guard. + +2009-07-17 Brady Eidson <beidson@apple.com> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=26496 + + Let WebCore always enforce the connection-per-host limit itself. + + * loader/loader.cpp: + (WebCore::Loader::Host::servePendingRequests): + +2009-07-17 Chris Marrin <cmarrin@apple.com> + + Reviewed by David Hyatt. + + Some transitions don't work correctly on Leopard + https://bugs.webkit.org/show_bug.cgi?id=27356 + + We only have code to do component animation using valueFunction. + So on Leopard we always need to do matrix animation in hardware. + This fix ensures that. + + This is currently not testable because it appears only in the + hardware animation and we can't yet do pixel tests while + hardware animating. + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::animateTransform): + +2009-07-17 Holger Hans Peter Freyther <zecke@selfish.org> + + Reviewed by Gustavo Noronha. + + [GTK+] Crash in screenAvailable due a null Widget* + + JSDOMWindow::open called screenAvailableRect(0). The other + Screen methods can be called with a null widget as well, fix the + crashing test by checking for null. + + In screenRect and screenAvailableRect it is not tried to use + a default screen as the existing implementation didn't try either + in case of not having a toplevel widget. + + LayoutTests/fast/frames/crash-removed-iframe.html caused a crash. + + * platform/gtk/PlatformScreenGtk.cpp: + (WebCore::getVisual): New method to get a visual or return zero. + (WebCore::screenDepth): Use getVisual. + (WebCore::screenDepthPerComponent): Use getVisual. + (WebCore::screenIsMonochrome): Use screenDepth which will do the null checking + (WebCore::screenRect): Check for !widget. + (WebCore::screenAvailableRect): Check for !widget. + +2009-07-17 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Fix the include path for the Symbian port + https://bugs.webkit.org/show_bug.cgi?id=27358 + + * WebCore.pro: + +2009-07-17 Kenneth Rohde Christiansen <kenneth.christiansen@openbossa.org> + + Reviewed by Simon Hausmann. + + Make it possible to set the plugin directories from the DRT. + Part of https://bugs.webkit.org/show_bug.cgi?id=27215 + + * plugins/PluginDatabase.cpp: + (WebCore::PluginDatabase::installedPlugins): Now optionally takes + a populate argument, so we can avoid loading system plugins from the + DRT and thus avoid their strerr errors that can make tests fail. + (WebCore::PluginDatabase::clear): Make it possible to clear the + database. Called from setPluginDirectories. + * plugins/PluginDatabase.h: + (WebCore::PluginDatabase::setPluginDirectories): Make public + +2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + PluginViewMac: Stop the plugin when loading fails + + Also, prevent event propagation when in the stopped state + + * plugins/mac/PluginViewMac.cpp: + +2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + PluginViewMac: Allow query and set of drawing and event models + + We now support querying and setting of the drawing and event model, + but we still only support the CoreGraphics drawing model, and the + Carbon event model. + + If unsupported drawing or event models are detected we show the + missing-plugin icon. + + * plugins/PluginView.cpp: + * plugins/PluginView.h: + * plugins/mac/PluginViewMac.cpp: + +2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + Initialize two PluginView members using memset + + m_npWindow is used on all platforms, not just for XP_UNIX, + so always initialize it. m_npCgContext on the other hand + is only used for XP_MACOSX. + + * plugins/PluginView.cpp: + +2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + Add more debug logging in PluginView + + * plugins/PluginView.cpp: Add debug for setValue + * plugins/gtk/PluginViewGtk.cpp: Add debug for getValue + * plugins/mac/PluginViewMac.cpp: Add debug for getValue and more + * plugins/qt/PluginViewQt.cpp: Add debug for getValue + * plugins/win/PluginViewWin.cpp: Add debug for getValue + +2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Holger Freyther. + + Use same license in PluginDebug.cpp as in the original PluginDebug.h + + * plugins/PluginDebug.cpp: Use license from PluginDebug.h + +2009-07-17 Tor Arne Vestbø <tor.arne.vestbo@nokia.com> + + Reviewed by Simon Hausmann. + + Add more debugging functionality for the WebCore NPAPI layer + + * GNUmakefile.am: Add PluginDebug.cpp + * WebCore.gypi: Add PluginDebug.cpp + * WebCore.pro: Add PluginDebug.cpp + * WebCore.vcproj/WebCore.vcproj: Add PluginDebug.cpp + * WebCoreSources.bkl: Add PluginDebug.cpp + * plugins/PluginDebug.h: Move errorStrings to PluginDebug.cpp + * plugins/PluginDebug.cpp: New file + +2009-07-17 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by David Levin. + + Fix Chromium build with DOM_STORAGE enabled. + https://bugs.webkit.org/show_bug.cgi?id=27360 + + 2 minor changes as noted below: + + * bindings/v8/DerivedSourcesAllInOne.cpp: Add the generated .cpp files. + * storage/StorageAreaImpl.cpp: #include "DOMWindow.h" + +2009-07-16 Fumitoshi Ukai <ukai@chromium.org> + + Reviewed by David Levin. + + Add --web-sockets flag and ENABLE_WEB_SOCKETS define. + https://bugs.webkit.org/show_bug.cgi?id=27206 + + Add ENABLE_WEB_SOCKETS + + * Configurations/FeatureDefines.xcconfig: add ENABLE_WEB_SOCKETS + * GNUmakefile.am: add ENABLE_WEB_SOCKETS + * WebCore.vcproj/WebCoreCommon.vsprops: add ENABLE_WEB_SOCKETS + * WebCore.vcproj/build-generated-files.sh: add ENABLE_WEB_SOCKETS + +2009-07-16 Maxime Simon <simon.maxime@gmail.com> + + Reviewed by Oliver Hunt. + + Added a third bunch of Haiku-specific files for WebCore. + https://bugs.webkit.org/show_bug.cgi?id=26952 + + Adding five files, EventLoopHaiku.cpp, FileChooserHaiku.cpp, + FileSystemHaiku.cpp, KeyboardCodes.h and MIMETypeRegistryHaiku.cpp + + * platform/haiku/EventLoopHaiku.cpp: Added. + (WebCore::EventLoop::cycle): + * platform/haiku/FileChooserHaiku.cpp: Added. + (WebCore::FileChooser::FileChooser): + (WebCore::FileChooser::basenameForWidth): + * platform/haiku/FileSystemHaiku.cpp: Added. + (WebCore::fileSystemRepresentation): + (WebCore::homeDirectoryPath): + (WebCore::openTemporaryFile): + (WebCore::closeFile): + (WebCore::writeToFile): + (WebCore::unloadModule): + (WebCore::listDirectory): + * platform/haiku/KeyboardCodes.h: Added. + * platform/haiku/MIMETypeRegistryHaiku.cpp: Added. + (WebCore::): + (WebCore::MIMETypeRegistry::getMIMETypeForExtension): + +2009-07-16 Maxime Simon <simon.maxime@gmail.com> + + Reviewed by Oliver Hunt. + + Added a second bunch of Haiku-specific files for WebCore. + https://bugs.webkit.org/show_bug.cgi?id=26952 + + Adding four files, ContextMenuHaiku.cpp, ContextMenuItemHaiku.cpp, + DragDataHaiku.cpp and DragImageHaiku.cpp + + * platform/haiku/ContextMenuHaiku.cpp: Added. + (WebCore::ContextMenuReceiver::ContextMenuReceiver): + (WebCore::ContextMenuReceiver::HandleMessage): + (WebCore::ContextMenuReceiver::Result): + (WebCore::ContextMenu::ContextMenu): + (WebCore::ContextMenu::~ContextMenu): + (WebCore::ContextMenu::appendItem): + (WebCore::ContextMenu::itemCount): + (WebCore::ContextMenu::insertItem): + (WebCore::ContextMenu::platformDescription): + (WebCore::ContextMenu::setPlatformDescription): + * platform/haiku/ContextMenuItemHaiku.cpp: Added. + (ContextMenuItem::ContextMenuItem): + (ContextMenuItem::~ContextMenuItem): + (ContextMenuItem::releasePlatformDescription): + (ContextMenuItem::type): + (ContextMenuItem::setType): + (ContextMenuItem::action): + (ContextMenuItem::setAction): + (ContextMenuItem::title): + (ContextMenuItem::setTitle): + (ContextMenuItem::platformSubMenu): + (ContextMenuItem::setSubMenu): + (ContextMenuItem::setChecked): + (ContextMenuItem::setEnabled): + (ContextMenuItem::enabled): + * platform/haiku/DragDataHaiku.cpp: Added. + (WebCore::DragData::canSmartReplace): + (WebCore::DragData::containsColor): + (WebCore::DragData::containsFiles): + (WebCore::DragData::asFilenames): + (WebCore::DragData::containsPlainText): + (WebCore::DragData::asPlainText): + (WebCore::DragData::asColor): + (WebCore::DragData::createClipboard): + (WebCore::DragData::containsCompatibleContent): + (WebCore::DragData::containsURL): + (WebCore::DragData::asURL): + (WebCore::DragData::asFragment): + * platform/haiku/DragImageHaiku.cpp: Added. + (WebCore::dragImageSize): + (WebCore::deleteDragImage): + (WebCore::scaleDragImage): + (WebCore::dissolveDragImageToFraction): + (WebCore::createDragImageFromImage): + (WebCore::createDragImageIconForCachedImage): + +2009-07-16 Stephen White <senorblanco@chromium.org> + + Reviewed by Darin Fisher and Brett Wilson. + + Refactor Skia implementation of gradients and patterns. + + http://bugs.webkit.org/show_bug.cgi?id=26618 + + The following layout tests were breaking on Chromium/Linux: + + LayoutTests/svg/custom/js-late-gradient-creation.svg (bad baseline PNG) + LayoutTests/svg/custom/js-late-gradient-and-object.creation.svg + LayoutTests/svg/custom/js-late-pattern-creation.svg (bad baseline PNG) + LayoutTests/svg/custom/js-late-pattern-and-object-creation.svg + + I could've fixed these the easy way, by copying the same 5 + lines of code we use everywhere we need patterns or gradients, but + I decided to fix it the hard way: by refactoring the code so that + PlatformContextSkia::setupPaintForFilling() and + PlatformContextSkia::setupPaintForStroking() do the right thing, + and also handle gradients and patterns. + + This required pushing the gradients and patterns set in + (generic) GraphicsContext::setFillPattern() and friends down into + PlatformContextSkia. For this, I followed the setPlatformXXX() + pattern used elsewhere in GraphicsContext, and stubbed them out on + the other platforms with #if !PLATFORM(SKIA). This also required + pushing changes to the gradientSpaceTransform from the Gradient into + GradientSkia. + + Since it's a Skia context, I decided to cache the values as + SkShaders. There were existing m_pattern and m_gradient SkShaders, + but they were unused, and whose use was ambiguous, so I + replaced them with one SkShader each for filling and stroking. + + * platform/graphics/Gradient.cpp: + (WebCore::Gradient::setGradientSpaceTransform): + (WebCore::Gradient::setPlatformGradientSpaceTransform): + * platform/graphics/Gradient.h: + * platform/graphics/GraphicsContext.cpp: + (WebCore::GraphicsContext::setStrokePattern): + (WebCore::GraphicsContext::setFillPattern): + (WebCore::GraphicsContext::setStrokeGradient): + (WebCore::GraphicsContext::setFillGradient): + (WebCore::GraphicsContext::setPlatformFillGradient): + (WebCore::GraphicsContext::setPlatformFillPattern): + (WebCore::GraphicsContext::setPlatformStrokeGradient): + (WebCore::GraphicsContext::setPlatformStrokePattern): + * platform/graphics/GraphicsContext.h: + * platform/graphics/skia/GradientSkia.cpp: + (WebCore::Gradient::setPlatformGradientSpaceTransform): + * platform/graphics/skia/GraphicsContextSkia.cpp: + (WebCore::GraphicsContext::fillPath): + (WebCore::GraphicsContext::fillRect): + (WebCore::GraphicsContext::setPlatformFillGradient): + (WebCore::GraphicsContext::setPlatformFillPattern): + (WebCore::GraphicsContext::setPlatformStrokeGradient): + (WebCore::GraphicsContext::setPlatformStrokePattern): + (WebCore::GraphicsContext::strokePath): + (WebCore::GraphicsContext::strokeRect): + * platform/graphics/skia/PlatformContextSkia.cpp: + (PlatformContextSkia::State::State): + (PlatformContextSkia::State::~State): + (PlatformContextSkia::drawRect): + (PlatformContextSkia::setupPaintCommon): + (PlatformContextSkia::setupPaintForFilling): + (PlatformContextSkia::setupPaintForStroking): + (PlatformContextSkia::setFillColor): + (PlatformContextSkia::setStrokeColor): + (PlatformContextSkia::setStrokeShader): + (PlatformContextSkia::setFillShader): + * platform/graphics/skia/PlatformContextSkia.h: + * platform/graphics/skia/SkiaFontWin.cpp: + (WebCore::skiaDrawText): + (WebCore::paintSkiaText): + * svg/graphics/SVGPaintServer.cpp: + (WebCore::SVGPaintServer::teardown): + +2009-07-16 Maxime Simon <simon.maxime@gmail.com> + + Reviewed by Oliver Hunt. + + Added Haiku-specific files for WebCore/platform/image-decoders/. + https://bugs.webkit.org/show_bug.cgi?id=26949 + + Adding a new file, ImageDecoderHaiku.cpp. + + * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Added. + (WebCore::RGBA32Buffer::RGBA32Buffer): + (WebCore::RGBA32Buffer::clear): + (WebCore::RGBA32Buffer::zeroFill): + (WebCore::RGBA32Buffer::copyBitmapData): + (WebCore::RGBA32Buffer::setSize): + (WebCore::RGBA32Buffer::asNewNativeImage): + (WebCore::RGBA32Buffer::hasAlpha): + (WebCore::RGBA32Buffer::setHasAlpha): + (WebCore::RGBA32Buffer::setStatus): + (WebCore::RGBA32Buffer::operator=): + (WebCore::RGBA32Buffer::width): + (WebCore::RGBA32Buffer::height): + +2009-07-16 Maxime Simon <simon.maxime@gmail.com> + + Reviewed by Eric Seidel. + + Added Haiku-specific files for WebCore/page/. + https://bugs.webkit.org/show_bug.cgi?id=26949 + + Adding three new files, DragControllerHaiku.cpp, EventHandlerHaiku.cpp + and FrameHaiku.cpp + + * page/haiku/DragControllerHaiku.cpp: Added. + (WebCore::DragController::isCopyKeyDown): + (WebCore::DragController::dragOperation): + (WebCore::DragController::maxDragImageSize): + (WebCore::DragController::cleanupAfterSystemDrag): + * page/haiku/EventHandlerHaiku.cpp: Added. + (WebCore::isKeyboardOptionTab): + (WebCore::EventHandler::invertSenseOfTabsToLinks): + (WebCore::EventHandler::tabsToAllControls): + (WebCore::EventHandler::focusDocumentView): + (WebCore::EventHandler::passWidgetMouseDownEventToWidget): + (WebCore::EventHandler::passMouseDownEventToWidget): + (WebCore::EventHandler::eventActivatedView): + (WebCore::EventHandler::passSubframeEventToSubframe): + (WebCore::EventHandler::passWheelEventToWidget): + (WebCore::EventHandler::createDraggingClipboard): + (WebCore::EventHandler::passMousePressEventToSubframe): + (WebCore::EventHandler::passMouseMoveEventToSubframe): + (WebCore::EventHandler::passMouseReleaseEventToSubframe): + (WebCore::EventHandler::accessKeyModifiers): + * page/haiku/FrameHaiku.cpp: Added. + (WebCore::Frame::dragImageForSelection): + +2009-07-16 Maxime Simon <simon.maxime@gmail.com> + + Reviewed by Eric Seidel. + + Added Haiku-specific files for WebCore/editing/. + https://bugs.webkit.org/show_bug.cgi?id=26949 + + Adding one new file, EditorHaiku.cpp + + * editing/haiku/EditorHaiku.cpp: Added. + (WebCore::Editor::newGeneralClipboard): + +2009-07-16 Maxime Simon <simon.maxime@gmail.com> + + Reviewed by Eric Seidel. + + Added Haiku-specific files for WebCore/bindings/js/. + https://bugs.webkit.org/show_bug.cgi?id=26949 + + Adding a new file, ScriptControllerHaiku.cpp + + * bindings/js/ScriptControllerHaiku.cpp: Added. + (WebCore::ScriptController::createScriptInstanceForWidget): + +2009-07-16 Maxime Simon <simon.maxime@gmail.com> + + Reviewed by Eric Seidel. + + Added Haiku-specific files for WebCore/platform/text/. + https://bugs.webkit.org/show_bug.cgi?id=26949 + + Adding two new files, StringHaiku.cpp + and TextBreakIteratorInternalICUHaiku.cpp + + * platform/text/haiku/StringHaiku.cpp: Added. + (WebCore::String::String): + (WebCore::String::operator BString): + * platform/text/haiku/TextBreakIteratorInternalICUHaiku.cpp: Added. + (WebCore::currentTextBreakLocaleID): + +2009-07-16 Kent Tamura <tkent@chromium.org> + + Reviewed by Eric Seidel. + + Sends the basename of a selected file for non-multipart form submission. + <https://bugs.webkit.org/show_bug.cgi?id=26505> + + Test: fast/forms/get-file-upload.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::appendFormData): + +2009-07-16 Adam Barth <abarth@webkit.org> + + Reviewed by David Levin. + + [V8] Centralize hidden property names + https://bugs.webkit.org/show_bug.cgi?id=27359 + + No behavior change. Just moving these names to a central location. + I'll move the rest of our hidden property names as I sweep though the + bindings. + + * WebCore.gypi: + * bindings/v8/V8HiddenPropertyName.cpp: Added. + (WebCore::V8HiddenPropertyName::objectPrototype): + (WebCore::V8HiddenPropertyName::isolatedWorld): + * bindings/v8/V8HiddenPropertyName.h: Added. + * bindings/v8/V8IsolatedWorld.cpp: + (WebCore::V8IsolatedWorld::V8IsolatedWorld): + (WebCore::V8IsolatedWorld::getEntered): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::getHiddenObjectPrototype): + (WebCore::V8Proxy::installHiddenObjectPrototype): + +2009-07-16 Dan Bernstein <mitz@apple.com> + + Reviewed by Simon Fraser. + + REGRESSION (r41238) Repainted portion of a scaled image does not line up with full image + https://bugs.webkit.org/show_bug.cgi?id=26747 + rdar://problem/7009243 + + Test: fast/repaint/background-misaligned.html + + * platform/graphics/Image.cpp: + (WebCore::Image::drawTiled): Moved a variable definition closer to where + it is used. + * platform/graphics/cg/ImageCG.cpp: + (WebCore::BitmapImage::draw): In the subimage code path, compute a + pixel-aligned source rect, because the subiamge is always pixel-aligned + in source space, and adjust the destination rect to preserve the + source -> destination mapping. Clip to the (original) destination rect + to prevent bleeding out. + +2009-07-16 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Adam Barth. + + Add a sessionStorageEnabled setting to the settings class. + https://bugs.webkit.org/show_bug.cgi?id=27318 + + Allow LocalStorage to be enabled without enabling SessionStorage at + runtime. There is a settings class setting for localStorage, but not + for sessionStorage. We want to be able to test one of these features + without necessarily enabling the other. + + SessionStorage defaults to true so as to not change behavior and + because there really aren't any security concerns around SessionStorage + (unlike LocalsStorage). The flag is needed in Chromium only because + we want to enable the compile time flag in the default build, but don't + want it on by default until it's been thoroughly tested. + + * page/DOMWindow.cpp: + (WebCore::DOMWindow::sessionStorage): Check the new flag + (WebCore::DOMWindow::localStorage): A bit of cleanup + * page/Settings.cpp: + (WebCore::Settings::Settings): Default the flag to true + (WebCore::Settings::setSessionStorageEnabled): Add the new flag + * page/Settings.h: + (WebCore::Settings::sessionStorageEnabled): Get the new flag + +2009-07-16 Adam Barth <abarth@webkit.org> + + Unreviewed. + + Revert 45987. Tests did not pass on Windows. + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::appendFormData): + +2009-07-16 Drew Wilson <atwilson@google.com> + + Reviewed by David Levin. + + Added SHARED_WORKER flag to Windows build files, as well as associated .ccp/.h files. + Added missing V8 bindings to the AllInOne file + + https://bugs.webkit.org/show_bug.cgi?id=27321 + + * WebCore.vcproj/WebCore.vcproj: + Added missing files to build. + * bindings/v8/DerivedSourcesAllInOne.cpp: + Added missing V8 bindings (V8AbstractWorker.cpp and V8SharedWorker.cpp) + * DerivedSources.cpp + Added missing JS bindings (JSAbstractWorker.cpp and JSSharedWorker.cpp) + +2009-07-16 John Abd-El-Malek <jam@chromium.org> + + Reviewed by David Levin. + + Add a getter in MessagePortChannel for the PlatformMessagePortChannel. + + https://bugs.webkit.org/show_bug.cgi?id=27337 + + * dom/MessagePortChannel.h: + (WebCore::MessagePortChannel::channel): + +2009-07-16 Xiaomei Ji <xji@chromium.org> + + Reviewed by Darin Adler. + + Fix tooltip does not get its directionality from its element's directionality. + https://bugs.webkit.org/show_bug.cgi?id=24187 + + Per mitz's suggestion in comment #6, while getting the plain-text + title, we also get the directionality of the title. How to handle + the directionality is up to clients. Clients could ignore it, + or use attribute or unicode control characters to display the title + as what they want. + + WARNING: NO TEST CASES ADDED OR CHANGED + + * WebCore.base.exp: Replace 2 names due to signature change. + * loader/EmptyClients.h: + (WebCore::EmptyChromeClient::setToolTip): Add direction as 2nd parameter. + * page/Chrome.cpp: + (WebCore::Chrome::setToolTip): Calculate tooltip direction as well and pass it to client to take care when display tooltip. + * page/ChromeClient.h: Add direction as 2nd parameter to pure virtual function setToolTip(). + * page/chromium/ChromeClientChromium.h: + (WebCore::ChromeClientChromium::setToolTip): Add setToolTip() + temprarily to make chromium compile after pick up this webkit patch. + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::spellingToolTip): Besides getting the + spelling tooltip, get its directionality as well. + (WebCore::HitTestResult::title): Besides getting the title, + get its directionality as well. + * rendering/HitTestResult.h: Add 2 more methods. + +2009-07-16 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by Oliver Hunt. + + [CAIRO] pattern of a canvas-element changes after modifications on canvas-element + https://bugs.webkit.org/show_bug.cgi?id=20578 + + Copy pixel image in ImageBuffer::image() just like CG and Skia glue. + + Test: fast/canvas/canvas-pattern-modify.html + + * platform/graphics/cairo/ImageBufferCairo.cpp: + (copySurface): + (WebCore::ImageBuffer::image): + +2009-07-16 David Hyatt <hyatt@apple.com> + + Reviewed by Beth Dakin. + + https://bugs.webkit.org/show_bug.cgi?id=27353 + Images mispositioned because of bug in percentage-based relative positioning. + + Added fast/css/nested-floating-relative-position-percentages.html + + * rendering/RenderBoxModelObject.cpp: + (WebCore::RenderBoxModelObject::relativePositionOffsetX): + +2009-07-16 Kent Tamura <tkent@chromium.org> + + Reviewed by Eric Seidel. + + Sends the basename of a selected file for non-multipart form submission. + <https://bugs.webkit.org/show_bug.cgi?id=26505> + + Test: fast/forms/get-file-upload.html + + * html/HTMLInputElement.cpp: + (WebCore::HTMLInputElement::appendFormData): + +2009-07-16 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Darin Adler. + + Video size sometimes jumps just after the video starts loading + https://bugs.webkit.org/show_bug.cgi?id=27352 + + Ensure that the media player is at or after the 'HaveMetadata' state so that + the instrinsic size is known before we create the layer for video. This avoids + a flash caused by computing the video rect using the default intrinsic size, and then + re-computing it when that size changes. + + * platform/graphics/mac/MediaPlayerPrivateQTKit.h: + * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: + (WebCore::MediaPlayerPrivate::isReadyForRendering): + (WebCore::MediaPlayerPrivate::updateStates): + (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering): + +2009-07-16 Brady Eidson <beidson@apple.com> + + Reviewed by Antti Koivisto. + Patch by Brady Eidson and Alexey Proskuryakov. + + https://bugs.webkit.org/show_bug.cgi?id=26496 + <rdar://problem/7065391> Microsoft Outlook Web Access fails because XHR stream connection blocks script loading/revalidation + + After refreshing a page and when all CachedResources on that page are in validation mode, they got an exemption + from the connection-per-host limit. Removing that exemption makes the test case load smoothly after reloads. + + * loader/loader.cpp: + (WebCore::Loader::Host::servePendingRequests): Remove the resourceIsCacheValidator exemption to the connection-per-host limit. + +2009-07-16 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + [V8] V8IsolatedWorld::evaluate needs to call didCreateIsolatedScriptContext + https://bugs.webkit.org/show_bug.cgi?id=27335 + + evaluateInNewContext makes this delegate call. evaluateInNewWorld + needs to make the same call. This does not appear to be testable with + our current technology. + + * bindings/v8/V8IsolatedWorld.cpp: + (WebCore::V8IsolatedWorld::evaluate): + +2009-07-15 Jakub Wieczorek <faw217@gmail.com> + + Reviewed by Simon Hausmann. + + Fix a typo: application/atom=xml -> application/atom+xml. + + * dom/ProcessingInstruction.cpp: + (WebCore::ProcessingInstruction::checkStyleSheet): + +2009-07-16 Dean McNamee <deanm@chromium.org> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=27292 + Improve handling of <canvas> path operations on an empty path. + Implement Skia's Path::hasCurrentPoint(). + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::lineTo): + (WebCore::CanvasRenderingContext2D::quadraticCurveTo): + (WebCore::CanvasRenderingContext2D::bezierCurveTo): + * platform/graphics/skia/PathSkia.cpp: + (WebCore::Path::hasCurrentPoint): + +2009-07-15 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by Eric Seidel. + + Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute + https://bugs.webkit.org/show_bug.cgi?id=26254 + + Make it so that setting white-space and word-wrap via CSS + overrides the wrap attribute. + + This involves having the shadow div in the textarea inherit + the CSS from its parent instead of hard-coding it in + RenderTextControlMultiline. + + Committer note: Earlier I reverted this change because I did it incorrectly + by leaving out css/html.css. In the patch, the filename was the old name + css/html4.css and that led to my error. + + * css/html.css: + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::parseMappedAttribute): + * rendering/RenderTextControlMultiLine.cpp: + (WebCore::RenderTextControlMultiLine::createInnerTextStyle): + +2009-07-15 James Hawkins <jhawkins@google.com> + + Reviewed by Adam Barth. + + [V8] Remove a local variable that is shadowing a function parameter. + https://bugs.webkit.org/show_bug.cgi?id=27309 + + No test required as this modification does not change the current behavior. + + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::instantiateV8Object): + +2009-07-15 Adam Langley <agl@google.com> + + No review: reverting previous change. + + Revert r45959: + + 2009-07-15 Dumitru Daniliuc <dumi@chromium.org> + Reviewed by Dimitri Glazkov. + + Adding the Win SQLite VFS implementation for Chromium. + + https://bugs.webkit.org/show_bug.cgi?id=26940 + + + The Chromium side of this patch was landed in 20839, but broke the build. It + was reverted in r20840. Thus, I'm reverting this side of the patch too. + + * WebCore.gypi: + * platform/chromium/ChromiumBridge.h: + * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Removed. + * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Removed. + +2009-07-15 David Levin <levin@chromium.org> + + Layout test fix, reverting previous change. + + Reverting r45962 as it caused several layout test failures. + + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::parseMappedAttribute): + * rendering/RenderTextControlMultiLine.cpp: + (WebCore::RenderTextControlMultiLine::createInnerTextStyle): + +2009-06-08 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by Eric Seidel. + + Setting white-space and word-wrap via CSS in textarea doesn't override the wrap attribute + https://bugs.webkit.org/show_bug.cgi?id=26254 + + Make it so that setting white-space and word-wrap via CSS + overrides the wrap attribute. + + This involves having the shadow div in the textarea inherit + the CSS from its parent instead of hard-coding it in + RenderTextControlMultiline. + + * css/html4.css: + * html/HTMLTextAreaElement.cpp: + (WebCore::HTMLTextAreaElement::parseMappedAttribute): + * rendering/RenderTextControlMultiLine.cpp: + (WebCore::RenderTextControlMultiLine::createInnerTextStyle): + +2009-07-15 Dumitru Daniliuc <dumi@chromium.org> + + Reviewed by Dimitri Glazkov. + + Adding the Win SQLite VFS implementation for Chromium. + + https://bugs.webkit.org/show_bug.cgi?id=26940 + + * platform/chromium/ChromiumBridge.h: + * platform/sql/chromium: Added. + * platform/sql/chromium/SQLiteFileSystemChromium.cpp: Added. + * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp: Added. + +2009-07-15 Jian Li <jianli@chromium.org> + + Reviewed by David Levin. + + Bug 25151 - workers that fail to load scripts not firing error event. + https://bugs.webkit.org/show_bug.cgi?id=25151 + + This fixes the problem that an error event is not fired when the worker + script fails to load. Some reasons this may occur are an invalid URL for + the worker script or a cross-origin redirect. + + We also moves the code to complete the URL and check its origin from + Worker constructor to WorkerScriptLoader loading functions in order to + move the exception throwing logic out of the scope of Worker constructor. + Due to this change, we also remove the output ExceptionCode parameter + in the worker constructor. Corresponding JS/V8 binding codes have been + updated to reflect this change. + + * bindings/js/JSWorkerConstructor.cpp: + (WebCore::constructWorker): + * bindings/v8/custom/V8WorkerCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * workers/Worker.cpp: + (WebCore::Worker::Worker): + (WebCore::Worker::notifyFinished): + * workers/Worker.h: + (WebCore::Worker::create): + * workers/WorkerContext.cpp: + (WebCore::WorkerContext::importScripts): + * workers/WorkerScriptLoader.cpp: + (WebCore::toCrossOriginRedirectPolicy): + (WebCore::WorkerScriptLoader::loadSynchronously): + (WebCore::WorkerScriptLoader::loadAsynchronously): + (WebCore::notifyLoadErrorTask): + (WebCore::WorkerScriptLoader::createResourceRequest): + (WebCore::WorkerScriptLoader::didFail): + (WebCore::WorkerScriptLoader::didFailRedirectCheck): + (WebCore::WorkerScriptLoader::didReceiveAuthenticationCancellation): + (WebCore::WorkerScriptLoader::notifyError): + * workers/WorkerScriptLoader.h: + (WebCore::): + (WebCore::WorkerScriptLoader::url): + +2009-07-15 Dan Bernstein <mitz@apple.com> + + Reviewed by Dave Hyatt. + + text-shadow is not drawn for text with transparent colour + https://bugs.webkit.org/show_bug.cgi?id=21374 + + Test: fast/text/shadow-translucent-fill.html + + * rendering/InlineTextBox.cpp: + (WebCore::paintTextWithShadows): If the text fill color is not opaque, + paint all shadows separately from the text, by casting them from + clipped-out opaque text. + +2009-07-15 Adam Treat <adam.treat@torchmobile.com> + + Fix the Qt build. + + * html/HTMLAreaElement.cpp: + +2009-07-15 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Darin Fisher. + + Cleanup DOM Storage dependencies. + https://bugs.webkit.org/show_bug.cgi?id=27180 + + DOM Storage had several unnecessary (and probably unintended) + dependencies. This patch replaces many includes of header files with + forward declaration of classes, making some destructors explicit, and + taking some factories out of the header files. + + This will allow things like StorageAreaSync to take a StorageAreaImpl* + (as it should) rather than a StorageArea* which previously weren't + possible because the dependencies were such a tangled mess. + + * storage/LocalStorageTask.cpp: + (WebCore::LocalStorageTask::~LocalStorageTask): + * storage/LocalStorageTask.h: + * storage/Storage.cpp: + (WebCore::Storage::~Storage): + * storage/Storage.h: + * storage/StorageArea.cpp: + * storage/StorageArea.h: + * storage/StorageAreaImpl.cpp: + * storage/StorageAreaImpl.h: + * storage/StorageAreaSync.cpp: + (WebCore::StorageAreaSync::~StorageAreaSync): + * storage/StorageAreaSync.h: + * storage/StorageEvent.cpp: + (WebCore::StorageEvent::create): + (WebCore::StorageEvent::StorageEvent): + * storage/StorageEvent.h: + * storage/StorageNamespace.h: + * storage/StorageNamespaceImpl.cpp: + * storage/StorageNamespaceImpl.h: + * storage/StorageSyncManager.cpp: + (WebCore::StorageSyncManager::~StorageSyncManager): + * storage/StorageSyncManager.h: + +2009-07-15 Chris Marrin <cmarrin@apple.com> + + Reviewed by Simon Fraser. + + Incorrect animation when trying to duplicate effect of transform-origin + https://bugs.webkit.org/show_bug.cgi?id=27310 + + The bug is that matrix animation is being used when animating + a list of transform functions that match in the from and to states. + This sometimes works. But because of the way CA does matrix animation + function lists like the one shown in the testcase animate incorrectly. + + This fixes the bug by always doing component animation + as long as the function lists match. This allows CA + to animate the components and then recompose the result + into the correct matrix. + + Test: animations/transform-origin-vs-functions.html + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::animateTransform): + +2009-07-15 Albert J. Wong <ajwong@chromium.org> + + Reviewed by David Levin. + + Upstream the V8NPObject and NPV8Object build changes for WebCore.gypi. + + Add upstreamed V8 bindings files into WebCore.gypi so they can be seen + downstream + https://bugs.webkit.org/show_bug.cgi?id=27274 + + Changes the build file for chromium. Test built the chromium tree + to verify. + + * WebCore.gypi: + +2009-07-15 Mark Rowe <mrowe@apple.com> + + I like it when the code compiles. + + * WebCore.base.exp: + +2009-07-15 Darin Adler <darin@apple.com> + + Reviewed by Sam Weinig. + + Renamed parseURL to deprecatedParseURL. + + * bindings/js/JSAttrCustom.cpp: + (WebCore::JSAttr::setValue): Renamed. + * bindings/js/JSElementCustom.cpp: + (WebCore::allowSettingSrcToJavascriptURL): Renamed. + * bindings/js/JSHTMLFrameElementCustom.cpp: + (WebCore::allowSettingJavascriptURL): Renamed. + * bindings/js/JSHTMLIFrameElementCustom.cpp: + (WebCore::JSHTMLIFrameElement::setSrc): Renamed. + * bindings/objc/DOM.mm: + (-[DOMElement _getURLAttribute:]): Renamed. + * bindings/objc/DOMHTML.mm: + (-[DOMHTMLDocument _createDocumentFragmentWithMarkupString:baseURLString:]): Renamed. + * bindings/v8/custom/V8CustomBinding.cpp: + (WebCore::allowSettingFrameSrcToJavascriptUrl): Renamed. + * css/CSSHelper.cpp: + (WebCore::deprecatedParseURL): Renamed. + * css/CSSHelper.h: Renamed and updated comment. + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::defaultEventHandler): Renamed. + (WebCore::HTMLAnchorElement::parseMappedAttribute): Renamed. + * html/HTMLBaseElement.cpp: + (WebCore::HTMLBaseElement::parseMappedAttribute): Renamed. + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::parseMappedAttribute): Renamed. + * html/HTMLEmbedElement.cpp: + (WebCore::HTMLEmbedElement::parseMappedAttribute): Renamed. + * html/HTMLFormElement.cpp: + (WebCore::HTMLFormElement::parseMappedAttribute): Renamed. + * html/HTMLFrameElementBase.cpp: + (WebCore::HTMLFrameElementBase::parseMappedAttribute): Renamed. + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::parseMappedAttribute): Renamed. + * html/HTMLImageLoader.cpp: + (WebCore::HTMLImageLoader::sourceURI): Renamed. + * html/HTMLLinkElement.cpp: + (WebCore::HTMLLinkElement::parseMappedAttribute): Renamed. + * html/HTMLObjectElement.cpp: + (WebCore::HTMLObjectElement::parseMappedAttribute): Renamed. + * html/HTMLTableElement.cpp: + (WebCore::HTMLTableElement::parseMappedAttribute): Renamed. + * html/HTMLTablePartElement.cpp: + (WebCore::HTMLTablePartElement::parseMappedAttribute): Renamed. + * html/HTMLTokenizer.cpp: + (WebCore::HTMLTokenizer::parseTag): Renamed. + * html/PreloadScanner.cpp: + (WebCore::PreloadScanner::processAttribute): Renamed. + (WebCore::PreloadScanner::emitCSSRule): Renamed. + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::declareAndWriteDragImage): Renamed. + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeImage): Renamed. + * platform/qt/ClipboardQt.cpp: + (WebCore::ClipboardQt::declareAndWriteDragImage): Renamed. + * platform/win/ClipboardWin.cpp: + (WebCore::ClipboardWin::declareAndWriteDragImage): Renamed. + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::absoluteImageURL): Renamed. + (WebCore::HitTestResult::absoluteMediaURL): Renamed. + (WebCore::HitTestResult::absoluteLinkURL): Renamed. + * svg/SVGAElement.cpp: + (WebCore::SVGAElement::defaultEventHandler): Renamed. + * svg/SVGImageLoader.cpp: + (WebCore::SVGImageLoader::sourceURI): Renamed. + * wml/WMLAElement.cpp: + (WebCore::WMLAElement::defaultEventHandler): Renamed. + * wml/WMLImageLoader.cpp: + (WebCore::WMLImageLoader::sourceURI): Renamed. + +2009-07-15 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + CSSHelper.h's parseURL is a function that no one should ever call + Part 1: Eliminate callers in the CSS parser. + https://bugs.webkit.org/show_bug.cgi?id=26599 + + Test: fast/css/uri-token-parsing.html + + * css/CSSHelper.h: Added a comment explaining why nobody should ever call this + function. A FIXME suggests a next step, which would be to rename it deprecatedParseURL. + + * css/CSSParser.cpp: + (WebCore::CSSParser::parseValue): Removed unneeded call to parseURL; + CSSParser::text already takes care of parsing the URI token syntax, and the + parseURL function does no good. + (WebCore::CSSParser::parseContent): Ditto. + (WebCore::CSSParser::parseFillImage): Ditto. + (WebCore::CSSParser::parseFontFaceSrc): Ditto. + (WebCore::CSSParser::parseBorderImage): Ditto. + (WebCore::isCSSWhitespace): Added. Helper function that makes the text function + easier to read. + (WebCore::CSSParser::text): Tweak logic so that leading and trailing whitespace + are both trimmed before removing the quote marks. Changed to use the + isCSSWhitespace, isASCIIHexDigit, and toASCIIHexValue functions for clarity. + + * css/CSSParser.h: Removed stray "public:" in this header. + + * platform/text/StringImpl.cpp: + (WebCore::StringImpl::substring): Optimized the case where the substring covers + the entire string, so we just share the StringImpl instead of making a new one. + This case came up in earlier versions of the CSS parser changes above. + (WebCore::StringImpl::substringCopy): Streamlined the logic here and made it + not call substring any more. Before, this was relying on the substring function + always making a copy of any non-empty substring. + +2009-07-15 Darin Adler <darin@apple.com> + + Reviewed by John Sullivan. + + After double-clicking a word, using Shift-arrow to select behaves unpredictably + https://bugs.webkit.org/show_bug.cgi?id=27177 + rdar://problem/7034324 + + Test: editing/selection/extend-selection-after-double-click.html + + The bug was due to the m_lastChangeWasHorizontalExtension flag, which was not + being cleared in many cases where it should have been. + + * editing/SelectionController.cpp: + (WebCore::SelectionController::setSelection): Set m_lastChangeWasHorizontalExtension + to false. This catches all sorts of cases that don't flow through the modify function. + Before, the flag would reflect the last call to the modify function, which was not + necessarily the last selection change. + (WebCore::SelectionController::willBeModified): Rearrange function for clarity. + Remove code that sets m_lastChangeWasHorizontalExtension; that is now handled elsewhere. + (WebCore::SelectionController::modify): Call setLastChangeWasHorizontalExtension after + setSelection when setting up a trial selection controller, since setSelection now + clears that flag. Also changed both trial selection controller cases to set the flag, + although it's not strictly necessary in both cases. Added code to set + m_lastChangeWasHorizontalExtension when extending the selection, which used to be + handled in willBeModified. Now we need to do it after the selection change. + +2009-07-15 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Dimitri Glazkov. + + Need to update DOM Storage files in GYPI file. + https://bugs.webkit.org/show_bug.cgi?id=27317 + + Need to update DOM Storage files in the GYPI file. They're pretty out + of date and we're on the path towards enabling them for everyone! + + * WebCore.gypi: + +2009-07-15 Kwang Yul Seo <skyul@company100.net> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=26794 + Make Yacc-generated parsers to use fastMalloc/fastFree. + + Define YYMALLOC and YYFREE to fastMalloc and fastFree + respectively. + + * css/CSSGrammar.y: + * xml/XPathGrammar.y: + +2009-07-15 David Hyatt <hyatt@apple.com> + + Reviewed by Adam Roben. + + https://bugs.webkit.org/show_bug.cgi?id=27193 + Don't run in to anonymous blocks. No other browsers do this, and our implementation of run-in + is effectively broken as a result. + + No new tests. Changed fast/runin/001.html and fast/runin/generated.html to match new behavior. + + * rendering/RenderBlock.cpp: + (WebCore::RenderBlock::handleRunInChild): + +2009-07-15 Yuzo Fujishima <yuzo@google.com> + + Reviewed by Darin Adler. + + Test: fast/js/instanceof-operator.html + + Fix for: Bug 25205 - XMLHttpRequest instance is not an instanceof XMLHttpRequest + https://bugs.webkit.org/show_bug.cgi?id=25205 + + In addition to for XMLHttpRequest, this also fixes for: + - Audio + - Image + - MessageChannel + - Option + - WebKitCSSMatrix + - WebKitPoint + - Worker + - XSLTProcessor + + * bindings/js/JSAudioConstructor.cpp: + (WebCore::JSAudioConstructor::JSAudioConstructor): + * bindings/js/JSAudioConstructor.h: + * bindings/js/JSDOMBinding.h: + (WebCore::DOMConstructorObject::createStructure): + (WebCore::DOMConstructorObject::DOMConstructorObject): + * bindings/js/JSImageConstructor.cpp: + (WebCore::JSImageConstructor::JSImageConstructor): + * bindings/js/JSImageConstructor.h: + * bindings/js/JSMessageChannelConstructor.cpp: + (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor): + * bindings/js/JSMessageChannelConstructor.h: + * bindings/js/JSOptionConstructor.cpp: + (WebCore::JSOptionConstructor::JSOptionConstructor): + * bindings/js/JSOptionConstructor.h: + * bindings/js/JSWebKitCSSMatrixConstructor.cpp: + (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor): + * bindings/js/JSWebKitCSSMatrixConstructor.h: + * bindings/js/JSWebKitPointConstructor.cpp: + (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor): + * bindings/js/JSWebKitPointConstructor.h: + * bindings/js/JSWorkerConstructor.cpp: + (WebCore::JSWorkerConstructor::JSWorkerConstructor): + * bindings/js/JSWorkerConstructor.h: + * bindings/js/JSXMLHttpRequestConstructor.cpp: + (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor): + * bindings/js/JSXMLHttpRequestConstructor.h: + * bindings/js/JSXSLTProcessorConstructor.cpp: + (WebCore::JSXSLTProcessorConstructor::JSXSLTProcessorConstructor): + * bindings/js/JSXSLTProcessorConstructor.h: + +2009-07-15 Kai Br�ning <kai@granus.net> + + Reviewed by Dave Hyatt. + + CSS21 attribute selectors not dynamic for xml. + https://bugs.webkit.org/show_bug.cgi?id=25072 + + Moved the relevant test in StyledElement::attributeChanged() + to a new function Element::recalcStyleIfNeededAfterAttributeChanged() + so it can be called from both StyledElement::attributeChanged() + and Element::attributeChanged(). + Refactored Element::attributeChanged() into + Element::updateAfterAttributeChanged() and + Element::recalcStyleIfNeededAfterAttributeChanged(), which are called + separately from StyledElement::attributeChanged(). + + Test: fast/css/attribute-selector-dynamic.xml + + * dom/Element.cpp: + (WebCore::Element::attributeChanged): + (WebCore::Element::updateAfterAttributeChanged): + (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged): + * dom/Element.h: + * dom/StyledElement.cpp: + (WebCore::StyledElement::attributeChanged): + +2009-07-15 Alpha Lam <hclam@chromium.org> + + Reviewed by David Levin. + + [V8] Layout test failures for drawImage in Canvas + https://bugs.webkit.org/show_bug.cgi?id=27311 + + Fixing several canvas layout tests failures due to a + missing return statement in CanvasRenderingContext2DDrawImage() which + was accidentally removed in r45929. + + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + +2009-07-15 Robert Hogan <robert@roberthogan.net> + + Reviewed by Eric Seidel. + + https://bugs.webkit.org/show_bug.cgi?id=26969 + + If the httpMethod() of the request passed to SubresourceLoader::create is not + supported by the client we must expect to call didFail() while m_loader is still null. + + * loader/DocumentThreadableLoader.cpp: + (DocumentThreadableLoader::didFail):Changed. + +2009-07-15 Mark Rowe <mrowe@apple.com> + + Fix the Mac build. + + * WebCore.base.exp: + * css/MediaQueryEvaluator.cpp: + * rendering/SVGRenderTreeAsText.cpp: + * rendering/style/SVGRenderStyle.cpp: + * svg/graphics/SVGPaintServer.cpp: + +2009-07-07 Alpha Lam <hclam@chromium.org> + + Reviewed by Dimitri Glazkov. + + [V8] drawImage method of HTMLCanvasElement to accept HTMLVideoElement as argument + https://bugs.webkit.org/show_bug.cgi?id=27170 + + Changed CanvasRenderingContext2DDrawImage() to accept HTMLVideoElement + as a parameter of drawImage() for HTMLCanvasElement. + + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + +2009-07-15 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + [V8] Fix isolated world constructors + https://bugs.webkit.org/show_bug.cgi?id=27287 + + Don't enter V8Proxy::m_context before creating DOM constructors. + Instead, use getWrapperContext to get the right context. + + After this patch, all my tests pass. I'll enable the feature + downstream and land the tests. + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::getConstructor): + (WebCore::V8DOMWrapper::lookupDOMWrapper): + * bindings/v8/V8DOMWrapper.h: + * bindings/v8/V8IsolatedWorld.cpp: + (WebCore::V8IsolatedWorld::evaluate): + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::createWrapperFromCache): + (WebCore::V8Proxy::isContextInitialized): + (WebCore::V8Proxy::disposeContextHandles): + (WebCore::V8Proxy::installDOMWindow): + (WebCore::V8Proxy::initContextIfNeeded): + (WebCore::V8Proxy::getHiddenObjectPrototype): + (WebCore::V8Proxy::installHiddenObjectPrototype): + * bindings/v8/V8Proxy.h: + +2009-07-15 Antonio Gomes <antonio.gomes@openbossa.org> + + Reviewed by Darin Adler. + + useless null-check statement in visible_units.cpp@logicalStartOfLine + https://bugs.webkit.org/show_bug.cgi?id=27154 + + Simple fix. + + * editing/visible_units.cpp: + (WebCore::logicalStartOfLine): Doubled honorEditableBoundaryAtOrAfter() call removed. + +2009-07-15 Brady Eidson <beidson@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=27304 + WebKit should provide usage and eligibility information about the page cache. + + * WebCore.base.exp: + + * history/CachedFrame.cpp: + (WebCore::CachedFrame::childFrameCount): + * history/CachedFrame.h: + + * history/PageCache.cpp: + (WebCore::PageCache::frameCount): + (WebCore::PageCache::autoreleasedPageCount): + * history/PageCache.h: + (WebCore::PageCache::pageCount): + +2009-07-15 Shinichiro Hamaji <hamaji@chromium.org> + + Reviewed by David Levin. + + Chromium's canvas forgets its context after fillText again + https://bugs.webkit.org/show_bug.cgi?id=27293 + + No new tests because the test for this was already added in + https://bugs.webkit.org/show_bug.cgi?id=26436 + + * platform/graphics/chromium/TransparencyWin.cpp: + (WebCore::TransparencyWin::compositeTextComposite): + +2009-07-14 David Hyatt <hyatt@apple.com> + + Reviewed by Simon Fraser. + + https://bugs.webkit.org/show_bug.cgi?id=27283 + + Implement the new 'rem' unit from CSS3. + + Added some rem-* tests in fast/css. + + * css/CSSGrammar.y: + * css/CSSParser.cpp: + (WebCore::CSSParser::validUnit): + (WebCore::unitFromString): + (WebCore::CSSParser::parseValue): + (WebCore::CSSParser::lex): + * css/CSSParserValues.cpp: + (WebCore::CSSParserValue::createCSSValue): + * css/CSSPrimitiveValue.cpp: + (WebCore::CSSPrimitiveValue::computeLengthInt): + (WebCore::CSSPrimitiveValue::computeLengthIntForLength): + (WebCore::CSSPrimitiveValue::computeLengthShort): + (WebCore::CSSPrimitiveValue::computeLengthFloat): + (WebCore::CSSPrimitiveValue::computeLengthDouble): + (WebCore::CSSPrimitiveValue::cssText): + (WebCore::CSSPrimitiveValue::parserValue): + * css/CSSPrimitiveValue.h: + (WebCore::CSSPrimitiveValue::): + (WebCore::CSSPrimitiveValue::isUnitTypeLength): + * css/CSSStyleSelector.cpp: + (WebCore::CSSStyleSelector::initForStyleResolve): + (WebCore::convertToLength): + (WebCore::CSSStyleSelector::applyProperty): + (WebCore::CSSStyleSelector::mapFillSize): + (WebCore::CSSStyleSelector::mapFillXPosition): + (WebCore::CSSStyleSelector::mapFillYPosition): + (WebCore::CSSStyleSelector::createTransformOperations): + * css/CSSStyleSelector.h: + * css/MediaQueryEvaluator.cpp: + (WebCore::device_heightMediaFeatureEval): + (WebCore::device_widthMediaFeatureEval): + (WebCore::heightMediaFeatureEval): + (WebCore::widthMediaFeatureEval): + * css/WebKitCSSMatrix.cpp: + (WebCore::WebKitCSSMatrix::setMatrixValue): + * css/tokenizer.flex: + * dom/Document.cpp: + (WebCore::Document::Document): + * dom/Document.h: + (WebCore::Document::usesRemUnits): + (WebCore::Document::setUsesRemUnits): + * dom/Element.cpp: + (WebCore::Element::recalcStyle): + * rendering/SVGRenderTreeAsText.cpp: + (WebCore::writeStyle): + * rendering/style/SVGRenderStyle.cpp: + (WebCore::SVGRenderStyle::cssPrimitiveToLength): + * svg/graphics/SVGPaintServer.cpp: + (WebCore::applyStrokeStyleToContext): + (WebCore::dashArrayFromRenderingStyle): + * svg/graphics/SVGPaintServer.h: + +2009-07-15 Dimitri Glazkov <dglazkov@chromium.org> + + Unreviewed, build fix. + + Remove extraneous qualifier, accidentally added in http://trac.webkit.org/changeset/45884. + + * bindings/v8/V8DOMWrapper.h: Removed extraneous qualifier. + +2009-07-15 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + [V8] Update bindings for ValiditeState patch. + https://bugs.webkit.org/show_bug.cgi?id=19562 + + * bindings/v8/DOMObjectsInclude.h: + * bindings/v8/DerivedSourcesAllInOne.cpp: + * bindings/v8/V8Index.cpp: + * bindings/v8/V8Index.h: + +2009-07-15 Laszlo Gombos <laszlo.1.gombos@nokia.com> + + Reviewed by Simon Hausmann. + + [Qt] Cleanup - Remove obsolete code from the make system + https://bugs.webkit.org/show_bug.cgi?id=27299 + + * WebCore.pro: + +2009-07-15 Simon Hausmann <simon.hausmann@nokia.com> + + Reviewed by Ariya Hidayat. + + Fix the build without media elements. + + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::absoluteMediaURL): Add #if ENABLE(VIDEO) + markers around the body of the method. + +2009-07-14 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + WebInspector: Move storeLastActivePanel out of the + ifdef ENABLE_JAVASCRIPT_DEBUGGER section in IDL; + Add default panel for the first opening of the + WebInspector. + + https://bugs.webkit.org/show_bug.cgi?id=27263 + + * inspector/InspectorController.cpp: + (InspectorController::setWindowVisible): + * inspector/InspectorController.idl: + +2009-07-14 Darin Adler <darin@apple.com> + + Try to fix Windows build. + + * bindings/scripts/CodeGeneratorCOM.pm: Add Reflect and ReflectURL support. + +2009-07-14 Pierre d'Herbemont <pdherbemont@apple.com> + + Reviewed by Oliver Hunt. + + HTMLMediaElement::supportsFullscreen() should return false + https://bugs.webkit.org/show_bug.cgi?id=27284 + + (Reverting a part of 45875) + + HTMLVideoElement::supportsFullscreen() will properly do the + job, and check if the backend supports fullscreen. + + HTMLVideoElement is the only subclass to support fullscreen + (conditionnaly). HTMLAudioElement fullscreen is not supported + and is a different kind of fullscreen, if it comes to be wanted. + + No test can be done currently given that none of the media + backends support fullscreen. + + * html/HTMLMediaElement.cpp: + * html/HTMLMediaElement.h: + (WebCore::HTMLMediaElement::supportsFullscreen): + +2009-07-14 Darin Adler <darin@apple.com> + + Reviewed by Dimitri Glazkov. + + Next step in making DOM attribute getter/setters consistently use AtomicString + https://bugs.webkit.org/show_bug.cgi?id=25425 + + This covers eight DOM classes, and for each one of the classes: + + - Changes the IDL to use the Reflect syntax for all simple cases. + - Removes unused functions in the classes, mainly newly unused ones that were + used for reflection before. + - Removes unneeded explicitly defined destructors. + - Explicitly declares destructors as virtual. + - Removes unneeded includes. + - Makes members protected or private rather than public where possible. + - Renames "doc" to "document". + - Tweaks formatting to match our latest style in a few places. + - Improves some FIXME comments. + + Over time we'll want to do this for all HTML DOM classes. + + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::HTMLAnchorElement): + * html/HTMLAnchorElement.h: + (WebCore::HTMLAnchorElement::endTagRequirement): + (WebCore::HTMLAnchorElement::tagPriority): + * html/HTMLAnchorElement.idl: + * html/HTMLAppletElement.cpp: + * html/HTMLAppletElement.h: + * html/HTMLAppletElement.idl: + * html/HTMLAreaElement.cpp: + (WebCore::HTMLAreaElement::parseMappedAttribute): + * html/HTMLAreaElement.h: + (WebCore::HTMLAreaElement::endTagRequirement): + (WebCore::HTMLAreaElement::tagPriority): + * html/HTMLAreaElement.idl: + * html/HTMLBRElement.cpp: + (WebCore::HTMLBRElement::parseMappedAttribute): + * html/HTMLBRElement.h: + * html/HTMLBRElement.idl: + * html/HTMLBaseElement.cpp: + (WebCore::HTMLBaseElement::HTMLBaseElement): + (WebCore::HTMLBaseElement::removedFromDocument): + (WebCore::HTMLBaseElement::process): + * html/HTMLBaseElement.h: + * html/HTMLBaseElement.idl: + * html/HTMLBaseFontElement.cpp: + (WebCore::HTMLBaseFontElement::HTMLBaseFontElement): + * html/HTMLBaseFontElement.h: + (WebCore::HTMLBaseFontElement::endTagRequirement): + (WebCore::HTMLBaseFontElement::tagPriority): + * html/HTMLBaseFontElement.idl: + * html/HTMLBlockquoteElement.cpp: + (WebCore::HTMLBlockquoteElement::HTMLBlockquoteElement): + * html/HTMLBlockquoteElement.h: + (WebCore::HTMLBlockquoteElement::tagPriority): + * html/HTMLBlockquoteElement.idl: + * html/HTMLBodyElement.cpp: + (WebCore::HTMLBodyElement::HTMLBodyElement): + (WebCore::HTMLBodyElement::addSubresourceAttributeURLs): + * html/HTMLBodyElement.h: + (WebCore::HTMLBodyElement::endTagRequirement): + (WebCore::HTMLBodyElement::tagPriority): + * html/HTMLBodyElement.idl: + Made changes as described above. + + * loader/FrameLoader.cpp: Removed unneeded include of HTMLAnchorElement.h. + +2009-07-14 Steve Falkenburg <sfalken@apple.com> + + Reorganize JavaScriptCore headers into: + API: include/JavaScriptCore/ + Private: include/private/JavaScriptCore/ + + Reviewed by Darin Adler. + + * WebCore.vcproj/QTMovieWin.vcproj: + * WebCore.vcproj/WebCoreCommon.vsprops: + * WebCore.vcproj/build-generated-files.sh: + +2009-07-14 Zoltan Horvath <hzoltan@inf.u-szeged.hu> + + Reviewed by Darin Adler. + + Change all Noncopyable inheriting visibility to public. + https://bugs.webkit.org/show_bug.cgi?id=27225 + + Change all Noncopyable inheriting visibility to public because + it is needed to the custom allocation framework (bug #20422). + + * bindings/js/GCController.h: + * bindings/js/WorkerScriptController.h: + * bindings/v8/V8DOMMap.cpp: + (WebCore::): + * bridge/runtime.h: + * css/CSSSelector.h: + * css/CSSSelectorList.h: + * css/CSSStyleSelector.h: + * dom/ClassNames.h: + * dom/MessagePortChannel.h: + * dom/XMLTokenizerLibxml2.cpp: + * dom/XMLTokenizerScope.h: + * editing/ReplaceSelectionCommand.cpp: + * editing/SelectionController.h: + * editing/TextIterator.cpp: + * history/PageCache.h: + * html/CanvasRenderingContext2D.h: + * html/HTMLParser.h: + * html/HTMLParserQuirks.h: + * html/PreloadScanner.h: + * loader/Cache.h: + * loader/CrossOriginPreflightResultCache.h: + * loader/FrameLoader.h: + * loader/ProgressTracker.h: + * loader/ThreadableLoader.h: + * loader/appcache/ApplicationCacheGroup.h: + * loader/archive/ArchiveResourceCollection.h: + * loader/icon/IconDatabase.h: + * loader/icon/IconLoader.h: + * loader/icon/PageURLRecord.h: + * loader/loader.h: + * page/ContextMenuController.h: + * page/EventHandler.h: + * page/FrameTree.h: + * page/Page.h: + * page/PageGroup.h: + * page/PageGroupLoadDeferrer.h: + * page/mac/EventHandlerMac.mm: + * platform/AutodrainedPool.h: + * platform/ContextMenu.h: + * platform/EventLoop.h: + * platform/HostWindow.h: + * platform/Pasteboard.h: + * platform/PurgeableBuffer.h: + * platform/RunLoopTimer.h: + * platform/ThreadGlobalData.h: + * platform/ThreadTimers.h: + * platform/Timer.h: + * platform/TreeShared.h: + * platform/graphics/FontData.h: + * platform/graphics/GlyphWidthMap.h: + * platform/graphics/GraphicsContext.h: + * platform/graphics/ImageBuffer.h: + * platform/graphics/ImageSource.h: + * platform/graphics/MediaPlayer.h: + * platform/graphics/skia/GraphicsContextPlatformPrivate.h: + * platform/graphics/skia/PlatformContextSkia.h: + * platform/graphics/win/QTMovieWin.cpp: + * platform/mac/LocalCurrentGraphicsContext.h: + * platform/network/FormDataBuilder.h: + * platform/network/ResourceHandleInternal.h: + * platform/network/soup/ResourceHandleSoup.cpp: + * platform/text/StringBuffer.h: + * platform/text/TextCodec.h: + * platform/win/WindowMessageBroadcaster.h: + * rendering/CounterNode.h: + * rendering/LayoutState.h: + * rendering/RenderFrameSet.h: + * rendering/RenderView.h: + * rendering/TransformState.h: + * svg/SVGAnimatedProperty.h: + * svg/SynchronizableTypeWrapper.h: + * workers/WorkerMessagingProxy.h: + * workers/WorkerRunLoop.cpp: + * xml/XPathExpressionNode.h: + * xml/XPathParser.h: + * xml/XPathPredicate.h: + * xml/XPathStep.h: + +2009-07-14 Darin Fisher <darin@chromium.org> + + Reviewed by Darin Adler. + + Fails to save document state when navigating away from a page with a + reference fragment. + https://bugs.webkit.org/show_bug.cgi?id=27281 + + Test: fast/history/saves-state-after-fragment-nav.html + + * history/HistoryItem.cpp: + (WebCore::HistoryItem::isCurrentDocument): Use equalIgnoringRef + to compare URLs. + +2009-07-14 Joseph Pecoraro <joepeck02@gmail.com> + + Reviewed by Sam Weinig. + + Inspector: Remove Unintended Global Variables + https://bugs.webkit.org/show_bug.cgi?id=27203 + + * inspector/front-end/Console.js: + (WebInspector.Console.prototype._ensureCommandLineAPIInstalled): + * inspector/front-end/DatabasesPanel.js: + (WebInspector.DatabasesPanel.prototype.dataGridForDOMStorage): + * inspector/front-end/ObjectPropertiesSection.js: + (WebInspector.ObjectPropertyTreeElement.prototype.update): + * inspector/front-end/inspector.js: + (WebInspector.animateStyle): + +2009-07-14 Michelangelo De Simone <micdesim@gmail.com> + + Reviewed by Adele Peterson. + + https://bugs.webkit.org/show_bug.cgi?id=19562 + Added build stuff and stub for the ValidityState class, part of HTML5 + section Forms: + http://www.whatwg.org/specs/web-apps/current-work/multipage/forms.html#validitystate + + Test: fast/forms/ValidityState-001.html + + * DerivedSources.cpp: Inclusion of ValidityState files + * DerivedSources.make: ditto + * GNUmakefile.am: ditto + * WebCore.gypi: ditto + * WebCore.pro: ditto + * WebCore.vcproj/WebCore.vcproj: ditto + * WebCore.xcodeproj/project.pbxproj: ditto + * WebCoreSources.bkl: ditto + * html/HTMLButtonElement.idl: validity attribute + * html/HTMLFieldSetElement.idl: ditto + * html/HTMLFormControlElement.cpp: + (WebCore::HTMLFormControlElement::validity): ValidityState getter + * html/HTMLFormControlElement.h: ditto + * html/HTMLInputElement.idl: validity attribute + * html/HTMLSelectElement.idl: ditto + * html/HTMLTextAreaElement.idl: ditto + * html/ValidityState.cpp: Added. + (WebCore::ValidityState::ValidityState): + (WebCore::ValidityState::valid): validation flag + * html/ValidityState.h: Added. + (WebCore::ValidityState::create): validation flag + (WebCore::ValidityState::control): ditto + (WebCore::ValidityState::valueMissing): ditto + (WebCore::ValidityState::typeMismatch): ditto + (WebCore::ValidityState::patternMismatch): ditto + (WebCore::ValidityState::tooLong): ditto + (WebCore::ValidityState::rangeUnderflow): ditto + (WebCore::ValidityState::rangeOverflow): ditto + (WebCore::ValidityState::stepMismatch): ditto + (WebCore::ValidityState::customError): ditto + * html/ValidityState.idl: Added. + +2009-07-14 Ryosuke Niwa <rniwa@google.com> + + Reviewed by Eric Seidel. + + Outdenting a line inside a blockquote tag does nothing + https://bugs.webkit.org/show_bug.cgi?id=25316 + + The bug was caused by the code checking whether the blockquote is created by WebKit or not. + We simply remove this code to be consistent with Firefox and Internet Explorer. + Also, enclosingBlockFlow == enclosingNode in outdentParagraph isn't a sufficient condition to insert + the placeholder before the enclosingNode because there could be contents before the current paragraph. + Instead, we should split the enclosingNode (which is a blockquote) at the starting position of outdentation. + It turned out that this solves the bug 25315 also: https://bugs.webkit.org/show_bug.cgi?id=25315 + + Test: editing/execCommand/outdent-regular-blockquote.html + + * editing/IndentOutdentCommand.cpp: + (WebCore::isIndentBlockquote): no longer checks whether a blockquote is created by WebKit or not. + (WebCore::IndentOutdentCommand::outdentParagraph): takes care of the case enclosingBlockFlow == enclosingNode + +2009-07-14 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + [V8] Fix isolated world wrappers for Node prototypes + https://bugs.webkit.org/show_bug.cgi?id=27277 + + This change does two things: + + 1) We bypass the wrapper cache in the isolated world. This is because + the wrapper template cache has prototypes that lead to the main + world. We can add a template cache for the isolated world if + performance warrants. + + 2) We introduce a smarter way to grab the wrapper context for a frame + that is aware that proxy <-> context do not stand in one-to-one + correspondence. This generalizes our solution for the node wrapper + case to prototypes. + + The net result is that Node wrappers get the right prototypes. As + before, tests to follow. + + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::setHiddenWindowReference): + (WebCore::V8DOMWrapper::instantiateV8Object): + (WebCore::V8DOMWrapper::convertNodeToV8Object): + (WebCore::V8DOMWrapper::convertWindowToV8Object): + (WebCore::V8DOMWrapper::getWrapperContext): + * bindings/v8/V8DOMWrapper.h: + +2009-07-14 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + [V8] Fix isolated world wrappers for Nodes + https://bugs.webkit.org/show_bug.cgi?id=27271 + + Previously, we keepy a pointer to the DOMMap on V8Proxy, but this + caused us to miss the branch in V8DOMMap.cpp for isolated worlds. + + I have tests, but I can't land them until I get this feature under + control. + + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::convertNodeToV8Object): + * bindings/v8/V8Proxy.h: + (WebCore::V8Proxy::V8Proxy): + +2009-07-14 Adam Barth <abarth@webkit.org> + + Reviewed by Dimitri Glazkov. + + [V8] Fix isolated world crash on getting window.location + https://bugs.webkit.org/show_bug.cgi?id=27268 + + I have a test for this locally, but it requires a compile-time hack to + run. Once I get the feature's stability under control, we can turn the + feature on and add the tests. + + * bindings/v8/V8DOMWrapper.cpp: + (WebCore::V8DOMWrapper::setHiddenWindowReference): + * bindings/v8/V8IsolatedWorld.h: + (WebCore::V8IsolatedWorld::context): + +2009-07-14 Brent Fulgham <bfulgham@webkit.org> + + Correct failing tests after r45875. The original patch did not + test the m_player member for null, causing crashes. This will + happen fairly frequently in real use. Was this original patch + ever tested? + https://bugs.webkit.org/show_bug.cgi?id=27246 + + Test via existing media tests. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::supportsFullscreen): Check for null pointer. + (WebCore::HTMLMediaElement::supportsSave): Check for null pointer. + +2009-07-14 Avi Drissman <avi@chromium.org> + + Reviewed by Darin Fisher. + + Explicitly mark the HTML generated for the Mac as being UTF-8 encoded. + The Windows clipboard format is explicitly documented as being UTF-8, + and all Linux apps assume UTF-8. On the Mac, though, unless otherwise + indicated, Windows-1252 is assumed, which is wrong. + + Bug: https://bugs.webkit.org/show_bug.cgi?id=27262 + + No new tests. + + * platform/chromium/ClipboardChromium.cpp: + (WebCore::ClipboardChromium::writeRange): + * platform/chromium/PasteboardChromium.cpp: + (WebCore::Pasteboard::writeSelection): + +2009-07-14 Albert J. Wong <ajwong@chromium.org> + + Reviewed by Dimitri Glazkov. + + Upstream V8NPObject.h and V8NPObject.cpp. + https://bugs.webkit.org/show_bug.cgi?id=27103 + + This just upstreams the files from the chromium code base. Only + minor changes to formatting and similar were done, so no testing + is required because nothing really changed. Code verified to compile. + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::bindToWindowObject): + (WebCore::ScriptController::createScriptInstanceForWidget): + * bindings/v8/V8NPObject.cpp: Added. + (npObjectInvokeImpl): + (npObjectMethodHandler): + (npObjectInvokeDefaultHandler): + (weakTemplateCallback): + (npObjectGetProperty): + (npObjectNamedPropertyGetter): + (npObjectIndexedPropertyGetter): + (npObjectGetNamedProperty): + (npObjectGetIndexedProperty): + (npObjectSetProperty): + (npObjectNamedPropertySetter): + (npObjectIndexedPropertySetter): + (npObjectSetNamedProperty): + (npObjectSetIndexedProperty): + (weakNPObjectCallback): + (createV8ObjectForNPObject): + (forgetV8ObjectForNPObject): + * bindings/v8/V8NPObject.h: Added. + * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): + (WebCore::NAMED_PROPERTY_SETTER): + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::INDEXED_PROPERTY_GETTER): + (WebCore::INDEXED_PROPERTY_SETTER): + + +2009-07-14 Albert J. Wong <ajwong@chromium.org> + + Reviewed by Darin Adler. + + Add HTMLMediaElement::supportSave() and a + HitTestResult::absoluteMediaURL() functions + https://bugs.webkit.org/show_bug.cgi?id=27246 + + Added an implementation of supportsSave() into HTMLMediaElement + that delegates to MediaPlayerPrivateImpl so that the media engine + is able to signal whether or not a media source supports saving. + + Also added a function to HitTestResult that allows for retrieval + of the currentSrc associated with the "hit" media element. + + These functions are just pipeing with no visible UI change so there + are no related layout test changes. + + * html/HTMLMediaElement.cpp: + (WebCore::HTMLMediaElement::supportsFullscreen): + (WebCore::HTMLMediaElement::supportsSave): + * html/HTMLMediaElement.h: + * platform/graphics/MediaPlayer.cpp: + (WebCore::MediaPlayer::supportsSave): + * platform/graphics/MediaPlayer.h: + * platform/graphics/MediaPlayerPrivate.h: + (WebCore::MediaPlayerPrivateInterface::supportsFullscreen): + (WebCore::MediaPlayerPrivateInterface::supportsSave): + * rendering/HitTestResult.cpp: + (WebCore::HitTestResult::altDisplayString): + (WebCore::HitTestResult::absoluteMediaURL): + * rendering/HitTestResult.h: + +2009-07-14 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Adam Barth. + + [V8] Implement Reflect and ReflectURL attribute support. + https://bugs.webkit.org/show_bug.cgi?id=27273 + + * bindings/scripts/CodeGeneratorV8.pm: Added support for Reflect and ReflectURL attributes. + +2009-07-14 Dmitry Titov <dimich@chromium.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=27266 + Add hasCurrentPoint() to WebCore::Path. + This fixes Skia-based Chromium regression caused by the fix for + https://bugs.webkit.org/show_bug.cgi?id=27187. + For Skia, the new method always returns 'true', pending actual implementation. + This means Chromium still will differ from Gecko behavior, but at least its Canvas + will not be completely broken. + + Existing Canvas Layout Tests should pass in Chromium after this change. + + * html/CanvasRenderingContext2D.cpp: + (WebCore::CanvasRenderingContext2D::lineTo): insteand of Path::isEmpty() test for hasCurrentPoint(). + (WebCore::CanvasRenderingContext2D::quadraticCurveTo): ditto. + (WebCore::CanvasRenderingContext2D::bezierCurveTo): ditto. + + * platform/graphics/Path.h: + * platform/graphics/cairo/PathCairo.cpp: + (WebCore::Path::hasCurrentPoint): + * platform/graphics/cg/PathCG.cpp: + (WebCore::Path::isEmpty): + (WebCore::Path::hasCurrentPoint): + * platform/graphics/qt/PathQt.cpp: + (WebCore::Path::hasCurrentPoint): + * platform/graphics/skia/PathSkia.cpp: + (WebCore::Path::hasCurrentPoint): + * platform/graphics/wx/PathWx.cpp: + (WebCore::Path::hasCurrentPoint): + All these files add a Path::hasCurrentPoint() for various platforms. + +2009-07-14 Nate Chapin <japhet@chromium.org> + + Reviewed by Sam Weinig. + + Upstream RGBColor from src.chromium.org. + + https://bugs.webkit.org/show_bug.cgi?id=27133 + + * WebCore.gypi: Add RGBColor + * css/RGBColor.cpp: Added. + (WebCore::RGBColor::create): + (WebCore::RGBColor::red): + (WebCore::RGBColor::green): + (WebCore::RGBColor::blue): + * css/RGBColor.h: Added. + (WebCore::RGBColor::RGBColor): + +2009-07-10 Matt Perry <mpcomplete@chromium.org> + + Reviewed by Darin Fisher. + + [V8] Rename the didCreate/DestroyScriptContext calls to make it + clear that that those refer to the frame's contxt. Add another + similar call for when creating contexts via evaluateInNewContext. + https://bugs.webkit.org/show_bug.cgi?id=27104 + + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::evaluateInNewContext): + (WebCore::V8Proxy::disposeContextHandles): + (WebCore::V8Proxy::initContextIfNeeded): + * loader/EmptyClients.h: + (WebCore::EmptyFrameLoaderClient::didCreateScriptContextForFrame): + (WebCore::EmptyFrameLoaderClient::didDestroyScriptContextForFrame): + (WebCore::EmptyFrameLoaderClient::didCreateIsolatedScriptContext): + * loader/FrameLoaderClient.h: + +2009-07-14 Brent Fulgham <bfulgham@webkit.org> + + Revert http://trac.webkit.org/changeset/45864 after + breaking of Windows build. + + * storage/LocalStorageTask.cpp: + * storage/LocalStorageTask.h: + * storage/Storage.cpp: + * storage/Storage.h: + * storage/StorageArea.cpp: + * storage/StorageArea.h: + * storage/StorageAreaImpl.cpp: + * storage/StorageAreaImpl.h: + * storage/StorageAreaSync.cpp: + * storage/StorageAreaSync.h: + * storage/StorageEvent.cpp: + * storage/StorageEvent.h: + (WebCore::StorageEvent::create): + (WebCore::StorageEvent::StorageEvent): + * storage/StorageNamespace.h: + * storage/StorageNamespaceImpl.cpp: + * storage/StorageNamespaceImpl.h: + * storage/StorageSyncManager.cpp: + * storage/StorageSyncManager.h: + +2009-07-11 Jeremy Orlow <jorlow@chromium.org> + + Reviewed by Darin Adler. + + Cleanup DOM Storage dependencies. + https://bugs.webkit.org/show_bug.cgi?id=27180 + + DOM Storage had several unnecessary (and probably unintended) + dependencies. This patch replaces many includes of header files with + forward declaration of classes, making some destructors explicit, and + taking some factories out of the header files. + + This will allow things like StorageAreaSync to take a StorageAreaImpl* + (as it should) rather than a StorageArea* which previously weren't + possible because the dependencies were such a tangled mess. + + * storage/LocalStorageTask.cpp: + (WebCore::LocalStorageTask::~LocalStorageTask): + * storage/LocalStorageTask.h: + * storage/Storage.cpp: + (WebCore::Storage::~Storage): + * storage/Storage.h: + * storage/StorageArea.cpp: + * storage/StorageArea.h: + * storage/StorageAreaImpl.cpp: + * storage/StorageAreaImpl.h: + * storage/StorageAreaSync.cpp: + (WebCore::StorageAreaSync::~StorageAreaSync): + * storage/StorageAreaSync.h: + * storage/StorageEvent.cpp: + (WebCore::StorageEvent::create): + (WebCore::StorageEvent::StorageEvent): + * storage/StorageEvent.h: + * storage/StorageNamespace.h: + * storage/StorageNamespaceImpl.cpp: + * storage/StorageNamespaceImpl.h: + * storage/StorageSyncManager.cpp: + (WebCore::StorageSyncManager::~StorageSyncManager): + * storage/StorageSyncManager.h: + + +2009-07-14 Adam Treat <adam.treat@torchmobile.com> + + Reviewed by David Hyatt. + + https://bugs.webkit.org/show_bug.cgi?id=26983 + + Check to make sure the view is attached to a frame() in the visibleContentsResized() + method as it can be triggered before the view is attached by Frame::createView(...) + setting various values such as setScrollBarModes(...) for example. An ASSERT is + triggered when a view is layout before being attached to a frame(). + + * page/FrameView.cpp: + (WebCore::FrameView::visibleContentsResized): + * page/FrameView.h: + +2009-07-14 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + WebInspector: show last opened panel when invoking inspector. + + https://bugs.webkit.org/show_bug.cgi?id=27263 + + * inspector/InspectorController.cpp: + (WebCore::InspectorController::InspectorController): + (WebCore::InspectorController::setWindowVisible): + (WebCore::InspectorController::storeLastActivePanel): + (WebCore::InspectorController::specialPanelForJSName): + * inspector/InspectorController.h: + (WebCore::InspectorController::Setting::Setting): + * inspector/InspectorController.idl: + * inspector/front-end/inspector.js: + (WebInspector.set currentPanel): + (WebInspector.loaded): + +2009-07-14 Anton Muhin <antonm@chromium.org> + + Reviewed by Dimitri Glazkov. + + Speed up access to NodeList length. + https://bugs.webkit.org/show_bug.cgi?id=27264 + + That's a minimal alternation of the code. + + * bindings/v8/custom/V8NodeListCustom.cpp: + (WebCore::NAMED_PROPERTY_GETTER): 1) use AtomicString for comparison, 2) use + v8::Integer::New instead of v8::Number::New. + +2009-07-14 Anton Muhin <antonm@chromium.org> + + Reviewed by Dimitri Glazkov. + + Do not do unnecessary conversions from v8::Handle<v8::Value> to + v8::Handle<v8::Object> and accompanying changes. + https://bugs.webkit.org/show_bug.cgi?id=26953 + + Three things: + + 1) do not cast from v8::Value to v8::Object if unnecessary---casts are cheap, + but are not free (they check for emptiness of handle); + 2) inline conversion from wrapper to node; + 3) simplify case to an ASSERT. + + This is just a refactoring, so no new tests are needed. + + * bindings/scripts/CodeGeneratorV8.pm: + * bindings/v8/V8Proxy.cpp: + (WebCore::V8Proxy::evaluateInNewContext): + (WebCore::V8Proxy::convertToSVGPODTypeImpl): + * bindings/v8/V8Proxy.h: + (WebCore::V8Proxy::convertDOMWrapperToNative): + (WebCore::V8Proxy::convertToNativeObject): + (WebCore::V8Proxy::convertToNativeEvent): + * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp: + (WebCore::toCanvasStyle): + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8CustomBinding.cpp: + (WebCore::V8Custom::GetTargetFrame): + * bindings/v8/custom/V8DOMWindowCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + (WebCore::V8Custom::ClearTimeoutImpl): + (WebCore::NAMED_ACCESS_CHECK): + (WebCore::INDEXED_ACCESS_CHECK): + * bindings/v8/custom/V8DocumentCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + * bindings/v8/custom/V8LocationCustom.cpp: + (WebCore::CALLBACK_FUNC_DECL): + +2009-07-14 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + Straight quotes should match fancy quotes in in-page search + https://bugs.webkit.org/show_bug.cgi?id=27217 + + Tests: fast/text/find-quotes.html + + * editing/TextIterator.cpp: + (WebCore::foldQuoteMark): Added. + (WebCore::foldQuoteMarks): Added. + (WebCore::SearchBuffer::SearchBuffer): Call foldQuoteMarks on the target string. + (WebCore::SearchBuffer::append): Call foldQuoteMarks on characters as they are + added to the search buffer. + + * platform/text/CharacterNames.h: Added more quotation mark character names. + Sorted character names with the sort tool. + +2009-07-13 Pavel Feldman <pfeldman@chromium.org> + + Reviewed by Timothy Hatcher. + + WebInspector: handle debugger shortcuts while on source frame or on + script file selector. + + https://bugs.webkit.org/show_bug.cgi?id=27224 + + * inspector/front-end/ScriptsPanel.js: + (WebInspector.ScriptsPanel): + * inspector/front-end/SourceFrame.js: + (WebInspector.SourceFrame.prototype._loaded): + +2009-07-13 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Use standard HashCountedSet instead of a hand rolled one + in HTMLDocument. + + * html/HTMLDocument.cpp: + (WebCore::addItemToMap): + (WebCore::removeItemFromMap): + * html/HTMLDocument.h: + +2009-07-13 Erik Arvidsson <arv@chromium.org> + + Reviewed by Darin Adler and Maciej Stachowiak. + + Implement HTML5 draggable + https://bugs.webkit.org/show_bug.cgi?id=26262 + + This adds support for the HTML5 draggable attribute and its DOM binding. It maps the draggable property + to the CSS properties -webkit-user-drag and -webkit-user-select respectively. + + Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/editing.html#the-draggable-attribute + + Test: fast/html/draggable.html + + * css/html.css: + * html/HTMLAnchorElement.cpp: + (WebCore::HTMLAnchorElement::draggable): + * html/HTMLAnchorElement.h: + * html/HTMLAttributeNames.in: + * html/HTMLElement.cpp: + (WebCore::HTMLElement::draggable): + (WebCore::HTMLElement::setDraggable): + * html/HTMLElement.h: + * html/HTMLElement.idl: + * html/HTMLImageElement.cpp: + (WebCore::HTMLImageElement::draggable): + * html/HTMLImageElement.h: + +2009-07-13 Simon Fraser <simon.fraser@apple.com> + + Reviewed by Dan Bernstein. + + Image rendered as layer contents looks different from image rendered via CG. + <rdar://problem/7048830> + + Fix a visible color profile difference between between images rendered via Core Graphics + and those rendered via a compositing layer, by assigning the GenericRGB profile to + untagged images (which come through as having the DeviceRGB profile) when they are set + as layer contents. + + Test: compositing/color-matching/image-color-matching.html + + * platform/graphics/mac/GraphicsLayerCA.mm: + (WebCore::GraphicsLayerCA::setContentsToImage): + +2009-07-13 Darin Adler <darin@apple.com> + + Reviewed by Oliver Hunt. + + https://bugs.webkit.org/show_bug.cgi?id=27220 + Assertion failure in createSearcher() (usearch_open() status is U_USING_DEFAULT_WARNING) + + * editing/TextIterator.cpp: + (WebCore::createSearcher): Add U_USING_DEFAULT_WARNING as a possible status code + in the assertion. Affects only the assertion. + +2009-07-13 Alexey Proskuryakov <ap@webkit.org> + + Reviewed by Darin Adler. + + https://bugs.webkit.org/show_bug.cgi?id=26925 + <rdar://problem/7027850> URL Fragment Breaks Application Cache Loads + + Test: http/tests/appcache/main-resource-hash.html + + * 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): + Remove URL fragment at appcache code borders. + + * loader/appcache/ApplicationCacheResource.h: + (WebCore::ApplicationCacheResource::create): + * loader/appcache/ApplicationCacheStorage.cpp: + (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup): + (WebCore::ApplicationCacheStorage::cacheGroupForURL): + (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL): + Assert that there is no URL fragment in URL at key points in appcache code. + +2009-07-13 Darin Adler <darin@apple.com> + + Reviewed by Dan Bernstein. + + https://bugs.webkit.org/show_bug.cgi?id=27166 + rdar://problem/7015857 + Find for strings composed entirely of spaces doesn't work + + Test: fast/text/find-spaces.html + + * editing/TextIterator.cpp: + (WebCore::findPlainText): Removed unneeded special case. + The empty string case already works correctly. + +2009-07-13 Anders Carlsson <andersca@apple.com> + + Reviewed by Kevin Decker. + + Remove NPPVpluginPrivateModeBool, it was removed from the spec. + + * bridge/npapi.h: + +2009-07-13 Feng Qian <feng@chromium.org> + + Reviewed by Dimitri Glazkov. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=27237 + + Make V8DOMMap.h compiling with gcc option -Werror=non=virtual-dtor. + + * bindings/v8/V8DOMMap.h: + (WebCore::WeakReferenceMap::WeakReferenceMap): + (WebCore::WeakReferenceMap::~WeakReferenceMap): + +2009-07-13 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + Remove an accidental add of bidi.(cpp|h) to WebCore.gypi. + + * WebCore.gypi: Removed bidi.cpp and bidi.h + +2009-07-13 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + Update WebCore.gyp in preparation to hooking it up. + + * WebCore.gypi: Added files that were mid-stream while switching over. + +2009-07-13 Dmitry Titov <dimich@chromium.org> + + Not reviewed, another small fix for Chromium build. + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::evaluate): + +2009-07-13 Dmitry Titov <dimich@chromium.org> + + Not reviewed, fix Chromium build bustage. + + * bindings/v8/ScriptController.cpp: + (WebCore::ScriptController::evaluate): + * bindings/v8/V8Proxy.cpp: + (WebCore::JavaScriptConsoleMessage::addToPage): + * bindings/v8/WorkerContextExecutionProxy.cpp: + (WebCore::handleConsoleMessage): + +2009-07-13 Sam Weinig <sam@webkit.org> + + Reviewed by Darin Adler. + + Fix for https://bugs.webkit.org/show_bug.cgi?id=27234 + <rdar://problem/7054356> + + Add null page check in HTMLDocument::hasFocus. + + Test: fast/dom/HTMLDocument/hasFocus-frameless-crash.html + + * html/HTMLDocument.cpp: + (WebCore::HTMLDocument::hasFocus): Add page null check. + (WebCore::HTMLDocument::createTokenizer): Cleanup page null check. + +2009-07-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + Disable continuous spell checking in the inspector + https://bugs.webkit.org/show_bug.cgi?id=27131 + + * inspector/front-end/inspector.html: Added spellcheck="false" to the + main-panels and console-prompt containers. + +2009-07-13 Adam Langley <agl@google.com> + + Reviewed by Eric Seidel. + + Chromium Linux: fix assertion when rendering google.com.kh + + https://bugs.webkit.org/show_bug.cgi?id=26924 + + Some shapers (i.e. Khmer) will produce cluster logs which report that + /no/ code points contributed to certain glyphs. Because of this, we + take any code point which contributed to the glyph in question, or any + subsequent glyph. If we run off the end, then we take the last code + point. + + Added LayoutTests/fast/text/international/khmar-selection.html + + * platform/graphics/chromium/FontLinux.cpp: + (WebCore::Font::offsetForPositionForComplexText): + +2009-07-13 Dan Bernstein <mitz@apple.com> + + Reviewed by Darin Adler. + + spellcheck="false" is ignored + <rdar://problem/7054177> + + * editing/Editor.cpp: + (WebCore::markMisspellingsOrBadGrammar): Moved code to check the + spellcheck attribute from here... + (WebCore::Editor::spellCheckingEnabledInFocusedNode): ...to here. + (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Bail out + if spell chcking is disabled by the spellcheck attribute. + * editing/Editor.h: + +2009-07-13 Brent Fulgham <bfulgham@webkit.org> + + Reviewed by Adam Roben. + + Add new configuration flag for redistributable Windows build. + https://bugs.webkit.org/show_bug.cgi=27087 + + * WebCore.vcproj/WebCore.vcproj: Add new WinCairo.vsprops to + Debug_Cairo and Release_Cairo builds. + * config.h: Check for presence of WIN_CAIRO and select appropriate + configuration. Defaults to standard Apple build. + +2009-07-13 Peter Kasting <pkasting@google.com> + + https://bugs.webkit.org/show_bug.cgi?id=19562 + Back out previous patch for this bug (too many problems). + + * DerivedSources.cpp: + * DerivedSources.make: + * GNUmakefile.am: + * WebCore.gypi: + * WebCore.pro: + * WebCore.vcproj/WebCore.vcproj: + * WebCore.xcodeproj/project.pbxproj: + * WebCoreSources.bkl: + * html/HTMLButtonElement.idl: + * html/HTMLFieldSetElement.idl: + * html/HTMLFormControlElement.cpp: + * html/HTMLFormControlElement.h: + (WebCore::HTMLFormControlElement::form): + * html/HTMLInputElement.idl: + * html/HTMLSelectElement.idl: + * html/HTMLTextAreaElement.idl: + * html/ValidityState.cpp: Removed. + * html/ValidityState.h: Removed. + * html/ValidityState.idl: Removed. + +2009-07-13 Nate Chapin <japhet@chromium.org> + + Reviewed by Dimitri Glazkov. + + Add HTMLAllCollection to WebCore.gypi. + + https://bugs.webkit.org/show_bug.cgi?id=27223 + + * WebCore.gypi: Add HTMLAllCollection. + +2009-07-13 Dimitri Glazkov <dglazkov@chromium.org> + + Reviewed by Darin Fisher. + + [V8] Add a missing check for constructor call in WebKitCSSMatrixConstructor. + https://bugs.webkit.org/show_bug.cgi?id=27218 + + Test: fast/css/matrix-as-function-crash.html + + * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp: + (WebCore::CALLBACK_FUNC_DECL): Added a check for constructor call. + 2009-07-13 Gustavo Noronha Silva <gustavo.noronha@collabora.co.uk> Unreviewed make dist build fix. @@ -2973,7 +10300,7 @@ (WebCore::RenderView::setMaximalOutlineSize): Add comment indicating that this could be optimized. -2009-07-07 Anton Muhin <antonm@chromium.org> +2009-07-14 Anton Muhin <antonm@chromium.org> Reviewed by Darin Fisher. @@ -7413,7 +14740,7 @@ (WebCore::DOMDataStore::~DOMDataStore): (WebCore::DOMDataStoreHandle::DOMDataStoreHandle): (WebCore::DOMDataStoreHandle::~DOMDataStoreHandle): - (WebCore::::forget): + (WebCore::forget): (WebCore::getDOMNodeMap): (WebCore::getDOMObjectMap): (WebCore::getActiveDOMObjectMap): |