2009-06-04 Pierre d'Herbemont <pdherbemont@apple.com>
[WebKit-https.git] / WebCore / ChangeLog
1 2009-06-04  Pierre d'Herbemont  <pdherbemont@apple.com>
2
3         Reviewed by Darin Adler.
4
5         Test: media/before-load-member-access.html
6         
7         https://bugs.webkit.org/show_bug.cgi?id=26081
8
9         * html/HTMLMediaElement.cpp:
10         (WebCore::HTMLMediaElement::played): Ensure that if m_playedTimeRanges,
11         is not initialized we return a valid range, and don't attempt to use it.
12
13 2009-06-03  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
14
15         Reviewed by Simon Hausmann.
16
17         Implement a way to invalidate the FontCache used by the Qt port.
18
19         * platform/graphics/qt/FontCacheQt.cpp:
20         (WebCore::FontCache::invalidate):
21
22 2009-06-04  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
23
24         Reviewed by Ariya Hidayat.
25
26         https://bugs.webkit.org/show_bug.cgi?id=26015
27
28         [Qt] Single-threaded QtWebKit configuration
29
30         Turn off Database, DOM storage, icon database and Web Workers support
31         when ENABLE_SINGLE_THREADED is turned on.
32
33         Set SQLITE_THREADSAFE to false to turn off SQLite mutexes
34         when ENABLE_SINGLE_THREADED is turned on.
35
36         * WebCore.pro:
37
38 2009-06-03  Dan Bernstein  <mitz@apple.com>
39
40         Reviewed by Sam Weinig.
41
42         - add some assertions that Font methods are used on the main thread
43
44         * platform/graphics/Font.cpp:
45         (WebCore::Font::setShouldUseSmoothing):
46         * platform/graphics/Font.h:
47         (WebCore::Font::primaryFont):
48         * platform/graphics/FontFastPath.cpp:
49         (WebCore::Font::glyphDataForCharacter):
50
51 2009-06-03  Dan Bernstein  <mitz@apple.com>
52
53         - Windows build fix
54
55         Rolled out apparently-accidental changes to config.h from r44398. These
56         were not part of the patch as reviewed.
57
58         * config.h:
59
60 2009-06-03  Dmitry Titov  <dimich@chromium.org>
61
62         Not reviewed, Chromium build fix.
63
64         https://bugs.webkit.org/show_bug.cgi?id=26177
65         Reverting 'private' to 'protected' on 2 classes.
66         Chromium glue layer (not yet in Webkit tree) relies on ability to derive
67         Chromium-specific platform classes and access the data members.
68         See bug for more details.
69
70         * platform/PlatformMouseEvent.h:
71         * platform/PlatformWheelEvent.h:
72
73 2009-06-03  Chris Marrin  <cmarrin@apple.com>
74
75         Reviewed by Simon Fraser <simonfr@apple.com>.
76
77         Fixed https://bugs.webkit.org/show_bug.cgi?id=26162
78
79         This corrects an error when destroying an animation
80         or transition where endAnimation was never getting
81         called and therefore the hardware animation was never
82         getting removed.
83
84         This includes a manual-test since it's really impossible
85         to make a meaningful automatic test for an animation
86         bug like this.
87
88         This has no effect unless accelerated compositing is 
89         enabled.
90
91         * manual-tests/interrupted-compound-transform.html: Added.
92         * page/animation/ImplicitAnimation.cpp:
93         (WebCore::ImplicitAnimation::~ImplicitAnimation):
94         * page/animation/KeyframeAnimation.cpp:
95         (WebCore::KeyframeAnimation::~KeyframeAnimation):
96
97 2009-06-03  Adam Langley  <agl@google.com>
98
99         Reviewed by Eric Seidel.
100
101         Make the scrollbar thumb size twice the width for Chromium Linux. This
102         matches Firefox on Linux.
103
104         This will need layout test pixel results to be rebaselined in the
105         Chromium tree.
106
107         http://code.google.com/p/chromium/issues/detail?id=12602
108         https://bugs.webkit.org/show_bug.cgi?id=26176
109
110         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
111         (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
112         * platform/chromium/ScrollbarThemeChromiumLinux.h:
113
114 2009-06-03  Adam Langley  <agl@google.com>
115
116         Reviewed by Eric Seidel.
117
118         Change Chromium scrollbar theme code to use different classes on
119         Windows and Linux rather than suppling symbols. The ScrollbarTheme
120         class is already using virtual dispatch, so there's no reason not to.
121
122         This should not affect any layout tests.
123
124         https://bugs.webkit.org/show_bug.cgi?id=26174
125
126         * platform/chromium/ScrollbarThemeChromium.cpp:
127         * platform/chromium/ScrollbarThemeChromium.h:
128         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
129         (WebCore::ScrollbarTheme::nativeTheme):
130         (WebCore::ScrollbarThemeChromiumLinux::scrollbarThickness):
131         (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
132         (WebCore::ScrollbarThemeChromiumLinux::paintButton):
133         (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
134         (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
135         * platform/chromium/ScrollbarThemeChromiumLinux.h: Added.
136         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
137         (WebCore::ScrollbarTheme::nativeTheme):
138         (WebCore::ScrollbarThemeChromiumWin::scrollbarThickness):
139         (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
140         (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
141         (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
142         (WebCore::ScrollbarThemeChromiumWin::paintButton):
143         (WebCore::ScrollbarThemeChromiumWin::paintThumb):
144         (WebCore::ScrollbarThemeChromiumWin::getThemeState):
145         (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
146         (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState):
147         (WebCore::ScrollbarThemeChromiumWin::buttonSize):
148         * platform/chromium/ScrollbarThemeChromiumWin.h: Added.
149
150 2009-06-03  Pavel Feldman  <pfeldman@chromium.org>
151
152         Reviewed by Timothy Hatcher.
153
154         Enabling debugger requires that Scripts panel is already attached to the
155         render tree. The reason is that recompile events result in script sources
156         being added into the source frames. Prior to the global options introduced,
157         debugger was enabled from the Scripts panel, so that it was guaranteed to
158         exist. The InspectorController::enableDebugger API calls with no inspector
159         frontend showing were failing though.
160
161         https://bugs.webkit.org/show_bug.cgi?id=26145
162
163         * WebCore.base.exp:
164         * inspector/InspectorController.cpp:
165         (WebCore::InspectorController::setWindowVisible):
166         (WebCore::InspectorController::scriptObjectReady):
167         (WebCore::InspectorController::enableDebuggerFromFrontend):
168         (WebCore::InspectorController::enableDebugger):
169         * inspector/InspectorController.h:
170         * inspector/InspectorController.idl:
171         * inspector/InspectorFrontend.cpp:
172         (WebCore::InspectorFrontend::attachDebuggerWhenShown):
173         * inspector/InspectorFrontend.h:
174         * inspector/front-end/ScriptsPanel.js:
175         (WebInspector.ScriptsPanel.prototype.show):
176         (WebInspector.ScriptsPanel.prototype.attachDebuggerWhenShown):
177         * inspector/front-end/inspector.js:
178         (WebInspector.attachDebuggerWhenShown):
179
180 2009-06-03  Dan Bernstein  <mitz@apple.com>
181
182         Reviewed by Anders Carlsson.
183
184         - fix a regression from the previous patch
185
186         * platform/graphics/Font.cpp: Initialize shouldUseFontSmoothing to true.
187
188 2009-06-03  Dan Bernstein  <mitz@apple.com>
189
190         Reviewed by Anders Carlsson.
191
192         - eliminate WebCoreTextRenderer
193
194         * WebCore.base.exp: Updated.
195         * WebCore.xcodeproj/project.pbxproj: Removed WebCoreTextRenderer.{h,mm}
196             and promoted WebFontCache.h to private.
197         * platform/graphics/Font.cpp:
198         (WebCore::Font::setShouldUseSmoothing): Added this static setter for
199             a new file-static boolean.
200         (WebCore::Font::shouldUseSmoothing): Added this static getter.
201         * platform/graphics/Font.h: Decleared setShouldUseSmoothing() and
202             shouldUseSmoothing().
203         * platform/graphics/mac/FontMac.mm:
204         (WebCore::Font::drawGlyphs): Use Font::shouldUseSmoothing() instead of
205         WebCoreShouldUseFontSmoothing().
206         * platform/graphics/mac/WebLayer.mm: Removed unneeded #import.
207         * platform/mac/WebCoreTextRenderer.h: Removed.
208         * platform/mac/WebCoreTextRenderer.mm: Removed.
209
210 2009-06-03  David Levin  <levin@chromium.org>
211
212         Reviewed by Dimitri Glazkov.
213
214         v8's ScriptController::evaluate should protect the Frame like the jsc version.
215         https://bugs.webkit.org/show_bug.cgi?id=26172
216
217         This change is simply copying protections done for Frame in the method
218         WebCore::ScriptController::evaluate in the file js/ScriptController.cpp.
219
220         * bindings/v8/ScriptController.cpp:
221         (WebCore::ScriptController::evaluate):
222
223 2009-06-03  Dan Bernstein  <mitz@apple.com>
224
225         Reviewed by John Sullivan.
226
227         - fix <rdar://problem/6841120> Use CTFontManager notifications instead
228           of ATS notifications
229
230         * platform/graphics/FontCache.h: Made it an error to destroy a
231         FontCache instance.
232         * platform/graphics/mac/FontCacheMac.mm:
233         (WebCore::fontCacheRegisteredFontsChangedNotificationCallback): Added
234         this notification callback for the
235         kCTFontManagerRegisteredFontsChangedNotification, which calls
236         invalidate().
237         (WebCore::FontCache::platformInit): Register for
238         kCTFontManagerRegisteredFontsChangedNotification.
239
240 2009-06-03  Kevin Watters  <kevinwatters@gmail.com>
241
242         Reviewed by Kevin Ollivier.
243
244         Use CGContextShowGlyphsWithAdvances to get more accurate text rendering on Mac.
245         
246         https://bugs.webkit.org/show_bug.cgi?id=26161
247
248         * platform/wx/wxcode/mac/carbon/non-kerned-drawing.cpp:
249         (WebCore::drawTextWithSpacing):
250
251 2009-06-03  Pavel Feldman  <pfeldman@chromium.org>
252
253         Reviewed by Timothy Hatcher.
254
255         Reorder ResourcesPanel components initialization to unfreeze resource list scroller.
256
257         https://bugs.webkit.org/show_bug.cgi?id=26159
258
259         * inspector/front-end/ResourcesPanel.js:
260         (WebInspector.ResourcesPanel):
261
262 2009-06-03  Pavel Feldman  <pfeldman@chromium.org>
263
264         Reviewed by Timothy Hatcher.
265
266         - Fix for crash (preceded by assertion) in InspectorController::didCommitLoad
267           when reloading or navigating with the Inspector open.
268         - Fix for Inspector's Elements panel being empty when Inspector first appears.
269
270         https://bugs.webkit.org/show_bug.cgi?id=26134
271         https://bugs.webkit.org/show_bug.cgi?id=26135
272
273         * inspector/InspectorController.cpp:
274         (WebCore::InspectorController::scriptObjectReady):
275         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
276         (WebCore::InspectorController::identifierForInitialRequest):
277         (WebCore::InspectorController::ensureResourceTrackingSettingsLoaded):
278         * inspector/InspectorController.h:
279
280 2009-06-03  Adam Roben  <aroben@apple.com>
281
282         Windows build fix after r44379
283
284         * svg/graphics/SVGImage.cpp: Move EmptyClients.h back down below the
285         other #includes to fix a compiler warning on Windows.
286
287 2009-06-02  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
288
289         Reviewed by Simon Hausmann.
290
291         Add workaround for crash in Linux Flash Player when hosted by
292         another toolkit than GTK+. Bug fixed at the Flash Player bugzilla,
293         issue (FP-2140).
294
295         * plugins/qt/PluginViewQt.cpp:
296         (WebCore::PluginView::setNPWindowIfNeeded):
297
298 2009-06-01  Kenneth Rohde Christiansen  <kenneth.christiansen@openbossa.org>
299
300         Reviewed by Simon Hausmann.
301
302         Refactor the Qt plugin code to use NPP_SetWindow correctly,
303         to make resizing of plugins work.
304
305         Attention was paid to make sure that the windowed plugins scroll
306         synchronized with the page view. A manual test has been added.
307
308         * manual-tests/qt/plugin-iframe.html: Added.
309         * plugins/PluginView.cpp:
310         (WebCore::PluginView::setFrameRect):
311         (WebCore::PluginView::frameRectsChanged):
312         * plugins/PluginView.h:
313         * plugins/qt/PluginContainerQt.cpp:
314         (PluginContainerQt::PluginContainerQt):
315         * plugins/qt/PluginContainerQt.h:
316         * plugins/qt/PluginPackageQt.cpp:
317         (WebCore::PluginPackage::load):
318         * plugins/qt/PluginViewQt.cpp:
319         (WebCore::PluginView::updatePluginWidget):
320         (WebCore::PluginView::paint):
321         (WebCore::PluginView::setParent):
322         (WebCore::PluginView::setNPWindowRect):
323         (WebCore::PluginView::setNPWindowIfNeeded):
324         (WebCore::PluginView::handlePostReadFile):
325         (WebCore::PluginView::getValue):
326         (WebCore::PluginView::invalidateRect):
327         (WebCore::PluginView::init):
328
329 2009-06-02  Darin Adler  <darin@apple.com>
330
331         Reviewed by David Hyatt.
332
333         Bug 26112: viewless WebKit -- make events work
334         https://bugs.webkit.org/show_bug.cgi?id=26112
335
336         The main fix here is to make mouse and wheel event coordinates in the coordinate
337         system of the top level NSView rather than the NSWindow when in the viewless mode.
338         This is the design Hyatt chose, but the event part of it wasn't done yet.
339
340         Also fix FrameView to do normal reference counting instead of a strange model with
341         an explicit deref near creation time.
342
343         * WebCore.base.exp: Updated.
344
345         * page/EventHandler.cpp:
346         (WebCore::EventHandler::eventLoopHandleMouseUp): Moved this function into the file
347         to reduce conditionals in the header.
348         (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.
349
350         * page/EventHandler.h: Reduced includes. Fixed formatting of Objective-C types.
351         Made currentNSEvent a static member function. Added sendContextMenuEvent and
352         eventMayStartDrag functions that takes NSEvent * so the conversion to PlatformMouseEvent
353         can be done here rather than in WebKit. Reduced #if by making eventLoopHandleMouseUp and
354         eventLoopHandleMouseDragged unconditional.
355
356         * page/Frame.cpp:
357         (WebCore::Frame::setView): Made this take a PassRefPtr since it takes ownership.
358         (WebCore::Frame::createView): Changed to use RefPtr and FrameView::create and remove
359         the explicit deref.
360
361         * page/Frame.h: Changed setView to take a PassRefPtr.
362
363         * page/FrameTree.cpp: Added newly-needed include.
364
365         * page/FrameView.cpp:
366         (WebCore::FrameView::FrameView): Got rid of one of the two constructors, and removed
367         the initialization of m_refCount and call to show from the reamining one.
368         (WebCore::FrameView::create): Added two create functions that do what the two
369         constructors did before, except that they return a PassRefPtr to make sure the
370         reference counting is handled correctly.
371         (WebCore::FrameView::~FrameView): Removed assertion from when FrameView implemented
372         its own reference counting.
373
374         * page/FrameView.h: Inherit from RefCounted for reference counting. Made the
375         constructor private and added create functions. Got rid of the hand-implemented
376         reference counting in this class.
377
378         * page/mac/EventHandlerMac.mm:
379         (WebCore::currentNSEventSlot): Renamed currentEvent to currentNSEventSlot to
380         make it more clear how it relates to currentNSEvent.
381         (WebCore::EventHandler::currentNSEvent): Updated.
382         (WebCore::CurrentEventScope::CurrentEventScope): Added. Use to set/reset the
383         current event in a foolproof way.
384         (WebCore::CurrentEventScope::~CurrentEventScope): Ditto.
385         (WebCore::EventHandler::wheelEvent): Use CurrentEventScope. Pass the platform
386         window in when constructing the PlatformWheelEvent.
387         (WebCore::EventHandler::keyEvent): Use CurrentEventScope.
388         (WebCore::lastEventIsMouseUp): Use currentNSEvent.
389         (WebCore::EventHandler::passMouseDownEventToWidget): Ditto.
390         (WebCore::EventHandler::eventLoopHandleMouseDragged): Ditto.
391         (WebCore::EventHandler::eventLoopHandleMouseUp): Ditto.
392         (WebCore::EventHandler::passSubframeEventToSubframe): Use
393         currentPlatformMouseEvent to get a mouse event that has the appropriate
394         platform window passed to create it.
395         (WebCore::EventHandler::passWheelEventToWidget): Ditto.
396         (WebCore::EventHandler::mouseDown): Ditto.
397         (WebCore::EventHandler::mouseDragged): Ditto.
398         (WebCore::EventHandler::mouseUp): Ditto.
399         (WebCore::EventHandler::mouseMoved): Ditto.
400         (WebCore::EventHandler::currentPlatformMouseEvent): Added. Passes the
401         platform window that's now needed to create a PlatformMouseEvent.
402         (WebCore::EventHandler::sendContextMenuEvent): Added.
403         (WebCore::EventHandler::eventMayStartDrag): Added.
404
405         * platform/HostWindow.h: Removed unneeded includes and constructor definition.
406
407         * platform/PlatformMouseEvent.h: Sorted things in alphabetical order.
408         Changed Mac constructor to take a windowView as well as the event. This is
409         needed in viewless mode, since the "window" is actually an NSView, so the
410         event has to know which view to compute the coordinates with. Made the
411         same change to pointForEvent.
412         * platform/PlatformWheelEvent.h: Ditto.
413
414         * platform/mac/PlatformMouseEventMac.mm:
415         (WebCore::pointForEvent): Convert point from window coordinates to view
416         coordinates if a windowView is passed in. This is used in viewless mode.
417         (WebCore::PlatformMouseEvent::PlatformMouseEvent): Ditto.
418         * platform/mac/WheelEventMac.mm:
419         (WebCore::PlatformWheelEvent::PlatformWheelEvent): Ditto.
420
421         * platform/mac/WidgetMac.mm:
422         (WebCore::Widget::convertFromContainingWindow): Fixed case where there
423         is no platform widget and no parent. Before it would yield unpredictable
424         results because of dispatching to a nil object and returning a structure.
425         Now it returns the point without changing coordinates at all, which is what
426         we need for this case in viewless mode.
427
428         * rendering/RenderApplet.cpp: Removed unneeded includes.
429         (WebCore::RenderApplet::intrinsicSize): Use widget function.
430         (WebCore::RenderApplet::createWidgetIfNecessary): Ditto.
431
432         * rendering/RenderApplet.h: Make more things private. Get rid of unneeded
433         explicit destructor.
434
435         * rendering/RenderFrame.cpp: Removed unneeded includes.
436         (WebCore::RenderFrame::edgeInfo): Updated to use node function so header
437         doesn't have to define element function.
438         (WebCore::RenderFrame::viewCleared): Ditto. Also changed to use widget
439         function.
440
441         * rendering/RenderFrame.h: Removed unneeded includes. Made some things
442         private. Got rid of element function.
443
444         * rendering/RenderPart.cpp: Removed unneeded includes.
445         (WebCore::RenderPart::~RenderPart): Changed to use clearWidget function.
446         (WebCore::RenderPart::setWidget): Changed to use widget function.
447         (WebCore::RenderPart::deleteWidget): Changed to use passed-in widget.
448         This is now only called by the clearWidget function.
449
450         * rendering/RenderPart.h: Removed unneeded forward declarations.
451         Made more functions private. Updated deleteWidget to take widget argument.
452
453         * rendering/RenderPartObject.cpp:
454         (WebCore::RenderPartObject::~RenderPartObject): use frameView function
455         instead of getting at m_view directly.
456         (WebCore::RenderPartObject::updateWidget): Ditto.
457         (WebCore::RenderPartObject::layout): Ditto. Same for widget and m_widget.
458         (WebCore::RenderPartObject::viewCleared): Ditto.
459
460         * rendering/RenderPartObject.h: Made some functions private.
461
462         * rendering/RenderWidget.cpp:
463         (WebCore::RenderWidget::RenderWidget): Initialize m_frameView with
464         construction syntax instead of assignment.
465         (WebCore::RenderWidget::destroy): Updated for name change of m_view
466         to m_frameView.
467         (WebCore::RenderWidget::~RenderWidget): Use clearWidget to delete
468         the widget.
469         (WebCore::RenderWidget::setWidget): Use clearWidget.
470         (WebCore::RenderWidget::paint): Updated for name change of m_view
471         to m_frameView.
472         (WebCore::RenderWidget::deleteWidget): Changed to use passed-in widget.
473
474         * rendering/RenderWidget.h: Made many functions protected, others
475         private and made all data members private.
476
477         * svg/animation/SMILTime.h: Removed unhelpful max and min functions. These
478         just do what std::max and std::min will already do automatically for this
479         type, so they are not helpful.
480
481         * svg/graphics/SVGImage.cpp:
482         (WebCore::SVGImage::SVGImage): Removed unneeded initial values for types
483         that initialize to zero without anything explicit.
484         (WebCore::SVGImage::~SVGImage): Update since m_frame and m_frameView are
485         no longer stored.
486         (WebCore::SVGImage::setContainerSize): Ditto.
487         (WebCore::SVGImage::usesContainerSize): Ditto.
488         (WebCore::SVGImage::size): Ditto.
489         (WebCore::SVGImage::hasRelativeWidth): Ditto.
490         (WebCore::SVGImage::hasRelativeHeight): Ditto.
491         (WebCore::SVGImage::draw): Ditto.
492         (WebCore::SVGImage::nativeImageForCurrentFrame): Ditto.
493         (WebCore::SVGImage::dataChanged): Ditto.
494
495         * svg/graphics/SVGImage.h: Removed unneeded includes and unneeded data
496         members m_document, m_frame, m_frameView, and m_minSize.
497
498 2009-06-02  Adam Langley  <agl@google.com>
499
500         Reviewed by Eric Seidel.
501
502         The previous code was assuming that we'll be painting buttons on the scrollbar
503         which isn't true on Linux. To reproduce, resize a page with scrollbars until
504         they are less than two widths high.
505
506         This will need pixel test baselines to be updated in the Chromium tree.
507
508         * platform/chromium/ScrollbarThemeChromium.cpp: move this function...
509         * platform/chromium/ScrollbarThemeChromiumWin.cpp:
510         (WebCore::ScrollbarThemeChromium::trackRect): ... to here
511         * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
512         (WebCore::ScrollbarThemeChromium::trackRect): add an alternative which
513         doesn't remove the track when the scrollbar is less than two widths
514         high.
515
516 2009-06-02  Mark Rowe  <mrowe@apple.com>
517
518         Reviewed by Anders Carlsson.
519
520         Remove workaround that was added to address <rdar://problem/5488678> as it no longer affects our Tiger builds.
521
522         * Configurations/Base.xcconfig:
523
524 2009-06-02  Eric Seidel  <eric@webkit.org>
525
526         Reviewed by Maciej Stachowiak.
527
528         Insert*List on an stand-alone image in a content editable region ASSERTS
529         ASSERTION FAILED: isStartOfParagraph(startOfParagraphToMove)
530         https://bugs.webkit.org/show_bug.cgi?id=19066
531
532         Attempt to fix this by noticing that we inserted the list inside
533         the selection which includes the image, and re-adjust the selection
534         to not include the list before trying to move the image into
535         the list item.
536         
537         Test: editing/execCommand/list-wrapping-image-crash.html
538
539         * editing/InsertListCommand.cpp:
540         (WebCore::InsertListCommand::doApply):
541
542 2009-06-02  Eric Seidel  <eric@webkit.org>
543
544         Reviewed by Darin Adler.
545
546         Rename PositionIterator members in hope of further clarity
547         https://bugs.webkit.org/show_bug.cgi?id=24854
548
549         Rename m_parent to m_anchorNode (since although it's always the parent
550         of the previous m_child member, it is not always the parent of the effective position)
551         Rename m_child to m_nodeAfterPositionInAnchor to make clear that it's the node
552         directly following the position.  This member is often NULL, but is always
553         a child of m_parent, now m_anchorNode if set.
554         Rename m_offset to m_offsetInAnchor (since it's interpreted relative to m_anchorNode)
555
556         * dom/PositionIterator.cpp:
557         (WebCore::PositionIterator::operator Position):
558         (WebCore::PositionIterator::increment):
559         (WebCore::PositionIterator::decrement):
560         (WebCore::PositionIterator::atStart):
561         (WebCore::PositionIterator::atEnd):
562         (WebCore::PositionIterator::atStartOfNode):
563         (WebCore::PositionIterator::atEndOfNode):
564         (WebCore::PositionIterator::isCandidate):
565         * dom/PositionIterator.h:
566         (WebCore::PositionIterator::PositionIterator):
567         (WebCore::PositionIterator::node):
568         (WebCore::PositionIterator::offsetInLeafNode):
569
570 2009-06-02  Julien Chaffraix  <jchaffraix@webkit.org>
571
572         Reviewed by Eric Seidel.
573
574         Bug 17167: Failures in fast/dom/Node/initial-values.html
575
576         This partly solve a compatibility issue with other browsers. It will also
577         make us more consistent while handling XHTML element.
578
579         The issue is that when we create an XHTML element inside an HTML document
580         (as it is the case when calling createElementNS), we default to the HTML
581         behaviour in nodeName. As we cannot test if an HTMLElement is an XHTML
582         element, our fix is to check whether it has a prefix and then default
583         to XML behaviour for nodeName.
584
585         * html/HTMLElement.cpp:
586         (WebCore::HTMLElement::nodeName): Add a prefix check before
587         returning the uppercase tagName (HTML behaviour).
588
589 2009-06-02  Eric Seidel  <eric@webkit.org>
590
591         Reviewed by Maciej Stachowiak.
592
593         Add a compareBoundaryPoints which takes RangeBoundaryPoints
594         https://bugs.webkit.org/show_bug.cgi?id=25500
595
596         I noticed the need for this function when removing compareBoundaryPoints(Position, Position)
597         This patch is almost entirely minus lines.
598
599         No functional changes, thus no tests.
600
601         * dom/Range.cpp:
602         (WebCore::Range::setStart):
603         (WebCore::Range::setEnd):
604         (WebCore::Range::compareBoundaryPoints):
605         (WebCore::Range::boundaryPointsValid):
606         * dom/Range.h:
607
608 2009-06-02  Eric Seidel  <eric@webkit.org>
609
610         Reviewed by Maciej Stachowiak.
611
612         Remove Range::compareBoundaryPoints(Position, Position) per Darin's suggestion in bug 25056
613         https://bugs.webkit.org/show_bug.cgi?id=25500
614
615         Darin indicated the Range should deal only with primitive DOM node/offset
616         pairs, and that Position (which is a more robust editing construct) should have
617         its own comparison functions and that Range.h should not mention Position at all.
618
619         Turns out that Position already has a comparePositions() function (which knows
620         how to additionally handled positions in shadow trees).  So I've just changed
621         all callers of compareBoundaryPoints(Position, Position) to use the existing
622         comparePositions() function.  I've also added a comparePositions which takes
623         VisiblePositions for convenience.
624
625         * dom/Range.cpp:
626         * dom/Range.h:
627         * editing/ApplyStyleCommand.cpp:
628         (WebCore::ApplyStyleCommand::updateStartEnd):
629         (WebCore::ApplyStyleCommand::applyBlockStyle):
630         (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
631         (WebCore::ApplyStyleCommand::applyInlineStyle):
632         (WebCore::ApplyStyleCommand::applyInlineStyleToRange):
633         (WebCore::ApplyStyleCommand::removeInlineStyle):
634         (WebCore::ApplyStyleCommand::nodeFullySelected):
635         (WebCore::ApplyStyleCommand::nodeFullyUnselected):
636         * editing/CompositeEditCommand.cpp:
637         (WebCore::CompositeEditCommand::deleteInsignificantText):
638         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
639         (WebCore::CompositeEditCommand::moveParagraphs):
640         * editing/DeleteSelectionCommand.cpp:
641         (WebCore::DeleteSelectionCommand::initializeStartEnd):
642         (WebCore::DeleteSelectionCommand::handleGeneralDelete):
643         (WebCore::DeleteSelectionCommand::mergeParagraphs):
644         * editing/SelectionController.cpp:
645         (WebCore::SelectionController::nodeWillBeRemoved):
646         * editing/VisibleSelection.cpp:
647         (WebCore::VisibleSelection::toNormalizedRange):
648         * editing/htmlediting.cpp:
649         (WebCore::comparePositions):
650         * editing/htmlediting.h:
651         * page/EventHandler.cpp:
652         (WebCore::EventHandler::handleMousePressEventSingleClick):
653
654 2009-06-02  Albert J. Wong  <ajwong@chromium.org>
655
656         Reviewed by Dimitri Glazkov.
657
658         https://bugs.webkit.org/show_bug.cgi?id=26122
659         Upstream v8_utility.h functions into V8Utilities.h.  This patch has
660         some transitional code to make upstreaming easier.  This code will
661         be deleted in a few days.
662
663         * bindings/v8/ScriptFunctionCall.cpp:
664         (WebCore::ScriptFunctionCall::construct): NewInstance -> newInstance.
665         * bindings/v8/V8Utilities.h:
666         (WebCore::AllowAllocation::AllowAllocation): Function added.
667         (WebCore::AllowAllocation::~AllowAllocation): Function added.
668         (WebCore::SafeAllocation::NewInstance): Function added.
669         * bindings/v8/WorkerContextExecutionProxy.cpp:
670         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
671         NewInstance -> newInstance.
672         (WebCore::WorkerContextExecutionProxy::toV8): NewInstance ->
673         newInstance.
674
675 2009-06-02  Dan Bernstein  <mitz@apple.com>
676
677         Reviewed by John Sullivan.
678
679         - fix <rdar://problem/6940747> Search field’s focus ring is outset
680
681         * rendering/RenderThemeWin.cpp:
682         (WebCore::RenderThemeWin::adjustSearchFieldStyle): Set the focused
683         search field outline offset to -2.
684
685 2009-06-02  Sam Weinig  <sam@webkit.org>
686
687         Reviewed by Alexey Proskuryakov.
688
689         Add list of unimplemented event handlers to DOMWindow.
690
691         * page/DOMWindow.idl:
692
693 2009-06-02  Alexey Proskuryakov  <ap@webkit.org>
694
695         Reviewed by Sam Weinig.
696
697         https://bugs.webkit.org/show_bug.cgi?id=26133
698         Adapt and import py-dom-xpath tests
699
700         Tests: fast/xpath/py-dom-xpath/abbreviations.html
701                fast/xpath/py-dom-xpath/axes.html
702                fast/xpath/py-dom-xpath/data.html
703                fast/xpath/py-dom-xpath/expressions.html
704                fast/xpath/py-dom-xpath/functions.html
705                fast/xpath/py-dom-xpath/nodetests.html
706                fast/xpath/py-dom-xpath/paths.html
707                fast/xpath/py-dom-xpath/predicates.html
708
709         Fix bugs found with this test suite:
710         - name and local-name were incorrect for processing instructions (XPath expanded-name
711         doesn't match DOM exactly);
712         - name, local-name and namespace functions should crash on attribute nodes;
713         - attemps to make node sets from other types were not detected as errors.
714
715         No performance impact.
716
717         * xml/XPathExpressionNode.h: Track type conversion errors that happen during evaluation.
718         An error won't stop evaluation, but an exception will be raised afterwards. We could also
719         detect conversion errors at compile time, but not if we're going to support XPath variables
720         (which is unnecessary for XPathEvaluator, but will be necessary if we decide to make our own
721         XSLT one day).
722
723         * xml/XPathExpression.cpp: (WebCore::XPathExpression::evaluate): Check whether a type
724         conversion exception occurred during evaluation, and raise an excpetion if it did.
725
726         * xml/XPathFunctions.cpp:
727         (WebCore::XPath::expandedNameLocalPart):
728         (WebCore::XPath::expandedName):
729         XPath name(), local-name() and namespace-uri() functions are defined in terms of expanded-name,
730         which doesn't match anything available via DOM exactly. Calculate the expanded name properly.
731         (WebCore::XPath::FunNamespaceURI::evaluate): This function could crash if used with an
732         attribute node, because it released what was possibly the only reference to attribute node
733         before using it. Changed the function to avoid such situation.
734         (WebCore::XPath::FunLocalName::evaluate): Ditto. Also, used the new expandedNameLocalPart()
735         to work properly with processing instruction nodes.
736         (WebCore::XPath::FunName::evaluate): Ditto (using expandedName()).
737         (WebCore::XPath::FunCount::evaluate): Signal an error if the argument is not a node-set
738         (by using toNodeSet unconditionally, which will raise an error, and return an empty set).
739
740         * xml/XPathPath.cpp: (WebCore::XPath::Filter::evaluate): Signal an error if the expression
741         evaluation result is not a node-set.
742
743         * xml/XPathPath.h: (WebCore::XPath::Filter::resultType): A Filter's result is actually
744         always a node-set (this is not so for FilterExpr production in the spec, but is for us,
745         because we don't naively map BNF productions to classes).
746
747         * xml/XPathPredicate.cpp: (WebCore::XPath::Union::evaluate): Signal an error if either side
748         is not a node-set.
749
750         * xml/XPathStep.cpp: Removed an unnecesary include.
751
752         * xml/XPathValue.cpp:
753         (WebCore::XPath::Value::toNodeSet): Signal an error if conversion fails.
754         (WebCore::XPath::Value::modifiableNodeSet): Ditto.
755         (WebCore::XPath::Value::toNumber): Don't allow inputs that don't match XPath Number production
756         (in particular, those using exponential notation).
757
758 2009-06-01  Sam Weinig  <sam@webkit.org>
759
760         Reviewed by Brady Eidson.
761
762         Part of https://bugs.webkit.org/show_bug.cgi?id=26100
763         Add missing event handler properties to the DOMWindow
764
765         Added oncontextmenu, oninput, and onmessage event handlers to
766         the DOMWindow. Aditionally, the onloadstart, onprogress, onstalled,
767         and onsuspend event handlers were implemented but not added to
768         DOMWindow.idl.
769
770         * page/DOMWindow.cpp:
771         (WebCore::DOMWindow::oninput):
772         (WebCore::DOMWindow::setOninput):
773         (WebCore::DOMWindow::onmessage):
774         (WebCore::DOMWindow::setOnmessage):
775         (WebCore::DOMWindow::oncontextmenu):
776         (WebCore::DOMWindow::setOncontextmenu):
777         * page/DOMWindow.h:
778         * page/DOMWindow.idl:
779
780 2009-06-01  Jeremy Orlow  <jorlow@chromium.org>
781
782         Reviewed by Darin Adler.  Landed by Adam Barth.
783
784         https://bugs.webkit.org/show_bug.cgi?id=26123
785
786         Remove a redundant checkEncodedString call when constructing a
787         KURL object from a string.
788
789         * platform/KURL.cpp:
790         (WebCore::KURL::KURL):
791
792 2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
793
794         Unreviewed, build fix.
795
796         Reposition platform guard, improperly placed by http://trac.webkit.org/changeset/44340
797         Bad Dimitri.
798
799         * platform/KeyboardCodes.h: Repositioned the guard to avoid nested
800             WebCore namespace declarations.
801
802 2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
803
804         Unreviewed, build fix.
805
806         * platform/KeyboardCodes.h: Integrated contents of platform/chromium/KeyboardCodes.h
807             with a stern FIXME.
808         * platform/chromium/KeyboardCodes.h: Removed.
809
810 2009-06-01  Nikolas Zimmermann  <zimmermann@kde.org>
811
812         Reviewed by Eric Seidel.
813
814         Fix assertion error in --filters enabled debug builds.
815         Instead of using RefPtr<AtomicStringImpl> as keys for the hash maps in SVGFilterBuilder, just use AtomicString objects.
816
817         * svg/graphics/filters/SVGFilterBuilder.cpp:
818         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
819         (WebCore::SVGFilterBuilder::add):
820         (WebCore::SVGFilterBuilder::getEffectById):
821         * svg/graphics/filters/SVGFilterBuilder.h:
822
823 2009-06-01  Nikolas Zimmermann  <zimmermann@kde.org>
824
825         Reviewed by Eric Seidel.
826
827         Fix --filters enabled build on Mac.
828         Remove unnecessary 'boundingBox' parameter from finishRenderSVGContent() method.
829         Kill several warnings, to make build pass.
830
831         * rendering/RenderPath.cpp:
832         (WebCore::RenderPath::paint):
833         * rendering/RenderSVGContainer.cpp:
834         (WebCore::RenderSVGContainer::paint):
835         * rendering/RenderSVGImage.cpp:
836         (WebCore::RenderSVGImage::paint):
837         * rendering/RenderSVGRoot.cpp:
838         (WebCore::RenderSVGRoot::paint):
839         * rendering/SVGRenderSupport.cpp:
840         (WebCore::SVGRenderBase::finishRenderSVGContent):
841         * rendering/SVGRenderSupport.h:
842         * rendering/SVGRootInlineBox.cpp:
843         (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
844         * svg/SVGFEGaussianBlurElement.cpp:
845         (WebCore::SVGFEGaussianBlurElement::setStdDeviation):
846         * svg/graphics/filters/SVGFEFlood.cpp:
847         (WebCore::FEFlood::FEFlood):
848
849 2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
850
851         Reviewed by Dave Hyatt.
852
853         Fix Chromium build by adding an #ifdef, restoring the code path to that
854         before http://trac.webkit.org/changeset/44287.
855
856         * platform/mac/ScrollbarThemeMac.mm:
857         (WebCore::ScrollbarThemeMac::paint): Added an #ifdef.
858
859 2009-06-01  Dirk Schulze  <krit@webkit.org>
860
861         Reviewed by Nikolas Zimmermann.
862
863         Remove last pieces of the old SVG filter system. They are not
864         usable with our current filter system. The new filter effects
865         will replace the functionality step by step.
866
867         * GNUmakefile.am:
868         * WebCore.pro:
869         * WebCore.vcproj/WebCore.vcproj:
870         * WebCore.xcodeproj/project.pbxproj:
871         * svg/graphics/cairo: Removed.
872         * svg/graphics/cairo/SVGResourceFilterCairo.cpp: Removed.
873         * svg/graphics/cg: Removed.
874         * svg/graphics/cg/SVGResourceFilterCg.cpp: Removed.
875         * svg/graphics/cg/SVGResourceFilterCg.mm: Removed.
876         * svg/graphics/filters/SVGFilterEffect.cpp: Removed.
877         * svg/graphics/filters/SVGFilterEffect.h: Removed.
878         * svg/graphics/filters/cg: Removed.
879         * svg/graphics/filters/cg/SVGFEHelpersCg.h: Removed.
880         * svg/graphics/filters/cg/SVGFEHelpersCg.mm: Removed.
881         * svg/graphics/filters/cg/SVGFilterEffectCg.mm: Removed.
882         * svg/graphics/filters/cg/WKArithmeticFilter.cikernel: Removed.
883         * svg/graphics/filters/cg/WKArithmeticFilter.h: Removed.
884         * svg/graphics/filters/cg/WKArithmeticFilter.m: Removed.
885         * svg/graphics/filters/cg/WKComponentMergeFilter.cikernel: Removed.
886         * svg/graphics/filters/cg/WKComponentMergeFilter.h: Removed.
887         * svg/graphics/filters/cg/WKComponentMergeFilter.m: Removed.
888         * svg/graphics/filters/cg/WKDiffuseLightingFilter.cikernel: Removed.
889         * svg/graphics/filters/cg/WKDiffuseLightingFilter.h: Removed.
890         * svg/graphics/filters/cg/WKDiffuseLightingFilter.m: Removed.
891         * svg/graphics/filters/cg/WKDiscreteTransferFilter.cikernel: Removed.
892         * svg/graphics/filters/cg/WKDiscreteTransferFilter.h: Removed.
893         * svg/graphics/filters/cg/WKDiscreteTransferFilter.m: Removed.
894         * svg/graphics/filters/cg/WKDisplacementMapFilter.cikernel: Removed.
895         * svg/graphics/filters/cg/WKDisplacementMapFilter.h: Removed.
896         * svg/graphics/filters/cg/WKDisplacementMapFilter.m: Removed.
897         * svg/graphics/filters/cg/WKDistantLightFilter.cikernel: Removed.
898         * svg/graphics/filters/cg/WKDistantLightFilter.h: Removed.
899         * svg/graphics/filters/cg/WKDistantLightFilter.m: Removed.
900         * svg/graphics/filters/cg/WKGammaTransferFilter.cikernel: Removed.
901         * svg/graphics/filters/cg/WKGammaTransferFilter.h: Removed.
902         * svg/graphics/filters/cg/WKGammaTransferFilter.m: Removed.
903         * svg/graphics/filters/cg/WKIdentityTransferFilter.h: Removed.
904         * svg/graphics/filters/cg/WKIdentityTransferFilter.m: Removed.
905         * svg/graphics/filters/cg/WKLinearTransferFilter.cikernel: Removed.
906         * svg/graphics/filters/cg/WKLinearTransferFilter.h: Removed.
907         * svg/graphics/filters/cg/WKLinearTransferFilter.m: Removed.
908         * svg/graphics/filters/cg/WKNormalMapFilter.cikernel: Removed.
909         * svg/graphics/filters/cg/WKNormalMapFilter.h: Removed.
910         * svg/graphics/filters/cg/WKNormalMapFilter.m: Removed.
911         * svg/graphics/filters/cg/WKPointLightFilter.cikernel: Removed.
912         * svg/graphics/filters/cg/WKPointLightFilter.h: Removed.
913         * svg/graphics/filters/cg/WKPointLightFilter.m: Removed.
914         * svg/graphics/filters/cg/WKSpecularLightingFilter.cikernel: Removed.
915         * svg/graphics/filters/cg/WKSpecularLightingFilter.h: Removed.
916         * svg/graphics/filters/cg/WKSpecularLightingFilter.m: Removed.
917         * svg/graphics/filters/cg/WKSpotLightFilter.cikernel: Removed.
918         * svg/graphics/filters/cg/WKSpotLightFilter.h: Removed.
919         * svg/graphics/filters/cg/WKSpotLightFilter.m: Removed.
920         * svg/graphics/filters/cg/WKTableTransferFilter.cikernel: Removed.
921         * svg/graphics/filters/cg/WKTableTransferFilter.h: Removed.
922         * svg/graphics/filters/cg/WKTableTransferFilter.m: Removed.
923         * svg/graphics/mac: Removed.
924         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h: Removed.
925         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm: Removed.
926         * svg/graphics/qt: Removed.
927         * svg/graphics/qt/SVGResourceFilterQt.cpp: Removed.
928         * svg/graphics/skia: Removed.
929         * svg/graphics/skia/SVGResourceFilterSkia.cpp: Removed.
930
931 2009-06-01  Dmitry Titov  <dimich@chromium.org>
932
933         Fix the previous checkin (ttp://trac.webkit.org/changeset/44327).
934         This adds a comment suggested during review.
935
936         * platform/ThreadGlobalData.cpp:
937         (WebCore::ThreadGlobalData::~ThreadGlobalData): Add comment clarifying the change.
938
939 2009-06-01  Dmitry Titov  <dimich@chromium.org>
940
941         Reviewed by Darin Adler.
942
943         https://bugs.webkit.org/show_bug.cgi?id=25973
944         Avoid calling CurrentThread() in thread-specific destructors in OSX Chromium.
945         Pthreads invoke thread-specific destructors after WTF::detachThread() is called and ThreadIdentifier
946         for the thread removed from the WTF thread map. Calling CurrentThread() in such destructor causes
947         the ThreadIdentifier to be re-created and inserted into the map again. Since Pthreads on OSX reuse
948         the pthread_t between threads, the next created thread will have the same pthread_t and cause an assert
949         in establishIdentifierForPthreadHandle() since the id is already in the map.
950
951         The behavior is covered by existing test LayoutTests/fast/workers/worker-terminate.html, which currently fails
952         on OSX Chromium and will stop failing after this change.
953
954         * platform/ThreadGlobalData.h:
955         * platform/ThreadGlobalData.cpp:
956         (WebCore::ThreadGlobalData::~ThreadGlobalData):
957         Store the result of "isMainThread()" in a member variable during construction of thread-specific data
958         to avoid calling IsMainThread() in destructor, since the latter calls CurrentThread() in OSX Chromium.
959
960 2009-06-01  David Levin  <levin@chromium.org>
961
962         Reviewed by Darin Alder and Maciej Stachowiak.
963
964         Bug 26057: StringImpl should share buffers with UString.
965         https://bugs.webkit.org/show_bug.cgi?id=26057
966
967         This change results in the following performance improvements:
968         On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/001.html
969         the time went from 78ms to 40ms for append (other times remained constant).
970
971         On http://www.hixie.ch/tests/adhoc/perf/dom/artificial/core/002.html,
972         the time went from 3900ms to 2600ms.
973
974         For http://dromaeo.com/?dom, the time for DomModification improved by ~6%.
975         Other tests in dom seemed to be faster across several runs but within the
976         margin of error (except DOM Attributes which was slightly ~1.5% worse).
977
978         Existing tests cover this code and there is no new functionality
979         that is exposed to test.
980
981         * platform/text/AtomicString.cpp:
982         (WebCore::AtomicString::add):
983         * platform/text/String.cpp:
984         (WebCore::String::String):
985         (WebCore::String::operator UString):
986         * platform/text/StringImpl.cpp:
987         (WebCore::StringImpl::StringImpl):
988         (WebCore::StringImpl::~StringImpl):
989         (WebCore::StringImpl::create): Consumes a shared buffer.
990         (WebCore::StringImpl::ustring): Shares the StringImpl's buffer with the UString.
991         (WebCore::StringImpl::sharedBuffer): Exposes the buffer that may be shared.
992         * platform/text/StringImpl.h:
993         (WebCore::StringImpl::hasTerminatingNullCharacter):
994         (WebCore::StringImpl::inTable):
995         (WebCore::StringImpl::setInTable): Converted the bools to be inside of PtrAndFlags
996         to avoid growing StringImpl in size.
997
998 2009-06-01  Dimitri Glazkov  <dglazkov@chromium.org>
999
1000         Unreviewed, build fix.
1001
1002         V8 bindings follow-up to to DOMWindow-related cleanup:
1003         http://trac.webkit.org/changeset/44215
1004
1005         * bindings/v8/ScriptController.cpp: Removed disconnectFrame(), relocated
1006             its body to destructor.
1007         * bindings/v8/ScriptController.h: Removed disconnectFrame() decl.
1008
1009 2009-05-28  Pavel Feldman  <pfeldman@chromium.org>
1010
1011         Reviewed by Timothy Hatcher.
1012
1013         - Add panel enabler to the resources panel.
1014         - Add session / always options into the panel enabler.
1015         - Make enabled status for three panels sticky (globally).
1016         - Persist enabled status using InspectorController::Settings
1017         - Make InspectorController produce no network-related overhead when
1018           resources panel is not enabled.
1019
1020         https://bugs.webkit.org/show_bug.cgi?id=26046
1021
1022         * inspector/InspectorController.cpp:
1023         (WebCore::InspectorController::InspectorController):
1024         (WebCore::InspectorController::setWindowVisible):
1025         (WebCore::InspectorController::populateScriptObjects):
1026         (WebCore::InspectorController::identifierForInitialRequest):
1027         (WebCore::InspectorController::willSendRequest):
1028         (WebCore::InspectorController::didReceiveResponse):
1029         (WebCore::InspectorController::didReceiveContentLength):
1030         (WebCore::InspectorController::didFinishLoading):
1031         (WebCore::InspectorController::didFailLoading):
1032         (WebCore::InspectorController::resourceRetrievedByXMLHttpRequest):
1033         (WebCore::InspectorController::scriptImported):
1034         (WebCore::InspectorController::enableResourceTracking):
1035         (WebCore::InspectorController::disableResourceTracking):
1036         (WebCore::InspectorController::startUserInitiatedProfiling):
1037         (WebCore::InspectorController::enableProfiler):
1038         (WebCore::InspectorController::disableProfiler):
1039         (WebCore::InspectorController::enableDebugger):
1040         (WebCore::InspectorController::disableDebugger):
1041         * inspector/InspectorController.h:
1042         (WebCore::InspectorController::Setting::Setting):
1043         (WebCore::InspectorController::resourceTrackingEnabled):
1044         * inspector/InspectorController.idl:
1045         * inspector/InspectorFrontend.cpp:
1046         (WebCore::InspectorFrontend::resourceTrackingWasEnabled):
1047         (WebCore::InspectorFrontend::resourceTrackingWasDisabled):
1048         * inspector/InspectorFrontend.h:
1049         * inspector/front-end/PanelEnablerView.js:
1050         (WebInspector.PanelEnablerView.enableOption):
1051         (WebInspector.PanelEnablerView):
1052         (WebInspector.PanelEnablerView.prototype._windowResized):
1053         (WebInspector.PanelEnablerView.prototype.alwaysWasChosen):
1054         * inspector/front-end/ProfilesPanel.js:
1055         (WebInspector.ProfilesPanel.prototype._enableProfiling):
1056         (WebInspector.ProfilesPanel.prototype._toggleProfiling):
1057         * inspector/front-end/ResourcesPanel.js:
1058         (WebInspector.ResourcesPanel):
1059         (WebInspector.ResourcesPanel.prototype.get statusBarItems):
1060         (WebInspector.ResourcesPanel.prototype.resourceTrackingWasEnabled):
1061         (WebInspector.ResourcesPanel.prototype.resourceTrackingWasDisabled):
1062         (WebInspector.ResourcesPanel.prototype.reset):
1063         (WebInspector.ResourcesPanel.prototype._updateSidebarWidth):
1064         (WebInspector.ResourcesPanel.prototype._enableResourceTracking):
1065         (WebInspector.ResourcesPanel.prototype._toggleResourceTracking):
1066         * inspector/front-end/ScriptsPanel.js:
1067         (WebInspector.ScriptsPanel.prototype._enableDebugging):
1068         (WebInspector.ScriptsPanel.prototype._toggleDebugging):
1069         * inspector/front-end/inspector.css:
1070         * inspector/front-end/inspector.js:
1071         (WebInspector.resourceTrackingWasEnabled):
1072         (WebInspector.resourceTrackingWasDisabled):
1073
1074 2009-06-01  Drew Wilson  <atwilson@google.com>
1075
1076         Reviewed by Darin Adler.  Landed (and tweaked) by Adam Barth.
1077
1078         https://bugs.webkit.org/show_bug.cgi?id=25902
1079
1080         Added WorkerContext.close()
1081
1082         Test: fast/workers/worker-close.html
1083
1084         * workers/WorkerContext.cpp:
1085         (WebCore::WorkerContext::close):
1086         * workers/WorkerContext.h:
1087         * workers/WorkerContext.idl:
1088         * workers/WorkerMessagingProxy.cpp:
1089         (WebCore::WorkerMessagingProxy::workerContextDestroyedInternal):
1090
1091 2009-06-01  Alexey Proskuryakov  <ap@webkit.org>
1092
1093         Reviewed by Darin Adler.
1094
1095         https://bugs.webkit.org/show_bug.cgi?id=12471
1096         XPathResult not invalidated for documents retrieved via XMLHttpRequest
1097
1098         Test: fast/xpath/detached-subtree-invalidate-iterator.html and existing tests in dom/svg/level3/xpath.
1099
1100         Use DOM tree version instead of DOMSubtreeModified events to invalidate, which is more
1101         reliable and much faster.
1102
1103         * xml/XPathExpression.cpp:
1104         (WebCore::XPathExpression::evaluate):
1105         * xml/XPathResult.cpp:
1106         (WebCore::XPathResult::XPathResult):
1107         (WebCore::XPathResult::~XPathResult):
1108         (WebCore::XPathResult::invalidIteratorState):
1109         (WebCore::XPathResult::iterateNext):
1110         * xml/XPathResult.h:
1111         (WebCore::XPathResult::create):
1112
1113 2009-06-01  Brett Wilson  <brettw@chromium.org>
1114
1115         Reviewed by Darin Adler.  Landed by Adam Barth.
1116
1117         https://bugs.webkit.org/show_bug.cgi?id=25750
1118
1119         Test: fast/transforms/bounding-rect-zoom.html
1120
1121         Make getClientRects and getBoundingClientRect account for ther zoom
1122         factor.
1123
1124         * dom/Element.cpp:
1125         (WebCore::adjustFloatPointForAbsoluteZoom):
1126         (WebCore::adjustFloatQuadForAbsoluteZoom):
1127         (WebCore::adjustIntRectForAbsoluteZoom):
1128         (WebCore::Element::getClientRects):
1129         (WebCore::Element::getBoundingClientRect):
1130
1131 2009-06-01  Tony Chang  <tony@chromium.org>
1132
1133         Reviewed by Dimitri Glazkov.  Landed by Adam Barth.
1134
1135         https://bugs.webkit.org/show_bug.cgi?id=26026
1136
1137         Fix an infinite loop when using the keyboard in Chromium select
1138         popups.
1139
1140         Not testable since it involves sending a keyboard event to
1141         the popup, which is not possible (eventSender sends the key
1142         events through webview, we want to go through the webwidget).
1143
1144         * platform/chromium/PopupMenuChromium.cpp:
1145
1146 2009-06-01  Nate Chapin  <japhet@google.com>
1147
1148         Reviewed by Dimitri Glazkov.  Landed by Adam Barth.
1149
1150         If a url with an anchor is being loaded, ensure that the anchor remains locked in view until the page
1151         has finished loading compeltely or the user has manually scrolled.  Refreshing an anchor url after
1152         scrolling to a new location on the page will still result in jumping to the new location.
1153         
1154         https://bugs.webkit.org/show_bug.cgi?id=26034
1155
1156         * loader/FrameLoader.cpp:
1157         (WebCore::FrameLoader::gotoAnchor): Set anchor lock after navigating to anchor.
1158         (WebCore::FrameLoader::completed): Release anchor lock.
1159         * page/FrameView.cpp:
1160         (WebCore::FrameView::FrameView): Ensure anchor lock starts unset.
1161         (WebCore::FrameView::reset): Ensure anchor lock starts unset.
1162         (WebCore::FrameView::layout): If anchor lock is set, force a gotoAnchor() after layout.
1163         (WebCore::FrameView::scrollRectIntoViewRecursively): Release anchor lock if a programmatic scroll begins.
1164         (WebCore::FrameView::setWasScrolledByUser): Release anchor lock if user manually scrolls.
1165         (WebCore::FrameView::setScrollPosition): Release anchor lock if a programmatic scroll begins.
1166         * page/FrameView.h:
1167         (WebCore::FrameView::lockedToAnchor): Added.
1168         (WebCore::FrameView::setLockedToAnchor): Added.
1169
1170 2009-05-31  Dirk Schulze  <krit@webkit.org>
1171
1172         Reviewed by Nikolas Zimmermann.
1173
1174         WebKit needs cross-platform filter system
1175         [https://bugs.webkit.org/show_bug.cgi?id=19991]
1176
1177         A short clean-up. FilterBuilder is SVG specific. Move it
1178         to svg/graphics/filters and rename it to SVGFilterBuilder. 
1179
1180         * GNUmakefile.am:
1181         * WebCore.pro:
1182         * WebCore.xcodeproj/project.pbxproj:
1183         * svg/FilterBuilder.cpp: Removed.
1184         * svg/FilterBuilder.h: Removed.
1185         * svg/SVGFilterElement.cpp:
1186         * svg/SVGFilterPrimitiveStandardAttributes.h:
1187         * svg/graphics/SVGResourceFilter.cpp:
1188         (WebCore::SVGResourceFilter::SVGResourceFilter):
1189         * svg/graphics/SVGResourceFilter.h:
1190         (WebCore::SVGResourceFilter::builder):
1191         * svg/graphics/filters/SVGFilterBuilder.cpp: Added.
1192         (WebCore::SVGFilterBuilder::SVGFilterBuilder):
1193         (WebCore::SVGFilterBuilder::add):
1194         (WebCore::SVGFilterBuilder::getEffectById):
1195         (WebCore::SVGFilterBuilder::clearEffects):
1196         * svg/graphics/filters/SVGFilterBuilder.h: Added.
1197         (WebCore::SVGFilterBuilder::lastEffect):
1198
1199 2009-05-31  Alexey Proskuryakov  <ap@webkit.org>
1200
1201         Reviewed by Darin Adler.
1202
1203         https://bugs.webkit.org/show_bug.cgi?id=13233
1204         Need to implement an optimizing XPath evaluator
1205
1206         Avoid sorting results of hierarchical paths that are naturally sorted. On a flat data structure
1207         with 128K nodes and a simple XPath expression, this changes evaluation time from 1.5 minutes
1208         to 33 ms.
1209
1210         * xml/XPathNodeSet.h: Keep track of whether subtrees rooted at nodes in set are disjoint,
1211         which is useful for optimization.
1212         (WebCore::XPath::NodeSet::NodeSet): Removed, it was identical to compiler generated one.
1213         (WebCore::XPath::NodeSet::operator=): Ditto.
1214         (WebCore::XPath::NodeSet::swap): Ditto.
1215         (WebCore::XPath::NodeSet::isSorted): Single element sets are always sorted, even if sort()
1216         was never called.
1217         (WebCore::XPath::NodeSet::markSubtreesDisjoint): Just like being sorted, the new flag is
1218         maintained by callers.
1219         (WebCore::XPath::NodeSet::subtreesAreDisjoint): A single element set only has one subtree.
1220         Currently, the only way for a set to gain this flag is to be produced from a single element
1221         set with a hierarchical location path.
1222
1223         * xml/XPathPath.cpp: (WebCore::XPath::LocationPath::evaluate): Use the new flag to avoid
1224         maintaining a set of unique nodes, and to avoid sorting the result.
1225
1226 2009-05-31  Alexey Proskuryakov  <ap@webkit.org>
1227
1228         Reviewed by Darin Adler.
1229
1230         https://bugs.webkit.org/show_bug.cgi?id=13233
1231         Need to implement an optimizing XPath evaluator
1232
1233         This patch adds some infrastructure and simple optimizations. Namely,
1234         - we now avoid building a full NodeSet just to evaluate a predicate in some cases;
1235         - "/descendant-or-self::node()/child::" is optimized to iterate the tree once when possible;
1236
1237         * xml/XPathExpressionNode.cpp:
1238         (WebCore::XPath::Expression::Expression):
1239         * xml/XPathExpressionNode.h:
1240         (WebCore::XPath::Expression::addSubExpression):
1241         (WebCore::XPath::Expression::isContextNodeSensitive):
1242         (WebCore::XPath::Expression::isContextPositionSensitive):
1243         (WebCore::XPath::Expression::isContextSizeSensitive):
1244         (WebCore::XPath::Expression::setIsContextNodeSensitive):
1245         (WebCore::XPath::Expression::setIsContextPositionSensitive):
1246         (WebCore::XPath::Expression::setIsContextSizeSensitive):
1247         XPath expression now knows its result type, and whether evaluation depends on context.
1248
1249         * xml/XPathFunctions.cpp:
1250         (WebCore::XPath::FunLast::resultType):
1251         (WebCore::XPath::FunLast::FunLast):
1252         (WebCore::XPath::FunPosition::resultType):
1253         (WebCore::XPath::FunPosition::FunPosition):
1254         (WebCore::XPath::FunCount::resultType):
1255         (WebCore::XPath::FunId::resultType):
1256         (WebCore::XPath::FunLocalName::resultType):
1257         (WebCore::XPath::FunLocalName::FunLocalName):
1258         (WebCore::XPath::FunNamespaceURI::resultType):
1259         (WebCore::XPath::FunNamespaceURI::FunNamespaceURI):
1260         (WebCore::XPath::FunName::resultType):
1261         (WebCore::XPath::FunName::FunName):
1262         (WebCore::XPath::FunString::resultType):
1263         (WebCore::XPath::FunString::FunString):
1264         (WebCore::XPath::FunConcat::resultType):
1265         (WebCore::XPath::FunStartsWith::resultType):
1266         (WebCore::XPath::FunContains::resultType):
1267         (WebCore::XPath::FunSubstringBefore::resultType):
1268         (WebCore::XPath::FunSubstringAfter::resultType):
1269         (WebCore::XPath::FunSubstring::resultType):
1270         (WebCore::XPath::FunStringLength::resultType):
1271         (WebCore::XPath::FunStringLength::FunStringLength):
1272         (WebCore::XPath::FunNormalizeSpace::resultType):
1273         (WebCore::XPath::FunNormalizeSpace::FunNormalizeSpace):
1274         (WebCore::XPath::FunTranslate::resultType):
1275         (WebCore::XPath::FunBoolean::resultType):
1276         (WebCore::XPath::FunNot::resultType):
1277         (WebCore::XPath::FunTrue::resultType):
1278         (WebCore::XPath::FunFalse::resultType):
1279         (WebCore::XPath::FunLang::resultType):
1280         (WebCore::XPath::FunLang::FunLang):
1281         (WebCore::XPath::FunNumber::resultType):
1282         (WebCore::XPath::FunNumber::FunNumber):
1283         (WebCore::XPath::FunSum::resultType):
1284         (WebCore::XPath::FunFloor::resultType):
1285         (WebCore::XPath::FunCeiling::resultType):
1286         (WebCore::XPath::FunRound::resultType):
1287         (WebCore::XPath::Function::setArguments):
1288         Set optimization details for the expression. Normally, a function does not introduce context
1289         node set dependency, but some use context node as default argument, or otherwise use the context.
1290
1291         * xml/XPathFunctions.h: Tweaked style.
1292
1293         * xml/XPathPath.cpp:
1294         (WebCore::XPath::Filter::Filter): A filter is as context node set sensitive as its expression is.
1295         (WebCore::XPath::LocationPath::LocationPath): A location path can only be context node sensitive,
1296         and only if the path relative.
1297         (WebCore::XPath::LocationPath::appendStep): Invoke compile-time Step optimizations.
1298         (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
1299         (WebCore::XPath::Path::Path): A path is as context node set sensitive as its filter is.
1300
1301         * xml/XPathPath.h:
1302         (WebCore::XPath::Filter::resultType): Result type of a filter is the same as of its expression
1303         (useful filters return NodeSets, of course).
1304         (WebCore::XPath::LocationPath::setAbsolute): An absolute location path if context node set
1305         insensitive.
1306         (WebCore::XPath::LocationPath::resultType): A path's result is always a node set.
1307         (WebCore::XPath::Path::resultType): Ditto.
1308
1309         * xml/XPathPredicate.h:
1310         (WebCore::XPath::Number::resultType): Return a proper result type.
1311         (WebCore::XPath::StringExpression::resultType): Ditto.
1312         (WebCore::XPath::Negative::resultType): Ditto.
1313         (WebCore::XPath::NumericOp::resultType): Ditto.
1314         (WebCore::XPath::EqTestOp::resultType): Ditto.
1315         (WebCore::XPath::LogicalOp::resultType): Ditto.
1316         (WebCore::XPath::Union::resultType): Ditto.
1317         (WebCore::XPath::Predicate::isContextPositionSensitive): A predicate can be context position
1318         sensitive even if its expression is not, because e.g. [5] is a shortcut for [position()=5].
1319         (WebCore::XPath::Predicate::isContextSizeSensitive): This matches expression result.
1320
1321         * xml/XPathStep.h:
1322         (WebCore::XPath::Step::NodeTest::Kind): Removed unused ElementNodeTest, which was previously
1323         borrowed from XPath 2.0 to express some optimizations.
1324         (WebCore::XPath::Step::NodeTest::mergedPredicates): To avoid building a huge node set and
1325         filtering it with predicates, we now try to apply predicates while enumerating an axis.
1326         (WebCore::XPath::Step::nodeTest): Expose m_nodeTest.
1327
1328         * xml/XPathStep.cpp:
1329         (WebCore::XPath::Step::~Step): The step owns NodeTest merged predicates, so it is still
1330         possible to copy NodeTests.
1331         (WebCore::XPath::Step::optimize): Merge predicates into NodeTest if possible.
1332         (WebCore::XPath::optimizeStepPair): Optimize some expressions containing "//".
1333         (WebCore::XPath::Step::predicatesAreContextListInsensitive): The above optimization is only
1334         possible if there are no context sensitive predicates for "//".
1335         (WebCore::XPath::Step::evaluate): Track context position for the first merged predicate.
1336         (WebCore::XPath::nodeMatchesBasicTest): Check whether the node matches node test, ignoring
1337         merged predicates.
1338         (WebCore::XPath::nodeMatches): Additionally check merged predicates, and update position.
1339         (WebCore::XPath::Step::nodesInAxis): Check merged predicates in optimized attribute code
1340         path.
1341
1342         * xml/XPathVariableReference.h: (WebCore::XPath::VariableReference::resultType): Variable
1343         references are not used with XPathEvaluator, so we'll only need them if we decide to
1344         reimplement XSLT. The type of variable reference is not known at compile time.
1345
1346 2009-05-31  Sam Weinig  <sam@webkit.org>
1347
1348         Rubber-stamped by Dan Bernstein.
1349
1350         Remove unused JSEventTargetBase.h
1351
1352         * GNUmakefile.am:
1353         * WebCore.vcproj/WebCore.vcproj:
1354         * WebCore.xcodeproj/project.pbxproj:
1355         * bindings/js/JSEventTargetBase.h: Removed.
1356
1357 2009-05-31  Sam Weinig  <sam@webkit.org>
1358
1359         Reviewed by Dan Bernstein.
1360
1361         Part of https://bugs.webkit.org/show_bug.cgi?id=26100
1362         Add missing event handler properties to the DOMWindow
1363
1364         Add missing oncanplay, oncanplaythrough, ondurationchange, onemptied,
1365         onended, onloadeddata, onloadedmetadata, onpause, onplay, onplaying,
1366         onratechange, onseeked, onseeking, ontimeupdate, onvolumechange,
1367         onwaiting, onloadstart, onprogress, onstalled, onsuspend, ondrag,
1368         ondragend, ondragenter, ondragleave, ondragover, ondragstart and 
1369         ondrop event handlers to the DOMWindow.
1370
1371         * page/DOMWindow.cpp:
1372         (WebCore::DOMWindow::ondrag):
1373         (WebCore::DOMWindow::setOndrag):
1374         (WebCore::DOMWindow::ondragend):
1375         (WebCore::DOMWindow::setOndragend):
1376         (WebCore::DOMWindow::ondragenter):
1377         (WebCore::DOMWindow::setOndragenter):
1378         (WebCore::DOMWindow::ondragleave):
1379         (WebCore::DOMWindow::setOndragleave):
1380         (WebCore::DOMWindow::ondragover):
1381         (WebCore::DOMWindow::setOndragover):
1382         (WebCore::DOMWindow::ondragstart):
1383         (WebCore::DOMWindow::setOndragstart):
1384         (WebCore::DOMWindow::ondrop):
1385         (WebCore::DOMWindow::setOndrop):
1386         (WebCore::DOMWindow::oncanplay):
1387         (WebCore::DOMWindow::setOncanplay):
1388         (WebCore::DOMWindow::oncanplaythrough):
1389         (WebCore::DOMWindow::setOncanplaythrough):
1390         (WebCore::DOMWindow::ondurationchange):
1391         (WebCore::DOMWindow::setOndurationchange):
1392         (WebCore::DOMWindow::onemptied):
1393         (WebCore::DOMWindow::setOnemptied):
1394         (WebCore::DOMWindow::onended):
1395         (WebCore::DOMWindow::setOnended):
1396         (WebCore::DOMWindow::onloadeddata):
1397         (WebCore::DOMWindow::setOnloadeddata):
1398         (WebCore::DOMWindow::onloadedmetadata):
1399         (WebCore::DOMWindow::setOnloadedmetadata):
1400         (WebCore::DOMWindow::onpause):
1401         (WebCore::DOMWindow::setOnpause):
1402         (WebCore::DOMWindow::onplay):
1403         (WebCore::DOMWindow::setOnplay):
1404         (WebCore::DOMWindow::onplaying):
1405         (WebCore::DOMWindow::setOnplaying):
1406         (WebCore::DOMWindow::onratechange):
1407         (WebCore::DOMWindow::setOnratechange):
1408         (WebCore::DOMWindow::onseeked):
1409         (WebCore::DOMWindow::setOnseeked):
1410         (WebCore::DOMWindow::onseeking):
1411         (WebCore::DOMWindow::setOnseeking):
1412         (WebCore::DOMWindow::ontimeupdate):
1413         (WebCore::DOMWindow::setOntimeupdate):
1414         (WebCore::DOMWindow::onvolumechange):
1415         (WebCore::DOMWindow::setOnvolumechange):
1416         (WebCore::DOMWindow::onwaiting):
1417         (WebCore::DOMWindow::setOnwaiting):
1418         (WebCore::DOMWindow::onloadstart):
1419         (WebCore::DOMWindow::setOnloadstart):
1420         (WebCore::DOMWindow::onprogress):
1421         (WebCore::DOMWindow::setOnprogress):
1422         (WebCore::DOMWindow::onstalled):
1423         (WebCore::DOMWindow::setOnstalled):
1424         (WebCore::DOMWindow::onsuspend):
1425         (WebCore::DOMWindow::setOnsuspend):
1426         * page/DOMWindow.h:
1427         * page/DOMWindow.idl:
1428
1429 2009-05-31  Sam Weinig  <sam@webkit.org>
1430
1431         Reviewed by Anders Carlsson.
1432
1433         Part of https://bugs.webkit.org/show_bug.cgi?id=26100
1434         Add missing event handler properties to the DOMWindow
1435
1436         Add missing onstorage event handler to the DOMWindow.
1437
1438         * page/DOMWindow.cpp:
1439         (WebCore::DOMWindow::onstorage):
1440         (WebCore::DOMWindow::setOnstorage):
1441         * page/DOMWindow.h:
1442         * page/DOMWindow.idl:
1443
1444 2009-05-30  Sam Weinig  <sam@webkit.org>
1445
1446         Reviewed by Mark Rowe.
1447
1448         Fix for https://bugs.webkit.org/show_bug.cgi?id=26110
1449         Update online/offline events to match the current spec.
1450         - Also adds window.ononline and window.onoffline event handler
1451           properties.
1452
1453         * page/DOMWindow.cpp:
1454         (WebCore::DOMWindow::onoffline):
1455         (WebCore::DOMWindow::setOnoffline):
1456         (WebCore::DOMWindow::ononline):
1457         (WebCore::DOMWindow::setOnonline):
1458         * page/DOMWindow.h:
1459         * page/DOMWindow.idl:
1460         * page/Page.cpp:
1461         (WebCore::networkStateChanged):
1462
1463 2009-05-31  Dirk Schulze  <krit@webkit.org>
1464
1465         Reviewed by Nikolas Zimmermann.
1466
1467         WebKit needs cross-platform filter system
1468         [https://bugs.webkit.org/show_bug.cgi?id=19991]
1469
1470         Make use of the new filter system in WebCore for SVG. Deleted Mac bindings
1471         and replace it by a platform independent code. Calculation of subRegions
1472         is missing but needed for a first filter effect.
1473
1474         * GNUmakefile.am:
1475         * WebCore.pro:
1476         * WebCore.vcproj/WebCore.vcproj:
1477         * WebCore.xcodeproj/project.pbxproj:
1478         * platform/graphics/filters/Filter.h:
1479         (WebCore::Filter::~Filter):
1480         (WebCore::Filter::setSourceImage):
1481         * rendering/SVGRenderSupport.cpp:
1482         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
1483         (WebCore::SVGRenderBase::finishRenderSVGContent):
1484         * svg/FilterBuilder.h:
1485         (WebCore::FilterBuilder::lastEffect):
1486         * svg/SVGFEBlendElement.cpp:
1487         (WebCore::SVGFEBlendElement::SVGFEBlendElement):
1488         (WebCore::SVGFEBlendElement::build):
1489         * svg/SVGFEBlendElement.h:
1490         * svg/SVGFEColorMatrixElement.cpp:
1491         (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
1492         (WebCore::SVGFEColorMatrixElement::build):
1493         * svg/SVGFEColorMatrixElement.h:
1494         * svg/SVGFEComponentTransferElement.cpp:
1495         (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
1496         (WebCore::SVGFEComponentTransferElement::build):
1497         * svg/SVGFEComponentTransferElement.h:
1498         * svg/SVGFECompositeElement.cpp:
1499         (WebCore::SVGFECompositeElement::SVGFECompositeElement):
1500         (WebCore::SVGFECompositeElement::build):
1501         * svg/SVGFECompositeElement.h:
1502         * svg/SVGFEDiffuseLightingElement.cpp:
1503         (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
1504         (WebCore::SVGFEDiffuseLightingElement::build):
1505         * svg/SVGFEDiffuseLightingElement.h:
1506         * svg/SVGFEDisplacementMapElement.cpp:
1507         (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
1508         (WebCore::SVGFEDisplacementMapElement::build):
1509         * svg/SVGFEDisplacementMapElement.h:
1510         * svg/SVGFEFloodElement.cpp:
1511         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
1512         (WebCore::SVGFEFloodElement::build):
1513         * svg/SVGFEFloodElement.h:
1514         * svg/SVGFEGaussianBlurElement.cpp:
1515         (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
1516         (WebCore::SVGFEGaussianBlurElement::build):
1517         * svg/SVGFEGaussianBlurElement.h:
1518         * svg/SVGFEImageElement.cpp:
1519         (WebCore::SVGFEImageElement::SVGFEImageElement):
1520         (WebCore::SVGFEImageElement::notifyFinished):
1521         (WebCore::SVGFEImageElement::build):
1522         * svg/SVGFEImageElement.h:
1523         * svg/SVGFEMergeElement.cpp:
1524         (WebCore::SVGFEMergeElement::SVGFEMergeElement):
1525         (WebCore::SVGFEMergeElement::build):
1526         * svg/SVGFEMergeElement.h:
1527         * svg/SVGFEOffsetElement.cpp:
1528         (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
1529         (WebCore::SVGFEOffsetElement::build):
1530         * svg/SVGFEOffsetElement.h:
1531         * svg/SVGFESpecularLightingElement.cpp:
1532         (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
1533         (WebCore::SVGFESpecularLightingElement::build):
1534         * svg/SVGFESpecularLightingElement.h:
1535         * svg/SVGFETileElement.cpp:
1536         (WebCore::SVGFETileElement::SVGFETileElement):
1537         (WebCore::SVGFETileElement::build):
1538         * svg/SVGFETileElement.h:
1539         * svg/SVGFETurbulenceElement.cpp:
1540         (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
1541         (WebCore::SVGFETurbulenceElement::build):
1542         * svg/SVGFETurbulenceElement.h:
1543         * svg/SVGFilterElement.cpp:
1544         (WebCore::SVGFilterElement::canvasResource):
1545         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
1546         (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
1547         * svg/SVGFilterPrimitiveStandardAttributes.h:
1548         (WebCore::SVGFilterPrimitiveStandardAttributes::contextElement):
1549         * svg/graphics/SVGResourceFilter.cpp:
1550         (WebCore::SVGResourceFilter::SVGResourceFilter):
1551         (WebCore::SVGResourceFilter::addFilterEffect):
1552         (WebCore::SVGResourceFilter::filterBBoxForItemBBox):
1553         (WebCore::SVGResourceFilter::prepareFilter):
1554         (WebCore::SVGResourceFilter::applyFilter):
1555         (WebCore::SVGResourceFilter::externalRepresentation):
1556         * svg/graphics/SVGResourceFilter.h:
1557         (WebCore::SVGResourceFilter::filterBoundingBox):
1558         (WebCore::SVGResourceFilter::setFilterBoundingBox):
1559         (WebCore::SVGResourceFilter::itemBoundingBox):
1560         (WebCore::SVGResourceFilter::setItemBoundingBox):
1561         (WebCore::SVGResourceFilter::builder):
1562
1563 2009-05-31  Dirk Schulze  <krit@webkit.org>
1564
1565         Reviewed by Nikolas Zimmermann.
1566
1567         WebKit needs cross-platform filter system
1568         [https://bugs.webkit.org/show_bug.cgi?id=19991]
1569
1570         Adding 'in1' attribute support for <feFlood>, as specified in SVG 1.1.
1571         This change helps creating test cases, once filters are activated.
1572
1573         * svg/SVGFEFloodElement.cpp:
1574         (WebCore::SVGFEFloodElement::SVGFEFloodElement):
1575         (WebCore::SVGFEFloodElement::parseMappedAttribute):
1576         (WebCore::SVGFEFloodElement::build):
1577         * svg/SVGFEFloodElement.h:
1578         * svg/SVGFEFloodElement.idl:
1579         * svg/graphics/filters/SVGFEFlood.cpp:
1580         (WebCore::FEFlood::FEFlood):
1581         (WebCore::FEFlood::create):
1582         * svg/graphics/filters/SVGFEFlood.h:
1583
1584 2009-05-31  Dirk Schulze  <krit@webkit.org>
1585
1586         Reviewed by Nikolas Zimmermann.
1587
1588         WebKit needs cross-platform filter system
1589         [https://bugs.webkit.org/show_bug.cgi?id=19991]
1590
1591         Replace all occurrences of SVGResourceFilter by Filter. This is the last 
1592         step for a SVG independent filter system. Every other part of WebCore can
1593         use the filter system by creating a new Filter object.
1594
1595         * GNUmakefile.am:
1596         * WebCore.pro:
1597         * WebCore.xcodeproj/project.pbxproj:
1598         * platform/graphics/filters/FEBlend.cpp:
1599         (WebCore::FEBlend::apply):
1600         * platform/graphics/filters/FEBlend.h:
1601         * platform/graphics/filters/FEColorMatrix.cpp:
1602         (WebCore::FEColorMatrix::apply):
1603         * platform/graphics/filters/FEColorMatrix.h:
1604         * platform/graphics/filters/FEComponentTransfer.cpp:
1605         (WebCore::FEComponentTransfer::apply):
1606         * platform/graphics/filters/FEComponentTransfer.h:
1607         * platform/graphics/filters/FEComposite.cpp:
1608         (WebCore::FEComposite::apply):
1609         * platform/graphics/filters/FEComposite.h:
1610         * platform/graphics/filters/Filter.h: Added.
1611         (WebCore::Filter::setSourceImage):
1612         (WebCore::Filter::sourceImage):
1613         * platform/graphics/filters/FilterEffect.h:
1614         * platform/graphics/filters/SourceAlpha.cpp:
1615         (WebCore::SourceAlpha::apply):
1616         * platform/graphics/filters/SourceAlpha.h:
1617         * platform/graphics/filters/SourceGraphic.cpp:
1618         (WebCore::SourceGraphic::apply):
1619         * platform/graphics/filters/SourceGraphic.h:
1620         * svg/Filter.cpp: Removed.
1621         * svg/Filter.h: Removed.
1622         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
1623         (WebCore::FEConvolveMatrix::apply):
1624         * svg/graphics/filters/SVGFEConvolveMatrix.h:
1625         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
1626         (WebCore::FEDiffuseLighting::apply):
1627         * svg/graphics/filters/SVGFEDiffuseLighting.h:
1628         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
1629         (WebCore::FEDisplacementMap::apply):
1630         * svg/graphics/filters/SVGFEDisplacementMap.h:
1631         * svg/graphics/filters/SVGFEFlood.cpp:
1632         (WebCore::FEFlood::apply):
1633         * svg/graphics/filters/SVGFEFlood.h:
1634         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
1635         (WebCore::FEGaussianBlur::apply):
1636         * svg/graphics/filters/SVGFEGaussianBlur.h:
1637         * svg/graphics/filters/SVGFEImage.cpp:
1638         (WebCore::FEImage::apply):
1639         * svg/graphics/filters/SVGFEImage.h:
1640         * svg/graphics/filters/SVGFEMerge.cpp:
1641         (WebCore::FEMerge::apply):
1642         * svg/graphics/filters/SVGFEMerge.h:
1643         * svg/graphics/filters/SVGFEMorphology.cpp:
1644         (WebCore::FEMorphology::apply):
1645         * svg/graphics/filters/SVGFEMorphology.h:
1646         * svg/graphics/filters/SVGFEOffset.cpp:
1647         (WebCore::FEOffset::apply):
1648         * svg/graphics/filters/SVGFEOffset.h:
1649         * svg/graphics/filters/SVGFESpecularLighting.cpp:
1650         (WebCore::FESpecularLighting::apply):
1651         * svg/graphics/filters/SVGFESpecularLighting.h:
1652         * svg/graphics/filters/SVGFETile.cpp:
1653         (WebCore::FETile::apply):
1654         * svg/graphics/filters/SVGFETile.h:
1655         * svg/graphics/filters/SVGFETurbulence.cpp:
1656         (WebCore::FETurbulence::apply):
1657         * svg/graphics/filters/SVGFETurbulence.h:
1658         * svg/graphics/filters/SVGFilter.cpp: Added.
1659         (WebCore::SVGFilter::SVGFilter):
1660         (WebCore::SVGFilter::calculateEffectSubRegion):
1661         (WebCore::SVGFilter::create):
1662         * svg/graphics/filters/SVGFilter.h: Added.
1663
1664 2009-05-30  Kevin Ollivier  <kevino@theolliviers.com>
1665
1666         Build fix for platforms without plugins support.
1667
1668         * plugins/PluginViewNone.cpp:
1669         (WebCore::PluginView::userAgentStatic):
1670         (WebCore::PluginView::getValueStatic):
1671
1672 2009-05-30  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1673
1674         Reviewed by Darin Adler.
1675
1676         Fixes: https://bugs.webkit.org/show_bug.cgi?id=25979
1677
1678         Fix regression, local WML files won't load anymore, as the mimetype isn't correctly detected.    
1679         Bug filed at <rdar://problem/6917571> to cover this CFNetwork limitation.
1680
1681         * platform/network/mac/ResourceHandleMac.mm:
1682         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
1683
1684 2009-05-29  Sam Weinig  <sam@webkit.org>
1685
1686         Reviewed by Anders Carlsson.
1687
1688         Fix for https://bugs.webkit.org/show_bug.cgi?id=26091
1689         Make storage events match the current spec.
1690         - Storage event listeners are added to the window.
1691         - Storage events are dispatched to the window.
1692
1693         Updated existing tests.
1694
1695         * dom/Document.cpp:
1696         (WebCore::Document::dispatchWindowEvent):
1697         * dom/Document.h:
1698         * dom/Node.cpp:
1699         * dom/Node.h:
1700         * html/HTMLBodyElement.cpp:
1701         (WebCore::HTMLBodyElement::parseMappedAttribute):
1702         * storage/LocalStorageArea.cpp:
1703         (WebCore::LocalStorageArea::dispatchStorageEvent):
1704         * storage/SessionStorageArea.cpp:
1705         (WebCore::SessionStorageArea::dispatchStorageEvent):
1706
1707 2009-05-30  Darin Adler  <darin@apple.com>
1708
1709         Reviewed by Adele Peterson.
1710
1711         Bug 26097: REGRESSION (r44283): Tab key doesn't work when focus is on a <select> element
1712
1713         Test: fast/forms/focus-control-to-page.html
1714
1715         * dom/SelectElement.h: Made destructor protected. Tweaked a bit.
1716
1717         * html/HTMLSelectElement.cpp: Removed unneeded includes.
1718         (WebCore::HTMLSelectElement::remove): Removed unneeded range check of the
1719         result of optionToListIndex.
1720         (WebCore::HTMLSelectElement::parseMappedAttribute): Removed code to set the
1721         unused attribute, m_minwidth.
1722         (WebCore::HTMLSelectElement::defaultEventHandler): The actual bug fix.
1723         Call through to the base class defaultEventHandler if the event hasn't
1724         been handled yet.
1725
1726         * html/HTMLSelectElement.h: Removed unneeded includes. Made a lot more functions
1727         private. Removed unused minWidth function and m_minwidth data member.
1728
1729 2009-05-30  Fridrich Strba  <fridrich.strba@bluewin.ch>
1730
1731         Reviewed by Holger Freyther.
1732
1733         The two KeyboardCodes.h files are basically identical and the
1734         qt one is properly #ifdef-ed for different win32 systems. Share
1735         them between Qt and Gtk implementations.
1736
1737         * GNUmakefile.am:
1738         * platform/KeyboardCodes.h: Copied from WebCore/platform/qt/KeyboardCodes.h.
1739         * platform/gtk/KeyboardCodes.h: Removed.
1740         * platform/qt/KeyboardCodes.h: Removed.
1741
1742 2009-05-30  Jeremy Orlow  <jorlow@chromium.org>
1743
1744         Reviewed by Sam Weinig.
1745
1746         LocalStorage and SessionStorage's implicit setters do not correctly 
1747         handle null.  The custom JS bindings should convert to strings
1748         unconditionally and not try to handle null specially.
1749         https://bugs.webkit.org/show_bug.cgi?id=25970
1750
1751         Tests: storage/domstorage/localstorage/string-conversion.html
1752                storage/domstorage/sessionstorage/string-conversion.html
1753
1754         * bindings/js/JSStorageCustom.cpp:
1755         (WebCore::JSStorage::customPut):
1756
1757 2009-05-30  Dan Bernstein  <mitz@apple.com>
1758
1759         Reviewed by Darin Adler.
1760
1761         - fix <rdar://problem/6935192> REGRESSION (Safari 3-TOT): Scroll
1762           bars in key window draw as inactive if the WebView is not active
1763
1764         Test: platform/mac/scrollbars/key-window-not-first-responder.html
1765
1766         * platform/mac/ScrollbarThemeMac.mm:
1767         (WebCore::ScrollbarThemeMac::paint): Use the window's key state instead
1768         of the WebView's first responder state to switch between active and
1769         inactive state.
1770
1771 2009-05-30  Dan Bernstein  <mitz@apple.com>
1772
1773         Reviewed by Simon Fraser.
1774
1775         - fix https://bugs.webkit.org/show_bug.cgi?id=18445
1776           <rdar://problem/5931174> Assertion failure in CSSGradientValue::image
1777           with -webkit-gradient as body's background
1778
1779         Test: fast/backgrounds/body-generated-image-propagated-to-root.html
1780
1781         * rendering/RenderBoxModelObject.cpp:
1782         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Check if this
1783         is the root element painting a background layer propagated from the
1784         body, and if it is, use the body's renderer as the client to
1785         StyleImage::image().
1786
1787 2009-05-30  Holger Hans Peter Freyther  <zecke@selfish.org>
1788
1789         Unreviewed build fix for AXObjectCache.
1790
1791         For !HAVE(ACCESSIBILITY) postNotification was defined twice. Move
1792         that into the #ifdef.
1793
1794         * accessibility/AXObjectCache.cpp:
1795
1796 2009-05-29  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1797
1798         Reviewed by George Staikos.
1799
1800         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26072
1801
1802         Add support for the last missing WML element: <select>. This patch adds WMLSelectElement, providing
1803         the same functionality HTMLSelectElement has. The WML specific features will follow soon.
1804     
1805         Add simple testcase covering <select> element rendering: fast/wml/select.wml
1806
1807         * GNUmakefile.am:
1808         * WebCore.pro:
1809         * WebCore.vcproj/WebCore.vcproj:
1810         * WebCore.xcodeproj/project.pbxproj:
1811         * dom/OptionElement.cpp:
1812         (WebCore::OptionElement::optionIndex):
1813         (WebCore::isOptionElement):
1814         * dom/OptionElement.h:
1815         * dom/OptionGroupElement.cpp:
1816         (WebCore::isOptionGroupElement):
1817         * dom/OptionGroupElement.h:
1818         * dom/SelectElement.cpp:
1819         (WebCore::SelectElement::accessKeySetSelectedIndex):
1820         (WebCore::toSelectElement):
1821         * dom/SelectElement.h:
1822         * html/HTMLOptionElement.cpp:
1823         (WebCore::HTMLOptionElement::index):
1824         * html/HTMLSelectElement.cpp:
1825         (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
1826         * rendering/RenderListBox.cpp:
1827         (WebCore::RenderListBox::paintItemForeground):
1828         * rendering/RenderMenuList.cpp:
1829         (WebCore::RenderMenuList::itemIsEnabled):
1830         (WebCore::RenderMenuList::itemIsLabel):
1831         * wml/WMLFormControlElement.cpp:
1832         (WebCore::WMLFormControlElement::attach):
1833         (WebCore::WMLFormControlElement::recalcStyle):
1834         * wml/WMLFormControlElement.h:
1835         * wml/WMLInputElement.cpp:
1836         (WebCore::WMLInputElement::attach):
1837         * wml/WMLOptGroupElement.cpp:
1838         (WebCore::WMLOptGroupElement::insertBefore):
1839         (WebCore::WMLOptGroupElement::replaceChild):
1840         (WebCore::WMLOptGroupElement::removeChild):
1841         (WebCore::WMLOptGroupElement::appendChild):
1842         (WebCore::WMLOptGroupElement::removeChildren):
1843         (WebCore::ownerSelectElement):
1844         (WebCore::WMLOptGroupElement::accessKeyAction):
1845         (WebCore::WMLOptGroupElement::childrenChanged):
1846         (WebCore::WMLOptGroupElement::parseMappedAttribute):
1847         (WebCore::WMLOptGroupElement::attach):
1848         (WebCore::WMLOptGroupElement::detach):
1849         (WebCore::WMLOptGroupElement::recalcSelectOptions):
1850         * wml/WMLOptionElement.cpp:
1851         (WebCore::ownerSelectElement):
1852         (WebCore::WMLOptionElement::accessKeyAction):
1853         (WebCore::WMLOptionElement::childrenChanged):
1854         (WebCore::WMLOptionElement::parseMappedAttribute):
1855         (WebCore::WMLOptionElement::attach):
1856         (WebCore::WMLOptionElement::detach):
1857         (WebCore::WMLOptionElement::insertedIntoDocument):
1858         * wml/WMLSelectElement.cpp: Added.
1859         (WebCore::WMLSelectElement::WMLSelectElement):
1860         (WebCore::WMLSelectElement::~WMLSelectElement):
1861         (WebCore::WMLSelectElement::formControlType):
1862         (WebCore::WMLSelectElement::isKeyboardFocusable):
1863         (WebCore::WMLSelectElement::isMouseFocusable):
1864         (WebCore::WMLSelectElement::selectAll):
1865         (WebCore::WMLSelectElement::recalcStyle):
1866         (WebCore::WMLSelectElement::dispatchFocusEvent):
1867         (WebCore::WMLSelectElement::dispatchBlurEvent):
1868         (WebCore::WMLSelectElement::selectedIndex):
1869         (WebCore::WMLSelectElement::setSelectedIndex):
1870         (WebCore::WMLSelectElement::saveFormControlState):
1871         (WebCore::WMLSelectElement::restoreFormControlState):
1872         (WebCore::WMLSelectElement::childrenChanged):
1873         (WebCore::WMLSelectElement::parseMappedAttribute):
1874         (WebCore::WMLSelectElement::createRenderer):
1875         (WebCore::WMLSelectElement::appendFormData):
1876         (WebCore::WMLSelectElement::optionToListIndex):
1877         (WebCore::WMLSelectElement::listToOptionIndex):
1878         (WebCore::WMLSelectElement::reset):
1879         (WebCore::WMLSelectElement::defaultEventHandler):
1880         (WebCore::WMLSelectElement::accessKeyAction):
1881         (WebCore::WMLSelectElement::setActiveSelectionAnchorIndex):
1882         (WebCore::WMLSelectElement::setActiveSelectionEndIndex):
1883         (WebCore::WMLSelectElement::updateListBoxSelection):
1884         (WebCore::WMLSelectElement::listBoxOnChange):
1885         (WebCore::WMLSelectElement::menuListOnChange):
1886         (WebCore::WMLSelectElement::activeSelectionStartListIndex):
1887         (WebCore::WMLSelectElement::activeSelectionEndListIndex):
1888         (WebCore::WMLSelectElement::accessKeySetSelectedIndex):
1889         (WebCore::WMLSelectElement::setRecalcListItems):
1890         (WebCore::WMLSelectElement::scrollToSelection):
1891         (WebCore::WMLSelectElement::insertedIntoTree):
1892         * wml/WMLSelectElement.h: Added.
1893         (WebCore::WMLSelectElement::canSelectAll):
1894         (WebCore::WMLSelectElement::canStartSelection):
1895         (WebCore::WMLSelectElement::size):
1896         (WebCore::WMLSelectElement::multiple):
1897         (WebCore::WMLSelectElement::listItems):
1898         * wml/WMLTagNames.in:
1899
1900 2009-05-29  David Levin  <levin@chromium.org>
1901
1902         Reviewed by NOBODY (build fix for windows).
1903
1904         http://trac.webkit.org/changeset/44279 left in a "Vector<WCHAR> localeNameBuf"
1905         that it was trying to replace.  Resulting in this variable being defined twice (and
1906         the second time incorrectly).
1907
1908         * platform/win/Language.cpp:
1909         (WebCore::localeInfo):
1910
1911 2009-05-29  Takeshi Yoshino  <tyoshino@google.com>
1912
1913         Reviewed by Darin Alder.
1914
1915         https://bugs.webkit.org/show_bug.cgi?id=26018
1916
1917         Fix behavior of the Element View of the Web Inspector for double
1918         clicking the element outline tree.
1919
1920         Double clicking the element outline tree should
1921         1) on attribute: enter attribute editing mode
1922         2) on text: enter text editing mode
1923         3) otherwise: change root node to the parent element of double clicked
1924            element.
1925
1926         Now, 3) is broken. For example, clicking <html> clears the element
1927         outline view.
1928
1929         rootDOMNode should be updated to this.representedObject.parentNode, not
1930         this.parent.representedObject which is parent inside the element
1931         outline tree itself.
1932
1933         * inspector/front-end/ElementsTreeOutline.js:
1934         (WebInspector.ElementsTreeElement.prototype.ondblclick):
1935
1936 2009-05-29  David Moore  <davemoore@google.com>
1937
1938         Reviewed by Darin Alder.
1939
1940         https://bugs.webkit.org/show_bug.cgi?id=26001
1941         Change many of the uses of String::adopt() to String::createUninitialized().
1942         This allows those strings to use an inlined buffer for their characters.
1943
1944         * dom/StyleElement.cpp:
1945         Loop over nodes to precompute length of string and then
1946         write the characters into the allocated inline buffer
1947         (WebCore::StyleElement::process):
1948         * dom/Text.cpp:
1949         Loop over nodes to precompute length of string and then
1950         write the characters into the allocated inline buffer
1951         (WebCore::Text::wholeText):
1952         (WebCore::Text::rendererIsNeeded):
1953         (WebCore::Text::createRenderer):
1954         (WebCore::Text::createWithLengthLimit):
1955         (WebCore::Text::formatForDebugger):
1956         * platform/text/String.cpp:
1957         (WebCore::String::append):
1958         (WebCore::String::insert):
1959         (WebCore::String::truncate):
1960         (WebCore::String::remove):
1961         * platform/text/StringBuilder.cpp:
1962         (WebCore::StringBuilder::toString):
1963         * platform/text/StringImpl.cpp:
1964         (WebCore::StringImpl::lower):
1965         (WebCore::StringImpl::upper):
1966         (WebCore::StringImpl::secure):
1967         (WebCore::StringImpl::foldCase):
1968         (WebCore::StringImpl::replace):
1969         * platform/text/TextCodecLatin1.cpp:
1970         (WebCore::TextCodecLatin1::decode):
1971         * platform/text/TextCodecUserDefined.cpp:
1972         (WebCore::TextCodecUserDefined::decode):
1973         * platform/win/Language.cpp:
1974         (WebCore::localeInfo):
1975
1976 2009-05-29  Takeshi Yoshino  <tyoshino@google.com>
1977
1978         Reviewed by Darin Alder.
1979
1980         Bug 25911: Apply href in base elements to anchors shown on the source viewer
1981         https://bugs.webkit.org/show_bug.cgi?id=25911
1982
1983         In rendering HTML sources, parse base elements to apply the base URI to
1984         anchors shown on the source viewer.
1985
1986         This issue was originally reported to the Chromium issue tracker.
1987         http://code.google.com/p/chromium/issues/detail?id=2418
1988
1989         Test: fast/frames/viewsource-link-on-href-value.html
1990
1991         * html/HTMLViewSourceDocument.cpp:
1992         (WebCore::HTMLViewSourceDocument::addViewSourceToken):
1993
1994 2009-05-29  Rob Buis  <rwlbuis@gmail.com>
1995
1996         Reviewed by David Hyatt.
1997
1998         https://bugs.webkit.org/show_bug.cgi?id=22429
1999         document.styleSheets collection ignores media=presentation
2000
2001         Ensure that stylesheets though <link> show up in document.styleSheets regardless of media attribute.
2002
2003         Test: fast/css/sheet-collection-link.html
2004
2005         * html/HTMLLinkElement.cpp:
2006         (WebCore::HTMLLinkElement::process):
2007
2008 2009-05-29  Jian Li  <jianli@chromium.org>
2009
2010         Reviewed by Dimitri Glazkov.
2011
2012         https://bugs.webkit.org/show_bug.cgi?id=26069
2013         Fix a crash in custom V8 bindings code for XMLHttpRequest.
2014
2015         Test: fast/xmlhttprequest/xmlhttprequest-open-after-iframe-onload-remove-self.html
2016
2017         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2018         (WebCore::CALLBACK_FUNC_DECL):
2019
2020 2009-05-29  David Levin  <levin@chromium.org>
2021
2022         Reviewed by Darin Adler.
2023
2024         Bug 26074: SQLTransaction::executeSQL does an unnecessary call to String::copy.
2025         https://bugs.webkit.org/show_bug.cgi?id=26074
2026
2027         The constructor for SQLStatement already does a copy for this string.
2028
2029         * storage/SQLTransaction.cpp:
2030         (WebCore::SQLTransaction::executeSQL):
2031
2032 2009-05-29  Darin Adler  <darin@apple.com>
2033
2034         Fix build; the new Cairo code compiled on Windows only.
2035
2036         * platform/graphics/gtk/FontPlatformData.h: Added syntheticBold
2037         and syntheticOblique functions as in the Windows version to make it
2038         easier to use this cross-platform. Later we can make data members
2039         private as in the Windows version.
2040         * platform/graphics/mac/FontPlatformData.h: Ditto.
2041
2042 2009-05-29  Alexander Macdonald  <alexmac@adobe.com>
2043
2044         Reviewed by Darin Adler.
2045
2046         Added support for synthetic bold/oblique font rendering
2047         on platforms that use cairo.
2048
2049         * platform/graphics/SimpleFontData.h:
2050         * platform/graphics/cairo/FontCairo.cpp:
2051         (WebCore::Font::drawGlyphs):
2052         * platform/graphics/gtk/SimpleFontDataGtk.cpp:
2053         (WebCore::SimpleFontData::platformInit):
2054         * platform/graphics/gtk/SimpleFontDataPango.cpp:
2055         (WebCore::SimpleFontData::platformInit):
2056         * platform/graphics/win/SimpleFontDataCairoWin.cpp:
2057         (WebCore::SimpleFontData::platformInit):
2058
2059 2009-05-29  Chris Fleizach  <cfleizach@apple.com>
2060
2061         Reviewed by Beth Dakin.
2062
2063         Bug 26024: AX: possible to fail assertion because AXPostNotification calls accessibilityIsIgnored
2064         https://bugs.webkit.org/show_bug.cgi?id=26024
2065
2066         AX notifications are posted after a one shot timer so that notifications are not performed mid-layout.
2067         Consolidated postNotification and postNotificationToElement into one method.
2068
2069         * accessibility/AXObjectCache.cpp:
2070         (WebCore::AXObjectCache::AXObjectCache):
2071         (WebCore::AXObjectCache::notificationPostTimerFired):
2072         (WebCore::AXObjectCache::postNotification):
2073         (WebCore::AXObjectCache::selectedChildrenChanged):
2074         * accessibility/AXObjectCache.h:
2075         (WebCore::AXObjectCache::postNotification):
2076         (WebCore::AXObjectCache::postPlatformNotification):
2077         * accessibility/AccessibilityRenderObject.cpp:
2078         (WebCore::AccessibilityRenderObject::handleActiveDescendantChanged):
2079         * accessibility/chromium/AXObjectCacheChromium.cpp:
2080         (WebCore::AXObjectCache::postPlatformNotification):
2081         * accessibility/gtk/AXObjectCacheAtk.cpp:
2082         (WebCore::AXObjectCache::postPlatformNotification):
2083         * accessibility/mac/AXObjectCacheMac.mm:
2084         (WebCore::AXObjectCache::postPlatformNotification):
2085         * accessibility/win/AXObjectCacheWin.cpp:
2086         (WebCore::AXObjectCache::postPlatformNotification):
2087         * dom/Document.cpp:
2088         (WebCore::Document::implicitClose):
2089         * editing/Editor.cpp:
2090         (WebCore::Editor::respondToChangedContents):
2091         * editing/mac/SelectionControllerMac.mm:
2092         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2093         * page/FrameView.cpp:
2094         (WebCore::FrameView::layout):
2095         * rendering/RenderTextControl.cpp:
2096         (WebCore::RenderTextControl::setInnerTextValue):
2097
2098 2009-05-29  Brent Fulgham  <bfulgham@webkit.org>
2099
2100         Reviewed by Adam Roben.
2101
2102         Build fix for Windows Cairo target.
2103         https://bugs.webkit.org/show_bug.cgi?id=25972
2104
2105         Compiler mistakenly selects SMILTime min/max instead of STL version,
2106         resulting in a build error.  This change makes the meaning of the
2107         min/max explicit and avoids the problem.
2108
2109         * html/TimeRanges.h:
2110         (WebCore::TimeRanges::Range::unionWithOverlappingOrContiguousRange):
2111
2112 2009-05-29  Gustavo Noronha Silva  <gns@gnome.org>
2113
2114         Reviewed by Jan Alonzo.
2115
2116         Make SoupMessage a member of ResourceRequest, instead of creating
2117         it in startHttp. Implement updating of ResourceRequest from
2118         SoupMessage, and vice versa.
2119
2120         * GNUmakefile.am:
2121         * platform/network/soup/ResourceHandleSoup.cpp:
2122         (WebCore::ResourceHandle::~ResourceHandle):
2123         (WebCore::gotHeadersCallback):
2124         (WebCore::ResourceHandle::startHttp):
2125         * platform/network/soup/ResourceRequest.h:
2126         (WebCore::ResourceRequest::ResourceRequest):
2127         (WebCore::ResourceRequest::~ResourceRequest):
2128         * platform/network/soup/ResourceRequestSoup.cpp: Added.
2129         (WTF::SoupURI):
2130         (WebCore::ResourceRequest::soupMessage):
2131         (WebCore::ResourceRequest::ResourceRequest):
2132         (WebCore::ResourceRequest::doUpdateResourceRequest):
2133         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2134
2135 2009-05-28  Dmitry Titov  <dimich@chromium.org>
2136
2137         Reviewed by Dimitri Glazkov.
2138
2139         https://bugs.webkit.org/show_bug.cgi?id=26068
2140         V8: Remove the remaining b8::Locker usage in worker code.
2141         This completes the fix for https://bugs.webkit.org/show_bug.cgi?id=25944,
2142         since the patches for enabling timers and that bug have "crossed in the queue".
2143         Existing LayoutTests/fast/workers/worker-timeout.html covers this fix (will start work in Chromium).
2144
2145         * bindings/v8/ScheduledAction.cpp:
2146         (WebCore::ScheduledAction::execute):
2147
2148 2009-05-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2149
2150         Reviewed by Xan Lopez.
2151
2152         Simplify the Accept-Encoding header we are sending out, for it
2153         seems some servers do not enjoy parsing the full, explicit
2154         version.
2155
2156         * platform/network/soup/ResourceHandleSoup.cpp:
2157         (WebCore::ResourceHandle::startHttp):
2158
2159 2009-05-28  Dirk Schulze  <krit@webkit.org>
2160
2161         Reviewed by Nikolas Zimmermann.
2162
2163         Added a new build flag --filters. This replaces the old --svg-filters and enables
2164         other parts of WebKit to use some basic filters of platform/graphics/filters if needed.
2165         This patch also fixes a bug in dom/DOMImplementation.cpp where we used SVG_FILTER. This flag
2166         doesn't exist and was replaced by FILTERS as well as all SVG_FILTERS occurrences.
2167         Filters are not working yet. This patch is just a preperation. Filters are deactivated by
2168         default. 
2169
2170         * Configurations/FeatureDefines.xcconfig:
2171         * DerivedSources.make:
2172         * GNUmakefile.am:
2173         * WebCore.pro:
2174         * bindings/objc/DOM.mm:
2175         (WebCore::createElementClassMap):
2176         * dom/DOMImplementation.cpp:
2177         (WebCore::isSVG10Feature):
2178         (WebCore::isSVG11Feature):
2179         * page/DOMWindow.idl:
2180         * platform/graphics/filters/FEBlend.cpp:
2181         * platform/graphics/filters/FEBlend.h:
2182         * platform/graphics/filters/FEColorMatrix.cpp:
2183         * platform/graphics/filters/FEColorMatrix.h:
2184         * platform/graphics/filters/FEComponentTransfer.cpp:
2185         * platform/graphics/filters/FEComponentTransfer.h:
2186         * platform/graphics/filters/FEComposite.cpp:
2187         * platform/graphics/filters/FEComposite.h:
2188         * platform/graphics/filters/FilterEffect.cpp:
2189         * platform/graphics/filters/FilterEffect.h:
2190         * platform/graphics/filters/SourceAlpha.cpp:
2191         * platform/graphics/filters/SourceAlpha.h:
2192         * platform/graphics/filters/SourceGraphic.cpp:
2193         * platform/graphics/filters/SourceGraphic.h:
2194         * rendering/RenderSVGContainer.cpp:
2195         (WebCore::RenderSVGContainer::selfWillPaint):
2196         * rendering/RenderSVGModelObject.cpp:
2197         * rendering/RenderSVGRoot.cpp:
2198         (WebCore::RenderSVGRoot::selfWillPaint):
2199         * rendering/SVGRenderSupport.cpp:
2200         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2201         (WebCore::SVGRenderBase::finishRenderSVGContent):
2202         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
2203         * svg/Filter.cpp:
2204         * svg/Filter.h:
2205         * svg/FilterBuilder.cpp:
2206         * svg/FilterBuilder.h:
2207         * svg/SVGComponentTransferFunctionElement.cpp:
2208         * svg/SVGComponentTransferFunctionElement.h:
2209         * svg/SVGComponentTransferFunctionElement.idl:
2210         * svg/SVGFEBlendElement.cpp:
2211         * svg/SVGFEBlendElement.h:
2212         * svg/SVGFEBlendElement.idl:
2213         * svg/SVGFEColorMatrixElement.cpp:
2214         * svg/SVGFEColorMatrixElement.h:
2215         * svg/SVGFEColorMatrixElement.idl:
2216         * svg/SVGFEComponentTransferElement.cpp:
2217         * svg/SVGFEComponentTransferElement.h:
2218         * svg/SVGFEComponentTransferElement.idl:
2219         * svg/SVGFECompositeElement.cpp:
2220         * svg/SVGFECompositeElement.h:
2221         * svg/SVGFECompositeElement.idl:
2222         * svg/SVGFEDiffuseLightingElement.cpp:
2223         * svg/SVGFEDiffuseLightingElement.h:
2224         * svg/SVGFEDiffuseLightingElement.idl:
2225         * svg/SVGFEDisplacementMapElement.cpp:
2226         * svg/SVGFEDisplacementMapElement.h:
2227         * svg/SVGFEDisplacementMapElement.idl:
2228         * svg/SVGFEDistantLightElement.cpp:
2229         * svg/SVGFEDistantLightElement.h:
2230         * svg/SVGFEDistantLightElement.idl:
2231         * svg/SVGFEFloodElement.cpp:
2232         * svg/SVGFEFloodElement.h:
2233         * svg/SVGFEFloodElement.idl:
2234         * svg/SVGFEFuncAElement.cpp:
2235         * svg/SVGFEFuncAElement.h:
2236         * svg/SVGFEFuncAElement.idl:
2237         * svg/SVGFEFuncBElement.cpp:
2238         * svg/SVGFEFuncBElement.h:
2239         * svg/SVGFEFuncBElement.idl:
2240         * svg/SVGFEFuncGElement.cpp:
2241         * svg/SVGFEFuncGElement.h:
2242         * svg/SVGFEFuncGElement.idl:
2243         * svg/SVGFEFuncRElement.cpp:
2244         * svg/SVGFEFuncRElement.h:
2245         * svg/SVGFEFuncRElement.idl:
2246         * svg/SVGFEGaussianBlurElement.cpp:
2247         * svg/SVGFEGaussianBlurElement.h:
2248         * svg/SVGFEGaussianBlurElement.idl:
2249         * svg/SVGFEImageElement.cpp:
2250         * svg/SVGFEImageElement.h:
2251         * svg/SVGFEImageElement.idl:
2252         * svg/SVGFELightElement.cpp:
2253         * svg/SVGFELightElement.h:
2254         * svg/SVGFEMergeElement.cpp:
2255         * svg/SVGFEMergeElement.h:
2256         * svg/SVGFEMergeElement.idl:
2257         * svg/SVGFEMergeNodeElement.cpp:
2258         * svg/SVGFEMergeNodeElement.h:
2259         * svg/SVGFEMergeNodeElement.idl:
2260         * svg/SVGFEOffsetElement.cpp:
2261         * svg/SVGFEOffsetElement.h:
2262         * svg/SVGFEOffsetElement.idl:
2263         * svg/SVGFEPointLightElement.cpp:
2264         * svg/SVGFEPointLightElement.h:
2265         * svg/SVGFEPointLightElement.idl:
2266         * svg/SVGFESpecularLightingElement.cpp:
2267         * svg/SVGFESpecularLightingElement.h:
2268         * svg/SVGFESpecularLightingElement.idl:
2269         * svg/SVGFESpotLightElement.cpp:
2270         * svg/SVGFESpotLightElement.h:
2271         * svg/SVGFESpotLightElement.idl:
2272         * svg/SVGFETileElement.cpp:
2273         * svg/SVGFETileElement.h:
2274         * svg/SVGFETileElement.idl:
2275         * svg/SVGFETurbulenceElement.cpp:
2276         * svg/SVGFETurbulenceElement.h:
2277         * svg/SVGFETurbulenceElement.idl:
2278         * svg/SVGFilterElement.cpp:
2279         * svg/SVGFilterElement.h:
2280         * svg/SVGFilterElement.idl:
2281         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2282         * svg/SVGFilterPrimitiveStandardAttributes.h:
2283         * svg/graphics/SVGResourceFilter.cpp:
2284         * svg/graphics/SVGResourceFilter.h:
2285         * svg/graphics/cairo/SVGResourceFilterCairo.cpp:
2286         * svg/graphics/cg/SVGResourceFilterCg.cpp:
2287         * svg/graphics/cg/SVGResourceFilterCg.mm:
2288         * svg/graphics/filters/SVGDistantLightSource.h:
2289         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
2290         * svg/graphics/filters/SVGFEConvolveMatrix.h:
2291         * svg/graphics/filters/SVGFEDiffuseLighting.cpp:
2292         * svg/graphics/filters/SVGFEDiffuseLighting.h:
2293         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
2294         * svg/graphics/filters/SVGFEDisplacementMap.h:
2295         * svg/graphics/filters/SVGFEFlood.cpp:
2296         * svg/graphics/filters/SVGFEFlood.h:
2297         * svg/graphics/filters/SVGFEGaussianBlur.cpp:
2298         * svg/graphics/filters/SVGFEGaussianBlur.h:
2299         * svg/graphics/filters/SVGFEImage.cpp:
2300         * svg/graphics/filters/SVGFEImage.h:
2301         * svg/graphics/filters/SVGFEMerge.cpp:
2302         * svg/graphics/filters/SVGFEMerge.h:
2303         * svg/graphics/filters/SVGFEMorphology.cpp:
2304         * svg/graphics/filters/SVGFEMorphology.h:
2305         * svg/graphics/filters/SVGFEOffset.cpp:
2306         * svg/graphics/filters/SVGFEOffset.h:
2307         * svg/graphics/filters/SVGFESpecularLighting.cpp:
2308         * svg/graphics/filters/SVGFESpecularLighting.h:
2309         * svg/graphics/filters/SVGFETile.cpp:
2310         * svg/graphics/filters/SVGFETile.h:
2311         * svg/graphics/filters/SVGFETurbulence.cpp:
2312         * svg/graphics/filters/SVGFETurbulence.h:
2313         * svg/graphics/filters/SVGFilterEffect.cpp:
2314         * svg/graphics/filters/SVGFilterEffect.h:
2315         * svg/graphics/filters/SVGLightSource.cpp:
2316         * svg/graphics/filters/SVGLightSource.h:
2317         * svg/graphics/filters/SVGPointLightSource.h:
2318         * svg/graphics/filters/SVGSpotLightSource.h:
2319         * svg/graphics/filters/cg/SVGFEHelpersCg.h:
2320         * svg/graphics/filters/cg/SVGFEHelpersCg.mm:
2321         * svg/graphics/filters/cg/SVGFilterEffectCg.mm:
2322         * svg/graphics/filters/cg/WKArithmeticFilter.h:
2323         * svg/graphics/filters/cg/WKArithmeticFilter.m:
2324         * svg/graphics/filters/cg/WKComponentMergeFilter.h:
2325         * svg/graphics/filters/cg/WKComponentMergeFilter.m:
2326         * svg/graphics/filters/cg/WKDiffuseLightingFilter.h:
2327         * svg/graphics/filters/cg/WKDiffuseLightingFilter.m:
2328         * svg/graphics/filters/cg/WKDiscreteTransferFilter.h:
2329         * svg/graphics/filters/cg/WKDiscreteTransferFilter.m:
2330         * svg/graphics/filters/cg/WKDisplacementMapFilter.h:
2331         * svg/graphics/filters/cg/WKDisplacementMapFilter.m:
2332         * svg/graphics/filters/cg/WKDistantLightFilter.h:
2333         * svg/graphics/filters/cg/WKDistantLightFilter.m:
2334         * svg/graphics/filters/cg/WKGammaTransferFilter.h:
2335         * svg/graphics/filters/cg/WKGammaTransferFilter.m:
2336         * svg/graphics/filters/cg/WKIdentityTransferFilter.h:
2337         * svg/graphics/filters/cg/WKIdentityTransferFilter.m:
2338         * svg/graphics/filters/cg/WKLinearTransferFilter.h:
2339         * svg/graphics/filters/cg/WKLinearTransferFilter.m:
2340         * svg/graphics/filters/cg/WKNormalMapFilter.h:
2341         * svg/graphics/filters/cg/WKNormalMapFilter.m:
2342         * svg/graphics/filters/cg/WKPointLightFilter.h:
2343         * svg/graphics/filters/cg/WKPointLightFilter.m:
2344         * svg/graphics/filters/cg/WKSpecularLightingFilter.h:
2345         * svg/graphics/filters/cg/WKSpecularLightingFilter.m:
2346         * svg/graphics/filters/cg/WKSpotLightFilter.h:
2347         * svg/graphics/filters/cg/WKSpotLightFilter.m:
2348         * svg/graphics/filters/cg/WKTableTransferFilter.h:
2349         * svg/graphics/filters/cg/WKTableTransferFilter.m:
2350         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.h:
2351         * svg/graphics/mac/SVGResourceFilterPlatformDataMac.mm:
2352         * svg/graphics/qt/SVGResourceFilterQt.cpp:
2353         * svg/graphics/skia/SVGResourceFilterSkia.cpp:
2354         * svg/svgtags.in:
2355
2356 2009-05-28  Brett Wilson  <brettw@chromium.org>
2357
2358         Unreviewed, build fix.
2359
2360         https://bugs.webkit.org/show_bug.cgi?id=26067
2361
2362         Add casts for scale function to make more explicit what is happening
2363         and fix a compiler warning.
2364
2365         * platform/graphics/IntSize.h:
2366         (WebCore::IntSize::scale):
2367
2368 2009-05-28  Sam Weinig  <sam@webkit.org>
2369
2370         Reviewed by Darin Adler.
2371
2372         Remove the returnValueSlot concept from JSDOMWindowBase. Now that windows
2373         are not cleared on navigation it is no longer necessary.
2374
2375         * bindings/js/JSDOMWindowBase.cpp:
2376         (WebCore::JSDOMWindowBase::JSDOMWindowBaseData::JSDOMWindowBaseData):
2377         (WebCore::JSDOMWindowBase::willRemoveFromWindowShell):
2378         * bindings/js/JSDOMWindowBase.h:
2379         * bindings/js/JSDOMWindowCustom.cpp:
2380         (WebCore::JSDOMWindow::showModalDialog):
2381
2382 2009-05-19  Xan Lopez  <xlopez@igalia.com>
2383
2384         Reviewed by Jan Alonzo and Gustavo Noronha.
2385
2386         https://bugs.webkit.org/show_bug.cgi?id=25415
2387         [GTK][ATK] Please implement support for get_text_at_offset
2388
2389         Implement atk_text_get_text_{at,after,before}_offset.
2390
2391         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2392
2393 2009-05-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2394
2395         Rubber-stamped by Darin Adler.
2396
2397         Remove unnecessary destructor from InputElementData/OptionElementData.
2398
2399         * dom/InputElement.cpp:
2400         * dom/InputElement.h:
2401         * dom/OptionElement.cpp:
2402         * dom/OptionElement.h:
2403
2404 2009-05-28  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2405
2406         Reviewed by Darin Adler.
2407
2408         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26062
2409
2410         Refactor code from all virtual methods in HTMLSelectElement (that are also needed for WMLSelectElement)
2411         in the recently introduced SelectElement abstract base class. Follow the same design sheme that InputElement uses.
2412
2413         A follow-up patch can now easily add WMLSelectElement.
2414
2415         * dom/OptionElement.h:
2416         * dom/SelectElement.cpp:
2417         (WebCore::SelectElement::selectAll):
2418         (WebCore::SelectElement::saveLastSelection):
2419         (WebCore::isOptionElement):
2420         (WebCore::isOptionGroupElement):
2421         (WebCore::SelectElement::nextSelectableListIndex):
2422         (WebCore::SelectElement::previousSelectableListIndex):
2423         (WebCore::SelectElement::setActiveSelectionAnchorIndex):
2424         (WebCore::SelectElement::setActiveSelectionEndIndex):
2425         (WebCore::SelectElement::updateListBoxSelection):
2426         (WebCore::SelectElement::listBoxOnChange):
2427         (WebCore::SelectElement::menuListOnChange):
2428         (WebCore::SelectElement::scrollToSelection):
2429         (WebCore::SelectElement::recalcStyle):
2430         (WebCore::SelectElement::setRecalcListItems):
2431         (WebCore::SelectElement::recalcListItems):
2432         (WebCore::SelectElement::selectedIndex):
2433         (WebCore::SelectElement::setSelectedIndex):
2434         (WebCore::SelectElement::optionToListIndex):
2435         (WebCore::SelectElement::listToOptionIndex):
2436         (WebCore::SelectElement::dispatchFocusEvent):
2437         (WebCore::SelectElement::dispatchBlurEvent):
2438         (WebCore::SelectElement::deselectItems):
2439         (WebCore::SelectElement::saveFormControlState):
2440         (WebCore::SelectElement::restoreFormControlState):
2441         (WebCore::SelectElement::parseMultipleAttribute):
2442         (WebCore::SelectElement::appendFormData):
2443         (WebCore::SelectElement::reset):
2444         (WebCore::SelectElement::menuListDefaultEventHandler):
2445         (WebCore::SelectElement::listBoxDefaultEventHandler):
2446         (WebCore::SelectElement::defaultEventHandler):
2447         (WebCore::SelectElement::lastSelectedListIndex):
2448         (WebCore::stripLeadingWhiteSpace):
2449         (WebCore::SelectElement::typeAheadFind):
2450         (WebCore::SelectElement::insertedIntoTree):
2451         (WebCore::SelectElementData::SelectElementData):
2452         (WebCore::SelectElementData::checkListItems):
2453         (WebCore::SelectElementData::listItems):
2454         * dom/SelectElement.h:
2455         (WebCore::SelectElementData::multiple):
2456         (WebCore::SelectElementData::setMultiple):
2457         (WebCore::SelectElementData::size):
2458         (WebCore::SelectElementData::setSize):
2459         (WebCore::SelectElementData::usesMenuList):
2460         (WebCore::SelectElementData::lastOnChangeIndex):
2461         (WebCore::SelectElementData::setLastOnChangeIndex):
2462         (WebCore::SelectElementData::lastOnChangeSelection):
2463         (WebCore::SelectElementData::activeSelectionState):
2464         (WebCore::SelectElementData::setActiveSelectionState):
2465         (WebCore::SelectElementData::activeSelectionAnchorIndex):
2466         (WebCore::SelectElementData::setActiveSelectionAnchorIndex):
2467         (WebCore::SelectElementData::activeSelectionEndIndex):
2468         (WebCore::SelectElementData::setActiveSelectionEndIndex):
2469         (WebCore::SelectElementData::cachedStateForActiveSelection):
2470         (WebCore::SelectElementData::shouldRecalcListItems):
2471         (WebCore::SelectElementData::setShouldRecalcListItems):
2472         (WebCore::SelectElementData::rawListItems):
2473         (WebCore::SelectElementData::repeatingChar):
2474         (WebCore::SelectElementData::setRepeatingChar):
2475         (WebCore::SelectElementData::lastCharTime):
2476         (WebCore::SelectElementData::setLastCharTime):
2477         (WebCore::SelectElementData::typedString):
2478         (WebCore::SelectElementData::setTypedString):
2479         * html/HTMLOptionElement.h:
2480         * html/HTMLSelectElement.cpp:
2481         (WebCore::HTMLSelectElement::HTMLSelectElement):
2482         (WebCore::HTMLSelectElement::recalcStyle):
2483         (WebCore::HTMLSelectElement::formControlType):
2484         (WebCore::HTMLSelectElement::selectedIndex):
2485         (WebCore::HTMLSelectElement::deselectItems):
2486         (WebCore::HTMLSelectElement::setSelectedIndex):
2487         (WebCore::HTMLSelectElement::activeSelectionStartListIndex):
2488         (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
2489         (WebCore::HTMLSelectElement::saveFormControlState):
2490         (WebCore::HTMLSelectElement::restoreFormControlState):
2491         (WebCore::HTMLSelectElement::parseMappedAttribute):
2492         (WebCore::HTMLSelectElement::canSelectAll):
2493         (WebCore::HTMLSelectElement::selectAll):
2494         (WebCore::HTMLSelectElement::createRenderer):
2495         (WebCore::HTMLSelectElement::appendFormData):
2496         (WebCore::HTMLSelectElement::optionToListIndex):
2497         (WebCore::HTMLSelectElement::listToOptionIndex):
2498         (WebCore::HTMLSelectElement::recalcListItems):
2499         (WebCore::HTMLSelectElement::setRecalcListItems):
2500         (WebCore::HTMLSelectElement::reset):
2501         (WebCore::HTMLSelectElement::dispatchFocusEvent):
2502         (WebCore::HTMLSelectElement::dispatchBlurEvent):
2503         (WebCore::HTMLSelectElement::defaultEventHandler):
2504         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
2505         (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
2506         (WebCore::HTMLSelectElement::updateListBoxSelection):
2507         (WebCore::HTMLSelectElement::menuListOnChange):
2508         (WebCore::HTMLSelectElement::listBoxOnChange):
2509         (WebCore::HTMLSelectElement::saveLastSelection):
2510         (WebCore::HTMLSelectElement::setOption):
2511         (WebCore::HTMLSelectElement::scrollToSelection):
2512         (WebCore::HTMLSelectElement::insertedIntoTree):
2513         * html/HTMLSelectElement.h:
2514         (WebCore::HTMLSelectElement::size):
2515         (WebCore::HTMLSelectElement::multiple):
2516         (WebCore::HTMLSelectElement::listItems):
2517         * wml/WMLOptionElement.cpp:
2518         (WebCore::WMLOptionElement::text):
2519         * wml/WMLOptionElement.h:
2520
2521
2522         * dom/OptionElement.h:
2523         * dom/SelectElement.cpp:
2524         (WebCore::SelectElement::selectAll):
2525         (WebCore::SelectElement::saveLastSelection):
2526         (WebCore::isOptionElement):
2527         (WebCore::isOptionGroupElement):
2528         (WebCore::SelectElement::nextSelectableListIndex):
2529         (WebCore::SelectElement::previousSelectableListIndex):
2530         (WebCore::SelectElement::setActiveSelectionAnchorIndex):
2531         (WebCore::SelectElement::setActiveSelectionEndIndex):
2532         (WebCore::SelectElement::updateListBoxSelection):
2533         (WebCore::SelectElement::listBoxOnChange):
2534         (WebCore::SelectElement::menuListOnChange):
2535         (WebCore::SelectElement::scrollToSelection):
2536         (WebCore::SelectElement::recalcStyle):
2537         (WebCore::SelectElement::setRecalcListItems):
2538         (WebCore::SelectElement::recalcListItems):
2539         (WebCore::SelectElement::selectedIndex):
2540         (WebCore::SelectElement::setSelectedIndex):
2541         (WebCore::SelectElement::optionToListIndex):
2542         (WebCore::SelectElement::listToOptionIndex):
2543         (WebCore::SelectElement::dispatchFocusEvent):
2544         (WebCore::SelectElement::dispatchBlurEvent):
2545         (WebCore::SelectElement::deselectItems):
2546         (WebCore::SelectElement::saveFormControlState):
2547         (WebCore::SelectElement::restoreFormControlState):
2548         (WebCore::SelectElement::parseMultipleAttribute):
2549         (WebCore::SelectElement::appendFormData):
2550         (WebCore::SelectElement::reset):
2551         (WebCore::SelectElement::menuListDefaultEventHandler):
2552         (WebCore::SelectElement::listBoxDefaultEventHandler):
2553         (WebCore::SelectElement::defaultEventHandler):
2554         (WebCore::SelectElement::lastSelectedListIndex):
2555         (WebCore::stripLeadingWhiteSpace):
2556         (WebCore::SelectElement::typeAheadFind):
2557         (WebCore::SelectElement::insertedIntoTree):
2558         (WebCore::SelectElementData::SelectElementData):
2559         (WebCore::SelectElementData::~SelectElementData):
2560         (WebCore::SelectElementData::checkListItems):
2561         (WebCore::SelectElementData::listItems):
2562         * dom/SelectElement.h:
2563         (WebCore::SelectElementData::multiple):
2564         (WebCore::SelectElementData::setMultiple):
2565         (WebCore::SelectElementData::size):
2566         (WebCore::SelectElementData::setSize):
2567         (WebCore::SelectElementData::usesMenuList):
2568         (WebCore::SelectElementData::lastOnChangeIndex):
2569         (WebCore::SelectElementData::setLastOnChangeIndex):
2570         (WebCore::SelectElementData::lastOnChangeSelection):
2571         (WebCore::SelectElementData::activeSelectionState):
2572         (WebCore::SelectElementData::setActiveSelectionState):
2573         (WebCore::SelectElementData::activeSelectionAnchorIndex):
2574         (WebCore::SelectElementData::setActiveSelectionAnchorIndex):
2575         (WebCore::SelectElementData::activeSelectionEndIndex):
2576         (WebCore::SelectElementData::setActiveSelectionEndIndex):
2577         (WebCore::SelectElementData::cachedStateForActiveSelection):
2578         (WebCore::SelectElementData::shouldRecalcListItems):
2579         (WebCore::SelectElementData::setShouldRecalcListItems):
2580         (WebCore::SelectElementData::rawListItems):
2581         (WebCore::SelectElementData::repeatingChar):
2582         (WebCore::SelectElementData::setRepeatingChar):
2583         (WebCore::SelectElementData::lastCharTime):
2584         (WebCore::SelectElementData::setLastCharTime):
2585         (WebCore::SelectElementData::typedString):
2586         (WebCore::SelectElementData::setTypedString):
2587         * html/HTMLOptionElement.h:
2588         * html/HTMLSelectElement.cpp:
2589         (WebCore::HTMLSelectElement::HTMLSelectElement):
2590         (WebCore::HTMLSelectElement::recalcStyle):
2591         (WebCore::HTMLSelectElement::formControlType):
2592         (WebCore::HTMLSelectElement::selectedIndex):
2593         (WebCore::HTMLSelectElement::deselectItems):
2594         (WebCore::HTMLSelectElement::setSelectedIndex):
2595         (WebCore::HTMLSelectElement::activeSelectionStartListIndex):
2596         (WebCore::HTMLSelectElement::activeSelectionEndListIndex):
2597         (WebCore::HTMLSelectElement::saveFormControlState):
2598         (WebCore::HTMLSelectElement::restoreFormControlState):
2599         (WebCore::HTMLSelectElement::parseMappedAttribute):
2600         (WebCore::HTMLSelectElement::canSelectAll):
2601         (WebCore::HTMLSelectElement::selectAll):
2602         (WebCore::HTMLSelectElement::createRenderer):
2603         (WebCore::HTMLSelectElement::appendFormData):
2604         (WebCore::HTMLSelectElement::optionToListIndex):
2605         (WebCore::HTMLSelectElement::listToOptionIndex):
2606         (WebCore::HTMLSelectElement::recalcListItems):
2607         (WebCore::HTMLSelectElement::setRecalcListItems):
2608         (WebCore::HTMLSelectElement::reset):
2609         (WebCore::HTMLSelectElement::dispatchFocusEvent):
2610         (WebCore::HTMLSelectElement::dispatchBlurEvent):
2611         (WebCore::HTMLSelectElement::defaultEventHandler):
2612         (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
2613         (WebCore::HTMLSelectElement::setActiveSelectionEndIndex):
2614         (WebCore::HTMLSelectElement::updateListBoxSelection):
2615         (WebCore::HTMLSelectElement::menuListOnChange):
2616         (WebCore::HTMLSelectElement::listBoxOnChange):
2617         (WebCore::HTMLSelectElement::saveLastSelection):
2618         (WebCore::HTMLSelectElement::setOption):
2619         (WebCore::HTMLSelectElement::scrollToSelection):
2620         (WebCore::HTMLSelectElement::insertedIntoTree):
2621         * html/HTMLSelectElement.h:
2622         (WebCore::HTMLSelectElement::size):
2623         (WebCore::HTMLSelectElement::multiple):
2624         (WebCore::HTMLSelectElement::listItems):
2625         * wml/WMLOptionElement.cpp:
2626         (WebCore::WMLOptionElement::text):
2627         * wml/WMLOptionElement.h:
2628
2629 2009-05-28  Adam Roben  <aroben@apple.com>
2630
2631         Don't try to use the new combobox parts on Vista in Classic mode
2632
2633         Fixes:
2634         <rdar://problem/6929277> REGRESSION (r42289+r42350): Windows Classic
2635         theme: drop down lists in Preferences get a line/square
2636         <rdar://problem/6929298> REGRESSION (r42289): Windows Classic: drop
2637         down lists are black with a circle on many sites
2638
2639         Reviewed by Steve Falkenburg.
2640
2641         * rendering/RenderThemeWin.cpp:
2642         (WebCore::RenderThemeWin::paintMenuList): Only use the new combobox
2643         parts when we have a theme (i.e., when we're not in Classic mode).
2644         When we don't have a theme, fall back to the pre-r42289 code.
2645
2646 2009-05-27  Peter Kasting  <pkasting@google.com>
2647
2648         Reviewed by Simon Fraser.
2649
2650         https://bugs.webkit.org/show_bug.cgi?id=25659
2651         Avoid calling frameCount() unnecessarily (which could lead to extra
2652         GIF decoding).
2653
2654         * platform/graphics/BitmapImage.cpp:
2655         (WebCore::BitmapImage::destroyDecodedDataIfNecessary):
2656
2657 2009-05-28  Simon Fraser  <simon.fraser@apple.com>
2658
2659         Reviewed by Oliver Hunt.
2660         
2661         https://bugs.webkit.org/show_bug.cgi?id=8736
2662
2663         Tests: fast/borders/border-radius-constraints.html
2664                fast/borders/border-radius-split-inline.html
2665                
2666         When the sum of the corner radii on a side exceed the length of the side,
2667         reduce the radii according to CSS 3 rules.
2668         
2669         Add RenderStyle::getBorderRadiiForRect() to fetch corner radii, applying
2670         the constraints. Use that for painting borders, box-shadow, clipping replaced
2671         elements
2672
2673         * platform/graphics/IntSize.h:
2674         (WebCore::IntSize::scale):
2675         Add a scale method that scales by a float (using C rounding rules, like IntRect::scale()).
2676
2677         * platform/graphics/Path.cpp:
2678         Make the QUARTER const static.
2679
2680         * rendering/RenderBox.cpp:
2681         (WebCore::RenderBox::pushContentsClip):
2682         Use getBorderRadiiForRect to fetch border radii.
2683
2684         * rendering/RenderBoxModelObject.cpp:
2685         (WebCore::RenderBoxModelObject::paintFillLayerExtended):
2686         Use getBorderRadiiForRect to fetch border radii.
2687
2688         (WebCore::RenderBoxModelObject::paintBorder):
2689         Use getBorderRadiiForRect to fetch border radii, and fix a bug when drawing
2690         borders for split inlines, which used to apply the radii for each segment,
2691         and no longer does.
2692
2693         (WebCore::RenderBoxModelObject::paintBoxShadow):
2694         Use getBorderRadiiForRect to fetch border radii.
2695
2696         * rendering/RenderReplaced.cpp:
2697         (WebCore::RenderReplaced::paint):
2698         Use getBorderRadiiForRect to fetch border radii for clipping.
2699
2700         * rendering/RenderWidget.cpp:
2701         (WebCore::RenderWidget::paint):
2702         Use getBorderRadiiForRect to fetch border radii for clipping.
2703
2704         * rendering/style/RenderStyle.h:
2705         * rendering/style/RenderStyle.cpp:
2706         (WebCore::RenderStyle::getBorderRadiiForRect):
2707         New bottleneck method to fetch corner radiil given a rect, applying the constraint
2708         rules.
2709
2710 2009-05-28  Alexey Proskuryakov  <ap@webkit.org>
2711
2712         Reviewed by Darin Adler.
2713
2714         https://bugs.webkit.org/show_bug.cgi?id=26005
2715         Optimization for XPath //* does not preserve context size
2716
2717         Test: fast/xpath/position.html
2718
2719         Fixed the bug by removing the incorrect optimization, and made enough micro-optimizations to
2720         get a performance progression on my tests.
2721
2722         * xml/XPathPath.h: Removed broken optimizeStepPair().
2723
2724         * xml/XPathPath.cpp:
2725         (WebCore::XPath::LocationPath::evaluate): Style fix.
2726         (WebCore::XPath::LocationPath::appendStep): Don't call optimizeStepPair().
2727         (WebCore::XPath::LocationPath::insertFirstStep): Ditto.
2728         (WebCore::XPath::Path::Path): Style fix.
2729
2730         * xml/XPathStep.cpp:
2731         (WebCore::XPath::primaryNodeType): Turned this member function into a static inline helper.
2732         (WebCore::XPath::nodeMatches): Ditto. Don't check for namespace axis, which is unsupported
2733         (and might never be).
2734         (WebCore::XPath::Step::nodesInAxis): Updated for the new nodeMatches() signature.
2735
2736         * xml/XPathStep.h:
2737         (WebCore::XPath::Step::NodeTest::data):
2738         (WebCore::XPath::Step::NodeTest::namespaceURI):
2739         Made these data members AtomicString to avoid repeated conversions. This is the biggest
2740         performance win here.
2741
2742         * xml/XPathUtil.cpp: (WebCore::XPath::stringValue): Reserve some capacity upfront.
2743
2744 2009-05-28  Stephen White  <senorblanco@chromium.org>
2745
2746         Reviewed by Dimitri Glazkov.
2747
2748         When creating a linear or radial gradient with a single stop
2749         at offset 1.0, the Skia layer was allocating 3 stops, but only
2750         filling 2, leaving one uninitialized.  Only 2 stops are necessary
2751         in this case, at offsets (0.0, 1.0).
2752
2753         http://bugs.webkit.org/show_bug.cgi?id=26063
2754
2755         Covered by: LayoutTests/svg/W3C-SVG-1.1/pservers-grad-16-b.svg
2756                     LayoutTests/svg/custom/gradient-stop-corner-cases.svg
2757                     LayoutTests/svg/custom/js-late-gradient-and-object-creation.svg
2758
2759         * platform/graphics/skia/GradientSkia.cpp:
2760         (WebCore::totalStopsNeeded):
2761
2762 2009-05-28  Yury Semikhatsky  <yurys@chromium.org>
2763
2764         Reviewed by Timothy Hatcher.
2765
2766         https://bugs.webkit.org/show_bug.cgi?id=26041
2767         Allow adding resource source to WebInspector.SourceFrame asynchronously.
2768
2769         Provide common implementation for InspectorController::addResourceSourceToFrame and
2770         InspectorController::addSourceToFrame methods.
2771
2772         * bindings/js/JSInspectorControllerCustom.cpp:
2773         * bindings/v8/custom/V8InspectorControllerCustom.cpp:
2774         * inspector/InspectorController.cpp:
2775         (WebCore::InspectorController::addResourceSourceToFrame):
2776         * inspector/InspectorController.h:
2777         * inspector/InspectorController.idl:
2778         * inspector/front-end/SourceFrame.js:
2779         (WebInspector.SourceFrame.prototype.revealLine):
2780         (WebInspector.SourceFrame.prototype.highlightLine):
2781         (WebInspector.SourceFrame.prototype._loaded):
2782         (WebInspector.SourceFrame.prototype._isContentLoaded):
2783         * inspector/front-end/SourceView.js:
2784         (WebInspector.SourceView.prototype.setupSourceFrameIfNeeded):
2785         (WebInspector.SourceView.prototype._contentLoaded):
2786
2787 2009-05-28  Holger Hans Peter Freyther  <zecke@selfish.org>
2788
2789         Reviewed by Xan Lopez.
2790
2791         After r44177 we had a problem when increasing the size
2792         of the window the scrollbars stayed and were not hidden.
2793         This was due WebCore giving up on the Scrollbar as it became
2794         unnecessary but the GtkAdjustment remained unchanged.
2795         So from the point of view of the GtkScrolledWindow scrolling
2796         was still necessary and the GtkScrollbar kept being displayed.
2797
2798         Solve the issue by resetting the GtkAdjustment in the
2799         destructor of ScrollbarGtk.
2800
2801         * platform/gtk/ScrollbarGtk.cpp:
2802         (ScrollbarGtk::~ScrollbarGtk):
2803
2804 2009-05-28  Adam Barth  <abarth@webkit.org>
2805
2806         Reviewed by Darin Adler.
2807
2808         Clean up window.open()'s use of lexical and dynamic scope.
2809
2810         (Added one unreviewed tweak: use dynamicFrame instead of lexicalFrame
2811         for DOMWindow::allowPopUp.)
2812
2813         Test: http/tests/security/frameNavigation/context-for-window-open.html
2814
2815         * bindings/js/JSDOMBinding.cpp:
2816         (WebCore::toDynamicFrame):
2817         (WebCore::processingUserGesture):
2818         (WebCore::completeURL):
2819         * bindings/js/JSDOMBinding.h:
2820         * bindings/js/JSDOMWindowCustom.cpp:
2821         (WebCore::createWindow):
2822         (WebCore::JSDOMWindow::open):
2823         (WebCore::JSDOMWindow::showModalDialog):
2824         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2825         (WebCore::CALLBACK_FUNC_DECL):
2826         (WebCore::createWindow):
2827
2828 2009-05-27  Alexey Proskuryakov  <ap@webkit.org>
2829
2830         Reviewed by Oliver Hunt.
2831
2832         https://bugs.webkit.org/show_bug.cgi?id=26056
2833         XPath string() function can be very slow
2834
2835         * xml/XPathUtil.cpp: (WebCore::XPath::stringValue): Use an intermediate Vector when appending.
2836
2837 2009-05-27  Dan Bernstein  <mitz@apple.com>
2838
2839         Reviewed by Sam Weinig.
2840
2841         - fix <rdar://problem/6927761> <isindex> placeholder text is unstylable
2842           and initially not visible
2843
2844         Test: fast/forms/isindex-placeholder.html
2845
2846         * css/html4.css: Added a default style for <isindex> placeholder text.
2847         * html/HTMLInputElement.cpp:
2848         (WebCore::HTMLInputElement::parseMappedAttribute): Changed to call
2849         the new protected function updatePlaceholderVisibility().
2850         * html/HTMLInputElement.h:
2851         (WebCore::HTMLInputElement::updatePlaceholderVisibility): Added this
2852         protected function to allow HTMLIsIndexElement::parseMappedAttribute()
2853         to invoke InputElement::updatePlaceholderVisibility().
2854         * html/HTMLIsIndexElement.cpp:
2855         (WebCore::HTMLIsIndexElement::parseMappedAttribute): Call
2856         updatePlaceholderVisibility() when parsing the placeholder attribute.
2857         * rendering/RenderTextControlSingleLine.cpp:
2858         (WebCore::RenderTextControlSingleLine::createInnerTextStyle): If there
2859         is no placeholder pseudo-element style, use the normal style.
2860
2861 2009-05-27  Sam Weinig  <sam@webkit.org>
2862
2863         Reviewed by Maciej Stachowiak.
2864
2865         More cleanup of DOMWindow related functions.
2866
2867         * bindings/js/JSDOMWindowBase.cpp:
2868         (WebCore::JSDOMWindowBase::willRemoveFromWindowShell): Renamed from JSDOMWindowBase::clear()
2869         * bindings/js/JSDOMWindowBase.h:
2870
2871         * bindings/js/JSDOMWindowCustom.cpp:
2872         (WebCore::JSDOMWindow::showModalDialog): Update Comment.
2873
2874         * bindings/js/JSDOMWindowShell.cpp:
2875         * bindings/js/JSDOMWindowShell.h:
2876         Remove JSDOMWindowShell::clear().  It was unused.
2877
2878         * bindings/js/ScriptController.cpp:
2879         (WebCore::ScriptController::clearWindowShell):
2880
2881 2009-05-27  Sam Weinig  <sam@webkit.org>
2882
2883         Reviewed by David Hyatt.
2884
2885         Miscellaneous cleanup of DOMWindow related functions.
2886
2887         * bindings/js/JSDOMGlobalObject.cpp:
2888         (WebCore::JSDOMGlobalObject::~JSDOMGlobalObject): Fix poorly named variables.
2889         * bindings/js/JSDOMWindowBase.cpp:
2890         (WebCore::JSDOMWindowBase::supportsProfiling): Don't jump through hoops
2891         checking for null frames if the build does not support profiling.
2892         (WebCore::JSDOMWindowBase::clear): Use setCurrentEvent(0) instead of calling
2893         clearHelperObjectProperties().  It is clearer.
2894         * bindings/js/JSDOMWindowBase.h:
2895         Removed now unused clearHelperObjectProperties() function, empty disconnectFrame()
2896         function, and the empty destructor.
2897         * bindings/js/JSDOMWindowShell.cpp:
2898         * bindings/js/JSDOMWindowShell.h:
2899         Remove disconnectFrame() which only called JSDOMWindowBase::disconnectFrame(), which
2900         is a no-op.
2901         * page/Frame.cpp:
2902         (WebCore::Frame::~Frame):
2903         (WebCore::Frame::pageDestroyed):
2904         Remove calls to JSDOMWindowShell::disconnectFrame() which only called
2905         JSDOMWindowBase::disconnectFrame(), which is a no-op.
2906
2907 2009-05-27  Dimitri Glazkov  <dglazkov@chromium.org>
2908
2909         Unreviewed, build fix.
2910
2911         https://bugs.webkit.org/show_bug.cgi?id=25974
2912         Remove extra qualifiers from the ScheduledAction decl.
2913
2914         * bindings/v8/ScheduledAction.h: Removed extraneous class qualifiers.
2915
2916 2009-05-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2917
2918         Unreviewed make distcheck fix. One more missing file.
2919
2920         * GNUmakefile.am:
2921
2922 2009-05-27  Antonio Gomes   <antonio.gomes@openbossa.org>
2923
2924         Reviewed by Simon Hausmann.
2925
2926         [Qt] Fixed trunk build on Linux after r44126.
2927
2928         * WebCore.pro:
2929
2930 2009-05-27  Eric Carlson  <eric.carlson@apple.com>
2931
2932         Reviewed by Oliver Hunt.
2933
2934         <rdar://problem/6926046> REGRESSION (r43972): http://www.youtube.com/html5 crashes on open
2935
2936         * platform/graphics/MediaPlayer.cpp:
2937         (WebCore::MediaPlayer::load): Don't look for a media engine based on an empty MIME type.
2938
2939 2009-05-27  David Levin  <levin@chromium.org>
2940
2941         Reviewed by Maciej Stachowiak.
2942
2943         Bug 26029: FrameLoader::canLoad should allow calls with just a security origin
2944         https://bugs.webkit.org/show_bug.cgi?id=26029
2945
2946         No functional changes, so no tests.
2947
2948         * loader/FrameLoader.cpp:
2949         (WebCore::FrameLoader::canLoad):
2950         * loader/FrameLoader.h:
2951
2952 2009-05-27  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2953
2954         Unreviewed build fix.
2955
2956         Remove file that does not exist from the build.
2957
2958         * GNUmakefile.am:
2959
2960 2009-05-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2961
2962         Reviewed by Darin Adler.
2963
2964         Remove two unneeded protected constructors, these classes have pure-virtual functions, and can't be constructed anyway.
2965
2966         * dom/InputElement.h:
2967         * dom/OptionGroupElement.h:
2968
2969 2009-05-27  Alexey Proskuryakov  <ap@webkit.org>
2970
2971         Reviewed by Darin Adler.
2972
2973         https://bugs.webkit.org/show_bug.cgi?id=17725
2974         XPath should be case insensitive for HTML
2975
2976         Test: fast/xpath/node-name-case-sensitivity.html
2977
2978         * xml/XPathStep.cpp: (WebCore::XPath::Step::nodeMatches): Made node name check case insensitive
2979         for HTML elements in HTML documents.
2980
2981 2009-05-27  John Sullivan  <sullivan@apple.com>
2982
2983         fixed <rdar://problem/6925482> repro crash in WebCore::DragController::dragExited dropping 
2984         bookmarks (at least) over Top Sites (at least)
2985
2986         Reviewed by Kevin Decker
2987
2988         * page/DragController.cpp:
2989         (WebCore::DragController::dragExited):
2990         nil check m_documentUnderMouse and take the "local file" case if it's nil
2991
2992 2009-05-27  Fridrich Strba  <fridrich.strba@bluewin.ch>
2993
2994         Reviewed by Gustavo Noronha.
2995
2996         When building on window, consider Windows specific files.
2997
2998         * GNUmakefile.am:
2999
3000 2009-05-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3001
3002         Reviewed by George Staikos.
3003
3004         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26031
3005
3006         InputElementData is too heavy, save storing two pointers by passing them
3007         directly to the static helper functions (the only place which needs them). 
3008
3009         * dom/InputElement.cpp:
3010         (WebCore::InputElement::dispatchFocusEvent):
3011         (WebCore::InputElement::dispatchBlurEvent):
3012         (WebCore::InputElement::updatePlaceholderVisibility):
3013         (WebCore::InputElement::updateFocusAppearance):
3014         (WebCore::InputElement::updateSelectionRange):
3015         (WebCore::InputElement::aboutToUnload):
3016         (WebCore::InputElement::setValueFromRenderer):
3017         (WebCore::InputElement::constrainValue):
3018         (WebCore::InputElement::handleBeforeTextInsertedEvent):
3019         (WebCore::InputElement::parseSizeAttribute):
3020         (WebCore::InputElement::parseMaxLengthAttribute):
3021         (WebCore::InputElement::updateValueIfNeeded):
3022         (WebCore::InputElement::notifyFormStateChanged):
3023         (WebCore::InputElementData::InputElementData):
3024         * dom/InputElement.h:
3025         * html/HTMLInputElement.cpp:
3026         (WebCore::HTMLInputElement::HTMLInputElement):
3027         (WebCore::HTMLInputElement::updateFocusAppearance):
3028         (WebCore::HTMLInputElement::aboutToUnload):
3029         (WebCore::HTMLInputElement::dispatchFocusEvent):
3030         (WebCore::HTMLInputElement::dispatchBlurEvent):
3031         (WebCore::HTMLInputElement::setInputType):
3032         (WebCore::HTMLInputElement::setSelectionRange):
3033         (WebCore::HTMLInputElement::parseMappedAttribute):
3034         (WebCore::HTMLInputElement::setValue):
3035         (WebCore::HTMLInputElement::setValueFromRenderer):
3036         (WebCore::HTMLInputElement::setFileListFromRenderer):
3037         (WebCore::HTMLInputElement::defaultEventHandler):
3038         (WebCore::HTMLInputElement::constrainValue):
3039         * wml/WMLInputElement.cpp:
3040         (WebCore::WMLInputElement::WMLInputElement):
3041         (WebCore::WMLInputElement::dispatchFocusEvent):
3042         (WebCore::WMLInputElement::dispatchBlurEvent):
3043         (WebCore::WMLInputElement::updateFocusAppearance):
3044         (WebCore::WMLInputElement::aboutToUnload):
3045         (WebCore::WMLInputElement::setValue):
3046         (WebCore::WMLInputElement::setValueFromRenderer):
3047         (WebCore::WMLInputElement::parseMappedAttribute):
3048         (WebCore::WMLInputElement::defaultEventHandler):
3049         (WebCore::WMLInputElement::constrainValue):
3050
3051 2009-05-27  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
3052
3053         Reviewed by George Staikos.
3054
3055         Fixes: https://bugs.webkit.org/show_bug.cgi?id=26033
3056
3057         OptionElementData saves an Element pointer, which is unnessary.
3058         Just pass it to the static function calls directly.
3059
3060         * dom/OptionElement.cpp:
3061         (WebCore::OptionElement::setSelectedState):
3062         (WebCore::OptionElement::collectOptionText):
3063         (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
3064         (WebCore::OptionElement::collectOptionValue):
3065         (WebCore::OptionElementData::OptionElementData):
3066         * dom/OptionElement.h:
3067         * html/HTMLOptionElement.cpp:
3068         (WebCore::HTMLOptionElement::HTMLOptionElement):
3069         (WebCore::HTMLOptionElement::text):
3070         (WebCore::HTMLOptionElement::value):
3071         (WebCore::HTMLOptionElement::setSelected):
3072         (WebCore::HTMLOptionElement::setSelectedState):
3073         (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
3074         * wml/WMLOptionElement.cpp:
3075         (WebCore::WMLOptionElement::WMLOptionElement):
3076         (WebCore::WMLOptionElement::setSelectedState):
3077         (WebCore::WMLOptionElement::value):
3078         (WebCore::WMLOptionElement::textIndentedToRespectGroupLabel):
3079
3080 2009-05-27  Fridrich Strba  <fridrich.strba@bluewin.ch>
3081
3082         Reviewed by Maciej Stachowiak.
3083
3084         When building with MinGW, don't use the __declspec(dl{import,export})
3085         decorations and rely on the linker to use its nifty auto-import feature.
3086         It is extremely hard to get the decorations right with MinGW in general
3087         and impossible in WebKit, where the resulting shared library is linking 
3088         together some static libraries.
3089
3090         * config.h:
3091
3092 2009-05-26  Holger Hans Peter Freyther  <zecke@selfish.org>
3093
3094         Reviewed by Xan Lopez.
3095
3096         https://bugs.webkit.org/show_bug.cgi?id=25613
3097
3098         Add a WebCore::Widget that can embed GtkWidget with and
3099         without a GdkWindow. This can be used to embed any GtkWidget.
3100
3101         Some bits are directly copied from the Scrollbar implementation
3102         but can not be easily shared here.
3103
3104         * GNUmakefile.am:
3105         * platform/gtk/GtkPluginWidget.cpp: Added.
3106         (WebCore::GtkPluginWidget::GtkPluginWidget):
3107         (WebCore::GtkPluginWidget::invalidateRect):
3108         (WebCore::GtkPluginWidget::frameRectsChanged):
3109         (WebCore::GtkPluginWidget::paint):
3110         * platform/gtk/GtkPluginWidget.h: Added.
3111
3112 2009-05-26  Holger Hans Peter Freyther  <zecke@selfish.org>
3113
3114         Reviewed by Gustavo Noronha.
3115
3116         https://bugs.webkit.org/show_bug.cgi?id=25613.
3117
3118         Implement Widget::setIsSelected for Gtk+ by searching
3119         for a property of the name "webkit-widget-is-selected" and if
3120         such property exists we are going to set it. We expect
3121         the property to take a boolean.
3122
3123         * platform/gtk/WidgetGtk.cpp:
3124         (WebCore::Widget::setIsSelected):
3125
3126 2009-05-26  Sam Weinig  <sam@webkit.org>
3127
3128         Reviewed by Brady Eidson.
3129
3130         Fix for <rdar://problem/6916371>
3131         iWeb 'Announce' button does nothing after publishing to MobileMe
3132
3133         Add ability to force content sniffing for all urls (including file: urls)
3134
3135         * WebCore.base.exp:
3136         * platform/network/ResourceHandle.cpp:
3137         (WebCore::ResourceHandle::shouldContentSniffURL):
3138         (WebCore::ResourceHandle::forceContentSniffing):
3139         * platform/network/ResourceHandle.h:
3140
3141 2009-05-26  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3142
3143         Reviewed by Holger Freyther.
3144
3145         https://bugs.webkit.org/show_bug.cgi?id=25996
3146
3147         [Qt] Dead-code stripping for unix
3148
3149         * WebCore.pro: Turn on GCC dead-code stripping flags for Unix
3150
3151 2009-05-10  Holger Hans Peter Freyther  <zecke@selfish.org>
3152
3153         Reviewed by Dave Hyatt.
3154
3155         https://bugs.webkit.org/show_bug.cgi?id=25646
3156
3157         [GTK] Send onscroll events for the main FrameView
3158
3159         WebKit/GTK+ is currently not sending any onscroll
3160         events for a frame with external adjustments. This is
3161         due the fact that the value-changed signal of the GtkAdjustment
3162         is handled by WebCore::ScrollView directly and is not going through
3163         the WebCore::Scrollbar -> WebCore::ScrollbarClient ->
3164         WebCore::FrameView::valueChanged -> WebCore::ScrollView::valueChanged
3165         path.
3166
3167         Fix the above problem by wrapping the GtkAdjustment we get
3168         assigned from GTK+ in a ScrollbarGtk that will not have any
3169         visual appearance. Remove code from ScrollView that knows
3170         about adjustments and create a special case for
3171         WebCore::ScrollView::createScrollbar that will create such
3172         a special WebCore::ScrollbarGtk.
3173
3174         * platform/ScrollView.cpp: Remove adjustment code
3175         (WebCore::ScrollView::setHasHorizontalScrollbar):
3176         (WebCore::ScrollView::setHasVerticalScrollbar):
3177         (WebCore::ScrollView::updateScrollbars):
3178         (WebCore::ScrollView::wheelEvent):
3179         * platform/ScrollView.h: Remove adjustment code
3180         * platform/gtk/ScrollViewGtk.cpp:
3181         (WebCore::ScrollView::platformDestroy):
3182         (WebCore::ScrollView::createScrollbar):
3183         (WebCore::ScrollView::setGtkAdjustments):
3184         * platform/gtk/ScrollbarGtk.cpp:
3185         (ScrollbarGtk::createScrollbar): Special case.
3186         (ScrollbarGtk::ScrollbarGtk):  New ctor and work on the adjustment
3187         (ScrollbarGtk::~ScrollbarGtk): Disconnect signal
3188         (ScrollbarGtk::frameRectsChanged): Do nothing when we lack a platformWidget
3189         * platform/gtk/ScrollbarGtk.h:
3190
3191 2009-05-26  Cameron Zwarich  <zwarich@apple.com>
3192
3193         Reviewed by Maciej Stachowiak.
3194
3195         Bug 26035: Make ImageSource::frameHasAlphaAtIndex() return false for JPEGs with CG
3196         <https://bugs.webkit.org/show_bug.cgi?id=26035>
3197         <rdar://problem/6924087>
3198
3199         * platform/graphics/cg/ImageSourceCG.cpp:
3200         (WebCore::ImageSource::frameHasAlphaAtIndex): return false if the image
3201         is JPEG, there is no image type, or m_decoder is null.
3202
3203 2009-05-26  Holger Hans Peter Freyther  <zecke@selfish.org>
3204
3205         Unreviewed build fix for the JPEGImageDecoder.
3206
3207         Revision 44167 removed stdio.h from the included headers and
3208         this will lead to an error that FILE is not known inside the
3209         jpeglib.h Put back the stdio.h include.
3210
3211         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3212
3213 2009-05-26  Yichao Yin  <yichao.yin@torchmobile.com.cn>
3214
3215         Reviewed by Maciej Stachowiak.
3216
3217         Fix the crash issue while running layout tests after enalbed XHTMLMP
3218         https://bugs.webkit.org/show_bug.cgi?id=26017
3219
3220         * dom/Document.cpp:
3221         (WebCore::Document::isXHTMLMPDocument):
3222
3223 2009-05-26  Anders Carlsson  <andersca@apple.com>
3224
3225         Reviewed by Dan Bernstein.
3226
3227         <rdar://problem/6901751> 
3228         REGRESSION (r35515): Tiger crash painting the selection on registration page of car2go.com
3229         
3230         Don't use the WKCGContextIsSafeToClip function; it wasn't working correctly. Instead, just disable
3231         the improved selection drawing on Tiger.
3232         
3233         * WebCore.Tiger.exp:
3234         * platform/graphics/cg/GraphicsContextCG.cpp:
3235         (WebCore::GraphicsContext::fillPath):
3236         (WebCore::GraphicsContext::strokePath):
3237         (WebCore::GraphicsContext::fillRect):
3238         (WebCore::GraphicsContext::clip):
3239         (WebCore::GraphicsContext::clipOut):
3240         (WebCore::GraphicsContext::clipOutEllipseInRect):
3241         (WebCore::GraphicsContext::clipPath):
3242         (WebCore::GraphicsContext::addInnerRoundedRectClip):
3243         (WebCore::GraphicsContext::strokeRect):
3244         * platform/mac/WebCoreSystemInterface.h:
3245         * platform/mac/WebCoreSystemInterface.mm:
3246         * rendering/RenderBlock.cpp:
3247         (WebCore::RenderBlock::fillSelectionGaps):
3248
3249 2009-05-26  Peter Kasting  <pkasting@google.com>
3250
3251         Reviewed by Eric Seidel.
3252
3253         https://bugs.webkit.org/show_bug.cgi?id=25709 part two
3254         Mostly cosmetic changes, mainly to get image decoders for Cairo build to
3255         comply with WebKit style guidelines:
3256         * Fix header guard names
3257         * Fix initializer list wrapping
3258         * Fix class/function "{" wrapping
3259         * Fix wrapping of long boolean expressions
3260         * Fix whitespace around operators
3261         * Eliminate whitespace on otherwise-blank lines
3262         * No {} on single-line conditional arms
3263         * Use 0 instead of NULL
3264         * Don't #include "config.h" in headers
3265
3266         Also a few non-cosmetic changes:
3267         * Remove unneeded #ifdef protecting the contents of these files.  The
3268           platforms listed don't match who uses these files anymore (even
3269           without considering Skia), and platforms which don't use them at all
3270           (like CG) aren't harmed by the files, since they don't have
3271           equivalently-named classes.  It's simpler to just ditch these.
3272         * Convert a use of Vector<>& into SharedBuffer*, since that's how the
3273           data is really stored anyway.
3274         * Use size() instead of m_size, for consistency with Skia code, and
3275           future-proofing (if a particular decoder wants to specialize this).
3276         * Move an ASSERT that was slightly more aggressive than necessary.
3277         * Change variable names/types for clarity/accuracy and to match Skia.
3278         * Remove unnecessary macro magic to work around a problem which no
3279           longer exists in the third-party JPEG headers.
3280         * Stop silencing a portability warning about setjmp (the vcproj/vsprops
3281           are the right place for this)
3282         * In Skia code, don't explicitly check |m_failed| before calling
3283           isSizeAvailable(), which itself checks |m_failed|.
3284
3285         * platform/image-decoders/ImageDecoder.h: Fix header guards, "{" wrapping.
3286         (WebCore::RGBA32Buffer::):
3287         (WebCore::RGBA32Buffer::RGBA32Buffer): Fix initializer list wrapping.
3288         (WebCore::ImageDecoder::ImageDecoder): Fix initializer list wrapping.
3289         * platform/image-decoders/bmp/BMPImageDecoder.cpp: Remove unneeded #ifdef.
3290         * platform/image-decoders/bmp/BMPImageDecoder.h: Fix header guards, "{" wrapping.
3291         * platform/image-decoders/gif/GIFImageDecoder.cpp: Remove unneeded #ifdef, fix "{" wrapping.
3292         (WebCore::GIFImageDecoderPrivate::GIFImageDecoderPrivate): Use an initializer instead of a block-level statement.
3293         (WebCore::GIFImageDecoderPrivate::decode): Expect a SharedBuffer.
3294         (WebCore::GIFImageDecoderPrivate::getColorMap):
3295         (WebCore::GIFImageDecoder::GIFImageDecoder): Fix initializer list wrapping.
3296         (WebCore::GIFImageDecoder::frameCount): Add comment.
3297         (WebCore::GIFImageDecoder::frameBufferAtIndex): Explicitly cast, fix whitespace around operators.
3298         (WebCore::GIFImageDecoder::decode): Pass a SharedBuffer.
3299         (WebCore::GIFImageDecoder::initFrameBuffer): Use size() instead of m_size, move ASSERT, fix boolean wrapping, fix indenting.
3300         (WebCore::GIFImageDecoder::prepEmptyFrameBuffer): Use size() instead of m_size.
3301         (WebCore::GIFImageDecoder::haveDecodedRow): Use size() instead of m_size, eliminate unneeded whitespace, change variable name.
3302         (WebCore::GIFImageDecoder::frameComplete): Use size() instead of m_size, no {} on single-line conditional arms, fix boolean wrapping.
3303         * platform/image-decoders/gif/GIFImageDecoder.h: Fix header guards, "{" wrapping.
3304         * platform/image-decoders/gif/GIFImageReader.cpp: Remove unneeded #ifdef.
3305         (GIFImageReader::read):
3306         * platform/image-decoders/gif/GIFImageReader.h: Fix header guards, change variable type.
3307         * platform/image-decoders/ico/ICOImageDecoder.cpp: Remove unneeded #ifdef.
3308         * platform/image-decoders/ico/ICOImageDecoder.h: Fix header guards, "{" wrapping.
3309         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Remove unneeded #ifdef, macro magic, silencing of warning.
3310         (WebCore::JPEGImageDecoder::outputScanlines): Use size() instead of m_size, change variable name.
3311         * platform/image-decoders/jpeg/JPEGImageDecoder.h: Fix header guards, "{" wrapping.
3312         * platform/image-decoders/png/PNGImageDecoder.cpp: Remove unneeded #ifdef, silencing of warning, change variable type.
3313         (WebCore::PNGImageReader::PNGImageReader): Fix initializer list wrapping.
3314         (WebCore::PNGImageReader::close): Add comment, zero another member for consistency.
3315         (WebCore::PNGImageDecoder::PNGImageDecoder): Fix indenting.
3316         (WebCore::PNGImageDecoder::decodingFailed): Define in .cpp, not .h.
3317         (WebCore::PNGImageDecoder::rowAvailable):
3318         * platform/image-decoders/png/PNGImageDecoder.h: Fix header guards, "{" wrapping.
3319         * platform/image-decoders/skia/GIFImageDecoder.cpp:
3320         (WebCore::GIFImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
3321         (WebCore::GIFImageDecoder::frameBufferAtIndex): Fix whitespace around operators.
3322         * platform/image-decoders/skia/GIFImageReader.h: "unsigned" is sufficient to convey "unsigned int".
3323         * platform/image-decoders/skia/ImageDecoder.h: Remove unnecessary #includes.
3324         (WebCore::ImageDecoder::ImageDecoder): Fix initializer list wrapping.
3325         * platform/image-decoders/skia/JPEGImageDecoder.cpp:
3326         (WebCore::JPEGImageReader::JPEGImageReader): Use 0 instead of NULL.
3327         (WebCore::JPEGImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
3328         * platform/image-decoders/skia/PNGImageDecoder.cpp:
3329         (WebCore::PNGImageReader::PNGImageReader): Fix initializer list wrapping.
3330         (WebCore::PNGImageDecoder::PNGImageDecoder): Fix indenting.
3331         (WebCore::PNGImageDecoder::isSizeAvailable): Don't check m_failed unnecessarily.
3332         (WebCore::rowAvailable):
3333         * platform/image-decoders/skia/XBMImageDecoder.h: Don't #include config.h.
3334         * platform/image-decoders/xbm/XBMImageDecoder.cpp: Remove unneeded #ifdef.
3335         * platform/image-decoders/xbm/XBMImageDecoder.h: Fix header guards, "{" wrapping.
3336
3337 2009-05-26  Jian Li  <jianli@chromium.org>
3338
3339         Reviewed by Dimitri Glazkov.
3340
3341         https://bugs.webkit.org/show_bug.cgi?id=25944
3342         Remove the uses of V8 Locker in worker execution code. No additional test is needed.
3343         The normal WebKit layout tests should cover it. However, layout tests that start
3344         multiple workers will fail to pass due to test shell limitation in Chromium. To cover
3345         this, UI tests will be added (http://code.google.com/p/chromium/issues/detail?id=12554).
3346
3347         * bindings/v8/V8WorkerContextEventListener.cpp:
3348         (WebCore::V8WorkerContextEventListener::handleEvent):
3349         * bindings/v8/WorkerContextExecutionProxy.cpp:
3350         (WebCore::WorkerContextExecutionProxy::dispose):
3351         (WebCore::WorkerContextExecutionProxy::initV8IfNeeded):
3352         (WebCore::WorkerContextExecutionProxy::evaluate):
3353         (WebCore::WorkerContextExecutionProxy::findOrCreateEventListenerHelper):
3354         (WebCore::WorkerContextExecutionProxy::RemoveEventListener):
3355
3356 2009-05-26  Dmitry Titov  <dimich@chromium.org>
3357
3358         Reviewed by Dimitri Glazkov.
3359
3360         https://bugs.webkit.org/show_bug.cgi?id=25974
3361         Enable timers in Chromuim workers.
3362
3363         * bindings/v8/ScheduledAction.cpp:
3364         (WebCore::ScheduledAction::execute): Added function which can execute a callback using WorkerContext.
3365         * bindings/v8/ScheduledAction.h:
3366         (WebCore::ScheduledAction::ScheduledAction): added url parameter to capture the worker's location.
3367         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3368         (WebCore::SetTimeoutOrInterval): replaced NotImplemented with code to create ScheduledAction and DOMTimer.
3369         Also, removed declarations for clearTimeout/clearInterval callbacks since they are now directly generated from IDL.
3370
3371 2009-05-26  Dimitri Glazkov  <dglazkov@chromium.org>
3372
3373         Unreviewed, build fix.
3374
3375         https://bugs.webkit.org/show_bug.cgi?id=23649
3376         Update V8 bindings to match SQLTransactionErrorCallback change.
3377
3378         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.cpp:
3379         (WebCore::V8CustomSQLTransactionErrorCallback::handleEvent): Changed to return void.
3380         * bindings/v8/custom/V8CustomSQLTransactionErrorCallback.h: Ditto.
3381
3382 2009-05-26  Dirk Schulze  <krit@webkit.org>
3383
3384         Reviewed by Nikolas Zimmermann.
3385
3386         Move FilterEffect to platform/graphics/filters. First step to get an
3387         SVG independent filter system.
3388
3389         * GNUmakefile.am:
3390         * WebCore.pro:
3391         * WebCore.xcodeproj/project.pbxproj:
3392         * platform/graphics/filters/FilterEffect.cpp: Added.
3393         (WebCore::FilterEffect::FilterEffect):
3394         (WebCore::FilterEffect::~FilterEffect):
3395         (WebCore::FilterEffect::externalRepresentation):
3396         * platform/graphics/filters/FilterEffect.h: Added.
3397         (WebCore::FilterEffect::xBoundingBoxMode):
3398         (WebCore::FilterEffect::setXBoundingBoxMode):
3399         (WebCore::FilterEffect::yBoundingBoxMode):
3400         (WebCore::FilterEffect::setYBoundingBoxMode):
3401         (WebCore::FilterEffect::widthBoundingBoxMode):
3402         (WebCore::FilterEffect::setWidthBoundingBoxMode):
3403         (WebCore::FilterEffect::heightBoundingBoxMode):
3404         (WebCore::FilterEffect::setHeightBoundingBoxMode):
3405         (WebCore::FilterEffect::subRegion):
3406         (WebCore::FilterEffect::setSubRegion):
3407         (WebCore::FilterEffect::resultImage):
3408         (WebCore::FilterEffect::setEffectBuffer):
3409         * svg/FilterEffect.cpp: Removed.
3410         * svg/FilterEffect.h: Removed.
3411
3412 2009-05-26  Dimitri Glazkov  <dglazkov@chromium.org>
3413
3414         Reviewed by Maciej Stachowiak.
3415
3416         https://bugs.webkit.org/show_bug.cgi?id=23649
3417         Update SQLTransactionErrorCallback to not return a value per changes in
3418         HTML5 spec.
3419
3420         Test: storage/transaction-error-callback.html
3421
3422         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3423         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3424         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
3425         * storage/SQLTransaction.cpp:
3426         (WebCore::SQLTransaction::SQLTransaction):
3427         (WebCore::SQLTransaction::postflightAndCommit):
3428         (WebCore::SQLTransaction::handleTransactionError):
3429         (WebCore::SQLTransaction::deliverTransactionErrorCallback):
3430         (WebCore::SQLTransaction::cleanupAfterTransactionErrorCallback):
3431         * storage/SQLTransaction.h:
3432         * storage/SQLTransactionErrorCallback.h:
3433
3434 2009-05-26  David Hyatt  <hyatt@apple.com>
3435
3436         Reviewed by Darin Adler.
3437
3438         Fix for https://bugs.webkit.org/show_bug.cgi?id=25969
3439
3440         Detect the case where we can fit without scrollbars when the view shrinks, so that we don't mistakenly
3441         continue to show scrollbars.
3442
3443         Added two tests in fast/dynamic.
3444
3445         * platform/ScrollView.cpp:
3446         (WebCore::ScrollView::updateScrollbars):
3447
3448 2009-05-26  Chris Fleizach  <cfleizach@apple.com>
3449
3450         Reviewed by Mark Rowe.
3451
3452         Bug 25801: change AccessibilityAria -> AccessibilityARIA
3453         https://bugs.webkit.org/show_bug.cgi?id=25801
3454
3455         * GNUmakefile.am:
3456         * WebCore.order:
3457         * WebCore.pro:
3458         * WebCore.vcproj/WebCore.vcproj:
3459         * WebCore.xcodeproj/project.pbxproj:
3460         * WebCoreSources.bkl:
3461         * accessibility/AXObjectCache.cpp:
3462         (WebCore::AXObjectCache::getOrCreate):
3463         * accessibility/AccessibilityARIAGrid.cpp: Copied from WebCore/accessibility/AccessibilityAriaGrid.cpp.
3464         (WebCore::AccessibilityARIAGrid::AccessibilityARIAGrid):
3465         (WebCore::AccessibilityARIAGrid::~AccessibilityARIAGrid):
3466         (WebCore::AccessibilityARIAGrid::create):
3467         (WebCore::AccessibilityARIAGrid::addChild):
3468         (WebCore::AccessibilityARIAGrid::addChildren):
3469         (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
3470         * accessibility/AccessibilityARIAGrid.h: Copied from WebCore/accessibility/AccessibilityAriaGrid.h.
3471         * accessibility/AccessibilityARIAGridCell.cpp: Copied from WebCore/accessibility/AccessibilityAriaGridCell.cpp.
3472         (WebCore::AccessibilityARIAGridCell::AccessibilityARIAGridCell):
3473         (WebCore::AccessibilityARIAGridCell::~AccessibilityARIAGridCell):
3474         (WebCore::AccessibilityARIAGridCell::create):
3475         (WebCore::AccessibilityARIAGridCell::parentTable):
3476         (WebCore::AccessibilityARIAGridCell::rowIndexRange):
3477         (WebCore::AccessibilityARIAGridCell::columnIndexRange):
3478         * accessibility/AccessibilityARIAGridCell.h: Copied from WebCore/accessibility/AccessibilityAriaGridCell.h.
3479         * accessibility/AccessibilityARIAGridRow.cpp: Copied from WebCore/accessibility/AccessibilityAriaGridRow.cpp.
3480         (WebCore::AccessibilityARIAGridRow::AccessibilityARIAGridRow):
3481         (WebCore::AccessibilityARIAGridRow::~AccessibilityARIAGridRow):
3482         (WebCore::AccessibilityARIAGridRow::create):
3483         (WebCore::AccessibilityARIAGridRow::parentTable):
3484         (WebCore::AccessibilityARIAGridRow::headerObject):
3485         * accessibility/AccessibilityARIAGridRow.h: Copied from WebCore/accessibility/AccessibilityAriaGridRow.h.
3486         * accessibility/AccessibilityAriaGrid.cpp: Removed.
3487         * accessibility/AccessibilityAriaGrid.h: Removed.
3488         * accessibility/AccessibilityAriaGridCell.cpp: Removed.
3489         * accessibility/AccessibilityAriaGridCell.h: Removed.
3490         * accessibility/AccessibilityAriaGridRow.cpp: Removed.
3491         * accessibility/AccessibilityAriaGridRow.h: Removed.
3492
3493 2009-05-26  Stephen White  <senorblanco@chromium.org>
3494
3495         Reviewed by Dimitri Glazkov.
3496
3497         https://bugs.webkit.org/show_bug.cgi?id=26012
3498
3499         Fix the Skia path to normalize the given source rect when
3500         drawing patterns, so it accepts negative width/height (as CG does).
3501         Fixes Chromium bug http://www.crbug.com/6167.
3502         * platform/graphics/skia/ImageSkia.cpp:
3503         (WebCore::Image::drawPattern):
3504
3505 2009-05-26  Pavel Feldman  <pfeldman@chromium.org>
3506
3507         Reviewed by Timothy Hatcher.
3508
3509         Serialize calls to WebInspector. This is the first step where method 
3510         calls are being serialized to arrays (not yet JSON stringified ones) and 
3511         are being dispatched on the client. This change also allows client to override 
3512         InspectorFrontend, so that the serialized calls can be made on a given object
3513         instead of in-process WebInspector global. This will be the main control flow
3514         when InspectorController is decoupled from the in-process frontend.
3515
3516         https://bugs.webkit.org/show_bug.cgi?id=26010
3517
3518         * inspector/InspectorController.cpp:
3519         (WebCore::InspectorController::scriptObjectReady):
3520         (WebCore::InspectorController::overrideFrontendObject):
3521         (WebCore::InspectorController::show):
3522         (WebCore::InspectorController::populateScriptObjects):
3523         * inspector/InspectorController.h:
3524         * inspector/InspectorFrontend.cpp:
3525         (WebCore::InspectorFrontend::addMessageToConsole):
3526         (WebCore::InspectorFrontend::addResource):
3527         (WebCore::InspectorFrontend::updateResource):
3528         (WebCore::InspectorFrontend::removeResource):
3529         (WebCore::InspectorFrontend::updateFocusedNode):
3530         (WebCore::InspectorFrontend::setAttachedWindow):
3531         (WebCore::InspectorFrontend::inspectedWindowScriptObjectCleared):
3532         (WebCore::InspectorFrontend::showPanel):
3533         (WebCore::InspectorFrontend::populateInterface):
3534         (WebCore::InspectorFrontend::reset):
3535         (WebCore::InspectorFrontend::debuggerWasEnabled):
3536         (WebCore::InspectorFrontend::debuggerWasDisabled):
3537         (WebCore::InspectorFrontend::profilerWasEnabled):
3538         (WebCore::InspectorFrontend::profilerWasDisabled):