2010-02-08 Maciej Stachowiak <mjs@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-02-08  Maciej Stachowiak  <mjs@apple.com>
2
3         Reviewed by Cameron Zwarich.
4
5         Restore ENABLE_RUBY flag so vendors can ship with Ruby disabled if they choose.
6         https://bugs.webkit.org/show_bug.cgi?id=34698
7
8         * Configurations/FeatureDefines.xcconfig:
9         * DerivedSources.make:
10         * GNUmakefile.am:
11         * html/HTMLTagNames.in: Make the ruby-related tag names conditional.
12         * rendering/RenderObject.cpp:
13         (WebCore::RenderObject::createObject): ifdef the code that would create ruby elements.
14         * rendering/RenderObject.h: ditto above
15         * rendering/RenderRuby.cpp: ifdef this whole file
16         * rendering/RenderRuby.h: ditto
17         * rendering/RenderRubyBase.cpp: ditto
18         * rendering/RenderRubyBase.h: ditto
19         * rendering/RenderRubyRun.cpp: ditto
20         * rendering/RenderRubyRun.h: ditto
21         * rendering/RenderRubyText.cpp: ditto
22         * rendering/RenderRubyText.h: ditto
23
24 2010-02-11  Kent Tamura  <tkent@chromium.org>
25
26         Reviewed by Darin Adler.
27
28         Step attribute support for date&time types.
29         https://bugs.webkit.org/show_bug.cgi?id=30847
30
31         - Add implementation for ValidityState.stepMismatch, stepUp() and
32           stepDown() for date, datetime, datetime-local, month, time, week types.
33         - Fix string representation of DateComponents.
34
35         Tests: fast/forms/ValidityState-stepMismatch.html
36                fast/forms/input-stepup-stepdown.html
37
38         * html/HTMLInputElement.cpp:
39           - Change monthDefaultMaximum so that DateComponents::m_year doesn't overflow.
40         (WebCore::HTMLInputElement::stepBase):
41         (WebCore::HTMLInputElement::stepMismatch):
42         (WebCore::HTMLInputElement::getStepParameters):
43         (WebCore::HTMLInputElement::getAllowedValueStep):
44         (WebCore::HTMLInputElement::applyStep):
45           Renamed from applyStepForNumberOrRange(), and add support for other types.
46         (WebCore::HTMLInputElement::stepUp): Rename applyStepForNumberOrRange().
47         (WebCore::HTMLInputElement::stepDown): Rename applyStepForNumberOrRange().
48         (WebCore::HTMLInputElement::setValueAsDate): Use setDateValue().
49         (WebCore::HTMLInputElement::setDateValue):
50           A helper function to make the best representation of DateComponents.
51         (WebCore::HTMLInputElement::setValueAsNumber):  Use setDateValue().
52         * html/HTMLInputElement.h:
53
54 2010-02-10  Oliver Hunt  <oliver@apple.com>
55
56         Reviewed by Gavin Barraclough.
57
58         postMessage does not send ImageData
59         https://bugs.webkit.org/show_bug.cgi?id=34825
60
61         Implement serialisation of ImageData, and for testing reasons
62         expose the ImageData constructor (which should already have
63         been exposed).
64
65         * bindings/js/SerializedScriptValue.cpp:
66         (WebCore::SerializedImageData::create):
67         (WebCore::SerializedImageData::width):
68         (WebCore::SerializedImageData::height):
69         (WebCore::SerializedImageData::data):
70         (WebCore::SerializedImageData::SerializedImageData):
71         (WebCore::SerializedScriptValueData::SerializedScriptValueData):
72         (WebCore::SharedSerializedData::asImageData):
73         (WebCore::SerializingTreeWalker::convertIfTerminal):
74         (WebCore::DeserializingTreeWalker::convertIfTerminal):
75         (WebCore::TeardownTreeWalker::convertIfTerminal):
76         * bindings/js/SerializedScriptValue.h:
77         (WebCore::SerializedScriptValueData::):
78         (WebCore::SerializedScriptValueData::asImageData):
79         * html/canvas/CanvasPixelArray.h:
80         (WebCore::CanvasPixelArray::data):
81         * page/DOMWindow.idl:
82
83 2010-02-10  Adam Barth  <abarth@webkit.org>
84
85         Reviewed by Darin Adler.
86
87         Address last round of review comments on r53607
88         https://bugs.webkit.org/show_bug.cgi?id=33940
89
90         Mostly renaming and cleaning up.
91
92         * css/CSSImportRule.cpp:
93         (WebCore::CSSImportRule::insertedIntoParent):
94         * css/CSSStyleSheet.h:
95         (WebCore::CSSStyleSheet::create):
96         (WebCore::CSSStyleSheet::createInline):
97         * css/StyleBase.cpp:
98         (WebCore::StyleBase::baseURL):
99         * css/StyleSheet.cpp:
100         (WebCore::StyleSheet::StyleSheet):
101         * css/StyleSheet.h:
102         (WebCore::StyleSheet::href):
103         (WebCore::StyleSheet::setFinalURL):
104         (WebCore::StyleSheet::finalURL):
105         * dom/Document.cpp:
106         (WebCore::Document::updateBaseURL):
107         * dom/ProcessingInstruction.cpp:
108         (WebCore::ProcessingInstruction::checkStyleSheet):
109         * xml/XSLImportRule.cpp:
110         (WebCore::XSLImportRule::loadSheet):
111         * xml/XSLStyleSheet.h:
112         (WebCore::XSLStyleSheet::create):
113         (WebCore::XSLStyleSheet::createInline):
114         * xml/XSLStyleSheetLibxslt.cpp:
115         (WebCore::XSLStyleSheet::XSLStyleSheet):
116         (WebCore::XSLStyleSheet::parseString):
117         (WebCore::XSLStyleSheet::loadChildSheets):
118         * xml/XSLStyleSheetQt.cpp:
119         (WebCore::XSLStyleSheet::XSLStyleSheet):
120
121 2010-02-10  Noam Rosenthal  <noam.rosenthal@nokia.com>
122
123         Reviewed by Ariya Hidayat.
124
125         [Qt] GraphicsLayer: somtimes the item flickers at the end of an animation
126         This is because we try to delete the animation when finished: that is
127         unnecessary. WebCore manages the animation's lifecycle and makes sure
128         to call the right function when the animation can be deleted.
129
130         https://bugs.webkit.org/show_bug.cgi?id=34761
131
132         No new tests.
133
134         * platform/graphics/qt/GraphicsLayerQt.cpp:
135         (WebCore::GraphicsLayerQt::addAnimation): No need to delete here
136         (WebCore::GraphicsLayerQt::removeAnimationsForProperty): deleteLater
137
138 2010-02-10  Kevin Ollivier  <kevino@theolliviers.com>
139
140         [wx] Build fix for wxMac/Cocoa.
141
142         * platform/wx/wxcode/mac/carbon/fontprops.cpp: Removed.
143         * platform/wx/wxcode/mac/carbon/fontprops.mm: Copied from WebCore/platform/wx/wxcode/mac/carbon/fontprops.cpp.
144         * wscript:
145
146 2010-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
147
148         REGRESSION(24929): PDF page doesn't load in background tab
149
150         Reviewed by Dan Bernstein.
151
152         * plugins/PluginView.cpp:
153         (WebCore::PluginView::startOrAddToUnstartedList):
154         Only delay loading of the plug-in if we'll kick off our own load of the
155         plug-in data later, in start().
156
157 2010-02-10  Enrica Casucci  <enrica@apple.com>
158
159         Reviewed by Simon Fraser.
160
161         Crash in WebKit!WebCore::RenderTextControlSingleLine::createInnerTextStyle doing anything in Safari after sitting on a page with 3D site        
162         <rdar://problem/7557201>
163         https://bugs.webkit.org/show_bug.cgi?id=34823
164         
165         No tests added because the code is exercised by the existing tests.
166         
167         The root cause was the fact that we were not releasing a reference that was held by CA.
168         In debug builds we had an assert in the destructor of WKCACFLayer.
169         
170         * platform/graphics/win/GraphicsLayerCACF.cpp:
171         (WebCore::GraphicsLayerCACF::~GraphicsLayerCACF):
172
173 2010-02-10  Kwang Yul Seo  <skyul@company100.net>
174
175         Reviewed by Eric Seidel.
176
177         [BREWMP] Typedef DragImageRef
178         https://bugs.webkit.org/show_bug.cgi?id=34791
179
180         Use IImage* as it is the BREW's image type.
181
182         * platform/DragImage.h:
183
184 2010-02-10  Beth Dakin  <bdakin@apple.com>
185
186         Reviewed by Simon Fraser and Darin Adler.
187
188         Fix for https://bugs.webkit.org/show_bug.cgi?id=34185 REGRESSION: 
189         Mask not invalidating
190
191         SVGMaskElement is the only class that keeps a HashMap of canvas 
192         resources rather than just a pointer to a resource. This 
193         patch makes SVGMaskElement invalidate all of its resources in the 
194         HashMap instead of just one.
195
196         * svg/SVGMaskElement.cpp:
197         (WebCore::SVGMaskElement::svgAttributeChanged):
198         (WebCore::SVGMaskElement::childrenChanged):
199         (WebCore::SVGMaskElement::invalidateCanvasResources):
200         * svg/SVGMaskElement.h:
201         * svg/SVGStyledElement.cpp:
202         (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
203         (WebCore::SVGStyledElement::invalidateCanvasResources):
204         * svg/SVGStyledElement.h:
205
206 2010-02-10  Stephan Aßmus  <superstippi@gmx.de>
207
208         Reviewed by David Levin.
209
210         Fixes to rect conversion and image rendering on Haiku
211         https://bugs.webkit.org/show_bug.cgi?id=34684
212
213         Covered by existing tests.
214
215         The changes to the rect conversions are indeed correct. In Haiku (to stay
216         compatibly with BeOS), a BRect specifies the left/top and bottom/right pixel
217         *indices*, even though the values are floating point. So a rectangle covering
218         just one pixel would be specified as BRect(0, 0, 0, 0). In WebCore and other
219         frame works, such rectangles would be expressed as 0, 0, 1, 1. In WebCore, the
220         width and height of rectangles refer to the distance between pixels, while on
221         Haiku, a one pixel rect has indeed a width and height of 0, as confusing as
222         that may be.
223
224         The part of the patch that affects
225         WebCore/platform/graphics/haiku/ImageHaiku.cpp also implements the drawing
226         methods more correctly. Image observers are notified, and pattern drawing takes
227         the "phase" into account which makes scrolled backgrounds render correctly.
228         Transformations are still not supported, since the Haiku drawing backend itself
229         does not yet support them.
230
231         Use OwnPtr when creating the BBitmap to avoid future leaks with early returns.
232
233         Convert the bitmap data to non pre-multiplied until Haiku supports drawing
234         pre-multiplied bitmaps.
235
236         * platform/graphics/haiku/FloatRectHaiku.cpp: Fixed conversion
237         * platform/graphics/haiku/ImageHaiku.cpp:
238         (WebCore::BitmapImage::draw): Fixed placement, notify observers
239         (WebCore::Image::drawPattern): Implemented using "phase" to fix scrolling, notify observers
240         * platform/graphics/haiku/IntRectHaiku.cpp: Fixed conversion
241         * platform/image-decoders/haiku/ImageDecoderHaiku.cpp: Fixed conversion
242
243 2010-02-10  Simon Fraser  <simon.fraser@apple.com>
244
245         Reviewed by David Levin.
246
247         Clean up unused member var and initialization in Document
248         https://bugs.webkit.org/show_bug.cgi?id=34820
249
250         Remove unused m_secureForms member variable in Document.
251         
252         * dom/Document.cpp:
253         (WebCore::Document::Document):
254         * dom/Document.h:
255
256 2010-02-10  Kevin Watters  <kevinwatters@gmail.com>
257
258         Reviewed by Kevin Ollivier.
259
260         [wx] Add Windows complex text support and Mac support for containsCharacters.
261         
262         https://bugs.webkit.org/show_bug.cgi?id=34759
263         
264         * platform/graphics/SimpleFontData.h:
265         * platform/graphics/wx/FontPlatformData.h:
266         (WebCore::FontPlatformData::roundsGlyphAdvances):
267         * platform/graphics/wx/FontPlatformDataWx.cpp:
268         (WebCore::FontPlatformData::useGDI):
269         (WebCore::FontPlatformData::hfont):
270         * platform/graphics/wx/FontWx.cpp:
271         (WebCore::Font::canReturnFallbackFontsForComplexText):
272         (WebCore::Font::selectionRectForComplexText):
273         (WebCore::Font::drawComplexText):
274         (WebCore::Font::floatWidthForComplexText):
275         (WebCore::Font::offsetForPositionForComplexText):
276         * platform/graphics/wx/SimpleFontDataWx.cpp:
277         (WebCore::SimpleFontData::platformInit):
278         (WebCore::SimpleFontData::platformDestroy):
279         (WebCore::SimpleFontData::containsCharacters):
280         (WebCore::SimpleFontData::platformWidthForGlyph):
281         (WebCore::SimpleFontData::scriptFontProperties):
282         (WebCore::SimpleFontData::initGDIFont):
283         (WebCore::SimpleFontData::platformCommonDestroy):
284         (WebCore::SimpleFontData::widthForGDIGlyph):
285         * platform/wx/wxcode/fontprops.h:
286         * platform/wx/wxcode/gtk/fontprops.cpp:
287         (wxFontContainsCharacters):
288         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
289         (wxFontContainsCharacters):
290         * platform/wx/wxcode/win/fontprops.cpp:
291         (wxFontContainsCharacters):
292         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
293         (WebCore::drawTextWithSpacing):
294         * wscript:
295
296 2010-02-10  Kwang Yul Seo  <skyul@company100.net>
297         Reviewed by Eric Seidel.
298
299         [BREWMP] Add dummy Frame::dragImageForSelection
300         https://bugs.webkit.org/show_bug.cgi?id=34792
301
302         Add FrameBrew.cpp which contains a dummy implementation of
303         Frame::dragImageForSelection.
304
305         * page/brew/FrameBrew.cpp: Added.
306         (WebCore::Frame::dragImageForSelection):
307
308 2010-02-10  Kevin Ollivier  <kevino@theolliviers.com>
309
310         [wx] Build fix. Switch drawPattern to Image class like other platforms.
311
312         * platform/graphics/BitmapImage.h:
313         * platform/graphics/wx/ImageWx.cpp:
314         (WebCore::Image::drawPattern):
315
316 2010-02-10  Chris Marrin  <cmarrin@apple.com>
317
318         Reviewed by Darin Adler.
319
320         Added CA_PRINT_TREE functionality to WKCACFLayer implementation
321         https://bugs.webkit.org/show_bug.cgi?id=34779
322         
323         I've tried to duplicate the look of the output on Mac, but
324         it's not quite the same. It shows all the useful information though.
325         It is enabled by setting the environment variable CA_PRINT_TREE=1
326         
327         * platform/graphics/win/WKCACFLayer.cpp:Implementation of printTree
328         (WebCore::WKCACFLayer::isTransformLayer):
329             Moved function to cpp file because it needs to use the function form
330             of kCACFTransformLayer because the DLL is delay loaded, and that function
331             can only be called from the cpp file.
332         (WebCore::WKCACFLayer::sublayerAtIndex):
333         (WebCore::printIndent):
334         (WebCore::printTransform):
335         (WebCore::WKCACFLayer::printTree):Prints from this layer down
336         (WebCore::WKCACFLayer::printLayer):Prints this layer and recursively calls sublayers
337         * platform/graphics/win/WKCACFLayer.h:
338         * platform/graphics/win/WKCACFLayerRenderer.cpp:
339         (WebCore::WKCACFLayerRenderer::WKCACFLayerRenderer):
340         (WebCore::WKCACFLayerRenderer::createRenderer):Adds a name to the root layers
341         (WebCore::WKCACFLayerRenderer::render):Calls printTree when CA_PRINT_TREE is 1
342         * platform/graphics/win/WKCACFLayerRenderer.h:
343         
344 2010-02-10  Nate Chapin  <japhet@chromium.org>
345
346         Reviewed by Adam Barth.
347
348         Change V8DOMWrapper::lookupDOMWrapper() and configureTemplate()
349         to not use V8ClassIndex.
350
351         https://bugs.webkit.org/show_bug.cgi?id=34768
352
353         * bindings/scripts/CodeGeneratorV8.pm:
354         * bindings/v8/V8Binding.cpp:
355         * bindings/v8/V8Binding.h:
356         * bindings/v8/V8DOMWindowShell.cpp:
357         * bindings/v8/V8DOMWrapper.cpp:
358         * bindings/v8/V8DOMWrapper.h:
359         * bindings/v8/V8Proxy.cpp:
360         * bindings/v8/WorkerContextExecutionProxy.cpp:
361         * bindings/v8/custom/V8DOMWindowCustom.cpp:
362         * bindings/v8/custom/V8LocationCustom.cpp:
363         * bindings/v8/custom/V8MessageEventCustom.cpp:
364
365 2010-02-10  Nate Chapin  <japhet@chromium.org>
366
367         Reviewed by Dimitri Glazkov.
368
369         [V8] Handle the possibility that ScheduledAction::execute() may
370         retrieve a null V8Proxy* even if not in a WorkerContext (e.g., if
371         JS was disallowed).
372
373         * bindings/v8/ScheduledAction.cpp:
374         (WebCore::ScheduledAction::execute):
375
376 2010-02-10  Kenneth Russell  <kbr@google.com>
377
378         Reviewed by Oliver Hunt.
379
380         Remove automatic viewport resizing
381         https://bugs.webkit.org/show_bug.cgi?id=34766
382
383         Removed automatic viewport resizing per conclusions on the WebGL
384         mailing list. Added test verifying new behavior and updated a
385         couple of previous tests failing after this change.
386
387         Test: fast/canvas/webgl/viewport-unchanged-upon-resize.html
388
389         * platform/graphics/mac/GraphicsContext3DMac.cpp:
390         (WebCore::GraphicsContext3D::reshape):
391
392 2010-02-10  Ariya Hidayat  <ariya.hidayat@gmail.com>
393
394         Reviewed by Kenneth Rohde Christiansen.
395
396         [Qt] Implement image interpolation quality.
397
398         https://bugs.webkit.org/show_bug.cgi?id=34629
399
400         * platform/graphics/qt/GraphicsContextQt.cpp:
401         (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
402         (WebCore::GraphicsContext::setImageInterpolationQuality):
403         (WebCore::GraphicsContext::imageInterpolationQuality):
404
405 2010-02-10  Eric Seidel  <eric@webkit.org>
406
407         No review, Mac build fix.
408
409         Crash in Flash at http://www.cctv.com/
410         https://bugs.webkit.org/show_bug.cgi?id=34673
411
412         * plugins/PluginViewNone.cpp:
413         (WebCore::PluginView::getValueStatic):
414
415 2010-02-10  Gustavo Noronha Silva  <gns@gnome.org>
416
417         Reviewed by Xan Lopez.
418
419         [GTK] Hits assertion on history back, with page cache enabled, in specific conditions
420         https://bugs.webkit.org/show_bug.cgi?id=34773
421
422         When unsetting the adjustments from a ScrollView, also disconnect
423         them from the Scrollbars.
424
425         Test: fast/frames/frame-crash-with-page-cache.html
426
427         * platform/gtk/ScrollViewGtk.cpp:
428         (WebCore::ScrollView::setGtkAdjustments):
429         * platform/gtk/ScrollbarGtk.cpp:
430         (ScrollbarGtk::~ScrollbarGtk):
431         (ScrollbarGtk::detachAdjustment):
432         * platform/gtk/ScrollbarGtk.h:
433
434 2010-02-09  Alexey Proskuryakov  <ap@apple.com>
435
436         Reviewed by Geoffrey Garen.
437
438         https://bugs.webkit.org/show_bug.cgi?id=34490
439         WebCore::ImageEventSender::dispatchPendingEvents() crashes in certain conditions
440
441         Test: fast/images/destroyed-image-load-event.html
442
443         * ForwardingHeaders/wtf/ValueCheck.h: Added.
444
445         * loader/ImageLoader.cpp:
446         (WTF::ValueCheck): Special case value check for ImageLoader - it's allocated inside elements,
447         so check the owner instead.
448         (WebCore::ImageEventSender::hasPendingEvents): Added a debugging aid for ImageLoader destructor.
449         (WebCore::ImageLoader::~ImageLoader): Assert that we're not going to leave dangling pointers
450         in ImageEventSender.
451         (WebCore::ImageLoader::setImage): Cancel events that could be dispatched for the previous
452         image. The only client using this method that I could find was DeleteButton, which doesn't
453         care about load events for the new image, so I didn't add any code for firing those.
454         (WebCore::ImageLoader::setLoadingImage): This method only existed to confuse readers -
455         there wasn't any meaningful code shared (callers just undid most assignments made there).
456         Merged the logic into callers.
457         (WebCore::ImageLoader::updateFromElement): We're forgetting the old image, so forget its
458         old events, too.
459         (WebCore::ImageLoader::notifyFinished): This can be called from setImage(), in which case
460         no one is going to dispatch the event "soon". So, don't queue it.
461         (WebCore::ImageEventSender::dispatchPendingEvents): Call checkConsistency(). This didn't
462         help catch this particuar bug, but seems like a useful check anyway.
463
464         * loader/ImageLoader.h: Removed setLoadingImage().
465
466 2010-02-10  Jon Honeycutt  <jhoneycutt@apple.com>
467
468         Mac build fix. Unreviewed.
469
470         * WebCore.xcodeproj/project.pbxproj:
471         Add PluginViewNone.cpp to the Mac project.
472
473 2010-02-10  Adam Roben  <aroben@apple.com>
474
475         Optimize ImageBuffer::toDataURL's CG implementation
476
477         There was some unused code that could have been removed in r31830 when
478         this function was changed not to flip the CG image anymore.
479
480         Fixes <http://webkit.org/b/34808> ImageBuffer::toDataURL allocates
481         unnecessary memory under CoreGraphics
482
483         Reviewed by Sam Weinig.
484
485         * platform/graphics/cg/ImageBufferCG.cpp:
486         (WebCore::ImageBuffer::toDataURL): Don't allocate an unused CGImageRef
487         and buffer, and switch to the new overload of base64Encode that
488         doesn't require us to copy all the image data into a Vector first.
489
490         * platform/text/Base64.cpp:
491         (WebCore::base64Encode):
492         * platform/text/Base64.h:
493         Added an overload that takes a raw data pointer and length, just like
494         we have for base64Decode. The overload that takes a Vector as input
495         just calls through to the new overload.
496
497 2010-02-10  Dan Bernstein  <mitz@apple.com>
498
499         Reviewed by Dave Hyatt.
500
501         Complete the fix for <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
502         https://bugs.webkit.org/show_bug.cgi?id=34546
503
504         * manual-tests/drag-image-table-part-decorations.html:
505         * rendering/RenderTableCell.cpp:
506         (WebCore::RenderTableCell::paint): Don’t paint collapsed borders if this object shouldn’t
507         paint within the current painting root.
508
509 2010-02-08  Jon Honeycutt  <jhoneycutt@apple.com>
510
511         <rdar://problem/7436875> Crash in Flash when visiting
512         http://www.cctv.com/default.shtml (WER ID 819298200) [watson 2502260]
513
514         Reviewed by Darin Adler.
515
516         Test: platform/win/plugins/plugin-delayed-destroy.html
517
518         * bridge/NP_jsobject.cpp:
519         (_NPN_Evaluate):
520         If Flash calls this to evaluate a script that destroys the PluginView,
521         we crash when returning to Flash code. Before evaluating the script,
522         call PluginView::keepAlive() to hold a ref to this instance (and release
523         it asynchronously).
524
525         * plugins/PluginView.cpp:
526         (WebCore::instanceMap):
527         Return a map from the NPP to the PluginView.
528         (WebCore::PluginView::~PluginView):
529         Assert that the keep alive timer is not running; remove ourselves from
530         the instance map.
531         (WebCore::PluginView::performRequest):
532         The parent Frame is now a RefPtr; use .get().
533         (WebCore::PluginView::status):
534         Ditto.
535         (WebCore::PluginView::didReceiveResponse):
536         Ditto.
537         (WebCore::PluginView::PluginView):
538         Add the view to the instance map.
539         (WebCore::PluginView::lifeSupportTimerFired):
540         Deref the PluginView.
541         (WebCore::PluginView::keepAlive):
542         Ref the PluginView, then start a time to release the reference
543         asynchronously.
544         (WebCore::PluginView::keepAlive):
545         Find the PluginView in the map, and call its keepAlive() function.
546
547         * plugins/PluginView.h:
548         Made m_parentFrame a RefPtr, so that it will remain valid when the
549         keep alive timer fires.
550         (WebCore::PluginView::parentFrame):
551         Use .get().
552
553         * plugins/gtk/PluginViewGtk.cpp:
554         (WebCore::PluginView::updatePluginWidget):
555         Use .get().
556         (WebCore::PluginView::handleKeyboardEvent):
557         Use .get().
558         (WebCore::PluginView::handleMouseEvent):
559         Use .get().
560
561         * plugins/PluginViewNone.cpp:
562         (WebCore::PluginView::keepAlive):
563         Stubbed.
564
565 2010-02-10  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
566
567         Reviewed by Kenneth Rohde Christiansen.
568
569         Support frameset flattening
570         https://bugs.webkit.org/show_bug.cgi?id=32717
571
572         Add support for enabling/disabling FrameSet Flattening on the Mac port.
573
574         * WebCore.base.exp:
575
576 2010-02-10  Jeremy Orlow  <jorlow@chromium.org>
577
578         Revert 54599 because it breaks a lot of tests on Windows Chrome
579
580         * inspector/front-end/DOMAgent.js:
581         (WebInspector.DOMNode.prototype._insertChild):
582         * inspector/front-end/ElementsPanel.js:
583         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
584         * inspector/front-end/ElementsTreeOutline.js:
585         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
586         (WebInspector.ElementsTreeElement):
587         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
588         (WebInspector.ElementsTreeElement.prototype._updateChildren):
589         ():
590         * inspector/front-end/inspector.css:
591
592 2010-02-10  Adam Roben  <aroben@apple.com>
593
594         Fix bad paths in WebCore.vcproj
595
596         These were harmless in VS2005, but cause project conversion errors in
597         VS2010 RC.
598
599         Fixes <http://webkit.org/b/34801>.
600
601         Reviewed by Dan Bernstein.
602
603         * WebCore.vcproj/WebCore.vcproj: Removed leading "." from paths to
604         JSHTMLFrameSetElement.{cpp,h}.
605
606 2010-02-10  Julien Chaffraix  <jchaffraix@webkit.org>
607
608         Not reviewed (build fix).
609
610         * platform/graphics/win/FontCacheWin.cpp:
611         (WebCore::FontCache::getLastResortFallbackFont): Return a
612         SimpleFontData here.
613
614 2010-02-10 Julien Chaffraix  <jchaffraix@pleyo.com>
615
616         Reviewed by Eric Seidel.
617
618         Bug 23287 -  Avoid using FontPlatformData outside the FontCache
619
620         No functional change, only refactored the code using FontPlatformData to use SimpleFontData.
621
622         This change leaves the class FontCached as it needs some thoughts and more refactoring.
623
624         * css/CSSFontFaceSource.cpp:
625         (WebCore::CSSFontFaceSource::getFontData): Call getCachedFontData with the 2 parameters directly.
626         * css/CSSFontSelector.cpp:
627         (WebCore::fontDataForGenericFamily): Ditto.
628         * platform/graphics/FontCache.cpp:
629         (WebCore::FontCache::getCachedFontData): This method is meant to replace getCachedFontPlatformData
630         that was moved in the private section of the class. It calls getCachedFontPlatformData and cache
631         the returned FontPlatformData if it is not null.
632         (WebCore::FontCache::getFontData): Updated to use the new getCachedFontData.
633         * platform/graphics/FontCache.h: Updated several methods to return a SimpleFontData in lieu of a
634         FontPlatformData. Moved some method in the private sections.
635
636         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
637         (WebCore::FontCache::getSimilarFontPlatformData):
638         (WebCore::FontCache::getLastResortFallbackFont):
639         * platform/graphics/chromium/FontCacheLinux.cpp:
640         (WebCore::FontCache::getSimilarFontPlatformData):
641         (WebCore::FontCache::getLastResortFallbackFont):
642         * platform/graphics/gtk/FontCacheGtk.cpp:
643         (WebCore::FontCache::getSimilarFontPlatformData):
644         (WebCore::FontCache::getLastResortFallbackFont):
645         * platform/graphics/haiku/FontCacheHaiku.cpp:
646         (WebCore::FontCache::getSimilarFontPlatformData):
647         (WebCore::FontCache::getLastResortFallbackFont):
648         * platform/graphics/qt/FontCacheQt.cpp:
649         (WebCore::FontCache::getLastResortFallbackFont):
650         * platform/graphics/win/FontCacheWin.cpp:
651         (WebCore::FontCache::getSimilarFontPlatformData):
652         (WebCore::FontCache::getLastResortFallbackFont):
653         * platform/graphics/wince/FontCacheWince.cpp:
654         * platform/graphics/wx/FontCacheWx.cpp:
655         (WebCore::FontCache::getSimilarFontPlatformData):
656         (WebCore::FontCache::getLastResortFallbackFont):
657         Updated all the previous platform methods to return a SimpleFontData.
658
659         * platform/graphics/mac/FontCacheMac.mm:
660         (WebCore::FontCache::getSimilarFontPlatformData): Updated to return a SimpleFontData.
661         (WebCore::FontCache::getLastResortFallbackFont): Ditto. Also refactored the code
662         and moved a DEFINE_STATIC_LOCAL where it is needed.
663
664 2010-02-10  Alexander Pavlov  <apavlov@chromium.org>
665
666         Reviewed by Pavel Feldman.
667
668         Web Inspector: Elements Panel: Limit the number of initially loaded element children
669         https://bugs.webkit.org/show_bug.cgi?id=34421
670
671         Test: inspector/elements-panel-limited-children.html
672
673         * English.lproj/localizedStrings.js:
674         * inspector/front-end/DOMAgent.js:
675         (WebInspector.DOMNode.prototype._insertChild):
676         * inspector/front-end/ElementsPanel.js:
677         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
678         * inspector/front-end/ElementsTreeOutline.js:
679         (WebInspector.ElementsTreeOutline.prototype.createTreeElementFor):
680         (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
681         (WebInspector.ElementsTreeElement):
682         (WebInspector.ElementsTreeElement.prototype.get expandedChildrenLimit):
683         (WebInspector.ElementsTreeElement.prototype.set expandedChildrenLimit):
684         (WebInspector.ElementsTreeElement.prototype.get expandedChildCount):
685         (WebInspector.ElementsTreeElement.prototype.showChild):
686         (WebInspector.ElementsTreeElement.prototype.insertChildElement):
687         (WebInspector.ElementsTreeElement.prototype.moveChild):
688         (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
689         (WebInspector.ElementsTreeElement.prototype._updateChildren):
690         (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
691         (WebInspector.ElementsTreeElement.prototype.handleLoadAllChildren):
692         ():
693         * inspector/front-end/inspector.css:
694
695 2010-02-10  Mikhail Naganov  <mnaganov@chromium.org>
696
697         Reviewed by Pavel Feldman.
698
699         Remove several #if USE(JSC) branches. Introduce ScriptDebugServer class for
700         making JavaScriptDebugServer engine-agnostic.
701
702         https://bugs.webkit.org/show_bug.cgi?id=34795
703
704         * GNUmakefile.am:
705         * WebCore.gypi:
706         * WebCore.pro:
707         * WebCore.xcodeproj/project.pbxproj:
708         * bindings/js/JSBindingsAllInOne.cpp:
709         * bindings/js/ScriptDebugServer.cpp: Added.
710         (WebCore::ScriptDebugServer::recompileAllJSFunctions):
711         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
712         * bindings/js/ScriptDebugServer.h: Added.
713         * bindings/v8/ScriptDebugServer.cpp: Added.
714         (WebCore::ScriptDebugServer::recompileAllJSFunctions):
715         (WebCore::ScriptDebugServer::recompileAllJSFunctionsSoon):
716         * bindings/v8/ScriptDebugServer.h: Added.
717         * inspector/InspectorController.cpp:
718         (WebCore::InspectorController::startUserInitiatedProfiling):
719         (WebCore::InspectorController::enableProfiler):
720         (WebCore::InspectorController::disableProfiler):
721         * page/Console.cpp:
722         (WebCore::Console::profile):
723         (WebCore::Console::profileEnd):
724
725 2009-10-06  Yongjun Zhang  <yongjun.zhang@nokia.com>
726
727         Reviewed by Simon Hausmann.
728
729         Make JObjectWrapper::ref() and deref() public accessible to derefIfNull().
730
731         Will be reverted when the following winscw compiler bug is fixed.
732         https://xdabug001.ext.nokia.com/bugzilla/show_bug.cgi?id=9812
733
734         https://bugs.webkit.org/show_bug.cgi?id=28054
735
736         * bridge/jni/jsc/JavaInstanceJSC.h:
737         * bridge/jni/v8/JavaInstanceV8.h:
738
739 2010-02-10  Yaar Schnitman  <yaar@chromium.org>
740
741         Reviewed by Adam Barth.
742
743         Simplified RuntimeEnabledFeatures and corresponding v8 generated code
744         https://bugs.webkit.org/show_bug.cgi?id=34667
745
746         * WebCore.gypi:
747         * bindings/generic/RuntimeEnabledFeatures.cpp: Added.
748         (WebCore::RuntimeEnabledFeatures::audioEnabled):
749         (WebCore::RuntimeEnabledFeatures::htmlMediaElementEnabled):
750         (WebCore::RuntimeEnabledFeatures::htmlAudioElementEnabled):
751         (WebCore::RuntimeEnabledFeatures::htmlVideoElementEnabled):
752         (WebCore::RuntimeEnabledFeatures::mediaErrorEnabled):
753         (WebCore::RuntimeEnabledFeatures::sharedWorkerEnabled):
754         (WebCore::RuntimeEnabledFeatures::webSocketEnabled):
755         (WebCore::RuntimeEnabledFeatures::openDatabaseEnabled):
756         * bindings/generic/RuntimeEnabledFeatures.h: Added.
757         (WebCore::RuntimeEnabledFeatures::setLocalStorageEnabled):
758         (WebCore::RuntimeEnabledFeatures::localStorageEnabled):
759         (WebCore::RuntimeEnabledFeatures::setSessionStorageEnabled):
760         (WebCore::RuntimeEnabledFeatures::sessionStorageEnabled):
761         (WebCore::RuntimeEnabledFeatures::setWebkitNotificationsEnabled):
762         (WebCore::RuntimeEnabledFeatures::webkitNotificationsEnabled):
763         (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
764         (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
765         (WebCore::RuntimeEnabledFeatures::setGeolocationEnabled):
766         (WebCore::RuntimeEnabledFeatures::geolocationEnabled):
767         (WebCore::RuntimeEnabledFeatures::setIndexedDBEnabled):
768         (WebCore::RuntimeEnabledFeatures::indexedDBEnabled):
769         (WebCore::RuntimeEnabledFeatures::RuntimeEnabledFeatures):
770         * bindings/scripts/CodeGenerator.pm:
771         * bindings/scripts/CodeGeneratorV8.pm:
772         * bindings/v8/RuntimeEnabledFeatures.cpp: Removed.
773         * bindings/v8/RuntimeEnabledFeatures.h: Removed.
774         * bindings/v8/custom/V8DOMWindowCustom.cpp:
775         * bindings/v8/custom/V8NavigatorCustom.cpp:
776         * bindings/v8/custom/V8WorkerContextCustom.cpp:
777
778 2010-02-09  Alexander Pavlov  <apavlov@chromium.org>
779
780         Reviewed by Pavel Feldman.
781
782         Web Inspector: Add two basic categories for the Audits panel
783         https://bugs.webkit.org/show_bug.cgi?id=32930
784
785         * WebCore.gypi:
786         * WebCore.vcproj/WebCore.vcproj:
787         * inspector/front-end/AuditCategories.js: Added.
788         (WebInspector.AuditCategories.PagePerformance):
789         (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
790         (WebInspector.AuditCategories.NetworkUtilization):
791         (WebInspector.AuditCategories.NetworkUtilization.prototype.initialize):
792         * inspector/front-end/AuditLauncherView.js:
793         (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
794         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
795         (WebInspector.AuditLauncherView.prototype.show):
796         * inspector/front-end/AuditRules.js: Added.
797         (WebInspector.AuditRules.arrayAsUL):
798         (WebInspector.AuditRules.getDomainToResourcesMap):
799         (WebInspector.AuditRules.evaluateInTargetWindow):
800         (WebInspector.AuditRules.GzipRule):
801         (WebInspector.AuditRules.GzipRule.prototype.doRun):
802         (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
803         (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
804         (WebInspector.AuditRules.CombineExternalResourcesRule):
805         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
806         (WebInspector.AuditRules.CombineJsResourcesRule):
807         (WebInspector.AuditRules.CombineCssResourcesRule):
808         (WebInspector.AuditRules.MinimizeDnsLookupsRule):
809         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
810         (WebInspector.AuditRules.ParallelizeDownloadRule):
811         (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
812         (WebInspector.AuditRules.UnusedCssRule):
813         (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedStylesheetRatioMessage):
814         (WebInspector.AuditRules.UnusedCssRule.prototype._getUnusedTotalRatioMessage):
815         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
816         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
817         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
818         (WebInspector.AuditRules.CacheControlRule):
819         (WebInspector.AuditRules.CacheControlRule.prototype.InfoCheck.1.FailCheck.0.WarningCheck.1.SevereCheck.2.doRun):
820         (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
821         (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources):
822         (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
823         (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan):
824         (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
825         (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
826         (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
827         (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable):
828         (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
829         (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration):
830         (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable):
831         (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
832         (WebInspector.AuditRules.BrowserCacheControlRule):
833         (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
834         (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
835         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck):
836         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck):
837         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck):
838         (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
839         (WebInspector.AuditRules.ProxyCacheControlRule):
840         (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
841         (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck):
842         (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck):
843         (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
844         (WebInspector.AuditRules.ImageDimensionsRule):
845         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
846         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasDimension):
847         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasWidth):
848         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine.hasHeight):
849         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.routine):
850         (WebInspector.AuditRules.CssInHeadRule):
851         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
852         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine.allViews):
853         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.routine):
854         (WebInspector.AuditRules.StylesScriptsOrderRule):
855         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
856         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.routine):
857         (WebInspector.AuditRules.CookieRuleBase):
858         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
859         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
860         (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies):
861         (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
862         (WebInspector.AuditRules.CookieSizeRule):
863         (WebInspector.AuditRules.CookieSizeRule.prototype._average):
864         (WebInspector.AuditRules.CookieSizeRule.prototype._max):
865         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
866         (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies.avgSizeSorter):
867         (WebInspector.AuditRules.StaticCookielessRule):
868         (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
869         (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
870         * inspector/front-end/AuditsPanel.js:
871         (WebInspector.AuditsPanel.prototype._constructCategories):
872         (WebInspector.AuditsPanel.prototype._reloadResources):
873         (WebInspector.AuditsPanel.prototype.show):
874         (WebInspector.AuditsPanel.prototype._updateLauncherViewControls):
875         (WebInspector.AuditCategory):
876         (WebInspector.AuditCategory.prototype.get id):
877         (WebInspector.AuditCategory.prototype.get ruleCount):
878         (WebInspector.AuditCategory.prototype.runRules):
879         (WebInspector.AuditCategory.prototype._ensureInitialized):
880         (WebInspector.AuditCategoryResult):
881         * inspector/front-end/WebKit.qrc:
882         * inspector/front-end/audits.css:
883         * inspector/front-end/inspector.html:
884         * inspector/front-end/inspector.js:
885         (WebInspector.loaded):
886         (WebInspector.addPanelToolbarIcon):
887         (WebInspector.documentKeyDown):
888
889 2010-02-10  Adam Barth  <abarth@webkit.org>
890
891         Reviewed by Darin Adler.
892
893         Freeze sandbox attributes on creation
894         https://bugs.webkit.org/show_bug.cgi?id=34184
895
896         This is how the spec works now.
897
898         Test: fast/frames/sandboxed-iframe-forms-dynamic.html
899
900         * bindings/ScriptControllerBase.cpp:
901         (WebCore::ScriptController::canExecuteScripts):
902         * bindings/generic/BindingDOMWindow.h:
903         (WebCore::::createWindow):
904         * bindings/js/JSDOMWindowCustom.cpp:
905         (WebCore::createWindow):
906         * dom/Document.cpp:
907         * dom/Document.h:
908         * loader/FrameLoader.cpp:
909         (WebCore::FrameLoader::submitForm):
910         (WebCore::FrameLoader::requestObject):
911         (WebCore::FrameLoader::shouldAllowNavigation):
912         (WebCore::FrameLoader::updateSandboxFlags):
913         * page/SecurityOrigin.cpp:
914         * page/SecurityOrigin.h:
915
916 2010-02-09  Ariya Hidayat  <ariya.hidayat@gmail.com>
917
918         Rubber-stamped by Kenneth Rohde Christiansen.
919
920         [Qt] Remove old, outdated unused code block.
921
922         * platform/graphics/qt/GraphicsContextQt.cpp:
923
924 2010-02-09  Chris Guillory  <ctguil@google.com>
925
926         Reviewed by Darin Fisher.
927
928         [Chromium] Notify ChromeClientChromium of state change notifications.
929         
930         https://bugs.webkit.org/show_bug.cgi?id=34464
931
932         * accessibility/chromium/AXObjectCacheChromium.cpp:
933         (WebCore::toChromeClientChromium):
934         (WebCore::AXObjectCache::postPlatformNotification):
935         * page/chromium/ChromeClientChromium.h:
936
937 2010-02-09  Kwang Yul Seo  <skyul@company100.net>
938
939         Reviewed by Adam Barth.
940
941         [BREWMP] Port PlatformMouseEvent
942         https://bugs.webkit.org/show_bug.cgi?id=34600
943
944         Retrieve the event type, position, key modifiers, time stamp
945         and click count from AEEEvent.
946
947         * platform/PlatformMouseEvent.h:
948         * platform/brew/PlatformMouseEventBrew.cpp: Added.
949         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
950
951 2010-02-09  Avi Drissman  <avi@chromium.org>
952
953         Reviewed by Timothy Hatcher.
954
955         [Chromium] RenderTheme does not draw focus rings on SL for checkboxes, radio buttons
956         https://bugs.webkit.org/show_bug.cgi?id=34544
957
958         Covered by layout tests when run on SL.
959
960         * platform/chromium/ThemeChromiumMac.mm:
961         (-[TCMVisibleView _focusRingVisibleRect]):
962         (-[TCMVisibleView _focusRingClipAncestor]):
963         (FocusIndicationFix::currentOSHasSetFocusRingStyleInBitmapBug):
964         (FocusIndicationFix::swizzleFocusView):
965         (FocusIndicationFix::ScopedFixer::ScopedFixer):
966         (FocusIndicationFix::ScopedFixer::~ScopedFixer):
967         (+[NSView TCMInterposing_focusView]):
968         (WebCore::paintCheckbox):
969         (WebCore::paintRadio):
970         (WebCore::paintButton):
971
972 2010-02-09  Anton Muhin  <antonm@chromium.org>
973
974         Reviewed by Nate Chapin.
975
976         [v8] Check if returned wrapper is empty before operating on it.
977         https://bugs.webkit.org/show_bug.cgi?id=34746
978
979         * bindings/v8/custom/V8DocumentCustom.cpp:
980         (WebCore::toV8):
981         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
982         (WebCore::toV8):
983         * bindings/v8/custom/V8SVGDocumentCustom.cpp:
984         (WebCore::toV8):
985
986 2010-02-09  Mikhail Naganov  <mnaganov@chromium.org>
987
988         Reviewed by Pavel Feldman.
989
990         Continuing debugger and profiler unforking: narrow scope of JSC-specific ifdefs.
991         Also, enable JAVASCRIPT_DEBUGGER explicitly in features, it appears to be required
992         for really enabling it in V8 bindings generation.
993
994         https://bugs.webkit.org/show_bug.cgi?id=34706
995
996         * inspector/InjectedScriptHost.idl:
997         * inspector/InspectorBackend.cpp:
998         (WebCore::InspectorBackend::currentCallFrame):
999         (WebCore::InspectorBackend::getProfile):
1000         * inspector/InspectorBackend.h:
1001         * inspector/InspectorBackend.idl:
1002         * inspector/InspectorController.cpp:
1003         (WebCore::InspectorController::InspectorController):
1004         (WebCore::InspectorController::addProfile):
1005         (WebCore::InspectorController::getProfile):
1006         (WebCore::InspectorController::startUserInitiatedProfiling):
1007         (WebCore::InspectorController::stopUserInitiatedProfiling):
1008         (WebCore::InspectorController::enableProfiler):
1009         (WebCore::InspectorController::disableProfiler):
1010         * inspector/InspectorController.h:
1011         * inspector/InspectorFrontend.cpp:
1012         (WebCore::InspectorFrontend::pausedScript):
1013         (WebCore::InspectorFrontend::resumedScript):
1014         (WebCore::InspectorFrontend::profilerWasEnabled):
1015         (WebCore::InspectorFrontend::profilerWasDisabled):
1016         (WebCore::InspectorFrontend::didGetProfile):
1017         * inspector/InspectorFrontend.h:
1018         * page/Console.idl:
1019
1020 2010-02-09  Gavin Barraclough  <barraclough@apple.com>
1021
1022         Rubber Stamped by Geoff Garen.
1023
1024         Rename StringBuilder::release && JSStringBuilder::releaseJSString
1025         to 'build()'.
1026
1027         * bindings/js/ScriptString.h:
1028         (WebCore::ScriptString::operator+=):
1029
1030 2010-02-09  Dan Bernstein  <mitz@apple.com>
1031
1032         Reviewed by Anders Carlsson.
1033
1034         <rdar://problem/7400160> Netscape plug-ins are not instantiated on property access if there are pending stylesheets
1035         https://bugs.webkit.org/show_bug.cgi?id=34776
1036
1037         Tests: plugins/instance-available-before-stylesheets-loaded-object.html
1038                plugins/instance-available-before-stylesheets-loaded.html
1039
1040         * html/HTMLEmbedElement.cpp:
1041         (WebCore::HTMLEmbedElement::renderWidgetForJSBindings): Call
1042         updateLayoutIgnorePendingStylesheets() before checking for a renderer. 
1043         * html/HTMLObjectElement.cpp:
1044         (WebCore::HTMLObjectElement::renderWidgetForJSBindings): Ditto.
1045
1046 2010-02-09  Alejandro G. Castro  <alex@igalia.com>
1047
1048         Reviewed by Darin Adler.
1049
1050         Problems navigating by caret in links whose text wraps onto
1051         subsequent lines.
1052         https://bugs.webkit.org/show_bug.cgi?id=25676
1053
1054         We should not search ahead if we are not in the last element.
1055
1056         * dom/Position.cpp:
1057
1058 2010-02-09  Dirk Schulze  <krit@webkit.org>
1059
1060         Reviewed by Nikolas Zimmermann.
1061
1062         More optimization for AffineTransform with SVG
1063         https://bugs.webkit.org/show_bug.cgi?id=34774
1064
1065         Some optimizations to safe unnecessary summations and multiplications.
1066         Optimize AffineTransform to handle an identity or translation matrix
1067         more efficient.
1068         Added translationRight to avoid multiplications of matrices as much as
1069         possible.
1070
1071         No tests added, no change of functionality.   
1072
1073         * platform/graphics/transforms/AffineTransform.cpp:
1074         (WebCore::AffineTransform::inverse):
1075         (WebCore::AffineTransform::translate):
1076         (WebCore::AffineTransform::translateRight):
1077         * platform/graphics/transforms/AffineTransform.h:
1078         * rendering/RenderForeignObject.cpp:
1079         (WebCore::RenderForeignObject::translationForAttributes):
1080         (WebCore::RenderForeignObject::localToParentTransform):
1081         * rendering/RenderForeignObject.h:
1082         * rendering/RenderSVGRoot.cpp:
1083         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
1084         (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
1085         (WebCore::RenderSVGRoot::localToParentTransform):
1086         * rendering/RenderSVGViewportContainer.cpp:
1087         (WebCore::RenderSVGViewportContainer::localToParentTransform):
1088         * rendering/SVGRootInlineBox.cpp:
1089         (WebCore::applyTextLengthCorrectionToTextChunk):
1090
1091 2010-02-09  Dirk Schulze  <krit@webkit.org>
1092
1093         Reviewed by Nikolas Zimmermann.
1094
1095         SVG patterns with some scale patternTransform are not displayed correctly for small elements
1096         https://bugs.webkit.org/show_bug.cgi?id=25484
1097
1098         SVG Pattern size was clipped to the size of the target, if the pattern is bigger than the target. This
1099         causes problems, if the patternTransform scales the pattern. This patch deletes the clipping.
1100
1101         Tests: svg/custom/pattern-excessive-malloc.svg
1102                svg/custom/pattern-size-bigger-than-target-size.svg
1103                svg/custom/pattern-skew-transformed.svg
1104
1105         * svg/SVGPatternElement.cpp:
1106         (WebCore::SVGPatternElement::buildPattern):
1107
1108 2010-02-09  Darin Adler  <darin@apple.com>
1109
1110         * rendering/RenderObject.cpp:
1111         (WebCore::RenderObject::styleDidChange): Fixed typo in comment.
1112
1113 2010-02-09  MORITA Hajime  <morrita@gmail.com>
1114
1115         Reviewed by Nikolas Zimmermann.
1116
1117         SVG selection text foreground colour does not respect user settings
1118         https://bugs.webkit.org/show_bug.cgi?id=15997
1119
1120         Add two subphases SVGTextPaintSubphaseGlyphFillSelection and
1121         SVGTextPaintSubphaseGlyphStrokeSelection for painting selected
1122         text on SVG. Selected texts are painted with style from
1123         getCachedPseudoStyle() instead of style().
1124         
1125         Tests: svg/text/selection-styles.xhtml
1126
1127         * rendering/SVGCharacterLayoutInfo.h:
1128         (WebCore::SVGTextChunkWalker::SVGTextChunkWalker):
1129         (WebCore::SVGTextChunkWalker::setupFillSelection):
1130         (WebCore::SVGTextChunkWalker::setupStrokeSelection):
1131         * rendering/SVGRootInlineBox.cpp:
1132         (WebCore::SVGRootInlineBoxPaintWalker::mayHaveSelection):
1133         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupFillSelectionCallback):
1134         (WebCore::SVGRootInlineBoxPaintWalker::chunkSetupStrokeSelectionCallback):
1135         (WebCore::SVGRootInlineBoxPaintWalker::activePaintServer):
1136         (WebCore::SVGRootInlineBox::paint):
1137         (WebCore::SVGRootInlineBox::walkTextChunks):
1138         * rendering/SVGInlineTextBox.h:
1139         (WebCore::):        
1140         Add callback hooks and its implementation for handle new
1141         subphases.
1142         
1143         * rendering/SVGInlineTextBox.cpp:
1144         (WebCore::SVGInlineTextBox::chunkSelectionStartEnd):
1145         (WebCore::SVGInlineTextBox::paintCharacters):
1146         Split box text into selected part and non-selected part, and use
1147         separate subphases to paint them.
1148         
1149         * svg/SVGFont.cpp:
1150         (WebCore::SVGTextRunWalker::walk):
1151         Relax ASSERT() condition to accept a part of text.
1152         
1153         * svg/graphics/SVGPaintServer.cpp:
1154         (WebCore::applyStrokeStyleToContext):
1155         (WebCore::SVGPaintServer::setup):
1156         * svg/graphics/SVGPaintServer.h:
1157         * svg/graphics/SVGPaintServerGradient.cpp:
1158         (WebCore::SVGPaintServerGradient::setup):
1159         * svg/graphics/SVGPaintServerGradient.h:
1160         * svg/graphics/SVGPaintServerPattern.cpp:
1161         (WebCore::SVGPaintServerPattern::setup):
1162         * svg/graphics/SVGPaintServerPattern.h:
1163         * svg/graphics/SVGPaintServerSolid.cpp:
1164         (WebCore::SVGPaintServerSolid::setup):
1165         * svg/graphics/SVGPaintServerSolid.h:
1166         Change setup() signature to accept RenderStyle instead of always
1167         using RenderObject::style().
1168
1169 2010-02-09  Nikolas Zimmermann  <nzimmermann@rim.com>
1170
1171         Reviewed by Dirk Schulze.
1172
1173         No scroll bars are displayed for standalone SVG image
1174         https://bugs.webkit.org/show_bug.cgi?id=11225
1175
1176         Height and width defined for svg element are not honored
1177         https://bugs.webkit.org/show_bug.cgi?id=24033
1178
1179         SVG file does not pan and has no scroll bars
1180         https://bugs.webkit.org/show_bug.cgi?id=24448
1181
1182         Adapt to SVG 1.1 errata to change the overflow handling:
1183         Replace "svg { overflow: hidden }"  by "svg:not(:root) { overflow: hidden }" to allow standalone SVG documents to contain scrolllbars.
1184         Agreed by SVG WG to make this the default behaviour, already implemented by Opera & FireFox (partial support).
1185
1186         Add new tests in svg/overflow covering all special SVG css overflow handling rules on inner/outer svg elements.
1187
1188         Tests: svg/overflow/overflow-on-inner-svg-element-defaults.svg
1189                svg/overflow/overflow-on-inner-svg-element.svg
1190                svg/overflow/overflow-on-outermost-svg-element-defaults.svg
1191                svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1.svg
1192                svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-2.svg
1193                svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-3.svg
1194                svg/overflow/overflow-on-outermost-svg-element-in-xhtml-auto.xhtml
1195                svg/overflow/overflow-on-outermost-svg-element-in-xhtml-defaults.xhtml
1196                svg/overflow/overflow-on-outermost-svg-element-in-xhtml-hidden.xhtml
1197                svg/overflow/overflow-on-outermost-svg-element-in-xhtml-scroll.xhtml
1198                svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml
1199
1200         * css/svg.css: Change default <svg> overflow rule to only apply to inner <svg> elements.
1201         * page/FrameView.cpp: 
1202         (WebCore::FrameView::layout): Only apply overflow rules for non-standalone SVG documents.
1203         * rendering/RenderSVGRoot.cpp: Remove all calls to isOverflowHidden - it's always the case for the outermost SVG element, see spec + errata.
1204         (WebCore::RenderSVGRoot::paint): Always clip to initial viewport size.
1205         (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
1206         (WebCore::RenderSVGRoot::nodeAtPoint): Simplify.
1207         * rendering/RenderSVGViewportContainer.cpp:
1208         (WebCore::RenderSVGViewportContainer::applyViewportClip): Use isOverflowHidden() instead of a manual oveflow query and clip in float precision.
1209         * rendering/SVGRenderSupport.cpp:
1210         (WebCore::SVGRenderBase::isOverflowHidden): Simplify implementation, assure the function is not called anymore for RenderSVGRoot objects.
1211
1212 2010-02-09  Kwang Yul Seo  <skyul@company100.net>
1213
1214         Reviewed by Eric Seidel.
1215
1216         [BREWMP] Port KURL::fileSystemPath
1217         https://bugs.webkit.org/show_bug.cgi?id=34516
1218
1219         Convert a file URL to a file path by prefixing
1220         AEEFS_HOME_DIR to access files relative to the current
1221         module directory in a case-sensitive manner.
1222
1223         As IWeb "file:" engine opens files in BREW's application-relative
1224         file namespace, we follow the same policy here.
1225
1226         * platform/brew/KURLBrew.cpp: Added.
1227         (WebCore::KURL::fileSystemPath):
1228
1229 2010-02-09  Noam Rosenthal  <noam.rosenthal@nokia.com>
1230
1231         Reviewed by Kenneth Rohde Christiansen.
1232
1233         [Qt] the above website does not render properly when in compositing mode
1234         https://bugs.webkit.org/show_bug.cgi?id=34681
1235
1236         http://media.24ways.org/2009/15/spinner-alt.html now renders correctly
1237
1238         * platform/graphics/qt/GraphicsLayerQt.cpp:
1239         (WebCore::MaskEffectQt::MaskEffectQt): implement mask as
1240         QGraphicsEffect
1241         (WebCore::MaskEffectQt::draw): reimp
1242         (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl): init the effect
1243         (WebCore::GraphicsLayerQtImpl::paint): no need for drawContents
1244         (WebCore::GraphicsLayerQtImpl::flushChanges): make sure to update the
1245         mask layer, not just the actual children
1246
1247 2010-02-09  Kwang Yul Seo  <skyul@company100.net>
1248
1249         Reviewed by Laszlo Gombos.
1250
1251         [BREWMP] Fix macro redefinition error in BREWMP simulator build.
1252         https://bugs.webkit.org/show_bug.cgi?id=34738
1253
1254         Remove warning: 'FAR' macro redefinition.
1255
1256         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1257
1258 2010-02-07  Yuzo Fujishima  <yuzo@google.com>
1259
1260         Reviewed by Dan Bernstein.
1261
1262         Fix the following bugs:
1263         https://bugs.webkit.org/show_bug.cgi?id=18926 - dt:after generate a line break. Boost documentation page renders poorly
1264         https://bugs.webkit.org/show_bug.cgi?id=7276 - Most W3C padding related tests fail
1265
1266         Tests: fast/css/inline-element-line-break.html
1267                fast/css/pseudo-element-line-break.html
1268
1269         findNextLineBreak() unconditionally allowed lines to break between elements when no other line breaking opportunity had been found,
1270         but that was unnecessary and led to incorrect layout. Disallow that kind of line breaks.
1271
1272         * rendering/RenderBlockLineLayout.cpp:
1273         (WebCore::RenderBlock::findNextLineBreak):
1274
1275 2010-02-09  Shinichiro Hamaji  <hamaji@chromium.org>
1276
1277         Reviewed by Darin Adler.
1278
1279         Provide a way to get total number of pages to be printed
1280         https://bugs.webkit.org/show_bug.cgi?id=34699
1281
1282         Test: printing/numberOfPages.html
1283
1284         * WebCore.base.exp:
1285         * page/PrintContext.cpp:
1286         (WebCore::PrintContext::pageNumberForElement):
1287         (WebCore::PrintContext::numberOfPages):
1288         * page/PrintContext.h:
1289         (WebCore::PrintContext::pageRects):
1290
1291 2010-02-08  Dominic Cooney  <dominicc@google.com>
1292
1293         Reviewed by Adam Barth.
1294
1295         [V8] Move Element custom methods into generic bindings
1296
1297         This patch moves the security checks in setAttribute,
1298         setAttributeNode, setAttributeNS and setAttributeNodeNS from
1299         V8ElementCustom into the generic bindings so that they can be
1300         reused in other bindings. This is in a similar vein to
1301         <https://bugs.webkit.org/attachment.cgi?id=45872>.
1302
1303         https://bugs.webkit.org/show_bug.cgi?id=34554
1304
1305         LayoutTests: None
1306
1307         * WebCore.gypi:
1308         * bindings/generic/BindingElement.h: Added.
1309         (WebCore::::setAttribute):
1310         (WebCore::::setAttributeNode):
1311         (WebCore::::setAttributeNS):
1312         (WebCore::::setAttributeNodeNS):
1313         * bindings/v8/V8Binding.h:
1314         * bindings/v8/custom/V8ElementCustom.cpp:
1315         (WebCore::V8Element::setAttributeCallback):
1316         (WebCore::V8Element::setAttributeNodeCallback):
1317         (WebCore::V8Element::setAttributeNSCallback):
1318         (WebCore::V8Element::setAttributeNodeNSCallback):
1319
1320 2010-02-08  Hayato Ito  <hayato@chromium.org>
1321
1322         Reviewed by Darin Adler.
1323
1324         Schedule a loading request when there are many in-flight requests beyond
1325         the limit to avoid forever page loading.
1326
1327         https://bugs.webkit.org/show_bug.cgi?id=31227
1328
1329         Test: http/tests/loading/load-javascript-after-many-xhrs.html
1330
1331         * loader/loader.cpp:
1332         (WebCore::Loader::Host::servePendingRequests):
1333
1334 2010-02-08  David Levin  <levin@chromium.org>
1335
1336         Reviewed by Gavin Barraclough.
1337
1338         REGRESSION (before r54472): Various tests in fast/workers are crashing on the buildbot.
1339         https://bugs.webkit.org/show_bug.cgi?id=34728
1340
1341         The core part of the fix is to change WebCoreJSClientData::m_normalWorld
1342         from DOMWrapperWorld to RefPtr<DOMWrapperWorld> so that the DOMWrapperWorld
1343         is really ref counted.
1344
1345         No new tests because current tests sufficiently cover this as evidenced as
1346         the buildbot crashes.
1347
1348         * bindings/js/JSDOMBinding.cpp:
1349         (WebCore::DOMWrapperWorld::~DOMWrapperWorld): Made this robust to m_globalData
1350         being 0.
1351         * bindings/js/JSDOMBinding.h:
1352         (WebCore::DOMWrapperWorld::create): Made this class follow the standard
1353         create pattern for RefCounted classes.
1354         (WebCore::DOMWrapperWorld::detachFromGlobalData): Since this class can
1355         now outlive JSGlobalData, this method tells it to stop using its JSGlobalData.
1356         (WebCore::WebCoreJSClientData::WebCoreJSClientData): Adjusted due to
1357         m_normalWorld being a RefPtr.
1358         (WebCore::WebCoreJSClientData::~WebCoreJSClientData): Ditto (and added
1359         asserts for the FIXME).
1360         (WebCore::WebCoreJSClientData::normalWorld): Ditto.
1361         * bindings/js/ScriptController.cpp:
1362         (WebCore::IsolatedWorld::create): Made the constructor protected.
1363         (WebCore::IsolatedWorld::IsolatedWorld): Made the constructor protected, so
1364         that code would have to use the create method.
1365
1366 2010-02-08  Kinuko Yasuda  <kinuko@chromium.org>
1367
1368         Reviewed by David Levin.
1369
1370         Remove special utf-8 tag from Chromium cilpboard code because
1371         we now have the corresponding code in generic clipboard framework
1372         code in chromium (since it's needed by other places than in Web
1373         page rendering) and no longer need the separate workaround code in
1374         WebKit.
1375         https://bugs.webkit.org/show_bug.cgi?id=34567
1376
1377         Test: (for regression) editing/pasteboard
1378
1379         * platform/chromium/ClipboardChromium.cpp:
1380         (WebCore::ClipboardChromium::writeRange):
1381         * platform/chromium/PasteboardChromium.cpp:
1382         (WebCore::Pasteboard::writeSelection):
1383         (WebCore::Pasteboard::documentFragment):
1384
1385 2010-02-08  Darin Adler  <darin@apple.com>
1386
1387         Reviewed by Dan Bernstein.
1388
1389         Crash due to layout not done in case involving removal of absolute positioning
1390         https://bugs.webkit.org/show_bug.cgi?id=34734
1391         rdar://problem/7588280
1392
1393         Test: fast/dynamic/position-change-layout.html
1394
1395         * rendering/RenderObject.cpp:
1396         (WebCore::RenderObject::styleDidChange): Call markContainingBlocksForLayout in
1397         a case where the object already needs layout, but might have a new containing
1398         block and so needs to mark the new containing block.
1399
1400 2010-02-08  Charlie Reis  <creis@chromium.org>
1401
1402         Reviewed by Darin Adler.
1403
1404         onbeforeunload not called at window close + frame or iframe focused
1405         https://bugs.webkit.org/show_bug.cgi?id=27481
1406         
1407         Chromium and WebKit on Windows will now fire beforeunload handlers
1408         even if an inner frame is focused.  
1409
1410         Layout tests aren't able to test this bug, since it requires closing
1411         the actual browser window, not calling window.close().  Instead,
1412         test with WebCore/manual-tests/onbeforeunload-focused-iframe.html.
1413
1414         * manual-tests/onbeforeunload-focused-iframe.html: Added.
1415         * manual-tests/resources/focused-iframe.html: Added.
1416
1417 2010-02-08  Alexey Proskuryakov  <ap@apple.com>
1418
1419         Addressing review feedback.
1420
1421         * bridge/c/c_instance.h: Removed argument name.
1422
1423 2010-02-08  Alexey Proskuryakov  <ap@apple.com>
1424
1425         Reviewed by Darin Adler.
1426
1427         https://bugs.webkit.org/show_bug.cgi?id=34727
1428         Assertion crashes and freezes when plug-in property access results in an exception
1429
1430         Test: plugins/netscape-plugin-property-access-exception.html
1431
1432         * bridge/c/c_instance.h: Made moveGlobalExceptionToExecState public, since it also need to
1433         be called from CField.
1434
1435         * bridge/c/c_runtime.cpp:
1436         (JSC::Bindings::CField::valueFromInstance): Call moveGlobalExceptionToExecState(). Without
1437         this, not only didn't we get exceptions, but we also got an assertion failure because of
1438         dangling global exception on next call into plug-in.
1439         (JSC::Bindings::CField::setValueToInstance): Ditto.
1440
1441 2010-02-08  Dirk Schulze  <krit@webkit.org>
1442
1443         Unreviewed build fix of ChromiumWin.
1444
1445         * platform/graphics/chromium/TransparencyWin.cpp:
1446         (WebCore::):
1447         (WebCore::TransparencyWin::setupLayerForOpaqueCompositeLayer):
1448         (WebCore::TransparencyWin::setupTransformForKeepTransform):
1449         * platform/graphics/chromium/TransparencyWin.h:
1450         * rendering/RenderThemeChromiumWin.cpp:
1451         (WebCore::):
1452
1453 2010-02-05  Dumitru Daniliuc  <dumi@chromium.org>
1454
1455         Reviewed by Jeremy Orlow.
1456
1457         Adding a way to get the set of all open database handles pointing
1458         to a given database.
1459         https://bugs.webkit.org/show_bug.cgi?id=34619
1460
1461         Sometimes we need to be able to close all handles to a database as
1462         soon as possible (to delete the DB file, for example).
1463
1464         * storage/DatabaseTracker.cpp:
1465         (WebCore::DatabaseTracker::getOpenDatabases):
1466         * storage/DatabaseTracker.h:
1467         * storage/chromium/DatabaseTrackerChromium.cpp:
1468         (WebCore::DatabaseTracker::addOpenDatabase):
1469         (WebCore::DatabaseTracker::removeOpenDatabase):
1470         (WebCore::DatabaseTracker::getOpenDatabases):
1471
1472 2010-02-08  Dirk Schulze  <krit@webkit.org>
1473
1474         Unreviewed windows build-fix.
1475
1476         * page/win/FrameCGWin.cpp:
1477         (WebCore::drawRectIntoContext):
1478
1479 2010-02-08  Dirk Schulze  <krit@webkit.org>
1480
1481         Reviewed by Nikolas Zimmermann.
1482
1483         Add back an AffineTransform class for use by SVG
1484         https://bugs.webkit.org/show_bug.cgi?id=33750
1485
1486         This adds back AffineTransform. This saves additional 4% memory consumption
1487         on the 50k rects stress test: https://bugs.webkit.org/attachment.cgi?id=46721
1488         It also makes it possible to optimize the calculations internally of
1489         AffineTransform to the needs of 2D transformations (the second benefit for SVG,
1490         which uses transformations relative often at the moment.
1491         Everything that is 2D related (like images, patterns, gradients, fonts), uses
1492         AffineTransform now.
1493
1494         * WebCore.xcodeproj/project.pbxproj:
1495         * bindings/js/JSSVGMatrixCustom.cpp:
1496         (WebCore::JSSVGMatrix::multiply):
1497         (WebCore::JSSVGMatrix::inverse):
1498         (WebCore::JSSVGMatrix::rotateFromVector):
1499         * bindings/js/JSSVGPODTypeWrapper.h:
1500         * bindings/scripts/CodeGeneratorJS.pm:
1501         * bindings/scripts/CodeGeneratorObjC.pm:
1502         * bindings/scripts/CodeGeneratorV8.pm:
1503         * bindings/v8/V8Index.h:
1504         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
1505         (WebCore::V8SVGMatrix::multiplyCallback):
1506         (WebCore::V8SVGMatrix::inverseCallback):
1507         (WebCore::V8SVGMatrix::rotateFromVectorCallback):
1508         * html/HTMLCanvasElement.cpp: Changed to AffineTransform now
1509         (WebCore::HTMLCanvasElement::baseTransform):
1510         * html/HTMLCanvasElement.h:
1511         * platform/graphics/FloatPoint.cpp:
1512         (WebCore::FloatPoint::matrixTransform):
1513         * platform/graphics/FloatPoint.h:
1514         * platform/graphics/GeneratedImage.cpp:
1515         (WebCore::GeneratedImage::drawPattern):
1516         * platform/graphics/GeneratedImage.h:
1517         * platform/graphics/Gradient.cpp:
1518         (WebCore::Gradient::setGradientSpaceTransform):
1519         (WebCore::Gradient::setPlatformGradientSpaceTransform):
1520         * platform/graphics/Gradient.h:
1521         (WebCore::Gradient::gradientSpaceTransform):
1522         * platform/graphics/GraphicsContext.h:
1523         * platform/graphics/Image.cpp:
1524         (WebCore::Image::drawTiled):
1525         * platform/graphics/Image.h:
1526         * platform/graphics/ImageBuffer.h:
1527         (WebCore::ImageBuffer::baseTransform):
1528         * platform/graphics/Path.h:
1529         * platform/graphics/Pattern.cpp:
1530         (WebCore::Pattern::setPatternSpaceTransform):
1531         * platform/graphics/Pattern.h:
1532         (WebCore::Pattern::create):
1533         (WebCore::Pattern::tileImage):
1534         * platform/graphics/cairo/FontCairo.cpp:
1535         (WebCore::Font::drawGlyphs):
1536         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1537         (WebCore::setPlatformFill):
1538         (WebCore::setPlatformStroke):
1539         (WebCore::GraphicsContext::getCTM):
1540         * platform/graphics/cairo/ImageCairo.cpp:
1541         (WebCore::Image::drawPattern):
1542         * platform/graphics/cairo/PathCairo.cpp:
1543         * platform/graphics/cairo/PatternCairo.cpp:
1544         (WebCore::Pattern::createPlatformPattern):
1545         * platform/graphics/cg/GraphicsContextCG.cpp:
1546         (WebCore::GraphicsContext::getCTM):
1547         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1548         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
1549         * platform/graphics/cg/ImageCG.cpp:
1550         (WebCore::Image::drawPattern):
1551         * platform/graphics/cg/PathCG.cpp:
1552         * platform/graphics/cg/PatternCG.cpp:
1553         (WebCore::Pattern::createPlatformPattern):
1554         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
1555         (WebCore::GraphicsContext::getCTM):
1556         * platform/graphics/haiku/ImageHaiku.cpp:
1557         (WebCore::Image::drawPattern):
1558         * platform/graphics/haiku/PathHaiku.cpp:
1559         * platform/graphics/qt/FontQt.cpp:
1560         (WebCore::Font::drawComplexText):
1561         * platform/graphics/qt/GraphicsContextQt.cpp:
1562         (WebCore::GraphicsContext::getCTM):
1563         (WebCore::GraphicsContext::fillPath):
1564         (WebCore::GraphicsContext::strokePath):
1565         (WebCore::GraphicsContext::fillRect):
1566         * platform/graphics/qt/ImageQt.cpp:
1567         (WebCore::Image::drawPattern):
1568         * platform/graphics/qt/PathQt.cpp:
1569         * platform/graphics/qt/PatternQt.cpp:
1570         (WebCore::Pattern::createPlatformPattern):
1571         * platform/graphics/skia/GradientSkia.cpp:
1572         (WebCore::Gradient::setPlatformGradientSpaceTransform):
1573         * platform/graphics/skia/GraphicsContextSkia.cpp:
1574         (WebCore::GraphicsContext::getCTM):
1575         * platform/graphics/skia/ImageSkia.cpp:
1576         (WebCore::Image::drawPattern):
1577         * platform/graphics/skia/PathSkia.cpp:
1578         * platform/graphics/skia/PatternSkia.cpp:
1579         (WebCore::Pattern::platformPattern):
1580         * platform/graphics/skia/SkiaFontWin.cpp:
1581         (WebCore::windowsCanHandleTextDrawing):
1582         * platform/graphics/transforms/AffineTransform.cpp:
1583         (WebCore::AffineTransform::makeIdentity): needed by some parts of WebCore
1584         (WebCore::AffineTransform::scale): Didn't scale the complete matrix
1585         (WebCore::AffineTransform::translate): Didn't respect other transformations
1586         (WebCore::AffineTransform::shear): direct calculation, no extra multiply of matrices
1587         (WebCore::AffineTransform::map):
1588         (WebCore::AffineTransform::mapPoint):
1589         (WebCore::AffineTransform::mapRect):
1590         * platform/graphics/transforms/AffineTransform.h:
1591         (WebCore::AffineTransform::isIdentityOrTranslation):
1592         * platform/graphics/transforms/TransformationMatrix.cpp:
1593         (WebCore::TransformationMatrix::toAffineTransform):
1594         * platform/graphics/transforms/TransformationMatrix.h:
1595         * platform/graphics/win/FontCGWin.cpp:
1596         (WebCore::drawGDIGlyphs):
1597         * platform/graphics/win/GraphicsContextCGWin.cpp:
1598         * platform/graphics/win/GraphicsContextCairoWin.cpp:
1599         * platform/graphics/win/GraphicsContextWin.cpp:
1600         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
1601         * platform/graphics/wince/FontWince.cpp:
1602         * platform/graphics/wince/GraphicsContextWince.cpp:
1603         (WebCore::GraphicsContextPlatformPrivate::concatCTM):
1604         (WebCore::GraphicsContext::fillPath):
1605         (WebCore::GraphicsContext::strokePath):
1606         (WebCore::GraphicsContext::getCTM):
1607         (WebCore::GraphicsContext::drawBitmapPattern):
1608         * platform/graphics/wince/ImageBufferWince.cpp:
1609         (WebCore::):
1610         (WebCore::BufferedImage::drawPattern):
1611         * platform/graphics/wince/PathWince.cpp:
1612         (WebCore::Path::transform):
1613         * platform/graphics/wince/PlatformPathWince.cpp:
1614         (WebCore::drawPolygons):
1615         (WebCore::PathPolygon::transform):
1616         (WebCore::PlatformPathElement::transform):
1617         (WebCore::PlatformPath::strokePath):
1618         (WebCore::PlatformPath::fillPath):
1619         (WebCore::PlatformPath::transform):
1620         * platform/graphics/wince/PlatformPathWince.h:
1621         (WebCore::):
1622         * platform/graphics/wx/GraphicsContextWx.cpp:
1623         (WebCore::GraphicsContext::getCTM):
1624         * platform/graphics/wx/ImageWx.cpp:
1625         (WebCore::BitmapImage::drawPattern):
1626         (WebCore::Image::drawPattern):
1627         * platform/graphics/wx/PathWx.cpp:
1628         * platform/gtk/RenderThemeGtk.cpp:
1629         (WebCore::paintMozillaGtkWidget):
1630         * plugins/win/PluginViewWin.cpp:
1631         (WebCore::PluginView::paintWindowedPluginIntoContext):
1632         * rendering/RenderBox.cpp:
1633         (WebCore::RenderBox::localTransform):
1634         * rendering/RenderBox.h:
1635         * rendering/RenderBoxModelObject.cpp:
1636         (WebCore::RenderBoxModelScaleData::RenderBoxModelScaleData):
1637         (WebCore::RenderBoxModelScaleData::transform):
1638         (WebCore::RenderBoxModelScaleData::setTransform):
1639         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
1640         (WebCore::RenderBoxModelObject::paintBoxShadow):
1641         * rendering/RenderForeignObject.cpp:
1642         (WebCore::RenderForeignObject::translationForAttributes):
1643         (WebCore::RenderForeignObject::localToParentTransform):
1644         * rendering/RenderForeignObject.h:
1645         (WebCore::RenderForeignObject::localTransform):
1646         * rendering/RenderLayer.cpp:
1647         (WebCore::RenderLayer::paintLayer):
1648         * rendering/RenderObject.cpp:
1649         (WebCore::RenderObject::localTransform):
1650         (WebCore::RenderObject::localToParentTransform):
1651         (WebCore::RenderObject::absoluteTransform):
1652         * rendering/RenderObject.h:
1653         * rendering/RenderPath.cpp:
1654         (WebCore::RenderPath::localToParentTransform):
1655         (WebCore::RenderPath::localTransform):
1656         * rendering/RenderPath.h:
1657         * rendering/RenderSVGHiddenContainer.h:
1658         (WebCore::RenderSVGHiddenContainer::absoluteTransform):
1659         * rendering/RenderSVGImage.h:
1660         (WebCore::RenderSVGImage::localToParentTransform):
1661         (WebCore::RenderSVGImage::localTransform):
1662         * rendering/RenderSVGRoot.cpp:
1663         (WebCore::RenderSVGRoot::localToBorderBoxTransform):
1664         (WebCore::RenderSVGRoot::localToRepaintContainerTransform):
1665         (WebCore::RenderSVGRoot::localToParentTransform):
1666         (WebCore::RenderSVGRoot::absoluteTransform):
1667         (WebCore::RenderSVGRoot::localTransform):
1668         * rendering/RenderSVGRoot.h:
1669         * rendering/RenderSVGText.h:
1670         (WebCore::RenderSVGText::localToParentTransform):
1671         (WebCore::RenderSVGText::localTransform):
1672         * rendering/RenderSVGTransformableContainer.cpp:
1673         (WebCore::RenderSVGTransformableContainer::localToParentTransform):
1674         (WebCore::RenderSVGTransformableContainer::localTransform):
1675         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
1676         * rendering/RenderSVGTransformableContainer.h:
1677         * rendering/RenderSVGViewportContainer.cpp:
1678         (WebCore::RenderSVGViewportContainer::markerBoundaries):
1679         (WebCore::RenderSVGViewportContainer::markerContentTransformation):
1680         (WebCore::RenderSVGViewportContainer::viewportTransform):
1681         (WebCore::RenderSVGViewportContainer::localToParentTransform):
1682         (WebCore::RenderSVGViewportContainer::absoluteTransform):
1683         * rendering/RenderSVGViewportContainer.h:
1684         * rendering/SVGCharacterLayoutInfo.cpp:
1685         (WebCore::SVGChar::characterTransform):
1686         * rendering/SVGCharacterLayoutInfo.h:
1687         (WebCore::SVGTextChunkWalker::operator()):
1688         * rendering/SVGInlineTextBox.cpp:
1689         (WebCore::SVGInlineTextBox::calculateGlyphBoundaries):
1690         (WebCore::SVGInlineTextBoxClosestCharacterToPositionWalker::chunkPortionCallback):
1691         (WebCore::SVGInlineTextBoxSelectionRectWalker::chunkPortionCallback):
1692         (WebCore::SVGInlineTextBox::paintCharacters):
1693         (WebCore::SVGInlineTextBox::paintDecoration):
1694         * rendering/SVGMarkerLayoutInfo.h:
1695         (WebCore::MarkerLayout::MarkerLayout):
1696         * rendering/SVGRenderSupport.cpp:
1697         (WebCore::applyTransformToPaintInfo):
1698         * rendering/SVGRenderSupport.h:
1699         * rendering/SVGRenderTreeAsText.cpp:
1700         (WebCore::operator<<):
1701         * rendering/SVGRenderTreeAsText.h:
1702         * rendering/SVGRootInlineBox.cpp:
1703         (WebCore::SVGRootInlineBoxPaintWalker::chunkPortionCallback):
1704         (WebCore::applyTextLengthCorrectionToTextChunk):
1705         (WebCore::SVGRootInlineBox::buildLayoutInformation):
1706         * rendering/TransformState.cpp:
1707         (WebCore::TransformState::applyTransform):
1708         * rendering/TransformState.h:
1709         * svg/GradientAttributes.h:
1710         (WebCore::GradientAttributes::gradientTransform):
1711         (WebCore::GradientAttributes::setGradientTransform):
1712         * svg/PatternAttributes.h:
1713         (WebCore::PatternAttributes::patternTransform):
1714         (WebCore::PatternAttributes::setPatternTransform):
1715         * svg/SVGAnimateMotionElement.cpp:
1716         (WebCore::SVGAnimateMotionElement::resetToBaseValue):
1717         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
1718         (WebCore::SVGAnimateMotionElement::applyResultsToTarget):
1719         * svg/SVGAnimateMotionElement.h:
1720         * svg/SVGAnimateTransformElement.cpp:
1721         * svg/SVGAnimateTransformElement.h:
1722         * svg/SVGElement.h:
1723         (WebCore::SVGElement::supplementalTransform):
1724         * svg/SVGFitToViewBox.cpp:
1725         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
1726         * svg/SVGFitToViewBox.h:
1727         * svg/SVGLocatable.cpp:
1728         (WebCore::SVGLocatable::getCTM):
1729         (WebCore::SVGLocatable::getScreenCTM):
1730         (WebCore::SVGLocatable::getTransformToElement):
1731         * svg/SVGLocatable.h:
1732         * svg/SVGMarkerElement.cpp:
1733         (WebCore::SVGMarkerElement::viewBoxToViewTransform):
1734         * svg/SVGMarkerElement.h:
1735         * svg/SVGMaskElement.cpp:
1736         (WebCore::SVGMaskElement::drawMaskerContent):
1737         * svg/SVGMatrix.idl:
1738         * svg/SVGPatternElement.cpp:
1739         (WebCore::SVGPatternElement::buildPattern):
1740         * svg/SVGPreserveAspectRatio.cpp:
1741         (WebCore::SVGPreserveAspectRatio::getCTM):
1742         * svg/SVGPreserveAspectRatio.h:
1743         * svg/SVGSVGElement.cpp:
1744         (WebCore::SVGSVGElement::viewport):
1745         (WebCore::SVGSVGElement::createSVGMatrix):
1746         (WebCore::SVGSVGElement::createSVGTransformFromMatrix):
1747         (WebCore::SVGSVGElement::getCTM):
1748         (WebCore::SVGSVGElement::getScreenCTM):
1749         (WebCore::SVGSVGElement::viewBoxToViewTransform):
1750         * svg/SVGSVGElement.h:
1751         * svg/SVGStyledLocatableElement.cpp:
1752         (WebCore::SVGStyledLocatableElement::getCTM):
1753         (WebCore::SVGStyledLocatableElement::getScreenCTM):
1754         * svg/SVGStyledLocatableElement.h:
1755         * svg/SVGStyledTransformableElement.cpp:
1756         (WebCore::SVGStyledTransformableElement::getCTM):
1757         (WebCore::SVGStyledTransformableElement::getScreenCTM):
1758         (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
1759         (WebCore::SVGStyledTransformableElement::supplementalTransform):
1760         * svg/SVGStyledTransformableElement.h:
1761         (WebCore::SVGStyledTransformableElement::isStyledTransformable):
1762         (WebCore::SVGStyledTransformableElement::toPathData):
1763         * svg/SVGTextContentElement.cpp:
1764         (WebCore::SVGInlineTextBoxQueryWalker::chunkPortionCallback):
1765         * svg/SVGTextElement.cpp:
1766         (WebCore::SVGTextElement::getScreenCTM):
1767         (WebCore::SVGTextElement::getCTM):
1768         (WebCore::SVGTextElement::animatedLocalTransform):
1769         (WebCore::SVGTextElement::supplementalTransform):
1770         * svg/SVGTextElement.h:
1771         * svg/SVGTextPathElement.cpp:
1772         * svg/SVGTransform.cpp:
1773         (SVGTransform::SVGTransform):
1774         (SVGTransform::matrix):
1775         (SVGTransform::setMatrix):
1776         * svg/SVGTransform.h:
1777         * svg/SVGTransformDistance.cpp:
1778         (WebCore::SVGTransformDistance::SVGTransformDistance):
1779         (WebCore::SVGTransformDistance::scaledDistance):
1780         (WebCore::SVGTransformDistance::isZero):
1781         * svg/SVGTransformDistance.h:
1782         * svg/SVGTransformList.cpp:
1783         (SVGTransformList::createSVGTransformFromMatrix):
1784         (SVGTransformList::concatenate):
1785         (SVGTransformList::valueAsString):
1786         * svg/SVGTransformList.h:
1787         * svg/SVGTransformable.cpp:
1788         (WebCore::SVGTransformable::getCTM):
1789         (WebCore::SVGTransformable::getScreenCTM):
1790         (WebCore::SVGTransformable::parseTransformValue):
1791         * svg/SVGTransformable.h:
1792         (WebCore::SVGTransformable::):
1793         * svg/graphics/SVGPaintServerGradient.cpp:
1794         (WebCore::SVGPaintServerGradient::gradientTransform):
1795         (WebCore::SVGPaintServerGradient::setGradientTransform):
1796         (WebCore::clipToTextMask):
1797         (WebCore::SVGPaintServerGradient::setup):
1798         * svg/graphics/SVGPaintServerGradient.h:
1799         * svg/graphics/SVGPaintServerPattern.cpp:
1800         (WebCore::SVGPaintServerPattern::patternTransform):
1801         (WebCore::SVGPaintServerPattern::setPatternTransform):
1802         (WebCore::SVGPaintServerPattern::setup):
1803         * svg/graphics/SVGPaintServerPattern.h:
1804         * svg/graphics/SVGResourceClipper.cpp:
1805         (WebCore::SVGResourceClipper::applyClip):
1806         * svg/graphics/SVGResourceMarker.cpp:
1807         (WebCore::SVGResourceMarker::markerTransformation):
1808         (WebCore::SVGResourceMarker::draw):
1809         * svg/graphics/SVGResourceMarker.h:
1810         * svg/graphics/filters/SVGFEImage.cpp:
1811         * svg/graphics/filters/SVGFETile.cpp:
1812         (WebCore::FETile::apply):
1813
1814 2010-02-08  Stephen White  <senorblanco@chromium.org>
1815
1816         Reviewed by Dimitri Glazkov.
1817
1818         Make an inline function containing a static var out-of-line.  This is
1819         a workaround for Xcode 3.1 bug radar 7070016.  We tripped on this in
1820         deviceRGBColorSpaceRef on the Chromium canaries.  This is a proactive
1821         fix for the same problem in sRGBColorSpaceRef().
1822
1823         https://bugs.webkit.org/show_bug.cgi?id=34663
1824
1825         * platform/graphics/cg/GraphicsContextCG.cpp:
1826         (WebCore::sRGBColorSpaceRef):
1827         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
1828
1829 2010-02-08  Nate Chapin  <japhet@chromium.org>
1830
1831         Reviewed by Dimitri Glazkov.
1832
1833         [V8] Unify the WorkerContext V8 object wrapping code with
1834         the standard V8 object wrapping code.
1835
1836         https://bugs.webkit.org/show_bug.cgi?id=34658
1837
1838         * bindings/scripts/CodeGeneratorV8.pm:
1839         * bindings/v8/V8DOMWrapper.cpp:
1840         (WebCore::V8DOMWrapper::instantiateV8Object):
1841         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1842         * bindings/v8/V8WorkerContextEventListener.cpp:
1843         (WebCore::V8WorkerContextEventListener::handleEvent):
1844         (WebCore::V8WorkerContextEventListener::getReceiverObject):
1845         * bindings/v8/WorkerContextExecutionProxy.cpp:
1846         * bindings/v8/WorkerContextExecutionProxy.h:
1847         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1848         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
1849         (WebCore::V8NotificationCenter::createNotificationCallback):
1850         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1851         (WebCore::toV8):
1852
1853 2010-02-08  Kwang Yul Seo  <skyul@company100.net>
1854
1855         Reviewed by Darin Adler.
1856
1857         Use fastStrDup instead of strdup
1858         https://bugs.webkit.org/show_bug.cgi?id=33943
1859
1860         Replace strdup/free with fastStrDup/fastFree.
1861
1862         * bridge/IdentifierRep.h:
1863         (WebCore::IdentifierRep::IdentifierRep):
1864         * bridge/jni/JNIBridge.cpp:
1865         (JavaMethod::~JavaMethod):
1866         (appendClassName):
1867         (JavaMethod::signature):
1868         * bridge/jni/jsc/JavaClassJSC.cpp:
1869         (JavaClass::JavaClass):
1870         (JavaClass::~JavaClass):
1871         * platform/network/curl/ResourceHandleCurl.cpp:
1872         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1873         * platform/network/curl/ResourceHandleManager.cpp:
1874         (WebCore::ResourceHandleManager::~ResourceHandleManager):
1875         (WebCore::ResourceHandleManager::setCookieJarFileName):
1876         (WebCore::ResourceHandleManager::initializeHandle):
1877         * plugins/PluginStream.cpp:
1878         (WebCore::PluginStream::~PluginStream):
1879         (WebCore::PluginStream::startStream):
1880         * xml/XSLTProcessorLibxslt.cpp:
1881         (WebCore::xsltParamArrayFromParameterMap):
1882         (WebCore::freeXsltParamArray):
1883
1884 2010-02-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1885
1886         Reviewed by Simon Hausmann.
1887
1888         Fix Qt build on Windows.
1889
1890         nmake fails to pick the right cpp file, so we have to
1891         rename the file to to a unique name.
1892
1893         * WebCore.pro:
1894         * platform/graphics/qt/FontCustomPlatformDataQt.cpp: Renamed from WebCore/platform/graphics/qt/FontCustomPlatformData.cpp.
1895
1896 2010-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
1897
1898         Reviewed by Dirk Schulze.
1899
1900         All SVG *-expected.txt files contain wrong results
1901         https://bugs.webkit.org/show_bug.cgi?id=34703
1902
1903         Finally dump meaningful information for SVG layout tests.
1904         Use 'absoluteClippedOverflowRect' which goes through the same code paths used
1905         to actually calculate repaint rects etc - instead of the legacy CSS-unaware
1906         code path that mapped 'repaintRectInLocalCoordinates' through 'absoluteTransform'.
1907         Remove absoluteTransform() - a long standing TODO, finally not needed anymore.
1908
1909         Despite SVGRenderTreeAsText, SVGPaintServerGradient was also using absoluteTransform().
1910         Rewrite the code in question, fixing svg/W3C-SVG-1.1/pserver-grad-08-b.svg alignment issues
1911         when scaling/panning text using gradient on stroke/fill. Affects some other gradient tests as well.
1912
1913         As we're now dumping clipped overflow rects any problems with repaint rects will become
1914         immediate visible - it turns out we're not supporting the overflow rules on the outermost <svg>
1915         element properly (repaint rects and bounding boxes need to take special SVG overflow rules into account).
1916         Fixing that magically gives pixel-perfect clipped overflow rects for all types of shapes/text/containers.
1917
1918         Note: This will break any overriden platform-specific SVG results, need to wait for build bots in order to update them.
1919
1920         * rendering/RenderObject.cpp: Remove absoluteTransform() method, centralize overflow query code in SVGRenderSupport::isOverflowHidden().
1921         * rendering/RenderObject.h: Remove absoluteTransform() method.
1922         * rendering/RenderSVGHiddenContainer.h: Ditto.
1923         * rendering/RenderSVGRoot.cpp:
1924         (WebCore::RenderSVGRoot::paint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
1925         (WebCore::RenderSVGRoot::computeRectForRepaint): Respect SVG overflow rules here: clip repaintRect against overflow rect _before_ passing
1926                                                          along to RenderBox. This is the key issue behind wrong absoluteClippedOverflowRect() values.
1927         (WebCore::RenderSVGRoot::nodeAtPoint): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
1928         * rendering/RenderSVGRoot.h: Remove absoluteTransform(). Don't expose viewportSize() anymore.
1929         * rendering/RenderSVGText.cpp: 
1930         (WebCore::RenderSVGText::strokeBoundingBox): Fix default stroke width to 1. This was the only wrong place -> fixes repaint rects for stroked text.
1931         * rendering/RenderSVGViewportContainer.cpp: Remove absoluteTransform() method.
1932         (WebCore::RenderSVGViewportContainer::pointIsInsideViewportClip): Use SVGRenderSupport::isOverflowHidden() to query SVG overflow mode.
1933         * rendering/RenderSVGViewportContainer.h: Remove absoluteTransform() method.
1934         * rendering/SVGRenderSupport.cpp: Refactored overflow queries in one place, centralizing SVG specific assumptions about overflowX/Y.
1935         (WebCore::SVGRenderBase::isOverflowHidden):
1936         * rendering/SVGRenderSupport.h:
1937         * rendering/SVGRenderTreeAsText.cpp: Dump absoluteClippedOverflowRect() instead of absoluteTransform().mapRect(repaintRectInLocalCoordinates()).
1938         (WebCore::writePositionAndStyle): Affects all layout tests dumping render trees.
1939         * svg/graphics/SVGPaintServerGradient.cpp: Rewrite Gradient on text fill/stroke support on Cg, to avoid using absoluteTransform().
1940         (WebCore::absoluteTransformForRenderer):
1941         (WebCore::createMaskAndSwapContextForTextGradient):
1942         (WebCore::clipToTextMask):
1943         (WebCore::SVGPaintServerGradient::setup):
1944
1945 2010-02-07  Daniel Bates  <dbates@webkit.org>
1946
1947         Reviewed by Darin Adler.
1948
1949         https://bugs.webkit.org/show_bug.cgi?id=34402
1950
1951         Implements all of the numeric CSS3 list-style-types as per
1952         section 4.3 of the CSS3 Lists module <http://www.w3.org/TR/css3-lists/#numeric>.
1953
1954         Test: fast/lists/w3-css3-list-styles-numeric.html
1955
1956         * css/CSSPrimitiveValueMappings.h:
1957         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1958         * css/CSSValueKeywords.in:
1959         * inspector/front-end/SourceCSSTokenizer.re2js:
1960         * platform/text/CharacterNames.h: Added constant hyphenMinus.
1961         * rendering/RenderListMarker.cpp:
1962         (WebCore::): Defined enum SequenceType.
1963         (WebCore::toAlphabeticOrNumeric): Added.
1964         (WebCore::toAlphabetic): Modified to call WebCore::toAlphabeticOrNumeric.
1965         (WebCore::toNumeric): Added.
1966         (WebCore::listMarkerSuffix):
1967         (WebCore::listMarkerText):
1968         (WebCore::RenderListMarker::paint):
1969         (WebCore::RenderListMarker::calcPrefWidths):
1970         (WebCore::RenderListMarker::getRelativeMarkerRect):
1971         * rendering/style/RenderStyle.h:
1972         (WebCore::):
1973         * rendering/style/RenderStyleConstants.h: Added numeric list style types
1974         and fixed indent level for the enum values.
1975         (WebCore::):
1976
1977 2010-02-07  Ismail Donmez  <ismail@namtrac.org>
1978
1979         Reviewed by Darin Adler.
1980
1981         Include wtf/StringExtras.h for strdup definition, which
1982         is needed for WinCE.
1983
1984         * bridge/IdentifierRep.h:
1985
1986 2010-02-07  Pavel Feldman  <pfeldman@chromium.org>
1987
1988         Reviewed by Timothy Hatcher.
1989
1990         Web Inspector: Fragment-held Elements Not Shown in Inspector.
1991
1992         https://bugs.webkit.org/show_bug.cgi?id=34680
1993
1994         * inspector/InspectorDOMAgent.cpp:
1995         (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
1996         (WebCore::InspectorDOMAgent::buildObjectForNode):
1997         * inspector/front-end/ElementsTreeOutline.js:
1998         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
1999
2000 2010-02-07  Jian Li  <jianli@chromium.org>
2001
2002         Reviewed by Darin Fisher.
2003
2004         [chromium] Change chromium interface to handle DownloadURL format.
2005         https://bugs.webkit.org/show_bug.cgi?id=34655
2006
2007         * platform/chromium/ChromiumDataObject.cpp:
2008         (WebCore::ChromiumDataObject::clear):
2009         (WebCore::ChromiumDataObject::hasData):
2010         (WebCore::ChromiumDataObject::ChromiumDataObject):
2011         * platform/chromium/ChromiumDataObject.h:
2012         * platform/chromium/ClipboardChromium.cpp:
2013         (WebCore::ClipboardChromium::setData):
2014
2015 2010-02-06  Dimitri Glazkov  <dglazkov@chromium.org>
2016
2017         No review, rolling out r54364.
2018         http://trac.webkit.org/changeset/54364
2019         https://bugs.webkit.org/show_bug.cgi?id=34464
2020
2021         Introduced asserts in layout tests, needs more testing
2022         locally.
2023
2024         * accessibility/chromium/AXObjectCacheChromium.cpp:
2025         (WebCore::AXObjectCache::postPlatformNotification):
2026         * page/chromium/ChromeClientChromium.h:
2027
2028 2010-02-06  Dimitri Glazkov  <dglazkov@chromium.org>
2029
2030         Reviewed by Adam Barth.
2031
2032         Using inlines and function-level statics don't mix, according to gcc.
2033         https://bugs.webkit.org/show_bug.cgi?id=34663
2034
2035         De-inline deviceRGBColorSpaceRef to avoid gcc-bug landmines.
2036
2037         It appears that the initialization check, generated by gcc doesn't account
2038         for a possibility that the function may be inlined, resulting in lazy
2039         initialization failure for more than one inlined instance of the function.
2040
2041         No behavior change, so no new tests.
2042
2043         * platform/graphics/cg/GraphicsContextCG.cpp:
2044         (WebCore::deviceRGBColorSpaceRef):
2045         * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
2046
2047 2010-02-05  Geoffrey Garen  <ggaren@apple.com>
2048
2049         Reviewed by Dan Bernstein.
2050
2051         Added an ASSERT to catch an implausible but theoretically possible leak.
2052         
2053         In theory, if malloc allocated a UChar buffer directly after a StringImpl,
2054         the StringImpl might incorrecly assume that the UChar buffer was inline,
2055         and fail to delete it.
2056         
2057         This ASSERT is somewhat academic, since we don't use the same allocator
2058         in debug builds, but oh well.
2059
2060         * platform/text/StringImpl.cpp:
2061         (WebCore::StringImpl::StringImpl):
2062         (WebCore::StringImpl::createUninitialized):
2063         * platform/text/StringImpl.h: Separated the inline buffer StringImpl
2064         constructor from the out-of-line buffer StringImpl constructor. Made
2065         the former ASSERT that its buffer was indeed inline, and the latter ASSERT
2066         that its buffer was indeed not inline.
2067
2068 2010-02-05  Chris Marrin  <cmarrin@apple.com>
2069
2070         Reviewed by Simon Fraser.
2071
2072         Fixed changed virtual function in GraphicsLayerCACF and call order issues
2073         https://bugs.webkit.org/show_bug.cgi?id=34348
2074         
2075         The correct virtual function in GraphicsLayerCACF is now being
2076         called. We also fixed an issue in QTMovieWin where the size
2077         of the movie was not being set correctly because the call order
2078         was changed.
2079         
2080         I also changed the order of a couple of calls in QTMovieWin to account
2081         for changed calling order from the logic above.
2082
2083         * platform/graphics/win/GraphicsLayerCACF.cpp:Update to new virtual function API
2084         (WebCore::GraphicsLayerCACF::setContentsToMedia):
2085         (WebCore::GraphicsLayerCACF::updateContentsMedia):
2086         * platform/graphics/win/GraphicsLayerCACF.h:Update to new virtual function API
2087         (WebCore::GraphicsLayerCACF::):
2088         * platform/graphics/win/QTMovieWin.cpp:
2089         (QTMovieWinPrivate::cacheMovieScale):Fix a bug where ratio was computed wrong because it was using integer math
2090         (QTMovieWinPrivate::task):Compute movie scale before computing movie size so values are correct
2091         (QTMovieWinPrivate::setSize):Move movie size update to updateMovieSize()
2092         (QTMovieWinPrivate::updateMovieSize):Wrap size update in a new call so it can be used from multiple places
2093
2094 2010-02-05  Enrica Casucci  <enrica@apple.com>
2095
2096         Reviewed by Simon Fraser.
2097
2098         Horizontal scrollbar works in reverse at milliondollarcu.be
2099         <rdar://problem/7556121>
2100         https://bugs.webkit.org/show_bug.cgi?id=33848
2101         
2102         Added a manual test.
2103
2104         * manual-tests/win: Added.
2105         * manual-tests/win/horizontal-scroll-composited.html: Added.
2106         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2107         (WebCore::WKCACFLayerRenderer::setScrollFrame):
2108         (WebCore::WKCACFLayerRenderer::setRootChildLayer):
2109
2110 2010-02-05  Ryan Leavengood  <leavengood@gmail.com>
2111
2112         Reviewed by David Levin.
2113
2114         Implementation of GlyphPage::fill() for Haiku port.
2115         https://bugs.webkit.org/show_bug.cgi?id=34527
2116
2117         Covered by existing tests.
2118
2119         * platform/graphics/haiku/GlyphPageTreeNodeHaiku.cpp
2120
2121 2010-01-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2122
2123         Reviewed by Dave Hyatt.
2124
2125         Implement flattening of framesets
2126         https://bugs.webkit.org/show_bug.cgi?id=32717
2127
2128         The following patch, builds ontop of Antti Koivisto's frameset
2129         flattening code from the iPhone source, which itself is based on
2130         the old Nokia Series 60 source.
2131
2132         Layout tests have been added to test the functionality and the original
2133         code which has then been fixed to make these pass, as well as support
2134         frameset grids.
2135
2136         Tests: fast/frames/flattening/frameset-flattening-advanced.html
2137                fast/frames/flattening/frameset-flattening-grid.html
2138                fast/frames/flattening/frameset-flattening-simple.html
2139                fast/frames/flattening/frameset-flattening-subframe-resize.html
2140                fast/frames/flattening/frameset-flattening-subframesets.html
2141
2142         * page/FrameView.cpp:
2143         (WebCore::FrameView::layout):
2144         (WebCore::FrameView::scheduleRelayout):
2145         * page/Settings.cpp:
2146         (WebCore::Settings::Settings):
2147         (WebCore::Settings::setFrameSetFlatteningEnabled):
2148         * page/Settings.h:
2149         (WebCore::Settings::frameSetFlatteningEnabled):
2150         * rendering/RenderFrame.cpp:
2151         (WebCore::RenderFrame::layoutWithFlattening):
2152         * rendering/RenderFrame.h:
2153         * rendering/RenderFrameSet.cpp:
2154         (WebCore::RenderFrameSet::layout):
2155         (WebCore::RenderFrameSet::positionFramesWithFlattening):
2156         (WebCore::RenderFrameSet::flattenFrameSet):
2157         (WebCore::RenderFrameSet::userResize):
2158         * rendering/RenderFrameSet.h:
2159
2160 2010-02-05  Simon Fraser  <simon.fraser@apple.com>
2161
2162         Reviewed by Dan Bernstein.
2163
2164         Changing display type of parent of input on focus causes input field to not receive key events
2165         https://bugs.webkit.org/show_bug.cgi?id=34620
2166         <rdar://problem/7584572>
2167         
2168         When layout affects a text input, the RenderTextControl gets destroyed and
2169         recreated, which in turn makes a new innerTextElement. However, if the text field was
2170         focused, the VisibleSelection is left pointing to the old innerTextElement, so text
2171         input no longer works.
2172         
2173         The fix is to call updateFocusAppearanceSoon() when attaching the input element,
2174         which will update the selection if necessary.
2175
2176         Test: fast/forms/restore-selection-after-layout.html
2177
2178         * dom/Document.h: Add a paramter to updateFocusAppearanceSoon() and a member variable,
2179         m_updateFocusAppearanceRestoresSelection, to store its value until the timer fires.
2180         * dom/Document.cpp:
2181         (WebCore::Document::Document): Initialize m_updateFocusAppearanceRestoresSelection
2182         (WebCore::Document::updateFocusAppearanceSoon): New restorePreviousSelection parameter.
2183         (WebCore::Document::updateFocusAppearanceTimerFired): Pass m_updateFocusAppearanceRestoresSelection down.
2184         * dom/Element.cpp:
2185         (WebCore::Element::attach): Call updateFocusAppearanceSoon() with false.
2186         * dom/Element.h: The updateFocusAppearanceSoonAfterAttach() was undefined.
2187         * html/HTMLInputElement.cpp:
2188         (WebCore::HTMLInputElement::attach): Call document()->updateFocusAppearanceSoon() with true.
2189
2190 2010-02-05  Pavel Feldman  <pfeldman@chromium.org>
2191
2192         Reviewed by Timothy Hatcher.
2193
2194         Web Inspector: simplify cookies view, introduce DataGrid::autoSizeColumns.
2195
2196         https://bugs.webkit.org/show_bug.cgi?id=34646
2197
2198         * inspector/front-end/CookieItemsView.js:
2199         (WebInspector.CookieItemsView):
2200         (WebInspector.CookieItemsView.prototype.show):
2201         (WebInspector.CookieItemsView.prototype._update):
2202         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2203         (WebInspector.CookieItemsView.prototype._filterCookiesForDomain):
2204         (WebInspector.CookieItemsView.prototype._createDataGrid):
2205         (WebInspector.CookieItemsView.prototype._populateDataGrid.expiresCompare):
2206         (WebInspector.CookieItemsView.prototype._populateDataGrid):
2207         (WebInspector.CookieItemsView.prototype._createSimpleDataGrid):
2208         (WebInspector.CookieItemsView.prototype._populateSimpleDataGrid):
2209         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
2210         (WebInspector.CookieItemsView.prototype._refreshButtonClicked):
2211         * inspector/front-end/DOMStorageItemsView.js:
2212         (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
2213         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
2214         * inspector/front-end/DataGrid.js:
2215         (WebInspector.DataGrid):
2216         (WebInspector.DataGrid.prototype.autoSizeColumns):
2217         * inspector/front-end/DatabaseQueryView.js:
2218         (WebInspector.DatabaseQueryView.prototype._queryFinished):
2219         * inspector/front-end/DatabaseTableView.js:
2220         (WebInspector.DatabaseTableView.prototype._queryFinished):
2221         * inspector/front-end/StoragePanel.js:
2222         (WebInspector.StoragePanel.prototype.dataGridForResult):
2223
2224 2010-02-04  Pavel Feldman  <pfeldman@chromium.org>
2225
2226         Reviewed by Timothy Hatcher.
2227
2228         Web Inspector: group cookies by frame, show total
2229         cookies size, allow sorting cookie table.
2230
2231         https://bugs.webkit.org/show_bug.cgi?id=34617
2232
2233         * English.lproj/localizedStrings.js:
2234         * inspector/InspectorController.cpp:
2235         (WebCore::InspectorController::deleteCookie):
2236         * inspector/front-end/CookieItemsView.js:
2237         (WebInspector.CookieItemsView):
2238         (WebInspector.CookieItemsView.prototype.update):
2239         (WebInspector.CookieItemsView.prototype._updateWithCookies):
2240         (WebInspector.CookieItemsView.prototype._cookiesForDomain):
2241         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
2242         (WebInspector.CookieItemsView.prototype._createNodes):
2243         (WebInspector.CookieItemsView.prototype._sortData.localeCompare):
2244         (WebInspector.CookieItemsView.prototype._sortData.numberCompare):
2245         (WebInspector.CookieItemsView.prototype._sortData.expiresCompare):
2246         (WebInspector.CookieItemsView.prototype._sortData):
2247         * inspector/front-end/StoragePanel.js:
2248         (WebInspector.StoragePanel.prototype.showCookies):
2249         (WebInspector.CookieSidebarTreeElement):
2250         (WebInspector.CookieSidebarTreeElement.prototype.onselect):
2251         (WebInspector.CookieSidebarTreeElement.prototype.get subtitle):
2252         (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
2253         * inspector/front-end/inspector.js:
2254         (WebInspector.updateResource):
2255
2256 2010-02-05  Maxime Simone  <simon.maxime@gmail.com>
2257
2258         Reviewed by David Levin.
2259
2260         More robust conversion from BString to String for Haiku port.
2261         https://bugs.webkit.org/show_bug.cgi?id=34527
2262
2263         Covered by existing tests.
2264
2265         * platform/text/haiku/StringHaiku.cpp: Fixed include order, Improved coversion from BString.
2266
2267 2010-02-05  Steve Falkenburg  <sfalken@apple.com>
2268
2269         Reviewed by Adam Roben.
2270
2271         Windows build fix.
2272
2273         * WebCore.vcproj/WebCore.make:
2274
2275 2010-02-05  Csaba Osztrogonác  <ossy@webkit.org>
2276
2277         Reviewed by Dirk Schulze.
2278         Rubber-stamped by Kenneth Rohde Christiansen.
2279
2280         [Qt] Modifying SVG path dumping to equal to other ports
2281         https://bugs.webkit.org/show_bug.cgi?id=33784
2282
2283         * platform/graphics/qt/PathQt.cpp:
2284         (WebCore::Path::debugString): Path dumping style is aproached to Mac.
2285
2286 2010-02-05  Sebastian Dröge  <sebastian.droege@collabora.co.uk>
2287
2288         Reviewed by Gustavo Noronha.
2289
2290         Add a GStreamer HTTP/HTTPS source, using WebKit infrastructure
2291         https://bugs.webkit.org/show_bug.cgi?id=34317
2292
2293         * GNUmakefile.am:
2294         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2295         (WebCore::mediaPlayerPrivateSourceChangedCallback):
2296         (WebCore::doGstInit):
2297         * platform/graphics/gtk/WebKitWebSourceGStreamer.cpp:
2298         * platform/graphics/gtk/WebKitWebSourceGStreamer.h:
2299         Add a GStreamer HTTP/HTTPS source, using the WebKit infrastructure.
2300         This makes sure that referer, cookies, authentication information
2301         and all kinds of other context are passed to GStreamer for websites
2302         like Vimeo or YouTube.
2303
2304 2010-02-05  Nate Chapin  <japhet@chromium.org>
2305
2306         Reviewed by Dimitri Glazkov.
2307
2308         [V8] Clean up code for getting a v8::FunctionTemplate.
2309         
2310         https://bugs.webkit.org/show_bug.cgi?id=34606
2311
2312         * bindings/scripts/CodeGeneratorV8.pm: Making GetTemplate() public
2313         * bindings/v8/V8Binding.cpp:
2314         (WebCore::configureTemplate):
2315         * bindings/v8/V8DOMWrapper.cpp: Remove getTemplate(), use V8ClassIndex::getTemplate() instead.
2316         (WebCore::V8DOMWrapper::getConstructor):
2317         (WebCore::V8DOMWrapper::instantiateV8Object):
2318         * bindings/v8/V8DOMWrapper.h:
2319         (WebCore::V8DOMWrapper::lookupDOMWrapper):
2320         * bindings/v8/V8Index.cpp: Remove duplicate caching of FunctionTemplates.
2321         (WebCore::V8ClassIndex::getTemplate):
2322         * bindings/v8/V8Index.h:
2323         * bindings/v8/WorkerContextExecutionProxy.cpp:
2324         (WebCore::WorkerContextExecutionProxy::toV8):
2325         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
2326         (WebCore::v8HTMLAudioElementConstructorCallback):
2327         (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
2328         * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
2329         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
2330         (WebCore::v8HTMLImageElementConstructorCallback):
2331         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
2332         * bindings/v8/custom/V8HTMLImageElementConstructor.h:
2333         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
2334         (WebCore::v8HTMLOptionElementConstructorCallback):
2335         (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
2336         * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
2337         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2338         (WebCore::createInjectedScriptHostV8Wrapper):
2339
2340 2010-02-05  Siddharth Mathur  <siddharth.mathur@nokia.com>
2341
2342         Reviewed by Ariya Hidayat.
2343
2344         [Qt] Build break in QtWebkit on Symbian
2345         https://bugs.webkit.org/show_bug.cgi?id=34597
2346
2347         * plugins/PluginView.h:
2348
2349 2010-02-05  Yury Semikhatsky  <yurys@chromium.org>
2350
2351         Reviewed by Pavel Feldman.
2352
2353         - Use SerializedScriptValue for passing data between injected script and
2354         inspector frontend.
2355         - Remove custom JSON implementation from the instpector utility script.
2356         - Make sure that only objects created in the same ScriptState can be values
2357         of ScriptObject/Array properties and arguments to ScriptFunctionCall. We don't
2358         want ScriptObjects to leak between contexts.
2359         - Use ScriptState of the 'this' object in ScriptFunctionCall instead of passing
2360         it as additional parameter.
2361
2362         https://bugs.webkit.org/show_bug.cgi?id=33592
2363
2364         * bindings/js/JSInjectedScriptHostCustom.cpp:
2365         (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
2366         * bindings/js/ScriptArray.cpp:
2367         (WebCore::ScriptArray::set):
2368         * bindings/js/ScriptFunctionCall.cpp:
2369         (WebCore::ScriptFunctionCall::ScriptFunctionCall):
2370         (WebCore::ScriptFunctionCall::appendArgument):
2371         * bindings/js/ScriptFunctionCall.h:
2372         * bindings/js/ScriptObject.cpp:
2373         (WebCore::ScriptObject::set):
2374         * bindings/js/ScriptValue.cpp:
2375         (WebCore::ScriptValue::serialize):
2376         (WebCore::ScriptValue::deserialize):
2377         * bindings/js/ScriptValue.h:
2378         * bindings/v8/ScriptArray.cpp:
2379         (WebCore::ScriptArray::set):
2380         * bindings/v8/ScriptFunctionCall.cpp:
2381         (WebCore::ScriptFunctionCall::ScriptFunctionCall):
2382         (WebCore::ScriptFunctionCall::appendArgument):
2383         * bindings/v8/ScriptFunctionCall.h:
2384         * bindings/v8/ScriptObject.cpp:
2385         (WebCore::ScriptObject::set):
2386         * bindings/v8/ScriptState.h:
2387         * bindings/v8/ScriptValue.cpp:
2388         (WebCore::ScriptValue::serialize):
2389         (WebCore::deserialize):
2390         * bindings/v8/ScriptValue.h:
2391         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
2392         (WebCore::V8InjectedScriptHost::reportDidDispatchOnInjectedScriptCallback):
2393         * inspector/InjectedScript.cpp:
2394         (WebCore::InjectedScript::dispatch):
2395         (WebCore::InjectedScript::callFrames):
2396         (WebCore::InjectedScript::wrapForConsole):
2397         (WebCore::InjectedScript::releaseWrapperObjectGroup):
2398         * inspector/InjectedScript.h:
2399         * inspector/InjectedScriptHost.cpp:
2400         (WebCore::InjectedScriptHost::reportDidDispatchOnInjectedScript):
2401         * inspector/InjectedScriptHost.h:
2402         * inspector/InjectedScriptHost.idl:
2403         * inspector/InspectorBackend.cpp:
2404         (WebCore::InspectorBackend::dispatchOnInjectedScript):
2405         * inspector/InspectorController.cpp:
2406         (WebCore::InspectorController::setFrontendProxyObject):
2407         (WebCore::InspectorController::didPause):
2408         (WebCore::InspectorController::didEvaluateForTestInFrontend):
2409         * inspector/InspectorFrontend.cpp:
2410         (WebCore::InspectorFrontend::InspectorFrontend):
2411         (WebCore::InspectorFrontend::newScriptArray):
2412         (WebCore::InspectorFrontend::newScriptObject):
2413         (WebCore::InspectorFrontend::populateFrontendSettings):
2414         (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount):
2415         (WebCore::InspectorFrontend::addConsoleMessage):
2416         (WebCore::InspectorFrontend::updateConsoleMessageRepeatCount):
2417         (WebCore::InspectorFrontend::updateResource):
2418         (WebCore::InspectorFrontend::removeResource):
2419         (WebCore::InspectorFrontend::didGetResourceContent):
2420         (WebCore::InspectorFrontend::updateFocusedNode):
2421         (WebCore::InspectorFrontend::setAttachedWindow):
2422         (WebCore::InspectorFrontend::addRecordToTimeline):
2423         (WebCore::InspectorFrontend::parsedScriptSource):
2424         (WebCore::InspectorFrontend::failedToParseScriptSource):
2425         (WebCore::InspectorFrontend::addProfileHeader):
2426         (WebCore::InspectorFrontend::setRecordingProfile):
2427         (WebCore::InspectorFrontend::didGetProfileHeaders):
2428         (WebCore::InspectorFrontend::didGetProfile):
2429         (WebCore::InspectorFrontend::pausedScript):
2430         (WebCore::InspectorFrontend::setDocument):
2431         (WebCore::InspectorFrontend::setDetachedRoot):
2432         (WebCore::InspectorFrontend::setChildNodes):
2433         (WebCore::InspectorFrontend::childNodeCountUpdated):
2434         (WebCore::InspectorFrontend::childNodeInserted):
2435         (WebCore::InspectorFrontend::childNodeRemoved):
2436         (WebCore::InspectorFrontend::attributesUpdated):
2437         (WebCore::InspectorFrontend::didRemoveNode):
2438         (WebCore::InspectorFrontend::didGetChildNodes):
2439         (WebCore::InspectorFrontend::didApplyDomChange):
2440         (WebCore::InspectorFrontend::didGetEventListenersForNode):
2441         (WebCore::InspectorFrontend::didGetCookies):
2442         (WebCore::InspectorFrontend::didDispatchOnInjectedScript):
2443         (WebCore::InspectorFrontend::addDatabase):
2444         (WebCore::InspectorFrontend::selectDatabase):
2445         (WebCore::InspectorFrontend::didGetDatabaseTableNames):
2446         (WebCore::InspectorFrontend::addDOMStorage):
2447         (WebCore::InspectorFrontend::selectDOMStorage):
2448         (WebCore::InspectorFrontend::didGetDOMStorageEntries):
2449         (WebCore::InspectorFrontend::didSetDOMStorageItem):
2450         (WebCore::InspectorFrontend::didRemoveDOMStorageItem):
2451         (WebCore::InspectorFrontend::updateDOMStorage):
2452         (WebCore::InspectorFrontend::addNodesToSearchResult):
2453         (WebCore::InspectorFrontend::contextMenuItemSelected):
2454         (WebCore::InspectorFrontend::evaluateForTestInFrontend):
2455         (WebCore::InspectorFrontend::callSimpleFunction):
2456         * inspector/InspectorFrontend.h:
2457         (WebCore::InspectorFrontend::scriptState):
2458         * inspector/front-end/InjectedScript.js:
2459         (injectedScriptConstructor):
2460         (injectedScriptConstructor.):
2461         * inspector/front-end/InjectedScriptAccess.js:
2462         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName.myCallback):
2463         (InjectedScriptAccess._installHandler.InjectedScriptAccess.prototype.methodName):
2464         (InjectedScriptAccess._installHandler):
2465         * inspector/front-end/inspector.js:
2466         (WebInspector.pausedScript):
2467         (WebInspector.addConsoleMessage):
2468
2469 2010-02-05  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2470
2471         Reviewed by Simon Hausmann.
2472
2473         [Qt] Generate convenience headers (QWebView, etc) using qmake
2474
2475         In Qt this is done using syncqt, but we use a pro-file instead
2476         that generates makefile-rules for each of the extra headers.
2477
2478         These extra headers are installed alongside the normal headers.
2479
2480         * WebCore.pro: Use headers.pri based on DerivedSources instead
2481         of the one previously checked in in the source tree.
2482
2483 2010-02-05  Mikhail Naganov  <mnaganov@chromium.org>
2484
2485         Reviewed by Pavel Feldman.
2486
2487         Enable JAVASCRIPT_DEBUGGER in chromium port.
2488
2489         https://bugs.webkit.org/show_bug.cgi?id=34638
2490
2491         * page/Console.cpp:
2492         * page/Console.h:
2493         * page/Console.idl:
2494
2495 2010-02-05  Pavel Feldman  <pfeldman@chromium.org>
2496
2497         Reviewed by Timothy Hatcher.
2498
2499         Web Inspector: Tab width for javascript source is 8, should be 4
2500
2501         https://bugs.webkit.org/show_bug.cgi?id=31248
2502
2503         * inspector/front-end/SourceFrame.js:
2504         (WebInspector.SourceFrame):
2505         * inspector/front-end/TextEditorModel.js:
2506         (WebInspector.TextEditorModel.prototype.set replaceTabsWithSpaces):
2507         (WebInspector.TextEditorModel.prototype._innerSetText):
2508         (WebInspector.TextEditorModel.prototype._replaceTabsIfNeeded):
2509
2510 2010-02-05  Tony Chang  <tony@chromium.org>
2511
2512         Reviewed by Eric Seidel.
2513
2514         https://bugs.webkit.org/show_bug.cgi?id=24872
2515         When pasting a list into another list should not indent another level.
2516         If the cursor is at the beginning of the line, it should insert the
2517         list items before the current list item.  If the cursor is at the end
2518         of the line, it should insert the list items after the current list item.
2519
2520         This matches Firefox and IE and makes the common activity of reordering a list
2521         work as expected.
2522
2523         This also adds a small helper method (isListItem) to htmlediting.h.
2524
2525         Test: editing/pasteboard/paste-list-002.html
2526
2527         * editing/ReplaceSelectionCommand.cpp:
2528         (WebCore::ReplaceSelectionCommand::doApply):
2529         (WebCore::ReplaceSelectionCommand::insertAsListItems):
2530         * editing/ReplaceSelectionCommand.h:
2531         * editing/htmlediting.cpp:
2532         (WebCore::isListItem):
2533         (WebCore::appendedSublist):
2534         * editing/htmlediting.h:
2535
2536 2010-02-04  Mark Rowe  <mrowe@apple.com>
2537
2538         Reviewed by Timothy Hatcher.
2539
2540         Build fix.  Remove a symbol corresponding to an inline function from the linker export
2541         file to prevent a weak external failure.
2542
2543         * WebCore.base.exp: Remove symbol.
2544         * WebCore.xcodeproj/project.pbxproj: Accommodate rename of script.
2545
2546 2010-02-04  Geoffrey Garen  <ggaren@apple.com>
2547
2548         Reviewed by Oliver Hunt.
2549
2550         Updated to use new WeakGCPtr::clear interface.
2551
2552         * bindings/js/JSEventListener.cpp:
2553         * bindings/js/JSEventListener.h:
2554         (WebCore::JSEventListener::invalidateJSFunction):
2555
2556 2010-02-04  Geoffrey Garen  <ggaren@apple.com>
2557
2558         Build fix: Added a forwarding header.
2559
2560         * ForwardingHeaders/runtime/WeakGCPtr.h: Added.
2561
2562 2010-02-04  Geoffrey Garen  <ggaren@apple.com>
2563
2564         Reviewed by Alexey Proskuryakov and Darin Adler.
2565
2566         REGRESSION (r52082): Missing event handlers on JQuery demo page (33383)
2567         https://bugs.webkit.org/show_bug.cgi?id=33383
2568         <rdar://problem/7559449>
2569         
2570         There were two bugs here:
2571         
2572         1. A stale wrapper would invalidate a node's event listeners, even if
2573         the node had a fresh wrapper keeping it alive.
2574         
2575         The fix for this is for an event listener to keep a WeakGCPtr back-pointer
2576         to the wrapper it expects to mark it. The wrapper destructor checks this
2577         back-pointer, and only invalidates the event listener in the case of a match.
2578
2579         2. Conversely, a stale wrapper would not invalidate a node's event
2580         listeners soon enough, if its destructor didn't have a chance to run
2581         before an event fired on the node. (This can only happen in cases where
2582         we've made some other error and failed to mark a wrapper that was circuitously
2583         observable in the DOM. But we know we have edge case bugs like this, and
2584         we don't want them to be crashes.)
2585         
2586         The fix for this is to check the wrapper back-pointer before firing the
2587         event listener. As long as the the wrapper back-pointer is not null,
2588         it's safe to fire the listener. 
2589
2590         * ForwardingHeaders/runtime/WeakGCPtr.h: Added. Appease build gods.
2591
2592         * bindings/js/JSAbstractWorkerCustom.cpp:
2593         (WebCore::JSAbstractWorker::addEventListener):
2594         (WebCore::JSAbstractWorker::removeEventListener):
2595         * bindings/js/JSDOMApplicationCacheCustom.cpp:
2596         (WebCore::JSDOMApplicationCache::addEventListener):
2597         (WebCore::JSDOMApplicationCache::removeEventListener):
2598         * bindings/js/JSDOMWindowCustom.cpp:
2599         (WebCore::JSDOMWindow::markChildren):
2600         (WebCore::JSDOMWindow::addEventListener):
2601         (WebCore::JSDOMWindow::removeEventListener): Updated to pass a wrapper
2602         to the JSEventListener constructor.
2603
2604         * bindings/js/JSEventListener.cpp:
2605         (WebCore::JSEventListener::JSEventListener):
2606         (WebCore::JSEventListener::initializeJSFunction):
2607         (WebCore::JSEventListener::invalidateJSFunction):
2608         * bindings/js/JSEventListener.h:
2609         (WebCore::JSEventListener::create):
2610         (WebCore::JSEventListener::isolatedWorld):
2611         (WebCore::JSEventListener::wrapper):
2612         (WebCore::JSEventListener::setWrapper):
2613         (WebCore::JSEventListener::jsFunction):
2614         (WebCore::createJSAttributeEventListener): Implemented the back-pointer
2615         described above. Refactored the jsFunction() accessor to return 0 if
2616         the wrapper back-pointer is 0.
2617
2618         * bindings/js/JSEventSourceCustom.cpp:
2619         (WebCore::JSEventSource::addEventListener):
2620         (WebCore::JSEventSource::removeEventListener):
2621         * bindings/js/JSLazyEventListener.cpp:
2622         (WebCore::JSLazyEventListener::JSLazyEventListener):
2623         (WebCore::JSLazyEventListener::initializeJSFunction):
2624         * bindings/js/JSLazyEventListener.h:
2625         (WebCore::JSLazyEventListener::create):
2626         * bindings/js/JSMessagePortCustom.cpp:
2627         (WebCore::JSMessagePort::markChildren):
2628         (WebCore::JSMessagePort::addEventListener):
2629         (WebCore::JSMessagePort::removeEventListener):
2630         * bindings/js/JSNodeCustom.cpp:
2631         (WebCore::JSNode::addEventListener):
2632         (WebCore::JSNode::removeEventListener):
2633         (WebCore::JSNode::markChildren):
2634         * bindings/js/JSSVGElementInstanceCustom.cpp:
2635         (WebCore::JSSVGElementInstance::addEventListener):
2636         (WebCore::JSSVGElementInstance::removeEventListener):
2637         * bindings/js/JSWebSocketCustom.cpp:
2638         (WebCore::JSWebSocket::addEventListener):
2639         (WebCore::JSWebSocket::removeEventListener):
2640         * bindings/js/JSWorkerContextCustom.cpp:
2641         (WebCore::JSWorkerContext::markChildren):
2642         (WebCore::JSWorkerContext::addEventListener):
2643         (WebCore::JSWorkerContext::removeEventListener):
2644         * bindings/js/JSXMLHttpRequestCustom.cpp:
2645         (WebCore::JSXMLHttpRequest::markChildren):
2646         (WebCore::JSXMLHttpRequest::addEventListener):
2647         (WebCore::JSXMLHttpRequest::removeEventListener):
2648         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
2649         (WebCore::JSXMLHttpRequestUpload::markChildren):
2650         (WebCore::JSXMLHttpRequestUpload::addEventListener):
2651         (WebCore::JSXMLHttpRequestUpload::removeEventListener): Updated to pass a wrapper
2652         to the JSEventListener constructor.
2653
2654
2655         * bindings/js/ScriptEventListener.cpp:
2656         (WebCore::createAttributeEventListener): Updated to pass a wrapper
2657         to the JSEventListener constructor.
2658         (WebCore::getEventListenerHandlerBody): Updated for the fact that jsFunction()
2659         is no longer a virtual accessor on the EventHandler base class.
2660
2661         * bindings/scripts/CodeGeneratorJS.pm: Updated for the fact that jsFunction()
2662         is no longer a virtual accessor on the EventHandler base class. Added a "JS"
2663         to invalidateEventListeners and markEventListeners to clarify that these
2664         actions are for JS event listeners only. Added a wrapper parameter to
2665         invalidateEventListeners for the back-pointer check explained above.
2666
2667         * dom/EventListener.h:
2668         (WebCore::EventListener::invalidateJSFunction): ditto
2669
2670         * dom/EventTarget.h:
2671         (WebCore::EventTarget::markJSEventListeners):
2672         (WebCore::EventTarget::invalidateJSEventListeners): ditto
2673
2674 2010-02-04  Tony Chang  <tony@chromium.org>
2675
2676         Reviewed by Eric Seidel.
2677
2678         https://bugs.webkit.org/show_bug.cgi?id=25002
2679         When inserting a new paragraph, avoid nesting empty divs.  When
2680         pasting near the end of a paragraph, this prevents each paste
2681         command for getting nested one level deeper.
2682
2683         Test: editing/inserting/paragraph-outside-nested-divs.html
2684
2685         * editing/InsertParagraphSeparatorCommand.cpp:
2686         (WebCore::highestVisuallyEquivalentDiv):
2687         (WebCore::InsertParagraphSeparatorCommand::doApply):
2688
2689 2010-02-04  Dumitru Daniliuc  <dumi@chromium.org>
2690
2691         Reviewed by Eric Seidel.
2692
2693         1. Fix a bug in SQLiteTransaction: do not assume that COMMIT always
2694         succeeds.
2695         2. Jump straight to the transaction error callback when a
2696         statement fails in a way that makes sqlite automatically rollback
2697         the transaction.
2698         3. Fix the code that handles the "quota reached" failure, as it is
2699         one of the failures that lead to an automatic transaction
2700         rollback.
2701
2702         https://bugs.webkit.org/show_bug.cgi?id=34280
2703
2704         * platform/sql/SQLiteDatabase.cpp:
2705         (WebCore::SQLiteDatabase::isAutoCommitOn):
2706         * platform/sql/SQLiteDatabase.h:
2707         * platform/sql/SQLiteTransaction.cpp:
2708         (WebCore::SQLiteTransaction::begin):
2709         (WebCore::SQLiteTransaction::commit):
2710         (WebCore::SQLiteTransaction::rollback):
2711         (WebCore::SQLiteTransaction::transactionWasRolledBackBySqlite):
2712         * platform/sql/SQLiteTransaction.h:
2713         * storage/SQLTransaction.cpp:
2714         (WebCore::SQLTransaction::SQLTransaction):
2715         (WebCore::SQLTransaction::runStatements):
2716         (WebCore::SQLTransaction::runCurrentStatement):
2717         (WebCore::SQLTransaction::handleCurrentStatementError):
2718         (WebCore::SQLTransaction::deliverQuotaIncreaseCallback):
2719
2720 2010-02-04  Peter Kasting  <pkasting@google.com>
2721
2722         Not reviewed, rollback.
2723
2724         Rollback r54387, it doesn't fix builds and Chromium doesn't want this behavior.
2725
2726         * platform/chromium/ScrollbarThemeChromiumMac.h:
2727
2728 2010-02-04  Stephen White  <senorblanco@chromium.org>
2729
2730         Unreviewed, build fix.
2731
2732         Fix for Chromium/Mac after palindromic scrollbar change (54345).
2733
2734         Covered by many layout tests.
2735
2736         * platform/chromium/ScrollbarThemeChromiumMac.h:
2737         (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
2738
2739 2010-02-04  Clemmitt Sigler  <cmsigler@gmail.com>
2740
2741         Reviewed by David Levin.
2742
2743         WebKitGTK doesn't build GtkLauncher when --enable-mathml is specified.
2744         Updated WebCore/GNUmakefile.am to include needed files in build.
2745         
2746         https://bugs.webkit.org/show_bug.cgi?id=34387
2747
2748         No new tests.
2749
2750         * GNUmakefile.am:
2751
2752 2010-02-04  Stephan Aßmus  <superstippi@gmx.de>
2753
2754         Reviewed by David Levin.
2755
2756         Misc coding style fixes in Haiku port code.
2757         https://bugs.webkit.org/show_bug.cgi?id=34527
2758
2759         No tests needed.
2760
2761         * platform/haiku/ContextMenuItemHaiku.cpp: Trailing white space, NULL -> 0
2762         * platform/haiku/DragImageHaiku.cpp: Trailing white space.
2763         * platform/haiku/FileChooserHaiku.cpp: Sorted headers.
2764         * platform/haiku/LocalizedStringsHaiku.cpp: Needed to include NotImplemented.h
2765
2766 2010-02-04  Enrica Casucci  <enrica@apple.com>
2767
2768         Reviewed by Csaba Osztrogonac.
2769
2770         Fixed crash on QT introduced with the fix for
2771         https://bugs.webkit.org/show_bug.cgi?id=34609
2772
2773         The test has been added with the original patch.
2774         
2775         * platform/qt/ClipboardQt.cpp:
2776         (WebCore::ClipboardQt::writePlainText): Added missing allocation of m_writeData.
2777
2778 2010-02-04  Christian Dywan  <christian@twotoasts.de>
2779
2780         Reviewed by Xan Lopez.
2781
2782         Conditionalize third party cookie policy for libsoup 2.29.90.
2783
2784         * platform/network/soup/CookieJarSoup.cpp:
2785         (WebCore::setCookies):
2786         * platform/network/soup/DNSSoup.cpp:
2787         (WebCore::prefetchDNS):
2788         * platform/network/soup/ResourceHandleSoup.cpp:
2789         (WebCore::restartedCallback):
2790         (WebCore::startHttp):
2791         * platform/network/soup/ResourceRequestSoup.cpp:
2792         (WebCore::ResourceRequest::toSoupMessage):
2793         (WebCore::ResourceRequest::updateFromSoupMessage):
2794
2795 2010-02-04  Christian Dywan  <christian@twotoasts.de>
2796
2797         Rubber-stamped by Gustavo Noronha Silva.
2798
2799         Add ENABLE(VIDEO) guards around freeOwnedGPtr<GstElement> implementation.
2800
2801         * platform/gtk/GOwnPtrGtk.cpp:
2802
2803 2010-02-04  Alexey Proskuryakov  <ap@apple.com>
2804
2805         Reviewed by Darin Adler.
2806
2807         Assertion failure in CheckedRadioButtons::removeButton when using jQuery 1.4.1
2808         https://bugs.webkit.org/show_bug.cgi?id=34520
2809
2810         Test: fast/dom/HTMLInputElement/cloned-input-checked-state.html
2811
2812         * dom/Element.cpp: (WebCore::Element::cloneElementWithoutChildren): Copy non-attribute
2813         properties before attributes. Otherwise, copying "checked" attribute would make the cloned
2814         node checked, unchecking original (they share a name, and are thus in the same radio group).
2815         We do want the original to be unchecked, but we also want to know its original state in
2816         HTMLInputElement::copyNonAttributeProperties().
2817
2818         * html/HTMLInputElement.cpp: (WebCore::HTMLInputElement::copyNonAttributeProperties):
2819         Use setChecked instead of plain assignment to prevent m_checked getting out of sync with
2820         checkedRadioButtons. Also, copy field related to default checked state, so that m_checked
2821         won't be overridden when copying attributes.
2822
2823 2010-02-04  Kevin Ollivier  <kevino@theolliviers.com>
2824
2825         [wx] Build fix after addition of Clipboard::writePlainText method.
2826
2827         * platform/wx/ClipboardWx.cpp:
2828         (WebCore::ClipboardWx::writePlainText):
2829         * platform/wx/ClipboardWx.h:
2830
2831 2010-02-04  Enrica Casucci  <enrica@apple.com>
2832
2833         Reviewed by Oliver Hunt.
2834
2835         REGRESSION: Dragging plain text into a styled text region does not acquire the correct style info.
2836         <rdar://problem/7595685>
2837         https://bugs.webkit.org/show_bug.cgi?id=34609
2838
2839         Test: editing/pasteboard/drop-inputtext-acquires-style.html
2840
2841         The dragging code did not distinguish the case of dragging the content of an input control
2842         as a special case. The markup placed in the pasteboard included the style information.
2843         I've modified the Clipboard class interface adding a new method writePlainText to match the
2844         behavior of the copy and cut commands and modified the drag code to detect the special case.
2845         I've modified all the platform specific implementations of the Clipboard class.
2846         
2847         * dom/Clipboard.h: Added writePlainText pure virtual function.
2848         * editing/Editor.cpp:
2849         (WebCore::Editor::cut): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
2850         (WebCore::Editor::copy): Renamed nodeIsTextFormControl to isNodeInTextFormControl.
2851         * editing/htmlediting.cpp:
2852         (WebCore::isNodeInTextFormControl): Added, after removing the implementation with the old name
2853         in Editor.cpp
2854         * editing/htmlediting.h:
2855         * page/DragController.cpp:
2856         (WebCore::DragController::startDrag):
2857         * platform/Pasteboard.h:
2858         * platform/android/ClipboardAndroid.cpp:
2859         (WebCore::ClipboardAndroid::writePlainText): Added.
2860         * platform/android/ClipboardAndroid.h:
2861         * platform/chromium/ClipboardChromium.cpp:
2862         (WebCore::ClipboardChromium::writePlainText): Added.
2863         * platform/chromium/ClipboardChromium.h:
2864         * platform/gtk/ClipboardGtk.cpp:
2865         (WebCore::ClipboardGtk::writePlainText): Added.
2866         * platform/gtk/ClipboardGtk.h:
2867         * platform/haiku/ClipboardHaiku.cpp:
2868         (WebCore::ClipboardHaiku::writePlainText): Added.
2869         * platform/haiku/ClipboardHaiku.h:
2870         * platform/mac/ClipboardMac.h:
2871         * platform/mac/ClipboardMac.mm:
2872         (WebCore::ClipboardMac::writePlainText): Added.
2873         * platform/mac/PasteboardMac.mm:
2874         (WebCore::Pasteboard::writePlainText): Added helper function.
2875         * platform/qt/ClipboardQt.cpp:
2876         (WebCore::ClipboardQt::writePlainText): Added.
2877         * platform/qt/ClipboardQt.h:
2878         * platform/win/ClipboardWin.cpp:
2879         (WebCore::ClipboardWin::writePlainText): Added.
2880         * platform/win/ClipboardWin.h:
2881
2882 2010-02-04  Steve Block  <steveblock@google.com>
2883
2884         Reviewed by Nate Chapin.
2885
2886         Fix bug in V8 convertNPVariantToJValue when converting float and double types
2887         https://bugs.webkit.org/show_bug.cgi?id=34593
2888
2889         No new tests, build fix only.
2890
2891         * bridge/jni/v8/JNIUtilityPrivate.cpp: Modified.
2892         (JSC::Bindings::convertNPVariantToJValue): Modified. Use correct members of 'result' enum.
2893
2894 2010-02-04  Chris Guillory  <chris.guillory@google.com>
2895
2896         Reviewed by Darin Fisher.
2897
2898         [Chromium] Notify ChromeClientChromium of AccessibilityObject state
2899         change notifications.
2900         
2901         https://bugs.webkit.org/show_bug.cgi?id=34464
2902
2903         * accessibility/chromium/AXObjectCacheChromium.cpp:
2904         (WebCore::toChromeClientChromium):
2905         (WebCore::AXObjectCache::postPlatformNotification):
2906         * page/chromium/ChromeClientChromium.h:
2907
2908 2010-02-04  Stephen White  <senorblanco@chromium.org>
2909
2910         Unreviewed, build fix for Chromium.
2911
2912         Revert r54341 ("[v8] Remove clear method from DOM object maps"),
2913         since it causes the worker tests to fail on Chromium.
2914
2915         * bindings/v8/DOMData.h:
2916         (WebCore::DOMData::removeObjectsFromWrapperMap):
2917         * bindings/v8/DOMDataStore.h:
2918         (WebCore::ChunkedTable::clear):
2919         (WebCore::ChunkedTable::clearEntries):
2920         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::clear):
2921         (WebCore::DOMDataStore::IntrusiveDOMWrapperMap::ChunkedTableTraits::clear):
2922         * bindings/v8/V8DOMMap.cpp:
2923         (WebCore::removeAllDOMObjectsInCurrentThreadHelper):
2924         (WebCore::removeAllDOMObjectsInCurrentThread):
2925         * bindings/v8/V8DOMMap.h:
2926         (WebCore::WeakReferenceMap::clear):
2927         * bindings/v8/WorkerScriptController.cpp:
2928         (WebCore::WorkerScriptController::~WorkerScriptController):
2929
2930 2010-02-04  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2931
2932         Reviewed by Xan Lopez.
2933
2934         [GTK] Crashes when an invalid hostname is pre-fetched
2935         https://bugs.webkit.org/show_bug.cgi?id=34602
2936
2937         * platform/network/soup/DNSSoup.cpp:
2938         (WebCore::prefetchDNS): NULL-check the SoupURI that is created
2939         from the hostname; that will happen for invalid hostnames.
2940
2941 2010-02-04  José Millán Soto  <jmillan@igalia.com>
2942
2943         Reviewed by Xan Lopez.
2944
2945         [Gtk] webkitgtk crashed when Orca open
2946         https://bugs.webkit.org/show_bug.cgi?id=34463
2947
2948         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2949         (textForObject):
2950         Checking if render objects are texts before calling toRenderText
2951
2952 2010-02-04  Xan Lopez  <xlopez@igalia.com>
2953
2954         Reviewed by Gustavo Noronha.
2955
2956         Set first party URI in all SoupMessages. This allows libsoup to
2957         implement a "no third party cookies" policy in case it wants
2958         to. Also start a non-JSC-specific, gtk-specific GOwnPtr module and
2959         use it for SoupURI.
2960
2961         * platform/network/soup/CookieJarSoup.cpp:
2962         (WebCore::setCookies):
2963         * platform/network/soup/ResourceHandleSoup.cpp:
2964         (WebCore::restartedCallback):
2965         (WebCore::startHttp):
2966         * platform/network/soup/ResourceRequestSoup.cpp:
2967         (WebCore::ResourceRequest::toSoupMessage):
2968         (WebCore::ResourceRequest::updateFromSoupMessage):
2969
2970 2010-02-04  Pavel Feldman  <pfeldman@chromium.org>
2971
2972         Reviewed by Timothy Hatcher.
2973
2974         Web Inspector: group cookies by domains, not frame's domains.
2975
2976         https://bugs.webkit.org/show_bug.cgi?id=34599
2977
2978         * inspector/front-end/CookieItemsView.js:
2979         (WebInspector.CookieItemsView.prototype._cookiesForDomain):
2980         * inspector/front-end/inspector.js:
2981         (WebInspector.updateResource):
2982         (WebInspector._addCookieDomain):
2983
2984 2010-02-04  Nate Chapin  <japhet@chromium.org>
2985
2986         Reviewed by Dimitri Glazkov.
2987
2988         [V8] Delete V8CustomBinding.h and all references to V8Custom
2989
2990         https://bugs.webkit.org/show_bug.cgi?id=32638
2991
2992         * bindings/v8/NPV8Object.cpp:
2993         * bindings/v8/V8DOMWindowShell.h:
2994         * bindings/v8/V8NPObject.cpp:
2995         * bindings/v8/V8Utilities.cpp:
2996         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
2997         * bindings/v8/custom/V8AttrCustom.cpp:
2998         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2999         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3000         * bindings/v8/custom/V8ClipboardCustom.cpp:
3001         * bindings/v8/custom/V8CoordinatesCustom.cpp:
3002         * bindings/v8/custom/V8CustomBinding.h: Removed.
3003         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
3004         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3005         * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
3006         * bindings/v8/custom/V8DatabaseCustom.cpp:
3007         * bindings/v8/custom/V8ElementCustom.cpp:
3008         * bindings/v8/custom/V8EventSourceConstructor.cpp:
3009         * bindings/v8/custom/V8EventSourceCustom.cpp:
3010         * bindings/v8/custom/V8GeolocationCustom.cpp:
3011         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
3012         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
3013         (WebCore::v8HTMLAudioElementConstructorCallback):
3014         (WebCore::V8HTMLAudioElementConstructor::GetTemplate):
3015         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3016         * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp:
3017         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
3018         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp:
3019         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3020         (WebCore::v8HTMLImageElementConstructorCallback):
3021         (WebCore::V8HTMLImageElementConstructor::GetTemplate):
3022         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
3023         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
3024         (WebCore::v8HTMLOptionElementConstructorCallback):
3025         (WebCore::V8HTMLOptionElementConstructor::GetTemplate):
3026         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3027         * bindings/v8/custom/V8HistoryCustom.cpp:
3028         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
3029         * bindings/v8/custom/V8LocationCustom.cpp:
3030         * bindings/v8/custom/V8MessagePortCustom.cpp:
3031         * bindings/v8/custom/V8NodeCustom.cpp:
3032         * bindings/v8/custom/V8NodeFilterCustom.cpp:
3033         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3034         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3035         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
3036         * bindings/v8/custom/V8SVGLengthCustom.cpp:
3037         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
3038         * bindings/v8/custom/V8StorageCustom.cpp:
3039         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
3040         * bindings/v8/custom/V8WebGLArrayCustom.h:
3041         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
3042         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
3043         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
3044         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
3045         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
3046         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
3047         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
3048         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
3049         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3050         * bindings/v8/custom/V8WorkerCustom.cpp:
3051         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3052         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3053         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
3054
3055 2010-02-04  Ariya Hidayat  <ariya.hidayat@gmail.com>
3056
3057         Reviewed by Simon Hausmann.
3058
3059         [Qt] Unnecessary QBrush construction for doing a solid fill
3060         https://bugs.webkit.org/show_bug.cgi?id=34559
3061
3062         Use the similar trick like r37421, i.e. use the special brush for
3063         solid color to avoid creating QBrush again and again.
3064
3065         * platform/graphics/qt/GraphicsContextQt.cpp:
3066         (WebCore::GraphicsContext::setPlatformFillColor):
3067
3068 2010-02-04  Dan Bernstein  <mitz@apple.com>
3069
3070         Reviewed by Simon Fraser.
3071
3072         REGRESSION (r53718): When scrolling a tall window by page, the overlap between pages is too big
3073         https://bugs.webkit.org/show_bug.cgi?id=34371
3074
3075         Allow ScrollbarTheme to cap the overlap between pages, and set a cap of
3076         40 in ScrollbarThemeMac.
3077
3078         * WebCore.base.exp: Export Scrollbar::maxOverlapBetweenPages().
3079         * editing/EditorCommand.cpp:
3080         (WebCore::verticalScrollDistance): Use Scrollbar methods instead of
3081         constants, and cap the scroll distance if needed.
3082         * platform/ScrollView.cpp:
3083         (WebCore::ScrollView::updateScrollbars): Ditto.
3084         (WebCore::ScrollView::wheelEvent): Ditto.
3085         * platform/Scrollbar.cpp:
3086         (WebCore::Scrollbar::maxOverlapBetweenPages): Added. Returns the
3087         value from the native scrollbar theme.
3088         * platform/Scrollbar.h: Replaced scroll amount constants with static methods.
3089         (WebCore::Scrollbar::pixelsPerLineStep): Replaces cScrollbarPixelsPerLineStep.
3090         (WebCore::Scrollbar::minFractionToStepWhenPaging): Replaces cFractionToStepWhenPaging.
3091         * platform/ScrollbarTheme.h:
3092         (WebCore::ScrollbarTheme::maxOverlapBetweenPages): A base implementation
3093         that returns the largest int.
3094         * platform/gtk/WheelEventGtk.cpp:
3095         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
3096         constants.
3097         * platform/haiku/PlatformWheelEventHaiku.cpp:
3098         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
3099         constants.
3100         * platform/mac/ScrollbarThemeMac.h:
3101         (WebCore::ScrollbarThemeMac::maxOverlapBetweenPages): An override
3102         that returns 40.
3103         * platform/mac/WheelEventMac.mm:
3104         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use
3105         Scrollbar::pixelsPerLineStep() instead of cScrollbarPixelsPerLineStep.
3106         * platform/wx/MouseWheelEventWx.cpp:
3107         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Use Scrollbar methods instead of
3108         constants.
3109         * platform/wx/ScrollViewWx.cpp:
3110         (WebCore::ScrollView::ScrollViewPrivate::OnScrollWinEvents): Use Scrollbar
3111         methods instead of constants, and cap the scroll distance if needed.
3112         * rendering/RenderLayer.cpp:
3113         (WebCore::RenderLayer::updateScrollInfoAfterLayout): Ditto.
3114
3115 2010-02-04  No'am Rosenthal  <noam.rosenthal@nokia.com>
3116
3117         Reviewed by Ariya Hidayat.
3118
3119         [Qt] Tuning and optimizations to GraphicsLayerQt. Reduce unnecessary
3120         recaching, remove QTimer::singleShot and QPixmap::scaled, more
3121         accurate strategy of handling transform operation blends. Rotating a
3122         bordered-table, for example, now runs at 50FPS instead of 40FPS on Maemo5.
3123
3124         https://bugs.webkit.org/show_bug.cgi?id=34062
3125
3126         This is tested by https://bugs.webkit.org/show_bug.cgi?id=34450, fps measurements.
3127
3128         * platform/graphics/qt/GraphicsLayerQt.cpp:
3129         (WebCore::GraphicsLayerQtImpl::flushChanges): Fine-tune caching
3130         (WebCore::TransformAnimationQt::TransformAnimationQt): transform bugs
3131         (WebCore::OpacityAnimationQt::updateState): style change
3132
3133 2010-02-04  Pavel Feldman  <pfeldman@chromium.org>
3134
3135         Reviewed by Timothy Hatcher.
3136
3137         Web Inspector: Cookies for resources are not shown in storage panel.
3138
3139         https://bugs.webkit.org/show_bug.cgi?id=34594
3140
3141         * inspector/InspectorController.cpp:
3142         (WebCore::InspectorController::getCookies):
3143         * inspector/InspectorResource.cpp:
3144         (WebCore::InspectorResource::updateScriptObject):
3145         (WebCore::InspectorResource::cachedResource):
3146         * inspector/InspectorResource.h:
3147         (WebCore::InspectorResource::requestURL):
3148
3149 2010-02-04  Anton Muhin  <antonm@chromium.org>
3150
3151         Reviewed by Adam Barth.
3152
3153         [v8] Remove clear method from DOM object maps
3154         https://bugs.webkit.org/show_bug.cgi?id=34530
3155
3156         No new tests. Should be covered by existent testing infrastructure.
3157
3158         * bindings/v8/DOMData.h:
3159         * bindings/v8/DOMDataStore.h:
3160         * bindings/v8/V8DOMMap.cpp:
3161         * bindings/v8/V8DOMMap.h:
3162         * bindings/v8/WorkerScriptController.cpp:
3163         (WebCore::WorkerScriptController::~WorkerScriptController):
3164
3165 2010-02-04  Holger Hans Peter Freyther  <zecke@selfish.org>
3166
3167         Reviewed by Xan Lopez.
3168
3169         [Gtk] Check if the renderer() exists in textForObject.
3170
3171         This is fixing a crash in the textForObject method. It can
3172         happen when inspecting AtkObjects in the accerciser, then
3173         navigating to a new page and still inspecting the old tree.
3174
3175         In this case the AccessibilityObjectWrapperAtk was still
3176         valid but the included renderer() was returning 0. Add a
3177         check for the accObject->renderer() before trying to use
3178         the result.
3179
3180         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3181         (textForObject):
3182
3183 2010-02-04  Yury Semikhatsky  <yurys@chromium.org>
3184
3185         Reviewed by Pavel Feldman.
3186
3187         Provide strongly typed C++ interface for inspector's injected script.
3188
3189         https://bugs.webkit.org/show_bug.cgi?id=33616
3190
3191         * GNUmakefile.am:
3192         * WebCore.gypi:
3193         * WebCore.pro:
3194         * WebCore.vcproj/WebCore.vcproj:
3195         * WebCore.xcodeproj/project.pbxproj:
3196         * bindings/js/JSInjectedScriptHostCustom.cpp:
3197         (WebCore::InjectedScriptHost::injectedScriptFor):
3198         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3199         (WebCore::InjectedScriptHost::injectedScriptFor):
3200         * inspector/InjectedScript.cpp: Added.
3201         (WebCore::InjectedScript::InjectedScript):
3202         (WebCore::InjectedScript::dispatch):
3203         (WebCore::InjectedScript::callFrames):
3204         (WebCore::InjectedScript::wrapAndStringifyForConsole):
3205         (WebCore::InjectedScript::releaseWrapperObjectGroup):
3206         * inspector/InjectedScript.h: Added.
3207         (WebCore::InjectedScript::InjectedScript):
3208         (WebCore::InjectedScript::~InjectedScript):
3209         (WebCore::InjectedScript::hasNoValue):
3210         * inspector/InjectedScriptHost.cpp:
3211         (WebCore::InjectedScriptHost::injectedScriptForId):
3212         (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
3213         * inspector/InjectedScriptHost.h:
3214         * inspector/InspectorBackend.cpp:
3215         (WebCore::InspectorBackend::dispatchOnInjectedScript):
3216         * inspector/InspectorController.cpp:
3217         (WebCore::InspectorController::InspectorController):
3218         (WebCore::InspectorController::~InspectorController):
3219         (WebCore::InspectorController::inspectedPageDestroyed):
3220         (WebCore::InspectorController::windowScriptObjectAvailable):
3221         (WebCore::InspectorController::scriptObjectReady):
3222         (WebCore::InspectorController::setFrontendProxyObject):
3223         (WebCore::InspectorController::close):
3224         (WebCore::InspectorController::getProfile):
3225         (WebCore::InspectorController::enableDebugger):
3226         (WebCore::InspectorController::didPause):
3227         (WebCore::InspectorController::injectedScriptForNodeId):
3228         * inspector/InspectorController.h:
3229         (WebCore::InspectorController::frontendScriptState):
3230         * inspector/InspectorFrontend.cpp:
3231         (WebCore::InspectorFrontend::addConsoleMessage):
3232         * inspector/front-end/InjectedScript.js:
3233         (injectedScriptConstructor):
3234
3235 2010-02-04  Philippe Normand  <pnormand@igalia.com>
3236
3237         Rubber stamped by Xan Lopez.
3238
3239         Missing include, build fix after landing of patch from the bug 34435.
3240
3241         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3242
3243 2010-02-02  Philippe Normand  <pnormand@igalia.com>
3244
3245         Reviewed by Gustavo Noronha Silva.
3246
3247         [Gtk] libsoup critical warning in media player http cookies injection code
3248         https://bugs.webkit.org/show_bug.cgi?id=34435
3249
3250         Fixed the critical warning and refactored the
3251         User-Agent/Referer/cookies injection code, in that order. Previous
3252         order (cookies first) was wrong because if cookies injection could
3253         not be done neither the User-Agent nor Referer were injected. Also
3254         started a non-JSC-specific, gtk-specific GOwnPtr module.
3255
3256         * GNUmakefile.am:
3257         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3258         (WebCore::mediaPlayerPrivateSourceChangedCallback):
3259         * platform/gtk/GOwnPtrGtk.cpp: Added.
3260         (WTF::SoupURI):
3261         (WTF::GstElement):
3262         * platform/gtk/GOwnPtrGtk.h: Added.
3263
3264 2010-02-04  Mikhail Naganov  <mnaganov@chromium.org>
3265
3266         Reviewed by Timothy Hatcher.
3267
3268         Put JSC-specific debugger & profiler code under "USE(JSC)" defines.
3269         The plan is to enable "JAVASCRIPT_DEBUGGER" in Chromium and then
3270         make this code engine-agnostic.
3271
3272         https://bugs.webkit.org/show_bug.cgi?id=34531
3273
3274         * inspector/InjectedScriptHost.cpp:
3275         * inspector/InjectedScriptHost.h:
3276         * inspector/InspectorBackend.cpp:
3277         * inspector/InspectorBackend.h:
3278         * inspector/InspectorController.cpp:
3279         (WebCore::InspectorController::InspectorController):
3280         (WebCore::InspectorController::setWindowVisible):
3281         (WebCore::InspectorController::scriptObjectReady):
3282         (WebCore::InspectorController::close):
3283         (WebCore::InspectorController::didCommitLoad):
3284         * inspector/InspectorController.h:
3285         * inspector/InspectorFrontend.cpp:
3286         * inspector/InspectorFrontend.h:
3287         * inspector/JavaScriptCallFrame.cpp:
3288         * inspector/JavaScriptCallFrame.h:
3289         * inspector/JavaScriptDebugListener.h:
3290         * inspector/JavaScriptDebugServer.cpp:
3291         * inspector/JavaScriptDebugServer.h:
3292         * inspector/JavaScriptProfile.cpp:
3293         * inspector/JavaScriptProfile.h:
3294         * inspector/JavaScriptProfileNode.cpp:
3295         * inspector/JavaScriptProfileNode.h:
3296         * loader/FrameLoader.cpp:
3297         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
3298         * page/Page.cpp:
3299         (WebCore::Page::Page):
3300
3301 2010-02-03  Nicholas Young  <nicholas.young@nokia.com>
3302
3303         Reviewed by Eric Carlson.
3304
3305         Defer formatting of times displayed on media controls to the current theme.
3306         https://bugs.webkit.org/show_bug.cgi?id=34405
3307
3308         No new tests needed. Refactoring Only.
3309
3310         * rendering/MediaControlElements.cpp: Removed formatTime()
3311         (WebCore::MediaControlTimeDisplayElement::setCurrentValue): No longer sets inner text
3312         * rendering/MediaControlElements.h:
3313         * rendering/RenderMedia.cpp:
3314         (WebCore::RenderMedia::updateTimeDisplay): Asks the theme to format the time display elements
3315         * rendering/RenderTheme.cpp:
3316         (WebCore::RenderTheme::formatMediaControlsTime): new virtual method
3317         (WebCore::RenderTheme::formatMediaControlsCurrentTime): new virtual method
3318         (WebCore::RenderTheme::formatMediaControlsRemainingTime): new virtual method
3319         * rendering/RenderTheme.h:
3320
3321 2010-02-03  Steve Falkenburg  <sfalken@apple.com>
3322
3323         Windows Debug_All build fix.
3324
3325         * platform/graphics/win/WKCACFLayer.cpp:
3326
3327 2010-02-03  Brady Eidson  <beidson@apple.com>
3328
3329         Reviewed by Alexey Proskuryakov.
3330
3331         REGRESSION (r51644): WebCore/manual-tests/linkjump-1.html fails
3332         <rdar://problem/7595694> and https://bugs.webkit.org/show_bug.cgi?id=34550
3333
3334         Tests: fast/loader/document-with-fragment-url-1.html
3335                fast/loader/document-with-fragment-url-2.html
3336                fast/loader/document-with-fragment-url-3.html
3337                fast/loader/document-with-fragment-url-4.html
3338
3339         * platform/KURL.cpp:
3340         (WebCore::KURL::init): When resolving new URL from an empty reference relative to an absolute URL,
3341           any fragment identifier from the absolute URL should be removed from the resulting resolution.
3342
3343 2010-02-03  Kwang Yul Seo  <skyul@company100.net>
3344
3345         Reviewed by Eric Seidel.
3346
3347         [BREWMP] Port TextBreakIteratorInternalICU
3348         https://bugs.webkit.org/show_bug.cgi?id=34515
3349
3350         Port TextBreakIteratorInternalICU.
3351
3352         * platform/text/brew/TextBreakIteratorInternalICUBrew.cpp: Added.
3353         (WebCore::currentSearchLocaleID):
3354         (WebCore::currentTextBreakLocaleID):
3355
3356 2010-02-03  Adele Peterson  <adele@apple.com>
3357
3358         Reviewed by Simon Fraser.
3359
3360         Fix for <rdar://problem/7594212> 
3361         https://bugs.webkit.org/show_bug.cgi?id=34549 - CSS counters crash at http://www.w3.org/TR/css3-content/
3362         CrashTracer: [USER] 20 crashes in Safari at com.apple.WebCore: WebCore::CounterNode::insertAfter + 319
3363
3364         Test: fast/css/counters/counter-before-selector-crash.html
3365
3366         * rendering/RenderCounter.cpp: (WebCore::updateCounters): nil check.
3367
3368 2010-02-03  Adele Peterson  <adele@apple.com>
3369
3370         Reviewed by Brady Eidson.
3371
3372         Initialize the variable in the last checkin to false.  I didn't realize DRT relies on this being false.  
3373         So ports that want visited link tracking need to set that flag.
3374
3375         * page/PageGroup.cpp:
3376
3377 2010-02-03  Adele Peterson  <adele@apple.com>
3378
3379         Reviewed by Brady Eidson.
3380
3381         Fix for https://bugs.webkit.org/show_bug.cgi?id=34547
3382         static shouldTrackVisitedLinks is not initialized
3383
3384         For ports that don't call into WebKit to initialize this, 
3385         we should initialize to true so they get the visited link behavior by default.
3386
3387         * page/PageGroup.cpp:
3388
3389 2010-02-03  Dan Bernstein  <mitz@apple.com>
3390
3391         Reviewed by Simon Fraser.
3392
3393         <rdar://problem/7577604> Drag and Drop: background elements are bleeding through
3394         https://bugs.webkit.org/show_bug.cgi?id=34546
3395
3396         * manual-tests/drag-image-table-part-decorations.html: Added.
3397         * rendering/RenderFieldset.cpp:
3398         (WebCore::RenderFieldset::paintBoxDecorations): Bail out if this object shouldn’t
3399         paint within the current painting root.
3400         * rendering/RenderTable.cpp:
3401         (WebCore::RenderTable::paintBoxDecorations): Ditto.
3402         * rendering/RenderTableCell.cpp:
3403         (WebCore::RenderTableCell::paintBackgroundsBehindCell): Ditto.
3404         (WebCore::RenderTableCell::paintBoxDecorations): Ditto.
3405
3406 2010-02-03  Nate Chapin  <japhet@chromium.org>
3407
3408         Unreviewed, Chromium mac build fix.
3409
3410         [V8] Remove unused V8Proxy* variable from generated wrapping code.
3411
3412         * bindings/scripts/CodeGeneratorV8.pm:
3413
3414 2010-02-03  Nate Chapin  <japhet@chromium.org>
3415
3416         Reviewed by Dimitri Glazkov.
3417
3418         [V8] Use toV8() to wrap in the custom bindings, and remove
3419         the old wrapping code from V8DOMWrapper.
3420         
3421         https://bugs.webkit.org/show_bug.cgi?id=32563
3422
3423         * bindings/scripts/CodeGeneratorV8.pm:
3424         * bindings/v8/ScriptController.cpp:
3425         * bindings/v8/ScriptObject.cpp:
3426         * bindings/v8/V8AbstractEventListener.cpp:
3427         * bindings/v8/V8Collection.h:
3428         * bindings/v8/V8DOMWindowShell.cpp:
3429         * bindings/v8/V8DOMWrapper.cpp:
3430         * bindings/v8/V8DOMWrapper.h:
3431         * bindings/v8/V8NodeFilterCondition.cpp:
3432         * bindings/v8/V8Proxy.cpp:
3433         * bindings/v8/WorkerContextExecutionProxy.h
3434         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3435         * bindings/v8/custom/V8CustomPositionCallback.cpp:
3436         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
3437         * bindings/v8/custom/V8CustomSQLStatementCallback.cpp:
3438         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
3439         * bindings/v8/custom/V8CustomSQLTransactionCallback.cpp:
3440         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
3441         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3442         * bindings/v8/custom/V8DataGridColumnListCustom.cpp:
3443         * bindings/v8/custom/V8DocumentCustom.cpp:
3444         * bindings/v8/custom/V8DocumentLocationCustom.cpp:
3445         * bindings/v8/custom/V8ElementCustom.cpp:
3446         * bindings/v8/custom/V8EventCustom.cpp:
3447         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
3448         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
3449         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3450         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
3451         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
3452         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
3453         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
3454         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3455         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
3456         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
3457         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3458         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
3459         * bindings/v8/custom/V8MessageEventCustom.cpp:
3460         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
3461         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
3462         * bindings/v8/custom/V8NodeListCustom.cpp:
3463         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3464         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
3465         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
3466         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
3467         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3468         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
3469
3470 2010-02-03  Sam Weinig  <sam@webkit.org>
3471
3472         Reviewed by Anders Carlsson.
3473
3474         Fix drawing buttons in viewless WebKit.
3475
3476         * platform/mac/ThemeMac.mm:
3477         (WebCore::paintButton): If there is no view, make sure to flip the
3478         context so that the button is drawn correctly.
3479
3480 2010-02-03  Yael Aharon  <yael.aharon@nokia.com>
3481
3482         Reviewed by Kenneth Rohde Christiansen.
3483
3484         [Qt] WebSockets : Buffer the data in WebKit instead of QtNetwork
3485         https://bugs.webkit.org/show_bug.cgi?id=34425
3486
3487         Reverting r54279, it was a misunderstanding.
3488
3489         * platform/network/qt/SocketStreamHandlePrivate.h:
3490         * platform/network/qt/SocketStreamHandleQt.cpp:
3491         (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
3492         (WebCore::SocketStreamHandlePrivate::send):
3493         (WebCore::SocketStreamHandlePrivate::close):
3494
3495 2010-02-03  Drew Wilson  <atwilson@chromium.org>
3496
3497         Reviewed by Alexey Proskuryakov.
3498
3499         SharedWorkerScriptLoader should not be an ActiveDOMObject
3500         https://bugs.webkit.org/show_bug.cgi?id=34513
3501
3502         Test: Existing tests suffice (fixes test downstream in Chrome).
3503
3504         * workers/DefaultSharedWorkerRepository.cpp:
3505         (WebCore::SharedWorkerScriptLoader::SharedWorkerScriptLoader):
3506         Changed to no longer derive from ActiveDOMObject (handles its own refcounting).
3507         (WebCore::SharedWorkerScriptLoader::load):
3508         Now increments own refcount when a load is pending.
3509         (WebCore::SharedWorkerScriptLoader::notifyFinished):
3510         Changed to decrement refcount when load is complete.
3511         * workers/WorkerScriptLoaderClient.h:
3512         Documentation change about reliability of notifyFinished() when used from worker context.
3513
3514 2010-02-03  Pavel Feldman  <pfeldman@chromium.org>
3515
3516         Reviewed by Timothy Hatcher.
3517
3518         Web Inspector: Inspector renders blank scripts on reloading the webpage.
3519
3520         https://bugs.webkit.org/show_bug.cgi?id=34537
3521
3522         * inspector/front-end/ResourcesPanel.js:
3523         (WebInspector.ResourcesPanel.prototype.recreateViewForResourceIfNeeded):
3524
3525 2010-02-03  Yury Semikhatsky  <yurys@chromium.org>
3526
3527         Reviewed by Pavel Feldman.
3528
3529         Provide strongly typed C++ interface for inspector's injected script.
3530
3531         https://bugs.webkit.org/show_bug.cgi?id=33616
3532
3533         * WebCore.gypi:
3534         * WebCore.pro:
3535         * WebCore.vcproj/WebCore.vcproj:
3536         * WebCore.xcodeproj/project.pbxproj:
3537         * bindings/js/JSInjectedScriptHostCustom.cpp:
3538         (WebCore::InjectedScriptHost::injectedScriptFor):
3539         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
3540         (WebCore::InjectedScriptHost::injectedScriptFor):
3541         * inspector/InjectedScript.cpp: Added.
3542         (WebCore::InjectedScript::InjectedScript):
3543         (WebCore::InjectedScript::dispatch):
3544         (WebCore::InjectedScript::callFrames):
3545         (WebCore::InjectedScript::wrapAndStringify):
3546         (WebCore::InjectedScript::releaseWrapperObjectGroup):
3547         * inspector/InjectedScript.h: Added.
3548         (WebCore::InjectedScript::InjectedScript):
3549         (WebCore::InjectedScript::~InjectedScript):
3550         (WebCore::InjectedScript::hasNoValue):
3551         * inspector/InjectedScriptHost.cpp:
3552         (WebCore::InjectedScriptHost::injectedScriptForId):
3553         (WebCore::InjectedScriptHost::releaseWrapperObjectGroup):
3554         * inspector/InjectedScriptHost.h:
3555         * inspector/InspectorBackend.cpp:
3556         (WebCore::InspectorBackend::dispatchOnInjectedScript):
3557         * inspector/InspectorController.cpp:
3558         (WebCore::InspectorController::InspectorController):
3559         (WebCore::InspectorController::~InspectorController):
3560         (WebCore::InspectorController::inspectedPageDestroyed):
3561         (WebCore::InspectorControl