2008-09-08 Chris Marrin <cmarrin@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-09-08  Chris Marrin  <cmarrin@apple.com>
2
3         Reviewed by Sam Weinig
4
5         - Animation of -webkit-transform matrix() function should not do linear interpolation
6           https://bugs.webkit.org/show_bug.cgi?id=20667
7
8         Test: animations/matrix-anim.html
9
10         * ChangeLog:
11         * platform/graphics/AffineTransform.cpp:
12         (WebCore::affineTransformDecompose):
13         (WebCore::affineTransformCompose):
14         (WebCore::AffineTransform::blend):
15         * platform/graphics/AffineTransform.h:
16         * rendering/style/RenderStyle.cpp:
17         (WebCore::MatrixTransformOperation::blend):
18
19 2008-09-08  Alexey Proskuryakov  <ap@webkit.org>
20
21         Reviewed by Darin Adler.
22
23         https://bugs.webkit.org/show_bug.cgi?id=20668
24         multipart/form-data does not always include Content-type for submitted files
25
26         Cannot be tested with DRT or manual tests.
27
28         * platform/MIMETypeRegistry.cpp:
29         (WebCore::initializeSupportedNonImageMimeTypes): Fix spacing.
30         (WebCore::MIMETypeRegistry::getMIMETypeForPath): Default to application/octet-stream for
31         unknown extensions, not just missing ones.
32
33 2008-09-08  Simon Hausmann  <hausmann@webkit.org>
34
35         Build fix for the Qt/Windows build, define USE_JSC to
36         enable the WebCore::String -> JSC::UString operator that
37         MSVC insists on seeing
38
39         * WebCore.pro:
40
41 2008-09-08  Anders Carlsson  <andersca@apple.com>
42
43         Reviewed by Maciej.
44
45         <rdar://problem/5850387> Showing bookmarks reloads Google Reader instead.
46         
47         In some cases, timeouts scheduled by a page in the onunload handler could fire even when the
48         page had been unloaded and replaced by a non-HTML representation based view (such as the bookmarks view).
49         
50         Fix this by clearing timeouts for pages that aren't cached when the provisional load is committed.
51         
52         * bindings/js/JSDOMWindowBase.h:
53         * loader/FrameLoader.cpp:
54         (WebCore::FrameLoader::commitProvisionalLoad):
55
56 2008-09-07  Antti Koivisto  <antti@apple.com>
57
58         Reviewed by Dave Hyatt.
59
60         Don't leak the simple stylesheet.
61         Also call RenderTheme::adjustDefaultStyleSheet() in right place.
62
63         * css/CSSStyleSelector.cpp:
64         (WebCore::loadFullDefaultStyle):
65         (WebCore::loadSimpleDefaultStyle):
66         (WebCore::CSSStyleSelector::styleForElement):
67
68 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
69
70         Reviewed by Oliver Hunt.
71
72         Bug 20711: Change KJS prefix on preprocessor macros to JSC
73         <https://bugs.webkit.org/show_bug.cgi?id=20711>
74
75         * bindings/js/JSEventTargetBase.h:
76         * bindings/js/JSHTMLInputElementBase.cpp:
77         * bindings/js/JSHTMLInputElementBase.h:
78         * bindings/scripts/CodeGeneratorJS.pm:
79
80 2008-09-07  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
81
82         Reviewed by Maciej Stachowiak.
83
84         Bug 20704: Replace the KJS namespace
85         <https://bugs.webkit.org/show_bug.cgi?id=20704>
86
87         Rename the KJS namespace to JSC. There are still some uses of KJS in the
88         names of JNI functions, and I will check if these are safe to change
89         as well.
90
91         * WebCore.base.exp:
92         * bindings/js/GCController.cpp:
93         * bindings/js/JSAttrCustom.cpp:
94         * bindings/js/JSAudioConstructor.cpp:
95         * bindings/js/JSAudioConstructor.h:
96         (WebCore::JSAudioConstructor::classInfo):
97         * bindings/js/JSCSSRuleCustom.cpp:
98         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
99         * bindings/js/JSCSSValueCustom.cpp:
100         * bindings/js/JSCanvasPixelArrayCustom.cpp:
101         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
102         * bindings/js/JSClipboardCustom.cpp:
103         * bindings/js/JSConsoleCustom.cpp:
104         * bindings/js/JSCustomSQLStatementCallback.cpp:
105         (WebCore::JSCustomSQLStatementCallback::handleEvent):
106         * bindings/js/JSCustomSQLStatementCallback.h:
107         (WebCore::JSCustomSQLStatementCallback::create):
108         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
109         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
110         * bindings/js/JSCustomSQLStatementErrorCallback.h:
111         (WebCore::JSCustomSQLStatementErrorCallback::create):
112         * bindings/js/JSCustomSQLTransactionCallback.cpp:
113         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
114         * bindings/js/JSCustomSQLTransactionCallback.h:
115         (WebCore::JSCustomSQLTransactionCallback::create):
116         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
117         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
118         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
119         (WebCore::JSCustomSQLTransactionErrorCallback::create):
120         * bindings/js/JSCustomVoidCallback.cpp:
121         (WebCore::JSCustomVoidCallback::handleEvent):
122         * bindings/js/JSCustomVoidCallback.h:
123         (WebCore::JSCustomVoidCallback::create):
124         * bindings/js/JSCustomXPathNSResolver.cpp:
125         (WebCore::JSCustomXPathNSResolver::create):
126         * bindings/js/JSCustomXPathNSResolver.h:
127         * bindings/js/JSDOMApplicationCacheCustom.cpp:
128         (WebCore::JSDOMApplicationCache::dispatchEvent):
129         * bindings/js/JSDOMBinding.cpp:
130         (WebCore::jsOwnedStringOrNull):
131         * bindings/js/JSDOMBinding.h:
132         (WebCore::DOMObject::DOMObject):
133         (WebCore::cacheDOMObject):
134         (WebCore::cacheSVGDOMObject):
135         (WebCore::DOMExceptionTranslator::DOMExceptionTranslator):
136         (WebCore::toJS):
137         * bindings/js/JSDOMWindowBase.cpp:
138         * bindings/js/JSDOMWindowBase.h:
139         (WebCore::JSDOMWindowBase::classInfo):
140         (WebCore::JSDOMWindowBase::d):
141         * bindings/js/JSDOMWindowCustom.cpp:
142         (WebCore::JSDOMWindow::getPropertyAttributes):
143         * bindings/js/JSDOMWindowCustom.h:
144         (WebCore::asJSDOMWindow):
145         (WebCore::JSDOMWindow::customGetOwnPropertySlot):
146         (WebCore::JSDOMWindow::customPut):
147         (WebCore::JSDOMWindowBase::allowsAccessFrom):
148         (WebCore::JSDOMWindowBase::allowsAccessFromNoErrorMessage):
149         * bindings/js/JSDOMWindowShell.cpp:
150         (WebCore::JSDOMWindowShell::getPropertyAttributes):
151         * bindings/js/JSDOMWindowShell.h:
152         (WebCore::JSDOMWindowShell::classInfo):
153         * bindings/js/JSDatabaseCustom.cpp:
154         * bindings/js/JSDocumentCustom.cpp:
155         * bindings/js/JSDocumentFragmentCustom.cpp:
156         * bindings/js/JSElementCustom.cpp:
157         * bindings/js/JSEventCustom.cpp:
158         * bindings/js/JSEventListener.cpp:
159         * bindings/js/JSEventListener.h:
160         (WebCore::JSUnprotectedEventListener::create):
161         (WebCore::JSEventListener::create):
162         * bindings/js/JSEventTargetBase.cpp:
163         * bindings/js/JSEventTargetBase.h:
164         (WebCore::JSEventTargetBase::getValueProperty):
165         (WebCore::JSEventTargetBase::putValueProperty):
166         (WebCore::JSEventTargetBase::getOwnPropertySlot):
167         (WebCore::JSEventTargetBase::put):
168         (WebCore::JSEventTargetPrototype::JSEventTargetPrototype):
169         (WebCore::JSEventTargetPrototype::self):
170         (WebCore::JSEventTargetPrototype::getOwnPropertySlot):
171         (WebCore::JSEventTargetPrototype::classInfo):
172         * bindings/js/JSEventTargetNode.cpp:
173         * bindings/js/JSEventTargetNode.h:
174         (WebCore::JSEventTargetNode::getOwnPropertySlot):
175         (WebCore::JSEventTargetNode::getValueProperty):
176         (WebCore::JSEventTargetNode::put):
177         (WebCore::JSEventTargetNode::putValueProperty):
178         * bindings/js/JSHTMLAllCollection.h:
179         (WebCore::JSHTMLAllCollection::JSHTMLAllCollection):
180         (WebCore::JSHTMLAllCollection::toBoolean):
181         * bindings/js/JSHTMLAppletElementCustom.cpp:
182         * bindings/js/JSHTMLCollectionCustom.cpp:
183         * bindings/js/JSHTMLDocumentCustom.cpp:
184         * bindings/js/JSHTMLElementCustom.cpp:
185         * bindings/js/JSHTMLEmbedElementCustom.cpp:
186         * bindings/js/JSHTMLFormElementCustom.cpp:
187         * bindings/js/JSHTMLFrameElementCustom.cpp:
188         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
189         * bindings/js/JSHTMLIFrameElementCustom.cpp:
190         * bindings/js/JSHTMLInputElementBase.cpp:
191         (WebCore::JSHTMLInputElementBase::JSHTMLInputElementBase):
192         (WebCore::JSHTMLInputElementBase::getOwnPropertySlot):
193         * bindings/js/JSHTMLInputElementBase.h:
194         (WebCore::JSHTMLInputElementBase::classInfo):
195         * bindings/js/JSHTMLObjectElementCustom.cpp:
196         * bindings/js/JSHTMLOptionElementConstructor.cpp:
197         * bindings/js/JSHTMLOptionElementConstructor.h:
198         (WebCore::JSHTMLOptionElementConstructor::classInfo):
199         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
200         * bindings/js/JSHTMLSelectElementCustom.cpp:
201         (WebCore::selectIndexSetter):
202         (WebCore::JSHTMLSelectElement::indexSetter):
203         * bindings/js/JSHTMLSelectElementCustom.h:
204         * bindings/js/JSHistoryCustom.cpp:
205         * bindings/js/JSImageConstructor.cpp:
206         * bindings/js/JSImageConstructor.h:
207         (WebCore::JSImageConstructor::classInfo):
208         * bindings/js/JSInspectedObjectWrapper.cpp:
209         * bindings/js/JSInspectedObjectWrapper.h:
210         (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
211         (WebCore::JSInspectedObjectWrapper::classInfo):
212         * bindings/js/JSInspectorCallbackWrapper.cpp:
213         * bindings/js/JSInspectorCallbackWrapper.h:
214         (WebCore::JSInspectorCallbackWrapper::classInfo):
215         (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
216         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
217         * bindings/js/JSLocationCustom.cpp:
218         * bindings/js/JSMimeTypeArrayCustom.cpp:
219         * bindings/js/JSNSResolver.cpp:
220         * bindings/js/JSNSResolver.h:
221         (WebCore::JSNSResolver::create):
222         * bindings/js/JSNamedNodeMapCustom.cpp:
223         * bindings/js/JSNamedNodesCollection.cpp:
224         (WebCore::JSNamedNodesCollection::JSNamedNodesCollection):
225         * bindings/js/JSNamedNodesCollection.h:
226         (WebCore::JSNamedNodesCollection::classInfo):
227         * bindings/js/JSNavigatorCustom.cpp:
228         * bindings/js/JSNodeCustom.cpp:
229         * bindings/js/JSNodeFilterCondition.cpp:
230         (WebCore::JSNodeFilterCondition::acceptNode):
231         * bindings/js/JSNodeFilterCondition.h:
232         (WebCore::JSNodeFilterCondition::create):
233         * bindings/js/JSNodeFilterCustom.cpp:
234         * bindings/js/JSNodeIteratorCustom.cpp:
235         * bindings/js/JSNodeListCustom.cpp:
236         * bindings/js/JSPluginArrayCustom.cpp:
237         * bindings/js/JSPluginCustom.cpp:
238         * bindings/js/JSPluginElementFunctions.cpp:
239         (WebCore::getRuntimeObject):
240         * bindings/js/JSPluginElementFunctions.h:
241         * bindings/js/JSQuarantinedObjectWrapper.cpp:
242         (WebCore::JSQuarantinedObjectWrapper::construct):
243         (WebCore::JSQuarantinedObjectWrapper::call):
244         * bindings/js/JSQuarantinedObjectWrapper.h:
245         (WebCore::JSQuarantinedObjectWrapper::unwrappedObject):
246         (WebCore::JSQuarantinedObjectWrapper::unwrappedGlobalObject):
247         (WebCore::JSQuarantinedObjectWrapper::className):
248         * bindings/js/JSRGBColor.cpp:
249         * bindings/js/JSRGBColor.h:
250         (WebCore::JSRGBColor::classInfo):
251         * bindings/js/JSSQLResultSetRowListCustom.cpp:
252         * bindings/js/JSSQLTransactionCustom.cpp:
253         * bindings/js/JSSVGLazyEventListener.cpp:
254         * bindings/js/JSSVGLazyEventListener.h:
255         * bindings/js/JSSVGLengthCustom.cpp:
256         * bindings/js/JSSVGMatrixCustom.cpp:
257         (WebCore::JSSVGMatrix::inverse):
258         (WebCore::JSSVGMatrix::rotateFromVector):
259         * bindings/js/JSSVGPathSegCustom.cpp:
260         * bindings/js/JSSVGPathSegListCustom.cpp:
261         (WebCore::JSSVGPathSegList::initialize):
262         (WebCore::JSSVGPathSegList::getItem):
263         (WebCore::JSSVGPathSegList::insertItemBefore):
264         (WebCore::JSSVGPathSegList::replaceItem):
265         (WebCore::JSSVGPathSegList::removeItem):
266         (WebCore::JSSVGPathSegList::appendItem):
267         * bindings/js/JSSVGPointListCustom.cpp:
268         * bindings/js/JSSVGTransformListCustom.cpp:
269         * bindings/js/JSStorageCustom.cpp:
270         * bindings/js/JSStyleSheetCustom.cpp:
271         * bindings/js/JSStyleSheetListCustom.cpp:
272         * bindings/js/JSTextCustom.cpp:
273         * bindings/js/JSTreeWalkerCustom.cpp:
274         * bindings/js/JSXMLHttpRequestConstructor.cpp:
275         * bindings/js/JSXMLHttpRequestConstructor.h:
276         (WebCore::JSXMLHttpRequestConstructor::classInfo):
277         * bindings/js/JSXMLHttpRequestCustom.cpp:
278         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
279         * bindings/js/JSXSLTProcessorConstructor.cpp:
280         * bindings/js/JSXSLTProcessorConstructor.h:
281         (WebCore::JSXSLTProcessorConstructor::classInfo):
282         * bindings/js/JSXSLTProcessorCustom.cpp:
283         * bindings/js/ScheduledAction.cpp:
284         * bindings/js/ScheduledAction.h:
285         * bindings/js/ScriptController.cpp:
286         (WebCore::ScriptController::attachDebugger):
287         (WebCore::ScriptController::windowScriptNPObject):
288         * bindings/js/ScriptController.h:
289         * bindings/js/ScriptControllerGtk.cpp:
290         (WebCore::ScriptController::createScriptInstanceForWidget):
291         * bindings/js/ScriptControllerMac.mm:
292         (WebCore::ScriptController::createScriptInstanceForWidget):
293         (WebCore::ScriptController::windowScriptObject):
294         (WebCore::ScriptController::clearPlatformScriptObjects):
295         (WebCore::updateRenderingForBindings):
296         (WebCore::ScriptController::initJavaJSBindings):
297         * bindings/js/ScriptControllerQt.cpp:
298         (WebCore::ScriptController::createScriptInstanceForWidget):
299         * bindings/js/ScriptControllerWin.cpp:
300         (WebCore::ScriptController::createScriptInstanceForWidget):
301         * bindings/js/ScriptControllerWx.cpp:
302         (WebCore::ScriptController::createScriptInstanceForWidget):
303         * bindings/js/StringSourceProvider.h:
304         (WebCore::StringSourceProvider::getRange):
305         * bindings/objc/DOM.mm:
306         (-[DOMNode JSC::Bindings::]):
307         * bindings/objc/DOMInternal.h:
308         * bindings/objc/DOMInternal.mm:
309         (-[WebScriptObject _initializeScriptDOMNodeImp]):
310         * bindings/objc/DOMUtility.mm:
311         (JSC::createDOMWrapper):
312         (WebCore::createDOMWrapper):
313         * bindings/objc/WebScriptObject.mm:
314         (WebCore::createJSWrapper):
315         (-[WebScriptObject _initWithJSObject:JSC::originRootObject:JSC::Bindings::rootObject:JSC::Bindings::]):
316         * bindings/objc/WebScriptObjectPrivate.h:
317         * bindings/scripts/CodeGeneratorJS.pm:
318         * bridge/NP_jsobject.cpp:
319         * bridge/NP_jsobject.h:
320         * bridge/c/c_class.cpp:
321         * bridge/c/c_class.h:
322         * bridge/c/c_instance.cpp:
323         * bridge/c/c_instance.h:
324         * bridge/c/c_runtime.cpp:
325         * bridge/c/c_runtime.h:
326         * bridge/c/c_utility.cpp:
327         * bridge/c/c_utility.h:
328         * bridge/jni/jni_class.cpp:
329         * bridge/jni/jni_class.h:
330         * bridge/jni/jni_instance.cpp:
331         * bridge/jni/jni_instance.h:
332         * bridge/jni/jni_jsobject.h:
333         * bridge/jni/jni_jsobject.mm:
334         (JavaJSObject::call):
335         (JavaJSObject::convertJObjectToValue):
336         * bridge/jni/jni_objc.mm:
337         (JSC::Bindings::dispatchJNICall):
338         * bridge/jni/jni_runtime.cpp:
339         * bridge/jni/jni_runtime.h:
340         * bridge/jni/jni_utility.cpp:
341         * bridge/jni/jni_utility.h:
342         * bridge/npruntime.cpp:
343         (_NPN_GetStringIdentifier):
344         * bridge/objc/WebScriptObject.h:
345         * bridge/objc/objc_class.h:
346         * bridge/objc/objc_class.mm:
347         * bridge/objc/objc_instance.h:
348         * bridge/objc/objc_instance.mm:
349         * bridge/objc/objc_runtime.h:
350         * bridge/objc/objc_runtime.mm:
351         * bridge/objc/objc_utility.h:
352         * bridge/objc/objc_utility.mm:
353         * bridge/qt/qt_class.cpp:
354         * bridge/qt/qt_class.h:
355         * bridge/qt/qt_instance.cpp:
356         * bridge/qt/qt_instance.h:
357         * bridge/qt/qt_runtime.cpp:
358         (JSC::Bindings::convertQVariantToValue):
359         (JSC::Bindings::):
360         * bridge/qt/qt_runtime.h:
361         * bridge/runtime.cpp:
362         * bridge/runtime.h:
363         * bridge/runtime_array.cpp:
364         * bridge/runtime_array.h:
365         * bridge/runtime_method.cpp:
366         * bridge/runtime_method.h:
367         * bridge/runtime_object.cpp:
368         * bridge/runtime_object.h:
369         * bridge/runtime_root.cpp:
370         (JSC::Bindings::RootObject::invalidate):
371         (JSC::Bindings::RootObject::gcProtect):
372         (JSC::Bindings::RootObject::gcUnprotect):
373         * bridge/runtime_root.h:
374         * bridge/testbindings.cpp:
375         * bridge/testbindings.mm:
376         * bridge/testqtbindings.cpp:
377         * dom/Document.cpp:
378         (WebCore::Document::~Document):
379         * dom/NSResolver.h:
380         * dom/Node.cpp:
381         (WebCore::Node::setDocument):
382         (WebCore::ResolveNamespaceFunctor::ResolveNamespaceFunctor):
383         (WebCore::resolveNamespacesForSelector):
384         (WebCore::Node::querySelector):
385         (WebCore::Node::querySelectorAll):
386         * dom/Node.h:
387         * dom/NodeFilter.cpp:
388         * dom/NodeFilter.h:
389         * dom/NodeFilterCondition.cpp:
390         * dom/NodeFilterCondition.h:
391         * dom/NodeIterator.cpp:
392         * dom/NodeIterator.h:
393         * dom/Traversal.cpp:
394         * dom/Traversal.h:
395         * dom/TreeWalker.cpp:
396         * dom/TreeWalker.h:
397         * dom/make_names.pl:
398         * history/CachedPage.cpp:
399         * history/CachedPage.h:
400         * html/HTMLPlugInElement.cpp:
401         (WebCore::HTMLPlugInElement::getInstance):
402         * html/HTMLPlugInElement.h:
403         * loader/FrameLoader.cpp:
404         * loader/FrameLoader.h:
405         * loader/icon/IconDatabase.cpp:
406         (WebCore::iconDatabase):
407         * page/Console.cpp:
408         * page/Console.h:
409         * page/InspectorController.cpp:
410         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
411         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
412         (WebCore::InspectorResource::setXMLHttpRequestProperties):
413         (WebCore::InspectorResource::sourceString):
414         (WebCore::getResourceDocumentNode):
415         (WebCore::search):
416         (WebCore::InspectorController::focusNode):
417         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
418         (WebCore::InspectorController::addDatabaseScriptResource):
419         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
420         * page/InspectorController.h:
421         (WebCore::InspectorController::profiles):
422         * page/JavaScriptCallFrame.cpp:
423         (WebCore::JavaScriptCallFrame::scopeChain):
424         * page/JavaScriptCallFrame.h:
425         (WebCore::JavaScriptCallFrame::create):
426         (WebCore::JavaScriptCallFrame::update):
427         * page/JavaScriptDebugListener.h:
428         * page/JavaScriptDebugServer.cpp:
429         (WebCore::dispatchDidParseSource):
430         * page/JavaScriptDebugServer.h:
431         * page/JavaScriptProfile.cpp:
432         * page/JavaScriptProfile.h:
433         * page/JavaScriptProfileNode.cpp:
434         (WebCore::getTotalTime):
435         (WebCore::getSelfTime):
436         (WebCore::getTotalPercent):
437         (WebCore::getSelfPercent):
438         (WebCore::getNumberOfCalls):
439         (WebCore::getChildren):
440         (WebCore::getVisible):
441         * page/JavaScriptProfileNode.h:
442         * page/Page.cpp:
443         (WebCore::Page::setDebuggerForAllPages):
444         (WebCore::Page::setDebugger):
445         * page/Page.h:
446         (WebCore::Page::debugger):
447         * page/mac/FrameMac.mm:
448         * platform/KURL.h:
449         (WebCore::KURL::operator JSC::UString):
450         * platform/text/AtomicString.cpp:
451         (WebCore::AtomicString::add):
452         (WebCore::AtomicString::find):
453         * platform/text/AtomicString.h:
454         (WebCore::AtomicString::AtomicString):
455         * platform/text/PlatformString.h:
456         * platform/text/String.cpp:
457         (WebCore::charactersToDouble):
458         * platform/win/BString.cpp:
459         * platform/win/BString.h:
460         * plugins/MimeTypeArray.h:
461         * plugins/Plugin.h:
462         * plugins/PluginArray.h:
463         * plugins/PluginView.cpp:
464         (WebCore::PluginView::start):
465         (WebCore::PluginView::performRequest):
466         (WebCore::PluginView::bindingInstance):
467         * plugins/PluginView.h:
468         * plugins/gtk/PluginViewGtk.cpp:
469         (WebCore::PluginView::paint):
470         (WebCore::PluginView::handleKeyboardEvent):
471         (WebCore::PluginView::handleMouseEvent):
472         (WebCore::PluginView::setNPWindowRect):
473         (WebCore::PluginView::stop):
474         (WebCore::PluginView::init):
475         * plugins/qt/PluginViewQt.cpp:
476         (WebCore::PluginView::setNPWindowRect):
477         (WebCore::PluginView::stop):
478         (WebCore::PluginView::init):
479         * plugins/win/PluginViewWin.cpp:
480         (WebCore::PluginView::dispatchNPEvent):
481         (WebCore::PluginView::handleKeyboardEvent):
482         (WebCore::PluginView::handleMouseEvent):
483         (WebCore::PluginView::setNPWindowRect):
484         (WebCore::PluginView::stop):
485         * storage/Database.cpp:
486         (WebCore::Database::Database):
487         * xml/XMLHttpRequest.cpp:
488         (WebCore::XMLHttpRequest::responseText):
489         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
490         (WebCore::XMLHttpRequest::clearResponse):
491         (WebCore::XMLHttpRequest::dropProtection):
492         (WebCore::XMLHttpRequest::didFinishLoading):
493         (WebCore::XMLHttpRequest::didReceiveData):
494         * xml/XMLHttpRequest.h:
495
496 2008-09-07  Adam Barth  <abarth@webkit.org>
497
498         Reviewed by Sam Weinig.
499
500         Adopt opener restriction on frame navigation.
501           https://bugs.webkit.org/show_bug.cgi?id=20642
502
503         This restriction helps prevent an attacker from navigating top-level
504         windows that were created by another web site.
505
506         Tests: http/tests/security/frameNavigation/not-opener.html
507                http/tests/security/frameNavigation/opener.html
508
509         * loader/FrameLoader.cpp:
510         (WebCore::canAccessAncestor):
511         (WebCore::FrameLoader::shouldAllowNavigation):
512
513 2008-09-07  Dan Bernstein  <mitz@apple.com>
514
515         Reviewed by Maciej Stachowiak.
516
517         - use the correct sign for vertical offsets of combining marks
518
519         * platform/graphics/win/UniscribeController.cpp:
520         (WebCore::UniscribeController::shapeAndPlaceItem):
521
522 2008-09-07  Dan Bernstein  <mitz@apple.com>
523
524         Reviewed by Dave Hyatt.
525
526         - add the combining mark offsets in two places where I forgot them
527
528         * platform/graphics/win/FontCGWin.cpp:
529         (WebCore::Font::drawGlyphs):
530
531 2008-09-07  Dan Bernstein  <mitz@apple.com>
532
533         Reviewed by Dave Hyatt.
534
535         - correct glyph advances in complex text using web fonts rendered with
536           Core Graphics
537
538         * platform/graphics/win/FontCustomPlatformData.cpp:
539         (WebCore::FontCustomPlatformData::fontPlatformData):
540
541 2008-09-07  Keishi Hattori  <casey.hattori@gmail.com>
542
543         Adds console.dirxml support to the Web Inspector.
544
545         https://bugs.webkit.org/show_bug.cgi?id=19156
546
547         Reviewed by Timothy Hatcher.
548
549         * WebCore.vcproj/WebCore.vcproj: Added ElementsTreeOutline.js.
550         * bindings/js/JSConsoleCustom.cpp:
551         (WebCore::JSConsole::dirxml):
552         * page/Console.cpp:
553         (WebCore::Console::dirxml): Adds a ConsoleMessage with NodeMessageLevel.
554         * page/Console.h:
555         (WebCore::): Added NodeMessageLevel.
556         * page/Console.idl: Added console.dirxml.
557         * page/inspector/Console.js: A NodeMessage creates a ElementsTreeOutline.
558         * page/inspector/ElementsPanel.js: Modified to use ElementsTreeOutline. The ElementsTreeOutline 
559         in the ElementsPanel has includeRootDOMNode and selectEnabled set to true.
560         * page/inspector/ElementsTreeOutline.js: Added.
561         (WebInspector.ElementsTreeOutline): A subclass of TreeOutline for displaying a DOM node tree.
562         (WebInspector.ElementsTreeElement): A subclass of TreeElement for ElementsTreeOutline.
563         * page/inspector/WebKit.qrc: Added ElementsTreeOutline.js.
564         * page/inspector/inspector.css:
565         * page/inspector/inspector.html: Added ElementsTreeOutline.js.
566         * page/inspector/inspector.js: Moved hover related methods to WebInspector.
567         (WebInspector.altKeyDown):
568         (WebInspector.forceHoverHighlight):
569         (WebInspector.hoveredDOMNode):
570         (WebInspector._updateHoverHighlightSoon):
571         (WebInspector._updateHoverHighlight):
572         (WebInspector.documentKeyDown): Updates WebInspector.altKeyDown
573         (WebInspector.documentKeyUp): Updates WebInspector.altKeyDown
574         * page/inspector/utilities.js: Added getDocumentForNode, parentNodeOrFrameElement,
575         isAncestorIncludingParentFrames.
576
577 2008-09-06  Mark Rowe  <mrowe@apple.com>
578
579         Qt build fix.
580
581         * bridge/qt/qt_runtime.cpp:
582         (KJS::Bindings::convertQVariantToValue):
583
584 === End merge of squirrelfish-extreme ===
585
586 2008-09-05  Oliver Hunt  <oliver@apple.com>
587
588         Start bringing up SFX on windows.
589
590         Reviewed by Mark Rowe and Sam Weinig
591
592         Start doing the work to bring up SFX on windows.  Initially
593         just working on WREC, as it does not make any calls so reduces
594         the amount of code that needs to be corrected.
595
596         Add forwarding headers
597
598         * ChangeLog:
599         * ForwardingHeaders/masm/MacroAssembler.h: Added.
600         * WebCore.vcproj/WebCore.vcproj:
601
602 2008-08-27  Mark Rowe  <mrowe@apple.com>
603
604         Reviewed by Oliver Hunt.
605
606         Fix the build of the full WebKit stack.
607
608         Add forwarding headers.
609
610         * ForwardingHeaders/masm/IA32MacroAsm.h: Added.
611         * ForwardingHeaders/wrec/WREC.h: Added.
612
613 === Start merge of squirrelfish-extreme ===
614
615 2008-09-06  Antti Koivisto  <antti@apple.com>
616
617         Reviewed by Dave Hyatt.
618
619         <rdar://problem/6187043> 
620         Don't parse full HTML user agent style sheet unless it is actually needed
621         <rdar://problem/6131889> 
622         WebView is significantly more expensive to create recently
623         
624         Parsing the html4.css takes significant amount of time and memory (~50kb) on application
625         startup. Some clients may never use most of the rules.
626         
627         With this patch we use simplified UA stylesheet until we hit something it can't handle. 
628         This avoids full stylesheet parsing on application startup (due to empty document construction)
629         and also makes it possible for clients with very simple demands (divs and spans only) never to load 
630         the full style.
631         
632         It also delays view source style parsing until it is used.
633
634         * css/CSSStyleSelector.cpp:
635         (WebCore::elementCanUseSimpleDefaultStyle):
636         (WebCore::CSSStyleSelector::CSSStyleSelector):
637         (WebCore::loadFullDefaultStyle):
638         (WebCore::loadSimpleDefaultStyle):
639         (WebCore::loadViewSourceStyle):
640         (WebCore::CSSStyleSelector::matchUARules):
641         (WebCore::CSSStyleSelector::styleForElement):
642
643 2008-09-06  Kevin Ollivier  <kevino@theolliviers.com>
644
645         wx build fix.
646
647         * WebCoreSources.bkl:
648
649 2008-09-06  Antti Koivisto  <antti@apple.com>
650
651         Reverting r35953 which was causing problems on Windows which relies on
652         WebCore timers in nested event loops. r36132 did alternative fix.
653
654         * page/Chrome.cpp:
655         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
656         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
657
658 2008-09-06  Antti Koivisto  <antti@apple.com>
659
660         Reviewed by Dan Bernstein.
661
662         Fix <rdar://problem/6201644>
663         https://bugs.webkit.org/show_bug.cgi?id=20493
664         Crash after OK in dialog box and reloading page in secure mode
665         
666         Limited loader only fix since the general timer fix is causing problems on Windows.
667
668         * loader/loader.cpp:
669         (WebCore::Loader::servePendingRequests):
670         (WebCore::Loader::Host::Host):
671         (WebCore::Loader::Host::didFinishLoading):
672         (WebCore::Loader::Host::didFail):
673         (WebCore::Loader::Host::didReceiveData):
674         * loader/loader.h:
675         (WebCore::Loader::Host::processingResource):
676
677 2008-09-06  Dan Bernstein  <mitz@apple.com>
678
679         Reviewed by Dave Hyatt.
680
681         The initial Core Text adoption prototype was made by Daniel Fenwick.
682
683         - <rdar://problem/5158514> Add a Core Text-based complex text code path
684
685         Currently the Core Text code path is not used in any configuration.
686
687         * WebCore.xcodeproj/project.pbxproj: Added files.
688         * config.h: Defined WTF_USE_ATSUI and WTF_USE_CORE_TEXT.
689         * platform/graphics/Font.cpp:
690         (WebCore::WidthIterator::advance): Moved the spacingDisabled() test out
691         of the loop.
692         * platform/graphics/GlyphBuffer.h:
693         (WebCore::GlyphBuffer::add): Added this version that takes an advance.
694         * platform/graphics/SimpleFontData.h: Added ATSUI and CORE_TEXT #ifdefs.
695         Added getCTFont() and getCFStringAttributes() and corresponding data
696         members for Core Text.
697         * platform/graphics/mac/CoreTextController.cpp: Added.
698         (WebCore::roundCGFloat): Helper function.
699         (WebCore::ceilCGFloat): Helper function.
700         (WebCore::CoreTextController::CoreTextRun::CoreTextRun):
701         (WebCore::CoreTextController::CoreTextController):
702         (WebCore::CoreTextController::offsetForPosition):
703         (WebCore::CoreTextController::collectCoreTextRuns): Added. Segments the
704         run into subruns as necessary such that each subrun can be rendered with
705         a single font. Also separates out soft hyphens and replaces them with
706         real hyphens, because Core Text does not emit a glyph for soft hyphens.
707         Then calls collectCoreTextRunsForCharacters() on each subrun.
708         (WebCore::CoreTextController::advance):
709         (WebCore::CoreTextController::collectCoreTextRunsForCharacters): Creates
710         a CTLine from the given subrun and collects its CoreTextRuns.
711         (WebCore::CoreTextController::adjustGlyphsAndAdvances): Applies the
712         rounding hacks, letter- and word-spacing and glyph substitutions and
713         stores the resulting adjusted glyphs and advances.
714         * platform/graphics/mac/CoreTextController.h: Copied from WebCore/platform/graphics/win/UniscribeController.h.
715         (WebCore::CoreTextController::totalWidth):
716         (WebCore::CoreTextController::finalRoundingWidth):
717         (WebCore::CoreTextController::CoreTextRun::ctRun):
718         (WebCore::CoreTextController::CoreTextRun::glyphCount):
719         (WebCore::CoreTextController::CoreTextRun::fontData):
720         (WebCore::CoreTextController::CoreTextRun::characters):
721         (WebCore::CoreTextController::CoreTextRun::stringLocation):
722         (WebCore::CoreTextController::CoreTextRun::stringLength):
723         (WebCore::CoreTextController::CoreTextRun::indexAt):
724         * platform/graphics/mac/FontMac.mm: Moved the ATSUI-specific parts to
725         FontMacATSUI.mm.
726         * platform/graphics/mac/FontMacATSUI.mm: Copied from WebCore/platform/graphics/mac/FontMac.mm.
727         (WebCore::disableLigatures): Changed to call
728         FontPlatformData::allowsLigatures().
729         (WebCore::overrideLayoutOperation): Changed to call
730         FontPlatformData::roundsGlyphAdvances().
731         * platform/graphics/mac/FontMacCoreText.cpp: Copied from WebCore/platform/graphics/win/FontWin.cpp.
732         (WebCore::Font::selectionRectForComplexText): Changed to use
733         totalWidth() instead of advancing to the end and using runWidthSoFar().
734         (WebCore::Font::drawComplexText):
735         (WebCore::Font::floatWidthForComplexText): Ditto.
736         (WebCore::Font::offsetForPositionForComplexText):
737         * platform/graphics/mac/FontPlatformData.h:
738         * platform/graphics/mac/FontPlatformDataMac.mm:
739         (WebCore::FontPlatformData::setFont):
740         (WebCore::FontPlatformData::roundsGlyphAdvances): Added. Checks the
741         AppKit rendering mode.
742         (WebCore::FontPlatformData::allowsLigatures): Added. Implements the
743         heuristic that allows ligatures in fonts that do not have a glyph for
744         'a', based on the assumption that such fonts are only used in complex
745         text.
746         * platform/graphics/mac/SimpleFontDataMac.mm:
747         (WebCore::SimpleFontData::platformInit):
748         (WebCore::SimpleFontData::platformDestroy):
749         (WebCore::SimpleFontData::getCTFont): Added.
750         (WebCore::SimpleFontData::getCFStringAttributes): Added. Caches and
751         returns an attributes dictionary.
752         * platform/text/mac/ShapeArabic.c: Added ATSUI #ifdefs.
753         * platform/text/mac/ShapeArabic.h: Ditto.
754
755 2008-09-06  Dan Bernstein  <mitz@apple.com>
756
757         Reviewed by Dave Hyatt.
758
759         - make combining mark offsets work in CG text on Windows
760
761         * platform/graphics/win/FontCGWin.cpp:
762         (WebCore::Font::drawGlyphs): The old code tried to translate the text
763         matrix, but failed for two reasons: it did not actually change the
764         matrix, and even if it did, CGContextSetTextPosition overwrites the
765         translation values in the text matrix. Instead, just added the
766         translation to the anchor point.
767
768 2008-09-05  Gustavo Noronha Silva  <gns@gnome.org>
769
770         Reviewed by Alp Toker.
771
772         https://bugs.webkit.org/show_bug.cgi?id=18346
773         [GTK] Remove build warnings
774
775         Applied some casts, and removed an unused typedef to make the
776         compiler happy, printing less warnings when building.
777
778         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
779         * platform/graphics/gtk/SimpleFontDataPango.cpp:
780         (WebCore::SimpleFontData::containsCharacters):
781         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
782         (webkit_video_sink_set_caps):
783         * platform/network/soup/ResourceHandleSoup.cpp:
784
785 2008-09-05  Eric Seidel  <eric@webkit.org>
786
787         Reviewed by Adam Roben.
788
789         Build fix for WebKitWin and Chromium
790
791         * platform/FileSystem.h:
792
793 2008-09-05  Eric Seidel  <eric@webkit.org>
794
795         Reviewed by Darin Adler.
796
797         Try to make Chromium compile with ToT:
798         - Wrap a few places which depend on KJS:: in #if USE(JSC)
799         - Include some windows forward declarations
800
801         * dom/Node.h:
802         * page/Console.h:
803         * page/animation/CompositeAnimation.h:
804         * platform/FileSystem.h:
805         * platform/graphics/Image.h:
806         * platform/text/AtomicString.h:
807         * platform/text/String.cpp:
808         * rendering/style/RenderStyle.h:
809
810 2008-09-05  Dave Hyatt  <hyatt@apple.com>
811
812         Add support for runtime switchability of the Aqua look and the native look on Windows.
813         Make RenderThemeWin compile by default even when USE(SAFARI_THEME) is set.
814
815         Reviewed by Adam Roben
816
817         * WebCore.vcproj/WebCore.vcproj:
818         * page/Settings.cpp:
819         (WebCore::Settings::setShouldPaintNativeControls):
820         * page/Settings.h:
821         (WebCore::Settings::shouldPaintNativeControls):
822         * rendering/RenderThemeSafari.cpp:
823         (WebCore::theme):
824         * rendering/RenderThemeWin.cpp:
825
826 2008-09-05  Antti Koivisto  <antti@apple.com>
827
828         Qt build fix.
829
830         * svg/SVGFEImageElement.cpp:
831         (WebCore::SVGFEImageElement::build):
832
833 2008-09-05  Dirk Schulze  <vbs85@gmx.de>
834
835         Gtk build fix
836
837         * GNUmakefile.am:
838
839 2008-09-05  Antti Koivisto  <antti@apple.com>
840
841         Another build fix.
842
843         * svg/SVGFEImageElement.cpp:
844         (WebCore::SVGFEImageElement::notifyFinished):
845
846 2008-09-05  Antti Koivisto  <antti@apple.com>
847
848         Build fixes.
849         
850         * WebCore.xcodeproj/project.pbxproj:
851         * svg/graphics/filters/SVGFEImage.cpp:
852         (WebCore::FEImage::cachedImage):
853
854 2008-09-05  Antti Koivisto  <antti@apple.com>
855
856         Reviewed by Darin Adler.
857
858         Most of the implementation for https://bugs.webkit.org/show_bug.cgi?id=17998
859         When a resource is cached locally, WebKit should follow RFC 2616 "Specific end-to-end revalidation" instead of "Unspecified end-to-end revalidation"
860
861         Implement HTTP 1.1 "Specific end-to-end revalidation" for WebCore memory cache. This patch does
862         not yet enable it for the biggest use case, reloading. However it is good for general browsing as
863         well. Doing this in WebCore level as opposed to relying on disk cache has big benefit that
864         we avoid re-decoding resources, especially images. 
865         
866         To be exact the enabled case is not actually the "Specific end-to-end revalidation" since it does not include
867         CacheControl: max-age=0 header. That would be added in reload case.
868         
869         The approach for revalidation is to kick the original resource out from the memory cache
870         and create a new CachedResource that represents the revalidation request. In case
871         we get 304 back for the request we put the original resource back to the cache, update 
872         its expiration date and switch the clients registered to revalidation resource to be
873         clients of the original resource.
874         
875         All heap allocated CachedImage pointers now use CachedResourceHandle<CachedImage> (and so on) instead.
876         This allows updating the handles to point to the original resource when the revalidation succeeds. It
877         also acts as refcounting smart pointer.
878
879         * WebCore.pro:
880         * WebCore.vcproj/WebCore.vcproj:
881         * WebCore.xcodeproj/project.pbxproj:
882         * css/CSSFontFaceSource.h:
883         * css/CSSImportRule.h:
884         * dom/Clipboard.h:
885         (WebCore::Clipboard::dragImage):
886         * dom/ProcessingInstruction.h:
887         * dom/ScriptElement.h:
888         * dom/XMLTokenizer.cpp:
889         (WebCore::XMLTokenizer::isWaitingForScripts):
890         * dom/XMLTokenizer.h:
891         * html/HTMLImageLoader.cpp:
892         (WebCore::HTMLImageLoader::setImage):
893         (WebCore::HTMLImageLoader::updateFromElement):
894         (WebCore::HTMLImageLoader::notifyFinished):
895         * html/HTMLImageLoader.h:
896         (WebCore::HTMLImageLoader::image):
897         * html/HTMLLinkElement.h:
898         * html/HTMLTokenizer.cpp:
899         (WebCore::HTMLTokenizer::reset):
900         (WebCore::HTMLTokenizer::scriptHandler):
901         (WebCore::HTMLTokenizer::notifyFinished):
902         * html/HTMLTokenizer.h:
903         * loader/Cache.cpp:
904         (WebCore::Cache::revalidateResource):
905         (WebCore::Cache::revalidationSucceeded):
906         (WebCore::Cache::revalidationFailed):
907         * loader/Cache.h:
908         * loader/CachedResource.cpp:
909         (WebCore::CachedResource::CachedResource):
910         (WebCore::CachedResource::~CachedResource):
911         (WebCore::CachedResource::isExpired):
912         (WebCore::CachedResource::setResponse):
913         (WebCore::CachedResource::deleteIfPossible):
914         (WebCore::CachedResource::setResourceToRevalidate):
915         (WebCore::CachedResource::clearResourceToRevalidate):
916         (WebCore::CachedResource::switchClientsToRevalidatedResource):
917         (WebCore::CachedResource::canUseCacheValidator):
918         (WebCore::CachedResource::mustRevalidate):
919         * loader/CachedResource.h:
920         (WebCore::CachedResource::canDelete):
921         (WebCore::CachedResource::registerHandle):
922         (WebCore::CachedResource::unregisterHandle):
923         (WebCore::CachedResource::isCacheValidator):
924         (WebCore::CachedResource::resourceToRevalidate):
925         (WebCore::CachedResource::setExpirationDate):
926         * loader/CachedResourceHandle.cpp: Added.
927         (WebCore::CachedResourceHandleBase::setResource):
928         * loader/CachedResourceHandle.h: Added.
929         (WebCore::CachedResourceHandleBase::~CachedResourceHandleBase):
930         (WebCore::CachedResourceHandleBase::get):
931         (WebCore::CachedResourceHandleBase::operator!):
932         (WebCore::CachedResourceHandleBase::operator UnspecifiedBoolType):
933         (WebCore::CachedResourceHandleBase::CachedResourceHandleBase):
934         (WebCore::CachedResourceHandleBase::operator=):
935         (WebCore::CachedResourceHandle::CachedResourceHandle):
936         (WebCore::CachedResourceHandle::get):
937         (WebCore::CachedResourceHandle::operator->):
938         (WebCore::CachedResourceHandle::operator=):
939         (WebCore::CachedResourceHandle::operator==):
940         (WebCore::CachedResourceHandle::operator!=):
941         (WebCore::operator==):
942         (WebCore::operator!=):
943         * loader/DocLoader.cpp:
944         (WebCore::DocLoader::checkForReload):
945         * loader/UserStyleSheetLoader.h:
946         * loader/loader.cpp:
947         (WebCore::Loader::Host::servePendingRequests):
948         (WebCore::Loader::Host::didFinishLoading):
949         (WebCore::Loader::Host::didFail):
950         (WebCore::Loader::Host::didReceiveResponse):
951         (WebCore::Loader::Host::didReceiveData):
952         * page/EventHandler.cpp:
953         (WebCore::EventHandler::selectCursor):
954         * rendering/RenderImage.cpp:
955         (WebCore::RenderImage::setCachedImage):
956         (WebCore::RenderImage::imageChanged):
957         * rendering/RenderImage.h:
958         (WebCore::RenderImage::cachedImage):
959         (WebCore::RenderImage::imagePtr):
960         * rendering/style/RenderStyle.h:
961         * rendering/style/StyleCachedImage.h:
962         (WebCore::StyleCachedImage::data):
963         (WebCore::StyleCachedImage::cachedImage):
964         * svg/SVGFEImageElement.h:
965         * svg/graphics/filters/SVGFEImage.h:
966         * xml/XSLImportRule.h:
967
968 2008-09-04  Brady Eidson  <beidson@apple.com>
969
970         Reviewed by Mitz
971
972         <rdar://problem/6180236> - Safari times out connections after 1 or 2 minutes
973
974         A 60-second default timeout was added in http://trac.webkit.org/changeset/17144 in an attempt 
975         to model default NSURLRequest behavior in a cross-platform manner.  
976
977         Sadly by always enforcing this 60 second timeout, WebCore was stomping over the wishes of any Webkit 
978         client that wished to enforce a much larger default timeout using NSURLRequest API.
979
980         Additionally, upon reviewing what all other browsers do, it seems apparent that "no limit" is desirable
981         behavior on the web and this restores previous Safari/WebKit behavior.
982
983         It would be easy to write a layout test for this, but to be effective it would have
984         to run for at least 61 seconds, which seems insane until will can parallelize run-webkit-tests
985
986         * manual-tests/timeout-test.html: Added.
987         * manual-tests/timeout-test.php: Added.
988
989         * platform/network/ResourceRequestBase.h:
990         (WebCore::ResourceRequestBase::ResourceRequestBase):  Rename the constant to "unspecifiedTimeoutInterval"
991           and make it UINT_MAX so platforms that do set it have an effective "no timeout."  (Windows, for example)
992         * platform/network/mac/ResourceRequestMac.mm:
993         (WebCore::ResourceRequest::doUpdatePlatformRequest):  If the timeout for this request is 
994           "unspecifiedTimeoutInterval", then don't bother setting the timeout using NSURLRequest API, allowing
995           WebKit applications to enforce their own default timeout.
996
997 2008-09-04  Dan Bernstein  <mitz@apple.com>
998
999         Reviewed by Beth Dakin.
1000
1001         - fix <rdar://problem/6198514> Changing a button's opacity triggers relayout
1002
1003         Test: fast/repaint/button-spurious-layout-hint.html
1004
1005         * rendering/RenderButton.cpp:
1006         (WebCore::RenderButton::setStyle): Reset the inner block's style box
1007         flex to 0 to avoid getting a spurious layout hint. 
1008
1009 2008-09-04  Kevin Ollivier  <kevino@theolliviers.com>
1010
1011         wx build fixes.
1012
1013         * WebCoreSources.bkl:
1014         * bindings/js/ScriptControllerWx.cpp: Added.
1015         (WebCore::ScriptController::createScriptInstanceForWidget):
1016         * page/wx/AccessibilityObjectWx.cpp: Added.
1017         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
1018         * platform/graphics/wx/GraphicsContextWx.cpp:
1019         * webcore-base.bkl:
1020         * webcore-wx.bkl:
1021
1022 2008-09-04  Dan Bernstein  <mitz@apple.com>
1023
1024         Reviewed by Mark Rowe.
1025
1026         - roll out r36050 because it made svg/custom/invalid-fill-hex.svg fail,
1027           and fixing https://bugs.webkit.org/show_bug.cgi?id=15360 appears to
1028           require a different approach
1029
1030         * css/CSSGrammar.y:
1031
1032 2008-09-04  Mark Rowe  <mrowe@apple.com>
1033
1034         Reviewed by Eric Seidel.
1035
1036         Fix https://bugs.webkit.org/show_bug.cgi?id=20639.
1037         Bug 20639: ENABLE_DASHBOARD_SUPPORT does not need to be a FEATURE_DEFINE
1038
1039         * Configurations/WebCore.xcconfig: Remove ENABLE_DASHBOARD_SUPPORT from FEATURE_DEFINES.
1040         * DerivedSources.make: Revert to checking for ENABLE_DASHBOARD_SUPPORT rather than looking
1041         for ENABLE_DASHBOARD_SUPPORT in FEATURE_DEFINES.
1042
1043 2008-09-04  Mark Rowe  <mrowe@apple.com>
1044
1045         Mac build fix.
1046
1047         * config.h: Only check the value of HAVE_CONFIG_H if it is defined.
1048
1049 2008-09-04  Eric Seidel  <eric@webkit.org>
1050
1051         Build fix only, no review.
1052
1053         * dom/XMLTokenizer.cpp: Fix the Chromium merge build by adding a missing header (the Mac files must include it somewhere).
1054
1055 2008-09-04  Marco Barisione  <marco.barisione@collabora.co.uk>
1056
1057         Reviewed by Eric Seidel.
1058
1059         http://bugs.webkit.org/show_bug.cgi?id=20380
1060         [GTK][AUTOTOOLS] Include autotoolsconfig.h from config.h
1061
1062         * config.h: Include the configuration header generated by autotools if
1063         available.
1064
1065 2008-09-04  Dan Bernstein  <mitz@apple.com>
1066
1067         Rubber-stamped by Dave Hyatt.
1068
1069         - rename CachedResource::allReferencesRemoved() to allClientsRemoved()
1070
1071         * loader/CachedFont.cpp:
1072         (WebCore::CachedFont::allClientsRemoved):
1073         * loader/CachedFont.h:
1074         * loader/CachedImage.cpp:
1075         (WebCore::CachedImage::allClientsRemoved):
1076         * loader/CachedImage.h:
1077         * loader/CachedResource.cpp:
1078         (WebCore::CachedResource::removeClient):
1079         * loader/CachedResource.h:
1080         (WebCore::CachedResource::allClientsRemoved):
1081
1082 2008-09-04  Adam Roben  <aroben@apple.com>
1083
1084         Windows build fix after r36071
1085
1086         We were getting these errors:
1087
1088         error C2356: initialization segment must not change during translation
1089         unit
1090
1091         This was happening because multiple files #included by
1092         DerivedSources.cpp were themselves #including StaticConstructors.h. I
1093         fixed the error by adding header guards to StaticConstructors.h so its
1094         contents will only be included once.
1095
1096         But it's also not a good idea for StaticConstructors.h to end up in
1097         DerivedSources.cpp, since it ends up "polluting" all the source files
1098         we have in there. So I removed all the files that include
1099         StaticConstructors.h and added some preprocessor directives to
1100         DerivedSources.cpp to catch this error in the future.
1101
1102         * DerivedSources.cpp: Removed the *Names.cpp files, which include
1103         StaticConstructors.h, and added some preprocessor directives to make
1104         sure we don't end up accidentally including StaticConstructors.h in
1105         the future.
1106         * WebCore.vcproj/WebCore.vcproj: Added the *Names.cpp files.
1107         * platform/StaticConstructors.h: Added header guards.
1108
1109 2008-09-04  Adam Roben  <aroben@apple.com>
1110
1111         Windows build fix
1112
1113         * platform/graphics/win/FontPlatformData.h: Added a missing #include
1114         of PassRefPtr.h, and corrected the capitalization of RefCounted.h.
1115         * platform/text/PlatformString.h: Added a missing #include of
1116         PassRefPtr.h.
1117
1118 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
1119
1120         Reviewed by Simon.
1121
1122         Fix the QtWebKit build to match changes in r36016
1123
1124         * WebCore.pro:
1125         * bridge/qt/qt_instance.cpp:
1126         (KJS::Bindings::QtInstance::getRuntimeObject):
1127         * bridge/qt/qt_runtime.cpp:
1128         (KJS::Bindings::convertQVariantToValue):
1129         (KJS::Bindings::QtConnectionObject::execute):
1130
1131 2008-09-04  Tor Arne Vestbø  <tavestbo@trolltech.com>
1132
1133         Reviewed by Simon.
1134
1135         Re-enable support for user stylesheets in QtWebKit
1136         
1137         QtWebKit now follows the FRAME_LOADS_USER_STYLESHEET
1138         code path, which allows us to keep API support for
1139         loading user style sheets from remote URLs.
1140         
1141         As part of the change UserStyleSheetLoader.cpp/h was
1142         moved from WebCore/loader/mac to WebCore/loader.
1143
1144         * WebCore.pro:
1145         * WebCore.xcodeproj/project.pbxproj:
1146         * dom/Document.h:
1147         * loader/UserStyleSheetLoader.cpp: Renamed from WebCore/loader/mac/UserStyleSheetLoader.cpp.
1148         (UserStyleSheetLoader::UserStyleSheetLoader):
1149         (UserStyleSheetLoader::~UserStyleSheetLoader):
1150         * loader/UserStyleSheetLoader.h: Renamed from WebCore/loader/mac/UserStyleSheetLoader.h.
1151         * page/qt/FrameQt.cpp:
1152         (WebCore::Frame::setUserStyleSheetLocation):
1153         (WebCore::Frame::setUserStyleSheet):
1154
1155 2008-09-04  Alp Toker  <alp@nuanti.com>
1156
1157         Reviewed by Eric.
1158
1159         Remove left-over QT and CAIRO platform checks.
1160
1161         * html/CanvasRenderingContext2D.cpp:
1162
1163 2008-09-04  Eric Seidel  <eric@webkit.org>
1164
1165         Reviewed by Mark Rowe.
1166
1167         Fix leak of TextMetrics due to over-ref as see on buildbot.
1168
1169         * html/TextMetrics.h: use adoptRef since RefCounted starts @ refcount 1 instead of 0 now.
1170
1171 2008-09-04  Dan Bernstein  <mitz@apple.com>
1172
1173         Reviewed by Dave Hyatt.
1174
1175         - fix https://bugs.webkit.org/show_bug.cgi?id=19717
1176           <rdar://problem/6026832> REGRESSION (r31876): menu items render horizontally at the Economist
1177
1178         * rendering/RenderBlock.cpp:
1179         (WebCore::RenderBlock::layoutOnlyPositionedObjects): In the
1180         positioned movement only case, call
1181         tryLayoutDoingPositionedMovementOnly() and fall back on doing a full
1182         layout if that fails.
1183         (WebCore::RenderBlock::layoutPositionedObjects): Ditto.
1184         * rendering/RenderBox.h:
1185         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly): Renamed
1186         layoutDoingPositionedMovementOnly to this, and made this function
1187         check if the width changed. If it did, return, leaving the object
1188         dirty. The caller can then call layout(). The width can change even
1189         in the "positioned movement only" case if the object is shrink-to-fit
1190         and the available width constraint is met. (This was the case in the
1191         bug).
1192         * rendering/RenderObject.h:
1193         (WebCore::RenderObject::tryLayoutDoingPositionedMovementOnly):
1194         Renamed layoutDoingPositionedMovementOnly() to this.
1195
1196 2008-09-03  Eric Seidel  <eric@webkit.org>
1197
1198         No review, build fix only.
1199
1200         Attempt to fix the Qt build.
1201
1202         * WebCore.pro: add page/animation to include path
1203
1204 2008-09-03  Mark Rowe  <mrowe@apple.com>
1205
1206         Mac build fix.  Correctly detect whether dashboard support is enabled.
1207
1208         * DerivedSources.make:
1209
1210 2008-09-03  Eric Seidel  <eric@webkit.org>
1211
1212         Reviewed by Sam.
1213
1214         Clean up Platform.h and add PLATFORM(CHROMIUM), PLATFORM(SKIA) and USE(V8_BINDINGS)
1215
1216         * Configurations/WebCore.xcconfig: add missing ENABLE_*
1217         * config.h: add rules for V8_BINDINGS
1218
1219 2008-09-03  Eric Seidel  <eric@webkit.org>
1220
1221         Reviewed by Sam.
1222
1223         https://bugs.webkit.org/show_bug.cgi?id=20620
1224
1225         Add #if USE(JSC) around KJS dependencies
1226         Remove !USE(JAVASCRIPTCORE_BINDINGS) support for 3 reasons:
1227         1. Most platforms have it on anyway
1228         2. V8 is going to want to share some of that code
1229         3. Those platforms which want it off, should have a separate file instead of an #ifdef in our .cpp
1230
1231         * bindings/js/JSPluginElementFunctions.cpp: remove !USE(JAVASCRIPTCORE_BINDINGS) support
1232         * config.h: change JAVASCRIPTCORE_BINDINGS to JSC and add USE(V8)
1233         * html/HTMLAppletElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
1234         * html/HTMLAppletElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
1235         * html/HTMLEmbedElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
1236         * html/HTMLEmbedElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
1237         * html/HTMLObjectElement.cpp: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
1238         * html/HTMLObjectElement.h: remove USE(JAVASCRIPTCORE_BINDINGS) wrappers
1239         * html/HTMLPlugInElement.cpp: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
1240         * html/HTMLPlugInElement.h: replace USE(JAVASCRIPTCORE_BINDINGS) with USE(JSC) where needed
1241         * platform/text/AtomicString.cpp: add USE(JSC)
1242         * platform/text/AtomicString.h: add USE(JSC)
1243         * platform/text/PlatformString.h: add USE(JSC)
1244         * platform/text/String.cpp: add USE(JSC)
1245         * platform/text/StringImpl.cpp: add USE(JSC)
1246         * platform/text/StringImpl.h: add USE(JSC)
1247
1248 2008-09-03  Dean McNamee  <deanm@chromium.org>
1249
1250         Reviewed by Darin Adler.
1251
1252         Fix https://bugs.webkit.org/show_bug.cgi?id=20511
1253         Bug 20511: Remove static initializers on Windows
1254
1255         Avoid static initializers on Windows by forcing Visual C++ to put
1256         all static initializers in a code segment that is never executed.
1257
1258         * config.h:
1259         * css/MediaFeatureNames.cpp:
1260         * dom/EventNames.cpp:
1261         * dom/QualifiedName.cpp:
1262         * dom/make_names.pl:
1263         * platform/StaticConstructors.h:
1264         * platform/text/AtomicString.cpp:
1265
1266 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
1267
1268         Reviewed by Dave Hyatt.
1269
1270         Make FontCairo draw TextStroke and TextFill separately.
1271
1272         [CAIRO] draw TextFill and TextStroke separately.
1273         [https://bugs.webkit.org/show_bug.cgi?id=20631]
1274
1275         * platform/graphics/cairo/FontCairo.cpp:
1276         (WebCore::Font::drawGlyphs):
1277
1278 2008-09-03  Peter Kasting  <zerodpx@gmail.com>
1279
1280         Reviewed by Dave Hyatt.
1281
1282         https://bugs.webkit.org/show_bug.cgi?id=19663
1283         Account for paint and timer lag when animating images.  Also pretend
1284         that images whose animations were paused (by becoming invisible)
1285         continued to animate, by "catching up" to the correct frame when they're
1286         shown again.
1287
1288         * platform/graphics/BitmapImage.cpp:
1289         (WebCore::BitmapImage::BitmapImage):
1290         (WebCore::BitmapImage::startAnimation):
1291         (WebCore::BitmapImage::advanceAnimation):
1292         (WebCore::BitmapImage::internalAdvanceAnimation):
1293         (WebCore::BitmapImage::notifyObserverAndTrimDecodedData):
1294         * platform/graphics/BitmapImage.h:
1295         * platform/graphics/cairo/ImageCairo.cpp:
1296         (WebCore::BitmapImage::draw):
1297         * platform/graphics/cg/ImageCG.cpp:
1298         (WebCore::BitmapImage::draw):
1299         * platform/graphics/qt/ImageQt.cpp:
1300         (WebCore::BitmapImage::draw):
1301         * platform/graphics/wx/ImageWx.cpp:
1302         (WebCore::BitmapImage::draw):
1303
1304 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
1305
1306         Reviewed by Tim.
1307
1308         Remove the rest of the "zombie" code from the profiler.
1309         - There is no longer a need for the ProfilerClient callback mechanism.
1310
1311         * page/Console.cpp: 
1312         (WebCore::Console::Console):
1313         (WebCore::Console::profile):
1314         (WebCore::Console::profileEnd): Move the variables from the header to
1315         here since we don't have to wait for a callback to use them.
1316         * page/Console.h:
1317         * page/InspectorController.cpp:
1318         (WebCore::InspectorController::startUserInitiatedProfiling):
1319         (WebCore::InspectorController::stopUserInitiatedProfiling):
1320         * page/InspectorController.h:
1321
1322 2008-09-03  Ada Chan  <adachan@apple.com>
1323
1324         Windows build fix.
1325
1326         * WebCore.vcproj/WebCore.vcproj: Added JSWebKitCSSKeyframeRule.cpp and JSWebKitCSSKeyframesRule.cpp to the project.
1327
1328 2008-09-01  Dean Jackson  <dino@apple.com>
1329
1330         Reviewed by Dave Hyatt.
1331
1332         https://bugs.webkit.org/show_bug.cgi?id=20594
1333         Add DOM interfaces for WebKitCSSKeyframeRule
1334         and WebKitCSSKeyframesRule.
1335
1336         TEST: LayoutTests/css3/keyframes-rule.html
1337
1338         * css/WebKitCSSKeyframeRule.idl: Added
1339         * css/WebKitCSSKeyframesRule.idl: Added
1340
1341         * bindings/js/JSCSSRuleCustom.cpp:
1342         (WebCore::toJS):
1343             Add return of new JS Keyframe rules
1344         * bindings/objc/DOMInternal.h:
1345             Include new internal header
1346
1347         * DerivedSources.make:
1348         * GNUmakefile.am:
1349         * WebCore.pro:
1350         * WebCore.vcproj/WebCore.vcproj:
1351         * WebCore.xcodeproj/project.pbxproj:
1352         * WebCoreSources.bkl:
1353             Build configs for new files
1354
1355 2008-09-03  Adam Roben  <aroben@apple.com>
1356
1357         Windows build fix
1358
1359         * DerivedSources.cpp: Add JSTextMetrics.cpp to fix the build.
1360         * WebCore.vcproj/WebCore.vcproj: Add JSTextMetrics.h for
1361         convenience/consistency.
1362
1363 2008-09-03  Adele Peterson  <adele@apple.com>
1364
1365         Build fix.
1366
1367         * WebCore.vcproj/WebCore.vcproj:
1368
1369 2008-09-03  David Hyatt  <hyatt@apple.com>
1370
1371         Fix for bug 18203, right floats should be allowed to overflow past the left border edge.
1372
1373         Reviewed by Darin (ages ago)
1374
1375         Added fast/block/float/clamped-right-float.html
1376
1377         * rendering/RenderBlock.cpp:
1378         (WebCore::RenderBlock::positionNewFloats):
1379
1380 2008-09-02  David Hyatt  <hyatt@apple.com>
1381
1382         Add support for canvas text drawing APIs.
1383
1384         Reviewed by olliej
1385
1386         Tests added as fast/canvas/canvas-text-*.html
1387
1388         * DerivedSources.make:
1389         * WebCore.xcodeproj/project.pbxproj:
1390         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1391         (WebCore::JSCanvasRenderingContext2D::fillText):
1392         (WebCore::JSCanvasRenderingContext2D::strokeText):
1393         * css/CSSStyleSelector.cpp:
1394         (WebCore::CSSStyleSelector::initForStyleResolve):
1395         (WebCore::CSSStyleSelector::applyPropertyToStyle):
1396         * css/CSSStyleSelector.h:
1397         * html/CanvasRenderingContext2D.cpp:
1398         (WebCore::CanvasRenderingContext2D::State::State):
1399         (WebCore::CanvasRenderingContext2D::font):
1400         (WebCore::CanvasRenderingContext2D::setFont):
1401         (WebCore::CanvasRenderingContext2D::textAlign):
1402         (WebCore::CanvasRenderingContext2D::setTextAlign):
1403         (WebCore::CanvasRenderingContext2D::textBaseline):
1404         (WebCore::CanvasRenderingContext2D::setTextBaseline):
1405         (WebCore::CanvasRenderingContext2D::fillText):
1406         (WebCore::CanvasRenderingContext2D::strokeText):
1407         (WebCore::CanvasRenderingContext2D::measureText):
1408         (WebCore::CanvasRenderingContext2D::drawTextInternal):
1409         (WebCore::CanvasRenderingContext2D::accessFont):
1410         * html/CanvasRenderingContext2D.h:
1411         * html/CanvasRenderingContext2D.idl:
1412         * html/TextMetrics.h: Added.
1413         (WebCore::TextMetrics::create):
1414         (WebCore::TextMetrics::width):
1415         (WebCore::TextMetrics::setWidth):
1416         (WebCore::TextMetrics::TextMetrics):
1417         * html/TextMetrics.idl: Added.
1418         * platform/graphics/Font.cpp:
1419         (WebCore::Font::lineGap):
1420         * platform/graphics/Font.h:
1421         * platform/graphics/GraphicsContext.cpp:
1422         (WebCore::GraphicsContext::drawBidiText):
1423         * platform/graphics/GraphicsContext.h:
1424         * platform/graphics/GraphicsTypes.cpp:
1425         (WebCore::textAlignName):
1426         (WebCore::parseTextAlign):
1427         (WebCore::textBaselineName):
1428         (WebCore::parseTextBaseline):
1429         * platform/graphics/GraphicsTypes.h:
1430         (WebCore::):
1431
1432 2008-09-03  John Sullivan  <sullivan@apple.com>
1433
1434         Fixed <rdar://problem/6193022> <rdar://problem/6193022> Crash occurs at WebCore::AnimationBase::propertiesEqual () after certain steps
1435
1436         Fixed by Darin, reviewed by me
1437
1438         * page/animation/AnimationBase.cpp:
1439         (WebCore::AnimationBase::propertiesEqual):
1440         added ensurePropertyMap() to this static function
1441         (WebCore::AnimationBase::getPropertyAtIndex):
1442         ditto
1443         (WebCore::AnimationBase::getNumProperties):
1444         ditto
1445
1446 2008-09-03  Kevin McCullough  <kmccullough@apple.com>
1447
1448         Reviewed by Darin and Tim.
1449
1450         Remove most of the "zombie" mode from the profiler.  Next we will need
1451         to remove the client callback mechanism in profiles.
1452         - These changes are a result of changes to JSCore.
1453
1454         * manual-tests/inspector/profiler-test-nested-start-and-stop-profiler.html:
1455         * page/Console.cpp:
1456         (WebCore::retrieveLastCaller):
1457         (WebCore::Console::profileEnd):
1458         * page/InspectorController.cpp:
1459         (WebCore::InspectorController::stopUserInitiatedProfiling):
1460
1461 2008-09-03  Adele Peterson  <adele@apple.com>
1462
1463         Reviewed by Darin Adler.
1464
1465         Test: fast/forms/search-display-none-cancel-button.html
1466
1467         Allow display:none to work on a search field's cancel button.  Prepare for adding more style-ability for the results button too.
1468
1469         * css/html4.css: Set display:inline-block for these buttons.  Now they can be overridden by a web author.
1470
1471         * rendering/RenderTextControl.cpp:
1472         (WebCore::RenderTextControl::setStyle): Add nil checks for the button renderers.
1473         (WebCore::RenderTextControl::createResultsButtonStyle): Don't set the display explicitly.  This is now done in html4.css.
1474         (WebCore::RenderTextControl::createCancelButtonStyle): ditto.
1475         (WebCore::RenderTextControl::createSubtreeIfNeeded):
1476         Reorganize this code so our complicated way of adding shadow nodes is abstracted out into the TextControlInnerElement class.
1477         (WebCore::RenderTextControl::updateFromElement): Added nil checks for the button renderers.
1478         (WebCore::RenderTextControl::subtreeHasChanged): ditto.
1479         (WebCore::RenderTextControl::calcHeight): ditto.
1480         (WebCore::RenderTextControl::nodeAtPoint): ditto.
1481         (WebCore::RenderTextControl::layout): ditto.
1482         (WebCore::RenderTextControl::calcPrefWidths): ditto.
1483         (WebCore::RenderTextControl::clientPaddingLeft): ditto.
1484         (WebCore::RenderTextControl::clientPaddingRight): ditto.
1485
1486         * rendering/TextControlInnerElements.cpp:
1487         (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock): Moved from RenderTextControl.cpp.
1488         (WebCore::RenderTextControlInnerBlock::nodeAtPoint): ditto.
1489         (WebCore::TextControlInnerElement::attachInnerElement): Added.
1490          This does all the separate steps of attaching a shadow node that used to be repeated in RenderTextControl::createSubtreeIfNeeded for each element.
1491         (WebCore::TextControlInnerTextElement::createRenderer): Added.  Creates a RenderTextControlInnerBlock.
1492         * rendering/TextControlInnerElements.h:
1493
1494 2008-08-28  Alexey Proskuryakov  <ap@webkit.org>
1495
1496         Reviewed by Maciej.
1497
1498         Elminate SQLiteAuthorizer class.
1499
1500         * WebCore.xcodeproj/project.pbxproj:
1501         * WebCore.vcproj/WebCore.vcproj:
1502         * GNUmakefile.am
1503         Removed SQLiteAuthorizer.h.
1504
1505         * platform/sql/SQLiteAuthorizer.cpp:
1506         * platform/sql/SQLiteAuthorizer.h: Removed.
1507         * platform/sql/SQLiteDatabase.cpp:
1508         (WebCore::SQLiteDatabase::authorizerFunction):
1509         (WebCore::SQLiteDatabase::setAuthorizer):
1510         * platform/sql/SQLiteDatabase.h:
1511         * storage/DatabaseAuthorizer.h:
1512         (WebCore::DatabaseAuthorizer::create):
1513         (WebCore::DatabaseAuthorizer::createView):
1514         (WebCore::DatabaseAuthorizer::createTempView):
1515         (WebCore::DatabaseAuthorizer::dropView):
1516         (WebCore::DatabaseAuthorizer::dropTempView):
1517         (WebCore::DatabaseAuthorizer::allowSelect):
1518         (WebCore::DatabaseAuthorizer::allowReindex):
1519         Merge SQLiteAuthorizer and DatabaseAuthorizer, as keeping them separate serves no purpose.
1520
1521 2008-09-03  Dirk Schulze  <vbs85@gmx.de>
1522
1523         Reviewed by Mark Rowe.
1524
1525         WebKitGtk build fix.
1526
1527         * GNUmakefile.am:
1528         * page/animation/AnimationController.h:
1529
1530 2008-09-02  Robert Blaut  <webkit@blaut.biz>
1531
1532         Reviewed by Geoff Garen.
1533
1534         Fix for <https://bugs.webkit.org/show_bug.cgi?id=16913>
1535         Misplaced elements should not close DL lists.
1536
1537         Test: fast/invalid/test-case-tr-th-td-should-not-close-dl-list.html
1538
1539         * html/HTMLParser.cpp:
1540         (WebCore::HTMLParser::handleError):
1541
1542 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
1543
1544         Reviewed by Darin Adler.
1545
1546         Fix for <https://bugs.webkit.org/show_bug.cgi?id=15360>
1547         Bug 15360: color:#{predefined colorName} is treated as colorName in Safari
1548
1549         We would inappropriately interpret and apply an invalid CSS "color" property
1550         when the value is a predefined color preceded by a '#' symbol.  For example,
1551         style="color:#gray;" would apply the color gray when it should not.
1552
1553         In the bison template, "hexcolor" was defined as both "HEX maybe_space" OR "IDENT maybe_space".
1554         This caused identifiers not fitting the appropriate hex format but preceded by a '#' to be 
1555         interpreted as a valid color (CSSPrimitiveValue::CSS_PARSER_HEXCOLOR), when it was really just
1556         an ignorable token.
1557
1558         To correct this, "IDENT maybe_space" was removed from "hexcolor" and added under "term" as
1559         '#' IDENT maybe_space, which is then processed as a CSSPrimitiveValue::CSS_STRING instead of
1560         CSSPrimitiveValue::CSS_PARSER_HEXCOLOR.
1561
1562         Test: css1/color_and_background/invalid_color.html
1563
1564         * css/CSSGrammar.y:
1565
1566 2008-09-02  Mihnea Ovidenie  <mihnea@adobe.com>
1567
1568         Reviewed by Darin Adler.
1569
1570         Fix for https://bugs.webkit.org/show_bug.cgi?id=19964
1571         Bug 19964: Divide by zero crash in RenderBox::calculateBackgroundSize with 0,0 bmp background image
1572
1573         Add a check to RenderBox::repaintLayerRectsForImage to make sure the current layer image can be rendered.
1574
1575         Test: css3/khtml-background-size-0x0-bmp.html
1576
1577         * rendering/RenderBox.cpp:
1578         (WebCore::RenderBox::repaintLayerRectsForImage):
1579
1580 2008-09-02  Glenn Wilson  <wilsong@gmail.com>
1581
1582         Reviewed by Eric Seidel.
1583
1584         Fix https://bugs.webkit.org/show_bug.cgi?id=20397
1585         Bug 20397: Invalid webkit-border-bottom-left-radius property causes crash
1586
1587         The function checkForOrphanedUnits() would change the length of a list whose size was
1588         was already determined before the call to checkForOrphanedUnits was made.  Later in
1589         the caller, the old size was being used for boundary management.
1590
1591         This has been fixed by moving the call to checkForOrphanedUnits() earlier in the
1592         calling function, before the size of the list is determined.
1593
1594         Test: fast/css/orphaned_units_crash.html
1595
1596         * css/CSSParser.cpp:
1597         (WebCore::CSSParser::parseValue):  Moved call to checkForOrphanedUnits() earlier in the function.
1598
1599 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
1600
1601         Reviewed by Darin Adler.
1602
1603         Fallback on invalid fill or stroke styles in Canvas was
1604         transparent black. Changed it to last valid style.
1605
1606         Canvas fillStyle() and strokeStyle() needs fallback
1607         https://bugs.webkit.org/show_bug.cgi?id=20474
1608
1609         Tests: fast/canvas/canvas-invalid-fillstyle.html
1610                fast/canvas/canvas-invalid-strokestyle.html
1611
1612         * html/CanvasStyle.cpp:
1613         (WebCore::CanvasStyle::applyStrokeColor):
1614         (WebCore::CanvasStyle::applyFillColor):
1615
1616 2008-09-02  Dirk Schulze  <vbs85@gmx.de>
1617
1618         Reviewed by Darin Adler.
1619
1620         Fix https://bugs.webkit.org/show_bug.cgi?id=20468
1621         Updated drawImage() in canvas to match the current specification.
1622
1623         Test: fast/canvas/drawImage-with-negative-source-destination.html
1624
1625         * html/CanvasRenderingContext2D.cpp:
1626         (WebCore::normalizeRect):
1627         (WebCore::CanvasRenderingContext2D::drawImage):
1628
1629 2008-08-26  Mark Rowe  <mrowe@apple.com>
1630
1631         Reviewed by Darin Adler.
1632
1633         <rdar://problem/5768210> Switch back to the system version of SQLite
1634
1635         Use the system version of SQLite when it is new enough to provide the functionality
1636         that WebCore requires.
1637
1638         * Configurations/Base.xcconfig:
1639         * Configurations/DebugRelease.xcconfig:
1640         * Configurations/WebCore.xcconfig:
1641
1642 2008-09-02  Dan Bernstein  <mitz@apple.com>
1643
1644         - build fix
1645
1646         * page/animation/AnimationBase.h:
1647
1648 2008-09-02  Chris Marrin  <cmarrin@apple.com>
1649
1650         Reviewed by Dave Hyatt.
1651
1652         AnimationController.cpp should be split into separate files
1653         https://bugs.webkit.org/show_bug.cgi?id=20604
1654         
1655         Note: All makefiles, except WebCore.xcodeproj have been changed without testing, upon
1656         recommendation of Dave Hyatt.
1657
1658         * GNUmakefile.am:
1659         * WebCore.pro:
1660         * WebCore.vcproj/WebCore.vcproj:
1661         * WebCore.xcodeproj/project.pbxproj:
1662         * WebCoreSources.bkl:
1663             Build files.
1664         
1665         * page/AnimationController.cpp: Removed.
1666         * page/AnimationController.h: Removed.
1667         * page/animation: Added.
1668         * page/animation/AnimationBase.cpp: Added.
1669         * page/animation/AnimationBase.h: Added.
1670         * page/animation/AnimationController.cpp: Copied from WebCore/page/AnimationController.cpp.
1671         * page/animation/AnimationController.h: Copied from WebCore/page/AnimationController.h.
1672         * page/animation/CompositeAnimation.cpp: Added.
1673         * page/animation/CompositeAnimation.h: Added.
1674         * page/animation/ImplicitAnimation.cpp: Added.
1675         * page/animation/ImplicitAnimation.h: Added.
1676         * page/animation/KeyframeAnimation.cpp: Added.
1677         * page/animation/KeyframeAnimation.h: Added.
1678
1679 2008-09-02  Dan Bernstein  <mitz@apple.com>
1680
1681         - release build fix
1682
1683         * platform/graphics/cg/GraphicsContextCG.cpp:
1684         (WebCore::calculateDrawingMode):
1685
1686 2008-09-02  Timothy Hatcher  <timothy@apple.com>
1687
1688         Make console functions log the correct resource URL and
1689         line number for where the call originated.
1690
1691         https://bugs.webkit.org/show_bug.cgi?id=17234
1692         <rdar://problem/5732837>
1693
1694         Reviewed by Kevin McCullough.
1695
1696         Test: manual-tests/inspector/console-call-line-numbers.html
1697
1698         * bindings/js/JSConsoleCustom.cpp:
1699         (WebCore::JSConsole::count): Call the impl.
1700         (WebCore::JSConsole::timeEnd): Ditto.
1701         * manual-tests/inspector/console-call-line-numbers.html: Added.
1702         * manual-tests/inspector/resources/script-console-calls.js: Added.
1703         * page/Console.cpp:
1704         (WebCore::retrieveLastCaller): Helper to get the URL and line.
1705         (WebCore::Console::error): Call retrieveLastCaller to get the URL and
1706         line number to pass to addMessageToConsole.
1707         (WebCore::Console::info): Ditto.
1708         (WebCore::Console::log): Ditto.
1709         (WebCore::Console::assertCondition): Ditto.
1710         (WebCore::Console::count): Ditto.
1711         (WebCore::Console::timeEnd): Ditto.
1712         (WebCore::Console::warn): Ditto.
1713         * page/Console.h:
1714         * page/Console.idl: Make count and timeEnd custom.
1715
1716 2008-09-02  Timothy Hatcher  <timothy@apple.com>
1717
1718         Removed IDL files from WebCore's framework resources.
1719
1720         * WebCore.xcodeproj/project.pbxproj:
1721
1722 2008-09-02  Dan Bernstein  <mitz@apple.com>
1723
1724         Reviewed by Dave Hyatt.
1725
1726         - <rdar://problem/5681647> pages at http://www.stendmarsofa.com/ are so slow to calculate style it seems like a hang
1727
1728         * html/HTMLParser.cpp:
1729         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Added a
1730         cap on the number of consecutive identical residual style tags to
1731         reopen.
1732         (WebCore::HTMLParser::popBlock): Ditto.
1733
1734 2008-09-02  Alexey Proskuryakov  <ap@webkit.org>
1735
1736         Reviewed by Adam Roben.
1737
1738         A little database quota management cleanup.
1739
1740         * storage/OriginQuotaManager.cpp:
1741         (WebCore::OriginQuotaManager::OriginQuotaManager):
1742         (WebCore::OriginQuotaManager::lock):
1743         (WebCore::OriginQuotaManager::unlock):
1744         (WebCore::OriginQuotaManager::trackOrigin):
1745         (WebCore::OriginQuotaManager::tracksOrigin):
1746         (WebCore::OriginQuotaManager::addDatabase):
1747         (WebCore::OriginQuotaManager::removeDatabase):
1748         (WebCore::OriginQuotaManager::removeOrigin):
1749         (WebCore::OriginQuotaManager::markDatabase):
1750         (WebCore::OriginQuotaManager::diskUsage):
1751         * storage/OriginQuotaManager.h:
1752         Changed to assert that a lock is taken more directly and reliably. Removed comments about
1753         main/background threads, as this is likely to stop being true with synchronous Database calls
1754         being made on worker threads.
1755
1756         * storage/OriginUsageRecord.cpp:
1757         (WebCore::OriginUsageRecord::OriginUsageRecord):
1758         (WebCore::OriginUsageRecord::addDatabase):
1759         (WebCore::OriginUsageRecord::removeDatabase):
1760         (WebCore::OriginUsageRecord::markDatabase):
1761         (WebCore::OriginUsageRecord::diskUsage):
1762         * storage/OriginUsageRecord.h:
1763         (WebCore::OriginUsageRecord::DatabaseEntry::DatabaseEntry):
1764         Don't use a magic value for unknown. It is totally unnecessary for DatabaseEntry, and
1765         can be replaced with a single boolean for OriginUsageRecord.
1766         Added assertions for string parameters being unshared.
1767
1768
1769 2008-09-01  Adam Barth  <abarth@webkit.org>
1770
1771         Reviewed by Sam Weinig.
1772
1773         https://bugs.webkit.org/show_bug.cgi?id=19760
1774
1775         Make granting LoadLocalResources conditional on a policy.
1776
1777         * WebCore.base.exp:
1778         * dom/Document.cpp:
1779         (WebCore::Document::initSecurityContext):
1780         * loader/FrameLoader.cpp:
1781         (WebCore::FrameLoader::setLocalLoadPolicy):
1782         (WebCore::FrameLoader::restrictAccessToLocal):
1783         * loader/FrameLoader.h:
1784         (WebCore::FrameLoader::):
1785         * platform/SecurityOrigin.cpp:
1786         (WebCore::SecurityOrigin::grantLoadLocalResources):
1787         * platform/SecurityOrigin.h:
1788
1789 2008-09-01  Dean Jackson  <dino@apple.com>
1790
1791         Reviewed by Sam Weinig.
1792
1793         https://bugs.webkit.org/show_bug.cgi?id=20571
1794         Make sure Window object can assign Animation/Transition event
1795         listeners via attributes.
1796
1797         Also added a bunch of transition event tests, although
1798         only transition-end-event-window is directly relevant to this patch.
1799
1800         (WebCore::JSDOMWindowBase::put):
1801
1802         Tests: transitions/transition-end-event-all-properties.html
1803                transitions/transition-end-event-attributes.html
1804                transitions/transition-end-event-container.html
1805                transitions/transition-end-event-left.html
1806                transitions/transition-end-event-multiple-01.html
1807                transitions/transition-end-event-multiple-02.html
1808                transitions/transition-end-event-multiple-03.html
1809                transitions/transition-end-event-multiple-04.html
1810                transitions/transition-end-event-nested.html
1811                transitions/transition-end-event-transform.html
1812                transitions/transition-end-event-window.html
1813
1814 2008-09-01  Dean Jackson  <dino@apple.com>
1815
1816         Reviewed by Sam Weinig
1817
1818         Code styling cleanup.
1819
1820         * bindings/js/JSDOMWindowBase.cpp:
1821         (WebCore::JSDOMWindowBase::getValueProperty):
1822         (WebCore::JSDOMWindowBase::put):
1823
1824 2008-09-01  Geoffrey Garen  <ggaren@apple.com>
1825
1826         Reviewed by Darin Adler.
1827
1828         First cut at inline caching for access to vanilla JavaScript properties.
1829
1830         Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
1831         to WebCore classes, and PutPropertySlot& arguments to put functions.
1832
1833         (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
1834         inline caching for global properties, so global assignment can be optimized.
1835
1836         * ForwardingHeaders/kjs/StructureID.h: Added.
1837         * bindings/js/JSDOMBinding.h:
1838         (WebCore::DOMObject::DOMObject):
1839         * bindings/js/JSDOMWindowBase.cpp:
1840         (WebCore::JSDOMWindowBase::put):
1841         * bindings/js/JSDOMWindowBase.h:
1842         * bindings/js/JSDOMWindowCustom.h:
1843         (WebCore::JSDOMWindow::customPut):
1844         * bindings/js/JSDOMWindowShell.cpp:
1845         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
1846         (WebCore::JSDOMWindowShell::put):
1847         * bindings/js/JSDOMWindowShell.h:
1848         * bindings/js/JSEventTargetBase.h:
1849         (WebCore::JSEventTargetBase::put):
1850         * bindings/js/JSEventTargetNode.h:
1851         (WebCore::JSEventTargetNode::put):
1852         * bindings/js/JSHTMLAppletElementCustom.cpp:
1853         (WebCore::JSHTMLAppletElement::customPut):
1854         * bindings/js/JSHTMLEmbedElementCustom.cpp:
1855         (WebCore::JSHTMLEmbedElement::customPut):
1856         * bindings/js/JSHTMLInputElementBase.cpp:
1857         (WebCore::JSHTMLInputElementBase::put):
1858         * bindings/js/JSHTMLInputElementBase.h:
1859         * bindings/js/JSHTMLObjectElementCustom.cpp:
1860         (WebCore::JSHTMLObjectElement::customPut):
1861         * bindings/js/JSHistoryCustom.cpp:
1862         (WebCore::JSHistory::customPut):
1863         * bindings/js/JSInspectedObjectWrapper.cpp:
1864         (WebCore::JSInspectedObjectWrapper::wrap):
1865         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
1866         * bindings/js/JSInspectedObjectWrapper.h:
1867         * bindings/js/JSInspectorCallbackWrapper.cpp:
1868         (WebCore::JSInspectorCallbackWrapper::wrap):
1869         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
1870         * bindings/js/JSInspectorCallbackWrapper.h:
1871         * bindings/js/JSLocationCustom.cpp:
1872         (WebCore::JSLocation::customPut):
1873         * bindings/js/JSPluginElementFunctions.cpp:
1874         (WebCore::runtimeObjectCustomPut):
1875         * bindings/js/JSPluginElementFunctions.h:
1876         * bindings/js/JSQuarantinedObjectWrapper.cpp:
1877         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
1878         (WebCore::JSQuarantinedObjectWrapper::put):
1879         * bindings/js/JSQuarantinedObjectWrapper.h:
1880         * bindings/js/JSStorageCustom.cpp:
1881         (WebCore::JSStorage::customPut):
1882         * bindings/objc/WebScriptObject.mm:
1883         (-[WebScriptObject setValue:forKey:]):
1884         * bindings/scripts/CodeGeneratorJS.pm:
1885         * bridge/NP_jsobject.cpp:
1886         (_NPN_SetProperty):
1887         * bridge/jni/jni_jsobject.mm:
1888         (JavaJSObject::setMember):
1889         * bridge/objc/objc_class.mm:
1890         (KJS::Bindings::ObjcClass::fallbackObject):
1891         * bridge/objc/objc_runtime.h:
1892         * bridge/objc/objc_runtime.mm:
1893         (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
1894         (ObjcFallbackObjectImp::put):
1895         * bridge/runtime.cpp:
1896         (KJS::Bindings::Instance::createRuntimeObject):
1897         * bridge/runtime_array.cpp:
1898         (RuntimeArray::put):
1899         * bridge/runtime_array.h:
1900         * bridge/runtime_object.cpp:
1901         (RuntimeObjectImp::RuntimeObjectImp):
1902         (RuntimeObjectImp::put):
1903         * bridge/runtime_object.h:
1904
1905 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
1906
1907         Reviewed by Eric Seidel.
1908
1909         Fixed border-radius for Cairo.
1910
1911         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1912         (WebCore::GraphicsContext::strokeArc):
1913
1914 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
1915
1916         Reviewed by Eric Seidel.
1917
1918         Added canvas's globalAlpha to cairo.
1919
1920         * platform/graphics/GraphicsContext.h:
1921         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1922         (WebCore::GraphicsContext::fillPath):
1923         (WebCore::GraphicsContext::strokePath):
1924         (WebCore::GraphicsContext::setAlpha):
1925         (WebCore::GraphicsContext::getAlpha):
1926         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
1927         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
1928         * platform/graphics/cairo/ImageCairo.cpp:
1929         (WebCore::BitmapImage::draw):
1930
1931 2008-08-31  Simon Hausmann  <hausmann@webkit.org>
1932
1933         Unreviewed Qt build fix.
1934
1935         * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
1936         the .h file
1937
1938 2008-08-30  Darin Adler  <darin@apple.com>
1939
1940         Reviewed by Maciej.
1941
1942         - adopt some new JavaScriptCore functions where appropriate
1943
1944         * bindings/js/JSDOMWindowBase.cpp:
1945         (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
1946         (WebCore::windowProtoFuncBToA): Ditto.
1947         * bindings/js/JSEventListener.cpp:
1948         (WebCore::JSLazyEventListener::eventParameterName): Adopted
1949         jsNontrivialString.
1950         * bindings/js/JSSVGLazyEventListener.cpp:
1951         (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
1952
1953 2008-08-29  Brady Eidson  <beidson@apple.com>
1954
1955         Reviewed by Anders' rubberstamp
1956
1957         Style cleanup to match MediaTokenizer::writeRawData()
1958
1959         * loader/PluginDocument.cpp:
1960         (WebCore::PluginTokenizer::writeRawData):
1961
1962 2008-08-29  Brady Eidson  <beidson@apple.com>
1963
1964         Reviewed by Anders
1965
1966         Fix regression I introducted in 35946
1967         Already covered by media/video-click-dlbclick-standalone.html
1968
1969         * loader/MediaDocument.cpp:
1970         (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
1971         (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called.  Also add
1972           an ASSERT signifying that this method should only be called once, to more closely follow the
1973           PluginDocument case.
1974
1975 2008-08-29  Beth Dakin  <bdakin@apple.com>
1976
1977         Reviewed by Sam Weinig.
1978
1979         Fix for <rdar://problem/6181588>
1980
1981         This patch makes hit testing take into account the new concept of a 
1982         disconnected frame, in which some of the content may not be 
1983         visible. The current hit testing mechanism starts at a target frame 
1984         and drills down for a HitTestResult. In some cases, drilling down 
1985         will find a non-visible result. When this happens, we need to try 
1986         again, starting at a higher level -- namely, starting at the main 
1987         frame.
1988
1989         * editing/Editor.cpp:
1990         (WebCore::Editor::insideVisibleArea): New function that tests if a 
1991         point is inside the visible area for a disconnected frame.
1992         * editing/Editor.h:
1993         * page/EventHandler.cpp:
1994         (WebCore::EventHandler::hitTestResultAtPoint):
1995
1996 2008-08-29  Adele Peterson  <adele@apple.com>
1997
1998         Reviewed by Adam Roben. 
1999
2000         Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
2001
2002         * GNUmakefile.am:
2003         * WebCore.pro:
2004         * WebCore.vcproj/WebCore.vcproj:
2005         * WebCore.xcodeproj/project.pbxproj:
2006         * WebCoreSources.bkl:
2007         * html/HTMLTextFieldInnerElement.cpp: Removed.
2008         * html/HTMLTextFieldInnerElement.h: Removed.
2009         * rendering/RenderTextControl.cpp:
2010         (WebCore::RenderTextControl::createSubtreeIfNeeded):
2011         * rendering/RenderTextControl.h:
2012         * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
2013         (WebCore::TextControlInnerElement::TextControlInnerElement):
2014         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
2015         (WebCore::TextControlInnerTextElement::defaultEventHandler):
2016         (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
2017         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
2018         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
2019         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
2020         * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
2021
2022 2008-08-29  Eric Seidel  <eric@webkit.org>
2023
2024         Rubber-stamped by aroben.
2025
2026         Add GraphicsContext.h include to GraphcisContextPrivate.h
2027
2028         GraphicsContextPrivate uses StrokeStyle which is defined
2029         in GraphicsContext.h but it doesn't include that header.
2030         CoreGraphics build doesn't fail here due to the order
2031         it happens to include files.
2032
2033         * platform/graphics/GraphicsContextPrivate.h:
2034
2035 2008-08-29  Eric Seidel  <eric@webkit.org>
2036
2037         Reviewed by hyatt.
2038
2039         Fix GeneratedImage to respect Image's refcounting
2040         Fixing potential crashers (future if not current)
2041         https://bugs.webkit.org/show_bug.cgi?id=20567
2042         
2043         I don't know if it's possible to make the current code
2044         crash, thus I've not made a test.
2045
2046         * css/CSSGradientValue.cpp:
2047         (WebCore::CSSGradientValue::image):
2048         * css/CSSImageGeneratorValue.cpp:
2049         (WebCore::CSSImageGeneratorValue::removeClient):
2050         (WebCore::CSSImageGeneratorValue::getImage):
2051         * css/CSSImageGeneratorValue.h:
2052         * platform/graphics/GeneratedImage.h:
2053         (WebCore::GeneratedImage::GeneratedImage):
2054         * rendering/style/RenderStyle.cpp:
2055         (WebCore::RenderStyle::setContent):
2056         * rendering/style/RenderStyle.h:
2057
2058 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
2059
2060         Reviewed by Adele.
2061
2062         Fix for <rdar://problem/6093767>
2063         https://bugs.webkit.org/show_bug.cgi?id=20526
2064
2065         Don't allow video to render until unsupported track types have been disabled.
2066
2067         * platform/graphics/win/QTMovieWin.cpp:
2068         (QTMovieWinPrivate::task):
2069         (QTMovieWinPrivate::drawingComplete):
2070         (QTMovieWinPrivate::clearGWorld):
2071
2072 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
2073
2074         Reviewed by Adele.
2075
2076         Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
2077         <rdar://problem/6169301>
2078         
2079         Return the size of the movie data instead of 1000.
2080         
2081         Test: media/progress-event-total.html
2082
2083         * platform/graphics/win/QTMovieWin.cpp:
2084         (QTMovieWin::dataSize):
2085
2086 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
2087
2088         Reviewed by Eric Seidel.
2089
2090         [janitor/qt] Start replacing port specific getters with the generic native getter
2091         To get the native presentation of an image we currently have platform
2092         specific #ifdef's and a generic getter using NativeImagePtr. This patch
2093         extends this to the ImageBuffer and updates the Qt platform to get rid
2094         of the special #ifdefs.
2095
2096         https://bugs.webkit.org/attachment.cgi?id=22861
2097
2098         * platform/graphics/BitmapImage.h:
2099         * platform/graphics/Image.h:
2100         * platform/graphics/qt/ImageQt.cpp:
2101         * platform/graphics/qt/StillImageQt.cpp:
2102         * platform/graphics/qt/StillImageQt.h:
2103         * platform/qt/ClipboardQt.cpp:
2104         (WebCore::ClipboardQt::createDragImage):
2105         (WebCore::ClipboardQt::declareAndWriteDragImage):
2106         * platform/qt/CursorQt.cpp:
2107         * platform/qt/PasteboardQt.cpp:
2108         (WebCore::Pasteboard::writeImage):
2109
2110 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
2111
2112         Reviewed by Simon.
2113
2114         [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
2115
2116         * svg/graphics/qt/SVGPaintServerQt.cpp:
2117         (WebCore::SVGPaintServer::renderPath):
2118         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
2119         (WebCore::SVGPaintServerSolid::setup):
2120
2121 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
2122
2123         Reviewed by Simon.
2124
2125         [network/qt] Implement defering of loading ResourceHandle's
2126         This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
2127         implementation is simply not forwarding anything to the
2128         ResourceHandleClient until we are allowed to. This might lead to a deadlock
2129         in Qt as we do not empty the QNetworkReply input buffer and wait until we
2130         are allowed to read. If that happens we are forced to buffer the data
2131         within QNetworkReplyHandler, for now this is not done.
2132
2133         Manual test:
2134         - Open http://acid3.acidtests.org
2135         - Wait for the test to complete
2136         - Click on the Reference Rendering link
2137         - Be fast and see the results of acid3
2138         => assert
2139
2140         * platform/network/qt/QNetworkReplyHandler.cpp:
2141         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2142         (WebCore::QNetworkReplyHandler::setLoadMode):
2143         (WebCore::QNetworkReplyHandler::finish):
2144         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2145         (WebCore::QNetworkReplyHandler::forwardData):
2146         (WebCore::QNetworkReplyHandler::start):
2147         (WebCore::QNetworkReplyHandler::resetState):
2148         (WebCore::QNetworkReplyHandler::sendQueuedItems):
2149         * platform/network/qt/QNetworkReplyHandler.h:
2150         (WebCore::QNetworkReplyHandler::):
2151         * platform/network/qt/ResourceHandleQt.cpp:
2152         (WebCore::ResourceHandle::start):
2153         (WebCore::ResourceHandle::loadResourceSynchronously):
2154         (WebCore::ResourceHandle::setDefersLoading):
2155
2156 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
2157
2158         Reviewed by Holger.
2159
2160         Don't crash when drawing patterns with the HTML canvas. Patterns
2161         remain unimplemented but at least they don't crash anymore. This is
2162         done by changing the PlatformPatternPtr to be a brush for the Qt
2163         platform.
2164
2165         * platform/graphics/Pattern.h:
2166         * platform/graphics/qt/GraphicsContextQt.cpp:
2167         (WebCore::GraphicsContext::fillPath):
2168         (WebCore::GraphicsContext::strokePath):
2169         (WebCore::GraphicsContext::fillRect):
2170         * platform/graphics/qt/PatternQt.cpp:
2171         (WebCore::Pattern::createPlatformPattern):
2172
2173 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
2174
2175         Fix the Qt build, fontSelector() is not used by the Qt port yet
2176         and we just return 0 in Font::fontSelector().
2177
2178         * platform/graphics/Font.h:
2179
2180 2008-08-28  Alp Toker  <alp@nuanti.com>
2181
2182         GTK+ dist/build fix. List newly added header files.
2183
2184         * GNUmakefile.am:
2185
2186 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
2187
2188         Reviewed by Dave Hyatt
2189
2190         Various WebKitCSSTransformValue-related fixes
2191         https://bugs.webkit.org/show_bug.cgi?id=20562
2192
2193         Test: css3/transform-value-types.html
2194
2195         * bindings/js/JSCSSValueCustom.cpp:
2196         (WebCore::toJS):
2197         * css/CSSValue.h:
2198         * css/WebKitCSSTransformValue.cpp:
2199         (WebCore::WebKitCSSTransformValue::cssText):
2200         * css/WebKitCSSTransformValue.h:
2201         (WebCore::WebKitCSSTransformValue::):
2202         * css/WebKitCSSTransformValue.idl:
2203
2204 2008-08-28  Dan Bernstein  <mitz@apple.com>
2205
2206         Reviewed by Steve Falkenburg.
2207
2208         - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
2209
2210         * platform/win/SharedTimerWin.cpp:
2211         (WebCore::TimerWindowWndProc):
2212
2213 2008-08-28  David Hyatt  <hyatt@apple.com>
2214
2215         RenderStyle cleanup.
2216
2217         Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
2218
2219         Reviewed by Adam
2220
2221         * css/CSSImageGeneratorValue.cpp:
2222         * css/CSSImageValue.cpp:
2223         * css/CSSStyleSelector.cpp:
2224         * rendering/RenderImageGeneratedContent.cpp:
2225         * rendering/style/NinePieceImage.cpp: Added.
2226         * rendering/style/NinePieceImage.h: Added.
2227         * rendering/style/RenderStyle.cpp:
2228         (WebCore::FillLayer::operator==):
2229         (WebCore::FillLayer::containsImage):
2230         (WebCore::StyleInheritedData::operator==):
2231         (WebCore::RenderStyle::contentDataEquivalent):
2232         * rendering/style/RenderStyle.h:
2233         * rendering/style/StyleCachedImage.cpp: Added.
2234         * rendering/style/StyleCachedImage.h: Added.
2235         * rendering/style/StyleGeneratedImage.cpp: Added.
2236         * rendering/style/StyleGeneratedImage.h: Added.
2237         * rendering/style/StyleImage.h: Added.
2238
2239 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
2240
2241         Reviewed by Dave Hyatt
2242
2243         Make all the 'isFoo()' methods on CSSValue const,
2244         and fix the subclasses.
2245         
2246         https://bugs.webkit.org/show_bug.cgi?id=20561
2247         
2248         * css/CSSTimingFunctionValue.h:
2249         * css/CSSValue.h:
2250         (WebCore::CSSValue::isFontValue):
2251         (WebCore::CSSValue::isImageGeneratorValue):
2252         (WebCore::CSSValue::isImageValue):
2253         (WebCore::CSSValue::isImplicitInitialValue):
2254         * css/CSSValueList.h:
2255         * css/FontValue.h:
2256
2257 2008-08-28  David Hyatt  <hyatt@apple.com>
2258
2259         The great RenderStyle cleanup begins!
2260
2261         Move LengthBox and LengthSize out of RenderStyle and into Length.
2262
2263         Reviewed by Adam
2264
2265         * rendering/Length.h:
2266         (WebCore::):
2267         (WebCore::Length::Length):
2268         (WebCore::Length::operator==):
2269         (WebCore::Length::operator!=):
2270         (WebCore::Length::value):
2271         (WebCore::Length::rawValue):
2272         (WebCore::Length::percent):
2273         (WebCore::Length::type):
2274         (WebCore::Length::quirk):
2275         (WebCore::Length::setValue):
2276         (WebCore::Length::setRawValue):
2277         (WebCore::Length::calcValue):
2278         (WebCore::Length::calcMinValue):
2279         (WebCore::Length::calcFloatValue):
2280         (WebCore::Length::isUndefined):
2281         (WebCore::Length::isZero):
2282         (WebCore::Length::isPositive):
2283         (WebCore::Length::isNegative):
2284         (WebCore::Length::isAuto):
2285         (WebCore::Length::isRelative):
2286         (WebCore::Length::isPercent):
2287         (WebCore::Length::isFixed):
2288         (WebCore::Length::isStatic):
2289         (WebCore::Length::isIntrinsicOrAuto):
2290         (WebCore::Length::blend):
2291         (WebCore::LengthBox::LengthBox):
2292         (WebCore::LengthBox::operator=):
2293         (WebCore::LengthBox::operator==):
2294         (WebCore::LengthBox::operator!=):
2295         (WebCore::LengthBox::nonZero):
2296         (WebCore::LengthSize::LengthSize):
2297         * rendering/style/RenderStyle.h:
2298
2299 2008-08-28  David Hyatt  <hyatt@apple.com>
2300
2301         Reviewed by Darin
2302
2303         https://bugs.webkit.org/show_bug.cgi?id=18091
2304
2305         font-size should be animatable using -webkit-transition.
2306
2307         * page/AnimationController.cpp:
2308         (WebCore::AnimationControllerPrivate::ensurePropertyMap):
2309         * rendering/style/RenderStyle.h:
2310         (WebCore::RenderStyle::setFontSize):
2311
2312 2008-08-28  Brad Garcia  <bgarcia@google.com>
2313
2314         Reviewed by Dan Bernstein.
2315
2316         https://bugs.webkit.org/show_bug.cgi?id=20549
2317         Correctly determine when cursor is over a resizable border within
2318         a nested frameset.
2319
2320         * rendering/RenderFrameSet.cpp:
2321         (WebCore::RenderFrameSet::canResizeRow):
2322         (WebCore::RenderFrameSet::canResizeColumn):
2323
2324 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
2325
2326         Reviewed by Eric Seidel
2327
2328         Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
2329         https://bugs.webkit.org/show_bug.cgi?id=20552
2330
2331         Test: animations/animation-css-rule-types.html
2332
2333         * css/CSSRule.idl:
2334
2335 2008-08-28  Anders Carlsson  <andersca@apple.com>
2336
2337         Reviewed by Kevin and Darin.
2338
2339         <rdar://problem/6182541>
2340         https://bugs.webkit.org/show_bug.cgi?id=20202
2341         Missing http status line from the http headers.
2342         
2343         Add a status line to the header string.
2344         
2345         * plugins/PluginStream.cpp:
2346         (WebCore::PluginStream::startStream):
2347
2348 2008-08-28  Holger Hans Peter Freyther  <zecke@selfish.org>
2349
2350         Rubber-stamped by Darin Adler.
2351
2352         https://bugs.webkit.org/show_bug.cgi?id=17261
2353
2354         Make it possible to theme the default Url icon and enable this for
2355         the Qt port. To have a minimal usage of #ifdef in the code the setting
2356         of the icon was moved to a new method which comes in two flavors.
2357
2358         * loader/icon/IconDatabase.cpp:
2359         (WebCore::loadDefaultIconRecord): Load or set the default icon
2360         (WebCore::IconDatabase::defaultIcon):
2361
2362 2008-08-28  Holger Hans Peter Freyther <zecke@selfish.org>
2363
2364         Unreviewed compile fix
2365
2366         * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
2367
2368 2008-08-28  Adam Roben  <aroben@apple.com>
2369
2370         Windows (and others?) build fix
2371
2372         * page/Chrome.cpp: Added a missing #include.
2373         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
2374
2375 2008-08-27  Eric Seidel  <eric@webkit.org>
2376
2377         Reviewed by Oliver Hunt.
2378
2379         Qt and Cairo support from krit (and blind stab @ wx compile support)
2380         https://bugs.webkit.org/show_bug.cgi?id=20373
2381
2382         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2383         (WebCore::GraphicsContext::fillPath):
2384         (WebCore::GraphicsContext::strokePath):
2385         (WebCore::GraphicsContext::drawPath):
2386         (WebCore::GraphicsContext::fillRect):
2387         (WebCore::GraphicsContext::setPlatformFillColor):
2388         (WebCore::GraphicsContext::setPlatformStrokeColor):
2389         (WebCore::GraphicsContext::setPlatformStrokeStyle):
2390         (WebCore::GraphicsContext::strokeRect):
2391         (WebCore::GraphicsContext::setImageInterpolationQuality):
2392         (WebCore::GraphicsContext::imageInterpolationQuality):
2393         (WebCore::GraphicsContext::setPlatformFillPattern):
2394         (WebCore::GraphicsContext::setPlatformStrokePattern):
2395         (WebCore::GraphicsContext::setPlatformFillGradient):
2396         (WebCore::GraphicsContext::setPlatformStrokeGradient):
2397         * platform/graphics/qt/GraphicsContextQt.cpp:
2398         (WebCore::GraphicsContext::fillPath):
2399         (WebCore::GraphicsContext::strokePath):
2400         (WebCore::GraphicsContext::fillRect):
2401         (WebCore::GraphicsContext::strokeRect):
2402         (WebCore::GraphicsContext::clipToImageBuffer):
2403         (WebCore::GraphicsContext::setPlatformFillPattern):
2404         (WebCore::GraphicsContext::setPlatformStrokePattern):
2405         (WebCore::GraphicsContext::setPlatformFillGradient):
2406         (WebCore::GraphicsContext::setPlatformStrokeGradient):
2407         (WebCore::GraphicsContext::setImageInterpolationQuality):
2408         (WebCore::GraphicsContext::imageInterpolationQuality):
2409         * platform/graphics/wx/GraphicsContextWx.cpp:
2410         (WebCore::GraphicsContext::clipToImageBuffer):
2411         (WebCore::GraphicsContext::setImageInterpolationQuality):
2412         (WebCore::GraphicsContext::imageInterpolationQuality):
2413         (WebCore::GraphicsContext::fillPath):
2414         (WebCore::GraphicsContext::strokePath):
2415         (WebCore::GraphicsContext::drawPath):
2416         (WebCore::GraphicsContext::fillRect):
2417         (WebCore::GraphicsContext::setPlatformFillPattern):
2418         (WebCore::GraphicsContext::setPlatformStrokePattern):
2419         (WebCore::GraphicsContext::setPlatformFillGradient):
2420
2421 2008-08-27  Eric Seidel  <eric@webkit.org>
2422
2423         Reviewed by Oliver Hunt.
2424
2425         Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
2426         https://bugs.webkit.org/show_bug.cgi?id=20373
2427
2428         Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
2429         
2430         Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
2431         have to store large Gradient objects in the GraphicsContextState
2432         
2433         Made Pattern RefCounted for the same reason.
2434         
2435         Many updates to GraphicsContext to support easier drawing with
2436         Patterns and Gradients.
2437
2438         * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
2439         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2440         (WebCore::toJS):
2441         * css/CSSGradientValue.cpp:
2442         (WebCore::CSSGradientValue::createGradient):
2443         * css/CSSGradientValue.h:
2444         * html/CanvasGradient.cpp:
2445         (WebCore::CanvasGradient::CanvasGradient):
2446         * html/CanvasGradient.h:
2447         (WebCore::CanvasGradient::gradient):
2448         (WebCore::CanvasGradient::addColorStop):
2449         (WebCore::CanvasGradient::getColor):
2450         * html/CanvasPattern.cpp:
2451         * html/CanvasPattern.h:
2452         (WebCore::CanvasPattern::pattern):
2453         (WebCore::CanvasPattern::originClean):
2454         * html/CanvasRenderingContext2D.cpp:
2455         (WebCore::CanvasRenderingContext2D::State::State):
2456         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
2457         (WebCore::CanvasRenderingContext2D::setFillStyle):
2458         (WebCore::CanvasRenderingContext2D::fill):
2459         (WebCore::CanvasRenderingContext2D::stroke):
2460         (WebCore::CanvasRenderingContext2D::fillRect):
2461         (WebCore::CanvasRenderingContext2D::strokeRect):
2462         * html/CanvasRenderingContext2D.h:
2463         * html/CanvasStyle.cpp:
2464         (WebCore::CanvasStyle::applyStrokeColor):
2465         (WebCore::CanvasStyle::applyFillColor):
2466         * html/CanvasStyle.h:
2467         * platform/graphics/GeneratedImage.h:
2468         (WebCore::GeneratedImage::GeneratedImage):
2469         * platform/graphics/Generator.h:
2470         * platform/graphics/Gradient.h:
2471         (WebCore::Gradient::create):
2472         * platform/graphics/GraphicsContext.cpp:
2473         (WebCore::GraphicsContext::fillRule):
2474         (WebCore::GraphicsContext::setFillRule):
2475         (WebCore::GraphicsContext::setStrokePattern):
2476         (WebCore::GraphicsContext::setFillPattern):
2477         (WebCore::GraphicsContext::setStrokeGradient):
2478         (WebCore::GraphicsContext::setFillGradient):
2479         * platform/graphics/GraphicsContext.h:
2480         * platform/graphics/GraphicsContextPrivate.h:
2481         (WebCore::):
2482         (WebCore::GraphicsContextState::GraphicsContextState):
2483         * platform/graphics/GraphicsTypes.h:
2484         * platform/graphics/Path.h:
2485         * platform/graphics/Pattern.h:
2486         (WebCore::Pattern::create):
2487         (WebCore::Pattern::tileImage):
2488         * platform/graphics/cg/GraphicsContextCG.cpp:
2489         (WebCore::GraphicsContext::drawRect):
2490         (WebCore::GraphicsContext::drawEllipse):
2491         (WebCore::GraphicsContext::drawConvexPolygon):
2492         (WebCore::calculateDrawingMode):
2493         (WebCore::GraphicsContext::drawPath):
2494         (WebCore::fillPathWithFillRule):
2495         (WebCore::GraphicsContext::fillPath):
2496         (WebCore::GraphicsContext::strokePath):
2497         (WebCore::GraphicsContext::fillRect):
2498         (WebCore::GraphicsContext::fillRoundedRect):
2499         (WebCore::GraphicsContext::setPlatformStrokePattern):
2500         (WebCore::GraphicsContext::setPlatformFillPattern):
2501         (WebCore::GraphicsContext::setPlatformStrokeGradient):
2502         (WebCore::GraphicsContext::setPlatformFillGradient):
2503
2504 2008-08-20  Eric Seidel  <eric@webkit.org>
2505
2506         Reviewed by Darin and Alexey.
2507
2508         Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
2509         with timeouts paused.
2510         https://bugs.webkit.org/show_bug.cgi?id=20469
2511         
2512         I attempted to clean up the memory management of PausedTimeouts, I'm not
2513         sure the solution I came up with is "cleaner", but it's in some ways
2514         "safer", since it no longer uses raw pointers and manual new/delete.
2515         
2516         This also now prevents CachedPage from needlessly creating Window
2517         objects when caching pages which didn't already have one. :)
2518         
2519         I also made Chrome.cpp no longer depend on the JavaScript bindings
2520         (aka JSDOMWindowBase.h), since there was no real reason for it to.
2521
2522         * bindings/js/JSDOMWindowBase.cpp:
2523         (WebCore::JSDOMWindowBase::pauseTimeouts):
2524         (WebCore::JSDOMWindowBase::resumeTimeouts):
2525         * bindings/js/JSDOMWindowBase.h:
2526         * bindings/js/ScriptController.cpp:
2527         (WebCore::ScriptController::pauseTimeouts):
2528         (WebCore::ScriptController::resumeTimeouts):
2529         * bindings/js/ScriptController.h:
2530         * history/CachedPage.cpp:
2531         (WebCore::CachedPage::CachedPage):
2532         (WebCore::CachedPage::restore):
2533         * page/Chrome.cpp:
2534         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2535         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2536         * page/JavaScriptDebugServer.cpp:
2537         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
2538         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
2539
2540 2008-08-27  Holger Hans Peter Freyther <zecke@selfish.org>
2541
2542         Unreviewed compile fix
2543
2544         Add the stub for the Qt port.
2545
2546         * WebCore.pro:
2547         * page/qt/AccessibilityObjectQt.cpp: Added.
2548         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2549
2550 2008-08-27  Alp Toker  <alp@nuanti.com>
2551
2552         Reviewed by Eric.
2553
2554         https://bugs.webkit.org/show_bug.cgi?id=20551
2555         [GTK] search popup crash
2556
2557         * platform/gtk/SearchPopupMenuGtk.cpp:
2558         (WebCore::SearchPopupMenu::enabled):
2559         Fix a search popup crasher by disabling the history popup since we
2560         don't support this feature yet in the GTK+ port.
2561
2562 2008-08-27  Alp Toker  <alp@nuanti.com>
2563
2564         Reviewed by Eric.
2565
2566         https://bugs.webkit.org/show_bug.cgi?id=20551
2567         [GTK] curl crashers
2568
2569         * platform/network/curl/ResourceHandleManager.cpp:
2570         (WebCore::ResourceHandleManager::startScheduledJobs):
2571         Remove the resource handle from the pending list before starting the
2572         job, not afterwards. Fixes crashers in the test suite.
2573
2574         Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
2575         Test: fast/encoding/char-encoding.html
2576
2577 2008-08-27  Dirk Schulze  <vbs85@gmx.de>
2578
2579         Reviewed by eseidel.
2580
2581         Fix canvas drawImage to support composite operations.
2582         Composite had no effect on canvas elements like these:
2583         http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
2584
2585         [CAIRO] Canvas composite don't work on canvas-elements.
2586         https://bugs.webkit.org/show_bug.cgi?id=20548
2587
2588         * html/CanvasRenderingContext2D.cpp:
2589         (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
2590
2591 2008-08-27  Mario Bensi  <mbensi@pleyo.com>
2592
2593         Reviewed by Eric Seidel.
2594         
2595         Fix the data content of an image with a base64.
2596
2597         * platform/network/curl/ResourceHandleManager.cpp:
2598         (WebCore::parseDataUrl): Remove the String and use only the data
2599         Vector because the data.latin1().data() convert the data content and
2600         the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
2601         not drawn correctly.
2602
2603 2008-08-27  Antti Koivisto  <antti@apple.com>
2604
2605         Reviewed by Eric Seidel.
2606
2607         Crash after OK in dialog box and reloading page in secure mode
2608         https://bugs.webkit.org/show_bug.cgi?id=20493
2609         
2610         The new run loop spawned by a modal dialog causes a timer in the loader to run 
2611         synchronously inside didFinishLoading() deleting "this" object.
2612         
2613         Defer all WebCore timers when a modal dialog is up. They are not
2614         safe to execute.
2615
2616         * page/Chrome.cpp:
2617         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
2618         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
2619
2620 2008-08-27  Chris Marrin  <cmarrin@apple.com>
2621
2622         Reviewed by Dave Hyatt
2623
2624         Memory leaks when animating transforms
2625         https://bugs.webkit.org/show_bug.cgi?id=20532
2626
2627         * rendering/style/RenderStyle.cpp:
2628         (WebCore::ScaleTransformOperation::blend):
2629         (WebCore::RotateTransformOperation::blend):
2630         (WebCore::SkewTransformOperation::blend):
2631         (WebCore::TranslateTransformOperation::blend):
2632         (WebCore::MatrixTransformOperation::blend):
2633         * rendering/style/RenderStyle.h:
2634
2635 2008-08-27  Timothy Hatcher  <timothy@apple.com>
2636
2637         Add support for support for -webkit-appearance: default-button on the Mac platform.
2638
2639         <rdar://problem/6173530>
2640
2641         Reviewed by Dave Hyatt.
2642
2643         * WebCore.base.exp: Export new symbols.
2644         * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
2645         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2646         * rendering/RenderButton.cpp:
2647         (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
2648         (WebCore::RenderButton::setStyle): Ditto.
2649         * rendering/RenderButton.h: Ditto.
2650         * rendering/RenderThemeMac.mm:
2651         (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
2652         (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
2653         key if the button is default, otherwise reset the key equivalent.
2654         (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
2655         on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
2656         the window's previous default button cell when finished.
2657
2658 2008-08-26  David Hyatt  <hyatt@apple.com>
2659
2660         First cut at making form controls on OS X respect full page zoom.  There are lots of bugs.
2661
2662         Reviewed by weinig
2663
2664         Added fast/forms/zoomed-controls.html
2665
2666         * css/CSSStyleSelector.cpp:
2667         (WebCore::addIntrinsicMargins):
2668         * rendering/RenderSlider.cpp:
2669         (WebCore::RenderSlider::calcPrefWidths):
2670         * rendering/RenderThemeMac.h:
2671         * rendering/RenderThemeMac.mm:
2672         (WebCore::RenderThemeMac::adjustRepaintRect):
2673         (WebCore::RenderThemeMac::inflateRect):
2674         (WebCore::RenderThemeMac::baselinePosition):
2675         (WebCore::RenderThemeMac::setControlSize):
2676         (WebCore::RenderThemeMac::sizeForFont):
2677         (WebCore::RenderThemeMac::sizeForSystemFont):
2678         (WebCore::RenderThemeMac::setFontFromControlSize):
2679         (WebCore::RenderThemeMac::paintCheckbox):
2680         (WebCore::RenderThemeMac::setCheckboxCellState):
2681         (WebCore::RenderThemeMac::paintRadio):
2682         (WebCore::RenderThemeMac::setRadioCellState):
2683         (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
2684         (WebCore::RenderThemeMac::adjustButtonStyle):
2685         (WebCore::RenderThemeMac::setButtonCellState):
2686         (WebCore::RenderThemeMac::paintButton):
2687         (WebCore::RenderThemeMac::paintMenuList):
2688         (WebCore::RenderThemeMac::paintMenuListButton):
2689         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
2690         (WebCore::RenderThemeMac::popupInternalPaddingRight):
2691         (WebCore::RenderThemeMac::popupInternalPaddingTop):
2692         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
2693         (WebCore::RenderThemeMac::setPopupButtonCellState):
2694         (WebCore::RenderThemeMac::paintSliderTrack):
2695         (WebCore::RenderThemeMac::paintSliderThumb):
2696         (WebCore::RenderThemeMac::adjustSliderThumbSize):
2697         (WebCore::RenderThemeMac::paintSearchField):
2698         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
2699         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
2700         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
2701
2702 2008-08-27  Brady Eidson  <beidson@apple.com>
2703
2704         Reviewed by Anders
2705
2706         <rdar://problem/6134133> - Crash when loading large movie as a standalone document
2707
2708         We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
2709         to load and buffer the data for the movie in WebCore.  With large media files, this results in blowing
2710         away the virtual address space and a crash.
2711
2712         * loader/EmptyClients.h:
2713         (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
2714         * loader/FrameLoaderClient.h:  Added client method to get platform specific error for
2715           "plugin will handle load"
2716
2717         * loader/MediaDocument.cpp:
2718         (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
2719           and cancel the WebCore-managed load
2720         (WebCore::MediaTokenizer::writeRawData):
2721         (WebCore::MediaTokenizer::finish):
2722
2723 2008-08-26  Simon Fraser  <simon.fraser@apple.com>
2724
2725         Reviewed by Eric Seidel
2726
2727         Linear timing functions should have control points 0, 0, 1, 1.
2728         https://bugs.webkit.org/show_bug.cgi?id=20535
2729
2730         * css/CSSStyleSelector.cpp:
2731         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
2732         * rendering/style/RenderStyle.h:
2733
2734 2008-08-27  Adam Roben  <aroben@apple.com>
2735
2736         Windows build fix
2737
2738         * WebCore.vcproj/WebCore.vcproj: Fix file extension.
2739
2740 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
2741
2742         Reviewed by Beth Dakin.
2743
2744         <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
2745
2746         Added platform-specific accessibilityIgnoreAttachment, which allows the platform
2747         to determine if an attachment is ignored through accessibility. Added equivalent
2748         methods in Gtk, Win and Mac
2749
2750         Test: accessibility/plugin.html
2751
2752         * GNUmakefile.am:
2753         * WebCore.vcproj/WebCore.vcproj:
2754         * WebCore.xcodeproj/project.pbxproj:
2755         * page/AccessibilityObject.h:
2756         * page/AccessibilityRenderObject.cpp:
2757         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2758         * page/gtk/AccessibilityObjectAtk.cpp: Added.
2759         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2760         * page/mac/AccessibilityObjectMac.mm: Added.
2761         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2762         * page/mac/AccessibilityObjectWrapper.h:
2763         * page/win/AccessibilityObjectWin.cpp: Added.
2764         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
2765
2766 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
2767
2768         Reviewed by Beth Dakin.
2769
2770         <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
2771
2772         * page/mac/AccessibilityObjectWrapper.mm:
2773         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
2774         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
2775
2776 2008-08-26  Chris Fleizach  <cfleizach@apple.com>
2777
2778         Reviewed by Darin Adler.
2779
2780         <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
2781
2782         Tests: accessibility/table-notbody.html
2783
2784         * page/AccessibilityTable.cpp:
2785         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2786
2787 2008-08-26  Sam Weinig  <sam@webkit.org>
2788
2789         Reviewed by Beth Dakin.
2790
2791         Fix typo.
2792
2793         * dom/DOMCoreException.h:
2794
2795 2008-08-26  Sam Weinig  <sam@webkit.org>
2796
2797         Reviewed by Oliver Hunt.
2798
2799         Fix https://bugs.webkit.org/show_bug.cgi?id=20479
2800         <rdar://problem/6167660>
2801         Take image redirects into account when tainting the canvas.
2802
2803         Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
2804
2805         * html/CanvasRenderingContext2D.cpp:
2806         (WebCore::CanvasRenderingContext2D::drawImage):
2807         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
2808
2809 2008-08-26  Sam Weinig  <sam@webkit.org>
2810
2811         Reviewed by Darin Adler.
2812
2813         Change canvas tainting logic to ask the image if it contains
2814         any resources outside of its own origin. Since there is no 
2815         way to determine if SVG images contain any resources outside its
2816         origin, we always assume it does.
2817
2818         * html/CanvasRenderingContext2D.cpp:
2819         (WebCore::CanvasRenderingContext2D::drawImage):
2820         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
2821         * platform/graphics/BitmapImage.h:
2822         (WebCore::BitmapImage::hasSingleSecurityOrigin):
2823         * platform/graphics/GeneratedImage.h:
2824         (WebCore::GeneratedImage::hasSingleSecurityOrigin):
2825         * platform/graphics/Image.h:
2826         (WebCore::Image::hasSingleSecurityOrigin):
2827         * platform/graphics/cg/PDFDocumentImage.h:
2828         (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
2829         * svg/graphics/SVGImage.h:
2830
2831 2008-08-26  Maxime Britto  <britto@apple.com>
2832
2833         Reviewed by Adele.
2834
2835         <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
2836         This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
2837         This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
2838
2839         * page/EventHandler.cpp:
2840         (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
2841         * page/EventHandler.h:
2842         * rendering/RenderLayer.cpp:
2843         (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
2844         (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
2845         * rendering/RenderLayer.h:
2846         * rendering/RenderObject.cpp:
2847         (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
2848         (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
2849         (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
2850
2851 2008-08-25  Julien Chaffraix  <jchaffraix@webkit.org>
2852
2853         Reviewed by Darin Adler.
2854
2855         Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
2856         https://bugs.webkit.org/show_bug.cgi?id=20247
2857
2858         <rdar://problem/6118218>
2859
2860         Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
2861         check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
2862         (case insensitive for HTML elements).
2863
2864         Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
2865
2866         * dom/Element.cpp:
2867         (WebCore::Element::getAttribute):
2868         * dom/NamedAttrMap.cpp:
2869         (WebCore::NamedAttrMap::getNamedItem):
2870         (WebCore::NamedAttrMap::getAttributeItem):
2871         * dom/NamedAttrMap.h:
2872
2873 2008-08-25  Sam Weinig  <sam@webkit.org>
2874
2875         Reviewed by Oliver Hunt.
2876
2877         Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
2878         <rdar://problem/6174096>
2879         Treat SVG images as dirty when drawing to a canvas.
2880
2881         Test: http/tests/security/canvas-remote-read-svg-image.html
2882
2883         * html/CanvasRenderingContext2D.cpp:
2884         (WebCore::CanvasRenderingContext2D::drawImage):
2885         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
2886         * platform/graphics/Image.h:
2887         (WebCore::Image::isSVGImage):
2888         * svg/graphics/SVGImage.h:
2889         (WebCore::SVGImage::isSVGImage):
2890
2891 2008-08-25  Sam Weinig  <sam@webkit.org>
2892
2893         Reviewed by Mark Rowe.
2894
2895         Fix https://bugs.webkit.org/show_bug.cgi?id=20377
2896         Leak in XMLHttpRequest.
2897
2898         * xml/XMLHttpRequest.cpp:
2899         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
2900
2901 2008-08-25  Brady Eidson  <beidson@apple.com>
2902
2903         Reviewed by Anders
2904
2905         Speculative fix for <rdar://problem/6173217>
2906
2907         Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
2908         Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
2909         the first null check invalid.
2910
2911         * loader/FrameLoader.cpp:
2912         (WebCore::FrameLoader::stopAllLoaders):
2913
2914
2915 2008-08-25  Kevin McCullough  <kmccullough@apple.com>
2916
2917         Reviewed by Tim.
2918
2919         <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
2920         there is no profile, can cause crash
2921
2922         * page/inspector/ProfilesPanel.js:
2923
2924 2008-08-25  Dean Jackson  <dino@apple.com>
2925
2926         Reviewed by Dave Hyatt
2927
2928         Make sure 'inherit' is handled by transition property.
2929         https://bugs.webkit.org/show_bug.cgi?id=20513
2930
2931         Test: transitions/inherit.html
2932         Test: transitions/inherit-other-props.html
2933
2934         * css/CSSStyleSelector.cpp:
2935           fix macro to check existence of list before getting size
2936
2937 2008-08-25  Anders Carlsson  <andersca@apple.com>
2938
2939         Reviewed by Mark.
2940
2941         <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
2942         
2943         Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume 
2944         (safely) that any class that needs finalization on the main thread will also need to be deallocated
2945         on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
2946         calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
2947
2948         * platform/mac/WebCoreObjCExtras.c:
2949         (WebCoreObjCFinalizeOnMainThread):
2950
2951 2008-08-25  Antti Koivisto  <antti@apple.com>
2952
2953         Reviewed by Dan Bernstein.
2954
2955         Rename CachedResource::referenced() to CachedResource::hasClients() to
2956         match previous ref() -> addClient() rename.
2957
2958         * loader/Cache.cpp:
2959         (WebCore::Cache::pruneLiveResources):
2960         (WebCore::Cache::pruneDeadResources):
2961         (WebCore::Cache::remove):
2962         (WebCore::Cache::getStatistics):
2963         (WebCore::Cache::dumpLRULists):
2964         * loader/CachedResource.cpp:
2965         (WebCore::CachedResource::addClient):
2966         (WebCore::CachedResource::removeClient):
2967         (WebCore::CachedResource::setDecodedSize):
2968         (WebCore::CachedResource::setEncodedSize):
2969         * loader/CachedResource.h:
2970         (WebCore::CachedResource::hasClients):
2971         (WebCore::CachedResource::canDelete):
2972
2973 2008-08-25  Anthony Ricaud  <rik24d@gmail.com>
2974
2975         Add a missing Inspector localized string for "other".
2976
2977         https://bugs.webkit.org/show_bug.cgi?id=20509
2978
2979         Reviewed by Tim Hatcher.
2980
2981         * English.lproj/localizedStrings.js:
2982
2983 2008-08-22  Kevin McCullough  <kmccullough@apple.com>
2984
2985         Reviewed by Geoff, Mark and Tim.
2986
2987         <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
2988         in the console said what file and line number they came from
2989         - Lay the foundation for getting line numbers and other data from the
2990         JavaScript engine.
2991
2992         * ForwardingHeaders/VM: Added.
2993         * ForwardingHeaders/VM/Machine.h: Added.
2994         * page/Console.cpp: Gather the line number and file information when 
2995         profileEnd has been called, but don't use it until didFinishProfiling is
2996         called.  We won't need to wait once we remove the profiler "zombie" mode
2997         which this patch helps pave the foundation for.
2998         (WebCore::Console::Console):
2999         (WebCore::Console::profileEnd):
3000         (WebCore::Console::finishedProfiling):
3001         * page/Console.h:
3002         * page/InspectorController.cpp: Modify calls to
3003         addProfileMessageToConsole to satisfy the new arguments it takes.
3004         (WebCore::InspectorController::finishedProfiling):
3005         (WebCore::InspectorController::addProfile):
3006         (WebCore::InspectorController::addProfileMessageToConsole):
3007         (WebCore::InspectorController::finishedProfiling):
3008         * page/InspectorController.h:
3009
3010 2008-08-25  Holger Hans Peter Freyther  <zecke@selfish.org>
3011
3012         Reviewed by Simon.
3013
3014         [inspector] Update the WebKit.qrc Qt resources file
3015         Catchup with the changes in the directory.
3016
3017         * page/inspector/WebKit.qrc:
3018
3019 2008-08-25  Dirk Schulze  <vbs85@gmx.de>
3020
3021         Reviewed by Simon.
3022
3023         Transformed the radian to degree, to get rotate()
3024         in canvas work as expected.
3025
3026         [Qt] Canvas.rotate() doesn't work
3027         https://bugs.webkit.org/show_bug.cgi?id=20496
3028
3029         * platform/graphics/qt/GraphicsContextQt.cpp:
3030         (WebCore::GraphicsContext::rotate):
3031
3032 2008-08-24  Steve Falkenburg  <sfalken@apple.com>
3033
3034         Add a "last chance" WM_TIMER to the Windows shared timer.
3035         
3036         The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
3037         Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
3038         timers if a timer with an earlier expiration is already pending. This results in no timers
3039         firing from that point on.
3040         
3041         We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
3042         buggy window message hook.
3043         
3044         This timer will start when the first WM_TIMER is scheduled, and will
3045         fire every 5 seconds thereafter, causing any lost timers to be fired.
3046         
3047         Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
3048         and prevents the WebFrame leak.
3049         
3050         Reviewed by Darin Adler, Geoff Garen.
3051
3052         * platform/win/SharedTimerWin.cpp:
3053         (WebCore::):
3054         (WebCore::TimerWindowWndProc):
3055         (WebCore::setSharedTimerFireTime):
3056
3057 2008-08-24  Dan Bernstein  <mitz@apple.com>
3058
3059         Reviewed by Darin Adler.
3060
3061         - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
3062
3063         Test: fast/css/font-property-priority.html
3064
3065         * css/CSSParser.cpp:
3066         (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
3067         to the font-property-parsing functions.
3068         (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
3069         changed to use it rather than the m_important member.
3070         (WebCore::CSSParser::parseFontVariant): Ditto.
3071         (WebCore::CSSParser::parseFontWeight): Ditto.
3072         * css/CSSParser.h:
3073
3074 2008-08-24  Timothy Hatcher  <timothy@apple.com>
3075
3076         Fixes a bug where the Inspector's UI would not animate or
3077         fully function because JavaScript timeouts, intervals and
3078         CSS animation timers where not firing while paused at a
3079         a breakpoint in the inspected page.
3080
3081         https://bugs.webkit.org/show_bug.cgi?id=20042
3082
3083         Reviewed by Darin Adler.
3084
3085         Test: manual-tests/inspector/forzen-ui-while-paused.html
3086
3087         * page/JavaScriptDebugServer.cpp:
3088         (WebCore::JavaScriptDebugServer::pauseIfNeeded):
3089         Add a call to TimerBase::fireTimersInNestedEventLoop before
3090         spinning the EventLoop.
3091
3092 2008-08-24  Rob Buis  <buis@kde.org>
3093
3094         Reviewed by Sam Weinig.
3095
3096         https://bugs.webkit.org/show_bug.cgi?id=20324
3097         A change in SVG Glyph wont show up
3098
3099         Invalidate the glyph cache when the d attribute is set.
3100
3101         Test: svg/custom/glyph-setting-d-attribute.svg
3102
3103         * svg/SVGGlyphElement.cpp:
3104         (WebCore::SVGGlyphElement::invalidateGlyphCache):
3105         (WebCore::SVGGlyphElement::parseMappedAttribute):
3106         (WebCore::SVGGlyphElement::insertedIntoDocument):
3107         (WebCore::SVGGlyphElement::removedFromDocument):
3108         * svg/SVGGlyphElement.h:
3109
3110 2008-08-24  Dan Bernstein  <mitz@apple.com>
3111
3112         Reviewed by Sam Weinig.
3113
3114         - fix https://bugs.webkit.org/show_bug.cgi?id=13864
3115           <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
3116
3117         * rendering/RenderText.cpp:
3118         (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
3119         beginWS and endWS before the early return to ensure that they are
3120         initialized in that case.
3121
3122 2008-08-23  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
3123
3124         Rubber-stamped by Mark Rowe.
3125
3126         Remove modelines.
3127
3128         * WebCore.pro:
3129         * bridge/testbindings.cpp:
3130         * dom/DocPtr.h:
3131         * loader/SubstituteData.h:
3132         * page/Chrome.cpp:
3133         * page/Chrome.h:
3134         * page/ChromeClient.h:
3135         * page/Frame.h:
3136         * page/FrameLoadRequest.h:
3137         * page/FrameTree.cpp:
3138         * page/FrameTree.h:
3139         * page/Page.h:
3140         * page/mac/ChromeMac.mm:
3141         * platform/network/HTTPHeaderMap.h:
3142         * platform/network/ResourceErrorBase.cpp:
3143         * platform/network/ResourceErrorBase.h:
3144         * platform/network/ResourceHandleInternal.h:
3145         * platform/network/ResourceRequestBase.cpp:
3146         * platform/network/ResourceRequestBase.h:
3147         * platform/network/ResourceResponseBase.cpp:
3148         * platform/network/ResourceResponseBase.h:
3149         * platform/network/cf/ResourceError.h:
3150         * platform/network/cf/ResourceRequest.h:
3151         * platform/network/cf/ResourceRequestCFNet.h:
3152         * platform/network/cf/ResourceResponse.h:
3153         * platform/network/cf/ResourceResponseCFNet.h:
3154         * platform/network/curl/ResourceError.h:
3155         * platform/network/curl/ResourceRequest.h:
3156         * platform/network/curl/ResourceResponse.h:
3157         * platform/network/mac/ResourceError.h:
3158         * platform/network/mac/ResourceErrorMac.mm:
3159         * platform/network/mac/ResourceRequest.h:
3160         * platform/network/mac/ResourceRequestMac.mm:
3161         * platform/network/mac/ResourceResponse.h:
3162         * platform/network/mac/ResourceResponseMac.mm:
3163         * platform/network/qt/ResourceError.h:
3164         * platform/network/qt/ResourceRequest.h:
3165         * platform/network/qt/ResourceResponse.h:
3166         * platform/network/soup/CookieJarSoup.cpp:
3167         * platform/network/soup/ResourceError.h:
3168         * platform/network/soup/ResourceRequest.h:
3169         * platform/network/soup/ResourceResponse.h:
3170
3171 2008-08-23  Dan Bernstein  <mitz@apple.com>
3172
3173         Reviewed by Dave Hyatt.
3174
3175         - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
3176
3177         Test: fast/table/vertical-align-baseline.html
3178
3179         * rendering/RenderTable.cpp:
3180         (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
3181         baseline of the first table row, if there is one, -1 otherwise.
3182         * rendering/RenderTable.h:
3183         * rendering/RenderTableCell.cpp:
3184         (WebCore::RenderTableCell::baselinePosition): Changed to follow the
3185         CSS2.1 definition of the baseline of a table cell.
3186         * rendering/RenderTableSection.cpp:
3187         (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
3188         the baseline of the first row in the section.
3189         * rendering/RenderTableSection.h:
3190
3191 2008-08-18  Jon Honeycutt  <jhoneycutt@apple.com>
3192
3193         Add SPI to make a Windows WebView transparent.
3194
3195         Reviewed by Dan Bernstein.
3196
3197         * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
3198         determines whether the created context has an alpha channel.
3199         * platform/graphics/win/GraphicsContextCGWin.cpp:
3200         (WebCore::CGContextWithHDC):
3201
3202 2008-08-22  Timothy Hatcher  <timothy@apple.com>
3203
3204         Rolls out r35834 because it caused a regression in the Inspector's
3205         Console where some expressions always threw a syntax error.
3206
3207         https://bugs.webkit.org/show_bug.cgi?id=20487
3208
3209         * page/inspector/Console.js:
3210         (Console.prototype._evalInInspectedWindow): Removes parenthesis
3211         around the expression.
3212
3213 2008-08-22  Timothy Hatcher  <timothy@apple.com>
3214
3215         Makes getStyleProperty return a value for the overflow property
3216         when overflow-x and overflow-y are equal.
3217
3218         https://bugs.webkit.org/show_bug.cgi?id=20485
3219
3220         Reviewed by Dan Bernstein.
3221
3222         Test: fast/css/overflow-property.html
3223
3224         * css/CSSMutableStyleDeclaration.cpp:
3225         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
3226
3227 2008-08-22  Timothy Hatcher  <timothy@apple.com>
3228
3229         Fixes a bug where while editing in the Inspector the
3230         sidebar scroll position would jump to the top.
3231
3232         https://bugs.webkit.org/show_bug.cgi?id=20484
3233
3234         Reviewed by Darin Adler.
3235
3236         * page/inspector/treeoutline.js:
3237         (TreeOutline._removeChildren): Remove the offsetTop call that
3238         was forcing a layout, since layout causes scroll positions
3239         to be clamped to the new scrollHeight/Width. Layout will happen
3240         normally when needed.
3241
3242 2008-08-22  Kevin Ollivier  <kevino@theolliviers.com>
3243
3244         wx build fix. Add AccessibilityTable sources.
3245
3246         * WebCoreSources.bkl:
3247
3248 2008-08-21  Dan Bernstein  <mitz@apple.com>
3249
3250         Reviewed by Jon Honeycutt and Alexey Proskuryakov.
3251
3252         - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
3253
3254         Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
3255
3256         * platform/graphics/mac/SimpleFontDataMac.mm:
3257         (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
3258         ascent and 100% to its reported descent.
3259
3260 2008-08-21  Kalle Vahlman  <kalle.vahlman@movial.com>
3261
3262         Reviewed by Darin Adler.
3263
3264         https://bugs.webkit.org/show_bug.cgi?id=20267
3265         [GTK] Crash on some pages due to a plugin
3266
3267         Fix handling of badly formatted and empty plugin mime descriptions
3268
3269         * plugins/gtk/PluginPackageGtk.cpp:
3270         (WebCore::PluginPackage::fetchInfo):
3271
3272 2008-08-21  Kevin Watters  <kevinwatters@gmail.com>
3273
3274         Reviewed by Darin Adler.
3275
3276         Follow other ports (and IE) in ImageSourceWx.cpp never to return an
3277         animated GIF frame duration of less than 50ms.
3278
3279         * platform/graphics/wx/ImageSourceWx.cpp:
3280         (WebCore::ImageSource::frameDurationAtIndex):
3281
3282 2008-08-21  Maxime Britto  <britto@apple.com>
3283
3284         Reviewed by Kevin McCullough.
3285
3286         Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
3287         https://bugs.webkit.org/show_bug.cgi?id=20451
3288    
3289         rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
3290         When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
3291         This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
3292
3293         * page/EventHandler.cpp:
3294         (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
3295
3296         (WebCore::EventHandler::handleMousePressEvent): ditto
3297
3298 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
3299
3300         Small optimization for when the dividers in the Inspector's
3301         Resources panel are updated.
3302
3303         Reviewed by Tim Hatcher.
3304
3305         * page/inspector/ResourcesPanel.js:
3306         (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
3307         Combind a for loop and clone the divider element.
3308
3309 2008-08-21  Chris Marrin  <cmarrin@apple.com>
3310
3311         Allow 0 (without units) for Time eg. duration
3312         Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
3313
3314         Reviewed by Dave Hyatt.
3315
3316         Test: css1/units/zero-duration-without-units.html
3317
3318         * css/CSSParser.cpp:
3319         (WebCore::CSSParser::validUnit):
3320
3321 2008-08-21  Timothy Hatcher  <timothy@apple.com>
3322
3323         Make deleting all text while editing a DOM attribute in
3324         the Inspector delete the attribute. This also fixes
3325         an exception that would happen before.
3326
3327         https://bugs.webkit.org/show_bug.cgi?id=20472
3328
3329         Reviewed by Kevin McCullough.
3330
3331         * page/inspector/ElementsPanel.js:
3332         (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
3333         Don't check for hasAttributes on the parseElement, continuing
3334         through the function will correctly remove the attribute.
3335         If the parseElement is null, call _editingCancelled not
3336         editingCancelled, this fixes an exception.
3337
3338 2008-08-21  Timothy Hatcher  <timothy@apple.com>
3339
3340         Update the Inspector's Metrics pane when editing in
3341         the Styles pane. This makes sure the metrics shown
3342         always match what the Styles pane shows.
3343
3344         https://bugs.webkit.org/show_bug.cgi?id=20470
3345
3346         Reviewed by Kevin McCullough.
3347
3348         * page/inspector/ElementsPanel.js:
3349         (WebInspector.ElementsPanel): Add event listeners for
3350         the "style edited" and "style property toggled" events,
3351         so the Metrics pane is updated.
3352         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
3353         Update the Metrics pane.
3354         * page/inspector/StylesSidebarPane.js:
3355         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
3356         Dispatch the "style property toggled" event.
3357         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
3358         Dispatch the "style edited" event when the CSS text is restored.
3359         (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
3360         Dispatch the "style edited" event.
3361
3362 2008-08-21  Timothy Hatcher  <timothy@apple.com>
3363
3364         Make the Inspector's Metrics sidebar pane editable.
3365
3366         https://bugs.webkit.org/show_bug.cgi?id=17218
3367         rdar://problem/5732818
3368
3369         Reviewed by Kevin McCullough.
3370
3371         * page/inspector/ElementsPanel.js:
3372         (WebInspector.ElementsPanel): Add an event listener for
3373         the "metrics edited" event, so the Styles pane is updated.
3374         * page/inspector/MetricsSidebarPane.js:
3375         (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
3376         so future updates work. Add a double click event listener for the
3377         metric values to start editing.
3378         (WebInspector.MetricsSidebarPane.prototype.startEditing):
3379         Call WebInspector.startEditing with some context.
3380         (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
3381         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
3382         Set the user input on the elements inline style. Fire the
3383         "metrics edited" event.
3384
3385 2008-08-21  Steve Falkenburg  <sfalken@apple.com>
3386
3387         Fix a race condition in Windows timer code.
3388         Timer function could end up being called with a 0 timer, leading to a Windows exception.
3389         
3390         Don't post a timer message if one is already pending.
3391         
3392         Reviewed by Ada Chan.
3393
3394         * platform/win/SharedTimerWin.cpp:
3395         (WebCore::TimerWindowWndProc):
3396         (WebCore::clearTimer):
3397         (WebCore::queueTimerProc):
3398         (WebCore::setSharedTimerFireTime):
3399
3400 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
3401
3402         After trying to add the expression, try again with quotes for
3403         easier edition.
3404
3405         https://bugs.webkit.org/show_bug.cgi?id=20466
3406
3407         Reviewed by Tim Hatcher.
3408
3409         * page/inspector/ObjectPropertiesSection.js: Added an
3410         evaluateExpression function.
3411
3412 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
3413
3414         Perform Inspector searches on search event to clear results when
3415         clicking the cross to empty it. Delete the lastQuery when the field
3416         is emptied in order to perform the search if exactly the same query
3417         is entered next.
3418
3419         https://bugs.webkit.org/show_bug.cgi?id=20462
3420
3421         Reviewed by Tim Hatcher.
3422
3423         * page/inspector/inspector.js:
3424
3425 2008-08-21  Marco Barisione  <marco.barisione@collabora.co.uk>
3426
3427         Reviewed by Mark Rowe.
3428
3429         http://bugs.webkit.org/show_bug.cgi?id=19656
3430         [SOUP] The gio code should call didFail() instead of
3431         didFinishLoading() in case of error
3432
3433         In case of error call didFail() instead of didReceiveResponse() and
3434         didFinishLoading().
3435
3436         * platform/network/soup/ResourceHandleSoup.cpp:
3437         (WebCore::networkErrorForFile):
3438         (WebCore::readCallback):
3439         (WebCore::openCallback):
3440         (WebCore::queryInfoCallback):
3441
3442 2008-08-20  Mark Rowe  <mrowe@apple.com>
3443
3444         Reviewed by Jon Honeycutt.
3445
3446         Fix build failure.
3447
3448         * bridge/c/c_instance.cpp:
3449         (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
3450         as that is what NPEnumerationFunctionPtr is declared as accepting.
3451
3452 2008-08-20  Mark Rowe  <mrowe@apple.com>
3453
3454         Reviewed by Dan Bernstein.
3455
3456         Build fix.  Handle kCGInterpolationMedium in switch statements if it is available.
3457
3458         * platform/graphics/GraphicsContext.h:
3459         (WebCore::):
3460         * platform/graphics/cg/GraphicsContextCG.cpp:
3461         (WebCore::GraphicsContext::setImageInterpolationQuality):
3462         (WebCore::GraphicsContext::imageInterpolationQuality):
3463
3464 2008-08-20  Dan Bernstein  <mitz@apple.com>
3465
3466         Rubber-stamped by John Sullivan.
3467
3468         - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
3469           rename related methods and variables accordingly.
3470
3471         * WebCore.base.exp:
3472         * page/FrameView.cpp:
3473         (WebCore::FrameViewPrivate::FrameViewPrivate):
3474         (WebCore::FrameView::shouldUpdateWhileOffscreen):
3475         (WebCore::FrameView::setShouldUpdateWhileOffscreen):
3476         * page/FrameView.h:
3477         * platform/ScrollView.h:
3478         * platform/mac/ScrollViewMac.mm:
3479         (WebCore::ScrollView::updateContents):
3480
3481 2008-08-20  Brady Eidson  <beidson@apple.com>
3482
3483         Reviewed by Mitzpettel
3484
3485         <rdar://problem/6163636> - Many images broken in Mail
3486
3487         This can be traced back to the preload scanner.  With that change, CachedResources are created a lot 
3488         sooner than before and confuse the WebArchive machinery.  
3489
3490         When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore 
3491         such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate 
3492         machinery and nothing is known about where the data will eventually come from.
3493
3494         * loader/DocumentLoader.cpp:
3495         (WebCore::DocumentLoader::subresource):  Ignore a CachedResource if its preloadResult is 
3496           CachedResource::PreloadReferenced.
3497
3498 2008-08-20  Holger Hans Peter Freyther  <zecke@selfish.org>
3499
3500         Unreviewed compile fix
3501
3502         Catch up with the JSValue::type elimination.
3503
3504         * bridge/qt/qt_instance.cpp:
3505         (KJS::Bindings::QtRuntimeObjectImp::construct):
3506         (KJS::Bindings::QtInstance::defaultValue):
3507         * bridge/qt/qt_runtime.cpp:
3508         (KJS::Bindings::QtRuntimeConnectionMethod::call):
3509
3510 2008-08-20  Chris Teague  <chris.teague@gmail.com>
3511
3512         Reviewed by Mark Rowe.
3513
3514         Fix https://bugs.webkit.org/show_bug.cgi?id=20449
3515         Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
3516
3517         * ChangeLog:
3518         * loader/FrameLoader.cpp:
3519         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
3520
3521 2008-08-20  Simon Fraser  <simon.fraser@apple.com>
3522
3523         Reviewed by Dave Hyatt
3524
3525         getComputedStyle() for webkitTransform should return a transform
3526         that does not have the transform origin baked into it.
3527         https://bugs.webkit.org/show_bug.cgi?id=20464
3528         
3529         Test: fast/css/getComputedStyle-transform.html
3530
3531         * css/CSSComputedStyleDeclaration.cpp:
3532         (WebCore::computedTransform):
3533         * rendering/style/RenderStyle.cpp:
3534         (WebCore::RenderStyle::applyTransform):
3535         * rendering/style/RenderStyle.h:
3536
3537 2008-08-20  Josh Aas  <joshmoz@gmail.com>
3538
3539         Reviewed and landed by Anders.
3540
3541         <rdar://problem/6163636> 
3542         rename NPCocoaEvent's "event" struct to "data" (20446)
3543         
3544         * bridge/npapi.h:
3545         (_NPCocoaEvent::):
3546
3547 2008-08-20  Beth Dakin  <bdakin@apple.com>
3548
3549         Reviewed by Darin Adler.
3550
3551         Fix for <rdar://problem/6145626> 
3552         This patch fixes a number of remaining problems getting 
3553         disconnected frames to work correctly with markAllMatchesForText() 
3554         and findString(). Details inline. 
3555
3556         This was a static helper function in Frame, but this patch requires 
3557         the same functionality in Editor, so I just added it as a function 
3558         on Node.
3559         * dom/Node.cpp:
3560         (WebCore::Node::isInShadowTree):
3561         * dom/Node.h:
3562
3563         * editing/Editor.cpp:
3564         (WebCore::Editor::insideVisibleArea): Returns false if 
3565         excludeFromTextSearch() is true.
3566
3567         In a normal (non-disconnected) frame, findString returns a range of 
3568         the document node if the text is not found in the frame. I changed 
3569         firstVisibleRange and lastVisibleRange to match that behavior when 
3570         the text is not found
3571         (WebCore::Editor::firstVisibleRange):
3572         (WebCore::Editor::lastVisibleRange):
3573
3574         Here are the bulk of the changes in the patch. A lot of text was 
3575         not being found in disconnected frames because I failed to account 
3576         for all of the possible problems associated with shadow trees. That 
3577         is fixed here.
3578         (WebCore::Editor::nextVisibleRange):
3579         * editing/Editor.h:
3580
3581         excludeFromTextSearch() is new. It allows a WebKit client to mark a 
3582         frame as not-text-searchable through SPI. 
3583         * WebCore.base.exp:
3584         * page/Frame.cpp:
3585         (WebCore::Frame::excludeFromTextSearch):
3586         (WebCore::Frame::setExcludeFromTextSearch):
3587         (WebCore::FramePrivate::FramePrivate):
3588         * page/Frame.h:
3589         * page/FramePrivate.h:
3590
3591         (WebCore::Frame::findString):
3592         (WebCore::Frame::markAllMatchesForText):  I kept running into an 
3593         assertion failure in paining code because of the forced paint on 
3594         empty visible rects.
3595
3596 2008-08-20  Timothy Hatcher  <timothy@apple.com>
3597
3598         Adds a positon box to the Inspector's Metrics sidebar
3599         pane. When an element is not statically positioned, there
3600         is now a position box that show top, right, bottom and
3601         left computed values.
3602
3603         Reviewed by Kevin McCullough.
3604
3605         * English.lproj/localizedStrings.js: Updated the strings.
3606         * page/inspector/MetricsSidebarPane.js:
3607         (WebInspector.MetricsSidebarPane.prototype.update):
3608         Renamed the boxPartValue function to createBoxPartElement
3609         and made it create the entire element. Made it understand
3610         how to get position style properties. Don't use the figure dash
3611         when 0px is used for positions, since the 0 is meaningful there.
3612         Instead use the figure dash when a position is auto.
3613         * page/inspector/inspector.css: Added a new rule for position.
3614
3615 2008-08-20  Chris Fleizach  <cfleizach@apple.com>
3616