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