2008-09-01 Dean Jackson <dino@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2008-09-01  Dean Jackson  <dino@apple.com>
2
3         Reviewed by Sam Weinig.
4
5         https://bugs.webkit.org/show_bug.cgi?id=20571
6         Make sure Window object can assign Animation/Transition event
7         listeners via attributes.
8
9         Also added a bunch of transition event tests, although
10         only transition-end-event-window is directly relevant to this patch.
11
12         (WebCore::JSDOMWindowBase::put):
13
14         Tests: transitions/transition-end-event-all-properties.html
15                transitions/transition-end-event-attributes.html
16                transitions/transition-end-event-container.html
17                transitions/transition-end-event-left.html
18                transitions/transition-end-event-multiple-01.html
19                transitions/transition-end-event-multiple-02.html
20                transitions/transition-end-event-multiple-03.html
21                transitions/transition-end-event-multiple-04.html
22                transitions/transition-end-event-nested.html
23                transitions/transition-end-event-transform.html
24                transitions/transition-end-event-window.html
25
26 2008-09-01  Dean Jackson  <dino@apple.com>
27
28         Reviewed by Sam Weinig
29
30         Code styling cleanup.
31
32         * bindings/js/JSDOMWindowBase.cpp:
33         (WebCore::JSDOMWindowBase::getValueProperty):
34         (WebCore::JSDOMWindowBase::put):
35
36 2008-09-01  Geoffrey Garen  <ggaren@apple.com>
37
38         Reviewed by Darin Adler.
39
40         First cut at inline caching for access to vanilla JavaScript properties.
41
42         Updated for JavaScriptCore changes. Mostly mechanical addition of StructureIDs
43         to WebCore classes, and PutPropertySlot& arguments to put functions.
44
45         (WebCore::JSCSSStyleDeclaration::customPut): Be sure to play nice with
46         inline caching for global properties, so global assignment can be optimized.
47
48         * ForwardingHeaders/kjs/StructureID.h: Added.
49         * bindings/js/JSDOMBinding.h:
50         (WebCore::DOMObject::DOMObject):
51         * bindings/js/JSDOMWindowBase.cpp:
52         (WebCore::JSDOMWindowBase::put):
53         * bindings/js/JSDOMWindowBase.h:
54         * bindings/js/JSDOMWindowCustom.h:
55         (WebCore::JSDOMWindow::customPut):
56         * bindings/js/JSDOMWindowShell.cpp:
57         (WebCore::JSDOMWindowShell::JSDOMWindowShell):
58         (WebCore::JSDOMWindowShell::put):
59         * bindings/js/JSDOMWindowShell.h:
60         * bindings/js/JSEventTargetBase.h:
61         (WebCore::JSEventTargetBase::put):
62         * bindings/js/JSEventTargetNode.h:
63         (WebCore::JSEventTargetNode::put):
64         * bindings/js/JSHTMLAppletElementCustom.cpp:
65         (WebCore::JSHTMLAppletElement::customPut):
66         * bindings/js/JSHTMLEmbedElementCustom.cpp:
67         (WebCore::JSHTMLEmbedElement::customPut):
68         * bindings/js/JSHTMLInputElementBase.cpp:
69         (WebCore::JSHTMLInputElementBase::put):
70         * bindings/js/JSHTMLInputElementBase.h:
71         * bindings/js/JSHTMLObjectElementCustom.cpp:
72         (WebCore::JSHTMLObjectElement::customPut):
73         * bindings/js/JSHistoryCustom.cpp:
74         (WebCore::JSHistory::customPut):
75         * bindings/js/JSInspectedObjectWrapper.cpp:
76         (WebCore::JSInspectedObjectWrapper::wrap):
77         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
78         * bindings/js/JSInspectedObjectWrapper.h:
79         * bindings/js/JSInspectorCallbackWrapper.cpp:
80         (WebCore::JSInspectorCallbackWrapper::wrap):
81         (WebCore::JSInspectorCallbackWrapper::JSInspectorCallbackWrapper):
82         * bindings/js/JSInspectorCallbackWrapper.h:
83         * bindings/js/JSLocationCustom.cpp:
84         (WebCore::JSLocation::customPut):
85         * bindings/js/JSPluginElementFunctions.cpp:
86         (WebCore::runtimeObjectCustomPut):
87         * bindings/js/JSPluginElementFunctions.h:
88         * bindings/js/JSQuarantinedObjectWrapper.cpp:
89         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper):
90         (WebCore::JSQuarantinedObjectWrapper::put):
91         * bindings/js/JSQuarantinedObjectWrapper.h:
92         * bindings/js/JSStorageCustom.cpp:
93         (WebCore::JSStorage::customPut):
94         * bindings/objc/WebScriptObject.mm:
95         (-[WebScriptObject setValue:forKey:]):
96         * bindings/scripts/CodeGeneratorJS.pm:
97         * bridge/NP_jsobject.cpp:
98         (_NPN_SetProperty):
99         * bridge/jni/jni_jsobject.mm:
100         (JavaJSObject::setMember):
101         * bridge/objc/objc_class.mm:
102         (KJS::Bindings::ObjcClass::fallbackObject):
103         * bridge/objc/objc_runtime.h:
104         * bridge/objc/objc_runtime.mm:
105         (ObjcFallbackObjectImp::ObjcFallbackObjectImp):
106         (ObjcFallbackObjectImp::put):
107         * bridge/runtime.cpp:
108         (KJS::Bindings::Instance::createRuntimeObject):
109         * bridge/runtime_array.cpp:
110         (RuntimeArray::put):
111         * bridge/runtime_array.h:
112         * bridge/runtime_object.cpp:
113         (RuntimeObjectImp::RuntimeObjectImp):
114         (RuntimeObjectImp::put):
115         * bridge/runtime_object.h:
116
117 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
118
119         Reviewed by Eric Seidel.
120
121         Fixed border-radius for Cairo.
122
123         * platform/graphics/cairo/GraphicsContextCairo.cpp:
124         (WebCore::GraphicsContext::strokeArc):
125
126 2008-09-01  Dirk Schulze  <vbs85@gmx.de>
127
128         Reviewed by Eric Seidel.
129
130         Added canvas's globalAlpha to cairo.
131
132         * platform/graphics/GraphicsContext.h:
133         * platform/graphics/cairo/GraphicsContextCairo.cpp:
134         (WebCore::GraphicsContext::fillPath):
135         (WebCore::GraphicsContext::strokePath):
136         (WebCore::GraphicsContext::setAlpha):
137         (WebCore::GraphicsContext::getAlpha):
138         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
139         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
140         * platform/graphics/cairo/ImageCairo.cpp:
141         (WebCore::BitmapImage::draw):
142
143 2008-08-31  Simon Hausmann  <hausmann@webkit.org>
144
145         Unreviewed Qt build fix.
146
147         * WebCore.pro: Add TextControlInnerElements.cpp to SOURCES instead of
148         the .h file
149
150 2008-08-30  Darin Adler  <darin@apple.com>
151
152         Reviewed by Maciej.
153
154         - adopt some new JavaScriptCore functions where appropriate
155
156         * bindings/js/JSDOMWindowBase.cpp:
157         (WebCore::windowProtoFuncAToB): Adopted jsEmptyString.
158         (WebCore::windowProtoFuncBToA): Ditto.
159         * bindings/js/JSEventListener.cpp:
160         (WebCore::JSLazyEventListener::eventParameterName): Adopted
161         jsNontrivialString.
162         * bindings/js/JSSVGLazyEventListener.cpp:
163         (WebCore::JSSVGLazyEventListener::eventParameterName): Ditto.
164
165 2008-08-29  Brady Eidson  <beidson@apple.com>
166
167         Reviewed by Anders' rubberstamp
168
169         Style cleanup to match MediaTokenizer::writeRawData()
170
171         * loader/PluginDocument.cpp:
172         (WebCore::PluginTokenizer::writeRawData):
173
174 2008-08-29  Brady Eidson  <beidson@apple.com>
175
176         Reviewed by Anders
177
178         Fix regression I introducted in 35946
179         Already covered by media/video-click-dlbclick-standalone.html
180
181         * loader/MediaDocument.cpp:
182         (WebCore::MediaTokenizer::createDocumentStructure): Don't cancel the load here - too early!
183         (WebCore::MediaTokenizer::writeRawData): Call finish() here so onload() can be called.  Also add
184           an ASSERT signifying that this method should only be called once, to more closely follow the
185           PluginDocument case.
186
187 2008-08-29  Beth Dakin  <bdakin@apple.com>
188
189         Reviewed by Sam Weinig.
190
191         Fix for <rdar://problem/6181588>
192
193         This patch makes hit testing take into account the new concept of a 
194         disconnected frame, in which some of the content may not be 
195         visible. The current hit testing mechanism starts at a target frame 
196         and drills down for a HitTestResult. In some cases, drilling down 
197         will find a non-visible result. When this happens, we need to try 
198         again, starting at a higher level -- namely, starting at the main 
199         frame.
200
201         * editing/Editor.cpp:
202         (WebCore::Editor::insideVisibleArea): New function that tests if a 
203         point is inside the visible area for a disconnected frame.
204         * editing/Editor.h:
205         * page/EventHandler.cpp:
206         (WebCore::EventHandler::hitTestResultAtPoint):
207
208 2008-08-29  Adele Peterson  <adele@apple.com>
209
210         Reviewed by Adam Roben. 
211
212         Rename HTMLTextFieldInnerElement.h/.cpp to TextControlInnerElements.h/.cpp
213
214         * GNUmakefile.am:
215         * WebCore.pro:
216         * WebCore.vcproj/WebCore.vcproj:
217         * WebCore.xcodeproj/project.pbxproj:
218         * WebCoreSources.bkl:
219         * html/HTMLTextFieldInnerElement.cpp: Removed.
220         * html/HTMLTextFieldInnerElement.h: Removed.
221         * rendering/RenderTextControl.cpp:
222         (WebCore::RenderTextControl::createSubtreeIfNeeded):
223         * rendering/RenderTextControl.h:
224         * rendering/TextControlInnerElements.cpp: Copied from html/HTMLTextFieldInnerElement.cpp.
225         (WebCore::TextControlInnerElement::TextControlInnerElement):
226         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
227         (WebCore::TextControlInnerTextElement::defaultEventHandler):
228         (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
229         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
230         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
231         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
232         * rendering/TextControlInnerElements.h: Copied from html/HTMLTextFieldInnerElement.h.
233
234 2008-08-29  Eric Seidel  <eric@webkit.org>
235
236         Rubber-stamped by aroben.
237
238         Add GraphicsContext.h include to GraphcisContextPrivate.h
239
240         GraphicsContextPrivate uses StrokeStyle which is defined
241         in GraphicsContext.h but it doesn't include that header.
242         CoreGraphics build doesn't fail here due to the order
243         it happens to include files.
244
245         * platform/graphics/GraphicsContextPrivate.h:
246
247 2008-08-29  Eric Seidel  <eric@webkit.org>
248
249         Reviewed by hyatt.
250
251         Fix GeneratedImage to respect Image's refcounting
252         Fixing potential crashers (future if not current)
253         https://bugs.webkit.org/show_bug.cgi?id=20567
254         
255         I don't know if it's possible to make the current code
256         crash, thus I've not made a test.
257
258         * css/CSSGradientValue.cpp:
259         (WebCore::CSSGradientValue::image):
260         * css/CSSImageGeneratorValue.cpp:
261         (WebCore::CSSImageGeneratorValue::removeClient):
262         (WebCore::CSSImageGeneratorValue::getImage):
263         * css/CSSImageGeneratorValue.h:
264         * platform/graphics/GeneratedImage.h:
265         (WebCore::GeneratedImage::GeneratedImage):
266         * rendering/style/RenderStyle.cpp:
267         (WebCore::RenderStyle::setContent):
268         * rendering/style/RenderStyle.h:
269
270 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
271
272         Reviewed by Adele.
273
274         Fix for <rdar://problem/6093767>
275         https://bugs.webkit.org/show_bug.cgi?id=20526
276
277         Don't allow video to render until unsupported track types have been disabled.
278
279         * platform/graphics/win/QTMovieWin.cpp:
280         (QTMovieWinPrivate::task):
281         (QTMovieWinPrivate::drawingComplete):
282         (QTMovieWinPrivate::clearGWorld):
283
284 2008-08-29  Eric Carlson  <eric.carlson@apple.com>
285
286         Reviewed by Adele.
287
288         Fix for https://bugs.webkit.org/show_bug.cgi?id=20525
289         <rdar://problem/6169301>
290         
291         Return the size of the movie data instead of 1000.
292         
293         Test: media/progress-event-total.html
294
295         * platform/graphics/win/QTMovieWin.cpp:
296         (QTMovieWin::dataSize):
297
298 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
299
300         Reviewed by Eric Seidel.
301
302         [janitor/qt] Start replacing port specific getters with the generic native getter
303         To get the native presentation of an image we currently have platform
304         specific #ifdef's and a generic getter using NativeImagePtr. This patch
305         extends this to the ImageBuffer and updates the Qt platform to get rid
306         of the special #ifdefs.
307
308         https://bugs.webkit.org/attachment.cgi?id=22861
309
310         * platform/graphics/BitmapImage.h:
311         * platform/graphics/Image.h:
312         * platform/graphics/qt/ImageQt.cpp:
313         * platform/graphics/qt/StillImageQt.cpp:
314         * platform/graphics/qt/StillImageQt.h:
315         * platform/qt/ClipboardQt.cpp:
316         (WebCore::ClipboardQt::createDragImage):
317         (WebCore::ClipboardQt::declareAndWriteDragImage):
318         * platform/qt/CursorQt.cpp:
319         * platform/qt/PasteboardQt.cpp:
320         (WebCore::Pasteboard::writeImage):
321
322 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
323
324         Reviewed by Simon.
325
326         [svg/qt] Stop crashing... when no RenderPath/RenderObject is given...
327
328         * svg/graphics/qt/SVGPaintServerQt.cpp:
329         (WebCore::SVGPaintServer::renderPath):
330         * svg/graphics/qt/SVGPaintServerSolidQt.cpp:
331         (WebCore::SVGPaintServerSolid::setup):
332
333 2008-08-29  Holger Hans Peter Freyther  <zecke@selfish.org>
334
335         Reviewed by Simon.
336
337         [network/qt] Implement defering of loading ResourceHandle's
338         This is needed otherwise we end in an ASSERT in the MainResourceLoader. The
339         implementation is simply not forwarding anything to the
340         ResourceHandleClient until we are allowed to. This might lead to a deadlock
341         in Qt as we do not empty the QNetworkReply input buffer and wait until we
342         are allowed to read. If that happens we are forced to buffer the data
343         within QNetworkReplyHandler, for now this is not done.
344
345         Manual test:
346         - Open http://acid3.acidtests.org
347         - Wait for the test to complete
348         - Click on the Reference Rendering link
349         - Be fast and see the results of acid3
350         => assert
351
352         * platform/network/qt/QNetworkReplyHandler.cpp:
353         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
354         (WebCore::QNetworkReplyHandler::setLoadMode):
355         (WebCore::QNetworkReplyHandler::finish):
356         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
357         (WebCore::QNetworkReplyHandler::forwardData):
358         (WebCore::QNetworkReplyHandler::start):
359         (WebCore::QNetworkReplyHandler::resetState):
360         (WebCore::QNetworkReplyHandler::sendQueuedItems):
361         * platform/network/qt/QNetworkReplyHandler.h:
362         (WebCore::QNetworkReplyHandler::):
363         * platform/network/qt/ResourceHandleQt.cpp:
364         (WebCore::ResourceHandle::start):
365         (WebCore::ResourceHandle::loadResourceSynchronously):
366         (WebCore::ResourceHandle::setDefersLoading):
367
368 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
369
370         Reviewed by Holger.
371
372         Don't crash when drawing patterns with the HTML canvas. Patterns
373         remain unimplemented but at least they don't crash anymore. This is
374         done by changing the PlatformPatternPtr to be a brush for the Qt
375         platform.
376
377         * platform/graphics/Pattern.h:
378         * platform/graphics/qt/GraphicsContextQt.cpp:
379         (WebCore::GraphicsContext::fillPath):
380         (WebCore::GraphicsContext::strokePath):
381         (WebCore::GraphicsContext::fillRect):
382         * platform/graphics/qt/PatternQt.cpp:
383         (WebCore::Pattern::createPlatformPattern):
384
385 2008-08-29  Simon Hausmann  <hausmann@webkit.org>
386
387         Fix the Qt build, fontSelector() is not used by the Qt port yet
388         and we just return 0 in Font::fontSelector().
389
390         * platform/graphics/Font.h:
391
392 2008-08-28  Alp Toker  <alp@nuanti.com>
393
394         GTK+ dist/build fix. List newly added header files.
395
396         * GNUmakefile.am:
397
398 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
399
400         Reviewed by Dave Hyatt
401
402         Various WebKitCSSTransformValue-related fixes
403         https://bugs.webkit.org/show_bug.cgi?id=20562
404
405         Test: css3/transform-value-types.html
406
407         * bindings/js/JSCSSValueCustom.cpp:
408         (WebCore::toJS):
409         * css/CSSValue.h:
410         * css/WebKitCSSTransformValue.cpp:
411         (WebCore::WebKitCSSTransformValue::cssText):
412         * css/WebKitCSSTransformValue.h:
413         (WebCore::WebKitCSSTransformValue::):
414         * css/WebKitCSSTransformValue.idl:
415
416 2008-08-28  Dan Bernstein  <mitz@apple.com>
417
418         Reviewed by Steve Falkenburg.
419
420         - do not let the "last chance" WM_TIMER trigger WebCore timers when they should be deferred
421
422         * platform/win/SharedTimerWin.cpp:
423         (WebCore::TimerWindowWndProc):
424
425 2008-08-28  David Hyatt  <hyatt@apple.com>
426
427         RenderStyle cleanup.
428
429         Break out StyleImage, StyleGeneratedImage, StyleCachedImage and NinePieceImage into separate files.
430
431         Reviewed by Adam
432
433         * css/CSSImageGeneratorValue.cpp:
434         * css/CSSImageValue.cpp:
435         * css/CSSStyleSelector.cpp:
436         * rendering/RenderImageGeneratedContent.cpp:
437         * rendering/style/NinePieceImage.cpp: Added.
438         * rendering/style/NinePieceImage.h: Added.
439         * rendering/style/RenderStyle.cpp:
440         (WebCore::FillLayer::operator==):
441         (WebCore::FillLayer::containsImage):
442         (WebCore::StyleInheritedData::operator==):
443         (WebCore::RenderStyle::contentDataEquivalent):
444         * rendering/style/RenderStyle.h:
445         * rendering/style/StyleCachedImage.cpp: Added.
446         * rendering/style/StyleCachedImage.h: Added.
447         * rendering/style/StyleGeneratedImage.cpp: Added.
448         * rendering/style/StyleGeneratedImage.h: Added.
449         * rendering/style/StyleImage.h: Added.
450
451 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
452
453         Reviewed by Dave Hyatt
454
455         Make all the 'isFoo()' methods on CSSValue const,
456         and fix the subclasses.
457         
458         https://bugs.webkit.org/show_bug.cgi?id=20561
459         
460         * css/CSSTimingFunctionValue.h:
461         * css/CSSValue.h:
462         (WebCore::CSSValue::isFontValue):
463         (WebCore::CSSValue::isImageGeneratorValue):
464         (WebCore::CSSValue::isImageValue):
465         (WebCore::CSSValue::isImplicitInitialValue):
466         * css/CSSValueList.h:
467         * css/FontValue.h:
468
469 2008-08-28  David Hyatt  <hyatt@apple.com>
470
471         The great RenderStyle cleanup begins!
472
473         Move LengthBox and LengthSize out of RenderStyle and into Length.
474
475         Reviewed by Adam
476
477         * rendering/Length.h:
478         (WebCore::):
479         (WebCore::Length::Length):
480         (WebCore::Length::operator==):
481         (WebCore::Length::operator!=):
482         (WebCore::Length::value):
483         (WebCore::Length::rawValue):
484         (WebCore::Length::percent):
485         (WebCore::Length::type):
486         (WebCore::Length::quirk):
487         (WebCore::Length::setValue):
488         (WebCore::Length::setRawValue):
489         (WebCore::Length::calcValue):
490         (WebCore::Length::calcMinValue):
491         (WebCore::Length::calcFloatValue):
492         (WebCore::Length::isUndefined):
493         (WebCore::Length::isZero):
494         (WebCore::Length::isPositive):
495         (WebCore::Length::isNegative):
496         (WebCore::Length::isAuto):
497         (WebCore::Length::isRelative):
498         (WebCore::Length::isPercent):
499         (WebCore::Length::isFixed):
500         (WebCore::Length::isStatic):
501         (WebCore::Length::isIntrinsicOrAuto):
502         (WebCore::Length::blend):
503         (WebCore::LengthBox::LengthBox):
504         (WebCore::LengthBox::operator=):
505         (WebCore::LengthBox::operator==):
506         (WebCore::LengthBox::operator!=):
507         (WebCore::LengthBox::nonZero):
508         (WebCore::LengthSize::LengthSize):
509         * rendering/style/RenderStyle.h:
510
511 2008-08-28  David Hyatt  <hyatt@apple.com>
512
513         Reviewed by Darin
514
515         https://bugs.webkit.org/show_bug.cgi?id=18091
516
517         font-size should be animatable using -webkit-transition.
518
519         * page/AnimationController.cpp:
520         (WebCore::AnimationControllerPrivate::ensurePropertyMap):
521         * rendering/style/RenderStyle.h:
522         (WebCore::RenderStyle::setFontSize):
523
524 2008-08-28  Brad Garcia  <bgarcia@google.com>
525
526         Reviewed by Dan Bernstein.
527
528         https://bugs.webkit.org/show_bug.cgi?id=20549
529         Correctly determine when cursor is over a resizable border within
530         a nested frameset.
531
532         * rendering/RenderFrameSet.cpp:
533         (WebCore::RenderFrameSet::canResizeRow):
534         (WebCore::RenderFrameSet::canResizeColumn):
535
536 2008-08-28  Simon Fraser  <simon.fraser@apple.com>
537
538         Reviewed by Eric Seidel
539
540         Add RuleTypes to CSSRule.idl for keyframes and keyframe rules.
541         https://bugs.webkit.org/show_bug.cgi?id=20552
542
543         Test: animations/animation-css-rule-types.html
544
545         * css/CSSRule.idl:
546
547 2008-08-28  Anders Carlsson  <andersca@apple.com>
548
549         Reviewed by Kevin and Darin.
550
551         <rdar://problem/6182541>
552         https://bugs.webkit.org/show_bug.cgi?id=20202
553         Missing http status line from the http headers.
554         
555         Add a status line to the header string.
556         
557         * plugins/PluginStream.cpp:
558         (WebCore::PluginStream::startStream):
559
560 2008-08-28  Holger Hans Peter Freyther  <zecke@selfish.org>
561
562         Rubber-stamped by Darin Adler.
563
564         https://bugs.webkit.org/show_bug.cgi?id=17261
565
566         Make it possible to theme the default Url icon and enable this for
567         the Qt port. To have a minimal usage of #ifdef in the code the setting
568         of the icon was moved to a new method which comes in two flavors.
569
570         * loader/icon/IconDatabase.cpp:
571         (WebCore::loadDefaultIconRecord): Load or set the default icon
572         (WebCore::IconDatabase::defaultIcon):
573
574 2008-08-28  Holger Hans Peter Freyther <zecke@selfish.org>
575
576         Unreviewed compile fix
577
578         * platform/graphics/qt/GraphicsContextQt.cpp: Remove redefinitions
579
580 2008-08-28  Adam Roben  <aroben@apple.com>
581
582         Windows (and others?) build fix
583
584         * page/Chrome.cpp: Added a missing #include.
585         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Fixed typo.
586
587 2008-08-27  Eric Seidel  <eric@webkit.org>
588
589         Reviewed by Oliver Hunt.
590
591         Qt and Cairo support from krit (and blind stab @ wx compile support)
592         https://bugs.webkit.org/show_bug.cgi?id=20373
593
594         * platform/graphics/cairo/GraphicsContextCairo.cpp:
595         (WebCore::GraphicsContext::fillPath):
596         (WebCore::GraphicsContext::strokePath):
597         (WebCore::GraphicsContext::drawPath):
598         (WebCore::GraphicsContext::fillRect):
599         (WebCore::GraphicsContext::setPlatformFillColor):
600         (WebCore::GraphicsContext::setPlatformStrokeColor):
601         (WebCore::GraphicsContext::setPlatformStrokeStyle):
602         (WebCore::GraphicsContext::strokeRect):
603         (WebCore::GraphicsContext::setImageInterpolationQuality):
604         (WebCore::GraphicsContext::imageInterpolationQuality):
605         (WebCore::GraphicsContext::setPlatformFillPattern):
606         (WebCore::GraphicsContext::setPlatformStrokePattern):
607         (WebCore::GraphicsContext::setPlatformFillGradient):
608         (WebCore::GraphicsContext::setPlatformStrokeGradient):
609         * platform/graphics/qt/GraphicsContextQt.cpp:
610         (WebCore::GraphicsContext::fillPath):
611         (WebCore::GraphicsContext::strokePath):
612         (WebCore::GraphicsContext::fillRect):
613         (WebCore::GraphicsContext::strokeRect):
614         (WebCore::GraphicsContext::clipToImageBuffer):
615         (WebCore::GraphicsContext::setPlatformFillPattern):
616         (WebCore::GraphicsContext::setPlatformStrokePattern):
617         (WebCore::GraphicsContext::setPlatformFillGradient):
618         (WebCore::GraphicsContext::setPlatformStrokeGradient):
619         (WebCore::GraphicsContext::setImageInterpolationQuality):
620         (WebCore::GraphicsContext::imageInterpolationQuality):
621         * platform/graphics/wx/GraphicsContextWx.cpp:
622         (WebCore::GraphicsContext::clipToImageBuffer):
623         (WebCore::GraphicsContext::setImageInterpolationQuality):
624         (WebCore::GraphicsContext::imageInterpolationQuality):
625         (WebCore::GraphicsContext::fillPath):
626         (WebCore::GraphicsContext::strokePath):
627         (WebCore::GraphicsContext::drawPath):
628         (WebCore::GraphicsContext::fillRect):
629         (WebCore::GraphicsContext::setPlatformFillPattern):
630         (WebCore::GraphicsContext::setPlatformStrokePattern):
631         (WebCore::GraphicsContext::setPlatformFillGradient):
632
633 2008-08-27  Eric Seidel  <eric@webkit.org>
634
635         Reviewed by Oliver Hunt.
636
637         Add stroke/fill Gradient and Pattern support to GraphicsContext and update <canvas> to use it.
638         https://bugs.webkit.org/show_bug.cgi?id=20373
639
640         Changed pattern() to canvasPattern() on CanvasStyle to match canvasGradient()
641         
642         Made Generator (aka Gradient) RefCounted so that GraphicsContext didn't
643         have to store large Gradient objects in the GraphicsContextState
644         
645         Made Pattern RefCounted for the same reason.
646         
647         Many updates to GraphicsContext to support easier drawing with
648         Patterns and Gradients.
649
650         * WebCore.xcodeproj/project.pbxproj: Add pre-existing GraphicsContextPrivate.h
651         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
652         (WebCore::toJS):
653         * css/CSSGradientValue.cpp:
654         (WebCore::CSSGradientValue::createGradient):
655         * css/CSSGradientValue.h:
656         * html/CanvasGradient.cpp:
657         (WebCore::CanvasGradient::CanvasGradient):
658         * html/CanvasGradient.h:
659         (WebCore::CanvasGradient::gradient):
660         (WebCore::CanvasGradient::addColorStop):
661         (WebCore::CanvasGradient::getColor):
662         * html/CanvasPattern.cpp:
663         * html/CanvasPattern.h:
664         (WebCore::CanvasPattern::pattern):
665         (WebCore::CanvasPattern::originClean):
666         * html/CanvasRenderingContext2D.cpp:
667         (WebCore::CanvasRenderingContext2D::State::State):
668         (WebCore::CanvasRenderingContext2D::setStrokeStyle):
669         (WebCore::CanvasRenderingContext2D::setFillStyle):
670         (WebCore::CanvasRenderingContext2D::fill):
671         (WebCore::CanvasRenderingContext2D::stroke):
672         (WebCore::CanvasRenderingContext2D::fillRect):
673         (WebCore::CanvasRenderingContext2D::strokeRect):
674         * html/CanvasRenderingContext2D.h:
675         * html/CanvasStyle.cpp:
676         (WebCore::CanvasStyle::applyStrokeColor):
677         (WebCore::CanvasStyle::applyFillColor):
678         * html/CanvasStyle.h:
679         * platform/graphics/GeneratedImage.h:
680         (WebCore::GeneratedImage::GeneratedImage):
681         * platform/graphics/Generator.h:
682         * platform/graphics/Gradient.h:
683         (WebCore::Gradient::create):
684         * platform/graphics/GraphicsContext.cpp:
685         (WebCore::GraphicsContext::fillRule):
686         (WebCore::GraphicsContext::setFillRule):
687         (WebCore::GraphicsContext::setStrokePattern):
688         (WebCore::GraphicsContext::setFillPattern):
689         (WebCore::GraphicsContext::setStrokeGradient):
690         (WebCore::GraphicsContext::setFillGradient):
691         * platform/graphics/GraphicsContext.h:
692         * platform/graphics/GraphicsContextPrivate.h:
693         (WebCore::):
694         (WebCore::GraphicsContextState::GraphicsContextState):
695         * platform/graphics/GraphicsTypes.h:
696         * platform/graphics/Path.h:
697         * platform/graphics/Pattern.h:
698         (WebCore::Pattern::create):
699         (WebCore::Pattern::tileImage):
700         * platform/graphics/cg/GraphicsContextCG.cpp:
701         (WebCore::GraphicsContext::drawRect):
702         (WebCore::GraphicsContext::drawEllipse):
703         (WebCore::GraphicsContext::drawConvexPolygon):
704         (WebCore::calculateDrawingMode):
705         (WebCore::GraphicsContext::drawPath):
706         (WebCore::fillPathWithFillRule):
707         (WebCore::GraphicsContext::fillPath):
708         (WebCore::GraphicsContext::strokePath):
709         (WebCore::GraphicsContext::fillRect):
710         (WebCore::GraphicsContext::fillRoundedRect):
711         (WebCore::GraphicsContext::setPlatformStrokePattern):
712         (WebCore::GraphicsContext::setPlatformFillPattern):
713         (WebCore::GraphicsContext::setPlatformStrokeGradient):
714         (WebCore::GraphicsContext::setPlatformFillGradient):
715
716 2008-08-20  Eric Seidel  <eric@webkit.org>
717
718         Reviewed by Darin and Alexey.
719
720         Close a leak of PausedTimeouts if the JavaScriptDebugServer was destroyed
721         with timeouts paused.
722         https://bugs.webkit.org/show_bug.cgi?id=20469
723         
724         I attempted to clean up the memory management of PausedTimeouts, I'm not
725         sure the solution I came up with is "cleaner", but it's in some ways
726         "safer", since it no longer uses raw pointers and manual new/delete.
727         
728         This also now prevents CachedPage from needlessly creating Window
729         objects when caching pages which didn't already have one. :)
730         
731         I also made Chrome.cpp no longer depend on the JavaScript bindings
732         (aka JSDOMWindowBase.h), since there was no real reason for it to.
733
734         * bindings/js/JSDOMWindowBase.cpp:
735         (WebCore::JSDOMWindowBase::pauseTimeouts):
736         (WebCore::JSDOMWindowBase::resumeTimeouts):
737         * bindings/js/JSDOMWindowBase.h:
738         * bindings/js/ScriptController.cpp:
739         (WebCore::ScriptController::pauseTimeouts):
740         (WebCore::ScriptController::resumeTimeouts):
741         * bindings/js/ScriptController.h:
742         * history/CachedPage.cpp:
743         (WebCore::CachedPage::CachedPage):
744         (WebCore::CachedPage::restore):
745         * page/Chrome.cpp:
746         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
747         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
748         * page/JavaScriptDebugServer.cpp:
749         (WebCore::JavaScriptDebugServer::~JavaScriptDebugServer):
750         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
751
752 2008-08-27  Holger Hans Peter Freyther <zecke@selfish.org>
753
754         Unreviewed compile fix
755
756         Add the stub for the Qt port.
757
758         * WebCore.pro:
759         * page/qt/AccessibilityObjectQt.cpp: Added.
760         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
761
762 2008-08-27  Alp Toker  <alp@nuanti.com>
763
764         Reviewed by Eric.
765
766         https://bugs.webkit.org/show_bug.cgi?id=20551
767         [GTK] search popup crash
768
769         * platform/gtk/SearchPopupMenuGtk.cpp:
770         (WebCore::SearchPopupMenu::enabled):
771         Fix a search popup crasher by disabling the history popup since we
772         don't support this feature yet in the GTK+ port.
773
774 2008-08-27  Alp Toker  <alp@nuanti.com>
775
776         Reviewed by Eric.
777
778         https://bugs.webkit.org/show_bug.cgi?id=20551
779         [GTK] curl crashers
780
781         * platform/network/curl/ResourceHandleManager.cpp:
782         (WebCore::ResourceHandleManager::startScheduledJobs):
783         Remove the resource handle from the pending list before starting the
784         job, not afterwards. Fixes crashers in the test suite.
785
786         Test: fast/dom/clientWidthAfterDocumentIsRemoved.html
787         Test: fast/encoding/char-encoding.html
788
789 2008-08-27  Dirk Schulze  <vbs85@gmx.de>
790
791         Reviewed by eseidel.
792
793         Fix canvas drawImage to support composite operations.
794         Composite had no effect on canvas elements like these:
795         http://philip.html5.org/tests/canvas/suite/tests/index.2d.composite.canvas.html
796
797         [CAIRO] Canvas composite don't work on canvas-elements.
798         https://bugs.webkit.org/show_bug.cgi?id=20548
799
800         * html/CanvasRenderingContext2D.cpp:
801         (WebCore::CanvasRenderingContext2D::drawImage): pass the current composite operator to the drawImage call
802
803 2008-08-27  Mario Bensi  <mbensi@pleyo.com>
804
805         Reviewed by Eric Seidel.
806         
807         Fix the data content of an image with a base64.
808
809         * platform/network/curl/ResourceHandleManager.cpp:
810         (WebCore::parseDataUrl): Remove the String and use only the data
811         Vector because the data.latin1().data() convert the data content and
812         the image test ( https://bugs.webkit.org/attachment.cgi?id=21726 ) is
813         not drawn correctly.
814
815 2008-08-27  Antti Koivisto  <antti@apple.com>
816
817         Reviewed by Eric Seidel.
818
819         Crash after OK in dialog box and reloading page in secure mode
820         https://bugs.webkit.org/show_bug.cgi?id=20493
821         
822         The new run loop spawned by a modal dialog causes a timer in the loader to run 
823         synchronously inside didFinishLoading() deleting "this" object.
824         
825         Defer all WebCore timers when a modal dialog is up. They are not
826         safe to execute.
827
828         * page/Chrome.cpp:
829         (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
830         (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
831
832 2008-08-27  Chris Marrin  <cmarrin@apple.com>
833
834         Reviewed by Dave Hyatt
835
836         Memory leaks when animating transforms
837         https://bugs.webkit.org/show_bug.cgi?id=20532
838
839         * rendering/style/RenderStyle.cpp:
840         (WebCore::ScaleTransformOperation::blend):
841         (WebCore::RotateTransformOperation::blend):
842         (WebCore::SkewTransformOperation::blend):
843         (WebCore::TranslateTransformOperation::blend):
844         (WebCore::MatrixTransformOperation::blend):
845         * rendering/style/RenderStyle.h:
846
847 2008-08-27  Timothy Hatcher  <timothy@apple.com>
848
849         Add support for support for -webkit-appearance: default-button on the Mac platform.
850
851         <rdar://problem/6173530>
852
853         Reviewed by Dave Hyatt.
854
855         * WebCore.base.exp: Export new symbols.
856         * platform/mac/WebCoreSystemInterface.h: Add wkAdvanceDefaultButtonPulseAnimation.
857         * platform/mac/WebCoreSystemInterface.mm: Ditto.
858         * rendering/RenderButton.cpp:
859         (WebCore::RenderButton::RenderButton): Remove #if PLATFORM(WIN).
860         (WebCore::RenderButton::setStyle): Ditto.
861         * rendering/RenderButton.h: Ditto.
862         * rendering/RenderThemeMac.mm:
863         (WebCore::RenderThemeMac::adjustRepaintRect): Add a case for DefaultButtonAppearance.
864         (WebCore::RenderThemeMac::setButtonCellState): Set the key equivalent to the return
865         key if the button is default, otherwise reset the key equivalent.
866         (WebCore::RenderThemeMac::paintButton): If the button is default call setDefaultButtonCell:
867         on the window, then wkAdvanceDefaultButtonPulseAnimation before painting. Restore
868         the window's previous default button cell when finished.
869
870 2008-08-26  David Hyatt  <hyatt@apple.com>
871
872         First cut at making form controls on OS X respect full page zoom.  There are lots of bugs.
873
874         Reviewed by weinig
875
876         Added fast/forms/zoomed-controls.html
877
878         * css/CSSStyleSelector.cpp:
879         (WebCore::addIntrinsicMargins):
880         * rendering/RenderSlider.cpp:
881         (WebCore::RenderSlider::calcPrefWidths):
882         * rendering/RenderThemeMac.h:
883         * rendering/RenderThemeMac.mm:
884         (WebCore::RenderThemeMac::adjustRepaintRect):
885         (WebCore::RenderThemeMac::inflateRect):
886         (WebCore::RenderThemeMac::baselinePosition):
887         (WebCore::RenderThemeMac::setControlSize):
888         (WebCore::RenderThemeMac::sizeForFont):
889         (WebCore::RenderThemeMac::sizeForSystemFont):
890         (WebCore::RenderThemeMac::setFontFromControlSize):
891         (WebCore::RenderThemeMac::paintCheckbox):
892         (WebCore::RenderThemeMac::setCheckboxCellState):
893         (WebCore::RenderThemeMac::paintRadio):
894         (WebCore::RenderThemeMac::setRadioCellState):
895         (WebCore::RenderThemeMac::setButtonPaddingFromControlSize):
896         (WebCore::RenderThemeMac::adjustButtonStyle):
897         (WebCore::RenderThemeMac::setButtonCellState):
898         (WebCore::RenderThemeMac::paintButton):
899         (WebCore::RenderThemeMac::paintMenuList):
900         (WebCore::RenderThemeMac::paintMenuListButton):
901         (WebCore::RenderThemeMac::popupInternalPaddingLeft):
902         (WebCore::RenderThemeMac::popupInternalPaddingRight):
903         (WebCore::RenderThemeMac::popupInternalPaddingTop):
904         (WebCore::RenderThemeMac::popupInternalPaddingBottom):
905         (WebCore::RenderThemeMac::setPopupButtonCellState):
906         (WebCore::RenderThemeMac::paintSliderTrack):
907         (WebCore::RenderThemeMac::paintSliderThumb):
908         (WebCore::RenderThemeMac::adjustSliderThumbSize):
909         (WebCore::RenderThemeMac::paintSearchField):
910         (WebCore::RenderThemeMac::adjustSearchFieldStyle):
911         (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
912         (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
913
914 2008-08-27  Brady Eidson  <beidson@apple.com>
915
916         Reviewed by Anders
917
918         <rdar://problem/6134133> - Crash when loading large movie as a standalone document
919
920         We hand off these loads to Quicktime which manages and spools the data itself, but we also continued
921         to load and buffer the data for the movie in WebCore.  With large media files, this results in blowing
922         away the virtual address space and a crash.
923
924         * loader/EmptyClients.h:
925         (WebCore::EmptyFrameLoaderClient::pluginWillHandleLoadError):
926         * loader/FrameLoaderClient.h:  Added client method to get platform specific error for
927           "plugin will handle load"
928
929         * loader/MediaDocument.cpp:
930         (WebCore::MediaTokenizer::createDocumentStructure): Tell the MainResourceLoader to not buffer data,
931           and cancel the WebCore-managed load
932         (WebCore::MediaTokenizer::writeRawData):
933         (WebCore::MediaTokenizer::finish):
934
935 2008-08-26  Simon Fraser  <simon.fraser@apple.com>
936
937         Reviewed by Eric Seidel
938
939         Linear timing functions should have control points 0, 0, 1, 1.
940         https://bugs.webkit.org/show_bug.cgi?id=20535
941
942         * css/CSSStyleSelector.cpp:
943         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
944         * rendering/style/RenderStyle.h:
945
946 2008-08-27  Adam Roben  <aroben@apple.com>
947
948         Windows build fix
949
950         * WebCore.vcproj/WebCore.vcproj: Fix file extension.
951
952 2008-08-26  chris fleizach  <cfleizach@apple.com>
953
954         Reviewed by Beth Dakin.
955
956         <rdar://problem/6069462> REGRESSION: webkit is returning flash objects as AXUnknown
957
958         Added platform-specific accessibilityIgnoreAttachment, which allows the platform
959         to determine if an attachment is ignored through accessibility. Added equivalent
960         methods in Gtk, Win and Mac
961
962         Test: accessibility/plugin.html
963
964         * GNUmakefile.am:
965         * WebCore.vcproj/WebCore.vcproj:
966         * WebCore.xcodeproj/project.pbxproj:
967         * page/AccessibilityObject.h:
968         * page/AccessibilityRenderObject.cpp:
969         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
970         * page/gtk/AccessibilityObjectAtk.cpp: Added.
971         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
972         * page/mac/AccessibilityObjectMac.mm: Added.
973         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
974         * page/mac/AccessibilityObjectWrapper.h:
975         * page/win/AccessibilityObjectWin.cpp: Added.
976         (WebCore::AccessibilityObject::accessibilityIgnoreAttachment):
977
978 2008-08-26  chris fleizach  <cfleizach@apple.com>
979
980         Reviewed by Beth Dakin.
981
982         <rdar://problem/5817770> can't bring up contextual menu for embedded objects in WebText
983
984         * page/mac/AccessibilityObjectWrapper.mm:
985         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
986         (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
987
988 2008-08-26  chris fleizach  <cfleizach@apple.com>
989
990         Reviewed by Darin Adler.
991
992         <rdar://problem/6176924> CrashTracer: [USER] 4 crashes in Safari at com.apple.WebCore: WebCore::RenderTableSection::numColumns
993
994         Tests: accessibility/table-notbody.html
995
996         * page/AccessibilityTable.cpp:
997         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
998
999 2008-08-26  Sam Weinig  <sam@webkit.org>
1000
1001         Reviewed by Beth Dakin.
1002
1003         Fix typo.
1004
1005         * dom/DOMCoreException.h:
1006
1007 2008-08-26  Sam Weinig  <sam@webkit.org>
1008
1009         Reviewed by Oliver Hunt.
1010
1011         Fix https://bugs.webkit.org/show_bug.cgi?id=20479
1012         <rdar://problem/6167660>
1013         Take image redirects into account when tainting the canvas.
1014
1015         Test: http/tests/security/canvas-remote-read-redirect-to-remote-image.html
1016
1017         * html/CanvasRenderingContext2D.cpp:
1018         (WebCore::CanvasRenderingContext2D::drawImage):
1019         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1020
1021 2008-08-26  Sam Weinig  <sam@webkit.org>
1022
1023         Reviewed by Darin Adler.
1024
1025         Change canvas tainting logic to ask the image if it contains
1026         any resources outside of its own origin. Since there is no 
1027         way to determine if SVG images contain any resources outside its
1028         origin, we always assume it does.
1029
1030         * html/CanvasRenderingContext2D.cpp:
1031         (WebCore::CanvasRenderingContext2D::drawImage):
1032         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1033         * platform/graphics/BitmapImage.h:
1034         (WebCore::BitmapImage::hasSingleSecurityOrigin):
1035         * platform/graphics/GeneratedImage.h:
1036         (WebCore::GeneratedImage::hasSingleSecurityOrigin):
1037         * platform/graphics/Image.h:
1038         (WebCore::Image::hasSingleSecurityOrigin):
1039         * platform/graphics/cg/PDFDocumentImage.h:
1040         (WebCore::PDFDocumentImage::hasSingleSecurityOrigin):
1041         * svg/graphics/SVGImage.h:
1042
1043 2008-08-26  Maxime Britto  <britto@apple.com>
1044
1045         Reviewed by Adele.
1046
1047         <rdar://6159244> Pan-scrolling does not work on particular sites (starmagazine.com, nytimes.com)
1048         This patch fixes the issues and modify the behavior of the panscroll by allowing it to jump to a parent layer when it reaches the end of its scrollable area.
1049         This is matching the behavior of the mouse wheel when trying to scroll in a smaller layer of the page (div, textarea, ...) and when we reach the edge and keep scrolling then the whole page scrolls.
1050
1051         * page/EventHandler.cpp:
1052         (WebCore::EventHandler::updateAutoscrollRenderer): if we switch to the parent layer to do the scroll we want to change the renderer for the panning
1053         * page/EventHandler.h:
1054         * rendering/RenderLayer.cpp:
1055         (WebCore::RenderLayer::panScrollFromPoint): now calls the scrollByRecursively method when it has computed the xDelta and yDelta
1056         (WebCore::RenderLayer::scrollByRecursively): try to scroll the current layer by the xDelta and yDelta provided, if it can't it ask its parent layer to do so.
1057         * rendering/RenderLayer.h:
1058         * rendering/RenderObject.cpp:
1059         (WebCore::RenderObject::canBeProgramaticallyScrolled): a RenderObject must have a RenderLayer to be programatically scrolled
1060         (WebCore::RenderObject::autoscroll): No need to check for the layer anymore since we verify it's present in the upmentionned method
1061         (WebCore::RenderObject::panScroll): No need to check for the layer anymore too.
1062
1063 2008-08-25  Julien Chaffraix  <jchaffraix@webkit.org>
1064
1065         Reviewed by Darin.
1066
1067         Bug 20247: setAttributeNode() does not work when attribute name has a capital letter in it
1068         https://bugs.webkit.org/show_bug.cgi?id=20247
1069
1070         <rdar://problem/6118218>
1071
1072         Add a boolean parameter to getAttributeItem to choose between case sensitive and case insensitive
1073         check. This keeps the behaviour for setAttribute / hasAttribute (case sensitive) and getAttribute
1074         (case insensitive for HTML elements).
1075
1076         Test: fast/dom/Element/getAttribute-check-case-sensitivity.html
1077
1078         * dom/Element.cpp:
1079         (WebCore::Element::getAttribute):
1080         * dom/NamedAttrMap.cpp:
1081         (WebCore::NamedAttrMap::getNamedItem):
1082         (WebCore::NamedAttrMap::getAttributeItem):
1083         * dom/NamedAttrMap.h:
1084
1085 2008-08-25  Sam Weinig  <sam@webkit.org>
1086
1087         Reviewed by Oliver Hunt.
1088
1089         Fix for https://bugs.webkit.org/show_bug.cgi?id=20514
1090         <rdar://problem/6174096>
1091         Treat SVG images as dirty when drawing to a canvas.
1092
1093         Test: http/tests/security/canvas-remote-read-svg-image.html
1094
1095         * html/CanvasRenderingContext2D.cpp:
1096         (WebCore::CanvasRenderingContext2D::drawImage):
1097         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
1098         * platform/graphics/Image.h:
1099         (WebCore::Image::isSVGImage):
1100         * svg/graphics/SVGImage.h:
1101         (WebCore::SVGImage::isSVGImage):
1102
1103 2008-08-25  Sam Weinig  <sam@webkit.org>
1104
1105         Reviewed by Mark Rowe.
1106
1107         Fix https://bugs.webkit.org/show_bug.cgi?id=20377
1108         Leak in XMLHttpRequest.
1109
1110         * xml/XMLHttpRequest.cpp:
1111         (WebCore::XMLHttpRequest::makeCrossSiteAccessRequestWithPreflight):
1112
1113 2008-08-25  Brady Eidson  <beidson@apple.com>
1114
1115         Reviewed by Anders
1116
1117         Speculative fix for <rdar://problem/6173217>
1118
1119         Moves the "clearArchivedResources()" call to exactly where it used to be in the old version of WebArchive code.
1120         Also, adds a null check for m_documentLoader since DocumentLoader::stopLoading() can end up clearing it, rendering
1121         the first null check invalid.
1122
1123         * loader/FrameLoader.cpp:
1124         (WebCore::FrameLoader::stopAllLoaders):
1125
1126
1127 2008-08-25  Kevin McCullough  <kmccullough@apple.com>
1128
1129         Reviewed by Tim.
1130
1131         <rdar://problem/6157711> Heavy/Tree view selector is not grayed out if
1132         there is no profile, can cause crash
1133
1134         * page/inspector/ProfilesPanel.js:
1135
1136 2008-08-25  Dean Jackson  <dino@apple.com>
1137
1138         Reviewed by Dave Hyatt
1139
1140         Make sure 'inherit' is handled by transition property.
1141         https://bugs.webkit.org/show_bug.cgi?id=20513
1142
1143         Test: transitions/inherit.html
1144         Test: transitions/inherit-other-props.html
1145
1146         * css/CSSStyleSelector.cpp:
1147           fix macro to check existence of list before getting size
1148
1149 2008-08-25  Anders Carlsson  <andersca@apple.com>
1150
1151         Reviewed by Mark.
1152
1153         <rdar://problem/6149787> crash @ com.apple.JavaScriptCore: WTF::callOnMainThread + 37.
1154         
1155         Initialize threading in the call to WebCoreObjCFinalizeOnMainThread. We currently assume 
1156         (safely) that any class that needs finalization on the main thread will also need to be deallocated
1157         on the main thread, and calling initializeThreading from WebCoreObjCFinalizeOnMainThread instead of
1158         calling it from WebCoreObjCScheduleDeallocateOnMainThread seems safer.
1159
1160         * platform/mac/WebCoreObjCExtras.c:
1161         (WebCoreObjCFinalizeOnMainThread):
1162
1163 2008-08-25  Antti Koivisto  <antti@apple.com>
1164
1165         Reviewed by Dan Bernstein.
1166
1167         Rename CachedResource::referenced() to CachedResource::hasClients() to
1168         match previous ref() -> addClient() rename.
1169
1170         * loader/Cache.cpp:
1171         (WebCore::Cache::pruneLiveResources):
1172         (WebCore::Cache::pruneDeadResources):
1173         (WebCore::Cache::remove):
1174         (WebCore::Cache::getStatistics):
1175         (WebCore::Cache::dumpLRULists):
1176         * loader/CachedResource.cpp:
1177         (WebCore::CachedResource::addClient):
1178         (WebCore::CachedResource::removeClient):
1179         (WebCore::CachedResource::setDecodedSize):
1180         (WebCore::CachedResource::setEncodedSize):
1181         * loader/CachedResource.h:
1182         (WebCore::CachedResource::hasClients):
1183         (WebCore::CachedResource::canDelete):
1184
1185 2008-08-25  Anthony Ricaud  <rik24d@gmail.com>
1186
1187         Add a missing Inspector localized string for "other".
1188
1189         https://bugs.webkit.org/show_bug.cgi?id=20509
1190
1191         Reviewed by Tim Hatcher.
1192
1193         * English.lproj/localizedStrings.js:
1194
1195 2008-08-22  Kevin McCullough  <kmccullough@apple.com>
1196
1197         Reviewed by Geoff, Mark and Tim.
1198
1199         <rdar://problem/6150623> JSProfiler: It would be nice if the profiles
1200         in the console said what file and line number they came from
1201         - Lay the foundation for getting line numbers and other data from the
1202         JavaScript engine.
1203
1204         * ForwardingHeaders/VM: Added.
1205         * ForwardingHeaders/VM/Machine.h: Added.
1206         * page/Console.cpp: Gather the line number and file information when 
1207         profileEnd has been called, but don't use it until didFinishProfiling is
1208         called.  We won't need to wait once we remove the profiler "zombie" mode
1209         which this patch helps pave the foundation for.
1210         (WebCore::Console::Console):
1211         (WebCore::Console::profileEnd):
1212         (WebCore::Console::finishedProfiling):
1213         * page/Console.h:
1214         * page/InspectorController.cpp: Modify calls to
1215         addProfileMessageToConsole to satisfy the new arguments it takes.
1216         (WebCore::InspectorController::finishedProfiling):
1217         (WebCore::InspectorController::addProfile):
1218         (WebCore::InspectorController::addProfileMessageToConsole):
1219         (WebCore::InspectorController::finishedProfiling):
1220         * page/InspectorController.h:
1221
1222 2008-08-25  Holger Hans Peter Freyther  <zecke@selfish.org>
1223
1224         Reviewed by Simon.
1225
1226         [inspector] Update the WebKit.qrc Qt resources file
1227         Catchup with the changes in the directory.
1228
1229         * page/inspector/WebKit.qrc:
1230
1231 2008-08-25  Dirk Schulze  <vbs85@gmx.de>
1232
1233         Reviewed by Simon.
1234
1235         Transformed the radian to degree, to get rotate()
1236         in canvas work as expected.
1237
1238         [Qt] Canvas.rotate() doesn't work
1239         https://bugs.webkit.org/show_bug.cgi?id=20496
1240
1241         * platform/graphics/qt/GraphicsContextQt.cpp:
1242         (WebCore::GraphicsContext::rotate):
1243
1244 2008-08-24  Steve Falkenburg  <sfalken@apple.com>
1245
1246         Add a "last chance" WM_TIMER to the Windows shared timer.
1247         
1248         The last chance timer fires every 5 seconds to run any lost WM_TIMER based timers.
1249         Failure to fire a timer is fatal to the cross-platform Timer code, since it won't re-schedule
1250         timers if a timer with an earlier expiration is already pending. This results in no timers
1251         firing from that point on.
1252         
1253         We lose WM_TIMER messages occasionally (in the neighborhood of 1 per hour) probably due to a
1254         buggy window message hook.
1255         
1256         This timer will start when the first WM_TIMER is scheduled, and will
1257         fire every 5 seconds thereafter, causing any lost timers to be fired.
1258         
1259         Found this via one of its symptoms: leaking WebFrames. The fix prevents timers from stalling
1260         and prevents the WebFrame leak.
1261         
1262         Reviewed by Darin Adler, Geoff Garen.
1263
1264         * platform/win/SharedTimerWin.cpp:
1265         (WebCore::):
1266         (WebCore::TimerWindowWndProc):
1267         (WebCore::setSharedTimerFireTime):
1268
1269 2008-08-24  Dan Bernstein  <mitz@apple.com>
1270
1271         Reviewed by Darin Adler.
1272
1273         - fix <rdar://problem/6065547> REGRESSION (r34879): "Subject" in unread emails in Yahoo mail is not shown in bold
1274
1275         Test: fast/css/font-property-priority.html
1276
1277         * css/CSSParser.cpp:
1278         (WebCore::CSSParser::parseValue): Changed to pass the 'important' flag
1279         to the font-property-parsing functions.
1280         (WebCore::CSSParser::parseFontStyle): Added an 'important' argument and
1281         changed to use it rather than the m_important member.
1282         (WebCore::CSSParser::parseFontVariant): Ditto.
1283         (WebCore::CSSParser::parseFontWeight): Ditto.
1284         * css/CSSParser.h:
1285
1286 2008-08-24  Timothy Hatcher  <timothy@apple.com>
1287
1288         Fixes a bug where the Inspector's UI would not animate or
1289         fully function because JavaScript timeouts, intervals and
1290         CSS animation timers where not firing while paused at a
1291         a breakpoint in the inspected page.
1292
1293         https://bugs.webkit.org/show_bug.cgi?id=20042
1294
1295         Reviewed by Darin Adler.
1296
1297         Test: manual-tests/inspector/forzen-ui-while-paused.html
1298
1299         * page/JavaScriptDebugServer.cpp:
1300         (WebCore::JavaScriptDebugServer::pauseIfNeeded):
1301         Add a call to TimerBase::fireTimersInNestedEventLoop before
1302         spinning the EventLoop.
1303
1304 2008-08-24  Rob Buis  <buis@kde.org>
1305
1306         Reviewed by Sam Weinig.
1307
1308         https://bugs.webkit.org/show_bug.cgi?id=20324
1309         A change in SVG Glyph wont show up
1310
1311         Invalidate the glyph cache when the d attribute is set.
1312
1313         Test: svg/custom/glyph-setting-d-attribute.svg
1314
1315         * svg/SVGGlyphElement.cpp:
1316         (WebCore::SVGGlyphElement::invalidateGlyphCache):
1317         (WebCore::SVGGlyphElement::parseMappedAttribute):
1318         (WebCore::SVGGlyphElement::insertedIntoDocument):
1319         (WebCore::SVGGlyphElement::removedFromDocument):
1320         * svg/SVGGlyphElement.h:
1321
1322 2008-08-24  Dan Bernstein  <mitz@apple.com>
1323
1324         Reviewed by Sam Weinig.
1325
1326         - fix https://bugs.webkit.org/show_bug.cgi?id=13864
1327           <rdar://problem/5451470> REGRESSION: Uninitialized value in RenderBlock::calcInlinePrefWidths()
1328
1329         * rendering/RenderText.cpp:
1330         (WebCore::RenderText::trimmedPrefWidths): Moved the assignment to
1331         beginWS and endWS before the early return to ensure that they are
1332         initialized in that case.
1333
1334 2008-08-23  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
1335
1336         Rubber-stamped by Mark Rowe.
1337
1338         Remove modelines.
1339
1340         * WebCore.pro:
1341         * bridge/testbindings.cpp:
1342         * dom/DocPtr.h:
1343         * loader/SubstituteData.h:
1344         * page/Chrome.cpp:
1345         * page/Chrome.h:
1346         * page/ChromeClient.h:
1347         * page/Frame.h:
1348         * page/FrameLoadRequest.h:
1349         * page/FrameTree.cpp:
1350         * page/FrameTree.h:
1351         * page/Page.h:
1352         * page/mac/ChromeMac.mm:
1353         * platform/network/HTTPHeaderMap.h:
1354         * platform/network/ResourceErrorBase.cpp:
1355         * platform/network/ResourceErrorBase.h:
1356         * platform/network/ResourceHandleInternal.h:
1357         * platform/network/ResourceRequestBase.cpp:
1358         * platform/network/ResourceRequestBase.h:
1359         * platform/network/ResourceResponseBase.cpp:
1360         * platform/network/ResourceResponseBase.h:
1361         * platform/network/cf/ResourceError.h:
1362         * platform/network/cf/ResourceRequest.h:
1363         * platform/network/cf/ResourceRequestCFNet.h:
1364         * platform/network/cf/ResourceResponse.h:
1365         * platform/network/cf/ResourceResponseCFNet.h:
1366         * platform/network/curl/ResourceError.h:
1367         * platform/network/curl/ResourceRequest.h:
1368         * platform/network/curl/ResourceResponse.h:
1369         * platform/network/mac/ResourceError.h:
1370         * platform/network/mac/ResourceErrorMac.mm:
1371         * platform/network/mac/ResourceRequest.h:
1372         * platform/network/mac/ResourceRequestMac.mm:
1373         * platform/network/mac/ResourceResponse.h:
1374         * platform/network/mac/ResourceResponseMac.mm:
1375         * platform/network/qt/ResourceError.h:
1376         * platform/network/qt/ResourceRequest.h:
1377         * platform/network/qt/ResourceResponse.h:
1378         * platform/network/soup/CookieJarSoup.cpp:
1379         * platform/network/soup/ResourceError.h:
1380         * platform/network/soup/ResourceRequest.h:
1381         * platform/network/soup/ResourceResponse.h:
1382
1383 2008-08-23  Dan Bernstein  <mitz@apple.com>
1384
1385         Reviewed by Dave Hyatt.
1386
1387         - fix <rdar://problem/6065143> Reflowed image in first line of table doesn't affect baseline
1388
1389         Test: fast/table/vertical-align-baseline.html
1390
1391         * rendering/RenderTable.cpp:
1392         (WebCore::RenderTable::getBaselineOfFirstLineBox): Added. Returns the
1393         baseline of the first table row, if there is one, -1 otherwise.
1394         * rendering/RenderTable.h:
1395         * rendering/RenderTableCell.cpp:
1396         (WebCore::RenderTableCell::baselinePosition): Changed to follow the
1397         CSS2.1 definition of the baseline of a table cell.
1398         * rendering/RenderTableSection.cpp:
1399         (WebCore::RenderTableSection::getBaselineOfFirstLineBox): Added. Returns
1400         the baseline of the first row in the section.
1401         * rendering/RenderTableSection.h:
1402
1403 2008-08-18  Jon Honeycutt  <jhoneycutt@apple.com>
1404
1405         Add SPI to make a Windows WebView transparent.
1406
1407         Reviewed by Dan Bernstein.
1408
1409         * platform/graphics/GraphicsContext.h: Add a parameter, hasAlpha, that
1410         determines whether the created context has an alpha channel.
1411         * platform/graphics/win/GraphicsContextCGWin.cpp:
1412         (WebCore::CGContextWithHDC):
1413
1414 2008-08-22  Timothy Hatcher  <timothy@apple.com>
1415
1416         Rolls out r35834 because it caused a regression in the Inspector's
1417         Console where some expressions always threw a syntax error.
1418
1419         https://bugs.webkit.org/show_bug.cgi?id=20487
1420
1421         * page/inspector/Console.js:
1422         (Console.prototype._evalInInspectedWindow): Removes parenthesis
1423         around the expression.
1424
1425 2008-08-22  Timothy Hatcher  <timothy@apple.com>
1426
1427         Makes getStyleProperty return a value for the overflow property
1428         when overflow-x and overflow-y are equal.
1429
1430         https://bugs.webkit.org/show_bug.cgi?id=20485
1431
1432         Reviewed by Dan Bernstein.
1433
1434         Test: fast/css/overflow-property.html
1435
1436         * css/CSSMutableStyleDeclaration.cpp:
1437         (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
1438
1439 2008-08-22  Timothy Hatcher  <timothy@apple.com>
1440
1441         Fixes a bug where while editing in the Inspector the
1442         sidebar scroll position would jump to the top.
1443
1444         https://bugs.webkit.org/show_bug.cgi?id=20484
1445
1446         Reviewed by Darin Adler.
1447
1448         * page/inspector/treeoutline.js:
1449         (TreeOutline._removeChildren): Remove the offsetTop call that
1450         was forcing a layout, since layout causes scroll positions
1451         to be clamped to the new scrollHeight/Width. Layout will happen
1452         normally when needed.
1453
1454 2008-08-22  Kevin Ollivier  <kevino@theolliviers.com>
1455
1456         wx build fix. Add AccessibilityTable sources.
1457
1458         * WebCoreSources.bkl:
1459
1460 2008-08-21  Dan Bernstein  <mitz@apple.com>
1461
1462         Reviewed by Jon Honeycutt and Alexey Proskuryakov.
1463
1464         - fix <rdar://problem/6162701> WebKit should correct Geeza Pro's font metrics
1465
1466         Test: platform/mac/fast/text/international/Geeza-Pro-vertical-metrics-adjustment.html
1467
1468         * platform/graphics/mac/SimpleFontDataMac.mm:
1469         (WebCore::SimpleFontData::platformInit): Add 8% to Geeza Pro's reported
1470         ascent and 100% to its reported descent.
1471
1472 2008-08-21  Kalle Vahlman  <kalle.vahlman@movial.com>
1473
1474         Reviewed by Darin Adler.
1475
1476         https://bugs.webkit.org/show_bug.cgi?id=20267
1477         [GTK] Crash on some pages due to a plugin
1478
1479         Fix handling of badly formatted and empty plugin mime descriptions
1480
1481         * plugins/gtk/PluginPackageGtk.cpp:
1482         (WebCore::PluginPackage::fetchInfo):
1483
1484 2008-08-21  Kevin Watters  <kevinwatters@gmail.com>
1485
1486         Reviewed by Darin Adler.
1487
1488         Follow other ports (and IE) in ImageSourceWx.cpp never to return an
1489         animated GIF frame duration of less than 50ms.
1490
1491         * platform/graphics/wx/ImageSourceWx.cpp:
1492         (WebCore::ImageSource::frameDurationAtIndex):
1493
1494 2008-08-21  Maxime Britto  <britto@apple.com>
1495
1496         Reviewed by Kevin McCullough.
1497
1498         Test: fast/events/autoscroll-nonscrollable-iframe-in-scrollable-div.html
1499         https://bugs.webkit.org/show_bug.cgi?id=20451
1500    
1501         rdar://problem/6166435 Inspector doesn't auto scroll when selecting text (20451)
1502         When we climb up the rendering tree looking for a scrollable renderer, we need to be able to jump outside of an iframe.
1503         This way we can see if what is embedding the iframe can be scrolled even if the iframe content can't.
1504
1505         * page/EventHandler.cpp:
1506         (WebCore::EventHandler::handleMouseDraggedEvent): when we reach the document node and it can't be scrolled we set the next parent as the document's owner element if it exists.
1507
1508         (WebCore::EventHandler::handleMousePressEvent): ditto
1509
1510 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
1511
1512         Small optimization for when the dividers in the Inspector's
1513         Resources panel are updated.
1514
1515         Reviewed by Tim Hatcher.
1516
1517         * page/inspector/ResourcesPanel.js:
1518         (WebInsector.ResourcesPanel.prototype._updateGraphDividersIfNeeded):
1519         Combind a for loop and clone the divider element.
1520
1521 2008-08-21  Chris Marrin  <cmarrin@apple.com>
1522
1523         Allow 0 (without units) for Time eg. duration
1524         Fix for https://bugs.webkit.org/show_bug.cgi?id=20467
1525
1526         Reviewed by Dave Hyatt.
1527
1528         Test: css1/units/zero-duration-without-units.html
1529
1530         * css/CSSParser.cpp:
1531         (WebCore::CSSParser::validUnit):
1532
1533 2008-08-21  Timothy Hatcher  <timothy@apple.com>
1534
1535         Make deleting all text while editing a DOM attribute in
1536         the Inspector delete the attribute. This also fixes
1537         an exception that would happen before.
1538
1539         https://bugs.webkit.org/show_bug.cgi?id=20472
1540
1541         Reviewed by Kevin McCullough.
1542
1543         * page/inspector/ElementsPanel.js:
1544         (WebInspector.DOMNodeTreeElement.prototype._attributeEditingCommitted):
1545         Don't check for hasAttributes on the parseElement, continuing
1546         through the function will correctly remove the attribute.
1547         If the parseElement is null, call _editingCancelled not
1548         editingCancelled, this fixes an exception.
1549
1550 2008-08-21  Timothy Hatcher  <timothy@apple.com>
1551
1552         Update the Inspector's Metrics pane when editing in
1553         the Styles pane. This makes sure the metrics shown
1554         always match what the Styles pane shows.
1555
1556         https://bugs.webkit.org/show_bug.cgi?id=20470
1557
1558         Reviewed by Kevin McCullough.
1559
1560         * page/inspector/ElementsPanel.js:
1561         (WebInspector.ElementsPanel): Add event listeners for
1562         the "style edited" and "style property toggled" events,
1563         so the Metrics pane is updated.
1564         (WebInspector.ElementsPanel.prototype._stylesPaneEdited):
1565         Update the Metrics pane.
1566         * page/inspector/StylesSidebarPane.js:
1567         (WebInspector.StylePropertyTreeElement.prototype.toggleEnabled):
1568         Dispatch the "style property toggled" event.
1569         (WebInspector.StylePropertyTreeElement.prototype.editingCancelled):
1570         Dispatch the "style edited" event when the CSS text is restored.
1571         (WebInspector.StylePropertyTreeElement.prototype.applyStyleText):
1572         Dispatch the "style edited" event.
1573
1574 2008-08-21  Timothy Hatcher  <timothy@apple.com>
1575
1576         Make the Inspector's Metrics sidebar pane editable.
1577
1578         https://bugs.webkit.org/show_bug.cgi?id=17218
1579         rdar://problem/5732818
1580
1581         Reviewed by Kevin McCullough.
1582
1583         * page/inspector/ElementsPanel.js:
1584         (WebInspector.ElementsPanel): Add an event listener for
1585         the "metrics edited" event, so the Styles pane is updated.
1586         * page/inspector/MetricsSidebarPane.js:
1587         (WebInspector.MetricsSidebarPane.prototype.update): Remember the node
1588         so future updates work. Add a double click event listener for the
1589         metric values to start editing.
1590         (WebInspector.MetricsSidebarPane.prototype.startEditing):
1591         Call WebInspector.startEditing with some context.
1592         (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
1593         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
1594         Set the user input on the elements inline style. Fire the
1595         "metrics edited" event.
1596
1597 2008-08-21  Steve Falkenburg  <sfalken@apple.com>
1598
1599         Fix a race condition in Windows timer code.
1600         Timer function could end up being called with a 0 timer, leading to a Windows exception.
1601         
1602         Don't post a timer message if one is already pending.
1603         
1604         Reviewed by Ada Chan.
1605
1606         * platform/win/SharedTimerWin.cpp:
1607         (WebCore::TimerWindowWndProc):
1608         (WebCore::clearTimer):
1609         (WebCore::queueTimerProc):
1610         (WebCore::setSharedTimerFireTime):
1611
1612 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
1613
1614         After trying to add the expression, try again with quotes for
1615         easier edition.
1616
1617         https://bugs.webkit.org/show_bug.cgi?id=20466
1618
1619         Reviewed by Tim Hatcher.
1620
1621         * page/inspector/ObjectPropertiesSection.js: Added an
1622         evaluateExpression function.
1623
1624 2008-08-21  Anthony Ricaud  <rik24d@gmail.com>
1625
1626         Perform Inspector searches on search event to clear results when
1627         clicking the cross to empty it. Delete the lastQuery when the field
1628         is emptied in order to perform the search if exactly the same query
1629         is entered next.
1630
1631         https://bugs.webkit.org/show_bug.cgi?id=20462
1632
1633         Reviewed by Tim Hatcher.
1634
1635         * page/inspector/inspector.js:
1636
1637 2008-08-21  Marco Barisione  <marco.barisione@collabora.co.uk>
1638
1639         Reviewed by Mark Rowe.
1640
1641         http://bugs.webkit.org/show_bug.cgi?id=19656
1642         [SOUP] The gio code should call didFail() instead of
1643         didFinishLoading() in case of error
1644
1645         In case of error call didFail() instead of didReceiveResponse() and
1646         didFinishLoading().
1647
1648         * platform/network/soup/ResourceHandleSoup.cpp:
1649         (WebCore::networkErrorForFile):
1650         (WebCore::readCallback):
1651         (WebCore::openCallback):
1652         (WebCore::queryInfoCallback):
1653
1654 2008-08-20  Mark Rowe  <mrowe@apple.com>
1655
1656         Reviewed by Jon Honeycutt.
1657
1658         Fix build failure.
1659
1660         * bridge/c/c_instance.cpp:
1661         (KJS::Bindings::CInstance::getPropertyNames): Declare count as uint32_t rather than unsigned
1662         as that is what NPEnumerationFunctionPtr is declared as accepting.
1663
1664 2008-08-20  Mark Rowe  <mrowe@apple.com>
1665
1666         Reviewed by Dan Bernstein.
1667
1668         Build fix.  Handle kCGInterpolationMedium in switch statements if it is available.
1669
1670         * platform/graphics/GraphicsContext.h:
1671         (WebCore::):
1672         * platform/graphics/cg/GraphicsContextCG.cpp:
1673         (WebCore::GraphicsContext::setImageInterpolationQuality):
1674         (WebCore::GraphicsContext::imageInterpolationQuality):
1675
1676 2008-08-20  Dan Bernstein  <mitz@apple.com>
1677
1678         Rubber-stamped by John Sullivan.
1679
1680         - rename shouldUpdateWhileHidden to shouldUpdateWhileOffscreen and
1681           rename related methods and variables accordingly.
1682
1683         * WebCore.base.exp:
1684         * page/FrameView.cpp:
1685         (WebCore::FrameViewPrivate::FrameViewPrivate):
1686         (WebCore::FrameView::shouldUpdateWhileOffscreen):
1687         (WebCore::FrameView::setShouldUpdateWhileOffscreen):
1688         * page/FrameView.h:
1689         * platform/ScrollView.h:
1690         * platform/mac/ScrollViewMac.mm:
1691         (WebCore::ScrollView::updateContents):
1692
1693 2008-08-20  Brady Eidson  <beidson@apple.com>
1694
1695         Reviewed by Mitzpettel
1696
1697         <rdar://problem/6163636> - Many images broken in Mail
1698
1699         This can be traced back to the preload scanner.  With that change, CachedResources are created a lot 
1700         sooner than before and confuse the WebArchive machinery.  
1701
1702         When referencing WebArchive subresources directly through the WebKit API it is appropriate to ignore 
1703         such CachedResources since they are placeholders and have not been submitted to the ResourceLoadDelegate 
1704         machinery and nothing is known about where the data will eventually come from.
1705
1706         * loader/DocumentLoader.cpp:
1707         (WebCore::DocumentLoader::subresource):  Ignore a CachedResource if its preloadResult is 
1708           CachedResource::PreloadReferenced.
1709
1710 2008-08-20  Holger Hans Peter Freyther  <zecke@selfish.org>
1711
1712         Unreviewed compile fix
1713
1714         Catch up with the JSValue::type elimination.
1715
1716         * bridge/qt/qt_instance.cpp:
1717         (KJS::Bindings::QtRuntimeObjectImp::construct):
1718         (KJS::Bindings::QtInstance::defaultValue):
1719         * bridge/qt/qt_runtime.cpp:
1720         (KJS::Bindings::QtRuntimeConnectionMethod::call):
1721
1722 2008-08-20  Chris Teague  <chris.teague@gmail.com>
1723
1724         Reviewed by Mark Rowe.
1725
1726         Fix https://bugs.webkit.org/show_bug.cgi?id=20449
1727         Bug 20449: Build fails if LOW_BANDWIDTH_DISPLAY is defined
1728
1729         * ChangeLog:
1730         * loader/FrameLoader.cpp:
1731         (WebCore::FrameLoader::switchOutLowBandwidthDisplayIfReady):
1732
1733 2008-08-20  Simon Fraser  <simon.fraser@apple.com>
1734
1735         Reviewed by Dave Hyatt
1736
1737         getComputedStyle() for webkitTransform should return a transform
1738         that does not have the transform origin baked into it.
1739         https://bugs.webkit.org/show_bug.cgi?id=20464
1740         
1741         Test: fast/css/getComputedStyle-transform.html
1742
1743         * css/CSSComputedStyleDeclaration.cpp:
1744         (WebCore::computedTransform):
1745         * rendering/style/RenderStyle.cpp:
1746         (WebCore::RenderStyle::applyTransform):
1747         * rendering/style/RenderStyle.h:
1748
1749 2008-08-20  Josh Aas  <joshmoz@gmail.com>
1750
1751         Reviewed and landed by Anders.
1752
1753         <rdar://problem/6163636> 
1754         rename NPCocoaEvent's "event" struct to "data" (20446)
1755         
1756         * bridge/npapi.h:
1757         (_NPCocoaEvent::):
1758
1759 2008-08-20  Beth Dakin  <bdakin@apple.com>
1760
1761         Reviewed by Darin.
1762
1763         Fix for <rdar://problem/6145626> 
1764         This patch fixes a number of remaining problems getting 
1765         disconnected frames to work correctly with markAllMatchesForText() 
1766         and findString(). Details inline. 
1767
1768         This was a static helper function in Frame, but this patch requires 
1769         the same functionality in Editor, so I just added it as a function 
1770         on Node.
1771         * dom/Node.cpp:
1772         (WebCore::Node::isInShadowTree):
1773         * dom/Node.h:
1774
1775         * editing/Editor.cpp:
1776         (WebCore::Editor::insideVisibleArea): Returns false if 
1777         excludeFromTextSearch() is true.
1778
1779         In a normal (non-disconnected) frame, findString returns a range of 
1780         the document node if the text is not found in the frame. I changed 
1781         firstVisibleRange and lastVisibleRange to match that behavior when 
1782         the text is not found
1783         (WebCore::Editor::firstVisibleRange):
1784         (WebCore::Editor::lastVisibleRange):
1785
1786         Here are the bulk of the changes in the patch. A lot of text was 
1787         not being found in disconnected frames because I failed to account 
1788         for all of the possible problems associated with shadow trees. That 
1789         is fixed here.
1790         (WebCore::Editor::nextVisibleRange):
1791         * editing/Editor.h:
1792
1793         excludeFromTextSearch() is new. It allows a WebKit client to mark a 
1794         frame as not-text-searchable through SPI. 
1795         * WebCore.base.exp:
1796         * page/Frame.cpp:
1797         (WebCore::Frame::excludeFromTextSearch):
1798         (WebCore::Frame::setExcludeFromTextSearch):
1799         (WebCore::FramePrivate::FramePrivate):
1800         * page/Frame.h:
1801         * page/FramePrivate.h:
1802
1803         (WebCore::Frame::findString):
1804         (WebCore::Frame::markAllMatchesForText):  I kept running into an 
1805         assertion failure in paining code because of the forced paint on 
1806         empty visible rects.
1807
1808 2008-08-20  Timothy Hatcher  <timothy@apple.com>
1809
1810         Adds a positon box to the Inspector's Metrics sidebar
1811         pane. When an element is not statically positioned, there
1812         is now a position box that show top, right, bottom and
1813         left computed values.
1814
1815         Reviewed by Kevin McCullough.
1816
1817         * English.lproj/localizedStrings.js: Updated the strings.
1818         * page/inspector/MetricsSidebarPane.js:
1819         (WebInspector.MetricsSidebarPane.prototype.update):
1820         Renamed the boxPartValue function to createBoxPartElement
1821         and made it create the entire element. Made it understand
1822         how to get position style properties. Don't use the figure dash
1823         when 0px is used for positions, since the 0 is meaningful there.
1824         Instead use the figure dash when a position is auto.
1825         * page/inspector/inspector.css: Added a new rule for position.
1826
1827 2008-08-20  chris fleizach  <cfleizach@apple.com>
1828
1829         Reviewed by Beth Dakin
1830
1831         Qt build fix
1832
1833         * WebCore.pro:
1834
1835 2008-08-20  Dan Bernstein  <mitz@apple.com>
1836
1837         Reviewed by Anders Carlsson.
1838
1839         - avoid using a deprecated NSScroller method on Leopard
1840
1841         * platform/mac/PlatformScrollBarMac.mm:
1842         (WebCore::PlatformScrollbar::updateThumbPosition):
1843         (WebCore::PlatformScrollbar::updateThumbProportion):
1844
1845 2008-08-20  Jan Michael Alonzo  <jmalonzo@webkit.org>
1846
1847         Reviewed by Oliver Hunt.
1848
1849         Gtk build fix
1850
1851         * GNUmakefile.am:
1852         * page/AccessibilityTable.cpp: Change nil to 0
1853         (WebCore::AccessibilityTable::cellForColumnAndRow):
1854
1855 2008-08-19  Alexey Proskuryakov  <ap@webkit.org>
1856
1857         Reviewed by Geoff Garen.
1858
1859         Bring back shared JSGlobalData and implicit locking, because too many clients rely on it.
1860
1861         * ForwardingHeaders/kjs/JSLock.h: Added.
1862         * WebCore.vcproj/WebCore.vcproj:
1863         * bindings/js/GCController.cpp:
1864         (WebCore::collect):
1865         (WebCore::GCController::gcTimerFired):
1866         (WebCore::GCController::garbageCollectNow):
1867         * bindings/js/JSCustomSQLStatementCallback.cpp:
1868         (WebCore::JSCustomSQLStatementCallback::handleEvent):
1869         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1870         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
1871         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1872         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
1873         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1874         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
1875         * bindings/js/JSCustomVoidCallback.cpp:
1876         (WebCore::JSCustomVoidCallback::handleEvent):
1877         * bindings/js/JSCustomXPathNSResolver.cpp:
1878         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
1879         * bindings/js/JSDOMWindowBase.cpp:
1880         (WebCore::DOMWindowTimer::~DOMWindowTimer):
1881         (WebCore::JSDOMWindowBase::clear):
1882         (WebCore::JSDOMWindowBase::timerFired):
1883         * bindings/js/JSEventCustom.cpp:
1884         (WebCore::toJS):
1885         * bindings/js/JSEventListener.cpp:
1886         (WebCore::JSAbstractEventListener::handleEvent):
1887         * bindings/js/JSNSResolver.cpp:
1888         (WebCore::JSNSResolver::lookupNamespaceURI):
1889         * bindings/js/JSNodeFilterCondition.cpp:
1890         (WebCore::JSNodeFilterCondition::acceptNode):
1891         * bindings/js/ScheduledAction.cpp:
1892         (WebCore::ScheduledAction::execute):
1893         * bindings/js/ScriptController.cpp:
1894         (WebCore::ScriptController::evaluate):
1895         (WebCore::ScriptController::clearWindowShell):
1896         (WebCore::ScriptController::createHTMLEventHandler):
1897         (WebCore::ScriptController::createSVGEventHandler):
1898         (WebCore::ScriptController::initScript):
1899         (WebCore::ScriptController::updateDocument):
1900         (WebCore::ScriptController::bindingRootObject):
1901         (WebCore::ScriptController::windowScriptNPObject):
1902         (WebCore::ScriptController::createScriptObjectForPluginElement):
1903         (WebCore::ScriptController::clearScriptObjects):
1904         * bindings/js/ScriptControllerMac.mm:
1905         (WebCore::ScriptController::windowScriptObject):
1906         * bindings/objc/WebScriptObject.mm:
1907         (_didExecute):
1908         (-[WebScriptObject callWebScriptMethod:withArguments:]):
1909         (-[WebScriptObject evaluateWebScript:]):
1910         (-[WebScriptObject setValue:forKey:]):
1911         (-[WebScriptObject valueForKey:]):
1912         (-[WebScriptObject removeWebScriptKey:]):
1913         (-[WebScriptObject stringRepresentation]):
1914         (-[WebScriptObject webScriptValueAtIndex:]):
1915         (-[WebScriptObject setWebScriptValueAtIndex:value:]):
1916         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
1917         * bridge/NP_jsobject.cpp:
1918         (_NPN_InvokeDefault):
1919         (_NPN_Invoke):
1920         (_NPN_Evaluate):
1921         (_NPN_GetProperty):
1922         (_NPN_SetProperty):
1923         (_NPN_RemoveProperty):
1924         (_NPN_HasProperty):
1925         (_NPN_HasMethod):
1926         (_NPN_Enumerate):
1927         * bridge/c/c_class.cpp:
1928         (KJS::Bindings::CClass::~CClass):
1929         (KJS::Bindings::CClass::methodsNamed):
1930         (KJS::Bindings::CClass::fieldNamed):
1931         * bridge/c/c_instance.cpp:
1932         (KJS::Bindings::CInstance::invokeMethod):
1933         (KJS::Bindings::CInstance::invokeDefaultMethod):
1934         (KJS::Bindings::CInstance::getPropertyNames):
1935         * bridge/c/c_runtime.cpp:
1936         (KJS::Bindings::CField::valueFromInstance):
1937         (KJS::Bindings::CField::setValueToInstance):
1938         * bridge/c/c_utility.cpp:
1939         (KJS::Bindings::convertValueToNPVariant):
1940         (KJS::Bindings::convertNPVariantToValue):
1941         * bridge/jni/jni_class.cpp:
1942         (JavaClass::JavaClass):
1943         (JavaClass::~JavaClass):
1944         * bridge/jni/jni_instance.cpp:
1945         (JavaInstance::stringValue):
1946         * bridge/jni/jni_jsobject.mm:
1947         (JavaJSObject::call):
1948         (JavaJSObject::eval):
1949         (JavaJSObject::getMember):
1950         (JavaJSObject::setMember):
1951         (JavaJSObject::removeMember):
1952         (JavaJSObject::getSlot):
1953         (JavaJSObject::setSlot):
1954         (JavaJSObject::toString):
1955         (JavaJSObject::convertValueToJObject):
1956         (JavaJSObject::convertJObjectToValue):
1957         * bridge/jni/jni_objc.mm:
1958         (KJS::Bindings::dispatchJNICall):
1959         * bridge/jni/jni_runtime.cpp:
1960         (appendClassName):
1961         (JavaMethod::signature):
1962         * bridge/jni/jni_runtime.h:
1963         (KJS::Bindings::JavaString::JavaString):
1964         (KJS::Bindings::JavaString::_commonInit):
1965         (KJS::Bindings::JavaString::~JavaString):
1966         (KJS::Bindings::JavaString::UTF8String):
1967         * bridge/jni/jni_utility.cpp:
1968         (KJS::Bindings::convertValueToJValue):
1969         * bridge/npruntime.cpp:
1970         (_NPN_GetStringIdentifier):
1971         * bridge/objc/objc_instance.mm:
1972         (ObjcInstance::moveGlobalExceptionToExecState):
1973         (ObjcInstance::invokeMethod):
1974         (ObjcInstance::invokeDefaultMethod):
1975         (ObjcInstance::setValueOfUndefinedField):
1976         (ObjcInstance::getValueOfUndefinedField):
1977         * bridge/objc/objc_runtime.mm:
1978         (ObjcField::valueFromInstance):
1979         (ObjcField::setValueToInstance):
1980         * bridge/objc/objc_utility.mm:
1981         (KJS::Bindings::convertValueToObjcValue):
1982         (KJS::Bindings::convertNSStringToString):
1983         (KJS::Bindings::convertObjcValueToValue):
1984         * bridge/qt/qt_instance.cpp:
1985         (KJS::Bindings::QtRuntimeObjectImp::removeFromCache):
1986         (KJS::Bindings::QtInstance::~QtInstance):
1987         (KJS::Bindings::QtInstance::getQtInstance):
1988         (KJS::Bindings::QtInstance::getRuntimeObject):
1989         * bridge/qt/qt_runtime.cpp:
1990         (KJS::Bindings::convertValueToQVariant):
1991         (KJS::Bindings::convertQVariantToValue):
1992         (KJS::Bindings::QtRuntimeMetaMethod::call):
1993         (KJS::Bindings::QtRuntimeConnectionMethod::call):
1994         (KJS::Bindings::QtConnectionObject::QtConnectionObject):
1995         (KJS::Bindings::QtConnectionObject::execute):
1996         * bridge/runtime.cpp:
1997         (KJS::Bindings::Instance::createRuntimeObject):
1998         * bridge/testbindings.cpp:
1999         (main):
2000         * bridge/testbindings.mm:
2001         (main):
2002         * bridge/testqtbindings.cpp:
2003         (main):
2004         * dom/Document.cpp:
2005         (WebCore::Document::~Document):
2006         * dom/Node.cpp:
2007         (WebCore::Node::setDocument):
2008         * history/CachedPage.cpp:
2009         (WebCore::CachedPage::CachedPage):
2010         (WebCore::CachedPage::restore):
2011         (WebCore::CachedPage::clear):
2012         * loader/FrameLoader.cpp:
2013         (WebCore::getString):
2014         * page/InspectorController.cpp:
2015         (WebCore::ConsoleMessage::ConsoleMessage):
2016         (WebCore::XMLHttpRequestResource::XMLHttpRequestResource):
2017         (WebCore::XMLHttpRequestResource::~XMLHttpRequestResource):
2018         (WebCore::getResourceDocumentNode):
2019         (WebCore::search):
2020         (WebCore::inspectedWindow):
2021         (WebCore::wrapCallback):
2022         (WebCore::currentCallFrame):
2023         (WebCore::profiles):
2024         (WebCore::InspectorController::focusNode):
2025         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
2026         (WebCore::InspectorController::addDatabaseScriptResource):
2027         (WebCore::InspectorController::addScriptProfile):
2028         * page/JavaScriptCallFrame.cpp:
2029         (WebCore::JavaScriptCallFrame::evaluate):
2030         * page/JavaScriptProfileNode.cpp:
2031         (WebCore::getTotalTime):
2032         (WebCore::getSelfTime):
2033         (WebCore::getTotalPercent):
2034         (WebCore::getSelfPercent):
2035         (WebCore::getNumberOfCalls):
2036         (WebCore::getChildren):
2037         (WebCore::getVisible):
2038         * page/Page.cpp:
2039         * page/mac/FrameMac.mm:
2040         * plugins/PluginView.cpp:
2041         (WebCore::PluginView::start):
2042         (WebCore::getString):
2043         (WebCore::PluginView::performRequest):
2044         (WebCore::PluginView::bindingInstance):
2045         * plugins/gtk/PluginViewGtk.cpp:
2046         (WebCore::PluginView::paint):
2047         (WebCore::PluginView::handleKeyboardEvent):
2048         (WebCore::PluginView::handleMouseEvent):
2049         (WebCore::PluginView::setNPWindowRect):
2050         (WebCore::PluginView::stop):
2051         (WebCore::PluginView::init):
2052         * plugins/qt/PluginViewQt.cpp:
2053         (WebCore::PluginView::setNPWindowRect):
2054         (WebCore::PluginView::stop):
2055         (WebCore::PluginView::init):
2056         * plugins/win/PluginViewWin.cpp:
2057         (WebCore::PluginView::dispatchNPEvent):
2058         (WebCore::PluginView::handleKeyboardEvent):
2059         (WebCore::PluginView::handleMouseEvent):
2060         (WebCore::PluginView::setNPWindowRect):
2061         (WebCore::PluginView::stop):
2062         * xml/XMLHttpRequest.cpp:
2063         (WebCore::XMLHttpRequest::clearResponse):
2064         (WebCore::XMLHttpRequest::didFinishLoading):
2065         (WebCore::XMLHttpRequest::didReceiveData):
2066
2067 2008-08-19  Eric Seidel  <eric@webkit.org>
2068
2069         Reviewed by Geoff Garen.
2070
2071         Add the beginnings of Skia graphics support to WebCore
2072         as I try to begin the long process of un-forking the changes
2073         needed to WebCore to make Andriod's WebCore build.
2074
2075         I'll follow this up with actual *Skia.cpp files in a separate patch.
2076
2077         * platform/graphics/AffineTransform.h:
2078         * platform/graphics/FloatPoint.h:
2079         * platform/graphics/FloatRect.h:
2080         * platform/graphics/Gradient.h:
2081         * platform/graphics/GraphicsContext.h:
2082         * platform/graphics/Image.h:
2083         * platform/graphics/ImageBuffer.h:
2084         * platform/graphics/ImageSource.h:
2085         * platform/graphics/IntPoint.h:
2086         * platform/graphics/IntRect.h:
2087         * platform/graphics/Path.h:
2088         * platform/graphics/Pattern.h:
2089         * svg/graphics/SVGPaintServerPattern.h:
2090         * svg/graphics/SVGPaintServerSolid.h:
2091
2092 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
2093
2094         Fix Windows build more.
2095
2096         * WebCore.vcproj/WebCore.vcproj:
2097
2098 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
2099
2100         Fix Windows build.
2101
2102         * page/AccessibilityRenderObject.cpp:
2103         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2104
2105 2008-08-19  chris fleizach  <cfleizach@apple.com>
2106
2107         Reviewed by Beth Dakin.
2108
2109         <rdar://problem/4003764> Expose tables as AXTables
2110  
2111         Tests: accessibility/table-attributes.html
2112                accessibility/table-cell-spans.html
2113                accessibility/table-cells.html
2114                accessibility/table-detection.html
2115                accessibility/table-sections.html
2116                accessibility/table-with-rules.html
2117
2118         * WebCore.xcodeproj/project.pbxproj:
2119         * page/AXObjectCache.cpp:
2120         (WebCore::AXObjectCache::get):
2121         * page/AccessibilityObject.h:
2122         (WebCore::):
2123         (WebCore::AccessibilityObject::isDataTable):
2124         (WebCore::AccessibilityObject::isTableRow):
2125         (WebCore::AccessibilityObject::isTableColumn):
2126         (WebCore::AccessibilityObject::isTableCell):
2127         * page/AccessibilityRenderObject.cpp:
2128         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
2129         * page/AccessibilityTable.cpp: Added.
2130         (WebCore::AccessibilityTable::AccessibilityTable):
2131         (WebCore::AccessibilityTable::~AccessibilityTable):
2132         (WebCore::AccessibilityTable::create):
2133         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
2134         (WebCore::AccessibilityTable::clearChildren):
2135         (WebCore::AccessibilityTable::addChildren):
2136         (WebCore::AccessibilityTable::headerContainer):
2137         (WebCore::AccessibilityTable::columns):
2138         (WebCore::AccessibilityTable::rows):
2139         (WebCore::AccessibilityTable::rowHeaders):
2140         (WebCore::AccessibilityTable::columnHeaders):
2141         (WebCore::AccessibilityTable::cells):
2142         (WebCore::AccessibilityTable::columnCount):
2143         (WebCore::AccessibilityTable::rowCount):
2144         (WebCore::AccessibilityTable::cellForColumnAndRow):
2145         (WebCore::AccessibilityTable::roleValue):
2146         (WebCore::AccessibilityTable::accessibilityIsIgnored):
2147         (WebCore::AccessibilityTable::title):
2148         (WebCore::AccessibilityTable::isDataTable):
2149         * page/AccessibilityTable.h: Added.
2150         * page/AccessibilityTableCell.cpp: Added.
2151         (WebCore::AccessibilityTableCell::AccessibilityTableCell):
2152         (WebCore::AccessibilityTableCell::~AccessibilityTableCell):
2153         (WebCore::AccessibilityTableCell::create):
2154         (WebCore::AccessibilityTableCell::accessibilityIsIgnored):
2155         (WebCore::AccessibilityTableCell::rowIndexRange):
2156         (WebCore::AccessibilityTableCell::columnIndexRange):
2157         * page/AccessibilityTableCell.h: Added.
2158         (WebCore::AccessibilityTableCell::isTableCell):
2159         (WebCore::AccessibilityTableCell::roleValue):
2160         * page/AccessibilityTableColumn.cpp: Added.
2161         (WebCore::AccessibilityTableColumn::AccessibilityTableColumn):
2162         (WebCore::AccessibilityTableColumn::~AccessibilityTableColumn):
2163         (WebCore::AccessibilityTableColumn::create):
2164         (WebCore::AccessibilityTableColumn::setParentTable):
2165         (WebCore::AccessibilityTableColumn::elementRect):
2166         (WebCore::AccessibilityTableColumn::size):
2167         (WebCore::AccessibilityTableColumn::children):
2168         (WebCore::AccessibilityTableColumn::headerObject):
2169         (WebCore::AccessibilityTableColumn::headerObjectForSection):
2170         (WebCore::AccessibilityTableColumn::addChildren):
2171         * page/AccessibilityTableColumn.h: Added.
2172         (WebCore::AccessibilityTableColumn::parentObject):
2173         (WebCore::AccessibilityTableColumn::roleValue):
2174         (WebCore::AccessibilityTableColumn::accessibilityIsIgnored):
2175         (WebCore::AccessibilityTableColumn::isTableColumn):
2176         (WebCore::AccessibilityTableColumn::setColumnIndex):
2177         (WebCore::AccessibilityTableColumn::columnIndex):
2178         * page/AccessibilityTableHeaderContainer.cpp: Added.
2179         (WebCore::AccessibilityTableHeaderContainer::AccessibilityTableHeaderContainer):
2180         (WebCore::AccessibilityTableHeaderContainer::~AccessibilityTableHeaderContainer):
2181         (WebCore::AccessibilityTableHeaderContainer::create):
2182         (WebCore::AccessibilityTableHeaderContainer::children):
2183         (WebCore::AccessibilityTableHeaderContainer::elementRect):
2184         (WebCore::AccessibilityTableHeaderContainer::size):
2185         (WebCore::AccessibilityTableHeaderContainer::addChildren):
2186         * page/AccessibilityTableHeaderContainer.h: Added.
2187         (WebCore::AccessibilityTableHeaderContainer::roleValue):
2188         (WebCore::AccessibilityTableHeaderContainer::setParentTable):
2189         (WebCore::AccessibilityTableHeaderContainer::parentObject):
2190         (WebCore::AccessibilityTableHeaderContainer::accessibilityIsIgnored):
2191         * page/AccessibilityTableRow.cpp: Added.
2192         (WebCore::AccessibilityTableRow::AccessibilityTableRow):
2193         (WebCore::AccessibilityTableRow::~AccessibilityTableRow):
2194         (WebCore::AccessibilityTableRow::create):
2195         (WebCore::AccessibilityTableRow::accessibilityIsIgnored):
2196         (WebCore::AccessibilityTableRow::headerObject):
2197         * page/AccessibilityTableRow.h: Added.
2198         (WebCore::AccessibilityTableRow::isTableRow):
2199         (WebCore::AccessibilityTableRow::roleValue):
2200         (WebCore::AccessibilityTableRow::setRowIndex):
2201         (WebCore::AccessibilityTableRow::rowIndex):
2202         * page/mac/AccessibilityObjectWrapper.mm:
2203         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2204         (RoleEntry::):
2205         (-[AccessibilityObjectWrapper roleDescription]):
2206         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2207         (-[AccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
2208         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2209
2210 2008-08-19  Steve Falkenburg  <sfalken@apple.com>
2211
2212         Build fix.
2213         Add buildfailed support to stop builds early (preventing inaccurate error messages).
2214         Add missing post-build rule to Release.
2215
2216         * WebCore.vcproj/QTMovieWin.vcproj:
2217
2218 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
2219
2220         Added support for console.count in the inspector.
2221
2222         Reviewed by Geoff Garen.
2223
2224         * page/Console.cpp:
2225         (WebCore::Console::count):
2226         * page/Console.h:
2227         * page/Console.idl: Added console.count.
2228         * page/InspectorController.cpp:
2229         (WebCore::InspectorController::didCommitLoad): Clears m_counts.
2230         (WebCore::InspectorController::count): Updates the count number
2231         sing "title@source:line" as the identifier, and adds a
2232         message to the console.
2233         * page/InspectorController.h: Added m_counts.
2234
2235 2008-08-19  Keishi Hattori  <casey.hattori@gmail.com>
2236
2237         Clear console.time timers when changing page.
2238
2239         Reviewed by Geoff Garen.
2240
2241         * page/InspectorController.cpp:
2242         (WebCore::InspectorController::didCommitLoad):
2243
2244 2008-08-19  Eric Carlson  <eric.carlson@apple.com>
2245
2246         Reviewed by Adele.
2247
2248         Fix for <rdar://problem/6154695> Full-page movies flicker while playing
2249         https://bugs.webkit.org/show_bug.cgi?id=20404
2250
2251         Ignore setVisible() when visibility doesn't change.
2252
2253         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
2254         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2255         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
2256         (WebCore::MediaPlayerPrivate::setVisible):
2257
2258 2008-08-19  Timothy Hatcher  <timothy@apple.com>
2259
2260         Fixes a bug in the Profile view where switching sort order, then
2261         switching from heavy to tree mode would show the tree in the
2262         previous sort order.
2263
2264         https://bugs.webkit.org/show_bug.cgi?id=20441
2265
2266         Reviewed by Kevin McCullough.
2267
2268         * page/inspector/ProfileView.js:
2269         (WebInspector.ProfileView.prototype._changeView): Call _sortProfile
2270         on the next profile before assigning it to this.profile.
2271         (WebInspector.ProfileView.prototype._sortData): Call _sortProfile.
2272         (WebInspector.ProfileView.prototype._sortProfile): Moves from
2273         _sortData and takes a profile argument. If the profile passed in
2274         matches the this.profile, then call refresh.
2275
2276 2008-08-18  Timothy Hatcher  <timothy@apple.com>
2277
2278         Changed the default sort order now that heavy view is the default.
2279         Also fixes a bug where the heavy profile was not sorted at first.
2280
2281         https://bugs.webkit.org/show_bug.cgi?id=20440
2282
2283         Reviewed by Kevin McCullough.
2284
2285         * page/inspector/ProfileView.js:
2286         (WebInspector.ProfileView): Changed the default sort column. Also assign
2287         heavyProfile to profile, so the sortSelfTimeDescending call happens
2288         on the heavy profile before assigning to this.profile.
2289
2290 2008-08-18  Timothy Hatcher  <timothy@apple.com>
2291
2292         Add support for editing DOM properties and scope variables by double
2293         clicking a property to enter edit mode.
2294
2295         https://bugs.webkit.org/show_bug.cgi?id=20415
2296
2297         Reviewed by Kevin McCullough.
2298
2299         * page/inspector/ObjectPropertiesSection.js:
2300         (WebInspector.ObjectPropertiesSection): Set editable to true by default.
2301         (WebInspector.ObjectPropertiesSection.prototype.onpopulate):
2302         Factored out code into update, and calls update.
2303         (WebInspector.ObjectPropertiesSection.prototype.update): Moved from onpopulate.
2304         Call removeChildren since this method can be called multiple times now.
2305         (WebInspector.ObjectPropertyTreeElement): Pass an empty title, the title
2306         gets made later in onattach.
2307         (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate): Don't return early
2308         if shouldRefreshChildren is true. Call removeChildren since this method can be
2309         called multiple times now.
2310         (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick): Call startEditing.
2311         (WebInspector.ObjectPropertyTreeElement.prototype.onattach): Call update.
2312         (WebInspector.ObjectPropertyTreeElement.prototype.update): Update the title for
2313         this element (code moved from the constructor.)
2314         (WebInspector.ObjectPropertyTreeElement.prototype.updateSiblings): Recreate all
2315         sibling property elements.
2316         (WebInspector.ObjectPropertyTreeElement.prototype.startEditing): Call
2317         WebInspector.startEditing after rememebring some context.
2318         (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded): Reset the scrollLeft
2319         for the list element, since it might have scrolled during editing.
2320         (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled): Call editingEnded
2321         then restore the state from the context. Then call update to restore the title.
2322         (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted): Call editingCancelled
2323         if the user input and the previous input are the same. Call editingEnded, then call applyExpression
2324         to commit the user input.
2325         (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression): Evaluates the input expression
2326         and stores the result on the object for the property name of this element. If the expression is
2327         empty, delete the property and remove the tree element.
2328         * page/inspector/ScopeChainSidebarPane.js:
2329         (WebInspector.ScopeChainSidebarPane.prototype.update): Set the editInSelectedCallFrameWhenPaused
2330         property on each ObjectPropertiesSection.
2331         (WebInspector.ScopeVariableTreeElement.prototype.onattach): Call ObjectPropertyTreeElement's onattach
2332         since it is now implemented.
2333         * page/inspector/ScriptsPanel.js:
2334         (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame): Added an updateInterface argument
2335         that defaults to true if omitted. It specifies whether to call update on the scope chain.
2336         * page/inspector/inspector.css: New styles.
2337         * page/inspector/treeoutline.js:
2338         (TreeElement.prototype._attach): Fixed an exception that fired when handling the shouldRefreshChildren
2339         change. The nextSibling would exist but have a _listItemNode that didn't match the new parent.
2340
2341 2008-08-18  Timothy Hatcher  <timothy@apple.com>
2342
2343         Surround the expression to be evaluated in parenthesis so the
2344         result of the eval is the result of the whole expression not
2345         the last potential sub-expression. So evaluating {x: 123}
2346         will show the Object not 123.
2347
2348         https://bugs.webkit.org/show_bug.cgi?id=20428
2349
2350         Reviewed by Kevin McCullough.
2351
2352         * page/inspector/Console.js:
2353         (Console.prototype._evalInInspectedWindow): Add parenthesis
2354         around the expression. And add couple comments.
2355
2356 2008-08-19 Kevin McCullough <kmccullough@apple.com>
2357
2358         Reviewed by Geoff.
2359
2360         -Implement a page() function to extract a common code pattern.
2361
2362         * WebCore.xcodeproj/project.pbxproj:
2363         * page/Console.cpp:
2364         (WebCore::Console::addMessage):
2365         (WebCore::Console::error):
2366         (WebCore::Console::info):
2367         (WebCore::Console::log):
2368         (WebCore::Console::dir):
2369         (WebCore::Console::assertCondition):
2370         (WebCore::Console::time):
2371         (WebCore::Console::timeEnd):
2372         (WebCore::Console::group):
2373         (WebCore::Console::groupEnd):
2374         (WebCore::Console::finishedProfiling):
2375         (WebCore::Console::warn):
2376         (WebCore::Console::framePage):
2377         * page/Console.h:
2378
2379 2008-08-12  Darin Adler  <darin@apple.com>
2380
2381         Reviewed by Geoff.
2382
2383         - eliminate JSValue::type()
2384
2385         * bridge/c/c_instance.cpp:
2386         (KJS::Bindings::CInstance::defaultValue): Take PreferredPrimitiveType
2387         argument instead of JSType argument. Removed unneeded code to handle
2388         boolean, since that's never passed.
2389         * bridge/c/c_instance.h: Ditto.
2390
2391         * bridge/c/c_utility.cpp:
2392         (KJS::Bindings::convertValueToNPVariant): Use JSValue::is functions
2393         instead of JSValue::type(). Removed unneeded code to handle
2394         "unspecified".
2395
2396         * bridge/jni/jni_instance.cpp:
2397         (JavaInstance::defaultValue): Take PreferredPrimitiveType argument
2398         instead of JSType argument. Removed unneeded code to handle boolean.
2399         * bridge/jni/jni_instance.h: Ditto.
2400
2401         * bridge/jni/jni_jsobject.mm:
2402         (JavaJSObject::convertValueToJObject): Use JSValue::is functions
2403         instead of JSValue::type().
2404
2405         * bridge/objc/objc_instance.h: Take PreferredPrimitiveType argument
2406         instead of JSType argument. Removed unused argument.
2407         * bridge/objc/objc_instance.mm:
2408         (ObjcInstance::getValueOfUndefinedField): Removed unused argument.
2409         (ObjcInstance::defaultValue): Take PreferredPrimitiveType argument
2410         instead of JSType argument. Removed unneeded code to handle boolean
2411         and another dead code path for unknown types.
2412
2413         * bridge/objc/objc_runtime.h: Take PreferredPrimitiveType argument
2414         instead of JSType argument. Removed override of type() that caused
2415         the fallback object to return "UndefinedType" when there is no
2416         invokeUndefinedMethodFromWebScript:withArguments: method defined.
2417         That didn't accomplish much, since most checks for undefined don't
2418         ever call type().
2419         * bridge/objc/objc_runtime.mm:
2420         (ObjcFallbackObjectImp::defaultValue): Ditto.
2421
2422         * bridge/qt/qt_instance.cpp:
2423         (KJS::Bindings::QtInstance::defaultValue): Take PreferredPrimitiveType
2424         argument instead of JSType argument. Removed unneeded code to handle
2425         boolean.
2426         * bridge/qt/qt_instance.h: Ditto.
2427
2428         * bridge/runtime.h:
2429         (KJS::Bindings::Instance::getValueOfUndefinedField): Removed
2430         unsed argument.
2431         * bridge/runtime_object.cpp:
2432         (RuntimeObjectImp::defaultValue): Take PreferredPrimitiveType
2433         argument instead of JSType argument.
2434         * bridge/runtime_object.h: Ditto.
2435
2436 2008-08-18  Maxime Britto  <britto@apple.com>
2437
2438         Reviewed by Adele.
2439
2440         <rdar://6157207> Mouse pointer does not change when new window is opened after pan-scrolling original window
2441         Related to the discussion from rdar://6102511 , we should disable every key event (except for the esc key which stops the panning).
2442         We shouldn't be able to create another window while we are in pan scrolling.
2443         Other browsers behaviors :
2444           FF3 : Most of the keys are disabled, there is no way to create another window while in panscroll mode
2445           IE7 : Keys are not disabled but stops immediately the panning.
2446         This patch matches FF3 behavior by disabling every key but the esc key.
2447
2448         * page/EventHandler.cpp:
2449         (WebCore::EventHandler::stopAutoscrollTimer): Change the cursor back to the regular arrow cursor when the pannning is stopped.
2450         (WebCore::EventHandler::keyEvent): When a key event is received while in panning or autoscroll we swallow the event early.
2451
2452 2008-08-18  Dan Bernstein  <mitz@apple.com>
2453
2454         Reviewed by Dave Hyatt.
2455
2456         - fix <rdar://problem/5862634> REGRESSION (3.1.1): In iChat, inline image not resizable past current size after another IM is received
2457
2458         Test: fast/replaced/max-width-percent.html
2459
2460         Added an includeMaxWidth boolean to RenderBox::calcReplaedWidth().
2461         When false, max-width is not factored into the
2462         calculation.
2463         Changed RenderReplaced and subclasses' calcPrefWidths() to call
2464         calcReplacedWidth(false) and then apply max-width only if it has a
2465         fixed, positive value.
2466
2467         * rendering/RenderBox.cpp:
2468         (WebCore::RenderBox::calcReplacedWidth):
2469         * rendering/RenderBox.h:
2470         * rendering/RenderImage.cpp:
2471         (WebCore::RenderImage::calcReplacedWidth):
2472         (WebCore::RenderImage::calcPrefWidths): 
2473         * rendering/RenderImage.h:
2474         * rendering/RenderReplaced.cpp:
2475         (WebCore::RenderReplaced::calcPrefWidths):
2476         * rendering/RenderSVGRoot.cpp:
2477         (WebCore::RenderSVGRoot::calcPrefWidths):
2478         * rendering/RenderVideo.cpp:
2479         (WebCore::RenderVideo::calcReplacedWidth):
2480         (WebCore::RenderVideo::calcPrefWidths):
2481         * rendering/RenderVideo.h:
2482
2483 2008-08-18  Daniel Macks  <dmacks@netspace.org>
2484
2485         Reviewed by Mark Rowe.
2486
2487         https://bugs.webkit.org/show_bug.cgi?id=20410
2488         More portable/self-documenting replacement for SIZE_MAX.
2489
2490         * platform/network/curl/FormDataStreamCurl.cpp:
2491         (WebCore::FormDataStream::read):
2492
2493 2008-08-18  Simon Fraser  <simon.fraser@apple.com>
2494
2495         Reviewed by Dave Hyatt
2496
2497         Need to make sure we have an Animation in the AnimationList
2498         before setting the initial value.
2499         https://bugs.webkit.org/show_bug.cgi?id=20408
2500
2501         Test: fast/css/transition_shorthand_parsing.html
2502
2503         * css/CSSStyleSelector.cpp:
2504
2505 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
2506
2507         Reviewed by Tim.
2508
2509         <rdar://problem/6150593> JSProfiler: Empty profiles disappear when there
2510         is another profile.
2511
2512         * page/inspector/ProfilesPanel.js:
2513
2514 2008-08-18  Kevin McCullough  <kmccullough@apple.com>
2515
2516         Reviewed by Geoff.
2517
2518         <rdar://problem/6150642> REGRESSION: Closing the Web Inspector clears
2519         all console messages
2520
2521         * page/inspector/Console.js:
2522
2523 2008-08-18  Dirk Schulze  <vbs85@gmx.de>
2524
2525         Reviewed by Eric Seidel.
2526
2527         Fixed Canvas for Cairo. Stroke and fill colors didn't work after
2528         the canvas clean up.
2529
2530         https://bugs.webkit.org/show_bug.cgi?id=20405
2531
2532         * html/CanvasRenderingContext2D.cpp:
2533         (WebCore::CanvasRenderingContext2D::fill):
2534         (WebCore::CanvasRenderingContext2D::stroke):
2535         (WebCore::CanvasRenderingContext2D::fillRect):
2536
2537 2008-08-17  Timothy Hatcher  <timothy@apple.com>
2538
2539         Complete in scope variables in the Console when paused.
2540
2541         https://bugs.webkit.org/show_bug.cgi?id=19115
2542
2543         Reviewed by Geoffrey Garen.
2544
2545         * page/inspector/Console.js:
2546         (WebInspector.Console.prototype.completions): If the expressionString
2547         is null or empty and the debugger is paused, call variablesInScopeForSelectedCallFrame
2548         to get an object that declares all the in scope variables. That way
2549         "top level" expressions are completed.
2550         * page/inspector/ScriptsPanel.js:
2551         (WebInspector.ScriptsPanel.prototype.variablesInScopeForSelectedCallFrame):
2552         Return an object that has all the variables that are in scope for the
2553         selected call frame. The value of each property is just true.
2554         The return object is useful for quick lookups or auto completion.
2555
2556 2008-08-17  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2557
2558         Not reviewed.
2559
2560         Speculative Qt build fix.
2561
2562         * bridge/qt/qt_runtime.cpp:
2563         (KJS::Bindings::convertValueToQVariant):
2564         (KJS::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2565
2566 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
2567
2568         Reviewed by Cameron Zwarich.
2569         
2570         Updated project files to XCode 3.1.
2571
2572         * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj/project.pbxproj:
2573
2574 2008-08-17  Geoffrey Garen  <ggaren@apple.com>
2575
2576         Reviewed by Cameron Zwarich.
2577
2578         Made room for a free word in JSCell.
2579         
2580         Changed JSDOMWindowBase to store its auxiliary data in a subclass of
2581         JSGlobalData, so the two could share a pointer.
2582         
2583         Added a bunch of ASSERTs, to help catch over-sized objects.
2584
2585 2008-08-15  Mark Rowe  <mrowe@apple.com>
2586
2587         Reviewed by Dan Bernstein.
2588
2589         Disable dead code stripping in debug builds.
2590
2591         * Configurations/Base.xcconfig:
2592         * WebCore.xcodeproj/project.pbxproj:
2593
2594 2008-08-15  Mark Rowe  <mrowe@apple.com>
2595
2596         Rubber-stamped by Geoff Garen.
2597
2598         <rdar://problem/6139914> Please include a _debug version of JavaScriptCore framework
2599
2600         * Configurations/Base.xcconfig: Factor out the debug-only settings so that they can shared
2601         between the Debug configuration and debug Production variant.
2602         * WebCore.xcodeproj/project.pbxproj: Enable the debug variant.
2603
2604 2008-08-15  Antti Koivisto  <antti@apple.com>
2605
2606         Reviewed by Anders.
2607
2608         Don't start preloading body resources before the head is complete. This prevents
2609         body preloads from slowing down initial display when there is limited amount
2610         of bandwidth available.
2611         
2612         Works by queuing up found body preloads to DocLoader and only issuing them
2613         after document has rendering.
2614         
2615         With bandwidth capped to 300kbit/s this speeds up cnn.com initial display by ~25% or 5s
2616         without affecting complete load time.
2617
2618         * html/PreloadScanner.cpp:
2619         (WebCore::PreloadScanner::PreloadScanner):
2620         (WebCore::PreloadScanner::scanningBody):
2621         (WebCore::PreloadScanner::emitTag):
2622         (WebCore::PreloadScanner::emitCSSRule):
2623         * html/PreloadScanner.h:
2624         * loader/DocLoader.cpp:
2625         (WebCore::DocLoader::preload):
2626         (WebCore::DocLoader::checkForPendingPreloads):
2627         (WebCore::DocLoader::requestPreload):
2628         * loader/DocLoader.h:
2629         * loader/loader.cpp:
2630         (WebCore::Loader::Host::didFinishLoading):
2631         (WebCore::Loader::Host::didFail):
2632
2633 2008-08-15  Ada Chan  <adachan@apple.com>
2634
2635         Use item's computed style if the render style is 0 before falling back to the <select>'s style.
2636         This way style set on an <hr> within a <select> will be honored.
2637
2638         Reviewed by Dave Hyatt and Dan Bernstein.
2639
2640         * rendering/RenderMenuList.cpp:
2641         (WebCore::RenderMenuList::itemStyle):
2642
2643 2008-08-15  Antti Koivisto  <antti@apple.com>
2644
2645         Reviewed by Oliver.
2646
2647         Some loader performance tweaks:
2648         - Make stylesheets highest priority instead of scripts. We block script execution on stylesheets.
2649           Especially if a stylesheet @imports other stylesheets it is important to get them to the front of the queue 
2650           to not delay rendering.
2651         - Issue the first resource load for a host immediately even if the resource is low priority. TCP connection setup
2652           can take long time when latency is high so it is good to get started early.
2653         - When the document is fully parsed and stylesheets have been loaded there is no need to keep managing the
2654           load queues. Issue remaining loads to the network layer.
2655
2656         * loader/loader.cpp:
2657         (WebCore::Loader::determinePriority):
2658         (WebCore::Loader::load):
2659         (WebCore::Loader::Host::servePendingRequests):
2660         * loader/loader.h:
2661
2662 2008-08-15  Timothy Hatcher  <timothy@apple.com>
2663
2664         Detach the script debugger when the Web Inspector's window closes.
2665         This has always been the intended design, but never fully implemented.
2666
2667         https://bugs.webkit.org/show_bug.cgi?id=20402
2668
2669         Reviewed by Adam Roben.
2670
2671         * page/InspectorController.cpp:
2672         (WebCore::InspectorController::setWindowVisible): Call stopDebugging()
2673         if the window is no longer visible.
2674
2675 2008-08-15  Håvard Wall  <hwall@trolltech.com>
2676
2677         Reviewed by Simon.
2678
2679         Fixes:    compile with QT_NO_CONTEXTMENU
2680
2681         * platform/qt/PlatformMouseEventQt.cpp:
2682         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2683         * platform/qt/PlatformScrollBarQt.cpp:
2684         (WebCore::PlatformScrollbar::handleMouseMoveEvent):
2685         (WebCore::PlatformScrollbar::handleContextMenuEvent):
2686
2687 2008-08-15  Håvard Wall  <hwall@trolltech.com>
2688
2689         Reviewed by Simon.
2690
2691         Fixes: compile with QT_NO_WHEELEVENT
2692
2693         * platform/qt/WheelEventQt.cpp:
2694         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2695
2696 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
2697
2698         Fixed Bug 20210: Console groups are incorrect when closing and reopening the Inspector
2699
2700         https://bugs.webkit.org/show_bug.cgi?id=20210
2701
2702         Reviewed by Tim Hatcher.
2703
2704         * page/Console.cpp:
2705         (WebCore::Console::group):
2706         (WebCore::Console::groupEnd):
2707         * page/Console.h:
2708         (WebCore::): Removed GroupTitleMessageLevel. Added StartGroupMessaageLevel and EndGroupMessageLevel.
2709         * page/InspectorController.cpp:
2710         (WebCore::InspectorController::startGroup): Increments group level by
2711         one and adds console message with StartGroupMessaageLevel.
2712         (WebCore::InspectorController::endGroup): Decrements group level by one
2713         and adds console message with EndGroupMessaageLevel.
2714         * page/InspectorController.h:
2715         * page/inspector/Console.js:
2716         (WebInspector.Console.prototype.addMessage): Creates new ConsoleGroup
2717         if the message is StartGroupMessaageLevel.
2718         (WebInspector.ConsoleMessage.prototype.toMessageElement):
2719         (WebInspector.ConsoleGroup.prototype.addMessage):
2720         * page/inspector/inspector.js:
2721
2722 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
2723
2724         Adds support for console.dir to the Inspector
2725
2726         https://bugs.webkit.org/show_bug.cgi?id=19155
2727
2728         Reviewed by Tim Hatcher.
2729
2730         * bindings/js/JSConsoleCustom.cpp:
2731         (WebCore::JSConsole::dir):
2732         * page/Console.cpp:
2733         (WebCore::Console::dir):
2734         * page/Console.h: Added ObjectMessageLevel.
2735         * page/Console.idl: Added console.dir.
2736         * page/inspector/Console.js:
2737         (WebInspector.ConsoleMessage.prototypet.toMessageElement): Creates an
2738         ObjectPropertiesSection if the MessageLevel is Object.
2739         * page/inspector/ObjectPropertiesSection.js: "in" operator can't be
2740         used on primitive data types.
2741         * page/inspector/inspector.css:
2742
2743 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
2744
2745         Adds support for clear() in the Inspector console.
2746
2747         https://bugs.webkit.org/show_bug.cgi?id=19873
2748
2749         Reviewed by Tim Hatcher.
2750
2751         * page/inspector/Console.js:
2752
2753 2008-08-15  Anthony Ricaud  <rik24d@gmail.com>
2754
2755         Cmd-F on Mac or Ctrl-F on other platforms now focus the search field.
2756
2757         Platform distinction and modifier key matching adjusted
2758         by Daniel Jalkut <jalkut@red-sweater.com>
2759
2760         Bug 16313: text search (find) keybindings should work in the Web Inspector
2761         https://bugs.webkit.org/show_bug.cgi?id=16313
2762
2763         Reviewed by Tim Hatcher.
2764
2765         * page/inspector/inspector.js: Added a case for the F key
2766
2767 2008-08-15  Keishi Hattori  <casey.hattori@gmail.com>
2768
2769         Fix for error when the string doesn't contain a webkit-profile link.
2770
2771         https://bugs.webkit.org/show_bug.cgi?id=20399
2772
2773         Reviewed by Tim Hatcher.
2774
2775         * page/inspector/inspector.js:
2776
2777 2008-08-15  Timothy Hatcher  <timothy@apple.com>
2778
2779         Fixes two bugs where JavaScript could be executed from the page
2780         while the debugger is paused.
2781
2782         The first issue was JSLazyEventListener not checking the paused
2783         state before parsing the code.
2784
2785         The second issue was with the PageGroup version of
2786         JavaScriptDebugServer::setJavaScriptPaused always passing false
2787         to the Page version of JavaScriptDebugServer::setJavaScriptPaused,
2788         and not the paused argument.
2789
2790         https://bugs.webkit.org/show_bug.cgi?id=20284
2791
2792         Reviewed by Adam Roben.
2793
2794         * bindings/js/JSEventListener.cpp:
2795         (WebCore::JSLazyEventListener::parseCode): Check the paused
2796         state of the ScriptController. Return early if paused.
2797         * manual-tests/inspector/debugger-execution-while-paused.html: Added.
2798         * page/JavaScriptDebugServer.cpp:
2799         (WebCore::JavaScriptDebugServer::setJavaScriptPaused):
2800         Pass the paused argument to the Page version of setJavaScriptPaused.
2801
2802 2008-08-15  Alexey Proskuryakov  <ap@webkit.org>
2803
2804         Reviewed by Geoff Garen.
2805
2806         JSStringRef is created context-free, but can get linked to one via an identifier table,
2807         breaking an implicit API contract.
2808
2809         * page/InspectorController.cpp:
2810         (WebCore::jsStringRef):
2811         (WebCore::InspectorController::didParseSource):
2812         (WebCore::InspectorController::failedToParseSource):
2813         * page/JavaScriptProfile.cpp:
2814         (WebCore::getTitleCallback):
2815         Updated for JavaScriptCore changes.
2816
2817 2008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
2818
2819         wx !USE(WXGC) build fix. This is necessary until we find a way to replace GDI with
2820         an alternative that performs reasonably well. (GDI+ is too slow in many cases.)
2821
2822         * platform/graphics/AffineTransform.h:
2823
2824 2008-08-14  Eric Carlson  <eric.carlson@apple.com>
2825
2826         Reviewed by Adele.
2827
2828         Fix for https://bugs.webkit.org/show_bug.cgi?id=20388
2829         <video> elements on Windows never becomes visible when a page is restored from the cache
2830
2831         Always pass "set" calls down to MediaPlayerPrivate instead of only when the
2832         value is different from the cached value. Let the implementation decide when
2833         to avoid work because nothing has changed.
2834
2835         * platform/graphics/MediaPlayer.cpp:
2836         (WebCore::MediaPlayer::setVolume):
2837         (WebCore::MediaPlayer::setRate):
2838         (WebCore::MediaPlayer::setRect):
2839         (WebCore::MediaPlayer::setVisible):
2840
2841 2008-08-14  Keishi Hattori  <casey.hattori@gmail.com>
2842
2843         Make Firebug command line API respect predefined variables.
2844
2845         https://bugs.webkit.org/show_bug.cgi?id=20385
2846
2847         Reviewed by Tim Hatcher.
2848
2849         * page/inspector/Console.js:
2850
2851 2008-08-14  Sam Weinig  <sam@webkit.org>
2852
2853         Reviewed by Geoffrey Garen and Timothy Hatcher.
2854
2855         Allow programatically setting the HTMLTokenizers time delay and chunk size
2856         which are used for determining how aggressively we yield.
2857
2858         * WebCore.base.exp:
2859         * html/HTMLTokenizer.cpp:
2860         (WebCore::HTMLTokenizer::begin):
2861         (WebCore::HTMLTokenizer::continueProcessing):
2862         * html/HTMLTokenizer.h:
2863         * page/Page.cpp:
2864         (WebCore::Page::Page):
2865         (WebCore::Page::setCustomHTMLTokenizerTimeDelay):
2866         (WebCore::Page::setCustomHTMLTokenizerChunkSize):
2867         * page/Page.h:
2868         (WebCore::Page::hasCustomHTMLTokenizerTimeDelay):
2869         (WebCore::Page::customHTMLTokenizerTimeDelay):
2870         (WebCore::Page::hasCustomHTMLTokenizerChunkSize):
2871         (WebCore::Page::customHTMLTokenizerChunkSize):
2872
2873 2008-08-14  Eric Seidel  <eric@webkit.org>
2874
2875         Reviewed by Beth.
2876
2877         Move us one step closer to cross-platform svg/graphics code
2878
2879         * WebCore.xcodeproj/project.pbxproj:
2880         * html/CanvasStyle.cpp:
2881         * platform/graphics/Color.cpp:
2882         (WebCore::colorWithOverrideAlpha):
2883         * platform/graphics/Color.h:
2884         * svg/graphics/cg/CgSupport.cpp:
2885         (WebCore::applyStrokeStyleToContext):
2886         (WebCore::strokeBoundingBox):
2887         * svg/graphics/cg/SVGPaintServerSolidCg.cpp:
2888         (WebCore::SVGPaintServerSolid::setup):
2889
2890 2008-08-14  Eric Seidel  <eric@webkit.org>
2891
2892         Reviewed by Alexey.
2893
2894         Remove un-need includes from HTMLCanvas and use the
2895         Gradient platform abstraction in one place in CanvasStyle
2896
2897         * html/CanvasRenderingContext2D.cpp:
2898         (WebCore::CanvasRenderingContext2D::fillRect):
2899         * html/CanvasStyle.cpp:
2900         * html/HTMLCanvasElement.cpp:
2901
2902 2008-08-14  Eric Seidel  <eric@webkit.org>
2903
2904         Reviewed by Alexey.
2905
2906         Clean up GlyphBuffer.h, removing more #ifdefs
2907
2908         * platform/graphics/GlyphBuffer.h:
2909         (WebCore::GlyphBuffer::glyphAt):
2910         (WebCore::GlyphBuffer::advanceAt):
2911         (WebCore::GlyphBuffer::add):
2912
2913 2008-08-14  Eric Seidel  <eric@webkit.org>
2914
2915         Reviewed by Sam.
2916
2917         Clean up AffineTransform.h, removing #ifdefs
2918
2919         * platform/graphics/AffineTransform.h:
2920         * platform/graphics/cairo/AffineTransformCairo.cpp:
2921         * platform/graphics/cg/AffineTransformCG.cpp:
2922         * platform/graphics/qt/AffineTransformQt.cpp:
2923         * platform/graphics/wx/AffineTransformWx.cpp:
2924
2925 2008-08-14  Dan Bernstein  <mitz@apple.com>
2926
2927         - fix non-CG builds by adding an ImageSource::frameSizeAtIndex() that returns size().
2928
2929         * platform/graphics/cairo/ImageSourceCairo.cpp:
2930         (WebCore::ImageSource::frameSizeAtIndex):
2931         * platform/graphics/qt/ImageSourceQt.cpp:
2932         (WebCore::ImageSource::frameSizeAtIndex):
2933         * platform/graphics/wx/ImageSourceWx.cpp:
2934         (WebCore::ImageSource::frameSizeAtIndex):
2935
2936 2008-08-14  Dan Bernstein  <mitz@apple.com>
2937
2938         Reviewed by Brady Eidson.
2939
2940         - fix <rdar://problem/5993323> REGRESSION (r34210): Apple.com favicon appears stretched/clipped
2941
2942         * platform/graphics/BitmapImage.cpp: 
2943         (WebCore::BitmapImage::BitmapImage): Added initialization of
2944         m_hasUniformFrameSize.
2945         (WebCore::BitmapImage::cacheFrame): Added code to get the size of the
2946         cached frame for use in decoded size computation and for setting
2947         m_hasUniformFrameSize.
2948         (WebCore::BitmapImage::currentFrameSize): Added.
2949         (WebCore::BitmapImage::dataChanged): Added code to reset
2950         m_hasUniformFrameSize.
2951         * platform/graphics/BitmapImage.h: Added currentFrameSize() and
2952         m_hasUniformFrameSize.
2953         * platform/graphics/ImageSource.h: Added frameSizeAtIndex().
2954         * platform/graphics/cg/ImageCG.cpp:
2955         (WebCore::BitmapImage::draw): Changed to use currentFrameSize(). This
2956         fixes the bug, which resulted from assuming that the frame being drawn 
2957         was the same size as the first frame.
2958         * platform/graphics/cg/ImageSourceCG.cpp:
2959         (WebCore::ImageSource::frameSizeAtIndex): Renamed size() to this and
2960         changed to get the size of the frame at the given index.
2961         (WebCore::ImageSource::size): Added. Returns frameSizeAtIndex(0).
2962
2963 2008-08-13  Simon Fraser  <simon.fraser@apple.com>
2964
2965         Reviewed by Eric Seidel
2966
2967         Fix @font-face inside @media rule crash.
2968         https://bugs.webkit.org/show_bug.cgi?id=20367
2969
2970         Test: fast/css/font-face-in-media-rule.html
2971
2972         * css/CSSStyleSelector.cpp:
2973         (WebCore::CSSRuleSet::addRulesFromSheet):
2974
2975 2008-08-14  Kevin Ollivier  <kevino@theolliviers.com>
2976
2977         wx build fixes after recent changes to Canvas and Image classes.
2978
2979         * platform/graphics/Pattern.h:
2980         * platform/graphics/wx/GradientWx.cpp:
2981         (WebCore::Gradient::fill):
2982         * platform/graphics/wx/GraphicsContextWx.cpp:
2983         (WebCore::GraphicsContext::applyFillPattern):
2984         (WebCore::GraphicsContext::applyStrokePattern):
2985         * platform/graphics/wx/ImageBufferWx.cpp:
2986         (WebCore::ImageBuffer::image):
2987         * platform/graphics/wx/ImageWx.cpp:
2988         (WebCore::Image::loadPlatformResource):
2989
2990 2008-08-14  Maxime Britto  <britto@apple.com>
2991
2992         Reviewed by Sam Weinig.
2993
2994         rdar://6102511
2995         When pan-scrolling, typing on the keyboard should either stop the pan scroll or be ignored
2996         IE and FF are both preventing the keyboard event to interact with the page while scrolling.
2997         Some differences exist between them concerning the kind of key which is pressed :
2998         IE7 : every key leads to a stop of the panning
2999         FF3 : the ESC and TAB keys leads to a stop, the other keys are inactive.
3000         For WebKit this patch is adopting the FF3 behavior except for the TAB key which is inactive too.
3001
3002         * page/EventHandler.cpp:
3003         (WebCore::EventHandler::keyEvent): Verifies which key has been hit and decide either to stop the pan scroll or to swallow the key event.
3004
3005 2008-08-14  Christian Dywan  <christian@twotoasts.de>
3006
3007         Gtk+/ Cairo build fix, patch by Dirk Schulze.
3008
3009         * html/CanvasStyle.cpp:
3010         * platform/graphics/cairo/PatternCairo.cpp:
3011         (WebCore::Pattern::createPlatformPattern):
3012         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
3013
3014 2008-08-14  Kevin McCullough  <kmccullough@apple.com>
3015
3016         Reviewed by Tim.
3017
3018         <rdar://problem/6115819> Notify of profile in console
3019
3020         * page/InspectorController.cpp:
3021         (WebCore::InspectorController::addProfile):
3022         (WebCore::InspectorController::addProfileMessageToConsole): Called by
3023         addProfile this is the function that adds a message to the console that
3024         a profile finished.
3025         * page/InspectorController.h:
3026         * page/JavaScriptProfile.cpp: Expose the profiler's unique ID to match
3027         the console log to the profile in the web inspector.
3028         (WebCore::getUniqueIdCallback):
3029         (WebCore::ProfileClass):
3030         * page/inspector/ProfilesPanel.js: Created a map of all the profiles by
3031         Id to bring up the requested profile.  Also select and reveal the
3032         profile in the profile panel.  And created displayTitleForProfileLink()
3033         which formats a title taking into account if it's user initiated or if
3034         there are multiples. Lasty, I put the user initiated profile in a
3035         variable.
3036         * page/inspector/inspector.js: Make the profile title be a clickable
3037         link that will take the user to the identified profile.  Also expose
3038         the count of user initiated profiles so they can be displayed in the
3039         console with the correct count.
3040
3041 2008-08-14  Timothy Hatcher  <timothy@apple.com>
3042
3043         Avoid formating ConsoleMessages twice unless the message will be
3044         displayed in bubbles of a SourceFrame.
3045
3046         Reviewed by Kevin McCullough.
3047
3048         * page/inspector/Console.js:
3049         (WebInspector.ConsoleMessage): Only format the plain text message
3050         if the URL and line are valid and the level is error or warning.
3051         (WebInspector.ConsoleMessage.prototype.isErrorOrWarning): Added.
3052         Helper to test for error or warning level.
3053         * page/inspector/SourceFrame.js:
3054         (WebInspector.SourceFrame.prototype.addMessage): Don't add the
3055         message if there is no message or valid line or if the msg
3056         isn't an error or warning.
3057
3058 2008-08-14  Jan Michael Alonzo  <jmalonzo@webkit.org>
3059
3060         partial Gtk build fix, not reviewed
3061
3062         * platform/graphics/cairo/PatternCairo.cpp:
3063
3064 2008-08-13  Sam Weinig  <sam@webkit.org>
3065
3066         Reviewed by Anders Carlson.
3067
3068         Fix style issue.
3069
3070         * html/HTMLMediaElement.cpp:
3071         (WebCore::HTMLMediaElement::pickMedia):
3072
3073 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
3074
3075         Build fix for Cairo, not reviewed. (exposed by gtk build slave)
3076         Continue Erics build fixes, after the Image cleanup.
3077
3078         * platform/graphics/cairo/ImageBufferCairo.cpp:
3079         (WebCore::ImageBuffer::image):
3080
3081 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
3082
3083         Build fix for Qt, not reviewed.
3084         Don't declare eventuallyMarkAsParserCreated in a block wrapped by !USE_QXMLSTREAM.
3085
3086         * dom/XMLTokenizer.cpp:
3087         (WebCore::eventuallyMarkAsParserCreated): Was erre
3088
3089 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
3090
3091         Build fix, not reviewed.
3092         Add ScriptElement.cpp to Gtk build.
3093
3094         * GNUmakefile.am:
3095
3096 2008-08-13  Nikolas Zimmermann  <zimmermann@kde.org>
3097
3098         Reviewed by Eric.
3099
3100         Fixes: https://bugs.webkit.org/show_bug.cgi?id=20372
3101
3102         Refactor HTMLScriptElement's code into a common base class: ScriptElement.
3103         SVGScriptElement will be converted to use ScriptElement in a follow-up patch.
3104
3105         This resolves code duplications and allows us to completly replace the old
3106         SVGScriptElement (which doesn't use CachedScript, no dynamic injected scripts etc..)
3107
3108         As ScriptElement, doesn't actually inherit from Element, we may want to rename
3109         it, though StyleElement uses the same naming convention, so I left it as is for now.
3110         Eventually we'll rename both files in future.
3111
3112         No functional changes yet, as SVGScriptElement doesn't yet use the new base class.
3113
3114         * WebCore.pro: Add new ScriptElement.cpp to build.
3115         * WebCore.vcproj/WebCore.vcproj: Ditto.
3116         * WebCore.xcodeproj/project.pbxproj: Ditto.
3117         * WebCoreSources.bkl: Dutto.
3118         * dom/ScriptElement.cpp: Added. 1:1 based on HTMLScriptElement
3119         (WebCore::ScriptElement::insertedIntoDocument):
3120         (WebCore::ScriptElement::removedFromDocument):
3121         (WebCore::ScriptElement::childrenChanged):
3122         (WebCore::ScriptElement::finishParsingChildren):
3123         (WebCore::ScriptElement::handleSourceAttribute):
3124         (WebCore::isSupportedJavaScriptLanguage):
3125         (WebCore::ScriptElementData::ScriptElementData):
3126         (WebCore::ScriptElementData::~ScriptElementData):
3127         (WebCore::ScriptElementData::requestScript):
3128         (WebCore::ScriptElementData::evaluateScript):
3129         (WebCore::ScriptElementData::stopLoadRequest):
3130         (WebCore::ScriptElementData::notifyFinished):
3131         (WebCore::ScriptElementData::ignoresLoadRequest):
3132         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
3133         (WebCore::ScriptElementData::scriptCharset):
3134         (WebCore::ScriptElementData::scriptContent):
3135         * dom/ScriptElement.h: Added.
3136         (WebCore::ScriptElement::ScriptElement):
3137         (WebCore::ScriptElement::~ScriptElement):
3138         (WebCore::ScriptElementData::element):
3139         (WebCore::ScriptElementData::createdByParser):
3140         (WebCore::ScriptElementData::setCreatedByParser):
3141         * dom/XMLTokenizer.cpp:
3142         (WebCore::isScriptElement):
3143         (WebCore::castToScriptElement):
3144         (WebCore::eventuallyMarkAsParserCreated):
3145         (WebCore::XMLTokenizer::startElementNs):
3146         (WebCore::XMLTokenizer::endElementNs):
3147         (WebCore::createXHTMLParserErrorHeader):
3148         (WebCore::XMLTokenizer::insertErrorMessageBlock):
3149         * html/HTMLScriptElement.cpp: Refactored code, pushed most code down to ScriptElement.
3150         (WebCore::HTMLScriptElement::HTMLScriptElement):
3151         (WebCore::HTMLScriptElement::~HTMLScriptElement):
3152         (WebCore::HTMLScriptElement::isURLAttribute):
3153         (WebCore::HTMLScriptElement::setCreatedByParser):
3154         (WebCore::HTMLScriptElement::shouldExecuteAsJavaScript):
3155         (WebCore::HTMLScriptElement::childrenChanged):
3156         (WebCore::HTMLScriptElement::parseMappedAttribute):
3157         (WebCore::HTMLScriptElement::finishParsingChildren):
3158         (WebCore::HTMLScriptElement::insertedIntoDocument):
3159         (WebCore::HTMLScriptElement::removedFromDocument):
3160         (WebCore::HTMLScriptElement::text):
3161         (WebCore::HTMLScriptElement::setText):
3162         (WebCore::HTMLScriptElement::setHtmlFor):
3163         (WebCore::HTMLScriptElement::setEvent):
3164         (WebCore::HTMLScriptElement::charset):
3165         (WebCore::HTMLScriptElement::src):
3166         (WebCore::HTMLScriptElement::type):
3167         (WebCore::HTMLScriptElement::scriptCharset):
3168         (WebCore::HTMLScriptElement::scriptContent):
3169         (WebCore::HTMLScriptElement::sourceAttributeValue):
3170         (WebCore::HTMLScriptElement::charsetAttributeValue):
3171         (WebCore::HTMLScriptElement::typeAttributeValue):
3172         (WebCore::HTMLScriptElement::languageAttributeValue):
3173         (WebCore::HTMLScriptElement::dispatchLoadEvent):
3174         (WebCore::HTMLScriptElement::dispatchErrorEvent):
3175         * html/HTMLScriptElement.h:
3176         * svg/SVGScriptElement.cpp: Inherit from ScriptElement, don't actually use it yet.
3177         * svg/SVGScriptElement.cpp:
3178         (WebCore::SVGScriptElement::SVGScriptElement):
3179         (WebCore::SVGScriptElement::scriptContent):
3180         (WebCore::SVGScriptElement::sourceAttributeValue):
3181         (WebCore::SVGScriptElement::charsetAttributeValue):
3182         (WebCore::SVGScriptElement::typeAttributeValue):
3183         (WebCore::SVGScriptElement::languageAttributeValue):
3184         (WebCore::SVGScriptElement::dispatchLoadEvent):
3185         (WebCore::SVGScriptElement::dispatchErrorEvent):
3186         * svg/SVGScriptElement.h:
3187         (WebCore::SVGScriptElement::setCreatedByParser):
3188
3189 2008-08-13  Eric Seidel  <eric@webkit.org>
3190
3191         Attempt to fix the Gtk build, no review.
3192
3193         I removed the bogus GraphicsContext::translatePoint() hack for Gtk in the process.
3194
3195         * platform/graphics/GraphicsContext.h:
3196         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3197         * platform/graphics/qt/GradientQt.cpp:
3198         * platform/graphics/qt/GraphicsContextQt.cpp:
3199         * platform/gtk/RenderThemeGtk.cpp:
3200         (WebCore::paintMozWidget):
3201
3202 2008-08-13  Eric Seidel  <eric@webkit.org>
3203
3204         Yet another attempt to fix the Qt build, no review.
3205
3206         * platform/graphics/qt/GradientQt.cpp:
3207         * platform/graphics/qt/GraphicsContextQt.cpp:
3208         (WebCore::GraphicsContext::applyStrokePattern):
3209         (WebCore::GraphicsContext::applyFillPattern):
3210
3211 2008-08-13  Eric Seidel  <eric@webkit.org>
3212
3213         Attempt to fix the Windows build, no review.
3214
3215         * platform/win/CursorWin.cpp:
3216         (WebCore::loadCursorByName):
3217         * platform/win/ScrollViewWin.cpp:
3218         (WebCore::ScrollView::paint):
3219
3220 2008-08-13  Eric Seidel  <eric@webkit.org>
3221
3222         Attempt to fix the Windows build, no review.
3223
3224         * platform/win/CursorWin.cpp:
3225         (WebCore::loadCursorByName):
3226         * platform/win/ScrollViewWin.cpp:
3227         (WebCore::ScrollView::paint):
3228
3229 2008-08-13  Eric Seidel  <eric@webkit.org>
3230
3231         Attempt to fix the Qt build, no review.
3232
3233         * platform/graphics/qt/ImageBufferQt.cpp:
3234         (WebCore::ImageBuffer::image):
3235
3236 2008-08-13  Eric Seidel  <eric@webkit.org>
3237
3238         Attempt to fix the Windows build, no review.
3239
3240         * platform/graphics/win/ImageWin.cpp:
3241         (WebCore::Image::loadPlatformResource):
3242         * plugins/win/PluginViewWin.cpp:
3243         (WebCore::PluginView::paintMissingPluginIcon):
3244
3245 2008-08-13  Eric Seidel  <eric@webkit.org>
3246
3247         Another attempt to fix the Qt build, no review.
3248
3249         * platform/graphics/qt/ImageQt.cpp:
3250         * platform/graphics/qt/StillImageQt.h:
3251
3252 2008-08-13  Eric Seidel  <eric@webkit.org>
3253
3254         No review, build fix only.
3255
3256         Fix mac build, due to change in new code since my patch was written.
3257
3258         * svg/graphics/cg/SVGResourceMaskerCg.mm:
3259         (WebCore::SVGResourceMasker::applyMask):
3260
3261 2008-08-13  Eric Seidel  <eric@webkit.org>
3262
3263         Build fix only, no review.
3264
3265         Attempt to fix the Qt build.
3266
3267         * platform/graphics/qt/ImageBufferQt.cpp:
3268         * platform/graphics/qt/StillImageQt.h:
3269         (WebCore::StillImage::create):
3270         (WebCore::StillImage::destroyDecodedData):
3271         (WebCore::StillImage::decodedSize):
3272
3273 2008-08-13  Eric Seidel  <eric@webkit.org>
3274
3275         Build fix only, no review.
3276
3277         Attempt to fix the Qt build.
3278
3279         * html/CanvasStyle.cpp:
3280         (WebCore::CanvasStyle::applyStrokeColor):
3281         (WebCore::CanvasStyle::applyFillColor):
3282
3283 2008-08-13  Eric Seidel  <eric@webkit.org>
3284
3285         Reviewed by Sam.
3286
3287         Match HTML5 spec by throwing INVALID_STATE_ERR when
3288         createPattern is called and the HTMLImageElement is not
3289         yet done loading the image (!isComplete)
3290         https://bugs.webkit.org/show_bug.cgi?id=20351
3291
3292         Test: http/misc/canvas-pattern-from-incremental-image.html
3293
3294         * html/CanvasRenderingContext2D.cpp:
3295         (WebCore::CanvasRenderingContext2D::createPattern):
3296
3297 2008-08-13  Eric Seidel  <eric@webkit.org>
3298
3299         Reviewed by Niko.
3300
3301         Split out a Pattern class from CanvasPattern
3302         and remove all the Pattern-related #ifdefs
3303         (This will break non-mac platforms!  I will fix them.)
3304         https://bugs.webkit.org/show_bug.cgi?id=20351
3305
3306         * GNUmakefile.am:
3307         * WebCore.pro:
3308         * WebCore.vcproj/WebCore.vcproj:
3309         * WebCore.xcodeproj/project.pbxproj:
3310         * WebCoreSources.bkl:
3311         * html/CanvasPattern.cpp:
3312         (WebCore::CanvasPattern::parseRepetitionType):
3313         (WebCore::CanvasPattern::CanvasPattern):
3314         * html/CanvasPattern.h:
3315         (WebCore::CanvasPattern::create):
3316         (WebCore::CanvasPattern::pattern):
3317         (WebCore::CanvasPattern::originClean):
3318         * html/CanvasRenderingContext2D.cpp:
3319         (WebCore::CanvasRenderingContext2D::createPattern):
3320         (WebCore::CanvasRenderingContext2D::applyStrokePattern):
3321         (WebCore::CanvasRenderingContext2D::applyFillPattern):
3322         * html/CanvasRenderingContext2D.h:
3323         * html/HTMLCanvasElement.cpp:
3324         * html/HTMLCanvasElement.h:
3325         * loader/FrameLoader.cpp:
3326         (WebCore::FrameLoader::createHistoryItem):
3327         * platform/graphics/GraphicsContext.h:
3328         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3329         (WebCore::GraphicsContext::applyStrokePattern):
3330         (WebCore::GraphicsContext::applyFillPattern):
3331         * platform/graphics/cg/GraphicsContextCG.cpp:
3332         (WebCore::GraphicsContext::clipToImageBuffer):
3333         (WebCore::GraphicsContext::applyStrokePattern):
3334         (WebCore::GraphicsContext::applyFillPattern):
3335
3336 2008-08-13  Eric Seidel  <eric@webkit.org>
3337
3338         Reviewed by Niko.
3339
3340         Make Images RefCounted (and clean up callers)
3341         https://bugs.webkit.org/show_bug.cgi?id=20351
3342
3343         * editing/DeleteButtonController.cpp:
3344         (WebCore::DeleteButtonController::createDeletionUI):
3345         * loader/CachedImage.cpp:
3346         (WebCore::CachedImage::CachedImage):
3347         (WebCore::brokenImage):
3348         (WebCore::nullImage):
3349         (WebCore::CachedImage::image):
3350         (WebCore::CachedImage::notifyObservers):
3351         (WebCore::CachedImage::createImage):
3352         * loader/CachedImage.h:
3353         * loader/icon/IconRecord.cpp:
3354         (WebCore::IconRecord::setImageData):
3355         (WebCore::IconRecord::loadImageFromResource):
3356         * loader/icon/IconRecord.h:
3357         * platform/graphics/BitmapImage.h:
3358         (WebCore::BitmapImage::create):
3359         * platform/graphics/GeneratedImage.h:
3360         * platform/graphics/Gradient.cpp:
3361         * platform/graphics/Gradient.h:
3362         * platform/graphics/Image.cpp:
3363         (WebCore::Image::nullImage):
3364         * platform/graphics/Image.h:
3365         * platform/graphics/ImageBuffer.h:
3366         * platform/graphics/cairo/ImageBufferCairo.cpp:
3367         (WebCore::ImageBuffer::image):
3368         * platform/graphics/cg/ImageBufferCG.cpp:
3369         (WebCore::ImageBuffer::image):
3370         (WebCore::ImageBuffer::getImageData):
3371         (WebCore::ImageBuffer::putImageData):
3372         * platform/graphics/cg/PDFDocumentImage.h:
3373         (WebCore::PDFDocumentImage::create):
3374         (WebCore::PDFDocumentImage::destroyDecodedData):
3375         (WebCore::PDFDocumentImage::decodedSize):
3376         * platform/graphics/gtk/ImageGtk.cpp:
3377         (WebCore::Image::loadPlatformResource):
3378         * platform/graphics/mac/ImageMac.mm:
3379         (WebCore::Image::loadPlatformResource):
3380         * rendering/RenderImage.cpp:
3381         * rendering/RenderLayer.cpp:
3382         (WebCore::RenderLayer::paintOverflowControls):
3383         * svg/graphics/SVGImage.cpp:
3384         (WebCore::SVGImage::nativeImageForCurrentFrame):
3385         * svg/graphics/SVGImage.h:
3386         (WebCore::SVGImage::create):
3387         (WebCore::SVGImage::destroyDecodedData):
3388         (WebCore::SVGImage::decodedSize):
3389         (WebCore::SVGImage::frameAtIndex):
3390         * svg/graphics/cairo/SVGPaintServerPatternCairo.cpp:
3391         (WebCore::SVGPaintServerPattern::setup):
3392         * svg/graphics/cairo/SVGResourceMaskerCairo.cpp:
3393         (WebCore::SVGResourceMasker::applyMask):
3394         * svg/graphics/cg/SVGPaintServerPatternCg.cpp:
3395         (WebCore::patternCallback):
3396         * svg/graphics/cg/SVGResourceMaskerCg.mm:
3397         (WebCore::SVGResourceMasker::applyMask):
3398
3399 2008-08-13  Eric Seidel  <eric@webkit.org>
3400
3401         Reviewed by Niko.
3402
3403         Remove #ifdefs from CanvasStyle by using platform/Color.h
3404         https://bugs.webkit.org/show_bug.cgi?id=20351
3405
3406         There are some down-sides to this commit.
3407         This commit limits us to 255 levels of grey for calls like:
3408         context.setStrokeStyle(.37, 1.0)
3409         previously CG might have used up to 32bits to store the grey level
3410         Since setStrokeStyle is not part of HTML5, I don't suspect the web will notice.
3411
3412         Likewise, setStrokeStyle/setFillStyle calls which used float colors are now limited
3413         to RGBA32 (like all the rest of colors in WebCore), thus:
3414         context.setStrokStyle(.37, .24, .456, .99) will now have the same precision as:
3415         context.strokeStyle = "rgba(.37, .24, .456, .99)", which is to say RGBA32
3416
3417         If this is a problem for Dashboard, we can either roll out this commit
3418         or add a beefier Color abstraction, which can be used internally by GraphicsContext
3419         when keeping state, and then GraphicsContext can grow some additional set* routines
3420         for setting the a grey/float/whatever fill and stroke.
3421
3422         * html/CanvasRenderingContext2D.cpp:
3423         (WebCore::CanvasRenderingContext2D::setFillStyle):
3424         * html/CanvasStyle.cpp:
3425         (WebCore::CanvasStyle::CanvasStyle):
3426         (WebCore::colorWithOverrideAlpha):
3427         (WebCore::CanvasStyle::applyStrokeColor):
3428         (WebCore::CanvasStyle::applyFillColor):
3429         * html/CanvasStyle.h:
3430         * platform/graphics/Color.cpp:
3431         (WebCore::colorFloatToRGBAByte):
3432         (WebCore::makeRGBA32FromFloats):
3433         * platform/graphics/Color.h:
3434
3435 2008-08-13  Eric Carlson  <eric.carlson@apple.com>
3436
3437         Reviewed by Adele Peterson.
3438
3439         Fix for <rdar://problem/6137931>
3440         https://bugs.webkit.org/show_bug.cgi?id=20360
3441         Remove all parameters from the MIME type before checking with the MIME type registry
3442
3443         Tests: media/video-source-type-params.html
3444
3445         * html/HTMLMediaElement.cpp:
3446         (WebCore::HTMLMediaElement::pickMedia): only pass the portion before the first ';' 
3447         to isSupportedMediaMIMEType()
3448
3449 2008-08-13  Beth Dakin  <bdakin@apple.com>
3450
3451         Reviewed by Sam Weinig.
3452
3453         Fix for <rdar://problem/6141345>
3454
3455         This patch refines findString and markAllMatchesForText functions' 
3456         interactions with disconnected frames. They no longer rely on 
3457         knowing where a range is relative to the visible region and work 
3458         with disconnected frames that contain frames.
3459
3460         * editing/Editor.cpp:
3461         (WebCore::Editor::insideVisibleArea): Now returns a bool instead of 
3462         the visiblity enum.
3463         (WebCore::Editor::firstVisibleRange): This now returns the very 
3464         first visible range in the document. It's no longer dependent on 
3465         searching forward.
3466         (WebCore::Editor::lastVisibleRange): This now returns the very last 
3467         visible range in the document. It's no longer dependent on 
3468         searching backwards.
3469         (WebCore::Editor::nextVisibleRange): This returns the next visible 
3470         range in the appropriate direction from the current range.
3471         * editing/Editor.h:
3472         * page/Frame.cpp:
3473         (WebCore::Frame::findString):
3474         (WebCore::Frame::markAllMatchesForText):
3475
3476 2008-08-13  Kevin Ollivier  <kevino@theolliviers.com>
3477
3478         wx build fix for case-sensitive platforms, like Linux.
3479
3480         * WebCoreSources.bkl:
3481
3482 2008-08-13  Marco Barisione  <marco.barisione@collabora.co.uk>
3483
3484         Reviewed by Holger Freyther.
3485
3486         http://bugs.webkit.org/show_bug.cgi?id=16881
3487         [GTK] PlatformScreenGtk is unimplemented
3488
3489         Original patch by Christian Dywan.
3490
3491         * platform/gtk/PlatformScreenGtk.cpp:
3492         (WebCore::screenDepth):
3493         (WebCore::screenDepthPerComponent):
3494         (WebCore::screenIsMonochrome):
3495         (WebCore::screenRect):
3496         (WebCore::screenAvailableRect):
3497
3498 2008-08-13  Jan Michael Alonzo  <jmalonzo@webkit.org>
3499
3500         Reviewed by Holger Freyther.
3501
3502         http://bugs.webkit.org/show_bug.cgi?id=20318
3503         SharedTimerGtk should use G_PRIORITY_DEFAULT_IDLE for g_idle_add
3504
3505         g_idle_add is the same as g_idle_add_full with a priority of
3506         G_PRIORITY_DEFAULT_IDLE, so we can safely use that.
3507
3508         * platform/gtk/SharedTimerGtk.cpp:
3509         (WebCore::setSharedTimerFireTime):
3510
3511 2008-08-13  Timothy Hatcher  <timothy@apple.com>
3512
3513         Changed the InspectorController so it can be notified when the
3514         attached state of the Inspector changes in WebKit.
3515
3516         Reviewed by Kevin McCullough.
3517
3518         * WebCore.base.exp: Updated the symbol for setWindowVisible.
3519         * page/InspectorController.cpp:
3520         (WebCore::InspectorController::setWindowVisible): Added an attached argument,
3521         that defaults to false.Call setAttachedWindow with the attached argument.
3522         (WebCore::InspectorController::setAttachedWindow): Call the script version
3523         of setAttachedWindow.
3524         * page/InspectorController.h:
3525         * page/inspector/inspector.js:
3526         (WebInspector.setAttachedWindow): Set the attached property.
3527
3528 2008-08-12  Timothy Hatcher  <timothy@apple.com>
3529
3530         Added a close button to the Inspector's toolbar when docked.
3531
3532         https://bugs.webkit.org/show_bug.cgi?id=14270
3533
3534         Reviewed by Kevin McCullough.
3535
3536         * page/InspectorController.cpp:
3537         (WebCore::closeWindow): Call InspectorController::closeWindow.
3538         (WebCore::InspectorController::windowScriptObjectAvailable):
3539         Added closeWindow to the script class.
3540         * page/InspectorController.h:
3541         * page/inspector/Images/closeButtons.png: Added.
3542         * page/inspector/inspector.css: Added and changed styles.
3543         * page/inspector/inspector.html: Added the close button.
3544         * page/inspector/inspector.js:
3545         (WebInspector.loaded): Added click event listener to the close button.
3546         (WebInspector.close): Call InspectorController.closeWindow.
3547
3548 2008-08-12  Timothy Hatcher  <timothy@apple.com>
3549
3550         Make the docked Web Inspector resizable. This is the cross platform
3551         portion of the code. Each InspectorClient needs to implement the
3552         real resize code.
3553
3554         https://bugs.webkit.org/show_bug.cgi?id=14282
3555
3556         Reviewed by Kevin McCullough.
3557
3558         * loader/EmptyClients.h: Added an empty setAttachedWindowHeight.
3559         * page/InspectorClient.h: Added setAttachedWindowHeight.
3560         * page/InspectorController.cpp:
3561         (WebCore::setAttachedWindowHeight): Call setAttachedWindowHeight
3562         on the InspectorController.
3563         (WebCore::InspectorController::setAttachedWindowHeight): Call
3564         setAttachedWindowHeight on the client.
3565         (WebCore::InspectorController::windowScriptObjectAvailable):
3566         Added setAttachedWindowHeight to the script class.
3567         * page/InspectorController.h:
3568         * page/inspector/inspector.css: Make the cursor on the toolbar be
3569         row-resize when docked.
3570         * page/inspector/inspector.js:
3571         (WebInspector.loaded): Always add the toolbarDragStart event listener.
3572         (WebInspector.toolbarDragStart): Return early if we are not attached
3573         and not on Leopard. Call WebInspector.elementDragStart.
3574         (WebInspector.toolbarDragEnd): Call WebInspector.elementDragEnd.
3575         (WebInspector.toolbarDrag): When attached call setAttachedWindowHeight,
3576         otherwise call moveByUnrestricted.
3577
3578 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
3579
3580         Reviewed by Holger.
3581
3582         Initialize m_zoomsTextOnly in the Settings constructor.
3583
3584         * page/Settings.cpp:
3585         (WebCore::Settings::Settings):
3586
3587 2008-08-13  Brad Hughes <bhughes@trolltech.com>
3588
3589         Reviewed by Simon.
3590
3591         Fix compiling of QtWebKit in release mode with the Intel C++ Compiler for Linux
3592
3593         The latest upgrade of the intel compiler allows us to compile all of
3594         Qt with optimizations enabled (yay!).
3595
3596         * WebCore.pro:
3597
3598 2008-08-13  Prasanth Ullattil  <prasanth.ullattil@trolltech.com>
3599
3600         Reviewed by Simon.
3601
3602         Fix QtWebKit not displaying content on 403 HTTP responses
3603
3604         Just like with 404 responses also display content with 403, as
3605         used by http://audiio.ejamming.proteus-tech.com/audiio/profile/original_signup/
3606
3607         * platform/network/qt/QNetworkReplyHandler.cpp:
3608         (WebCore::QNetworkReplyHandler::finish):
3609
3610 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
3611
3612         Reviewed by Holger.
3613
3614         Qt part of https://bugs.webkit.org/show_bug.cgi?id=18994
3615
3616         Make the formatting of String::format() locale independent through the use of QString::vsprintf.
3617
3618         * platform/text/String.cpp:
3619         (WebCore::String::format):
3620
3621 2008-08-13  Simon Hausmann  <hausmann@webkit.org>
3622
3623         Reviewed by Lars.
3624
3625         Fix QWebFrame::setHtml() not setting the new contents immediately.