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