The search is only performed if the field contains more than 3
[WebKit-https.git] / WebCore / ChangeLog
1 2008-08-07  Anthony Ricaud  <rik24d@gmail.com>
2
3         The search is only performed if the field contains more than 3
4         letters or if Enter is pressed.
5
6         Search is now performed through a keyup event.
7
8         Added a WebInspector.lastQuery to remember the last query and not
9         perform it again (eg. the user hits a modifier key).
10
11         https://bugs.webkit.org/show_bug.cgi?id=18548
12
13         Reviewed by Timothy Hatcher.
14
15         * page/inspector/inspector.html: Removed the onsearch and incremental
16         attributes
17         * page/inspector/inspector.js:
18
19 2008-08-07  Steve Falkenburg  <sfalken@apple.com>
20
21         Compile derived sources through an all-in-one cpp file.
22         Fixes Windows release build on non-x64 systems by reducing the size of WebCore.lib from 1.5GB to 1GB.
23         
24         Reviewed by Mark Rowe.
25
26         * DerivedSources.cpp: Added.
27         * WebCore.vcproj/WebCore.vcproj:
28
29 2008-08-07  Kevin McCullough  <kmccullough@apple.com>
30
31         Reviewed by Adam.
32
33         <rdar://problem/5712917> Confusing console error message clear
34         behavior (16791)
35         https://bugs.webkit.org/show_bug.cgi?id=16791
36         <rdar://problem/5831899> The Web Inspector does not correctly clear the
37         console messages
38
39         * page/InspectorController.cpp: Clear the message so they don't show up
40         in the inspector after it has cleared them.
41         (WebCore::clearMessages):
42         (WebCore::InspectorController::clearConsoleMessages):
43         (WebCore::InspectorController::windowScriptObjectAvailable):
44         * page/InspectorController.h:
45         * page/inspector/Console.js: Tell the InspectorController to clear the
46         messages it's holding onto.
47
48 2008-08-07  Simon Fraser  <simon.fraser@apple.com>
49
50         Reviewed by Sam Weinig
51
52         Rename Marquee to RenderMarquee and move to its own file.
53         https://bugs.webkit.org/show_bug.cgi?id=20319
54
55         * GNUmakefile.am:
56         * WebCore.pro:
57         * WebCore.vcproj/WebCore.vcproj:
58         * WebCore.xcodeproj/project.pbxproj:
59         * WebCoreSources.bkl:
60         * html/HTMLMarqueeElement.cpp:
61         * rendering/RenderBlock.cpp:
62         * rendering/RenderLayer.cpp:
63         (WebCore::RenderLayer::styleChanged):
64         * rendering/RenderLayer.h:
65         * rendering/RenderMarquee.cpp: Added.
66         (WebCore::RenderMarquee::RenderMarquee):
67         (WebCore::RenderMarquee::marqueeSpeed):
68         (WebCore::RenderMarquee::direction):
69         (WebCore::RenderMarquee::isHorizontal):
70         (WebCore::RenderMarquee::computePosition):
71         (WebCore::RenderMarquee::start):
72         (WebCore::RenderMarquee::suspend):
73         (WebCore::RenderMarquee::stop):
74         (WebCore::RenderMarquee::updateMarqueePosition):
75         (WebCore::RenderMarquee::updateMarqueeStyle):
76         (WebCore::RenderMarquee::timerFired):
77         * rendering/RenderMarquee.h: Added.
78         (WebCore::RenderMarquee::speed):
79         (WebCore::RenderMarquee::reverseDirection):
80         (WebCore::RenderMarquee::setEnd):
81
82 2008-08-07  Dan Bernstein  <mitz@apple.com>
83
84         Reviewed by Dave Hyatt.
85
86         - fix <rdar://problem/6118816> Initial empty page or bookmarks view window has white strip where vertical scrollbar would be (which vanishes on resize)
87
88         * page/Frame.cpp:
89         (WebCore::Frame::setZoomFactor): If the view has never had a layout with
90         the old zoom factor, then there is no need to explicitly call layout()
91         here.
92
93 2008-08-07  Kevin McCullough  <kmccullough@apple.com>
94
95         Reviewed by Geoff.
96
97         <rdar://problem/6115981> Start the profiler in Heavy view
98
99         * page/inspector/ProfileView.js:
100
101 2008-08-07  Alp Toker  <alp@nuanti.com>
102
103         Reviewed by Eric Seidel.
104
105         https://bugs.webkit.org/show_bug.cgi?id=20313
106         Add null check in String::fromUTF8()
107
108         Make String::fromUTF8() consistent with other constructors by
109         returning a null String when the input is null instead of crashing.
110
111         * platform/text/String.cpp:
112         (WebCore::String::fromUTF8):
113
114 2008-08-06  Kevin Ollivier  <kevino@theolliviers.com>
115
116         wx build fix after Frame -> ScriptController moves.
117
118         * platform/wx/TemporaryLinkStubs.cpp:
119
120 2008-08-06  Kevin McCullough  <kmccullough@apple.com>
121
122         Reviewed by Tim.
123
124         - Make XHR console message clearer.
125
126         * xml/XMLHttpRequest.cpp:
127         (WebCore::XMLHttpRequest::didFinishLoading):
128
129 2008-08-06  Kevin McCullough  <kmccullough@apple.com>
130
131         Reviewed by Tim.
132
133         - Created a new function to create DOM links from text without
134         converting back and forth from HTML and messing with escaping special
135         characters.
136
137         * page/inspector/Console.js:
138         * page/inspector/inspector.js:
139         * page/inspector/utilities.js:
140
141 2008-08-06  Eric Seidel  <eric@webkit.org>
142
143         Reviewed by hyatt.
144
145         Fix a large animation leak found on the buildbot
146         (m_animations and m_transitions were never deleted)
147         Drag RenderStyle (kicking and screaming) into the 21st century
148         of memory management with a little application of OwnPtr.
149
150         * rendering/style/RenderStyle.cpp:
151         (WebCore::FillLayer::cullEmptyLayers):
152         (WebCore::RenderStyle::diff):
153         (WebCore::RenderStyle::contentDataEquivalent):
154         (WebCore::RenderStyle::setContent):
155         (WebCore::BindingURI::BindingURI):
156         (WebCore::RenderStyle::setBoxShadow):
157         (WebCore::ShadowData::ShadowData):
158         (WebCore::RenderStyle::counterDirectives):
159         (WebCore::RenderStyle::accessCounterDirectives):
160         (WebCore::RenderStyle::adjustAnimations):
161         (WebCore::RenderStyle::adjustTransitions):
162         (WebCore::RenderStyle::accessAnimations):
163         (WebCore::RenderStyle::accessTransitions):
164         * rendering/style/RenderStyle.h:
165         (WebCore::RenderStyle::clearAnimations):
166         (WebCore::RenderStyle::clearTransitions):
167
168 2008-08-06  Brady Eidson  <beidson@apple.com>
169
170         Reviewed by MitzPettel
171
172         <rdar://problem/6078543> - Many LocalStorageThreads may be started
173
174         The original decision to key LocalStorage sets to PageGroups was a poor one.
175
176         It seems a much better solution is to key them to the actual path of on-disk storage,
177         which also solves all of the avenues that could lead to a boundless number of threads.
178
179         In this patch, I am not attempting to completely sever the attachment of LocalStorage
180         to PageGroups as that would require a more substantial re-working of the lifetime
181         between pages, groups, and local storage threads.
182
183         * page/PageGroup.cpp:
184         (WebCore::PageGroup::addPage):
185
186         * storage/LocalStorage.cpp:
187         (WebCore::localStorageMap):  Map paths to LocalStorage objects here.
188         (WebCore::LocalStorage::localStorage): Return the shared LocalStorage object for this path,
189           or create a new one if it doesn't yet exist.
190         (WebCore::LocalStorage::LocalStorage):
191         (WebCore::LocalStorage::~LocalStorage):  Add to remove the path->LocalStorage mapping
192         * storage/LocalStorage.h:
193
194 2008-08-06  Beth Dakin  <bdakin@apple.com>
195
196         Reviewed by Adele.
197
198         Fix for <rdar://problem/6130724>
199
200         Disconnected frames should not be allowed to resize the window.
201
202         * page/DOMWindow.cpp:
203         (WebCore::DOMWindow::resizeBy):
204         (WebCore::DOMWindow::resizeTo):
205
206 2008-08-05  David D. Kilzer  <ddkilzer@apple.com>
207
208         Bug 20038: REGRESSION (r35151): Can't post comments on flickr.com
209
210         <https://bugs.webkit.org/show_bug.cgi?id=20038>
211         <rdar://problem/6092270>
212
213         Reviewed by Eric Seidel.
214
215         Test: fast/forms/submit-to-url-fragment.html
216
217         The problem was that isFormSubmission was not being set to true in
218         FrameLoader::loadWithDocumentLoader() when we were actually
219         submitting a form, causing the page to scroll instead of the form to
220         be submitted.
221
222         The isFormSubmission variable wasn't set to true because a FormState
223         object was not being created in
224         FrameLoader::loadFrameRequestWithFormAndValues().
225
226         The FormState object was not being created because
227         HTMLFormElement::submit(Event*, bool activateSubmitButton) would
228         only set FrameLoader::m_formAboutToBeSubmitted to the current form
229         if there was a "text field" element in the form (type = text,
230         password, search or isindex).
231
232         Thus when FrameLoader::submitForm(const FrameLoadRequest&, Event*)
233         called FrameLoader::loadFrameRequestWithFormAndValues(), a null
234         HTMLFormElement pointer would be sent and cause the above failures.
235
236         * html/HTMLFormElement.cpp:
237         (WebCore::HTMLFormElement::submit): Call new
238         FrameLoader::setFormAboutToBeSubmitted() method outside the for
239         loop so we always set FrameLoader::m_formAboutToBeSubmitted exactly
240         once for any form submission.  The FrameLoader::recordFormValue()
241         method is only called with the name/value pair of each text field.
242
243         * loader/FrameLoader.cpp:
244         (WebCore::FrameLoader::setFormAboutToBeSubmitted): Added method that
245         only sets m_formAboutToBeSubmitted.
246         (WebCore::FrameLoader::recordFormValue): Removed
247         PassRefPtr<HTMLFormElement> argument since this method only sets
248         name/value pairs on m_formValuesAboutToBeSubmitted now.
249         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues): Create a
250         FormState object as long as submitForm is not null so that other
251         FrameLoader methods know when a form is being submitted.
252         * loader/FrameLoader.h:
253
254 2008-08-06  David D. Kilzer  <ddkilzer@apple.com>
255
256         BUILD FIX: Add HTMLPlugInImageElement.cpp to all other build systems
257
258         * GNUmakefile.am:
259         * WebCore.pro:
260         * WebCoreSources.bkl:
261
262 2008-08-06  Dan Bernstein  <mitz@apple.com>
263
264         - Windows build fix
265
266         * WebCore.vcproj/WebCore.vcproj: Added PlugInImageElement.*
267
268 2008-08-06  Kevin McCullough  <kmccullough@apple.com>
269
270         Reviewed by Tim and Darin.
271
272         <rdar://problem/6126160> URLs in the console should be clickable.
273         - Implemented and now use linkifyString() to parse console messages for
274         URLs.
275
276         * page/inspector/Console.js:
277         * page/inspector/inspector.js:
278         * page/inspector/utilities.js:
279
280 2008-07-02  David Kilzer  <ddkilzer@apple.com>
281
282         Images using QT plugin do not display correctly
283
284         <https://bugs.webkit.org/show_bug.cgi?id=9214>
285         <rdar://problem/5683413>
286
287         Reviewed by Darin.
288
289         Tests: fast/images/embed-image.html
290                fast/images/object-image.html
291
292         Use RenderImage instead of RenderPartObject for a renderer when
293         the <embed> tag references an image.  Extract common code from
294         HTMLEmbedElement and HTMLObjectElement into HTMLPlugInImageElement.
295
296         * WebCore.xcodeproj/project.pbxproj: Added new source files.
297
298         * html/HTMLEmbedElement.cpp: Cleaned up #include statements.
299         (WebCore::HTMLEmbedElement::HTMLEmbedElement): Extend
300         HTMLPlugInImageElement which extends HTMLPlugInElement.
301         (WebCore::HTMLEmbedElement::parseMappedAttribute): Split codeAttr
302         and srcAttr cases.  Create or clear HTMLImageLoader as needed for
303         srcAttr.
304         (WebCore::HTMLEmbedElement::rendererIsNeeded): Use
305         HTMLPlugInElement::rendererIsNeeded() for images.
306         (WebCore::HTMLEmbedElement::createRenderer): Create a
307         RenderImage instead of a RenderPartObject for images.
308         (WebCore::HTMLEmbedElement::attach): Create HTMLImageLoader,
309         load image and populate RenderImage for images.
310         (WebCore::HTMLEmbedElement::updateWidget): Don't call
311         RenderPartObject::updateWidget() for images.
312         (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added.
313         * html/HTMLEmbedElement.h: Removed unneeded namespace and class
314         declarations.  Extend HTMLPlugInImageElement which extends
315         HTMLPlugInElement.
316         (WebCore::HTMLEmbedElement::imageSourceAttributeName): Added.
317         (WebCore::HTMLEmbedElement::serviceType): Moved to
318         HTMLPlugInImageElement.
319         (WebCore::HTMLEmbedElement::url): Ditto.
320
321         * html/HTMLObjectElement.cpp: Cleaned up #include statements.
322         (WebCore::HTMLObjectElement::attach): Removed local variable.
323         (WebCore::HTMLObjectElement::isImageType): Moved to
324         HTMLPlugInImageElement.
325         * html/HTMLObjectElement.h: Extend HTMLPlugInImageElement which
326         extends HTMLPlugInElement.
327         (WebCore::HTMLObjectElement::isImageType): Moved to
328         HTMLPlugInImageElement.
329         (WebCore::HTMLObjectElement::serviceType): Ditto.
330         (WebCore::HTMLObjectElement::url): Ditto.
331
332         * html/HTMLPlugInImageElement.cpp: Added.
333         (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Added.
334         (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Added.
335         (WebCore::HTMLPlugInImageElement::isImageType): Moved from
336         HTMLObjectElement.
337         * html/HTMLPlugInImageElement.h: Added.
338         (WebCore::HTMLPlugInImageElement::isImageType): Added from 
339         HTMLObjectElement.
340         (WebCore::HTMLPlugInImageElement::serviceType): Ditto.
341         (WebCore::HTMLPlugInImageElement::url): Ditto.
342
343         * rendering/HitTestResult.cpp:
344         (WebCore::HitTestResult::absoluteImageURL): Return urlString
345         for embed elements with images.
346
347 2008-08-06  Marco Barisione  <marco.barisione@collabora.co.uk>
348
349         Reviewed by Eric Seidel.
350
351         http://bugs.webkit.org/show_bug.cgi?id=20295
352         RegularExpression::match should not crash when a null string is passed
353
354         RegularExpression::match used to pass null subject strings to
355         jsRegExpExecute causing an ASSERT failure and then a crash.
356         There is no need to fix also RegularExpression:search and
357         RegularExpression::searchRev as they just call
358         RegularExpression::match.
359
360         * platform/text/RegularExpression.cpp:
361         (WebCore::RegularExpression::match): Return -1 if the string is null.
362
363 2008-08-06  Jan Michael Alonzo  <jmalonzo@webkit.org>
364
365         Gtk build fix only
366
367         * bindings/js/ScriptControllerGtk.cpp:
368         * plugins/gtk/PluginViewGtk.cpp:
369         (WebCore::PluginView::getValue):
370         (WebCore::PluginView::~PluginView):
371
372 2008-08-06  Ariya Hidayat  <ariya.hidayat@trolltech.com>
373
374         Fix the Qt build due to recent ScriptController refactoring.
375
376         * plugins/qt/PluginViewQt.cpp:
377         (WebCore::PluginView::getValue):
378         (WebCore::PluginView::~PluginView):
379
380 2008-08-06  Eric Seidel  <eric@webkit.org>
381
382         Reviewed by Cameron Zwarich.
383
384         Fix warnings and errors seen on Qt bot.
385         Including one correctness fix for ThreadingQt.
386         According to the Qt 4.4 docs, we were always passing
387         seconds to "wait()" when we should have been passing
388         milliseconds.
389         
390         Lots of float <-> int conversion warnings.
391
392         * css/CSSCursorImageValue.cpp:
393         (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
394         * dom/Element.cpp:
395         (WebCore::adjustForLocalZoom):
396         (WebCore::adjustForAbsoluteZoom):
397         (WebCore::Element::setScrollLeft):
398         (WebCore::Element::setScrollTop):
399         * dom/EventTargetNode.cpp:
400         (WebCore::EventTargetNode::dispatchMouseEvent):
401         * loader/CachedImage.cpp:
402         (WebCore::CachedImage::imageRect):
403         * page/DOMWindow.cpp:
404         (WebCore::DOMWindow::innerHeight):
405         (WebCore::DOMWindow::innerWidth):
406         (WebCore::DOMWindow::scrollX):
407         (WebCore::DOMWindow::scrollY):
408         (WebCore::DOMWindow::scrollTo):
409         * page/EventHandler.cpp:
410         (WebCore::scrollAndAcceptEvent):
411         * plugins/npapi.cpp:
412         * plugins/qt/PluginViewQt.cpp:
413         (WebCore::PluginView::getValue):
414         (WebCore::PluginView::~PluginView):
415         * rendering/RenderReplaced.cpp:
416         (WebCore::RenderReplaced::intrinsicSizeChanged):
417
418 2008-08-06  Eric Seidel  <eric@webkit.org>
419
420         Build fix only, no review.
421
422         Attempt to fix the Windows and Qt builds.
423
424         * bindings/js/ScriptControllerWin.cpp: add runtime.h include
425         * bindings/js/ScriptControllerQt.cpp: add QWidget include
426         * page/win/FrameWin.cpp: remove bogus using namespace
427         * plugins/PluginView.cpp:
428         (WebCore::PluginView::bindingInstance): use script()
429         * plugins/win/PluginViewWin.cpp:
430         (WebCore::PluginView::getValue): use script()
431         (WebCore::PluginView::~PluginView): use script()
432
433   2008-08-06  Eric Seidel  <eric@webkit.org>
434
435         Build fix only, no review.
436
437         Attempt to fix the Linux and --no-svg builds.
438
439         * bindings/js/ScriptController.h: wrap RetainPtr include in PLATFORM(MAC)
440         * css/CSSComputedStyleDeclaration.cpp:
441         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): add missing CSSProperties to switch
442
443 2008-08-06  Eric Seidel  <eric@webkit.org>
444
445         Reviewed by Cameron Zwarich.
446
447         Move more methods from Frame into ScriptController
448         https://bugs.webkit.org/show_bug.cgi?id=20294
449         
450         Finally finish more of the work which Darin started long ago
451         Move a few more Frame methods into ScriptController.
452         I also took this opportunity to clean up some of the plugin
453         code as well, and moved some of that into ScriptController.
454
455         I removed Frame::clearScriptController() and ScriptController::clear() is now clearWindowShell()
456
457         No functional changes, thus no test cases.
458
459         * GNUmakefile.am:
460         * WebCore.NPAPI.exp:
461         * WebCore.base.exp:
462         * WebCore.pro:
463         * WebCore.vcproj/WebCore.vcproj:
464         * WebCore.xcodeproj/project.pbxproj:
465         * bindings/js/ScriptController.cpp:
466         (WebCore::ScriptController::ScriptController):
467         (WebCore::ScriptController::~ScriptController):
468         (WebCore::ScriptController::bindingRootObject):
469         (WebCore::ScriptController::createRootObject):
470         (WebCore::ScriptController::windowScriptNPObject):
471         (WebCore::ScriptController::createScriptObjectForPluginElement): New method.
472         (WebCore::ScriptController::clearPlatformScriptObjects):
473         (WebCore::ScriptController::disconnectPlatformScriptObjects):
474         (WebCore::ScriptController::cleanupScriptObjectsForPlugin):
475         (WebCore::ScriptController::clearScriptObjects):
476         * bindings/js/ScriptController.h:
477         (WebCore::ScriptController::sourceURL):
478         (WebCore::ScriptController::clearFormerWindow):
479         * bindings/js/ScriptControllerGtk.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp.
480         (WebCore::Frame::createScriptInstanceForWidget):
481         * bindings/js/ScriptControllerMac.mm: Added.
482         (WebCore::ScriptController::createScriptInstanceForWidget):
483         (WebCore::ScriptController::windowScriptObject):
484         (WebCore::ScriptController::clearPlatformScriptObjects):
485         (WebCore::ScriptController::disconnectPlatformScriptObjects):
486         (WebCore::updateRenderingForBindings):
487         (WebCore::ScriptController::initJavaJSBindings):
488         * bindings/js/ScriptControllerQt.cpp: Copied from WebCore/page/gtk/FrameGtk.cpp.
489         (WebCore::ScriptController::createScriptInstanceForWidget):
490         * bindings/js/ScriptControllerWin.cpp: Copied from WebCore/svg/graphics/cg/SVGResourceMaskerCg.cpp.
491         (WebCore::ScriptController::createScriptInstanceForWidget):
492         * bindings/objc/DOM.mm:
493         (-[DOMNode KJS::Bindings::]):
494         * bindings/objc/DOMInternal.mm:
495         (-[WebScriptObject _initializeScriptDOMNodeImp]):
496         * bridge/jni/jni_jsobject.mm:
497         (createRootObject):
498         * html/HTMLAppletElement.cpp:
499         (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
500         * html/HTMLAppletElement.h:
501         * html/HTMLEmbedElement.cpp:
502         (WebCore::findWidgetRenderer):
503         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings):
504         * html/HTMLEmbedElement.h:
505         * html/HTMLObjectElement.cpp:
506         (WebCore::HTMLObjectElement::~HTMLObjectElement):
507         (WebCore::HTMLObjectElement::renderWidgetForJSBindings):
508         (WebCore::HTMLObjectElement::detach):
509         * html/HTMLObjectElement.h:
510         * html/HTMLPlugInElement.cpp:
511         (WebCore::HTMLPlugInElement::~HTMLPlugInElement):
512         (WebCore::HTMLPlugInElement::detach):
513         (WebCore::HTMLPlugInElement::getInstance):
514         (WebCore::HTMLPlugInElement::parseMappedAttribute):
515         (WebCore::HTMLPlugInElement::getNPObject):
516         * html/HTMLPlugInElement.h:
517         * loader/FrameLoader.cpp:
518         (WebCore::FrameLoader::clear):
519         * page/Frame.cpp:
520         (WebCore::Frame::Frame):
521         (WebCore::Frame::~Frame):
522         (WebCore::Frame::pageDestroyed):
523         (WebCore::FramePrivate::FramePrivate):
524         * page/Frame.h:
525         * page/FramePrivate.h:
526         * page/gtk/FrameGtk.cpp:
527         * page/mac/FrameMac.mm:
528         * page/qt/FrameQt.cpp:
529         * page/win/FrameWin.cpp:
530         (WebCore::computePageRectsForFrame):
531
532 2008-08-05  Steve Falkenburg  <sfalken@apple.com>
533
534         Fix last timer fix.
535         Add null check, clear timer using InterlockedExchange.
536         
537         Reviewed by Alice Liu.
538
539         * platform/win/SharedTimerWin.cpp:
540         (WebCore::clearTimer):
541         (WebCore::queueTimerProc):
542         (WebCore::stopSharedTimer):
543
544 2008-08-05  Steve Falkenburg  <sfalken@apple.com>
545
546         Fix timer leak, flag.
547         
548         Timers need to be deleted explicitly, even if they fire.
549         Also added WT_EXECUTEONLYONCE flag, since this is not a repeating timer.
550         
551         Reviewed by Ada Chan.
552
553         * platform/win/SharedTimerWin.cpp:
554         (WebCore::queueTimerProc):
555
556 2008-08-05  Anders Carlsson  <andersca@apple.com>
557
558         Reviewed by Darin.
559
560         <rdar://problem/6037398>
561         ER: Deallocate WebKit objects on the main thread, even if released on secondary thread
562         
563         Add calls to WebCoreObjCScheduleDeallocateOnMainThread in dealloc methods of objects we expose.
564         
565         * bindings/objc/DOMRGBColor.mm:
566         (-[DOMRGBColor dealloc]):
567         * bindings/objc/WebScriptObject.mm:
568         (-[WebScriptObject dealloc]):
569         * platform/mac/SharedBufferMac.mm:
570         (-[WebCoreSharedBufferData dealloc]):
571
572 2008-08-05  Anders Carlsson  <andersca@apple.com>
573
574         Reviewed by Darin.
575
576         Move the main thread deallocator here from WebKit.
577         
578         * WebCore.base.exp:
579         * WebCore.xcodeproj/project.pbxproj:
580         * platform/mac/WebCoreObjCExtras.c:
581         (method_getImplementation):
582         (deallocCallback):
583         (WebCoreObjCScheduleDeallocateOnMainThread):
584         * platform/mac/WebCoreObjCExtras.h:
585
586 2008-08-05  Dean Jackson  <dino@apple.com>
587
588         Parse CSS Animations, including the new
589         -webkit-animation properties and the @-webkit-keyframes rule.
590         Adds some new interfaces for the style rules.
591         
592         https://bugs.webkit.org/show_bug.cgi?id=20088
593
594         Reviewed by David Hyatt.
595
596         * GNUmakefile.am:
597         * WebCore.pro:
598         * WebCore.vcproj/WebCore.vcproj:
599         * WebCore.xcodeproj/project.pbxproj:
600         * WebCoreSources.bkl:
601             build config for new files
602         * css/tokenizer.flex:
603         * css/CSSGrammar.y:
604         * css/CSSParser.cpp:
605         * css/CSSParser.h:
606             new @-webkit-keyframes parsing
607         * css/CSSPropertyNames.in:
608             -webkit-animation properties
609         * css/CSSRule.h:
610         * css/CSSStyleSelector.cpp:
611         * css/CSSStyleSelector.h:
612         * css/CSSValueKeywords.in:
613         * css/StyleBase.h:
614         * css/WebKitCSSKeyframeRule.cpp: Added.
615         * css/WebKitCSSKeyframeRule.h: Added.
616         * css/WebKitCSSKeyframesRule.cpp: Added.
617         * css/WebKitCSSKeyframesRule.h: Added.
618
619 2008-08-05  Kevin McCullough  <kmccullough@apple.com>
620
621         Reviewed by Tim.
622
623         - LayoutTests fix.  Log only to the Inspector because other listeners may not want
624         XHR notifications, including DRT and the numerous tests that don't expect them.
625
626         * xml/XMLHttpRequest.cpp:
627         (WebCore::XMLHttpRequest::didFinishLoading):
628
629 2008-08-05  Timothy Hatcher  <timothy@apple.com>
630
631         Makes DOM attribute editing start on double-click to match the styles
632         pane. Links in attributes are now triggered with a single click again.
633
634         https://bugs.webkit.org/show_bug.cgi?id=20281
635
636         Reviewed by Adam Roben.
637
638         * English.lproj/localizedStrings.js: Removed some strings.
639         * page/inspector/ElementsPanel.js:
640         (WebInspector.DOMNodeTreeElement.prototype.onattach): Call
641         _preventFollowingLinksOnDoubleClick.
642         (WebInspector.DOMNodeTreeElement.prototype._preventFollowingLinksOnDoubleClick):
643         Renamed from _makeURLsActivateOnModifiedClick. Simply sets the
644         preventFollowOnDoubleClick property on all links.
645         (WebInspector.DOMNodeTreeElement.prototype.onselect): Removed
646         _selectedByCurrentMouseDown.
647         (WebInspector.DOMNodeTreeElement.prototype.onmousedown): Moved
648         editing code to ondblclick.
649         (WebInspector.DOMNodeTreeElement.prototype.ondblclick): Calls
650         _startEditing. Removed URL check.
651         (WebInspector.DOMNodeTreeElement.prototype._updateTitle): Calls
652         _preventFollowingLinksOnDoubleClick.
653         * page/inspector/inspector.css:
654         (.editing): Removed the text-decoration property.
655         (.editing, .editing *): Added the text-decoration property here
656         so it removes underlines on child elements.
657         * page/inspector/inspector.js:
658         (WebInspector.documentClick): Removed the followOnAltClick code.
659         Added support for preventFollowOnDoubleClick, which sets a timeout
660         on the first click where future clicks will cancel it (double click).
661         If the timeout isn't canceled, the link is followed.
662
663 2008-08-05  Antti Koivisto  <antti@apple.com>
664
665         Reviewed by Sam Weinig.
666
667         <rdar://problem/6112219> Video in standalone media document flashes when navigating away
668
669         When navigating out from a page, MediaPlayer was set invisible and then immediately 
670         made visible again causing flicker in some cases.
671         
672         The document is not yet marked being in page cache when willSaveToCache() is called.
673
674         * html/HTMLMediaElement.cpp:
675         (WebCore::HTMLMediaElement::willSaveToCache):
676         * rendering/RenderVideo.cpp:
677         (WebCore::RenderVideo::updatePlayer):
678
679 2008-08-05  Dan Bernstein  <mitz@apple.com>
680
681         - fix typo
682
683         * page/mac/FrameMac.mm:
684
685 2008-08-05  Dan Bernstein  <mitz@apple.com>
686
687         - try to fix the 64-bit build
688
689         * page/mac/FrameMac.mm:
690
691 2008-08-05  Alp Toker  <alp@nuanti.com>
692
693         Remove leftover mark pragma from r35568 to fix compiler warning spew.
694
695         * rendering/style/RenderStyle.h:
696
697 2008-08-05  Kevin McCullough  <kmccullough@apple.com>
698
699         - Added a test that checks for several edge cases (see description in
700         test.
701
702         * manual-tests/inspector/profiler-test-start-but-dont-stop-profiling.html: Added.
703
704 2008-08-05  Dean Jackson  <dino@apple.com>
705
706         Reviewed by Dave Hyatt
707
708         Add support for CSS Animation properties to RenderStyle
709         https://bugs.webkit.org/show_bug.cgi?id=20068
710
711         (also fix some minor whitespace issues and remove debugging code)
712
713         * css/CSSComputedStyleDeclaration.cpp:
714         * css/CSSStyleSelector.cpp:
715         * page/AnimationController.cpp:
716         * rendering/style/RenderStyle.cpp:
717         * rendering/style/RenderStyle.h:
718
719 2008-08-05  Kevin McCullough  <kmccullough@apple.com>
720
721         - Updated a manual test to be an accurate description of what it is
722         actually testing.
723
724         * manual-tests/inspector/profiler-test-stop-profiling-after-setTimeout.html:
725
726 2008-08-05  Kevin McCullough  <kmccullough@apple.com>
727
728         Reviewed by Tim.
729
730         <rdar://problem/5732836> XMLHttpRequest: Inspector should show network
731         activity/XHR in Console (17233)
732
733         * xml/XMLHttpRequest.cpp:
734         (WebCore::XMLHttpRequest::didFinishLoading):
735
736 2008-08-05  Dean Jackson  <dino@apple.com>
737
738         Fix the ChangeLog that was corrupted by r34545.
739
740 2008-08-04  Timothy Hatcher  <timothy@apple.com>
741
742         Makes the selection surround just the name or value that was
743         double clicked when editing CSS properties. This regressed when
744         the Inspector started using focus/blur events, since a focus on
745         a content editable region changes the selection.
746
747         https://bugs.webkit.org/show_bug.cgi?id=20280
748
749         Reviewed by Adam Roben.
750
751         * page/inspector/StylesSidebarPane.js:
752         (WebInspector.StylePropertyTreeElement.prototype.startEditing):
753         Change the selection after calling WebInspector.startEditing,
754         since WebInspector.startEditing will set an initial selection
755         due to a focus event.
756
757 2008-08-04  Timothy Hatcher  <timothy@apple.com>
758
759         Changes the editing behavior in the Inspector to commit changes
760         when focus is lost, instead of reverting the changes.
761
762         https://bugs.webkit.org/show_bug.cgi?id=20279
763
764         Reviewed by Adam Roben.
765
766         * page/inspector/inspector.js:
767         (WebInspector.startEditing): Call editingCommitted in blurEventListener
768         instead of editingCancelled.
769
770 2008-08-04  Timothy Hatcher  <timothy@apple.com>
771
772         Adds the ability to increment/decrement numbers in editable style
773         properties with the arrow and page keys.
774
775         Reviewed by Adam Roben.
776
777         https://bugs.webkit.org/show_bug.cgi?id=20273
778
779         * page/inspector/StylesSidebarPane.js:
780         (WebInspector.StylePropertyTreeElement.prototype.updateAll):
781         Updates all properties in the current section, or all sections
782         depending in the argument passed.
783         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
784         Call updateAll instead of having duplicate code.
785         (WebInspector.StylePropertyTreeElement.prototype.startEditing):
786         Assign the list element's handleKeyEvent to editingKeyDown.
787         (WebInspector.StylePropertyTreeElement.prototype.editingKeyDown):
788         Handles the Up and Down arrows keys. Finds the word based on the
789         selection and extracts the number, prefix and suffix. Increments
790         or decrements the number based on the key and modifiers. Replaces
791         the original word with the new value and selects it. Also applies
792         the style so the page reflects the changes live.
793         (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
794         Delete the handleKeyEvent and originalCSSText properties.
795         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
796         If originalCSSText exists, set the cssText to that value and call
797         updateAll. Otherwise just call updateTitle like before.
798         (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
799         Factored out the style applying code to applyStyleText.
800         (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
801         Factored out from editingCommitted. Takes an argument that specifies
802         if the interface should be updated when the style is applied.
803         * page/inspector/inspector.js:
804         (WebInspector.startEditing): Call the original key handler, if one
805         existed before interrupting key events.
806         * page/inspector/utilities.js:
807         (getStyleTextWithShorthands): Helper to return CSS text that preserves
808         shorthand values, since the cssText property only outputs longhands.
809
810 2008-08-04  Timothy Hatcher  <timothy@apple.com>
811
812         Factors out the TextPrompt.scanBackwards function into a generic
813         helper function on the Node prototype, named rangeOfWord.
814
815         Reviewed by Adam Roben.
816
817         * page/inspector/Console.js:
818         (WebInspector.Console.prototype.completions): Use rangeOfWord.
819         * page/inspector/TextPrompt.js:
820         (WebInspector.TextPrompt.prototype.complete): Ditto.
821         (WebInspector.TextPrompt.prototype.scanBackwards): Removed.
822         * page/inspector/utilities.js:
823         (Node.prototype.rangeOfWord): Added. Copied from TextPrompt.scanBackwards,
824         and added a direction argument allowing scanning forward, backward or
825         both directions from the offset.
826
827 2008-08-04  Timothy Hatcher  <timothy@apple.com>
828
829         Fixes a bug where the property toggle button would not be hidden
830         during editing.
831
832         Reviewed by Adam Roben.
833
834         * page/inspector/inspector.css:
835         (li.editing .swatch, li.editing .enabled-button):
836         Make the display !important, since a more specific rule for 
837         .enabledbutton overrides display.
838
839 2008-08-05  Dan Bernstein  <mitz@apple.com>
840
841         Reviewed by Geoffrey Garen.
842
843         - remove redundant #imports from FrameMac.mm
844
845         * page/mac/FrameMac.mm:
846
847 2008-08-04  Bernhard Kruepl  <kruepl@dbai.tuwien.ac.at>
848
849         Reviewed by Dave Hyatt.
850
851         Fix for https://bugs.webkit.org/show_bug.cgi?id=19094
852         Corrected offsetTop for table cells by subtracting borderTopExtra
853
854         * rendering/RenderObject.cpp:
855         (WebCore::RenderObject::offsetTop):
856
857 2008-08-04  Dean Jackson  <dino@apple.com>
858
859         Reviewed by Dave Hyatt.
860
861         Improve AnimationController
862         https://bugs.webkit.org/show_bug.cgi?id=19938
863
864         - Transition class is now called Animation
865         - new state-based AnimationController that can support CSS Animations
866         - add support for -webkit-transition-delay
867         - remove -webkit-transition-repeat-count (since it never existed officially)
868         - updates the -webkit-transition shorthand to reflect removing repeat count
869         - updates the Transition class so that properties can be shared with animations
870         - adds a "now" keyword for -webkit-transition-delay
871         - adds a new change type for style (changed by animation)
872         - adds new event names (although they are not dispatched yet)
873         - makes text stroke and text fill colors returned by RenderStyle const
874
875         Tests:
876         - manual-tests/transition-left.html
877         - manual-tests/transition-delay.html
878         - manual-tests/transition-timing-functions.html
879
880         * css/CSSComputedStyleDeclaration.cpp:
881         * css/CSSParser.cpp:
882         * css/CSSParser.h:
883         * css/CSSPropertyNames.in:
884         * css/CSSStyleSelector.cpp:
885         * css/CSSStyleSelector.h:
886         * css/CSSTimingFunctionValue.h:
887         * css/CSSValue.h:
888         * css/CSSValueKeywords.in:
889         * css/WebKitCSSTransformValue.cpp:
890         * dom/Document.cpp:
891         * dom/Document.h:
892         * dom/Element.cpp:
893         * dom/EventNames.h:
894         * dom/Node.cpp:
895         * dom/Node.h:
896         * history/CachedPage.cpp:
897         * page/AnimationController.cpp:
898         * page/AnimationController.h:
899         * page/Frame.cpp:
900         * rendering/RenderObject.cpp:
901         * rendering/RenderWidget.cpp:
902         * rendering/style/RenderStyle.cpp:
903         * rendering/style/RenderStyle.h:
904
905 2008-08-04  Mike Belshe  <mike@belshe.com>
906
907         Reviewed by Antti.
908         
909         Currently we create two copies of script in the HTMLTokenizer.
910         One copy gets passed into the javascript engine, the other gets
911         stored in the DOM.  Modify the HTMLParser so that it does not
912         chunk the string into it's normal 64K chunks for script code,
913         and modify the HTMLTokenizer to pass that same string into the
914         JS engine.  On some sites (e.g. GMail), which have hundreds of
915         KB of inline JS, this saves more than a MB of RAM to run the page.
916         (Strings use 16bit strings, so 600KB of JS code == 1.2MB of memory)
917
918         * html\HTMLParser.cpp
919         * html\HTMLTokenizer.cpp
920
921 2008-08-04  Sam Weinig  <sam@webkit.org>
922
923         Reviewed by Mark Rowe.
924
925         Remove extra braces left in from JSLock removal.
926
927         * xml/XMLHttpRequest.cpp:
928         (WebCore::XMLHttpRequest::dropProtection):
929
930 2008-08-02  Sam Weinig  <sam@webkit.org>
931
932         Reviewed by Dan Bernstein.
933
934         Implement the Access-control for Cross Site requests
935         preflight cache.
936
937         Tests: http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-header.html
938                http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-invalidation-by-method.html
939                http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache-timeout.html
940                http/tests/xmlhttprequest/access-control-basic-allow-preflight-cache.html
941
942         * WebCore.vcproj/WebCore.vcproj:
943         * WebCore.xcodeproj/project.pbxproj:
944         * platform/KURL.h:
945         (WTF::):
946         * platform/KURLHash.h: Added.
947         (WebCore::KURLHash::hash):
948         (WebCore::KURLHash::equal):
949         (WTF::):
950         * xml/XMLHttpRequest.cpp:
951         (WebCore::PreflightResultCacheItem::PreflightResultCacheItem):
952         (WebCore::preflightResultCache):
953         (WebCore::appendPreflightResultCacheEntry):
954         (WebCore::canSkipPrelight):
955         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
956         (WebCore::parseAccessControlAllowList):
957         (WebCore::parseAccessControlMaxAge):
958         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
959
960 2008-08-04  Eric Seidel  <eric@webkit.org>
961
962         Reviewed by Adam Roben.
963
964         Fix warning seen in MSVC converting ints to floats.
965
966         * rendering/Length.h:
967         (WebCore::Length::calcFloatValue):
968
969 2008-08-04  Eric Seidel  <eric@webkit.org>
970
971         Reviewed by hyatt.
972
973         Clean up Gradient constructors, make sure all members are initialized.
974
975         * platform/graphics/Gradient.cpp:
976         (WebCore::Gradient::Gradient):
977
978 2008-08-02  Maxime Britto  <britto@apple.com>
979
980         Reviewed by Eric Seidel.
981
982         <rdar://problem/6118969>
983         https://bugs.webkit.org/show_bug.cgi?id=19971 
984         Modifiy the cursor interactively when on panning mode (middle click auto scroll)
985         When the panning is in progress the cursor is an arrow representing the direction of the current scroll
986
987         * page/EventHandler.cpp:
988         (WebCore::EventHandler::autoscrollTimerFired): Before each scroll we actualize the cursor to match the current direction
989         (WebCore::EventHandler::setPanScrollCursor): determines the direction of the upcoming scroll.
990         (WebCore::EventHandler::handleMouseMoveEvent):
991         * page/EventHandler.h: 
992         * platform/Cursor.h: Add propotypes for the new cursor functions
993         * platform/gtk/CursorGtk.cpp: to avoid build break
994         (WebCore::middlePanningCursor):
995         (WebCore::eastPanningCursor):
996         (WebCore::northPanningCursor):
997         (WebCore::northEastPanningCursor):
998         (WebCore::northWestPanningCursor):
999         (WebCore::southPanningCursor):
1000         (WebCore::southEastPanningCursor):
1001         (WebCore::southWestPanningCursor):
1002         (WebCore::westPanningCursor):
1003         * platform/mac/CursorMac.mm: to avoid build break
1004         (WebCore::middlePanningCursor):
1005         (WebCore::eastPanningCursor):
1006         (WebCore::northPanningCursor):
1007         (WebCore::northEastPanningCursor):
1008         (WebCore::northWestPanningCursor):
1009         (WebCore::southPanningCursor):
1010         (WebCore::southEastPanningCursor):
1011         (WebCore::southWestPanningCursor):
1012         (WebCore::westPanningCursor):
1013         * platform/qt/CursorQt.cpp: to avoid build break
1014         (WebCore::middlePanningCursor):
1015         (WebCore::eastPanningCursor):
1016         (WebCore::northPanningCursor):
1017         (WebCore::northEastPanningCursor):
1018         (WebCore::northWestPanningCursor):
1019         (WebCore::southPanningCursor):
1020         (WebCore::southEastPanningCursor):
1021         (WebCore::southWestPanningCursor):
1022         (WebCore::westPanningCursor):
1023         * platform/win/CursorWin.cpp: Add specific icons for the panning as windows resizing icons are both sides arrows
1024         (WebCore::middlePanningCursor):
1025         (WebCore::eastPanningCursor):
1026         (WebCore::northPanningCursor):
1027         (WebCore::northEastPanningCursor):
1028         (WebCore::northWestPanningCursor):
1029         (WebCore::southPanningCursor):
1030         (WebCore::southEastPanningCursor):
1031         (WebCore::southWestPanningCursor):
1032         (WebCore::westPanningCursor):
1033         * platform/wx/CursorWx.cpp: to avoid build break
1034         (WebCore::middlePanningCursor):
1035         (WebCore::eastPanningCursor):
1036         (WebCore::northPanningCursor):
1037         (WebCore::northEastPanningCursor):
1038         (WebCore::northWestPanningCursor):
1039         (WebCore::southPanningCursor):
1040         (WebCore::southEastPanningCursor):
1041         (WebCore::southWestPanningCursor):
1042         (WebCore::westPanningCursor):
1043
1044 2008-08-02  Kevin Ollivier  <kevino@theolliviers.com>
1045
1046         Move to using constants in accordance with discussions about wx renderer commit.
1047
1048         * platform/wx/RenderThemeWx.cpp:
1049         (WebCore::RenderThemeWx::minimumMenuListSize):
1050         (WebCore::RenderThemeWx::popupInternalPaddingLeft):
1051         (WebCore::RenderThemeWx::popupInternalPaddingRight):
1052         (WebCore::RenderThemeWx::popupInternalPaddingTop):
1053         (WebCore::RenderThemeWx::popupInternalPaddingBottom):
1054
1055 2008-08-02  Wouter Bolsterlee  <wbolster@svn.gnome.org>
1056
1057         Reviewed by Eric Seidel.
1058
1059         * plugins/gtk/gtk2xtbin.h:
1060
1061         https://bugs.webkit.org/show_bug.cgi?id=20034
1062         Fix malformed Vim modeline.
1063
1064 2008-08-01  Dan Bernstein  <mitz@apple.com>
1065
1066         Reviewed by Dave Hyatt.
1067
1068         - tweak a comment
1069
1070         * platform/graphics/cg/ImageCG.cpp:
1071         (WebCore::BitmapImage::draw):
1072
1073 2008-08-01  Jan Michael Alonzo  <jmalonzo@webkit.org>
1074
1075         * ChangeLog: Fix date of previous commit (r35520)
1076
1077 2008-08-01  Marco Barisione  <marco.barisione@collabora.co.uk>
1078
1079         Reviewed by Eric Seidel.
1080
1081         https://bugs.webkit.org/show_bug.cgi?id=19603
1082         [SOUP] segfault when closing a file using gio
1083
1084         Call client->didFinishLoading() only after releasing all the gio
1085         resources.
1086
1087         * platform/network/soup/ResourceHandleSoup.cpp:
1088         (WebCore::closeCallback):
1089         (WebCore::readCallback):
1090
1091 2008-08-01  Anders Carlsson  <andersca@apple.com>
1092
1093         Reviewed by Jon.
1094
1095         <rdar://problem/6120206>
1096         Crash when plug-in queries for NPPVpluginWantsAllNetworkStreams.
1097         
1098         Pass in a pointer to a void* to make sure that plug-ins don't overwrite the stack.
1099         
1100         * plugins/PluginStream.cpp:
1101         (WebCore::PluginStream::wantsAllStreams):
1102
1103 2008-08-01  Robin Dunn  <robin@alldunn.com>
1104
1105         Reviewed by Eric Seidel.
1106
1107         Native rendering implementations for form elements in the wx port.
1108         
1109         https://bugs.webkit.org/show_bug.cgi?id=19069
1110
1111         * platform/wx/RenderThemeWx.cpp:
1112         (WebCore::RenderThemeWx::adjustRepaintRect):
1113         (WebCore::RenderThemeWx::paintButton):
1114         (WebCore::RenderThemeWx::paintTextField):
1115         (WebCore::RenderThemeWx::minimumMenuListSize):
1116         (WebCore::RenderThemeWx::adjustMenuListStyle):
1117         (WebCore::RenderThemeWx::paintMenuList):
1118         (WebCore::RenderThemeWx::adjustMenuListButtonStyle):
1119         (WebCore::RenderThemeWx::paintMenuListButton):
1120         (WebCore::RenderThemeWx::popupInternalPaddingLeft):
1121         (WebCore::RenderThemeWx::popupInternalPaddingRight):
1122         (WebCore::RenderThemeWx::popupInternalPaddingTop):
1123         (WebCore::RenderThemeWx::popupInternalPaddingBottom):
1124
1125 2008-07-30  David Hyatt  <hyatt@apple.com>
1126
1127         Improvements to selection drawing.
1128
1129         Clip out floating and positioned objects when drawing selection so
1130         that there is no "double painting" of selection when the selection spans both the space behind the positioned/floating
1131         object and the positioned/floating object itself.  Improves most Web pages.
1132
1133         Do not paint left/right selection gaps if the object's edge is already outside the boundary (at a negative
1134         position).  Significantly improves the look of selections on digg.com, since it uses giant negative text-indent.
1135
1136         Reviewed by Dan
1137
1138         Covered by existing selection pixel tests.
1139
1140         * rendering/RenderBlock.cpp:
1141         (WebCore::RenderBlock::isSelectionRoot):
1142         (WebCore::RenderBlock::paintSelection):
1143         (WebCore::clipOutPositionedObjects):
1144         (WebCore::RenderBlock::fillSelectionGaps):
1145         (WebCore::RenderBlock::fillLeftSelectionGap):
1146         (WebCore::RenderBlock::fillRightSelectionGap):
1147
1148 2008-08-01  Timothy Hatcher  <timothy@apple.com>
1149
1150         Adds the ability to disable individual properties of a CSS rule.
1151         When hovering over a rule, checkboxes show up to the right of all
1152         properties and toggling a checkbox disables/enables the property.
1153         Behind the scenes the property is removed from the rule when disabled,
1154         but still remains in the list and in the computed style. When disabled
1155         the property has a line through it, and is faded in computed style.
1156
1157         <rdar://problem/5712828> Support disabling individual CSS properties
1158         https://bugs.webkit.org/show_bug.cgi?id=14377
1159
1160         Reviewed by Adam Roben.
1161
1162         * page/inspector/StylesSidebarPane.js:
1163         (WebInspector.StylesSidebarPane.prototype.update): Include the
1164         inline style when it also has disabled properties. Call
1165         deleteDisabledProperty for any property that is in the style,
1166         since it might have been added back by the page. Remember all
1167         disabled properties so they show up in computed style.
1168         (deleteDisabledProperty): Helper function to delete all the
1169         right properties that track disabled properties.
1170         (WebInspector.StylePropertiesSection): Add the computed-style
1171         class when  the section is Computed Style.
1172         (WebInspector.StylePropertiesSection.prototype.onpopulate):
1173         Include disabled properties.
1174         (WebInspector.StylePropertyTreeElement): Added a disabled argument.
1175         (WebInspector.StylePropertyTreeElement.prototype.get/set disabled):
1176         Sets the _disabled property and calls updateState.
1177         (WebInspector.StylePropertyTreeElement.prototype.get priority):
1178         Return the priority of enabled or disabled properties.
1179         (WebInspector.StylePropertyTreeElement.prototype.get value):
1180         Return the value of enabled or disabled properties.
1181         (WebInspector.StylePropertyTreeElement.prototype.updateTitle): Use the
1182         priority and value getter. Append the checkbox for root elements of
1183         an editable section.
1184         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
1185         Add or remove properties from the rule and remember removed ones
1186         by adding three objects to the style: __disabledProperties,
1187         __disabledPropertyValues and __disabledPropertyPriorities.
1188         The __disabledProperties object will include all longhand
1189         properties of a shorthand for use by Computed Style.
1190         (WebInspector.StylePropertyTreeElement.prototype.updateState):
1191         Use the value getter. Update the disabled state.
1192         * page/inspector/inspector.css:
1193         * page/inspector/utilities.js:
1194         (Object.hasProperties): Added. Helper to test if an object
1195         has any properties.
1196
1197 2008-07-31  Anders Carlsson  <andersca@apple.com>
1198
1199         Reviewed by Darin.
1200
1201         <rdar://problem/5949410>
1202         Add the ability to transfer a given application cache to a new database.
1203         
1204         * WebCore.base.exp:
1205         Export ApplicationCacheStorage::storeCopyOfCache.
1206         
1207         * loader/appcache/ApplicationCache.cpp:
1208         (WebCore::ApplicationCache::~ApplicationCache):
1209         Don't call cacheDestroyed for our special "copy" groups.
1210         
1211         * loader/appcache/ApplicationCacheGroup.cpp:
1212         (WebCore::ApplicationCacheGroup::ApplicationCacheGroup):
1213         (WebCore::ApplicationCacheGroup::~ApplicationCacheGroup):
1214         Add a "copy" flag to the ApplicationCacheGroup constructor. A "copied" group is special
1215         and can only be stored to disk.
1216         
1217         * loader/appcache/ApplicationCacheGroup.h:
1218         (WebCore::ApplicationCacheGroup::isCopy):
1219         New getter.
1220         
1221         * loader/appcache/ApplicationCacheStorage.cpp:
1222         (WebCore::ApplicationCacheStorage::store):
1223         Make sure to set the storageID when storing an application resource.
1224         
1225         (WebCore::ApplicationCacheStorage::storeNewestCache):
1226         Change this to return true/false depending on whether storing the cache succeeded or not.
1227         
1228         (WebCore::ApplicationCacheStorage::storeCopyOfCache):
1229         New method which stores a given cache in a new storage (database file).
1230         
1231         * loader/appcache/ApplicationCacheStorage.h:
1232         Add new methods.
1233
1234 2008-07-31  John Sullivan  <sullivan@apple.com>
1235
1236         WebCore part of <rdar://problem/6116650> Text-only zoom setting should be stored in WebKit prefs
1237
1238         Reviewed by Hyatt
1239
1240         * WebCore.base.exp:
1241         export symbol for WebCoreSettings::setZoomsTextOnly()
1242         
1243         * page/Frame.cpp:
1244         (WebCore::Frame::isZoomFactorTextOnly):
1245         use value from Settings instead of data member
1246         (WebCore::Frame::shouldApplyTextZoom):
1247         call isZoomFactorTextOnly() to get value instead of accessing now-removed data member
1248         (WebCore::Frame::shouldApplyPageZoom):
1249         ditto
1250         (WebCore::Frame::setZoomFactor):
1251         set value into Settings rather than into data member
1252         (WebCore::FramePrivate::FramePrivate):
1253         don't set initial value of now-removed data member; this is managed by Settings now
1254         
1255         * page/FramePrivate.h:
1256         removed m_zoomFactorIsTextOnly
1257         
1258         * page/Settings.cpp:
1259         (WebCore::Settings::setZoomsTextOnly):
1260         new function, sets values and reapplies styles in all frames
1261         
1262         * page/Settings.h:
1263         (WebCore::Settings::zoomsTextOnly):
1264         new function, returns value of new data member
1265
1266 2008-07-31  Simon Fraser  <simon.fraser@apple.com>
1267
1268         Reviewed by Dave Hyatt
1269
1270         Null-check parent clip rects, because they may not have been
1271         set up yet.
1272         https://bugs.webkit.org/show_bug.cgi?id=20243
1273
1274         * rendering/RenderLayer.cpp:
1275         (WebCore::RenderLayer::calculateClipRects):
1276
1277 2008-07-31  Dan Bernstein  <mitz@apple.com>
1278
1279         Reviewed by Dave Hyatt.
1280
1281         - fix <rdar://problem/6058958> REGRESSION (r34210): Seams are visible in border-image
1282
1283         * platform/graphics/cg/ImageCG.cpp:
1284         (WebCore::BitmapImage::draw): To work around a Core Graphics
1285         interpolation issue, reverted to using a temporary subimage for drawing
1286         a portion of the image with scaling and high-quality interpolation in
1287         effect.
1288
1289 2008-07-31  chris fleizach  <cfleizach@apple.com>
1290
1291         Reviewed by Alice Liu
1292
1293         <rdar://problem/3563671> VO doesn't highlight characters when interacting when static text in web areas
1294
1295         Need to expose the AXBoundsForRange parameter which allows an AX client to get the visible bounds
1296         for individual characters on a webpage.
1297
1298         Test: accessibility/bounds-for-range.html
1299
1300         * ChangeLog:
1301         * page/AccessibilityRenderObject.cpp:
1302         (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
1303         * page/mac/AccessibilityObjectWrapper.mm:
1304         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
1305         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1306
1307 2008-07-31  Kevin Ollivier <kevino@theolliviers.com>
1308
1309         Second attempt at Windows/wx build fix. Instead of avoiding inclusion of windows.h,
1310         use defines, etc. to avoid conflicts in each affected file.
1311
1312         * config.h:
1313         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1314         * platform/wx/PopupMenuWx.cpp:
1315
1316 2008-07-31  Erik Bunce  <elbunce@thehive.com>
1317
1318         Reviewed by Simon.
1319
1320         https://bugs.webkit.org/show_bug.cgi?id=20224
1321
1322         Include the Writing Direction sub-menu in the context menu of all
1323         platforms but GTK. This fixes a regression introduced by revision
1324         34426.
1325
1326         * platform/ContextMenu.cpp:
1327         (WebCore::ContextMenu::populate):
1328
1329 2008-07-31  Brady Eidson  <beidson@apple.com>
1330
1331         Reviewed by Adam and Hyatt
1332
1333         Fix for <rdar://problem/6099748>
1334
1335         Adds a "don't enforce CSS mime type in strict mode" quirk for iWeb 2
1336
1337         * WebCore.base.exp:
1338
1339         * html/HTMLLinkElement.cpp:
1340         (WebCore::HTMLLinkElement::setCSSStyleSheet):
1341
1342         * loader/CachedCSSStyleSheet.cpp:
1343         (WebCore::CachedCSSStyleSheet::canUseSheet):
1344         * loader/CachedCSSStyleSheet.h:
1345         (WebCore::CachedCSSStyleSheet::sheetText): 
1346         * page/Settings.cpp:
1347
1348         (WebCore::Settings::Settings):
1349         (WebCore::Settings::setEnforceCSSMIMETypeInStrictMode):
1350         * page/Settings.h:
1351         (WebCore::Settings::enforceCSSMIMETypeInStrictMode):
1352
1353 2008-07-31  Erik Bunce  <elbunce@thehive.com>
1354
1355         Reviewed by Simon.
1356
1357         Added the ability to get SQLite headers and source from the location 
1358         specified via the SQLITE3SRCDIR environtment variable.
1359
1360         * WebCore.pro:
1361
1362 2008-07-31  Alexey Proskuryakov  <ap@webkit.org>
1363
1364         Rubber-stamped by Maciej.
1365
1366         Eliminate JSLock (it was already disabled, removing the stub implementaion and all
1367         call sites now).
1368
1369         * ForwardingHeaders/kjs/JSLock.h: Removed.
1370         * WebCore.vcproj/WebCore.vcproj:
1371         * bindings/js/GCController.cpp:
1372         (WebCore::collect):
1373         (WebCore::GCController::gcTimerFired):
1374         (WebCore::GCController::garbageCollectNow):
1375         * bindings/js/JSCustomSQLStatementCallback.cpp:
1376         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1377         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1378         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1379         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1380         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1381         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1382         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1383         * bindings/js/JSCustomVoidCallback.cpp:
1384         (WebCore::JSCustomVoidCallback::handleEvent):
1385         * bindings/js/JSCustomXPathNSResolver.cpp:
1386         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1387         * bindings/js/JSDOMWindowBase.cpp:
1388         (WebCore::DOMWindowTimer::~DOMWindowTimer):
1389         (WebCore::JSDOMWindowBase::clear):
1390         (WebCore::JSDOMWindowBase::timerFired):
1391         * bindings/js/JSEventCustom.cpp:
1392         (WebCore::toJS):
1393         * bindings/js/JSEventListener.cpp:
1394         (WebCore::JSAbstractEventListener::handleEvent):
1395         (WebCore::JSLazyEventListener::parseCode):
1396         * bindings/js/JSNSResolver.cpp:
1397         (WebCore::JSNSResolver::lookupNamespaceURI):
1398         * bindings/js/JSNodeFilterCondition.cpp:
1399         (WebCore::JSNodeFilterCondition::acceptNode):
1400         * bindings/js/ScheduledAction.cpp:
1401         (WebCore::ScheduledAction::execute):
1402         * bindings/js/ScriptController.cpp:
1403         (WebCore::ScriptController::evaluate):
1404         (WebCore::ScriptController::clear):
1405         (WebCore::ScriptController::createHTMLEventHandler):
1406         (WebCore::ScriptController::createSVGEventHandler):
1407         (WebCore::ScriptController::initScript):
1408         (WebCore::ScriptController::updateDocument):
1409         * bindings/objc/WebScriptObject.mm:
1410         (_didExecute):
1411         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1412         (-[WebScriptObject evaluateWebScript:]):
1413         (-[WebScriptObject setValue:forKey:]):
1414         (-[WebScriptObject valueForKey:]):
1415         (-[WebScriptObject removeWebScriptKey:]):
1416         (-[WebScriptObject stringRepresentation]):
1417         (-[WebScriptObject webScriptValueAtIndex:]):
1418         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
1419         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
1420         * bridge/NP_jsobject.cpp:
1421         (_NPN_InvokeDefault):
1422         (_NPN_Invoke):
1423         (_NPN_Evaluate):
1424         (_NPN_GetProperty):
1425         (_NPN_SetProperty):
1426         (_NPN_RemoveProperty):
1427         (_NPN_HasProperty):
1428         (_NPN_HasMethod):
1429         (_NPN_Enumerate):
1430         * bridge/c/c_class.cpp:
1431         (KJS::Bindings::CClass::~CClass):
1432         (KJS::Bindings::CClass::methodsNamed):
1433         (KJS::Bindings::CClass::fieldNamed):
1434         * bridge/c/c_instance.cpp:
1435         (KJS::Bindings::CInstance::invokeMethod):
1436         (KJS::Bindings::CInstance::invokeDefaultMethod):
1437         (KJS::Bindings::CInstance::getPropertyNames):
1438         * bridge/c/c_runtime.cpp:
1439         (KJS::Bindings::CField::valueFromInstance):
1440         (KJS::Bindings::CField::setValueToInstance):
1441         * bridge/c/c_utility.cpp:
1442         (KJS::Bindings::convertValueToNPVariant):
1443         (KJS::Bindings::convertNPVariantToValue):
1444         * bridge/jni/jni_class.cpp:
1445         (JavaClass::JavaClass):
1446         (JavaClass::~JavaClass):
1447         * bridge/jni/jni_instance.cpp:
1448         (JavaInstance::stringValue):
1449         * bridge/jni/jni_jsobject.mm:
1450         (JavaJSObject::call):
1451         (JavaJSObject::eval):
1452         (JavaJSObject::getMember):
1453         (JavaJSObject::setMember):
1454         (JavaJSObject::removeMember):
1455         (JavaJSObject::getSlot):
1456         (JavaJSObject::setSlot):
1457         (JavaJSObject::toString):
1458         (JavaJSObject::convertValueToJObject):
1459         (JavaJSObject::convertJObjectToValue):
1460         * bridge/jni/jni_objc.mm:
1461         (KJS::Bindings::dispatchJNICall):
1462         * bridge/jni/jni_runtime.cpp:
1463         (appendClassName):
1464         (JavaMethod::signature):
1465         * bridge/jni/jni_runtime.h:
1466         (KJS::Bindings::JavaString::JavaString):
1467         (KJS::Bindings::JavaString::_commonInit):
1468         (KJS::Bindings::JavaString::~JavaString):
1469         (KJS::Bindings::JavaString::UTF8String):
1470         * bridge/jni/jni_utility.cpp:
1471         (KJS::Bindings::convertValueToJValue):
1472         * bridge/npruntime.cpp:
1473         (_NPN_GetStringIdentifier):
1474         * bridge/objc/objc_instance.mm:
1475         (ObjcInstance::moveGlobalExceptionToExecState):
1476         (ObjcInstance::invokeMethod):
1477         (ObjcInstance::invokeDefaultMethod):
1478         (ObjcInstance::setValueOfUndefinedField):
1479         (ObjcInstance::getValueOfUndefinedField):
1480         * bridge/objc/objc_runtime.mm:
1481         (ObjcField::valueFromInstance):
1482         (ObjcField::setValueToInstance):
1483         * bridge/objc/objc_utility.mm:
1484         (KJS::Bindings::convertValueToObjcValue):
1485         (KJS::Bindings::convertNSStringToString):
1486         (KJS::Bindings::convertObjcValueToValue):
1487         * bridge/qt/qt_instance.cpp:
1488         (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
1489         (KJS::Bindings::QtInstance::~QtInstance):
1490         (KJS::Bindings::QtInstance::getQtInstance):
1491         (KJS::Bindings::QtInstance::getRuntimeObject):
1492         * bridge/qt/qt_runtime.cpp:
1493         (KJS::Bindings::convertValueToQVariant):
1494         (KJS::Bindings::convertQVariantToValue):
1495         (KJS::Bindings::QtRuntimeMetaMethod::call):
1496         (KJS::Bindings::QtRuntimeConnectionMethod::call):
1497         (KJS::Bindings::QtConnectionObject::QtConnectionObject):
1498         (KJS::Bindings::QtConnectionObject::execute):
1499         * bridge/runtime.cpp:
1500         (KJS::Bindings::Instance::createRuntimeObject):
1501         * bridge/testbindings.cpp:
1502         (main):
1503         * bridge/testbindings.mm:
1504         (main):
1505         * bridge/testqtbindings.cpp:
1506         (main):
1507         * dom/Document.cpp:
1508         (WebCore::Document::~Document):
1509         * dom/Node.cpp:
1510         (WebCore::Node::setDocument):
1511         * history/CachedPage.cpp:
1512         (WebCore::CachedPage::CachedPage):
1513         (WebCore::CachedPage::restore):
1514         (WebCore::CachedPage::clear):
1515         * html/HTMLPlugInElement.cpp:
1516         (WebCore::HTMLPlugInElement::createNPObject):
1517         * loader/FrameLoader.cpp:
1518         (WebCore::getString):
1519         * page/Frame.cpp:
1520         (WebCore::Frame::bindingRootObject):
1521         (WebCore::Frame::windowScriptNPObject):
1522         (WebCore::Frame::clearScriptObjects):
1523         * page/InspectorController.cpp:
1524         (WebCore::jsStringRef):
1525         (WebCore::ConsoleMessage::ConsoleMessage):
1526         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
1527         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
1528         (WebCore::getResourceDocumentNode):
1529         (WebCore::search):
1530         (WebCore::inspectedWindow):
1531         (WebCore::wrapCallback):
1532         (WebCore::currentCallFrame):
1533         (WebCore::profiles):
1534         (WebCore::InspectorController::focusNode):
1535         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
1536         (WebCore::InspectorController::addDatabaseScriptResource):
1537         (WebCore::InspectorController::addScriptProfile):
1538         * page/JavaScriptCallFrame.cpp:
1539         (WebCore::JavaScriptCallFrame::evaluate):
1540         * page/JavaScriptProfileNode.cpp:
1541         (WebCore::getTotalTime):
1542         (WebCore::getSelfTime):
1543         (WebCore::getTotalPercent):
1544         (WebCore::getSelfPercent):
1545         (WebCore::getNumberOfCalls):
1546         (WebCore::getChildren):
1547         (WebCore::getVisible):
1548         * page/Page.cpp:
1549         * page/mac/FrameMac.mm:
1550         (WebCore::Frame::windowScriptObject):
1551         * page/qt/FrameQt.cpp:
1552         * plugins/PluginView.cpp:
1553         (WebCore::PluginView::start):
1554         (WebCore::getString):
1555         (WebCore::PluginView::performRequest):
1556         (WebCore::PluginView::bindingInstance):
1557         * plugins/gtk/PluginViewGtk.cpp:
1558         (WebCore::PluginView::paint):
1559         (WebCore::PluginView::handleKeyboardEvent):
1560         (WebCore::PluginView::handleMouseEvent):
1561         (WebCore::PluginView::setNPWindowRect):
1562         (WebCore::PluginView::stop):
1563         (WebCore::PluginView::init):
1564         * plugins/qt/PluginViewQt.cpp:
1565         (WebCore::PluginView::setNPWindowRect):
1566         (WebCore::PluginView::stop):
1567         (WebCore::PluginView::init):
1568         * plugins/win/PluginViewWin.cpp:
1569         (WebCore::PluginView::dispatchNPEvent):
1570         (WebCore::PluginView::handleKeyboardEvent):
1571         (WebCore::PluginView::handleMouseEvent):
1572         (WebCore::PluginView::setNPWindowRect):
1573         (WebCore::PluginView::stop):
1574         * xml/XMLHttpRequest.cpp:
1575         (WebCore::XMLHttpRequest::clearResponse):
1576         (WebCore::XMLHttpRequest::didFinishLoading):
1577         (WebCore::XMLHttpRequest::didReceiveData):
1578
1579 2008-07-30  Timothy Hatcher  <timothy@apple.com>
1580
1581         Fix various minor bugs with style editing in the Inspector.
1582
1583         - Restores the scroll position to 0,0 when finished editing a
1584         string that was longer than the editing input area.
1585
1586         - Adjusts the margin of the list item to ensure the text does
1587         not shift when entering and exiting editing mode.
1588
1589         - Reliably remembers if a shorthand has children when the
1590         children haven't been populated yet.
1591
1592         - Reliably remembers if a shorthand was expanded, and expands
1593         if needed after editing finishes.
1594
1595         - Hides color swatches when editing.
1596
1597         https://bugs.webkit.org/show_bug.cgi?id=20238
1598
1599         Reviewed by Adam Roben.
1600
1601         * page/inspector/StylesSidebarPane.js:
1602         (WebInspector.StylePropertyTreeElement.prototype.startEditing):
1603         Store the expanded state and children state in wasExpanded and
1604         reallyHasChildren properties.
1605         (WebInspector.StylePropertyTreeElement.prototype.editingEnded):
1606         Removed the wasExpanded argument and use the reallyHasChildren and
1607         wasExpanded properties to restore state. Deletes the state properties.
1608         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
1609         Removed the wasExpanded argument.
1610         (WebInspector.StylePropertyTreeElement.prototype.editingCommitted):
1611         Removed the wasExpanded argument.
1612         * page/inspector/inspector.css: Tweak the margin and hides the color
1613         swatches. ALso removes a rule that was not needed.
1614         * page/inspector/inspector.js:
1615         (WebInspector.startEditing): Restore the scrollLeft and scrollTop
1616         to zero when editing finishes.
1617
1618 2008-07-30  Alice Liu  <alice.liu@apple.com>
1619
1620         Implement userIdleTime() for Windows, and place a band-aid over other
1621         platform implementations of userIdleTime().  This will fix the issue
1622         of indefinitely postposing releasing pages from the PageCache
1623         on non-Mac platforms, causing us to hang onto just about everything 
1624         else about a web page.
1625         
1626         Reviewed by Sam Weinig.
1627
1628         * platform/gtk/TemporaryLinkStubs.cpp:
1629         * platform/wx/TemporaryLinkStubs.cpp:
1630         * platform/qt/TemporaryLinkStubs.cpp:
1631         (WebCore::userIdleTime): set to FLT_MAX
1632
1633         * platform/win/SystemTimeWin.cpp:
1634         (WebCore::userIdleTime): implemented
1635
1636 2008-07-30  Beth Dakin  <bdakin@apple.com>
1637
1638         Reviewed by Anders Carlsson.
1639
1640         Fixes <rdar://problem/6041390>
1641
1642         Adds the ability to have a frame that is "disconnected" from the 
1643         main frame from the perspective of top and parent in 
1644         Javascript.
1645
1646         * WebCore.base.exp:
1647         * page/DOMWindow.cpp:
1648         (WebCore::DOMWindow::parent):
1649         (WebCore::DOMWindow::top):
1650         * page/Frame.cpp:
1651         (WebCore::Frame::isDisconnectedFrame):
1652         (WebCore::Frame::setIsDisconnectedFrame):
1653         (WebCore::FramePrivate::FramePrivate):
1654         * page/Frame.h:
1655         * page/FramePrivate.h:
1656         * page/FrameTree.cpp:
1657         (WebCore::FrameTree::parent):
1658         (WebCore::FrameTree::top):
1659         * page/FrameTree.h:
1660
1661 2008-07-25  Eric Seidel  <eric@webkit.org>
1662
1663         Reviewed by Justin.
1664
1665         Crash Safari when dragging images into Google presentations
1666         https://bugs.webkit.org/show_bug.cgi?id=20161
1667
1668         Test: manual-tests/remove-on-drop-crash.html
1669
1670         * editing/ReplaceSelectionCommand.cpp:
1671         (WebCore::ReplaceSelectionCommand::doApply):
1672         * manual-tests/remove-on-drop-crash.html: Added.
1673
1674 2008-07-30  Christian Dywan  <christian@twotoasts.de>
1675
1676         Reviewed by Mark.
1677
1678         Build fix for Cairo < 1.6
1679
1680         * platform/graphics/cairo/PathCairo.cpp:
1681         (WebCore::Path::boundingRect): use cairo_stroke_extends for < 1.6
1682
1683 2008-07-29  Kevin McCullough  <kmccullough@apple.com>
1684
1685         Reviewed by Geoff.
1686
1687         <rdar://problem/6110314> Crash in profiler dereferencing null frame or
1688         page (20214)
1689         - Null check.
1690
1691         * page/Console.cpp:
1692         (WebCore::Console::finishedProfiling):
1693
1694 2008-07-30  David Hyatt  <hyatt@apple.com>
1695
1696         https://bugs.webkit.org/show_bug.cgi?id=18070
1697         
1698         Full page zoom needs to work properly with JS mouse events.  Make sure to adjust the coordinates of the
1699         JS mouse event to account for zoom.
1700
1701         Reviewed by olliej
1702
1703         * dom/EventTargetNode.cpp:
1704         (WebCore::EventTargetNode::dispatchMouseEvent):
1705
1706 2008-07-29  Sam Weinig  <sam@webkit.org>
1707
1708         Reviewed by Darin Adler.
1709
1710         Update Cross-site XMLHttpRequests using Access control to
1711         the latest spec. (Editor's Draft 8 July 2008)
1712
1713         - This leaves us at about the same place as we previously were
1714           still needing preflight caching and better redirect support.
1715
1716         * GNUmakefile.am:
1717         * WebCore.pro:
1718         * WebCore.vcproj/WebCore.vcproj:
1719         * WebCore.xcodeproj/project.pbxproj:
1720         * WebCoreSources.bkl:
1721         * xml/AccessControlList.cpp: Removed.
1722         * xml/AccessControlList.h: Removed.
1723         * xml/AccessItem.cpp: Removed.
1724         * xml/AccessItem.h: Removed.
1725         * xml/AccessItemRule.cpp: Removed.
1726         * xml/AccessItemRule.h: Removed.
1727         * xml/XMLHttpRequest.cpp:
1728         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
1729         (WebCore::XMLHttpRequest::XMLHttpRequest):
1730         (WebCore::XMLHttpRequest::isSimpleCrossSiteAccessRequest):
1731         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequest):
1732         (WebCore::XMLHttpRequest::makeSimpleCrossSiteAccessRequest):
1733         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1734         (WebCore::XMLHttpRequest::handleAsynchronousPreflightResult):
1735         (WebCore::XMLHttpRequest::abort):
1736         (WebCore::XMLHttpRequest::clearRequest):
1737         (WebCore::XMLHttpRequest::didFinishLoading):
1738         (WebCore::XMLHttpRequest::didFinishLoadingPreflight):
1739         (WebCore::XMLHttpRequest::accessControlCheck):
1740         (WebCore::XMLHttpRequest::didReceiveResponse):
1741         (WebCore::parseAccessControlAllowList):
1742         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
1743         * xml/XMLHttpRequest.h:
1744
1745 2008-07-29  Kevin Calhoun  <kcalhoun@apple.com>
1746
1747         Reviewed by Adele.
1748
1749         Fix for <rdar://problem/6060647> Adopt QTMovieOpenForPlaybackAttribute flag
1750
1751         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::createQTMovie):
1752
1753 2008-07-29  Kevin Calhoun  <kcalhoun@apple.com>
1754
1755         Reviewed by Adele.
1756
1757         Fix for <rdar://problem/6031021> Make standalone video render more like the quicktime plugin to improve performance
1758
1759         For standalone video, use QTMovieView to draw.
1760
1761         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
1762         (WebCore::MediaPlayerPrivate::createQTMovieView): Moved nil checks to setUpVideoRendering.
1763          Associate the QTMovieView with the WebCoreMovieObserver.
1764          If we're in a media document, allow QTMovieView to render in its default mode; otherwise tell it to draw synchronously. 
1765         (WebCore::MediaPlayerPrivate::detachQTMovieView): Set the WebCoreMovieObserver's view to nil.
1766         (WebCore::MediaPlayerPrivate::createQTVideoRenderer): Nil check is now in setUpVideoRendering, which is the only caller of this.
1767         (WebCore::MediaPlayerPrivate::setUpVideoRendering): Added nil checks.  Call createQTMovieView for media documents.
1768         (WebCore::MediaPlayerPrivate::tearDownVideoRendering): Call detachQTMovieView if a QTMovieView exists.
1769         (WebCore::MediaPlayerPrivate::setRect): Call setFrame on the QTMovieView if necessary.
1770         (-[WebCoreMovieObserver menuForEventDelegate:]): Added. Returns the frame view's menu.
1771         (-[WebCoreMovieObserver setView:]): Added.
1772
1773 2008-07-29  Adele Peterson  <adele@apple.com>
1774
1775         Reviewed by Dan Bernstein.
1776
1777         Fix for <rdar://problem/6073372> Move built-in controls below <video> element for standalone media documents
1778
1779         * css/CSSSelector.cpp: (WebCore::CSSSelector::extractPseudoType): Added -webkit-full-page-media pseudo class.
1780         * css/CSSSelector.h: (WebCore::CSSSelector::): Added PseudoFullPageMedia.
1781         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added case to
1782         apply PseudoFullPageMedia for elements in a full page media document.
1783
1784         * css/html4.css: Added rule to shift control panel down for video in standalone media documents.
1785
1786         * rendering/RenderMedia.cpp:
1787         (WebCore::RenderMedia::lowestPosition): Added implementation that takes the controls into account.
1788         This makes sure that scrollbars on the page will account for controls not directly contained in the RenderMedia.
1789         (WebCore::RenderMedia::rightmostPosition): ditto.
1790         (WebCore::RenderMedia::leftmostPosition): ditto.
1791         * rendering/RenderMedia.h:
1792
1793 2008-07-29  Sam Weinig  <sam@webkit.org>
1794
1795         Reviewed by Anders Carlsson.
1796
1797         <rdar://problem/6084585> Investigate upload progress events.
1798
1799         - Add progress notifications for data being sent via a ResourceHandle.
1800         - Add XMLHttpRequestUpload support.
1801
1802         Upload notifications only work on the Mac right now as the CFNetwork API
1803         on windows does not expose enough information.
1804
1805         Tests: http/tests/xmlhttprequest/upload-onload-event.html
1806                http/tests/xmlhttprequest/upload-onloadstart-event.html
1807                http/tests/xmlhttprequest/upload-onprogress-event.html
1808                http/tests/xmlhttprequest/upload-progress-events.html
1809
1810         * DerivedSources.make:
1811         * GNUmakefile.am:
1812         * WebCore.pro:
1813         * WebCore.vcproj/WebCore.vcproj:
1814         * WebCore.xcodeproj/project.pbxproj:
1815         * WebCoreSources.bkl:
1816         * bindings/js/JSEventTargetBase.cpp:
1817         (WebCore::toJS):
1818         * bindings/js/JSXMLHttpRequestCustom.cpp:
1819         (WebCore::JSXMLHttpRequest::mark):
1820         * bindings/js/JSXMLHttpRequestUploadCustom.cpp: Added.
1821         (WebCore::JSXMLHttpRequestUpload::mark):
1822         (WebCore::JSXMLHttpRequestUpload::onabort):
1823         (WebCore::JSXMLHttpRequestUpload::setOnabort):
1824         (WebCore::JSXMLHttpRequestUpload::onerror):
1825         (WebCore::JSXMLHttpRequestUpload::setOnerror):
1826         (WebCore::JSXMLHttpRequestUpload::onload):
1827         (WebCore::JSXMLHttpRequestUpload::setOnload):
1828         (WebCore::JSXMLHttpRequestUpload::onloadstart):
1829         (WebCore::JSXMLHttpRequestUpload::setOnloadstart):
1830         (WebCore::JSXMLHttpRequestUpload::onprogress):
1831         (WebCore::JSXMLHttpRequestUpload::setOnprogress):
1832         (WebCore::JSXMLHttpRequestUpload::addEventListener):
1833         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
1834         (WebCore::JSXMLHttpRequestUpload::dispatchEvent):
1835         * dom/EventTarget.cpp:
1836         (WebCore::EventTarget::toXMLHttpRequestUpload):
1837         * dom/EventTarget.h:
1838         * loader/ResourceLoader.cpp:
1839         (WebCore::ResourceLoader::didSendData):
1840         * loader/ResourceLoader.h:
1841         * loader/SubresourceLoader.cpp:
1842         (WebCore::SubresourceLoader::didSendData):
1843         * loader/SubresourceLoader.h:
1844         * loader/SubresourceLoaderClient.h:
1845         (WebCore::SubresourceLoaderClient::didSendData):
1846         * page/DOMWindow.idl:
1847         * platform/network/FormData.cpp:
1848         (WebCore::FormData::FormData):
1849         * platform/network/FormData.h:
1850         (WebCore::FormData::alwaysStream):
1851         (WebCore::FormData::setAlwaysStream):
1852         * platform/network/ResourceHandleClient.h:
1853         (WebCore::ResourceHandleClient::didSendData):
1854         * platform/network/mac/FormDataStreamMac.h:
1855         * platform/network/mac/FormDataStreamMac.mm:
1856         (WebCore::getStreamFormDataMap):
1857         (WebCore::getStreamResourceHandleMap):
1858         (WebCore::associateStreamWithResourceHandle):
1859         (WebCore::disassociateStreamWithResourceHandle):
1860         (WebCore::DidSendDataCallbackData::DidSendDataCallbackData):
1861         (WebCore::performDidSendDataCallback):
1862         (WebCore::formCreate):
1863         (WebCore::formFinalize):
1864         (WebCore::formRead):
1865         (WebCore::setHTTPBody):
1866         (WebCore::httpBodyFromStream):
1867         * platform/network/mac/ResourceHandleMac.mm:
1868         (WebCore::ResourceHandle::start):
1869         (WebCore::ResourceHandle::cancel):
1870         (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
1871         (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
1872         (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
1873         * xml/XMLHttpRequest.cpp:
1874         (WebCore::XMLHttpRequest::XMLHttpRequest):
1875         (WebCore::XMLHttpRequest::~XMLHttpRequest):
1876         (WebCore::XMLHttpRequest::upload):
1877         (WebCore::XMLHttpRequest::open):
1878         (WebCore::XMLHttpRequest::send):
1879         (WebCore::XMLHttpRequest::createRequest):
1880         (WebCore::XMLHttpRequest::abort):
1881         (WebCore::XMLHttpRequest::networkError):
1882         (WebCore::XMLHttpRequest::abortError):
1883         (WebCore::XMLHttpRequest::didSendData):
1884         * xml/XMLHttpRequest.h:
1885         (WebCore::XMLHttpRequest::optionalUpload):
1886         * xml/XMLHttpRequest.idl:
1887         * xml/XMLHttpRequestUpload.cpp: Added.
1888         (WebCore::XMLHttpRequestUpload::XMLHttpRequestUpload):
1889         (WebCore::XMLHttpRequestUpload::addEventListener):
1890         (WebCore::XMLHttpRequestUpload::removeEventListener):
1891         (WebCore::XMLHttpRequestUpload::dispatchEvent):
1892         (WebCore::XMLHttpRequestUpload::dispatchXMLHttpRequestProgressEvent):
1893         (WebCore::XMLHttpRequestUpload::dispatchAbortEvent):
1894         (WebCore::XMLHttpRequestUpload::dispatchErrorEvent):
1895         (WebCore::XMLHttpRequestUpload::dispatchLoadEvent):
1896         (WebCore::XMLHttpRequestUpload::dispatchLoadStartEvent):
1897         (WebCore::XMLHttpRequestUpload::dispatchProgressEvent):
1898         * xml/XMLHttpRequestUpload.h: Added.
1899         (WebCore::XMLHttpRequestUpload::create):
1900         (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
1901         (WebCore::XMLHttpRequestUpload::associatedXMLHttpRequest):
1902         (WebCore::XMLHttpRequestUpload::disconnectXMLHttpRequest):
1903         (WebCore::XMLHttpRequestUpload::setOnAbortListener):
1904         (WebCore::XMLHttpRequestUpload::onAbortListener):
1905         (WebCore::XMLHttpRequestUpload::setOnErrorListener):
1906         (WebCore::XMLHttpRequestUpload::onErrorListener):
1907         (WebCore::XMLHttpRequestUpload::setOnLoadListener):
1908         (WebCore::XMLHttpRequestUpload::onLoadListener):
1909         (WebCore::XMLHttpRequestUpload::setOnLoadStartListener):
1910         (WebCore::XMLHttpRequestUpload::onLoadStartListener):
1911         (WebCore::XMLHttpRequestUpload::setOnProgressListener):
1912         (WebCore::XMLHttpRequestUpload::onProgressListener):
1913         (WebCore::XMLHttpRequestUpload::eventListeners):
1914         (WebCore::XMLHttpRequestUpload::refEventTarget):
1915         (WebCore::XMLHttpRequestUpload::derefEventTarget):
1916         * xml/XMLHttpRequestUpload.idl: Added.
1917
1918 2008-07-29  Maxime Britto  <britto@apple.com>
1919
1920         Reviewed by Darin.
1921
1922         <rdar://problem/6095023> "When pan-scrolling, mouse click on hyperlink stop the pan-Scroll but follow the link after that."
1923         With this patch we now stop the pan scroll and swallow the event to prevent any following action.
1924
1925         * page/EventHandler.cpp:
1926         (WebCore::EventHandler::handleMousePressEvent): If we were in pan scrolling mode we no longer just stop the pan scroll and continue with the function, we now stop and return true to attest that we swallowed the event.
1927
1928 2008-07-29  Maxime Britto  <britto@apple.com>
1929
1930         Reviewed by adele.
1931
1932         Test: fast/events/autoscroll-in-textfield.html
1933
1934         * rendering/RenderObject.cpp:
1935         (WebCore::RenderObject::canBeProgramaticallyScrolled): reverted a bad change introduced in r35244
1936         nb:the test case introduced in r35244 is still working.
1937
1938 2008-07-29  Maxime Britto  <britto@apple.com>
1939
1940         Reviewed by adele.
1941         This test verifies that the autoscroll works within textfields.
1942
1943         * fast/events/autoscroll-in-textfield-expected.txt: Added.
1944         * fast/events/autoscroll-in-textfield.html: Added.
1945
1946 2008-07-29  Adele Peterson  <adele@apple.com>
1947
1948         Reviewed by Sammy Weinig.
1949
1950         Fix for <rdar://problem/6103024>
1951         When a QT movie is loaded directly in the browser, I can't pause it by single-clicking on the video
1952
1953         Test: media/video-click-dlbclick-standalone.html
1954
1955         * loader/MediaDocument.cpp: (WebCore::MediaDocument::defaultEventHandler): For standalone media documents,
1956         match the default Quicktime plugin behavior to allow clicking and double-clicking to pause and play the media.
1957         * loader/MediaDocument.h: Added defaultEventHandler.
1958
1959         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::defaultEventHandler): Return early if the event has been handled.
1960         * rendering/MediaControlElements.cpp:
1961         (WebCore::MediaControlMuteButtonElement::defaultEventHandler): Correct what was probably a typo.  Instead of "event->defaultHandled()",
1962          it is supposed to be "event->setDefaultHandled()".
1963         (WebCore::MediaControlPlayButtonElement::defaultEventHandler): ditto.
1964         (WebCore::MediaControlSeekButtonElement::defaultEventHandler): ditto.
1965         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler): ditto.
1966
1967 2008-07-29  Dan Bernstein  <mitz@apple.com>
1968
1969         Reviewed by Dave Hyatt.
1970
1971         - fix <rdar://problem/6059648> Some content not visible when the window is short at courtneyalbright.com
1972
1973         Test: fast/overflow/float-in-relpositioned.html
1974
1975         * rendering/RenderBlock.cpp:
1976         (WebCore::RenderBlock::lowestPosition): Add this block's relative offset
1977         to floats' and positioned objects' lowest position.
1978         (WebCore::RenderBlock::rightmostPosition): Ditto.
1979         (WebCore::RenderBlock::leftmostPosition): Ditto.
1980         * rendering/RenderBox.cpp:
1981         (WebCore::RenderBox::lowestPosition): Removed redundant test.
1982         (WebCore::RenderBox::rightmostPosition): Ditto.
1983         (WebCore::RenderBox::leftmostPosition): Ditto.
1984
1985 2008-07-29  Dan Bernstein  <mitz@apple.com>
1986
1987         Reviewed by Dave Hyatt.
1988
1989         - fix <rdar://problem/6048566> Repaint original element's position, not its offset position
1990
1991         Test: fast/repaint/layout-state-relative.html
1992
1993         * rendering/RenderBox.cpp:
1994         (WebCore::RenderBox::absolutePosition): Changed the LayoutState-enabled
1995         code path to account for the object's relative offset.
1996         (WebCore::RenderBox::computeAbsoluteRepaintRect): Ditto.
1997
1998 2008-07-29  Keishi Hattori  <casey.hattori@gmail.com>
1999
2000         Fixed Bug 19158: Inspector should support console.group/console.groupEnd
2001
2002         <https://bugs.webkit.org/show_bug.cgi?id=19158>
2003
2004         Reviewed by Tim Hatcher and Adam Roben.
2005
2006         * bindings/js/JSConsoleCustom.cpp:
2007         (WebCore::JSConsole::group): Added.
2008         * page/Console.cpp:
2009         (WebCore::Console::group): Added.
2010         (WebCore::Console::groupEnd): Added.
2011         * page/Console.h:
2012         (WebCore::):
2013         * page/Console.idl: Added group/groupEnd.
2014         * page/InspectorController.cpp:
2015         (WebCore::ConsoleMessage::ConsoleMessage):
2016         (WebCore::InspectorController::InspectorController): Added m_groupLevel.
2017         (WebCore::InspectorController::addMessageToConsole): Added groupLevel argument.
2018         (WebCore::InspectorController::startGroup): Increments m_groupLevel by one and calls js function if needed.
2019         (WebCore::InspectorController::endGroup): Decrements m_groupLevel by one and calls js function if needed.
2020         (WebCore::InspectorController::addScriptConsoleMessage): Added groupLevel argument.
2021         (WebCore::InspectorController::didCommitLoad): Resets m_groupLevel.
2022         * page/InspectorController.h:
2023         * page/inspector/Console.js:
2024         (WebInspector.Console): Added groupLevel and currentGroup topGroup.
2025         (WebInspector.Console.addMessage): Calls addMessage method in the currentGroup.
2026         (WebInspector.Console.startGroup): Added.
2027         (WebInspector.Console.endGroup): Added.
2028         (WebInspector.Console.clearMessages): Resets groupLevel and currentGroup.
2029         (WebInspector.ConsoleMessage): Added groupLevel property.
2030         (WebInspector.ConsoleMessage.MessageLevel.GroupTitle): Added.
2031         (WebInspector.ConsoleGroup): Added.
2032         (WebInspector.ConsoleGroup.addMessage): Adds console message to group.
2033         (WebInspector.ConsoleGroup._titleClicked): Adds "collapsed" style class.
2034         * page/inspector/inspector.css:
2035         * page/inspector/inspector.js:
2036         (WebInspector.startGroupInConsole): Calls console.startGroup
2037         (WebInspector.endGroupInConsole): Calls console.endGroup
2038
2039 2008-07-29  Adam Roben  <aroben@apple.com>
2040
2041         Add names for WebCore's threads
2042
2043         Reviewed by Anders Carlsson.
2044
2045         * loader/icon/IconDatabase.cpp:
2046         (WebCore::IconDatabase::open):
2047         * storage/DatabaseThread.cpp:
2048         (WebCore::DatabaseThread::start):
2049         * storage/LocalStorageThread.cpp:
2050         (WebCore::LocalStorageThread::start):
2051         Pass in names to createThread.
2052
2053         * platform/network/cf/ResourceHandleCFNet.cpp:
2054         (WebCore::runLoaderThread):
2055         (WebCore::ResourceHandle::loaderRunLoop):
2056         Changed to use WTF::createThread.
2057
2058 2008-07-28  Anders Carlsson  <andersca@apple.com>
2059
2060         Reviewed by Kevin Decker.
2061
2062         Based on a patch from Dimcho Balev.
2063         
2064         Windows part of 
2065     
2066         https://bugs.webkit.org/show_bug.cgi?id=18676
2067         <rdar://problem/6106578>
2068         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
2069
2070         * plugins/PluginStream.cpp:
2071         (WebCore::PluginStream::wantsAllStreams):
2072         * plugins/PluginStream.h:
2073
2074 2008-07-28  Brady Eidson  <beidson@apple.com>
2075
2076         Reviewed by Sam Weinig
2077
2078         Test: security/autocomplete-cleared-on-back.html
2079
2080         <rdar://problem/6093281> - autocomplete="off" should work when going back
2081
2082         Taken care of in two ways:
2083         1 - Listening for the page cache notification to clear the form, in cases where the page
2084             is being restored from the page cache
2085         2 - Not saving such form elements when doing the normal "save state" to a history item,
2086             for cases with no page cache
2087
2088         * html/HTMLFormElement.cpp:
2089         (WebCore::HTMLFormElement::~HTMLFormElement):
2090         (WebCore::HTMLFormElement::parseMappedAttribute):
2091         (WebCore::HTMLFormElement::didRestoreFromCache):
2092         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
2093         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
2094         * html/HTMLFormElement.h:
2095
2096         * html/HTMLInputElement.cpp:
2097         (WebCore::HTMLInputElement::~HTMLInputElement):
2098         (WebCore::HTMLInputElement::setInputType):
2099         (WebCore::HTMLInputElement::saveState):
2100         (WebCore::HTMLInputElement::parseMappedAttribute):
2101         (WebCore::HTMLInputElement::needsCacheCallback):
2102         (WebCore::HTMLInputElement::registerForCacheCallbackIfNeeded): Only register if the type or attribute
2103           indicate we should.
2104         (WebCore::HTMLInputElement::unregisterForCacheCallbackIfNeeded): Only unregister if both the type
2105           and attribute are clear of needing registration.
2106         (WebCore::HTMLInputElement::didRestoreFromCache):
2107         (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
2108         (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
2109         * html/HTMLInputElement.h:
2110
2111 2008-07-28  David Hyatt  <hyatt@apple.com>
2112
2113         Add support for CSS variable declaration blocks.
2114
2115         Reviewed by Sam
2116
2117         Added tests in fast/css/variables.
2118
2119         * css/CSSGrammar.y:
2120         * css/CSSMutableStyleDeclaration.h:
2121         (WebCore::CSSMutableStyleDeclaration::isMutableStyleDeclaration):
2122         * css/CSSParser.cpp:
2123         (WebCore::CSSParser::addVariableDeclarationBlock):
2124         * css/CSSParser.h:
2125         * css/CSSProperty.cpp:
2126         (WebCore::CSSProperty::cssText):
2127         * css/CSSPropertyNames.in:
2128         * css/CSSStyleSelector.cpp:
2129         (WebCore::CSSStyleSelector::addMatchedDeclaration):
2130         (WebCore::CSSStyleSelector::resolveVariablesForDeclaration):
2131         * css/CSSStyleSelector.h:
2132         * css/CSSValueList.h:
2133         (WebCore::CSSValueList::isValueList):
2134         * css/CSSVariablesDeclaration.cpp:
2135         (WebCore::CSSVariablesDeclaration::CSSVariablesDeclaration):
2136         (WebCore::CSSVariablesDeclaration::getVariableValue):
2137         (WebCore::CSSVariablesDeclaration::removeVariable):
2138         (WebCore::CSSVariablesDeclaration::addParsedVariable):
2139         (WebCore::CSSVariablesDeclaration::getParsedSimpleVariable):
2140         (WebCore::CSSVariablesDeclaration::getParsedComplexVariable):
2141         * css/CSSVariablesDeclaration.h:
2142         (WebCore::CSSVariablesDeclaration::create):
2143         * css/StyleBase.cpp:
2144         (WebCore::StyleBase::cssText):
2145         * css/StyleBase.h:
2146         (WebCore::StyleBase::isValueList):
2147         (WebCore::StyleBase::isMutableStyleDeclaration):
2148
2149 2008-07-28  Anders Carlsson  <andersca@apple.com>
2150
2151         Reviewed by Sam.
2152
2153         <rdar://problem/6098335>
2154         https://bugs.webkit.org/show_bug.cgi?id=20150
2155         
2156         Handle willSendRequest correctly.
2157
2158         * loader/SubresourceLoader.cpp:
2159         (WebCore::SubresourceLoader::willSendRequest):
2160         Make sure to keep the previous URL around so we know when to call willSendRequest.
2161         
2162         * xml/XMLHttpRequest.cpp:
2163         (WebCore::XMLHttpRequest::processSyncLoadResults):
2164         Abort if we don't have access to the response URL.
2165         
2166         (WebCore::XMLHttpRequest::willSendRequest):
2167         Dispatch a network error if we can't access the new URL.
2168
2169 2008-07-28  Geoffrey Garen  <ggaren@apple.com>
2170
2171         Reviewed by Sam Weinig.
2172
2173         Renamed "ConstructTypeNative" => "ConstructTypeHost".
2174         
2175 2008-07-28  Anders Carlsson  <andersca@apple.com>
2176
2177         Reviewed by Kevin Decker.
2178
2179         Based on a patch by Dimcho Balev.
2180
2181         https://bugs.webkit.org/show_bug.cgi?id=18676
2182         <rdar://problem/6106578>
2183         Plug-In API Proposal: Enable plugins to receive response body when an HTTP error occurs
2184         
2185         * bridge/npapi.h:
2186         Add new enum values.
2187         
2188         * loader/NetscapePlugInStreamLoader.cpp:
2189         (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
2190         When the plug-in indicates that it wants all streams to be delivered, don't cancel the stream
2191         if an error occurs.
2192         
2193         * loader/NetscapePlugInStreamLoader.h:
2194         (WebCore::NetscapePlugInStreamLoaderClient::wantsAllStreams):
2195         Add new client method.
2196
2197 2008-07-27  Sam Weinig  <sam@webkit.org>
2198
2199         Reviewed by Oliver Hunt.
2200
2201         Fix for https://bugs.webkit.org/show_bug.cgi?id=20176
2202         querySelectorAll id optimization no longer working
2203
2204         Turn the querySelector/querySelectorAll id optimization back on
2205         for only strict and almost strict mode.  In quirks mode, the optimiztion
2206         won't work as the id match is not case sensitive.
2207
2208         Tests: fast/dom/SelectorAPI/caseID-almost-strict.html
2209                fast/dom/SelectorAPI/caseID-strict.html
2210                fast/dom/SelectorAPI/caseID.html
2211
2212         * dom/Node.cpp:
2213         (WebCore::Node::querySelector):
2214         (WebCore::Node::querySelectorAll):
2215         * dom/SelectorNodeList.cpp:
2216         (WebCore::createSelectorNodeList):
2217         * dom/SelectorNodeList.h:
2218
2219 2008-07-27  Anatoli Papirovski  <apapirovski@mac.com>
2220
2221         Reviewed by Dave Hyatt.
2222
2223         Fix for https://bugs.webkit.org/show_bug.cgi?id=14346
2224         Modified the css parser:
2225         - not to fail when closing braces are not found for 
2226           a declaration at the end of the file
2227         - not to accept "!important fail" as valid
2228         - to keep accepting @import when it comes after invalid @ rules
2229         - not to drop the whole @media block when there's an error before the 
2230           closing brace
2231         + some other minor css parsing revisions.
2232
2233         CSSGrammar.y tweaked by David Kilzer to fix Tiger builds.
2234
2235         * css/CSSGrammar.y:
2236
2237 2008-07-27  Jan Michael Alonzo  <jmalonzo@webkit.org>
2238
2239         Reviewed by Eric Seidel.
2240
2241         Use --outputDir instead of --output when invoking make_names.pl
2242         There's no option named "output" in make_names.pl
2243
2244         * GNUmakefile.am:
2245         * WebCore.pro:
2246         * DerivedSources.make: Remove --output. Not necessary here.
2247         * bindings/scripts/generate-bindings.pl: Rename --outputdir to
2248           --outputDir for consistency with make_names.pl
2249
2250 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
2251
2252         Reviewed by Eric Seidel.
2253
2254         http://bugs.webkit.org/show_bug.cgi?id=18694
2255         [CAIRO] Problem with rotation in a given matrix in SVG
2256
2257         Changed values given to AffineTransform.
2258
2259         * platform/graphics/cairo/AffineTransformCairo.cpp:
2260         (WebCore::AffineTransform::AffineTransform):
2261         (WebCore::AffineTransform::setMatrix):
2262
2263 2008-07-26  Jan Michael Alonzo  <jmalonzo@webkit.org>
2264
2265         Reviewed by Mark Rowe.
2266
2267         Call curl_global_cleanup() to release resources acquired by curl_global_init()
2268
2269         * platform/network/curl/ResourceHandleManager.cpp:
2270         (WebCore::ResourceHandleManager::~ResourceHandleManager):
2271
2272 2008-07-26  Marc Ordinas i Llopis  <marc.ordinasillopis@collabora.co.uk>
2273
2274         Reviewed by Simon Hausmann.
2275
2276         Bug 18938: [GTK] Plugins not resized
2277         https://bugs.webkit.org/show_bug.cgi?id=18938
2278
2279         * plugins/PluginView.cpp:
2280         (WebCore::PluginView::setFrameGeometry): When viewing a full-page
2281         plugin in unix, geometry changes have to be passed to the plugin.
2282
2283 2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
2284
2285         Reviewed by Adam Roben.
2286
2287         Add console.time/timeEnd.
2288         https://bugs.webkit.org/show_bug.cgi?id=19159
2289
2290         * manual-tests/inspector/console-time.html: Added. Test cases for console.time/timeEnd.
2291         * page/Console.cpp:
2292         (WebCore::Console::time): Added.
2293         (WebCore::Console::timeEnd): Added.
2294         * page/Console.h:
2295         * page/Console.idl: Added console.time/timeEnd.
2296         * page/InspectorController.cpp:
2297         (WebCore::InspectorController::startTiming): Added.
2298         (WebCore::InspectorController::stopTiming): Added.
2299         * page/InspectorController.h:
2300
2301 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
2302
2303         Reviewed by Nikolas Zimmermann.
2304
2305         Fixes rendering issues with gradients in SVG/Cairo.
2306
2307         * platform/graphics/cairo/PathCairo.cpp:
2308         (WebCore::Path::boundingRect):
2309         * svg/graphics/cairo/SVGPaintServerGradientCairo.cpp:
2310         (WebCore::applyStrokeStyleToContext):
2311         (WebCore::SVGPaintServerGradient::setup):
2312
2313 2008-07-26  Dirk Schulze  <vbs85@gmx.de>
2314
2315         Reviewed by Nikolas Zimmermann.
2316
2317         Added pattern-support for SVG in Cairo.
2318
2319         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
2320         (WebCore::applyStrokeStyleToContext):
2321         (WebCore::SVGPaintServerPattern::setup):
2322
2323 2008-07-26  Keishi Hattori  <casey.hattori@gmail.com>
2324
2325         Reviewed by Adam Roben.
2326
2327         Fixed bug 18540: console.log('multiple', 'strings') quotes all strings after the first
2328         <https://bugs.webkit.org/show_bug.cgi?id=18540>
2329
2330         * page/inspector/Console.js:
2331         (WebInspector.ConsoleMessage.prototype._format): String arguments are appended without formatting.
2332
2333 2008-07-26  Anthony Ricaud  <rik24d@gmail.com>
2334
2335         Reviewed by Tim Hatcher.
2336
2337         <https://bugs.webkit.org/show_bug.cgi?id=17589> Line highlighting should last longer
2338
2339         Restore the fade out effect after highlighting.
2340
2341         * page/inspector/SourceFrame.js: Add a class for fade-out effects and sets it at the end of highlighting time.
2342
2343 2008-07-26  Michelangelo De Simone  <michelangelo@me.com>
2344
2345         Reviewed by Adele Petersen.
2346
2347         Added the simple willValidate attribute to form controls according to
2348         WebForms 2 spec.
2349
2350         URL: http://www.w3.org/TR/web-forms-2/#willvalidate
2351
2352         Tests: fast/forms/willvalidate-000.html
2353                fast/forms/willvalidate-001.html
2354                fast/forms/willvalidate-002.html
2355                fast/forms/willvalidate-003.html
2356                fast/forms/willvalidate-004.html
2357                fast/forms/willvalidate-005.html
2358                fast/forms/willvalidate-006.html
2359                fast/forms/willvalidate-007.html
2360                fast/forms/willvalidate-008.html
2361                fast/forms/willvalidate-009.html
2362
2363         * html/HTMLButtonElement.h: Added willValidate(), always false.
2364         * html/HTMLButtonElement.idl: willValidate attribute exposed.
2365         * html/HTMLFieldSetElement.h: Added willValidate(), always false.
2366         * html/HTMLFieldSetElement.idl: willValidate attribute exposed.
2367         * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::willValidate):
2368         Added base willValidate() implementation.
2369         * html/HTMLFormControlElement.h: Added willValidate().
2370         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::willValidate):
2371         Added willValidate(), checks for input type.
2372         * html/HTMLInputElement.h: Added willValidate()
2373         * html/HTMLInputElement.idl: willValidate attribute exposed.
2374         * html/HTMLSelectElement.idl: willValidate attribute exposed.
2375         * html/HTMLTextAreaElement.idl: willValidate attribute exposed.
2376
2377 2008-07-26  Mark Rowe  <mrowe@apple.com>
2378
2379         Build fix.
2380
2381         * loader/FrameLoader.cpp:
2382         (WebCore::FrameLoader::load): Use 0 rather than nil as this is a C++ file.
2383
2384 2008-07-26  Mark Rowe  <mrowe@apple.com>
2385
2386         Build fix.
2387
2388         * loader/FrameLoader.h: Use 0 rather than nil as this is a C++ header.
2389
2390 2008-07-26  Daniel Jalkut  <jalkut@red-sweater.com>
2391
2392         Reviewed by Geoff Garen.
2393
2394         Revised the FrameLoader class to clean up a variety of load methods, and hopefully
2395         move things closer to integrating into a smaller set of load methods. To this
2396         end, I renamed many of the overloaded load() methods to have more meaningful and 
2397         easier to search names.  I added comments to the header file to provide clues as 
2398         to how many of the load methods are being used, and how they fit into the loading 
2399         process. I suspect that the renamed methods and comments indicating their present 
2400         usage will facilitate easier cleanup by myself and others as inspiration strikes.
2401
2402         Updated clients of FrameLoader where necessary to adapt to the new method names and signatures.
2403
2404         Combined the 3 canLoad() methods into a single canLoad which expresses the 
2405         intended logic of the 3 with a single method interface.
2406
2407         Removed unnecessary "treatAsLocal" attribute of CachedResource. It was only called from
2408         one place in FrameLoader.cpp, and it derived at initialization time by calling back to FrameLoader.
2409
2410         Removed unused userGesture parameter to one variant of the urlSelected method, and 
2411         moved one of the urlSelected methods so that it lives nearer to its overloaded 
2412         sibling.
2413
2414         * WebCore.base.exp:
2415         * loader/Cache.cpp:
2416         (WebCore::Cache::requestResource):
2417         * loader/CachedResource.cpp:
2418         (WebCore::CachedResource::CachedResource):
2419         * loader/CachedResource.h:
2420         (WebCore::CachedResource::errorOccurred):
2421         * loader/FrameLoader.cpp:
2422         (WebCore::FrameLoader::createWindow):
2423         (WebCore::FrameLoader::urlSelected):
2424         (WebCore::FrameLoader::loadURLIntoChildFrame):
2425         (WebCore::FrameLoader::loadPlugin):
2426         (WebCore::FrameLoader::loadFrameRequestWithFormState):
2427         (WebCore::FrameLoader::loadFrameRequestWithFormAndValues):
2428         (WebCore::FrameLoader::loadURL):
2429         (WebCore::FrameLoader::loadWithNavigationAction):
2430         (WebCore::FrameLoader::load):
2431         (WebCore::FrameLoader::loadWithDocumentLoader):
2432         (WebCore::FrameLoader::canLoad):
2433         (WebCore::FrameLoader::reloadAllowingStaleData):
2434         (WebCore::FrameLoader::reload):
2435         (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
2436         (WebCore::FrameLoader::submitForm):
2437         (WebCore::FrameLoader::loadPostRequest):
2438         (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
2439         (WebCore::FrameLoader::loadItem):
2440         * loader/FrameLoader.h:
2441         * loader/SubresourceLoader.cpp:
2442         (WebCore::SubresourceLoader::create):
2443         * page/ContextMenuController.cpp:
2444         (WebCore::ContextMenuController::contextMenuItemSelected):
2445
2446 2008-07-26  Sam Weinig  <sam@webkit.org>
2447
2448         Reviewed by Dan Bernstein.
2449
2450         Fix https://bugs.webkit.org/show_bug.cgi?id=20122
2451         <rdar://problem/6089522>
2452         REGRESSION (r35075-r35110): Cannot enlarge images at Apple Store product page
2453
2454         Use strict parsing when in AlmostStrict mode.
2455
2456         Tests: fast/dom/SelectorAPI/dumpNodeList-almost-strict.html
2457                fast/dom/SelectorAPI/id-fastpath-almost-strict.html
2458                fast/dom/SelectorAPI/id-fastpath-strict.html
2459
2460         * dom/Node.cpp:
2461         (WebCore::Node::querySelector):
2462         (WebCore::Node::querySelectorAll):
2463
2464 2008-07-25  Ariya Hidayat  <ariya.hidayat@trolltech.com>
2465
2466         Reviewed by Simon.
2467
2468         Switch off QPainter's anti aliasing when painting the widgets using QStyle
2469         because otherwise the widgets will look blurry and not crisp.
2470
2471         * platform/qt/RenderThemeQt.cpp:
2472         (WebCore::StylePainter::StylePainter):
2473         (WebCore::StylePainter::~StylePainter):
2474         * platform/qt/RenderThemeQt.h:
2475
2476 2008-07-25  Dan Bernstein  <mitz@apple.com>
2477
2478         Reviewed by Anders Carlsson.
2479
2480         - fix crash due to re-entering purgeInactiveFontData() now that it is
2481           called by releaseFontData()
2482
2483         Not testable in DumpRenderTree
2484
2485         * platform/graphics/FontCache.cpp:
2486         (WebCore::FontCache::purgeInactiveFontData): Added a reentry guard.
2487
2488 2008-07-25  Brady Eidson  <beidson@apple.com>
2489
2490         Reviewed by Sam
2491
2492         Test: security/set-form-autocomplete-attribute.html
2493
2494         Part of the fix for <rdar://problem/6093281> - Improper handling of autocomplete
2495
2496         The autocomplete attribute works on both <form> and <input> elements, but was not
2497         inherited properly when someone asked an <input> if it should autocomplete.
2498
2499         I fixed this up based on the rules in the current WF2 spec so if the <input> element
2500         has its own autocomplete attribute set, it will follow that but otherwise it will
2501         inherit from its parent <form>
2502
2503         * WebCore.base.exp:
2504
2505         * html/HTMLInputElement.cpp:
2506         (WebCore::HTMLInputElement::init):
2507         (WebCore::HTMLInputElement::autoComplete):
2508         (WebCore::HTMLInputElement::parseMappedAttribute):
2509         * html/HTMLInputElement.h:
2510         (WebCore::HTMLInputElement::):
2511
2512 2008-07-25  Wouter Bolsterlee  <uws+webkit@xs4all.nl>
2513
2514         Reviewed by Holger Freyther.
2515
2516         https://bugs.webkit.org/show_bug.cgi?id=20078
2517         [GTK] Use G_* macros instead of deprecated GTK_* macros in gtk2xtbin.h
2518
2519         * plugins/gtk/gtk2xtbin.h:
2520
2521 2008-07-25  Anders Carlsson  <andersca@apple.com>
2522
2523         Reviewed by Sam.
2524
2525         Add workaround for a Leopard bug which causes webarchive/test-xml-stylesheet.xml to fail.
2526
2527         * platform/network/mac/WebCoreURLResponse.mm:
2528         (-[NSURLResponse _webcore_MIMEType]):
2529
2530 2008-07-25  chris fleizach  <cfleizach@apple.com>
2531
2532         Reviewed by Beth Dakin
2533
2534         <rdar://problem/6084806> AX: REGRESSION: returned line number from TextArea is incorrect
2535
2536         Tests: accessibility/textarea-insertion-point-line-number.html
2537                accessibility/textarea-line-for-index.html
2538
2539         * page/AccessibilityObject.cpp:
2540         (WebCore::AccessibilityObject::lineForPosition):
2541         * page/AccessibilityObject.h:
2542         * page/mac/AccessibilityObjectWrapper.mm:
2543         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2544         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2545
2546 2008-07-25  Jacob Refstrup  <jacob.refstrup@hp.com>
2547
2548         Reviewed by mitz.
2549
2550         - fix https://bugs.webkit.org/show_bug.cgi?id=17906
2551         <rdar://problem/5805741> white-space: pre-wrap or -webkit-line-break: after-white-space text can overlap float at end of line
2552         
2553         Test: fast/block/float/editable-text-overlapping-float.html
2554
2555         * rendering/RenderBlock.h:
2556         * rendering/bidi.cpp:
2557         (WebCore::RenderBlock::skipTrailingWhitespace):
2558         - renamed to reflect usage and removed call to position floats; 
2559           they only get added
2560         (WebCore::RenderBlock::skipLeadingWhitespace):
2561         - renamed to reflect usage
2562         (WebCore::RenderBlock::findNextLineBreak):
2563         - use skipTrailingWhitespace at end of line (as before but with new
2564           name)
2565
2566 2008-07-25  Dan Bernstein  <mitz@apple.com>
2567
2568         Reviewed by Sam Weinig.
2569
2570         - Finish fixing https://bugs.webkit.org/show_bug.cgi?id=17097
2571           <rdar://problem/5715471> CGFontRefs (and HFONTs on Windows) leak because FontCache grows without bound
2572
2573         * platform/graphics/FontCache.cpp:
2574         (WebCore::FontDataCacheKeyTraits): Changed needsDestruction to true because FontPlatformData
2575         instances hold references to the platform resources and release them in the destructor.
2576         (WebCore::cTargetInactiveFontData): Added, replacing cInactiveFontDataPurgeRatio with the
2577         number of inactive FontData instances to leave in the cache when automatically purging.
2578         (WebCore::FontCache::getCachedFontData): Moved the code that checks if there are too many
2579         inactive FontData instances and if so calls purgeInactiveFontData() from here...
2580         (WebCore::FontCache::releaseFontData): ... to here.
2581         (WebCore::FontCache::purgeInactiveFontData): Added code to also purge the platform font data
2582         cache. All FontPlatformData instances that do not have entries in the font data cache are
2583         removed, thus releasing the platform resources (such as HFONTs and NSFonts).
2584
2585 2008-07-24  David Hyatt  <hyatt@apple.com>
2586
2587         Add support for an alternate syntax for CSS variables.  Testers on www-style will be able to try out
2588         both versions of the syntax in WebKit to help us make a decision regarding which one to go with.
2589
2590         Reviewed by Dan
2591
2592         Added fast/css/variables/alternate-syntax/ (duplicated all existing CSS variables tests)
2593
2594         * css/CSSGrammar.y:
2595         * css/CSSParser.cpp:
2596         (WebCore::CSSParser::createVariablesRule):
2597         (WebCore::CSSParser::checkForVariables):
2598         * css/CSSParser.h:
2599         * css/CSSParserValues.cpp:
2600         (WebCore::CSSParserValue::isVariable):
2601         (WebCore::CSSParserValueList::addValue):
2602         (WebCore::CSSParserValueList::deleteValueAt):
2603         (WebCore::CSSParserValue::createCSSValue):
2604         * css/CSSParserValues.h:
2605         * css/CSSPrimitiveValue.cpp:
2606         (WebCore::CSSPrimitiveValue::cleanup):
2607         (WebCore::CSSPrimitiveValue::getStringValue):
2608         (WebCore::CSSPrimitiveValue::cssText):
2609         (WebCore::CSSPrimitiveValue::parserValue):
2610         * css/CSSPrimitiveValue.h:
2611         (WebCore::CSSPrimitiveValue::):
2612         (WebCore::CSSPrimitiveValue::isVariable):
2613         * css/CSSStyleSelector.cpp:
2614         (WebCore::CSSStyleSelector::addMatchedDeclaration):
2615         * css/CSSVariablesRule.cpp:
2616         (WebCore::CSSVariablesRule::CSSVariablesRule):
2617         (WebCore::CSSVariablesRule::cssText):
2618         * css/CSSVariablesRule.h:
2619         (WebCore::CSSVariablesRule::create):
2620         * css/maketokenizer:
2621         * css/tokenizer.flex:
2622
2623 2008-07-25  Maxime Britto  <britto@apple.com>
2624
2625         Reviewed by Anders Carlsson.
2626
2627         <rdar://6102387> "REGRESSION: horizontal scroll with the mouse wheel is inverted on some subframes"
2628
2629         * page/EventHandler.cpp:
2630         (WebCore::EventHandler::handleWheelEvent): Inverted the scroll direction relative to the delta value (positive scrolls left,negative scrolls right)
2631
2632 2008-07-25  Adele Peterson  <adele@apple.com>
2633
2634         Another build fix.
2635
2636         * platform/win/PlatformScrollBarSafari.cpp:
2637         (WebCore::PlatformScrollbar::paint):
2638
2639 2008-07-25  Adele Peterson  <adele@apple.com>
2640
2641         More build fixes.
2642
2643         * platform/win/PlatformScrollBarSafari.cpp:
2644         (WebCore::PlatformScrollbar::paint):
2645
2646 2008-07-25  Adele Peterson  <adele@apple.com>
2647
2648         Build fix.
2649
2650         * platform/win/PlatformScrollBarSafari.cpp:
2651
2652 2008-07-24  Tor Arne Vestbø  <tavestbo@trolltech.com>
2653
2654         Reviewed by Simon
2655
2656         Provide access to the underlying QKeyEvent in PlatformKeyboardEvent.
2657
2658         * platform/PlatformKeyboardEvent.h: add accessor and member.
2659         * platform/qt/PlatformKeyboardEventQt.cpp: copy pointer in ctor.
2660         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2661
2662 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
2663
2664         Fix linking of QtWebKit against the statically built JavaScriptCore
2665         library, under Windows/Mac we may need _d/_debug suffixes.
2666
2667         * WebCore.pro:
2668
2669 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
2670
2671         Rubber-stamped by Lars.
2672
2673         Fix the Qt build by adapting to the latest ArgList API changes and
2674         replacing the inclusion of npapi.h in MainThreadScheduler with a forward
2675         declaration of NPP to avoid an include conflict. npapi.h on X11 includes
2676         X headers, which include wonderful defines such as "#define Status" that
2677         cause conflicts.
2678
2679         * bridge/qt/qt_runtime.cpp:
2680         (KJS::Bindings::findMethodIndex):
2681         (KJS::Bindings::QtRuntimeConnectionMethod::call):
2682         * plugins/PluginMainThreadScheduler.h:
2683
2684 2008-07-25  Simon Hausmann  <hausmann@webkit.org>
2685
2686         Discussed with and rubber-stamped by Lars.
2687
2688         Fix the build system for the Qt port.
2689
2690         Recent JavaScriptCore changes require the addition of JavaScriptCore/API to the
2691         include search path. With a build process that combines JavaScriptCore and
2692         WebCore in one build process/Makefile the existance of
2693         JavaScriptCore/API/Node.h and WebCore/dom/Node.h causes include conflicts.
2694
2695         This commit solves this by introducing a separate build of JavaScriptCore into
2696         a static library.
2697
2698         As a result of the split-up a race-condition due to broken dependencies of
2699         regular source files to header files of generated sources showed up very
2700         frequently when doing parallel builds (which the buildbot does). This commit at
2701         the same time tries to address the dependency problem by making the
2702         addExtraCompiler() function also generate a pseudo extra compiler that
2703         represents the header file output, so that qmake is aware of the creation of
2704         the header file for dependency calculation.
2705
2706         At the same time I removed a lot of cruft from the pro files to ease maintenance.
2707
2708         * WebCore.pro:
2709
2710 2008-07-24  kevino  <kevino@theolliviers.com>
2711
2712         wx build fix on Win for plugins coode.
2713
2714         * plugins/PluginDatabase.cpp:
2715         * plugins/PluginView.cpp:
2716         (WebCore::PluginView::PluginView):
2717         * plugins/PluginView.h:
2718
2719 2008-07-24  Sam Weinig  <sam@webkit.org>
2720
2721         Reviewed by Anders Carlsson.
2722
2723         Make isElementNode() non-virtual for a speedup on many benchmarks
2724         including 20% on http://ejohn.org/apps/fragment/.
2725
2726         - Replace Node::m_attrWasSpecifiedOrElementHasRareData with bits in 
2727           Element and Attr where space was available.  Use the new free bit
2728           to represent if an node is an element or not.
2729
2730         * dom/Attr.cpp:
2731         (WebCore::Attr::Attr):
2732         * dom/Attr.h:
2733         (WebCore::Attr::specified):
2734         (WebCore::Attr::setSpecified):
2735         * dom/ContainerNode.cpp:
2736         (WebCore::ContainerNode::ContainerNode):
2737         * dom/ContainerNode.h:
2738         * dom/Element.cpp:
2739         (WebCore::Element::Element):
2740         * dom/Element.h:
2741         (WebCore::Element::hasRareData):
2742         (WebCore::Element::setHasRareData):
2743         * dom/EventTargetNode.cpp:
2744         (WebCore::EventTargetNode::EventTargetNode):
2745         * dom/EventTargetNode.h:
2746         * dom/Node.cpp:
2747         (WebCore::Node::Node):
2748         * dom/Node.h:
2749         (WebCore::Node::isElementNode):
2750
2751 2008-07-24  Dan Bernstein  <mitz@apple.com>
2752
2753         Reviewed by Dave Hyatt.
2754
2755         - fix <rdar://problem/6082111> REGRESSION (r31876): Root element with percent height does not resize when resizing the window vertically
2756
2757         Not testable in DumpRenderTree
2758
2759         * rendering/RenderView.cpp:
2760         (WebCore::RenderView::layout): Ensured that all children with percentage
2761         heights get laid out again if the height changes.
2762
2763 2008-07-24  kevino  <kevino@theolliviers.com>
2764
2765         Windows build fix for wx. wx doesn't implement pan scrolling yet. 
2766
2767         * page/EventHandler.cpp:
2768         (WebCore::EventHandler::handleAutoscroll):
2769         (WebCore::EventHandler::autoscrollTimerFired):
2770         (WebCore::EventHandler::stopAutoscrollTimer):
2771         (WebCore::EventHandler::handleMousePressEvent):
2772
2773 2008-07-24  David Hyatt  <hyatt@apple.com>
2774
2775         Fix for bug 18673, crash when using full page zoom on generated content.  Don't call
2776         intrinsicSizeChanged when we are first setting our style.
2777
2778         Reviewed by olliej
2779
2780         * ChangeLog:
2781         * rendering/RenderReplaced.cpp:
2782         (WebCore::RenderReplaced::setStyle):
2783
2784 2008-07-24  Julien Chaffraix  <jchaffraix@webkit.org>
2785
2786         Reviewed by Eric.
2787
2788         Bug 20053: .in files should use a custom format instead of XML
2789
2790         - Remove our XML parser perl module (XML::Tiny)
2791
2792         - Add a custom perl parser
2793
2794         - Move XML files to the new format
2795
2796         * bindings/scripts/InFilesParser.pm: Added.
2797         * bindings/scripts/XMLTiny.pm: Removed.
2798         * dom/make_names.pl: Switched to our new
2799         parser.
2800
2801         * html/HTMLAttributeNames.in: Switched to
2802         our custom format.
2803         * html/HTMLTagNames.in: Ditto.
2804         * svg/svgattrs.in: Ditto.
2805         * svg/svgtags.in: Ditto.
2806         * svg/xlinkattrs.in: Ditto.
2807         * xml/xmlattrs.in: Ditto.
2808
2809 2008-07-23  Julien Chaffraix  <jchaffraix@webkit.org>
2810
2811         Reviewed by Eric.
2812
2813         Bug 19588: CRASH doing open() on destroyed window
2814         https://bugs.webkit.org/show_bug.cgi?id=19588
2815
2816         Add frame's page null check as it could have been
2817         detached from the page.
2818
2819         Test: fast/frames/crash-removed-iframe.html
2820
2821         * bindings/js/JSDOMWindowBase.cpp:
2822         (WebCore::windowProtoFuncOpen):
2823         * page/FrameTree.cpp:
2824         (WebCore::FrameTree::find):
2825
2826 2008-07-23  Dan Bernstein  <mitz@apple.com>
2827
2828         Reviewed by Alexey Proskuryakov.
2829
2830         - fix a leak when using hex color values in CSS variables
2831
2832         - fix CSSOM access to hex color values in variables declarations
2833
2834         Test: fast/css/variables/color-hex-test.html
2835
2836         Added a new unit/type, CSS_PARSER_HEXCOLOR, which serves as the unit for
2837         CSSParserValues coming from colors in hex notation. CSSParserValues can
2838         no longer have CSS_RGBCOLOR as their unit. CSS_PARSER_HEXCOLOR is also
2839         used as the type for CSSValues in CSS variables declarations where the
2840         parser value was a hex color. However the type of all other color
2841         CSSValues remains CSS_RGBCOLOR.
2842
2843         * css/CSSGrammar.y: Changed to use the new CSS_PARSER_HEXCOLOR value
2844         for color values in hex notation.
2845         * css/CSSParser.cpp:
2846         (WebCore::CSSParser::parseColorFromValue): Updated for the new unit.
2847         * css/CSSParserValues.cpp:
2848         (WebCore::CSSParserValue::createCSSValue): Ditto.
2849         * css/CSSPrimitiveValue.cpp:
2850         (WebCore::CSSPrimitiveValue::cleanup): Fixed the leak by deref()ing the
2851         string containing the color.
2852         (WebCore::CSSPrimitiveValue::cssText): Added support for
2853         CSS_PARSER_HEXCOLOR for when serializing variable values.
2854         (WebCore::CSSPrimitiveValue::parserValue): Updated for the new unit.
2855         * css/CSSPrimitiveValue.h:
2856         (WebCore::CSSPrimitiveValue::): Added a new unti, CSS_PARSER_HEXCOLOR.
2857
2858 2008-07-23  Beth Dakin  <bdakin@apple.com>
2859
2860         Reviewed by Dan Bernstein.
2861
2862         Fix for <rdar://problem/5997215> display: table-row-group 
2863         for :before content causes a crash
2864  
2865         The actual bug fix here is to ddd the generated content container 
2866         as a child before adding any of the generated content to the 
2867         container. There are two correctness fixes as well that deal with 
2868         style changes and correctly.
2869
2870         This patch also makes Node::diff() a static function.
2871
2872         * dom/Node.cpp:
2873         (WebCore::Node::diff):
2874         * dom/Node.h:
2875         (WebCore::Node::):
2876         (WebCore::Node::recalcStyle):
2877         * rendering/RenderContainer.cpp:
2878         (WebCore::findBeforeAfterParent):
2879         (WebCore::RenderContainer::updateBeforeAfterContentForContainer):
2880         * svg/SVGUseElement.cpp:
2881         (WebCore::SVGUseElement::recalcStyle):
2882
2883 2008-07-23  Timothy Hatcher  <timothy@apple.com>
2884
2885         Updates the elements DOM tree when nodes are added or removed from
2886         the inspected document.
2887
2888         https://bugs.webkit.org/show_bug.cgi?id=6590
2889         <rdar://problem/5712921>
2890
2891         Reviewed by Adam Roben.
2892
2893         * loader/FrameLoader.cpp:
2894         (WebCore::FrameLoader::dispatchWindowObjectAvailable): Added a call to
2895         InspectorController::inspectedWindowScriptObjectCleared.
2896         * page/InspectorController.cpp:
2897         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
2898         Calls the WebInspector.inspectedWindowCleared script function.
2899         * page/InspectorController.h:
2900         * page/inspector/ElementsPanel.js:
2901         (WebInspector.ElementsPanel): Create the event listener callback wrappers.
2902         (WebInspector.ElementsPanel.prototype.show): Call _updateModifiedNodes if
2903         there are any recently modified nodes.
2904         (WebInspector.ElementsPanel.prototype.reset): Remove previous mutation event listeners.
2905         Adds a check for InspectorController.isWindowVisible to prevent adding
2906         event listeners when the window isn't visible.
2907         (WebInspector.ElementsPanel.prototype.inspectedWindowCleared): 
2908         (WebInspector.ElementsPanel.prototype._addMutationEventListeners): Add DOMNodeInserted,
2909         DOMNodeRemoved and DOMContentLoaded event listeners to the passed in window or window's document.
2910         (WebInspector.ElementsPanel.prototype._removeMutationEventListeners): Removes the event listeners
2911         added in _addMutationEventListeners.
2912         (WebInspector.ElementsPanel.prototype.updateMutationEventListeners): Call _addMutationEventListeners
2913         again to reinstate the listners if the document changed or window cleared them.
2914         (WebInspector.ElementsPanel.prototype.registerMutationEventListeners): Append the window to
2915         _mutationMonitoredWindows and call _addMutationEventListeners.
2916         (WebInspector.ElementsPanel.prototype.unregisterMutationEventListeners): Remove the window from
2917         _mutationMonitoredWindows and call _removeMutationEventListeners.
2918         (WebInspector.ElementsPanel.prototype.unregisterAllMutationEventListeners): Call
2919         _removeMutationEventListeners for all windows in _mutationMonitoredWindows and
2920         clear _mutationMonitoredWindows.
2921         (WebInspector.ElementsPanel.prototype._contentLoaded): Append the node and parent
2922         to the recentlyModifiedNodes array. Call _updateModifiedNodesSoon if visible.
2923         (WebInspector.ElementsPanel.prototype._nodeInserted): Ditto.
2924         (WebInspector.ElementsPanel.prototype._nodeRemoved): Ditto.
2925         (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon): Call
2926         _updateModifiedNodes on a zero timeout.
2927         (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Iterate over
2928         the recentlyModifiedNodes array and call updateChildren on all the parent
2929         elements that had changes. Only calls updateChildren once per parent element.
2930         (WebInspector.ElementsPanel.prototype._isAncestorIncludingParentFrames): Return
2931         false if the nodes are the same. Return true if the nodes are the same while
2932         looking at ancestor frame elements. THis use to return false, which was incorrect.
2933         (WebInspector.DOMNodeTreeElement.prototype.onpopulate): Call updateChildren.
2934         (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Copied from
2935         onpopulate and changed to rebuild the children elements by adding new children,
2936         moving existing children and removed old children.
2937         (WebInspector.DOMNodeTreeElement.prototype.onexpand): If the node has a contentDocument
2938         call registerMutationEventListeners to track any mutations.
2939         * page/inspector/inspector.js:
2940         (WebInspector.inspectedWindowCleared): Call ElementsPanel.inspectedWindowCleared.
2941         * page/inspector/treeoutline.js:
2942         (TreeElement.prototype.get hasChildren): Return _hasChildren.
2943         (TreeElement.prototype.set hasChildren): Set _hasChildren and update the className.
2944         (TreeElement.prototype.hasAncestor): Return true if the element has the passed in ancestor.
2945         (TreeElement.prototype.expand): Fix an exception that can happen if expand is
2946         called before _attach.
2947         * WebCore/manual-tests/inspector/dom-mutation.html: Added.
2948         * WebCore/manual-tests/inspector/resources/mutate-frame-2.html: Added.
2949         * WebCore/manual-tests/inspector/resources/mutate-frame.html: Added.
2950
2951 2008-07-22  Timothy Hatcher  <timothy@apple.com>
2952
2953         Fix an exception that occurred when double clicking the closing tag
2954         of an element in the DOM tree.
2955
2956         Reviewed by Anders Carlsson.
2957
2958         * page/inspector/ElementsPanel.js:
2959         (WebInspector.ElementsPanel.prototype._ondblclick): Null check
2960         element.ondblclick.
2961
2962 2008-07-22  Timothy Hatcher  <timothy@apple.com>
2963
2964         Fix a regression where elements in subframes would not be revealed
2965         or selected when inspected from the context menu. This was caused by
2966         JavaScript equality is not being true for JSInspectedObjectWrappers
2967         of the same node wrapped with different global ExecStates. This change
2968         adds a helper function that uses isSameNode to compare wrapped nodes.
2969
2970         https://bugs.webkit.org/show_bug.cgi?id=19377
2971
2972         Reviewed by Adam Roben.
2973
2974         * page/inspector/ElementsPanel.js:
2975         (WebInspector.ElementsPanel.prototype.set rootDOMNode): Use objectsAreSame
2976         to compare nodes.
2977         (WebInspector.ElementsPanel.prototype.set focusedDOMNode): Ditto.
2978         (WebInspector.ElementsPanel.prototype.set hoveredDOMNode): Ditto. 
2979         (WebInspector.ElementsPanel.prototype._updateModifiedNodes): Ditto.
2980         (WebInspector.ElementsPanel.prototype.revealNode): Ditto.
2981         (WebInspector.ElementsPanel.prototype.updateBreadcrumb): Ditto.
2982         (WebInspector.DOMNodeTreeElement.prototype.updateChildren): Ditto.
2983         * page/inspector/treeoutline.js:
2984         (TreeOutline.prototype.findTreeElement): Add an equal argument
2985         to accept a functions to compare two representedObjects. Defaults
2986         to strict equal if not supplied. All current clients pass objectsAreSame.
2987         * page/inspector/utilities.js:
2988         (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray): Use objectsAreSame
2989         to compare nodes.
2990         (Node.prototype.enclosingNodeOrSelfWithClass): Ditto.
2991         (Element.prototype.query): Use the ownerDocument of the node, not document.
2992         (objectsAreSame): Added. Compares strict equal first, then uses isSameNode if
2993         it exists on both objects.
2994         (isAncestorNode): Use objectsAreSame to compare nodes.
2995         (firstCommonNodeAncestor): Ditto.
2996         (traverseNextNode): Ditto.
2997
2998 2008-07-21  Timothy Hatcher  <timothy@apple.com>
2999
3000         Added InspectorController.isWindowVisible to the JavaScript class
3001         for use in an upcoming change. This will allow the Inspector to not
3002         perform selective actions while the window is hidden.
3003
3004         Reviewed by Adam Roben.
3005
3006         * page/InspectorController.cpp:
3007         (WebCore::isWindowVisible): Call InspectorController::windowVisible.
3008         (WebCore::InspectorController::windowScriptObjectAvailable): Add
3009         the isWindowVisible function to the JavaScript class.
3010
3011 2008-07-21  Timothy Hatcher  <timothy@apple.com>
3012
3013         Added TreeOutline.removeChildAtIndex and TreeElement.removeChildAtIndex
3014         for efficiency of callers that know the index of the child. This
3015         will be used in an upcoming change.
3016
3017         Reviewed by Adam Roben.
3018
3019         * page/inspector/treeoutline.js:
3020         (TreeOutline._removeChildAtIndex): Renamed from _removeChild
3021         and modified to take an index.
3022         (TreeOutline._removeChild): Call _removeChildAtIndex with the
3023         child index found using indexOf.
3024         (TreeOutline.prototype.removeChildAtIndex): Added. Calls
3025         TreeOutline._removeChildAtIndex.
3026         (TreeElement.prototype.removeChildAtIndex): Ditto.
3027
3028 2008-07-21  Timothy Hatcher  <timothy@apple.com>
3029
3030         Fixes a regression where TreeOutline.findTreeElement would
3031         return the parent TreeElement of the representedObject instead
3032         of the TreeElement for the representedObject. Regressed with the
3033         fix for bug 19164.
3034
3035         Reviewed by Adam Roben.
3036
3037         * page/inspector/treeoutline.js:
3038         (TreeOutline.prototype.findTreeElement): When performing a slow search,
3039         do a final search for representedObject instead of returning item, which
3040         is the parent of representedObject.
3041
3042 2008-07-23  Adele Peterson  <adele@apple.com>
3043
3044         Reviewed by Adam.
3045
3046         WebCore part of fix for <rdar://problem/5698672>  Add drawing callback for a WebKit app to draw its own scrollbars
3047
3048         * WebCore.base.exp: Added symbols.
3049         * page/Chrome.cpp:
3050         (WebCore::ChromeClient::paintCustomScrollbar): Added. Calls up to WebKit, which will call a new delegate method.
3051         (WebCore::ChromeClient::paintCustomScrollCorner): ditto.
3052         * page/ChromeClient.h:
3053         * page/Settings.cpp:
3054         (WebCore::Settings::Settings): Added the ability to store whether or not the application has decided to draw its own scrollbars.
3055         (WebCore::Settings::setShouldPaintCustomScrollbars):
3056         * page/Settings.h: (WebCore::Settings::shouldPaintCustomScrollbars):
3057         * platform/ScrollBar.h: Moved ScrollbarControlSize enum to ScrollTypes.h
3058         * platform/ScrollTypes.h: (WebCore::): Moved some existing types, and added new ones to be used in WebCore in WebKit.
3059         * platform/win/PlatformScrollBar.h: Moved ScrollbarPart enum to ScrollTypes.h
3060         * platform/win/PlatformScrollBarSafari.cpp:
3061         (WebCore::ScrollbarPartToScrollBarPiece): Added helper function.
3062         (WebCore::ScrollBarPieceMaskToScrollbarControlPartMask): ditto.
3063         (WebCore::ScrollbarControlStateFromThemeState): ditto.
3064         (WebCore::PlatformScrollbar::paint): Consolidated painting so the logic for the individual pieces is all in one place.
3065          Added new code to paint the custom scrollbars if necessary.
3066         * platform/win/ScrollViewWin.cpp: (WebCore::ScrollView::paint): Added code to paint the custom scroll corner if necessary.
3067
3068 2008-07-23  Sam Weinig  <sam@webkit.org>
3069
3070         Reviewed by Anders Carlsson.
3071
3072         Cleanup and pack the member variables in Node.
3073
3074         * bindings/js/JSNodeCustom.cpp:
3075         (WebCore::JSNode::mark):
3076         * dom/Attr.cpp:
3077         (WebCore::Attr::Attr):
3078         * dom/Attr.h:
3079         (WebCore::Attr::specified):
3080         (WebCore::Attr::setSpecified):
3081         * dom/ContainerNode.cpp:
3082         (WebCore::ContainerNode::setFocus):
3083         * dom/Document.cpp:
3084         (WebCore::Document::adoptNode):
3085         * dom/Element.cpp:
3086         (WebCore::Element::~Element):
3087         (WebCore::Element::rareData):
3088         (WebCore::Element::createRareData):
3089         * dom/Element.h:
3090         (WebCore::Element::hasRareData):
3091         (WebCore::Element::setHasRareData):
3092         * dom/Node.h:
3093         (WebCore::Node::setIsLink):
3094         (WebCore::Node::inSubtreeMark):
3095         (WebCore::Node::setInSubtreeMark):
3096         (WebCore::Node::attrWasSpecifiedOrElementHasRareData):
3097         (WebCore::Node::setAttrWasSpecifiedOrElementHasRareData):
3098         * html/HTMLAnchorElement.cpp:
3099         (WebCore::HTMLAnchorElement::supportsFocus):
3100         (WebCore::HTMLAnchorElement::isFocusable):
3101         (WebCore::HTMLAnchorElement::defaultEventHandler):
3102         (WebCore::HTMLAnchorElement::parseMappedAttribute):
3103         (WebCore::HTMLAnchorElement::isLiveLink):
3104         * html/HTMLImageElement.cpp:
3105         (WebCore::HTMLImageElement::parseMappedAttribute):
3106         * html/HTMLInputElement.cpp:
3107         (WebCore::HTMLInputElement::setInputType):
3108         * html/HTMLTableElement.cpp:
3109         (WebCore::HTMLTableElement::attach):
3110         * svg/SVGAElement.cpp:
3111         (WebCore::SVGAElement::svgAttributeChanged):
3112         (WebCore::SVGAElement::defaultEventHandler):
3113
3114 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
3115
3116         Reviewed by Adele.
3117
3118         Follow-up fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
3119
3120         Associate MovieControllers with Movies to support all of the media types QuickTime is able to play in standalone media documents.
3121
3122         * platform/graphics/win/QTMovieWin.cpp:
3123         (QTMovieWinPrivate::QTMovieWinPrivate):
3124         (QTMovieWinPrivate::~QTMovieWinPrivate):
3125         (QTMovieWinPrivate::task):
3126         (QTMovieWinPrivate::createMovieController):
3127         (QTMovieWinPrivate::createGWorld):
3128         (QTMovieWinPrivate::setSize):
3129         (QTMovieWinPrivate::deleteGWorld):
3130         (QTMovieWin::play):
3131         (QTMovieWin::pause):
3132         (QTMovieWin::setRate):
3133         (QTMovieWin::setCurrentTime):
3134         (QTMovieWin::load):
3135
3136 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
3137
3138         Reviewed by Adele.
3139
3140         Added a debug mode for viewing frames per second for videos.  This is controlled by two 
3141         independent compiler flags DRAW_FRAME_RATE in MediaPlayerPrivateQTKit.h and MediaPlayerPrivateQuickTimeWin.h.
3142         Unless either flags is turned on there is no change to the code for video frame drawing.
3143
3144         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3145         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3146         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3147         (WebCore::MediaPlayerPrivate::play):
3148         (WebCore::MediaPlayerPrivate::pause):
3149         (WebCore::MediaPlayerPrivate::didEnd):
3150         (WebCore::MediaPlayerPrivate::repaint):
3151         (WebCore::MediaPlayerPrivate::paint):
3152         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
3153         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3154         (WebCore::MediaPlayerPrivate::play):
3155         (WebCore::MediaPlayerPrivate::pause):
3156         (WebCore::MediaPlayerPrivate::didEnd):
3157         (WebCore::MediaPlayerPrivate::paint):
3158         (WebCore::MediaPlayerPrivate::movieNewImageAvailable):
3159         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
3160
3161 2008-07-23  Adele Peterson  <adele@apple.com>
3162
3163         Reviewed by Sam.
3164
3165         Fix for <rdar://problem/6080634> use lower quality CG interpolation in MediaPlayerPrivateQTKit to improve performance
3166
3167         * platform/graphics/GraphicsContext.cpp: (WebCore::GraphicsContext::drawImage):
3168         Call setImageInterpolationQuality(InterpolationNone) instead of setUseLowQualityImageInterpolation(true).
3169         * platform/graphics/GraphicsContext.h:
3170         (WebCore::): Added InterpolationQuality enum.
3171         (WebCore::GraphicsContext::setImageInterpolationQuality): Renamed from setUseLowQualityImageInterpolation.
3172         The implementation was always setting the quality to "none", and now we want to distinguish between "none" and "low".
3173         (WebCore::GraphicsContext::imageInterpolationQuality): Renamed from useLowQualityImageInterpolation.
3174         * platform/graphics/cg/GraphicsContextCG.cpp:
3175         (WebCore::GraphicsContext::setImageInterpolationQuality): Added.
3176         (WebCore::GraphicsContext::imageInterpolationQuality): Added.
3177         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::paint):
3178         Calls setImageInterpolationQuality(InterpolationLow) which will improve the painting performance without degrading quality too much.
3179
3180 2008-07-23  Sam Weinig  <sam@webkit.org>
3181
3182         Reviewed by Anders Carlsson.
3183
3184         Remove extraneous allocations by using equalIgnoringCase rather than
3185         String::lower.
3186
3187         * dom/StyledElement.cpp:
3188         (WebCore::StyledElement::addCSSColor):
3189         * html/HTMLCollection.cpp:
3190         (WebCore::HTMLCollection::checkForNameMatch):
3191         * html/HTMLFormCollection.cpp:
3192         (WebCore::HTMLFormCollection::getNamedFormItem):
3193         * html/HTMLLinkElement.cpp:
3194         (WebCore::HTMLLinkElement::tokenizeRelAttribute):
3195         * html/HTMLObjectElement.cpp:
3196         (WebCore::HTMLObjectElement::containsJavaApplet):
3197         * html/PreloadScanner.cpp:
3198         (WebCore::PreloadScanner::emitCSSRule):
3199         * loader/FrameLoader.cpp:
3200         (WebCore::FrameLoader::createJavaAppletWidget):
3201         * page/DOMSelection.cpp:
3202         (WebCore::DOMSelection::modify):
3203         * rendering/RenderPartObject.cpp:
3204         (WebCore::RenderPartObject::updateWidget):
3205
3206 2008-07-23  Maxime Britto  <britto@apple.com>
3207
3208         Reviewed by Adam Roben.
3209
3210         <rdar://6092952> "REGRESSION: Crash beneath EventHandler::stopAutoscrollTimer() when closing Gmail"
3211         Add a check for the m_page member value before asking for page()->mainFrame()
3212
3213         * page/EventHandler.cpp:
3214         (WebCore::EventHandler::stopAutoscrollTimer):
3215
3216 2008-07-23  Kevin Calhoun  <kcalhoun@apple.com>
3217
3218        Reviewed by Adele.
3219
3220        Fix for <rdar://problem/5710065> QT movies should be inactive when opened
3221
3222        Implemented deferral of set-up of video rendering on Mac until the ready state is Loaded and 
3223        until after movie tracks of unsupported types have been disabled, to make sure they never draw.
3224
3225         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3226         (WebCore::MediaPlayerPrivate::load):
3227         (WebCore::MediaPlayerPrivate::updateStates):
3228         (WebCore::MediaPlayerPrivate::setVisible):
3229
3230 2008-07-22  Maxime Britto  <britto@apple.com>
3231
3232         Reviewed by John Sullivan.
3233
3234         <rdar://problem/6083116>
3235         When pan-scrolling, Back then Forward causes pan-scrolling to start again
3236
3237         * page/Frame.cpp:
3238         (WebCore::Frame::clearTimers): Ask to stop the autoscroll timer when we clear the timers from the frame
3239         * loader/FrameLoader.cpp:
3240         (WebCore::FrameLoader::scrollToAnchor): When the link is an anchor we Frame::clearTimers() isn't called since we're only scrolling the page so we need to ask to stop the autoscroll timer here too.
3241
3242 2008-07-22  Geoffrey Garen  <ggaren@apple.com>
3243
3244         Reviewed by Oliver Hunt and Sam Weinig.
3245
3246         Next step toward putting doubles in registers: Prepare the Register class
3247         and its clients for registers that don't contain JSValue*s.
3248         
3249 2008-07-22  Sam Weinig  <sam@webkit.org>
3250
3251         Reviewed by Mark Rowe.
3252
3253         <rdar://problem/5788451> toDataURL not implemented for Windows (need mapping of MIME type to UTI)
3254         Add additional support for JPEG and GIF for toDataURL encoding canvases.
3255
3256         * platform/MIMETypeRegistry.cpp:
3257         (WebCore::initializeSupportedImageMIMETypesForEncoding):
3258         * platform/graphics/cg/ImageBufferCG.cpp:
3259         (WebCore::utiFromMIMEType):
3260
3261 2008-07-22  Chris Fleizach  <cfleizach@apple.com>
3262
3263         Reviewed by Dave Hyatt.
3264
3265         <rdar://problem/6004877> internal anchors on this page are not showing up in the AXLinkedUIElements
3266         Test: accessibility/internal-link-anchors2.html
3267
3268         * page/AccessibilityRenderObject.cpp:
3269         (WebCore::AccessibilityRenderObject::internalLinkElement):
3270
3271 2008-07-22  Anders Carlsson  <andersca@apple.com>
3272
3273         Reviewed by Adam.
3274
3275         Allocate the empty StringImpl from the heap.
3276         
3277         * platform/text/StringImpl.cpp:
3278         (WebCore::StringImpl::empty):
3279
3280 2008-07-21  Kevin McCullough  <kmccullough@apple.com>
3281
3282         Reviewed by Tim.
3283
3284         <rdar://problem/5951532> JSProfiler: Implement heavy (or bottom-up)
3285         view (19228)
3286         - Implement UI for Heavy (Bottom Up) view.
3287
3288         * English.lproj/localizedStrings.js:
3289         * page/JavaScriptProfile.cpp: Expose the ability to get a heavy/tree
3290         profile from a profile to the Web Inspector's JavaScript.
3291         (WebCore::getHeavyProfileCallback):
3292         (WebCore::getTreeProfileCallback):
3293         (WebCore::ProfileClass):
3294         * page/inspector/ProfileView.js: Implement the dropdown for changing
3295         profile views.
3296         * page/inspector/inspector.css:
3297
3298 2008-07-22  Alexey Proskuryakov  <ap@webkit.org>
3299
3300         Reviewed by Adam Roben.
3301
3302         <rdar://problem/5955602> WebKit should support charset name x-windows-949
3303
3304         Test: fast/encoding/char-decoding.html
3305
3306         * platform/text/TextCodecICU.cpp:
3307         (WebCore::TextCodecICU::registerExtendedEncodingNames): Added support for this name for
3308         Firefox compatibility.
3309
3310 2008-07-22  Gavin Barraclough  <barraclough@apple.com>
3311
3312         Reviewed by Alexey Proskuryakov.
3313
3314         New test to check that arrays fail gracefully (throw an out of memory exception)
3315         when the vector grows to large.
3316
3317         * manual-tests/array-out-of-memory.html: Added.
3318
3319 2008-07-21  Alexey Proskuryakov  <ap@webkit.org>
3320
3321         Reviewed by Dan Bernstein.
3322
3323         https://bugs.webkit.org/show_bug.cgi?id=20117
3324         setBaseAndExtent fails to reverse the current selection
3325
3326         Test: editing/selection/setBaseAndExtent-revert-selection.html
3327
3328         * editing/Selection.h: (WebCore::operator==): Compare direction, too.
3329
3330 2008-07-21  Julien Chaffraix  <jchaffraix@webkit.org>
3331
3332         Reviewed by Sam Weinig.
3333
3334         Bug 19919: Add selectors' string parsing in CSSParser
3335         https://bugs.webkit.org/show_bug.cgi?id=19919
3336
3337         No functional change.
3338
3339         * css/CSSGrammar.y: Added entry for parsing only a selector.
3340         * css/CSSParser.cpp:
3341         (WebCore::CSSParser::CSSParser):
3342         (WebCore::CSSParser::parseSelector):
3343         * css/CSSParser.h: Added m_floatingSelector to hold the
3344         Selector parsed in parseSelector.
3345
3346         * css/tokenizer.flex: Added "@-webkit-selector" token.
3347         * dom/Node.cpp:
3348         (WebCore::Node::querySelector):
3349         (WebCore::Node::querySelectorAll): Switched to parseSelector
3350         method.
3351
3352 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
3353
3354         Reviewed by Adele.
3355
3356         Fix for <rdar://problem/6081160> REGRESSION: Hang loading many pages if QuickTime isn't installed
3357
3358         * platform/graphics/win/QTMovieWin.cpp:
3359         (initializeSupportedTypes): Do a Quicktime version minimum version check.
3360         (QTMovieWin::initializeQuickTime): Store the Quicktime version globally so in can be used in initializeSupportedTypes as well.
3361
3362 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
3363
3364         Reviewed by Adele.
3365
3366         Fix for <rdar://problem/5713336> <video> and <audio> elements that use a autoplay attribute fail to start playing when returning back to page
3367
3368         * html/HTMLMediaElement.cpp: (WebCore::HTMLMediaElement::willSaveToCache): Reset the ready state to DATA_UNAVAILABLE when saving to the cache
3369         so that everything starts back up normally when the page is retrieved from the cache.
3370
3371 2008-07-21  Sam Weinig  <sam@webkit.org>
3372
3373         Reviewed by Mark Rowe.
3374
3375         Remove unused interface declaration.
3376
3377         * platform/network/mac/ResourceHandleMac.mm:
3378
3379 2008-07-21  Mark Rowe  <mrowe@apple.com>
3380
3381         Reviewed by Sam Weinig.
3382
3383         <rdar://problem/6091287> Revamp the handling of CFBundleShortVersionString to be fixed at the major component of the version number.
3384
3385         * Configurations/Version.xcconfig:
3386         * Info.plist:
3387
3388 2008-07-21  Kevin Calhoun  <kcalhoun@apple.com>
3389
3390         Reviewed by Adele.
3391
3392         Fix for <rdar://problem/6031039> don't disable track-types when media is in a standalone document
3393
3394         * platform/graphics/MediaPlayer.cpp: (WebCore::MediaPlayer::inMediaDocument): Added.
3395         * platform/graphics/MediaPlayer.h:
3396         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm: (WebCore::MediaPlayerPrivate::updateStates):
3397         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp: (WebCore::MediaPlayerPrivate::updateStates):
3398
3399 2008-07-21  Anders Carlsson  <andersca@apple.com>
3400
3401         Reviewed by Jon.
3402
3403         Don't allow requests to be made when the document loader is stopping all loaders.
3404
3405         * plugins/PluginView.cpp:
3406         (WebCore::PluginView::load):
3407
3408 2008-07-20  Maxime Britto  <britto@apple.com>
3409
3410         Reviewed by John Sullivan.
3411
3412         [PFR] <rdar://problem/6080639> New middle click scrolling speed seems much slower than in FF
3413         Accelerate and enhance the smoothness of the pan scrollling.
3414
3415         * page/EventHandler.cpp: Changed the TimerInterval from 0.1 to 0.05. The scrolling is way more fluid like this.
3416         * rendering/RenderLayer.cpp: 
3417         (WebCore::RenderLayer::panScrollFromPoint): Differentiate the speed within a 200 pixel side square, around the original click location to the speed for farther distances. This way we allow easyier handle when we are close to the center and very fast scrolling when we go far from the original point.
3418
3419 2008-07-18  David Hyatt  <hyatt@apple.com>
3420
3421         Change the cached clip rects to not assume they should be infinite when the root layer has been
3422         shifted as the result of a transformation.
3423
3424         Reviewed by Maciej
3425
3426         Added fast/transforms/overflow-with-transform.html
3427
3428         * rendering/RenderLayer.cpp:
3429         (WebCore::RenderLayer::calculateClipRects):
3430
3431 2008-07-21  Rob Buis  <buis@kde.org>
3432
3433         Reviewed by Mitz.
3434
3435         https://bugs.webkit.org/show_bug.cgi?id=19966
3436         CSS variables crash when using hex notation for colors
3437
3438         Support hex colors as values for the css variables.
3439
3440         Test: fast/css/variables/color-hex-test.html
3441
3442         * css/CSSParserValues.cpp:
3443         (WebCore::CSSParserValue::createCSSValue):
3444         * css/CSSPrimitiveValue.cpp:
3445         (WebCore::CSSPrimitiveValue::parserValue):
3446         * css/CSSVariablesRule.cpp:
3447
3448 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
3449
3450         Reviewed by Holger.
3451
3452         Fix drawing of windowless plugins on Windows with the Qt port by
3453         avoiding the reset of the translation of the HDC to 0, 0.
3454
3455         * plugins/win/PluginViewWin.cpp:
3456         (WebCore::PluginView::paint):
3457
3458 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
3459
3460         Reviewed by Holger.
3461
3462         Fix rendering of transparent windowless netscape plugins by passing
3463         the right conversion parameter to QPixmap::fromWinHBITMAP when
3464         converting from HBITMAP to QPixmap.
3465
3466         * platform/graphics/qt/GraphicsContextQt.cpp:
3467         (WebCore::GraphicsContext::releaseWindowsContext):
3468
3469 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
3470
3471         Reviewed by Holger.
3472
3473         In the implementation of getValue for NPNVnetscapeWindow treat
3474         windowHandleForPlatformWidget on the return value of
3475         containingWindow() to receive the correct HWND for the Qt port.
3476
3477         * plugins/win/PluginViewWin.cpp:
3478         (WebCore::PluginView::getValue):
3479
3480 2008-07-21  Simon Hausmann  <hausmann@webkit.org>
3481
3482         Reviewed by Holger.
3483
3484         Fix windowHandleForPlatformWidget to return 0 as HWND if we don't have
3485         a QWidget. This can happen on page/view destruction for example.
3486
3487         * plugins/win/PluginViewWin.cpp:
3488         (windowHandleForPlatformWidget):
3489
3490 2008-07-20  Steve Falkenburg  <sfalken@apple.com>
3491
3492         Touch file to force rebuild for vsprops change.
3493
3494         * WebCorePrefix.h:
3495
3496 2008-07-20  Sam Weinig  <sam@webkit.org>
3497
3498         Remove extra space Oliver Hunt left in.
3499
3500         * page/Console.cpp:
3501         (WebCore::Console::reportException):
3502         (WebCore::Console::reportCurrentException):
3503
3504 2008-07-20  Oliver Hunt  <oliver@apple.com>
3505
3506         Reviewed by Dan Bernstein.
3507
3508         Bug 19757: Crash when an ondragstart handler hides the element
3509         <https://bugs.webkit.org/show_bug.cgi?id=19757>
3510
3511         The solution to this is problem is just to null check the renderer
3512         immediately before launching the system drag, and terminate the
3513         drag if the renderer is gone.
3514
3515         * page/EventHandler.cpp:
3516         (WebCore::EventHandler::handleDrag):
3517
3518 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
3519
3520         Reviewed by Oliver.
3521
3522         Fixes: https://bugs.webkit.org/show_bug.cgi?id=12171
3523
3524         Remove manual SVG property <-> XML attribute synchronization in SVGPolyElement.
3525         Added svg/custom/poly-points-attribute-changes.svg (testcase from Rob)
3526
3527         * svg/SVGPointList.cpp:
3528         (WebCore::SVGPointList::valueAsString):
3529         * svg/SVGPointList.h:
3530         (WebCore::SVGPointList::create):
3531         * svg/SVGPolyElement.cpp:
3532         (WebCore::SVGPolyElement::SVGPolyElement):
3533         (WebCore::SVGPolyElement::svgAttributeChanged):
3534         (WebCore::SVGPolyElement::updateAnimatedSVGAttribute):
3535         * svg/SVGPolyElement.h:
3536
3537 2008-07-20  Nikolas Zimmermann  <zimmermann@kde.org>
3538
3539         Reviewed by Oliver.
3540
3541         Cleanup JSSVGPODTypeWrapper code.
3542
3543         Rename: JSSVGPODTypeWrapperCreatorReadOnly -> JSSVGStaticPODTypeWrapper
3544                 JSSVGPODTypeWrapperReadWrite       -> JSSVGDynamicPODTypeWrapper
3545                 JSSVGPODTypeWrapperCache           -> JSSVGDynamicPODTypeWrapperCacheCache
3546
3547         No functional changes.
3548
3549         * bindings/js/JSSVGMatrixCustom.cpp:
3550         (WebCore::JSSVGMatrix::multiply):
3551         (WebCore::JSSVGMatrix::inverse):
3552         (WebCore::JSSVGMatrix::translate):
3553         (WebCore::JSSVGMatrix::scale):
3554         (WebCore::JSSVGMatrix::scaleNonUniform):
3555         (WebCore::JSSVGMatrix::rotate):
3556         (WebCore::JSSVGMatrix::rotateFromVector):
3557         (WebCore::JSSVGMatrix::flipX):
3558         (WebCore::JSSVGMatrix::flipY):
3559         (WebCore::JSSVGMatrix::skewX):
3560         (WebCore::JSSVGMatrix::skewY):
3561         * bindings/js/JSSVGPODTypeWrapper.h:
3562         (WebCore::JSSVGDynamicPODTypeWrapper::create):
3563         (WebCore::JSSVGDynamicPODTypeWrapper::operator PODType):
3564         (WebCore::JSSVGDynamicPODTypeWrapper::JSSVGDynamicPODTypeWrapper):
3565         (WebCore::JSSVGStaticPODTypeWrapper::create):
3566         (WebCore::JSSVGStaticPODTypeWrapper::operator PODType):
3567         (WebCore::JSSVGStaticPODTypeWrapper::JSSVGStaticPODTypeWrapper):
3568         (WebCore::JSSVGPODTypeWrapperCreatorForList::create):
3569         (WebCore::JSSVGPODTypeWrapperCreatorForList::operator PODType):
3570         (WebCore::JSSVGPODTypeWrapperCreatorForList::JSSVGPODTypeWrapperCreatorForList):
3571         (WebCore::PODTypeWrapperCacheInfo::PODTypeWrapperCacheInfo):
3572         (WebCore::PODTypeWrapperCacheInfo::operator==):
3573         (WebCore::PODTypeWrapperCacheInfoHash::hash):
3574         (WebCore::PODTypeWrapperCacheInfoHash::equal):
3575         (WebCore::PODTypeWrapperCacheInfoTraits::emptyValue):
3576         (WebCore::PODTypeWrapperCacheInfoTraits::constructDeletedValue):
3577         (WebCore::PODTypeWrapperCacheInfoTraits::isDeletedValue):
3578         (WebCore::JSSVGDynamicPODTypeWrapperCache::dynamicWrapperHashMap):
3579         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
3580         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
3581         * bindings/js/JSSVGPointListCustom.cpp:
3582         (WebCore::finishGetter):
3583         (WebCore::finishSetter):
3584         (WebCore::finishSetterReadOnlyResult):
3585         (WebCore::JSSVGPointList::initialize):
3586         (WebCore::JSSVGPointList::insertItemBefore):
3587         (WebCore::JSSVGPointList::replaceItem):
3588         (WebCore::JSSVGPointList::appendItem):
3589         * bindings/js/JSSVGTransformListCustom.cpp:
3590         (WebCore::finishGetter):
3591         (WebCore::finishSetter):
3592         (WebCore::finishSetterReadOnlyResult):
3593         (WebCore::JSSVGTransformList::initialize):
3594         (WebCore::JSSVGTransf