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