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