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