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