7625ba695cf418528127c9e5c451cbce3e2e7b61
[WebKit.git] / WebCore / ChangeLog
1 2009-11-20  Joseph Pecoraro  <joepeck@webkit.org>
2
3         Reviewed by Timothy Hatcher.
4
5         Web Inspector: Running code in the Console that ends with a
6         single line comment no longer produces a parse error.
7
8         * inspector/front-end/InjectedScript.js:
9         (InjectedScript._evaluateOn):
10
11 2009-11-20  Chris Fleizach  <cfleizach@apple.com>
12
13         Reviewed by Beth Dakin.
14
15         WAI-ARIA: add support for 'math' role
16         https://bugs.webkit.org/show_bug.cgi?id=31706
17
18         * accessibility/AccessibilityObject.cpp:
19         * accessibility/AccessibilityObject.h:
20         * accessibility/mac/AccessibilityObjectWrapper.mm:
21
22 2009-11-20  Yael Aharon  <yael.aharon@nokia.com>
23
24         Reviewed by Kenneth Rohde Christiansen.
25
26         NPN_ReloadPlugins does not reload the page even if reloadPages is true.
27         https://bugs.webkit.org/show_bug.cgi?id=30460
28
29         Replace call to PluginDatabase::installedPlugins()->refresh() with Page::refreshPlugins().
30         It already refreshes plugins and reloads pages when necessary.
31
32         Tests: plugins/reloadplugins-and-pages.html
33                plugins/reloadplugins-no-pages.html
34
35         * plugins/PluginInfoStore.cpp:
36         (WebCore::refreshPlugins):
37
38 2009-11-20  Oliver Hunt  <oliver@apple.com>
39
40         Reviewed by Dave Hyatt.
41
42         <rdar://7409188> WebKit needs to be able to serialize and deserialize objects.
43
44         Expose WebCore object serialization to WebKit.
45
46         * WebCore.base.exp:
47         * bindings/js/SerializedScriptValue.cpp:
48         (WebCore::SerializedScriptValue::~SerializedScriptValue):
49         (WebCore::SerializedScriptValue::create):
50         (WebCore::SerializedScriptValue::deserialize):
51         * bindings/js/SerializedScriptValue.h:
52
53 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
54
55         Reviewed by Tim Hatcher.
56
57         Fixes <http://webkit.org/b/31741>.
58         Web Inspector: User Entered Data on the console should show up no matter what filters.
59         
60         Always show .console-user-command-result, no matter what the filter say
61         we should do with the other classes.
62
63         * inspector/front-end/inspector.css:
64
65 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
66
67         Reviewed by Tim Hatcher.
68
69         Fixes <http://webkit.org/b/31700>.
70         Web Inspector: isMac should be in one central location + Cached.
71         
72         We should cache the value of isMac, and make the indexOf call in one
73         single location, because we are calling it from multiple places, and saving
74         the result can save us time, and make the call sites simpler.
75
76         * inspector/front-end/AbstractTimelinePanel.js:
77         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
78         * inspector/front-end/ConsoleView.js:
79         (WebInspector.ConsoleView.prototype._updateFilter):
80         * inspector/front-end/ElementsPanel.js:
81         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
82         * inspector/front-end/ScriptsPanel.js:
83         (WebInspector.ScriptsPanel):
84         * inspector/front-end/SourceFrame.js:
85         (WebInspector.SourceFrame.prototype._loaded):
86         * inspector/front-end/inspector.js:
87         (WebInspector.documentKeyDown):
88         (WebInspector.isMac):
89
90 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
91
92         Removed .DS_Store accidentally added in last (r51245).
93
94 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
95
96         Reviewed by Timothy Hatcher.
97
98         Web Inspector: Add Console Only Layout Mode
99         https://bugs.webkit.org/show_bug.cgi?id=30282
100
101         Adds a Console Panel, which allows for a Full size Console. This
102         extends the Drawer to the size of a Panel. This also fixes previous
103         resize issues with the Drawer.
104
105         * inspector/front-end/ConsolePanel.js: added.
106         (WebInspector.ConsolePanel):
107         (WebInspector.ConsolePanel.prototype.toolbarItemClass.get toolbarItemLabel):
108         (WebInspector.ConsolePanel.prototype.show):
109         (WebInspector.ConsolePanel.prototype.hide):
110         * inspector/front-end/Drawer.js:
111         (WebInspector.Drawer):
112         (WebInspector.Drawer.prototype.set visibleView):
113         (WebInspector.Drawer.prototype.get savedHeight): access the saved height of the variable console.
114         (WebInspector.Drawer.prototype.show.animationFinished):
115         (WebInspector.Drawer.prototype.show):
116         (WebInspector.Drawer.prototype.hide.animationFinished):
117         (WebInspector.Drawer.prototype.hide):
118         (WebInspector.Drawer.prototype.resize): resize appropriately if full/non-full
119         (WebInspector.Drawer.prototype.enterPanelMode):
120         (WebInspector.Drawer.prototype.exitPanelMode):
121         (WebInspector.Drawer.prototype.immediatelyExitPanelMode):
122         (WebInspector.Drawer.prototype._cancelAnimationIfNeeded):
123         (WebInspector.Drawer.prototype._animateDrawerHeight.animationFinished):
124         (WebInspector.Drawer.prototype._animateDrawerHeight):
125         (WebInspector.Drawer.prototype._animationDuration):
126         (WebInspector.Drawer.prototype._startStatusBarDragging):
127         (WebInspector.Drawer.prototype._statusBarDragging):
128         (WebInspector.Drawer.prototype._endStatusBarDragging):
129
130         Miscellaneous changes and cleanup.
131
132         * English.lproj/localizedStrings.js: "Console" toolbar title.
133         * inspector/front-end/ConsoleView.js: removed unnecessary element reordering  
134         * inspector/front-end/Images/consoleIcon.png: added.
135         * inspector/front-end/inspector.css: added icon.
136         * inspector/front-end/inspector.html:
137         * inspector/front-end/inspector.js:
138         (WebInspector._createPanels): create console panel
139         (WebInspector.windowResize): resize drawer if necessary
140         (WebInspector.documentKeyDown): esc should not toggle the console when in panel mode
141         (WebInspector.animateStyle): start animation interval, returns the interval key
142         (WebInspector.toggleAttach): resize drawer if necessary
143         (WebInspector.showConsolePanel): restore the panel when the inspector restarts
144         (WebInspector.showProfileForURL): style fix
145
146         Restore the panel when the inspector restarts.
147
148         * inspector/InspectorController.cpp:
149         (WebCore::InspectorController::setWindowVisible):
150         (WebCore::InspectorController::specialPanelForJSName):
151         * inspector/InspectorFrontend.cpp:
152         (WebCore::InspectorFrontend::showPanel):
153
154         Build files.
155
156         * WebCore.gypi:
157         * WebCore.vcproj/WebCore.vcproj:
158         * inspector/front-end/WebKit.qrc:
159
160 2009-11-20  Brian Weinstein  <bweinstein@apple.com>
161
162         Reviewed by Tim Hatcher.
163
164         Fixes <http://webkit.org/b/31699>.
165         Web Inspector: Should Cache Values of InspectorController.platform() and port().
166
167         Refactor the Inspector to cache the value of InspectorController.platform
168         and InspectorController.port, because those need to call into C++, they are
169         being called more and more as we add platform specific keyboard shortcuts, and
170         they shouldn't change in the lifecycle of the Web Inspector.
171
172         * inspector/front-end/AbstractTimelinePanel.js:
173         (WebInspector.AbstractTimelinePanel.prototype._updateFilter):
174         * inspector/front-end/ConsoleView.js:
175         (WebInspector.ConsoleView.prototype._updateFilter):
176         * inspector/front-end/ElementsPanel.js:
177         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
178         * inspector/front-end/ScriptsPanel.js:
179         (WebInspector.ScriptsPanel):
180         * inspector/front-end/SourceFrame.js:
181         (WebInspector.SourceFrame.prototype._loaded):
182         * inspector/front-end/inspector.js:
183         (WebInspector.get platform):
184         (WebInspector.get port):
185         (WebInspector.loaded):
186         (WebInspector.documentKeyDown):
187         (WebInspector.toolbarDragStart):
188
189 2009-11-20  Dirk Schulze  <krit@webkit.org>
190
191         Unreviewed build fix for filters enabled builds.
192
193         * platform/graphics/filters/FEColorMatrix.cpp:
194         (WebCore::FEColorMatrix::apply):
195         * platform/graphics/filters/FEComposite.cpp:
196         (WebCore::FEComposite::apply):
197         * platform/graphics/filters/SourceGraphic.cpp:
198         (WebCore::SourceGraphic::apply):
199         * svg/graphics/SVGResourceFilter.cpp:
200         (WebCore::SVGResourceFilter::applyFilter):
201         * svg/graphics/filters/SVGFEMerge.cpp:
202         (WebCore::FEMerge::apply):
203         * svg/graphics/filters/SVGFEOffset.cpp:
204         (WebCore::FEOffset::apply):
205         * svg/graphics/filters/SVGFETile.cpp:
206         (WebCore::FETile::apply):
207
208 2009-11-20  Eric Carlson  <eric.carlson@apple.com>
209
210         Reviewed by Simon Fraser.
211
212         <rdar://problem/7389945> QTKit based media engine should not claim to support 
213         fullscreen on Leopard
214
215         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
216         (WebCore::MediaPlayerPrivate::supportsFullscreen):
217             Only return true on SnowLeopard for now.
218
219         * rendering/RenderThemeMac.mm:
220         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
221             No need to special case MediaFullscreenButtonPart as the default implementation 
222             asks the media engine if it supports fullscreen.
223
224 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
225
226         Reviewed by Simon Hausmann.
227
228         Patch by Yongjun Zhang <yongjun.zhang@nokia.com> and
229                  Girish Ramakrishnan <girish@forwardbias.in>
230         
231         [Qt] Implement support for rendering plugins on Qt/Mac when a page is used
232         without a QWebView or when inside QGraphicsWebView.
233         
234         Currently, the code provides the cgcontext of the PlatformPluginWidget to
235         the plugin. This approach does not work when we are printing, or using
236         QWebFrame::render() to render to a QImage/QPixmap since the plugin ends
237         up drawing on the QWebView (i.e platformPluginWidget's cgcontext) instead
238         of the QPaintDevice's context.
239         
240         To solve all cases and keep the code simple, we render the plugin to an
241         offscreen pixmap in all cases. This way, the plugin always renders to the
242         CGContext of the pixmap and we then use QPainter to blit the pixmap into
243         the QPaintDevice. We also create a fake window and set it's WindowRef in
244         NPWindow. Only with this WindowRef does Flash paint correctly to the QPixmap.
245         
246         Now, that's the theory. In practice, ATM, mouse events do not work when using
247         the fake window. So, setPlatformPluginWidget() is still called when using QWebView
248         so that there are no regressions after this patch. Once we get mouse events
249         working, setPlatformPluginWidget will be removed.
250         
251         https://bugs.webkit.org/show_bug.cgi?id=31183
252
253         * plugins/PluginView.cpp:
254         (WebCore::PluginView::PluginView):
255         * plugins/PluginView.h:
256         * plugins/mac/PluginViewMac.cpp:
257         (WebCore::PluginView::platformStart):
258         (WebCore::PluginView::platformDestroy):
259         (WebCore::PluginView::setNPWindowIfNeeded):
260         (WebCore::PluginView::updatePluginWidget):
261         (WebCore::PluginView::paint):
262         (WebCore::PluginView::invalidateRect):
263
264 2009-11-19  Joseph Pecoraro  <joepeck@webkit.org>
265
266         Reviewed by Timothy Hatcher.
267
268         Web Inspector: Resync Resources Backend and Frontend
269         https://bugs.webkit.org/show_bug.cgi?id=31705
270
271         * inspector/front-end/Resource.js: resync enum values with backend
272         (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType): return false if all else fails, not true in all cases
273
274 2009-11-19  Steve Block  <steveblock@google.com>
275
276         Reviewed by Darin Fisher.
277
278         Android port lacks configuration in Platform.h and config.h.
279         https://bugs.webkit.org/show_bug.cgi?id=31671
280
281         Build change only. No new tests possible.
282
283         * config.h: Modified. Added Android-specific configuration.
284
285 2009-11-20  Roland Steiner  <rolandsteiner@chromium.org>
286
287         Reviewed by Darin Adler.
288
289         Change default stylesheet to reset text indentation for ruby elements by default.
290         (https://bugs.webkit.org/show_bug.cgi?id=31247)
291
292         Test: fast/ruby/ruby-text-indent.html
293
294         * css/html.css: reset text-indent on <ruby> and <rt> elements
295
296 2009-11-19  Brian Weinstein  <bweinstein@apple.com>
297
298         Reviewed by Darin Adler.
299
300         Fixes <http://webkit.org/b/22754>.
301         Web Inspector: Keyboard shortcut for Element finder.
302
303         Use Command + Shift + C as a shortcut for Node Search, to 
304         match the Firebug shortcut to do the same thing.
305
306         * inspector/front-end/ElementsPanel.js:
307         (WebInspector.ElementsPanel.prototype.handleKeyEvent):
308
309 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
310
311         Reviewed by Darin Adler.
312
313         https://bugs.webkit.org/show_bug.cgi?id=31690
314         Make SocketStreamHandleCFNet work on Windows
315
316         * WebCore.vcproj/WebCore.vcproj: Added LoaderRunLoopCF.
317
318         * platform/network/ResourceHandle.h: Removed loaderRunLoop().
319
320         * platform/network/cf/LoaderRunLoopCF.cpp: Added.
321         (WebCore::emptyPerform):
322         (WebCore::runLoaderThread):
323         (WebCore::loaderRunLoop):
324         * platform/network/cf/LoaderRunLoopCF.h: Added.
325         Moved the run loop that we use for CFNetwork from ResourceHandle to its own file, because
326         it's needed for more than just resource loading.
327
328         * platform/network/cf/ResourceHandleCFNet.cpp: Use loaderRunLoop() from its new location.
329
330         * platform/network/cf/DNSCFNet.cpp: (WebCore::DNSResolveQueue::resolve): Ditto.
331
332         * platform/network/cf/SocketStreamHandle.h: Added static callbacks for forwarding events to
333         main thread.
334         * platform/network/cf/SocketStreamHandleCFNet.cpp:
335         (WebCore::SocketStreamHandle::SocketStreamHandle): Use loaderRunLoop() on Windows instead of
336         inoperable main run loop.
337
338         (WebCore::MainThreadEventCallbackInfo::MainThreadEventCallbackInfo): 
339         (WebCore::SocketStreamHandle::readStreamCallback):
340         (WebCore::SocketStreamHandle::writeStreamCallback):
341         (WebCore::SocketStreamHandle::readStreamCallbackMainThread):
342         (WebCore::SocketStreamHandle::writeStreamCallbackMainThread):
343         Forward stream events to main thread on Windows.
344
345 2009-11-19  Avi Drissman  <avi@chromium.org>
346
347         Reviewed by Darin Adler.
348
349         Quick style fix.
350         https://bugs.webkit.org/show_bug.cgi?id=27777
351
352         * platform/graphics/cg/PDFDocumentImage.cpp:
353
354 2009-11-19  Beth Dakin  <bdakin@apple.com>
355
356        Build fix. No review needed.
357
358         * platform/chromium/ScrollbarThemeChromium.cpp:
359         (WebCore::ScrollbarThemeChromium::paintTickmarks):
360         * rendering/RenderMediaControlsChromium.cpp:
361         (WebCore::paintMediaButton):
362
363 2009-11-19  Beth Dakin  <bdakin@apple.com>
364       
365        Build fix. No review needed.
366
367         * rendering/RenderThemeChromiumSkia.cpp:
368         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
369         (WebCore::RenderThemeChromiumSkia::paintRadio):
370         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
371         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
372         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
373
374 2009-11-19  Beth Dakin  <bdakin@apple.com>
375
376        Build fix. No review needed.
377
378         * platform/graphics/qt/StillImageQt.cpp:
379         (WebCore::StillImage::draw):
380         * platform/graphics/qt/StillImageQt.h:
381
382 2009-11-19  Beth Dakin  <bdakin@apple.com>
383
384        Build fix. No review needed.
385
386         * rendering/RenderThemeWin.cpp:
387         (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
388         (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
389         (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
390
391 2009-11-19  Beth Dakin  <bdakin@apple.com>
392
393        Build fix. No review needed.
394
395         * plugins/PluginView.cpp:
396         (WebCore::PluginView::paintMissingPluginIcon):
397
398 2009-11-19  Beth Dakin  <bdakin@apple.com>
399
400         Build fix. No review needed.
401
402         * platform/graphics/win/ImageCGWin.cpp:
403         (WebCore::BitmapImage::getHBITMAPOfSize):
404         (WebCore::BitmapImage::drawFrameMatchingSourceSize):
405
406 2009-11-19  Beth Dakin  <bdakin@apple.com>
407
408         Reviewed by Darin Adler.
409
410         Fix for https://bugs.webkit.org/show_bug.cgi?id=31321 Make -webkit-
411         color-correction work with untagged images
412
413         Image's draw(), drawPattern(), and fillWithSolidColor() functions 
414         now take a ColorSpace. A bunch of classes inherit from Image, so 
415         draw() and drawPattern() functions there must also take a 
416         ColorSpace.
417         * platform/graphics/Image.cpp:
418         (WebCore::Image::fillWithSolidColor):
419         (WebCore::Image::drawTiled):
420         * platform/graphics/Image.h:
421         * platform/graphics/BitmapImage.h:
422         * platform/graphics/GeneratedImage.cpp:
423         (WebCore::GeneratedImage::draw):
424         (WebCore::GeneratedImage::drawPattern):
425         * platform/graphics/GeneratedImage.h:
426         * platform/graphics/cg/PDFDocumentImage.cpp:
427         (WebCore::PDFDocumentImage::draw):
428         * platform/graphics/cg/PDFDocumentImage.h:
429         * svg/graphics/SVGImage.cpp:
430         (WebCore::SVGImage::draw):
431         * svg/graphics/SVGImage.h:
432
433         All of the drawImage() functions and drawTiled() functions of 
434         GraphicsContext now take a ColorSpace.
435         * platform/graphics/GraphicsContext.cpp:
436         (WebCore::GraphicsContext::drawImage):
437         (WebCore::GraphicsContext::drawTiledImage):
438         * platform/graphics/GraphicsContext.h:
439
440         This is where the actual work is done.
441         * platform/graphics/cg/ImageCG.cpp:
442         (WebCore::imageWithColorSpace): New static function that returns a 
443         copy of the given image in the given ColorSpace *IF* we should use 
444         the given ColorSpace. We will ignore the color space if the image 
445         is tagged and return 0. 
446         (WebCore::BitmapImage::draw): Now takes a ColorSpace and uses it to 
447         call imageWithColorSpace(). 
448         (WebCore::Image::drawPattern): Same.
449
450         Attempt to keep all ports building. 
451         * platform/graphics/cairo/ImageCairo.cpp:
452         (WebCore::BitmapImage::draw):
453         (WebCore::Image::drawPattern):
454         * platform/graphics/haiku/ImageHaiku.cpp:
455         (WebCore::BitmapImage::draw):
456         (WebCore::Image::drawPattern):
457         * platform/graphics/qt/ImageQt.cpp:
458         (WebCore::Image::drawPattern):
459         (WebCore::BitmapImage::draw):
460         * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
461         * platform/graphics/skia/ImageSkia.cpp:
462         (WebCore::Image::drawPattern):
463         (WebCore::BitmapImage::draw):
464         (WebCore::BitmapImageSingleFrameSkia::draw):
465         * platform/graphics/wx/ImageWx.cpp:
466         (WebCore::BitmapImage::draw):
467         (WebCore::BitmapImage::drawPattern):
468
469         Callers of GraphicsContext's drawImage() and drawTiled() functions 
470         now need to send a ColorSpace.
471         * html/HTMLCanvasElement.cpp:
472         (WebCore::HTMLCanvasElement::paint):
473         * html/canvas/CanvasRenderingContext2D.cpp:
474         (WebCore::CanvasRenderingContext2D::drawImage):
475         (WebCore::CanvasRenderingContext2D::drawImageFromRect):
476         * platform/ScrollView.cpp:
477         (WebCore::ScrollView::wheelEvent):
478         * platform/graphics/filters/FEColorMatrix.cpp:
479         (WebCore::FEColorMatrix::apply):
480         * platform/graphics/filters/FEComposite.cpp:
481         (WebCore::FEComposite::apply):
482         * platform/graphics/filters/SourceGraphic.cpp:
483         (WebCore::SourceGraphic::apply):
484         * platform/mac/ScrollbarThemeMac.mm:
485         (WebCore::ScrollbarThemeMac::paint):
486         * rendering/RenderBoxModelObject.cpp:
487         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
488         (WebCore::RenderBoxModelObject::paintNinePieceImage):
489         * rendering/RenderImage.cpp:
490         (WebCore::RenderImage::paintReplaced):
491         * rendering/RenderLayer.cpp:
492         (WebCore::RenderLayer::paintResizer):
493         * rendering/RenderListMarker.cpp:
494         (WebCore::RenderListMarker::paint):
495         * rendering/RenderSVGImage.cpp:
496         (WebCore::RenderSVGImage::paint):
497         * rendering/RenderWidget.cpp:
498         (WebCore::RenderWidget::paint):
499         * svg/graphics/SVGPaintServerPattern.cpp:
500         (WebCore::SVGPaintServerPattern::setup):
501         * svg/graphics/SVGResourceFilter.cpp:
502         (WebCore::SVGResourceFilter::applyFilter):
503         * svg/graphics/filters/SVGFEMerge.cpp:
504         (WebCore::FEMerge::apply):
505         * svg/graphics/filters/SVGFEOffset.cpp:
506         (WebCore::FEOffset::apply):
507         * svg/graphics/filters/SVGFETile.cpp:
508         (WebCore::FETile::apply):
509
510 2009-11-19  Avi Drissman  <avi@chromium.org>
511
512         Reviewed by Darin Adler.
513
514         Properly create a CGImageRef on non-PLATFORM(MAC).
515         https://bugs.webkit.org/show_bug.cgi?id=27777
516
517         * platform/graphics/cg/ImageSourceCG.cpp:
518         (WebCore::sharedBufferGetBytesAtPosition):
519         (WebCore::sharedBufferRelease):
520         (WebCore::ImageSource::setData):
521         * platform/graphics/cg/ImageSourceCG.h:
522         * platform/graphics/cg/PDFDocumentImage.cpp:
523         (WebCore::PDFDocumentImage::dataChanged):
524
525 2009-11-19  Oliver Hunt  <oliver@apple.com>
526
527         Reviewed by Dave Hyatt.
528
529         -webkit-user-drag: element Drag images include overflow decorations from incorrect nodes
530         https://bugs.webkit.org/show_bug.cgi?id=31656
531
532         Make sure we're a child of the painting root before drawing overflow features.
533
534         * manual-tests/user-drag-with-decorations.html: Added.
535         * rendering/RenderBlock.cpp:
536         (WebCore::RenderBlock::paint):
537
538 2009-11-19  Dmitry Titov  <dimich@chromium.org>
539
540         Not reviewed, attempt to fix Chromium build.
541
542         * rendering/RenderMediaControlsChromium.cpp:
543         (WebCore::RenderMediaControlsChromium::paintMediaControlsPart): Add new enum values for Show/HideClosedCaptionButton to make it compile.
544
545 2009-11-19  Rahul Kuchhal  <kuchhal@chromium.org>
546
547         Reviewed by Darin Adler.
548
549         Do not assert when a high number is used for roman numerals in lists.
550         https://bugs.webkit.org/show_bug.cgi?id=31652
551
552         Test: fast/lists/ol-start-roman.html
553
554         * rendering/RenderListMarker.cpp:
555         (WebCore::toRoman): Increase the char array size.
556
557 2009-11-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
558
559         Rubber-stamped by Oliver Hunt.
560
561         Add translatable strings to cover validationMessage, after
562         r51172. Already covered by existing test.
563
564         * platform/gtk/LocalizedStringsGtk.cpp:
565         (WebCore::validationMessageValueMissingText):
566         (WebCore::validationMessageTypeMismatchText):
567         (WebCore::validationMessagePatternMismatchText):
568         (WebCore::validationMessageTooLongText):
569         (WebCore::validationMessageRangeUnderflowText):
570         (WebCore::validationMessageRangeOverflowText):
571         (WebCore::validationMessageStepMismatchText):
572
573 2009-11-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
574
575         Reviewed by Darin Adler.
576
577         Remove HAVE(FLOAT_H) guard
578         https://bugs.webkit.org/show_bug.cgi?id=31661
579
580         WebCore has a dependency on float.h, there is
581         no need to guard float.h.
582
583         No new tests as there is no functional change.
584
585         * html/HTMLInputElement.cpp: Remove include directive
586         for float.h as it is included in MathExtras.h already.
587
588 2009-11-19  Simon Fraser  <simon.fraser@apple.com>
589
590         Reviewed by Pavel Feldman.
591
592         Instrumentation should account for painting in compositing layers
593         https://bugs.webkit.org/show_bug.cgi?id=31674
594
595         Add calls to InspectorTimelineAgent for painting into compositing layers,
596         which is not accounted for in FrameView::paintContents().
597
598         * rendering/RenderLayerBacking.cpp:
599         (WebCore::RenderLayerBacking::paintIntoLayer):
600         Avoid fetching the FrameView multiple times.
601         
602         (WebCore::inspectorTimelineAgent):
603         (WebCore::RenderLayerBacking::paintContents):
604
605 2009-11-19  Eric Carlson  <eric.carlson@apple.com>
606
607         Reviewed by Dan Bernstein.
608
609         <rdar://problem/7035231>
610         Support closed caption in <video> element
611
612         Test: media/media-captions.html
613
614         * WebCore.base.exp:
615         * accessibility/AccessibilityMediaControls.cpp:
616         (WebCore::AccessibilityMediaControl::controlTypeName):
617             Define ShowClosedCaptionsButton and HideClosedCaptionsButton.
618
619         * css/CSSPrimitiveValueMappings.h:
620         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
621             Add MediaToggleClosedCaptionsButtonPart.
622
623         * css/CSSSelector.cpp:
624         (WebCore::CSSSelector::extractPseudoType):
625             Define and match mediaControlsToggleClosedCaptionsButton.
626
627         * css/CSSSelector.h:
628         (WebCore::CSSSelector::):
629         * css/CSSStyleSelector.cpp:
630         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
631             Define and match PseudoMediaControlsToggleClosedCaptions.
632
633         * css/CSSValueKeywords.in:
634             Define and use media-toggle-closed-captions-button.
635
636         * css/mediaControls.css:
637         * css/mediaControlsQuickTime.css:
638             Add webkit-media-controls-toggle-closed-captions-button.
639
640         * html/HTMLMediaElement.cpp:
641         (WebCore::HTMLMediaElement::HTMLMediaElement): 
642             Initialize m_closedCaptionsVisible.
643         (WebCore::HTMLMediaElement::loadInternal): 
644             Set m_closedCaptionsVisible to false.
645         (WebCore::HTMLMediaElement::hasClosedCaptions): 
646         (WebCore::HTMLMediaElement::closedCaptionsVisible): 
647         (WebCore::HTMLMediaElement::setClosedCaptionsVisible): 
648             New, captions internal methods.
649         (WebCore::HTMLMediaElement::setWebkitClosedCaptionsVisible): 
650         (WebCore::HTMLMediaElement::webkitClosedCaptionsVisible): 
651         (WebCore::HTMLMediaElement::webkitHasClosedCaptions): 
652             New, captions DOM API.
653
654         * html/HTMLMediaElement.h:
655         * html/HTMLMediaElement.idl:
656             Declare methods needed for captions API.
657
658         * platform/ThemeTypes.h:
659             Add MediaToggleClosedCaptionsButtonPart.
660
661         * platform/android/LocalizedStringsAndroid.cpp:
662         (WebCore::localizedMediaControlElementString):
663         (WebCore::localizedMediaControlElementHelpText):
664         (WebCore::localizedMediaTimeDescription):
665             Add empty implmentations.
666
667         * platform/graphics/MediaPlayer.cpp:
668         (WebCore::NullMediaPlayerPrivate::hasClosedCaptions):
669         (WebCore::NullMediaPlayerPrivate::setClosedCaptionsVisible):
670             New, empty implementations of media engine closed caption functions.
671         (WebCore::MediaPlayer::hasClosedCaptions):
672         (WebCore::MediaPlayer::setClosedCaptionsVisible):
673             New, call media engine closed caption functions.
674
675         * platform/graphics/MediaPlayer.h:
676         * platform/graphics/MediaPlayerPrivate.h:
677         (WebCore::MediaPlayerPrivateInterface::hasClosedCaptions):
678         (WebCore::MediaPlayerPrivateInterface::setClosedCaptionsVisible):
679             Declare new media engine methods.
680
681         * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
682         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
683         (WebCore::MediaPlayerPrivate::hasClosedCaptions):
684         (WebCore::MediaPlayerPrivate::setClosedCaptionsVisible):
685             New, QTKit implementation of closed caption methods.
686
687         * platform/gtk/LocalizedStringsGtk.cpp:
688         (WebCore::localizedMediaControlElementString):
689         (WebCore::localizedMediaControlElementHelpText):
690             Add help text for ShowClosedCaptionsButton and HideClosedCaptionsButton.
691
692         * platform/mac/WebCoreSystemInterface.h:
693         * platform/mac/WebCoreSystemInterface.mm:
694             Declare and initialize wkQTMovieHasClosedCaptions and wkQTMovieSetShowClosedCaptions.
695
696         * rendering/MediaControlElements.cpp:
697         (WebCore::MediaControlInputElement::MediaControlInputElement):
698             Deal with MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
699         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
700         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
701         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
702             New, implement the closed caption toggle button,
703
704         * rendering/MediaControlElements.h:
705             Define MediaShowClosedCaptionsButton and MediaHideClosedCaptionsButton,
706             declare MediaControlToggleClosedCaptionsButtonElement.
707
708         * rendering/RenderMedia.cpp:
709         (WebCore::RenderMedia::styleDidChange):
710         (WebCore::RenderMedia::createToggleClosedCaptionsButton):
711         (WebCore::RenderMedia::createStatusDisplay):
712         (WebCore::RenderMedia::updateControls):
713         (WebCore::RenderMedia::forwardEvent):
714         * rendering/RenderMedia.h:
715             Deal with m_toggleClosedCaptionsButton.
716
717         * rendering/RenderTheme.cpp:
718         (WebCore::RenderTheme::paint):
719             Deal with MediaToggleClosedCaptionsButtonPart.
720
721         * rendering/RenderTheme.h:
722         * rendering/RenderThemeMac.h:
723             Declare paintMediaToggleClosedCaptionsButton.
724
725         * rendering/RenderThemeMac.mm:
726         (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton):
727             New.
728         (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
729             Don't render captions toggle button unless we are using the new theme, the
730             movie has captions, and the movie is in a <video> element since we currently
731             rely on QTKit to render the captions.
732
733         * rendering/style/RenderStyleConstants.h:
734             Define MEDIA_CONTROLS_TOGGLE_CLOSED_CAPTIONS_BUTTON.
735
736 2009-11-19  Kevin Ollivier  <kevino@theolliviers.com>
737
738         wx build fix. Add missing header.
739
740         * platform/wx/LocalizedStringsWx.cpp:
741
742 2009-11-19  Alexey Proskuryakov  <ap@apple.com>
743
744         Reviewed by Darin Adler.
745
746         https://bugs.webkit.org/show_bug.cgi?id=31634
747         Ignore realm for proxy protection spaces
748
749         Only affects WebSocket proxy authentication, cannot be tested in DRT.
750
751         * platform/network/ProtectionSpace.cpp:
752         (WebCore::operator==):
753         * platform/network/ProtectionSpaceHash.h:
754         (WebCore::ProtectionSpaceHash::hash):
755
756 2009-11-19  Olivier Goffart  <ogoffart@trolltech.com>
757
758         Reviewed by Simon Hausmann.
759
760         [Qt] Normalize signal and slot signatures.
761
762         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
763         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
764
765 2009-11-19  Alexander Pavlov  <apavlov@chromium.org>
766
767         Reviewed by Pavel Feldman.
768
769         Store cookie domains in the WebInspector object
770
771         The cookie domains have been moved from StoragePanel into WebInspector.
772         Also, the document URLs are now passed inside the WebInspector.addResource()
773         payload rather than pushed directly from InspectorController.
774         https://bugs.webkit.org/show_bug.cgi?id=31627
775
776         * inspector/InspectorController.cpp:
777         (WebCore::InspectorController::populateScriptObjects):
778         (WebCore::InspectorController::didFinishLoading):
779         * inspector/InspectorFrontend.cpp:
780         * inspector/InspectorFrontend.h:
781         * inspector/InspectorResource.cpp:
782         (WebCore::InspectorResource::createScriptObject):
783         (WebCore::InspectorResource::updateScriptObject):
784         * inspector/front-end/StoragePanel.js:
785         (WebInspector.StoragePanel.prototype.reset):
786         (WebInspector.StoragePanel.prototype.addCookieDomain):
787         * inspector/front-end/inspector.js:
788         (WebInspector.addResource):
789         (WebInspector.addCookieDomain):
790         (WebInspector.reset):
791
792 2009-11-19  Zoltan Horvath  <zoltan@webkit.org>
793
794         Reviewed by Darin Adler.
795
796         Allow custom memory allocation control for the other part of platform directory in WebCore
797         https://bugs.webkit.org/show_bug.cgi?id=31585
798
799         Inherits the following classes from FastAllocBase because these are
800         instantiated by 'new':
801
802         class RegularExpression    - instantiated at: WebCore/page/Frame.cpp:415
803         class TransformationMatrix - instantiated at: WebCore/rendering/TransformState.cpp:62
804         class Path                 - instantiated at: WebCore/html/HTMLAreaElement.cpp:73
805         class FontPlatformData     - instantiated at: WebCore/platform/graphics/qt/FontCacheQt.cpp:188
806
807         Inherits the following classes from Noncopyable because these are
808         instantiated by 'new' and no need to be copyable:
809
810         class Cursors                         - instantiated at: WebCore/platform/qt/CursorQt.cpp:146
811         class NetworkStateNotifier            - instantiated at: WebCore/platform/network/NetworkStateNotifier.cpp:37
812         struct CrossThreadResourceRequestData - instantiated at: WebCore/platform/network/ResourceRequestBase.cpp:71
813
814         class ImageDecoder - its child class is instantiated at: WebCore/platform/graphics/qt/ImageDecoderQt.cpp:46
815         class MediaPlayerPrivateInterface - its child class is instantiated at: WebCore/platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:119
816
817         * platform/graphics/MediaPlayerPrivate.h:
818         * platform/graphics/Path.h:
819         * platform/graphics/qt/FontPlatformData.h:
820         * platform/graphics/transforms/TransformationMatrix.h:
821         * platform/image-decoders/ImageDecoder.h:
822         * platform/network/NetworkStateNotifier.h:
823         * platform/network/ResourceRequestBase.h:
824         * platform/qt/CursorQt.cpp:
825         * platform/text/RegularExpression.h:
826
827 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
828
829         Unreviewed.
830
831         [Qt] Build fix for QtWebKit after r51172.
832
833         * platform/qt/Localizations.cpp:
834         (WebCore::validationMessageValueMissingText):
835         (WebCore::validationMessageTypeMismatchText):
836         (WebCore::validationMessagePatternMismatchText):
837         (WebCore::validationMessageTooLongText):
838         (WebCore::validationMessageRangeUnderflowText):
839         (WebCore::validationMessageRangeOverflowText):
840         (WebCore::validationMessageStepMismatchText):
841
842 2009-11-18  Dan Bernstein  <mitz@apple.com>
843
844         Reviewed by Simon Fraser.
845
846         Fixed <rdar://problem/7398987> Assertion failure in
847         RenderLayer::updateClipRects when a plug-in’s enclosing layer is
848         enclosed by a transformed layer
849
850         Tests: fast/layers/clip-rects-transformed-2.html
851                fast/layers/clip-rects-transformed.html
852
853         * rendering/RenderLayer.cpp:
854         (WebCore::RenderLayer::clippingRoot): Added. Finds the nearest ancestor
855         that is either transformed or composited. During painting and hit
856         testing, when a transformed or composited layer is hit, it becomes the
857         new root layer, which ultimately gets passed to calculateRects().
858         (WebCore::RenderLayer::childrenClipRect): Pass the clipping root as the
859         root layer to calculateRects(), and return the bounding box of the
860         transformed rectangle.
861         (WebCore::RenderLayer::selfClipRect): Ditto.
862         * rendering/RenderLayer.h:
863
864 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
865
866         Reviewed by Kenneth Rohde Christiansen.
867
868         [Qt] Remove support for Qt v4.3 or older versions
869         https://bugs.webkit.org/show_bug.cgi?id=29469
870
871         No new tests as there is no change if compiled with 
872         Qt v4.4 or later version.
873
874         * WebCore.pro:
875         * dom/XMLTokenizerQt.cpp:
876         (WebCore::EntityResolver::resolveUndeclaredEntity):
877         (WebCore::XMLTokenizer::XMLTokenizer):
878         (WebCore::XMLTokenizer::~XMLTokenizer):
879         (WebCore::XMLTokenizer::doWrite):
880         (WebCore::XMLTokenizer::startDocument):
881         (WebCore::XMLTokenizer::parseDtd):
882         * platform/graphics/qt/FontQt.cpp:
883         * platform/graphics/qt/FontQt43.cpp: Removed.
884         * platform/graphics/qt/ImageQt.cpp:
885         * platform/network/ResourceHandleInternal.h:
886         * platform/network/qt/QNetworkReplyHandler.cpp:
887         * platform/network/qt/QNetworkReplyHandler.h:
888         * platform/network/qt/ResourceHandleQt.cpp:
889         (WebCore::ResourceHandle::start):
890         (WebCore::ResourceHandle::cancel):
891         (WebCore::ResourceHandle::loadResourceSynchronously):
892         (WebCore::ResourceHandle::setDefersLoading):
893         * platform/network/qt/ResourceRequest.h:
894         * platform/network/qt/ResourceRequestQt.cpp:
895         * platform/qt/ClipboardQt.cpp:
896         (WebCore::ClipboardQt::clearData):
897         * platform/qt/CookieJarQt.cpp:
898         (WebCore::cookieJar):
899         (WebCore::setCookies):
900         (WebCore::cookies):
901         (WebCore::cookiesEnabled):
902         * platform/qt/PlatformKeyboardEventQt.cpp:
903         (WebCore::keyIdentifierForQtKeyCode):
904         (WebCore::windowsKeyCodeForKeyEvent):
905         * platform/text/qt/TextBoundaries.cpp:
906         * platform/text/qt/TextBreakIteratorQt.cpp:
907         * plugins/qt/PluginDataQt.cpp:
908         (WebCore::PluginData::initPlugins):
909
910 2009-11-18  Michelangelo De Simone  <micdesim@gmail.com>
911
912         Reviewed by Darin Adler.
913
914         Fix for <https://bugs.webkit.org/show_bug.cgi?id=27959>.
915         Support for validationMessage attribute, as per HTML5 specs.
916
917         Test: fast/forms/validationMessage.html
918
919         * html/HTMLButtonElement.idl: validationMessage attribute
920         * html/HTMLFieldSetElement.idl: validationMessage attribute
921         * html/HTMLFormControlElement.cpp:
922         * html/HTMLFormControlElement.h:
923         * html/HTMLInputElement.idl: validationMessage attribute
924         * html/HTMLSelectElement.idl: validationMessage attribute
925         * html/HTMLTextAreaElement.idl: validationMessage attribute
926         * html/ValidityState.cpp: new method to retrieve pertinent localized text
927         * html/ValidityState.h:
928         * page/mac/WebCoreViewFactory.h:
929         * platform/LocalizedStrings.h:
930         * platform/android/LocalizedStringsAndroid.cpp:
931         * platform/gtk/LocalizedStringsGtk.cpp:
932         * platform/haiku/LocalizedStringsHaiku.cpp:
933         * platform/mac/LocalizedStringsMac.mm:
934         * platform/wx/LocalizedStringsWx.cpp:
935
936 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
937
938         Unreviewed.
939
940         Fix a typo. Remove the trailing semicolon
941         from an include directive after r51137.
942
943         No new tests as there is no functional change.
944
945         * platform/qt/QWebPageClient.h:
946
947 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
948
949         Unreviewed.
950
951         [Qt] Build fix for QtWebKit after r51159.
952
953         Include float.h for DBL_MANT_DIG. Not sure why this
954         is not a problem for other ports.
955
956         * html/HTMLInputElement.cpp:
957
958 2009-11-19  Roland Steiner  <rolandsteiner@chromium.org>
959
960         Reviewed by Darin Adler.
961
962         Bug 31574 -  Crashing bug when removing <ruby> element
963         (https://bugs.webkit.org/show_bug.cgi?id=31574)
964
965         Cause of the bug:
966         1.) RenderBlock::destroy() of the RenderRubyRun called destroyLeftoverChildren()
967         2.) that called destroy() of the RenderRubyBase(), which in RenderObject::destroy() calls remove()
968         3.) remove() is being redirected as parent()->removeChild() in RenderObject.h
969         4.) this triggers the special handling of child removal in RenderRubyRun that
970             causes it to destroy itself
971         5.) On returning from all this the renderer crashes when accessing a member
972             or virtual function on this now illegal object.
973
974         I therefore added a flag that tracks if the ruby run is being destroyed.
975         If so, avoid doing the special handling in removeChild that caused this.
976         It's not the most elegant solution, but the easiest to implement without
977         touching unrelated code. Also, it's self-documenting.
978
979         Test: fast/ruby/ruby-remove.html
980
981         * rendering/RenderRubyRun.cpp:
982         (WebCore::RenderRubyRun::RenderRubyRun):
983         (WebCore::RenderRubyRun::destroy):
984         (WebCore::RenderRubyRun::removeChild):
985         * rendering/RenderRubyRun.h:
986
987 2009-11-18  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
988
989         Reviewed by Kenneth Rohde Christiansen.
990
991         [Qt] Remove WTF_USE_JAVASCRIPTCORE_BINDINGS as it is no longer used
992         https://bugs.webkit.org/show_bug.cgi?id=31643
993
994         No new tests as there is no functional change.
995
996         * WebCore.pro:
997
998 2009-11-18  Yong Li  <yong.li@torchmobile.com>
999
1000         Reviewed by Eric Seidel.
1001
1002         Implement TextBoundaries for WINCE port.
1003         https://bugs.webkit.org/show_bug.cgi?id=27371
1004
1005         * platform/text/wince/TextBoundariesWince.cpp: Added.
1006
1007 2009-11-18  Yong Li  <yong.li@torchmobile.com>
1008
1009         Reviewed by Eric Seidel.
1010
1011         Implement TextBreakIterator for WINCE port.
1012         https://bugs.webkit.org/show_bug.cgi?id=27371
1013
1014         * platform/text/wince/TextBreakIteratorWince.cpp: Added.
1015
1016 2009-11-18  Kent Tamura  <tkent@chromium.org>
1017
1018         Reviewed by Darin Adler.
1019
1020         Add support for ValidityState.typeMismatch for the following INPUT types:
1021           date datetime datetime-local month time week
1022         https://bugs.webkit.org/show_bug.cgi?id=31342
1023
1024         Tests: fast/forms/ValidityState-typeMismatch-date.html
1025                fast/forms/ValidityState-typeMismatch-datetime.html
1026                fast/forms/ValidityState-typeMismatch-datetimelocal.html
1027                fast/forms/ValidityState-typeMismatch-month.html
1028                fast/forms/ValidityState-typeMismatch-time.html
1029                fast/forms/ValidityState-typeMismatch-week.html
1030
1031         * html/HTMLInputElement.cpp:
1032         (WebCore::HTMLInputElement::formStringToISODateTime): Check the type
1033           validity of the specified type and string using the ISODateTime class.
1034         * html/HTMLInputElement.h:
1035         * html/ValidityState.cpp:
1036         (WebCore::ValidityState::typeMismatch): Check the type validity
1037           for date, datetime, datetime-local, month, time and week with
1038           HTMLInputElemtn::formStringToISODateTime()
1039
1040 2009-11-18  Maciej Stachowiak  <mjs@apple.com>
1041
1042         Reviewed by Oliver Hunt.
1043
1044         Fix REGRESSION (r47022): Performance of DocumentFragment.appendChild is 1000x slower sometimes
1045         https://bugs.webkit.org/show_bug.cgi?id=31237
1046         
1047         Also speeds up Dromaeo DOM Core tests by 1.31x.
1048
1049         * bindings/js/JSNodeCustom.cpp:
1050         (WebCore::JSNode::markChildren): Change marking algorithm to avoid O(N^2) behavior. The subtree
1051         mark bit was no longer effective; instead I changed things so only a node that has no ancestors
1052         with wrappers would do marking; there should be only one in the typical case (the root of the
1053         detached subtree).
1054         * dom/Node.cpp:
1055         (WebCore::Node::Node): Remove now useless m_inSubtreeMark bit and related functions.
1056         * dom/Node.h: ditto
1057
1058 2009-11-18  Darin Adler  <darin@apple.com>
1059
1060         Reviewed by Sam Weinig.
1061
1062         Get rid of the redundant strokeType and fillType data members on
1063         a GraphicsContext as well as the FillOrStrokeType enum. Use
1064         null pointers instead.
1065
1066         * platform/graphics/GraphicsContext.cpp:
1067         (WebCore::GraphicsContext::setStrokeColor): Null out the pattern
1068         and gradient.
1069         (WebCore::GraphicsContext::setFillColor): Ditto.
1070         (WebCore::GraphicsContext::setStrokePattern): Null out the graident.
1071         (WebCore::GraphicsContext::setFillPattern): Ditto.
1072         (WebCore::GraphicsContext::setStrokeGradient): Null out the pattern.
1073         (WebCore::GraphicsContext::setFillGradient): Ditto.
1074
1075         * platform/graphics/GraphicsContextPrivate.h: Remove all that stuff.
1076
1077         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1078         (WebCore::setPlatformFill): Use null checks on fillPattern and
1079         fillGraident instead of a switch statement.
1080         (WebCore::setPlatformStroke): Ditto.
1081
1082         * platform/graphics/cg/GraphicsContextCG.cpp:
1083         (WebCore::GraphicsContext::applyStrokePattern): Removed unneeded get.
1084         (WebCore::GraphicsContext::applyFillPattern): Ditto.
1085         (WebCore::calculateDrawingMode): Use fillPattern and strokePattern
1086         to see if there is a pattern instead of fillType and strokeType.
1087         (WebCore::GraphicsContext::drawPath): Use fillGradient, strokeGradient,
1088         fillPattern, and strokePattern instead of fillType and strokeType.
1089         (WebCore::GraphicsContext::fillPath): Added FIXME about color space that
1090         is used in the pattern and gradient case probably erroneously. Moved
1091         gradient code inside an if statement. Streamlined pattern code and
1092         use an if statement. No switch any more.
1093         (WebCore::GraphicsContext::strokePath): Ditto.
1094         (WebCore::GraphicsContext::fillRect): Ditto.
1095         (WebCore::GraphicsContext::strokeRect): Ditto.
1096
1097         * platform/graphics/qt/GraphicsContextQt.cpp:
1098         (WebCore::GraphicsContext::fillPath): Use null checks on fillPattern and
1099         fillGraident instead of a switch statement.
1100         (WebCore::GraphicsContext::strokePath): Ditto.
1101         (WebCore::GraphicsContext::fillRect): Ditto.
1102
1103         * platform/graphics/wince/GraphicsContextWince.cpp:
1104         (WebCore::GraphicsContext::fillPath): Removed unneeded check of fillType.
1105         (WebCore::GraphicsContext::fillRect): Ditto.
1106
1107 2009-11-18  Kent Tamura  <tkent@chromium.org>
1108
1109         Reviewed by Darin Adler.
1110
1111         Support for step attribute and ValidityStae.stepMismatch for
1112         type=number and range.  stepMismatch will be false if the
1113         difference between the current value and a multiple of the step
1114         value is very small.
1115
1116         Change the behavior of RenderSlider so that it always has a value
1117         rounded to the step attribute value.
1118
1119         https://bugs.webkit.org/show_bug.cgi?id=31331
1120
1121         Tests: fast/forms/ValidityState-stepMismatch-number.html
1122                fast/forms/ValidityState-stepMismatch-range.html
1123                fast/forms/ValidityState-stepMismatch-unsupported.html
1124                fast/forms/input-step.html
1125
1126         * html/HTMLAttributeNames.in: Add "step".
1127         * html/HTMLInputElement.cpp:
1128         (WebCore::HTMLInputElement::stepMismatch):
1129         (WebCore::HTMLInputElement::getStepParameters):
1130         (WebCore::HTMLInputElement::getAllowedValueStep):
1131         * html/HTMLInputElement.h:
1132         * html/HTMLInputElement.idl: Add "step".
1133         * html/ValidityState.cpp:
1134         (WebCore::ValidityState::stepMismatch): Forward to HTMLInputElement::stepMismatch().
1135         * html/ValidityState.h:
1136         * rendering/RenderSlider.cpp:
1137         (WebCore::SliderRange::SliderRange):
1138         (WebCore::SliderRange::clampValue):
1139
1140 2009-11-18  Dmitry Titov  <dimich@chromium.org>
1141
1142         Reviewed by Darin Adler.
1143
1144         Need to ASSERT(isMainThread()) in ThreadShared methods.
1145         https://bugs.webkit.org/show_bug.cgi?id=31637
1146
1147         Added ASSERT(IsMainThread()) to all following methods:
1148         * platform/TreeShared.h:
1149         (WebCore::TreeShared::TreeShared):
1150         (WebCore::TreeShared::~TreeShared):
1151         (WebCore::TreeShared::ref):
1152         (WebCore::TreeShared::deref):
1153         (WebCore::TreeShared::setParent):
1154         (WebCore::TreeShared::parent):
1155
1156 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
1157
1158         Reviewed by Eric Seidel.
1159
1160         Add plugin visibility manual test
1161
1162         https://bugs.webkit.org/show_bug.cgi?id=31542
1163
1164         * manual-tests/plugins/windowed.html:
1165         * manual-tests/plugins/windowless.html:
1166
1167 2009-11-18  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
1168
1169         Reviewed by Pavel Feldman.
1170
1171         Web Inspector - remember last script displayed in Scripts panel
1172         https://bugs.webkit.org/show_bug.cgi?id=27552
1173
1174         Manual test added
1175         
1176         * inspector/front-end/ScriptsPanel.js:
1177         (WebInspector.ScriptsPanel.prototype.showScript):
1178         (WebInspector.ScriptsPanel.prototype.showResource):
1179         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
1180         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
1181         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
1182         (WebInspector.ScriptsPanel.prototype._goBack):
1183         (WebInspector.ScriptsPanel.prototype._goForward):
1184         * manual-tests/inspector/remember-last-script.html: Added.
1185
1186 2009-11-18  Shinichiro Hamaji  <hamaji@chromium.org>
1187
1188         Reviewed by Dimitri Glazkov.
1189
1190         Win chromium is slow to draw transparent texts
1191         https://bugs.webkit.org/show_bug.cgi?id=31258
1192
1193         Create bounded transparency layers instead of just clipping.
1194
1195         No new tests because this is just a performance improvement.
1196
1197         * platform/graphics/chromium/FontChromiumWin.cpp:
1198         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
1199
1200 2009-11-18  Shu Chang  <Chang.Shu@nokia.com>
1201
1202         Reviewed by Eric Seidel.
1203
1204         [Qt] Add support for displaying deleteButton.
1205         https://bugs.webkit.org/show_bug.cgi?id=31560
1206
1207         Test: LayoutTests/editing/deleting/5408255.html
1208
1209         * WebCore.qrc:
1210         * platform/graphics/qt/ImageQt.cpp:
1211         (loadResourcePixmap):
1212
1213 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
1214
1215         Reviewed by Eric Seidel.
1216
1217         Fix Qt build without JavaScript debugger.
1218
1219         https://bugs.webkit.org/show_bug.cgi?id=31575
1220
1221         * page/Console.idl:
1222
1223 2009-11-18  Daniel Bates  <dbates@webkit.org>
1224
1225         Reviewed by Dave Hyatt.
1226
1227         https://bugs.webkit.org/show_bug.cgi?id=24971
1228         And
1229         <rdar://problem/7138265>
1230
1231         Fixes an issue where setting the height of a table row programmatically
1232         (via JavaScript) causes the table to be improperly rendered because the
1233         height of each row in the table is not recalculated with respect to the
1234         CSS height property.
1235
1236         In particular, programmatically setting the height of some table row causes
1237         the rows of that table to be rendered with a height equal to the minimum
1238         height required by the cells in that row, regardless of any specified cell
1239         heights. Instead, when RenderTableSection::recalcCells is called, the height
1240         of each row should be set to the CSS height property just as we do in
1241         RenderTableSection::addChild.
1242
1243         Test: fast/table/row-height-recalc2.html
1244
1245         * rendering/RenderTableSection.cpp:
1246         (WebCore::setRowHeightToRowStyleHeightIfNotRelative): Added.
1247         (WebCore::RenderTableSection::addChild): Moved code that set row height into
1248         method WebCore::setRowHeightToRowStyleHeightIfNotRelative.
1249         (WebCore::RenderTableSection::recalcCells): Modified to call
1250         WebCore::setRowHeightToRowStyleHeightIfNotRelative.
1251
1252 2009-11-18  Zoltan Horvath  <zoltan@webkit.org>
1253
1254         Reviewed by Darin Adler.
1255
1256         Allow custom memory allocation control for the part of platform directory in WebCore
1257         https://bugs.webkit.org/show_bug.cgi?id=31473
1258
1259         Inherits the following classes from FastAllocBase because these are
1260         instantiated by 'new':
1261
1262         class  AnimationList         - instantiated at WebCore/rendering/style/StyleRareNonInheritedData.cpp:85
1263         class  Color                 - instantiated at WebCore/rendering/RenderTheme.cpp:48
1264         struct Length                - instantiated at WebCore/platform/Length.cpp:103
1265         class  PlatformKeyboardEvent - instantiated at WebCore/dom/KeyboardEvent.cpp:63
1266         class  ContextMenuItem       - instantiated at WebCore/platform/ContextMenu.cpp:70
1267         class  DeprecatedPtrList     - instantiated at WebCore/rendering/RenderBlock.cpp:2284
1268
1269         Inherits the following classes from Noncopyable because these are
1270         instantiated by 'new' and no need to be copyable:
1271
1272         class  GraphicsContextPrivate - instantiated at WebCore/platform/graphics/GraphicsContext.cpp:78
1273         class  FontCache              - instantiated at WebCore/platform/graphics/qt/FontCacheQt.cpp:43
1274         struct MediaPlayerFactory     - instantiated at WebCore/platform/graphics/MediaPlayer.cpp:163
1275         class  DeprecatedPtrListNode  - instantiated at WebCore/platform/DeprecatedPtrListImpl.cpp:53
1276
1277         * platform/ContextMenuItem.h:
1278         * platform/DeprecatedPtrList.h:
1279         * platform/DeprecatedPtrListImpl.cpp:
1280         * platform/Length.h:
1281         * platform/PlatformKeyboardEvent.h:
1282         * platform/animation/AnimationList.h:
1283         * platform/graphics/Color.h:
1284         * platform/graphics/FontCache.h:
1285         * platform/graphics/GraphicsContextPrivate.h:
1286         * platform/graphics/MediaPlayer.cpp:
1287
1288 2009-11-18  Daniel Bates  <dbates@webkit.org>
1289
1290         Reviewed by Darin Adler.
1291
1292         https://bugs.webkit.org/show_bug.cgi?id=31186
1293
1294         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
1295         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
1296         These are more descriptive names so as to clear an ambiguity surrounding
1297         their usage. Also, renames associated setters and getters so that they
1298         coincide with the renamed fields.
1299
1300         No functionality was changed. So, no tests were included.
1301
1302         * bindings/objc/DOMHTML.mm:
1303         (-[DOMHTMLInputElement _isEdited]):
1304         (-[DOMHTMLTextAreaElement _isEdited]):
1305         * dom/Document.cpp:
1306         (WebCore::Document::setFocusedNode):
1307         * html/HTMLInputElement.cpp:
1308         (WebCore::HTMLInputElement::defaultEventHandler):
1309         * rendering/RenderTextControl.cpp:
1310         (WebCore::RenderTextControl::RenderTextControl):
1311         (WebCore::RenderTextControl::setInnerTextValue):
1312         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
1313         (WebCore::RenderTextControl::subtreeHasChanged):
1314         * rendering/RenderTextControl.h:
1315         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
1316         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
1317         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
1318         * rendering/RenderTextControlSingleLine.cpp:
1319         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
1320         * wml/WMLInputElement.cpp:
1321         (WebCore::WMLInputElement::defaultEventHandler):
1322
1323 2009-11-18  Tony Chang  <tony@chromium.org>
1324
1325         Reviewed by Adam Barth.
1326
1327         Remove V8CanvasPixelArrayCustom.cpp because it is no longer used by V8.
1328         https://bugs.webkit.org/show_bug.cgi?id=31499
1329
1330         No new tests, just a build cleanup.
1331
1332         * WebCore.gypi:
1333         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
1334         * bindings/v8/custom/V8CustomBinding.h:
1335
1336 2009-11-18  Kevin Watters  <kevinwatters@gmail.com>
1337
1338         Reviewed by Kevin Ollivier.
1339
1340         Enable wx plugin support using the Windows implementation as a base.
1341         
1342         https://bugs.webkit.org/show_bug.cgi?id=31636
1343
1344         * platform/graphics/GraphicsContext.h:
1345         (WebCore::GraphicsContext::inTransparencyLayer):
1346         * platform/graphics/wx/GraphicsContextWx.cpp:
1347         (WebCore::GraphicsContext::getWindowsContext):
1348         (WebCore::GraphicsContext::releaseWindowsContext):
1349         * platform/wx/FileSystemWx.cpp:
1350         (WebCore::unloadModule):
1351         (WebCore::listDirectory):
1352         * plugins/PluginDatabase.cpp:
1353         * plugins/PluginView.cpp:
1354         (WebCore::PluginView::stop):
1355         (WebCore::PluginView::PluginView):
1356         * plugins/PluginView.h:
1357         * plugins/win/PluginViewWin.cpp:
1358         (windowHandleForPageClient):
1359         (WebCore::PluginView::handleMouseEvent):
1360         (WebCore::PluginView::platformStart):
1361         (WebCore::PluginView::snapshot):
1362         * wscript:
1363
1364 2009-11-18  Andrei Popescu  <andreip@google.com>
1365
1366         Reviewed by Dimitri Glazkov.
1367
1368         [Android] Add shared timer and sound utilities to platform/android
1369         https://bugs.webkit.org/show_bug.cgi?id=31584
1370
1371         No new tests required, this is platform specific code.
1372
1373         * platform/android/SharedTimerAndroid.cpp: Added.
1374         (WebCore::setSharedTimerFiredFunction):
1375         (WebCore::setSharedTimerFireTime):
1376         (WebCore::stopSharedTimer):
1377         * platform/android/SoundAndroid.cpp: Added.
1378         (WebCore::systemBeep):
1379
1380 2009-11-18  Mikhail Naganov  <mnaganov@chromium.org>
1381
1382         Reviewed by Timothy Hatcher.
1383
1384         Fix profile tree nodes loss after focus / restore actions.
1385
1386         Focusing on a node is currently implemented via nodes reattaching
1387         with some caching involved. It seems that not all code was updated
1388         to handle this scenario correctly.
1389
1390         https://bugs.webkit.org/show_bug.cgi?id=31553
1391
1392         * inspector/front-end/BottomUpProfileDataGridTree.js:
1393         (WebInspector.BottomUpProfileDataGridNode):
1394         (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
1395         (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
1396         (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
1397         * inspector/front-end/DataGrid.js:
1398         (WebInspector.DataGrid.prototype.insertChild):
1399         (WebInspector.DataGridNode.prototype._detach):
1400         (WebInspector.DataGridNode.prototype.savePosition):
1401         (WebInspector.DataGridNode.prototype.restorePosition):
1402         * inspector/front-end/TopDownProfileDataGridTree.js:
1403         (WebInspector.TopDownProfileDataGridTree.prototype.focus):
1404         (WebInspector.TopDownProfileDataGridTree.prototype.restore):
1405
1406 2009-11-18  Carol Szabo  <carol.szabo@nokia.com>
1407
1408         Reviewed by Kenneth Rohde Christiansen.
1409
1410         [Qt] QWebPageClient.h needs in some cases QCursor, but it does not
1411         include it 
1412         https://bugs.webkit.org/show_bug.cgi?id=31527
1413
1414         No new tests as this is just a coding style fix that affects the 
1415         build of some not yet submitted patches (i.e. for bug 30173).
1416
1417         * platform/qt/QWebPageClient.h:
1418
1419 2009-11-18  Nicolas Roard   <nicolas@roard.com>
1420
1421         Reviewed by Dimitri Glazkov.
1422
1423         InspectorTimelineAgent.h should be guarded by ENABLE(INSPECTOR)
1424         https://bugs.webkit.org/show_bug.cgi?id=31504
1425
1426         * inspector/InspectorTimelineAgent.h:Added the guard.
1427
1428 2009-11-18  Jens Alfke  <snej@chromium.org>
1429
1430         Build fix to my previous checkin, for Windows Chromium
1431
1432         * svg/SVGAnimatedProperty.h:
1433         (WebCore::PropertySynchronizer::synchronize): Fix implicit-conversion error on AtomicString.
1434
1435 2009-11-18  Joseph Pecoraro  <joepeck@webkit.org>
1436
1437         Reviewed by Pavel Feldman.
1438
1439         Web Inspector: Directly Access <head> Instead of Searching for It
1440         https://bugs.webkit.org/show_bug.cgi?id=31641
1441         
1442         Changed old access of the head element (document.getElementsByTagName)
1443         to just use the document.head accessor.
1444
1445         * inspector/front-end/FontView.js:
1446         (WebInspector.FontView):
1447         * inspector/front-end/InjectedScript.js:
1448         (InjectedScript.addStyleSelector):
1449         * inspector/front-end/SourceFrame.js:
1450         (WebInspector.SourceFrame.prototype._loaded):
1451         * inspector/front-end/inspector.js:
1452         (windowLoaded):
1453
1454 2009-11-18  Sam Weinig  <sam@webkit.org>
1455
1456         Reviewed by Anders Carlsson.
1457
1458         Fix two Geolocation assertions.
1459
1460         * page/Chrome.cpp:
1461         (WebCore::Chrome::requestGeolocationPermissionForFrame): No need to use PageGroupLoadDeferrer since this
1462         is not called from JS. 
1463         * page/Geolocation.cpp:
1464         (WebCore::Geolocation::Watchers::set): The PassRefPtr was getting nulled out, so we need to put it in
1465         a RefPtr first.
1466
1467 2009-11-18  Alexey Proskuryakov  <ap@apple.com>
1468
1469         Case sensitive file system build fix.
1470
1471         * platform/network/Credential.h: It's not WTF, just wtf.
1472
1473 2009-11-18  Aaron Golden  <agolden@apple.com>
1474
1475         Reviewed by Alexey Proskuryakov.
1476
1477         Add support for certificates to WebCore::Credential so we can convert between NSURLCredential
1478         objects and WebCore::Credential objects without losing certificate information.
1479
1480         * platform/network/Credential.cpp:
1481         (WebCore::Credential::Credential):  Adding a constructor that takes an identity argument and a certificate chain argument
1482         (WebCore::Credential::isEmpty):  Modifying isEmpty to support certificate based credentials (which don't have a username or password)
1483         (WebCore::Credential::identity): Accessor for the m_identity property
1484         (WebCore::Credential::certificates): Accessor for the m_certificates property
1485         (WebCore::Credential::type):  Accessor for the m_type property
1486         (WebCore::operator==):  Modifying == to compare the identity and certificate chains of certificate based credentials.
1487         * platform/network/Credential.h:  Adding new fields to WebCore::Credential to support certificate based credentials.
1488         * platform/network/mac/AuthenticationMac.mm:
1489         (WebCore::mac):  Modifying the mac() conversion method to correctly convert certificate based WebCore::Credential objects.
1490         (WebCore::core):  Modifying the core() conversion method to correctly convert certificate based NSURLCredential objects.
1491
1492 2009-11-18  Dmitry Titov  <dimich@chromium.org>
1493
1494         Reviewed by Eric Seidel.
1495
1496         Reverting r50919 that has introduced a non-thread-safe refcounting in ScriptExecutionContext::postTaskToMainThread.
1497         https://bugs.webkit.org/show_bug.cgi?id=31615
1498
1499         * dom/Document.cpp:
1500         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
1501         (WebCore::ScriptExecutionContextTaskTimer::fired):
1502         (WebCore::PerformTaskContext::PerformTaskContext):
1503         (WebCore::performTask):
1504         (WebCore::Document::postTask):
1505         * dom/ScriptExecutionContext.cpp:
1506         * dom/ScriptExecutionContext.h:
1507
1508 2009-11-18  Jens Alfke  <snej@chromium.org>
1509
1510         Reviewed by Darin Adler.
1511
1512         Eliminate unnecessary String-->AtomicString conversions from generated V8 bindings,
1513         by causing the right v8-to-WebCore conversion function to be called for every parameter.
1514         This no longer requires any IDL metadata, so I've removed the [HintAtomic] annotations.
1515         To enforce correctness, I added a mode that disables implicit
1516         String-->AtomicString conversions while compiling the generated bindings.
1517         https://bugs.webkit.org/show_bug.cgi?id=31168
1518
1519         * bindings/scripts/CodeGeneratorV8.pm:  Generate usage of V8Parameter class.
1520         * bindings/v8/DerivedSourcesAllInOne.cpp:  Enable NO_IMPLICIT_ATOMICSTRING.
1521         * bindings/v8/V8Binding.h:  Add V8Parameter class.
1522         * css/WebKitCSSKeyframesRule.h:  Make AtomicString conversions explicit.
1523         * dom/Document.idl:  Remove obsolete [HintAtomic] annotation.
1524         * platform/text/AtomicString.h:  Added NO_IMPLICIT_ATOMICSTRING option.
1525         * svg/SVGAnimatedTemplate.h:  Change some return types to String to avoid implicit conversion.
1526         * svg/SVGAnimatedProperty.h: Adapt to changed return types in SVGAnimatedTemplate.
1527
1528 2009-11-18  Darin Adler  <darin@apple.com>
1529
1530         Reviewed by Dan Bernstein.
1531
1532         Move FillOrStrokeType out of public header.
1533
1534         * platform/graphics/GraphicsContext.h: Updated copyright date to cover
1535         some years we published Apple changes, sorted forward declarations,
1536         removed FillOrStrokeType enum.
1537         * platform/graphics/GraphicsContextPrivate.h: Updated copyright date
1538         to cover some years we published Apple changes, sorted includes,
1539         moved FillOrStrokeType enum here.
1540
1541 2009-11-18  Chris Marrin  <cmarrin@apple.com>
1542
1543         Reviewed by Simon Fraser.
1544
1545         Add Settings for WebKitShowDebugBorders and WebKitShowRepaintCounter
1546         https://bugs.webkit.org/show_bug.cgi?id=31601
1547
1548         These are used to debug accelerated compositing layers. I removed
1549         the platform specific code from GraphicsLayerCA.mm and added calls
1550         to GraphicsLayerClient to get it from the higher levels. The values 
1551         now get cached in RenderLayerCompositing and are queried from there
1552         by RenderLayerBacking (which implements the GraphicsLayerClient interface).
1553
1554         * WebCore.base.exp:
1555         * page/FrameView.cpp:
1556         (WebCore::FrameView::updateCompositingLayers):
1557         * page/Settings.cpp:
1558         (WebCore::Settings::Settings):
1559         (WebCore::Settings::setShowDebugBorders):
1560         (WebCore::Settings::setShowRepaintCounter):
1561         * page/Settings.h:
1562         (WebCore::Settings::showDebugBorders):
1563         (WebCore::Settings::showRepaintCounter):
1564         * platform/graphics/GraphicsLayer.h:
1565         (WebCore::GraphicsLayer::showDebugBorders):
1566         (WebCore::GraphicsLayer::showRepaintCounter):
1567         * platform/graphics/GraphicsLayerClient.h:
1568         * platform/graphics/mac/GraphicsLayerCA.mm:
1569         * rendering/RenderLayerBacking.cpp:
1570         (WebCore::RenderLayerBacking::showDebugBorders):
1571         (WebCore::RenderLayerBacking::showRepaintCounter):
1572         * rendering/RenderLayerBacking.h:
1573         * rendering/RenderLayerCompositor.cpp:
1574         (WebCore::RenderLayerCompositor::RenderLayerCompositor):
1575         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
1576         * rendering/RenderLayerCompositor.h:
1577         (WebCore::RenderLayerCompositor::showDebugBorders):
1578         (WebCore::RenderLayerCompositor::showRepaintCounter):
1579
1580 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
1581
1582         Reviewed by Timothy Hatcher.
1583
1584         Web Inspector: Get rid of metrics and properties sidebars'
1585         flickering.
1586
1587         https://bugs.webkit.org/show_bug.cgi?id=31629
1588
1589         * inspector/front-end/MetricsSidebarPane.js:
1590         * inspector/front-end/PropertiesSidebarPane.js:
1591
1592 2009-11-17  Brian Weinstein  <bweinstein@apple.com>
1593
1594         Reviewed by Pavel Feldman.
1595
1596         Fixes <http://webkit.org/b/31606>.
1597         Web Inspector: Enter/Return key should enter edit mode for Editable Fields.
1598         
1599         This implements Enter starting editing mode in an editable DataGrid. If the
1600         DataGrid is editable and the user hits return, startEditing the first child
1601         of the selected node. Also refactored some editing functions to take an 
1602         event target instead of the event itself, because the functions only needed
1603         the target. Lastly, added had return in editing mode stop propogation, because
1604         when enter was hit to confirm text, it would propagate back to the datagrid
1605         and try to start editing again.
1606
1607         * inspector/front-end/DataGrid.js:
1608         (WebInspector.DataGrid.prototype._ondblclick):
1609         (WebInspector.DataGrid.prototype._startEditing):
1610         (WebInspector.DataGrid.prototype.handleKeyEvent):
1611         (WebInspector.DataGrid.prototype.dataGridNodeFromEvent):
1612         (WebInspector.DataGrid.prototype._mouseDownInDataTable):
1613         (WebInspector.DataGrid.prototype._clickInDataTable):
1614         * inspector/front-end/inspector.js:
1615         (WebInspector.startEditing.element.handleKeyEvent):
1616         (WebInspector.startEditing):
1617
1618 2009-11-18  Ben Murdoch  <benm@google.com>
1619
1620         Reviewed by Darin Adler.
1621
1622         HTMLAnchorElement is inconsistent with its internal handling of the value returned for the href attribute.
1623         https://bugs.webkit.org/show_bug.cgi?id=31593
1624
1625         Test: fast/dom/HTMLAnchorElement/set-href-attribute-whitespace.html
1626
1627         * html/HTMLAnchorElement.cpp:
1628         (WebCore::HTMLAnchorElement::href): Add call to deprecatedParseURL.
1629
1630 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
1631
1632         Not reviewed. Touch InspectorController so that frontend
1633         JS files are deployed on Windows.
1634
1635         * inspector/InspectorController.cpp:
1636
1637 2009-11-18  Pavel Feldman  <pfeldman@chromium.org>
1638
1639         Reviewed by Timothy Hatcher.
1640
1641         Web Inspector: clone timeline records array instead of
1642         copying reference on invalidate all.
1643
1644         https://bugs.webkit.org/show_bug.cgi?id=31596
1645
1646         * inspector/front-end/AbstractTimelinePanel.js:
1647         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
1648
1649 2009-11-18  Simon Fraser  <simon.fraser@apple.com>
1650
1651         Reviewed by Dan Bernstein.
1652
1653         Elements don't drop out of compositing layers when animation ends
1654         https://bugs.webkit.org/show_bug.cgi?id=31613
1655         <rdar://problem/7402913>
1656
1657         Avoid setting the mustOverlapCompositedLayers flag on RenderLayers which
1658         are compositing anyway for other reasons. Doing so can cause those layers
1659         to stay in compositing mode even after animations finish, because needsToBeComposited()
1660         continues to return true.
1661         
1662         No new tests because it's not possible to determine which elements are in
1663         compositing layers from DRT output.
1664
1665         * rendering/RenderLayerCompositor.cpp:
1666         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
1667
1668 2009-11-18  Girish Ramakrishnan  <girish@forwardbias.in>
1669
1670         Reviewed by Tor Arne Vestbø.
1671
1672         [Qt] Mac Plugins: Remove null timer
1673         
1674         A null timer was used to send mouse move events. Instead, we now use
1675         move events to send nullEvent. This brings down CPU usage by 20-30%.
1676         
1677         https://bugs.webkit.org/show_bug.cgi?id=31624
1678
1679         * plugins/PluginView.h:
1680         * plugins/mac/PluginViewMac.cpp:
1681         (WebCore::PluginView::platformStart):
1682         (WebCore::PluginView::handleMouseEvent):
1683
1684 2009-11-18  Benjamin Poulain  <benjamin.poulain@nokia.com>
1685
1686         Reviewed by Simon Hausmann.
1687
1688         [Qt] WebKit crashes when loading certain SVG images
1689
1690         Check if the familly exist before creating the PlatformData from it.
1691
1692         https://bugs.webkit.org/show_bug.cgi?id=29443
1693
1694         Test: svg/text/text-font-invalid.html
1695
1696         * platform/graphics/qt/FontFallbackListQt.cpp:
1697         (WebCore::FontFallbackList::fontDataAt):
1698
1699 2009-11-17  Nicolas Weber  <thakis@chromium.org>
1700
1701         Reviewed by Darin Fisher.
1702
1703         Fix crash in Chromium/Mac where dropdowns weren't dismissed correctly
1704         after navigation.
1705         https://bugs.webkit.org/show_bug.cgi?id=31609
1706
1707         * platform/chromium/PopupMenuChromium.cpp:
1708         (WebCore::PopupContainer::showExternal): Set parent for external
1709         dropdowns, so that |PopupListBox::hidePopup()| can successfully notify
1710         its parent's client.
1711
1712 2009-11-17  Hayato Ito  <hayato@google.com>
1713
1714         Reviewed by Darin Adler.
1715
1716         Avoid infinite mutual recursion when deeply nested tags are loaded
1717         https://bugs.webkit.org/show_bug.cgi?id=30651
1718
1719         Test: fast/parser/block-nesting-cap-table.html
1720
1721         * html/HTMLParser.cpp:
1722         (WebCore::HTMLParser::parseToken):
1723         (WebCore::tagPriorityOfNode):
1724         (WebCore::HTMLParser::limitBlockDepth):
1725         (WebCore::HTMLParser::insertNodeAfterLimitBlockDepth):
1726         (WebCore::HTMLParser::insertNode):
1727         * html/HTMLParser.h:
1728
1729 2009-11-17  Brent Fulgham  <bfulgham@webkit.org>
1730
1731         Rubber-stamped by Alexey Proskuryakov.
1732
1733         Final clean-ups for minor coding standard violations.
1734         https://bugs.webkit.org/show_bug.cgi?id=26102.
1735
1736         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1737
1738 2009-11-17  Johnny Ding  <jnd@chromium.org>
1739
1740         Reviewed by Darin Adler.
1741
1742         In all valid script tags for JavaScript, the event handler in <script...for> should not get executed.
1743         https://bugs.webkit.org/show_bug.cgi?id=31567
1744
1745         * dom/ScriptElement.cpp:
1746         (WebCore::ScriptElementData::shouldExecuteAsJavaScript):
1747
1748 2009-11-17  Pavel Feldman  <pfeldman@chromium.org>
1749
1750         Reviewed by Timothy Hatcher.
1751
1752         Web Inspector: Make DRT show web inspector for tests in inspector/ folder.
1753         - Updated DRT to show/close inspector for all tests under /inspector
1754         - Introduced LayoutTestController::setTimelineProfilingEnabled and
1755           WebInspector::setTimelineProfilingEnabled beside setJavaScriptProfilingEnabled
1756         - Removed reload on each inspector test
1757         - Renamed fast/inspector to fast/inspector-support in order not to trigger
1758         inspector for those.
1759         - Reimplemented timeline tests in order to get rid of reload there.
1760         - Moved tests that don't require harness into the fast group.
1761
1762         https://bugs.webkit.org/show_bug.cgi?id=31472
1763
1764         * WebCore.Inspector.exp:
1765         * inspector/front-end/TimelinePanel.js:
1766         (WebInspector.TimelinePanel.prototype._formatRecord):
1767
1768 2009-11-17  Andrei Popescu  <andreip@google.com>
1769
1770         Reviewed by Dimitri Glazkov.
1771
1772         [Android] Android is missing the implementation of the GeolocationService iface.
1773         https://bugs.webkit.org/show_bug.cgi?id=31554
1774
1775         No new tests required as this is platform specific code.
1776
1777         * platform/android/GeolocationServiceAndroid.cpp: Added.
1778         (WebCore::GeolocationServiceAndroid::create):
1779         (WebCore::GeolocationServiceAndroid::GeolocationServiceAndroid):
1780         (WebCore::GeolocationServiceAndroid::startUpdating):
1781         (WebCore::GeolocationServiceAndroid::stopUpdating):
1782         (WebCore::GeolocationServiceAndroid::suspend):
1783         (WebCore::GeolocationServiceAndroid::resume):
1784         (WebCore::GeolocationServiceAndroid::newPositionAvailable):
1785         (WebCore::GeolocationServiceAndroid::newErrorAvailable):
1786         (WebCore::GeolocationServiceAndroid::timerFired):
1787         (WebCore::GeolocationServiceAndroid::isPositionMovement):
1788         (WebCore::GeolocationServiceAndroid::isPositionMoreAccurate):
1789         (WebCore::GeolocationServiceAndroid::isPositionMoreTimely):
1790         * platform/android/GeolocationServiceAndroid.h: Added.
1791         (WebCore::GeolocationServiceAndroid::~GeolocationServiceAndroid):
1792         (WebCore::GeolocationServiceAndroid::lastPosition):
1793         (WebCore::GeolocationServiceAndroid::lastError):
1794         * platform/android/GeolocationServiceBridge.cpp: Added.
1795         (WebCore::):
1796         (WebCore::GeolocationServiceBridge::GeolocationServiceBridge):
1797         (WebCore::GeolocationServiceBridge::~GeolocationServiceBridge):
1798         (WebCore::GeolocationServiceBridge::start):
1799         (WebCore::GeolocationServiceBridge::stop):
1800         (WebCore::GeolocationServiceBridge::setEnableGps):
1801         (WebCore::GeolocationServiceBridge::newLocationAvailable):
1802         (WebCore::GeolocationServiceBridge::newErrorAvailable):
1803         (WebCore::GeolocationServiceBridge::toGeoposition):
1804         (WebCore::GeolocationServiceBridge::startJavaImplementation):
1805         (WebCore::GeolocationServiceBridge::stopJavaImplementation):
1806         * platform/android/GeolocationServiceBridge.h: Added.
1807
1808 2009-11-16  Kent Tamura  <tkent@chromium.org>
1809
1810         Unreviewd build fix.
1811
1812         - Fix typo in WebCore.vcproj.
1813         - Intlude limits.h for INT_MAX.
1814         - Enclose with parenthesis to suspress warning.
1815
1816         * WebCore.vcproj/WebCore.vcproj:
1817         * html/ISODateTime.cpp:
1818         (WebCore::ISODateTime::addDay):
1819
1820 2009-11-16  Robin Dunn  <robin@alldunn.com>
1821
1822         Reviewed by Kevin Ollivier.
1823
1824         Make sure wx scrollbar drawing code factors in transforms when switching backends,
1825         fix calcs for scrollbar length, and tweak the Mac scrollbar tracking rects.
1826         
1827         https://bugs.webkit.org/show_bug.cgi?id=31570
1828
1829         * platform/wx/ScrollbarThemeWx.cpp:
1830         (WebCore::ScrollbarThemeWx::minimumThumbLength):
1831         (WebCore::ScrollbarThemeWx::splitTrack):
1832         (WebCore::ScrollbarThemeWx::forwardButtonRect):
1833         * platform/wx/ScrollbarThemeWx.h:
1834         * platform/wx/wxcode/gtk/scrollbar_render.cpp:
1835         (wxRenderer_DrawScrollbar):
1836         * platform/wx/wxcode/scrollbar_render.h:
1837         (calcThumbStartAndLength):
1838         * platform/wx/wxcode/win/scrollbar_render.cpp:
1839         (wxRenderer_DrawScrollbar):
1840
1841 2009-11-16  Kent Tamura  <tkent@chromium.org>
1842
1843         Reviewed by David Levin.
1844
1845         Introduce WebCore::ISODateTime class.
1846         https://bugs.webkit.org/show_bug.cgi?id=31340
1847
1848         This class represents a value of date/time types of the HTML5 INPUT
1849         element, and has some parsing methods for ISO 8601.
1850
1851         This change has no tests because the class is not used yet.
1852
1853         * GNUmakefile.am: Add ISODateTime.cpp and ISODateTime.h.
1854         * WebCore.gypi: ditto.
1855         * WebCore.pro: ditto.
1856         * WebCore.vcproj/WebCore.vcproj: ditto.
1857         * WebCore.xcodeproj/project.pbxproj: ditto.
1858         * WebCoreSources.bkl: ditto.
1859         * html/ISODateTime.cpp: Added. Implementation of WebCore::ISODateTime class.
1860         (WebCore::isLeapYear):
1861         (WebCore::maxDayOfMonth):
1862         (WebCore::dayOfWeek):
1863         (WebCore::ISODateTime::maxWeekNumberInYear):
1864         (WebCore::countDigits):
1865         (WebCore::toInt):
1866         (WebCore::ISODateTime::parseYear): Private helper for parseDate() and parseWeek().
1867         (WebCore::ISODateTime::addDay): Private helper for parseTimeZone().
1868         (WebCore::ISODateTime::addMinute): ditto.
1869         (WebCore::ISODateTime::parseTimeZone): Private helper for parseDateTime().
1870         (WebCore::ISODateTime::parseMonth): Parser for <input type=month>.
1871         (WebCore::ISODateTime::parseDate): Parser for <input type=date>.
1872         (WebCore::ISODateTime::parseWeek): Parser for <input type=week>.
1873         (WebCore::ISODateTime::parseTime): Parser for <input type=time>.
1874         (WebCore::ISODateTime::parseDateTimeLocal): Parser for <input type=datetime-local>.
1875         (WebCore::ISODateTime::parseDateTime): Parser for <input type=datetime>.
1876         * html/ISODateTime.h: Added.  Declare WebCore::ISODateTime class.
1877         (WebCore::ISODateTime::ISODateTime):
1878         (WebCore::ISODateTime::millisecond):
1879         (WebCore::ISODateTime::second):
1880         (WebCore::ISODateTime::minute):
1881         (WebCore::ISODateTime::hour):
1882         (WebCore::ISODateTime::monthDay):
1883         (WebCore::ISODateTime::month):
1884         (WebCore::ISODateTime::fullYear):
1885         (WebCore::ISODateTime::week):
1886
1887 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1888
1889         Fix a typo in previous commit.
1890
1891         * platform/network/cf/SocketStreamHandleCFNet.cpp: #ifdef, not #if.
1892
1893 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1894
1895         Fix a typo in previous commit.
1896
1897         * platform/network/cf/SocketStreamHandleCFNet.cpp:
1898
1899 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1900
1901         Tiger build fix.
1902
1903         * platform/network/cf/SocketStreamHandleCFNet.cpp: Define CFN_EXPORT, as this macro was named
1904         differently in Tiger CFNetwork.
1905
1906 2009-11-16  Dimitri Glazkov  <dglazkov@chromium.org>
1907
1908         Reviewed by Darin Fisher.
1909
1910         [KURLGoogle] setHostAndPort doesn't handle arguments without port correctly.
1911
1912         Fix a bug in the code that was dormant until http://trac.webkit.org/changeset/50784.
1913
1914         Covered by existing test: LayoutTests/fast/dom/HTMLAnchorElement/set-href-attribute-host.html
1915
1916         * platform/KURLGoogle.cpp:
1917         (WebCore::KURL::setHostAndPort): Added handling of arguments without port specified.
1918
1919 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1920
1921         Rubber-stamped by Jon Honeycutt.
1922
1923         A better Windows build fix
1924
1925         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
1926         Use a macro that inserts __declspec(dllimport) when appropriate for CFNetwork imports.
1927
1928 2009-11-16  Yael Aharon  <yael.aharon@nokia.com>
1929
1930         Reviewed by Darin Adler.
1931
1932         Rename protocolIsValid to isValidProtocol.
1933         https://bugs.webkit.org/show_bug.cgi?id=31503
1934
1935         This name change was suggested in https://bugs.webkit.org/show_bug.cgi?id=29972#c19.
1936
1937         No new tests since no new functionality was introduced.
1938
1939         * html/HTMLAnchorElement.cpp:
1940         (WebCore::HTMLAnchorElement::setProtocol):
1941         * platform/KURL.cpp:
1942         (WebCore::isValidProtocol):
1943         * platform/KURL.h:
1944         * platform/KURLGoogle.cpp:
1945         (WebCore::isValidProtocol):
1946
1947 2009-11-16  Chris Fleizach  <cfleizach@apple.com>
1948
1949         Reviewed by Beth Dakin.
1950
1951         AX: aria-labelledby duplicates some of its WAI-ARIA label
1952         https://bugs.webkit.org/show_bug.cgi?id=31565
1953
1954         Test: accessibility/aria-labelledby-overrides-label.html
1955
1956         * accessibility/AccessibilityRenderObject.cpp:
1957         (WebCore::AccessibilityRenderObject::hasTextAlternative):
1958         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
1959         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1960         * accessibility/AccessibilityRenderObject.h:
1961
1962 2009-11-16  Nate Chapin  <japhet@chromium.org>
1963
1964         Reviewed by Darin Fisher.
1965
1966         Handle the case of a null NPObject* in NPN_SetException in
1967         the V8 bindings.  This allow out of process plugins calling
1968         NPN_SetException to just send null instead of sending an
1969         NPObject* that would be an address in a different 
1970         process's memory space.
1971
1972         https://bugs.webkit.org/show_bug.cgi?id=31561
1973
1974         * bindings/v8/NPV8Object.cpp:
1975         (_NPN_SetException): Allow null NPObject* and just throw a general error.
1976
1977 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
1978
1979         Windows build fix.
1980
1981         * platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::createStreams):
1982         Disable CONNECT proxies on Windows until WebKitSupportLibrary includes support for those.
1983
1984 2009-11-14  Yael Aharon  <yael.aharon@nokia.com>
1985
1986         Reviewed by Kenneth Rohde Christiansen.
1987
1988         [Qt] ASSERT failure while running DRT
1989         https://bugs.webkit.org/show_bug.cgi?id=30978
1990
1991         Add needed Structure typeInfo flags to QtRuntimeObjectImpl and QtRuntimeMethod.
1992         These flags are needed after r49649, where HasDefaultmark was changed to OverrideMarkChildren.
1993
1994         * bridge/qt/qt_instance.cpp:
1995         (JSC::Bindings::QtRuntimeObjectImp::createStructure):
1996         * bridge/qt/qt_runtime.h:
1997         (JSC::Bindings::QtRuntimeMethod::createStructure):
1998
1999 2009-11-16  Mark Rowe  <mrowe@apple.com>
2000
2001         Attempt to fix the build.  Land a file that was missing from r51049.
2002
2003         * bindings/js/JSWebGLArrayHelper.h: Copied from WebCore/html/canvas/WebGLByteArray.idl.
2004         (WebCore::setWebGLArrayFromArray):
2005
2006 2009-11-16  Kenneth Russell  <kbr@google.com>
2007
2008         Reviewed by Oliver Hunt.
2009
2010         Update API of WebGLArray and friends
2011         https://bugs.webkit.org/show_bug.cgi?id=31175
2012
2013         * bindings/js/JSWebGLArrayCustom.cpp:
2014         (WebCore::toJS):
2015         * bindings/js/JSWebGLArrayHelper.h: Added.
2016         (WebCore::setWebGLArrayFromArray):
2017         * bindings/js/JSWebGLByteArrayCustom.cpp:
2018         (WebCore::JSWebGLByteArray::set):
2019         * bindings/js/JSWebGLFloatArrayCustom.cpp:
2020         (WebCore::JSWebGLFloatArray::set):
2021         * bindings/js/JSWebGLIntArrayCustom.cpp:
2022         (WebCore::JSWebGLIntArray::set):
2023         * bindings/js/JSWebGLShortArrayCustom.cpp:
2024         (WebCore::JSWebGLShortArray::set):
2025         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
2026         (WebCore::JSWebGLUnsignedByteArray::set):
2027         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
2028         (WebCore::JSWebGLUnsignedIntArray::set):
2029         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
2030         (WebCore::JSWebGLUnsignedShortArray::set):
2031         * bindings/scripts/CodeGeneratorV8.pm:
2032         * bindings/v8/V8DOMWrapper.cpp:
2033         (WebCore::V8DOMWrapper::convertToV8Object):
2034         * bindings/v8/custom/V8CustomBinding.h:
2035         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
2036         (WebCore::CALLBACK_FUNC_DECL):
2037         * bindings/v8/custom/V8WebGLArrayCustom.h:
2038         (WebCore::constructWebGLArray):
2039         (WebCore::getWebGLArrayElement):
2040         (WebCore::setWebGLArrayFromArray):
2041         (WebCore::setWebGLArray):
2042         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
2043         (WebCore::CALLBACK_FUNC_DECL):
2044         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
2045         (WebCore::CALLBACK_FUNC_DECL):
2046         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
2047         (WebCore::CALLBACK_FUNC_DECL):
2048         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
2049         (WebCore::CALLBACK_FUNC_DECL):
2050         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
2051         (WebCore::CALLBACK_FUNC_DECL):
2052         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
2053         (WebCore::CALLBACK_FUNC_DECL):
2054         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
2055         (WebCore::CALLBACK_FUNC_DECL):
2056         * html/canvas/WebGLArray.cpp:
2057         (WebCore::WebGLArray::WebGLArray):
2058         (WebCore::WebGLArray::~WebGLArray):
2059         (WebCore::WebGLArray::setImpl):
2060         * html/canvas/WebGLArray.h:
2061         (WebCore::WebGLArray::isByteArray):
2062         (WebCore::WebGLArray::isUnsignedByteArray):
2063         (WebCore::WebGLArray::isShortArray):
2064         (WebCore::WebGLArray::isUnsignedShortArray):
2065         (WebCore::WebGLArray::isIntArray):
2066         (WebCore::WebGLArray::isUnsignedIntArray):
2067         (WebCore::WebGLArray::isFloatArray):
2068         (WebCore::WebGLArray::buffer):
2069         (WebCore::WebGLArray::baseAddress):
2070         (WebCore::WebGLArray::byteOffset):
2071         * html/canvas/WebGLArray.idl:
2072         * html/canvas/WebGLArrayBuffer.cpp:
2073         (WebCore::WebGLArrayBuffer::create):
2074         (WebCore::WebGLArrayBuffer::WebGLArrayBuffer):
2075         (WebCore::WebGLArrayBuffer::data):
2076         (WebCore::WebGLArrayBuffer::byteLength):
2077         (WebCore::WebGLArrayBuffer::~WebGLArrayBuffer):
2078         * html/canvas/WebGLArrayBuffer.h:
2079         * html/canvas/WebGLByteArray.cpp:
2080         (WebCore::WebGLByteArray::create):
2081         (WebCore::WebGLByteArray::byteLength):
2082         (WebCore::WebGLByteArray::slice):
2083         (WebCore::WebGLByteArray::set):
2084         * html/canvas/WebGLByteArray.h:
2085         (WebCore::WebGLByteArray::isByteArray):
2086         (WebCore::WebGLByteArray::data):
2087         (WebCore::WebGLByteArray::set):
2088         (WebCore::WebGLByteArray::get):
2089         (WebCore::WebGLByteArray::item):
2090         * html/canvas/WebGLByteArray.idl:
2091         * html/canvas/WebGLFloatArray.cpp:
2092         (WebCore::WebGLFloatArray::create):
2093         (WebCore::WebGLFloatArray::WebGLFloatArray):
2094         (WebCore::WebGLFloatArray::length):
2095         (WebCore::WebGLFloatArray::byteLength):
2096         (WebCore::WebGLFloatArray::slice):
2097         (WebCore::WebGLFloatArray::set):
2098         * html/canvas/WebGLFloatArray.h:
2099         (WebCore::WebGLFloatArray::isFloatArray):
2100         (WebCore::WebGLFloatArray::data):
2101         (WebCore::WebGLFloatArray::set):
2102         (WebCore::WebGLFloatArray::get):
2103         (WebCore::WebGLFloatArray::item):
2104         * html/canvas/WebGLFloatArray.idl:
2105         * html/canvas/WebGLIntArray.cpp:
2106         (WebCore::WebGLIntArray::create):
2107         (WebCore::WebGLIntArray::WebGLIntArray):
2108         (WebCore::WebGLIntArray::length):
2109         (WebCore::WebGLIntArray::byteLength):
2110         (WebCore::WebGLIntArray::slice):
2111         (WebCore::WebGLIntArray::set):
2112         * html/canvas/WebGLIntArray.h:
2113         (WebCore::WebGLIntArray::isIntArray):
2114         (WebCore::WebGLIntArray::data):
2115         (WebCore::WebGLIntArray::set):
2116         (WebCore::WebGLIntArray::get):
2117         (WebCore::WebGLIntArray::item):
2118         * html/canvas/WebGLIntArray.idl:
2119         * html/canvas/WebGLShortArray.cpp:
2120         (WebCore::WebGLShortArray::create):
2121         (WebCore::WebGLShortArray::WebGLShortArray):
2122         (WebCore::WebGLShortArray::length):
2123         (WebCore::WebGLShortArray::byteLength):
2124         (WebCore::WebGLShortArray::slice):
2125         (WebCore::WebGLShortArray::set):
2126         * html/canvas/WebGLShortArray.h:
2127         (WebCore::WebGLShortArray::isShortArray):
2128         (WebCore::WebGLShortArray::data):
2129         (WebCore::WebGLShortArray::set):
2130         (WebCore::WebGLShortArray::get):
2131         (WebCore::WebGLShortArray::item):
2132         * html/canvas/WebGLShortArray.idl:
2133         * html/canvas/WebGLUnsignedByteArray.cpp:
2134         (WebCore::WebGLUnsignedByteArray::create):
2135         (WebCore::WebGLUnsignedByteArray::WebGLUnsignedByteArray):
2136         (WebCore::WebGLUnsignedByteArray::length):
2137         (WebCore::WebGLUnsignedByteArray::byteLength):
2138         (WebCore::WebGLUnsignedByteArray::slice):
2139         (WebCore::WebGLUnsignedByteArray::set):
2140         * html/canvas/WebGLUnsignedByteArray.h:
2141         (WebCore::WebGLUnsignedByteArray::isUnsignedByteArray):
2142         (WebCore::WebGLUnsignedByteArray::data):
2143         (WebCore::WebGLUnsignedByteArray::set):
2144         (WebCore::WebGLUnsignedByteArray::get):
2145         (WebCore::WebGLUnsignedByteArray::item):
2146         * html/canvas/WebGLUnsignedByteArray.idl:
2147         * html/canvas/WebGLUnsignedIntArray.cpp:
2148         (WebCore::WebGLUnsignedIntArray::create):
2149         (WebCore::WebGLUnsignedIntArray::WebGLUnsignedIntArray):
2150         (WebCore::WebGLUnsignedIntArray::length):
2151         (WebCore::WebGLUnsignedIntArray::byteLength):
2152         (WebCore::WebGLUnsignedIntArray::slice):
2153         (WebCore::WebGLUnsignedIntArray::set):
2154         * html/canvas/WebGLUnsignedIntArray.h:
2155         (WebCore::WebGLUnsignedIntArray::isUnsignedIntArray):
2156         (WebCore::WebGLUnsignedIntArray::data):
2157         (WebCore::WebGLUnsignedIntArray::set):
2158         (WebCore::WebGLUnsignedIntArray::get):
2159         (WebCore::WebGLUnsignedIntArray::item):
2160         * html/canvas/WebGLUnsignedIntArray.idl:
2161         * html/canvas/WebGLUnsignedShortArray.cpp:
2162         (WebCore::WebGLUnsignedShortArray::create):
2163         (WebCore::WebGLUnsignedShortArray::WebGLUnsignedShortArray):
2164         (WebCore::WebGLUnsignedShortArray::length):
2165         (WebCore::WebGLUnsignedShortArray::byteLength):
2166         (WebCore::WebGLUnsignedShortArray::slice):
2167         (WebCore::WebGLUnsignedShortArray::set):
2168         * html/canvas/WebGLUnsignedShortArray.h:
2169         (WebCore::WebGLUnsignedShortArray::isUnsignedShortArray):
2170         (WebCore::WebGLUnsignedShortArray::data):
2171         (WebCore::WebGLUnsignedShortArray::set):
2172         (WebCore::WebGLUnsignedShortArray::get):
2173         (WebCore::WebGLUnsignedShortArray::item):
2174         * html/canvas/WebGLUnsignedShortArray.idl:
2175         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2176         (WebCore::GraphicsContext3D::bufferData):
2177         (WebCore::GraphicsContext3D::bufferSubData):
2178
2179 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
2180
2181         Windows build fix.
2182
2183         * platform/network/cf/SocketStreamHandleCFNet.cpp: Declare constants as extern "C".
2184
2185 2009-11-15  Brent Fulgham  <bfulgham@webkit.org>
2186
2187         Reviewed by Oliver Hunt.
2188
2189         Enable support for webkit-box-shadow in Cairo builds.
2190         https://bugs.webkit.org/show_bug.cgi?id=26102.
2191
2192         Covered by existing fast/box-shadow tests.
2193
2194         * platform/graphics/cairo/GraphicsContextCairo.cpp:  Add
2195           support for fillRect shadows.
2196
2197 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
2198
2199         Windows build fix.
2200
2201         * platform/network/cf/SocketStreamHandleCFNet.cpp: Don't try to include a file that's not
2202         in WebKitSupportLibrary.
2203
2204 2009-11-16  Alexey Proskuryakov  <ap@apple.com>
2205
2206         Reviewed by Darin Adler.
2207
2208         https://bugs.webkit.org/show_bug.cgi?id=31494
2209         Add unauthenticated proxy support to SocketStreamHandleCFNet
2210
2211         Cannot be tested in DRT.
2212
2213         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2214         (WebCore::SocketStreamHandle::chooseProxy): Fetch proxy information from OS.
2215         (WebCore::SocketStreamHandle::createStreams): Apply it to the newly created streams.
2216
2217 2009-11-14  Antonio Gomes  <tonikitoo@webkit.org>
2218
2219         Reviewed by Antti Koivisto.
2220
2221         [Qt] Broken back/forward after using ErrorPageExtension to set error page
2222         https://bugs.webkit.org/show_bug.cgi?id=30573
2223
2224         Make FrameLoader::checkLoadCompleteForThisFrame method
2225         to check for any working DocumentLoader instance (through
2226         activeDocumentLoader()) instead of only checking for
2227         'm_provisionalDocumentLoader' in order to decide to if
2228         it is going to reset of not the back and forward history.
2229         after an error page has been loaded.
2230
2231         Test: LayoutTests/fast/history/back-forward-reset-after-error-handling.html
2232
2233         * loader/FrameLoader.cpp:
2234         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
2235
2236 2009-11-14  Chris Fleizach  <cfleizach@apple.com>
2237
2238         Reviewed by Darin Adler.
2239
2240         Need to implement ARIA role="directory"
2241         https://bugs.webkit.org/show_bug.cgi?id=31516
2242
2243         Test: platform/mac/accessibility/aria-directory.html
2244
2245         * accessibility/AXObjectCache.cpp:
2246         (WebCore::AXObjectCache::getOrCreate):
2247         * accessibility/AccessibilityList.cpp:
2248         (WebCore::AccessibilityList::isOrderedList):
2249         * accessibility/AccessibilityRenderObject.cpp:
2250         (WebCore::createARIARoleMap):
2251
2252 2009-11-15  Dave Tapuska  <dtapuska@rim.com>
2253
2254         Reviewed by George Staikos.
2255         
2256         Compare UChars single unit at a time as opposed to the uint32_t
2257         approach as casting to unaligned addresses may cause a bus failure
2258         on ARMv5 and below. This change replicates the same defines that
2259         exists in AtomicString.cpp
2260
2261         https://bugs.webkit.org/show_bug.cgi?id=31475
2262         
2263         * platform/text/StringHash.h:
2264         (WebCore::StringHash::equal):
2265
2266 2009-11-15  Evan Martin  <evan@chromium.org>
2267
2268         Reviewed by Adam Barth.
2269
2270         Wrap some SVG code in V8DOMWrapper with an ENABLE(SVG) test.
2271
2272         https://bugs.webkit.org/show_bug.cgi?id=31490
2273
2274         * bindings/v8/V8DOMWrapper.cpp:
2275
2276 2009-11-15  Maxime Simon  <simon.maxime@gmail.com>
2277
2278         Reviewed by Adam Barth.
2279
2280         [Haiku] Build fix. The FileChooser constructor doesn't need to be redefined.
2281
2282         * platform/haiku/FileChooserHaiku.cpp:
2283
2284 2009-11-15  Maxime Simon  <simon.maxime@gmail.com>
2285
2286         Reviewed by Adam Barth.
2287
2288         [Haiku] Build fix. ColorSpace name had a wrong CamelCase.
2289
2290         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
2291         (WebCore::GraphicsContext::setPlatformStrokeColor):
2292
2293 2009-11-15  Daniel Bates  <dbates@webkit.org>
2294
2295         No review, rolling out r50999.
2296         http://trac.webkit.org/changeset/50999
2297
2298         Need to fix some issues in the Windows build. Missed some places where
2299         RenderTextControl::isEdited is called.
2300
2301         * bindings/objc/DOMHTML.mm:
2302         (-[DOMHTMLInputElement _isEdited]):
2303         (-[DOMHTMLTextAreaElement _isEdited]):
2304         * dom/Document.cpp:
2305         (WebCore::Document::setFocusedNode):
2306         * html/HTMLInputElement.cpp:
2307         (WebCore::HTMLInputElement::defaultEventHandler):
2308         * rendering/RenderTextControl.cpp:
2309         (WebCore::RenderTextControl::RenderTextControl):
2310         (WebCore::RenderTextControl::setInnerTextValue):
2311         (WebCore::RenderTextControl::setUserEdited):
2312         (WebCore::RenderTextControl::subtreeHasChanged):
2313         * rendering/RenderTextControl.h:
2314         (WebCore::RenderTextControl::isEdited):
2315         (WebCore::RenderTextControl::setEdited):
2316         (WebCore::RenderTextControl::isUserEdited):
2317         * rendering/RenderTextControlSingleLine.cpp:
2318         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2319         * wml/WMLInputElement.cpp:
2320         (WebCore::WMLInputElement::defaultEventHandler):
2321
2322 2009-11-15  Daniel Bates  <dbates@webkit.org>
2323
2324         Reviewed by Darin Adler.
2325
2326         https://bugs.webkit.org/show_bug.cgi?id=31186
2327
2328         Renames RenderTextControl::m_edited and RenderTextControl::m_userEdited to
2329         m_wasChangedSinceLastChangeEvent and m_lastChangeWasUserEdit, respectively.
2330         These are more descriptive names so as to clear an ambiguity surrounding
2331         their usage. Also, renames associated setters and getters so that they
2332         coincide with the renamed fields.
2333
2334         No functionality was changed. So, no tests were included.
2335
2336         * bindings/objc/DOMHTML.mm:
2337         (-[DOMHTMLInputElement _isEdited]):
2338         (-[DOMHTMLTextAreaElement _isEdited]):
2339         * dom/Document.cpp:
2340         (WebCore::Document::setFocusedNode):
2341         * html/HTMLInputElement.cpp:
2342         (WebCore::HTMLInputElement::defaultEventHandler):
2343         * rendering/RenderTextControl.cpp:
2344         (WebCore::RenderTextControl::RenderTextControl):
2345         (WebCore::RenderTextControl::setInnerTextValue):
2346         (WebCore::RenderTextControl::setLastChangeWasUserEdit): Formerly named setUserEdited.
2347         (WebCore::RenderTextControl::subtreeHasChanged):
2348         * rendering/RenderTextControl.h:
2349         (WebCore::RenderTextControl::wasChangedSinceLastChangeEvent): Formerly named isEdited.
2350         (WebCore::RenderTextControl::setChangedSinceLastChangeEvent): Formerly named setEdited.
2351         (WebCore::RenderTextControl::lastChangeWasUserEdit): Formerly named setUserEdited.
2352         * rendering/RenderTextControlSingleLine.cpp:
2353         (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2354         * wml/WMLInputElement.cpp:
2355         (WebCore::WMLInputElement::defaultEventHandler):
2356
2357 2009-11-14  Adele Peterson  <adele@apple.com>
2358
2359         Reviewed by Dan Bernstein.
2360
2361         Fix for <rdar://problem/6946165> Would like to be able to specify the number of visible lines when using -webkit-line-clamp
2362
2363         Test: fast/overflow/line-clamp.html
2364
2365         * css/CSSComputedStyleDeclaration.cpp: (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated to handle different types of values.
2366         * css/CSSParser.cpp: (WebCore::CSSParser::parseValue): ditto.
2367         * css/CSSStyleSelector.cpp: (WebCore::CSSStyleSelector::applyProperty): ditto.
2368
2369         * rendering/RenderFlexibleBox.cpp: (WebCore::RenderFlexibleBox::layoutVerticalBox):
2370         Use the line count value if available.  Otherwise, convert the percentage to the line count, as we did before.  Also,
2371         if there is anchor as the last child box, still allow adding the ellipsis.
2372
2373         * rendering/RenderLayer.cpp:
2374         (WebCore::RenderLayer::scrollByRecursively): Call isNone on the LineClampValue to see if the line-clamp property has been set.
2375         (WebCore::RenderLayer::scrollRectToVisible): ditto.
2376
2377         * WebCore.xcodeproj/project.pbxproj: Added LineClampValue.h
2378         * rendering/style/LineClampValue.h: Added.
2379         (WebCore::LineClampValue::LineClampValue):
2380         (WebCore::LineClampValue::value):
2381         (WebCore::LineClampValue::isPercentage):
2382         (WebCore::LineClampValue::isNone):
2383         (WebCore::LineClampValue::operator==):
2384         (WebCore::LineClampValue::operator!=):
2385         * rendering/style/RenderStyleConstants.h: (WebCore::): Define ELineClampType enum for percentage or line count.
2386
2387         * rendering/style/RenderStyle.h: Use LineClampValue.
2388         (WebCore::InheritedFlags::lineClamp):
2389         (WebCore::InheritedFlags::setLineClamp):
2390         (WebCore::InheritedFlags::initialLineClamp):
2391         * rendering/style/StyleRareNonInheritedData.h:
2392
2393 2009-11-14  Eric Carlson  <eric.carlson@apple.com>
2394
2395         Reviewed by Oliver Hunt.
2396
2397         <rdar://problem/7287487> 
2398         Do not use QuickTime version to detect media controller theme
2399
2400         * WebCore.base.exp: Export wkMediaControllerThemeAvailable
2401         * platform/mac/WebCoreSystemInterface.h: Ditto.
2402         * platform/mac/WebCoreSystemInterface.mm: Ditto.
2403
2404         * rendering/RenderThemeMac.mm:
2405         (WebCore::mediaControllerTheme): Use wkMediaControllerThemeAvailable instead of the
2406         QuickTime version to see if it is possible to use MediaControllerThemeQuickTime.
2407
2408 2009-11-14  Kent Tamura  <tkent@chromium.org>
2409
2410         Reviewed by Darin Adler.
2411
2412         - Recognizes date/datetime/datetime-local/month/time/week types of INPUT element.
2413           They have no dedicated UI and no type validation for now.
2414         - Clean up setInputType() and formControlType() of HTMLInputElement.
2415         https://bugs.webkit.org/show_bug.cgi?id=29004
2416
2417         Test: fast/forms/input-type-change3.html
2418
2419         * html/HTMLInputElement.cpp:
2420         (WebCore::HTMLInputElement::valueMissing):
2421         (WebCore::HTMLInputElement::patternMismatch):
2422         (WebCore::HTMLInputElement::tooLong):
2423         (WebCore::createTypeMap):
2424         (WebCore::HTMLInputElement::setInputType):
2425         (WebCore::createFormControlTypes):
2426         (WebCore::HTMLInputElement::formControlType):
2427         (WebCore::HTMLInputElement::saveFormControlState):
2428         (WebCore::HTMLInputElement::restoreFormControlState):
2429         (WebCore::HTMLInputElement::accessKeyAction):
2430         (WebCore::HTMLInputElement::rendererIsNeeded):
2431         (WebCore::HTMLInputElement::createRenderer):
2432         (WebCore::HTMLInputElement::appendFormData):
2433         (WebCore::HTMLInputElement::isTextField):
2434         (WebCore::HTMLInputElement::valueWithDefault):
2435         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
2436         (WebCore::HTMLInputElement::defaultEventHandler):
2437         (WebCore::HTMLInputElement::isRequiredFormControl):
2438         (WebCore::HTMLInputElement::dataList):
2439         * html/HTMLInputElement.h:
2440         (WebCore::HTMLInputElement::):
2441
2442 2009-11-13  Chris Fleizach  <cfleizach@apple.com>
2443
2444         Reviewed by Darin Adler.
2445
2446         WAI-ARIA: checkbox does not determine its label from text content
2447         https://bugs.webkit.org/show_bug.cgi?id=31456
2448
2449         Test: accessibility/aria-checkbox-text.html
2450
2451         * accessibility/AccessibilityRenderObject.cpp:
2452         (WebCore::AccessibilityRenderObject::title):
2453
2454 2009-11-13  Dimitri Glazkov  <dglazkov@chromium.org>
2455
2456         Unreviewed, build fix.
2457
2458         [Chromium] Fix build to catch up with http://trac.webkit.org/changeset/50973.
2459         This is just enough changes to unbreak the port.
2460
2461         * bindings/v8/ScriptController.cpp:
2462         (WebCore::mainThreadNormalWorld):
2463         * bindings/v8/V8Proxy.cpp:
2464         (WebCore::V8Proxy::initContextIfNeeded):
2465         * loader/FrameLoaderClient.h:
2466
2467 2009-11-13  Aaron Boodman  <aa@chromium.org>
2468
2469         Unreviewed fix for Chromium build.
2470
2471         * loader/FrameLoaderClient.h:
2472         (WebCore::FrameLoaderClient::dispatchDidClearWindowObjectInWorld):
2473         Provide an empty implementation of this method because I don't know
2474         what it is supposed to do on Chromium.
2475
2476 2009-11-13  Aaron Boodman  <aa@chromium.org>
2477
2478         Unreviewed fix for Chromium build.
2479
2480         * loader/FrameLoader.h: Make dispatchDidClearWindowObjectsInAllWorlds()
2481         public, as Chromium's V8Proxy calls it.
2482
2483 2009-11-13  Aaron Boodman  <aa@chromium.org>
2484
2485         Unreviewed fix to Chromium build.
2486
2487         * bindings/v8/ScriptController.cpp:
2488         (WebCore::ScriptController::getAllWorlds): 
2489
2490 2009-11-13  Aaron Boodman  <aa@chromium.org>
2491
2492         Unreviewed fix for Chromium build.
2493
2494         * platform/text/TextBoundaries.cpp: Use longer path to refer to Unicode.h.
2495
2496 2009-11-13  Adam Barth  <abarth@webkit.org>
2497
2498         Unreviewed partial build fix for Chromium.  Should fix failure #4.
2499
2500         * bindings/v8/ScriptController.cpp:
2501         (WebCore::ScriptController::getAllWorlds):
2502         * bindings/v8/ScriptController.h:
2503         * bindings/v8/V8Proxy.cpp:
2504         (WebCore::V8Proxy::initContextIfNeeded):
2505
2506 2009-11-13  Adam Barth  <abarth@webkit.org>
2507
2508         Unreviewed partial build fix for Chromium.
2509
2510         * bindings/v8/ScriptController.h:
2511         (WebCore::ScriptController::getAllWorlds):
2512
2513 2009-11-13  Eric Seidel  <eric@webkit.org>
2514
2515         No review, build fix only.
2516
2517         Fix Windows and Chromium builds after http://trac.webkit.org/changeset/50977.
2518
2519         Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
2520         https://bugs.webkit.org/show_bug.cgi?id=31468
2521
2522         * WebCore.gypi: Rename TextBoundariesICU -> TextBoundaries
2523         * WebCore.vcproj/WebCore.vcproj: Rename TextBoundariesICU -> TextBoundaries
2524
2525 2009-11-12  Jeremy Orlow  <jorlow@chromium.org>
2526
2527         Reviewed by Dmitry Titov.
2528
2529         LocalStorage quota should include key sizes in its count
2530         https://bugs.webkit.org/show_bug.cgi?id=31451
2531
2532         * storage/StorageMap.cpp:
2533         (WebCore::StorageMap::setItem):
2534             Count keys in the quota when adding a new item.
2535         (WebCore::StorageMap::removeItem):
2536             Remove the key's length from the quota if we're removing the item.
2537         (WebCore::StorageMap::importItem):
2538             Assume that we're adding things for the first time.
2539             Count keys in the quota.
2540
2541 2009-11-13  Dominik Röttsches  <dominik.roettsches@access-company.com>
2542
2543         Reviewed by Eric Seidel.
2544
2545         Unify TextBoundaries implementations by only relying on WTF Unicode abstractions
2546         https://bugs.webkit.org/show_bug.cgi?id=31468
2547
2548         Moving TextBoundariesICU.cpp to TextBoundaries.cpp
2549         by removing the direct ICU dependency and replacing it
2550         with WTF functions and WebCore's own TextBreakIterator
2551         abstractions.
2552
2553         * GNUmakefile.am:
2554         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2555         * platform/text/TextBoundaries.cpp: Added.
2556         (WebCore::findNextWordFromIndex):
2557         (WebCore::findWordBoundary):
2558         * platform/text/TextBoundariesICU.cpp: Removed.
2559         * platform/text/TextBreakIterator.h:
2560         * platform/text/TextBreakIteratorICU.cpp:
2561         (WebCore::textBreakLast):
2562         (WebCore::textBreakPrevious):
2563
2564 2009-11-13  Shinichiro Hamaji  <hamaji@chromium.org>
2565
2566         Reviewed by Darin Adler.
2567
2568         WebCore::externalRepresentation should update layout before getting render object
2569         https://bugs.webkit.org/show_bug.cgi?id=31459
2570
2571         * rendering/RenderTreeAsText.cpp:
2572         (WebCore::externalRepresentation):
2573
2574 2009-11-13  Adam Roben  <aroben@apple.com>
2575
2576         Tell FrameLoaderClient when window objects in isolated worlds are
2577         cleared
2578
2579         Fixes <http://webkit.org/b/31124> Tell the WebFrameLoadDelegate when
2580         window objects in isolated worlds are cleared
2581
2582         Test: http/tests/security/isolatedWorld/didClearWindowObject.html
2583
2584         Reviewed by Dave Hyatt.
2585
2586         * bindings/js/JSDOMBinding.h:
2587         (WebCore::WebCoreJSClientData::getAllWorlds): Added. Copies all the
2588         worlds in m_worldSet to the passed-in Vector.
2589
2590         * bindings/js/ScriptController.cpp:
2591         (WebCore::ScriptController::getAllWorlds): Added. Calls through to
2592         WebCoreJSClientData.
2593         (WebCore::ScriptController::initScript): Changed to call
2594         FrameLoader::dispatchDidClearWindowObjectInWorld.
2595
2596         * bindings/js/ScriptController.h: Added getAllWorlds.
2597
2598         * loader/EmptyClients.h:
2599         (WebCore::EmptyFrameLoaderClient::dispatchDidClearWindowObjectInWorld):
2600         Updated for FrameLoaderClient change.
2601
2602         * loader/FrameLoader.cpp:
2603         (WebCore::FrameLoader::receivedFirstData):
2604         (WebCore::FrameLoader::begin):
2605         Changed to call dispatchDidClearWindowObjectsInAllWorlds.
2606
2607         (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
2608         Added. Retrieves all the worlds, then calls through to
2609         dispatchDidClearWindowObjectInWorld for each one.
2610         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld): Replaces
2611         dispatchWindowObjectAvailable. Calls up to the client, then, if the
2612         world is the mainThreadNormalWorld(), tells the Inspector about it,
2613         too.
2614
2615         * loader/FrameLoader.h: Replaced dispatchWindowObjectAvailable with
2616         dispatchDidClearWindowObjectInWorld. Added
2617         dispatchDidClearWindowObjectsInAllWorlds.
2618
2619         * loader/FrameLoaderClient.h: Replaced windowObjectCleared with
2620         dispatchDidClearWindowObjectForWorld.
2621
2622 2009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
2623
2624         Reviewed by Dimitri Glazkov.
2625
2626         [V8] Fix SVG context assignment for pod types.
2627         https://bugs.webkit.org/show_bug.cgi?id=31497
2628
2629         I broke this in r50958.
2630
2631         Tested by svg/custom/viewport-update2.svg.
2632
2633         * bindings/scripts/CodeGeneratorV8.pm:
2634
2635 2009-11-13  Andrei Popescu  <andreip@google.com>
2636
2637         Reviewed by Dmitry Titov.
2638
2639         Bring the platform/android files inline with Android 2.0
2640         https://bugs.webkit.org/show_bug.cgi?id=31423
2641
2642         No new tests required: these are all Android-specific files.
2643
2644         * platform/android/ClipboardAndroid.cpp:
2645         (WebCore::ClipboardAndroid::files):
2646         * platform/android/ClipboardAndroid.h:
2647         * platform/android/FileChooserAndroid.cpp:
2648         (WebCore::FileChooser::basenameForWidth):
2649         (WebCore::fileButtonChooseFileLabel):
2650         * platform/android/KeyEventAndroid.cpp:
2651         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2652         * platform/android/LocalizedStringsAndroid.cpp:
2653         (WebCore::contextMenuItemTagOpenLinkInNewWindow):
2654         (WebCore::contextMenuItemTagDownloadLinkToDisk):
2655         (WebCore::contextMenuItemTagCopyLinkToClipboard):
2656         (WebCore::contextMenuItemTagOpenImageInNewWindow):
2657         (WebCore::contextMenuItemTagDownloadImageToDisk):
2658         (WebCore::contextMenuItemTagCopyImageToClipboard):
2659         (WebCore::contextMenuItemTagOpenFrameInNewWindow):
2660         (WebCore::contextMenuItemTagCopy):
2661         (WebCore::contextMenuItemTagGoBack):
2662         (WebCore::contextMenuItemTagGoForward):
2663         (WebCore::contextMenuItemTagStop):
2664         (WebCore::contextMenuItemTagReload):
2665         (WebCore::contextMenuItemTagCut):
2666         (WebCore::contextMenuItemTagPaste):
2667         (WebCore::contextMenuItemTagNoGuessesFound):
2668         (WebCore::contextMenuItemTagIgnoreSpelling):
2669         (WebCore::contextMenuItemTagLearnSpelling):
2670         (WebCore::contextMenuItemTagSearchWeb):
2671         (WebCore::contextMenuItemTagLookUpInDictionary):
2672         (WebCore::contextMenuItemTagOpenLink):
2673         (WebCore::contextMenuItemTagIgnoreGrammar):
2674         (WebCore::contextMenuItemTagSpellingMenu):
2675         (WebCore::contextMenuItemTagShowSpellingPanel):
2676         (WebCore::contextMenuItemTagCheckSpelling):
2677         (WebCore::contextMenuItemTagCheckSpellingWhileTyping):
2678         (WebCore::contextMenuItemTagCheckGrammarWithSpelling):
2679         (WebCore::contextMenuItemTagFontMenu):
2680         (WebCore::contextMenuItemTagBold):
2681         (WebCore::contextMenuItemTagItalic):
2682         (WebCore::contextMenuItemTagUnderline):
2683         (WebCore::contextMenuItemTagOutline):
2684         (WebCore::contextMenuItemTagWritingDirectionMenu):
2685         (WebCore::contextMenuItemTagTextDirectionMenu):
2686         (WebCore::contextMenuItemTagDefaultDirection):
2687         (WebCore::contextMenuItemTagLeftToRight):
2688         (WebCore::contextMenuItemTagRightToLeft):
2689         (WebCore::mediaElementLoadingStateText):
2690         (WebCore::mediaElementLiveBroadcastStateText):
2691         (WebCore::searchableIndexIntroduction):
2692         (WebCore::resetButtonDefaultLabel):
2693         (WebCore::submitButtonDefaultLabel):
2694         (WebCore::inputElementAltText):
2695         * platform/android/RenderThemeAndroid.cpp:
2696         (WebCore::RenderTheme::themeForPage):
2697         (WebCore::RenderThemeAndroid::baselinePosition):
2698         (WebCore::RenderThemeAndroid::paintButton):
2699         (WebCore::adjustMenuListStyleCommon):
2700         (WebCore::RenderThemeAndroid::paintCombo):
2701         * platform/android/ScreenAndroid.cpp:
2702         * platform/android/ScrollViewAndroid.cpp:
2703         (WebCore::ScrollView::platformOffscreenContentRectangle):
2704         * platform/android/TemporaryLinkStubs.cpp:
2705         (JSC::Bindings::dispatchJNICall):
2706         * platform/android/WidgetAndroid.cpp:
2707         (WebCore::Widget::setFrameRect):
2708
2709 2009-11-13  Norbert Leser  <norbert.leser&nokia.com>
2710
2711         Reviewed by Eric Seidel.
2712
2713         Added macros for USERINCLUDE paths within symbian blocks
2714         to guarantee inclusion of respective header files from local path
2715         first (to avoid clashes with same names of header files in system include path).
2716
2717         * WebCore.pro:
2718
2719 2009-11-13  Hironori Bono  <hbono@chromium.org>
2720
2721         Reviewed by Oliver Hunt.
2722
2723         Implement composition events introduced in DOM Level 3.
2724         This change adds a new IDL which defines the composition events, adds a class which
2725         implements the composition events, and sends the composition events according to
2726         the specification.
2727         https://bugs.webkit.org/show_bug.cgi?id=26310
2728
2729         Test: fast/events/ime-composition-events-001.html
2730
2731         * DerivedSources.make: Added CompositionEvent so we can compile "CompositionEvent.idl".
2732         * GNUmakefile.am: Added "CompositionEvent.{cpp,h,idl}".
2733         * WebCore.gypi: ditto.
2734         * WebCore.pro: ditto
2735         * WebCore.vcproj/WebCore.vcproj: ditto.
2736         * WebCore.xcodeproj/project.pbxproj: Added "CompositionEvent.{cpp,h,idl}" and "JSCompositionEvent.{cpp,h}".
2737         * WebCoreSources.bkl: Added "JSCompositionEvent.{cpp,h}".
2738         * bindings/js/JSEventCustom.cpp:
2739         (WebCore::toJS): Call isCompositionEvent() to create the CompositionEvent wrapper.
2740         * bindings/v8/DOMObjectsInclude.h: Added "JSCompositionEvent.h".
2741         * bindings/v8/DerivedSourcesAllInOne.cpp: Added "JSCompositionEvent.cpp".
2742         * bindings/v8/V8DOMWrapper.cpp: Call isCompositionEvent() to identify an event as a CompositionEvent.
2743         (WebCore::V8DOMWrapper::convertEventToV8Object):
2744         * bindings/v8/V8Index.cpp: Added "V8CompositionEvent.h".
2745         * bindings/v8/V8Index.h: Added V8Index::COMPOSITIONEVENT.
2746         * dom/CompositionEvent.cpp: Implements the CompositionEvent class.
2747         (WebCore::CompositionEvent::CompositionEvent):
2748         (WebCore::CompositionEvent::~CompositionEvent):
2749         (WebCore::CompositionEvent::initCompositionEvent):
2750         (WebCore::CompositionEvent::isCompositionEvent):
2751         * dom/CompositionEvent.h: Declares the CompositionEvent class.
2752         (WebCore::CompositionEvent::create):
2753         (WebCore::CompositionEvent::data):
2754         * dom/CompositionEvent.idl: Added the IDL of DOM CompositionEvent.
2755         * dom/Event.cpp:
2756         (WebCore::Event::isCompositionEvent): Added a method to identify an event is a CompositionEvent.
2757         * dom/Event.h:
2758         * dom/EventNames.h: Added composition{start,update,end} to eventNames.
2759         * editing/Editor.cpp:
2760         (WebCore::Editor::confirmComposition): Sent a CompositionEnd event.
2761         (WebCore::Editor::setComposition): Sent a Composition{Start,Update,End} event.
2762
2763 2009-11-13  Jens Alfke  <snej@chromium.org>
2764
2765         Reviewed by Dimitri Glazkov.
2766
2767         Fix a link error in unofficial GCC 4.4 builds on Linux.
2768         https://bugs.webkit.org/show_bug.cgi?id=31477
2769
2770         * bindings/v8/V8Binding.cpp:  Add explicit instantiations of v8StringToWebCoreString template.
2771
2772 2009-11-13  Eric Seidel  <eric@webkit.org>
2773
2774         No review, build fix only.
2775
2776         Fix Debug build after http://trac.webkit.org/changeset/50960.
2777
2778         The CounterNode class does not support all methods necessary to efficiently update the counter tree as needed per CSS2.1
2779         https://bugs.webkit.org/show_bug.cgi?id=31213
2780
2781         * rendering/CounterNode.cpp:
2782         (WebCore::showTreeAndMark):
2783         * rendering/RenderCounter.cpp:
2784         (WebCore::destroyCounterNodeChildren):
2785
2786 2009-11-13  Dirk Schulze  <krit@webkit.org>
2787
2788         Reviewed by Gustavo Noronha.
2789
2790         [CAIRO] shadow support for Canvas and SVG
2791         [https://bugs.webkit.org/show_bug.cgi?id=30960]
2792
2793         We currently fill a path with solid color instead of filling
2794         a clipping path. This causes problems on some composite operators,
2795         since Cairo modifies the area outside the path.
2796         This fixes the behavior of WebKitGtk on fast/canvas/canvas-composite-alpha.html
2797
2798         Thanks to Benjamin Otte for tracking the bug down.
2799
2800         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2801         (WebCore::setPlatformFill):
2802
2803 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
2804
2805         Reviewed by Dimitri Glazkov.
2806
2807         Adding Chromium's DatabaseTracker implementation.
2808
2809         https://bugs.webkit.org/show_bug.cgi?id=31440
2810
2811         * WebCore.gyp/WebCore.gyp:
2812         * WebCore.gypi:
2813         * storage/DatabaseTracker.h:
2814         * storage/chromium/DatabaseTrackerChromium.cpp:
2815         (WebCore::DatabaseTracker::fullPathForDatabase):
2816         (WebCore::DatabaseTracker::getMaxSizeForDatabase):
2817         * storage/chromium/QuotaTracker.cpp:
2818         (WebCore::QuotaTracker::updateDatabaseSize):
2819         * storage/chromium/QuotaTracker.h:
2820
2821 2009-11-13  Carol Szabo  <carol.szabo@nokia.com>
2822
2823         Reviewed by Darin Adler.
2824
2825         The CounterNode class is missing some basic tree navigation methods common in other WebKit trees such as the rendering tree
2826         https://bugs.webkit.org/show_bug.cgi?id=31213
2827         Added tree navigation methods that permit full implementation of CSS2.1
2828         counter feature without using recursion proportional to the counter
2829         tree depth.
2830         No new tests because I did not find any bug that is fixed by this
2831         commit yet, this just reduces the size of the patch for 11031 and
2832         helps respond to some concerns regarding that patch.
2833
2834         * rendering/CounterNode.cpp:
2835         (WebCore::CounterNode::CounterNode):
2836
2837         (WebCore::CounterNode::nextInPreOrderAfterChildren):
2838         (WebCore::CounterNode::nextInPreOrder):
2839         Added to support non-recursive tree traversal necessary for
2840         efficient full implementation of CSS2.1 counters.
2841
2842         (WebCore::CounterNode::lastDescendant):
2843         (WebCore::CounterNode::previousInPreOrder):
2844         Moved this methods such that they occupy a place similar to that of
2845         identically named methods on the render tree. This allows for their
2846         broader use needed in full implementation of CSS2.1 counters.
2847
2848         (WebCore::CounterNode::resetRenderer):
2849         (WebCore::CounterNode::resetRenderers):
2850         (WebCore::CounterNode::recount):
2851         (WebCore::CounterNode::insertAfter):
2852         (WebCore::CounterNode::removeChild):
2853         Changed such that insertion/removal of a counter, triggers not only
2854         recalculation of PrefixWidths, but also reassesment of values in
2855         counter nodes. This is the basis full implementation of CSS2.1
2856         counters. It does not change current behavior by much because of
2857         changes needed to the recalculation algorithm, but those are comming
2858         in the patch for 11031.
2859         (WebCore::showTreeAndMark):
2860         * rendering/CounterNode.h:
2861         * rendering/RenderCounter.cpp:
2862         (WebCore::counter):
2863         Only changed argument type to prepare for implementation of Darin
2864         Adler's recommendation for the patch to 11031.
2865
2866         (WebCore::RenderCounter::invalidate):
2867         (WebCore::destroyCounterNodeChildren):
2868         (WebCore::RenderCounter::destroyCounterNodes):
2869         * rendering/RenderCounter.h:
2870         * rendering/RenderObjectChildList.cpp:
2871         (WebCore::invalidateCountersInContainer):
2872         (WebCore::RenderObjectChildList::invalidateCounters):
2873         * rendering/RenderObjectChildList.h:
2874         Added the ability to restrict invalidation to counters with a given
2875         identifier.
2876         Also invalidated counters that are on the child container itself
2877         which were missed by the previous algorithm, but were a valid case.
2878
2879 2009-11-13  Vitaly Repeshko  <vitalyr@chromium.org>
2880
2881         Reviewed by Dimitri Glazkov.
2882
2883         [V8] Protect SVG animated properties from destruction in bindings.
2884         https://bugs.webkit.org/show_bug.cgi?id=31474
2885
2886         See http://crbug.com/26719.
2887
2888         Tested by LayoutTests/svg/custom/js-update-transform-addition.svg
2889         under Valgrind.
2890
2891         Made sure we keep a reference to SVG properties while setting a
2892         context:
2893         * bindings/scripts/CodeGeneratorV8.pm:
2894         * bindings/v8/V8Proxy.h:
2895         (WebCore::V8Proxy::withSVGContext):
2896
2897 2009-11-13  Brent Fulgham  <bfulgham@webkit.org>
2898
2899         Reviewed by Alexey Proskuryakov.
2900
2901         [CAIRO] shadow support for Canvas and SVG.
2902         [https://bugs.webkit.org/show_bug.cgi?id=30960]
2903
2904         Incorporate Benjamin Otte's recommendations to avoid
2905         a buffer overrun, and small performance improvement.
2906
2907         * platform/graphics/cairo/GraphicsContextCairo.cpp:
2908         (WebCore::copyContextProperties): Correctly size output
2909          storage for cairo_get_dash to avoid buffer overrun.
2910         (WebCore::drawPathShadow): Prefer cairo_fill_extents
2911          to slower cairo_stroke_extents when not drawing shadows.
2912
2913 2009-11-13  Dumitru Daniliuc  <dumi@chromium.org>
2914
2915         Reviewed by Dimitri Glazkov.
2916
2917         Do not register Chromium's HTML5 DB VFS as the default
2918         VFS. Otherwise, other sqlite DB users in the same process will
2919         stop working.
2920
2921         https://bugs.webkit.org/show_bug.cgi?id=31462
2922
2923         * platform/sql/chromium/SQLiteFileSystemChromium.cpp:
2924         (WebCore::SQLiteFileSystem::openDatabase):
2925         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
2926         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
2927         * platform/sql/chromium/SQLiteFileSystemChromiumWin.cpp:
2928         (WebCore::SQLiteFileSystem::registerSQLiteVFS):
2929
2930 2009-11-13  Alexey Proskuryakov  <ap@apple.com>
2931
2932         Windows build fix
2933
2934         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2935         (WebCore::SocketStreamHandle::SocketStreamHandle): Explicitly cast "-1" to CFOptionFlags,
2936         avoiding a sign mismatch warning.
2937
2938 2009-11-13  Alexey Proskuryakov  <ap@apple.com>
2939
2940         Release build fix.
2941
2942         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2943         (WebCore::SocketStreamHandle::readStreamCallback):
2944         (WebCore::SocketStreamHandle::writeStreamCallback):
2945         Use ASSERT_UNUSED for unused stream parameter.
2946
2947 2009-11-12  Alexey Proskuryakov  <ap@apple.com>
2948
2949         Reviewed by Darin Adler.
2950
2951         https://bugs.webkit.org/show_bug.cgi?id=31441
2952         Implement SocketStreamHandleCFNet
2953
2954         Existing WebSocket tests now pass on Mac. No proxy support yet.
2955
2956         * platform/network/SocketStreamHandleClient.h:
2957         * platform/network/cf/SocketStreamHandle.h:
2958         (WebCore::SocketStreamHandle::shouldUseSSL):
2959         (WebCore::SocketStreamHandle::refAuthenticationClient):
2960         (WebCore::SocketStreamHandle::derefAuthenticationClient):
2961         (WebCore::SocketStreamHandle::):
2962         * platform/network/cf/SocketStreamHandleCFNet.cpp:
2963         (WebCore::SocketStreamHandle::SocketStreamHandle):
2964         (WebCore::SocketStreamHandle::chooseProxy):
2965         (WebCore::SocketStreamHandle::createStreams):
2966         (WebCore::SocketStreamHandle::copyCFStreamDescription):
2967         (WebCore::SocketStreamHandle::readStreamCallback):
2968         (WebCore::SocketStreamHandle::writeStreamCallback):
2969         (WebCore::SocketStreamHandle::~SocketStreamHandle):
2970         (WebCore::SocketStreamHandle::platformSend):
2971         (WebCore::SocketStreamHandle::platformClose):
2972         (WebCore::SocketStreamHandle::receivedCredential):
2973         (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
2974         (WebCore::SocketStreamHandle::receivedCancellation):
2975
2976 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
2977
2978         Reviewed by Timothy Hatcher.
2979
2980         Web Inspector: preload status bar button glyphs
2981         in order to prevent them from flickering (take 2).
2982
2983         https://bugs.webkit.org/show_bug.cgi?id=31439
2984
2985         * inspector/front-end/inspector.js:
2986         (preloadImages):
2987
2988 2009-11-13  Pavel Feldman  <pfeldman@chromium.org>
2989
2990         Reviewed by Adam Barth.
2991
2992         Chromium: [REGRESSION] Crash while stopping on a breakpoint.
2993         Rolling back r50890.
2994
2995         https://bugs.webkit.org/show_bug.cgi?id=31467
2996
2997         * bindings/v8/V8Proxy.cpp:
2998         (WebCore::V8Proxy::canAccessPrivate):
2999
3000 2009-11-13  Dirk Schulze  <krit@webkit.org>
3001
3002         Reviewed by Gustavo Noronha.
3003
3004         [CAIRO] shadow support for Canvas and SVG
3005         [https://bugs.webkit.org/show_bug.cgi?id=30960]
3006         
3007         This is the fix of a regression, caused by the shadow patch
3008         from the bug above. Reinserted the save and restore calls
3009         that were accidently removed by the previous patch.
3010
3011         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3012         (WebCore::setPlatformFill):
3013         (WebCore::setPlatformStroke):
3014
3015 2009-11-13  Pavel Feldman  <pfeldman@chromium.org>
3016
3017         Not reviewed. Reverting r50908 since it makes inspector tests
3018         time out.
3019
3020         https://bugs.webkit.org/show_bug.cgi?id=31439
3021
3022         * inspector/front-end/inspector.js:
3023
3024 2009-11-13  Mikhail Naganov  <mnaganov@chromium.org>
3025
3026         Reviewed by Timothy Hatcher.
3027
3028         Enable 'console.profile()' and 'console.profileEnd()'
3029         regardless of JAVASCRIPT_DEBUGGER.
3030
3031         https://bugs.webkit.org/show_bug.cgi?id=31293
3032
3033         * WebCore.gypi:
3034         * bindings/js/JSConsoleCustom.cpp:
3035         (WebCore::JSConsole::profile):
3036         (WebCore::JSConsole::profileEnd):
3037         * bindings/v8/custom/V8ConsoleCustom.cpp: Added.
3038         (WebCore::CALLBACK_FUNC_DECL):
3039         * bindings/v8/custom/V8CustomBinding.h:
3040         * page/Console.idl:
3041
3042 2009-11-12  David Levin  <levin@chromium.org>
3043
3044         Reviewed by NOBODY.
3045
3046         Chromium build fix.
3047
3048         * bindings/v8/ScriptController.h:
3049         (WebCore::ScriptController::evaluateInWorld): Add a dummy
3050          method which isn't called in chromium to make things compile.
3051
3052 2009-11-12  Anantanarayanan G Iyengar  <ananta@chromium.org>
3053
3054         Reviewed by Adam Barth.
3055         
3056         The document-open.html test was flaky at times. The test invokes the layout test plugin
3057         which in its destroy stream handler opens a new document. This basically tears down the
3058         stream and the associated plugin instance, which causes a crash when the plugin stream
3059         dereferences an invalid m_client pointer which points to the PluginView instance which
3060         is invalid at this time. Fix is to set the m_client pointer to NULL in the stop function
3061         and check for the same.
3062        
3063         https://bugs.webkit.org/show_bug.cgi?id=31067
3064
3065         * plugins/PluginStream.cpp:
3066         (WebCore::PluginStream::stop):
3067         (WebCore::PluginStream::destroyStream):
3068
3069 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
3070
3071         Reviewed by Dimitri Glazkov.
3072
3073         Renaming some parameters passed to DB-related methods to better
3074         indicate their purpose.
3075
3076         https://bugs.webkit.org/show_bug.cgi?id=31449
3077
3078         * platform/chromium/ChromiumBridge.h:
3079
3080 2009-11-12  Simon Fraser  <simon.fraser@apple.com>
3081
3082         Reviewed by Dan Bernstein.
3083
3084         Transformed reflected elements are clipped inside element with opacity
3085         https://bugs.webkit.org/show_bug.cgi?id=30957
3086         
3087         transparencyClipBox() attemped to minimize the size of the transparency layer by mapping
3088         each clip rect into painting space before taking the unions. This, however, did not work
3089         correctly with combinations of reflections and transforms. Fixed by unioning the
3090         clipRect and mapping through transforms along the way.
3091         
3092         Also leave some #ifdeffed code in beginTransparencyLayers() that makes it easy to see
3093         where the transparency layers are.
3094
3095         Test: fast/reflections/opacity-reflection-transform.html
3096
3097         * rendering/RenderLayer.cpp:
3098         (WebCore::expandClipRectForDescendantsAndReflection):
3099         (WebCore::transparencyClipBox):
3100         (WebCore::RenderLayer::beginTransparencyLayers):
3101
3102 2009-11-12  Adam Barth  <abarth@webkit.org>
3103
3104         Reviewed by Darin Fisher.
3105
3106         Improve SecurityOrigin::toString comment
3107         https://bugs.webkit.org/show_bug.cgi?id=31041
3108
3109         * page/SecurityOrigin.h:
3110
3111 2009-11-12  Shinichiro Hamaji  <hamaji@chromium.org>
3112
3113         Reviewed by Darin Adler.
3114
3115         externalRepresentation should take Frame as the argument
3116         https://bugs.webkit.org/show_bug.cgi?id=31393
3117
3118         No new tests as this is just a refactoring.
3119
3120         * WebCore.base.exp:
3121         * rendering/RenderTreeAsText.cpp:
3122         (WebCore::externalRepresentation):
3123         * rendering/RenderTreeAsText.h:
3124
3125 2009-11-12  Ben Murdoch  <benm@google.com>
3126
3127         Reviewed by Dimitri Glazkov.
3128
3129         [Android] The Android specific files in page/Android are out of date.
3130         https://bugs.webkit.org/show_bug.cgi?id=31437
3131
3132         No tests required.
3133
3134         * page/android/DragControllerAndroid.cpp:
3135         (WebCore::DragController::dragOperation): Added.
3136         (WebCore::DragController::cleanupAfterSystemDrag):
3137         * page/android/EventHandlerAndroid.cpp:
3138         (WebCore::EventHandler::accessKeyModifiers): Added.
3139         * page/android/InspectorControllerAndroid.cpp: Removed.
3140
3141 2009-11-12  Brent Fulgham  <bfulgham@webkit.org>
3142
3143         Reviewed by Simon Fraser.
3144
3145         [CAIRO] shadow support for Canvas and SVG.
3146         [https://bugs.webkit.org/show_bug.cgi?id=30960]
3147
3148         Implement Canvas/SVG shadow support for Cairo.  This patch
3149         uses the filter code from SVG Filters.  That means that it is
3150         necessary to activate filters to see the shadows.
3151
3152         Test: fast/canvas/canvas-shadow.html
3153
3154         * GNUmakefile.am:
3155         * WebCore.vcproj/WebCore.vcproj: Add new ImageBufferFilter files.
3156         * platform/graphics/GraphicsContext.h:
3157         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3158         (GraphicsContext::calculateShadowBufferDimensions): New helper routine.
3159         (WebCore::setPlatformFill):
3160         (WebCore::setPlatformStroke):
3161         (WebCore::copyContextProperties):
3162         (WebCore::drawPathShadow):
3163         (WebCore::GraphicsContext::fillPath):
3164         (WebCore::GraphicsContext::strokePath):
3165         (WebCore::GraphicsContext::drawPath):
3166         (WebCore::GraphicsContext::setPlatformShadow):
3167         (WebCore::GraphicsContext::createPlatformShadow):
3168         * platform/graphics/cairo/ImageCairo.cpp:
3169         (WebCore::BitmapImage::draw): Add filter effect.
3170         * platform/graphics/filters/Filter.h: Correct 'const' signatures.
3171         * platform/graphics/filters/ImageBufferFilter.cpp: Added.
3172         * platform/graphics/filters/ImageBufferFilter.h: Added.
3173         * svg/graphics/filters/SVGFilter.cpp: Correct 'const' signatures.
3174         * svg/graphics/filters/SVGFilter.h: Correct 'const' signatures.
3175
3176 2009-11-12  Dmitry Titov  <dimich@chromium.org>
3177
3178         Reviewed by Alexey Proskuryakov.
3179
3180         Add postTaskToMainThread to ScriptExecutionContext.
3181         Move the code to post task to the main thread into a new method on ScriptExecutionContext,
3182         to use as a helper implementation of the virtual ScriptExecutionContext::postTask(Task) in
3183         contexts that live on the main thread.
3184         https://bugs.webkit.org/show_bug.cgi?id=31427
3185
3186         No new tests - simply moving the code.
3187
3188         * dom/Document.cpp:
3189         (WebCore::Document::postTask):
3190         * dom/ScriptExecutionContext.cpp:
3191         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
3192         (WebCore::ScriptExecutionContextTaskTimer::fired):
3193         (WebCore::PerformTaskData::PerformTaskData):
3194         (WebCore::PerformTaskData::performTask):
3195         (WebCore::ScriptExecutionContext::postTaskToMainThread):
3196         * dom/ScriptExecutionContext.h:
3197
3198 2009-11-12  Simon Fraser  <simon.fraser@apple.com>
3199
3200         Reviewed by Darin Adler.
3201
3202         Fix crash when removing compositing layers when GC is enabled
3203         https://bugs.webkit.org/show_bug.cgi?id=31429
3204
3205         Workaround <rdar://problem/7390716> by special-casing the removal
3206         of all sublayers when GC is enabled.
3207
3208         * platform/graphics/mac/GraphicsLayerCA.mm:
3209         (WebCore::safeSetSublayers):
3210         (WebCore::GraphicsLayerCA::updateSublayerList):
3211         (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
3212
3213 2009-11-12  Jens Alfke  <snej@chromium.org>
3214
3215         Reviewed by Dimitri Glazkov.
3216
3217         The last of the V8 binding optimizations.
3218         - Replace string-valued element accessors with a shared getter/setter function.
3219         - Change error handling flow of control to avoid extra branches and function calls.
3220         https://bugs.webkit.org/show_bug.cgi?id=31443
3221         
3222         * bindings/scripts/CodeGeneratorV8.pm:
3223         * bindings/v8/V8Binding.cpp:
3224         (WebCore::getElementStringAttr):  Body of string-valued Element getter function.
3225         (WebCore::setElementStringAttr):  Body of string-valued Element setter function.
3226         * bindings/v8/V8Binding.h:
3227
3228 2009-11-12  Sam Weinig  <sam@webkit.org>
3229
3230         Reviewed by Oliver Hunt.
3231
3232         Fix for <rdar://problem/7267951>
3233         Canvas methods should reject uses of NaN and Infinity.
3234
3235         Test: fast/canvas/canvas-with-illegal-args.html
3236
3237         * html/canvas/CanvasRenderingContext2D.cpp:
3238         (WebCore::CanvasRenderingContext2D::scale):
3239         (WebCore::CanvasRenderingContext2D::rotate):
3240         (WebCore::CanvasRenderingContext2D::translate):
3241         (WebCore::CanvasRenderingContext2D::transform):
3242         (WebCore::CanvasRenderingContext2D::setTransform):
3243
3244 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
3245
3246         Reviewed by Timothy Hatcher.
3247
3248         Web Inspector: profile timeline panel, fix obvious problems.
3249
3250         https://bugs.webkit.org/show_bug.cgi?id=31432
3251
3252         * inspector/front-end/AbstractTimelinePanel.js:
3253         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
3254         * inspector/front-end/TimelinePanel.js:
3255         (WebInspector.TimelinePanel.prototype._setWindowPosition):
3256         (WebInspector.TimelineCalculator):
3257         (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
3258         (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
3259         (WebInspector.TimelineCalculator.prototype.reset):
3260         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
3261         (WebInspector.TimelineCalculator.prototype.formatValue):
3262         (WebInspector.TimelineGraph):
3263         (WebInspector.TimelineGraph.prototype.refresh):
3264         * inspector/front-end/utilities.js:
3265         (Element.prototype.hasStyleClass):
3266
3267 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
3268
3269         Reviewed by Timothy Hatcher.
3270
3271         Web Inspector: preload status bar button glyphs
3272         in order to prevent them from flickering.
3273
3274         https://bugs.webkit.org/show_bug.cgi?id=31439
3275
3276         * inspector/front-end/inspector.js:
3277         (preloadImages):
3278
3279 2009-11-12  Adam Roben  <aroben@apple.com>
3280
3281         Replace worldIDs with world objects
3282
3283         Part of <http://webkit.org/b/31414> Implement new SPI for dealing with
3284         user scripts/stylesheets and isolated worlds
3285
3286         Reviewed by Sam Weinig.
3287
3288         Covered by existing tests.
3289
3290         * WebCore.base.exp: Update exported symbols to match what now exists
3291         and is needed by WebKit.
3292
3293         * bindings/js/ScheduledAction.cpp:
3294         (WebCore::ScheduledAction::execute): Updated for function rename.
3295
3296         * bindings/js/ScriptController.cpp: Removed code that dealt with
3297         worldIDs.
3298         (WebCore::ScriptController::createWorld): Added. Returns a new world
3299         suitable for use on the main thread.
3300         (WebCore::ScriptController::executeScriptInWorld): Renamed from
3301         executeScriptInIsolatedWorld, since this works just fine with a
3302         "normal" world.
3303
3304         * bindings/js/ScriptController.h: Added createWorld, removed functions
3305         that took worldIDs, renamed executeScriptInIsolatedWorld to
3306         executeScriptInWorld.
3307
3308         * page/Frame.cpp:
3309         (WebCore::Frame::injectUserScripts):
3310         (WebCore::Frame::injectUserScriptsForWorld):
3311         Updated for changes to UserScriptMap and ScriptController.
3312
3313         * page/Frame.h: Changed injectUserScriptsForWorld to take a
3314         DOMWrapperWorld* instead of a worldID.
3315
3316         * page/PageGroup.cpp:
3317         (WebCore::PageGroup::addUserScriptToWorld):
3318         (WebCore::PageGroup::addUserStyleSheetToWorld):
3319         (WebCore::PageGroup::removeUserScriptFromWorld):
3320         (WebCore::PageGroup::removeUserStyleSheetFromWorld):
3321         (WebCore::PageGroup::removeUserScriptsFromWorld):
3322         (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
3323         * page/PageGroup.h:
3324         Changed these functions to take a DOMWrapperWorld* instead of a
3325         worldID. Also updated for changes to UserScript and UserStyleSheet.
3326
3327         * page/UserScript.h:
3328         * page/UserStyleSheet.h: Changed not to hold a worldID, since it was
3329         never used.
3330
3331         * page/UserScriptTypes.h:
3332         * page/UserStyleSheetTypes.h: Changed UserScriptMap and
3333         UserStyleSheetMap to use a RefPtr<DOMWrapperWorld> instead of a
3334         worldID as their key type.
3335
3336
3337 2009-11-12  Brian Weinstein  <bweinstein@apple.com>
3338
3339         Reviewed by Tim Hatcher.
3340
3341         Fixes <http://webkit.org/b/31260>.
3342         Web Inspector: Main Resources Other than HTML are mis-detected.
3343         
3344         Even if the resource is a main resource, look at its CachedResource type, 
3345         because it might be an image, stylesheet, or JavaScript file, and we
3346         want to show them all correctly.
3347
3348         * inspector/InspectorResource.cpp:
3349         (WebCore::InspectorResource::cachedResourceType): Move this method out so it can be called in multiple places.
3350         (WebCore::InspectorResource::type): 
3351         * inspector/InspectorResource.h:
3352
3353 2009-11-12  Jens Alfke  <snej@chromium.org>
3354
3355         Reviewed by Dimitri Glazkov.
3356
3357         Table-driven setup for V8 binding template callback functions. 100k in code savings.
3358         https://bugs.webkit.org/show_bug.cgi?id=31420
3359
3360         * bindings/scripts/CodeGeneratorV8.pm:  Change generated ConfigureXXXTemplate fn
3361             to call configureTemplate().
3362         * bindings/v8/V8Binding.cpp:
3363         (WebCore::configureTemplate):  New function; does all the standard configuration work.
3364         (WebCore::createCallback):  De-inlined wrapper for FunctionTemplate creation.
3365         * bindings/v8/V8Binding.h:
3366         * bindings/v8/V8Proxy.cpp:
3367         (WebCore::batchConfigureAttributes):  Just wrapped the very long fn parameter list.
3368         (WebCore::batchConfigureCallbacks):  New function, used by configureTemplate.
3369         (WebCore::batchConfigureConstants):  Just wrapped the very long fn parameter list.
3370         * bindings/v8/V8Proxy.h:
3371
3372 2009-11-12  Dumitru Daniliuc  <dumi@chromium.org>
3373
3374         Unreviewed, fix Chromium build after http://trac.webkit.org/changeset/50876.
3375
3376         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
3377
3378 2009-11-12  Eric Carlson  <eric.carlson@apple.com>
3379
3380         Reviewed by Dan Bernstein.
3381
3382         <rdar://problem/7388969> Add DOM API for fullscreen video
3383         
3384         DOM API for fullscreen <video>.
3385
3386         Tests: media/media-fullscreen-inline.html
3387                media/media-fullscreen-not-in-document.html
3388
3389         * dom/EventNames.h:
3390             Add webkitbeginfullscreen and webkitendfullscreen.
3391
3392         * html/HTMLAttributeNames.in:
3393             Add onwebkitbeginfullscreen and onwebkitendfullscreen.
3394
3395         * html/HTMLMediaElement.cpp:
3396         (WebCore::HTMLMediaElement::parseMappedAttribute):
3397             Deal with onwebkitbeginfullscreen and onwebkitendfullscreen.
3398         (WebCore::HTMLMediaElement::enterFullscreen):
3399             Schedule webkitbeginfullscreenEvent event, don't set m_isFullscreen unless we
3400             actually do enter fullscreen.
3401         (WebCore::HTMLMediaElement::exitFullscreen):
3402             Schedule webkitendfullscreenEvent event.
3403         (WebCore::HTMLMediaElement::webkitEnterFullScreen):
3404         (WebCore::HTMLMediaElement::webkitExitFullScreen):
3405         (WebCore::HTMLMediaElement::webkitSupportsFullscreen):
3406         (WebCore::HTMLMediaElement::webkitDisplayingFullscreen):
3407             New, access to fullscreen properties and methods.
3408
3409         * html/HTMLMediaElement.h:
3410         * html/HTMLMediaElement.idl:
3411             Declare methods needed for fullscreen API.
3412
3413         * html/HTMLVideoElement.cpp:
3414         (WebCore::HTMLVideoElement::supportsFullscreen):
3415             Return false if a movie does not have video.
3416
3417         * page/DOMWindow.h:
3418             Add webkitbeginfullscreen and webkitendfullscreen.
3419
3420 2009-11-12  Adam Barth  <abarth@webkit.org>
3421
3422         Reviewed by Dimitri Glazkov.
3423
3424         [Chromium] Sify compose button alerts error
3425         https://bugs.webkit.org/show_bug.cgi?id=31394
3426
3427         Test: http/tests/security/calling-versus-current.html
3428
3429         We're supposed to use the calling context for security checks.  In JSC
3430         land, this is the lexicalGlobalObject.
3431
3432         * bindings/v8/V8Proxy.cpp:
3433         (WebCore::V8Proxy::canAccessPrivate):
3434
3435 2009-11-12  Daniel Bates  <dbates@webkit.org>
3436
3437         Reviewed by Darin Adler.
3438
3439         https://bugs.webkit.org/show_bug.cgi?id=30291
3440
3441         Fixes an issue where the returned drop effect is incorrect when
3442         effectAllowed == "uninitialized".
3443
3444         According to section 7.9.2 of the HTML 5 spec.
3445         <http://dev.w3.org/html5/spec/Overview.html#the-dragevent-and-datatransfer-interfaces>
3446         when effectAllowed = "uninitialized" the resulting dropEffect should be the
3447         user-specified dropEffect (i.e. "copy", "move", "link") and "none" for any
3448         other case.
3449         
3450         No test cases are included because we have an existing test case from
3451         bug #24731.
3452
3453         * dom/Clipboard.cpp:
3454         (WebCore::dragOpFromIEOp): Added case for op == "uninitialized".
3455
3456 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
3457
3458         Reviewed by Timothy Hatcher.
3459
3460         Web Inspector: Do not highlight node on refresh.
3461
3462         https://bugs.webkit.org/show_bug.cgi?id=31419
3463
3464         * inspector/front-end/ElementsPanel.js:
3465         (WebInspector.ElementsPanel.prototype.reset):
3466
3467 2009-11-12  Pavel Feldman  <pfeldman@chromium.org>
3468
3469         Reviewed by Timothy Hatcher.
3470
3471         Web Inspector: Minor timeline fixes.
3472
3473         https://bugs.webkit.org/show_bug.cgi?id=31417
3474
3475         * inspector/front-end/TimelinePanel.js:
3476         (WebInspector.TimelinePanel.prototype._getRecordDetails):
3477         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
3478         (WebInspector.TimelineRecordTreeElement.prototype._updateDetails):
3479         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
3480
3481 2009-11-12  Alexey Proskuryakov  <ap@apple.com>
3482
3483         SnowLeopard build fix.
3484
3485         Renamed initWithClient to initWithAuthenticationClient.
3486
3487         * platform/network/mac/AuthenticationMac.mm:
3488         (-[WebCoreAuthenticationClientAsChallengeSender initWithAuthenticationClient:]):
3489         (WebCore::AuthenticationChallenge::setAuthenticationClient):
3490
3491 2009-11-12  Chris Fleizach  <cfleizach@apple.com>
3492
3493         Reviewed by Darin Adler.
3494
3495         ARIA: add alert type roles
3496         https://bugs.webkit.org/show_bug.cgi?id=31392
3497
3498         Test: platform/mac/accessibility/aria-alerts.html
3499
3500         * accessibility/AccessibilityObject.h:
3501         * accessibility/AccessibilityRenderObject.cpp:
3502         * accessibility/mac/AccessibilityObjectWrapper.mm:
3503
3504 2009-11-11  Alexey Proskuryakov  <ap@apple.com>
3505
3506         Reviewed by Darin Adler.
3507
3508         https://bugs.webkit.org/show_bug.cgi?id=31386
3509         Make Mac AuthenticationChallenge usable from cross-platform code
3510
3511         No change in behavior, so no tests.
3512
3513         * platform/network/ResourceHandle.cpp:
3514         (WebCore::ResourceHandle::clearAuthentication):
3515         * platform/network/ResourceHandleInternal.h:
3516         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
3517         Don't store m_currentCFChallenge, which was only used for a single assertion. Unlike the
3518         NSURLConnection case, CF challenge doesn't carry a sender with it, so the copy in web challenge
3519         is identical.
3520
3521         * platform/network/cf/AuthenticationChallenge.h:
3522         (WebCore::AuthenticationChallenge::setAuthenticationClient): Added a setter to match the new
3523         Mac interface. Previously, one had to create a new AuthenticationChallenge to replace client.
3524
3525         * platform/network/cf/ResourceHandleCFNet.cpp:
3526         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Fixed assertions after removal
3527         of m_currentCFChallenge. Also, there is no need to set client now, as it's guaranteed to
3528         be already set.
3529
3530         * platform/network/mac/AuthenticationChallenge.h:
3531         (WebCore::AuthenticationChallenge::m_sender): Explained the existence of this member to the
3532         best of my understanding.
3533         (WebCore::AuthenticationChallenge::m_nsChallenge): Renamed from m_macChallenge to prevent
3534         confusion with "mac" and "web" challenges in ResourceHandleInternal.
3535
3536         * platform/network/mac/AuthenticationMac.mm:
3537         (WebCoreAuthenticationClientAsChallengeSender): Added a Obj-C wrapper for AuthenticationClient,
3538         making it possible to use the latter with NSURLAuthenticationChallenge.
3539         (WebCore::AuthenticationChallenge::AuthenticationChallenge): Updated for m_macChallenge ->
3540         m_nsChallenge renaming.
3541         (WebCore::AuthenticationChallenge::setAuthenticationClient): Wrap the client in Obj-C and
3542         set it as sender (or unset, if client is null).
3543
3544         * platform/network/mac/ResourceHandleMac.mm:
3545         (WebCoreResourceHandleAsDelegate) WebCoreResourceHandleAsDelegate no longer doubles as
3546         authentication challenge sender.
3547         (WebCore::ResourceHandle::~ResourceHandle): A navigation can happen underneath an
3548         authentication sheet.
3549         (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Form m_currentWebChallenge
3550         using the new setAuthenticationClient() method.
3551         (WebCore::ResourceHandle::didCancelAuthenticationChallenge): Fixed an incorrect assertion.
3552         Since didCancelAuthenticationChallenge is called by connection, the passed challenge is
3553         the original Mac one, not the one we created for use with authentication sheet. I don't
3554         know when a connection would cancel authentication in practice, so I haven't tested this.
3555
3556 2009-11-12  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3557
3558         Reviewed by Timothy Hatcher.
3559
3560         Web Inspector: breakpoint sidebar entries should allow click over entire list item
3561         https://bugs.webkit.org/show_bug.cgi?id=31411
3562
3563         No new tests; no new functionality, small usability change. 
3564
3565         * inspector/front-end/BreakpointsSidebarPane.js:
3566         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
3567         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked):
3568
3569 2009-11-12  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3570
3571         Reviewed by Timothy Hatcher.
3572
3573         Web Inspector: breakpoints in named evals are not restored after a reload
3574         https://bugs.webkit.org/show_bug.cgi?id=31375
3575
3576         Manual test added
3577
3578         * inspector/front-end/ScriptsPanel.js:
3579         (WebInspector.ScriptsPanel.prototype.addScript):
3580         * manual-tests/inspector/bp-in-named-eval-after-reload.html: Added.
3581
3582 2009-11-12  Benjamin Poulain  <benjamin.poulain@nokia.com>
3583
3584         Reviewed by Kenneth Rohde Christiansen.
3585
3586         Custom printing shrink factors
3587         https://bugs.webkit.org/show_bug.cgi?id=29042
3588
3589         This reverts commit r49769. The public API for this needs to be reviewed
3590         before its inclusion in Qt.
3591
3592         * page/PrintContext.cpp:
3593         (WebCore::PrintContext::begin):
3594         * page/Settings.cpp:
3595         (WebCore::Settings::Settings):
3596         * page/Settings.h:
3597
3598 2009-11-12  Alexander Pavlov  <apavlov@chromium.org>
3599
3600         Reviewed by Pavel Feldman.
3601
3602         Web Inspector: Resource errors/warnings not shown in the Resource tree.
3603
3604         Error/Warning bubbles are not displayed next to the resource in the 
3605         Resources panel if those occur before the resource is attached to the tree.
3606         https://bugs.webkit.org/show_bug.cgi?id=31404
3607
3608         Test: manual-tests/inspector/styled-error-bubbles-in-scripts.html
3609
3610         * inspector/front-end/AbstractTimelinePanel.js:
3611         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
3612         * inspector/front-end/ResourcesPanel.js:
3613         (WebInspector.ResourceSidebarTreeElement.prototype.onattach):
3614
3615 2009-11-12  Philippe Normand  <pnormand@igalia.com>
3616
3617         Reviewed by Jan Alonzo.
3618
3619         https://bugs.webkit.org/show_bug.cgi?id=31047
3620         [GTK] Failing test media/video-played-ranges-1.html
3621
3622         Follow-up of r50726, don't block the UI thread when calling
3623         gst_element_get_state(). Also fixed a compilation warning and some
3624         static casts.
3625
3626         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3627         (WebCore::playbackPosition):
3628         (WebCore::MediaPlayerPrivate::seek):
3629         (WebCore::MediaPlayerPrivate::setRate):
3630
3631 2009-11-12  Philippe Normand  <pnormand@igalia.com>
3632
3633         Reviewed by Jan Alonzo.
3634
3635         https://bugs.webkit.org/show_bug.cgi?id=31047
3636         [GTK] Failing test media/video-played-ranges-1.html
3637
3638         don't pause pipeline if already paused, same for play()
3639
3640         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3641         (WebCore::MediaPlayerPrivate::play):
3642         (WebCore::MediaPlayerPrivate::pause):
3643
3644 2009-11-12  Kinuko Yasuda  <kinuko@google.com>
3645
3646         Reviewed by David Levin.
3647
3648         Support Gtk scrollwheel behavior for horizontal scrollbars on Linux
3649         Chromium too.
3650         https://bugs.webkit.org/show_bug.cgi?id=31292
3651
3652         No new tests. (Corresponding test for Gtk+ is
3653         platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html)
3654
3655         * page/EventHandler.cpp:
3656         * page/chromium/EventHandlerChromium.cpp:
3657
3658 2009-11-12  Yuta Kitamura  <yutak@chromium.org>
3659
3660         Reviewed by Eric Seidel.
3661
3662         Prevent text inside a multi-column block from being split into columns.
3663         
3664         If the tentative height of a multi-column block was too small, we need to
3665         expand the block height and try to layout again, in order to prevent text
3666         from being split into different columns.
3667
3668         CSS Multicolumn text is split awkwardly
3669         https://bugs.webkit.org/show_bug.cgi?id=22249
3670
3671         Test: fast/multicol/single-line.html
3672
3673         * rendering/RenderBlock.cpp:
3674         (WebCore::RenderBlock::layoutColumns):
3675         * rendering/RenderBlock.h:
3676         * rendering/RenderLineBoxList.cpp:
3677         (WebCore::RenderLineBoxList::paint):
3678         * rendering/RenderView.h:
3679         (WebCore::RenderView::setTruncatedAt):
3680         (WebCore::RenderView::setMinimumColumnHeight):
3681         (WebCore::RenderView::minimumColumnHeight):
3682
3683 2009-11-11  Kent Tamura  <tkent@chromium.org>
3684
3685         Reviewed by Darin Adler.
3686
3687         Fix a bug that RenderFileUploadControl isn't initialized with multiple files.
3688         https://bugs.webkit.org/show_bug.cgi?id=31195
3689
3690         Test: fast/forms/input-file-re-render.html
3691
3692         * rendering/RenderFileUploadControl.cpp:
3693         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
3694
3695 2009-11-09  Dumitru Daniliuc  <dumi@chromium.org>
3696
3697         Reviewed by Dimitri Glazkov.
3698
3699         Fixing Chromium's POSIX VFS implementation, by adding the required
3700         "used file descriptors" logic.
3701
3702         https://bugs.webkit.org/show_bug.cgi?id=31275
3703
3704         * platform/sql/chromium/SQLiteFileSystemChromiumPosix.cpp:
3705
3706 2009-11-11  Chris Fleizach  <cfleizach@apple.com>
3707
3708         Reviewed by Oliver Hunt.
3709
3710         need to implement aria tree roles
3711         https://bugs.webkit.org/show_bug.cgi?id=31284
3712
3713         Tests: platform/mac/accessibility/aria-multiselectable.html
3714                platform/mac/accessibility/aria-tree.html
3715
3716         * accessibility/AccessibilityList.cpp:
3717         (WebCore::AccessibilityList::accessibilityIsIgnored):
3718         * accessibility/AccessibilityObject.cpp:
3719         (WebCore::AccessibilityObject::ariaTreeRows):
3720         (WebCore::AccessibilityObject::ariaTreeItemContent):
3721         (WebCore::AccessibilityObject::ariaTreeItemDisclosedRows):
3722         * accessibility/AccessibilityObject.h:
3723         (WebCore::):
3724         (WebCore::AccessibilityObject::isTree):
3725         (WebCore::AccessibilityObject::isTreeItem):
3726         (WebCore::AccessibilityObject::setIsExpanded):
3727         (WebCore::AccessibilityObject::canSetExpandedAttribute):
3728         (WebCore::AccessibilityObject::hierarchicalLevel):
3729         (WebCore::AccessibilityObject::setSelectedRows):
3730         (WebCore::AccessibilityObject::performDefaultAction):
3731         * accessibility/AccessibilityRenderObject.cpp:
3732         (WebCore::AccessibilityRenderObject::hierarchicalLevel):
3733         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3734         (WebCore::AccessibilityRenderObject::isExpanded):
3735         (WebCore::AccessibilityRenderObject::setElementAttributeValue):
3736         (WebCore::AccessibilityRenderObject::elementAttributeValue):
3737         (WebCore::AccessibilityRenderObject::setIsExpanded):
3738         (WebCore::AccessibilityRenderObject::isSelected):
3739         (WebCore::AccessibilityRenderObject::setSelected):
3740         (WebCore::AccessibilityRenderObject::setSelectedRows):
3741         (WebCore::createARIARoleMap):
3742         (WebCore::AccessibilityRenderObject::canSetExpandedAttribute):
3743         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
3744         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
3745         (WebCore::AccessibilityRenderObject::selectedChildren):
3746         * accessibility/AccessibilityRenderObject.h:
3747         * accessibility/mac/AccessibilityObjectMac.mm:
3748         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
3749         * accessibility/mac/AccessibilityObjectWrapper.mm:
3750         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
3751         (RoleEntry::):
3752         (-[AccessibilityObjectWrapper subrole]):
3753         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
3754         (-[AccessibilityObjectWrapper accessibilityIsAttributeSettable:]):
3755         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
3756         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
3757         (-[AccessibilityObjectWrapper accessibilityArrayAttributeCount:]):
3758         * html/HTMLAttributeNames.in:
3759
3760 2009-11-11  Brent Fulgham  <bfulgham@webkit.org>
3761
3762         Build fix after @r50760 with ENABLE_FILTERS.
3763
3764         * platform/graphics/filters/SourceAlpha.cpp:
3765         (WebCore::SourceAlpha::apply): Supply ColorSpace to fillRect.
3766         * svg/graphics/filters/SVGFEFlood.cpp: Supply ColorSpace argument
3767           to fillRect.
3768
3769 2009-11-11  Fumitoshi Ukai  <ukai@chromium.org>
3770
3771         Reviewed by Alexey Proskuryakov.
3772
3773         Fix WebSocket frame parser of frame_type with high-order bit set.
3774         https://bugs.webkit.org/show_bug.cgi?id=30668
3775
3776         If buffer is smaller than frame's length, it should break the loop
3777         instead of reading next byte.
3778
3779         Tests: websocket/tests/frame-length-longer-than-buffer.html
3780                websocket/tests/frame-length-skip.html
3781
3782         * websockets/WebSocketChannel.cpp:
3783         (WebCore::WebSocketChannel::didReceiveData):
3784
3785 2009-11-11  Yusuke Sato  <yusukes@chromium.org>
3786
3787         Reviewed by Adam Barth.
3788
3789         [chromium] Remove t2embed.dll functions from FontCustomPlatformData.cpp for Chromium
3790         https://bugs.webkit.org/show_bug.cgi?id=31345
3791
3792         Remove dependency on t2embed.dll so that Chromium for Windows can start even if t2embed.dll cannot be accessed.
3793
3794         * platform/graphics/chromium/FontCustomPlatformData.cpp:
3795         (WebCore::FontCustomPlatformData::~FontCustomPlatformData): Remove TTDeleteEmbeddedFont() call. Always use RemoveFontMemResourceEx().
3796         (WebCore::FontCustomPlatformData::fontPlatformData): Remove TTGetNewFontName() call.
3797         (WebCore::createFontCustomPlatformData): Remove TTLoadEmbeddedFont() call. Always use AddFontMemResourceEx() via renameAndActivateFont() in opentype/OpenTypeUtility.h. Remove EOTStream class as well.
3798
3799 2009-11-11  Beth Dakin  <bdakin@apple.com>
3800
3801         Build fix. No review needed.
3802
3803         * platform/graphics/gtk/FontGtk.cpp:
3804         (WebCore::Font::drawComplexText):
3805
3806 2009-11-11  Beth Dakin  <bdakin@apple.com>
3807
3808         Build fix. No review needed.
3809
3810         * platform/graphics/cairo/FontCairo.cpp:
3811         (WebCore::Font::drawGlyphs):
3812
3813 2009-11-11  Beth Dakin  <bdakin@apple.com>
3814
3815         Windows build fix. No review needed. 
3816
3817         * platform/graphics/win/FontCGWin.cpp:
3818         (WebCore::Font::drawGlyphs):
3819
3820 2009-11-11  Beth Dakin  <bdakin@apple.com>
3821
3822         Reviewed by Simon Fraser.
3823
3824         Fix for https://bugs.webkit.org/show_bug.cgi?id=31382
3825         Make -webkit-color-correction work with shadows
3826
3827         From canvas, just send DeviceColorSpace to setShadow() for now. 
3828         Will fix soon when I address https://bugs.webkit.org/show_bug.cgi?id=31319
3829         * html/canvas/CanvasRenderingContext2D.cpp:
3830         (WebCore::CanvasRenderingContext2D::setShadow):
3831         (WebCore::CanvasRenderingContext2D::applyShadow):
3832
3833         setShadow() and setPlatformShadow() now take a ColorSpace.
3834         * platform/graphics/GraphicsContext.cpp:
3835         (WebCore::GraphicsContext::setShadow):
3836         * platform/graphics/GraphicsContext.h:
3837         * platform/graphics/cg/GraphicsContextCG.cpp:
3838         (WebCore::createCGColorWithColorSpace): New helper to create a 
3839         color in a ColorSpace.
3840         (WebCore::setCGFillColor): Call new helper.
3841         (WebCore::setCGStrokeColor): Call new helper.
3842         (WebCore::GraphicsContext::setPlatformShadow): Call new helper.
3843         * platform/graphics/haiku/GraphicsContextHaiku.cpp:
3844         (WebCore::GraphicsContext::setPlatformShadow):
3845
3846         Send appropriate ColorSpace to setShadow().
3847         * platform/graphics/mac/FontMac.mm:
3848         (WebCore::Font::drawGlyphs):
3849         * rendering/EllipsisBox.cpp:
3850         (WebCore::EllipsisBox::paint):
3851         * rendering/InlineFlowBox.cpp:
3852         (WebCore::InlineFlowBox::paintTextDecorations):
3853         * rendering/InlineTextBox.cpp:
3854         (WebCore::paintTextWithShadows):
3855         (WebCore::InlineTextBox::paintDecoration):
3856         * rendering/RenderBoxModelObject.cpp:
3857         (WebCore::RenderBoxModelObject::paintBoxShadow):
3858         * rendering/SVGInlineTextBox.cpp:
3859         (WebCore::SVGInlineTextBox::paintCharacters):
3860         * rendering/SVGRenderSupport.cpp:
3861         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
3862
3863         Attempt to keep ports building.
3864         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3865         (WebCore::GraphicsContext::setPlatformShadow):
3866         * platform/graphics/qt/GraphicsContextQt.cpp:
3867         (WebCore::GraphicsContext::setPlatformShadow):
3868         * platform/graphics/skia/GraphicsContextSkia.cpp:
3869         (WebCore::GraphicsContext::setPlatformShadow):
3870         * platform/graphics/wince/GraphicsContextWince.cpp:
3871         (WebCore::GraphicsContext::setPlatformShadow):
3872         * platform/graphics/wx/GraphicsContextWx.cpp:
3873         (WebCore::GraphicsContext::setPlatformShadow):
3874
3875 2009-11-11  Kent Tamura  <tkent@chromium.org>
3876
3877         Reviewed by Darin Adler.
3878
3879         Print the file text of a file upload control in DumpRenderTree for ease of tests.
3880         https://bugs.webkit.org/show_bug.cgi?id=31195
3881
3882         * rendering/RenderFileUploadControl.cpp:
3883         (WebCore::RenderFileUploadControl::paintObject):
3884         (WebCore::RenderFileUploadControl::fileTextValue):
3885         * rendering/RenderFileUploadControl.h:
3886         (WebCore::RenderFileUploadControl::isFileUploadControl):
3887         (WebCore::toRenderFileUploadControl):
3888         * rendering/RenderObject.h:
3889         (WebCore::RenderObject::isFileUploadControl):
3890         * rendering/RenderTreeAsText.cpp:
3891         (WebCore::operator<<):
3892
3893 2009-11-11  Gavin Barraclough  <barraclough@apple.com>
3894
3895         Reviewed by Sam Weinig.
3896
3897         DOM Wrappers for some nodes may not be marked.
3898         https://bugs.webkit.org/show_bug.cgi?id=31380
3899
3900         Some markChildren methods are calling getCachedDOMNodeWrapper, which will find
3901         the wrapper for the current world only.  This means that wrappers may be GC'ed
3902         prematurely, and properties lost.
3903
3904         Move to a model more like markDOMObjectWrapper, mark wrappers for all worlds.
3905
3906         * bindings/js/JSAttrCustom.cpp:
3907         (WebCore::JSAttr::markChildren):
3908         * bindings/js/JSDOMBinding.cpp:
3909         (WebCore::markDOMNodeWrapper):
3910         * bindings/js/JSDOMBinding.h:
3911         * bindings/js/JSNamedNodeMapCustom.cpp:
3912         (WebCore::JSNamedNodeMap::markChildren):
3913         * bindings/js/JSNodeCustom.cpp:
3914         (WebCore::JSNode::markChildren):
3915         * bindings/js/JSSVGElementInstanceCustom.cpp:
3916         (WebCore::JSSVGElementInstance::markChildren):
3917         * bindings/js/JSStyleSheetCustom.cpp:
3918         (WebCore::JSStyleSheet::markChildren):
3919
3920 2009-11-11  Ben Murdoch  <benm@google.com>
3921
3922         Reviewed by Darin Adler.
3923
3924         bindings/js/ScriptObject.cpp is missing and ENABLE(INSPECTOR) guard.
3925         https://bugs.webkit.org/show_bug.cgi?id=31384
3926
3927         No functionality change so no tests required.
3928
3929         * bindings/js/ScriptObject.cpp: Add ENABLE(INSPECTOR) guard around the JSInspectorBackend.h include.
3930
3931 2009-11-11  Jens Alfke  <snej@chromium.org>
3932
3933         Reviewed by Dimitri Glazkov.
3934
3935         The Big De-Inlining. 450k code size reduction (32-bit x86.)
3936         - Various inline functions in V8Binding.h made non-inline.
3937         - Some renaming for consistency.
3938         - New function createRawTemplate().
3939         https://bugs.webkit.org/show_bug.cgi?id=31383
3940
3941         * bindings/scripts/CodeGeneratorV8.pm:
3942         * bindings/v8/V8Binding.cpp:
3943         (WebCore::v8DOMWrapperToNative):
3944         (WebCore::v8ValueToWebCoreString):
3945         (WebCore::v8ValueToAtomicWebCoreString):
3946         (WebCore::toInt32):
3947         (WebCore::toWebCoreString):
3948         (WebCore::toWebCoreStringWithNullCheck):
3949         (WebCore::toAtomicWebCoreStringWithNullCheck):
3950         (WebCore::toWebCoreStringWithNullOrUndefinedCheck):
3951         (WebCore::isUndefinedOrNull):
3952         (WebCore::v8Boolean):
3953         (WebCore::v8UndetectableString):
3954         (WebCore::v8StringOrNull):
3955         (WebCore::v8StringOrUndefined):
3956         (WebCore::v8StringOrFalse):
3957         (WebCore::v8StringToWebCoreString):
3958         (WebCore::v8ExternalString):
3959         (WebCore::createRawTemplate):  New function.
3960         * bindings/v8/V8Binding.h:
3961         (WebCore::v8DOMWrapperTo):
3962         (WebCore::v8DOMWrapperToNode):
3963         (WebCore::v8StringToWebCoreString):
3964         (WebCore::v8StringToAtomicWebCoreString):
3965
3966 2009-11-11  Jens Alfke  <snej@chromium.org>
3967
3968         Reviewed by Dimitri Glazkov.
3969
3970         More V8 de-inlining (outlining?) Abstracted a chunk of boilerplate code from every
3971         event-listener setter into a new subroutine transferHiddenDependency().
3972         https://bugs.webkit.org/show_bug.cgi?id=31377
3973
3974         * bindings/scripts/CodeGeneratorV8.pm:  Replace boilerplate with call to transferHiddenDependency().
3975         * bindings/v8/V8Utilities.cpp:
3976         (WebCore::transferHiddenDependency):  New.
3977         * bindings/v8/V8Utilities.h:  Declaration of transferHiddenDependency.
3978
3979 2009-11-11  Brian Weinstein  <bweinstein@apple.com>
3980
3981         Reviewed by Beth Dakin.
3982
3983         If we are on Windows, don't try and get the kCGColorSpaceSRGB ColorSpace,
3984         because there is a CG bug preventing this from working.
3985
3986         * platform/graphics/cg/GraphicsContextCG.cpp:
3987         (WebCore::sRGBColorSpaceRef):
3988
3989 2009-11-11  Pavel Feldman  <pfeldman@chromium.org>
3990
3991         Reviewed by Timothy Hatcher.
3992
3993         Check that if Storage panel exists before calling its methods
3994
3995         https://bugs.webkit.org/show_bug.cgi?id=31343
3996
3997         * inspector/front-end/inspector.js:
3998         (WebInspector.addDatabase):
3999         (WebInspector.addCookieDomain):
4000         (WebInspector.addDOMStorage):
4001         (WebInspector.updateDOMStorage):
4002
4003 2009-11-11  Jens Alfke  <snej@chromium.org>
4004
4005         Reviewed by Dimitri Glazkov.
4006
4007         De-inline convertNodeToV8Object(), which expands to a lot of asm code and is inlined 136
4008         times in the generated V8 bindings.
4009         https://bugs.webkit.org/show_bug.cgi?id=31368
4010
4011         * bindings/v8/V8DOMWrapper.cpp:
4012         (WebCore::V8DOMWrapper::convertNodeToV8Object):  Moved body here from .h file
4013         * bindings/v8/V8DOMWrapper.h:  Removed inline method body.
4014
4015 2009-11-11  Jessie Berlin  <jberlin@webkit.org>
4016
4017         Reviewed by Timothy Hatcher.
4018
4019         Display the correct summary in the web inspector for the shorthands
4020         border-color, border-width, border-style, margin, and padding.
4021         https://bugs.webkit.org/show_bug.cgi?id=7987
4022
4023         Test: fast/css/shorthands-four-values.html
4024
4025         * css/CSSMutableStyleDeclaration.cpp:
4026         (WebCore::CSSMutableStyleDeclaration::get4Values):
4027         Display the summary information in the same way the shorthand would be
4028         specified in a css rule.
4029
4030 2009-11-11  Jens Alfke  <snej@chromium.org>
4031
4032         Reviewed by Dimitri Glazkov.
4033
4034         Make V8 bindings return NULL handles instead of calling v8::Undefined(). This has equivalent
4035         meaning to the caller, saves code, and appears to save a few cycles at runtime too.
4036         https://bugs.webkit.org/show_bug.cgi?id=31367
4037
4038         * bindings/scripts/CodeGeneratorV8.pm: Change "v8::Undefined()" to "v8::Handle<v8::Value>()"
4039
4040 2009-11-11  Jens Alfke  <snej@chromium.org>
4041
4042         Reviewed by Dimitri Glazkov.
4043
4044         Optimize V8 getDOMNodeMap(), a hot function in Dromaeo DOM tests, by increasing inlining.
4045
4046         * bindings/v8/DOMData.cpp:
4047         (WebCore::DOMData::getCurrent):  Moved getCurrentMainThread to MainThreadDOMData::getCurrent
4048             so it can be inlined by its caller.
4049         * bindings/v8/DOMData.h:
4050         * bindings/v8/MainThreadDOMData.cpp:
4051         (WebCore::MainThreadDOMData::getCurrent):  Moved here from DOMData.cpp.
4052         (WebCore::MainThreadDOMData::getMainThreadStore):  Added UNLIKELY macro to improve codegen.
4053         (WebCore::MainThreadDOMData::getCurrentMainThreadStore):  Combination of getCurrentMainThread
4054             and getStore, which inline both calls together.
4055         * bindings/v8/MainThreadDOMData.h:
4056         (WebCore::MainThreadDOMData::getStore):  Broke out nonvirtual getMainThreadStore for inlineability.
4057         * bindings/v8/V8DOMMap.cpp:
4058         (WebCore::getDOMNodeMap):  Call new getCurrentMainThreadStore, which is faster.
4059
4060 2009-11-11  Nate Chapin  <japhet@chromium.org>
4061
4062         Reviewed by Dimitri Glazkov.
4063
4064         Add methods to KURLGoogle.cpp declared in http://trac.webkit.org/changeset/50784 but not defined when using KURLGoogle.
4065
4066         https://bugs.webkit.org/show_bug.cgi?id=31357
4067
4068         * platform/KURLGoogle.cpp:
4069         (WebCore::isSchemeFirstChar):
4070         (WebCore::isSchemeChar):
4071         (WebCore::KURL::hasPort):
4072         (WebCore::KURL::removePort):
4073         (WebCore::protocolIsValid):
4074
4075 2009-11-11  Brent Fulgham  <bfulgham@webkit.org>
4076
4077         Build fix, no reviewed.
4078
4079         Correct setPlatformFillColor and setPlatformStrokeColor calls
4080         to match new ColorSpace-supporting signatures.
4081
4082         * platform/graphics/win/GraphicsContextCairoWin.cpp:  Add the
4083           color space to the set[...]Color calls.
4084
4085 2009-11-10  Alexey Proskuryakov  <ap@apple.com>
4086
4087         Reviewed by Sam Weinig.
4088
4089         https://bugs.webkit.org/show_bug.cgi?id=31327
4090         Clean up SocketStreamHandleClient interface
4091
4092         No change in behavior.
4093
4094         * platform/network/SocketStreamHandleClient.h: Removed willOpenStream and willSendData.
4095         (WebCore::SocketStreamHandleClient::willOpenStream): Removed. This is currently not used by
4096         the only client (WebSocketChannel), and it's not clear what this callback's semantics
4097         should be.
4098         (WebCore::SocketStreamHandleClient::willSendData): Ditto.
4099         (WebCore::SocketStreamHandleClient::receivedCancellation): Removed, because it was misplaced.
4100         For ResourceHandle, this method is called when the user cancels authentication sheet,
4101         not when something happens with the stream.
4102
4103         * websockets/WebSocketChannel.h: Some WebSocketChannel methods were virtual without any
4104         reason. Also, added didReceiveAuthenticationChallenge/didCancelAuthenticationChallenge.
4105
4106         * websockets/WebSocketChannel.cpp: Adjusted for the above change. Authentication-related
4107         callbacks have no real implementation yet.
4108
4109 2009-11-11  Zoltan Horvath  <zoltan@webkit.org>
4110
4111         Reviewed by Eric Seidel.
4112
4113         Allow custom memory allocation control for the part of page directory in WebCore
4114         https://bugs.webkit.org/show_bug.cgi?id=31350
4115
4116         Inherits the following classes from Noncopyable because these are instantiated
4117         by 'new' and these are no need to be copyable:
4118
4119         class DragController         - instantiated at: WebCore/page/Page.cpp:107
4120         class FocusController        - instantiated at: WebCore/page/Page.cpp:109
4121         class Settings               - instantiated at: WebCore/page/Page.cpp:116
4122         class PluginHalter           - instantiated at: WebCore/page/Page.cpp:160
4123         struct ScheduledEvent        - instantiated at: WebCore/page/FrameView.cpp:1275
4124         class UserScript             - instantiated at: WebCore/page/PageGroup.cpp:208
4125         struct EventHandlerDragState - instantiated at: WebCore/page/EventHandler.cpp:182
4126         class XSSAuditor             - instantiated at: WebCore/bindings/js/ScriptController.cpp:70
4127         class UserStyleSheet         - instantiated at: WebCore/page/PageGroup.cpp:222
4128
4129         Inherits PropertyWrapperBase class from Noncopyable because (its child class) 
4130         PropertyWrapper is instantiated by 'new' in 
4131         WebCore/page/animation/AnimationBase.cpp:564 it is no need to be copyable.
4132
4133         * page/DragController.h:
4134         * page/EventHandler.h:
4135         * page/FocusController.h:
4136         * page/FrameView.cpp:
4137         * page/PluginHalter.h:
4138         * page/Settings.h:
4139         * page/UserScript.h:
4140         * page/UserStyleSheet.h:
4141         * page/XSSAuditor.h:
4142         * page/animation/AnimationBase.cpp:
4143
4144 2009-11-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
4145
4146         Reviewed by Kenneth Rohde Christiansen.
4147
4148         https://bugs.webkit.org/show_bug.cgi?id=31323
4149         Fix a few compiler warnings
4150
4151         No new tests as there is no new functionality.
4152
4153         * editing/htmlediting.cpp:
4154         (WebCore::isRenderedAsNonInlineTableImageOrHR): Use explicit
4155         parentheses to silence gcc 4.4 -Wparentheses warnings
4156
4157 2009-11-11  Kenneth Rohde Christiansen  <kenneth@webkit.org>
4158
4159         Reviewed by Mark Rowe.
4160
4161         Set m_hasPendingGeometryChange to true by default, so that
4162         at least one call to NPP_SetWindow is executed, which is
4163         needed by the DRT plugin testing framework.
4164
4165         * plugins/PluginView.cpp:
4166         (WebCore::PluginView::PluginView):
4167
4168 2009-11-11  Csaba Osztrogonác  <ossy@webkit.org>
4169
4170         Rubber-stamped by Kenneth Rohde Christiansen.
4171
4172         https://bugs.webkit.org/show_bug.cgi?id=31348
4173         [Qt] Remove unnecessary LUT creator from WebCore.pro
4174
4175         * WebCore.pro:
4176
4177 2009-11-11  Simon Hausmann  <simon.hausmann@nokia.com>
4178
4179         Reviewed by Tor Arne Vestbø.
4180
4181         Introduce a function for querying the input method status
4182         in QWebPageClient.
4183
4184         * platform/qt/QWebPageClient.h:
4185
4186 2009-11-11  Benjamin Otte  <otte@gnome.org>
4187
4188         Reviewed by Jan Alonzo.
4189
4190         [GTK] Black artifacts in youtube.com/html5
4191
4192         Paint the video to the given size. It's the job of the callers to keep
4193         track of aspect ratio. RenderVideo.cpp does it for the <video>
4194         element.
4195         https://bugs.webkit.org/show_bug.cgi?id=30925
4196
4197         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
4198         (WebCore::MediaPlayerPrivate::paint):
4199
4200 2009-11-11  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
4201
4202         Reviewed by Reviewed by Jan Alonzo.
4203
4204         https://bugs.webkit.org/show_bug.cgi?id=30901
4205         [Gtk] Need to de-lint the Atk a11y code
4206
4207         Cleaned up some missed capitalization style-guideline violations.
4208
4209         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
4210
4211 2009-11-11  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
4212
4213         Reviewed by Eric Seidel.
4214
4215         [Qt] Make the default style background color valid.
4216         Currently the color is transparent but invalid, this causes
4217         list boxes in QtWebKit to be drawn with a black background
4218         since r49242.
4219         https://bugs.webkit.org/show_bug.cgi?id=31295
4220
4221         * rendering/style/RenderStyle.h:
4222         (WebCore::InheritedFlags::initialBackgroundColor):
4223         * rendering/style/StyleBackgroundData.cpp:
4224         (WebCore::StyleBackgroundData::StyleBackgroundData):
4225
4226 2009-11-10  Gavin Barraclough  <barraclough@apple.com>
4227
4228         Reviewed by Geoff Garen.
4229
4230         Simplify the ownership model for worlds - rather than having a pair of weak references
4231         between DOMWrapperWorld and ScriptController/ScriptCachedFrameData, give the latter an
4232         ref pointer to the former.  This reduces complexity & cost of the caching entries in the
4233         back forward cache.
4234
4235         * WebCore.base.exp:
4236         * bindings/js/JSDOMBinding.cpp:
4237         (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
4238         * bindings/js/JSDOMBinding.h:
4239         (WebCore::DOMWrapperWorld::forgetDocument):
4240         * bindings/js/ScriptCachedFrameData.cpp:
4241         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
4242         (WebCore::ScriptCachedFrameData::restore):
4243         (WebCore::ScriptCachedFrameData::clear):
4244         * bindings/js/ScriptCachedFrameData.h:
4245         * bindings/js/ScriptController.cpp:
4246         (WebCore::ScriptController::~ScriptController):
4247         (WebCore::ScriptController::clearWindowShell):
4248         (WebCore::ScriptController::initScript):
4249         (WebCore::ScriptController::updateDocument):
4250         * bindings/js/ScriptController.h:
4251
4252 2009-11-10  Shinichiro Hamaji  <hamaji@chromium.org>
4253
4254         Reviewed by Darin Adler.
4255
4256         rename counter to makeCounterNode in RenderCounter.cpp
4257         https://bugs.webkit.org/show_bug.cgi?id=31289
4258
4259         No new test because this is just a small refactoring.
4260
4261         * rendering/RenderCounter.cpp:
4262         (WebCore::findPlaceForCounter):
4263         (WebCore::makeCounterNode):
4264         (WebCore::RenderCounter::originalText):
4265
4266 2009-11-10  Daniel Bates  <dbates@webkit.org>
4267
4268         Reviewed by Oliver Hunt.
4269
4270         https://bugs.webkit.org/show_bug.cgi?id=30754
4271
4272         Patch 2 of 2.
4273
4274         Removed method EventHandler::dragSourceMovedTo, since it is no longer
4275         needed. This method fired a drag event whenever the mouse moved, but
4276         section 7.9.4 of the HTML 5 spec. defines the drag-and-drop processing
4277         model independent of when the mouse moves. See "Among other changes..."
4278         in the change log for patch 1 for more details.
4279
4280         * WebCore.DragSupport.exp:
4281         * page/EventHandler.cpp: Removed method EventHandler::dragSourceMovedTo.
4282         (WebCore::EventHandler::handleDrag): Updated comment about reentrancy issue.
4283         * page/EventHandler.h:
4284
4285 2009-11-10  Daniel Bates  <dbates@webkit.org>
4286
4287         Reviewed by Oliver Hunt.
4288
4289         https://bugs.webkit.org/show_bug.cgi?id=30754
4290
4291         Patch 1 of 2.
4292
4293         As per Section 7.9.4 of the HTML 5 spec. <http://dev.w3.org/html5/spec/Overview.html#drag-and-drop-processing-model>,
4294         the drag event should always fire before the dragover event.
4295
4296         In fixing this bug, this patch also makes our drag processing model
4297         conform to the HTML 5 spec.
4298
4299         Among the changes, this patch ensures that the drag event isn't fired outside
4300         of the drag-and-drop processing loop, WebCore::EventHandler::updateDragAndDrop.
4301         Currently, the drag event is fired whenever the mouse button is down and the OS
4302         detects the mouse moved. But, as per the spec, the drag event should
4303         fire approx. every 350ms so long as the mouse button is down.
4304
4305         Test: fast/events/drag-and-drop-fire-drag-dragover.html
4306
4307         * page/EventHandler.cpp:
4308         (WebCore::EventHandler::clear):
4309         (WebCore::EventHandler::canHandleDragAndDropForTarget): Formerly named handleDragAndDropForTarget.
4310         Modified to determine when we are in the correct instance of EventHandler to service the drag
4311         and drop operation.
4312         (WebCore::EventHandler::updateDragAndDrop): Moved code from WebCore::EventHandler::dragSourceMovedTo
4313         into this method.
4314         (WebCore::EventHandler::cancelDragAndDrop):
4315         (WebCore::EventHandler::performDragAndDrop):
4316         (WebCore::EventHandler::clearDragState):
4317         * page/EventHandler.h: Added field m_shouldOnlyFireDragOverEvent to determine whether
4318         we should fire both drag and dragover events or only the dragover event.
4319
4320 2009-11-10  Vitaly Repeshko  <vitalyr@chromium.org>
4321
4322         Reviewed by Dimitri Glazkov.
4323
4324         [V8] Fix crash in V8CustomXPathNSResolver (http://crbug.com/26726).
4325         https://bugs.webkit.org/show_bug.cgi?id=31301
4326
4327         Tested by new fast/xpath/xpath-detached-iframe-resolver-crash.html.
4328
4329         Allowed passing V8Proxy for the calling JS context:
4330         * bindings/v8/V8DOMWrapper.h:
4331         (WebCore::V8DOMWrapper::getXPathNSResolver):
4332         * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
4333         (WebCore::V8CustomXPathNSResolver::create):
4334         (WebCore::V8CustomXPathNSResolver::V8CustomXPathNSResolver):
4335         (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
4336         * bindings/v8/custom/V8CustomXPathNSResolver.h:
4337         * bindings/v8/custom/V8DocumentCustom.cpp:
4338         (WebCore::CALLBACK_FUNC_DECL):
4339
4340 2009-11-10  Yael Aharon  <yael.aharon@nokia.com>
4341
4342         Reviewed by Timothy Hatcher.
4343
4344         Implement URL decomposition IDL attributes for HTMLAnchorElement.
4345         https://bugs.webkit.org/show_bug.cgi?id=29972.
4346
4347         Add methods for setting different parts of the URL in href attribute.
4348
4349         Tests: fast/dom/HTMLAnchorElement/set-href-attribute-hash.html
4350                fast/dom/HTMLAnchorElement/set-href-attribute-host.html
4351                fast/dom/HTMLAnchorElement/set-href-attribute-hostname.html
4352                fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
4353                fast/dom/HTMLAnchorElement/set-href-attribute-port.html
4354                fast/dom/HTMLAnchorElement/set-href-attribute-protocol.html
4355                fast/dom/HTMLAnchorElement/set-href-attribute-search.html
4356
4357         * bindings/js/JSLocationCustom.cpp:
4358         (WebCore::JSLocation::setPort):
4359         * html/HTMLAnchorElement.cpp:
4360         (WebCore::parsePortFromStringPosition):
4361         (WebCore::HTMLAnchorElement::setHash):
4362         (WebCore::HTMLAnchorElement::setHost):
4363         (WebCore::HTMLAnchorElement::setHostname):
4364         (WebCore::HTMLAnchorElement::setPathname):
4365         (WebCore::HTMLAnchorElement::setPort):
4366         (WebCore::HTMLAnchorElement::setProtocol):
4367         (WebCore::HTMLAnchorElement::setSearch):
4368         * html/HTMLAnchorElement.h:
4369         * html/HTMLAnchorElement.idl:
4370         * loader/FrameLoader.cpp:
4371         (WebCore::FrameLoader::iconURL):
4372         * platform/KURL.cpp:
4373         (WebCore::KURL::removePort):
4374         (WebCore::KURL::setPort):
4375         (WebCore::KURL::prettyURL):
4376         (WebCore::protocolIsValid):
4377         *