6ab4f26a9b05b193130b4f8994b578b142b50d6f
[WebKit-https.git] / WebCore / ChangeLog
1 2009-03-17  Alexey Proskuryakov  <ap@webkit.org>
2
3         Reviewed by Darin Adler.
4
5         HTMLSelectElement::add() doesn't look at exception code returned from insertBefore(), so 
6         it doesn't need to zero it out before calling.
7
8         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::add): Removed "ec = 0" line.
9
10 2009-03-17  Dan Bernstein  <mitz@apple.com>
11
12         Reviewed by Adam Roben.
13
14         - WebCore part of adding a mechanism for controlling the caching of
15           responses through WebFrameLoaderClient
16
17         Mac already has such a mechanism, and this adds one for CFNetwork ports.
18
19         * WebCore.vcproj/WebCore.vcproj: Added EmptyClients.h
20         and ResourceLoaderCFNet.cpp.
21
22         * loader/EmptyClients.h:
23         (WebCore::EmptyFrameLoaderClient::shouldCacheResponse): Added an
24         implementation that always returns true.
25
26         * loader/FrameLoaderClient.h: Declared shouldCacheResponse().
27
28         * loader/ResourceLoader.h: Ditto.
29
30         * loader/cf/ResourceLoaderCFNet.cpp: Added.
31         (WebCore::ResourceLoader::shouldCacheResponse): Added. Calls through to
32         FrameLoaderClient::shouldCacheResponse().
33
34         * platform/network/ResourceHandleClient.h:
35         (WebCore::ResourceHandleClient::shouldCacheResponse): Added an
36         implementation that always returns true.
37
38         * platform/network/cf/ResourceHandleCFNet.cpp:
39         (WebCore::willCacheResponse): Added a call to
40         ResourceHandleClient::shouldCacheResponse(). If the client returns
41         false, return 0, which will prevent CFNetwork from caching the response.
42
43 2009-03-17  Alexey Proskuryakov  <ap@webkit.org>
44
45         Reviewed by Darin Adler.
46
47         https://bugs.webkit.org/show_bug.cgi?id=13287
48         Cannot change SELECT to a dynamically created option
49
50         Tests: fast/forms/add-and-remove-option.html
51                fast/forms/add-remove-option-modification-event.html
52                fast/forms/add-selected-option.html
53                fast/forms/select-cache-desynchronization.html
54
55         * dom/ContainerNode.cpp:
56         (WebCore::dispatchChildInsertionEvents): Increment DOM tree version. This will happen when
57         dispatching DOMSubtreeModified again, but the version should be incremented for event
58         listeners to have an up to date view of the DOM.
59         (WebCore::dispatchChildRemovalEvents): Ditto.
60
61         * html/HTMLOptionElement.cpp: (WebCore::HTMLOptionElement::insertedIntoTree):
62         Make sure that the select element knows about its new selected option.
63
64         * html/HTMLOptionElement.h: Use insertedIntoTree() instead of insertedIntoDocument(),
65         because DOM also needs to be updated for forms that are not in document yet. Similar
66         problems exist for node removing, but removedFromTree() is called at a wrong time, so
67         those problems cannot be fixed without deeper refactoring.
68
69         * html/HTMLSelectElement.cpp:
70         (WebCore::HTMLSelectElement::setRecalcListItems): Reset m_activeSelectionAnchorIndex - it
71         doesn't make sense to keep the anchor after programmatically changing the selection, and
72         keeping it was causing a failure in fast/forms/listbox-selection.html.
73
74         * html/HTMLSelectElement.h: Removed overrides for ContainerNode methods that only called
75         base class versions.
76
77 2009-03-17  Steve Falkenburg  <sfalken@apple.com>
78
79         <rdar://problem/6690324> Accessing FTP sites reads unallocated memory, can result in garbled entries or crashes
80         
81         Reviewed by Darin Adler.
82
83         * loader/FTPDirectoryDocument.cpp:
84         (WebCore::FTPDirectoryTokenizer::parseAndAppendOneLine): Assign CString to a local while we hold pointers into it.
85
86 2009-03-16  David Hyatt  <hyatt@apple.com>
87
88         <rdar://problem/6648411> REGRESSION: Layout of page is wrong at http://www.popcap.com/
89
90         Make sure that the initial shouldPaint check that looks at enclosingLayers properly skips over
91         layers that don't paint themselves.  This is done by adding a new enclosingSelfPaintingLayer method
92         so that RenderObjects can walk up the enclosing layer chain and skip any layers that don't paint
93         themselves.
94
95         Reviewed by Darin Adler.
96
97         Added fast/block/float/overlapping-floats-with-overflow-hidden.html
98
99         * WebCore.base.exp:
100         * rendering/RenderBlock.cpp:
101         (WebCore::RenderBlock::addOverhangingFloats):
102         * rendering/RenderObject.cpp:
103         (WebCore::RenderObject::enclosingSelfPaintingLayer):
104         * rendering/RenderObject.h:
105
106 2009-03-17  Xan Lopez  <xlopez@igalia.com>
107
108         Reviewed by Holger Freyther.
109
110         https://bugs.webkit.org/show_bug.cgi?id=24592
111         [GTK] Crash in FcPatternHash
112
113         Style fixes.
114
115         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
116         (WebCore::FontPlatformData::operator=):
117         * platform/graphics/gtk/FontPlatformDataPango.cpp:
118
119 2009-03-17  Xan Lopez  <xlopez@igalia.com>
120
121         Reviewed by Holger Freyther.
122
123         https://bugs.webkit.org/show_bug.cgi?id=24592
124         [GTK] Crash in FcPatternHash
125
126         Sanitize memory management in pango fonts.
127
128         Release memory allocated by FontPlatformDataPango in its own
129         destructor instead of doing it from other classes, and add copy
130         constructor and '=' operator to be able to track referenced
131         objects properly.
132
133         * platform/graphics/gtk/FontPlatformDataPango.cpp:
134         (WebCore::FontPlatformData::~FontPlatformData):
135         (WebCore::FontPlatformData::operator=):
136         (WebCore::FontPlatformData::FontPlatformData):
137         * platform/graphics/gtk/SimpleFontDataPango.cpp:
138
139 2009-03-17  Darin Adler  <darin@apple.com>
140
141         Reviewed by Alexey Proskuryakov.
142
143         Bug 24624: Crash in imageLoadEventTimerFired after adoptNode used on <img>,
144         seen with inspector, which uses adoptNode
145         https://bugs.webkit.org/show_bug.cgi?id=24624
146         rdar://problem/6422850
147
148         Test: fast/dom/HTMLImageElement/image-load-cross-document.html
149
150         * dom/Document.cpp:
151         (WebCore::Document::Document): Removed m_imageLoadEventTimer.
152         (WebCore::Document::detach): Removed m_imageLoadEventDispatchSoonList and
153         m_imageLoadEventDispatchingList.
154         (WebCore::Document::implicitClose): Called ImageLoader::dispatchPendingLoadEvents
155         instead of dispatchImageLoadEventsNow.
156
157         * dom/Document.h: Removed ImageLoader, dispatchImageLoadEventSoon,
158         dispatchImageLoadEventsNow, removeImage, m_imageLoadEventDispatchSoonList,
159         m_imageLoadEventDispatchingList, m_imageLoadEventTimer, and imageLoadEventTimerFired.
160
161         * loader/ImageLoader.cpp:
162         (WebCore::loadEventSender): Added. Returns the single global ImageLoadEventSender
163         object used privately as the target of the load event timer.
164         (WebCore::ImageLoader::~ImageLoader): Call ImageLoadEventSender::cancelLoadEvent
165         rather than Document::removeImage.
166         (WebCore::ImageLoader::setImage): Use m_element directly, not element().
167         (WebCore::ImageLoader::updateFromElement): Ditto. Also name the local variable
168         document instead of doc.
169         (WebCore::ImageLoader::notifyFinished): Call ImageLoadEventSender::dispatchLoadEventSoon
170         rather than Document::dispatchImageLoadEventSoon.
171         (WebCore::ImageLoader::dispatchPendingLoadEvent): Added. Handles the common logic
172         about when load events can be dispatched so that dispatchLoadEvent only has to
173         have the specific part for each derived class. This includes a check that the
174         document is attached, which used to be handled by having documents empty out the
175         image load event vectors in the detach function.
176         (WebCore::ImageLoader::dispatchPendingLoadEvents): Added. Calls the appropriate
177         function on the ImageLoadEventSender, which avoids the need to have that class be
178         public in the ImageLoader header.
179         (WebCore::ImageLoadEventSender::ImageLoadEventSender): Added. Has the code that
180         was previously in the Document constructor.
181         (WebCore::ImageLoadEventSender::dispatchLoadEventSoon): Added. Has the code that
182         was previously in Document::dispatchImageLoadEventSoon.
183         (WebCore::ImageLoadEventSender::cancelLoadEvent): Added. Has the code that was
184         previously in Document::removeImage.
185         (WebCore::ImageLoadEventSender::dispatchPendingLoadEvents): Added. Has the code
186         that was previously in Document::dispatchImageLoadEventsNow.
187         (WebCore::ImageLoadEventSender::timerFired): Added. Calls dispatchPendingLoadEvents.
188
189         * loader/ImageLoader.h: Improved comments. Made the virtual functions private
190         or protected rather than public. Added static dispatchPendingLoadEvents function
191         for use by Document and private dispatchPendingLoadEvent function for use by
192         ImageLoadEventSender. Made setLoadingImage private and eliminated
193         setHaveFiredLoadEvent since that can all be done inside the class without any
194         member functions.
195
196         * html/HTMLImageLoader.cpp:
197         (WebCore::HTMLImageLoader::dispatchLoadEvent): Removed logic to check whether a
198         load event already fired and whether image() is 0. These are now both base class
199         responsibilities.
200         * svg/SVGImageLoader.cpp:
201         (WebCore::SVGImageLoader::dispatchLoadEvent): Ditto.
202         * wml/WMLImageLoader.cpp:
203         (WebCore::WMLImageLoader::dispatchLoadEvent): Ditto.
204
205 2009-03-17  Dimitri Glazkov  <dglazkov@chromium.org>
206
207         Reviewed by Timothy Hatcher.
208
209         https://bugs.webkit.org/show_bug.cgi?id=24623
210         Refactor ConsoleMessage to use ScriptFuncitonCall and eliminate JSC
211         dependencies.
212
213         * bindings/js/ScriptFunctionCall.cpp:
214         (WebCore::ScriptFunctionCall::appendArgument): Added uint and ScriptString-taking methods.
215         * bindings/js/ScriptFunctionCall.h:
216         * bindings/js/ScriptObjectQuarantine.cpp:
217         (WebCore::quarantineValue): Added generic ScriptValue quarantine helper.
218         * bindings/js/ScriptObjectQuarantine.h:
219         * bindings/js/ScriptValue.cpp:
220         (WebCore::ScriptValue::isEqual): Added.
221         * bindings/js/ScriptValue.h:
222         * inspector/ConsoleMessage.cpp:
223         (WebCore::ConsoleMessage::ConsoleMessage):
224         (WebCore::ConsoleMessage::addToConsole): Added.
225         (WebCore::ConsoleMessage::isEqual): Changed to use ScriptValue::isEqual.
226         * inspector/ConsoleMessage.h:
227         (WebCore::ConsoleMessage::incrementCount): Added.
228         * inspector/InspectorController.cpp:
229         (WebCore::InspectorController::addConsoleMessage): Changed to use ConsoleMessage::addToConsole.
230         (WebCore::InspectorController::populateScriptObjects): Ditto.
231         * inspector/InspectorController.h:
232
233 2009-03-17  Kevin Ollivier  <kevino@theolliviers.com>
234
235         Reviewed by Mark Rowe.
236
237         Get BUILDING_ON_* defines from Platform.h.
238         
239         https://bugs.webkit.org/show_bug.cgi?id=24630
240
241         * WebCorePrefix.h:
242
243 2009-03-16  Xan Lopez  <xlopez@igalia.com>
244
245         Reviewed by Holger Freyther.
246
247         https://bugs.webkit.org/show_bug.cgi?id=24592
248         [GTK] Crash in FcPatternHash
249
250         Sanitize memory management in gtk fonts.
251
252         Release memory allocated by FontPlatformDataGtk in its own
253         destructor instead of doing it from other classes, and add copy
254         constructor and '=' operator to be able to track referenced
255         objects properly.
256
257         * platform/graphics/gtk/FontPlatformData.h:
258         * platform/graphics/gtk/FontPlatformDataGtk.cpp:
259         (WebCore::FontPlatformData::operator=):
260         (WebCore::FontPlatformData::FontPlatformData):
261         (WebCore::FontPlatformData::~FontPlatformData):
262         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
263         (WebCore::SimpleFontData::platformDestroy):
264
265 2009-03-17  Ariya Hidayat  <ariya.hidayat@nokia.com>
266
267         Build fix for Qt < 4.5.
268
269         As reported by Yael Aharon  <yael.aharon@nokia.com>
270
271         * platform/graphics/qt/GraphicsContextQt.cpp:
272         (WebCore::GraphicsContext::drawLine):
273
274 2009-03-17  Alexey Proskuryakov  <ap@webkit.org>
275
276         Reviewed by Sam Weinig.
277
278         https://bugs.webkit.org/show_bug.cgi?id=24614
279         Access control checks are different in cached and uncached cases
280
281         Test: http/tests/xmlhttprequest/access-control-basic-non-simple-deny-cached.html
282
283         * loader/CrossOriginAccessControl.cpp:
284         (WebCore::isOnAccessControlSimpleRequestMethodWhitelist): Factored out simple method
285         check for use in both cached and uncached cases. In cached case, an old definition that
286         omitted HEAD was still used.
287         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Check that content type has an
288         allowed value. This is needed in all call sites. Also changed to compare MIME type, not
289         content type.
290         (WebCore::isSimpleCrossOriginAccessRequest): Use the above methods.
291
292         * loader/CrossOriginAccessControl.h: Expose isOnAccessControlSimpleRequestMethodWhitelist.
293
294         * loader/CrossOriginPreflightResultCache.cpp:
295         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
296         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
297         Use the new checks for simple method and header.
298
299 2009-03-16  Gustavo Noronha Silva  <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
300
301         Reviewed by Mark Rowe.
302
303         https://bugs.webkit.org/show_bug.cgi?id=24638
304         [GTK] HTML5 media tags do not work
305
306         Add a repaint-requested signal to the video sink, and use it to
307         call MediaPlayerPrivate::repaint, so that the video actually
308         plays.
309
310         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
311         (WebCore::mediaPlayerPrivateRepaintCallback):
312         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
313         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
314         (webkit_video_sink_idle_func):
315         (webkit_video_sink_render):
316         (webkit_video_sink_class_init):
317
318 2009-03-16  Gustavo Noronha Silva  <gns@gnome.org> and Thadeu Lima de Souza Cascardo <cascardo@holoscopio.com>
319
320         Reviewed by Holger Freyther.
321
322         https://bugs.webkit.org/show_bug.cgi?id=24638
323         [GTK] HTML5 media tags do not work
324
325         Work-around the fact that gst_element_query_duration returns true even
326         though it is unable to figure out the duration when in stream (push)
327         mode.
328
329         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
330         (WebCore::MediaPlayerPrivate::duration):
331
332 2009-03-16  Darin Adler  <darin@apple.com>
333
334         Reviewed by Kevin Decker.
335
336         <rdar://problem/6642742> Top Sites malfunction when switching text zoom mode
337
338         * page/Frame.cpp:
339         (WebCore::Frame::setNeedsReapplyStyles): Don’t do anything if the frame is
340         currently showing a non-HTML view.
341
342 2009-03-16  Darin Adler  <darin@apple.com>
343
344         Reviewed by Adele Peterson.
345
346         Bug 24629: moving forward or backward a paragraph fails at edge of document
347         https://bugs.webkit.org/show_bug.cgi?id=24629
348         rdar://problem/6544413
349
350         Test: editing/selection/move-paragraph-document-edges.html
351
352         * editing/visible_units.cpp:
353         (WebCore::previousParagraphPosition): Use the last result from
354         previousLinePosition rather than going all the way back to what was originally
355         passed in when we hit exception cases like null or not moving. This correctly
356         inherits the behavior of previousLinePosition when we are in a paragraph at the
357         edge of a document.
358         (WebCore::nextParagraphPosition): Ditto.
359
360 2009-03-16  Darin Adler  <darin@apple.com>
361
362         Reviewed by Adele Peterson.
363
364         Bug 24619: RenderObject::selectionStartEnd does not need to be a virtual function
365         https://bugs.webkit.org/show_bug.cgi?id=24619
366
367         * rendering/RenderObject.h: Remove virtual keyword from selectionStartEnd declaration.
368         * rendering/RenderView.h: Ditto.
369
370 2009-03-16  Peter Kasting  <pkasting@google.com>
371
372         Reviewed by David Hyatt.
373
374         https://bugs.webkit.org/show_bug.cgi?id=24368
375         DOM scroll events should be based off the actual number of wheel
376         ticks, not off the number of lines scrolled.  This matches IE.
377
378         * dom/Node.cpp:
379         (WebCore::Node::dispatchWheelEvent):
380         * dom/WheelEvent.cpp:
381         (WebCore::WheelEvent::WheelEvent):
382         * dom/WheelEvent.h:
383         (WebCore::WheelEvent::create):
384         * platform/PlatformWheelEvent.h:
385         (WebCore::PlatformWheelEvent::wheelTicksX):
386         (WebCore::PlatformWheelEvent::wheelTicksY):
387         * platform/gtk/WheelEventGtk.cpp:
388         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
389         * platform/mac/WheelEventMac.mm:
390         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
391         * platform/qt/WheelEventQt.cpp:
392         * platform/win/WheelEventWin.cpp:
393         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
394         * platform/wx/MouseWheelEventWx.cpp:
395         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
396
397 2009-03-16  Simon Fraser  <simon.fraser@apple.com>
398
399         Reviewed by Eric Seidel
400         
401         Clean up a few issues in the Animation code:
402
403         * page/animation/AnimationBase.cpp:
404         (WebCore::AnimationBase::updateStateMachine):
405         Whitespace
406         
407         (WebCore::AnimationBase::willNeedService):
408         Don't round to float, use std::max
409
410         * page/animation/AnimationController.cpp:
411         (WebCore::AnimationControllerPrivate::startTimeResponse):
412         Fix erroneously copied line to null out m_lastResponseWaiter.
413
414 2009-03-12  David Hyatt  <hyatt@apple.com>
415
416         Reviewed by Eric Seidel
417
418         https://bugs.webkit.org/show_bug.cgi?id=13632
419
420         Overflow scrolling needs to account for the bottom/right padding on the object itself as well
421         as for bottom/right margins on children.
422
423         Existing tests cover this.
424
425         * rendering/RenderBlock.cpp:
426         (WebCore::RenderBlock::lowestPosition):
427         (WebCore::RenderBlock::rightmostPosition):
428
429 2009-03-16  Sam Weinig  <sam@webkit.org>
430
431         Reviewed by Anders Carlsson.
432
433         Fix for <rdar://problem/6320555>
434         Add an upper limit for setting HTMLSelectElement.length.
435
436         Test: fast/forms/select-max-length.html
437
438         * html/HTMLSelectElement.cpp:
439         (WebCore::HTMLSelectElement::setOption):
440         (WebCore::HTMLSelectElement::setLength):
441
442 2009-03-16  Eric Carlson  <eric.carlson@apple.com>
443
444         Reviewed by Simon Fraser.
445
446         <rdar://problem/6686721> Media document crash in 64-bit WebKit
447
448         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
449         (WebCore::MediaPlayerPrivate::createQTMovieView): QTMovieContentViewClass is only used when
450         rendering inline with old versions of QuickTime, so don't look for it when we are in a 
451         media document.
452
453 2009-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
454
455         Reviewed by Timothy Hatcher.
456
457         https://bugs.webkit.org/show_bug.cgi?id=24590
458         Refactor InspectorDOMStorageResource to use ScriptFunctionCall.
459
460         * bindings/js/ScriptFunctionCall.cpp:
461         (WebCore::ScriptFunctionCall::appendArgument): Added method for bool argument.
462         * bindings/js/ScriptFunctionCall.h: Ditto, also cleaned up.
463         * bindings/js/ScriptObjectQuarantine.cpp:
464         (WebCore::getQuarantinedScriptObject): Added Storage helper.
465         * bindings/js/ScriptObjectQuarantine.h: Ditto.
466         * inspector/InspectorController.cpp:
467         (WebCore::InspectorController::populateScriptObjects): Changed to use bind method.
468         (WebCore::InspectorController::resetScriptObjects): Changed to use unbind method.
469         (WebCore::InspectorController::didUseDOMStorage): Changed to use isSameHostAndType and bind methods.
470         * inspector/InspectorController.h: Removed add/remove methods for DOM storage.
471         * inspector/InspectorDOMStorageResource.cpp:
472         (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
473         (WebCore::InspectorDOMStorageResource::isSameHostAndType): Added.
474         (WebCore::InspectorDOMStorageResource::bind): Added.
475         (WebCore::InspectorDOMStorageResource::unbind): Added.
476         * inspector/InspectorDOMStorageResource.h:
477
478 2009-03-16   Mike Belshe  <mike@belse.com>
479
480         Reviewed by Dimitri Glazkov.
481
482         https://bugs.webkit.org/show_bug.cgi?id=24580
483         Fix query() to match KURL behavior, this time with the code that
484         compiles.
485
486         * platform/KURLGoogle.cpp:
487         (WebCore::KURL::query): Fix copy/paste mistake.
488
489 2009-03-16  Alexey Proskuryakov  <ap@webkit.org>
490
491         Reviewed by Darin Adler.
492
493         https://bugs.webkit.org/show_bug.cgi?id=21752
494         REGRESSION: referencing XHR constructor for a not yet loaded frame permanently breaks it
495
496         Test: fast/dom/Window/window-early-properties-xhr.html
497
498         For some transitions, the Window object is not replaced, but Document is. When this happened,
499         window.document property was updated, but references to Document kept in cached constructors
500         were not.
501
502         * bindings/js/JSAudioConstructor.cpp:
503         (WebCore::JSAudioConstructor::JSAudioConstructor):
504         (WebCore::JSAudioConstructor::document):
505         (WebCore::JSAudioConstructor::mark):
506         * bindings/js/JSAudioConstructor.h:
507         * bindings/js/JSImageConstructor.cpp:
508         (WebCore::JSImageConstructor::JSImageConstructor):
509         (WebCore::JSImageConstructor::document):
510         (WebCore::JSImageConstructor::mark):
511         * bindings/js/JSImageConstructor.h:
512         * bindings/js/JSMessageChannelConstructor.cpp:
513         (WebCore::JSMessageChannelConstructor::JSMessageChannelConstructor):
514         (WebCore::JSMessageChannelConstructor::scriptExecutionContext):
515         (WebCore::JSMessageChannelConstructor::mark):
516         * bindings/js/JSMessageChannelConstructor.h:
517         * bindings/js/JSOptionConstructor.cpp:
518         (WebCore::JSOptionConstructor::JSOptionConstructor):
519         (WebCore::JSOptionConstructor::document):
520         (WebCore::JSOptionConstructor::mark):
521         * bindings/js/JSOptionConstructor.h:
522         * bindings/js/JSXMLHttpRequestConstructor.cpp:
523         (WebCore::JSXMLHttpRequestConstructor::JSXMLHttpRequestConstructor):
524         (WebCore::JSXMLHttpRequestConstructor::scriptExecutionContext):
525         (WebCore::JSXMLHttpRequestConstructor::mark):
526         * bindings/js/JSXMLHttpRequestConstructor.h:
527         Changed cached constructors to keep a reference to Window, not Document.
528
529 2009-03-15  Alexey Proskuryakov  <ap@webkit.org>
530
531         Reviewed by Darin Adler.
532
533         https://bugs.webkit.org/show_bug.cgi?id=24549
534         Impose a limit on Access-Control-Max-Age value
535
536         * loader/CrossOriginPreflightResultCache.cpp:
537         (WebCore::CrossOriginPreflightResultCacheItem::parse):
538
539 2009-03-15  Greg Bolsinga  <bolsinga@apple.com>
540
541         Reviewed by David Kilzer.
542
543         <rdar://problem/6668875> Normalize Geolocation results
544
545         * platform/mac/GeolocationServiceMac.mm:
546         (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
547
548 2009-03-15  Greg Bolsinga  <bolsinga@apple.com>
549
550         Reviewed by David Kilzer.
551
552         Update ::toString format as suggested by Darin Adler.
553
554         * page/Geoposition.cpp:
555         (WebCore::Geoposition::toString):
556
557 2009-03-15  David Kilzer  <ddkilzer@apple.com>
558
559         <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor.
560
561         Reviewed by Darin Adler.
562
563         Yet another case where we would trigger extended encoding loading needlessly.
564
565         * platform/text/TextEncoding.cpp:
566         (WebCore::TextEncoding::encodingForFormSubmission):
567
568 2009-03-15  Simon Fraser  <simon.fraser@apple.com>
569
570         Build fix: no review.
571
572         * rendering/style/ContentData.h:
573
574 2009-03-15  David Kilzer  <ddkilzer@apple.com>
575
576         Bug 24542: Improve ContentData encapsulation
577
578         <https://bugs.webkit.org/show_bug.cgi?id=24542>
579
580         Reviewed by Simon Fraser.
581
582         No tests since there is no change in behavior.
583
584         * rendering/RenderObject.cpp:
585         (WebCore::RenderObject::createObject): Used getter methods
586         instead of data members on ContentData class.  Used isImage()
587         convenience method.
588         * rendering/RenderObjectChildList.cpp:
589         (WebCore::RenderObjectChildList::updateBeforeAfterContent): Ditto.
590
591         * rendering/style/ContentData.cpp:
592         (WebCore::ContentData::clear): Extracted code into
593         deleteContent() method.
594         (WebCore::ContentData::dataEquivalent): Added.  Extracted code
595         from StyleRareNonInheritedData::contentDataEquivalent().
596         (WebCore::ContentData::deleteContent): Added.  Used by setter
597         methods.
598         * rendering/style/ContentData.h: Made m_type, m_content and
599         m_next private.
600         (WebCore::ContentData::isCounter): Added.
601         (WebCore::ContentData::isImage): Added.
602         (WebCore::ContentData::isNone): Added.
603         (WebCore::ContentData::isText): Added.
604         (WebCore::ContentData::type): Added.
605         (WebCore::ContentData::dataEquivalent): Added.
606         (WebCore::ContentData::image): Added.
607         (WebCore::ContentData::setImage): Added.
608         (WebCore::ContentData::text): Added.
609         (WebCore::ContentData::setText): Added.
610         (WebCore::ContentData::counter): Added.
611         (WebCore::ContentData::setCounter): Added.
612         (WebCore::ContentData::next): Added.
613         (WebCore::ContentData::setNext): Added.
614
615         * rendering/style/CounterContent.h:
616         (WebCore::operator!=): Removed.
617         (WebCore::operator==): Renamed operator!=() and reversed its
618         logic after extracting code from
619         StyleRareNonInheritedData::contentDataEquivalent() to create
620         ContentData::dataEquivalent().
621
622         * rendering/style/RenderStyle.cpp:
623         (WebCore::RenderStyle::setContent): Used new getters and setters
624         on ContentData class.  Changed first argument from a StringImpl*
625         to a PassRefPtr<StrimgImpl>.  Used isText() convenience method.
626         * rendering/style/RenderStyle.h:
627         (WebCore::RenderStyle::setContent): Updated declaration.
628         * rendering/style/StyleRareNonInheritedData.cpp:
629         (WebCore::StyleRareNonInheritedData::contentDataEquivalent):
630         Extracted most logic in while() loop into
631         ContentData::dataEquivalent().
632
633 2009-03-15  Gustavo Noronha Silva  <gns@gnome.org>
634
635         Reviewed by Anders Carlsson.
636
637         https://bugs.webkit.org/show_bug.cgi?id=24602
638         [Gtk] Searching in thepiratebay.org doesn't work with more than 1 word
639
640         Reintroduce the URI into the soup message after having set it in
641         the KURL, on redirects, to make sure it is properly encoded. This
642         fixes bad request problems when servers give bad URIs on their
643         response's Location header.
644
645         * platform/network/soup/ResourceHandleSoup.cpp:
646         (WebCore::restartedCallback):
647
648 2009-03-15  Alexey Proskuryakov  <ap@webkit.org>
649
650         Reviewed by Darin Adler.
651
652         https://bugs.webkit.org/show_bug.cgi?id=19737
653         No cursor and paste not enabled right clicking text field/area
654
655         Test: fast/events/right-click-focus.html
656
657         * page/EventHandler.cpp:
658         (WebCore::EventHandler::handleMousePressEventSingleClick):
659         (WebCore::EventHandler::handleMousePressEvent):
660         Take normal code path for right clicks (we were taking it for Ctrl-clicks anyway).
661
662 2009-03-15  Alexey Proskuryakov  <ap@webkit.org>
663
664         Reviewed by Adele Peterson.
665
666         https://bugs.webkit.org/show_bug.cgi?id=23949
667         HTMLSelectElement is in inconsistent state when handling mutation events
668
669         Test: fast/forms/mutation-event-recalc.html
670
671         * dom/ContainerNode.cpp:
672         (WebCore::ContainerNode::insertBefore):
673         (WebCore::ContainerNode::appendChild):
674         Call childrenChanged() before dispatching modification events, not after.
675
676         * html/HTMLOptGroupElement.cpp:
677         (WebCore::HTMLOptGroupElement::insertBefore):
678         (WebCore::HTMLOptGroupElement::replaceChild):
679         (WebCore::HTMLOptGroupElement::removeChild):
680         (WebCore::HTMLOptGroupElement::appendChild):
681         (WebCore::HTMLOptGroupElement::removeChildren):
682         * html/HTMLSelectElement.cpp:
683         (WebCore::HTMLSelectElement::add):
684         (WebCore::HTMLSelectElement::remove):
685         (WebCore::HTMLSelectElement::insertBefore):
686         (WebCore::HTMLSelectElement::replaceChild):
687         (WebCore::HTMLSelectElement::removeChild):
688         (WebCore::HTMLSelectElement::appendChild):
689         (WebCore::HTMLSelectElement::removeChildren):
690         Remove calls to recalcSelectOptions(). It is too late to recalc now, after mutation events
691         were already dispatched.
692
693 2009-03-14  Greg Bolsinga  <bolsinga@apple.com>
694
695         <rdar://problem/6683465>
696
697         Geolocation has to be able to handle NULL Frames.
698
699         Reviewed by Mark Rowe
700     
701 2009-03-14  Greg Bolsinga  <bolsinga@apple.com>
702
703         Reviewed by David Kilzer.
704
705         Geoposition::toString was missing the Coordinates after the update.
706
707         * page/Geoposition.cpp:
708         (WebCore::Geoposition::toString):
709
710 2009-03-14  Jan Michael Alonzo  <jmalonzo@webkit.org>
711
712         Reviewed by Mark Rowe.
713
714         [Gtk] Build fix - pass a Coordinate to Geoposition::create
715         https://bugs.webkit.org/show_bug.cgi?id=24603
716
717         Gtk build fix per r41650
718         https://bugs.webkit.org/show_bug.cgi?id=24506
719         Geolocation in Safari differs from the spec, no Coordinates attribute on Position
720
721         Pass a Coordinate to Geoposition::create.
722
723         * platform/gtk/GeolocationServiceGtk.cpp:
724         (WebCore::GeolocationServiceGtk::updatePosition):
725
726 2009-03-14  Alexey Proskuryakov  <ap@webkit.org>
727
728         Reviewed by Darin Adler.
729
730         https://bugs.webkit.org/show_bug.cgi?id=24545
731         Make cross-site XHR simple request definition match current spec draft
732
733         Tests: http/tests/xmlhttprequest/access-control-basic-post-fail-non-simple-content-type.html
734                http/tests/xmlhttprequest/access-control-basic-whitelist-request-headers.html
735
736         * loader/CrossOriginAccessControl.cpp:
737         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist): Added Content-Language.
738         (WebCore::isSimpleCrossOriginAccessRequest): Added HEAD. Restricted content types to those
739         that could be sent via form submission.
740
741 2009-03-14  Alexey Proskuryakov  <ap@webkit.org>
742
743         Reviewed by Darin Adler.
744
745         https://bugs.webkit.org/show_bug.cgi?id=15172
746         object fallback - empty string for first argument of setAttributeNS does not work like null
747
748         https://bugs.webkit.org/show_bug.cgi?id=24548
749         createElementNS("", name) should create an element in null namespace
750
751         Tests: fast/dom/createElementNS-empty-namespace.html
752                fast/dom/setAttributeNS-empty-namespace.html
753
754         * dom/QualifiedName.h: (WebCore::QualifiedName::QualifiedNameImpl::QualifiedNameImpl):
755         Convert empty namespaces to null.
756
757 2009-03-13  Mark Rowe  <mrowe@apple.com>
758
759         Rubber-stamped by Dan Bernstein.
760
761         Take advantage of the ability of recent versions of Xcode to easily switch the active
762         architecture.
763
764         * Configurations/DebugRelease.xcconfig:
765
766 2009-03-13  John Abd-El-Malek  <jam@google.com>
767
768         Reviewed by Darin Fisher.
769
770         https://bugs.webkit.org/show_bug.cgi?id=24593
771         Added requestorID so we can track the request to its WebView without using frame (which was removed).
772
773         * platform/network/chromium/ResourceRequest.h:
774         (WebCore::ResourceRequest::ResourceRequest):
775         (WebCore::ResourceRequest::requestorID):
776         (WebCore::ResourceRequest::setRequestorID):
777         (WebCore::ResourceRequest::setTargetType):
778         (WebCore::ResourceRequest::policyURL):
779         (WebCore::ResourceRequest::setPolicyURL):
780         (WebCore::ResourceRequest::requestorPid):
781         (WebCore::ResourceRequest::setRequestorPid):
782
783 2009-03-13  Mike Belshe  <mike@belshe.com>
784
785         Reviewed by Dimitri Glazkov.
786
787         https://bugs.webkit.org/show_bug.cgi?id=24561
788         Add custom V8 bindings for HTMLElementCanvas, Location.
789
790         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Added.
791         * bindings/v8/custom/V8LocationCustom.cpp: Added.
792
793 2009-03-13  Stephen White  <senorblanco@chromium.org>
794
795         Reviewed by Eric Seidel.
796
797         https://bugs.webkit.org/show_bug.cgi?id=24584
798
799         Fix transparent text rendering on Chromium.  FontChromiumWin
800         was calling beginTransparencyLayer()/endTransparencyLayer(), with
801         a TransparencyWin inside to do GDI ClearType rendering over an
802         opaque background.  TransparencyWin does its special sauce
803         in the destructor, but it was being called too late to be used
804         correctly in the layer.  Put the special sauce into a new function,
805         composite(), and call that explicitly instead.
806
807         * platform/graphics/chromium/FontChromiumWin.cpp:
808         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
809         * platform/graphics/chromium/TransparencyWin.cpp:
810         (WebCore::TransparencyWin::~TransparencyWin):
811         (WebCore::TransparencyWin::composite):
812         (WebCore::TransparencyWin::init):
813         * platform/graphics/chromium/TransparencyWin.h:
814         * rendering/RenderThemeChromiumWin.cpp:
815         (WebCore::):
816
817 2009-03-13  Mike Belshe  <mike@belshe.com>
818
819         Reviewed by Dimitri Glazkov.
820
821         https://bugs.webkit.org/show_bug.cgi?id=24562
822         Add custom implementation for getCSSCanvasContext to V8 bindings.
823
824         * bindings/v8/custom/V8DocumentCustom.cpp: Added new method.
825
826 2009-03-13  Mike Belshe  <mike@belse.com>
827
828         Reviewed by Dimitri Glazkov.
829
830         https://bugs.webkit.org/show_bug.cgi?id=24580
831         Fix query() to match KURL behavior.
832
833         * platform/KURLGoogle.cpp:
834         (WebCore::KURL::query): remove extra logic around question mark.
835
836 2009-03-13  Chris Fleizach  <cfleizach@apple.com>
837
838         Reviewed by Beth Dakin.
839
840         Bug 24474: AX: in multi-body tables, asking for a cell at a specific coordinate can return nil
841         https://bugs.webkit.org/show_bug.cgi?id=24474
842
843         Test: platform/mac-snowleopard/accessibility/table-multi-bodies.html
844
845         * page/AccessibilityTable.cpp:
846         (WebCore::AccessibilityTable::cellForColumnAndRow):
847
848 2009-03-13  Jian Li  <jianli@chromium.org>
849
850         Reviewed by Dimitri Glazkov.
851
852         https://bugs.webkit.org/show_bug.cgi?id=24589
853         Upstream changes to V8 event listeners (Chromium r11133) in order to
854         fix worker functionality break in Chromium.
855
856         * bindings/v8/V8AbstractEventListener.cpp:
857         (WebCore::V8AbstractEventListener::invokeEventHandler):
858         (WebCore::V8AbstractEventListener::handleEvent):
859         * bindings/v8/V8AbstractEventListener.h:
860         * bindings/v8/V8WorkerContextEventListener.cpp:
861         (WebCore::V8WorkerContextEventListener::handleEvent):
862
863 2009-03-13  Dimitri Glazkov  <dglazkov@chromium.org>
864
865         Reviewed by Timothy Hatcher.
866
867         https://bugs.webkit.org/show_bug.cgi?id=24524
868         Introduce ScriptObject and ScriptFunctionCall abstractions.
869
870         * GNUmakefile.am: Added ScriptObject and ScriptFunctionCall to project.
871         * WebCore.pro: Ditto.
872         * WebCore.vcproj/WebCore.vcproj: Ditto.
873         * WebCore.xcodeproj/project.pbxproj: Ditto.
874         * WebCoreSources.bkl: Ditto.
875         * bindings/js/ScriptFunctionCall.cpp: Added.
876         * bindings/js/ScriptFunctionCall.h: Added.
877         * bindings/js/ScriptObject.cpp: Added.
878         * bindings/js/ScriptObject.h: Added.
879         * bindings/js/ScriptObjectQuarantine.cpp: Added.
880         * bindings/js/ScriptObjectQuarantine.h: Added.
881         * inspector/InspectorController.cpp:
882         (WebCore::InspectorController::populateScriptObjects): Changed to use InspectorDatabaseResource::bind.
883         (WebCore::InspectorController::resetScriptObjects): Changed to use InspectorDatabaseResource::unbind.
884         (WebCore::InspectorController::didOpenDatabase): Changed to use InspectorDatabaseResource::unbind.
885         * inspector/InspectorController.h: Removed addScriptDatabaseResource and
886         removeScriptDatabaseResource declarations.
887         * inspector/InspectorDatabaseResource.cpp:
888         (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
889         (WebCore::InspectorDatabaseResource::bind): Added.
890         (WebCore::InspectorDatabaseResource::unbind): Added.
891         * inspector/InspectorDatabaseResource.h: Added bind and unbind declarations.
892
893 2009-03-13  Peter Kasting  <pkasting@google.com>
894
895         Reviewed by Eric Seidel.
896
897         https://bugs.webkit.org/show_bug.cgi?id=24467
898         Make Skia drawRect() and stroke behavior match CG.
899
900         This makes drawRect() ignore the stroke width (like CG does), and
901         adds a warning comment about that to the appropriate header.
902
903         It also eliminates some hacky code in Skia's stroke preparation,
904         which tried to adjust odd-width strokes to fall on pixel boundaries.
905         Not only did this not match CG, it wouldn't necessarily work right,
906         because there could be other transforms (e.g. full-page zoom) that
907         would affect the stroke before it reached the device pixel level.
908
909         * platform/graphics/GraphicsContext.h:
910         * platform/graphics/skia/GraphicsContextSkia.cpp:
911         (WebCore::GraphicsContext::drawRect):
912         (WebCore::GraphicsContext::fillRect):
913         * platform/graphics/skia/PlatformContextSkia.cpp:
914         (PlatformContextSkia::drawRect):
915         (PlatformContextSkia::setupPaintForStroking):
916
917 2009-03-13  Jian Li  <jianli@chromium.org>
918
919         Reviewed by Dimitri Glazkov.
920
921         https://bugs.webkit.org/show_bug.cgi?id=24583
922         Need to change scope of constructor and destructor of V8ObjectEventListener from private
923         to protected so that they could be used in its derived class V8WorkerContextEventListener.
924
925         * bindings/v8/V8ObjectEventListener.h:
926
927 2009-03-13  David Levin  <levin@chromium.org>
928
929         Reviewed by Dimitri Glazkov.
930
931         https://bugs.webkit.org/show_bug.cgi?id=24579
932         Many V8*Event* files are misplaced.
933
934         This code is infrastructure for supporting the bindings and thus should
935         be in the bindings/v8 directory.
936
937         * bindings/v8/V8AbstractEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8AbstractEventListener.cpp.
938         * bindings/v8/V8AbstractEventListener.h: Renamed from WebCore/bindings/v8/custom/V8AbstractEventListener.h.
939         * bindings/v8/V8LazyEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8LazyEventListener.cpp.
940         * bindings/v8/V8LazyEventListener.h: Renamed from WebCore/bindings/v8/custom/V8LazyEventListener.h.
941         * bindings/v8/V8ObjectEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8ObjectEventListener.cpp.
942         * bindings/v8/V8ObjectEventListener.h: Renamed from WebCore/bindings/v8/custom/V8ObjectEventListener.h.
943         * bindings/v8/V8WorkerContextEventListener.cpp: Renamed from WebCore/bindings/v8/custom/V8WorkerContextEventListener.cpp.
944         * bindings/v8/V8WorkerContextEventListener.h: Renamed from WebCore/bindings/v8/custom/V8WorkerContextEventListener.h.
945
946 2009-03-13  Adele Peterson  <adele@apple.com>
947
948         Reviewed by Justin Garcia.
949
950         Fix for <rdar://problem/5089327> Color of quoted content is wrong when pasted inside other quoted content
951
952         Test: editing/pasteboard/5089327.html
953
954         Handle spans being pasted within a quoted region in the same way we handle "paste as quotation" content.
955
956         * editing/ReplaceSelectionCommand.cpp:
957         (WebCore::handleStyleSpansBeforeInsertion):
958         (WebCore::ReplaceSelectionCommand::handleStyleSpans):
959
960 2009-03-13  Greg Bolsinga  <bolsinga@apple.com>
961
962         Reviewed by Simon Fraser.
963
964         Update Geolocation perimission dialogs to be asynchronous.
965         https://bugs.webkit.org/show_bug.cgi?id=24505
966
967         Geolocation now requests permission from the Chrome asynchronously.
968         The Chrome is passed the Geolocation object, and the Chrome sets the permission
969         on the Geolocation. Geolocation also tracks if the Chrome should clear its cache
970         of SecurityOrigins with geolocation permission. This is so that the GeolocationService
971         can inform the Chrome of its request, and the Chrome is also free to implement its
972         own policy.
973         
974         * WebCore.base.exp:
975         * WebCore.xcodeproj/project.pbxproj:
976         * page/Chrome.cpp:
977         (WebCore::Chrome::requestGeolocationPermissionForFrame):
978         * page/Chrome.h:
979         * page/ChromeClient.h:
980         (WebCore::ChromeClient::requestGeolocationPermissionForFrame):
981         * page/Geolocation.cpp:
982         (WebCore::Geolocation::Geolocation):
983         (WebCore::Geolocation::getCurrentPosition):
984         (WebCore::Geolocation::watchPosition):
985         (WebCore::Geolocation::setIsAllowed):
986         (WebCore::Geolocation::displayChallengeIfNecessary):
987         (WebCore::Geolocation::geolocationServicePositionChanged):
988         * page/Geolocation.h:
989         (WebCore::Geolocation::isAllowed):
990         (WebCore::Geolocation::setShouldClearCache):
991         (WebCore::Geolocation::shouldClearCache):
992         (WebCore::Geolocation::):
993
994 2009-03-13  Anders Carlsson  <andersca@apple.com>
995
996         Reviewed by Dan Bernstein.
997
998         <rdar://problem/6610666> Revise the Cocoa event model text API
999         
1000         Add a NPCocoaEventTextInput event type. Remove the text input variables.
1001         
1002         * bridge/npapi.h:
1003         (_NPCocoaEvent::):
1004
1005 2009-03-13  Kevin Decker  <kdecker@apple.com>
1006
1007         Reviewed by Anders.
1008
1009         <rdar://problem/6630340> REGRESSION (39114-39115): Unity Web Player no longer works if Flip4Mac is also installed
1010         
1011         The code assumed if we have a plug-in that supports "application/x-oleobject" we should always prefer the object tag
1012         over of an embed tag. That assumption can cause the Mac platform to load the wrong plug-in, as Flip4Mac claims supports
1013         for x-oleobject.
1014         
1015         * rendering/RenderPartObject.cpp:
1016         (WebCore::shouldUseEmbedDescendant): Made the Mac platform always return true here. 
1017
1018 2009-03-13  Jian Li  <jianli@chromium.org>
1019
1020         Reviewed by Dimitri Glazkov.
1021
1022         https://bugs.webkit.org/show_bug.cgi?id=24559
1023         Need to port JSC fix (r41565) to V8 in order to fix layout test onload-single-line-comment.html.
1024
1025         * bindings/v8/custom/V8LazyEventListener.cpp:
1026         (WebCore::V8LazyEventListener::getListenerFunction):
1027         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
1028
1029 2009-03-13  Jian Li  <jianli@chromium.org>
1030
1031         Reviewed by Dimitri Glazkov.
1032
1033         https://bugs.webkit.org/show_bug.cgi?id=24557
1034         This is to support running multiple workers in a single worker process in chromium.
1035
1036         * bindings/v8/custom/V8WorkerContextEventListener.cpp:
1037         (WebCore::V8WorkerContextEventListener::handleEvent):
1038         Add locker to v8 event listener of worker context.
1039
1040 2009-03-13  Alexey Proskuryakov  <ap@webkit.org>
1041
1042         Reviewed by Sam Weinig.
1043
1044         https://bugs.webkit.org/show_bug.cgi?id=24575
1045         XHR response is incorrect after a network error.
1046
1047         Tests: http/tests/xmlhttprequest/cross-site-denied-response-sync-2.html
1048                http/tests/xmlhttprequest/cross-site-denied-response-sync.html
1049                http/tests/xmlhttprequest/cross-site-denied-response.html
1050
1051         * xml/XMLHttpRequest.cpp:
1052         (WebCore::XMLHttpRequest::networkError): Call internalAbort() to fully reset the request.
1053         (WebCore::XMLHttpRequest::didFailRedirectCheck): No need to call internalAbort() here. Note
1054         that since internalAbort() can drop GC protection, it is not safe to use the object after
1055         this call.
1056         (WebCore::XMLHttpRequest::didReceiveData): Check that the request wasn't aborted, and
1057         return early if it was. This can happen during sync requests, as the loader does not know
1058         that it was aborted, and just synthesizes all callbacks.
1059
1060 2009-03-13  Adam Bergkvist <adam.bergkvist@ericsson.com>
1061
1062         Reviewed by Alexey Proskuryakov.
1063
1064         https://bugs.webkit.org/show_bug.cgi?id=3547
1065         XMLHttpRequest.statusText returns always "OK"
1066
1067         Covered by existing tests (which now pass on all platforms but Mac).
1068
1069         * xml/XMLHttpRequest.cpp:
1070         (WebCore::XMLHttpRequest::statusText): Return ResourceResponse status text. It is now up
1071         to each platform to correctly set the status text or set it to "OK" to retain current
1072         behavior.
1073
1074 2009-03-13  Adam Bergkvist <adam.bergkvist@ericsson.com>
1075
1076         Reviewed by Alexey Proskuryakov.
1077
1078         https://bugs.webkit.org/show_bug.cgi?id=24349
1079         [QT] HTTP status text is never set
1080
1081         Set HTTP status text to the reason phrase attribute of QNetworkReply.
1082
1083         * platform/network/qt/QNetworkReplyHandler.cpp:
1084         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1085
1086 2009-03-12  Simon Fraser  <simon.fraser@apple.com>
1087
1088         Reviewed by Mark Rowe
1089
1090         <rdar://problem/6622300>: Reproducible crash on
1091         <http://www.editgrid.com/explore/tnc/dave/FusionChart%3A_Candlestick>
1092         
1093         Prevent CSSStyleSheet::checkLoaded() writing to freed memory when it gets
1094         deleted from under itself. The sheetLoaded() notification can allow scripts
1095         to run via HTMLTokenizer::executeScriptsWaitingForStylesheets(),
1096         which can cause the last ref to the CSSStyleSheet to be released.
1097
1098         * css/CSSStyleSheet.cpp:
1099         (WebCore::CSSStyleSheet::checkLoaded):
1100
1101 2009-03-12  Kevin Ollivier  <kevino@theolliviers.com>
1102
1103         wx build fix. Allow make-generated-sources.sh to pass args down to DerivedSources.make
1104
1105         * make-generated-sources.sh:
1106
1107 2009-03-12  Adam Treat  <adam.treat@torchmobile.com>
1108
1109         Reviewed by Oliver Hunt.
1110
1111         https://bugs.webkit.org/show_bug.cgi?id=24498
1112         Fix the Qt port to use the same algorithm for drawing dashed and dotted
1113         borders as the other ports.  This makes the Qt port pixel-for-pixel perfect
1114         compared to border drawing with Apple's canonical mac port and much closer
1115         to konqueror and firefox behavior.
1116
1117         * platform/graphics/qt/GraphicsContextQt.cpp:
1118         (WebCore::GraphicsContext::drawLine):
1119
1120 2009-02-26  Eric Seidel  <eric@webkit.org>
1121
1122         Reviewed by Justin Garcia.
1123
1124         Clean up DOMSelection to use some helper functions
1125         making the code smaller, and less error-prone.
1126         https://bugs.webkit.org/show_bug.cgi?id=19221
1127
1128         I tried moving DOMSelection off of rangeCompliantEquivalent
1129         but failed.  VisibleSelection holds positions like (table, 1) to mean
1130         "after the table".
1131
1132         * page/DOMSelection.cpp:
1133         (WebCore::DOMSelection::visibleSelection):
1134         (WebCore::anchorPosition):
1135         (WebCore::focusPosition):
1136         (WebCore::basePosition):
1137         (WebCore::extentPosition):
1138         (WebCore::DOMSelection::anchorNode):
1139         (WebCore::DOMSelection::anchorOffset):
1140         (WebCore::DOMSelection::focusNode):
1141         (WebCore::DOMSelection::focusOffset):
1142         (WebCore::DOMSelection::baseNode):
1143         (WebCore::DOMSelection::baseOffset):
1144         (WebCore::DOMSelection::extentNode):
1145         (WebCore::DOMSelection::extentOffset):
1146         * page/DOMSelection.h:
1147
1148 2009-03-12  Dmitry Titov  <dimich@chromium.org>
1149
1150         Reviewed by Dimitri Glazkov.
1151
1152         https://bugs.webkit.org/show_bug.cgi?id=24563
1153         Change ResourceRequest to be a struct rather then a class to match other declarations.
1154
1155         * platform/network/chromium/ResourceRequest.h:
1156
1157 2009-03-12  David Levin  <levin@chromium.org>
1158
1159         Reviewed by  Darin Fisher.
1160
1161         Bug 24530: width100percent-searchfield.html should be fixed for chromium.
1162         <https://bugs.webkit.org/show_bug.cgi?id=24530>
1163
1164         Compensate for r39924 in chromium, which broke LayoutTests/fast/replaced/width100percent-searchfield.html
1165
1166         * css/themeChromiumWin.css: Added.
1167         Overrides the changes to start supporting input[type="search"] on Windows (since
1168         Chromium doesn't do anything special for this).
1169
1170         * rendering/RenderThemeChromiumWin.cpp:
1171         (WebCore::supportsFocus):
1172         (WebCore::RenderThemeChromiumWin::extraDefaultStyleSheet):
1173         (WebCore::RenderThemeChromiumWin::determineState):
1174         (WebCore::RenderThemeChromiumWin::getThemeData):
1175
1176 2009-03-12  Greg Bolsinga  <bolsinga@apple.com>
1177
1178         Reviewed by Antti Koivisto.
1179
1180         https://bugs.webkit.org/show_bug.cgi?id=24506
1181         Geolocation in Safari differs from the spec, no Coordinates attribute on Position
1182         
1183         Get up to date.
1184
1185         * DerivedSources.make:
1186         * GNUmakefile.am:
1187         * WebCore.pro:
1188         * WebCore.scons:
1189         * WebCore.vcproj/WebCore.vcproj:
1190         * WebCore.xcodeproj/project.pbxproj:
1191         * WebCoreSources.bkl:
1192         * bindings/js/JSGeolocationCustom.cpp:
1193         (WebCore::createPositionOptions):
1194         * page/Coordinates.cpp: Added.
1195         (WebCore::Coordinates::toString):
1196         * page/Coordinates.h: Added.
1197         (WebCore::Coordinates::create):
1198         (WebCore::Coordinates::latitude):
1199         (WebCore::Coordinates::longitude):
1200         (WebCore::Coordinates::altitude):
1201         (WebCore::Coordinates::accuracy):
1202         (WebCore::Coordinates::altitudeAccuracy):
1203         (WebCore::Coordinates::heading):
1204         (WebCore::Coordinates::speed):
1205         (WebCore::Coordinates::Coordinates):
1206         * page/Coordinates.idl: Added.
1207         * page/Geoposition.cpp:
1208         (WebCore::Geoposition::toString):
1209         * page/Geoposition.h:
1210         (WebCore::Geoposition::create):
1211         (WebCore::Geoposition::coords):
1212         (WebCore::Geoposition::Geoposition):
1213         * page/Geoposition.idl:
1214         * page/PositionOptions.h:
1215         (WebCore::PositionOptions::create):
1216         (WebCore::PositionOptions::maximumAge):
1217         (WebCore::PositionOptions::setMaximumAge):
1218         (WebCore::PositionOptions::PositionOptions):
1219         * platform/mac/GeolocationServiceMac.mm:
1220         (-[WebCoreCoreLocationObserver locationManager:didUpdateToLocation:fromLocation:]):
1221
1222 2009-03-12  Dimitri Glazkov  <dglazkov@chromium.org>
1223
1224         Reviewed by Darin Fisher.
1225
1226         https://bugs.webkit.org/show_bug.cgi?id=24496
1227         Fix console logging of non-string values by coercing the argument to
1228         a string, for V8 bindings.
1229
1230         Test: fast/js/console-non-string-values.html
1231
1232         * bindings/v8/ScriptValue.cpp: Added toString method.
1233         (WebCore::ScriptValue::toString):
1234         * bindings/v8/ScriptValue.h: Added PlatformString, ScriptState includes
1235             and toString declaration.
1236
1237 2009-03-12  Darin Fisher  <darin@chromium.org>
1238
1239         Reviewed by Dimitri Glazkov.
1240
1241         Eliminate ChromiumBridge::uiResourceProtocol
1242         https://bugs.webkit.org/show_bug.cgi?id=24558
1243
1244         * platform/chromium/ChromiumBridge.h:
1245
1246 2009-03-12  Greg Bolsinga  <bolsinga@apple.com>
1247
1248         Reviewed by Simon Fraser.
1249
1250         Missing breaks in switch statement
1251         https://bugs.webkit.org/show_bug.cgi?id=24556
1252
1253         * platform/mac/GeolocationServiceMac.mm:
1254         (-[WebCoreCoreLocationObserver locationManager:didFailWithError:]):
1255
1256 2009-03-12  Darin Fisher  <darin@chromium.org>
1257
1258         Reviewed by Dimitri Glazkov.
1259
1260         https://bugs.webkit.org/show_bug.cgi?id=24554
1261         Remove some unused functions from ChromiumBridge.
1262
1263         * platform/chromium/ChromiumBridge.h:
1264
1265 2009-03-02  Eric Seidel  <eric@webkit.org>
1266
1267         Reviewed by Darin Fisher and Justin Garcia.
1268
1269         Safari crashes during drag and drop in Google presentations
1270         due to mutation event handlers removing DOM content during insertNode
1271         https://bugs.webkit.org/show_bug.cgi?id=22634
1272
1273         Added a bunch of "null" checks to make sure nodes are still
1274         in the document before we operate on them.  This is an
1275         inelegant solution, but it's the best we have for now.
1276         
1277         Test: editing/selection/crash-on-drag-with-mutation-events.html
1278
1279         * editing/CompositeEditCommand.cpp:
1280         (WebCore::CompositeEditCommand::insertNodeAt):
1281         * editing/ReplaceSelectionCommand.cpp:
1282         (WebCore::ReplaceSelectionCommand::doApply):
1283
1284 2009-03-12  Dimitri Glazkov  <dglazkov@chromium.org>
1285
1286         Reviewed by Adam Treat.
1287
1288         https://bugs.webkit.org/show_bug.cgi?id=24525
1289         REGRESSION: Inspector window doesn't close when inspected page is
1290         destroyed. This is a revert of r41158, which became unnecessary when
1291         InspectorController became ref-counted in r41462.
1292
1293         * inspector/InspectorController.cpp:
1294         (WebCore::InspectorController::inspectedPageDestroyed): Reset m_inspectedPage
1295             after calling close().
1296         (WebCore::InspectorController::stopUserInitiatedProfiling): Remove
1297             m_inspectedPage check guard around profile logic.
1298
1299 2009-03-12  Peter Kasting  <pkasting@google.com>
1300
1301         Reviewed by Darin Fisher.
1302
1303         https://bugs.webkit.org/show_bug.cgi?id=24502
1304         Make horizontal scrolling on Windows always go the correct direction.
1305
1306         * platform/PlatformWheelEvent.h:
1307         * platform/win/WheelEventWin.cpp:
1308         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
1309
1310 2009-03-12  Dimitri Glazkov  <dglazkov@chromium.org>
1311
1312         Reviewed by Simon Fraser.
1313
1314         https://bugs.webkit.org/show_bug.cgi?id=24496
1315         Fix console logging of non-string values by coercing the argument to
1316         a string.
1317
1318         Test: fast/js/console-non-string-values.html
1319
1320         * bindings/js/ScriptValue.cpp: Removed PlatformString include.
1321         * bindings/js/ScriptValue.h: Added toString method.
1322         (WebCore::ScriptValue::toString):
1323         * page/Console.cpp:
1324         (WebCore::getFirstArgumentAsString): Changed firstArgumentAsString method to use
1325             ScriptValue::toString.
1326         (WebCore::Console::addMessage): added extra ScriptState argument to callsite.
1327         (WebCore::Console::count): Ditto.
1328
1329 2009-03-12  Simon Fraser  <simon.fraser@apple.com>
1330
1331         Reviewed by Adele Peterson.
1332         
1333         https://bugs.webkit.org/show_bug.cgi?id=24508
1334         
1335         Fix updating of text field with placeholder text when value is set
1336         by ensuring that updatePlaceholderVisibility() is called after
1337         the value has been updated, not before.
1338
1339         Test: fast/forms/placeholder-set-value.html
1340
1341         * html/HTMLInputElement.cpp:
1342         (WebCore::HTMLInputElement::setValue):
1343
1344 2009-03-12  Simon Fraser  <simon.fraser@apple.com>
1345
1346         Reviewed by Dave Hyatt
1347         
1348         https://bugs.webkit.org/show_bug.cgi?id=24552
1349         
1350         Hit testing involving normal flow, self-painting layers (e.g. reflections)
1351         was broken because it was not null-testing the result of hitTestLayer(),
1352         so bailing early with a nil hit layer.
1353
1354         Test: fast/layers/normal-flow-hit-test.html
1355
1356         * rendering/RenderLayer.cpp:
1357         (WebCore::RenderLayer::hitTestLayer):
1358
1359 2009-03-12  Dimitri Glazkov  <dglazkov@chromium.org>
1360
1361         Reviewed by Cameron Zwarich.
1362
1363         Removed zero-sized files, left over from improperly applied patch.
1364
1365         * platform/graphics/chromium/ThemeHelperChromiumWin.cpp: Removed.
1366         * platform/graphics/chromium/ThemeHelperChromiumWin.h: Removed.
1367
1368 2009-03-12  Adam Treat  <adam.treat@torchmobile.com>
1369
1370         Reviewed by George Staikos.
1371
1372         Do not ignore alpha color in optimization.  Hard to believe, but there
1373         are websites that fill the entire page with a tiled image consisting of
1374         nothing but a 100% transparent 1x1 image. <cough>orbitz.com</cough>
1375
1376         * platform/graphics/qt/ImageQt.cpp:
1377         (WebCore::BitmapImage::checkForSolidColor):
1378
1379 2009-03-12  Julien Chaffraix  <jchaffraix@webkit.org>
1380
1381         Reviewed by Darin Adler.
1382
1383         Bug 24110: cloneNode should call cloneElement and not the reverse
1384
1385         - Splitted the code from cloneNode into cloneElementWithChildren and cloneElementWithChildren.
1386           Now cloneNode calls one of the 2 previous methods.
1387
1388         - Renamed cloneElement to cloneElementWithoutChildren as it was the previous behaviour.
1389
1390         - Moved cloneNode to the Element private section so that WebCore callers cannot use it.
1391
1392         - Removed Element::cloneNode usage through WebCore.
1393
1394         * dom/Element.cpp:
1395         (WebCore::Element::cloneNode): Moved to Element's private section and it
1396         now calls the two next methods.
1397         (WebCore::Element::cloneElementWithChildren): Added.
1398         (WebCore::Element::cloneElementWithoutChildren): Renamed from cloneElement
1399         to avoid ambiguity.
1400         * dom/Element.h:
1401
1402         * editing/ApplyStyleCommand.cpp:
1403         (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Changed call to cloneElement
1404         to call to cloneElementWithoutChildren.
1405         * editing/BreakBlockquoteCommand.cpp:
1406         (WebCore::BreakBlockquoteCommand::doApply): Ditto.
1407         * editing/IndentOutdentCommand.cpp:
1408         (WebCore::IndentOutdentCommand::indentRegion): Ditto.
1409         * editing/InsertParagraphSeparatorCommand.cpp:
1410         (WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.
1411         * editing/ModifySelectionListLevel.cpp:
1412         (WebCore::IncreaseSelectionListLevelCommand::doApply): Ditto.
1413         * editing/SplitElementCommand.cpp:
1414         (WebCore::SplitElementCommand::doApply): Ditto.
1415         * editing/markup.cpp:
1416         (WebCore::createFragmentFromText): Ditto.
1417         * svg/SVGUseElement.cpp:
1418         (WebCore::SVGUseElement::buildShadowTree): Ditto.
1419         (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto.
1420
1421 2009-03-12  Dirk Schulze  <krit@webkit.org>
1422
1423         Reviewed by Oliver Hunt.
1424
1425         Fixed a crash on the 1x1 pixel check for background image in gtk.
1426         We need to load the image first and need to be sure that the image
1427         is not null before checking the type. 
1428
1429         * platform/graphics/cairo/ImageCairo.cpp:
1430         (WebCore::BitmapImage::checkForSolidColor):
1431
1432 2009-03-12  Xan Lopez  <xlopez@igalia.com>
1433
1434         Reviewed by Alexey Proskuryakov.
1435
1436         https://bugs.webkit.org/show_bug.cgi?id=24544
1437         Rename setUrl to setURL
1438
1439         Use proper case for setUrl method, rename it to setURL.
1440
1441         * platform/network/ResourceResponseBase.cpp:
1442         (WebCore::ResourceResponseBase::adopt):
1443         * platform/network/ResourceResponseBase.h:
1444         * platform/network/curl/ResourceHandleManager.cpp:
1445         (WebCore::writeCallback):
1446         (WebCore::headerCallback):
1447         * platform/network/soup/ResourceHandleSoup.cpp:
1448         (WebCore::fillResponseFromMessage):
1449         (WebCore::queryInfoCallback):
1450
1451 2009-03-12  Xan Lopez  <xlopez@igalia.com>
1452
1453         Reviewed by Alexey Proskuryakov.
1454
1455         https://bugs.webkit.org/show_bug.cgi?id=24519
1456         [GTK] Use two argument KURL ctor in ResourceHandleSoup
1457
1458         Use two argument KURL ctor, the single argument ctor expects its
1459         input to be the output of a previous KURL::parse call, which is
1460         not the case here.
1461
1462         * platform/network/soup/ResourceHandleSoup.cpp:
1463         (WebCore::fillResponseFromMessage):
1464         (WebCore::queryInfoCallback):
1465
1466 2009-03-11  Jon Honeycutt  <jhoneycutt@apple.com>
1467
1468         Fix for <rdar://6418681>
1469         https://bugs.webkit.org/show_bug.cgi?id=22644
1470
1471         Reviewed by Steve Falkenburg.
1472
1473         * plugins/win/PluginPackageWin.cpp:
1474         (WebCore::PluginPackage::isPluginBlacklisted): Add the Citrix ICA
1475         Client plug-in to the blacklist; it requires a Mozilla-based browser.
1476
1477 2009-03-12  Oliver Hunt  <oliver@apple.com>
1478
1479         Reviewed by NOBODY (build fix).
1480
1481         build fix.
1482
1483         * html/CanvasRenderingContext2D.h:
1484
1485 2009-03-11  Oliver Hunt  <oliver@apple.com>
1486
1487         Reviewed by Adele Peterson.
1488
1489         <rdar://problem/6673852> Widget "Simple World Clock" does not display with Safari 4
1490
1491         A number of dashboard widgets rely on canvas failing silently when given invalid
1492         colors for gradient stops, but both the spec and firefox throw exceptions here.
1493         So we work around this by creating a dashboard quirk that will only suppress the
1494         exception in dashboard compatibility mode.
1495
1496         Test: fast/canvas/canvas-gradient-addStop-error.html
1497
1498         * html/CanvasGradient.cpp:
1499         (WebCore::CanvasGradient::CanvasGradient):
1500         (WebCore::CanvasGradient::addColorStop):
1501         * html/CanvasGradient.h:
1502         (WebCore::CanvasGradient::setDashboardCompatibilityMode):
1503         * html/CanvasRenderingContext2D.cpp:
1504         (WebCore::CanvasRenderingContext2D::prepareGradientForDashboard):
1505         (WebCore::CanvasRenderingContext2D::createLinearGradient):
1506         (WebCore::CanvasRenderingContext2D::createRadialGradient):
1507         * html/CanvasRenderingContext2D.h:
1508
1509 2009-03-11  David Kilzer  <ddkilzer@apple.com>
1510
1511         Clarify comments regarding order of FEATURE_DEFINES
1512
1513         Rubber-stamped by Mark Rowe.
1514
1515         * Configurations/WebCore.xcconfig: Added warning about the
1516         consequences when FEATURE_DEFINES are not kept in sync.
1517
1518 2009-03-11  Gustavo Noronha Silva  <gns@gnome.org>
1519
1520         Reviewed by Holger Freyther.
1521
1522         https://bugs.webkit.org/show_bug.cgi?id=24515
1523         [GTK] soup backend should use GMappedFile instead of mmap directly
1524
1525         Rewrite mmap code used to upload files to use GMappedFile, so that
1526         it is platform-independent.
1527
1528         * platform/network/soup/ResourceHandleSoup.cpp:
1529         (WebCore::ResourceHandle::startHttp):
1530
1531 2009-03-11  Dan Bernstein  <mitz@apple.com>
1532
1533         Reviewed by Darin Adler.
1534
1535         - WebCore part of fixing <rdar://problem/3919124> Thai text selection
1536           in Safari is incorrect
1537
1538         Test: platform/mac/editing/selection/word-thai.html
1539
1540         Tested on Mac, but should work on all ICU platforms (or more precisely
1541         on all platforms that implement
1542         WTF::Unicode::hasLineBreakingPropertyComplexContext() correctly).
1543
1544         * editing/TextIterator.cpp:
1545         (WebCore::BackwardsCharacterIterator::BackwardsCharacterIterator):
1546         Added.
1547         (WebCore::BackwardsCharacterIterator::range): Added.
1548         (WebCore::BackwardsCharacterIterator::advance): Added.
1549
1550         * editing/TextIterator.h: Added BackwardsCharacterIterator with the
1551         minimal functionality required for this patch.
1552         (WebCore::BackwardsCharacterIterator::atEnd): Added.
1553
1554         * editing/visible_units.cpp:
1555         (WebCore::firstNonComplexContextLineBreak): Added this helper function
1556         that returns the index of the first character in the string whose
1557         Unicode line breaking property value is not SA ("Complex Context"), or
1558         the length of the string if there is no such character.
1559         (WebCore::lastNonComplexContextLineBreak): Added this helper function
1560         that returns the index of the last character in the string whose
1561         Unicode line breaking property value is not SA ("Complex Context"), or
1562         -1 if there is no such character.
1563         (WebCore::previousBoundary): Changed the signature of the search
1564         function to include an offset parameter. Renamed the 'exception' local
1565         variable to 'ec' and changed its type to ExceptionCode. Extend the
1566         string forwards until the first character with Unicode line breaking
1567         property value other than SA. This gives the boundary search function
1568         enough context in the forward direction. Changed to use a
1569         BackwardsCharacterIterator for translating the backwards offset into
1570         a position.
1571         (WebCore::nextBoundary): Changed the signature of the search
1572         function to include an offset parameter. Extend the string backwards
1573         until the first character with Unicode line breaking property value
1574         other than SA. This gives the boundary search function enough context in
1575         the backwards direction. Restricted the workaround for <rdar://5192593>
1576         only to the line break case, because it was causing an extra character
1577         to be selected following a word that ended with a combining mark.
1578         (WebCore::startWordBoundary): Added an offset parameter. Check that
1579         going backwards from the given offset, there is a character with Unicode
1580         line breaking property value other than SA, and otherwise return 0 to
1581         request more context.
1582         (WebCore::endWordBoundary): Similar, but in reverse.
1583         (WebCore::previousWordPositionBoundary): Similar.
1584         (WebCore::nextWordPositionBoundary): Similar.
1585         (WebCore::startSentenceBoundary): Updated for the new search function
1586         signature.
1587         (WebCore::endSentenceBoundary): Ditto.
1588         (WebCore::previousSentencePositionBoundary): Ditto.
1589         (WebCore::nextSentencePositionBoundary): Ditto.
1590
1591 2009-03-11  Darin Adler  <darin@apple.com>
1592
1593         Reviewed by Mark Rowe.
1594
1595         Don't use "::" in thread names because it is ugly!
1596
1597         * loader/icon/IconDatabase.cpp:
1598         (WebCore::IconDatabase::open): Use "WebCore: " instead of "WebCore::".
1599         * platform/network/cf/ResourceHandleCFNet.cpp:
1600         (WebCore::ResourceHandle::loaderRunLoop): Call this "WebCore: CFNetwork Loader" to make
1601         it clear this is a WebCore-created thread.
1602         * storage/DatabaseThread.cpp:
1603         (WebCore::DatabaseThread::start): Use "WebCore: " instead of "WebCore::".
1604         * storage/LocalStorageThread.cpp:
1605         (WebCore::LocalStorageThread::start): Use "WebCore: " instead of "WebCore::".
1606         * workers/WorkerThread.cpp:
1607         (WebCore::WorkerThread::start): Use "WebCore: " instead of "WebCore::".
1608
1609 2009-03-11  Mark Rowe  <mrowe@apple.com>
1610
1611         Rubber-stamped by Darin Adler.
1612
1613         <rdar://problem/6653286> WebCore's implementation of screenIsMonochrome is needlessly complex
1614
1615         * platform/mac/PlatformScreenMac.mm:
1616         (WebCore::screenIsMonochrome): Return false.
1617
1618 2009-03-11  Beth Dakin  <bdakin@apple.com>
1619
1620         Reviewed by Dan Bernstein.
1621
1622         Fix for https://bugs.webkit.org/show_bug.cgi?id=14749 percentage 
1623         top value on position:relative child not calculated correctly if 
1624         parent has percentage height
1625         - and corresponding -
1626         <rdar://problem/6172925>
1627
1628         * rendering/RenderBoxModelObject.cpp:
1629         (WebCore::RenderBoxModelObject::relativePositionOffsetY):
1630
1631 2009-03-11  Jian Li  <jianli@chromium.org>
1632
1633         Reviewed by Dimitri Glazkov.
1634
1635         Implement ScriptValue::hasNoValue for V8.
1636         https://bugs.webkit.org/show_bug.cgi?id=24507
1637
1638         * bindings/v8/ScriptValue.h:
1639         (WebCore::ScriptValue::hasNoValue):
1640
1641 2009-03-11  David Levin  <levin@chromium.org>
1642
1643         Reviewed by Dimitri Glazkov.
1644
1645         Bug 24459: Add v8 bindings for event.
1646         <https://bugs.webkit.org/show_bug.cgi?id=24459>
1647
1648         Adding custom event bindings.
1649
1650         * bindings/v8/custom/V8AbstractEventListener.cpp: Added.
1651         * bindings/v8/custom/V8AbstractEventListener.h: Added.
1652         * bindings/v8/custom/V8AttrCustom.cpp:
1653         Fixed messed up copyright header.
1654         * bindings/v8/custom/V8CustomEventListener.cpp: Added.
1655         * bindings/v8/custom/V8CustomEventListener.h:
1656         Replaced forwarding header with the real implementation.
1657         * bindings/v8/custom/V8ElementCustom.cpp:
1658         * bindings/v8/custom/V8LazyEventListener.cpp: Added.
1659         * bindings/v8/custom/V8LazyEventListener.h: Added.
1660         * bindings/v8/custom/V8ObjectEventListener.cpp: Added.
1661         * bindings/v8/custom/V8ObjectEventListener.h: Added.
1662         * bindings/v8/custom/V8WorkerContextEventListener.cpp: Added.
1663         * bindings/v8/custom/V8WorkerContextEventListener.h: Added.
1664
1665 2009-03-11  Darin Fisher  <darin@chromium.org>
1666
1667         Reviewed by Dimitri Glazkov.
1668
1669         https://bugs.webkit.org/show_bug.cgi?id=24521
1670         Add some missing includes for the non-JSC build.
1671
1672         * platform/text/PlatformString.h: added OwnPtr.h
1673         * xml/XMLHttpRequest.cpp: added SecurityOrigin.h
1674
1675 2009-03-11  Simon Fraser  <simon.fraser@apple.com>
1676
1677         Reviewed by Darin Adler
1678
1679         https://bugs.webkit.org/show_bug.cgi?id=24531
1680         
1681         Make sure that AnimationControllerPrivate::getAnimatedStyleForRenderer() never
1682         returns a null style if it has a valid renderer, which could happen if a
1683         CompositeAnimation existed, but wasn't running any animations or transitions.
1684
1685         * page/animation/AnimationController.cpp:
1686         (WebCore::AnimationControllerPrivate::getAnimatedStyleForRenderer):
1687
1688 2009-03-11  Simon Fraser  <simon.fraser@apple.com>
1689
1690         Fix Scons build. Patch from Alexander Guy.
1691
1692         * WebCore.scons:
1693
1694 2009-03-11  Simon Fraser  <simon.fraser@apple.com>
1695
1696         Reviewed by Dan Bernstein
1697        
1698         https://bugs.webkit.org/show_bug.cgi?id=23093
1699         
1700         When the cancel button in the search field is shown or hidden,
1701         we need to explicitly setStyle() on the cancel button's renderer,
1702         to ensure that repaint happens. Changing the style without telling
1703         the renderer won't work.
1704
1705         Test: fast/repaint/search-field-cancel.html
1706
1707         * rendering/RenderTextControlSingleLine.cpp:
1708         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
1709         (WebCore::RenderTextControlSingleLine::updateFromElement):
1710         (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
1711         (WebCore::RenderTextControlSingleLine::updateCancelButtonVisibility):
1712         (WebCore::RenderTextControlSingleLine::visibilityForCancelButton):
1713         * rendering/RenderTextControlSingleLine.h:
1714
1715 2009-03-11  Hironori Bono  <hbono@chromium.org>
1716
1717         Reviewed by Alexey Proskuryakov.
1718
1719         https://bugs.webkit.org/show_bug.cgi?id=15790
1720         Ligatures aren't accounted for when manipulating VisiblePositions
1721
1722         Changed cursorMovementIterator rules to prevent a cursor from moving in the middle of an
1723         Indic ligature which uses a virama sign.
1724         
1725         Test: editing/deleting/skip-virama-001.html
1726
1727         * platform/text/TextBreakIteratorICU.cpp:
1728         (WebCore::cursorMovementIterator):
1729
1730 2009-03-11  Alexey Proskuryakov  <ap@webkit.org>
1731
1732         Reviewed by George Staikos.
1733
1734         https://bugs.webkit.org/show_bug.cgi?id=24513
1735         REGRESSION: Cursor movement doesn't work on Tiger (ICU 3.2)
1736
1737         Fixes existing tests on Tiger.
1738
1739         * platform/text/TextBreakIteratorICU.cpp: (WebCore::cursorMovementIterator):
1740         Use characterBreakIterator on Tiger (like we used to do).
1741
1742 2009-03-11  Alexey Proskuryakov  <ap@webkit.org>
1743
1744         Reviewed by Oliver Hunt.
1745
1746         <rdar://problem/4072827> Downloaded non-ASCII file name becomes garbled
1747
1748         * platform/network/mac/ResourceRequestMac.mm:
1749         (WebCore::ResourceRequest::doUpdatePlatformRequest): Correct selector name
1750         in instancesRespondToSelector.
1751
1752 2009-03-11  Jan Michael Alonzo  <jmalonzo@webkit.org>
1753
1754         Reviewed by Holger Freyther.
1755
1756         [GTK]DumpRenderTree doesn't compile for non-X11 GTK ports anymore
1757         https://bugs.webkit.org/show_bug.cgi?id=2260
1758
1759         Add missing stdio.h include to get the build going
1760
1761         * plugins/gtk/PluginPackageGtk.cpp:
1762
1763 2009-03-10  Justin Garcia  <justin.garcia@apple.com>
1764
1765         Reviewed by Ken Kocienda.
1766
1767         * dom/Range.cpp:
1768         (WebCore::Range::addLineBoxRects): If the range ended at [div, 0], addLineBoxRects
1769         would include rects for the divs contents.  Set the correct RenderObject to stop at.
1770
1771 2009-03-10  Alexey Proskuryakov  <ap@webkit.org>
1772
1773         Reviewed by Sam Weinig.
1774
1775         <rdar://problem/6123770> Restrict access to document.cookie when making a cross-site XHR
1776
1777         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::responseXML): Removed an incorrect
1778         comment about cookie support. Firefox doesn't expose cookies on responseXML at all, and
1779         there are security concerns with exposing them for cross-origin requests, so it's not clear
1780         if we want to change anything here.
1781
1782 2009-03-10  Simon Fraser  <simon.fraser@apple.com>
1783
1784         Reviewed by Darin Adler
1785
1786         https://bugs.webkit.org/show_bug.cgi?id=24503
1787         
1788         Fix hit testing of absolutely positioned single line text controls by
1789         ensuring that we set result.innerNode() correctly. If the hit node is
1790         a descendant of the inner text element or if it is the <input> itself,
1791         then we say we hit the innerTextElement.
1792         
1793         Rename hitInnerTextBlock() to hitInnerTextElement() to match the
1794         'innerTextElement' terminology used elsewhere.
1795         
1796         Assert that if renderer()->hitTest() returns false, no-one set
1797         result.innerNode().
1798
1799         Test: fast/forms/search-abs-pos-cancel-button.html
1800
1801         * rendering/RenderLayer.cpp:
1802         (WebCore::RenderLayer::hitTestContents):
1803         * rendering/RenderTextControl.cpp:
1804         (WebCore::RenderTextControl::hitInnerTextElement):
1805         * rendering/RenderTextControl.h:
1806         * rendering/RenderTextControlMultiLine.cpp:
1807         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
1808         * rendering/RenderTextControlSingleLine.cpp:
1809         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
1810
1811 2009-03-10  Antti Koivisto  <antti@apple.com>
1812
1813         Reviewed by Mark Rowe.
1814
1815         <rdar://problem/6668238> WebCore is registering text encodings needlessly from KURL constructor.
1816         
1817         Another case where we would trigger extended encoding loading needlessly.
1818
1819         * platform/text/TextEncoding.cpp:
1820         (WebCore::TextEncoding::isNonByteBasedEncoding):
1821
1822 2009-03-10  Beth Dakin  <bdakin@apple.com>
1823
1824         Reviewed by Darin Adler.
1825
1826         Fix for <rdar://problem/6624769> REGRESSION (Safari 4 PB): No 
1827         scroll bar appears for long line of text with NOWRAP set
1828
1829         This is a regression from http://trac.webkit.org/changeset/32226
1830         I talked with Dan about the original change, and we decided that 
1831         the best fix was to remove his small potential-optimization that 
1832         only created a separate line box for whitespace under certain 
1833         circumstances. This new code will always create a separate line 
1834         box.
1835
1836         * rendering/bidi.cpp:
1837         (WebCore::RenderBlock::layoutInlineChildren):
1838
1839 2009-03-10  Sam Weinig  <sam@webkit.org>
1840
1841         Reviewed by Geoffrey Garen.
1842
1843         Fix for <rdar://problem/6166844>
1844         https://bugs.webkit.org/show_bug.cgi?id=24495
1845
1846         Use same rule for loading java applets as we do for images.
1847
1848         * html/HTMLAppletElement.cpp:
1849         (WebCore::HTMLAppletElement::createRenderer):
1850         * loader/FrameLoader.cpp:
1851         (WebCore::FrameLoader::loadItem):
1852
1853 2009-03-10  Justin Garcia  <justin.garcia@apple.com>
1854
1855         Reviewed by David Kilzer.
1856
1857         Get rid of revealCaret and use revealSelection instead.
1858
1859         * WebCore.base.exp:
1860         * editing/SelectionController.cpp:
1861         (WebCore::SelectionController::setSelection):
1862         * page/Frame.cpp:
1863         (WebCore::Frame::revealSelection):
1864         * page/Frame.h:
1865
1866 2009-03-10  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
1867
1868         Reviewed by Geoff Garen.
1869
1870         Bug 23736: WebKit Crashes on http://g-conquest.fr/~server2
1871         <https://bugs.webkit.org/show_bug.cgi?id=23736>
1872         <rdar://problem/6560278>
1873
1874         Before replacing the document, FrameLoader::executeIfJavaScriptURL()
1875         should call stopAllLoaders(), just like continueLoadAfterNavigationPolicy().
1876
1877         * loader/FrameLoader.cpp:
1878         (WebCore::FrameLoader::executeIfJavaScriptURL):
1879
1880 2009-03-10  Darin Adler  <darin@apple.com>
1881
1882         Reviewed by Alexey Proskuryakov.
1883
1884         Bug 24494: crash when deleting at end of document and merging paragraphs
1885         https://bugs.webkit.org/show_bug.cgi?id=24494
1886         rdar://problem/6571537
1887
1888         Test: editing/deleting/merge-at-end-of-document.html
1889
1890         * dom/Range.cpp:
1891         (WebCore::Range::compareBoundaryPoints): Split out assertion. It's better not to
1892         use && in assertions since we'd like to know which condition is failing.
1893
1894         * editing/ApplyStyleCommand.cpp:
1895         (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null check before
1896         calling compareBoundaryPoints, since a 0 for the node is ambiguous and so the
1897         function doesn't know which value to return.
1898
1899 2009-03-10  Dirk Schulze  <krit@webkit.org>
1900
1901         Reviewed by Eric Seidel. Math checked by Oliver Hunt.
1902
1903         Implement the Cairo version of the checkForSolidColor() method. This halfes the
1904         time to draw on 1x1 px background images.
1905         I added two new calls to Color for the pixel manipulation on cairo_surface's.
1906         They are neede to premultiply/unpremultiply the colors of the surface.
1907
1908         [CAIRO] Introduce single-pixel image optimizations
1909         https://bugs.webkit.org/show_bug.cgi?id=17284
1910
1911         * platform/graphics/Color.cpp:
1912         (WebCore::colorFromPremultipliedARGB):
1913         (WebCore::premultipliedARGBFromColor):
1914         * platform/graphics/Color.h:
1915         * platform/graphics/cairo/ImageBufferCairo.cpp:
1916         (WebCore::ImageBuffer::getImageData):
1917         (WebCore::ImageBuffer::putImageData):
1918         * platform/graphics/cairo/ImageCairo.cpp:
1919         (WebCore::BitmapImage::checkForSolidColor):
1920
1921 2009-03-06  Darin Fisher  <darin@chromium.org>
1922
1923         Reviewed by Sam Weinig.
1924
1925         https://bugs.webkit.org/show_bug.cgi?id=24437
1926
1927         Add support for registering noAccess URL schemes:
1928         1-  Add FrameLoader::registerURLSchemeAsNoAccess, and have SecurityOrigin check
1929         that list upon construction (similar to how isLocal is implemented).
1930         2-  Make InspectorController call grantUniversalAccess on its Document's
1931         SecurityOrigin at the time when windowScriptObjectAvailable is called.
1932
1933         This enables content such as the inspector to be loaded from a custom (non-file)
1934         URL, which is how Chromium loads the inspector.  It also allows other URL schemes
1935         to be treated like data: URLs, which Chromium utilizes for its various HTML-based
1936         UI panels.
1937
1938         * inspector/InspectorController.cpp:
1939         (WebCore::InspectorController::windowScriptObjectAvailable):
1940         * loader/FrameLoader.cpp:
1941         (WebCore::localSchemes):
1942         (WebCore::noAccessSchemes):
1943         (WebCore::FrameLoader::loadItem):
1944         * loader/FrameLoader.h:
1945         * page/SecurityOrigin.cpp:
1946         (WebCore::SecurityOrigin::SecurityOrigin):
1947         (WebCore::SecurityOrigin::isLocal):
1948
1949 2009-03-10  Xan Lopez  <xlopez@igalia.com>
1950
1951         Build fix, no review
1952
1953         * page/mac/AccessibilityObjectWrapper.mm:
1954         (textMarkerForVisiblePosition):
1955         (visiblePositionForTextMarker):
1956
1957 2009-03-10  Xan Lopez  <xlopez@igalia.com>
1958
1959         Reviewed by Darin Adler.
1960
1961         https://bugs.webkit.org/show_bug.cgi?id=24491
1962         Rename posOffset to m_offset, get rid of accessor
1963
1964         As suggested in dom/Position.h, this patch gets rid of the
1965         'offset()' accessor and renames posOffset to m_offset. I've used
1966         m_offset instead of offset to follow the style guide lines, since
1967         Position is still a class and not a structure. If the long term
1968         plan is still to make it a structure it would be pretty easy to
1969         just s/m_offset/offset/ globally when that is achieved.
1970
1971         * dom/Position.cpp:
1972         (WebCore::Position::previous):
1973         (WebCore::Position::next):
1974         (WebCore::Position::atStart):
1975         (WebCore::Position::atEnd):
1976         (WebCore::Position::renderedOffset):
1977         (WebCore::Position::isCandidate):
1978         (WebCore::Position::inRenderedText):
1979         (WebCore::Position::isRenderedCharacter):
1980         (WebCore::Position::rendersInDifferentPosition):
1981         (WebCore::Position::leadingWhitespacePosition):
1982         (WebCore::Position::debugPosition):
1983         (WebCore::Position::formatForDebugger):
1984         * dom/Position.h:
1985         (WebCore::Position::Position):
1986         * dom/PositionIterator.h:
1987         (WebCore::PositionIterator::PositionIterator):
1988         * dom/Range.cpp:
1989         * dom/RangeBoundaryPoint.h:
1990         (WebCore::RangeBoundaryPoint::position):
1991         (WebCore::RangeBoundaryPoint::set):
1992         (WebCore::RangeBoundaryPoint::setOffset):
1993         (WebCore::RangeBoundaryPoint::setToChild):
1994         (WebCore::RangeBoundaryPoint::setToStart):
1995         (WebCore::RangeBoundaryPoint::setToEnd):
1996         (WebCore::RangeBoundaryPoint::childBeforeWillBeRemoved):
1997         * editing/ApplyStyleCommand.cpp:
1998         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
1999         (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
2000         (WebCore::ApplyStyleCommand::removeInlineStyle):
2001         (WebCore::ApplyStyleCommand::nodeFullySelected):
2002         (WebCore::ApplyStyleCommand::nodeFullyUnselected):
2003         (WebCore::ApplyStyleCommand::splitTextAtStartIfNeeded):
2004         (WebCore::ApplyStyleCommand::splitTextAtEndIfNeeded):
2005         (WebCore::ApplyStyleCommand::splitTextElementAtStartIfNeeded):
2006         (WebCore::ApplyStyleCommand::splitTextElementAtEndIfNeeded):
2007         (WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical):
2008         (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
2009         (WebCore::ApplyStyleCommand::joinChildTextNodes):
2010         * editing/BreakBlockquoteCommand.cpp:
2011         (WebCore::BreakBlockquoteCommand::doApply):
2012         * editing/CompositeEditCommand.cpp:
2013         (WebCore::CompositeEditCommand::insertNodeAt):
2014         (WebCore::CompositeEditCommand::positionOutsideTabSpan):
2015         (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
2016         (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
2017         (WebCore::CompositeEditCommand::deleteInsignificantText):
2018         (WebCore::CompositeEditCommand::removePlaceholderAt):
2019         (WebCore::CompositeEditCommand::moveParagraphs):
2020         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
2021         * editing/DeleteSelectionCommand.cpp:
2022         (WebCore::updatePositionForNodeRemoval):
2023         (WebCore::updatePositionForTextRemoval):
2024         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
2025         (WebCore::DeleteSelectionCommand::fixupWhitespace):
2026         * editing/Editor.cpp:
2027         (WebCore::Editor::setComposition):
2028         (WebCore::Editor::advanceToNextMisspelling):
2029         (WebCore::Editor::getCompositionSelection):
2030         * editing/InsertLineBreakCommand.cpp:
2031         (WebCore::InsertLineBreakCommand::doApply):
2032         * editing/InsertParagraphSeparatorCommand.cpp:
2033         (WebCore::InsertParagraphSeparatorCommand::doApply):
2034         * editing/InsertTextCommand.cpp:
2035         (WebCore::InsertTextCommand::performTrivialReplace):
2036         (WebCore::InsertTextCommand::input):
2037         (WebCore::InsertTextCommand::insertTab):
2038         * editing/MoveSelectionCommand.cpp:
2039         (WebCore::MoveSelectionCommand::doApply):
2040         * editing/ReplaceSelectionCommand.cpp:
2041         (WebCore::ReplaceSelectionCommand::doApply):
2042         * editing/SelectionController.cpp:
2043         (WebCore::SelectionController::debugRenderer):
2044         * editing/TextIterator.cpp:
2045         (WebCore::TextIterator::rangeFromLocationAndLength):
2046         * editing/TypingCommand.cpp:
2047         (WebCore::TypingCommand::deleteKeyPressed):
2048         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2049         * editing/VisiblePosition.cpp:
2050         (WebCore::VisiblePosition::characterAfter):
2051         (WebCore::VisiblePosition::debugPosition):
2052         (WebCore::makeRange):
2053         (WebCore::setStart):
2054         (WebCore::setEnd):
2055         * editing/VisibleSelection.cpp:
2056         (WebCore::VisibleSelection::toNormalizedRange):
2057         (WebCore::makeSearchRange):
2058         (WebCore::VisibleSelection::debugPosition):
2059         (WebCore::VisibleSelection::showTreeForThis):
2060         * editing/htmlediting.cpp:
2061         (WebCore::comparePositions):
2062         (WebCore::rangeCompliantEquivalent):
2063         (WebCore::isFirstPositionAfterTable):
2064         (WebCore::isLastPositionBeforeTable):
2065         * editing/visible_units.cpp:
2066         (WebCore::previousBoundary):
2067         (WebCore::nextBoundary):
2068         (WebCore::startPositionForLine):
2069         (WebCore::startOfLine):
2070         (WebCore::endPositionForLine):
2071         (WebCore::nextLinePosition):
2072         (WebCore::startOfParagraph):
2073         (WebCore::endOfParagraph):
2074         * page/AccessibilityObject.cpp:
2075         (WebCore::updateAXLineStartForVisiblePosition):
2076         * page/AccessibilityRenderObject.cpp:
2077         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
2078         * page/DOMSelection.cpp:
2079         (WebCore::DOMSelection::anchorOffset):
2080         (WebCore::DOMSelection::baseOffset):
2081         (WebCore::DOMSelection::focusOffset):
2082         (WebCore::DOMSelection::extentOffset):
2083         * page/EventHandler.cpp:
2084         (WebCore::EventHandler::handleMousePressEventSingleClick):
2085         * page/Frame.cpp:
2086         (WebCore::Frame::selectionLayoutChanged):
2087         * rendering/RenderTextControl.cpp:
2088         (WebCore::RenderTextControl::indexForVisiblePosition):
2089         * rendering/RenderTreeAsText.cpp:
2090         (WebCore::writeSelection):
2091
2092 2009-03-10  Darin Adler  <darin@apple.com>
2093
2094         Reviewed by Dan Bernstein.
2095
2096         Bug 23564: REGRESSION (r39230-39286): crash loading page that changes <input> display type and then calls innerHTML
2097         https://bugs.webkit.org/show_bug.cgi?id=23564
2098         rdar://problem/6537238
2099
2100         Test: fast/dom/HTMLElement/innerHTML-selection-crash.html
2101
2102         * editing/markup.cpp: (WebCore::createMarkup): Added updateLayoutIgnorePendingStylesheets
2103         call to the one of the two overloads of this function that wasn't calling it. This fixes
2104         this crash and other possible crashes inside innerHTML.
2105
2106 2009-03-10  Alexey Proskuryakov  <ap@webkit.org>
2107
2108         Reviewed by Darin Adler.
2109
2110         https://bugs.webkit.org/show_bug.cgi?id=24285
2111         Text resource loading checks for BOM twice
2112
2113         This removes TextDecoder class, since its only purpose was to check for BOM, which is
2114         already done in TextResourceDecoder. Callers that use TextEncoding::decode() won't get
2115         BOM checked, but I didn't find any cases where it would significantly change behavior.
2116
2117         * GNUmakefile.am:
2118         * WebCore.pro:
2119         * WebCore.scons:
2120         * WebCore.vcproj/WebCore.vcproj:
2121         * WebCore.xcodeproj/project.pbxproj:
2122         * WebCoreSources.bkl:
2123         Remove TextDecoder.{h,cpp}.
2124
2125         * platform/text/TextDecoder.cpp: Removed.
2126         * platform/text/TextDecoder.h: Removed.
2127
2128         * loader/TextResourceDecoder.h: Instead of a TextDecoder object, keep TextEncoding and
2129         TextCodec separately.
2130
2131         * loader/TextResourceDecoder.cpp:
2132         (WebCore::TextResourceDecoder::TextResourceDecoder): Updated for m_encoding being a member.
2133         (WebCore::TextResourceDecoder::setEncoding): Ditto.
2134         (WebCore::TextResourceDecoder::checkForBOM): Removed a FIXME saying that a BOM could override
2135         even a user-chosen encoding - this is how it already worked due to TextDecoder checking for
2136         BOM again. Made this function return the detected BOM length.
2137         (WebCore::TextResourceDecoder::decode): Skip the BOM if it was found at the beginning of
2138         a text resource.
2139         (WebCore::TextResourceDecoder::flush): Reset m_checkedForBOM, so that re-decoding the same
2140         resource again (as frequently done by CachedResource subclasses) will skip the BOM correctly.
2141
2142         * platform/text/TextEncoding.cpp: (WebCore::TextEncoding::decode):
2143         Use TextCodec directly without a TextDecoder wrapper. This means that this method no longer
2144         checks for BOM, which was a counter-intuitive feature.
2145
2146         * loader/CachedScript.cpp:
2147         (WebCore::CachedScript::CachedScript):
2148         (WebCore::CachedScript::setEncoding):
2149         (WebCore::CachedScript::encoding):
2150         (WebCore::CachedScript::script):
2151         * loader/CachedScript.h:
2152         * loader/appcache/ManifestParser.cpp:
2153         (WebCore::parseManifest):
2154         Use TextResourceDecoder, as TextEncoding::decode() no longer checks for BOM.
2155         A side effect of this is that these resources will now be subject to encoding auto-detection.
2156
2157         * loader/CachedFont.cpp: (WebCore::CachedFont::ensureSVGFontData):
2158         * page/Page.cpp: (WebCore::Page::userStyleSheet):
2159         Be sure to flush TextResourceDecoder, pushing any remaining bytes out, and making the decoder
2160         re-usable (for repeated decoding of the same resource).
2161
2162         * platform/text/TextEncodingRegistry.h: Updated comments for newTextCodec().
2163
2164 2009-03-10  Alexey Proskuryakov  <ap@webkit.org>
2165
2166         Reviewed by Darin Adler.
2167
2168         https://bugs.webkit.org/show_bug.cgi?id=24488
2169         An assertion failure when updating an offline application cache after emptying caches
2170
2171         Emptying appcache cannot be performed automatically, so no test.
2172
2173         * loader/appcache/ApplicationCacheGroup.cpp:
2174         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): Ensure that the cache is in disk
2175         storage, even if the application wasn't updated server side.
2176
2177 2009-03-10  Oliver Hunt  <oliver@apple.com>
2178
2179         Reviewed by Alexey Proskuryakov.
2180
2181         <rdar://problem/6425807> Implement WorkerUtils.importScripts()
2182         <https://bugs.webkit.org/show_bug.cgi?id=22721>
2183
2184         Implement importScripts, currently uses a series of synchronous loads
2185         to fetch the scripts, but this is simpler than a synchronous load of
2186         multiple loads in parallel.  In future we'll want to switch to parallel
2187         loading, but this will do for now.
2188         
2189         Test: http/tests/workers/worker-importScripts.html
2190
2191         * GNUmakefile.am:
2192         * WebCore.vcproj/WebCore.vcproj:
2193         * WebCore.xcodeproj/project.pbxproj:
2194         * bindings/js/JSWorkerContextCustom.cpp:
2195         (WebCore::JSWorkerContext::importScripts):
2196         * bindings/js/ScriptValue.h:
2197         (WebCore::ScriptValue::hasNoValue):
2198         * bindings/js/WorkerScriptController.cpp:
2199         (WebCore::WorkerScriptController::evaluate):
2200         (WebCore::WorkerScriptController::setException):
2201         * bindings/js/WorkerScriptController.h:
2202         * dom/Document.cpp:
2203         (WebCore::Document::scriptImported):
2204         * dom/Document.h:
2205         * dom/ScriptExecutionContext.h:
2206         * inspector/InspectorController.cpp:
2207         (WebCore::InspectorController::scriptImported):
2208         * inspector/InspectorController.h:
2209         * inspector/InspectorResource.cpp:
2210         (WebCore::InspectorResource::setScriptProperties):
2211         * inspector/InspectorResource.h:
2212         * workers/WorkerContext.cpp:
2213         (WebCore::WorkerContext::scriptImported):
2214         (WebCore::WorkerContext::importScripts):
2215         * workers/WorkerContext.h:
2216         * workers/WorkerContext.idl:
2217         * workers/WorkerImportScriptsClient.cpp: Added.
2218         (WebCore::WorkerImportScriptsClient::didReceiveResponse):
2219         (WebCore::WorkerImportScriptsClient::didReceiveData):
2220         (WebCore::WorkerImportScriptsClient::didFinishLoading):
2221         (WebCore::WorkerImportScriptsClient::didFail):
2222         (WebCore::WorkerImportScriptsClient::didFailRedirectCheck):
2223         (WebCore::WorkerImportScriptsClient::didReceiveAuthenticationCancellation):
2224         * workers/WorkerImportScriptsClient.h: Added.
2225         (WebCore::WorkerImportScriptsClient::WorkerImportScriptsClient):
2226         (WebCore::WorkerImportScriptsClient::script):
2227         (WebCore::WorkerImportScriptsClient::failed):
2228
2229 2009-03-10  Alexey Proskuryakov  <ap@webkit.org>
2230
2231         Reviewed by Darin Adler.
2232
2233         https://bugs.webkit.org/show_bug.cgi?id=24462
2234         Move cross-origin access control code out of XMLHttpRequest
2235
2236         Step 1: move preflight result cache and access control helper functions.
2237
2238         No change in behavior, so no test.
2239
2240         * GNUmakefile.am:
2241         * WebCore.pro:
2242         * WebCore.scons:
2243         * WebCore.vcproj/WebCore.vcproj:
2244         * WebCore.xcodeproj/project.pbxproj:
2245         * WebCoreSources.bkl:
2246         * loader/CrossOriginAccessControl.cpp: Added.
2247         (WebCore::isOnAccessControlSimpleRequestHeaderWhitelist):
2248         (WebCore::isSimpleCrossOriginAccessRequest):
2249         (WebCore::createAllowedCrossOriginResponseHeadersSet):
2250         (WebCore::isOnAccessControlResponseHeaderWhitelist):
2251         (WebCore::passesAccessControlCheck):
2252         * loader/CrossOriginAccessControl.h: Added.
2253         * loader/CrossOriginPreflightResultCache.cpp: Added.
2254         (WebCore::parseAccessControlMaxAge):
2255         (WebCore::addToAccessControlAllowList):
2256         (WebCore::parseAccessControlAllowList):
2257         (WebCore::CrossOriginPreflightResultCacheItem::parse):
2258         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginMethod):
2259         (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
2260         (WebCore::CrossOriginPreflightResultCacheItem::allowsRequest):
2261         (WebCore::CrossOriginPreflightResultCache::shared):
2262         (WebCore::CrossOriginPreflightResultCache::appendEntry):
2263         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight):
2264         * loader/CrossOriginPreflightResultCache.h: Added.
2265         (WebCore::CrossOriginPreflightResultCacheItem::CrossOriginPreflightResultCacheItem):
2266         (WebCore::CrossOriginPreflightResultCache::CrossOriginPreflightResultCache):
2267         * xml/XMLHttpRequest.cpp:
2268         (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData):
2269         (WebCore::XMLHttpRequest::createRequest):
2270         (WebCore::XMLHttpRequest::makeCrossOriginAccessRequest):
2271         (WebCore::XMLHttpRequest::makeSimpleCrossOriginAccessRequest):
2272         (WebCore::XMLHttpRequest::makeCrossOriginAccessRequestWithPreflight):
2273         (WebCore::XMLHttpRequest::didReceiveResponse):
2274         (WebCore::XMLHttpRequest::didReceiveResponsePreflight):
2275         * xml/XMLHttpRequest.h:
2276
2277 2009-03-10  Alexey Proskuryakov  <ap@webkit.org>
2278
2279         Reviewed by Darin Adler.
2280
2281         https://bugs.webkit.org/show_bug.cgi?id=19797
2282         Bring the list of forbidden headers in sync with XMLHttpRequest spec draft
2283
2284         Added new checks to http/tests/xmlhttprequest/set-dangerous-headers.html.
2285
2286         * xml/XMLHttpRequest.cpp:
2287         (WebCore::XMLHttpRequestStaticData::XMLHttpRequestStaticData): Added all headers from
2288         XMLHttpRequest 2 draft.
2289
2290 2009-03-10  Dan Bernstein  <mitz@apple.com>
2291
2292         Reviewed by Adele Peterson.
2293
2294         - fix https://bugs.webkit.org/show_bug.cgi?id=23975
2295           <rdar://problem/6593610> REGRESSION: Scrollbar arrow not repainted
2296
2297         * rendering/RenderLayer.cpp:
2298         (WebCore::RenderLayer::invalidateScrollbarRect): Corrected the vertical
2299         scrollbar rect calculation.
2300
2301 2009-03-09  Simon Fraser  <simon.fraser@apple.com>
2302
2303         Reviewed by Dan Bernstein, Oliver Hunt
2304
2305         https://bugs.webkit.org/show_bug.cgi?id=24475
2306         
2307         When repainting replaced elements, need to union the selection
2308         and overflow rects because either may extend outside the other.
2309         
2310         Test: fast/repaint/transform-replaced-shadows.html
2311
2312         * rendering/RenderReplaced.cpp:
2313         (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
2314
2315 2009-03-09  Stephanie Lewis  <slewis@apple.com>
2316
2317         Fix build.
2318
2319         * editing/Editor.cpp:
2320         (WebCore::Editor::advanceToNextMisspelling):
2321         (WebCore::markAllMisspellingsAndBadGrammarInRanges):
2322
2323 2009-03-09  Kim Christensen  <kimworking@gmail.com>
2324
2325         Reviewed by Darin Fisher.
2326
2327         https://bugs.webkit.org/show_bug.cgi?id=24276
2328         Dropdown / select boxes do not consider the windows task bar in Chromium.
2329
2330         * platform/chromium/PopupMenuChromium.cpp:
2331         (WebCore::PopupContainer::showPopup):
2332
2333 2009-03-09  Dan Bernstein  <mitz@apple.com>
2334
2335         Reviewed by Adele Peterson and Dave Hyatt.
2336
2337         - fix <rdar://problem/6654344> REGRESSION (r41041): Zillow.com has
2338           misaligned edit fields
2339
2340         Test: fast/forms/legend-display-none.html
2341
2342         * css/CSSStyleSelector.cpp:
2343         (WebCore::CSSStyleSelector::adjustRenderStyle): Change the display
2344         property of legend elements to 'block' unless it is 'none'.
2345         * css/html4.css: Do not force the display property of legend elements to
2346         'block' using CSS, because that prevents style rules from setting it to
2347         'none'.
2348
2349 2009-03-09  Alpha Lam  <hclam@chromium.org>
2350
2351         Reviewed by Dave Hyatt.
2352
2353         https://bugs.webkit.org/show_bug.cgi?id=23024
2354
2355         Fix an incorrect criteria in the if statement that leaves references to
2356         deleted floating objects in RenderBlock.
2357
2358         Test: fast/block/float/crash-on-absolute-positioning.html
2359
2360         * rendering/RenderBlock.cpp:
2361         (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
2362
2363 2009-03-09  Mike Belshe  <mike@belshe.com>
2364
2365         Reviewed by Eric Seidel.
2366
2367         Unify JSC/V8 idl file.
2368         https://bugs.webkit.org/show_bug.cgi?id=24424
2369
2370         * page/Location.idl:
2371
2372 2009-03-09  Mike Belshe  <mike@belshe.com>
2373
2374         Reviewed by Eric Seidel.
2375
2376         Unify JSC/V8 for History.idl.
2377
2378         * page/History.idl:
2379
2380 2009-03-09  Mike Belshe  <mike@belshe.com>
2381
2382         Reviewed by Eric Seidel.
2383
2384         Unify JSC/V8 implementations of DOMWindow.idl.
2385
2386         * page/DOMWindow.idl:
2387
2388 2009-03-09  Simon Fraser  <simon.fraser@apple.com>
2389
2390         Reviewed by Dave Hyatt
2391
2392         https://bugs.webkit.org/show_bug.cgi?id=24163
2393         
2394         Implement mapping of FloatQuads through 3D transforms.
2395         
2396         Removed the redundant localToContainerQuad() methods, which can now 
2397         shared code with the old mapLocalToAbsolutePoint(), which was
2398         renamed to mapLocalToContainer(). This can now convert a point,
2399         and optionally a FloatQuad, which are carried along in the TransformState.
2400         
2401         Optimized TransformState to reduce to simple FloatPoint.move()
2402         if there are no transforms, and to heap-allocate a transform only if
2403         necessary to accumulate transforms (when using preserve-3d).
2404         
2405         Tested by 3d point mapping tests, and the inspector highlight (which now shows
2406         the correct quads for 3d-transformed elements).
2407
2408         * platform/graphics/transforms/TransformationMatrix.cpp:
2409         (WebCore::TransformationMatrix::projectQuad):
2410         (WebCore::TransformationMatrix::translateRight):
2411         (WebCore::TransformationMatrix::translateRight3d):
2412         * platform/graphics/transforms/TransformationMatrix.h:
2413         * rendering/RenderBox.cpp:
2414         (WebCore::RenderBox::mapLocalToContainer):
2415         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
2416         * rendering/RenderBox.h:
2417         * rendering/RenderObject.cpp:
2418         (WebCore::RenderObject::localToAbsolute):
2419         (WebCore::RenderObject::absoluteToLocal):
2420         (WebCore::RenderObject::mapLocalToContainer):
2421         (WebCore::RenderObject::localToContainerQuad):
2422         * rendering/RenderObject.h:
2423         * rendering/RenderTableCell.cpp:
2424         (WebCore::RenderTableCell::mapLocalToContainer):
2425         * rendering/RenderTableCell.h:
2426         * rendering/RenderView.cpp:
2427         (WebCore::RenderView::mapLocalToContainer):
2428         * rendering/RenderView.h:
2429         * rendering/TransformState.cpp:
2430         (WebCore::TransformState::move):
2431         (WebCore::TransformState::applyTransform):
2432         (WebCore::TransformState::flatten):
2433         (WebCore::TransformState::mappedPoint):
2434         (WebCore::TransformState::mappedQuad):
2435         (WebCore::TransformState::flattenWithTransform):
2436         (WebCore::HitTestingTransformState::mappedQuad):
2437         * rendering/TransformState.h:
2438         (WebCore::TransformState::TransformState):
2439         (WebCore::TransformState::move):
2440         (WebCore::TransformState::lastPlanarPoint):
2441         (WebCore::TransformState::lastPlanarQuad):
2442         * rendering/style/RenderStyle.h:
2443         (WebCore::InheritedFlags::preserves3D):
2444
2445 2009-03-09  Simon Fraser  <simon.fraser@apple.com>
2446
2447         Reviewed by Dave Hyatt
2448
2449         https://bugs.webkit.org/show_bug.cgi?id=24433
2450         
2451         During hit testing with transforms, if a layer has backface-visibility: hidden,
2452         we need to check for it whether or not the layer has a transform, because it
2453         might be an ancestor that is transformed.
2454
2455         Test: transforms/3d/hit-testing/backface-no-transform-hit-test.html
2456
2457         * rendering/RenderLayer.cpp:
2458         (WebCore::RenderLayer::hitTestLayer):
2459
2460 2009-03-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2461
2462         Reviewed by George Staikos.
2463
2464         https://bugs.webkit.org/show_bug.cgi?id=24353
2465         Allow to overrule default build options for Qt build.
2466
2467         * WebCore.pro: Allow to overrule ENABLE_VIDEO and ENABLE_NETSCAPE_PLUGIN_API
2468
2469 2009-03-09  Adam Treat  <adam.treat@torchmobile.com>
2470
2471         Reviewed by George Staikos.
2472
2473         https://bugs.webkit.org/show_bug.cgi?id=24463
2474         WebCore::qstring is detaching and copying twice for every single
2475         WebCore::TextRun that is processed and drawn.  This elevates this method
2476         to one of the top-ten most expensive methods in all of QtWebKit according
2477         to profiling.  This changes the method so that QString only detaches
2478         when absolutely necessary.
2479
2480         * platform/graphics/qt/FontQt.cpp:
2481         (WebCore::qstring):
2482         (WebCore::fixSpacing):
2483         (WebCore::Font::drawComplexText):
2484         (WebCore::Font::floatWidthForComplexText):
2485         (WebCore::Font::offsetForPositionForComplexText):
2486         (WebCore::Font::selectionRectForComplexText):
2487
2488 2009-03-08  Mark Rowe  <mrowe@apple.com>
2489
2490         Reviewed by Oliver Hunt.
2491
2492         Split ScrollAlignment and ScrollBehavior out of RenderLayer.h so that
2493         Frame.h no longer needs to include it.  This cuts the size of the symbols
2494         for a debug build by around 3%.
2495
2496         * dom/Element.cpp:
2497         (WebCore::Element::scrollIntoView):
2498         (WebCore::Element::scrollIntoViewIfNeeded):
2499         * editing/Editor.cpp:
2500         (WebCore::Editor::insertTextWithoutSendingTextEvent):
2501         (WebCore::Editor::revealSelectionAfterEditingOperation):
2502         * editing/SelectionController.cpp:
2503         (WebCore::SelectionController::setSelection):
2504         * loader/FrameLoader.cpp:
2505         (WebCore::FrameLoader::gotoAnchor):
2506         * page/ContextMenuController.cpp:
2507         (WebCore::ContextMenuController::contextMenuItemSelected):
2508         * page/Frame.cpp:
2509         (WebCore::Frame::revealSelection):
2510         (WebCore::Frame::revealCaret):
2511         * page/Frame.h:
2512         * rendering/RenderLayer.cpp:
2513         (WebCore::RenderLayer::getRectToExpose):
2514         (WebCore::RenderLayer::autoscroll):
2515         * rendering/RenderLayer.h:
2516         * rendering/ScrollBehavior.cpp: Added.
2517         (WebCore::):
2518         * rendering/ScrollBehavior.h: Added.
2519         (WebCore::):
2520         (WebCore::ScrollAlignment::getVisibleBehavior):
2521         (WebCore::ScrollAlignment::getPartialBehavior):
2522         (WebCore::ScrollAlignment::getHiddenBehavior):
2523
2524         Add the new files to the build systems:
2525         * GNUmakefile.am:
2526         * WebCore.base.exp:
2527         * WebCore.pro:
2528         * WebCore.scons:
2529         * WebCore.vcproj/WebCore.vcproj:
2530         * WebCore.xcodeproj/project.pbxproj:
2531         * WebCoreSources.bkl:
2532
2533         Add includes that were previously pulled in by way of RenderLayer.h from Frame.h:
2534         * dom/Clipboard.cpp:
2535         * editing/EditorCommand.cpp:
2536         * editing/InsertLineBreakCommand.cpp:
2537         * editing/TypingCommand.cpp:
2538         * html/HTMLFormControlElement.cpp:
2539         * loader/archive/cf/LegacyWebArchive.cpp:
2540         * loader/icon/IconLoader.cpp:
2541         * page/animation/AnimationController.cpp:
2542         * rendering/RenderSlider.cpp:
2543         * rendering/RenderTextControl.cpp:
2544
2545
2546 2009-03-08  Mark Rowe  <mrowe@apple.com>
2547
2548         Reviewed Dan Bernstein.
2549
2550         Push the include of Frame.h out of RenderView.h and down to those files
2551         that need it.  This cuts the size of symbols for RenderFoo object files
2552         by around 15% in a debug build.
2553
2554         * bindings/objc/DOM.mm:
2555         * rendering/RenderFileUploadControl.cpp:
2556         * rendering/RenderInline.cpp:
2557         * rendering/RenderObject.cpp:
2558         * rendering/RenderReplaced.cpp:
2559         * rendering/RenderText.cpp:
2560         * rendering/RenderView.cpp:
2561         (WebCore::RenderView::zoomFactor):
2562         * rendering/RenderView.h:
2563
2564 2009-03-08  Mark Rowe  <mrowe@apple.com>
2565
2566         Rubber-stamped by Dan Bernstein.
2567
2568         Remove some unnecessary or redundant includes from files related to the JS bindings.
2569         This cuts the size of the symbols for a debug build by around 3%.
2570
2571         * bindings/js/JSCustomPositionCallback.cpp:
2572         * bindings/js/JSCustomPositionErrorCallback.cpp:
2573         * bindings/js/JSCustomSQLStatementCallback.cpp:
2574         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2575         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2576         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2577         * bindings/js/JSCustomVoidCallback.cpp:
2578         * bindings/js/JSCustomXPathNSResolver.cpp:
2579         * bindings/js/JSDocumentCustom.cpp:
2580         * bindings/js/JSPluginElementFunctions.cpp:
2581         * bindings/js/JSSVGPODTypeWrapper.h:
2582
2583 2009-03-08  Cameron Zwarich  <cwzwarich@uwaterloo.ca>
2584
2585         Reviewed by Oliver Hunt.
2586
2587         Remove the unused methods previousHistoryItem(), setPreviousHistoryItem()
2588         and provisionalHistoryItem() from FrameLoader.
2589
2590         * WebCore.base.exp:
2591         * WebCore.order:
2592         * loader/FrameLoader.cpp:
2593         (WebCore::FrameLoader::frameLoadCompleted):
2594         (WebCore::FrameLoader::loadItem):
2595         * loader/FrameLoader.h:
2596
2597 2009-03-08  Gustavo Noronha Silva  <gns@gnome.org>
2598
2599         Reviewed by Holger Freyther.
2600
2601         Implement proper logging for the GTK+ port, inspired by the one in
2602         Qt. We use the WEBKIT_DEBUG environment variable which was already
2603         being used to decide whether to setup a logger for soup or not.
2604
2605         * platform/gtk/LoggingGtk.cpp:
2606         (WebCore::getChannelFromName):
2607         (WebCore::InitializeLoggingChannelsIfNecessary):
2608         * platform/network/soup/ResourceHandleSoup.cpp:
2609         (WebCore::ensureSessionIsInitialized):
2610
2611 2009-03-07  Dan Bernstein  <mitz@apple.com>
2612
2613         Reviewed by Mark Rowe.
2614
2615         - WebCore part of removing build-time and run-time support for legacy
2616           versions of CFNetwork and Core Graphics
2617
2618         * platform/graphics/win/FontCGWin.cpp:
2619         (WebCore::Font::drawGlyphs):
2620         * platform/graphics/win/FontCustomPlatformData.cpp:
2621         (WebCore::FontCustomPlatformData::fontPlatformData):
2622         * platform/graphics/win/FontPlatformDataCGWin.cpp:
2623         (WebCore::FontPlatformData::platformDataInit):
2624         * platform/network/cf/FormDataStreamCFNet.cpp:
2625         (WebCore::setHTTPBody):
2626         (WebCore::httpBodyFromRequest):
2627         * platform/network/cf/ResourceHandleCFNet.cpp:
2628         (WebCore::didSendBodyData):
2629         (WebCore::shouldUseCredentialStorageCallback):
2630         (WebCore::ResourceHandle::start):
2631         * platform/network/win/CookieJarCFNetWin.cpp:
2632         (WebCore::filterCookies):
2633
2634 2009-03-07  Adele Peterson  <adele@apple.com>
2635
2636         Reviewed by Dan Bernstein.
2637
2638         Fix for https://bugs.webkit.org/show_bug.cgi?id=24444
2639         No multiple JS property for <input type="file" multiple />
2640
2641         * html/HTMLInputElement.cpp:
2642         (WebCore::HTMLInputElement::multiple):
2643         (WebCore::HTMLInputElement::setMultiple):
2644         * html/HTMLInputElement.h:
2645         * html/HTMLInputElement.idl:
2646
2647 2009-03-07  Xan Lopez  <xan@gnome.org>
2648
2649         Reviewed by Holger Freyther.
2650
2651         https://bugs.webkit.org/show_bug.cgi?id=24358
2652         [GTK] Scrollbars not clipped correctly
2653
2654         ScrollView scrollbars in subframes are *not* native, so take that
2655         into account again.
2656
2657         * platform/gtk/ScrollbarGtk.cpp:
2658         (ScrollbarGtk::getLocationInParentWindow):
2659         (ScrollbarGtk::frameRectsChanged):
2660         (ScrollbarGtk::paint):
2661         * platform/gtk/ScrollbarGtk.h:
2662
2663 2009-03-06  Peter Kasting  <pkasting@google.com>
2664
2665         Reviewed by Darin Fisher.
2666
2667         https://bugs.webkit.org/show_bug.cgi?id=24405
2668         Horizontal scrolling on Windows was reversed from Mac (and intuition).
2669
2670         * platform/gtk/WheelEventGtk.cpp:
2671         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2672         * platform/win/WheelEventWin.cpp:
2673         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2674
2675 2009-03-06  Peter Kasting  <pkasting@google.com>
2676
2677         Reviewed by Sam Weinig.
2678
2679         Convert some C-style casts to static_cast<>()s.
2680
2681         * platform/gtk/WheelEventGtk.cpp:
2682         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2683         * platform/mac/WheelEventMac.mm:
2684         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2685         * platform/win/WheelEventWin.cpp:
2686         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2687         * platform/wx/MouseWheelEventWx.cpp:
2688         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2689
2690 2009-03-06  Adele Peterson  <adele@apple.com>
2691
2692         Reviewed by Oliver Hunt.
2693
2694         Fix for <rdar://problem/6607524> REGRESSION (Safari 3-4): I can't tab back to the URL field in an empty window (key loop is broken)
2695
2696         I haven't been able to make a test for this since the problem is not reproducible within an empty iframe.
2697
2698         * page/EventHandler.cpp: (WebCore::eventTargetNodeForDocument): We used to ensure that every html document had a body element.
2699           That is no longer true, so we should return the document element for a truly empty document.
2700
2701 2009-03-06  Jay Campan  <jcampan@google.com>
2702
2703         Reviewed by Darin Fisher.
2704
2705         https://bugs.webkit.org/show_bug.cgi?id=24306
2706
2707         Adding a flag to ResourceRequestBase to indicate whether or not upload
2708         progress notifications are needed for a resource. This is useful to
2709         avoid sending these notifications when there are no consumers
2710         (especially in the Chromium case where IPC is involved). 
2711
2712         * platform/network/ResourceRequestBase.h:
2713         (WebCore::ResourceRequestBase::reportUploadProgress):
2714         (WebCore::ResourceRequestBase::setReportUploadProgress):
2715         (WebCore::ResourceRequestBase::ResourceRequestBase):
2716         * xml/XMLHttpRequest.cpp:
2717         (WebCore::XMLHttpRequest::loadRequestAsynchronously):
2718
2719 2009-03-06  Dmitry Titov  <dimich@chromium.org>
2720
2721         Reviewed by Alexey Proskuryakov.
2722
2723         https://bugs.webkit.org/show_bug.cgi?id=24150
2724         Add virtual ScriptExecutionContext::encoding()
2725
2726         Test: http/tests/workers/text-encoding.html
2727
2728         * dom/Document.cpp:
2729         (WebCore::Document::encoding):
2730         * dom/Document.h:
2731         (WebCore::Document::inputEncoding):
2732         (WebCore::Document::charset):
2733         (WebCore::Document::characterSet):
2734         Add new virtual method and route DOM synonym functions on Document through it.
2735
2736         * dom/ScriptExecutionContext.h:
2737         * workers/Worker.cpp:
2738         (WebCore::Worker::Worker):
2739         (WebCore::Worker::notifyFinished):
2740         * workers/WorkerContext.cpp:
2741         (WebCore::WorkerContext::WorkerContext):
2742         (WebCore::WorkerContext::encoding):
2743         (WebCore::WorkerContext::completeURL): Added comment on why this is different from Document::completeURL
2744         * workers/WorkerContext.h:
2745         (WebCore::WorkerContext::create):
2746         * workers/WorkerContextProxy.h:
2747         * workers/WorkerMessagingProxy.cpp:
2748         (WebCore::WorkerMessagingProxy::startWorkerContext):
2749         * workers/WorkerMessagingProxy.h:
2750         * workers/WorkerThread.cpp:
2751         (WebCore::WorkerThreadStartupData::create):
2752         (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
2753         (WebCore::WorkerThread::create):
2754         (WebCore::WorkerThread::WorkerThread):
2755         (WebCore::WorkerThread::workerThread):
2756         * workers/WorkerThread.h:
2757         All of the above route the 'encoding' parameter of parent context to the new
2758         instance of WorkerContext - from Worker::notifyFinished() via WorkerMessagingProxy
2759         through WorkerThread through WorkerThreadStartupData and into constructor of WorkerContext.
2760
2761 2009-03-06  Peter Kasting  <pkasting@google.com>
2762
2763         Build bustage fix.
2764
2765         * dom/Node.cpp:
2766         (WebCore::Node::dispatchWheelEvent):
2767
2768 2009-03-06  Eric Carlson  <eric.carlson@apple.com>
2769
2770         Reviewed by Antti Koivisto.
2771
2772         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2773         (WebCore::MediaPlayerPrivate::createQTMovieView):  Delay callback while setting up movieview.
2774
2775 2009-03-06  Douglas R. Davidson  <ddavidso@apple.com>
2776
2777         Reviewed by Justin Garcia.
2778         
2779         https://bugs.webkit.org/show_bug.cgi?id=24108
2780
2781         Update spelling and grammar checking to use the new combined text 
2782         checking (with automatic language identification) on Snow Leopard. 
2783         Tested manually in Mail and Safari; automated tests to come later. 
2784         
2785         * editing/Editor.cpp:
2786         (WebCore::findFirstMisspellingOrBadGrammarInRange):
2787         (WebCore::Editor::advanceToNextMisspelling):
2788         (WebCore::guessesForMisspelledOrUngrammaticalRange):
2789         (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
2790         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
2791         (WebCore::markAllMisspellingsAndBadGrammarInRanges):
2792         (WebCore::Editor::markMisspellingsAndBadGrammar):
2793         * editing/Editor.h:
2794         * loader/EmptyClients.h:
2795         (WebCore::EmptyEditorClient::checkSpellingAndGrammarOfParagraph):
2796         * page/EditorClient.h:
2797         * page/Frame.cpp:
2798         (WebCore::Frame::respondToChangedSelection):
2799         * platform/ContextMenu.cpp:
2800         (WebCore::ContextMenu::populate):
2801
2802 2009-03-06  Peter Kasting  <pkasting@google.com>
2803
2804         Reviewed by Darin Fisher.
2805
2806         https://bugs.webkit.org/show_bug.cgi?id=24407
2807         Windows scroll amount was too small, and wheel scroll distance
2808         conversion code was overly complex.
2809
2810         * page/EventHandler.cpp:
2811         (WebCore::scrollAndAcceptEvent):
2812         * platform/PlatformWheelEvent.h:
2813         (WebCore::):
2814         * platform/ScrollView.cpp:
2815         (WebCore::ScrollView::wheelEvent):
2816         * platform/Scrollbar.h:
2817         * platform/gtk/WheelEventGtk.cpp:
2818         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2819         * platform/mac/WheelEventMac.mm:
2820         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2821         * platform/qt/WheelEventQt.cpp:
2822         * platform/win/WheelEventWin.cpp:
2823         (WebCore::horizontalScrollChars):
2824         (WebCore::verticalScrollLines):
2825         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2826         * platform/wx/MouseWheelEventWx.cpp:
2827         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2828
2829 2009-03-06  Dimitri Glazkov  <dglazkov@chromium.org>
2830
2831         Reviewed by Adam Roben.
2832
2833         Generate valid bindings with HTML5 database support disabled. 
2834
2835         * inspector/InspectorController.idl: Added feature guard around 
2836         databaseTableNames definition.
2837
2838 2009-03-04  Xan Lopez  <xan@gnome.org>
2839
2840         Reviewed by Holger Freyther.
2841
2842         https://bugs.webkit.org/show_bug.cgi?id=24358
2843         [GTK] Scrollbars not clipped correctly
2844
2845         Do not take into account the case of being a ScrollView scrollbar,
2846         since those are native in our case.
2847
2848         * platform/gtk/ScrollbarGtk.cpp:
2849         (ScrollbarGtk::frameRectsChanged):
2850
2851 2009-03-04  Xan Lopez  <xan@gnome.org>
2852
2853         Reviewed by Holger Freyther.
2854
2855         https://bugs.webkit.org/show_bug.cgi?id=24358
2856         [GTK] Scrollbars not clipped correctly
2857
2858         Move Widget::paint to ScrollbarGtk::paint, since it's scrollbar
2859         specific and it's our only Widget anyway.
2860
2861         * platform/gtk/ScrollbarGtk.cpp:
2862         (ScrollbarGtk::paint):
2863         * platform/gtk/ScrollbarGtk.h:
2864         * platform/gtk/WidgetGtk.cpp:
2865
2866 2009-03-04  Xan Lopez  <xan@gnome.org>
2867
2868         Reviewed by Holger Freyther.
2869
2870         https://bugs.webkit.org/show_bug.cgi?id=24358
2871         [GTK] Scrollbars not clipped correctly
2872
2873         Use correct clip rectangle and apply coordinate translation needed
2874         for non-ScrollView scrollbars.
2875
2876         We were ignoring the clip rectangle passed as parameter, which is
2877         wrong in the case of non coalesced expose events. This, in turn,
2878         uncovers the fact that we were not applying coordinate translation
2879         to our position.
2880
2881         * platform/gtk/WidgetGtk.cpp:
2882         (WebCore::Widget::paint):
2883
2884 2009-03-06  Eric Carlson  <eric.carlson@apple.com>
2885
2886         Build fix, no review
2887
2888         * platform/graphics/chromium/MediaPlayerPrivateChromium.h: fix setSize declaration
2889
2890 2009-03-06  Eric Carlson  <eric.carlson@apple.com>
2891
2892         Reviewed by Simon Fraser.
2893
2894         https://bugs.webkit.org/show_bug.cgi?id=22790
2895         Bug 22790: [Transforms] MediaPlayer::setRect() makes no sense with transforms
2896         Replace media engine setRect with setSize since they don't use about the 
2897         position anyway.
2898
2899         * platform/graphics/MediaPlayer.cpp:
2900         (WebCore::NullMediaPlayerPrivate::setSize): Changed from setRect.
2901         (WebCore::MediaPlayer::setSize): Ditto.
2902         * platform/graphics/MediaPlayer.h:
2903         (WebCore::MediaPlayer::size): Changed from rect().
2904
2905         * platform/graphics/MediaPlayerPrivate.h: Changed setRect to setSize.
2906
2907         * platform/graphics/chromium/MediaPlayerPrivateChromium.h: Ditto.
2908
2909         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: 
2910         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_size instead of m_rect
2911         (WebCore::MediaPlayerPrivate::setSize): Changed from setRect
2912         (WebCore::MediaPlayerPrivate::paint): update comment
2913         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h: m_rect -> m_size.
2914
2915         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:  m_rect
2916         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2917         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate): Initialize m_rect.
2918         (WebCore::MediaPlayerPrivate::createQTMovieView): setRect-> setSize.
2919         (WebCore::MediaPlayerPrivate::setSize): Changed from setRect
2920         (WebCore::MediaPlayerPrivate::paint): Call view:setFrame: when in a media document so 
2921         the movie is drawn in the correct location.
2922
2923         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
2924         (WebCore::MediaPlayerPrivate::setSize):  Changed from setRect
2925         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
2926
2927         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
2928         (WebCore::MediaPlayerPrivate::setSize):  Changed from setRect
2929         * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.h:
2930
2931         * rendering/RenderVideo.cpp:
2932         (WebCore::RenderVideo::updatePlayer): Call setSize instead of setRect.
2933
2934 2009-03-06  Darin Adler  <darin@apple.com>
2935
2936         Reviewed by Darin Fisher.
2937
2938         Bug 24422: REGRESSION: null-URL crash in FrameLoader setting location.hash on new window
2939         https://bugs.webkit.org/show_bug.cgi?id=24422
2940         rdar://problem/6402208
2941
2942         Test: fast/dom/location-new-window-no-crash.html
2943
2944         The issue here is empty (or null) URLs. I picked the "schedule navigation" bottleneck
2945         to add some checks for empty URLs. We could also put the empty URL checks at some
2946         other bottleneck level and add more assertions over time. I tried adding a few more
2947         assertions to functions like loadURL and hit them while running the regression tests,
2948         so it's probably going to be a bit tricky to clean this up throughout the loader.
2949
2950         * loader/FrameLoader.cpp:
2951         (WebCore::ScheduledRedirection::ScheduledRedirection): Explicitly marked this struct
2952         immutable by making all its members const. Added assertions about the arguments,
2953         including that the URL is not empty. Initialized one uninitialized member in one of
2954         the constructors.
2955         (WebCore::FrameLoader::scheduleHTTPRedirection): Added an early exit to make this
2956         a no-op if passed an empty URL.
2957         (WebCore::FrameLoader::scheduleLocationChange): Ditto.
2958         (WebCore::FrameLoader::scheduleRefresh): Ditto.
2959
2960 2009-03-06  Gustavo Noronha Silva  <gns@gnome.org>
2961
2962         Reviewed by Holger Freyther.
2963
2964         https://bugs.webkit.org/show_bug.cgi?id=24423
2965         Use new soup_message_body_set_accumulate API in soup backend
2966
2967         Disable accumulating chunks for request_body on file uploads,
2968         using the new soup API.
2969
2970         * platform/network/soup/ResourceHandleSoup.cpp:
2971         (WebCore::ResourceHandle::startHttp):
2972
2973 2009-03-06  Gustavo Noronha Silva  <gns@gnome.org>
2974
2975         Reviewed by Holger Freyther.
2976
2977         Replace use of deprecated SOUP_MESSAGE_OVERWRITE_CHUNKS flag with
2978         the new soup_message_body_set_accumulate API in soup.
2979
2980         * platform/network/soup/ResourceHandleSoup.cpp:
2981         (WebCore::gotHeadersCallback):
2982         (WebCore::ResourceHandle::startHttp):
2983
2984 2009-03-06  Gustavo Noronha Silva  <gns@gnome.org>
2985
2986         Reviewed by Holger Freyther.
2987
2988         https://bugs.webkit.org/show_bug.cgi?id=24051
2989         Soup backend needs content sniffing capabilities
2990
2991         Perform content sniffing when using soup, so that we have a chance
2992         of figuring out the Content-Type of the file if it's not sent by
2993         the server.
2994
2995         * platform/network/ResourceHandleInternal.h:
2996         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
2997         * platform/network/soup/ResourceHandleSoup.cpp:
2998         (WebCore::gotHeadersCallback):
2999         (WebCore::gotChunkCallback):
3000
3001 2009-03-06  Hironori Bono  <hbono@chromium.org>
3002
3003         Reviewed by Alexey Proskuryakov.
3004
3005         https://bugs.webkit.org/show_bug.cgi?id=24342
3006         Cannot insert a Thai character after a Thai prepend character when using ICU 4.0
3007
3008         This change creates a new break iterator "cursorMovementIterator" for
3009         moving cursors and use it when moving an input cursor.
3010         In "TextBreakIteratorICU.cpp", this break iterator uses custom ruleset
3011         based on the one of ICU 3.8.
3012         On the other hand, in "TextBreakIteratorQt.cpp", this break iterator
3013         just calls the characterBreakIterator() function.
3014
3015         Test: editing/inserting/insert-thai-characters-001.html
3016
3017         * platform/text/TextBreakIterator.h: Added a new function cursorMovementIterator().
3018         * platform/text/TextBreakIteratorICU.cpp: Implemented the cursorMovementIterator() function for ICU.
3019         (WebCore::setUpIteratorWithRules): Ditto.
3020         (WebCore::cursorMovementIterator): Ditto.
3021         * platform/text/qt/TextBreakIteratorQt.cpp: Implemented the cursorMovementIterator() function for Qt.
3022         (WebCore::cursorMovementIterator): Ditto.
3023         * rendering/RenderText.cpp: Call the cursorMovementIterator() function when moving an input cursor.
3024         (WebCore::RenderText::previousOffset): Ditto.
3025         (WebCore::RenderText::nextOffset): Ditto.
3026
3027 2009-03-05  Alexey Proskuryakov  <ap@webkit.org>
3028
3029         Reviewed by Oliver Hunt.
3030
3031         <rdar://problem/6621701> Safari 4 Beta Breaks XMLHttpRequest Response Text With Special
3032         Characters (a compatibility issue with widgets).
3033
3034         Test: http/tests/xmlhttprequest/broken-xml-encoding.html
3035
3036         Revert part of an Acid 3 fix - now we are no longer strict when decoding XMLHttpRequest XML
3037         responses.
3038
3039         * loader/TextResourceDecoder.cpp:
3040         (WebCore::TextResourceDecoder::TextResourceDecoder):
3041         (WebCore::TextResourceDecoder::decode):
3042         (WebCore::TextResourceDecoder::flush):
3043         * loader/TextResourceDecoder.h:
3044         (WebCore::TextResourceDecoder::useLenientXMLDecoding):
3045         Don't stop on XML decoding errors if useLenientXMLDecoding() was called.
3046
3047         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::didReceiveData): Don't stop on XML
3048         decoding errors. This behavior is now limited to other kinds of XML content.
3049
3050 2009-03-05  Simone Fiorentino  <simone.fiorentino@consulenti.fastweb.it>
3051
3052         Bug 24382: request to add SH4 platform
3053
3054         <https://bugs.webkit.org/show_bug.cgi?id=24382>
3055
3056         Reviewed by David Kilzer.
3057
3058         * platform/text/AtomicString.cpp:
3059         (WebCore::equal): Aligned memory access on SH4 platform.
3060
3061 2009-03-05  Jeremy Moskovich  <jeremy@chromium.org>
3062
3063         Reviewed by Simon Fraser.
3064
3065         Fix for https://bugs.webkit.org/show_bug.cgi?id=24215
3066
3067         Gears expects an object tag with display:none to instantiate the plugin,
3068         so we add a workaround to make this work and fix Gears on WebKit trunk.
3069
3070         * html/HTMLObjectElement.cpp:
3071         (WebCore::HTMLObjectElement::rendererIsNeeded):
3072
3073 2009-03-05  Avi Drissman  <avi@chromium.org>
3074
3075         Reviewed by Darin Fisher.
3076
3077         Need to have Chromium Mac match Safari Mac's accesskey handling
3078         https://bugs.webkit.org/show_bug.cgi?id=24404
3079
3080         * page/chromium/EventHandlerChromium.cpp:
3081         (WebCore::EventHandler::accessKeyModifiers): Share access key modifiers with Mac Safari when building for the Mac.
3082
3083 2009-03-05  Simon Fraser  <simon.fraser@apple.com>
3084
3085         Reviewed by Dave Hyatt
3086
3087         https://bugs.webkit.org/show_bug.cgi?id=24412
3088         
3089         Fix crash when hit-testing elements with -webkit-transform-style: preserve-3d
3090         but no transform. We need to make localTransformState if we see preserve-3d.
3091         Also need to call update3DTransformedDescendantStatus() before we test
3092         m_has3DTransformedDescendant.
3093
3094         Test: transforms/3d/hit-testing/hit-preserves-3d.html
3095
3096         * rendering/RenderLayer.cpp:
3097         (WebCore::RenderLayer::hitTestLayer):
3098
3099 2009-03-05  Eric Seidel  <eric@webkit.org>
3100
3101         Reviewed by David Hyatt.
3102
3103         Changes to RenderLayer destruction to hopefully help catch an elusive crasher
3104         https://bugs.webkit.org/show_bug.cgi?id=24409
3105         
3106         Added a new RenderBoxModelObject::destroyLayer() call which is
3107         now the only way which RenderLayers should ever be destroyed.
3108         This ensures that the pointer to the layer is cleared in the
3109         RenderObject after destruction, allowing us to ASSERT in the
3110         RenderBoxModelObject destructor.
3111
3112         * rendering/RenderBox.cpp:
3113         (WebCore::RenderBox::calcAbsoluteHorizontalReplaced):
3114         * rendering/RenderBoxModelObject.cpp:
3115         (WebCore::RenderBoxModelObject::~RenderBoxModelObject):
3116         (WebCore::RenderBoxModelObject::destroyLayer):
3117         (WebCore::RenderBoxModelObject::destroy):
3118         (WebCore::RenderBoxModelObject::styleDidChange):
3119         * rendering/RenderBoxModelObject.h:
3120         * rendering/RenderLayer.cpp:
3121         (WebCore::RenderLayer::stackingContext):
3122         (WebCore::RenderLayer::destroy):
3123         (WebCore::RenderLayer::removeOnlyThisLayer):
3124         * rendering/RenderLayer.h:
3125         * rendering/RenderObject.cpp:
3126         (WebCore::RenderObject::destroy):
3127         * rendering/RenderWidget.cpp:
3128         (WebCore::RenderWidget::destroy):
3129
3130 2009-03-05  Eric Seidel  <eric@webkit.org>
3131
3132         Reviewed by David Hyatt.
3133
3134         Remove old, unused IE 5.5 scrollbar-* CSS properties.
3135         Sort the unimplemented getComputedStyle properties so it's
3136         easier to see which ones actually need implementation.
3137
3138         * css/CSSComputedStyleDeclaration.cpp:
3139         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3140         * css/CSSParser.cpp:
3141         (WebCore::CSSParser::parseValue):
3142         * css/CSSPropertyNames.in:
3143         * css/CSSStyleSelector.cpp:
3144         (WebCore::CSSStyleSelector::applyProperty):
3145
3146 2009-03-05  Justin Garcia  <justin.garcia@apple.com>
3147
3148         Reviewed by Darin Adler.
3149         
3150         WebViewDidChangeSelectionNotifications weren't being sent for commands that change the selection's position
3151         within the document without changing its position in the DOM.  For example, pressing return in (caret marked by ^):
3152         <div contentEditable="true"><div>^Hello</div></div>
3153         Undo was being enabled, shouldDeleteDOMRange called, etc. when doing no-op deletes (a delete in an empty document 
3154         for example). 
3155
3156         Changes to layout tests demonstrate fix.
3157         
3158         * editing/EditCommand.cpp:
3159         (WebCore::EditCommand::apply): Don't call applyEditing for a TypingCommand.  The TypingCommand knows whether or
3160         not it did work that needs to be applied.
3161         * editing/Editor.cpp:
3162         (WebCore::Editor::appliedEditing): Moved code (but did not alter) to changeSelectionAfterCommand.
3163         (WebCore::Editor::unappliedEditing): Ditto.
3164         (WebCore::Editor::reappliedEditing): Ditto.
3165         (WebCore::Editor::changeSelectionAfterCommand): Moved code from *appliedEditing into here.  Also call out to
3166         EditorClient::respondToChangedSelection() for commands that changed the selection's position in the document
3167         even if they did not change it's position in the DOM.  Any TypingCommand that gets this far changed it's position
3168         in the document.
3169         * editing/Editor.h:
3170         * editing/TypingCommand.cpp:
3171         (WebCore::TypingCommand::TypingCommand): Removed unused m_appliedEditing.
3172         (WebCore::TypingCommand::typingAddedToOpenCommand): Always apply editing.  We won't get this far if we don't need to.
3173         (WebCore::TypingCommand::deleteKeyPressed): Don't do any of the things that only make sense for Range selections, like
3174         adding to the killring and responding to a change in selections if the delete was a no-op.
3175         (WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.
3176         * editing/TypingCommand.h:
3177
3178 2009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
3179
3180         Reviewed by Adam Roben.
3181
3182         Eliminate a ref-counting leak in InspectorController.
3183
3184         * inspector/InspectorController.h: Made constructor private, added static create method.
3185         * page/Page.cpp:
3186         (WebCore::Page::Page): Change initializer to use static create method.
3187
3188 2009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
3189
3190         Reviewed by Timothy Hatcher.
3191
3192         https://bugs.webkit.org/show_bug.cgi?id=24355
3193         Add InspectorController.idl and convert InspectorController.cpp to use
3194         JSC bindings.
3195
3196         * DerivedSources.make: Added InspectorController.idl
3197         * WebCore.xcodeproj/project.pbxproj: Added idl, bindings files.
3198         * bindings/js/JSInspectorControllerCustom.cpp: Added.
3199         * bindings/scripts/CodeGeneratorJS.pm: Added Array to no-header types.
3200         * inspector/InspectorController.cpp: Removed hand-rolled bindings.
3201         * inspector/InspectorController.h: Added platform and addSourceToFrame methods.
3202         * inspector/InspectorController.idl: Added.
3203         * page/Page.h: Changed member to RefPtr since InspectorController is now ref-counted.
3204
3205 2009-03-05  Eric Carlson  <eric.carlson@apple.com>
3206
3207         Reviewed by Simon Fraser.
3208
3209         https://bugs.webkit.org/show_bug.cgi?id=24400
3210         Bug 24400: Remove "start", "end", "loopStart", "loopEnd", "currentLoop", and "playCount" 
3211         media element attributes
3212
3213         Test: media/video-loop.html
3214
3215         * html/HTMLMediaElement.cpp:
3216         (WebCore::HTMLMediaElement::HTMLMediaElement):
3217         (WebCore::HTMLMediaElement::loadInternal):
3218         (WebCore::HTMLMediaElement::setNetworkState):
3219         (WebCore::HTMLMediaElement::seek):
3220         (WebCore::HTMLMediaElement::playInternal):
3221         (WebCore::HTMLMediaElement::loop):
3222         (WebCore::HTMLMediaElement::setLoop):
3223         (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
3224         (WebCore::HTMLMediaElement::endedPlayback):
3225         (WebCore::HTMLMediaElement::updatePlayState):
3226         * html/HTMLMediaElement.h:
3227         * html/HTMLMediaElement.idl:
3228
3229 2009-03-05  Steve Falkenburg  <sfalken@apple.com>
3230
3231         <rdar://problem/6651112> Safari asks about re-posting a form even when page is cached
3232         
3233         Reviewed by Ada Chan.
3234
3235         * platform/network/cf/ResourceHandleCFNet.cpp:
3236         (WebCore::ResourceHandle::willLoadFromCache): Ported from Mac version.
3237
3238 2009-03-05  David Hyatt  <hyatt@apple.com>
3239
3240         Reviewed by Eric Seidel
3241
3242         https://bugs.webkit.org/show_bug.cgi?id=24248
3243
3244         Make sure painting of overflow controls checks that visibility:visible is set on the block before
3245         painting.  Pixel tests caught this regression.
3246
3247         Make sure resizer painting pushes a clip of the corner rect.  It was relying on the clip layers happened
3248         to do to their bounds (which had nothing to do with overflow).
3249
3250         * rendering/RenderBlock.cpp:
3251         (WebCore::RenderBlock::paint):
3252         * rendering/RenderLayer.cpp:
3253         (WebCore::RenderLayer::paintResizer):
3254
3255 2009-03-05  Yong Li  <yong.li@torchmobile.com>
3256
3257         Reviewed by Simon Fraser.
3258
3259         https://bugs.webkit.org/show_bug.cgi?id=24386
3260         A faster implementation of extractMIMETypeFromMediaType.
3261
3262         * platform/network/HTTPParsers.cpp:
3263         (WebCore::extractMIMETypeFromMediaType):
3264
3265 2009-03-05  Yong Li  <yong.li@torchmobile.com>
3266
3267         Reviewed by Antti Koivisto.
3268
3269         https://bugs.webkit.org/show_bug.cgi?id=24392
3270         Do not get the current time for unless we're doing PRELOAD_DEBUG as this
3271         can be unnecessarily expensive.
3272
3273         * html/PreloadScanner.cpp:
3274         (WebCore::PreloadScanner::write):
3275
3276 2009-03-04  Simon Fraser  <simon.fraser@apple.com>
3277
3278         Reviewed by Dave Hyatt
3279
3280         https://bugs.webkit.org/show_bug.cgi?id=24327
3281         
3282         When mapping points and hit testing through transforms, work
3283         correctly when acclerated animations of transforms are running.
3284         
3285         Tested by LayoutTests/animations/animation-hit-test-transform.html,
3286         which only failed when ACCELERATED_COMPOSITING was turned on.
3287
3288         * rendering/RenderLayer.cpp:
3289         (WebCore::RenderLayer::currentTransform):
3290         * rendering/RenderLayer.h:
3291         * rendering/RenderObject.cpp:
3292         (WebCore::RenderObject::transformFromContainer):
3293
3294 2009-03-05  Mike Belshe  <mike@belshe.com>
3295
3296         Reviewed by Darin Fisher.
3297
3298         https://bugs.webkit.org/show_bug.cgi?id=24391
3299         Frame.cpp uses JSC specific includes
3300
3301         * page/Frame.cpp:
3302
3303 2009-03-05  Gustavo Noronha Silva  <gns@gnome.org>
3304
3305         Reviewed by Alexey Proskuryakov.
3306
3307         https://bugs.webkit.org/show_bug.cgi?id=24389
3308         WebKitGTK+ crashes when cancelling plugin loads
3309
3310         Remove bogus calls to the client's didFinishLoading method from
3311         our ResourceHandle::cancel implementation. Calling
3312         didFinishLoading here is mostly inoffensive for most loads, but
3313         causes crashes when plugin loads are cancelled.
3314
3315         * platform/network/soup/ResourceHandleSoup.cpp:
3316         (WebCore::ResourceHandle::cancel):
3317
3318 2009-03-05  Steve Falkenburg  <sfalken@apple.com>
3319
3320         Windows build fix.
3321         
3322         * WebCore.vcproj/QTMovieWin.vcproj:
3323
3324 2009-03-05  Adam Treat  <adam.treat@torchmobile.com>
3325
3326         Build fix for when ENABLE_NETSCAPE_PLUGIN_API = 0.  The method
3327         ScriptController::jsObjectForPluginElement(HTMLPlugInElement*); is not
3328         protected by an #if and uses HTMLPlugInElement so it must be included.
3329
3330         * bindings/js/ScriptController.cpp:
3331
3332 2009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
3333
3334         GTK Build fix.
3335
3336         * inspector/ConsoleMessage.h: Use proper header.
3337
3338 2009-03-05  Dimitri Glazkov  <dglazkov@chromium.org>
3339
3340         Reviewed by Timothy Hatcher.
3341
3342         https://bugs.webkit.org/show_bug.cgi?id=24376
3343         Split InspectorController.cpp file into separate classes.
3344
3345         * GNUmakefile.am: Modified to include new files.
3346         * WebCore.pro: Ditto.
3347         * WebCore.scons: Ditto.
3348         * WebCore.vcproj/WebCore.vcproj: Ditto.
3349         * WebCore.xcodeproj/project.pbxproj: Ditto.
3350         * WebCoreSources.bkl: Ditto.
3351         * inspector/ConsoleMessage.cpp: Added.
3352         * inspector/ConsoleMessage.h: Added.
3353         * inspector/InspectorController.cpp:
3354         * inspector/InspectorDOMStorageResource.cpp: Added.
3355         * inspector/InspectorDOMStorageResource.h: Added.
3356         * inspector/InspectorDatabaseResource.cpp: Added.
3357         * inspector/InspectorDatabaseResource.h: Added.
3358         * inspector/InspectorResource.cpp: Added.
3359         * inspector/InspectorResource.h: Added.
3360
3361 2009-03-05  Eric Carlson  <eric.carlson@apple.com>
3362
3363         Reviewed by Darin Adler
3364
3365         https://bugs.webkit.org/show_bug.cgi?id=24387
3366         Remove media element bufferingRate attribute. No test necessary as there
3367         were none for this attribute.
3368
3369         * html/HTMLMediaElement.cpp:
3370         (WebCore::HTMLMediaElement::HTMLMediaElement): Don't initialize m_bufferingRate.
3371         (WebCore::HTMLMediaElement::loadInternal): Ditto.
3372         (WebCore::HTMLMediaElement::setNetworkState): Ditto.
3373         (WebCore::HTMLMediaElement::progressEventTimerFired): Don't calculate m_bufferingRate.
3374         * html/HTMLMediaElement.h: Remove m_bufferingRate.
3375         * html/HTMLMediaElement.idl: Ditto.
3376
3377 2009-03-05  Xan Lopez  <xan@gnome.org>
3378
3379         Reviewed by Mark Rowe.
3380
3381         https://bugs.webkit.org/show_bug.cgi?id=24377
3382         [GTK] Comply better with coding style guidelines in ResourceHandleSoup
3383
3384         Use C++ booleans, 0 instead of NULL, prefix boolean variables with
3385         'is', do not use 'else if' if the previous if had a return, delete
3386         trailing whitespace, etc.
3387
3388         * platform/network/ResourceHandleInternal.h:
3389         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3390         * platform/network/soup/ResourceHandleSoup.cpp:
3391         (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
3392         (WebCore::fillResponseFromMessage):
3393         (WebCore::restartedCallback):
3394         (WebCore::finishedCallback):
3395         (WebCore::parseDataUrl):
3396         (WebCore::ensureSessionIsInitialized):
3397         (WebCore::ResourceHandle::startHttp):
3398         (WebCore::reportUnknownProtocolError):
3399         (WebCore::ResourceHandle::start):
3400         (WebCore::cleanupGioOperation):
3401         (WebCore::closeCallback):
3402         (WebCore::readCallback):
3403         (WebCore::openCallback):
3404         (WebCore::queryInfoCallback):
3405         (WebCore::ResourceHandle::startGio):
3406
3407 2009-03-04  Simon Fraser  <simon.fraser@apple.com>
3408
3409         Reviewed by Eric Seidel
3410
3411         https://bugs.webkit.org/show_bug.cgi?id=24328
3412         
3413         If an element has backface-visibility: hidden, hit testing should not
3414         hit the back sides of elements. Test for that by inverting the accumulated
3415         transform and looking at the z vector.
3416
3417         Tested by transforms/3d/hit-testing/backface-hit-test.html
3418         
3419         * rendering/RenderLayer.cpp:
3420         (WebCore::RenderLayer::hitTestLayer):
3421
3422 2009-03-04  Adam Langley  <agl@google.com>
3423
3424         Reviewed by Darin Fisher.
3425
3426         r41362 mistakenly added functions "RenderThemeWin::" into
3427         RenderThemeChromiumGtk.cpp. When correcting this, I somehow changed
3428         them to void return types. This patch switches them back to ints.
3429
3430         https://bugs.webkit.org/show_bug.cgi?id=24360
3431
3432         * rendering/RenderThemeChromiumLinux.cpp:
3433         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingLeft):
3434         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingRight):
3435         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingTop):
3436         (WebCore::RenderThemeChromiumLinux::buttonInternalPaddingBottom):
3437
3438 2009-03-04  Adam Langley  <agl@google.com>
3439
3440         Reviewed by Darin Fisher.
3441
3442         Chromium Linux: change some metrics to better match Windows after
3443         r41416. Aesthetically this may be worse, but web-compat is king.
3444
3445         Also, the previous code had an off by one error when drawing
3446         scrollbars which caused the scrollbar to overflow it's bounds by 1px
3447         at the right and bottom edges.
3448
3449         https://bugs.webkit.org/show_bug.cgi?id=24369
3450
3451         * rendering/RenderThemeChromiumLinux.cpp:
3452         (WebCore::):
3453         (WebCore::RenderThemeChromiumLinux::systemFont):
3454         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3455         (WebCore::ScrollbarThemeChromium::paintTrackPiece):
3456
3457 2009-03-04  Eric Seidel  <eric@webkit.org>
3458
3459         Reviewed by Adam Roben.
3460
3461         Add an ASSERT to better demonstrate the cause of the crash in
3462         https://bugs.webkit.org/show_bug.cgi?id=23736
3463
3464         * loader/DocLoader.cpp:
3465         (WebCore::DocLoader::~DocLoader):
3466
3467 2009-03-04  David Levin  <levin@chromium.org>
3468
3469         Reviewed by Alexey Proskuryakov.
3470
3471         Bug 24337: Assert when doing sync XHR in a worker for a cacheable response.
3472         <https://bugs.webkit.org/show_bug.cgi?id=24337>
3473
3474         Tests: http/tests/xmlhttprequest/access-control-basic-denied-preflight-cache.html
3475                http/tests/xmlhttprequest/workers/xmlhttprequest-file-not-found.html
3476
3477         * loader/mac/ResourceLoaderMac.mm:
3478         (WebCore::ResourceLoader::willCacheResponse):
3479         An identifier is only asssigned if resource load callbacks are done.  So don't send
3480         willCacheResponse which uses identifier if resource load callbacks aren't being sent.
3481
3482 2009-03-04  David Levin  <levin@chromium.org>
3483
3484         Reviewed by Alexey Proskuryakov.
3485
3486         Bug 24330: Sync xhr in workers should send an abort exception when the worker is terminated.
3487         <https://bugs.webkit.org/show_bug.cgi?id=24330>
3488
3489         Test: http/tests/xmlhttprequest/workers/abort-exception-assert.html
3490
3491         * dom/ExceptionCode.cpp:
3492         (WebCore::xmlHttpRequestExceptionNames):
3493         Added missing ABORT_ERR whose absence caused an assert.
3494
3495         * loader/WorkerThreadableLoader.cpp:
3496         (WebCore::WorkerThreadableLoader::loadResourceSynchronously):
3497         (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
3498         Add more logic to handle the termination case for sync xhr.
3499
3500 2009-03-04  Eric Carlson  <eric.carlson@apple.com>
3501
3502         Reviewed by Antti Koivisto.
3503
3504         https://bugs.webkit.org/show_bug.cgi?id=24364
3505         Add support for HTMLMediaElement canPlayType method. Make
3506         MediaPlayer::supportsType take a ContentType instead of a
3507         separate mime type and codecs parameter.
3508
3509         Test: media/video-can-play-type.html
3510
3511         * dom/DOMImplementation.cpp:
3512         (WebCore::DOMImplementation::createDocument):
3513         * html/HTMLMediaElement.cpp:
3514         (WebCore::HTMLMediaElement::canPlayType): Add canPlayType method.
3515         (WebCore::HTMLMediaElement::loadInternal): selectMediaURL returns a ContentType.
3516         (WebCore::HTMLMediaElement::selectMediaURL): Return a ContentType instead of raw MIME type.
3517         (WebCore::HTMLMediaElement::initialURL): selectMediaURL returns a ContentType.
3518         * html/HTMLMediaElement.h: Add prototype.
3519         * html/HTMLMediaElement.idl: Ditto.
3520         * platform/graphics/MediaPlayer.cpp:
3521         (WebCore::MediaPlayer::load): Take a ContentType instead of raw MIME type.
3522         (WebCore::MediaPlayer::supportsType): Ditto.
3523         * platform/graphics/MediaPlayer.h:
3524
3525 2009-03-04  Antti Koivisto  <antti@apple.com>
3526
3527         Reviewed by Dave Hyatt.
3528
3529         https://bugs.webkit.org/show_bug.cgi?id=24359
3530         Repaint throttling mechanism
3531         
3532         Excessive repainting can slow down page loadind. This implements a timer
3533         based throttling mechanism. It is behind ENABLE(REPAINT_THROTTLING) and not 
3534         enabled by default.
3535
3536         * loader/FrameLoader.cpp:
3537         (WebCore::FrameLoader::checkCompleted):
3538         * page/EventHandler.cpp:
3539         (WebCore::EventHandler::dispatchDragEvent):
3540         (WebCore::EventHandler::dispatchMouseEvent):
3541         (WebCore::EventHandler::keyEvent):
3542         (WebCore::EventHandler::handleTextInputEvent):
3543         * page/FrameView.cpp:
3544         (WebCore::FrameView::FrameView):
3545         (WebCore::FrameView::reset):
3546         (WebCore::FrameView::repaintContentRectangle):
3547         (WebCore::FrameView::beginDeferredRepaints):
3548         (WebCore::FrameView::endDeferredRepaints):
3549         (WebCore::FrameView::checkStopDelayingDeferredRepaints):
3550         (WebCore::FrameView::doDeferredRepaints):
3551         (WebCore::FrameView::updateDeferredRepaintDelay):
3552         (WebCore::FrameView::resetDeferredRepaintDelay):
3553         (WebCore::FrameView::adjustedDeferredRepaintDelay):
3554         (WebCore::FrameView::deferredRepaintTimerFired):
3555         (WebCore::FrameView::paintContents):
3556         * page/FrameView.h:
3557
3558 2009-03-04  Sam Weinig  <sam@webkit.org>
3559
3560         Rubber-stamped by Antti Koivisto.
3561
3562         Remove LOW_BANDWIDTH_DISPLAY as it is not being used by any platforms.
3563
3564         * dom/Document.cpp:
3565         (WebCore::Document::Document):
3566         * dom/Document.h:
3567         (WebCore::Document::haveStylesheetsLoaded):
3568         * html/HTMLTokenizer.cpp:
3569         (WebCore::HTMLTokenizer::scriptHandler):
3570         * loader/Cache.cpp:
3571         (WebCore::Cache::requestResource):
3572         * loader/CachedCSSStyleSheet.cpp:
3573         (WebCore::CachedCSSStyleSheet::checkNotify):
3574         * loader/DocLoader.h:
3575         * loader/FrameLoader.cpp:
3576         (WebCore::FrameLoader::FrameLoader):
3577         (WebCore::FrameLoader::requestFrame):
3578         (WebCore::FrameLoader::stopLoading):
3579         (WebCore::FrameLoader::begin):
3580         (WebCore::FrameLoader::write):
3581         (WebCore::FrameLoader::endIfNotLoadingMainResource):
3582         (WebCore::FrameLoader::checkCompleted):
3583         (WebCore::FrameLoader::requestObject):
3584         (WebCore::FrameLoader::loadItem):
3585         * loader/FrameLoader.h:
3586
3587 2009-03-02  Xan Lopez  <xan@gnome.org>
3588
3589         Reviewed by Mark Rowe.
3590
3591         https://bugs.webkit.org/show_bug.cgi?id=24287
3592         [GTK] Move auth dialog feature to WebKit/
3593
3594         Remove WebKitSoupAuthDialog files from build and stop using it.
3595
3596         * GNUmakefile.am:
3597         * platform/network/soup/ResourceHandleSoup.cpp:
3598         (WebCore::ensureSessionIsInitialized):
3599         * platform/network/soup/webkit-soup-auth-dialog.c: Removed.
3600         * platform/network/soup/webkit-soup-auth-dialog.h: Removed.
3601
3602 2009-03-04  Simon Fraser  <simon.fraser@apple.com>
3603
3604         Reviewed by Dave Hyatt
3605         
3606         https://bugs.webkit.org/show_bug.cgi?id=24361
3607         
3608         Reinstate code that sets result.innerNode when hitTest() returns true,
3609         but never filled in the innerNode. Fixes hit testing of generated content.
3610
3611         Test: fast/css-generated-content/hit-test-generated-content.html
3612
3613         * rendering/RenderLayer.cpp:
3614         (WebCore::RenderLayer::hitTestContents):
3615
3616 2009-03-04  Adam Barth  <abath@webkit.org>
3617
3618         Reviewed by Alexey Proskuryakov.
3619
3620         https://bugs.webkit.org/show_bug.cgi?id=24356
3621
3622         Fix WebKit style for allowUniversalAccessFromFileURLs.
3623
3624         * WebCore.base.exp:
3625         * dom/Document.cpp:
3626         (WebCore::Document::initSecurityContext):
3627         * page/Settings.cpp:
3628         (WebCore::Settings::Settings):
3629         (WebCore::Settings::setAllowUniversalAccessFromFileURLs):
3630         * page/Settings.h:
3631         (WebCore::Settings::allowUniversalAccessFromFileURLs):
3632
3633 2009-03-04  Brady Eidson  <beidson@apple.com>
3634
3635         Reviewed by Darin Adler
3636
3637         <rdar://problem/6619630> Quick Look of vCards stuck on image of first card opened.
3638
3639         I narrowed this down to http://trac.webkit.org/changeset/39304 which, among other things,
3640         consolidated some of the various decision making pieces of the Cache into the new method
3641         FrameLoader::cachePolicy().
3642
3643         Before 39304, when deciding whether to use an existing CachedResource, we checked if the FrameLoader 
3644         is reloading.  If it is, we'd evict any existing resource then recreate it.  Quick looks uses the
3645         same URL for this image every time and expects it to be reloaded with each new card.
3646
3647         The FrameLoader::isReloading() check did one thing - Ask the DocumentLoader if it's cache policy
3648         is "ReloadIgnoringCacheData".  This check was lost in the consolidation to the new method.  
3649
3650         * loader/FrameLoader.cpp:
3651         (WebCore::FrameLoader::cachePolicy): Restore the DocumentLoader's cachePolicy check as a possible
3652           condition for returning CachePolicyReload.
3653
3654 2009-03-04  Timothy Hatcher  <timothy@apple.com>
3655
3656         * English.lproj/localizedStrings.js: Update strings to include "DATABASES",
3657         "LOCAL STORAGE" and "SESSION STORAGE".
3658
3659 2009-03-04  Timothy Hatcher  <timothy@apple.com>
3660
3661         Fix a regression where the Web Inspector console would not animate
3662         in or out correctly.
3663
3664         Reviewed by Anders Carlsson.
3665
3666         * inspector/front-end/inspector.css: Move a z-index to a child element
3667         to get the correct stacking order during the animation.
3668
3669 2009-03-03  David Hyatt  <hyatt@apple.com>
3670
3671         https://bugs.webkit.org/show_bug.cgi?id=24201, pathologically bad block layout.
3672
3673         Make sure to factor clear deltas into y position estimates.  Also avoid doing the comparison of
3674         the final position against the y position estimate until after the clear has happened.  This gets rid
3675         of some duplicated cut/pasted code and also ensures a layout delta only has to be put in once.
3676
3677         Reviewed by Dan Bernstein
3678
3679         Added fast/block/float/nested-clearance.html
3680
3681         * rendering/RenderBlock.cpp:
3682         (WebCore::RenderBlock::collapseMargins):
3683         (WebCore::RenderBlock::clearFloatsIfNeeded):
3684         (WebCore::RenderBlock::estimateVerticalPosition):
3685         (WebCore::RenderBlock::layoutBlockChildren):
3686         (WebCore::RenderBlock::getClearDelta):
3687         * rendering/RenderBlock.h:
3688
3689 2009-03-02  Kim Grönholm  <kim.gronholm@nomovok.com>
3690
3691         Reviewed by Simon Hausmann.
3692
3693         Improvement to 3d transformations rendering in QtWebKit. QTransform is used
3694         instead of QMatrix. This allows perspective transformations since QTransform is
3695         a true 3x3 matrix.
3696
3697         * platform/graphics/qt/GraphicsContextQt.cpp: Use QTransform instead of QMatrix everywhere.
3698         (WebCore::GraphicsContext::getCTM):
3699         (WebCore::GraphicsContext::restorePlatformState):
3700         (WebCore::GraphicsContext::fillPath):
3701         (WebCore::GraphicsContext::strokePath):
3702         (WebCore::GraphicsContext::fillRect):
3703         (WebCore::GraphicsContext::translate):
3704         (WebCore::GraphicsContext::rotate):
3705         (WebCore::GraphicsContext::scale):
3706         (WebCore::GraphicsContext::concatCTM):
3707         * platform/graphics/qt/ImageQt.cpp:
3708         (WebCore::Image::drawPattern):
3709         * platform/graphics/qt/PathQt.cpp:
3710         (WebCore::Path::translate):
3711         (WebCore::Path::transform):
3712         * platform/graphics/qt/PatternQt.cpp:
3713         (WebCore::Pattern::createPlatformPattern):
3714         * platform/graphics/qt/TransformationMatrixQt.cpp:
3715         (WebCore::TransformationMatrix::operator QTransform): Replace the conversion operator
3716         to QMatrix with one to QTransform.
3717         * platform/graphics/transforms/TransformationMatrix.h:
3718         * platform/graphics/qt/FontQt.cpp:
3719
3720 2009-02-24  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3721
3722         Reviewed by Simon Hausmann.
3723
3724         https://bugs.webkit.org/show_bug.cgi?id=24151
3725         Fix Qt/S60 build break
3726
3727         * platform/FileSystem.h: Create a default case for non-win and non-mac Qt builds
3728         * platform/qt/FileSystemQt.cpp: Ditto
3729         (WebCore::unloadModule):
3730
3731 2009-03-03  Mike Belshe  <mike@belshe.com>
3732
3733         Reviewed by Alexey Proskuryakov.
3734
3735         https://bugs.webkit.org/show_bug.cgi?id=21939
3736         Uninitialized ExceptionCode in DOMWindow::postMessage
3737
3738         * dom/MessagePort.cpp:
3739         (WebCore::MessagePort::postMessage):
3740
3741 2009-03-03  David Kilzer  <ddkilzer@apple.com>
3742
3743         <rdar://problem/6581203> WebCore and WebKit should install the same set of headers during installhdrs phase as build phase
3744
3745         Reviewed by Mark Rowe.
3746
3747         The fix is to add INSTALLHDRS_COPY_PHASE = YES and
3748         INSTALLHDRS_SCRIPT_PHASE = YES to WebCore.xcconfig, then to make
3749         sure various build phase scripts work with the installhdrs build
3750         phase.
3751
3752         * Configurations/Base.xcconfig: Defined REAL_PLATFORM_NAME
3753         based on PLATFORM_NAME to work around the missing definition on
3754         Tiger.
3755         * Configurations/WebCore.xcconfig: Added
3756         JAVASCRIPTCORE_PRIVATE_HEADERS_DIR variable to simplify logic in
3757         the "Generate Derived Sources" script.  Added
3758         INSTALLHDRS_COPY_PHASE = YES and INSTALLHDRS_SCRIPT_PHASE = YES.
3759
3760         * WebCore.xcodeproj/project.pbxproj:
3761         - Added shell code to prevent running "Check For Global
3762           Initializers", "Check For Exit Time Destructors" and "Check
3763           For Weak VTables" scripts during the installhdrs build phase.
3764         - Made "Generate Derived Sources" work for the installhdrs build
3765           phase.  Also simplified setting of CREATE_HASH_TABLE by using
3766           JAVASCRIPTCORE_PRIVATE_HEADERS_DIR.
3767
3768 2009-03-02  Adam Langley  <agl@google.com>
3769
3770         Reviewed by Darin Fisher.
3771
3772         Chromium Linux: Switch to using Skia to render widgets.
3773
3774         In order to sandbox the Chromium renderer on Linux we need to remove
3775         the X connection. GTK cannot render without an X connection so, for
3776         now, we render widgets ourselves.
3777
3778         Previously didn't use anti-alias fonts in order to match Windows font
3779         rendering exactly. This was helpful when bootstrapping our layout
3780         tests. Now, however, we are ready to enable it.
3781
3782         https://bugs.webkit.org/show_bug.cgi?id=24244
3783
3784         * platform/chromium/ScrollbarThemeChromium.cpp:
3785         (WebCore::ScrollbarThemeChromium::buttonSize):
3786         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
3787         (WebCore::ScrollbarThemeChromium::scrollbarThickness):
3788         (WebCore::ScrollbarThemeChromium::paintTrackPiece):
3789         (WebCore::ScrollbarThemeChromium::paintButton):
3790         (WebCore::ScrollbarThemeChromium::paintThumb):
3791         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
3792         (WebCore::FontPlatformData::setupPaint):
3793         * platform/graphics/skia/PlatformContextSkia.cpp:
3794         (PlatformContextSkia::PlatformContextSkia):
3795         (PlatformContextSkia::~PlatformContextSkia):
3796         * platform/graphics/skia/PlatformContextSkia.h:
3797         * rendering/RenderThemeChromiumGtk.cpp: Removed.
3798         * rendering/RenderThemeChromiumGtk.h: Removed.
3799         * rendering/RenderThemeChromiumLinux.cpp: Added.
3800         * rendering/RenderThemeChromiumLinux.h: Added.
3801
3802 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
3803
3804         Reviewed by Darin Fisher.
3805
3806         https://bugs.webkit.org/show_bug.cgi?id=24261
3807         Fix return types.
3808
3809         Test: LayoutTests/dom/svg/level3/xpath/XPathEvaluator_evaluate_TYPE_ERR.svg
3810
3811         * bindings/v8/V8Binding.h:
3812         (WebCore::toInt32): change return type to int
3813         (WebCore::toFloat): change return type to float.
3814
3815 2009-03-03  Anders Carlsson  <andersca@apple.com>
3816
3817         Reviewed by John Sullivan.
3818
3819         https://bugs.webkit.org/show_bug.cgi?id=22884
3820         <rdar://problem/6449783>
3821         modified layout test crashes Safari
3822
3823         Null check NPStream before dereferencing it.
3824         
3825         * plugins/PluginView.cpp:
3826         (WebCore::PluginView::destroyStream):
3827
3828 2009-03-03  Eric Carlson  <eric.carlson@apple.com>
3829
3830         Reviewed by Simon Fraser.
3831
3832         Fix for <rdar://problem/6641045>
3833         Don't call QTKit to get movie properties until movie metadata has been loaded.
3834
3835         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
3836         (WebCore::MediaPlayerPrivate::metaDataAvailable): defined
3837         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3838         (WebCore::MediaPlayerPrivate::createQTTime): return default if !metaDataAvailable.
3839         (WebCore::MediaPlayerPrivate::play): Ditto.
3840         (WebCore::MediaPlayerPrivate::pause): Ditto.
3841         (WebCore::MediaPlayerPrivate::duration): Ditto.
3842         (WebCore::MediaPlayerPrivate::currentTime): Ditto.
3843         (WebCore::MediaPlayerPrivate::seek): Ditto.
3844         (WebCore::MediaPlayerPrivate::seekTimerFired): Ditto.
3845         (WebCore::MediaPlayerPrivate::paused): Ditto.
3846         (WebCore::MediaPlayerPrivate::seeking): Ditto.
3847         (WebCore::MediaPlayerPrivate::naturalSize): Ditto.
3848         (WebCore::MediaPlayerPrivate::hasVideo): Ditto.
3849         (WebCore::MediaPlayerPrivate::setVolume): Ditto.
3850         (WebCore::MediaPlayerPrivate::setRate): Ditto.
3851         (WebCore::MediaPlayerPrivate::dataRate): Ditto.
3852         (WebCore::MediaPlayerPrivate::maxTimeLoaded): Ditto.
3853         (WebCore::MediaPlayerPrivate::totalBytes): Ditto.
3854
3855 2009-03-03  Kevin McCullough  <kmccullough@apple.com>
3856
3857         - Spelling fix.
3858
3859         * page/Console.cpp:
3860         (WebCore::Console::profile):
3861
3862 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
3863
3864         Reviewed by Darin Fisher.
3865
3866         https://bugs.webkit.org/show_bug.cgi?id=23657
3867         Remove Database API callback IDLs from the project. 
3868         They were removed in r40633.
3869
3870         * WebCore.xcodeproj/project.pbxproj: Removed IDL files from the project.
3871
3872 2009-03-03  Kevin McCullough  <kmccullough@apple.com>
3873
3874         Reviewed by Oliver Hunt.
3875
3876         <rdar://problem/6639110> console.profile() doesn't work without a title
3877
3878         * page/Console.cpp:
3879         (WebCore::Console::profile): If there is no title assume this is a user
3880         initiated profile and give it the next incremented title name.
3881
3882 2009-03-03  Timothy Hatcher  <timothy@apple.com>
3883
3884         Fix a regression that broke dirxml and caused an ASSERT in debug builds. Also simplified
3885         the console code and refactored things to have fewer code paths and duplication.
3886
3887         rdar://problem/6367127
3888         https://bugs.webkit.org/show_bug.cgi?id=24329
3889
3890         Reviewed by Kevin McCullough.
3891
3892         Test: manual-tests/inspector/console-dir.html
3893
3894         * bindings/js/JSInspectedObjectWrapper.cpp:
3895         (WebCore::JSInspectedObjectWrapper::wrap): Use the lexicalGlobalObject instead of dynamicGlobalObject
3896         to fix an ASSERT about using a wrapper from the wrong ExecState.
3897         * bindings/js/JSQuarantinedObjectWrapper.cpp:
3898         (WebCore::JSQuarantinedObjectWrapper::JSQuarantinedObjectWrapper): Ditto.
3899         (WebCore::JSQuarantinedObjectWrapper::allowsUnwrappedAccessFrom): Ditto.
3900         * inspector/front-end/Console.js:
3901         (WebInspector.Console.prototype._format): Remove the inline argument and add forceObjectFormat.
3902         When forceObjectFormat is true, the only formatter used is _formatobject.
3903         (WebInspector.Console.prototype._formatvalue): Remove the inline argument.
3904         (WebInspector.Console.prototype._formatstring): Ditto.
3905         (WebInspector.Console.prototype._formatregexp): Ditto.
3906         (WebInspector.Console.prototype._formatarray): Ditto.
3907         (WebInspector.Console.prototype._formatnode): Remove the inline argument and make a DOM tree instead of an anchor.
3908         (WebInspector.Console.prototype._formatobject): Remove the inline argument and always make a property graph.
3909         (WebInspector.Console.prototype._formaterror): Remove the inline argument.
3910         (WebInspector.ConsoleMessage): Remove the case for MessageLevel.Node and
3911         simplify the case for MessageLevel.Object to use the normal _format code path with the %O formatter.
3912         (WebInspector.ConsoleMessage.prototype._format.formatForConsole): Don't pass an additional true argument for inline.
3913         (WebInspector.ConsoleMessage.prototype._format.formatAsObjectForConsole): Added. Pass a true argument for forceObjectFormat.
3914         (WebInspector.ConsoleMessage.prototype._format): Added support for the %O formatter. Use formatForConsole for all arguments.
3915         (WebInspector.ConsoleMessage.prototype.toString): Add the other message levels.
3916         * inspector/front-end/inspector.css: Tweak styles to look and work correctly.
3917         * inspector/front-end/utilities.js:
3918         (Object.type): Return "node" for Node objects.
3919         (Object.describe): Handle the "node" type.
3920         * page/Console.cpp:
3921         (WebCore::printMessageSourceAndLevelPrefix): Fix an assert by adding the other message level types.
3922         (WebCore::Console::dirxml): Use the standard log fuction since it prints a DOM tree for nodes by default.
3923         * page/Console.h:
3924         (WebCore::enum MessageLevel): Removed NodeMessageLevel. Added a FIXME.
3925
3926 2009-03-03  Scott Violet  <sky@google.com>
3927
3928         Reviewed by Eric Seidel.
3929
3930         https://bugs.webkit.org/show_bug.cgi?id=24325
3931         Crash on replacing document contents during drop.
3932
3933         Makes sure a node is in the document during a move before using it.
3934
3935         Test: fast/events/crash-on-mutate-during-drop.html
3936
3937         * editing/MoveSelectionCommand.cpp:
3938         (WebCore::MoveSelectionCommand::doApply):
3939
3940 2009-03-03  Jungshik Shin <jshin@chromium.org>
3941
3942         Reviewed by Eric Seidel.
3943
3944         https://bugs.webkit.org/show_bug.cgi?id=23028
3945         Enable dynamic web font support to Chromium on Windows.
3946         Files that were omitted by mistake in the latest patch
3947         that was landed.
3948
3949         * loader/CachedFont.cpp:
3950         (WebCore::CachedFont::~CachedFont):
3951         (WebCore::CachedFont::ensureCustomFontData):
3952         (WebCore::CachedFont::platformDataFromCustomData):
3953         (WebCore::CachedFont::allClientsRemoved):
3954         * platform/graphics/chromium/FontCustomPlatformData.cpp:
3955         (WebCore::EOTStream::EOTStream):
3956         (WebCore::createFontCustomPlatformData):
3957         * platform/graphics/win/FontCustomPlatformData.cpp:
3958         (WebCore::EOTStream::EOTStream):
3959         (WebCore::createFontCustomPlatformData):
3960
3961 2009-03-03  Gustavo Noronha Silva  <gns@gnome.org>
3962
3963         Reviewed by Alexey Proskuryakov.
3964
3965         https://bugs.webkit.org/show_bug.cgi?id=16826
3966         [Gtk] Implement WebKitDownload
3967
3968         Make the Soup backend able to handle requests without a frame,
3969         since we may have such things now that we support downloads.
3970
3971         * platform/network/ResourceHandleInternal.h:
3972         * platform/network/soup/ResourceHandleSoup.cpp:
3973         (WebCore::ResourceHandle::start):
3974
3975 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
3976
3977         Reviewed by Eric Seidel.
3978
3979         https://bugs.webkit.org/show_bug.cgi?id=24331
3980         Add custom V8 bindings for Element, Attr, HTMLFrame, and HTMLIFrame.
3981
3982         * bindings/v8/custom/V8AttrCustom.cpp: Added.
3983         * bindings/v8/custom/V8CustomBinding.cpp: Added.
3984         * bindings/v8/custom/V8CustomBinding.h: Added attribute-checking helpers.
3985         * bindings/v8/custom/V8ElementCustom.cpp: Added.
3986         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp: Added.
3987         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Added.
3988
3989 2009-03-03  Brady Eidson  <beidson@apple.com>
3990
3991         Reviewed by Darin Adler
3992
3993         <rdar://problem/6616664> - Quick looks of various file types is broken
3994
3995         In http://trac.webkit.org/changeset/40553 there was an attempt to prevent NSURLRequest churn
3996         for non-HTTP loads when the underlying ResourceRequest changed.  Unfortunately it was a little
3997         overzealous as the mainDocumentURL is relevant for all loads, not only HTTP/HTTPS loads.
3998
3999         Partially reverted behavior to always set the mainDocumentURL in situations when we would've
4000         before that patch.
4001
4002         * loader/FrameLoader.cpp:
4003         (WebCore::FrameLoader::addExtraFieldsToRequest):
4004
4005         * platform/network/ResourceRequestBase.cpp:
4006         (WebCore::ResourceRequestBase::setMainDocumentURL):
4007
4008 2009-03-03  Chris Marrin  <cmarrin@apple.com>
4009
4010         Reviewed by Simon Fraser.
4011
4012         https://bugs.webkit.org/show_bug.cgi?id=24256
4013
4014         Added a WebCoreForceSoftwareAnimation flag.
4015
4016         * platform/graphics/mac/GraphicsLayerCA.mm:
4017         (WebCore::forceSoftwareAnimation):
4018         (WebCore::GraphicsLayerCA::setOpacity):
4019         (WebCore::GraphicsLayerCA::animateTransform):
4020         (WebCore::GraphicsLayerCA::animateFloat):
4021
4022 2009-03-02  Chris Marrin  <cmarrin@apple.com>
4023
4024         Reviewed by Sam Weinig.
4025
4026         https://bugs.webkit.org/show_bug.cgi?id=24257
4027
4028         Added prototype properties for several classes with constructors that
4029         were missing them, including the one mentioned in the bug.
4030
4031         Test: fast/dom/Window/custom-constructors.html
4032
4033         * bindings/js/JSAudioConstructor.cpp:
4034         (WebCore::JSAudioConstructor::JSAudioConstructor):
4035         * bindings/js/JSDOMWindowBase.cpp:
4036         (jsDOMWindowBaseWebKitCSSMatrix):
4037         * bindings/js/JSImageConstructor.cpp:
4038         (WebCore::JSImageConstructor::JSImageConstructor):
4039         * bindings/js/JSOptionConstructor.cpp:
4040         (WebCore::JSOptionConstructor::JSOptionConstructor):
4041         * bindings/js/JSWebKitCSSMatrixConstructor.cpp:
4042         (WebCore::JSWebKitCSSMatrixConstructor::JSWebKitCSSMatrixConstructor):
4043         * bindings/js/JSWebKitCSSMatrixConstructor.h:
4044         * bindings/js/JSWebKitPointConstructor.cpp:
4045         (WebCore::JSWebKitPointConstructor::JSWebKitPointConstructor):
4046         * bindings/js/JSWorkerConstructor.cpp:
4047         (WebCore::JSWorkerConstructor::JSWorkerConstructor):
4048
4049 2009-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
4050
4051         Reviewed by Darin Fisher.
4052
4053         https://bugs.webkit.org/show_bug.cgi?id=24321
4054         Add V8 bindings headers.
4055
4056         * bindings/v8/V8Binding.h: Added.
4057         * bindings/v8/V8Proxy.h: Added.
4058         * bindings/v8/custom/V8CustomBinding.h: Added.
4059         * bindings/v8/custom/V8CustomEventListener.h: Added.
4060
4061 2009-03-03  Jungshik Shin <jshin@chromium.org>
4062
4063         Reviewed by Eric Seidel.
4064
4065         https://bugs.webkit.org/show_bug.cgi?id=23803
4066         Fix an 'off-by-1' error in ChromiumWin's font fallback.
4067
4068         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
4069         (WebCore::FontCache::getFontDataForCharacters):
4070
4071 2009-03-03  Jungshik Shin  <jshin@chromium.org>
4072
4073         Reviewed by Eric Seidel.
4074
4075         http://bugs.webkit.org/show_bug.cgi?id=23028
4076         Enable dynamic web font support to Chromium on Windows: Part 1
4077         - Move OpenTypeUtilities.{cpp,h} to platform/graphics/opentype
4078           from platform/graphics/win because both Windows port and Chromium Windows
4079           port will use them.
4080         - Adjust WebCore.vcproj accordingly.
4081
4082         * WebCore.vcproj/WebCore.vcproj:
4083         * platform/graphics/opentype: Added.
4084         * platform/graphics/opentype/OpenTypeUtilities.cpp: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.cpp.
4085         * platform/graphics/opentype/OpenTypeUtilities.h: Copied from WebCore/platform/graphics/win/OpenTypeUtilities.h.
4086         * platform/graphics/win/OpenTypeUtilities.cpp: Removed.
4087         * platform/graphics/win/OpenTypeUtilities.h: Removed.
4088
4089 2009-03-03  Simon Fraser  <simon.fraser@apple.com>
4090
4091         Reviewed by Dave Hyatt
4092
4093         https://bugs.webkit.org/show_bug.cgi?id=24312
4094         
4095         Take 3D transforms into account when hit testing:
4096         
4097         1. Maintain a bit on each RenderLayer that is set when the layer
4098            has 3d descendants, so that we know when to fall into the slow
4099            hit testing path.
4100            
4101         2. Make a ref-counted HitTestingTransformState, which is used to store
4102            an accumulated transform, and the hit test point, and hitTestRect
4103            in the plane of the ancestor non-3d ('flattening') layer.
4104            
4105            It's ref-counted so we can heap allocate it (to avoid stack bloat),
4106            and avoid copying when hitTestLayer calls itself after applying the transform.
4107            
4108         3. Add logic to hitTestLayer to depth-test just direct descendants, if any have
4109            3D transforms, or to do deep depth-testing when traversing a preserves-3d
4110            hierarchy. When hit, layers compute a z-offset from the ancestor flattening
4111            layer, which allows for correct depth testing.
4112            
4113            The existing early-return codepath is unaffected when there are no 3d transforms
4114            and no preserve-3d.
4115
4116         * rendering/RenderLayer.cpp:
4117         (WebCore::RenderLayer::RenderLayer):
4118         (WebCore::RenderLayer::updateTransform):
4119         (WebCore::RenderLayer::dirty3DTransformedDescendantStatus):
4120         (WebCore::RenderLayer::update3DTransformedDescendantStatus):
4121         (WebCore::RenderLayer::hitTest):
4122         (WebCore::computeZOffset):
4123         (WebCore::RenderLayer::createLocalTransformState):
4124         (WebCore::RenderLayer::hitTestLayer):
4125         (WebCore::RenderLayer::hitTestContents):
4126         * rendering/RenderLayer.h:
4127         (WebCore::RenderLayer::preserves3D):
4128         (WebCore::RenderLayer::has3DTransform):
4129         (WebCore::RenderLayer::setHas3DTransformedDescendant):
4130         (WebCore::RenderLayer::has3DTransformedDescendant):
4131         * rendering/RenderLayerBacking.cpp:
4132         * rendering/TransformState.cpp:
4133         (WebCore::TransformState::flatten):
4134         (WebCore::TransformState::mappedPoint):
4135         (WebCore::HitTestingTransformState::move):
4136         (WebCore::HitTestingTransformState::applyTransform):
4137         (WebCore::HitTestingTransformState::flatten):
4138         (WebCore::HitTestingTransformState::mappedPoint):
4139         (WebCore::HitTestingTransformState::mappedQuad):
4140         * rendering/TransformState.h:
4141         (WebCore::TransformState::TransformState):
4142         (WebCore::HitTestingTransformState::create):
4143         (WebCore::HitTestingTransformState::move):
4144         (WebCore::HitTestingTransformState::HitTestingTransformState):
4145
4146 2009-03-03  Brett Wilson  <brettw@chromium.org>
4147
4148         Fix uninitialized memory reads in the Chromium Windows transparency
4149         code that were identified by Purify,
4150
4151         Reviewed by Darin Fisher.
4152
4153         * platform/graphics/chromium/TransparencyWin.cpp:
4154         (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers):
4155         (WebCore::TransparencyWin::initializeNewContext):
4156
4157 2009-03-03  Simon Fraser  <simon.fraser@apple.com>
4158
4159         Reviewed by Dave Hyatt
4160
4161         https://bugs.webkit.org/show_bug.cgi?id=24312
4162         
4163         Factor the code that compute a transform relative to the container
4164         into RenderObject::transformFromContainer().
4165         
4166         * rendering/RenderBox.cpp:
4167         (WebCore::RenderBox::mapLocalToAbsolutePoint):
4168         (WebCore::RenderBox::mapAbsoluteToLocalPoint):
4169         * rendering/RenderObject.cpp:
4170         (WebCore::RenderObject::transformFromContainer):
4171         * rendering/RenderObject.h:
4172
4173 2009-03-03  Simon Fraser  <simon.fraser@apple.com>
4174
4175         Reviewed by Dave Hyatt
4176
4177         https://bugs.webkit.org/show_bug.cgi?id=24317
4178         
4179         Always return |true| from RenderTextControlMultiLine::nodeAtPoint() if
4180         the superclass found a node, otherwise we set the innerNode of the
4181         HitTestResult, but don't actually report that we found a hit.
4182
4183         * rendering/RenderTextControlMultiLine.cpp:
4184         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
4185
4186 2009-03-03  Onne Gorter  <onne.gorter@avinity.net>
4187
4188         Reviewed by Anders Carlsson.
4189
4190         https://bugs.webkit.org/show_bug.cgi?id=23707
4191         resizing plugins does not work, because the plugin never gets informed
4192
4193         Make gtk plugins resize correctly, by sending them the setwindow event
4194         correctly. Also ensure that all plugin eventing is done with correct
4195         locking/calling. Mostly copied from mac implementation.
4196
4197         manual test: manual-tests/gtk/plugin-resize-scroll.html
4198
4199         * plugins/PluginView.h:
4200         * plugins/gtk/PluginViewGtk.cpp:
4201         (WebCore::PluginView::dispatchNPEvent):
4202         ensure locking/calling for NPEvents
4203         (WebCore::PluginView::updatePluginWidget):
4204         if something changed, let setNPWindowIfNeeded handle it
4205         (WebCore::PluginView::paint):
4206         (WebCore::PluginView::handleKeyboardEvent):
4207         (WebCore::PluginView::handleMouseEvent):
4208         ensure calling conventions
4209         (WebCore::PluginView::setNPWindowRect):
4210         just pass control to setNPWindowIfNeeded
4211         (WebCore::PluginView::setNPWindowIfNeeded):
4212         event the plugin correctly of new window
4213         (WebCore::PluginView::init):
4214         init through the new setup
4215
4216 2009-03-03  Mike Belshe  <mike@belshe.com>
4217
4218         Reviewed by Darin Fisher.
4219
4220         https://bugs.webkit.org/show_bug.cgi?id=24311
4221         Make IDL returning DOMObject use [V8Custom]
4222
4223         * dom/Document.idl:
4224         * html/HTMLCanvasElement.idl:
4225
4226 2009-03-02  Simon Fraser  <simon.fraser@apple.com>
4227
4228         Reviewed by Adele Peterson
4229
4230         https://bugs.webkit.org/show_bug.cgi?id=24313
4231         
4232         If RenderTextControlSingleLine::nodeAtPoint() pokes a node into the
4233         HitTestResult, then it had better well return |true|. And m_innerBlock
4234         could never have been set as the hit node by the superclass, because
4235         the superclass knows nothing about m_innerBlock.
4236         
4237         Test: fast/forms/input-hit-test-border.html
4238
4239         * rendering/RenderTextControlSingleLine.cpp:
4240         (WebCore::RenderTextControlSingleLine::nodeAtPoint):
4241
4242 2009-03-02  Sam Weinig  <sam@webkit.org>
4243
4244         Reviewed by Mark Rowe.
4245
4246         Enable Geolocation (except on Tiger and Leopard).
4247
4248         * Configurations/WebCore.xcconfig:
4249
4250 2009-03-02  Ojan Vafai  <ojan@chromium.org>
4251
4252         Reviewed by Adele Peterson.
4253
4254         Fix https://bugs.webkit.org/show_bug.cgi?id=24307
4255         Null out m_highlightedNode on hideHighlight().
4256         Ran WebCore/manual-tests/inspector/highlight-nodes.html.
4257
4258         * inspector/InspectorController.cpp:
4259         (WebCore::InspectorController::hideHighlight):
4260
4261 2009-03-02  Sam Weinig  <sam@webkit.org>