2010-05-31 Adam Barth <abarth@webkit.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-05-31  Adam Barth  <abarth@webkit.org>
2
3         Reviewed by Eric Seidel.
4
5         Fix default action for EndTagOpenState
6         https://bugs.webkit.org/show_bug.cgi?id=39982
7
8         Add a test for a bogus end tag to webkit01.dat and update expected
9         results now that we pass some more tests.
10
11         Adding this test revealed a bug in resuming the bogus comment state.
12         I've left these broken expectations, but I'll fix the bug in a future
13         patch. (The bug existed prior to this patch, just not the test.)
14
15         * html5lib/resources/webkit01.dat:
16         * html5lib/runner-expected-html5.txt:
17         * html5lib/webkit-resumer-expected-html5.txt:
18
19 2010-05-31  Lyon Chen  <liachen@rim.com>
20
21         Reviewed by Kent Tamura.
22
23         Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
24         https://bugs.webkit.org/show_bug.cgi?id=35530
25
26         Change enum EAlteration from { MOVE, EXTEND } to { AlterationMove, AlterationExtend } and enum EDirection { FORWARD, BACKWARD, RIGHT, LEFT} to { DirectionForward, DirectionBackward, DirectionRight, DirectionLeft } to avoid macro conflict, and also better coding style conformance.
27
28         * accessibility/AccessibilityRenderObject.cpp:
29         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
30         (WebCore::AccessibilityRenderObject::doAXRangeForLine):
31         * editing/Editor.cpp:
32         (WebCore::Editor::deleteWithDirection):
33         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
34         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
35         * editing/EditorCommand.cpp:
36         (WebCore::executeDeleteBackward):
37         (WebCore::executeDeleteBackwardByDecomposingPreviousCharacter):
38         (WebCore::executeDeleteForward):
39         (WebCore::executeDeleteToBeginningOfLine):
40         (WebCore::executeDeleteToBeginningOfParagraph):
41         (WebCore::executeDeleteToEndOfLine):
42         (WebCore::executeDeleteToEndOfParagraph):
43         (WebCore::executeDeleteWordBackward):
44         (WebCore::executeDeleteWordForward):
45         (WebCore::executeForwardDelete):
46         (WebCore::executeMoveBackward):
47         (WebCore::executeMoveBackwardAndModifySelection):
48         (WebCore::executeMoveDown):
49         (WebCore::executeMoveDownAndModifySelection):
50         (WebCore::executeMoveForward):
51         (WebCore::executeMoveForwardAndModifySelection):
52         (WebCore::executeMoveLeft):
53         (WebCore::executeMoveLeftAndModifySelection):
54         (WebCore::executeMovePageDown):
55         (WebCore::executeMovePageDownAndModifySelection):
56         (WebCore::executeMovePageUp):
57         (WebCore::executeMovePageUpAndModifySelection):
58         (WebCore::executeMoveRight):
59         (WebCore::executeMoveRightAndModifySelection):
60         (WebCore::executeMoveToBeginningOfDocument):
61         (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
62         (WebCore::executeMoveToBeginningOfLine):
63         (WebCore::executeMoveToBeginningOfLineAndModifySelection):
64         (WebCore::executeMoveToBeginningOfParagraph):
65         (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
66         (WebCore::executeMoveToBeginningOfSentence):
67         (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
68         (WebCore::executeMoveToEndOfDocument):
69         (WebCore::executeMoveToEndOfDocumentAndModifySelection):
70         (WebCore::executeMoveToEndOfSentence):
71         (WebCore::executeMoveToEndOfSentenceAndModifySelection):
72         (WebCore::executeMoveToEndOfLine):
73         (WebCore::executeMoveToEndOfLineAndModifySelection):
74         (WebCore::executeMoveToEndOfParagraph):
75         (WebCore::executeMoveToEndOfParagraphAndModifySelection):
76         (WebCore::executeMoveParagraphBackwardAndModifySelection):
77         (WebCore::executeMoveParagraphForwardAndModifySelection):
78         (WebCore::executeMoveUp):
79         (WebCore::executeMoveUpAndModifySelection):
80         (WebCore::executeMoveWordBackward):
81         (WebCore::executeMoveWordBackwardAndModifySelection):
82         (WebCore::executeMoveWordForward):
83         (WebCore::executeMoveWordForwardAndModifySelection):
84         (WebCore::executeMoveWordLeft):
85         (WebCore::executeMoveWordLeftAndModifySelection):
86         (WebCore::executeMoveWordRight):
87         (WebCore::executeMoveWordRightAndModifySelection):
88         (WebCore::executeMoveToLeftEndOfLine):
89         (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
90         (WebCore::executeMoveToRightEndOfLine):
91         (WebCore::executeMoveToRightEndOfLineAndModifySelection):
92         * editing/SelectionController.cpp:
93         (WebCore::SelectionController::willBeModified):
94         (WebCore::SelectionController::modify):
95         * editing/SelectionController.h:
96         (WebCore::SelectionController::):
97         * editing/TypingCommand.cpp:
98         (WebCore::TypingCommand::deleteKeyPressed):
99         (WebCore::TypingCommand::forwardDeleteKeyPressed):
100         * page/DOMSelection.cpp:
101         (WebCore::DOMSelection::modify):
102         (WebCore::DOMSelection::deleteFromDocument):
103         * page/EventHandler.cpp:
104         (WebCore::EventHandler::handleKeyboardSelectionMovement):
105
106 2010-05-31  Eric Seidel <eric@webkit.org>
107
108         Reviewed by Adam Barth.
109
110         REGRESSION(60409): window.onload never fires when using HTML5 parser
111         https://bugs.webkit.org/show_bug.cgi?id=39981
112
113         * html/HTML5Tokenizer.cpp:
114         (WebCore::HTML5Tokenizer::finish):
115          - The logic was just wrong here.  We should only be setting
116            m_wasWaitingOnScriptsDuringFinish if isWaitingForScripts()
117            is true, and we should be calling end() when it is not.
118         (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
119          - Add another ASSERT to catch cases like this.
120         * html/HTML5TreeBuilder.cpp:
121         (WebCore::HTML5TreeBuilder::finished):
122          - Add a comment about why we don't need to call m_document->finishedParsing()
123
124 2010-05-31  Tony Chang  <tony@chromium.org>
125
126         Reviewed by Dan Bernstein.
127
128         REGRESSION (r58665): Infinite recursion in Position::getInlineBoxAndOffset()
129         https://bugs.webkit.org/show_bug.cgi?id=39946
130         
131         r58665 added an infinite recursion check, but didn't take into consideration recursion between two
132         Positions.  This adds a check for when
133         downstreamIgnoringEditingBoundaries(p1) == p2 and upstreamIgnoringEditingBoundaries(p2) == p1
134
135         Test: editing/selection/mixed-editability-12.html
136
137         * dom/Position.cpp:
138         (WebCore::Position::getInlineBoxAndOffset):
139
140 2010-05-31  Leo Yang  <leo.yang@torchmobile.com.cn>
141
142         Reviewed by George Staikos.
143
144         Fix canvas.toDataURL(type, quality, ...) to let it support quality parameter. 
145         And implement it in Qt port. 
146         https://bugs.webkit.org/show_bug.cgi?id=37304
147
148         Tests: platform/qt/fast/canvas/toDataURL-jpeg-alpha.html
149                platform/qt/fast/canvas/toDataURL-jpeg-primarycolors.html
150                platform/qt/fast/canvas/toDataURL-jpeg-quality-basic.html
151                platform/qt/fast/canvas/toDataURL-jpeg-quality-notnumber.html
152                platform/qt/fast/canvas/toDataURL-jpeg-quality-outsiderange.html
153
154         * bindings/js/JSHTMLCanvasElementCustom.cpp:
155         (WebCore::JSHTMLCanvasElement::toDataURL):
156         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
157         (WebCore::V8HTMLCanvasElement::toDataURLCallback):
158         * dom/CanvasSurface.cpp:
159         (WebCore::CanvasSurface::toDataURL):
160         * dom/CanvasSurface.h:
161         (WebCore::CanvasSurface::toDataURL):
162         * html/HTMLCanvasElement.idl:
163         * platform/graphics/ImageBuffer.h:
164         * platform/graphics/cairo/ImageBufferCairo.cpp:
165         (WebCore::ImageBuffer::toDataURL):
166         * platform/graphics/cg/ImageBufferCG.cpp:
167         (WebCore::ImageBuffer::toDataURL):
168         * platform/graphics/haiku/ImageBufferHaiku.cpp:
169         (WebCore::ImageBuffer::toDataURL):
170         * platform/graphics/qt/ImageBufferQt.cpp:
171         (WebCore::ImageBuffer::toDataURL):
172         * platform/graphics/skia/ImageBufferSkia.cpp:
173         (WebCore::ImageBuffer::toDataURL):
174         * platform/graphics/wince/ImageBufferWince.cpp:
175         (WebCore::ImageBuffer::toDataURL):
176         * platform/graphics/wx/ImageBufferWx.cpp:
177         (WebCore::ImageBuffer::toDataURL):
178
179 2010-05-31  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
180
181         Reviewed by Kenneth Rohde Christiansen.
182
183         [EFL] Add Context Menu implementation
184         https://bugs.webkit.org/show_bug.cgi?id=39821
185
186         * platform/ContextMenu.h: add port-specific attributes.
187         * platform/ContextMenuItem.h: create PlatformMenuItemDescription as in
188         other ports
189         (WebCore::PlatformMenuItemDescription::PlatformMenuItemDescription):
190         * platform/efl/ContextMenuEfl.cpp:implement needed methods for this
191         port.
192         (WebCore::ContextMenu::ContextMenu):
193         (WebCore::ContextMenu::~ContextMenu):
194         (WebCore::ContextMenu::appendItem):
195         (WebCore::ContextMenu::setPlatformDescription):
196         (WebCore::ContextMenu::releasePlatformDescription):
197         * platform/efl/ContextMenuItemEfl.cpp:  implement needed methods for
198         this port.
199         (WebCore::ContextMenuItem::ContextMenuItem):
200         (WebCore::ContextMenuItem::~ContextMenuItem):
201         (WebCore::ContextMenuItem::releasePlatformDescription):
202         (WebCore::ContextMenuItem::type):
203         (WebCore::ContextMenuItem::setType):
204         (WebCore::ContextMenuItem::action):
205         (WebCore::ContextMenuItem::setAction):
206         (WebCore::ContextMenuItem::title):
207         (WebCore::ContextMenuItem::setTitle):
208         (WebCore::ContextMenuItem::platformSubMenu):
209         (WebCore::ContextMenuItem::setSubMenu):
210         (WebCore::ContextMenuItem::checked):
211         (WebCore::ContextMenuItem::setChecked):
212         (WebCore::ContextMenuItem::enabled):
213         (WebCore::ContextMenuItem::setEnabled):
214
215 2010-05-31  Ilya Tikhonovsky  <loislo@chromium.org>
216
217         Reviewed by Pavel Feldman.
218
219         WebInspector: Classes for native serialization to JSON were implemented.
220         https://bugs.webkit.org/show_bug.cgi?id=34204
221
222         * GNUmakefile.am:
223         * WebCore.Inspector.exp:
224         * WebCore.gypi:
225         * WebCore.pro:
226         * WebCore.vcproj/WebCore.vcproj:
227         * WebCore.xcodeproj/project.pbxproj:
228         * inspector/InspectorValues.cpp: Added.
229         (WebCore::escapeChar):
230         (WebCore::doubleQuoteString):
231         (WebCore::InspectorBaseValue::toJSONString):
232         (WebCore::InspectorBaseValue::writeJSON):
233         (WebCore::InspectorValue::writeJSON):
234         (WebCore::InspectorString::writeJSON):
235         (WebCore::InspectorObject::writeJSON):
236         (WebCore::InspectorArray::writeJSON):
237         * inspector/InspectorValues.h: Added.
238         (WebCore::InspectorBaseValue::InspectorBaseValue):
239         (WebCore::InspectorBaseValue::~InspectorBaseValue):
240         (WebCore::InspectorBaseValue::null):
241         (WebCore::InspectorBaseValue::):
242         (WebCore::InspectorBaseValue::type):
243         (WebCore::InspectorValue::create):
244         (WebCore::InspectorValue::InspectorValue):
245         (WebCore::InspectorValue::):
246         (WebCore::InspectorString::create):
247         (WebCore::InspectorString::InspectorString):
248         (WebCore::InspectorObject::create):
249         (WebCore::InspectorObject::~InspectorObject):
250         (WebCore::InspectorObject::InspectorObject):
251         (WebCore::InspectorArray::create):
252         (WebCore::InspectorArray::~InspectorArray):
253         (WebCore::InspectorArray::length):
254         (WebCore::InspectorArray::InspectorArray):
255         (WebCore::InspectorObject::setBool):
256         (WebCore::InspectorObject::setNumber):
257         (WebCore::InspectorObject::setString):
258         (WebCore::InspectorObject::set):
259         (WebCore::InspectorArray::pushBool):
260         (WebCore::InspectorArray::pushNumber):
261         (WebCore::InspectorArray::pushString):
262         (WebCore::InspectorArray::push):
263
264 2010-05-31  Olivier Goffart <olivier.goffart@nokia.com>
265
266         Reviewed by Oliver Hunt.
267
268         [PATCH] compilation error with clang in JSDOMBinding.h
269         https://bugs.webkit.org/show_bug.cgi?id=39945
270
271         JSNode is only forward declared at this point. And since neither
272         "wrapper" nor JSValue are type-dependent. Compilers should report errors
273         at the first compilation pass.
274
275         The fix is to move the conversion the line above, as the call to the
276         function getCachedDOMNodeWrapper is type-dependent, the conversion will
277         happen at template-instantiation time.
278
279         See also http://llvm.org/bugs/show_bug.cgi?id=7244
280
281         * bindings/js/JSDOMBinding.h:
282         (WebCore::getDOMNodeWrapper):
283
284 2010-05-31  Pavel Podivilov  <podivilov@chromium.org>
285
286         Reviewed by Pavel Feldman.
287
288         Web Inspector: Moved breakpoints add/remove logic to the BreakpointManager.
289
290         https://bugs.webkit.org/show_bug.cgi?id=14190
291
292         * WebCore.gypi:
293         * WebCore.vcproj/WebCore.vcproj:
294         * inspector/front-end/Breakpoint.js:
295         * inspector/front-end/BreakpointManager.js: Added.
296         (WebInspector.BreakpointManager):
297         (WebInspector.BreakpointManager.prototype.addBreakpoint):
298         (WebInspector.BreakpointManager.prototype.removeBreakpoint):
299         (WebInspector.BreakpointManager.prototype.breakpointsForSourceID):
300         (WebInspector.BreakpointManager.prototype.breakpointsForURL):
301         (WebInspector.BreakpointManager.prototype.reset):
302         (WebInspector.BreakpointManager.prototype._saveBreakpointOnBackend):
303         (WebInspector.BreakpointManager.prototype._removeBreakpointFromBackend):
304         (WebInspector.Breakpoint):
305         (WebInspector.Breakpoint.prototype.get enabled):
306         (WebInspector.Breakpoint.prototype.set enabled):
307         (WebInspector.Breakpoint.prototype.get sourceText):
308         (WebInspector.Breakpoint.prototype.set sourceText):
309         (WebInspector.Breakpoint.prototype.get label):
310         (WebInspector.Breakpoint.prototype.get id):
311         (WebInspector.Breakpoint.prototype.get condition):
312         (WebInspector.Breakpoint.prototype.set condition):
313         * inspector/front-end/BreakpointsSidebarPane.js:
314         (WebInspector.BreakpointsSidebarPane):
315         (WebInspector.BreakpointsSidebarPane.prototype.reset):
316         (WebInspector.BreakpointsSidebarPane.prototype._breakpointAdded):
317         (WebInspector.BreakpointsSidebarPane.prototype._breakpointRemoved):
318         (WebInspector.BreakpointsSidebarPane.prototype._breakpointEnableChanged):
319         * inspector/front-end/Object.js:
320         (WebInspector.Object.prototype.dispatchEventToListeners):
321         * inspector/front-end/ScriptView.js:
322         (WebInspector.ScriptView.prototype._addBreakpoint):
323         * inspector/front-end/ScriptsPanel.js:
324         (WebInspector.ScriptsPanel):
325         (WebInspector.ScriptsPanel.prototype._breakpointAdded):
326         (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
327         (WebInspector.ScriptsPanel.prototype.editScriptSource.mycallback):
328         (WebInspector.ScriptsPanel.prototype.editScriptSource):
329         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
330         * inspector/front-end/SourceFrame.js:
331         (WebInspector.SourceFrame.prototype._contextMenu):
332         * inspector/front-end/SourceView.js:
333         (WebInspector.SourceView.prototype._addBreakpoint):
334         (WebInspector.SourceView.prototype._removeBreakpoint):
335         * inspector/front-end/WebKit.qrc:
336         * inspector/front-end/inspector.html:
337         * inspector/front-end/inspector.js:
338         (WebInspector.loaded):
339         (WebInspector.restoredBreakpoint):
340         (WebInspector.reset):
341
342 2010-05-31  Alexander Pavlov  <apavlov@chromium.org>
343
344         Unreviewed, build fix.
345
346         Add references to inspector/front-end/TabbedPane.js wherever applicable.
347
348         * WebCore.gypi:
349         * WebCore.vcproj/WebCore.vcproj:
350         * inspector/front-end/WebKit.qrc:
351
352 2010-05-31  Alexander Pavlov  <apavlov@chromium.org>
353
354         Unreviewed, add a file not added in r60445.
355
356         * inspector/front-end/TabbedPane.js: Added
357
358 2010-05-31  Martin Robinson  <mrobinson@igalia.com>
359
360         Reviewed by Gustavo Noronha Silva.
361
362         [GTK] Text copied from a WebView cannot be pasted into gnome-terminal
363         https://bugs.webkit.org/show_bug.cgi?id=39827
364
365         Switch all methods in Pasteboard to use the PasteboardHelper + DataObjectGtk
366         approach used in other parts of WebKit GTK+.
367
368         * platform/gtk/PasteboardGtk.cpp:
369         (WebCore::Pasteboard::writeSelection): Switch to using PasteboardHelper.
370         (WebCore::Pasteboard::writePlainText): Ditto.
371         (WebCore::Pasteboard::writeURL): Ditto.
372         (WebCore::Pasteboard::writeImage): Ditto.
373         (WebCore::Pasteboard::clear): Small cleanup.
374         (WebCore::Pasteboard::documentFragment): Switch to using PasteboardHelper.
375         (WebCore::Pasteboard::plainText): Ditto.
376
377 2010-05-31  Darin Adler  <darin@apple.com>
378
379         Updated bindings test results for change in JavaScript host calling convention change
380         from 2 days ago.
381
382         * bindings/scripts/test/JS/JSTestObj.cpp: Regenerated and inspected to see that the new
383         result is correct.
384         * bindings/scripts/test/JS/JSTestObj.h: Ditto.
385
386 2010-05-31  Alexander Pavlov  <apavlov@chromium.org>
387
388         Reviewed by Pavel Feldman.
389
390         Web Inspector: Implement additional tabs support in ResourceView
391         https://bugs.webkit.org/show_bug.cgi?id=39822
392
393         * inspector/front-end/ResourceView.js:
394         (WebInspector.ResourceView):
395         (WebInspector.ResourceView.prototype._selectHeadersTab):
396         (WebInspector.ResourceView.prototype._innerSelectContentTab):
397         * inspector/front-end/SourceView.js:
398         (WebInspector.SourceView.prototype.show):
399         (WebInspector.SourceView.prototype.hide):
400         (WebInspector.SourceView.prototype.resize):
401         (WebInspector.SourceView.prototype.updateLocalContent):
402         (WebInspector.SourceView.prototype.selectLocalContentTab):
403         * inspector/front-end/TabbedPane.js: Added.
404         (WebInspector.TabbedPane):
405         (WebInspector.TabbedPane.prototype.appendTab):
406         (WebInspector.TabbedPane.prototype.tabObjectForId):
407         (WebInspector.TabbedPane.prototype.hideTab):
408         (WebInspector.TabbedPane.prototype.selectTabById):
409         * inspector/front-end/TextViewer.js:
410         (WebInspector.TextViewer.prototype._getSelection):
411         * inspector/front-end/inspector.html:
412
413 2010-05-31  Alexander Pavlov  <apavlov@chromium.org>
414
415         Reviewed by Pavel Feldman.
416
417         Web Inspector: Implement retrieval of CSS stylesheets for source editing
418         https://bugs.webkit.org/show_bug.cgi?id=39833
419
420         Test: inspector/styles-source-offsets.html
421
422         * css/CSSParser.cpp:
423         (WebCore::CSSParser::CSSParser):
424         (WebCore::CSSParser::parseSheet):
425         (WebCore::CSSParser::createStyleRule):
426         * css/CSSParser.h:
427         * inspector/InspectorBackend.cpp:
428         (WebCore::InspectorBackend::getStyleSheet):
429         (WebCore::InspectorBackend::getRuleRangesForStyleSheetId):
430         * inspector/InspectorBackend.h:
431         * inspector/InspectorBackend.idl:
432         * inspector/InspectorCSSStore.cpp:
433         (WebCore::InspectorCSSStore::getRuleRangesForStyleSheet):
434         (WebCore::InspectorCSSStore::asCSSStyleRule):
435         (WebCore::InspectorCSSStore::styleSheetForId):
436         * inspector/InspectorCSSStore.h:
437         * inspector/InspectorDOMAgent.cpp:
438         (WebCore::InspectorDOMAgent::getStyleSheet):
439         (WebCore::InspectorDOMAgent::getRuleRangesForStyleSheetId):
440         (WebCore::InspectorDOMAgent::buildObjectForStyle):
441         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
442         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
443         (WebCore::InspectorDOMAgent::buildObjectForRule):
444         (WebCore::InspectorDOMAgent::getParentStyleSheet):
445         * inspector/InspectorDOMAgent.h:
446         * inspector/InspectorFrontend.cpp:
447         (WebCore::InspectorFrontend::didGetStyleSheet):
448         * inspector/InspectorFrontend.h:
449         * inspector/front-end/DOMAgent.js:
450         (WebInspector.CSSStyleDeclaration):
451
452 2010-05-31  Philippe Normand  <pnormand@igalia.com>
453
454         Reviewed by Xan Lopez.
455
456         [GStreamer] float variables misused
457         https://bugs.webkit.org/show_bug.cgi?id=38842
458
459         Use 0.0f for float variables instead of 0.0. Also added some
460         missing casts around GST_SECOND.
461
462         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
463         (WebCore::playbackPosition):
464         (WebCore::MediaPlayerPrivateGStreamer::duration):
465         (WebCore::MediaPlayerPrivateGStreamer::currentTime):
466         (WebCore::MediaPlayerPrivateGStreamer::seek):
467         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
468         (WebCore::MediaPlayerPrivateGStreamer::setRate):
469         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
470         (WebCore::MediaPlayerPrivateGStreamer::maxTimeLoaded):
471         (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
472
473 2010-05-31  Steve Block  <steveblock@google.com>
474
475         Unreviewed, rolling out r60069.
476         http://trac.webkit.org/changeset/60069
477         https://bugs.webkit.org/show_bug.cgi?id=39288
478
479         Roll out r60069 while the need for Geolocation::stop() is
480         investigated.
481
482         * loader/FrameLoader.cpp:
483         (WebCore::FrameLoader::stopLoading):
484         * page/Geolocation.cpp:
485         (WebCore::Geolocation::disconnectFrame):
486         * page/Geolocation.h:
487
488 2010-05-31  Olivier Tilloy  <olivier@tilloy.net>
489
490         Reviewed by Gustavo Noronha Silva.
491
492         [Gtk] Implement RenderThemeGtk::systemColor to apply the correct colors
493         from the current GTK theme.
494         https://bugs.webkit.org/show_bug.cgi?id=37779
495
496         * platform/gtk/RenderThemeGtk.cpp:
497         (WebCore::RenderThemeGtk::RenderThemeGtk):
498         (WebCore::RenderThemeGtk::systemColor):
499         (WebCore::RenderThemeGtk::gtkButton):
500         * platform/gtk/RenderThemeGtk.h:
501
502 2010-05-31  Dirk Schulze  <krit@webkit.org>
503
504         Reviewed by Nikolas Zimmermann.
505
506         SVG Filter: Crash if parent and child elements use the same filter
507         https://bugs.webkit.org/show_bug.cgi?id=39536
508
509         If a parent and a child used the same filter, the temporary saved
510         context reference got overwritten by the child. The reference is
511         stored in FilterData now. FilterData depends to the target object
512         and avoids overwriting any reference.
513
514         Test: svg/filters/parent-children-with-same-filter.svg
515
516         * rendering/RenderSVGResourceFilter.cpp:
517         (WebCore::RenderSVGResourceFilter::RenderSVGResourceFilter):
518         (WebCore::RenderSVGResourceFilter::applyResource):
519         (WebCore::RenderSVGResourceFilter::postApplyResource):
520         * rendering/RenderSVGResourceFilter.h:
521
522 2010-05-31  Xan Lopez  <xlopez@igalia.com>
523
524         Reviewed by Gustavo Noronha.
525
526         Fix all compiler warnings.
527
528         * plugins/gtk/gtk2xtbin.c:
529         (xt_event_dispatch):
530         (gtk_xtbin_get_type):
531         (gtk_xtbin_set_position):
532         (xt_add_focus_listener):
533         (xt_remove_focus_listener):
534
535 2010-05-31  Oswald Buddenhagen  <oswald.buddenhagen@nokia.com>
536
537         Reviewed by Simon Hausmann.
538
539         [Qt] Escape backslashes in the .pro files
540
541         qmake in Qt 4.7 warns about unescaped backspaces and deprecates them.
542
543         * WebCore.pro:
544
545 2010-05-31  Anton Muhin  <antonm@chromium.org>
546
547         Reviewed by Darin Adler.
548
549         Make NodeList getters take AtomicString instead of plain String
550         https://bugs.webkit.org/show_bug.cgi?id=39892
551
552         Those methods turn String into AtomicString later.  And this conversion
553         is faster if underlying string is already atomic.
554         That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
555         I don't know if Safari benefits from it.
556
557         * dom/Node.cpp:
558         (WebCore::Node::getElementsByTagName):
559         (WebCore::Node::getElementsByTagNameNS):
560         * dom/Node.h:
561
562 2010-05-30  Adam Barth  <abarth@webkit.org>
563
564         Reviewed by Darin Adler.
565
566         Fix LayoutTests/fast/parser/xml-declaration-missing-ending-mark.html in HTML5 parser
567         https://bugs.webkit.org/show_bug.cgi?id=39939
568
569         Turns out we need to implement the bogus comment state.  :)
570
571         * html/HTML5Lexer.cpp:
572         (WebCore::HTML5Lexer::nextToken):
573
574 2010-05-30  Eric Seidel  <eric@webkit.org>
575
576         Reviewed by Adam Barth.
577
578         fast/tokenizer/write-partial-entity.html hits ASSERT SegmentedString in the HTML5 Parser
579         https://bugs.webkit.org/show_bug.cgi?id=39935
580
581         Test: fast/tokenizer/write-partial-entity.html
582
583         * html/HTML5Tokenizer.cpp:
584         (WebCore::HTML5Tokenizer::executeScript):
585          - Use m_source.append(oldInsertionPoint) instead of
586            oldInsertionPoint.prepend(m_source) because m_source may have had
587            characters pushed onto it and prepend() does not handle that case.
588
589 2010-05-30  Lyon Chen  <liachen@rim.com>
590
591         Reviewed by Kent Tamura.
592
593         This is a coding style cleanup before fixing to bug 35530.
594
595         Enum value FORWARD, BACKWARD, RIGHT, LEFT are causing macro conflicts.
596         https://bugs.webkit.org/show_bug.cgi?id=35530
597
598         * editing/Editor.cpp:
599         (WebCore::Editor::deleteWithDirection):
600         (WebCore::Editor::fontForSelection):
601         (WebCore::Editor::applyStyle):
602         (WebCore::Editor::applyParagraphStyle):
603         (WebCore::Editor::applyStyleToSelection):
604         (WebCore::Editor::applyParagraphStyleToSelection):
605         (WebCore::triStateOfStyleInComputedStyle):
606         (WebCore::Editor::selectionStartHasStyle):
607         (WebCore::Editor::selectionHasStyle):
608         (WebCore::Editor::paste):
609         (WebCore::Editor::ignoreSpelling):
610         (WebCore::Editor::learnSpelling):
611         (WebCore::findFirstMisspellingInRange):
612         (WebCore::findFirstGrammarDetailInRange):
613         (WebCore::findFirstBadGrammarInRange):
614         (WebCore::findFirstMisspellingOrBadGrammarInRange):
615         (WebCore::Editor::advanceToNextMisspelling):
616         (WebCore::Editor::isSelectionMisspelled):
617         (WebCore::isRangeUngrammatical):
618         (WebCore::Editor::guessesForMisspelledSelection):
619         (WebCore::guessesForMisspelledOrUngrammaticalRange):
620         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
621         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
622         * editing/EditorCommand.cpp:
623         (WebCore::applyCommandToFrame):
624         (WebCore::executeToggleStyleInList):
625         (WebCore::executeApplyParagraphStyle):
626         (WebCore::executeDelete):
627         (WebCore::executeForwardDelete):
628         (WebCore::executeInsertLineBreak):
629         (WebCore::supportedCopyCut):
630         (WebCore::supportedPaste):
631         (WebCore::enabledDelete):
632         * editing/SelectionController.cpp:
633         (WebCore::SelectionController::modifyExtendingRight):
634         (WebCore::SelectionController::modifyExtendingForward):
635         (WebCore::SelectionController::modifyMovingRight):
636         (WebCore::SelectionController::modifyMovingForward):
637         (WebCore::SelectionController::modifyExtendingLeft):
638         (WebCore::SelectionController::modifyExtendingBackward):
639         (WebCore::SelectionController::modifyMovingLeft):
640         (WebCore::SelectionController::modifyMovingBackward):
641         (WebCore::SelectionController::modify):
642         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
643         (WebCore::SelectionController::debugRenderer):
644         * editing/TypingCommand.cpp:
645         (WebCore::TypingCommand::deleteKeyPressed):
646         (WebCore::TypingCommand::forwardDeleteKeyPressed):
647         (WebCore::TypingCommand::insertLineBreak):
648         (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
649         (WebCore::TypingCommand::insertParagraphSeparator):
650         (WebCore::TypingCommand::doApply):
651         (WebCore::TypingCommand::insertText):
652         (WebCore::TypingCommand::updatePreservesTypingStyle):
653         * page/EventHandler.cpp:
654         (WebCore::EventHandler::handleMousePressEvent):
655         (WebCore::EventHandler::handleMouseReleaseEvent):
656         (WebCore::EventHandler::selectCursor):
657         (WebCore::EventHandler::canHandleDragAndDropForTarget):
658         (WebCore::EventHandler::dispatchMouseEvent):
659         (WebCore::EventHandler::sendContextMenuEvent):
660         (WebCore::EventHandler::handleKeyboardSelectionMovement):
661         (WebCore::EventHandler::handleDrag):
662
663 2010-05-30  Daniel Bates  <dbates@rim.com>
664
665         Unreviewed, attempt to fix the build after http://trac.webkit.org/changeset/60418.
666
667         * html/HTMLFormControlElement.h:
668         (WebCore::HTMLFormControlElement::isEnabledFormControl):
669         (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
670         (WebCore::HTMLFormControlElement::isFormControlElement):
671         * html/HTMLInputElement.h:
672         (WebCore::HTMLInputElement::isPasswordField):
673
674 2010-05-30  Darin Adler  <darin@apple.com>
675
676         Reviewed by Sam Weinig.
677
678         Make more HTML DOM members private, especially constructors, third and final batch
679         https://bugs.webkit.org/show_bug.cgi?id=39916
680
681         * dom/Document.cpp:
682         (WebCore::Document::implicitClose):
683         * editing/DeleteButtonController.cpp:
684         (WebCore::DeleteButtonController::createDeletionUI):
685         * editing/EditorCommand.cpp:
686         (WebCore::executeInsertHorizontalRule):
687         (WebCore::executeInsertImage):
688         * editing/htmlediting.cpp:
689         (WebCore::createDefaultParagraphElement):
690         (WebCore::createListItemElement):
691         * html/HTMLParser.cpp:
692         (WebCore::HTMLParser::handleError):
693         (WebCore::HTMLParser::headCreateErrorCheck):
694         (WebCore::HTMLParser::formCreateErrorCheck):
695         (WebCore::HTMLParser::createHead):
696         (WebCore::HTMLParser::handleIsindex):
697         (WebCore::HTMLParser::finished):
698         * html/HTMLViewSourceDocument.cpp:
699         (WebCore::HTMLViewSourceDocument::createContainingTable):
700         * rendering/RenderTextControl.cpp:
701         (WebCore::RenderTextControl::createSubtreeIfNeeded):
702         * rendering/RenderTextControlSingleLine.cpp:
703         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
704         Use create instead of new to create HTML elements.
705
706         * html/HTMLFormCollection.cpp:
707         (WebCore::HTMLFormCollection::formCollectionInfo):
708         (WebCore::HTMLFormCollection::item):
709         (WebCore::HTMLFormCollection::getNamedFormItem):
710         (WebCore::HTMLFormCollection::updateNameCache):
711         * html/HTMLFormControlElement.h:
712         Updated for name and privacy changes in HTMLFormElement.
713
714         * html/HTMLFormElement.cpp:
715         (WebCore::HTMLFormElement::HTMLFormElement):
716         (WebCore::HTMLFormElement::create):
717         (WebCore::HTMLFormElement::~HTMLFormElement):
718         (WebCore::HTMLFormElement::length):
719         (WebCore::HTMLFormElement::submitImplicitly):
720         (WebCore::HTMLFormElement::createFormData):
721         (WebCore::HTMLFormElement::submit):
722         (WebCore::HTMLFormElement::reset):
723         (WebCore::HTMLFormElement::formElementIndex):
724         (WebCore::HTMLFormElement::registerFormElement):
725         (WebCore::HTMLFormElement::removeFormElement):
726         (WebCore::HTMLFormElement::registerImgElement):
727         (WebCore::HTMLFormElement::removeImgElement):
728         (WebCore::HTMLFormElement::defaultButton):
729         (WebCore::HTMLFormElement::collectUnhandledInvalidControls):
730         (WebCore::HTMLFormElement::addElementAlias):
731         (WebCore::HTMLFormElement::documentDidBecomeActive):
732         * html/HTMLFormElement.h:
733         Added create functions. Made constructors and other members private.
734         Used an OwnPtr for m_elementAliases. Renamed collectionInfo to
735         m_collectionCache and used an OwnPtr for it. Renamed formElements to
736         m_associatedElements (since its contents are what HTML5 calls
737         "form-associated element", not form elements). Renamed imgElements to
738         m_imageElements.
739
740         * html/HTMLFrameSetElement.cpp:
741         (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
742         (WebCore::HTMLFrameSetElement::create):
743         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
744         * html/HTMLFrameSetElement.h:
745         Added create functions. Made constructors and other members private.
746         Renamed m_rows and m_cols to m_rowLengths and m_colLengths and used
747         OwnArrayPtr for both.
748
749         * html/HTMLLabelElement.cpp:
750         (WebCore::nodeAsLabelableFormControl): Made this cast to Element instead
751         of HTMLElement, since isFormControlElement is available on Element.
752         (WebCore::HTMLLabelElement::HTMLLabelElement):
753         (WebCore::HTMLLabelElement::create):
754         * html/HTMLLabelElement.h:
755         Added create functions. Made constructors and other members private.
756
757         * html/HTMLLegendElement.cpp:
758         (WebCore::HTMLLegendElement::HTMLLegendElement):
759         (WebCore::HTMLLegendElement::create):
760         (WebCore::HTMLLegendElement::associatedControl):
761         (WebCore::HTMLLegendElement::focus):
762         (WebCore::HTMLLegendElement::accessKeyAction):
763         * html/HTMLLegendElement.h:
764         Added create functions. Made constructors and other members private.
765         Renamed formElement to associatedControl since hte control associated
766         with this legend is not a "form element".
767
768         * editing/DeleteButton.cpp:
769         (WebCore::DeleteButton::DeleteButton):
770         (WebCore::DeleteButton::create):
771         * editing/DeleteButton.h:
772         * html/HTMLDivElement.cpp:
773         (WebCore::HTMLDivElement::HTMLDivElement):
774         (WebCore::HTMLDivElement::create):
775         * html/HTMLDivElement.h:
776         * html/HTMLFontElement.cpp:
777         (WebCore::HTMLFontElement::create):
778         * html/HTMLFontElement.h:
779         * html/HTMLHRElement.cpp:
780         (WebCore::HTMLHRElement::HTMLHRElement):
781         (WebCore::HTMLHRElement::create):
782         * html/HTMLHRElement.h:
783         * html/HTMLHeadElement.cpp:
784         (WebCore::HTMLHeadElement::HTMLHeadElement):
785         (WebCore::HTMLHeadElement::create):
786         * html/HTMLHeadElement.h:
787         * html/HTMLHeadingElement.cpp:
788         (WebCore::HTMLHeadingElement::HTMLHeadingElement):
789         (WebCore::HTMLHeadingElement::create):
790         * html/HTMLHeadingElement.h:
791         * html/HTMLHtmlElement.cpp:
792         (WebCore::HTMLHtmlElement::HTMLHtmlElement):
793         (WebCore::HTMLHtmlElement::create):
794         * html/HTMLHtmlElement.h:
795         * html/HTMLImageElement.cpp:
796         (WebCore::HTMLImageElement::HTMLImageElement):
797         (WebCore::HTMLImageElement::create):
798         * html/HTMLImageElement.h:
799         * html/HTMLInputElement.cpp:
800         (WebCore::HTMLInputElement::HTMLInputElement):
801         (WebCore::HTMLInputElement::create):
802         (WebCore::HTMLInputElement::createTemporaryFormForIsIndex):
803         * html/HTMLInputElement.h:
804         * html/HTMLIsIndexElement.cpp:
805         (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
806         (WebCore::HTMLIsIndexElement::create):
807         * html/HTMLIsIndexElement.h:
808         * html/HTMLLIElement.cpp:
809         (WebCore::HTMLLIElement::HTMLLIElement):
810         (WebCore::HTMLLIElement::create):
811         * html/HTMLLIElement.h:
812         * html/HTMLLinkElement.cpp:
813         (WebCore::HTMLLinkElement::HTMLLinkElement):
814         (WebCore::HTMLLinkElement::create):
815         * html/HTMLLinkElement.h:
816         Added create functions. Made constructors and other members private.
817
818         * html/HTMLTagNames.in: Removed the createWithNew flag from all the
819         tags that were still using it: div, font, form, frameset, h1, h2, h3,
820         h4, h5, h6, head, hr, html, image, img, input, ins, isindex, label,
821         legend, li, and link.
822
823         * html/HTMLTextAreaElement.h: Removed unneeded definition of the readOnly
824         function, since the one in HTMLFormElement does the same thing.
825
826         * loader/ImageDocument.cpp:
827         (WebCore::ImageDocumentElement::ImageDocumentElement):
828         (WebCore::ImageDocumentElement::create):
829         (WebCore::ImageDocument::createDocumentStructure):
830         Added create functions. Made constructors and other members private.
831
832         * page/DragController.cpp:
833         (WebCore::DragController::concludeEditDrag): Use the non-virtual disabled
834         function instead of the virtual isEnabledFormControl function, which just
835         turns around and calls the disabled function.
836
837         * rendering/MediaControlElements.cpp:
838         (WebCore::MediaControlShadowRootElement::MediaControlShadowRootElement):
839         (WebCore::MediaControlShadowRootElement::create):
840         (WebCore::MediaControlElement::MediaControlElement):
841         (WebCore::MediaControlElement::create):
842         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
843         (WebCore::MediaControlTimelineContainerElement::create):
844         (WebCore::MediaControlTimelineContainerElement::rendererIsNeeded):
845         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
846         (WebCore::MediaControlVolumeSliderContainerElement::create):
847         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
848         (WebCore::MediaControlStatusDisplayElement::create):
849         (WebCore::MediaControlStatusDisplayElement::update):
850         (WebCore::MediaControlStatusDisplayElement::rendererIsNeeded):
851         (WebCore::MediaControlInputElement::MediaControlInputElement):
852         (WebCore::MediaControlInputElement::styleForElement):
853         (WebCore::MediaControlInputElement::rendererIsNeeded):
854         (WebCore::MediaControlInputElement::attach):
855         (WebCore::MediaControlInputElement::updateStyle):
856         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
857         (WebCore::MediaControlMuteButtonElement::create):
858         (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
859         (WebCore::MediaControlMuteButtonElement::updateDisplayType):
860         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
861         (WebCore::MediaControlPlayButtonElement::create):
862         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
863         (WebCore::MediaControlPlayButtonElement::updateDisplayType):
864         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
865         (WebCore::MediaControlSeekButtonElement::create):
866         (WebCore::MediaControlSeekButtonElement::isForwardButton):
867         (WebCore::MediaControlSeekButtonElement::defaultEventHandler):
868         (WebCore::MediaControlSeekButtonElement::seekTimerFired):
869         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
870         (WebCore::MediaControlRewindButtonElement::create):
871         (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
872         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
873         (WebCore::MediaControlReturnToRealtimeButtonElement::create):
874         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
875         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
876         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
877         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
878         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
879         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
880         (WebCore::MediaControlTimelineElement::create):
881         (WebCore::MediaControlTimelineElement::defaultEventHandler):
882         (WebCore::MediaControlTimelineElement::update):
883         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
884         (WebCore::MediaControlVolumeSliderElement::create):
885         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
886         (WebCore::MediaControlVolumeSliderElement::update):
887         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
888         (WebCore::MediaControlFullscreenButtonElement::create):
889         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
890         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
891         (WebCore::MediaControlTimeDisplayElement::create):
892         * rendering/MediaControlElements.h:
893         Added create functions. Made constructors and other members private.
894
895         * rendering/RenderFileUploadControl.cpp:
896         (WebCore::ShadowInputElement::ShadowInputElement):
897         (WebCore::ShadowInputElement::create):
898         (WebCore::RenderFileUploadControl::updateFromElement):
899         Added create functions. Made constructors and other members private.
900
901         * rendering/RenderMedia.cpp:
902         (WebCore::RenderMedia::createControlsShadowRoot):
903         (WebCore::RenderMedia::createPanel):
904         (WebCore::RenderMedia::createMuteButton):
905         (WebCore::RenderMedia::createPlayButton):
906         (WebCore::RenderMedia::createSeekBackButton):
907         (WebCore::RenderMedia::createSeekForwardButton):
908         (WebCore::RenderMedia::createRewindButton):
909         (WebCore::RenderMedia::createReturnToRealtimeButton):
910         (WebCore::RenderMedia::createToggleClosedCaptionsButton):
911         (WebCore::RenderMedia::createStatusDisplay):
912         (WebCore::RenderMedia::createTimelineContainer):
913         (WebCore::RenderMedia::createTimeline):
914         (WebCore::RenderMedia::createVolumeSliderContainer):
915         (WebCore::RenderMedia::createVolumeSlider):
916         (WebCore::RenderMedia::createCurrentTimeDisplay):
917         (WebCore::RenderMedia::createTimeRemainingDisplay):
918         (WebCore::RenderMedia::createFullscreenButton):
919         Use create instead of new.
920
921         * rendering/RenderProgress.cpp:
922         (WebCore::ProgressValueElement::ProgressValueElement):
923         (WebCore::ProgressValueElement::create):
924         (WebCore::RenderProgress::updateValuePartState):
925         * rendering/RenderSlider.cpp:
926         (WebCore::SliderThumbElement::SliderThumbElement):
927         (WebCore::SliderThumbElement::create):
928         (WebCore::RenderSlider::updateFromElement):
929         Added create functions. Made constructors and other members private.
930
931         * rendering/TextControlInnerElements.cpp:
932         (WebCore::TextControlInnerElement::TextControlInnerElement):
933         (WebCore::TextControlInnerElement::create):
934         (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
935         (WebCore::TextControlInnerTextElement::create):
936         (WebCore::TextControlInnerTextElement::defaultEventHandler):
937         (WebCore::SearchFieldResultsButtonElement::SearchFieldResultsButtonElement):
938         (WebCore::SearchFieldResultsButtonElement::create):
939         (WebCore::SearchFieldResultsButtonElement::defaultEventHandler):
940         (WebCore::SearchFieldCancelButtonElement::SearchFieldCancelButtonElement):
941         (WebCore::SearchFieldCancelButtonElement::create):
942         (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
943         (WebCore::SpinButtonElement::SpinButtonElement):
944         (WebCore::SpinButtonElement::create):
945         (WebCore::SpinButtonElement::defaultEventHandler):
946         * rendering/TextControlInnerElements.h:
947         Added create functions. Made constructors and other members private.
948
949 2010-05-30  Xan Lopez  <xlopez@igalia.com>
950
951         Reviewed by Darin Adler.
952
953         Incorrect build dependencies for GObject DOM Bindings
954         https://bugs.webkit.org/show_bug.cgi?id=39932
955
956         -include does not execute the implicit % expansion, we have to do
957         it manually.
958
959         * GNUmakefile.am:
960
961 2010-05-30  Robert Hogan  <robert@webkit.org>
962
963         Reviewed by Kenneth Rohde Christiansen.
964
965         [Qt] Enhance Qt DRT implementation to support platform scroll wheel events.
966
967         https://bugs.webkit.org/show_bug.cgi?id=36004
968
969         Fix the bug in webkit.org/b/29601 for Qt.  A delta not divisible by 120
970         indicates a device that is sending fine-resolution scroll events, so
971         use the delta as the number of pixels to scroll.
972
973         * platform/qt/WheelEventQt.cpp:
974         (WebCore::PlatformWheelEvent::applyDelta):
975
976 2010-05-30  Jessie Berlin  <jberlin@webkit.org>
977
978         Reviewed by Pavel Feldman.
979
980         https://bugs.webkit.org/show_bug.cgi?id=39224
981         Bug 39224 - Web Inspector: There should be a way to clean up profiles
982
983         Adds a button to clear the profiles from the profiles panel like that
984         used for the console, the audits panel, and the timeline panel.
985         Consolidates the css rules, since they all use the same image.
986         Also allows for individual profiles to be deleted via the keyboard
987         (U+0008 or U+007F) and uses this new schema for the Elements Tree.
988
989         * English.lproj/localizedStrings.js:
990         Add tooltip text for the button to clear the profiles pane.
991
992         * inspector/InspectorBackend.idl:
993         Add ability to remove the profiles from the backend when they are
994         deleted or cleared in the frontend.
995         * inspector/InspectorBackend.cpp:
996         (WebCore::InspectorBackend::removeProfile):
997         (WebCore::InspectorBackend::clearProfiles):
998         * inspector/InspectorBackend.h:
999         * inspector/InspectorController.cpp:
1000         (WebCore::InspectorController::removeProfile):
1001         (WebCore::InspectorController::clearProfiles):
1002         * inspector/InspectorController.h:
1003
1004         * inspector/front-end/AuditsPanel.js:
1005         (WebInspector.AuditsPanel):
1006         Use the 'clear-status-bar-item' class.
1007         * inspector/front-end/ChangesView.js:
1008         (WebInspector.ChangesView):
1009         * inspector/front-end/TimelinePanel.js:
1010         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
1011         * inspector/front-end/audits.css:
1012         * inspector/front-end/inspector.css:
1013         (.clear-status-bar-item .glyph):
1014         * inspector/front-end/inspector.html:
1015
1016         * inspector/front-end/ElementsTreeOutline.js:
1017         Replace the keyDown handler on the Outline with specific methods to
1018         handle delete and enter on the TreeElements.
1019         (WebInspector.ElementsTreeOutline):
1020         (WebInspector.ElementsTreeOutline.prototype.get editing):
1021         Return whether or not an element in the tree is currently being edited.
1022         (WebInspector.ElementsTreeElement.prototype.ondelete):
1023         (WebInspector.ElementsTreeElement.prototype.onenter):
1024
1025         * inspector/front-end/Panel.js:
1026         (WebInspector.Panel.prototype.createSidebar):
1027         Make the TreeOutline for a Panel's sidebar aware of its enclosing Panel.
1028
1029         * inspector/front-end/ProfilesPanel.js:
1030         (WebInspector.ProfilesPanel):
1031         Add the clear button.
1032         (WebInspector.ProfilesPanel.prototype.get statusBarItems):
1033         (WebInspector.ProfilesPanel.prototype._clearProfiles):
1034         Remove the profiles from the backend, the reset the frontend interface.
1035         (WebInspector.ProfilesPanel.prototype.removeProfileHeader):
1036         Remove the profile from both the frontend and the backend, and clear the
1037         view when the last profile is removed.
1038         (WebInspector.ProfilesPanel.prototype._updateInterface):
1039         Hide the clear button when profiling is disabled.
1040         (WebInspector.ProfileSidebarTreeElement.prototype.onselect):
1041         Replace access to global variable with reference to the Panel held by the
1042         TreeOutline.
1043         (WebInspector.ProfileSidebarTreeElement.prototype.ondelete):
1044         Remove the profile corresponding the tree element when the user deletes
1045         that tree element.
1046
1047         * inspector/front-end/treeoutline.js:
1048         (TreeOutline.prototype._treeKeyDown):
1049         Allow the selected tree element to handle the user pressing a delete
1050         key or enter key.
1051
1052 2010-05-29  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
1053
1054         Reviewed by Darin Adler.
1055
1056         Check if a CC environment variable is defined before hard-coding gcc's
1057         path. Simply hard-coding it breaks cross-compilation and Linux
1058         distributions with more than one gcc installed (or not in the default
1059         path).
1060         https://bugs.webkit.org/show_bug.cgi?id=35551
1061
1062         No new functionality, so no new tests.
1063
1064         * bindings/scripts/CodeGeneratorObjC.pm:
1065         * bindings/scripts/IDLParser.pm:
1066         * dom/make_names.pl:
1067
1068 2010-05-29  Pavel Feldman  <pfeldman@chromium.org>
1069
1070         Reviewed by Timothy Hatcher.
1071
1072         Web Inspector: [REGRESSION] caller locations are not shown on Timeline Panel.
1073
1074         https://bugs.webkit.org/show_bug.cgi?id=39923
1075
1076         * inspector/front-end/TimelinePanel.js:
1077         (WebInspector.TimelinePanel.FormattedRecord):
1078         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
1079         (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
1080
1081 2010-05-29  Eric Seidel  <eric@webkit.org>
1082
1083         Reviewed by Adam Barth.
1084
1085         HTML5 parser should block script execution until stylesheets load
1086         https://bugs.webkit.org/show_bug.cgi?id=39903
1087
1088         All <script> tag execution now blocks on stylesheet load, including
1089         inline <script> content which the old parser doesn't support blocking.
1090
1091         Hyatt says we could now get rid of updateLayoutIgnorePendingStylesheets
1092         once our primary parser knows how to wait for stylesheets
1093         before executing inline <script> content.
1094
1095         All of http/tests/local passes in --html5-parser mode now.
1096         Also fixed fast/parser/tokenizer-close-during-document-write.html.
1097
1098         * html/HTML5ScriptRunner.cpp:
1099         (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
1100          - Added a m_hasScriptsWaitingForStylesheets bool so that we can
1101            detect when we're actually waiting on stylesheets or not.
1102            If we're not waiting on stylesheets then we're still parsing and
1103            executing scripts would cause parser/script reentrancy and bad news bears.
1104         (WebCore::HTML5ScriptRunner::isPendingScriptReady):
1105          - Re-enable the check that the stylesheets have loaded.
1106         (WebCore::HTML5ScriptRunner::executePendingScript):
1107          - ASSERT that stylesheets have loaded.
1108         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
1109          - ASSERT that this is never called reentrantly.
1110         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
1111          - Execute any scripts which were blocked on stylesheet loads.
1112          - ASSERT (in two ways) that this is never called reentrantly.
1113         * html/HTML5ScriptRunner.h:
1114         (WebCore::HTML5ScriptRunner::hasScriptsWaitingForStylesheets):
1115          - Callers need to check this before calling executeScriptsWaitingForLoad.
1116         (WebCore::HTML5ScriptRunner::inScriptExecution):
1117          - Used by callers to ASSERT that we're not called re-entrantly.
1118         * html/HTML5Tokenizer.cpp:
1119         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
1120          - Add m_hasScriptsWaitingForStylesheets for tracking if we've paused
1121            due to stylesheets or not.  Callers need to know this to know if they
1122            should ignore executeScriptsWaitingForStylesheets calls from
1123            Document (which may be generated when parsing </script> tags).
1124            We only care about executeScriptsWaitingForStylesheets calls when
1125            we've actually blocked the parser due to waiting on a stylesheet load.
1126         (WebCore::HTML5Tokenizer::end):
1127          - Move m_source.close() back to this method now that I understand more
1128            about when finish() is called.  This should fix several layout test ASSERTS.
1129         (WebCore::HTML5Tokenizer::finish):
1130          - This should not close m_source since scripts may still write to
1131            the document.  Set m_wasWaitingOnScriptsDuringFinish to indicate
1132            that we were not able to end parsing during finish.
1133         (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
1134          - ASSERT that this is never caller re-entrantly.
1135         (WebCore::HTML5Tokenizer::executeScript):
1136          - ASSERT that the ScriptRunner always thinks we're running scripts when this is called.
1137         (WebCore::HTML5Tokenizer::executingScript):
1138          - Added implementation to fix fast/parser/tokenizer-close-during-document-write.html
1139         (WebCore::HTML5Tokenizer::notifyFinished):
1140          - ASSERT that this is never called re-entrantly.
1141         (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
1142          - Call the ScriptRunner to tell it that stylesheets have loaded if
1143            it is blocked on stylesheet loads.
1144          - ASSERT(m_hasScriptsWaitingForStylesheets).  We can't just assert
1145            isPaused() since we may be paused for script loads.
1146         * html/HTML5Tokenizer.h:
1147
1148 2010-05-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1149
1150         Reviewed by Darin Adler.
1151
1152         Remove set but never used variables
1153         https://bugs.webkit.org/show_bug.cgi?id=35252
1154
1155         No new tests as there is no new functionality.
1156
1157         * accessibility/AccessibilityRenderObject.cpp:
1158         (WebCore::lastChildConsideringContinuation):
1159         * css/CSSFontSelector.cpp:
1160         (WebCore::CSSFontSelector::addFontFaceRule):
1161         * css/CSSParser.cpp:
1162         (WebCore::CSSParser::parseFontFaceUnicodeRange):
1163         * editing/InsertParagraphSeparatorCommand.cpp:
1164         (WebCore::InsertParagraphSeparatorCommand::doApply):
1165         * loader/appcache/ApplicationCacheStorage.cpp:
1166         (WebCore::ApplicationCacheStorage::loadManifestHostHashes):
1167         * page/EventHandler.cpp:
1168         (WebCore::EventHandler::handleWheelEvent):
1169         * page/animation/AnimationBase.cpp:
1170         (WebCore::AnimationBase::getTimeToNextEvent):
1171         * rendering/AutoTableLayout.cpp:
1172         (WebCore::AutoTableLayout::recalcColumn):
1173         (WebCore::AutoTableLayout::layout):
1174         * rendering/RenderBlock.cpp:
1175         (WebCore::RenderBlock::calcInlinePrefWidths):
1176         * rendering/RenderSVGResourceClipper.cpp:
1177         (WebCore::RenderSVGResourceClipper::createClipData):
1178         * storage/DatabaseTracker.cpp:
1179         (WebCore::DatabaseTracker::canEstablishDatabase):
1180
1181 2010-05-29  Sheriff Bot  <webkit.review.bot@gmail.com>
1182
1183         Unreviewed, rolling out r60405.
1184         http://trac.webkit.org/changeset/60405
1185         https://bugs.webkit.org/show_bug.cgi?id=39921
1186
1187         It broke GTK build. (Requested by Ossy on #webkit).
1188
1189         * dom/Node.cpp:
1190         (WebCore::Node::getElementsByTagName):
1191         (WebCore::Node::getElementsByTagNameNS):
1192         * dom/Node.h:
1193
1194 2010-05-29  Anton Muhin  <antonm@chromium.org>
1195
1196         Reviewed by Darin Adler.
1197
1198         Make NodeList getters take AtomicString instead of plain String
1199         https://bugs.webkit.org/show_bug.cgi?id=39892
1200
1201         Those methods turn String into AtomicString later.  And this conversion
1202         is faster if underlying string is already atomic.
1203         That buys small (~2-3%) speed up for Chromium on Dromaeo DOM Core.
1204         I don't know if Safari benefits from it.
1205
1206         * dom/Node.cpp:
1207         (WebCore::Node::getElementsByTagName):
1208         (WebCore::Node::getElementsByTagNameNS):
1209         * dom/Node.h:
1210
1211 2010-05-29  Justin Schuh  <jschuh@chromium.org>
1212
1213         Reviewed by Adam Barth.
1214
1215         Allow descendant frame navigation for file URLs when allowFileAccessFromFileURLs is false
1216         https://bugs.webkit.org/show_bug.cgi?id=39750
1217
1218         Fix for local HTML package breakage when each file is its own origin. 
1219         In this case we should allow descendant file: frames to navigate each 
1220         other when they share the same top frame.
1221
1222         Test: fast/frames/location-change-no-file-access.html
1223
1224         * loader/FrameLoader.cpp:
1225         (WebCore::FrameLoader::shouldAllowNavigation):
1226
1227 2010-05-29  Geoffrey Garen  <ggaren@apple.com>
1228
1229         Qt build fix: Updated for ArgList changes.
1230
1231         * bridge/qt/qt_runtime.cpp:
1232         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1233
1234 2010-05-29  Geoffrey Garen  <ggaren@apple.com>
1235
1236         Qt build fix: Updated for ArgList changes.
1237
1238         * bridge/qt/qt_runtime.cpp:
1239         (JSC::Bindings::QtRuntimeMetaMethod::call):
1240         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1241
1242 2010-05-29  Geoffrey Garen  <ggaren@apple.com>
1243
1244         Qt build fix: Updated for ArgList changes.
1245
1246         * bridge/qt/qt_pixmapruntime.cpp:
1247         (JSC::Bindings::QtPixmapInstance::invokeMethod):
1248         * bridge/qt/qt_runtime.cpp:
1249         (JSC::Bindings::findMethodIndex):
1250         (JSC::Bindings::QtRuntimeMetaMethod::call):
1251         (JSC::Bindings::QtRuntimeConnectionMethod::call):
1252         * bridge/qt/qt_runtime.h:
1253
1254 2010-05-29  Geoffrey Garen  <ggaren@apple.com>
1255
1256         Qt build fix: Updated for ArgList changes.
1257
1258         * bridge/qt/qt_pixmapruntime.cpp:
1259         (JSC::Bindings::QtPixmapAssignToElementMethod::invoke):
1260         (JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
1261         (JSC::Bindings::QtPixmapToStringMethod::invoke):
1262         (JSC::Bindings::QtPixmapInstance::invokeMethod):
1263         * bridge/qt/qt_pixmapruntime.h:
1264
1265 2010-05-29  Geoffrey Garen  <ggaren@apple.com>
1266
1267         Qt build fix: Keep this borken class limping along.
1268
1269         * bridge/qt/qt_instance.cpp:
1270         (JSC::Bindings::QtInstance::invokeMethod):
1271         * bridge/qt/qt_instance.h:
1272
1273 2010-05-28  Geoffrey Garen  <ggaren@apple.com>
1274
1275         Reviewed by Sam Weinig, Gavin Barraclough, Oliver Hunt.
1276
1277         Simplified the host calling convention.
1278
1279         PART ONE: Functional code changes.
1280         
1281         [ None in WebCore ]
1282         
1283         PART TWO: Global search and replace.
1284         
1285         In the areas below, I used global search-and-replace to change
1286             (ExecState*, JSObject*, JSValue, const ArgList&) => (ExecState*)
1287             args.size() => exec->argumentCount()
1288             args.at(i) => exec->argument(i)
1289
1290         * bindings/js/JSArrayBufferViewCustom.cpp:
1291         (WebCore::JSArrayBufferView::slice):
1292         * bindings/js/JSArrayBufferViewHelper.h:
1293         (WebCore::setWebGLArrayHelper):
1294         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
1295         (WebCore::JSCanvasRenderingContext2D::setFillColor):
1296         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
1297         (WebCore::JSCanvasRenderingContext2D::strokeRect):
1298         (WebCore::JSCanvasRenderingContext2D::drawImage):
1299         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
1300         (WebCore::JSCanvasRenderingContext2D::setShadow):
1301         (WebCore::JSCanvasRenderingContext2D::createPattern):
1302         (WebCore::JSCanvasRenderingContext2D::createImageData):
1303         (WebCore::JSCanvasRenderingContext2D::putImageData):
1304         (WebCore::JSCanvasRenderingContext2D::fillText):
1305         (WebCore::JSCanvasRenderingContext2D::strokeText):
1306         * bindings/js/JSClipboardCustom.cpp:
1307         (WebCore::JSClipboard::clearData):
1308         (WebCore::JSClipboard::getData):
1309         (WebCore::JSClipboard::setDragImage):
1310         * bindings/js/JSDOMApplicationCacheCustom.cpp:
1311         (WebCore::JSDOMApplicationCache::hasItem):
1312         (WebCore::JSDOMApplicationCache::add):
1313         (WebCore::JSDOMApplicationCache::remove):
1314         * bindings/js/JSDOMFormDataCustom.cpp:
1315         (WebCore::JSDOMFormData::append):
1316         * bindings/js/JSDOMWindowCustom.cpp:
1317         (WebCore::JSDOMWindow::open):
1318         (WebCore::JSDOMWindow::showModalDialog):
1319         (WebCore::JSDOMWindow::postMessage):
1320         (WebCore::JSDOMWindow::setTimeout):
1321         (WebCore::JSDOMWindow::setInterval):
1322         (WebCore::JSDOMWindow::addEventListener):
1323         (WebCore::JSDOMWindow::removeEventListener):
1324         (WebCore::JSDOMWindow::openDatabase):
1325         * bindings/js/JSDatabaseCustom.cpp:
1326         (WebCore::JSDatabase::changeVersion):
1327         (WebCore::createTransaction):
1328         (WebCore::JSDatabase::transaction):
1329         (WebCore::JSDatabase::readTransaction):
1330         * bindings/js/JSDatabaseSyncCustom.cpp:
1331         (WebCore::JSDatabaseSync::changeVersion):
1332         (WebCore::createTransaction):
1333         (WebCore::JSDatabaseSync::transaction):
1334         (WebCore::JSDatabaseSync::readTransaction):
1335         * bindings/js/JSDedicatedWorkerContextCustom.cpp:
1336         (WebCore::JSDedicatedWorkerContext::postMessage):
1337         * bindings/js/JSDesktopNotificationsCustom.cpp:
1338         (WebCore::JSNotificationCenter::requestPermission):
1339         * bindings/js/JSFloatArrayCustom.cpp:
1340         (WebCore::JSFloatArray::set):
1341         * bindings/js/JSGeolocationCustom.cpp:
1342         (WebCore::JSGeolocation::getCurrentPosition):
1343         (WebCore::JSGeolocation::watchPosition):
1344         * bindings/js/JSHTMLAllCollectionCustom.cpp:
1345         (WebCore::callHTMLAllCollection):
1346         (WebCore::JSHTMLAllCollection::item):
1347         (WebCore::JSHTMLAllCollection::namedItem):
1348         * bindings/js/JSHTMLCanvasElementCustom.cpp:
1349         (WebCore::JSHTMLCanvasElement::getContext):
1350         * bindings/js/JSHTMLCollectionCustom.cpp:
1351         (WebCore::callHTMLCollection):
1352         (WebCore::JSHTMLCollection::item):
1353         (WebCore::JSHTMLCollection::namedItem):
1354         * bindings/js/JSHTMLDocumentCustom.cpp:
1355         (WebCore::JSHTMLDocument::open):
1356         (WebCore::documentWrite):
1357         (WebCore::JSHTMLDocument::write):
1358         (WebCore::JSHTMLDocument::writeln):
1359         * bindings/js/JSHTMLInputElementCustom.cpp:
1360         (WebCore::JSHTMLInputElement::setSelectionRange):
1361         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
1362         (WebCore::JSHTMLOptionsCollection::add):
1363         (WebCore::JSHTMLOptionsCollection::remove):
1364         * bindings/js/JSHTMLSelectElementCustom.cpp:
1365         (WebCore::JSHTMLSelectElement::remove):
1366         * bindings/js/JSHistoryCustom.cpp:
1367         (WebCore::JSHistory::pushState):
1368         (WebCore::JSHistory::replaceState):
1369         * bindings/js/JSInjectedScriptHostCustom.cpp:
1370         (WebCore::JSInjectedScriptHost::databaseForId):
1371         (WebCore::JSInjectedScriptHost::currentCallFrame):
1372         (WebCore::JSInjectedScriptHost::nodeForId):
1373         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
1374         (WebCore::JSInjectedScriptHost::selectDatabase):
1375         (WebCore::JSInjectedScriptHost::selectDOMStorage):
1376         (WebCore::JSInjectedScriptHost::reportDidDispatchOnInjectedScript):
1377         * bindings/js/JSInspectorFrontendHostCustom.cpp:
1378         (WebCore::JSInspectorFrontendHost::platform):
1379         (WebCore::JSInspectorFrontendHost::port):
1380         (WebCore::JSInspectorFrontendHost::showContextMenu):
1381         * bindings/js/JSInt16ArrayCustom.cpp:
1382         (WebCore::JSInt16Array::set):
1383         * bindings/js/JSInt32ArrayCustom.cpp:
1384         (WebCore::JSInt32Array::set):
1385         * bindings/js/JSInt8ArrayCustom.cpp:
1386         (WebCore::JSInt8Array::set):
1387         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
1388         (WebCore::JSJavaScriptCallFrame::evaluate):
1389         (WebCore::JSJavaScriptCallFrame::scopeType):
1390         * bindings/js/JSLocationCustom.cpp:
1391         (WebCore::JSLocation::replace):
1392         (WebCore::JSLocation::reload):
1393         (WebCore::JSLocation::assign):
1394         (WebCore::JSLocation::toString):
1395         * bindings/js/JSMessageEventCustom.cpp:
1396         (WebCore::JSMessageEvent::initMessageEvent):
1397         * bindings/js/JSMessagePortCustom.cpp:
1398         (WebCore::JSMessagePort::postMessage):
1399         * bindings/js/JSMessagePortCustom.h:
1400         (WebCore::handlePostMessage):
1401         * bindings/js/JSNodeCustom.cpp:
1402         (WebCore::JSNode::insertBefore):
1403         (WebCore::JSNode::replaceChild):
1404         (WebCore::JSNode::removeChild):
1405         (WebCore::JSNode::appendChild):
1406         * bindings/js/JSNodeListCustom.cpp:
1407         (WebCore::callNodeList):
1408         * bindings/js/JSPluginElementFunctions.cpp:
1409         (WebCore::callPlugin):
1410         * bindings/js/JSSQLResultSetRowListCustom.cpp:
1411         (WebCore::JSSQLResultSetRowList::item):
1412         * bindings/js/JSSQLTransactionCustom.cpp:
1413         (WebCore::JSSQLTransaction::executeSql):
1414         * bindings/js/JSSQLTransactionSyncCustom.cpp:
1415         (WebCore::JSSQLTransactionSync::executeSql):
1416         * bindings/js/JSSVGLengthCustom.cpp:
1417         (WebCore::JSSVGLength::convertToSpecifiedUnits):
1418         * bindings/js/JSSVGMatrixCustom.cpp:
1419         (WebCore::JSSVGMatrix::multiply):
1420         (WebCore::JSSVGMatrix::inverse):
1421         (WebCore::JSSVGMatrix::rotateFromVector):
1422         * bindings/js/JSSVGPODListCustom.h:
1423         (WebCore::JSSVGPODListCustom::clear):
1424         (WebCore::JSSVGPODListCustom::initialize):
1425         (WebCore::JSSVGPODListCustom::getItem):
1426         (WebCore::JSSVGPODListCustom::insertItemBefore):
1427         (WebCore::JSSVGPODListCustom::replaceItem):
1428         (WebCore::JSSVGPODListCustom::removeItem):
1429         (WebCore::JSSVGPODListCustom::appendItem):
1430         * bindings/js/JSSVGPathSegListCustom.cpp:
1431         (WebCore::JSSVGPathSegList::clear):
1432         (WebCore::JSSVGPathSegList::initialize):
1433         (WebCore::JSSVGPathSegList::getItem):
1434         (WebCore::JSSVGPathSegList::insertItemBefore):
1435         (WebCore::JSSVGPathSegList::replaceItem):
1436         (WebCore::JSSVGPathSegList::removeItem):
1437         (WebCore::JSSVGPathSegList::appendItem):
1438         * bindings/js/JSUint16ArrayCustom.cpp:
1439         (WebCore::JSUint16Array::set):
1440         * bindings/js/JSUint32ArrayCustom.cpp:
1441         (WebCore::JSUint32Array::set):
1442         * bindings/js/JSUint8ArrayCustom.cpp:
1443         (WebCore::JSUint8Array::set):
1444         * bindings/js/JSWebGLRenderingContextCustom.cpp:
1445         (WebCore::JSWebGLRenderingContext::bufferData):
1446         (WebCore::JSWebGLRenderingContext::bufferSubData):
1447         (WebCore::getObjectParameter):
1448         (WebCore::JSWebGLRenderingContext::getBufferParameter):
1449         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
1450         (WebCore::JSWebGLRenderingContext::getParameter):
1451         (WebCore::JSWebGLRenderingContext::getProgramParameter):
1452         (WebCore::JSWebGLRenderingContext::getRenderbufferParameter):
1453         (WebCore::JSWebGLRenderingContext::getShaderParameter):
1454         (WebCore::JSWebGLRenderingContext::getTexParameter):
1455         (WebCore::JSWebGLRenderingContext::getUniform):
1456         (WebCore::JSWebGLRenderingContext::getVertexAttrib):
1457         (WebCore::JSWebGLRenderingContext::texImage2D):
1458         (WebCore::JSWebGLRenderingContext::texSubImage2D):
1459         (WebCore::dataFunctionf):
1460         (WebCore::dataFunctioni):
1461         (WebCore::dataFunctionMatrix):
1462         (WebCore::JSWebGLRenderingContext::uniform1fv):
1463         (WebCore::JSWebGLRenderingContext::uniform1iv):
1464         (WebCore::JSWebGLRenderingContext::uniform2fv):
1465         (WebCore::JSWebGLRenderingContext::uniform2iv):
1466         (WebCore::JSWebGLRenderingContext::uniform3fv):
1467         (WebCore::JSWebGLRenderingContext::uniform3iv):
1468         (WebCore::JSWebGLRenderingContext::uniform4fv):
1469         (WebCore::JSWebGLRenderingContext::uniform4iv):
1470         (WebCore::JSWebGLRenderingContext::uniformMatrix2fv):
1471         (WebCore::JSWebGLRenderingContext::uniformMatrix3fv):
1472         (WebCore::JSWebGLRenderingContext::uniformMatrix4fv):
1473         (WebCore::JSWebGLRenderingContext::vertexAttrib1fv):
1474         (WebCore::JSWebGLRenderingContext::vertexAttrib2fv):
1475         (WebCore::JSWebGLRenderingContext::vertexAttrib3fv):
1476         (WebCore::JSWebGLRenderingContext::vertexAttrib4fv):
1477         * bindings/js/JSWebSocketCustom.cpp:
1478         (WebCore::JSWebSocket::send):
1479         * bindings/js/JSWorkerContextCustom.cpp:
1480         (WebCore::JSWorkerContext::importScripts):
1481         (WebCore::JSWorkerContext::setTimeout):
1482         (WebCore::JSWorkerContext::setInterval):
1483         (WebCore::JSWorkerContext::openDatabase):
1484         (WebCore::JSWorkerContext::openDatabaseSync):
1485         * bindings/js/JSWorkerCustom.cpp:
1486         (WebCore::JSWorker::postMessage):
1487         * bindings/js/JSXMLHttpRequestCustom.cpp:
1488         (WebCore::JSXMLHttpRequest::open):
1489         (WebCore::JSXMLHttpRequest::send):
1490         * bindings/js/JSXSLTProcessorCustom.cpp:
1491         (WebCore::JSXSLTProcessor::importStylesheet):
1492         (WebCore::JSXSLTProcessor::transformToFragment):
1493         (WebCore::JSXSLTProcessor::transformToDocument):
1494         (WebCore::JSXSLTProcessor::setParameter):
1495         (WebCore::JSXSLTProcessor::getParameter):
1496         (WebCore::JSXSLTProcessor::removeParameter):
1497         * bindings/js/ScheduledAction.cpp:
1498         (WebCore::ScheduledAction::create):
1499         (WebCore::ScheduledAction::ScheduledAction):
1500         * bindings/js/ScheduledAction.h:
1501         * bindings/js/ScriptCallFrame.cpp:
1502         (WebCore::ScriptCallFrame::ScriptCallFrame):
1503         * bindings/js/ScriptCallFrame.h:
1504         * bindings/js/ScriptCallStack.cpp:
1505         (WebCore::ScriptCallStack::ScriptCallStack):
1506         (WebCore::ScriptCallStack::initialize):
1507         * bindings/js/ScriptCallStack.h:
1508         * bindings/scripts/CodeGeneratorJS.pm:
1509         * bridge/c/c_instance.cpp:
1510         (JSC::Bindings::CInstance::invokeMethod):
1511         (JSC::Bindings::CInstance::invokeDefaultMethod):
1512         * bridge/c/c_instance.h:
1513         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1514         (JavaInstance::invokeMethod):
1515         * bridge/jni/jsc/JavaInstanceJSC.h:
1516         * bridge/jsc/BridgeJSC.h:
1517         (JSC::Bindings::Instance::invokeDefaultMethod):
1518         * bridge/objc/objc_instance.h:
1519         * bridge/objc/objc_instance.mm:
1520         (ObjcInstance::invokeMethod):
1521         (ObjcInstance::invokeObjcMethod):
1522         (ObjcInstance::invokeDefaultMethod):
1523         * bridge/objc/objc_runtime.mm:
1524         (JSC::Bindings::callObjCFallbackObject):
1525         * bridge/runtime_method.cpp:
1526         (JSC::callRuntimeMethod):
1527         * bridge/runtime_object.cpp:
1528         (JSC::Bindings::callRuntimeObject):
1529
1530 2010-05-28  Stephen White  <senorblanco@chromium.org>
1531
1532         Reviewed by Darin Fisher.
1533
1534         Implement GraphicsContext::setImageInterpolation() for the Chromium
1535         port.  This is preparatory work for bug 38233.  A number of
1536         background-resize tests will need a rebaseline, since the images are
1537         taken during the initial "low quality" phase (<800ms).
1538
1539         [CHROMIUM] Chromium port should support image interpolation quality
1540         https://bugs.webkit.org/show_bug.cgi?id=38686
1541
1542         Covered by fast/backgrounds/size/backgroundSize15.html, and others.
1543
1544         * platform/graphics/skia/GraphicsContextSkia.cpp:
1545         Implement WebCore::GraphicsContext::setImageInterpolationQuality.
1546         * platform/graphics/skia/ImageSkia.cpp:
1547         (WebCore::computeResamplingMode):  Only enable high quality
1548         interpolation if it has been requested in the GraphicsContext.
1549         (WebCore::drawResampledBitmap):  Enable cacheing of resampled images
1550         even if the size is not full (fix from Brett Wilson).
1551         (WebCore::paintSkBitmap):  Pass in the PlatformContextSkia to
1552         computeResamplingMode, so it can query it for interpolation quality.
1553         (WebCore::Image::drawPattern):  Ibid.
1554         * platform/graphics/skia/PlatformContextSkia.cpp:
1555         (PlatformContextSkia::State::State):
1556         (PlatformContextSkia::interpolationQuality):
1557         (PlatformContextSkia::setInterpolationQuality):
1558         * platform/graphics/skia/PlatformContextSkia.h:
1559         Add a member fn and accessors to retain the image interpolation quality
1560         in the platform context, and to save/restore it with the state.
1561
1562 2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
1563
1564         Reviewed by Kenneth Rohde Christiansen.
1565
1566         [EFL] Remove compiler warnings about uninitialized variable.
1567         https://bugs.webkit.org/show_bug.cgi?id=39871
1568
1569         No new tests, just cosmetic changes.
1570
1571         * platform/efl/WidgetEfl.cpp:
1572         (WebCore::Widget::applyCursor):
1573
1574 2010-05-28  Vangelis Kokkevis  <vangelis@chromium.org>
1575
1576         Reviewed by Dimitri Glazkov.
1577
1578         Prevent chromium composited layers from rendering on top of the scrollbars.
1579         https://bugs.webkit.org/show_bug.cgi?id=39851
1580
1581         * platform/graphics/chromium/LayerRendererChromium.cpp:
1582         (WebCore::LayerRendererChromium::drawLayers):
1583
1584 2010-05-28  Aaron Boodman  <aa@chromium.org>
1585
1586         Reviewed by Darin Fisher.
1587
1588         Added isXHTMLDocument() to WebCore::Document.
1589
1590         https://bugs.webkit.org/show_bug.cgi?id=39887
1591
1592         * dom/Document.h: Add isXHTMLDocument().
1593         (WebCore::Document::isXHTMLDocument): Ditto.
1594
1595 2010-05-28  Peter Kasting  <pkasting@google.com>
1596
1597         Reviewed by Darin Adler.
1598
1599         https://bugs.webkit.org/show_bug.cgi?id=39857
1600         Make GIFs loop the correct number of times.  Previously, everyone looped
1601         one time too few for non-infinitely-looping GIFs.
1602
1603         Modified a Qt manual test to be correct and moved it to the general
1604         manual test directory.
1605
1606         * manual-tests/animated-gif-looping.html: Copied from WebCore/manual-tests/qt/qt-gif-test.html.
1607         * manual-tests/qt/qt-10loop-anim.gif: Removed.
1608         * manual-tests/qt/qt-anim.gif: Removed.
1609         * manual-tests/qt/qt-gif-test.html: Removed.
1610         * manual-tests/qt/qt-noanim.gif: Removed.
1611         * manual-tests/resources/animated-10x.gif: Copied from WebCore/manual-tests/qt/qt-10loop-anim.gif and modified.
1612         * manual-tests/resources/animated-infinite.gif: Copied from WebCore/manual-tests/qt/qt-anim.gif.
1613         * manual-tests/resources/non-animated.gif: Copied from WebCore/manual-tests/qt/qt-noanim.gif.
1614         * platform/graphics/BitmapImage.cpp:
1615         (WebCore::BitmapImage::internalAdvanceAnimation): For a loop count of n, show a total of n + 1 animation cycles.
1616         * platform/graphics/ImageSource.h:
1617         * platform/graphics/cg/ImageSourceCG.cpp:
1618         (WebCore::ImageSource::repetitionCount):
1619         * platform/graphics/qt/ImageDecoderQt.cpp:
1620         (WebCore::ImageDecoderQt::repetitionCount): Remove translation code now that WebCore matches Qt's internal handling of the loop count.  Qt itself may still have a bug here.
1621         * platform/image-decoders/gif/GIFImageDecoder.cpp:
1622         (WebCore::GIFImageDecoder::repetitionCount):
1623         * platform/image-decoders/gif/GIFImageReader.cpp:
1624         (GIFImageReader::read): Translate loop count 0 to "loop infinitely" (by restoring one piece of the Mozilla code we'd removed).
1625
1626 2010-05-28  Ben Murdoch  <benm@google.com>
1627
1628         Reviewed by Darin Adler.
1629
1630         openFile(...) in FIleSystemPOSIX does not call fileSystemRepresentation
1631         https://bugs.webkit.org/show_bug.cgi?id=39882
1632
1633         No new tests. Existing tests in fast/files should suffice.
1634
1635         * platform/posix/FileSystemPOSIX.cpp:
1636         (WebCore::openFile): pass the path parameter through fileSystemRepresentation before using it.
1637
1638 2010-05-28  Adam Barth  <abarth@webkit.org>
1639
1640         Reviewed by Eric Seidel.
1641
1642         Named entities in attributes aren't parsed correctly by HTML5 parser
1643         https://bugs.webkit.org/show_bug.cgi?id=39873
1644
1645         I misplaced this if statement when writing this code originally.  Now
1646         that we have test coverage for this paragraph in the spec, we can see
1647         and fix the bug.
1648
1649         * html/HTML5Lexer.cpp:
1650         (WebCore::HTML5Lexer::consumeEntity):
1651
1652 2010-05-28  Adam Barth  <abarth@webkit.org>
1653
1654         Reviewed by Eric Seidel.
1655
1656         Handle edge cases in HTML5 entity parsing
1657         https://bugs.webkit.org/show_bug.cgi?id=39823
1658
1659         The HTML5 specification tells us to handle HTML entities in a somewhat
1660         complicated way.  This patch attempts to correctly handle numeric
1661         entities.  Some of this code is duplicated from HTMLTokenizer.
1662
1663         * html/HTML5Lexer.cpp:
1664         (WebCore::HTMLNames::):
1665         (WebCore::HTMLNames::adjustEntity):
1666         (WebCore::HTMLNames::legalEntityFor):
1667         (WebCore::HTML5Lexer::consumeEntity):
1668         (WebCore::HTML5Lexer::processEntity):
1669         (WebCore::HTML5Lexer::nextToken):
1670         (WebCore::HTML5Lexer::emitCodePoint):
1671         * html/HTML5Lexer.h:
1672
1673 2010-05-28  Chris Fleizach  <cfleizach@apple.com>
1674
1675         Reviewed by Beth Dakin.
1676
1677         AX: stop prepping value conversion in accessibilityAttributeValueForParameter
1678         https://bugs.webkit.org/show_bug.cgi?id=39880
1679
1680         Cleaning up a FIXME so that all values are not converted before they're needed in accessibilityAttributeValue:forParameter:
1681
1682         * accessibility/mac/AccessibilityObjectWrapper.mm:
1683         (visiblePositionForTextMarker):
1684         (-[AccessibilityObjectWrapper visiblePositionRangeForTextMarkerRange:]):
1685         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
1686
1687 2010-05-28  Adam Treat  <atreat@rim.com>
1688
1689         Reviewed by Daniel Bates.
1690
1691         RIM Bug #293 and https://bugs.webkit.org/show_bug.cgi?id=39859
1692
1693         Layout is not dependent upon ScrollView::frameRect when useFixedLayout
1694         is true.  No reason to set the needs layout flag in this case.
1695
1696         * platform/ScrollView.cpp:
1697         (WebCore::ScrollView::setFrameRect):
1698
1699 2010-05-28  Mikhail Naganov  <mnaganov@chromium.org>
1700
1701         Unreviewed. Revert 60353 -- immature.
1702
1703         https://bugs.webkit.org/show_bug.cgi?id=39646
1704
1705         * bindings/js/JSConsoleCustom.cpp:
1706         * bindings/v8/custom/V8ConsoleCustom.cpp:
1707         * page/Console.cpp:
1708         * page/Console.h:
1709         * page/Console.idl:
1710
1711 2010-05-27  Darin Adler  <darin@apple.com>
1712
1713         Reviewed by David Levin.
1714
1715         Make more HTML DOM members private, especially constructors, batch 2
1716         https://bugs.webkit.org/show_bug.cgi?id=39706
1717
1718         Refactoring so no new tests.
1719
1720         Worked my way up from the bottom of HTMLTagNames.in.
1721
1722         * html/HTMLTagNames.in: Removed createWithNew from keygen, listing,
1723         map, marquee, menu, meta, ol, optgroup, option, p, param, pre,
1724         script, select, source, style, table, tbody, td, textarea, tfoot,
1725         th, thead, title, tr, ul, video, xmp, and noscript.
1726
1727         * editing/htmlediting.cpp:
1728         (WebCore::createOrderedListElement): Use create function instead of new.
1729         (WebCore::createUnorderedListElement): Ditto.
1730         * html/HTMLParser.cpp:
1731         (WebCore::HTMLParser::handleError): Ditto.
1732         (WebCore::HTMLParser::mapCreateErrorCheck): Ditto.
1733         * html/HTMLViewSourceDocument.cpp:
1734         (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
1735         (WebCore::HTMLViewSourceDocument::addLine): Ditto.
1736
1737         * html/HTMLKeygenElement.cpp:
1738         (WebCore::HTMLKeygenElement::HTMLKeygenElement): Use create function
1739         instead of new.
1740         (WebCore::HTMLKeygenElement::create): Added.
1741         * html/HTMLKeygenElement.h: Made constructor and virtual function
1742         overrides private, added create function.
1743
1744         * html/HTMLMapElement.cpp:
1745         (WebCore::HTMLMapElement::HTMLMapElement):
1746         (WebCore::HTMLMapElement::create):
1747         * html/HTMLMapElement.h:
1748         * html/HTMLMarqueeElement.cpp:
1749         (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
1750         (WebCore::HTMLMarqueeElement::create):
1751         * html/HTMLMarqueeElement.h:
1752         * html/HTMLMenuElement.cpp:
1753         (WebCore::HTMLMenuElement::HTMLMenuElement):
1754         (WebCore::HTMLMenuElement::create):
1755         * html/HTMLMenuElement.h:
1756         * html/HTMLMetaElement.cpp:
1757         (WebCore::HTMLMetaElement::HTMLMetaElement):
1758         (WebCore::HTMLMetaElement::create):
1759         * html/HTMLMetaElement.h:
1760         * html/HTMLNoScriptElement.cpp:
1761         (WebCore::HTMLNoScriptElement::HTMLNoScriptElement):
1762         (WebCore::HTMLNoScriptElement::create):
1763         (WebCore::HTMLNoScriptElement::childShouldCreateRenderer):
1764         * html/HTMLNoScriptElement.h:
1765         * html/HTMLOListElement.cpp:
1766         (WebCore::HTMLOListElement::HTMLOListElement):
1767         (WebCore::HTMLOListElement::create):
1768         * html/HTMLOListElement.h:
1769         * html/HTMLOptGroupElement.cpp:
1770         (WebCore::HTMLOptGroupElement::HTMLOptGroupElement):
1771         (WebCore::HTMLOptGroupElement::create):
1772         * html/HTMLOptGroupElement.h:
1773         * html/HTMLOptionElement.cpp:
1774         (WebCore::HTMLOptionElement::HTMLOptionElement):
1775         (WebCore::HTMLOptionElement::create):
1776         * html/HTMLOptionElement.h:
1777         * html/HTMLParagraphElement.cpp:
1778         (WebCore::HTMLParagraphElement::HTMLParagraphElement):
1779         (WebCore::HTMLParagraphElement::create):
1780         * html/HTMLParagraphElement.h:
1781         * html/HTMLParamElement.cpp:
1782         (WebCore::HTMLParamElement::HTMLParamElement):
1783         (WebCore::HTMLParamElement::create):
1784         * html/HTMLParamElement.h:
1785         * html/HTMLPreElement.cpp:
1786         (WebCore::HTMLPreElement::HTMLPreElement):
1787         (WebCore::HTMLPreElement::create):
1788         * html/HTMLPreElement.h:
1789         * html/HTMLQuoteElement.cpp:
1790         (WebCore::HTMLQuoteElement::HTMLQuoteElement):
1791         (WebCore::HTMLQuoteElement::create):
1792         * html/HTMLQuoteElement.h:
1793         * html/HTMLScriptElement.cpp:
1794         (WebCore::HTMLScriptElement::HTMLScriptElement):
1795         (WebCore::HTMLScriptElement::create):
1796         * html/HTMLScriptElement.h:
1797         * html/HTMLSelectElement.cpp:
1798         (WebCore::HTMLSelectElement::create):
1799         * html/HTMLSelectElement.h:
1800         * html/HTMLSourceElement.cpp:
1801         (WebCore::HTMLSourceElement::HTMLSourceElement):
1802         (WebCore::HTMLSourceElement::create):
1803         * html/HTMLSourceElement.h:
1804         * html/HTMLStyleElement.cpp:
1805         (WebCore::HTMLStyleElement::HTMLStyleElement):
1806         (WebCore::HTMLStyleElement::create):
1807         * html/HTMLStyleElement.h:
1808         * html/HTMLTableRowElement.cpp:
1809         (WebCore::HTMLTableRowElement::HTMLTableRowElement):
1810         (WebCore::HTMLTableRowElement::create):
1811         (WebCore::HTMLTableRowElement::insertCell):
1812         * html/HTMLTableRowElement.h:
1813         * html/HTMLTableSectionElement.cpp:
1814         (WebCore::HTMLTableSectionElement::HTMLTableSectionElement):
1815         (WebCore::HTMLTableSectionElement::create):
1816         (WebCore::HTMLTableSectionElement::insertRow):
1817         * html/HTMLTableSectionElement.h:
1818         * html/HTMLTextAreaElement.cpp:
1819         (WebCore::HTMLTextAreaElement::create):
1820         * html/HTMLTextAreaElement.h:
1821         * html/HTMLTitleElement.cpp:
1822         (WebCore::HTMLTitleElement::HTMLTitleElement):
1823         (WebCore::HTMLTitleElement::create):
1824         * html/HTMLTitleElement.h:
1825         * html/HTMLUListElement.cpp:
1826         (WebCore::HTMLUListElement::HTMLUListElement):
1827         (WebCore::HTMLUListElement::create):
1828         * html/HTMLUListElement.h:
1829         * html/HTMLVideoElement.cpp:
1830         (WebCore::HTMLVideoElement::HTMLVideoElement):
1831         (WebCore::HTMLVideoElement::create):
1832         * html/HTMLVideoElement.h:
1833         Made constructors and virtual function overrides private, added
1834         create function.
1835
1836         * html/HTMLTableCellElement.cpp:
1837         (WebCore::HTMLTableCellElement::HTMLTableCellElement): Updated
1838         names of data members. Renamed _row to m_row, _col to m_col,
1839         rSpan to m_rowSpan, cSpan to m_colSpan, and removed unused
1840         rowHeight and m_solid.
1841         (WebCore::HTMLTableCellElement::create): Added.
1842         (WebCore::HTMLTableCellElement::parseMappedAttribute): Updated names.
1843         * html/HTMLTableCellElement.h: Ditto.
1844
1845         * html/HTMLTableElement.cpp:
1846         (WebCore::HTMLTableElement::create): Added.
1847         (WebCore::HTMLTableElement::createTHead): Used create instead of new.
1848         (WebCore::HTMLTableElement::createTFoot): Ditto.
1849         (WebCore::HTMLTableElement::insertRow): Ditto.
1850         * html/HTMLTableElement.h:
1851
1852         * html/HTMLTablePartElement.h: Made members protected instead of
1853         public.
1854
1855 2010-05-28  Andreas Kling  <andreas.kling@nokia.com>
1856
1857         Reviewed by Kenneth Rohde Christiansen.
1858
1859         [Qt] REGRESSION(r59837): Incorrect clipping of TransparencyLayers
1860         https://bugs.webkit.org/show_bug.cgi?id=39784
1861
1862         Move coordinate transformation from TransparencyLayer to clipToImageBuffer()
1863
1864         * platform/graphics/qt/GraphicsContextQt.cpp:
1865         (WebCore::TransparencyLayer::TransparencyLayer):
1866         (WebCore::GraphicsContext::clipToImageBuffer):
1867
1868 2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
1869
1870         Reviewed by Kenneth Rohde Christiansen.
1871
1872         [EF] Implement methods for supporting PopupMenu
1873         https://bugs.webkit.org/show_bug.cgi?id=39629
1874
1875         * platform/PopupMenu.h: add needed attribute
1876         * platform/efl/PopupMenuEfl.cpp: implement methods to show/hide popup
1877         menu
1878         (WebCore::PopupMenu::PopupMenu): initialize new attribute
1879         (WebCore::PopupMenu::show): ditto.
1880         (WebCore::PopupMenu::hide): ditto.
1881
1882 2010-05-28  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
1883
1884         Reviewed by Kenneth Rohde Christiansen.
1885
1886         Reorder class initializers to remove compiler warnings.
1887         https://bugs.webkit.org/show_bug.cgi?id=39596
1888
1889         * platform/efl/PlatformKeyboardEventEfl.cpp: ditto.
1890         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): ditto.
1891         * platform/efl/PlatformMouseEventEfl.cpp: ditto.
1892         (WebCore::PlatformMouseEvent::PlatformMouseEvent): ditto.
1893         * platform/efl/PlatformWheelEventEfl.cpp: ditto
1894         (WebCore::PlatformWheelEvent::PlatformWheelEvent): ditto.
1895
1896 2010-05-27  Jeremy Orlow  <jorlow@chromium.org>
1897
1898         Reviewed by Steve Block.
1899
1900         Add IndexedDB's IDBIndex
1901         https://bugs.webkit.org/show_bug.cgi?id=39850
1902
1903         Flesh out IDBIndex as much as possible until Andrei finishes
1904         his patch to get around passing Frame*'s all around.  I also
1905         cleaned up a bunch of existing files as I noticed style
1906         violations (while basing my new files off of the old).
1907
1908         Not hooked up enough to test.  Will add tests soon.
1909
1910         * Android.derived.jscbindings.mk
1911         * Android.derived.v8bindings.mk
1912         * Android.mk
1913         * CMakeLists.txt
1914         * DerivedSources.cpp
1915         * DerivedSources.make
1916         * GNUmakefile.am
1917         * WebCore.pri
1918         * WebCore.pro
1919         * WebCore.gypi:
1920         * WebCore.vcproj/WebCore.vcproj
1921         * WebCore.xcodeproj/project.pbxproj
1922         * bindings/js/JSIDBAnyCustom.cpp:
1923         (WebCore::toJS):
1924         * bindings/v8/custom/V8IDBAnyCustom.cpp:
1925         (WebCore::toV8):
1926         * storage/IDBAny.cpp:
1927         (WebCore::IDBAny::idbIndexRequest):
1928         (WebCore::IDBAny::set):
1929         * storage/IDBAny.h:
1930         (WebCore::IDBAny::):
1931         * storage/IDBCallbacks.h:
1932         * storage/IDBDatabase.h:
1933         * storage/IDBDatabaseError.h:
1934         (WebCore::IDBDatabaseError::):
1935         * storage/IDBDatabaseError.idl:
1936         * storage/IDBDatabaseException.h:
1937         * storage/IDBDatabaseException.idl:
1938         * storage/IDBDatabaseImpl.cpp:
1939         * storage/IDBDatabaseImpl.h:
1940         * storage/IDBDatabaseRequest.cpp:
1941         * storage/IDBDatabaseRequest.h:
1942         * storage/IDBDatabaseRequest.idl:
1943         * storage/IDBIndex.h: Added.
1944         (WebCore::IDBIndex::~IDBIndex):
1945         * storage/IDBIndexImpl.cpp: Added.
1946         (WebCore::IDBIndexImpl::IDBIndexImpl):
1947         (WebCore::IDBIndexImpl::~IDBIndexImpl):
1948         * storage/IDBIndexImpl.h: Added.
1949         (WebCore::IDBIndexImpl::create):
1950         (WebCore::IDBIndexImpl::name):
1951         (WebCore::IDBIndexImpl::keyPath):
1952         (WebCore::IDBIndexImpl::unique):
1953         * storage/IDBIndexRequest.cpp: Added.
1954         (WebCore::IDBIndexRequest::IDBIndexRequest):
1955         (WebCore::IDBIndexRequest::~IDBIndexRequest):
1956         * storage/IDBIndexRequest.h: Added.
1957         (WebCore::IDBIndexRequest::create):
1958         (WebCore::IDBIndexRequest::name):
1959         (WebCore::IDBIndexRequest::keyPath):
1960         (WebCore::IDBIndexRequest::unique):
1961         * storage/IDBIndexRequest.idl: Added.
1962         * storage/IDBObjectStore.cpp:
1963         (WebCore::IDBObjectStore::IDBObjectStore):
1964         (WebCore::IDBObjectStore::~IDBObjectStore):
1965         (WebCore::IDBObjectStore::indexNames):
1966         (WebCore::IDBObjectStore::createIndex):
1967         (WebCore::IDBObjectStore::index):
1968         (WebCore::IDBObjectStore::removeIndex):
1969         * storage/IDBObjectStore.h:
1970         * storage/IDBObjectStoreRequest.cpp:
1971         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
1972         (WebCore::IDBObjectStoreRequest::name):
1973         (WebCore::IDBObjectStoreRequest::keyPath):
1974         (WebCore::IDBObjectStoreRequest::indexNames):
1975         (WebCore::IDBObjectStoreRequest::createIndex):
1976         (WebCore::IDBObjectStoreRequest::index):
1977         (WebCore::IDBObjectStoreRequest::removeIndex):
1978         * storage/IDBObjectStoreRequest.h:
1979         * storage/IDBObjectStoreRequest.idl:
1980         * storage/IDBRequest.cpp:
1981         (WebCore::IDBRequest::onSuccess):
1982         * storage/IDBRequest.h:
1983         * storage/IndexedDatabaseRequest.idl:
1984
1985 2010-05-28  Yury Semikhatsky  <yurys@chromium.org>
1986
1987         Reviewed by Pavel Feldman.
1988
1989         Web Inspector: hide node highlight when inspected page closes.
1990         https://bugs.webkit.org/show_bug.cgi?id=39872
1991
1992         * inspector/InspectorController.cpp:
1993         (WebCore::InspectorController::~InspectorController):
1994         (WebCore::InspectorController::inspectedPageDestroyed):
1995
1996 2010-05-28  Mikhail Naganov  <mnaganov@chromium.org>
1997
1998         Reviewed by Yury Semikhatsky.
1999
2000         Web Inspector: add Console API for retrieving memory stats
2001
2002         Add 'console.memory' property which returns an object. Currently
2003         it has two fields: totalHeapSize and usedHeapSize. Later, it can be
2004         extended for reporting total browser's memory consumption.
2005
2006         https://bugs.webkit.org/show_bug.cgi?id=39840
2007
2008         * bindings/js/JSConsoleCustom.cpp:
2009         (WebCore::JSConsole::memory):
2010         * bindings/v8/custom/V8ConsoleCustom.cpp:
2011         (WebCore::V8Console::memoryAccessorGetter):
2012         * page/Console.cpp:
2013         (WebCore::Console::memory):
2014         * page/Console.h:
2015         * page/Console.idl:
2016
2017 2010-05-28  Xan Lopez  <xlopez@igalia.com>
2018
2019         Add new file to the build system.
2020
2021         * GNUmakefile.am:
2022
2023 2010-05-28  Antti Koivisto  <koivisto@iki.fi>
2024
2025         Reviewed by Kenneth Rohde Christiansen.
2026
2027         https://bugs.webkit.org/show_bug.cgi?id=39874
2028         [Qt] Make tiled backing store more configurable
2029     
2030         Make tile size, tile creation delay and tiling area dynamically configurable.
2031
2032         * platform/graphics/TiledBackingStore.cpp:
2033         (WebCore::TiledBackingStore::TiledBackingStore):
2034         (WebCore::TiledBackingStore::setTileSize):
2035         (WebCore::TiledBackingStore::setTileCreationDelay):
2036         (WebCore::TiledBackingStore::setKeepAndCoverAreaMultipliers):
2037         (WebCore::TiledBackingStore::createTiles):
2038         * platform/graphics/TiledBackingStore.h:
2039         (WebCore::TiledBackingStore::tileSize):
2040         (WebCore::TiledBackingStore::tileCreationDelay):
2041         (WebCore::TiledBackingStore::getKeepAndCoverAreaMultipliers):
2042
2043 2010-05-28  Eric Seidel  <eric@webkit.org>
2044
2045         Reviewed by Adam Barth.
2046
2047         document.write does not work correctly in the HTML5 parser
2048         https://bugs.webkit.org/show_bug.cgi?id=39828
2049
2050         Added a new HTML5ScriptRunnerHost interface which
2051         HTML5Tokenizer implements.  This allows HTML5ScriptController
2052         to delegate the actual ScriptController::executeScript back to
2053         HTML5Tokenizer.  HTML5Tokenizer saves off the current m_source
2054         before calling ScriptController::executeScript to allow safe
2055         reentrancy through document.write().
2056
2057         * WebCore.xcodeproj/project.pbxproj:
2058          - Added HTML5ScriptRunnerHost.h
2059         * html/HTML5ScriptRunner.cpp:
2060         (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
2061         (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
2062          - Unregister m_parsingBlockingScript if stopped before
2063            load completion.  This was probably causing some of the
2064            crashes on page navigation we saw during LayoutTest runs.
2065         (WebCore::documentURLForScriptExecution):
2066          - Unify our documentURL handling so all callsites get it right.
2067         (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
2068          - Use documentURLForScriptExecution
2069         (WebCore::HTML5ScriptRunner::executePendingScript):
2070          - Call stopWatchingForLoad instead of removeClient()
2071          - Call executeScript instead of ScriptController directly.
2072         (WebCore::HTML5ScriptRunner::executeScript):
2073          - Wraps calls to HTML5ScriptRunnerHost::executeScript
2074         (WebCore::HTML5ScriptRunner::watchForLoad):
2075          - Wraps calls to HTML5ScriptRunnerHost::watchForLoad
2076         (WebCore::HTML5ScriptRunner::stopWatchingForLoad):
2077          - Wraps calls to HTML5ScriptRunnerHost::stopWatchingForLoad
2078         (WebCore::HTML5ScriptRunner::requestScript):
2079          - Only watch for load if the CachedScript isn't already loaded.
2080            This gets rid of rentrancy due to addClient calls, and as a result
2081            also stops us from hitting ASSERT(m_scriptNestingLevel)
2082            in executePendingScript.
2083         (WebCore::HTML5ScriptRunner::runScript):
2084          - Use the new fancy documentURLForScriptExecution and executeScript.
2085         * html/HTML5ScriptRunner.h:
2086         (WebCore::HTML5ScriptRunner::PendingScript::PendingScript):
2087          - Add a watchingForLoad bool so we know if we ever called watchForLoad
2088            with this CachedScript*.
2089         * html/HTML5ScriptRunnerHost.h: Added.
2090         (WebCore::HTML5ScriptRunnerHost::~HTML5ScriptRunnerHost):
2091         * html/HTML5Tokenizer.cpp:
2092         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
2093          - Store an m_document pointer since we need to access
2094            m_document->frame()->script() for script execution.
2095         (WebCore::HTML5Tokenizer::pumpLexer):
2096          - Always pause or unpause the TreeBuilder after script execution.
2097            Previously nested script execution would leave the TreeBuilder
2098            paused even though the top-level loop wanted to resume parsing.
2099            Now whenever m_scriptRunner->execute returns "continue parsing"
2100            parsing will actually continue.  This fixed cases where we would
2101            ignore the rest of the document after document.write() of a script tag.
2102         (WebCore::HTML5Tokenizer::write):
2103          - Explain how document.write() reentrancy is safe in the new world.
2104         (WebCore::HTML5Tokenizer::watchForLoad):
2105          - HTML5ScriptRunnerHost implementation.  We assert that this call will
2106            never cause script execution since that's our current design.
2107         (WebCore::HTML5Tokenizer::stopWatchingForLoad):
2108          - HTML5ScriptRunnerHost implementation.
2109         (WebCore::HTML5Tokenizer::executeScript):
2110          - HTML5ScriptRunnerHost implementation. Save off the current source
2111            before executing scripts in case document.write is called during
2112            script execution.
2113         * html/HTML5Tokenizer.h:
2114          - Implement HTML5ScriptRunnerHost.
2115
2116 2010-05-28  Nathan Lawrence  <nlawrence@apple.com>
2117
2118         Reviewed by Geoffrey Garen.
2119
2120         https://bugs.webkit.org/show_bug.cgi?id=39460
2121
2122         Because not just <img> and <image> elements can preload images, we
2123         dont want to restrict the element associated with the loader.
2124
2125         No new tests. Should share the same tests as the last patch.
2126
2127         * html/HTMLImageLoader.cpp:
2128         (WebCore::HTMLImageLoader::notifyFinished):
2129
2130 2010-05-27  MORITA Hajime  <morrita@google.com>
2131
2132         Reviewed by Ojan Vafai.
2133
2134         Cursor movement and text selection does not work well if a block is followed by an inline.
2135         https://bugs.webkit.org/show_bug.cgi?id=32123
2136
2137         RenderInline::setSelectionState() missed selection state
2138         propagation for ancestors.  This fix pulled
2139         RenderBlock::setSelectionState() up to RenderBoxModelObject, to
2140         share it with RenderInline.
2141
2142         Test: editing/selection/range-between-block-and-inline.html: Added.
2143         
2144         * rendering/RenderBlock.cpp:
2145         * rendering/RenderBlock.h:
2146         * rendering/RenderBoxModelObject.cpp:
2147         (WebCore::RenderBoxModelObject::setSelectionState):
2148         * rendering/RenderBoxModelObject.h:
2149         Moved setSelectionState() from RenderBlock to RenderBoxModelObject.
2150         
2151 2010-05-27  MORITA Hajime  <morrita@google.com>
2152
2153         Not reviewed. Fixed typo
2154
2155         * rendering/RenderTheme.cpp:
2156         (WebCore::RenderTheme::adjustStyle):
2157
2158 2010-05-27  Darin Adler  <darin@apple.com>
2159
2160         Reviewed by David Levin.
2161
2162         Make more HTML DOM members private, especially constructors
2163         https://bugs.webkit.org/show_bug.cgi?id=39697
2164
2165         Refactoring, so no new tests needed.
2166
2167         Working my way through HTMLTagNames.in from top to bottom, skipping any
2168         that are non-trivial for some reason.
2169
2170         * html/HTMLTagNames.in: Removed createWithNew from audio, base, basefont,
2171         blockquote, body, br, button, canvas, caption, col, colgroup, datagrid,
2172         datalist, dcell, dcol, drow, del, dir, dl, and fieldset.
2173
2174         * mathml/mathtags.in: Removed createWithNew from msub, and msup.
2175
2176         * dom/Document.cpp:
2177         (WebCore::Document::implicitClose): Use create function instead of new.
2178         (WebCore::Document::getCSSCanvasElement): Ditto.
2179         * editing/IndentOutdentCommand.cpp:
2180         (WebCore::createIndentBlockquoteElement): Ditto.
2181         * editing/htmlediting.cpp:
2182         (WebCore::createBreakElement): Ditto.
2183         * html/HTMLTableElement.cpp:
2184         (WebCore::HTMLTableElement::createCaption): Ditto.
2185         * html/HTMLViewSourceDocument.cpp:
2186         (WebCore::HTMLViewSourceDocument::createContainingTable): Ditto.
2187         * rendering/RenderTextControl.cpp:
2188         (WebCore::RenderTextControl::setInnerTextValue): Ditto.
2189
2190         * html/HTMLParser.cpp:
2191         (WebCore::HTMLParser::handleError): Use create function instead of new.
2192         Required reordering the code slightly, but the new order works fine.
2193
2194         * html/HTMLAudioElement.cpp:
2195         (WebCore::HTMLAudioElement::create):
2196         * html/HTMLAudioElement.h:
2197         * html/HTMLBRElement.cpp:
2198         (WebCore::HTMLBRElement::create):
2199         * html/HTMLBRElement.h:
2200         * html/HTMLBaseElement.cpp:
2201         (WebCore::HTMLBaseElement::create):
2202         * html/HTMLBaseElement.h:
2203         * html/HTMLBaseFontElement.cpp:
2204         (WebCore::HTMLBaseFontElement::create):
2205         * html/HTMLBaseFontElement.h:
2206         * html/HTMLBlockquoteElement.cpp:
2207         (WebCore::HTMLBlockquoteElement::create):
2208         * html/HTMLBlockquoteElement.h:
2209         * html/HTMLBodyElement.cpp:
2210         (WebCore::HTMLBodyElement::create):
2211         * html/HTMLBodyElement.h:
2212         * html/HTMLButtonElement.cpp:
2213         (WebCore::HTMLButtonElement::create):
2214         * html/HTMLButtonElement.h:
2215         * html/HTMLCanvasElement.cpp:
2216         (WebCore::HTMLCanvasElement::create):
2217         * html/HTMLCanvasElement.h:
2218         * html/HTMLDListElement.cpp:
2219         (WebCore::HTMLDListElement::create):
2220         * html/HTMLDListElement.h:
2221         * html/HTMLDataGridCellElement.cpp:
2222         (WebCore::HTMLDataGridCellElement::create):
2223         * html/HTMLDataGridCellElement.h:
2224         * html/HTMLDataGridColElement.cpp:
2225         (WebCore::HTMLDataGridColElement::create):
2226         * html/HTMLDataGridColElement.h:
2227         * html/HTMLDataGridElement.cpp:
2228         (WebCore::HTMLDataGridElement::create):
2229         * html/HTMLDataGridElement.h:
2230         * html/HTMLDataGridRowElement.cpp:
2231         (WebCore::HTMLDataGridRowElement::create):
2232         * html/HTMLDataGridRowElement.h:
2233         * html/HTMLDataListElement.cpp:
2234         (WebCore::HTMLDataListElement::create):
2235         * html/HTMLDataListElement.h:
2236         * html/HTMLElement.cpp:
2237         (WebCore::HTMLElement::setInnerText):
2238         * html/HTMLFieldSetElement.cpp:
2239         (WebCore::HTMLFieldSetElement::create):
2240         * html/HTMLFieldSetElement.h:
2241         * html/HTMLModElement.cpp:
2242         (WebCore::HTMLModElement::HTMLModElement):
2243         (WebCore::HTMLModElement::create):
2244         * html/HTMLModElement.h:
2245         * html/HTMLTableCaptionElement.cpp:
2246         (WebCore::HTMLTableCaptionElement::create):
2247         * html/HTMLTableCaptionElement.h:
2248         Made constructors and virtual function overrides private, added create functions.
2249         Made constructors inline in cases where they were called in only one place.
2250
2251         * html/HTMLTableColElement.cpp:
2252         (WebCore::HTMLTableColElement::HTMLTableColElement): Changed data member name
2253         from _span to m_span.
2254         (WebCore::HTMLTableColElement::create): Added.
2255         (WebCore::HTMLTableColElement::parseMappedAttribute): Updated to use m_span.
2256         * html/HTMLTableColElement.h:
2257         Made constructor and virtual function overrides private, added create function.
2258         Renamed _span to m_span.
2259
2260 2010-05-27  Kwang Yul Seo  <skyul@company100.net>
2261
2262         Reviewed by Darin Adler.
2263
2264         wx port: build fix for Linux
2265         https://bugs.webkit.org/show_bug.cgi?id=39860
2266
2267         Use uint16_t instead of uint16.
2268
2269         * plugins/PluginPackageNone.cpp:
2270         (WebCore::PluginPackage::NPVersion):
2271
2272 2010-05-27  Nathan Lawrence  <nlawrence@apple.com>
2273
2274         Reviewed by Geoffrey Garen.
2275
2276         https://bugs.webkit.org/show_bug.cgi?id=39460
2277
2278         Fixes the issue where images prefetched by JavaScript do not report
2279         their memory usage to the GC.
2280
2281         There is a new test manual-tests/image-prefetch-stress.html that loads
2282         a new 4MB image every half a second.
2283
2284         * html/HTMLImageLoader.cpp:
2285         (WebCore::HTMLImageLoader::notifyFinished):
2286         * manual-tests/image-prefetch-stress.html: Added.
2287
2288 2010-05-27  Eric Uhrhane  <ericu@chromium.org>
2289
2290         Reviewed by Adam Barth.
2291
2292         Add v8 bindings for async DB API in workers
2293         https://bugs.webkit.org/show_bug.cgi?id=39145
2294
2295         No new tests.  This should share layout tests with JSC.
2296
2297         Tweak the callback generation to switch lots of Frame* to ScriptExecutionContext*, and use the context passed in to handleEvent where possible.
2298         * bindings/scripts/CodeGeneratorV8.pm:
2299
2300         As with CodeGeneratorV8; these are pretty much all tiny tweaks.
2301         We do have to use a slightly different patch for callback invocation in invokeCallback, as V8Proxy::retrieve() doesn't work in the worker context.
2302         * bindings/v8/custom/V8CustomPositionCallback.cpp:
2303         (WebCore::V8CustomPositionCallback::handleEvent):
2304         * bindings/v8/custom/V8CustomPositionErrorCallback.cpp:
2305         (WebCore::V8CustomPositionErrorCallback::handleEvent):
2306         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
2307         (WebCore::V8SQLStatementErrorCallback::handleEvent):
2308         * bindings/v8/custom/V8CustomVoidCallback.cpp:
2309         (WebCore::V8CustomVoidCallback::V8CustomVoidCallback):
2310         (WebCore::V8CustomVoidCallback::handleEvent):
2311         (WebCore::invokeCallback):
2312         * bindings/v8/custom/V8CustomVoidCallback.h:
2313         (WebCore::V8CustomVoidCallback::create):
2314         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2315         (WebCore::V8DOMWindow::openDatabaseCallback):
2316         * bindings/v8/custom/V8DatabaseCustom.cpp:
2317         (WebCore::V8Database::changeVersionCallback):
2318         (WebCore::createTransaction):
2319         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
2320         (WebCore::V8DatabaseSync::changeVersionCallback):
2321         (WebCore::createTransaction):
2322         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
2323         (WebCore::V8NotificationCenter::requestPermissionCallback):
2324         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
2325         (WebCore::V8SQLTransaction::executeSqlCallback):
2326
2327         Add openDatabaseCallback.
2328         * bindings/v8/custom/V8WorkerContextCustom.cpp:
2329         (WebCore::V8WorkerContext::openDatabaseCallback):
2330         Remove an obsolete parameter.
2331         (WebCore::V8WorkerContext::openDatabaseSyncCallback):
2332
2333 2010-05-27  Pavel Feldman  <pfeldman@chromium.org>
2334
2335         Reviewed by Yury Semikhatsky.
2336
2337         Web Inspector: [REGRESSION] Query parameters are not displayed in the resources headers section.
2338
2339         https://bugs.webkit.org/show_bug.cgi?id=39848
2340
2341         * inspector/front-end/ResourceView.js:
2342         (WebInspector.ResourceView):
2343         (WebInspector.ResourceView.prototype._refreshRequestPayload):
2344
2345 2010-05-27  Nico Weber  <thakis@chromium.org>
2346
2347         Reviewed by Eric Seidel
2348
2349         https://bugs.webkit.org/show_bug.cgi?id=39092
2350
2351         Add Yank support to chromium mac. Do this by moving WebKit Mac's
2352         implementation of Editor::yankFromKillRing() into its own class and
2353         then using that.
2354
2355         * editing/Editor.cpp:
2356           Use new KillRing class.
2357         * editing/Editor.h:
2358         (WebCore::Editor::killRing):
2359           Use new KillRing class.
2360         * editing/EditorCommand.cpp:
2361         (WebCore::executeYankAndSelect):
2362           Use new KillRing class.
2363         * platform/KillRing.h:
2364           Add new KillRing class, which acts as null object.
2365         (WebCore::KillRing::~KillRing):
2366         * platform/mac/KillRingMac.h:
2367           Add new KillRingMac class, which writes to the mac's kill ring.
2368         * platform/mac/KillRingMac.mm:
2369           Add new KillRingMac class, which writes to the mac's kill ring.
2370
2371 2010-05-27  Ben Murdoch  <benm@google.com>
2372
2373         Reviewed by Jian Li.
2374
2375         Build break in FileStream.cpp
2376         https://bugs.webkit.org/show_bug.cgi?id=39841
2377
2378         When ENABLE_BLOB_SLICE is not defined, an undefined variable is used
2379         in FileStream.cpp:114. Fix by using the correct variable.
2380
2381         Build fix so no new tests.
2382
2383         * html/FileStream.cpp:
2384         (WebCore::FileStream::openForRead): Replace undefined variable with a defined one.
2385
2386 2010-05-27  Hans Wennborg  <hans@chromium.org>
2387
2388         Reviewed by Jeremy Orlow.
2389
2390         [Chromium] Default popup window size should not depend on zoom level
2391         https://bugs.webkit.org/show_bug.cgi?id=39835
2392
2393         V8DOMWindow::openCallback should not set width and height of new
2394         window unless specified in the function's arguments.
2395
2396         There is already code to reset the new window's origin coordinates,
2397         but the same thing should be done to its dimensions as well. Otherwise,
2398         a new popup with unspecified size will have its size depending on the
2399         parent's zoom level, which is not desirable.
2400
2401         This is the same as what is done in
2402         bindings/js/JSDOMWindowCustom.cpp:826.
2403
2404         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2405         (WebCore::V8DOMWindow::openCallback):
2406
2407 2010-05-27  Anders Bakken  <agbakken@gmail.com>
2408
2409         Reviewed by David Levin.
2410
2411         qt_instance.cpp has coding-style errors
2412         https://bugs.webkit.org/show_bug.cgi?id=39744
2413
2414         Fix webkit coding style issues in qt_instance.cpp
2415
2416         * bridge/qt/qt_instance.cpp:
2417         (JSC::Bindings::QtInstance::getQtInstance):
2418         (JSC::Bindings::QtInstance::removeCachedMethod):
2419         (JSC::Bindings::QtInstance::markAggregate):
2420         (JSC::Bindings::QtInstance::getPropertyNames):
2421         (JSC::Bindings::QtInstance::stringValue):
2422         (JSC::Bindings::QtField::name):
2423         (JSC::Bindings::QtField::valueFromInstance):
2424
2425 2010-05-27  Anders Bakken  <agbakken@gmail.com>
2426
2427         Reviewed by David Levin.
2428
2429         qt_instance.h has coding-style errors
2430         https://bugs.webkit.org/show_bug.cgi?id=39743
2431
2432         Fix webkit coding style issues in qt_instance.h
2433
2434         * bridge/qt/qt_instance.h:
2435
2436 2010-05-27  Anders Bakken  <agbakken@gmail.com>
2437
2438         Reviewed by David Levin.
2439
2440         qt_class.h has coding-style errors
2441         https://bugs.webkit.org/show_bug.cgi?id=39742
2442
2443         Fix webkit coding style issues in qt_class.h
2444
2445         * bridge/qt/qt_class.h:
2446
2447 2010-05-27  Eric Carlson  <eric.carlson@apple.com>
2448
2449         Reviewed by Darin Adler.
2450
2451         <rdar://problem/8016158> Crash in CVPixelBufferCreateResolvedAttributesDictionary with RLE
2452         compressed movie.
2453
2454         Configure the visual context to generate Direct3D compatible pixel buffers when we are able to
2455         use a CAImageQueue so there will be less conversion required before display. This change also  
2456         works around the issue that causes the RLE compressed movie to crash.
2457
2458         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2459         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Pass enum to QTMovieVisualContext
2460         constructor instead of CFDictionary.
2461         * platform/graphics/win/QTMovieVisualContext.cpp:
2462         (SetNumberValue):
2463         (getPixelBufferCreationOptions): New, create options dictionary appropriate for the visual 
2464         context type.
2465         (pixelBufferCreationOptions): New, return options dictionary appropriate for the visual 
2466         context type.
2467         (QTMovieVisualContextPriv::QTMovieVisualContextPriv): Get the options dictionary from
2468         getPixelBufferCreationOptions insteaad of taking it as a parameter.
2469         (QTMovieVisualContext::QTMovieVisualContext): Take enum instead of CFDictionary for 
2470         visual context configuration type.
2471         * platform/graphics/win/QTMovieVisualContext.h:
2472
2473 2010-05-27  Anders Carlsson  <andersca@apple.com>
2474
2475         Reviewed by Adam Roben.
2476
2477         [Qt] REGRESSION(r60258): It broke 10 tests.
2478         https://bugs.webkit.org/show_bug.cgi?id=39819
2479
2480         * plugins/qt/PluginDataQt.cpp:
2481         (WebCore::PluginData::initPlugins):
2482         Append the MimeClassInfo object after it's been initialized.
2483
2484 2010-05-27  Kevin Ollivier  <kevino@theolliviers.com>
2485
2486         [wx] Build fixes for Windows after recent changes.
2487
2488         * platform/graphics/wx/FontWx.cpp:
2489         * wscript:
2490
2491 2010-05-27  Chris Fleizach  <cfleizach@apple.com>
2492
2493         No review, build fixage.
2494
2495         Bug 39324 - AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
2496         https://bugs.webkit.org/show_bug.cgi?id=39324
2497
2498         Rolling out change from r60307 until a better fix is ready.
2499
2500         * accessibility/mac/AccessibilityObjectWrapper.mm:
2501         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2502
2503 2010-05-27  Yury Semikhatsky  <yurys@chromium.org>
2504
2505         Reviewed by Pavel Feldman.
2506
2507         [v8] Web Inspector: check that ScriptDebugListener was not removed
2508         while messages were dispatched in the nested loop.
2509         https://bugs.webkit.org/show_bug.cgi?id=39838
2510
2511         * bindings/v8/ScriptDebugServer.cpp:
2512         (WebCore::ScriptDebugServer::handleV8DebugEvent):
2513
2514 2010-05-27  Yury Semikhatsky  <yurys@chromium.org>
2515
2516         Reviewed by Pavel Feldman.
2517
2518         [v8] Web Inspector: undefined script URL value should be converted to an emtpy
2519         WebCore::String instead of "undefined" string. Otherwise it's shown
2520         in the Scripts panel with "undefined:<line no>" URL.
2521         https://bugs.webkit.org/show_bug.cgi?id=39845
2522
2523         * bindings/v8/ScriptDebugServer.cpp:
2524         (WebCore::ScriptDebugServer::dispatchDidParseSource):
2525
2526 2010-05-27  Chris Fleizach  <cfleizach@apple.com>
2527
2528         Reviewed by Darin Adler.
2529
2530         AX: WebKit doesn't call [super -accessibilityAttributeValue:attribute forParameter:] when it encounters a parameterized attribute that it doesn't handle.
2531         https://bugs.webkit.org/show_bug.cgi?id=39324
2532
2533         Make sure that accessibilityAttributeValue:forParameter: will default to its super's implementation. This is how AppKit expects objects to behave.
2534
2535         * accessibility/mac/AccessibilityObjectWrapper.mm:
2536         (-[AccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
2537
2538 2010-05-27  Xan Lopez  <xlopez@igalia.com>
2539
2540         More GTK+ distcheck fixes.
2541
2542         * GNUmakefile.am:
2543
2544 2010-05-27  Yury Semikhatsky  <yurys@chromium.org>
2545
2546         Reviewed by Pavel Feldman.
2547
2548         [v8] Web Inspector: notify ScriptDebugListener when execution is resumed
2549         https://bugs.webkit.org/show_bug.cgi?id=39838
2550
2551         * bindings/v8/ScriptDebugServer.cpp:
2552         (WebCore::ScriptDebugServer::handleV8DebugEvent):
2553
2554 2010-05-27  Anders Bakken  <agbakken@gmail.com>
2555
2556         Reviewed by David Levin.
2557
2558         qt_pixmapruntime.cpp has coding-style errors
2559         https://bugs.webkit.org/show_bug.cgi?id=39745
2560
2561         Fix webkit coding style issues in qt_pixmapruntime.cpp
2562
2563         * bridge/qt/qt_pixmapruntime.cpp:
2564
2565 2010-05-26  Jeremy Orlow  <jorlow@chromium.org>
2566
2567         Reviewed by Steve Block.
2568
2569         Clean up IndexedDB layout tests
2570         https://bugs.webkit.org/show_bug.cgi?id=39748
2571
2572         Remove an assert that always fires.
2573
2574         Tests: storage/indexeddb/idb-database-request.html
2575                storage/indexeddb/indexed-database-request.html
2576
2577         * storage/IDBDatabaseImpl.cpp:
2578         (WebCore::IDBDatabaseImpl::objectStores):
2579
2580 2010-05-27  Pavel Feldman  <pfeldman@chromium.org>
2581
2582         Reviewed by Yury Semikhatsky.
2583
2584         Web Inspector: Get CSS rule offsets lazily.
2585
2586         https://bugs.webkit.org/show_bug.cgi?id=39832
2587
2588         * inspector/InspectorCSSStore.cpp:
2589         (WebCore::InspectorCSSStore::getStartEndOffsets):
2590         * inspector/InspectorDOMAgent.cpp:
2591         (WebCore::InspectorDOMAgent::buildObjectForRule):
2592
2593 2010-05-27  Anders Bakken  <agbakken@gmail.com>
2594
2595         Reviewed by David Levin.
2596
2597         qt_class.cpp has coding-style errors
2598         https://bugs.webkit.org/show_bug.cgi?id=39741
2599
2600         Fix webkit coding style issues in qt_class.cpp
2601
2602         * bridge/qt/qt_class.cpp:
2603         (JSC::Bindings::QtClass::fieldNamed):
2604
2605 2010-05-27  Eric Seidel  <eric@webkit.org>
2606
2607         Reviewed by Darin Adler.
2608
2609         Remove bit-rotten INSTRUMENT_LAYOUT_SCHEDULING code from HTMLTokenizer
2610         https://bugs.webkit.org/show_bug.cgi?id=39714
2611
2612         This came from a discussion on #webkit with Hyatt about this code
2613         being old and no longer used to either of our knowledge.
2614
2615         No functional changes, thus no tests.
2616
2617         I also removed a bogus FIXME I had added in an earlier patch
2618         before I understood what the HTMLTokenizer was trying to do.
2619
2620         * html/HTMLTokenizer.cpp:
2621         (WebCore::HTMLTokenizer::scriptHandler):
2622         (WebCore::HTMLTokenizer::scriptExecution):
2623         (WebCore::HTMLTokenizer::continueProcessing):
2624         (WebCore::HTMLTokenizer::willWriteHTML):
2625         (WebCore::HTMLTokenizer::didWriteHTML):
2626         (WebCore::HTMLTokenizer::timerFired):
2627         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
2628
2629 2010-05-27  Anton Muhin  <antonm@chromium.org>
2630
2631         Reviewed by Adam Barth.
2632
2633         Add callbacks to ScriptController to allow notifications on named items additions and removals
2634         https://bugs.webkit.org/show_bug.cgi?id=39679
2635
2636         * bindings/js/ScriptController.h: Callbacks with empty implementation added.
2637         (WebCore::ScriptController::namedItemAdded):
2638         (WebCore::ScriptController::namedItemRemoved):
2639         * bindings/v8/ScriptController.cpp: Empty implementation of callbacks.
2640         (WebCore::ScriptController::namedItemAdded):
2641         (WebCore::ScriptController::namedItemRemoved):
2642         * bindings/v8/ScriptController.h: Callbacks added.
2643         * html/HTMLDocument.cpp: Hooking in callbacks.
2644         (WebCore::HTMLDocument::addItemToMap):
2645         (WebCore::HTMLDocument::removeItemFromMap):
2646         * html/HTMLDocument.h:
2647
2648 2010-05-27  Zhenyao Mo  <zmo@google.com>
2649
2650         Reviewed by Dimitri Glazkov.
2651
2652         Implement lazy clearing of renderbuffers
2653         https://bugs.webkit.org/show_bug.cgi?id=36248
2654
2655         Test: fast/canvas/webgl/renderbuffer-initialization.html
2656
2657         * html/canvas/WebGLFramebuffer.cpp:
2658         (WebCore::WebGLFramebuffer::WebGLFramebuffer): Init added members.
2659         (WebCore::WebGLFramebuffer::setAttachment): Set attachment object.
2660         (WebCore::WebGLFramebuffer::onBind): Perform buffer clearing if needed.
2661         (WebCore::WebGLFramebuffer::onAttachedObjectChange): Ditto.
2662         (WebCore::WebGLFramebuffer::isUninitialized): Check whether an attached object is uninitialized renderbuffer.
2663         (WebCore::WebGLFramebuffer::setInitialized): After initialize a renderbuffer, set the flag.
2664         (WebCore::WebGLFramebuffer::initializeRenderbuffers): Clear un-initialized renderbuffers if framebuffer is complete.
2665         * html/canvas/WebGLFramebuffer.h:
2666         (WebCore::WebGLFramebuffer::isDepthAttached): Changed to check object.
2667         (WebCore::WebGLFramebuffer::isStencilAttached): Ditto.
2668         (WebCore::WebGLFramebuffer::isDepthStencilAttached): Ditto.
2669         * html/canvas/WebGLRenderbuffer.cpp:
2670         (WebCore::WebGLRenderbuffer::WebGLRenderbuffer): Init added members.
2671         * html/canvas/WebGLRenderbuffer.h:
2672         (WebCore::WebGLRenderbuffer::isInitialized): As the function name.
2673         (WebCore::WebGLRenderbuffer::setInitialized): Ditto.
2674         * html/canvas/WebGLRenderingContext.cpp:
2675         (WebCore::WebGLRenderingContext::bindFramebuffer): Call onBind().
2676         (WebCore::WebGLRenderingContext::copyTexImage2D): Call onAttachedObjectChange().
2677         (WebCore::WebGLRenderingContext::deleteRenderbuffer): Ditto.
2678         (WebCore::WebGLRenderingContext::deleteTexture): Ditto.
2679         (WebCore::WebGLRenderingContext::framebufferRenderbuffer): Call setAttachment.
2680         (WebCore::WebGLRenderingContext::framebufferTexture2D): Call onAttachedObjectChange().
2681         (WebCore::WebGLRenderingContext::renderbufferStorage): Ditto.
2682         (WebCore::WebGLRenderingContext::texImage2DBase): Ditto.
2683         * platform/graphics/mac/GraphicsContext3DMac.cpp:
2684         (WebCore::GraphicsContext3D::reshape): Initialize internal buffers.
2685
2686 2010-05-27  Kristian Monsen  <kristianm@google.com>
2687
2688         Reviewed by Darin Adler.
2689
2690         Compile fix for Android, added include for Refcounted.h, this did not get
2691         included through Threading.h in Android.
2692         https://bugs.webkit.org/show_bug.cgi?id=39678
2693
2694         Build fix only, no new tests.
2695
2696         * storage/SQLTransactionSyncCallback.h:
2697
2698 2010-05-27  Joone Hur  <joone@kldp.org>
2699
2700         Reviewed by Xan Lopez.
2701
2702         Add GtkVersioning.h in ScrollbackGtk.cpp for maintaining compatibility with the previous GTK+
2703
2704         https://bugs.webkit.org/show_bug.cgi?id=39567
2705
2706         * platform/gtk/ScrollbarGtk.cpp:
2707
2708 2010-05-27  Hans Wennborg  <hans@chromium.org>
2709
2710         Reviewed by Alexey Proskuryakov.
2711
2712         Increase limit on number of (i)frames from 200 to 1000.
2713         https://bugs.webkit.org/show_bug.cgi?id=39427
2714
2715         The limit on number of iframes was introduced in r3707 back in 2003.
2716         An example of a page that is broken because of this is:
2717         http://vimcolorschemetest.googlecode.com/svn/html/index-c.html
2718         Neither Firefox nor IE has such a limit.
2719
2720         It seems that WebKit can handle a significantly higher number of frames, and
2721         the original reasons for imposing the limit are believed to be gone.
2722
2723         Tests: compositing/iframes/lots-of-iframes.html
2724                compositing/iframes/lots-of-objects.html
2725
2726         * html/HTMLFrameElementBase.cpp:
2727         (WebCore::HTMLFrameElementBase::isURLAllowed):
2728         * page/FrameTree.cpp:
2729         (WebCore::FrameTree::uniqueChildName):
2730         * page/Page.h:
2731         * rendering/RenderEmbeddedObject.cpp:
2732         (WebCore::isURLAllowed):
2733
2734 2010-05-27  Kwang Yul Seo  <skyul@company100.net>
2735
2736         Reviewed by Xan Lopez.
2737
2738         [GTK] writeToFile fails when length is large
2739         https://bugs.webkit.org/show_bug.cgi?id=39666
2740
2741         writeToFile forgot to increment data pointer.
2742
2743         * platform/gtk/FileSystemGtk.cpp:
2744         (WebCore::writeToFile):
2745
2746 2010-05-26  David Hyatt  <hyatt@apple.com>
2747
2748         Reviewed by Sam Weinig.
2749
2750         https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
2751         
2752         Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
2753         |to| argument to be a RenderBlock.
2754         
2755         Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
2756         by hand.
2757
2758         Make the append forms of the functions just use the insert forms with a beforeChild of 0.
2759         
2760         Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
2761         case where it does an append.
2762         
2763         Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
2764         messed up when using append/insertChildNode.
2765
2766         * rendering/RenderBlock.cpp:
2767         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
2768         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
2769         (WebCore::RenderBlock::createAndAppendRootInlineBox):
2770         (WebCore::RenderBlock::moveChildTo):
2771         (WebCore::RenderBlock::moveChildrenTo):
2772         (WebCore::RenderBlock::makeChildrenNonInline):
2773         (WebCore::RenderBlock::removeChild):
2774         * rendering/RenderBlock.h:
2775         (WebCore::RenderBlock::moveChildTo):
2776         (WebCore::RenderBlock::moveAllChildrenTo):
2777         (WebCore::RenderBlock::moveChildrenTo):
2778         * rendering/RenderLayer.cpp:
2779         (WebCore::RenderLayer::addChild):
2780         * rendering/RenderObjectChildList.cpp:
2781         (WebCore::RenderObjectChildList::insertChildNode):
2782         * rendering/RenderRubyBase.cpp:
2783         (WebCore::RenderRubyBase::moveInlineChildren):
2784
2785 2010-05-27  Eric Seidel  <eric@webkit.org>
2786
2787         Reviewed by Adam Barth.
2788
2789         Add <pre>/<listing> hack to HTML5Lexer to fix the last remaining HTML5 test suite regressions
2790         https://bugs.webkit.org/show_bug.cgi?id=39818
2791
2792         HTML parsers are supposed to ignore the first \n after a <pre> or <listing> tag
2793         for authoring convenience.  Our new HTML5Lexer didn't have this hack yet
2794         so there were 4 HTML5 tests failing.  Fixing this fixed the last of the HTML5
2795         test suite regressions using the HTML5Lexer vs the old lexer.
2796
2797         * html/HTML5Lexer.cpp:
2798         (WebCore::HTML5Lexer::reset):
2799         (WebCore::HTML5Lexer::nextToken):
2800         * html/HTML5Lexer.h:
2801         (WebCore::HTML5Lexer::skipLeadingNewLineForListing):
2802         * html/HTML5TreeBuilder.cpp:
2803         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2804
2805 2010-05-26  Eric Seidel  <eric@webkit.org>
2806
2807         Reviewed by Adam Barth.
2808
2809         Teach the HTML5 parser how to handle external scripts
2810         https://bugs.webkit.org/show_bug.cgi?id=39716
2811
2812         Make it possible for the HTML5Tokenizer to run external scripts.
2813         I created a new class HTML5ScriptRunner to hold all of the
2814         script-logic which is scattered throughout the old HTMLTokenizer.
2815
2816         The design is for the HTML5Tokenizer (the "controller") to hold
2817         the Lexer, TreeBuilder and ScriptRunner.  The Lexer returns back
2818         to the controller, which passes tokens to the TreeBuilder.  When the
2819         treebuilder encounters a </script> tag it pauses itself and returns
2820         back to the controller which calls the ScriptRunner.  The TreeBuilder
2821         is un-paused when the HTML5Tokenizer calls takeScriptToProcess().
2822
2823         The ScriptRunner attempts to process the passed script, and additionally
2824         any blocked scripts it can.  It returns to the controller indicating if
2825         parsing should continue.  If not, callbacks when external scripts load
2826         or when stylesheets are finished parsing will cause the controller to
2827         kick off script execution and parsing again at a later point.
2828
2829         * WebCore.xcodeproj/project.pbxproj:
2830          - Add HTML5ScriptRunner.*
2831         * bindings/js/CachedScriptSourceProvider.h:
2832          - Add missing include discovered while building.
2833         * dom/ScriptElement.cpp:
2834         (WebCore::ScriptElement::finishParsingChildren):
2835          - Remove previous hack for inline <script> execution.
2836         * dom/ScriptElement.h:
2837          - Explain the HTML5 spec names for m_evaluated and m_createdByParser.
2838         * html/HTML5ScriptRunner.cpp: Added.
2839         (WebCore::HTML5ScriptRunner::HTML5ScriptRunner):
2840          - The HTML5Tokenizer is passed to the HTML5ScriptRunner as a
2841            CachedResourceClient.  The HTML5ScriptRunner will register the
2842            HTML5Tokenizer for notifyFinished callbacks when the scripts load.
2843            The HTML5Tokenizer is expected to call the HTML5ScriptRunner to
2844            execute any loaded scripts at that point.
2845         (WebCore::HTML5ScriptRunner::~HTML5ScriptRunner):
2846         (WebCore::HTML5ScriptRunner::frame): Helper method.
2847         (WebCore::createScriptLoadEvent): Helper method.
2848         (WebCore::createScriptErrorEvent): Helper method.
2849         (WebCore::HTML5ScriptRunner::sourceFromPendingScript):
2850          - Helper method for dealing with both inline and external script types.
2851         (WebCore::HTML5ScriptRunner::isPendingScriptReady):
2852          - Helper for dealing with both inline and external scripts.
2853         (WebCore::HTML5ScriptRunner::executePendingScript):
2854          - Execute one script.  Both external and inline scripts
2855            can become m_parsingBlockingScript if they can't be executed
2856            immediately after parsing.
2857         (WebCore::HTML5ScriptRunner::execute):
2858          - Takes a script element from the tree builder and tries
2859            to process it.
2860         (WebCore::HTML5ScriptRunner::executeParsingBlockingScripts):
2861          - Runs the current parsing blocking script if ready.
2862          - Running a script could add another parsing blocking script
2863            so we loop until there is no ready-to-run parsing blocking script.
2864         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForLoad):
2865          - Called by HTML5Tokenizer when a script loads.
2866         (WebCore::HTML5ScriptRunner::executeScriptsWaitingForStylesheets):
2867          - Called by HTML5Tokenizer when stylesheets complete.
2868         (WebCore::HTML5ScriptRunner::requestScript):
2869          - Transcription of the HTML5 spec.
2870         (WebCore::HTML5ScriptRunner::runScript):
2871          - Transcription of the HTML5 spec.
2872         * html/HTML5ScriptRunner.h: Added.
2873          - New class to handle script loading and execution for the HTML5 parser.
2874         * html/HTML5Tokenizer.cpp:
2875         (WebCore::HTML5Tokenizer::HTML5Tokenizer):
2876          - Create a HTML5ScriptRunner and pass it "this" as the CachedResourceClient.
2877         (WebCore::HTML5Tokenizer::pumpLexer):
2878          - When the parser is paused, try to run scripts.
2879         (WebCore::HTML5Tokenizer::write):
2880          - Only pump the lexer when the parser is not paused.
2881         (WebCore::HTML5Tokenizer::end):
2882          - finish() tells us that we've reached EOF, not end()
2883          - Only pump the lexer when the parser is not paused.
2884         (WebCore::HTML5Tokenizer::finish):
2885          - Mark EOF, and end() if we're not waiting on scripts.
2886         (WebCore::HTML5Tokenizer::isWaitingForScripts):
2887          - isPaused() seems to mean isPausedForExternalScripts().
2888         (WebCore::HTML5Tokenizer::resumeParsingAfterScriptExecution):
2889         (WebCore::HTML5Tokenizer::notifyFinished):
2890         (WebCore::HTML5Tokenizer::executeScriptsWaitingForStylesheets):
2891         * html/HTML5Tokenizer.h:
2892         * html/HTML5TreeBuilder.cpp:
2893         (WebCore::HTML5TreeBuilder::HTML5TreeBuilder):
2894          - Add an m_isPaused flag.
2895         (WebCore::HTML5TreeBuilder::handleScriptStartTag):
2896         (WebCore::HTML5TreeBuilder::handleScriptEndTag):
2897         (WebCore::HTML5TreeBuilder::takeScriptToProcess):
2898          - Acknowledge that the caller has received the script element.
2899            It is the caller's responsibility to execute the script if necessary
2900            and re-pause the tree builder if necessary.
2901         (WebCore::HTML5TreeBuilder::passTokenToLegacyParser):
2902          - Save off the current script tag so that it can be passed to
2903            the HTML5ScriptRunner when we're paused.
2904         * html/HTML5TreeBuilder.h:
2905         (WebCore::HTML5TreeBuilder::setPaused):
2906         (WebCore::HTML5TreeBuilder::isPaused):
2907
2908 2010-05-26  Adam Barth  <abarth@webkit.org>
2909
2910         Reviewed by Darin Adler.
2911
2912         Implement SegmentedString::lookAheadSlowCase
2913         https://bugs.webkit.org/show_bug.cgi?id=39802
2914
2915         The slow case is need by the resumer test suite.  Sadly, the resumer
2916         test suite is really slow and produces infinite errors (many of which
2917         are false positives).  I'll land more of the resumer test suite in a
2918         future patch.
2919
2920         * platform/text/SegmentedString.cpp:
2921         (WebCore::SegmentedString::advance):
2922         * platform/text/SegmentedString.h:
2923         (WebCore::SegmentedString::lookAhead):
2924         (WebCore::SegmentedString::lookAheadIgnoringCase):
2925         (WebCore::SegmentedString::equalsLiterally):
2926         (WebCore::SegmentedString::equalsIgnoringCase):
2927         (WebCore::SegmentedString::lookAheadInline):
2928         (WebCore::SegmentedString::lookAheadSlowCase):
2929
2930 2010-05-26  Jer Noble  <jer.noble@apple.com>
2931
2932         Patch edited by Adele Peterson and Mark Rowe.
2933         Reviewed by Eric Carlson
2934
2935         Video elements show no video on Windows machines that do not support accelerated compositing
2936         https://bugs.webkit.org/show_bug.cgi?id=39446
2937         rdar://problem/7999794
2938         
2939         Create the visual context in setUpVideoRendering (as opposed to in load), and destroy it in
2940         tearDownVideoRendering (as opposed to in the destructor.)
2941
2942         * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
2943         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::~MediaPlayerPrivateQuickTimeVisualContext):
2944         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::load): Moved creation of the visual context to setUpVideoRendering.
2945         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::paint): Return early if the visual context isn't set up.
2946         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::currentRenderingMode): If the visual context isn't set up,
2947         return MediaRenderingNone.
2948         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpVideoRendering): Create the visual context.
2949         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::tearDownVideoRendering): Destroy the visual context.
2950         (WebCore::MediaPlayerPrivateQuickTimeVisualContext::hasSetUpVideoRendering): For software rendering mode, 
2951         make sure the visual context has been set up when saying the setup has been done.
2952         * platform/graphics/win/QTMovieVisualContext.cpp:
2953         (QTMovieVisualContextPriv::~QTMovieVisualContextPriv): Destruction moved to tearDownVideoRendering.
2954         Also, make sure to cancel the visual context's newImageAvailable callback in the visual context's destructor.
2955         (QTMovieVisualContext::create): Added.
2956         * platform/graphics/win/QTMovieVisualContext.h:
2957
2958 2010-05-26  Gustavo Noronha Silva  <gns@gnome.org>
2959
2960         Build fixes for make distcheck.
2961
2962         * GNUmakefile.am:
2963
2964 2010-05-26  Zelidrag Hornung  <zelidrag@chromium.org>
2965
2966         Reviewed by Ojan Vafai.
2967
2968         Fixed frame page up/down scrolling calculation. Made sure that the
2969         cursor moves with page up/down event. Please note that now for mac
2970         editing behavior we will scroll the content to center the cursor on
2971         page up/down while other platforms will align the cursor with the top of
2972         displayed frame.
2973         https://bugs.webkit.org/show_bug.cgi?id=38213
2974
2975         Tests: editing/input/option-page-up-down.html (fixed)
2976                editing/input/scroll-viewport-page-up-down.html
2977
2978         * WebCore.base.exp:
2979         * editing/EditorCommand.cpp:
2980         (WebCore::verticalScrollDistance): Fixed page scroll calculation. Now scroll height is calculated only from the visible portion not the entire frame height.
2981         (WebCore::executeMovePageDown): Now it can tell SelectionController to move the cursor with the page scroll up/down events.
2982         (WebCore::executeMovePageDownAndModifySelection): Ditto.
2983         (WebCore::executeMovePageUp): Ditto.
2984         (WebCore::executeMovePageUpAndModifySelection): Ditto.
2985         * editing/SelectionController.cpp:
2986         * editing/SelectionController.cpp: Exposed an enum param that lets EditorCommand.cpp control how cursor position will be aligned when page moves.
2987         (WebCore::SelectionController::setSelection): Ditto.
2988         (WebCore::SelectionController::modify): Ditto.
2989         * editing/SelectionController.h: Ditto.
2990         (WebCore::SelectionController::): Ditto.
2991         (WebCore::SelectionController::setSelection): Ditto.
2992
2993 2010-05-26  Jaime Yap  <jaimeyap@google.com>
2994
2995         Reviewed by Pavel Feldman.
2996
2997         ScriptCallStack::callLocation() sometimes passed an empty handle to
2998         toWebCoreString() causing a null pointer deref.
2999         https://bugs.webkit.org/show_bug.cgi?id=39681
3000
3001         * bindings/v8/ScriptCallStack.cpp:
3002         (WebCore::ScriptCallStack::callLocation):
3003
3004 2010-05-26  Brian Weinstein  <bweinstein@apple.com>
3005
3006         Reviewed by Mark Rowe.
3007
3008         Web Inspector: Tooltip on Pause on Exceptions doesn't show up until it is clicked.
3009         https://bugs.webkit.org/show_bug.cgi?id=39804
3010         
3011         Initialize the title attribute of the Pause on Exceptions button when we initialize other information
3012         about it. 
3013
3014         * inspector/front-end/ScriptsPanel.js:
3015         (WebInspector.ScriptsPanel):
3016
3017 2010-05-26  Adam Barth  <abarth@webkit.org>
3018
3019         Unreviewed, rolling out r60262.
3020         http://trac.webkit.org/changeset/60262
3021         https://bugs.webkit.org/show_bug.cgi?id=39783
3022
3023         Broke every build and is blocking me from working.  :(
3024
3025         * rendering/RenderBlock.cpp:
3026         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
3027         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
3028         (WebCore::RenderBlock::moveChildTo):
3029         (WebCore::RenderBlock::moveAllChildrenTo):
3030         (WebCore::RenderBlock::makeChildrenNonInline):
3031         (WebCore::RenderBlock::removeChild):
3032         * rendering/RenderBlock.h:
3033         * rendering/RenderLayer.cpp:
3034         (WebCore::RenderLayer::addChild):
3035         * rendering/RenderObjectChildList.cpp:
3036         (WebCore::RenderObjectChildList::insertChildNode):
3037         * rendering/RenderRubyBase.cpp:
3038         (WebCore::RenderRubyBase::moveInlineChildren):
3039         (WebCore::RenderRubyBase::moveBlockChildren):
3040         (WebCore::RenderRubyBase::mergeBlockChildren):
3041
3042 2010-05-26  Anders Carlsson  <andersca@apple.com>
3043
3044         Unreviewed, rolling out r60256.
3045         http://trac.webkit.org/changeset/60256
3046         https://bugs.webkit.org/show_bug.cgi?id=39382
3047
3048         Causes fast/dom/prototype-inheritance-2.html to start
3049         crashing.
3050
3051         * history/PageCache.cpp:
3052         (WebCore::PageCache::PageCache):
3053         (WebCore::PageCache::add):
3054         * history/PageCache.h:
3055         (WebCore::PageCache::get):
3056         * loader/DocumentLoader.cpp:
3057         (WebCore::DocumentLoader::commitIfReady):
3058         * loader/FrameLoader.cpp:
3059         (WebCore::FrameLoader::canCachePageContainingThisFrame):
3060         (WebCore::FrameLoader::canCachePage):
3061         (WebCore::pageCacheLogPrefix):
3062         (WebCore::pageCacheLog):
3063         (WebCore::FrameLoader::logCanCachePageDecision):
3064         (WebCore::FrameLoader::logCanCacheFrameDecision):
3065         (WebCore::FrameLoader::commitProvisionalLoad):
3066         (WebCore::FrameLoader::open):
3067         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
3068         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
3069         (WebCore::FrameLoader::cachePageForHistoryItem):
3070         (WebCore::FrameLoader::navigateToDifferentDocument):
3071         * loader/FrameLoader.h:
3072         * svg/graphics/SVGImage.cpp:
3073         (WebCore::SVGImage::dataChanged):
3074
3075 2010-05-26  David Hyatt  <hyatt@apple.com>
3076
3077         Reviewed by Sam Weinig.
3078
3079         https://bugs.webkit.org/show_bug.cgi?id=39783, clean up the moveChild functions on RenderBlock.
3080         
3081         Eliminate the need to pass the toChildrenList to the moveChild functions by tightening up the type of the
3082         |to| argument to be a RenderBlock.
3083         
3084         Add a moveChildrenTo function that can move a range of children, and patch places that were doing this
3085         by hand.
3086
3087         Make the append forms of the functions just use the insert forms with a beforeChild of 0.
3088         
3089         Patch insertChildNode in RenderObjectChildList so that it passes the fullInsert parameter through in the
3090         case where it does an append.
3091         
3092         Add an assert to RenderLayer that catches bad structure built when the fullInsert/Remove parameters are
3093         messed up when using append/insertChildNode.
3094
3095         * rendering/RenderBlock.cpp:
3096         (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
3097         (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks):
3098         (WebCore::RenderBlock::createAndAppendRootInlineBox):
3099         (WebCore::RenderBlock::moveChildTo):
3100         (WebCore::RenderBlock::moveChildrenTo):
3101         (WebCore::RenderBlock::makeChildrenNonInline):
3102         (WebCore::RenderBlock::removeChild):
3103         * rendering/RenderBlock.h:
3104         (WebCore::RenderBlock::moveChildTo):
3105         (WebCore::RenderBlock::moveAllChildrenTo):
3106         (WebCore::RenderBlock::moveChildrenTo):
3107         * rendering/RenderLayer.cpp:
3108         (WebCore::RenderLayer::addChild):
3109         * rendering/RenderObjectChildList.cpp:
3110         (WebCore::RenderObjectChildList::insertChildNode):
3111         * rendering/RenderRubyBase.cpp:
3112         (WebCore::RenderRubyBase::moveInlineChildren):
3113
3114 2010-05-26  Anders Carlsson  <andersca@apple.com>
3115
3116         Fix GTK+ test failures.
3117
3118         * plugins/gtk/PluginDataGtk.cpp:
3119         (WebCore::PluginData::initPlugins):
3120         * plugins/win/PluginDataWin.cpp:
3121         (WebCore::PluginData::initPlugins):
3122
3123 2010-05-25  Anders Carlsson  <andersca@apple.com>
3124
3125         Reviewed by Darin Adler.
3126
3127         Clean up MimeClassInfo and PluginInfo
3128         https://bugs.webkit.org/show_bug.cgi?id=39700
3129
3130         This gets rid of all the heap allocation from MimeClassInfo and PluginInfo. 
3131         
3132         It also changes the m_plugins and m_mimes vectors in PluginData to not hold heap allocated MimeClassInfo
3133         and PluginClassInfo objects.
3134
3135         * page/Page.cpp:
3136         (WebCore::Page::refreshPlugins):
3137         * plugins/MimeType.cpp:
3138         (WebCore::MimeType::type):
3139         (WebCore::MimeType::suffixes):
3140         (WebCore::MimeType::description):
3141         (WebCore::MimeType::enabledPlugin):
3142         * plugins/MimeType.h:
3143         (WebCore::MimeType::mimeClassInfo):
3144         * plugins/MimeTypeArray.cpp:
3145         (WebCore::MimeTypeArray::item):
3146         (WebCore::MimeTypeArray::canGetItemsForName):
3147         (WebCore::MimeTypeArray::namedItem):
3148         * plugins/Plugin.cpp:
3149         (WebCore::Plugin::name):
3150         (WebCore::Plugin::filename):
3151         (WebCore::Plugin::description):
3152         (WebCore::Plugin::length):
3153         (WebCore::Plugin::item):
3154         (WebCore::Plugin::canGetItemsForName):
3155         (WebCore::Plugin::namedItem):
3156         * plugins/Plugin.h:
3157         (WebCore::Plugin::pluginInfo):
3158         * plugins/PluginArray.cpp:
3159         (WebCore::PluginArray::length):
3160         (WebCore::PluginArray::item):
3161         (WebCore::PluginArray::canGetItemsForName):
3162         (WebCore::PluginArray::namedItem):
3163         (WebCore::PluginArray::pluginData):
3164         * plugins/PluginArray.h:
3165         * plugins/PluginData.cpp:
3166         (WebCore::PluginData::PluginData):
3167         (WebCore::PluginData::~PluginData):
3168         (WebCore::PluginData::supportsMimeType):
3169         (WebCore::PluginData::pluginNameForMimeType):
3170         * plugins/PluginData.h:
3171         (WebCore::operator==):
3172         (WebCore::PluginData::create):
3173         (WebCore::PluginData::disconnectPage):
3174         (WebCore::PluginData::page):
3175         (WebCore::PluginData::plugins):
3176         (WebCore::PluginData::mimes):
3177         * plugins/chromium/PluginDataChromium.cpp:
3178         (WebCore::PluginCache::reset):
3179         (WebCore::PluginCache::plugins):
3180         (WebCore::PluginData::initPlugins):
3181         (WebCore::getPluginMimeTypeFromExtension):
3182         * plugins/gtk/PluginDataGtk.cpp:
3183         (WebCore::PluginData::initPlugins):
3184         * plugins/mac/PluginDataMac.mm:
3185         (WebCore::PluginData::initPlugins):
3186         * plugins/qt/PluginDataQt.cpp:
3187         (WebCore::PluginData::initPlugins):
3188         * plugins/win/PluginDataWin.cpp:
3189         (WebCore::PluginData::initPlugins):
3190         * plugins/wx/PluginDataWx.cpp:
3191         (WebCore::PluginData::initPlugins):
3192
3193 2010-05-26  Nate Chapin  <japhet@chromium.org>
3194
3195         Reviewed by Adam Barth.
3196
3197         Factor PageCache functionality out of FrameLoader and into
3198         PageCache.
3199
3200         https://bugs.webkit.org/show_bug.cgi?id=39382
3201
3202         Refactor only, so no new tests.
3203
3204         * history/PageCache.cpp:
3205         (WebCore::pageCacheLogPrefix):
3206         (WebCore::pageCacheLog):
3207         (WebCore::logCanCacheFrameDecision):
3208         (WebCore::logCanCachePageDecision):
3209         (WebCore::PageCache::canCachePageContainingThisFrame):
3210         (WebCore::PageCache::canCache):
3211         (WebCore::PageCache::add):
3212         (WebCore::PageCache::get):
3213         * history/PageCache.h:
3214         * loader/DocumentLoader.cpp:
3215         * loader/FrameLoader.cpp:
3216         (WebCore::FrameLoader::commitProvisionalLoad):
3217         (WebCore::FrameLoader::prepareForCachedPageRestore):
3218         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
3219         (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
3220         (WebCore::FrameLoader::navigateToDifferentDocument):
3221         * loader/FrameLoader.h:
3222         (WebCore::FrameLoader::quickRedirectComing):
3223         * svg/graphics/SVGImage.cpp:
3224
3225 2010-05-26  Peter Kasting  <pkasting@google.com>
3226
3227         Reviewed by Adam Barth.
3228
3229         https://bugs.webkit.org/show_bug.cgi?id=39786
3230         Properly reset |bytes_to_consume| when reaching the "gif_done" state in
3231         the open-source GIF decoder.
3232         
3233         No tests, since there's no test harness support for checking the
3234         internal ImageDecoder state values.
3235
3236         * platform/image-decoders/gif/GIFImageReader.cpp:
3237         (GIFImageReader::read): Use a macro to perform the state change, like we do everywhere else in the file.  Also correctly return "failure" for certain corrupt GIFs, since that doesn't prevent their display (due to WebKit's different use of this code compared to Mozilla).
3238
3239 2010-05-26  Sheriff Bot  <webkit.review.bot@gmail.com>
3240
3241         Unreviewed, rolling out r60251.
3242         http://trac.webkit.org/changeset/60251
3243         https://bugs.webkit.org/show_bug.cgi?id=39788
3244
3245         broke tests (Requested by dhyatt on #webkit).
3246
3247         * rendering/RenderBlock.cpp:
3248         (WebCore::RenderBlock::moveChildTo):
3249         (WebCore::RenderBlock::moveAllChildrenTo):
3250         (WebCore::RenderBlock::makeChildrenNonInline):
3251         (WebCore::RenderBlock::removeChild):
3252         * rendering/RenderBlock.h:
3253         * rendering/RenderRubyBase.cpp:
3254         (WebCore::RenderRubyBase::moveInlineChildren):
3255         (WebCore::RenderRubyBase::moveBlockChildren):
3256         (WebCore::RenderRubyBase::mergeBlockChildren):
3257         * rendering/RenderRubyRun.cpp:
3258         (WebCore::RenderRubyRun::removeChild):
3259
3260 2010-05-26  Adam Barth  <abarth@webkit.org>
3261
3262         Reviewed by Eric Seidel.
3263
3264         Fix webkit01.dat resumer tests in HTML5 parser
3265         https://bugs.webkit.org/show_bug.cgi?id=39796
3266
3267         To match the old tokenizer, we should only flush character tokens when
3268         we reach EOF.  Added a notion of a "closed" segmented string that
3269         cannot be appended to, which models EOF.
3270
3271         * html/HTML5Lexer.cpp:
3272         (WebCore::HTML5Lexer::nextToken):
3273         (WebCore::HTML5Lexer::shouldEmitBufferedCharacterToken):
3274         * html/HTML5Lexer.h:
3275         * html/HTML5Tokenizer.cpp:
3276         (WebCore::HTML5Tokenizer::pumpLexer):
3277         (WebCore::HTML5Tokenizer::write):
3278         (WebCore::HTML5Tokenizer::end):
3279         * html/HTML5Tokenizer.h:
3280         * platform/text/SegmentedString.cpp:
3281         (WebCore::SegmentedString::SegmentedString):
3282         (WebCore::SegmentedString::clear):
3283         (WebCore::SegmentedString::append):
3284         * platform/text/SegmentedString.h:
3285         (WebCore::SegmentedString::SegmentedString):
3286         (WebCore::SegmentedString::close):
3287         (WebCore::SegmentedString::isClosed):
3288
3289 2010-05-26  Adam Barth  <abarth@webkit.org>
3290
3291         Reviewed by Eric Seidel.
3292
3293         Make HTML5 lexer not ASSERT when resuming partial parses
3294         https://bugs.webkit.org/show_bug.cgi?id=39755
3295
3296         I'm working through a variation of the webkit-runner.html test suite
3297         that stops the parser at every character to make sure we can resume
3298         parsing correctly.  This patch fixes some errors caught by ASSERTs,
3299         which prevent the basic tests from running to completion.  There's a
3300         bunch more work to do, however.
3301
3302         Test: html5lib/webkit-resumer.html
3303
3304         * html/HTML5Lexer.cpp:
3305         (WebCore::HTMLNames::isEndTagBufferingState):
3306         (WebCore::HTML5Lexer::nextToken):
3307         (WebCore::HTML5Lexer::addToPossibleEndTag):
3308         * html/HTML5Lexer.h:
3309         * html/HTML5Tokenizer.cpp:
3310         (WebCore::HTML5Tokenizer::write):
3311         * html/HTML5Tokenizer.h:
3312
3313 2010-05-26  Alexey Proskuryakov  <ap@apple.com>
3314
3315         Mac 32 bit build fix.
3316
3317         * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
3318         Use static_cast instead of narrowPrecisionToFloat - the latter can't convert from float to float.
3319
3320 2010-05-26  David Hyatt  <hyatt@apple.com>
3321
3322         Reviewed by Ojan.
3323
3324         https://bugs.webkit.org/show_bug.cgi?id=39783, clean up moveChild functions in RenderBlock.
3325
3326         Cut out the need to pass the to block's child list by tightening up the type of the to object
3327         from RenderObject to RenderBlock.
3328
3329         Implement the "append" versions of the move functions using their "insert" counterparts, since
3330         insertChildNode just calls appendChildNode when beforeChild is 0 anyway.
3331
3332         Add comments explaining why the default for fullRemoveInsert is false, and make sure all forms
3333         of the move functions have the optional parameter for consistency.
3334
3335         * rendering/RenderBlock.cpp:
3336         (WebCore::RenderBlock::createAndAppendRootInlineBox):
3337         (WebCore::RenderBlock::moveChildTo):
3338         (WebCore::RenderBlock::moveAllChildrenTo):
3339         (WebCore::RenderBlock::makeChildrenNonInline):
3340         (WebCore::RenderBlock::removeChild):
3341         * rendering/RenderBlock.h:
3342         (WebCore::RenderBlock::moveChildTo):
3343         (WebCore::RenderBlock::moveAllChildrenTo):
3344         * rendering/RenderRubyBase.cpp:
3345         (WebCore::RenderRubyBase::moveInlineChildren):
3346         (WebCore::RenderRubyBase::moveBlockChildren):
3347         (WebCore::RenderRubyBase::mergeBlockChildren):
3348         * rendering/RenderRubyRun.cpp:
3349         (WebCore::RenderRubyRun::removeChild):
3350
3351 2010-05-26  Dan Bernstein  <mitz@apple.com>
3352
3353         Typed and reviewed by Alexey Proskuryakov.
3354
3355         https://bugs.webkit.org/show_bug.cgi?id=39682
3356         <rdar://problem/8026774> REGRESSION: WebKit nightly adding insane height to div at random
3357
3358         Test: fast/css/custom-font-xheight.html
3359
3360         * platform/graphics/mac/SimpleFontDataMac.mm: (WebCore::SimpleFontData::platformInit):
3361         Calling an Objective C method that returns a structure with a null object can leave garbage in
3362         returned value. Custom fonts don't have an NSFont, they only have a CGFont. Call
3363         platformBoundsForGlyph() function instead, which works with CGFont.
3364         (WebCore::SimpleFontData::platformBoundsForGlyph): Fixed to work on Tiger (for fonts that
3365         have an NSFont), since this is now used in more cases.
3366
3367 2010-05-26  Beth Dakin  <bdakin@apple.com>
3368
3369         Build fix for Mac clean builds.
3370
3371         * storage/IDBDatabaseRequest.idl:
3372
3373 2010-05-26  Eric Carlson  <eric.carlson@apple.com>
3374
3375         Reviewed by Dan Bernstein.
3376
3377         Must not cast between CFNumberRef and CFBooleanRef.
3378         <rdar://problem/8030739> 
3379         https://bugs.webkit.org/show_bug.cgi?id=39756
3380
3381         * platform/graphics/win/QTMovieVisualContext.cpp:
3382         (QTMovieVisualContext::getCGImageOptions): QuickTime assumes the value associated 
3383         with kCVPixelBufferCGImageCompatibilityKey is a CFBoolean, so add one.
3384
3385 2010-05-26  Xan Lopez  <xlopez@igalia.com>
3386
3387         GTK+ build fix, strike two.
3388
3389         * bindings/gobject/WebKitDOMEventTarget.cpp:
3390         (webkit_dom_event_target_get_type):
3391         (webkit_dom_event_target_default_init):
3392
3393 2010-05-26  Jeremy Orlow  <jorlow@chromium.org>
3394
3395         Unreviewed build fix for Windows + clean up the Visual Studio project.
3396
3397         * WebCore.gypi:
3398         * WebCore.vcproj/WebCore.vcproj:
3399
3400 2010-05-26  Andrei Popescu  <andreip@google.com>
3401
3402         Reviewed by Jeremy Orlow.
3403
3404         Indexed Database component is missing IDBObjectStoreRequest interface
3405         https://bugs.webkit.org/show_bug.cgi?id=39490
3406
3407         Adding IDL and stub implementation for IDBObjectStoreRequest.
3408
3409         No new tests, indexed database isn't yet testable.
3410
3411         * DerivedSources.cpp:
3412         * DerivedSources.make:
3413         * GNUmakefile.am:
3414         * WebCore.gypi:
3415         * WebCore.pri:
3416         * WebCore.pro:
3417         * WebCore.xcodeproj/project.pbxproj:
3418         * bindings/js/JSIDBObjectStoreRequestCustom.cpp: Added.
3419         (WebCore::JSIDBObjectStoreRequest::remove):
3420         (WebCore::JSIDBObjectStoreRequest::addOrModify):
3421         (WebCore::JSIDBObjectStoreRequest::modify):
3422         (WebCore::JSIDBObjectStoreRequest::add):
3423         (WebCore::JSIDBObjectStoreRequest::get):
3424         * bindings/v8/custom/V8IDBObjectStoreRequestCustom.cpp: Added.
3425         (WebCore::V8IDBObjectStoreRequest::removeCallback):
3426         (WebCore::V8IDBObjectStoreRequest::addOrModifyCallback):
3427         (WebCore::V8IDBObjectStoreRequest::modifyCallback):
3428         (WebCore::V8IDBObjectStoreRequest::addCallback):
3429         (WebCore::V8IDBObjectStoreRequest::getCallback):
3430         * storage/IDBObjectStore.cpp: Added.
3431         * storage/IDBObjectStore.h: Added.
3432         (WebCore::IDBObjectStore::~IDBObjectStore):
3433         * storage/IDBObjectStoreRequest.cpp: Added.
3434         (WebCore::IDBObjectStoreRequest::name):
3435         (WebCore::IDBObjectStoreRequest::keyPath):
3436         (WebCore::IDBObjectStoreRequest::IDBObjectStoreRequest):
3437         * storage/IDBObjectStoreRequest.h: Added.
3438         (WebCore::IDBObjectStoreRequest::create):
3439         (WebCore::IDBObjectStoreRequest::~IDBObjectStoreRequest):
3440         * storage/IDBObjectStoreRequest.idl: Added.
3441
3442 2010-05-26  Xan Lopez  <xlopez@igalia.com>
3443
3444         Unreviewed GTK+ build fix.
3445
3446         Use G_DEFINE_INTERFACE only if it's available.
3447
3448         * bindings/gobject/WebKitDOMEventTarget.cpp:
3449         (webkit_dom_event_target_get_type):
3450         (webkit_dom_event_target_default_init):
3451
3452 2010-05-26  Jeremy Orlow  <jorlow@chromium.org>
3453
3454         Reviewed by Darin Fisher.
3455
3456         Implement WebDOMStorageList and make WebIDBDatabase use it
3457         https://bugs.webkit.org/show_bug.cgi?id=39731
3458
3459         Remove unused function.
3460
3461         * dom/DOMStringList.h:
3462
3463 2010-05-26  Jessie Berlin  <jberlin@webkit.org>
3464
3465         Reviewed by Pavel Feldman
3466
3467         Bug 31296 - Web Inspector: Should support console.groupCollapsed
3468         https://bugs.webkit.org/show_bug.cgi?id=31296
3469
3470         * inspector/InspectorController.cpp:
3471         (WebCore::InspectorController::startGroup):
3472         Set the message type based on whether or not it should be initially collapsed.
3473         * inspector/InspectorController.h:
3474
3475         * inspector/front-end/ConsoleView.js:
3476         Treat a StartGroupCollapsed message the same way as a StartGroup message, but display the tree for the group as collapsed.
3477         (WebInspector.ConsoleView.prototype.addMessage):
3478         (WebInspector.ConsoleMessage.prototype.toMessageElement):
3479         (WebInspector.ConsoleMessage.prototype.toString):
3480         (WebInspector.ConsoleGroup.prototype.addMessage):
3481
3482         * page/Console.cpp:
3483         (WebCore::Console::groupCollapsed):
3484         Create a group and indicate that it should be collapsed.
3485         * page/Console.h:
3486         Add the StartGroupCollapsed message type.
3487
3488         (WebCore::):
3489         * page/Console.idl:
3490         Create the JS bindings for groupCollapsed.
3491
3492 2010-05-26  yael aharon  <yael.aharon@nokia.com>
3493
3494         Reviewed by Kent Tamura.
3495
3496         Support the labels attribute in labelable form controls
3497         https://bugs.webkit.org/show_bug.cgi?id=38713
3498
3499         Added a new cache type in NodeRareData to store the new cache type.
3500         This cache is created on demand.
3501
3502         Added the "labels" attribute to all form controls that support this attribute.
3503
3504         Tests: fast/forms/labels-add-htmlFor-label.html
3505                fast/forms/labels-add-parent-label.html
3506                fast/forms/labels-change-htmlFor-attribute.html
3507                fast/forms/labels-item-index.html
3508                fast/forms/labels-remove-htmlFor-attribute.html
3509                fast/forms/labels-remove-htmlFor-label.html
3510                fast/forms/labels-remove-parent-label.html
3511                fast/forms/labels-set-htmlFor-attribute.html
3512
3513         * CMakeLists.txt:
3514         * GNUmakefile.am:
3515         * WebCore.gypi:
3516         * WebCore.pro:
3517         * WebCore.vcproj/WebCore.vcproj:
3518         * WebCore.xcodeproj/project.pbxproj:
3519         * dom/Node.cpp:
3520         (WebCore::Node::notifyLocalNodeListsLabelChanged):
3521         (WebCore::Node::removeCachedLabelsNodeList):
3522         (WebCore::NodeListsNodeData::invalidateCaches):
3523         (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
3524         (WebCore::NodeListsNodeData::isEmpty):
3525         * dom/Node.h:
3526         * dom/NodeRareData.h:
3527         (WebCore::NodeListsNodeData::NodeListsNodeData):
3528         * html/HTMLButtonElement.idl:
3529         * html/HTMLFormControlElement.cpp:
3530         (WebCore::HTMLFormControlElement::isLabelable):
3531         (WebCore::HTMLFormControlElement::labels):
3532         * html/HTMLFormControlElement.h:
3533         * html/HTMLInputElement.idl:
3534         * html/HTMLLabelElement.cpp:
3535         (WebCore::HTMLLabelElement::parseMappedAttribute):
3536         * html/HTMLLabelElement.h:
3537         * html/HTMLMeterElement.idl:
3538         * html/HTMLProgressElement.idl:
3539         * html/HTMLSelectElement.idl:
3540         * html/HTMLTextAreaElement.idl:
3541         * html/LabelsNodeList.cpp: Added.
3542         (WebCore::LabelsNodeList::LabelsNodeList):
3543         (WebCore::LabelsNodeList::~LabelsNodeList):
3544         (WebCore::LabelsNodeList::nodeMatches):
3545         * html/LabelsNodeList.h: Added.
3546         (WebCore::LabelsNodeList::create):
3547
3548 2010-05-26  Xan Lopez  <xlopez@igalia.com>
3549
3550         Reviewed by Jeremy Orlow.
3551
3552         Style fix in JSEventCustom.cpp
3553         https://bugs.webkit.org/show_bug.cgi?id=39727
3554
3555         Conditional includes should be all together after the
3556         unconditional includes.
3557
3558         * bindings/js/JSEventCustom.cpp:
3559