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