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