2010-07-05 Fady Samuel <fsamuel@chromium.org>
[WebKit-https.git] / WebCore / ChangeLog
1 2010-07-05  Fady Samuel  <fsamuel@chromium.org>
2
3         Reviewed by Darin Adler.
4
5         Fixed a svg crash when setting class of an svg ellipse object.
6
7         Altering the CSS class of an attached SVG element causes WebKit to crash
8         https://bugs.webkit.org/show_bug.cgi?id=40857
9
10         Test: svg/css/svg-ellipse-render-crash.html
11
12         * dom/StyledElement.cpp:
13         (WebCore::StyledElement::classAttributeChanged):
14
15 2010-07-05  Dan Bernstein  <mitz@apple.com>
16
17         Reviewed by Sam Weinig.
18
19         Reproducible crash with Optimize Legibility extension
20         https://bugs.webkit.org/show_bug.cgi?id=41585
21
22         Test: fast/css/text-rendering-priority.html
23
24         Moved the text-rendering CSS property to the “high priority” group, because applying it
25         during style selection invalidates the font.
26
27         * css/CSSPropertyNames.in: Moved text-rendering to the “high priority” section at the top.
28         * css/CSSStyleSelector.cpp:
29         (WebCore::CSSStyleSelector::applyDeclarations): Updated compile-time assertion.
30
31 2010-07-05  Dan Bernstein  <mitz@apple.com>
32
33         Reviewed by Sam Weinig.
34
35         optimizeLegibility doesn't play nice with fonts that do not have a space glyph
36         https://bugs.webkit.org/show_bug.cgi?id=41599
37
38         No test because none of the fonts available to DumpRenderTree are missing a space glyph.
39
40         * rendering/RenderBlockLineLayout.cpp:
41         (WebCore::RenderBlock::findNextLineBreak): When the font does not map the space character
42         to a glyph, a fallback font is used for space. Therefore, wordTrailingSpaceWidth must be
43         initialized with the width of a space as measured by the Font rather than with the cached
44         space width.
45
46 2010-07-05  Eric Seidel  <eric@webkit.org>
47
48         Reviewed by Adam Barth.
49
50         Implement HTML5's "reset insertion mode appropriately"
51         https://bugs.webkit.org/show_bug.cgi?id=41628
52
53         This has some minimal testing.  One from my previous
54         </table> patch, and a few from the main suite.
55
56         Mostly resetInsertionModeAppropriately isn't used yet
57         but we're about to add a bunch of states which do use it
58         and our test coverage will expand further as we do.
59
60         * html/HTMLTreeBuilder.cpp:
61         (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
62         (WebCore::HTMLTreeBuilder::setInsertionModeAndEnd):
63         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
64         * html/HTMLTreeBuilder.h:
65
66 2010-07-04  Eric Seidel  <eric@webkit.org>
67
68         Reviewed by Adam Barth.
69
70         Add </table> support for "in table" insertion mode
71         https://bugs.webkit.org/show_bug.cgi?id=41591
72
73         resetInsertionModeAppropriately isn't implemented yet, however
74         I've added a test for the usage I added.
75
76         * html/HTMLTreeBuilder.cpp:
77         (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
78         (WebCore::HTMLTreeBuilder::processEndTag):
79         * html/HTMLTreeBuilder.h:
80
81 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
82
83         Unreviewed build fix for r62503.
84
85         Chromium missing method. Filed bug 41632 to track.
86
87         * loader/appcache/ApplicationCacheHost.h:
88         (WebCore::ApplicationCacheHost::applicationCache):
89
90 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
91
92         Unreviewed build fix for r62503.
93
94         Missed GTK's build file.
95
96         * GNUmakefile.am:
97
98 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
99
100         Unreviewed build fix for r62503.
101
102         Pass a blank ResourceResponse instead of passing 0.
103
104         * loader/appcache/ApplicationCacheGroup.cpp:
105         (WebCore::ApplicationCacheGroup::createResourceHandle):
106
107 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
108
109         Unreviewed build fix for r62503.
110
111         Forward declare ApplicationCache for Chromium.
112
113         * loader/appcache/ApplicationCacheHost.h:
114
115 2010-07-05  Joseph Pecoraro  <joepeck@webkit.org>
116
117         Reviewed by Pavel Feldman.
118
119         WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
120         https://bugs.webkit.org/show_bug.cgi?id=24529
121
122         Parts of this patch were written by Kavita Kanetkar <kkanetkar@chromium.org>.
123
124         Part 2: Pulling ApplicationCache Resources to Display in the Inspector.
125
126           The InspectorApplicationCacheAgent gathers the information it
127           needs and forwards it on to the inspector.
128
129         * inspector/InspectorApplicationCacheAgent.cpp:
130         (WebCore::InspectorApplicationCacheAgent::fillResourceList): get information about the resources.
131         (WebCore::InspectorApplicationCacheAgent::getApplicationCaches): gathers all the information from the ApplicationCacheHost.
132         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
133         (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
134         (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
135         * inspector/InspectorApplicationCacheAgent.h: defines structures to hold information about caches and resources.
136         (WebCore::InspectorApplicationCacheAgent::ApplicationCacheInfo::ApplicationCacheInfo):
137         (WebCore::InspectorApplicationCacheAgent::ResourceInfo::ResourceInfo):
138         (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
139         * loader/appcache/ApplicationCacheHost.h:
140         (WebCore::ApplicationCacheHost::applicationCacheForInspector): new convention, public cache accessor for the inspector.
141         (WebCore::ApplicationCacheHost::documentLoader): added const.
142
143           The User Interface uses a DataGrid, like Cookies.
144
145         * inspector/front-end/ApplicationCacheItemsView.js:
146         (WebInspector.ApplicationCacheItemsView.prototype._update):
147         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
148         (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
149         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.numberCompare):
150         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid.localeCompare):
151         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
152
153           The usual frontend pull workflow, except this goes through
154           InspectorApplicationCacheAgent instead of InspectorController.
155
156         * inspector/InspectorBackend.cpp:
157         (WebCore::InspectorBackend::getApplicationCaches):
158         (WebCore::InspectorBackend::inspectorApplicationCacheAgent):
159         * inspector/InspectorBackend.h:
160         * inspector/InspectorBackend.idl:
161         * inspector/InspectorFrontend.cpp:
162         (WebCore::InspectorFrontend::didGetApplicationCaches):
163         * inspector/InspectorFrontend.h:
164         * inspector/front-end/DOMAgent.js:
165         (WebInspector.DOMNode.prototype.hasChildNodes): style fix.
166         (WebInspector.DOMAgent.prototype.nodeForId): style fix.
167         (WebInspector.ApplicationCache.getApplicationCachesAsync): pull.
168         (WebInspector.Cookies.getCookiesAsync):
169         * inspector/front-end/StoragePanel.js:
170         (WebInspector.StoragePanel.prototype.updateManifest):
171         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
172         * inspector/front-end/inspector.js:
173         (WebInspector.updateResource):
174         (WebInspector._addAppCacheDomain):
175         (WebInspector.reset):
176
177           Miscellaneous. Localized Strings and fixes.
178
179         * English.lproj/localizedStrings.js: "Type", "%s (%s)"
180         * inspector/InspectorController.cpp:
181         (WebCore::InspectorController::deleteCookie):
182         * inspector/InspectorController.h:
183
184 2010-07-04  Joseph Pecoraro  <joepeck@webkit.org>
185
186         Reviewed by Pavel Feldman.
187
188         WebInspector: HTML5 Offline Web Applications Support (ApplicationCache)
189         https://bugs.webkit.org/show_bug.cgi?id=24529
190
191         Part 1: Backend -> Frontend Messages. ApplicationCache Status and Connectivity Status.
192
193         This patch adds an InspectorApplicationCacheAgent to monitor application
194         cache changes, starts a UI in the Storage panel, handles the boilerplate
195         of adding new files.
196
197           Added an agent to encapsulate and handle the application cache logic.
198           This is similar to the timeline agent.
199
200         * inspector/InspectorApplicationCacheAgent.cpp: Added.
201         (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
202         (WebCore::InspectorApplicationCacheAgent::~InspectorApplicationCacheAgent):
203         (WebCore::InspectorApplicationCacheAgent::didReceiveManifestResponse):
204         (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
205         (WebCore::InspectorApplicationCacheAgent::updateNetworkState):
206         * inspector/InspectorApplicationCacheAgent.h: Added.
207
208           InspectorController owns an InspectorApplicationCacheAgent. This
209           handles its lifetime management.
210
211         * inspector/InspectorController.cpp:
212         (WebCore::InspectorController::~InspectorController):
213         (WebCore::InspectorController::connectFrontend): create the agent with a frontend.
214         (WebCore::InspectorController::disconnectFrontend): remove the agent when closing.
215         (WebCore::InspectorController::releaseFrontendLifetimeAgents):
216         * inspector/InspectorController.h:
217
218           User Interface for ApplicationCache in the StoragePanel. This follows
219           very closely to Cookies, it will have a sortable table of items. The
220           status bar contains connectivity and application cache status
221           indicators which update when backend messages are received. There
222           are some stubs which the next part will implement.
223
224         * inspector/front-end/ApplicationCacheItemsView.js: Added.
225         (WebInspector.ApplicationCacheItemsView):
226         (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems): refresh, delete, connectivity, application cache status.
227         (WebInspector.ApplicationCacheItemsView.prototype.show):
228         (WebInspector.ApplicationCacheItemsView.prototype.hide):
229         (WebInspector.ApplicationCacheItemsView.prototype.updateStatus): this is the application cache status indicator.
230         (WebInspector.ApplicationCacheItemsView.prototype.updateNetworkState): this is the online/offline connectivity indicator.
231         (WebInspector.ApplicationCacheItemsView.prototype._update):
232         (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
233         (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
234         (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
235         (WebInspector.ApplicationCacheItemsView.prototype.resize):
236         (WebInspector.ApplicationCacheItemsView.prototype._deleteButtonClicked):
237         (WebInspector.ApplicationCacheItemsView.prototype._deleteCallback):
238         (WebInspector.ApplicationCacheItemsView.prototype._refreshButtonClicked):
239
240           The usual dispatch flow from the backend, to the frontend, to the
241           panel, and then to the visible view. Some slight refactoring to
242           eliminate duplicated code.
243
244         * inspector/InspectorFrontend.cpp:
245         (WebCore::InspectorFrontend::updateDOMStorage):
246         (WebCore::InspectorFrontend::didGetApplicationCaches):
247         (WebCore::InspectorFrontend::updateApplicationCacheStatus):
248         * inspector/InspectorFrontend.h:
249         * inspector/front-end/StoragePanel.js:
250         (WebInspector.StoragePanel):
251         (WebInspector.StoragePanel.prototype.reset):
252         (WebInspector.StoragePanel.prototype.addApplicationCache):
253         (WebInspector.StoragePanel.prototype.showDatabase):
254         (WebInspector.StoragePanel.prototype.showDOMStorage):
255         (WebInspector.StoragePanel.prototype.showCookies):
256         (WebInspector.StoragePanel.prototype.showApplicationCache):
257         (WebInspector.StoragePanel.prototype._genericViewSetup):
258         (WebInspector.StoragePanel.prototype.updateApplicationCacheStatus):
259         (WebInspector.StoragePanel.prototype.updateNetworkState):
260         (WebInspector.CookieSidebarTreeElement.prototype.set subtitle):
261         (WebInspector.ApplicationCacheSidebarTreeElement):
262         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.onselect):
263         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get mainTitle):
264         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set mainTitle):
265         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.get subtitle):
266         (WebInspector.ApplicationCacheSidebarTreeElement.prototype.set subtitle):
267         * inspector/front-end/inspector.js:
268         (WebInspector.dispatch.delayDispatch):
269         (WebInspector.dispatch):
270         (WebInspector._addAppCacheDomain):
271         (WebInspector.addDOMStorage):
272         (WebInspector.updateDOMStorage):
273
274           Notify the InspectorApplicationCacheAgent on application cache changes
275           or specifics. Notify the InspectorController on generic resource events.
276           That is because ApplicationCacheController is a ResourceClient and needs
277           to trigger the resource events normally handled by ResourceLoader.
278
279         * loader/appcache/ApplicationCacheGroup.cpp:
280         (WebCore::inspectorUpdateApplicationCacheStatus): helper method to prevent duplicated code.
281         (WebCore::ApplicationCacheGroup::setNewestCache): status change.
282         (WebCore::ApplicationCacheGroup::makeObsolete): status change.
283         (WebCore::ApplicationCacheGroup::update): status change.
284         (WebCore::ApplicationCacheGroup::createResourceHandle): resource event.
285         (WebCore::ApplicationCacheGroup::willSendRequest): resource event.
286         (WebCore::ApplicationCacheGroup::didReceiveResponse): resource event.
287         (WebCore::ApplicationCacheGroup::didReceiveData): resource event.
288         (WebCore::ApplicationCacheGroup::didFinishLoading): resource event.
289         (WebCore::ApplicationCacheGroup::didFail): resource event.
290         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest): resource event.
291         (WebCore::ApplicationCacheGroup::manifestNotFound): status change.
292         (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete): status change.
293         (WebCore::ApplicationCacheGroup::setUpdateStatus): single access point for status changes.
294         * loader/appcache/ApplicationCacheGroup.h:
295         * page/Page.cpp:
296         (WebCore::networkStateChanged): connectivity status change.
297
298           Final inspector details to add the new file, style new elements,
299           images, and localized strings.
300
301         * inspector/front-end/inspector.css:
302         (.application-cache-sidebar-tree-item .icon):
303         (.timeline-records-counter, .storage-application-cache-status, .storage-application-cache-connectivity):
304         (.storage-application-cache-status-icon, .storage-application-cache-connectivity-icon):
305         (.status-bar-divider):
306         (.storage-application-cache-status, .storage-application-cache-connectivity):
307         * inspector/front-end/inspector.html:
308         * inspector/front-end/Images/applicationCache.png: Added.
309         * English.lproj/localizedStrings.js: "APPLICATION CACHE", "No Application Cache information available.", "Online", "Offline"
310
311           Updated build files.
312
313         * CMakeLists.txt:
314         * WebCore.gypi:
315         * WebCore.pro:
316         * WebCore.vcproj/WebCore.vcproj:
317         * WebCore.xcodeproj/project.pbxproj:
318         * inspector/front-end/WebKit.qrc:
319
320 2010-07-05  Eric Seidel  <eric@webkit.org>
321
322         Reviewed by Adam Barth.
323
324         Add basic <col> support to the treebuilder
325         https://bugs.webkit.org/show_bug.cgi?id=41590
326
327         * html/HTMLTreeBuilder.cpp:
328         (WebCore::HTMLTreeBuilder::processStartTag):
329
330 2010-07-05  Eric Seidel  <eric@webkit.org>
331
332         Reviewed by Adam Barth.
333
334         Add basic "in row" mode to support <td> and <th> insertion
335         https://bugs.webkit.org/show_bug.cgi?id=41588
336
337         Also fixed <td> or <th> as a direct child of <table>.
338
339         Most of this was covered by html5lib/runner.html tests,
340         but I had to add a new tables01.dat to cover the <th> cases.
341
342         * html/HTMLElementStack.cpp:
343         (WebCore::HTMLNames::isTableRowScopeMarker):
344         (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
345         * html/HTMLElementStack.h:
346         * html/HTMLTreeBuilder.cpp:
347         (WebCore::HTMLTreeBuilder::processStartTag):
348
349 2010-07-05  Eric Seidel  <eric@webkit.org>
350
351         Reviewed by Adam Barth.
352
353         Finish implementing "any other end tag" for "in body" mode
354         https://bugs.webkit.org/show_bug.cgi?id=41582
355
356         I believe I found a "bug" in the HTML5 spec when writing this:
357         http://www.w3.org/Bugs/Public/show_bug.cgi?id=10080
358
359         * html/HTMLTreeBuilder.cpp:
360         (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
361         (WebCore::HTMLTreeBuilder::processEndTag):
362         * html/HTMLTreeBuilder.h:
363
364 2010-07-05  Martin Robinson  <mrobinson@igalia.com>
365
366         Unreviewed.
367
368         Add a missing slash to the list of generated sources. This
369         was missing from a previous build fix.
370
371         * GNUmakefile.am:
372
373 2010-07-05  Pavel Feldman  <pfeldman@chromium.org>
374
375         Reviewed by Joseph Pecoraro.
376
377         Web Inspector: preserve scroll positions in source frame when switching between panes.
378
379         https://bugs.webkit.org/show_bug.cgi?id=41620
380
381         * inspector/front-end/ScriptsPanel.js:
382         (WebInspector.ScriptsPanel.prototype.hide):
383         * inspector/front-end/SourceFrame.js:
384         (WebInspector.SourceFrame.prototype.set visible):
385         * inspector/front-end/SourceView.js:
386         (WebInspector.SourceView.prototype.hide):
387
388 2010-07-05  Rob Buis  <rwlbuis@gmail.com>
389
390         Reviewed by Dirk Schulze.
391
392         IE SVG test fails
393         https://bugs.webkit.org/show_bug.cgi?id=41619
394
395         Make SVGSVGElement.createSVGTransform create a SVGTransform with the
396         right type, thereby fixing the IE test.
397
398         Test: svg/custom/svg-createsvgtransform-type.html
399
400         * svg/SVGSVGElement.cpp:
401         (WebCore::SVGSVGElement::createSVGTransform):
402
403 2010-07-05  Pavel Feldman  <pfeldman@chromium.org>
404
405         Reviewed by Yury Semikhatsky.
406
407         Web Inspector: computed style pane is not updated when styles pane is collapsed.
408
409         https://bugs.webkit.org/show_bug.cgi?id=41615
410
411         * inspector/front-end/ElementsPanel.js:
412         (WebInspector.ElementsPanel.prototype.updateStyles):
413
414 2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
415
416         Reviewed by Dirk Schulze.
417
418         Logic to track whether elements are using relative lengths is incomplete
419         https://bugs.webkit.org/show_bug.cgi?id=41566
420
421         Add logic to all SVG elements which create renderes to expose a method
422         "bool selfHasRelativeLengths()", that returns whether the element uses relative
423         lengths (eg. <rect x="50%"...). This will be used soon to avoid relayouts of
424         container children, when the bounds have not changed.
425
426         A new method SVGStyledElement::updateRelativeLengthsInformation() is added,
427         which is called from the various svgAttributeChanged() methods and insertedIntoDocument/removedFromDocument.
428         It will be implemented in a follow-up patch. This patch does not affect any test behaviour related
429         to relayouting. As SVGFilterElement finally got a proper svgAttributeChanged() method, it now
430         properly invalidates clients on attribute changes - covered by a new test.
431
432         Tests: svg/custom/relative-sized-inner-svg.xhtml
433                svg/custom/relative-sized-use-without-attributes-on-symbol.xhtml
434                svg/filters/filter-width-update.svg
435  
436         * rendering/RenderPath.cpp:
437         (WebCore::RenderPath::layout): Rename hasRelativeValues to hasRelativeLengths.
438         * rendering/RenderSVGRoot.cpp:
439         (WebCore::RenderSVGRoot::layout): Ditto.
440         (WebCore::RenderSVGRoot::calcViewport): Ditto.
441         * rendering/RenderSVGViewportContainer.cpp:
442         (WebCore::RenderSVGViewportContainer::calcViewport): Ditto
443         * rendering/SVGRenderSupport.cpp:
444         (WebCore::SVGRenderSupport::layoutChildren): Ditto.
445         * svg/SVGCircleElement.cpp:
446         (WebCore::SVGCircleElement::svgAttributeChanged): Call updateRelativeLengthsInformation() if any attribute which may contain relative lengths changes.
447         (WebCore::SVGCircleElement::selfHasRelativeLengths): Ditto. Same for all other SVG*Elements below.
448         * svg/SVGCircleElement.h:
449         * svg/SVGEllipseElement.cpp:
450         (WebCore::SVGEllipseElement::svgAttributeChanged):
451         (WebCore::SVGEllipseElement::selfHasRelativeLengths):
452         * svg/SVGEllipseElement.h:
453         * svg/SVGFilterElement.cpp:
454         (WebCore::SVGFilterElement::svgAttributeChanged):
455         (WebCore::SVGFilterElement::selfHasRelativeLengths):
456         * svg/SVGFilterElement.h:
457         * svg/SVGForeignObjectElement.cpp:
458         (WebCore::SVGForeignObjectElement::svgAttributeChanged):
459         (WebCore::SVGForeignObjectElement::selfHasRelativeLengths):
460         * svg/SVGForeignObjectElement.h:
461         * svg/SVGImageElement.cpp:
462         (WebCore::SVGImageElement::svgAttributeChanged):
463         (WebCore::SVGImageElement::selfHasRelativeLengths):
464         * svg/SVGImageElement.h:
465         * svg/SVGLineElement.cpp:
466         (WebCore::SVGLineElement::svgAttributeChanged):
467         (WebCore::SVGLineElement::selfHasRelativeLengths):
468         * svg/SVGLineElement.h:
469         * svg/SVGLinearGradientElement.cpp:
470         (WebCore::SVGLinearGradientElement::svgAttributeChanged):
471         (WebCore::SVGLinearGradientElement::selfHasRelativeLengths):
472         * svg/SVGLinearGradientElement.h:
473         * svg/SVGMarkerElement.cpp:
474         (WebCore::SVGMarkerElement::svgAttributeChanged):
475         (WebCore::SVGMarkerElement::selfHasRelativeLengths):
476         * svg/SVGMarkerElement.h:
477         * svg/SVGMaskElement.cpp:
478         (WebCore::SVGMaskElement::svgAttributeChanged):
479         (WebCore::SVGMaskElement::selfHasRelativeLengths):
480         * svg/SVGMaskElement.h:
481         * svg/SVGPatternElement.cpp:
482         (WebCore::SVGPatternElement::svgAttributeChanged):
483         (WebCore::SVGPatternElement::selfHasRelativeLengths):
484         * svg/SVGPatternElement.h:
485         * svg/SVGRadialGradientElement.cpp:
486         (WebCore::SVGRadialGradientElement::svgAttributeChanged):
487         (WebCore::SVGRadialGradientElement::selfHasRelativeLengths):
488         * svg/SVGRadialGradientElement.h:
489         * svg/SVGRectElement.cpp:
490         (WebCore::SVGRectElement::svgAttributeChanged):
491         (WebCore::SVGRectElement::selfHasRelativeLengths):
492         * svg/SVGRectElement.h:
493         * svg/SVGSVGElement.cpp:
494         (WebCore::SVGSVGElement::svgAttributeChanged):
495         (WebCore::SVGSVGElement::selfHasRelativeLengths):
496         * svg/SVGSVGElement.h:
497         * svg/SVGStyledElement.cpp:
498         (WebCore::SVGStyledElement::insertedIntoDocument): Call updateRelativeLengthsInformation().
499         (WebCore::SVGStyledElement::removedFromDocument): Ditto.
500         (WebCore::SVGStyledElement::updateRelativeLengthsInformation): Not implemented so far. Will land in a follow-up patch, together with the render tree changes.
501         * svg/SVGStyledElement.h:
502         (WebCore::SVGStyledElement::hasRelativeLengths): Devirtualized. For now, just call selfHasRelativeLengths() - this will change in a follow-up patch.
503         (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
504         (WebCore::SVGStyledElement::selfHasRelativeLengths): Renamed from hasRelativeValues().
505         * svg/SVGSymbolElement.cpp:
506         (WebCore::SVGSymbolElement::svgAttributeChanged):
507         (WebCore::SVGSymbolElement::selfHasRelativeLengths):
508         * svg/SVGSymbolElement.h:
509         * svg/SVGTextContentElement.cpp:
510         (WebCore::SVGTextContentElement::selfHasRelativeLengths):
511         * svg/SVGTextContentElement.h:
512         * svg/SVGTextPathElement.cpp:
513         (WebCore::SVGTextPathElement::svgAttributeChanged):
514         (WebCore::SVGTextPathElement::insertedIntoDocument): Call right base class' method. Skipped one in the hierachy before.
515         (WebCore::SVGTextPathElement::selfHasRelativeLengths):
516         * svg/SVGTextPathElement.h:
517         * svg/SVGTextPositioningElement.cpp:
518         (WebCore::SVGTextPositioningElement::svgAttributeChanged):
519         (WebCore::listContainsRelativeValue): New helper funtion that checks wheter a SVGLengthList contains relative lengths.
520         (WebCore::SVGTextPositioningElement::selfHasRelativeLengths):
521         * svg/SVGTextPositioningElement.h:
522         * svg/SVGUseElement.cpp:
523         (WebCore::SVGUseElement::insertedIntoDocument): Call right base class' method. Skipped on in the hierachy before.
524         (WebCore::SVGUseElement::removedFromDocument): Ditto.
525         (WebCore::SVGUseElement::svgAttributeChanged):
526         (WebCore::SVGUseElement::buildShadowAndInstanceTree): Call updateRelativeLengthsInformation() after building the shadow tree.
527         (WebCore::SVGUseElement::selfHasRelativeLengths): Same as all other methods, except that it includes the shadow tree root element.
528         * svg/SVGUseElement.h:
529
530 2010-07-05  Pavel Feldman  <pfeldman@chromium.org>
531
532         Reviewed by Yury Semikhatsky.
533
534         Web Inspector: Problem with copying a code from Scripts panel.
535
536         https://bugs.webkit.org/show_bug.cgi?id=40432
537
538         * inspector/front-end/TextViewer.js:
539         (WebInspector.TextViewer.prototype._getSelection):
540         (WebInspector.TextViewer.prototype._selectionToPosition):
541
542 2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
543
544         Reviewed by Dirk Schulze / Darin Adler.
545
546         Node.cloneNode does not work on SVG nodes
547         https://bugs.webkit.org/show_bug.cgi?id=41421
548
549         Be sure to synchronize animated SVG properties before checking whether NamedNodeMap exists.
550         When creating a SVG element from JS, and setting all attributes via SVG DOM, and not using setAttribute
551         the NamedNodeMap does not exist. When cloning such an element, be sure to synchronize SVG <-> XML DOM
552         attributes before attempting to clone, otherwhise the SVG animated properties are lost while cloning.
553
554         Test: svg/custom/clone-element-with-animated-svg-properties.html
555
556         * dom/Element.cpp:
557         (WebCore::Element::cloneElementWithoutChildren):
558
559 2010-07-05  Antti Koivisto  <koivisto@iki.fi>
560
561         Revert unplanned project file change.
562
563         * WebCore.pri:
564         * WebCore.pro:
565
566 2010-07-05  Nikolas Zimmermann  <nzimmermann@rim.com>
567
568         Reviewed by Darin Adler.
569
570         Memory corruption with SVG <use> element
571         https://bugs.webkit.org/show_bug.cgi?id=40994
572
573         Fix race condition in svgAttributeChanged. Never call svgAttributeChanged() from attributeChanged()
574         when we're synchronizing SVG attributes. It leads to either unnecessary extra work being done or
575         crashes. Especially together with <polyline>/<polygon> which always synchronize the SVGAnimatedPoints
576         datastructure with the points attribute, no matter if there are changes are not. This should be
577         furhter optimized, but this fix is sane and fixes the root of the evil races.
578
579         Test: svg/custom/use-property-synchronization-crash.svg
580
581         * svg/SVGElement.cpp:
582         (WebCore::SVGElement::attributeChanged):
583
584 2010-07-05  Yury Semikhatsky  <yurys@chromium.org>
585
586         Reviewed by Pavel Feldman.
587
588         [v8] Web Inspector: remove v8-specific code dealing with getOwnPropertyNames from InjectedScript.js
589         https://bugs.webkit.org/show_bug.cgi?id=41595
590
591         * inspector/front-end/InjectedScript.js:
592         (injectedScriptConstructor):
593
594 2010-07-04  Rob Buis  <rwlbuis@gmail.com>
595
596         Reviewed by Dirk Schulze.
597
598         SVG polygons should draw polygons up to the first parsing error
599         https://bugs.webkit.org/show_bug.cgi?id=41140
600
601         Render polygons up until the first parsing error.
602
603         Test: svg/custom/poly-parsing-error.html
604
605         * svg/SVGPolyElement.cpp:
606         (WebCore::SVGPolyElement::parseMappedAttribute):
607
608 2010-07-04  Alice Liu  <alice.liu@apple.com>
609
610         Reviewed by Dan Bernstein.
611
612         Crash reading past end of block in UniscribeController::shapeAndPlaceItem
613         https://bugs.webkit.org/show_bug.cgi?id=41554
614
615         Test: platform/win/fast/text/uniscribe-item-boundary-crash.html
616
617         * platform/graphics/win/UniscribeController.cpp:
618         (WebCore::UniscribeController::shapeAndPlaceItem):
619         Don't look one past the end of str. Instead look to the next item, if applicable.
620
621 2010-07-04  Eric Seidel  <eric@webkit.org>
622
623         Reviewed by Adam Barth.
624
625         Add basic "in table body" mode to support <tr> insertion
626         https://bugs.webkit.org/show_bug.cgi?id=41587
627
628         This also adds a (currently untestable?)
629         popUntilTableBodyScopeMarker code path.
630         Any tags which would be between a tbody a <tr> would end up
631         foster parented outside the <table>.  I think the spec was
632         just being over-cautious with popUntilTableBodyScopeMarker.
633
634         * html/HTMLElementStack.cpp:
635         (WebCore::HTMLNames::isTableScopeMarker):
636         (WebCore::HTMLNames::isTableBodyScopeMarker):
637         (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
638         * html/HTMLElementStack.h:
639         * html/HTMLTreeBuilder.cpp:
640         (WebCore::HTMLTreeBuilder::processStartTag):
641         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
642
643 2010-07-04  Anders Carlsson  <andersca@apple.com>
644
645         Fix Windows build.
646
647         * WebCore.vcproj/WebCore.vcproj:
648
649 2010-07-04  Eric Seidel  <eric@webkit.org>
650
651         Reviewed by Adam Barth.
652
653         HTMLTreeBuilder needs an adoption agency
654         https://bugs.webkit.org/show_bug.cgi?id=41453
655
656         Fix Qt Minimal build.  SVGNames.h should always
657         be generated, even when SVG is off, however that's
658         not how things currently work.
659
660         * html/HTMLTreeBuilder.cpp:
661
662 2010-07-04  Eric Seidel  <eric@webkit.org>
663
664         Reviewed by Adam Barth.
665
666         Add a very basic InTable insertion mode
667         https://bugs.webkit.org/show_bug.cgi?id=41581
668
669         There is still a bunch of low-hanging fruit left for this
670         mode, but even this most-basic support lets us pass 6 more tests. :)
671
672         It's a progression, ship it! :)
673
674         * html/HTMLElementStack.cpp:
675         (WebCore::HTMLNames::isScopeMarker):
676         (WebCore::HTMLNames::isListItemScopeMarker):
677         (WebCore::HTMLNames::isTableScopeMarker):
678         (WebCore::HTMLElementStack::popUntilTableScopeMarker):
679         * html/HTMLElementStack.h:
680         * html/HTMLFormattingElementList.cpp:
681         (WebCore::HTMLFormattingElementList::appendMarker):
682         * html/HTMLFormattingElementList.h:
683         * html/HTMLTreeBuilder.cpp:
684         (WebCore::HTMLTreeBuilder::processStartTag):
685         * html/HTMLTreeBuilder.h:
686
687 2010-07-01  Eric Seidel  <eric@webkit.org>
688
689         Reviewed by Adam Barth.
690
691         HTMLTreeBuilder needs an adoption agency
692         https://bugs.webkit.org/show_bug.cgi?id=41453
693
694         This changes some test results, but only makes the simplest
695         adoption agency cases pass.  I think the code is likely
696         very close, but further iteration to make this change larger
697         seems counter-productive.  I recommend we check in this
698         progression and work from here.
699
700         * dom/ContainerNode.cpp:
701         (WebCore::ContainerNode::addChildCommon):
702          - Make sure callers don't assume this will reparent.
703         (WebCore::ContainerNode::parserAddChild):
704          - Update comment to document lack of reparenting behavior.
705         * html/HTMLElementStack.cpp:
706         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
707         (WebCore::HTMLElementStack::ElementRecord::~ElementRecord):
708         (WebCore::HTMLElementStack::ElementRecord::replaceElement):
709         (WebCore::HTMLElementStack::ElementRecord::isAbove):
710          - Added for debugging.
711         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
712         (WebCore::HTMLElementStack::insertAbove):
713          - Needed for the adoption agency.
714         (WebCore::HTMLElementStack::topRecord):
715         (WebCore::HTMLElementStack::bottom):
716         (WebCore::HTMLElementStack::removeHTMLHeadElement):
717         (WebCore::HTMLElementStack::remove):
718         (WebCore::HTMLElementStack::find):
719         (WebCore::HTMLElementStack::topmost):
720         (WebCore::HTMLElementStack::contains):
721         (WebCore::HTMLElementStack::htmlElement):
722         (WebCore::HTMLElementStack::headElement):
723         (WebCore::HTMLElementStack::bodyElement):
724         (WebCore::HTMLElementStack::pushCommon):
725         (WebCore::HTMLElementStack::removeNonTopCommon):
726          - Fix the name to match top/bottom.
727         * html/HTMLElementStack.h:
728         (WebCore::HTMLElementStack::ElementRecord::element):
729         (WebCore::HTMLElementStack::ElementRecord::next):
730         (WebCore::HTMLElementStack::ElementRecord::releaseNext):
731         (WebCore::HTMLElementStack::ElementRecord::setNext):
732         * html/HTMLFormattingElementList.cpp:
733         (WebCore::HTMLFormattingElementList::closestElementInScopeWithName):
734         (WebCore::HTMLFormattingElementList::contains):
735         (WebCore::HTMLFormattingElementList::find):
736         (WebCore::HTMLFormattingElementList::remove):
737         * html/HTMLFormattingElementList.h:
738         (WebCore::HTMLFormattingElementList::isEmpty):
739         (WebCore::HTMLFormattingElementList::size):
740         * html/HTMLTreeBuilder.cpp:
741         (WebCore::HTMLTreeBuilder::processStartTag):
742         (WebCore::HTMLTreeBuilder::furthestBlockForFormattingElement):
743          - Part of the Adoption Agency algorithm.
744         (WebCore::HTMLTreeBuilder::findFosterParentFor):
745          - Used to move mis-nested content out of tables.
746            This doesn't seem to work quite right yet.
747         (WebCore::HTMLTreeBuilder::reparentChildren):
748         (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
749          - The ridiculously long/complicated adoption agency algorithm from HTML5.
750         (WebCore::HTMLTreeBuilder::processEndTag):
751         * html/HTMLTreeBuilder.h:
752
753 2010-07-04  Justin Schuh  <jschuh@chromium.org>
754
755         Reviewed by Darin Adler.
756
757         Remove custom src bindings for HTMLFrameElement and HTMLIFrameElement
758         https://bugs.webkit.org/show_bug.cgi?id=41578
759
760         Remove bindings obsoleted by: http://trac.webkit.org/changeset/59866
761         No new tests because behavior is not changed.
762
763         * Android.jscbindings.mk:
764         * Android.v8bindings.mk:
765         * CMakeLists.txt:
766         * GNUmakefile.am:
767         * WebCore.gypi:
768         * WebCore.pro:
769         * WebCore.vcproj/WebCore.vcproj:
770         * WebCore.xcodeproj/project.pbxproj:
771         * bindings/js/JSBindingsAllInOne.cpp:
772         * bindings/js/JSHTMLFrameElementCustom.cpp:
773         * bindings/js/JSHTMLIFrameElementCustom.cpp: Removed.
774         * bindings/v8/custom/V8HTMLFrameElementCustom.cpp:
775         * bindings/v8/custom/V8HTMLIFrameElementCustom.cpp: Removed.
776         * html/HTMLFrameElement.idl:
777         * html/HTMLIFrameElement.idl:
778
779 2010-07-03  Adam Barth  <abarth@webkit.org>
780
781         Reviewed by Maciej Stachowiak.
782
783         Implement AfterAfterFramesetMode
784         https://bugs.webkit.org/show_bug.cgi?id=41561
785
786         This mode is almost unobservable.  The main way to observe it seems to
787         be seeing where comment nodes get attached to the DOM.
788
789         * html/HTMLTreeBuilder.cpp:
790         (WebCore::HTMLTreeBuilder::processStartTag):
791         (WebCore::HTMLTreeBuilder::processEndTag):
792         (WebCore::HTMLTreeBuilder::processComment):
793         (WebCore::HTMLTreeBuilder::processCharacter):
794         (WebCore::HTMLTreeBuilder::processEndOfFile):
795
796 2010-07-03  Zhenyao Mo  <zmo@google.com>
797
798         Reviewed by Dimitri Glazkov.
799
800         WebGLRenderingContext::vertexAttrib* leads to possible out-of-range vector member visit
801         https://bugs.webkit.org/show_bug.cgi?id=41572
802
803         * html/canvas/WebGLRenderingContext.cpp: Fix the out-of-range vector member visit, also refactor the code.
804         (WebCore::WebGLRenderingContext::vertexAttrib1f):
805         (WebCore::WebGLRenderingContext::vertexAttrib1fv):
806         (WebCore::WebGLRenderingContext::vertexAttrib2f):
807         (WebCore::WebGLRenderingContext::vertexAttrib2fv):
808         (WebCore::WebGLRenderingContext::vertexAttrib3f):
809         (WebCore::WebGLRenderingContext::vertexAttrib3fv):
810         (WebCore::WebGLRenderingContext::vertexAttrib4f):
811         (WebCore::WebGLRenderingContext::vertexAttrib4fv):
812         (WebCore::WebGLRenderingContext::vertexAttribfImpl):
813         (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
814         * html/canvas/WebGLRenderingContext.h: Helper function declaration.
815
816 2010-07-03  Jeremy Orlow  <jorlow@chromium.org>
817
818         Ugh.  Have to put the destructor in the .h file since the .ccp isn't compiled yet.
819
820         * storage/IDBKey.h:
821         (WebCore::IDBKey::~IDBKey):
822
823 2010-07-03  Jeremy Orlow  <jorlow@chromium.org>
824
825         Build fix.  Forgot destructor.
826
827         * storage/IDBKey.cpp:
828         (WebCore::IDBKey::~IDBKey):
829
830 2010-06-26  Jeremy Orlow  <jorlow@chromium.org>
831
832         Reviewed by Dumitru Daniliuc.
833
834         Support for keys and in-memory storage for IndexedDB
835         https://bugs.webkit.org/show_bug.cgi?id=41252
836
837         It'll take some time to get data persistence working for IndexedDB,
838         so until then, we'll just store everything in an in memory tree.
839         The tree uses WTF::AVLTree and is a template so that it can be used by
840         object stores (IDBKey -> SerializedScriptValue) and indexes (IDBKey ->
841         IDBKey).  This class will be used in a subsequent patch.
842
843         Also add an IDBKey type that represents one of these keys.  We use a
844         custom toJS function in a way similar to IDBAny to convert from WebCore
845         to a JS value.  For converting the other way, we have to teach the code
846         generators what to do (unfortunately).  This is done in a way similar
847         to serialized script value.  Unlike serialized script value, IDBKey is
848         in WebCore and only a helper function is JS engine specific.
849
850         This code is not accessable from layout tests.  (Will fix in
851         https://bugs.webkit.org/show_bug.cgi?id=41250)  The bindings tests
852         show us that the generated bindings are what we expect.
853
854         * ForwardingHeaders/wtf/AVLTree.h: Added.
855         * bindings/js/IDBBindingUtilities.cpp: Added.
856         (WebCore::createIDBKeyFromValue):
857         * bindings/js/IDBBindingUtilities.h: Added.
858         * bindings/js/JSIDBKeyCustom.cpp: Added.
859         (WebCore::toJS):
860         * bindings/scripts/CodeGeneratorJS.pm:
861         * bindings/scripts/CodeGeneratorV8.pm:
862         * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
863         (WebDOMTestObj::idbKey):
864         * bindings/scripts/test/CPP/WebDOMTestObj.h:
865         * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
866         (webkit_dom_test_obj_idb_key):
867         * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
868         * bindings/scripts/test/JS/JSTestObj.cpp:
869         (WebCore::):
870         (WebCore::jsTestObjPrototypeFunctionIdbKey):
871         * bindings/scripts/test/JS/JSTestObj.h:
872         * bindings/scripts/test/ObjC/DOMTestObj.h:
873         * bindings/scripts/test/ObjC/DOMTestObj.mm:
874         (-[DOMTestObj idbKey:]):
875         * bindings/scripts/test/TestObj.idl:
876         * bindings/scripts/test/V8/V8TestObj.cpp:
877         (WebCore::TestObjInternal::idbKeyCallback):
878         (WebCore::):
879         * bindings/v8/IDBBindingUtilities.cpp: Added.
880         (WebCore::createIDBKeyFromValue):
881         * bindings/v8/IDBBindingUtilities.h: Added.
882         * bindings/v8/custom/V8IDBKeyCustom.cpp: Added.
883         (WebCore::toV8):
884         * storage/IDBCallbacks.h:
885         * storage/IDBKey.cpp: Added.
886         (WebCore::IDBKey::IDBKey):
887         (WebCore::IDBKey::~IDBKey):
888         * storage/IDBKey.h: Added.
889         (WebCore::IDBKey::create):
890         (WebCore::IDBKey::):
891         (WebCore::IDBKey::type):
892         (WebCore::IDBKey::string):
893         (WebCore::IDBKey::number):
894         * storage/IDBKey.idl: Added.
895         * storage/IDBKeyTree.h: Added.
896         (WebCore::IDBKeyTree::create):
897         (WebCore::IDBKeyTree::AVLTreeAbstractor::get_less):
898         (WebCore::IDBKeyTree::AVLTreeAbstractor::set_less):
899         (WebCore::IDBKeyTree::AVLTreeAbstractor::get_greater):
900         (WebCore::IDBKeyTree::AVLTreeAbstractor::set_greater):
901         (WebCore::IDBKeyTree::AVLTreeAbstractor::get_balance_factor):
902         (WebCore::IDBKeyTree::AVLTreeAbstractor::set_balance_factor):
903         (WebCore::IDBKeyTree::AVLTreeAbstractor::null):
904         (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_key_node):
905         (WebCore::IDBKeyTree::AVLTreeAbstractor::compare_node_node):
906         (WebCore::::IDBKeyTree):
907         (WebCore::::~IDBKeyTree):
908         (WebCore::::AVLTreeAbstractor::compare_key_key):
909         (WebCore::::get):
910         (WebCore::::insert):
911         (WebCore::::remove):
912
913 2010-07-03  Jon Honeycutt  <jhoneycutt@apple.com>
914
915         The missing plug-in indicator should be clickable
916
917         https://bugs.webkit.org/show_bug.cgi?id=41550
918         <rdar://problem/8132162>
919
920         From an original patch by Kevin Decker.
921
922         Reviewed by Darin Adler.
923
924         * html/HTMLPlugInElement.cpp:
925         (WebCore::HTMLPlugInElement::defaultEventHandler):
926         If the renderer is a RenderEmbeddedWidget showing the missing plug-in
927         indicator, and the event is a click even, call the ChromeClient's
928         missingPluginButtonClicked() function.
929
930         * page/ChromeClient.h:
931         (WebCore::ChromeClient::missingPluginButtonClicked):
932         Declare missingPluginButtonClicked(), and stub the default
933         implementation.
934
935         * rendering/RenderEmbeddedObject.cpp:
936         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
937         Initialize m_showsMissingPluginIndicator.
938         (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
939         Assert that we're not currently showing any replacement text. Set
940         m_showsMissingPluginIndicator after setting the replacement text.
941         (WebCore::RenderEmbeddedObject::setShowsCrashedPluginIndicator):
942         Add the same assert as above.
943
944         * rendering/RenderEmbeddedObject.h:
945         (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
946         Getter for m_showsMissingPluginIndicator.
947
948 2010-07-02  Oliver Hunt  <oliver@apple.com>
949
950         Reviewed by Geoffrey Garen.
951
952         Move BOM handling out of the lexer and parser
953         https://bugs.webkit.org/show_bug.cgi?id=41539
954
955         Update WebCore to ensure that SourceProviders don't
956         produce strings with BOMs in them.
957
958         * bindings/js/ScriptSourceProvider.h:
959         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
960         * bindings/js/StringSourceProvider.h:
961         (WebCore::StringSourceProvider::StringSourceProvider):
962         * loader/CachedScript.cpp:
963         (WebCore::CachedScript::CachedScript):
964         (WebCore::CachedScript::script):
965         * loader/CachedScript.h:
966         (WebCore::CachedScript::):
967           CachedScript now stores decoded data with the BOMs stripped,
968           and caches the presence of BOMs across memory purges.
969
970 2010-07-03  Xan Lopez  <xlopez@igalia.com>
971
972         Include DerivedSources/WebCore before DerivedSources/
973
974         Recently DerivedSources generation was changed, with some files no
975         longer being generated in the toplevel DerivedSources
976         directory. Since that directory is first in the -I flags the build
977         can be broken in some cases by including old files unless a 'make
978         clean' is done. Change the -I order to fix the build in the 32 bit
979         Release bot.
980
981         * GNUmakefile.am:
982
983 2010-07-03  Erik Arvidsson  <arv@chromium.org>
984
985         Reviewed by Ojan Vafai.
986
987         Fix issue where a contextmenu event was reporting the wrong target if
988         the context menu was shown due to pressing the context menu key
989         (or Shift+F10).
990         
991         Split sendContextMenuForEvent into one case for keyboard events and use
992         that when the contextmenu event should be dispatched due to a keypress.
993
994         For the keboard case we now use the focused node as the target for the
995         event and use the clipped rect to determine the position of the menu.
996         
997         https://bugs.webkit.org/show_bug.cgi?id=38129
998
999         Use manual test since DRT does not handle context menu keys.
1000
1001         * manual-tests/win/contextmenu-key.html: Added.
1002         * page/EventHandler.cpp:
1003         (WebCore::EventHandler::sendContextMenuEvent):
1004         (WebCore::EventHandler::sendContextMenuEventForKey):
1005         * page/EventHandler.h:
1006
1007 2010-07-03  Dirk Schulze  <krit@webkit.org>
1008
1009         Unreviewed sort of XCode project file.
1010
1011         * WebCore.xcodeproj/project.pbxproj:
1012
1013 2010-07-03  Kwang Yul Seo  <skyul@company100.net>
1014
1015         Reviewed by Kent Tamura.
1016
1017         [BREWMP] Port Widget
1018         https://bugs.webkit.org/show_bug.cgi?id=41538
1019
1020         Make Widget a dummy class. WebKit Brew MP uses the full screen mode
1021         and does not use the window system introduced in Brew MP.
1022
1023         * platform/Widget.h:
1024         * platform/brew/WidgetBrew.cpp: Added.
1025         (WebCore::Widget::Widget):
1026         (WebCore::Widget::~Widget):
1027         (WebCore::Widget::frameRect):
1028         (WebCore::Widget::setFrameRect):
1029         (WebCore::Widget::setFocus):
1030         (WebCore::Widget::setCursor):
1031         (WebCore::Widget::show):
1032         (WebCore::Widget::hide):
1033         (WebCore::Widget::paint):
1034         (WebCore::Widget::setIsSelected):
1035
1036 2010-07-03  Adam Barth  <abarth@webkit.org>
1037
1038         Reviewed by Eric Seidel.
1039
1040         Implement AfterFramesetMode
1041         https://bugs.webkit.org/show_bug.cgi?id=41560
1042
1043         * html/HTMLTreeBuilder.cpp:
1044         (WebCore::HTMLTreeBuilder::processStartTag):
1045         (WebCore::HTMLTreeBuilder::processEndTag):
1046         (WebCore::HTMLTreeBuilder::processCharacter):
1047         (WebCore::HTMLTreeBuilder::processEndOfFile):
1048
1049 2010-07-02  Adam Barth  <abarth@webkit.org>
1050
1051         Reviewed by Eric Seidel.
1052
1053         Implement InFramesetMode
1054         https://bugs.webkit.org/show_bug.cgi?id=41559
1055
1056         Pretty straighforward.  We still don't handle character tokens
1057         correctly.
1058
1059         * html/HTMLTreeBuilder.cpp:
1060         (WebCore::HTMLTreeBuilder::processStartTag):
1061         (WebCore::HTMLTreeBuilder::processEndTag):
1062         (WebCore::HTMLTreeBuilder::processCharacter):
1063         (WebCore::HTMLTreeBuilder::processEndOfFile):
1064
1065 2010-07-02  Adam Barth  <abarth@webkit.org>
1066
1067         Reviewed by Eric Seidel.
1068
1069         Handle <frameset> InBody
1070         https://bugs.webkit.org/show_bug.cgi?id=41558
1071
1072         Handling the <frameset> tag in the InBody mode is somewhat delicate.
1073
1074         * html/HTMLElementStack.cpp:
1075         (WebCore::HTMLElementStack::popHTMLBodyElement):
1076         (WebCore::HTMLElementStack::popUntil):
1077         (WebCore::HTMLElementStack::popCommon):
1078         * html/HTMLElementStack.h:
1079         * html/HTMLTreeBuilder.cpp:
1080         (WebCore::HTMLTreeBuilder::processStartTag):
1081
1082 2010-07-02  Adam Barth  <abarth@webkit.org>
1083
1084         Reviewed by Eric Seidel.
1085
1086         Special handling of <rp> and <rt> tags
1087         https://bugs.webkit.org/show_bug.cgi?id=41557
1088
1089         So sayeth the spec.
1090
1091         * html/HTMLTreeBuilder.cpp:
1092         (WebCore::HTMLTreeBuilder::processStartTag):
1093
1094 2010-07-02  Adam Barth  <abarth@webkit.org>
1095
1096         Reviewed by Eric Seidel.
1097
1098         Implement special optgroup processing
1099         https://bugs.webkit.org/show_bug.cgi?id=41556
1100
1101         * html/HTMLTreeBuilder.cpp:
1102         (WebCore::HTMLTreeBuilder::processStartTag):
1103
1104 2010-07-02  Adam Barth  <abarth@webkit.org>
1105
1106         Reviewed by Eric Seidel.
1107
1108         Handle <image> in new parser
1109         https://bugs.webkit.org/show_bug.cgi?id=41555
1110
1111         This patch is kind of goofy but apparently how the world works.
1112
1113         * html/HTMLToken.h:
1114         (WebCore::AtomicHTMLToken::setName):
1115         * html/HTMLTreeBuilder.cpp:
1116         (WebCore::HTMLTreeBuilder::processStartTag):
1117
1118 2010-07-02  Kwang Yul Seo  <skyul@company100.net>
1119
1120         Reviewed by Alexey Proskuryakov.
1121
1122         Remove extra semicolon at the end of HTMLTreeBuilder::attach
1123         https://bugs.webkit.org/show_bug.cgi?id=41546
1124
1125         This is not critical, but the extra semicolon at the end of HTMLTreeBuilder::attach
1126         causes a warning in RVCT.
1127
1128         * html/HTMLTreeBuilder.h:
1129         (WebCore::HTMLTreeBuilder::attach):
1130
1131 2010-07-02  Tony Gentilcore  <tonyg@chromium.org>
1132
1133         Reviewed by Darin Adler.
1134
1135         Performance::disconnectFrame() needs to disconnect its children
1136         https://bugs.webkit.org/show_bug.cgi?id=41533
1137
1138         No new tests because no new functionality.
1139
1140         * page/Performance.cpp:
1141         (WebCore::Performance::disconnectFrame):
1142
1143 2010-07-02  Luiz Agostini  <luiz.agostini@openbossa.org>
1144
1145         Reviewed by Sam Weinig.
1146
1147         Checking if WTF_USE_JSC is defined before redefining it in config.h
1148         https://bugs.webkit.org/show_bug.cgi?id=41530
1149
1150         * config.h:
1151
1152 2010-07-02  Tony Gentilcore  <tonyg@chromium.org>
1153
1154         Reviewed by Dimitri Glazkov.
1155
1156         Add vendor prefix to window.performance
1157         https://bugs.webkit.org/show_bug.cgi?id=41525
1158
1159         No new tests because window.performance tests not landed yet.
1160
1161         * page/DOMWindow.cpp:
1162         (WebCore::DOMWindow::webkitPerformance):
1163         * page/DOMWindow.h:
1164         (WebCore::DOMWindow::optionalWebkitPerformance):
1165         * page/DOMWindow.idl:
1166
1167 2010-07-02  Zoltan Herczeg  <zherczeg@webkit.org>
1168
1169         Reviewed by Oliver Hunt.
1170
1171         Minor fix: Diffuse constant is float (not integer)
1172         https://bugs.webkit.org/show_bug.cgi?id=10412
1173
1174         * svg/SVGFEDiffuseLightingElement.cpp:
1175         (WebCore::SVGFEDiffuseLightingElement::parseMappedAttribute):
1176
1177 2010-07-02  Martin Robinson  <mrobinson@igalia.com>
1178
1179         Unreviewed.
1180
1181         Build fix for GTK+. Try to force a rebuild of the HTMLNames.h
1182         file first by touching HTMLTagNames.in.
1183
1184         * html/HTMLTagNames.in:
1185
1186 2010-07-02  Andreas Kling  <andreas.kling@nokia.com>
1187
1188         Reviewed by Oliver Hunt.
1189
1190         RGB colors should be clamped to the 0-255 range
1191         https://bugs.webkit.org/show_bug.cgi?id=39482
1192
1193         Spec link:
1194         http://www.whatwg.org/specs/web-apps/current-work/#colors
1195
1196         Test: fast/canvas/canvas-color-clamping.html
1197
1198         * css/CSSParser.cpp:
1199         (WebCore::parseColorInt):
1200         (WebCore::CSSParser::parseColor):
1201         (WebCore::parseColorIntFromValue):
1202         (WebCore::CSSParser::parseColorParameters):
1203
1204 2010-07-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1205
1206         Unreviewed, rolling out r62410.
1207         http://trac.webkit.org/changeset/62410
1208         https://bugs.webkit.org/show_bug.cgi?id=41549
1209
1210         accursed last minute changes (Requested by olliej on #webkit).
1211
1212         * bindings/js/ScriptSourceProvider.h:
1213         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
1214         * bindings/js/StringSourceProvider.h:
1215         (WebCore::StringSourceProvider::StringSourceProvider):
1216         * loader/CachedScript.cpp:
1217         (WebCore::CachedScript::CachedScript):
1218         (WebCore::CachedScript::script):
1219         * loader/CachedScript.h:
1220
1221 2010-07-02  Martin Robinson  <mrobinson@igalia.com>
1222
1223         Unreviewed.
1224
1225         Further Build fix for GTK+. Also include HTMLElementFactory.h in
1226         the list of dependencies.
1227
1228         * GNUmakefile.am:
1229
1230 2010-07-02  Martin Robinson  <mrobinson@igalia.com>
1231
1232         Unreviewed.
1233
1234         Build fix for GTK+. *Names.{cpp,h} targets should now include the
1235         header files. Also adds the header files to the generated sources list.
1236
1237         * GNUmakefile.am:
1238
1239 2010-07-02  Dumitru Daniliuc  <dumi@chromium.org>
1240
1241         Reviewed by Darin Fisher.
1242
1243         DB clean up.
1244         https://bugs.webkit.org/show_bug.cgi?id=41404
1245
1246         1. Made all DatabaseTasks internal classes of Database and made
1247            the Database methods called by those tasks private.
1248         2. Removed the Database::stop{ed}() methods.
1249         3. Removed the code that kept track of open databases from
1250            ScriptExecutionContext (no longer needed).
1251         4. Made minor changes to Database::closeImmediately() to make it
1252            possible for DatabaseThread to call that method instead of
1253            close().
1254         5. Minor fix to DatabaseTracker: addOpenDatabase() should call
1255            OriginQuotaManager::addDatabase() if the origin quota manager
1256            is not tracking this origin.
1257         6. Removed Database::performPolicyChecks(). We already update the
1258            DB size after each transaction, and we enforce a max size for
1259            the DB at the beginning of each transaction.
1260
1261         * dom/ScriptExecutionContext.cpp:
1262         (WebCore::ScriptExecutionContext::stopDatabases):
1263         * dom/ScriptExecutionContext.h:
1264         (WebCore::ScriptExecutionContext::hasOpenDatabases):
1265         * storage/Database.cpp:
1266         (WebCore::Database::openDatabase):
1267         (WebCore::Database::Database):
1268         (WebCore::Database::markAsDeletedAndClose):
1269         (WebCore::Database::close):
1270         (WebCore::Database::closeImmediately):
1271         * storage/Database.h:
1272         * storage/DatabaseTask.cpp:
1273         (WebCore::DatabaseTask::performTask):
1274         (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
1275         (WebCore::Database::DatabaseOpenTask::doPerformTask):
1276         (WebCore::Database::DatabaseOpenTask::debugTaskName):
1277         (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
1278         (WebCore::Database::DatabaseCloseTask::doPerformTask):
1279         (WebCore::Database::DatabaseCloseTask::debugTaskName):
1280         (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
1281         (WebCore::Database::DatabaseTransactionTask::doPerformTask):
1282         (WebCore::Database::DatabaseTransactionTask::debugTaskName):
1283         (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
1284         (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
1285         (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
1286         * storage/DatabaseTask.h:
1287         (WebCore::Database::DatabaseOpenTask::create):
1288         (WebCore::Database::DatabaseCloseTask::create):
1289         (WebCore::Database::DatabaseTransactionTask::create):
1290         (WebCore::Database::DatabaseTableNamesTask::create):
1291         * storage/DatabaseThread.cpp:
1292         (WebCore::DatabaseThread::databaseThread):
1293         * storage/DatabaseTracker.cpp:
1294         (WebCore::DatabaseTracker::addOpenDatabase):
1295         * storage/SQLTransaction.cpp:
1296         (WebCore::SQLTransaction::executeSQL):
1297         (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
1298
1299 2010-07-02  Oliver Hunt  <oliver@apple.com>
1300
1301         Reviewed by Geoffrey Garen.
1302
1303         Move BOM handling out of the lexer and parser
1304         https://bugs.webkit.org/show_bug.cgi?id=41539
1305
1306         Update WebCore to ensure that SourceProviders don't
1307         produce strings with BOMs in them.
1308
1309         * bindings/js/ScriptSourceProvider.h:
1310         (WebCore::ScriptSourceProvider::ScriptSourceProvider):
1311         * bindings/js/StringSourceProvider.h:
1312         (WebCore::StringSourceProvider::StringSourceProvider):
1313         * loader/CachedScript.cpp:
1314         (WebCore::CachedScript::CachedScript):
1315         (WebCore::CachedScript::script):
1316         * loader/CachedScript.h:
1317         (WebCore::CachedScript::):
1318           CachedScript now stores decoded data with the BOMs stripped,
1319           and caches the presence of BOMs across memory purges.
1320
1321 2010-07-02  Sam Weinig  <sam@webkit.org>
1322
1323         Add missing symbol to exports file.
1324
1325         * WebCore.base.exp:
1326
1327 2010-07-02  Abhishek Arya  <inferno@chromium.org>
1328
1329         Reviewed by Darin Fisher.
1330
1331         Remove the extra setFailed() call in JPEG decoder to prevent
1332         re-using an already freed object.
1333         https://bugs.webkit.org/show_bug.cgi?id=41487
1334
1335         Test: fast/images/large-size-image-crash.html
1336
1337         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1338         (WebCore::JPEGImageReader::decode):
1339
1340 2010-07-02  Peter Beverloo  <peter@lvp-media.com>
1341
1342         Reviewed by Maciej Stachowiak.
1343
1344         Add the HTML5 <mark> element. Text content of the element will have
1345         a yellow background color and black text.
1346
1347         Test: fast/html/mark-element.html
1348         Tests for <p> closing, phrasing child content and residual style.
1349
1350         * css/html.css:
1351         (mark):
1352         * html/HTMLElement.cpp:
1353         (WebCore::inlineTagList):
1354         * html/HTMLTagNames.in:
1355         * html/LegacyHTMLTreeBuilder.cpp:
1356         (WebCore::LegacyHTMLTreeBuilder::getNode):
1357         (WebCore::LegacyHTMLTreeBuilder::isInline):
1358         (WebCore::LegacyHTMLTreeBuilder::isResidualStyleTag):
1359
1360 2010-07-02  Zhenyao Mo  <zmo@google.com>
1361
1362         Reviewed by Dimitri Glazkov.
1363
1364         Fix issues in boundary situations for WebGLRenderingContext::drawArrays/drawElements
1365         https://bugs.webkit.org/show_bug.cgi?id=41473
1366
1367         * WebCore.gypi: Add CheckedInt.h.
1368         * WebCore.xcodeproj/project.pbxproj: Add CheckedInt.h.
1369         * html/canvas/CheckedInt.h: Added support of safe integer operations.
1370         (mozilla::CheckedInt_internal::integer_type_manually_recorded_info::):
1371         (mozilla::CheckedInt_internal::is_unsupported_type::):
1372         (mozilla::CheckedInt_internal::):
1373         (mozilla::CheckedInt_internal::integer_traits::):
1374         (mozilla::CheckedInt_internal::integer_traits::min):
1375         (mozilla::CheckedInt_internal::integer_traits::max):
1376         (mozilla::CheckedInt_internal::has_sign_bit):
1377         (mozilla::CheckedInt_internal::binary_complement):
1378         (mozilla::CheckedInt_internal::is_in_range):
1379         (mozilla::CheckedInt_internal::is_add_valid):
1380         (mozilla::CheckedInt_internal::is_sub_valid):
1381         (mozilla::CheckedInt_internal::is_mul_valid):
1382         (mozilla::CheckedInt_internal::is_div_valid):
1383         (mozilla::CheckedInt::CheckedInt):
1384         (mozilla::CheckedInt::value):
1385         (mozilla::CheckedInt::valid):
1386         (mozilla::CheckedInt::operator -):
1387         (mozilla::CheckedInt::operator ==):
1388         (mozilla::CheckedInt::operator !=):
1389         (mozilla::operator /):
1390         (mozilla::cast_to_CheckedInt_impl::run):
1391         (mozilla::):
1392         (mozilla::cast_to_CheckedInt):
1393         (mozilla::operator ==):
1394         * html/canvas/WebGLRenderingContext.cpp:
1395         (WebCore::WebGLRenderingContext::validateIndexArrayConservative): Fix a bug against 0-size buffer situation.
1396         (WebCore::WebGLRenderingContext::drawArrays): Deal with overflows and count==0 situation.
1397         (WebCore::WebGLRenderingContext::drawElements): Deal with count==0 situation.
1398
1399 2010-07-02  Zhenyao Mo  <zmo@google.com>
1400
1401         Reviewed by Dimitri Glazkov.
1402
1403         linkProgram should fail when vertex/fragment shaders are not both present
1404         https://bugs.webkit.org/show_bug.cgi?id=41380
1405
1406         Test: fast/canvas/webgl/program-test.html
1407
1408         * html/canvas/WebGLProgram.cpp: Add flag for link failure due to missing shaders.
1409         (WebCore::WebGLProgram::WebGLProgram):
1410         * html/canvas/WebGLProgram.h: Add interface for linkFailure flag.
1411         (WebCore::WebGLProgram::isLinkFailureFlagSet):
1412         (WebCore::WebGLProgram::setLinkFailureFlag):
1413         * html/canvas/WebGLRenderingContext.cpp:
1414         (WebCore::WebGLRenderingContext::getProgramParameter): Intercept when linkFailureFlag is set.
1415         (WebCore::WebGLRenderingContext::linkProgram): Check if there are missing shaders and don't link if yes.
1416         * html/canvas/WebGLShader.cpp: Cache shader type.
1417         (WebCore::WebGLShader::WebGLShader):
1418         * html/canvas/WebGLShader.h: Ditto.
1419         (WebCore::WebGLShader::getType):
1420
1421 2010-07-02  Qi Zhang  <qi.2.zhang@nokia.com>
1422
1423         Reviewed by Laszlo Gombos.
1424
1425         [Qt]  Failed on http://philip.html5.org/tests/canvas/suite/tests/2d.drawImage.negativesource.html
1426
1427         Support negative width and height in canvas image draw
1428
1429         * platform/graphics/FloatRect.h:
1430         * platform/graphics/qt/FloatRectQt.cpp:
1431         (WebCore::FloatRect::normalized):
1432         * platform/graphics/qt/ImageQt.cpp:
1433         (WebCore::BitmapImage::draw):
1434
1435 2010-06-24  Dimitri Glazkov  <dglazkov@chromium.org>
1436
1437         Reviewed by Alexey Proskuryakov.
1438
1439         REGRESSION: Enter does not trigger submit of forms when focus is on select.
1440         https://bugs.webkit.org/show_bug.cgi?id=39532
1441
1442         Restore behavior where hitting "Enter" on a select element attempts to submit
1443         form implicitly.
1444
1445         * dom/SelectElement.cpp:
1446         (WebCore::SelectElement::menuListDefaultEventHandler): Added htmlForm argument,
1447             and attempting to submit implicitly.
1448         (WebCore::SelectElement::listBoxDefaultEventHandler): Ditto.
1449         (WebCore::SelectElement::defaultEventHandler): Plumbed through htmlForm argument.
1450         * dom/SelectElement.h: Added htmlForm argument to method declaration.
1451         * html/HTMLSelectElement.cpp:
1452         (WebCore::HTMLSelectElement::defaultEventHandler): Changed to provide submitting form
1453             as the argument.
1454
1455 2010-07-02  Kent Tamura  <tkent@chromium.org>
1456
1457         Reviewed by Darin Fisher.
1458
1459         [Chromium] Support indeterminate checkbox for Linux, and a small fix for Windows
1460         https://bugs.webkit.org/show_bug.cgi?id=41508
1461
1462         * rendering/RenderThemeChromiumSkia.cpp:
1463         (WebCore::RenderThemeChromiumSkia::paintCheckbox):
1464           Use dedicated images for indeterminate states.
1465         * rendering/RenderThemeChromiumWin.cpp:
1466         (WebCore::RenderThemeChromiumWin::determineClassicState):
1467           Do not use DFCS_CHECKED in a case of indeterminate state in
1468           order to have consistent appearance of indeterminate checkbox.
1469
1470 2010-07-02  Brent Fulgham  <bfulgham@webkit.org>
1471
1472         Reviewed by Gustavo Noronha Silva.
1473
1474         Fixes https://bugs.webkit.org/show_bug.cgi?id=41323.
1475         Provides an implementation of the 'squiggle' used for
1476         bad grammar or spelling, based on the Pango logic used
1477         by the GTK builds.
1478
1479         No new tests. Covered by LayoutTests/editing/spelling
1480
1481         * WebCore.vcproj/WebCore.vcproj: Add new file holding underline
1482         implementation, set to build only for WinCairo port.
1483         * platform/graphics/cairo/DrawErrorUnderline.cpp: Added.
1484         (drawErrorUnderline): New file containing the squiggle drawing
1485         logic based on the Pango implementation.  Placed in its own file
1486         to isolate licenses.
1487         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1488         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1489         Have WinCairo build call new 'drawErrorUnderline' implementation.
1490
1491 2010-07-02  Martin Robinson  <mrobinson@igalia.com>
1492
1493         Reviewed by Gustavo Noronha Silva.
1494
1495         [GTK] Separate DerivedSources per-project
1496         https://bugs.webkit.org/show_bug.cgi?id=41109
1497
1498         Generate WebCore derived sources in <builddir>/DerivedSources/WebCore.
1499
1500         * GNUmakefile.am:
1501
1502 2010-07-02  Zhenyao Mo  <zmo@google.com>
1503
1504         Reviewed by Dimitri Glazkov.
1505
1506         Implement OpenGL ES 2.0 semantics for vertex attribute 0
1507         https://bugs.webkit.org/show_bug.cgi?id=41300
1508
1509         Test: fast/canvas/webgl/gl-bind-attrib-location-test.html
1510               fast/canvas/webgl/gl-vertex-attrib.html
1511
1512         * html/canvas/WebGLProgram.cpp:
1513         (WebCore::WebGLProgram::numActiveAttribLocations): const.
1514         (WebCore::WebGLProgram::getActiveAttribLocation): const.
1515         (WebCore::WebGLProgram::isUsingVertexAttrib0): Determine whether vertex attrib 0 is used by the program.
1516         * html/canvas/WebGLProgram.h: Declare isUsingVertexAttrib0.
1517         * html/canvas/WebGLRenderingContext.cpp:
1518         (WebCore::WebGLRenderingContext::WebGLRenderingContext): Deal with vertex attrib 0.
1519         (WebCore::WebGLRenderingContext::disableVertexAttribArray): Ditto.
1520         (WebCore::WebGLRenderingContext::drawArrays): Ditto.
1521         (WebCore::WebGLRenderingContext::drawElements): Ditto.
1522         (WebCore::WebGLRenderingContext::getVertexAttrib): Use cached value instead of calling glGetVertexAtrtrib.
1523         (WebCore::WebGLRenderingContext::vertexAttrib1f): Validate input, deal with vertex attrib 0.
1524         (WebCore::WebGLRenderingContext::vertexAttrib1fv): Ditto.
1525         (WebCore::WebGLRenderingContext::vertexAttrib2f): Ditto.
1526         (WebCore::WebGLRenderingContext::vertexAttrib2fv): Ditto.
1527         (WebCore::WebGLRenderingContext::vertexAttrib3f): Ditto.
1528         (WebCore::WebGLRenderingContext::vertexAttrib3fv): Ditto.
1529         (WebCore::WebGLRenderingContext::vertexAttrib4f): Ditto.
1530         (WebCore::WebGLRenderingContext::vertexAttrib4fv): Ditto.
1531         (WebCore::WebGLRenderingContext::vertexAttribPointer): Ditto.
1532         (WebCore::WebGLRenderingContext::handleNPOTTextures): Move isGLES2Compliant() to caller.
1533         (WebCore::WebGLRenderingContext::vertexAttribImpl): Helper for vertexAttribNfv.
1534         (WebCore::WebGLRenderingContext::initVertexAttrib0): Initialize vertex attrib 0.
1535         (WebCore::WebGLRenderingContext::simulateVertexAttrib0): Simulate vertex attrib 0.
1536         (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation): Restore states after simulating vertex attrib 0.
1537         * html/canvas/WebGLRenderingContext.h:
1538         (WebCore::WebGLRenderingContext::VertexAttribState::VertexAttribState): Tracking full vertex attrib states.
1539         (WebCore::WebGLRenderingContext::VertexAttribState::initValue): Init value to [0,0,0,1].
1540
1541 2010-07-02  Zhenyao Mo  <zmo@google.com>
1542
1543         Reviewed by Dimitri Glazkov.
1544
1545         Need to validate the size of the incoming arrays for uniform* functions
1546         https://bugs.webkit.org/show_bug.cgi?id=41383
1547
1548         * html/canvas/WebGLRenderingContext.cpp: Validate input array size.
1549         (WebCore::WebGLRenderingContext::uniform1fv):
1550         (WebCore::WebGLRenderingContext::uniform1iv):
1551         (WebCore::WebGLRenderingContext::uniform2fv):
1552         (WebCore::WebGLRenderingContext::uniform2iv):
1553         (WebCore::WebGLRenderingContext::uniform3fv):
1554         (WebCore::WebGLRenderingContext::uniform3iv):
1555         (WebCore::WebGLRenderingContext::uniform4fv):
1556         (WebCore::WebGLRenderingContext::uniform4iv):
1557         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
1558         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
1559         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
1560         (WebCore::WebGLRenderingContext::validateUniformParameters):
1561         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
1562         * html/canvas/WebGLRenderingContext.h: Add helper functions.
1563
1564 2010-07-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1565
1566         Reviewed by Simon Hausmann.
1567
1568         [Qt] Canvas arcTo() should draw straight line to p1 if p0, p1 and p2 are collinear
1569
1570         The implementation of PathQt's addArcTo() was not float-safe and also had
1571         a case where it drew an 'infinite' line, which is not part of the spec.
1572
1573         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-arcto
1574
1575         We now use qFuzzyCompare() in both cases. The method isPointOnPathBorder()
1576         also had the same problem, and was refactored a bit in the process of fixing
1577         the bug.
1578
1579         Initial patch by Andreas Kling.
1580
1581         https://bugs.webkit.org/show_bug.cgi?id=41412
1582
1583         * platform/graphics/qt/PathQt.cpp:
1584
1585 2010-07-02  Yury Semikhatsky  <yurys@chromium.org>
1586
1587         Reviewed by Pavel Feldman.
1588
1589         [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
1590         https://bugs.webkit.org/show_bug.cgi?id=41511
1591
1592         Tests: fast/events/popup-blocked-from-fake-user-gesture.html
1593                http/tests/inspector/change-iframe-src.html
1594
1595         * bindings/v8/ScriptController.cpp:
1596         (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
1597         from the call stack. Get event directly from hidden property to avoid unnecessary checks.
1598         * bindings/v8/V8AbstractEventListener.cpp:
1599         (WebCore::V8AbstractEventListener::invokeEventHandler):
1600         * bindings/v8/V8HiddenPropertyName.h:
1601         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1602         (WebCore::V8DOMWindow::eventAccessorGetter):
1603         (WebCore::V8DOMWindow::eventAccessorSetter):
1604
1605 2010-07-02  Adam Barth  <abarth@webkit.org>
1606
1607         Reviewed by Eric Seidel.
1608
1609         Fix tokenization of <!----->
1610         https://bugs.webkit.org/show_bug.cgi?id=41505
1611
1612         I noticed this error when browsing through the HTML5lib failures.
1613         We're adding an extra character to the comment token, contrary to what
1614         the spec says to do.
1615
1616         * html/HTMLTokenizer.cpp:
1617         (WebCore::HTMLTokenizer::nextToken):
1618
1619 2010-07-02  Adam Barth  <abarth@webkit.org>
1620
1621         Reviewed by Eric Seidel.
1622
1623         Implement processFakePEndTagIfPInScope
1624         https://bugs.webkit.org/show_bug.cgi?id=41503
1625
1626         This is a common idiom because <p> likes to close itself.
1627
1628         * html/HTMLTreeBuilder.cpp:
1629         (WebCore::HTMLTreeBuilder::processFakePEndTagIfPInScope):
1630         (WebCore::HTMLTreeBuilder::processStartTag):
1631         * html/HTMLTreeBuilder.h:
1632
1633 2010-07-02  Adam Barth  <abarth@webkit.org>
1634
1635         Reviewed by Eric Seidel.
1636
1637         Implement AfterAfterBodyMode
1638         https://bugs.webkit.org/show_bug.cgi?id=41501
1639
1640         In implementing this mode, I noticed a bug in the character processing
1641         of the AfterBodyMode, which I fixed by adding a break statement.  Also,
1642         to get one of the new tests to pass, I needed to implement one
1643         notImplemented() in the InBody insertion mode.  Yay for testing.
1644
1645         * html/HTMLTreeBuilder.cpp:
1646         (WebCore::HTMLTreeBuilder::processStartTag):
1647         (WebCore::HTMLTreeBuilder::processEndTag):
1648         (WebCore::HTMLTreeBuilder::processComment):
1649         (WebCore::HTMLTreeBuilder::processCharacter):
1650         (WebCore::HTMLTreeBuilder::processEndOfFile):
1651
1652 2010-07-02  Sheriff Bot  <webkit.review.bot@gmail.com>
1653
1654         Unreviewed, rolling out r62371.
1655         http://trac.webkit.org/changeset/62371
1656         https://bugs.webkit.org/show_bug.cgi?id=41515
1657
1658         "Breaks media/controls-drag-timebar.html on 32-Bit Release"
1659         (Requested by philn-tp on #webkit).
1660
1661         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1662         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
1663         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1664
1665 2010-06-28  Philippe Normand  <pnormand@igalia.com>
1666
1667         Reviewed by Xan Lopez.
1668
1669         [GStreamer] can't seek past maxTimeLoaded value
1670         https://bugs.webkit.org/show_bug.cgi?id=40526
1671
1672         Extended the seekable range to the whole media. This allows video
1673         played with progressive download to be seeked past the current
1674         buffered position.
1675
1676         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1677         (WebCore::MediaPlayerPrivateGStreamer::maxTimeSeekable):
1678         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
1679
1680 2010-07-02  Adam Barth  <abarth@webkit.org>
1681
1682         Reviewed by Eric Seidel.
1683
1684         Implement AfterBodyMode for HTML5 tree builder
1685         https://bugs.webkit.org/show_bug.cgi?id=41500
1686
1687         In the coarse of implementing this state, I ran into an ASSERT in how
1688         </br> tags where handled, which I fixed.  Technically, that could be a
1689         separate patch, but it seemed harmless to include it here (with tests).
1690
1691         * html/HTMLTreeBuilder.cpp:
1692         (WebCore::HTMLTreeBuilder::processStartTag):
1693         (WebCore::HTMLTreeBuilder::processEndTag):
1694         (WebCore::HTMLTreeBuilder::processComment):
1695         (WebCore::HTMLTreeBuilder::processCharacter):
1696         (WebCore::HTMLTreeBuilder::processEndOfFile):
1697         (WebCore::HTMLTreeBuilder::insertCommentOnHTMLHtmlElement):
1698         * html/HTMLTreeBuilder.h:
1699
1700 2010-07-02  Adam Barth  <abarth@webkit.org>
1701
1702         Reviewed by Eric Seidel.
1703
1704         Handle <base> and friends in AfterHeadMode
1705         https://bugs.webkit.org/show_bug.cgi?id=41502
1706
1707         Implement notImplemented() per spec.
1708
1709         * html/HTMLTreeBuilder.cpp:
1710         (WebCore::HTMLTreeBuilder::processStartTag):
1711
1712 2010-07-01  Oliver Hunt  <oliver@apple.com>
1713
1714         Build fix
1715
1716         * dom/Document.h:
1717
1718 2010-07-01  Oliver Hunt  <oliver@apple.com>
1719
1720         Reviewed by Maciej Stachowiak.
1721
1722         Add a FixedArray template to encapsulate fixed length arrays
1723         https://bugs.webkit.org/show_bug.cgi?id=41506
1724
1725         Add forwarding header, and replace a few fixed length arrays
1726         with the new FixedArray type.
1727
1728         * ForwardingHeaders/wtf/FixedArray.h: Added.
1729         * dom/Document.h:
1730         * platform/graphics/GlyphMetricsMap.h:
1731
1732 2010-07-01  Simon Fraser  <simon.fraser@apple.com>
1733
1734         No review.
1735
1736         Fix a link warning in 32-bit by not explicitly exporting WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly().
1737
1738         * WebCore.AcceleratedCompositing.exp:
1739
1740 2010-07-01  Tony Gentilcore  <tonyg@chromium.org>
1741
1742         Reviewed by Dimitri Glazkov.
1743
1744         Add window.performance.navigation namespace
1745         https://bugs.webkit.org/show_bug.cgi?id=41442
1746
1747         Adds window.performance.navigation namespace consisting of ".type"
1748         and ".redirectCount". As part of this change, I renmaed "NavigationTiming"
1749         to just "Timing" to avoid confusion.
1750
1751         No new tests because tests will be added in a subsequent patch when
1752         functionality is added.
1753
1754         * Android.mk:
1755         * CMakeLists.txt:
1756         * DerivedSources.cpp:
1757         * DerivedSources.make:
1758         * GNUmakefile.am:
1759         * WebCore.gypi:
1760         * WebCore.pri:
1761         * WebCore.pro:
1762         * WebCore.vcproj/WebCore.vcproj:
1763         * WebCore.xcodeproj/project.pbxproj:
1764         * page/Navigation.cpp: Added.
1765         (WebCore::Navigation::Navigation):
1766         (WebCore::Navigation::frame):
1767         (WebCore::Navigation::disconnectFrame):
1768         (WebCore::Navigation::type):
1769         (WebCore::Navigation::redirectCount):
1770         * page/Navigation.h: Added.
1771         (WebCore::Navigation::create):
1772         * page/Navigation.idl: Added.
1773         * page/NavigationTiming.cpp: Removed.
1774         * page/NavigationTiming.h: Removed.
1775         * page/NavigationTiming.idl: Removed.
1776         * page/Performance.cpp:
1777         (WebCore::Performance::navigation):
1778         (WebCore::Performance::timing):
1779         * page/Performance.h:
1780         * page/Performance.idl:
1781         * page/Timing.cpp: Added.
1782         (WebCore::Timing::Timing):
1783         (WebCore::Timing::frame):
1784         (WebCore::Timing::disconnectFrame):
1785         (WebCore::Timing::navigationStart):
1786         * page/Timing.h: Added.
1787         (WebCore::Timing::create):
1788         * page/Timing.idl: Added.
1789
1790 2010-07-01  Daniel Cheng  <dcheng@chromium.org>
1791
1792         Reviewed by Jian Li.
1793
1794         [chromium] Dragging a link triggers an assert when accessing event.dataTransfer.types
1795         https://bugs.webkit.org/show_bug.cgi?id=41493
1796
1797         ClipboardChromium::writeURL violates ClipboardChromium's assumption that uriList will always
1798         be non-empty if url is valid.
1799
1800         No new tests.
1801
1802         * platform/chromium/ClipboardChromium.cpp:
1803         (WebCore::ClipboardChromium::writeURL):
1804
1805 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
1806
1807         Reviewed by Tor Arne Vestbø.
1808
1809         [Qt] Clamp color stops passed to QGradient to 1.0
1810         [https://bugs.webkit.org/show_bug.cgi?id=41484
1811
1812         Fixes an issue where color stops would be silently dropped from radial gradients.
1813
1814         * platform/graphics/qt/GradientQt.cpp:
1815         (WebCore::Gradient::platformGradient):
1816
1817 2010-07-01  Eric Seidel  <eric@webkit.org>
1818
1819         Reviewed by Adam Barth.
1820
1821         HTMLTokenizer should ASSERT that it never emits a null character
1822         https://bugs.webkit.org/show_bug.cgi?id=41448
1823
1824         No functional change, thus no tests.  These ASSERTs would have
1825         caught the coding error which caused the trouble in bug 41436
1826         (which was fixed by bug 41439).
1827
1828         * html/HTMLToken.h:
1829         (WebCore::HTMLToken::beginStartTag):
1830         (WebCore::HTMLToken::beginCharacter):
1831         (WebCore::HTMLToken::beginDOCTYPE):
1832         (WebCore::HTMLToken::appendToName):
1833         (WebCore::HTMLToken::appendToComment):
1834         (WebCore::HTMLToken::appendToAttributeName):
1835         (WebCore::HTMLToken::appendToAttributeValue):
1836         (WebCore::HTMLToken::appendToPublicIdentifier):
1837         (WebCore::HTMLToken::appendToSystemIdentifier):
1838
1839 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
1840
1841         Reviewed by Tor Arne Vestbø.
1842
1843         Canvas: Don't paint with empty radial gradients
1844         https://bugs.webkit.org/show_bug.cgi?id=41190
1845
1846         If a radial gradient has x0==x1 && y0==y1 && r0==r1, don't paint with it.
1847
1848         * html/canvas/CanvasRenderingContext2D.cpp:
1849         (WebCore::CanvasRenderingContext2D::fillRect):
1850         * platform/graphics/Gradient.h:
1851         (WebCore::Gradient::isZeroSize):
1852
1853 2010-07-01  Tony Gentilcore  <tonyg@chromium.org>
1854
1855         Reviewed by Adam Barth.
1856
1857         Add interface for network platform to pass up timing information
1858         https://bugs.webkit.org/show_bug.cgi?id=41437
1859
1860         The Web Timing feature requires the network platform to expose detailed
1861         timing information for the main resource. This patch adds that data to
1862         the ResourceResponseBase. Since the 82 bytes of information is only
1863         needed for the main resource, it is a RefPtr to avoid using the memory
1864         for other resource types.
1865
1866         No new tests because no new functionality.
1867
1868         * GNUmakefile.am:
1869         * WebCore.gypi:
1870         * WebCore.pro:
1871         * WebCore.vcproj/WebCore.vcproj:
1872         * WebCore.xcodeproj/project.pbxproj:
1873         * platform/network/ResourceLoadTiming.h: Added.
1874         (WebCore::ResourceLoadTiming::create):
1875         (WebCore::ResourceLoadTiming::deepCopy):
1876         (WebCore::ResourceLoadTiming::operator==):
1877         (WebCore::ResourceLoadTiming::operator!=):
1878         (WebCore::ResourceLoadTiming::ResourceLoadTiming):
1879         * platform/network/ResourceResponseBase.cpp:
1880         (WebCore::ResourceResponseBase::adopt):
1881         (WebCore::ResourceResponseBase::copyData):
1882         (WebCore::ResourceResponseBase::resourceLoadTiming):
1883         (WebCore::ResourceResponseBase::setResourceLoadTiming):
1884         (WebCore::ResourceResponseBase::compare):
1885         * platform/network/ResourceResponseBase.h:
1886
1887 2010-07-01  Sheriff Bot  <webkit.review.bot@gmail.com>
1888
1889         Unreviewed, rolling out r62321.
1890         http://trac.webkit.org/changeset/62321
1891         https://bugs.webkit.org/show_bug.cgi?id=41494
1892
1893         Broke the non-win builds. (Requested by dumi on #webkit).
1894
1895         * dom/ScriptExecutionContext.cpp:
1896         (WebCore::ScriptExecutionContext::addOpenDatabase):
1897         (WebCore::ScriptExecutionContext::removeOpenDatabase):
1898         (WebCore::ScriptExecutionContext::stopDatabases):
1899         * dom/ScriptExecutionContext.h:
1900         * storage/Database.cpp:
1901         (WebCore::Database::openDatabase):
1902         (WebCore::Database::Database):
1903         (WebCore::Database::markAsDeletedAndClose):
1904         (WebCore::ContextRemoveOpenDatabaseTask::create):
1905         (WebCore::ContextRemoveOpenDatabaseTask::performTask):
1906         (WebCore::ContextRemoveOpenDatabaseTask::isCleanupTask):
1907         (WebCore::ContextRemoveOpenDatabaseTask::ContextRemoveOpenDatabaseTask):
1908         (WebCore::Database::close):
1909         (WebCore::Database::closeImmediately):
1910         (WebCore::Database::stop):
1911         (WebCore::Database::performPolicyChecks):
1912         * storage/Database.h:
1913         (WebCore::Database::):
1914         (WebCore::Database::stopped):
1915         * storage/DatabaseTask.cpp:
1916         (WebCore::DatabaseTask::performTask):
1917         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
1918         (WebCore::DatabaseOpenTask::doPerformTask):
1919         (WebCore::DatabaseOpenTask::debugTaskName):
1920         (WebCore::DatabaseCloseTask::DatabaseCloseTask):
1921         (WebCore::DatabaseCloseTask::doPerformTask):
1922         (WebCore::DatabaseCloseTask::debugTaskName):
1923         (WebCore::DatabaseTransactionTask::DatabaseTransactionTask):
1924         (WebCore::DatabaseTransactionTask::~DatabaseTransactionTask):
1925         (WebCore::DatabaseTransactionTask::doPerformTask):
1926         (WebCore::DatabaseTransactionTask::debugTaskName):
1927         (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask):
1928         (WebCore::DatabaseTableNamesTask::doPerformTask):
1929         (WebCore::DatabaseTableNamesTask::debugTaskName):
1930         * storage/DatabaseTask.h:
1931         (WebCore::DatabaseOpenTask::create):
1932         (WebCore::DatabaseCloseTask::create):
1933         (WebCore::DatabaseTransactionTask::create):
1934         (WebCore::DatabaseTableNamesTask::create):
1935         * storage/DatabaseThread.cpp:
1936         (WebCore::DatabaseThread::databaseThread):
1937         * storage/DatabaseTracker.cpp:
1938         (WebCore::DatabaseTracker::addOpenDatabase):
1939         * storage/SQLTransaction.cpp:
1940         (WebCore::SQLTransaction::executeSQL):
1941         (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
1942
1943 2010-07-01  Xan Lopez  <xlopez@igalia.com>
1944
1945         Reviewed by Gustavo Noronha.
1946
1947         [GTK] Stop using GdkRegion in 3.x mode
1948         https://bugs.webkit.org/show_bug.cgi?id=41463
1949
1950         Make us compile without using GdkRegion, since it's gone from GTK+
1951         3.x.
1952
1953         * platform/graphics/IntRect.h:
1954         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1955         (WebCore::GraphicsContext::drawFocusRing):
1956         * platform/graphics/gtk/FontGtk.cpp:
1957         (WebCore::cairo_region_shrink):
1958         (WebCore::Font::drawComplexText):
1959         * platform/gtk/GtkPluginWidget.cpp:
1960         (WebCore::GtkPluginWidget::paint):
1961         * platform/gtk/RenderThemeGtk.h:
1962         * platform/gtk/ScrollbarGtk.cpp:
1963         (ScrollbarGtk::paint):
1964
1965 2010-06-30  Dumitru Daniliuc  <dumi@chromium.org>
1966
1967         Reviewed by Darin Fisher.
1968
1969         DB clean up.
1970         https://bugs.webkit.org/show_bug.cgi?id=41404
1971
1972         1. Made all DatabaseTasks internal classes of Database and made
1973            the Database methods called by those tasks private.
1974         2. Removed the Database::stop{ed}() methods.
1975         3. Removed the code that kept track of open databases from
1976            ScriptExecutionContext (no longer needed).
1977         4. Made minor changes to Database::closeImmediately() to make it
1978            possible for DatabaseThread to call that method instead of
1979            close().
1980         5. Minor fix to DatabaseTracker: addOpenDatabase() should call
1981            OriginQuotaManager::addDatabase() if the origin quota manager
1982            is not tracking this origin.
1983         6. Removed Database::performPolicyChecks(). We already update the
1984            DB size after each transaction, and we enforce a max size for
1985            the DB at the beginning of each transaction.
1986
1987         * dom/ScriptExecutionContext.cpp:
1988         (WebCore::ScriptExecutionContext::stopDatabases):
1989         * dom/ScriptExecutionContext.h:
1990         (WebCore::ScriptExecutionContext::hasOpenDatabases):
1991         * storage/Database.cpp:
1992         (WebCore::Database::openDatabase):
1993         (WebCore::Database::Database):
1994         (WebCore::Database::markAsDeletedAndClose):
1995         (WebCore::Database::close):
1996         (WebCore::Database::closeImmediately):
1997         * storage/Database.h:
1998         * storage/DatabaseTask.cpp:
1999         (WebCore::DatabaseTask::performTask):
2000         (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
2001         (WebCore::Database::DatabaseOpenTask::doPerformTask):
2002         (WebCore::Database::DatabaseOpenTask::debugTaskName):
2003         (WebCore::Database::DatabaseCloseTask::DatabaseCloseTask):
2004         (WebCore::Database::DatabaseCloseTask::doPerformTask):
2005         (WebCore::Database::DatabaseCloseTask::debugTaskName):
2006         (WebCore::Database::DatabaseTransactionTask::DatabaseTransactionTask):
2007         (WebCore::Database::DatabaseTransactionTask::doPerformTask):
2008         (WebCore::Database::DatabaseTransactionTask::debugTaskName):
2009         (WebCore::Database::DatabaseTableNamesTask::DatabaseTableNamesTask):
2010         (WebCore::Database::DatabaseTableNamesTask::doPerformTask):
2011         (WebCore::Database::DatabaseTableNamesTask::debugTaskName):
2012         * storage/DatabaseTask.h:
2013         (WebCore::Database::DatabaseOpenTask::create):
2014         (WebCore::Database::DatabaseCloseTask::create):
2015         (WebCore::Database::DatabaseTransactionTask::create):
2016         (WebCore::Database::DatabaseTableNamesTask::create):
2017         * storage/DatabaseThread.cpp:
2018         (WebCore::DatabaseThread::databaseThread):
2019         * storage/DatabaseTracker.cpp:
2020         (WebCore::DatabaseTracker::addOpenDatabase):
2021         * storage/SQLTransaction.cpp:
2022         (WebCore::SQLTransaction::executeSQL):
2023         (WebCore::SQLTransaction::checkAndHandleClosedDatabase):
2024
2025 2010-07-01  Kent Tamura  <tkent@chromium.org>
2026
2027         Reviewed by Darin Fisher.
2028
2029         [Chromium] Support indeterminate checkbox for Windows
2030         https://bugs.webkit.org/show_bug.cgi?id=41444
2031
2032         * rendering/RenderThemeChromiumWin.cpp:
2033         (WebCore::RenderThemeChromiumWin::determineState):
2034          Check isIndeterminate() and set an appropriate flag value.
2035
2036 2010-07-01  Alexey Proskuryakov  <ap@apple.com>
2037
2038         Reviewed by Dan Bernstein.
2039
2040         https://bugs.webkit.org/show_bug.cgi?id=41488
2041         <rdar://problem/7487420> Crash in SubresourceLoader::create when load is initiated from plug-in destructor
2042
2043         Test: plugins/js-from-destroy.html
2044
2045         * loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::create): Null check active
2046         document loader.
2047
2048 2010-07-01  Andy Estes  <aestes@apple.com>
2049
2050         Reviewed by Darin Adler.
2051
2052         <rdar://problem/8113003> Correctly fire beforeload events for images
2053         added to the DOM using .innerHTML.
2054         https://bugs.webkit.org/show_bug.cgi?id=40919
2055
2056         Test: fast/dom/beforeload/image-before-load-innerHTML.html
2057
2058         * html/LegacyHTMLDocumentParser.cpp:
2059         (WebCore::LegacyHTMLDocumentParser::write): Do not fire synchronous
2060         image beforeload events immediately after parsing a document fragment.
2061         Let the events fire later, giving the fragment time to potentially be
2062         inserted into the document.
2063
2064 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
2065
2066         Reviewed by Tor Arne Vestbø.
2067
2068         Canvas: bezierCurveTo() and quadraticCurveTo() must ensure subpaths
2069         https://bugs.webkit.org/show_bug.cgi?id=41192
2070
2071         If the current path is empty, bezierCurveTo() and quadraticCurveTo() will now
2072         move to the (first) control point before adding the curve.
2073
2074         Spec links:
2075         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-beziercurveto
2076         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-quadraticcurveto
2077
2078         * html/canvas/CanvasRenderingContext2D.cpp:
2079         (WebCore::CanvasRenderingContext2D::quadraticCurveTo):
2080         (WebCore::CanvasRenderingContext2D::bezierCurveTo):
2081
2082 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
2083
2084         Reviewed by Darin Adler.
2085
2086         Canvas element cannot have negative width or height (HTML5 spec 4.8.11)
2087         https://bugs.webkit.org/show_bug.cgi?id=39149
2088
2089         If assigned a negative value, it should default to 300 for width and 150 for height.
2090
2091         Spec link:
2092         http://www.whatwg.org/specs/web-apps/current-work/#attr-canvas-width
2093
2094         Test: fast/canvas/canvas-negative-size.html
2095
2096         * html/HTMLCanvasElement.cpp:
2097         (WebCore::HTMLCanvasElement::reset):
2098
2099 2010-07-01  Darin Adler  <darin@apple.com>
2100
2101         Reviewed by Steve Falkenburg.
2102
2103         Turn on adoptRef assertion for TreeShared.
2104
2105         * platform/TreeShared.h: Remove LOOSE_TREE_SHARED and all the ifdefs.
2106         Actually, I used LOOSE_REF_COUNTED by accident in a few places, but
2107         removing them all now.
2108
2109         * rendering/ShadowElement.cpp:
2110         (WebCore::ShadowBlockElement::create): Added adoptRef. This was a
2111         storage leak before, probably recently introduced r61324.
2112         (WebCore::ShadowInputElement::create): Ditto.
2113
2114 2010-07-01  Xan Lopez  <xlopez@igalia.com>
2115
2116         Reviewed by Gustavo Noronha.
2117
2118         Only include the geolocation IDL in the GObject DOM bindings set
2119         if geolocation is enabled.
2120
2121         * GNUmakefile.am:
2122
2123 2010-07-01  Timothy Hatcher  <timothy@apple.com>
2124
2125         Provide a WebView preference to disable DNS prefetching.
2126
2127         https://bugs.webkit.org/show_bug.cgi?id=28825
2128         rdar://problem/7181249
2129
2130         Reviewed by Darin Adler.
2131
2132         * WebCore.base.exp: Added Settings::setDNSPrefetchingEnabled.
2133         * dom/Document.cpp:
2134         (WebCore::Document::initDNSPrefetch): Check settings->dnsPrefetchingEnabled().
2135         * page/Settings.cpp:
2136         (WebCore::Settings::Settings): Set m_dnsPrefetchingEnabled to true.
2137         (WebCore::Settings::setDNSPrefetchingEnabled): Added. Set m_dnsPrefetchingEnabled.
2138         * page/Settings.h:
2139         (WebCore::Settings::dnsPrefetchingEnabled): Added. Return m_dnsPrefetchingEnabled.
2140
2141 2010-07-01  Simon Fraser  <simon.fraser@apple.com>
2142
2143         Reviewed by Darin Adler.
2144
2145         Get accelerated compositing working with webkit2
2146         https://bugs.webkit.org/show_bug.cgi?id=41084
2147
2148         Step 2: add a  method, syncCompositingStateForThisLayerOnly(), to GraphicsLayer to commit
2149         batched changes non-recursively. This allows us to use GraphicsLayer in places where we
2150         don't want to kick off a recursive commit of the entire tree.
2151
2152         * platform/graphics/GraphicsLayer.h:
2153         (WebCore::GraphicsLayer::syncCompositingStateForThisLayerOnly):
2154         * platform/graphics/mac/GraphicsLayerCA.h:
2155         * platform/graphics/mac/GraphicsLayerCA.mm:
2156         (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly):
2157         * WebCore.AcceleratedCompositing.exp: Export the new method for use in WebKit2.
2158
2159 2010-07-01  Simon Fraser  <simon.fraser@apple.com>
2160
2161         Reviewed by Sam Weinig.
2162
2163         Get accelerated compositing working with webkit2
2164         https://bugs.webkit.org/show_bug.cgi?id=41084
2165
2166         Step 1: add a new .exp file for WebCore, which exports symbols only when USE(ACCELERATED_COMPOSITING)
2167         is defined.
2168         
2169         Also export WebCore::FloatSize::FloatSize(WebCore::IntSize const&) from WebCore.
2170
2171         * DerivedSources.make:
2172         * WebCore.AcceleratedCompositing.exp: Added.
2173         * WebCore.base.exp:
2174         * WebCore.xcodeproj/project.pbxproj:
2175
2176 2010-07-01  Alexey Proskuryakov  <ap@apple.com>
2177
2178         Reviewed by Darin Adler.
2179
2180         <rdar://problem/8148656> <https://bugs.webkit.org/show_bug.cgi?id=41431>
2181         REGRESSION (r49411): Various crashes due to JavaScript execution during plug-in destruction
2182
2183         Test: plugins/write-xssauditor-from-destroy.html
2184
2185         Fix specific known cases that also crash in same process case. I don't know if there is
2186         any rule for when documentLoader should be checked for being null, it looks like a mess.
2187
2188         * loader/FrameLoader.cpp:
2189         (WebCore::FrameLoader::referrer):
2190         * page/XSSAuditor.cpp:
2191         (WebCore::XSSAuditor::findInRequest):
2192
2193 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
2194
2195         Reviewed by Darin Adler.
2196
2197         The HTML5 canvas 2d.drawImage.zerocanvas test does not pass
2198         https://bugs.webkit.org/show_bug.cgi?id=40271
2199
2200         Throw INVALID_STATE_ERR when attempting to draw a canvas with zero width or height.
2201
2202         Spec link:
2203         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
2204
2205         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
2206         (WebCore::JSCanvasRenderingContext2D::drawImage): Call setDOMException after drawImage(canvas, x, y)
2207         * html/canvas/CanvasRenderingContext2D.cpp:
2208         (WebCore::CanvasRenderingContext2D::drawImage):
2209
2210 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
2211
2212         Reviewed by Oliver Hunt.
2213
2214         [Qt] Canvas: clip() should use non-zero winding rule
2215         https://bugs.webkit.org/show_bug.cgi?id=41466
2216
2217         Use non-zero winding number rule when clipping a GraphicsContext from canvas.
2218         Fixes appearance of the "pill" in the web inspector.
2219
2220         * platform/graphics/qt/GraphicsContextQt.cpp:
2221         (WebCore::GraphicsContext::canvasClip):
2222
2223 2010-07-01  Sheriff Bot  <webkit.review.bot@gmail.com>
2224
2225         Unreviewed, rolling out r62246.
2226         http://trac.webkit.org/changeset/62246
2227         https://bugs.webkit.org/show_bug.cgi?id=41470
2228
2229         "Worker tests are broken in Chromium" (Requested by yurys on
2230         #webkit).
2231
2232         * bindings/v8/ScriptController.cpp:
2233         (WebCore::ScriptController::processingUserGesture):
2234         * bindings/v8/V8AbstractEventListener.cpp:
2235         (WebCore::V8AbstractEventListener::invokeEventHandler):
2236         * bindings/v8/V8HiddenPropertyName.h:
2237         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2238         (WebCore::V8DOMWindow::eventAccessorGetter):
2239         (WebCore::V8DOMWindow::eventAccessorSetter):
2240
2241 2010-07-01  Andreas Kling  <andreas.kling@nokia.com>
2242
2243         Reviewed by Tor Arne Vestbø.
2244
2245         Canvas: Exception erroneously thrown for drawImage() when image.complete=false
2246         https://bugs.webkit.org/show_bug.cgi?id=33968
2247
2248         Do nothing in drawImage() if called with an image whose 'complete'
2249         attribute is false, or a video whose readyState is either HAVE_NOTHING
2250         or HAVE_METADATA.
2251
2252         Spec link:
2253         http://www.whatwg.org/specs/web-apps/current-work/#dom-context-2d-drawimage
2254
2255         Test: fast/canvas/canvas-drawImage-incomplete.html
2256
2257         * html/canvas/CanvasRenderingContext2D.cpp:
2258         (WebCore::CanvasRenderingContext2D::drawImage):
2259
2260 2010-07-01  Justin Schuh  <jschuh@chromium.org>
2261
2262         Reviewed by Dan Bernstein.
2263
2264         Prevent crash on counter destruction
2265         https://bugs.webkit.org/show_bug.cgi?id=40032
2266
2267         Added counter destruction to RenderWidget::destroy()
2268
2269         Test: fast/css/counters/destroy-counter-crash.html
2270
2271         * rendering/RenderWidget.cpp:
2272         (WebCore::RenderWidget::destroy):
2273
2274 2010-07-01  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
2275
2276         Unreviewed build fix after r62215.
2277
2278         No new functionality, so no new tests.
2279
2280         * CMakeLists.txt: Add missing files and re-sort.
2281
2282 2010-07-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2283
2284         Reviewed by Kenneth Rohde Christiansen.
2285
2286         [Qt] Remove an unneeded assert.
2287
2288         This assert is triggered for example while showing the falling leaves demo.
2289         GraphicsLayerQtImpl::toGraphicsLayerQtImpl asserts that its input
2290         pointer is null. Looking at the uses of this method it seems like
2291         it is expected to return null if a null pointer is given to it.
2292
2293         * platform/graphics/qt/GraphicsLayerQt.cpp:
2294         (WebCore::toGraphicsLayerQtImpl):
2295
2296 2010-06-16  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
2297
2298         Reviewed by Simon Hausmann.
2299
2300         [Qt] Fix qmake vcproj generation for QtWebKit.
2301
2302         qmake use TARGET=/LIBS+= -lTARGET to create dependencies
2303         between projects in a subdir template.
2304
2305         Since when compiling outside of Qt we hijack the target name of
2306         QtWebKit to add the configuration and version suffix to the binary
2307         filename, qmake can't establish the WebCore project as a dependency
2308         to QtTestBrowser.
2309
2310         This patch makes sure that the target is not hijacked on the
2311         first of the three passes where the dependencies are determined.
2312
2313         * WebCore.pro:
2314
2315 2010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2316
2317         Reviewed by Dirk Schulze.
2318
2319         SVGRenderStyle::diff() is missing
2320         https://bugs.webkit.org/show_bug.cgi?id=41455
2321
2322         Don't just return StyleDifferenceLayout when two SVGRenderStyle objects differ.
2323         Figure out when to repaint, and as last resort do a relayout.
2324
2325         Lively Kernel doesn't do any relayouts anymore, same for lots of demos in the IE9 testcenter.
2326
2327         * rendering/style/RenderStyle.cpp:
2328         (WebCore::RenderStyle::diff):
2329         * rendering/style/SVGRenderStyle.cpp:
2330         (WebCore::SVGRenderStyle::diff):
2331         * rendering/style/SVGRenderStyle.h:
2332
2333 2010-07-01  Antti Koivisto  <koivisto@iki.fi>
2334
2335         Revert accidental commit.
2336
2337         * platform/network/qt/ResourceRequestQt.cpp:
2338         (WebCore::ResourceRequest::toNetworkRequest):
2339
2340 2010-07-01  Patrick Gansterer  <paroga@paroga.com>
2341
2342         Reviewed by Nikolas Zimmermann.
2343
2344         Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
2345         https://bugs.webkit.org/show_bug.cgi?id=40984
2346
2347         * rendering/SVGRenderSupport.cpp:
2348         (WebCore::SVGRenderSupport::finishRenderSVGContent):
2349
2350 2010-07-04  Patrick Gansterer  <paroga@paroga.com>
2351
2352         Reviewed by Dirk Schulze.
2353
2354         Buildfix for !ENABLE(FILTERS) after r62238.
2355         https://bugs.webkit.org/show_bug.cgi?id=41456
2356
2357         * rendering/SVGRenderSupport.cpp:
2358         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
2359
2360 2010-07-01  MORITA Hajime  <morrita@google.com>
2361
2362         Unreviewed build fix.
2363
2364         * rendering/RenderInputSpeech.cpp:
2365         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
2366         * rendering/RenderInputSpeech.h:
2367         * rendering/RenderTheme.cpp:
2368         (WebCore::RenderTheme::paintInputFieldSpeechButton):
2369         * rendering/RenderTheme.h:
2370
2371 2010-07-01  Satish Sampath  <satish@chromium.org>
2372
2373         Reviewed by Kent Tamura.
2374
2375         Rendering the speech button in input elements.
2376         https://bugs.webkit.org/show_bug.cgi?id=40984
2377
2378         The button currently has only one state and rendered as an image on all platforms. Subsequent
2379         patches will add user input handling and more states + rendering code to the button. The
2380         button's appearance can be customized by individual ports in their RenderTheme implementation
2381         if required.
2382
2383         Tests: platform/mac/fast/forms/input-appearance-numberandspeech.html
2384                platform/mac/fast/forms/input-appearance-searchandspeech.html
2385                platform/mac/fast/forms/input-appearance-speechbutton.html
2386
2387         * GNUmakefile.am:
2388         * Resources/inputSpeech.png: Added.
2389         * Resources/inputSpeech.tiff: Added. Used by the Mac implementation.
2390         * WebCore.gypi:
2391         * WebCore.pro:
2392         * WebCore.qrc:
2393         * WebCore.xcodeproj/project.pbxproj:
2394         * platform/graphics/qt/ImageQt.cpp:
2395         (loadResourcePixmap): Load the speech button images for Qt port.
2396         * rendering/RenderInputSpeech.cpp: Added.
2397         (WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle): Sets the button's dimensions.
2398         (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
2399         * rendering/RenderInputSpeech.h: Added.
2400         * rendering/RenderTextControlSingleLine.cpp:
2401         (WebCore::RenderTextControlSingleLine::layout):
2402         (WebCore::RenderTextControlSingleLine::forwardEvent):
2403         (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded): Create the speech button.
2404         (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
2405         * rendering/RenderTheme.cpp:
2406         (WebCore::RenderTheme::adjustStyle):
2407         (WebCore::RenderTheme::paint):
2408         (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
2409         (WebCore::RenderTheme::paintInputFieldSpeechButton):
2410         * rendering/RenderTheme.h:
2411         * rendering/RenderThemeMac.mm:
2412         (WebCore::RenderThemeMac::paintSearchFieldCancelButton): Get cancel button to render to the left of
2413         speech button when enabled.
2414
2415 2010-07-01  Mario Sanchez Prada  <msanchez@igalia.com>
2416
2417         Reviewed by Xan Lopez.
2418
2419         [GTK] Extra nullcheck needed at SelectionControllerGtk.cpp
2420         https://bugs.webkit.org/show_bug.cgi?id=41447
2421
2422         Extra null check added.
2423
2424         * editing/gtk/SelectionControllerGtk.cpp:
2425         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2426
2427 2010-07-01  Yury Semikhatsky  <yurys@chromium.org>
2428
2429         Reviewed by Adam Barth.
2430
2431         [v8] Web Inspector: inspected page crashes on attempt to change iframe's src attribute
2432         https://bugs.webkit.org/show_bug.cgi?id=41350
2433
2434         Tests: fast/events/popup-blocked-from-fake-user-gesture.html
2435                http/tests/inspector/change-iframe-src.html
2436
2437         * bindings/v8/ScriptController.cpp:
2438         (WebCore::ScriptController::processingUserGesture): use V8Proxy from the ScriptController instead of one
2439         from the call stack. Get event directly from hidden property to avoid unnecessary checks.
2440         * bindings/v8/V8AbstractEventListener.cpp:
2441         (WebCore::V8AbstractEventListener::invokeEventHandler):
2442         * bindings/v8/V8HiddenPropertyName.h:
2443         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2444         (WebCore::V8DOMWindow::eventAccessorGetter):
2445         (WebCore::V8DOMWindow::eventAccessorSetter):
2446
2447 2010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2448
2449         Reviewed by Dirk Schulze.
2450
2451         RenderSVGContainer/RenderSVGRoot report wrong strokeBoundingBox()
2452         https://bugs.webkit.org/show_bug.cgi?id=41450
2453
2454         strokeBoundingBox() was reporting the repaintRectInLocalCoordinates() for children of a container,
2455         instead of the actual strokeBoundingBox(). Only visible in WebInspector when looking at a container
2456         which has a resource applied and contains a children which also has a resource applied.
2457
2458         Doesn't affect any test results.
2459
2460         * rendering/RenderSVGContainer.cpp:
2461         (WebCore::RenderSVGContainer::objectBoundingBox):
2462         (WebCore::RenderSVGContainer::strokeBoundingBox):
2463         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
2464         * rendering/RenderSVGRoot.cpp:
2465         (WebCore::RenderSVGRoot::objectBoundingBox): Deinlined this functions, it's virtual so there's no gain.
2466         (WebCore::RenderSVGRoot::strokeBoundingBox): Ditto.
2467         (WebCore::RenderSVGRoot::repaintRectInLocalCoordinates):
2468         * rendering/RenderSVGRoot.h:
2469         * rendering/SVGRenderSupport.cpp:
2470         (WebCore::SVGRenderSupport::computeContainerBoundingBox):
2471         * rendering/SVGRenderSupport.h: Add enum controlling the mode of container bounding box mode calculation.
2472
2473 2010-07-01  Zoltan Herczeg  <zherczeg@webkit.org>
2474
2475         Reviewed by Nikolas Zimmermann.
2476
2477         Implementing feConvolveMatrix svg filter
2478         https://bugs.webkit.org/show_bug.cgi?id=5861
2479
2480         The implementation is optimized for speed, and uses
2481         multiple algorithms for different parts of the image.
2482         See SVGFEConvolveMatrixElement.cpp for a detailed
2483         description.
2484
2485         * svg/SVGFEConvolveMatrixElement.cpp:
2486         (WebCore::SVGFEConvolveMatrixElement::build):
2487         * svg/graphics/filters/SVGFEConvolveMatrix.cpp:
2488         (WebCore::clampRGBAValue):
2489         (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
2490         (WebCore::FEConvolveMatrix::getPixelValue):
2491         (WebCore::FEConvolveMatrix::fastSetOuterPixels):
2492         (WebCore::FEConvolveMatrix::setInteriorPixels):
2493         (WebCore::FEConvolveMatrix::setOuterPixels):
2494         (WebCore::FEConvolveMatrix::apply):
2495         * svg/graphics/filters/SVGFEConvolveMatrix.h:
2496         (WebCore::FEConvolveMatrix::uniteChildEffectSubregions):
2497
2498 2010-07-01  Adam Barth  <abarth@webkit.org>
2499
2500         Reviewed by Eric Seidel.
2501
2502         Abstract 'a'-'z' checks into a function
2503         https://bugs.webkit.org/show_bug.cgi?id=41438
2504
2505         Hopefully this version is more readable.
2506
2507         * html/HTMLTokenizer.cpp:
2508         (WebCore::HTMLTokenizer::nextToken):
2509
2510 2010-07-01  Adam Barth  <abarth@webkit.org>
2511
2512         Reviewed by Eric Seidel.
2513
2514         Parameter names in frame src URLs parsed incorrectly if resembles HTML entity code followed by underscore
2515         https://bugs.webkit.org/show_bug.cgi?id=41345
2516
2517         Apparently whether an HTML entity requires a trailing semicolon varies
2518         depending on the entity.  The full table is in the spec:
2519
2520         http://www.whatwg.org/specs/web-apps/current-work/multipage/named-character-references.html#named-character-references
2521
2522         I believe branch added in this patch is accurate.  At some point, I'll
2523         add a full test suite for all the named entities.
2524
2525         * html/HTMLEntityParser.cpp:
2526         (WebCore::consumeHTMLEntity):
2527
2528 2010-07-01  Eric Seidel  <eric@webkit.org>
2529
2530         Unreviewed.  Fix paste-o in Gtk build file.
2531
2532         Split out HTMLFormattingElementList into its own file
2533         https://bugs.webkit.org/show_bug.cgi?id=41440
2534
2535         * GNUmakefile.am:
2536
2537 2010-07-01  Nikolas Zimmermann  <nzimmermann@rim.com>
2538
2539         Reviewed by Eric Seidel & Dirk Schulze.
2540
2541         Performance regression for setting content of <text> in SVG
2542         https://bugs.webkit.org/show_bug.cgi?id=36564
2543
2544         Dramatically reducing the number of repaintRectInLocalCoordinates() calls needed while painting.
2545         Do not pass the repaintRect to prepareToRenderSVGContent, only calculate it if opacity < 1 or -webkit-svg-shadow is set.
2546         Most noticeable is that RenderSVGRoot had to visit all children, before actually painting, just to calculate the repaint rect.
2547         And as RenderSVGRoot never carries shadow or opacity it was completly useless.
2548
2549         RenderSVGContainer also called repaintRectInLocalCoordinates, but the result is only needed when painting outlines, which is a rare case.
2550         These modifications fix the performance regression and the number of repaintRectInLocalCoordinate calls for the complex example in
2551         the bug report with 500 runs shrinks from 1.7 million calls to less than 105.000.
2552
2553         50 runs without the patch: ~ 520.8ms
2554         50 runs with the patch   : ~ 501.8ms
2555
2556         The test calls setTimeout(0) 50 times, that already accounts for the 500ms. So setting the content of a <text>
2557         element withs clippers applied, is very cheap now.
2558
2559         Also remove the need to pass in a filter argument to prepareToRenderSVGContent/finishRenderSVGContent, it can easily be grabbed
2560         of the cache - just like all other resources are handled, simplifying the code.
2561
2562         * rendering/RenderPath.cpp:
2563         (WebCore::RenderPath::paint):
2564         * rendering/RenderSVGContainer.cpp:
2565         (WebCore::RenderSVGContainer::paint):
2566         (WebCore::RenderSVGContainer::repaintRectInLocalCoordinates):
2567         * rendering/RenderSVGImage.cpp:
2568         (WebCore::RenderSVGImage::paint):
2569         * rendering/RenderSVGRoot.cpp:
2570         (WebCore::RenderSVGRoot::paint):
2571         * rendering/SVGInlineFlowBox.cpp:
2572         (WebCore::SVGInlineFlowBox::paint):
2573         * rendering/SVGRenderSupport.cpp:
2574         (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
2575         (WebCore::SVGRenderSupport::finishRenderSVGContent):
2576         * rendering/SVGRenderSupport.h:
2577         * rendering/SVGRootInlineBox.cpp:
2578         (WebCore::SVGRootInlineBox::paint):
2579
2580 2010-07-01  Eric Seidel  <eric@webkit.org>
2581
2582         Reviewed by Adam Barth.
2583
2584         Split out HTMLFormattingElementList into its own file
2585         https://bugs.webkit.org/show_bug.cgi?id=41440
2586
2587         No functional changes, thus no tests.
2588
2589         * Android.mk:
2590         * CMakeLists.txt:
2591         * GNUmakefile.am:
2592         * WebCore.gypi:
2593         * WebCore.pro:
2594         * WebCore.vcproj/WebCore.vcproj:
2595         * WebCore.xcodeproj/project.pbxproj:
2596         * html/HTMLTreeBuilder.cpp:
2597         (WebCore::HTMLTreeBuilder::processEndTag):
2598         (WebCore::HTMLTreeBuilder::indexOfFirstUnopenFormattingElement):
2599         (WebCore::HTMLTreeBuilder::reconstructTheActiveFormattingElements):
2600         * html/HTMLTreeBuilder.h:
2601
2602 2010-07-01  Adam Barth  <abarth@webkit.org>
2603
2604         Reviewed by Eric Seidel.
2605
2606         BogusCommentState should come in from the cold
2607         https://bugs.webkit.org/show_bug.cgi?id=41439
2608
2609         The BogusCommentState has always been wrong.  The proximate issue is
2610         that it didn't handle resuming correctly when parsing a partial input
2611         stream.  Now that we have EOF working properly, we can actually
2612         implement this state correctly.
2613
2614         We need to distinguish when we enter this state from when we continue
2615         in this state.  We could do that with a branch for each character, but
2616         it seemed easier to split the state in two, even though that leaves us
2617         with one more state in our tokenizer than we have in the HTML5 spec.
2618
2619         * html/HTMLTokenizer.cpp:
2620         (WebCore::HTMLTokenizer::nextToken):
2621         * html/HTMLTokenizer.h:
2622         (WebCore::HTMLTokenizer::):
2623
2624 2010-06-30  Adam Barth  <abarth@webkit.org>
2625
2626         Reviewed by Eric Seidel.
2627
2628         HTMLTokenizer's whitespace checks are very redundant
2629         https://bugs.webkit.org/show_bug.cgi?id=41434
2630
2631         This patch adds isTokenizerWhitespace, which replaces a lot of
2632         redundant logic in nextToken.
2633
2634         * html/HTMLTokenizer.cpp:
2635         (WebCore::HTMLTokenizer::nextToken):
2636
2637 2010-06-30  Andreas Kling  <andreas.kling@nokia.com>
2638
2639         Reviewed by Kenneth Rohde Christiansen.
2640
2641         [Qt] Crash when uploading document to Google Docs
2642         https://bugs.webkit.org/show_bug.cgi?id=40795
2643
2644         Fix bug where the local file wasn't opened (for POSTing)
2645         if it were the first element in the form.
2646
2647         * platform/network/qt/QNetworkReplyHandler.cpp:
2648         (WebCore::FormDataIODevice::FormDataIODevice):
2649         (WebCore::FormDataIODevice::moveToNextElement):
2650         (WebCore::FormDataIODevice::openFileForCurrentElement):
2651         * platform/network/qt/QNetworkReplyHandler.h:
2652
2653 2010-06-30  Eric Seidel  <eric@webkit.org>
2654
2655         Reviewed by Adam Barth.
2656
2657         Implement generateImpliedEndTags and deploy to steps which were blocked on it
2658         https://bugs.webkit.org/show_bug.cgi?id=41432
2659
2660         This fixes one subtest in html5lib/runner.html and positively
2661         effects a couple others.
2662
2663         More code sharing will be needed here.  For the moment
2664         we're using copy/paste code, but that will soon be shared.
2665
2666         * html/HTMLTreeBuilder.cpp:
2667         (WebCore::HTMLTreeBuilder::processEndTag):
2668         (WebCore::HTMLTreeBuilder::generateImpliedEndTagsWithExclusion):
2669         (WebCore::HTMLTreeBuilder::generateImpliedEndTags):
2670         * html/HTMLTreeBuilder.h:
2671
2672 2010-06-30  Csaba Osztrogonác  <ossy@webkit.org>
2673
2674         Unreviewed buildfix after r62196 and r62214.
2675
2676         * html/HTMLElementStack.cpp: Put !ENABLE(SVG) guard instead of 
2677         !ENABLE(SVG_FOREIGN_OBJECT) around include of SVGNames.h.
2678
2679 2010-06-30  Sam Weinig  <sam@webkit.org>
2680
2681         Really fix the windows build.
2682
2683         * bindings/js/JSBindingsAllInOne.cpp:
2684
2685 2010-06-30  Sam Weinig  <sam@webkit.org>
2686
2687         Another Chromium build fix.
2688
2689         * page/DOMWindow.idl:
2690
2691 2010-06-30  Sam Weinig  <sam@webkit.org>
2692
2693         Fix Chromium build.
2694
2695         * WebCore.gyp/WebCore.gyp:
2696
2697 2010-06-30  Sam Weinig  <sam@webkit.org>
2698
2699         Fix Windows build.
2700
2701         * bindings/js/JSBindingsAllInOne.cpp:
2702
2703 2010-06-30  Sam Weinig  <sam@webkit.org>
2704
2705         Fix Gtk build.
2706
2707         * GNUmakefile.am:
2708
2709 2010-06-29  Sam Weinig  <sam@webkit.org>
2710
2711         Reviewed by Dan Bernstein.
2712
2713         Patch for https://bugs.webkit.org/show_bug.cgi?id=41146
2714         <rdar://problem/8126069>
2715         Implement the .dataset DOM property
2716
2717         Tests: fast/dom/dataset-xhtml.xhtml
2718                fast/dom/dataset.html
2719
2720         * DerivedSources.cpp:
2721         * DerivedSources.make:
2722         * GNUmakefile.am:
2723         * WebCore.gypi:
2724         * WebCore.pro:
2725         * WebCore.vcproj/WebCore.vcproj:
2726         * WebCore.xcodeproj/project.pbxproj:
2727         * bindings/js/JSDOMStringMapCustom.cpp: Added.
2728         (WebCore::JSDOMStringMap::canGetItemsForName):
2729         (WebCore::JSDOMStringMap::nameGetter):
2730         (WebCore::JSDOMStringMap::getOwnPropertyNames):
2731         (WebCore::JSDOMStringMap::deleteProperty):
2732         (WebCore::JSDOMStringMap::putDelegate):
2733         * bindings/js/JSDOMStringMapCustom.h: Added.
2734         * dom/DOMStringMap.cpp: Added.
2735         (WebCore::DOMStringMap::~DOMStringMap):
2736         * dom/DOMStringMap.h: Added.
2737         (WebCore::DOMStringMap::DOMStringMap):
2738         * dom/DOMStringMap.idl: Added.
2739         * dom/DatasetDOMStringMap.cpp: Added.
2740         (WebCore::isValidAttributeName):
2741         (WebCore::convertAttributeNameToPropertyName):
2742         (WebCore::propertyNameMatchesAttributeName):
2743         (WebCore::isValidPropertyName):
2744         (WebCore::convertPropertyNameToAttributeName):
2745         (WebCore::DatasetDOMStringMap::ref):
2746         (WebCore::DatasetDOMStringMap::deref):
2747         (WebCore::DatasetDOMStringMap::getNames):
2748         (WebCore::DatasetDOMStringMap::item):
2749         (WebCore::DatasetDOMStringMap::contains):
2750         (WebCore::DatasetDOMStringMap::setItem):
2751         (WebCore::DatasetDOMStringMap::deleteItem):
2752         * dom/DatasetDOMStringMap.h: Added.
2753         (WebCore::DatasetDOMStringMap::create):
2754         (WebCore::DatasetDOMStringMap::DatasetDOMStringMap):
2755         * dom/Element.cpp:
2756         (WebCore::Element::dataset):
2757         * dom/Element.h:
2758         * dom/Element.idl:
2759         * dom/ElementRareData.h:
2760         * page/DOMWindow.idl:
2761
2762 2010-06-30  Darin Adler  <darin@apple.com>
2763
2764         More Qt build fix.
2765
2766         * html/HTMLElementStack.cpp: Put !ENABLE(SVG_FOREIGN_OBJECT) around
2767         include of SVGNames.h too.
2768
2769 2010-06-30  Darin Adler  <darin@apple.com>
2770
2771         Reviewed by Adam Barth.
2772
2773         Add assertion, off by default, for when you forget to do adoptRef
2774         https://bugs.webkit.org/show_bug.cgi?id=41422
2775
2776         * platform/TreeShared.h: Added code to require adoption and assert if
2777         you don't call adoptRef. For now, it is turned off because of the
2778         LOOSE_TREE_SHARED define in this header. Later we can turn it on
2779         once we get everything working without asserting. Note also that it
2780         only works for objects with an initial reference count of 1.
2781
2782 2010-06-30  Patrick Gansterer  <paroga@paroga.com>
2783
2784         Reviewed by Darin Adler.
2785
2786         Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r62196.
2787         https://bugs.webkit.org/show_bug.cgi?id=41429
2788
2789         * html/HTMLElementStack.cpp:
2790
2791 2010-06-30  Eric Seidel  <eric@webkit.org>
2792
2793         Reviewed by Adam Barth.
2794
2795         Add new popUntil(tagName) function and deploy
2796         https://bugs.webkit.org/show_bug.cgi?id=41405
2797
2798         Add a new popUntil function to share some common code
2799         between states.  There is more code to share here, but this
2800         is a start.
2801
2802         I also filled in a couple similar states to these with the
2803         hope of sharing more code, but decided to wait for a later
2804         patch.
2805
2806         No test changes, since this code doesn't do enough yet to
2807         pass any more subtests.  Lack of generateImpliedEndTags is the main
2808         blocking issue.
2809
2810         * html/HTMLElementStack.cpp:
2811         (WebCore::HTMLElementStack::popUntil):
2812         * html/HTMLElementStack.h:
2813         * html/HTMLTreeBuilder.cpp:
2814         (WebCore::HTMLTreeBuilder::processEndTag):
2815
2816 2010-06-30  Xan Lopez  <xlopez@igalia.com>
2817
2818         Reviewed by Gustavo Noronha.
2819
2820         [GTK] Unit test for DOM insertion methods
2821         https://bugs.webkit.org/show_bug.cgi?id=40495
2822
2823         Fix typo in custom function detection method.
2824
2825         * bindings/scripts/CodeGeneratorGObject.pm:
2826
2827 2010-06-30  Eric Seidel  <eric@webkit.org>
2828
2829         Reviewed by Adam Barth.
2830
2831         Implement HTML5 "in scope" algorithm and attempt to use it
2832         https://bugs.webkit.org/show_bug.cgi?id=41402
2833
2834         Implemented the 4 needed "in scope" functions for HTML5.
2835         3 for the different sets of scope markers, and one for
2836         doing exact element comparisons instead of tag name searches.
2837
2838         I deployed inScope("body") for </body> and </html> in InBody.
2839
2840         Adds two new (expected) failures, since we're now
2841         switching out of InBody to AfterBody when seeing
2842         </html>.  We don't implement AfterBody yet, so
2843         the rest of the content after </html> is ignored.
2844
2845         * html/HTMLElementStack.cpp:
2846         (WebCore::inScopeCommon):
2847         (WebCore::HTMLElementStack::inScope):
2848         (WebCore::HTMLElementStack::inListItemScope):
2849         (WebCore::HTMLElementStack::inTableScope):
2850         * html/HTMLElementStack.h:
2851         * html/HTMLTreeBuilder.cpp:
2852         (WebCore::HTMLTreeBuilder::processBodyEndTagForInBody):
2853         (WebCore::HTMLTreeBuilder::processEndTag):
2854         * html/HTMLTreeBuilder.h:
2855
2856 2010-06-30  Eric Seidel  <eric@webkit.org>
2857
2858         Reviewed by Adam Barth.
2859
2860         Split HTMLElementStack out into its own file
2861         https://bugs.webkit.org/show_bug.cgi?id=41399
2862
2863         No functional change, thus no tests.
2864
2865         * Android.mk:
2866         * CMakeLists.txt:
2867         * GNUmakefile.am:
2868         * WebCore.gypi:
2869         * WebCore.pro:
2870         * WebCore.vcproj/WebCore.vcproj:
2871         * WebCore.xcodeproj/project.pbxproj:
2872         * html/HTMLElementStack.cpp: Added.
2873         (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
2874         (WebCore::HTMLElementStack::ElementRecord::element):
2875         (WebCore::HTMLElementStack::ElementRecord::next):
2876         (WebCore::HTMLElementStack::ElementRecord::releaseNext):
2877         (WebCore::HTMLElementStack::ElementRecord::setNext):
2878         (WebCore::HTMLElementStack::HTMLElementStack):
2879         (WebCore::HTMLElementStack::~HTMLElementStack):
2880         (WebCore::HTMLElementStack::popHTMLHeadElement):
2881         (WebCore::HTMLElementStack::pop):
2882         (WebCore::HTMLElementStack::pushHTMLHtmlElement):
2883         (WebCore::HTMLElementStack::pushHTMLHeadElement):
2884         (WebCore::HTMLElementStack::pushHTMLBodyElement):
2885         (WebCore::HTMLElementStack::push):
2886         (WebCore::HTMLElementStack::top):
2887         (WebCore::HTMLElementStack::removeHTMLHeadElement):
2888         (WebCore::HTMLElementStack::remove):
2889         (WebCore::HTMLElementStack::contains):
2890         (WebCore::HTMLElementStack::inScope):
2891         (WebCore::HTMLElementStack::htmlElement):
2892         (WebCore::HTMLElementStack::headElement):
2893         (WebCore::HTMLElementStack::bodyElement):
2894         (WebCore::HTMLElementStack::pushCommon):
2895         (WebCore::HTMLElementStack::popCommon):
2896         (WebCore::HTMLElementStack::removeNonFirstCommon):
2897         * html/HTMLElementStack.h: Added.
2898         * html/HTMLTreeBuilder.h:
2899
2900 2010-06-30  Kenneth Russell  <kbr@google.com>
2901
2902         Reviewed by Oliver Hunt.
2903
2904         WebCore::WebGLArrayInternal::lengthAttrGetter ReadAV@NULL (b1a3e1a3e9d01f17fd493d68eeb2742f)
2905         https://bugs.webkit.org/show_bug.cgi?id=38040
2906
2907         Changed custom ArrayBufferView constructors to create a
2908         fully-initialized, zero-length array when called with zero
2909         arguments. This is the simplest fix which works identically in
2910         both the JSC and V8 bindings.
2911
2912         Test: fast/canvas/webgl/array-buffer-view-crash.html
2913
2914         * bindings/js/JSArrayBufferViewHelper.h:
2915         (WebCore::constructArrayBufferView):
2916         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
2917         (WebCore::constructWebGLArray):
2918
2919 2010-06-30  Victor Wang  <victorw@chromium.org>
2920
2921         Reviewed by Darin Fisher.
2922
2923         [chromium] update webcore gyp to use v8 dll for chromium multi dll build.
2924
2925         https://bugs.webkit.org/show_bug.cgi?id=41376
2926
2927         * WebCore.gyp/WebCore.gyp:
2928
2929 2010-06-30  Jeremy Moskovich  <jeremy@chromium.org>
2930
2931         Reviewed by Dimitri Glazkov.
2932
2933         [Chromium] Add OOP font loading to FontPlatformDataChromiumMac.
2934
2935         On OS X, with font management software installed. Fonts
2936         can reside in an arbitrary path on disk which is blocked by
2937         Chromium's sandbox.
2938
2939         This change adds hooks to FontPlaformData which allow cross-process
2940         font loading in case of need.
2941
2942         https://bugs.webkit.org/show_bug.cgi?id=41148
2943
2944         Not possible to test - requires sandboxing which DRT doesn't support.
2945
2946         * WebCore.gypi:
2947         * platform/graphics/chromium/FontPlatformDataChromiumMac.mm: Added.
2948         (WebCore::FontPlatformData::FontPlatformData):
2949         (WebCore::FontPlatformData::~FontPlatformData):
2950         (WebCore::FontPlatformData::operator=):
2951         (WebCore::FontPlatformData::setFont):
2952         (WebCore::FontPlatformData::roundsGlyphAdvances):
2953         (WebCore::FontPlatformData::allowsLigatures):
2954         (WebCore::FontPlatformData::description):
2955
2956 2010-06-30  Jeremy Moskovich  <jeremy@chromium.org>
2957
2958         Reviewed by Dan Bernstein.
2959
2960         Minor tweaks to FontPlatformDataMac & SimpleFontDataMac.mm
2961
2962         * Avoid an extra FontPlatformData copy in SimpleFontDataMac.mm
2963         * Fix a typo in FontPlatformDataMac.mm
2964
2965         https://bugs.webkit.org/show_bug.cgi?id=41152
2966
2967         No behavior changes so no new tests.
2968
2969         * platform/graphics/mac/FontPlatformDataMac.mm:
2970         (WebCore::FontPlatformData::description):
2971         * platform/graphics/mac/SimpleFontDataMac.mm:
2972         (WebCore::copyFontTableForTag):
2973
2974 2010-06-30  Andreas Kling  <andreas.kling@nokia.com>
2975
2976         Reviewed by Kenneth Rohde Christiansen.
2977
2978         [Qt] Make "disallow multiple calls to SetWindow" on windowed plugins a quirk
2979         https://bugs.webkit.org/show_bug.cgi?id=41407
2980
2981         Only disallow calling SetWindow more than once if we're using Flash 9 or older.
2982         This fixes resizing of YouTube videos via the player's own button.
2983
2984         Removed copy-pasted logic in PluginViewGtk since the issue only exists
2985         when running Flash with a non-Gtk toolkit.
2986
2987         * plugins/PluginPackage.cpp:
2988         (WebCore::PluginPackage::determineQuirks):
2989         * plugins/PluginQuirkSet.h:
2990         (WebCore::):
2991         * plugins/gtk/PluginViewGtk.cpp:
2992         (WebCore::PluginView::setNPWindowIfNeeded): Remove unnecessary logic copy-pasted from PluginViewQt.
2993         * plugins/qt/PluginViewQt.cpp:
2994         (WebCore::PluginView::setNPWindowIfNeeded):
2995
2996 2010-06-30  Andreas Kling  <andreas.kling@nokia.com>
2997
2998         Reviewed by Antti Koivisto.
2999
3000         [Qt, Gtk, Symbian] Mind the semantics of NPRect for windowed plugin clip rects
3001         https://bugs.webkit.org/show_bug.cgi?id=41406
3002
3003         NPRect has right/bottom instead of width/height.
3004         This was fixed in PluginViewMac with http://trac.webkit.org/changeset/45815
3005
3006         * plugins/gtk/PluginViewGtk.cpp:
3007         (WebCore::PluginView::setNPWindowIfNeeded):
3008         * plugins/qt/PluginViewQt.cpp:
3009         (WebCore::PluginView::setNPWindowIfNeeded):
3010         * plugins/symbian/PluginViewSymbian.cpp:
3011         (WebCore::PluginView::setNPWindowIfNeeded):
3012
3013 2010-06-30  Antonio Gomes  <tonikitoo@webkit.org>
3014
3015         Reviewed by Simon Fraser.
3016
3017         Spatial Navigation: make elements in inner frames nested more than 1 level deep focusable
3018         https://bugs.webkit.org/show_bug.cgi?id=41160
3019
3020         Patch addresses the problem of spatial navigation not work properly with nested
3021         inner frames by adding the isNodeDeepDescendantOfDocument method. It recursively checks
3022         if a give node is descendant of a given document or any parent of it.
3023
3024         Test: fast/events/spatial-navigation/snav-iframe-nested.html
3025
3026         * page/FocusController.cpp:
3027         (WebCore::FocusController::deepFindFocusableNodeInDirection):
3028         * page/SpatialNavigation.cpp:
3029         (WebCore::isNodeDeepDescendantOfDocument):
3030         * page/SpatialNavigation.h:
3031
3032 2010-06-30  Adam Barth  <abarth@webkit.org>
3033
3034         Reviewed by Eric Seidel.
3035
3036         HTMLTokenizer should use fewer macros
3037         https://bugs.webkit.org/show_bug.cgi?id=41397
3038
3039         Macros are sadness.  Inline functions are the new hotness.
3040
3041         * html/HTMLTokenizer.cpp:
3042         (WebCore::HTMLTokenizer::processEntity):
3043         (WebCore::HTMLTokenizer::emitAndResumeIn):
3044         (WebCore::HTMLTokenizer::emitAndReconsumeIn):
3045         (WebCore::HTMLTokenizer::emitEndOfFile):
3046         (WebCore::HTMLTokenizer::flushBufferedEndTag):
3047         (WebCore::HTMLTokenizer::flushEmitAndResumeIn):
3048         (WebCore::HTMLTokenizer::nextToken):
3049         (WebCore::HTMLTokenizer::bufferCharacter):
3050         (WebCore::HTMLTokenizer::bufferCodePoint):
3051         (WebCore::HTMLTokenizer::bufferParseError):
3052         (WebCore::HTMLTokenizer::bufferCurrentToken):
3053         (WebCore::HTMLTokenizer::bufferEndOfFile):
3054         * html/HTMLTokenizer.h:
3055
3056 2010-06-30  Justin Schuh  <jschuh@chromium.org>
3057
3058         Reviewed by Adam Barth.
3059
3060         Remove dead binding code
3061         https://bugs.webkit.org/show_bug.cgi?id=41388
3062
3063         Removed BindingElement because it was obsoleted by r59866.
3064
3065         * WebCore.gypi:
3066         * bindings/generic/BindingElement.h: Removed.
3067         * bindings/v8/SerializedScriptValue.cpp:
3068         * bindings/v8/V8Binding.h:
3069         * bindings/v8/custom/V8DatabaseCustom.cpp:
3070         * bindings/v8/custom/V8DatabaseSyncCustom.cpp:
3071         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3072         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
3073
3074 2010-06-30  Eric Seidel  <eric@webkit.org>
3075
3076         Reviewed by Adam Barth.
3077
3078         HTMLTokenizer needs EndOfFile support
3079         https://bugs.webkit.org/show_bug.cgi?id=41344
3080
3081         EndOfFile support uncovered a bug in our implementation of finish().
3082         finish() may be called more than once if the first call does not
3083         result in end() being called (and parsing thus actually stopping).
3084
3085         SegmentedString::close() should have ASSERTed that it was not already
3086         closed when close() is called.  I've added such an assert now.
3087
3088         * html/HTMLDocumentParser.cpp:
3089         (WebCore::HTMLDocumentParser::finish):
3090         * platform/text/SegmentedString.cpp:
3091         (WebCore::SegmentedString::close):
3092         * platform/text/SegmentedString.h:
3093
3094 2010-06-29  Eric Seidel  <eric@webkit.org>
3095
3096         Reviewed by Adam Barth.
3097
3098         HTMLTokenizer needs EndOfFile support
3099         https://bugs.webkit.org/show_bug.cgi?id=41344
3100
3101         We're using \0 as the EndOfFile marker as HTML5 replaces
3102         all other \0 with \0xFFFD.  Added some special case logic
3103         to InputStreamPreprocessor::peek not to replace \0 when
3104         its being used at the end of a stream.
3105
3106         This fixed 60 subtests in html5lib/runner.html.
3107
3108         There are still at least two states (BogusCommentState and
3109         CDATASectionState) which do not have proper EOF support.
3110
3111         * html/HTMLDocumentParser.cpp:
3112         (WebCore::HTMLDocumentParser::finish):
3113         (WebCore::HTMLDocumentParser::finishWasCalled):
3114         * html/HTMLInputStream.h:
3115         (WebCore::HTMLInputStream::markEndOfFile):
3116         (WebCore::HTMLInputStream::haveSeenEndOfFile):
3117         * html/HTMLToken.h:
3118         (WebCore::HTMLToken::makeEndOfFile):
3119         * html/HTMLTokenizer.cpp:
3120         (WebCore::HTMLTokenizer::nextToken):
3121         (WebCore::HTMLTokenizer::emitEndOfFile):
3122         * html/HTMLTokenizer.h:
3123         (WebCore::HTMLTokenizer::InputStreamPreprocessor::peek):
3124         (WebCore::HTMLTokenizer::InputStreamPreprocessor::shouldTreatNullAsEndOfFileMarker):
3125         * html/HTMLTreeBuilder.cpp:
3126         (WebCore::HTMLTreeBuilder::passTokenToLegacyParser):
3127
3128 2010-06-28  Eric Seidel  <eric@webkit.org>
3129
3130         Reviewed by Adam Barth.
3131
3132         Teach HTML5TreeBuilder how to merge attributes from extra html/body elements
3133         https://bugs.webkit.org/show_bug.cgi?id=41337
3134
3135         Had to teach ElementStack to store pointers to html, head, and body
3136         elements.
3137
3138         This fixed a few tests in LayoutTests/html5lib.
3139
3140         * html/HTMLTreeBuilder.cpp:
3141         (WebCore::HTMLTreeBuilder::insertHTMLStartTagBeforeHTML):
3142         (WebCore::HTMLTreeBuilder::mergeAttributesFromTokenIntoElement):
3143         (WebCore::HTMLTreeBuilder::insertHTMLStartTagInBody):
3144         (WebCore::HTMLTreeBuilder::processStartTag):
3145         (WebCore::HTMLTreeBuilder::processEndTag):
3146         (WebCore::HTMLTreeBuilder::createElementAndAttachToCurrent):
3147         (WebCore::HTMLTreeBuilder::insertHTMLHtmlElement):
3148         (WebCore::HTMLTreeBuilder::insertHTMLHeadElement):
3149         (WebCore::HTMLTreeBuilder::insertHTMLBodyElement):
3150         (WebCore::HTMLTreeBuilder::insertElement):
3151         (WebCore::HTMLTreeBuilder::insertGenericRCDATAElement):
3152         (WebCore::HTMLTreeBuilder::insertGenericRawTextElement):
3153         * html/HTMLTreeBuilder.h:
3154         (WebCore::HTMLTreeBuilder::ElementStack::ElementStack):
3155         (WebCore::HTMLTreeBuilder::ElementStack::popHTMLHeadElement):
3156         (WebCore::HTMLTreeBuilder::ElementStack::pop):
3157         (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHtmlElement):
3158         (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLHeadElement):
3159         (WebCore::HTMLTreeBuilder::ElementStack::pushHTMLBodyElement):
3160         (WebCore::HTMLTreeBuilder::ElementStack::push):
3161         (WebCore::HTMLTreeBuilder::ElementStack::removeHTMLHeadElement):
3162         (WebCore::HTMLTreeBuilder::ElementStack::remove):
3163         (WebCore::HTMLTreeBuilder::ElementStack::htmlElement):
3164         (WebCore::HTMLTreeBuilder::ElementStack::headElement):
3165         (WebCore::HTMLTreeBuilder::ElementStack::bodyElement):
3166         (WebCore::HTMLTreeBuilder::ElementStack::pushCommon):
3167         (WebCore::HTMLTreeBuilder::ElementStack::popCommon):
3168         (WebCore::HTMLTreeBuilder::ElementStack::removeNonFirstCommon):
3169
3170 2010-06-30  José Millán Soto  <jmillan@igalia.com>
3171
3172         Reviewed by Xan Lopez.
3173
3174         [Gtk] Text attributes not exposed
3175         https://bugs.webkit.org/show_bug.cgi?id=25528
3176
3177         Implemented the get_run_attributes and get_default_attributes
3178         functions for the ATK_TEXT role.
3179
3180         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3181         (getAttributeSetForAccessibilityObject):
3182         (compareAttribute):
3183         (attributeSetDifference):
3184         (accessibilityObjectLength):
3185         (getAccessibilityObjectForOffset):
3186         (getRunAttributesFromAccesibilityObject):
3187         (webkit_accessible_text_get_run_attributes):
3188         (webkit_accessible_text_get_default_attributes):
3189
3190 2010-06-30  Yuta Kitamura  <yutak@chromium.org>
3191
3192         Reviewed by Alexey Proskuryakov.
3193
3194         Fix Sec-WebSocketKey{1,2} headers.
3195
3196         According to WebSocket specification, a value of Sec-WebSocketKey{1,2} header
3197         should not start or end with a space.
3198
3199         WebSocket: Malformed handshake headers in a worker due to rand_s failing
3200         https://bugs.webkit.org/show_bug.cgi?id=41327
3201
3202         No new tests. ASSERT should catch the problem.
3203
3204         * websockets/WebSocketHandshake.cpp:
3205         (WebCore::generateSecWebSocketKey):
3206
3207 2010-06-30  Yuzo Fujishima  <yuzo@google.com>
3208
3209         Reviewed by Dan Bernstein.
3210
3211         Fix for Bug 41339 - unicode-range property only with a descending range
3212         causes a crash
3213
3214         https://bugs.webkit.org/show_bug.cgi?id=41339
3215
3216         Test: fast/css/font-face-descending-unicode-range.html
3217
3218         * css/CSSParser.cpp:
3219         (WebCore::CSSParser::parseFontFaceUnicodeRange):
3220
3221 2010-06-29  Abhinav Mithal <abhinav.mithal@nokia.com>
3222
3223         Reviewed by Laszlo Gombos.
3224
3225         [Qt] [Symbian] Fix doube-deallocation while destroying PluginContainerSymbian
3226         https://bugs.webkit.org/show_bug.cgi?id=37303
3227
3228         * plugins/symbian/PluginViewSymbian.cpp:
3229         (WebCore::PluginView::platformDestroy):
3230
3231 2010-06-29  Zhenyao Mo  <zmo@google.com>
3232
3233         Reviewed by Dimitri Glazkov.
3234
3235         Implement getAttachedShaders
3236         https://bugs.webkit.org/show_bug.cgi?id=31172
3237
3238         * bindings/js/JSWebGLRenderingContextCustom.cpp: JS binding for getAttachedShaders().
3239         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
3240         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp: V8 binding for getAttachedShaders().
3241         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
3242         * html/canvas/WebGLRenderingContext.cpp:
3243         (WebCore::WebGLRenderingContext::getAttachedShaders): Implementation of getAttachedShaders().
3244         (WebCore::WebGLRenderingContext::findShader): Helper function to find a shader object from its name.
3245         * html/canvas/WebGLRenderingContext.h: Declaration of getAttachedShaders().
3246         * html/canvas/WebGLRenderingContext.idl: Ditto.
3247         * platform/graphics/GraphicsContext3D.h: Ditto.
3248         * platform/graphics/mac/GraphicsContext3DMac.mm:
3249         (WebCore::GraphicsContext3D::getAttachedShaders): Implementation of getAttachedShaders().
3250
3251 2010-06-29  MORITA Hajime  <morrita@google.com>
3252
3253         Reviewed by Kent Tamura.
3254
3255         REGRESSION: [Chromium] <progress> appearance on windows looks not good
3256         https://bugs.webkit.org/show_bug.cgi?id=41343
3257         
3258         RenderThemeChromiumWin::paintProgressBar() should return false,
3259         which indicates the widget is painted.
3260         
3261         Test: fast/dom/HTMLProgressElement/progress-element.html
3262               * rebaselined with a wrong expectation.
3263
3264         * rendering/RenderThemeChromiumWin.cpp:
3265         (WebCore::RenderThemeChromiumWin::paintProgressBar):
3266
3267 2010-06-29  Kinuko Yasuda  <kinuko@chromium.org>
3268
3269         Reviewed by Jian Li.
3270
3271         Fix http/tests/local/blob/send-data-blob.html on Windows
3272         https://bugs.webkit.org/show_bug.cgi?id=41228
3273
3274         Fix a regression bug in the line-conversion code.
3275         Rewrite the line-conversion function with simpler functions to
3276         make it less error prone.
3277
3278         No new tests as this is for bug fixes.
3279
3280         * platform/BlobItem.cpp:
3281         (WebCore::StringBlobItem::convertToCString):
3282
3283 2010-06-29  Dumitru Daniliuc  <dumi@chromium.org>
3284
3285         Reviewed by Darin Fisher.
3286
3287         Implementing DatabaseSync::openDatabaseSync().
3288         https://bugs.webkit.org/show_bug.cgi?id=40607
3289
3290         1. Moved some common code from Database to AbstractDatabase.
3291         2. Made performOpenAndVerify() virtual, since DatabaseSync doesn't
3292            need to interact with DatabaseThread.
3293         3. Removed the m_creationCallback field, since it's only needed in
3294            the openDatabase{Sync} methods.
3295
3296         * storage/AbstractDatabase.cpp:
3297         (WebCore::retrieveTextResultFromDatabase):
3298         (WebCore::setTextValueInDatabase):
3299         (WebCore::guidMutex):
3300         (WebCore::guidToVersionMap):
3301         (WebCore::updateGuidVersionMap):
3302         (WebCore::guidToDatabaseMap):
3303         (WebCore::guidForOriginAndName):
3304         (WebCore::AbstractDatabase::databaseInfoTableName):
3305         (WebCore::AbstractDatabase::AbstractDatabase):
3306         (WebCore::AbstractDatabase::closeDatabase):
3307         (WebCore::AbstractDatabase::version):
3308         (WebCore::AbstractDatabase::performOpenAndVerify):
3309         (WebCore::AbstractDatabase::scriptExecutionContext):
3310         (WebCore::AbstractDatabase::securityOrigin):
3311         (WebCore::AbstractDatabase::stringIdentifier):
3312         (WebCore::AbstractDatabase::displayName):
3313         (WebCore::AbstractDatabase::estimatedSize):
3314         (WebCore::AbstractDatabase::fileName):
3315         (WebCore::AbstractDatabase::databaseVersionKey):
3316         (WebCore::AbstractDatabase::getVersionFromDatabase):
3317         (WebCore::AbstractDatabase::setVersionInDatabase):
3318         (WebCore::AbstractDatabase::versionMatchesExpected):
3319         (WebCore::AbstractDatabase::setExpectedVersion):
3320         (WebCore::AbstractDatabase::disableAuthorizer):
3321         (WebCore::AbstractDatabase::enableAuthorizer):
3322         (WebCore::AbstractDatabase::setAuthorizerReadOnly):
3323         (WebCore::AbstractDatabase::lastActionChangedDatabase):
3324         (WebCore::AbstractDatabase::lastActionWasInsert):
3325         (WebCore::AbstractDatabase::resetDeletes):
3326         (WebCore::AbstractDatabase::hadDeletes):
3327         (WebCore::AbstractDatabase::resetAuthorizer):
3328         * storage/AbstractDatabase.h:
3329         (WebCore::AbstractDatabase::opened):
3330         (WebCore::AbstractDatabase::isNew):
3331         (WebCore::AbstractDatabase::databaseDebugName):
3332         * storage/Database.cpp:
3333         (WebCore::DatabaseCreationCallbackTask::create):
3334         (WebCore::DatabaseCreationCallbackTask::performTask):
3335         (WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
3336         (WebCore::Database::openDatabase):
3337         (WebCore::Database::Database):
3338         (WebCore::Database::version):
3339         (WebCore::Database::openAndVerifyVersion):
3340         (WebCore::Database::close):
3341         (WebCore::Database::stop):
3342         (WebCore::Database::performOpenAndVerify):
3343         * storage/Database.h:
3344         (WebCore::Database::sqliteDatabase):
3345         * storage/DatabaseAuthorizer.cpp:
3346         (WebCore::DatabaseAuthorizer::create):
3347         (WebCore::DatabaseAuthorizer::DatabaseAuthorizer):
3348         (WebCore::DatabaseAuthorizer::denyBasedOnTableName):
3349         * storage/DatabaseAuthorizer.h:
3350         * storage/DatabaseSync.cpp:
3351         (WebCore::DatabaseSync::openDatabaseSync):
3352         (WebCore::DatabaseSync::DatabaseSync):
3353         (WebCore::DatabaseSync::~DatabaseSync):
3354         (WebCore::DatabaseSync::markAsDeletedAndClose):
3355         (WebCore::CloseSyncDatabaseOnContextThreadTask::create):
3356         (WebCore::CloseSyncDatabaseOnContextThreadTask::performTask):
3357         (WebCore::CloseSyncDatabaseOnContextThreadTask::CloseSyncDatabaseOnContextThreadTask):
3358         (WebCore::DatabaseSync::closeImmediately):
3359         * storage/DatabaseSync.h:
3360         * storage/DatabaseTask.cpp:
3361         (WebCore::DatabaseOpenTask::DatabaseOpenTask):
3362         (WebCore::DatabaseOpenTask::doPerformTask):
3363         * storage/DatabaseTask.h:
3364         (WebCore::DatabaseOpenTask::create):
3365
3366 2010-06-29  François Sausset  <sausset@gmail.com>
3367
3368         Reviewed by Darin Adler.
3369
3370         Fix a bug when a msubsup element is inside a mrow element
3371         https://bugs.webkit.org/show_bug.cgi?id=36525
3372
3373         Test: mathml/presentation/subsup.xhtml
3374
3375         * mathml/RenderMathMLSubSup.cpp:
3376         (WebCore::RenderMathMLSubSup::stretchToHeight):
3377
3378 2010-06-29  Zhenyao Mo  <zmo@google.com>
3379
3380         Reviewed by Dimitri Glazkov.
3381
3382         uniformmatrix* should generate INVALID_VALUE with transpose = true
3383         https://bugs.webkit.org/show_bug.cgi?id=41235
3384
3385         Test: fast/canvas/webgl/gl-uniformmatrix4fv.html
3386
3387         * html/canvas/WebGLRenderingContext.cpp:
3388         (WebCore::WebGLRenderingContext::uniformMatrix2fv): Call validateUniformMatrixParameters instead.
3389         (WebCore::WebGLRenderingContext::uniformMatrix3fv): Ditto.
3390         (WebCore::WebGLRenderingContext::uniformMatrix4fv): Ditto.
3391         (WebCore::WebGLRenderingContext::validateUniformMatrixParameters): Validate input parameters for uniformMatrix*().
3392         * html/canvas/WebGLRenderingContext.h: Declare validateUniformMatrixParameters().
3393
3394 2010-06-29  Kenneth Russell  <kbr@google.com>
3395
3396         Reviewed by Dimitri Glazkov.
3397
3398         Support UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL for texImage2D taking ArrayBufferView
3399         https://bugs.webkit.org/show_bug.cgi?id=40398
3400
3401         Added support for UNPACK_FLIP_Y_WEBGL and UNPACK_PREMULTIPLY_ALPHA_WEBGL pixel store
3402         parameters to texImage2D and texSubImage2D entry points taking ArrayBufferView.
3403         More cleanly separated the unpacking and packing phases of user-supplied pixel data
3404         in GraphicsContext3D, and added support for unpack alignment. Fixed bug in handling
3405         of unpackAlignment in GraphicsContext3D::flipVertically. Necessarily added
3406         validation of the amount of data passed to texImage2D and texSubImage2D. Modified
3407         fast/canvas/webgl/tex-image-with-format-and-type.html to include premultiplied alpha
3408         tests for relevant source formats; added new test which exercises all combinations
3409         of UNPACK_FLIP_Y_WEBGL, UNPACK_PREMULTIPLY_ALPHA_WEBGL, and UNPACK_ALIGNMENT pixel
3410         store parameters.
3411
3412         Test: fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html
3413
3414         * html/canvas/WebGLRenderingContext.cpp:
3415         (WebCore::WebGLRenderingContext::texImage2D):
3416         (WebCore::WebGLRenderingContext::texSubImage2D):
3417         (WebCore::WebGLRenderingContext::validateTexFuncData):
3418         * html/canvas/WebGLRenderingContext.h:
3419         * platform/graphics/GraphicsContext3D.cpp:
3420         (WebCore::GraphicsContext3D::extractImageData):
3421         (WebCore::GraphicsContext3D::extractTextureData):
3422         (WebCore::GraphicsContext3D::flipVertically):
3423         (WebCore::doUnpackingAndPacking):
3424         (WebCore::computeIncrementParameters):
3425         (WebCore::doPacking):
3426         (WebCore::GraphicsContext3D::packPixels):
3427         * platform/graphics/GraphicsContext3D.h:
3428         (WebCore::GraphicsContext3D::):
3429         * platform/graphics/cg/GraphicsContext3DCG.cpp:
3430         (WebCore::GraphicsContext3D::getImageData):
3431         * platform/graphics/qt/GraphicsContext3DQt.cpp:
3432         (WebCore::GraphicsContext3D::getImageData):
3433         * platform/graphics/skia/GraphicsContext3DSkia.cpp:
3434         (WebCore::GraphicsContext3D::getImageData):
3435
3436 2010-06-29  Patrick Gansterer  <paroga@paroga.com>
3437
3438         Reviewed by Dirk Schulze.
3439
3440         Buildfix for !ENABLE(SVG_FOREIGN_OBJECT) after r61667.
3441         https://bugs.webkit.org/show_bug.cgi?id=41367
3442
3443         * svg/SVGSVGElement.cpp:
3444         (WebCore::SVGSVGElement::isOutermostSVG): Add missing ENABLE(SVG_FOREIGN_OBJECT).
3445
3446 2010-06-29  Patrick Gansterer  <paroga@paroga.com>
3447
3448         Reviewed by Darin Adler.
3449
3450         Buildfix after r62118.
3451         https://bugs.webkit.org/show_bug.cgi?id=41365
3452
3453         * rendering/RenderSVGRoot.cpp: Inlude missing RenderSVGResource.h.
3454
3455 2010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3456
3457         Unreviewed, rolling out r62052.
3458         http://trac.webkit.org/changeset/62052
3459         https://bugs.webkit.org/show_bug.cgi?id=41357
3460
3461         Causes crashes in JSLazyEventListener::initializeFunction (see
3462         bug 41352) (Requested by aroben on #webkit).
3463
3464         * bindings/js/ScriptEventListener.cpp:
3465         (WebCore::createAttributeEventListener):
3466         * bindings/js/ScriptEventListener.h:
3467         * bindings/v8/ScriptEventListener.cpp:
3468         (WebCore::createAttributeEventListener):
3469         * bindings/v8/ScriptEventListener.h:
3470         * html/HTMLBodyElement.cpp:
3471         (WebCore::HTMLBodyElement::parseMappedAttribute):
3472         * html/HTMLFrameSetElement.cpp:
3473         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
3474         * svg/SVGSVGElement.cpp:
3475         (WebCore::SVGSVGElement::parseMappedAttribute):
3476
3477 2010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3478
3479         Unreviewed, rolling out r62129.
3480         http://trac.webkit.org/changeset/62129
3481         https://bugs.webkit.org/show_bug.cgi?id=41362
3482
3483         Needed to roll out r62052 (see bug 41357) (Requested by aroben
3484         on #webkit).
3485
3486         * bindings/js/ScriptEventListener.cpp:
3487         (WebCore::createWindowAttributeEventListener):
3488
3489 2010-06-29  Beth Dakin  <bdakin@apple.com>
3490
3491         Reviewed by Darin Adler.
3492
3493         Speculative fix for <rdar://problem/8071558> CrashTracer: [USER] 
3494         2300+ crashes in Safari at com.apple.WebCore: 
3495         WebCore::FrameView::scheduleRelayout + 352
3496
3497         Unfortunately, we don't have a reproducible case for this bug, and 
3498         therefore, we do not have a layout test either. It is pretty clear 
3499         from the logs that m_frame->settings() is null in 
3500         FrameView::scheduleRelayout() in the crashing case. 
3501         m_frame->settings() is null whenever page is null. Everywhere else 
3502         in FrameView.cpp we null-check either page or settings before using 
3503         settings. It seems plausible to me that scheduleRelayout could be 
3504         called when page is null, so the fix is just to add null-checks. 
3505
3506         * page/FrameView.cpp:
3507         (WebCore::FrameView::layout):
3508         (WebCore::FrameView::scheduleRelayout):
3509
3510 2010-06-29  Dan Bernstein  <mitz@apple.com>
3511
3512         Reviewed by Darin Adler.
3513
3514         <rdar://problem/7975842> Certain text is repeated after using splitText()
3515
3516         Tests: fast/text/setData-dirty-lines.html
3517                fast/text/splitText-dirty-lines.html
3518
3519         * dom/CharacterData.cpp:
3520         (WebCore::CharacterData::setData): Call RenderText::setTextWithOffset() rather than
3521         setText(), because only the former correctly dirties line boxes.
3522         * dom/Text.cpp:
3523         (WebCore::Text::splitText): Ditto.
3524
3525 2010-06-29  Sheriff Bot  <webkit.review.bot@gmail.com>
3526
3527         Unreviewed, rolling out r62073.
3528         http://trac.webkit.org/changeset/62073
3529         https://bugs.webkit.org/show_bug.cgi?id=41359
3530
3531         Necessary to fix chromium build when r62052 is rolled out.
3532         (Requested by dave_levin on #webkit).
3533
3534         * bindings/v8/ScriptEventListener.h:
3535
3536 2010-06-29  Vangelis Kokkevis  <vangelis@chromium.org>
3537
3538         Reviewed by Darin Fisher.
3539
3540         [Chromium] Hooking up WebGL layers to the gpu-compositor. Implement missing
3541         methods to set the contents of a GraphicsLayer with a platform specific WebGL
3542         Layer, and to update the contents of the WebGL Layer when needed.
3543         https://bugs.webkit.org/show_bug.cgi?id=41243
3544
3545         * platform/graphics/GraphicsContext3D.h:
3546         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
3547         (WebCore::GraphicsLayerChromium::setContentsToWebGL):
3548         * platform/graphics/chromium/GraphicsLayerChromium.h:
3549         * platform/graphics/chromium/LayerChromium.cpp:
3550         (WebCore::LayerChromium::removeAllSublayers):
3551           No need to call setNeedsCommit() from here as the previous call to
3552           layer->removeFromSuperlayer() will have that effect (and we only need
3553           to notify the owner if there were actually any sublayers removed).
3554         * platform/graphics/chromium/LayerChromium.h:
3555         * platform/graphics/chromium/LayerRendererChromium.cpp:
3556         (WebCore::LayerRendererChromium::drawLayer):
3557         * platform/graphics/chromium/WebGLLayerChromium.cpp:
3558         (WebCore::WebGLLayerChromium::create):
3559         (WebCore::WebGLLayerChromium::updateTextureContents):
3560         (WebCore::WebGLLayerChromium::setContext):
3561
3562 2010-06-29  Csaba Osztrogonác  <ossy@webkit.org>
3563
3564         Reviewed by Nikolas Zimmermann.
3565
3566         Buildfix for --minimal build after r62052
3567         https://bugs.webkit.org/show_bug.cgi?id=41338
3568
3569         * bindings/js/ScriptEventListener.cpp: #if ENABLE(SVG) guards added.
3570         (WebCore::createWindowAttributeEventListener):
3571
3572 2010-06-29  Brent Fulgham  <bfulgham@webkit.org>
3573
3574         Build fix. Not reviewd.
3575
3576         CGColor is only used for PLATFORM(CG).  Conditionalize include
3577         to correct build failure for WinCairo.
3578
3579         * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
3580         Conditionalize use of CGColor.
3581
3582 2010-06-29  Martin Robinson  <mrobinson@igalia.com>
3583
3584         Reviewed by Xan Lopez.
3585
3586         [GTK] Clean up the source lists in the GNUMakefile.am files
3587         https://bugs.webkit.org/show_bug.cgi?id=41229
3588
3589         Clean up the GNUMakefile.am a little bit. Alphabetize and conglomerate
3590         the source lists.
3591
3592         * GNUmakefile.am:
3593
3594 2010-06-29  Martin Robinson  <mrobinson@igalia.com>
3595
3596         Reviewed by Xan Lopez.
3597
3598         [GTK] DragDataGtk should use DataObjectGtk as the platformDragData
3599         https://bugs.webkit.org/show_bug.cgi?id=40307
3600
3601         Use DataObjectGtk as the platformDragData for DragDataGtk. DataObjectGtk
3602         contains all the information necessary to keep track of drops in progress.
3603
3604         * platform/DragData.h: Use a DataObjectGtk* as the platform drag data.
3605         * platform/gtk/DragDataGtk.cpp:
3606         (WebCore::DragData::containsFiles): Retrieve information via platformDragData.
3607         (WebCore::DragData::asFilenames): Ditto.
3608         (WebCore::DragData::containsPlainText): Ditto.
3609         (WebCore::DragData::asPlainText): Ditto.
3610         (WebCore::DragData::createClipboard): Create the Clipboard with the platformDragData.
3611         (WebCore::DragData::containsCompatibleContent): Retrieve information via platformDragData.
3612         (WebCore::DragData::containsURL): Ditto.
3613         (WebCore::DragData::asURL): Ditto.
3614         (WebCore::DragData::asFragment): Ditto.
3615
3616 2010-06-29  Adam Langley  <agl@chromium.org>
3617
3618         Build fix. Not reviewd.
3619
3620         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
3621         (WebCore::FontPlatformData::setupPaint):
3622  &