1. Changes the order in which some functions are called to match
[WebKit-https.git] / WebCore / ChangeLog
1 2009-12-28  Dumitru Daniliuc  <dumi@chromium.org>
2
3         Reviewed by Maciej Stachowiak.
4
5         1. Changes the order in which some functions are called to match
6         the pre-r52536 order. Namely, when a new Database object is
7         created, DatabaseTracker::addOpenDatabase() is called in the
8         constructor, before doing anything else related to that database
9         (like trying to get a file handle to the database
10         file). Chromium's implementation depends on this ordering.
11         2. Changes Database::performOpenAndVerify() to close the open
12         handle to the database file immediately if the database version
13         does not match the expected one. The current behavior is to add
14         the Database object to a DatabaseThread collection and let the
15         database thread close the handle when it's destroyed.
16
17         https://bugs.webkit.org/show_bug.cgi?id=33005
18
19         All LayoutTests/storage tests pass in clean WebKit and Chromium
20         clients.
21
22         * storage/Database.cpp:
23         (WebCore::Database::openDatabase): Notify DatabaseTracker and
24         Document that a Database object is about to be destroyed (when a
25         database file cannot be opened, or its version doesn't match the
26         expected one).
27         (WebCore::Database::Database): Notify DatabaseTracker and Document
28         that a new Database object was created.
29         (WebCore::Database::performOpenAndVerify): If a database version
30         does not match the expected one, immediately close the open file
31         handle to the database file.
32
33 2009-12-29  Nikolas Zimmermann  <nzimmermann@rim.com>
34
35         Reviewed by Dirk Schulze.
36
37         Marker code is buggy: referencePoint translation is off
38         https://bugs.webkit.org/show_bug.cgi?id=33012
39
40         Rewrite marker code, as it was buggy:
41         - Correct refX/refY handling (covered by new marker-referencePoint.svg test)
42         - Calculate marker bounds on layout time, instead of paint time, to deliver correct repaint rects
43         - Cleanup RenderPath code, which was cluttered by marker stuff (outlay in SVGMarkerLayoutInfo)
44         - Fix SVGResource assuming that there is only one resource per resource type per element. Markers
45           can have three different resources of the same type (three markers, start/mid/end markers)
46
47         Fixes all svg/custom/marker*.svg tests, that use dynamic updates (propagation failed before).
48         Test: svg/custom/marker-referencePoint.svg
49
50         * Android.mk:
51         * GNUmakefile.am:
52         * WebCore.pro:
53         * WebCore.vcproj/WebCore.vcproj:
54         * WebCore.xcodeproj/project.pbxproj:
55         * rendering/RenderPath.cpp:
56         (WebCore::RenderPath::repaintRectInLocalCoordinates):
57         (WebCore::RenderPath::setPath):
58         (WebCore::RenderPath::paint):
59         (WebCore::RenderPath::calculateMarkerBoundsIfNeeded):
60         * rendering/RenderPath.h:
61         (WebCore::RenderPath::path):
62         * rendering/RenderSVGContainer.h:
63         * rendering/RenderSVGViewportContainer.cpp:
64         (WebCore::RenderSVGViewportContainer::markerContentTransformation):
65         * rendering/RenderSVGViewportContainer.h:
66         * rendering/SVGMarkerLayoutInfo.cpp: Added.
67         (WebCore::SVGMarkerLayoutInfo::SVGMarkerLayoutInfo):
68         (WebCore::SVGMarkerLayoutInfo::~SVGMarkerLayoutInfo):
69         (WebCore::SVGMarkerLayoutInfo::initialize):
70         (WebCore::updateMarkerDataForElement):
71         (WebCore::recordMarkerData):
72         (WebCore::processStartAndMidMarkers):
73         (WebCore::SVGMarkerLayoutInfo::calculateBoundaries):
74         (WebCore::SVGMarkerLayoutInfo::drawMarkers):
75         * rendering/SVGMarkerLayoutInfo.h: Added.
76         (WebCore::MarkerData::):
77         (WebCore::MarkerData::MarkerData):
78         (WebCore::MarkerLayout::MarkerLayout):
79         * svg/SVGMarkerElement.cpp:
80         (WebCore::SVGMarkerElement::canvasResource):
81         * svg/graphics/SVGResource.cpp:
82         (WebCore::resourceSet):
83         (WebCore::SVGResource::SVGResource):
84         (WebCore::SVGResource::~SVGResource):
85         (WebCore::SVGResource::removeClient):
86         (WebCore::SVGResource::addClient):
87         * svg/graphics/SVGResourceMarker.cpp:
88         (WebCore::SVGResourceMarker::SVGResourceMarker):
89         (WebCore::SVGResourceMarker::markerBoundaries):
90         (WebCore::SVGResourceMarker::markerTransformation):
91         (WebCore::SVGResourceMarker::draw):
92         (WebCore::SVGResourceMarker::externalRepresentation):
93         * svg/graphics/SVGResourceMarker.h:
94         (WebCore::SVGResourceMarker::setRenderer):
95         (WebCore::SVGResourceMarker::setReferencePoint):
96         (WebCore::SVGResourceMarker::referencePoint):
97
98 2009-12-29  Alexander Pavlov  <apavlov@chromium.org>
99
100         Reviewed by Pavel Feldman.
101
102         Fix UI nits in the Audits panel.
103         https://bugs.webkit.org/show_bug.cgi?id=32932
104
105         * inspector/front-end/AuditLauncherView.js:
106         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
107         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
108         (WebInspector.AuditLauncherView.prototype._createLauncherUI.handleSelectAllClick):
109         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
110         * inspector/front-end/AuditResultView.js:
111         (WebInspector.AuditResultView):
112         (WebInspector.AuditRuleResultPane):
113         * inspector/front-end/audits.css:
114
115 2009-12-29  Johnny Ding  <jnd@chromium.org>
116
117         Reviewed by Dimitri Glazkov.
118
119         https://bugs.webkit.org/show_bug.cgi?id=32863
120         Make NodeList support call-as-function
121
122         Test: fast/dom/NodeList/nodelist-item-call-as-function.html
123
124         * bindings/scripts/CodeGeneratorV8.pm:
125         * bindings/v8/V8DOMWrapper.cpp:
126         (WebCore::V8DOMWrapper::getTemplate):
127         * bindings/v8/custom/V8NodeListCustom.cpp:
128         (WebCore::V8NodeList::callAsFunctionCallback):
129
130 2009-12-29  Simon Fraser  <simon.fraser@apple.com>
131
132         Reviewed by Dan Bernstein.
133
134         Typed text in table not correctly redrawn on page with compositing layers
135         https://bugs.webkit.org/show_bug.cgi?id=32874
136         
137         Use the same test in RenderTableCell::computeRectForRepaint() that we use elsewhere
138         to decide when to use layoutState, which is to test for layoutStateEnabled()
139         and no repaint container.
140
141         Not possible to make a repaint test that exercises the problem, so no test.
142
143         * rendering/RenderTableCell.cpp:
144         (WebCore::RenderTableCell::computeRectForRepaint):
145
146 2009-12-29  Alexander Pavlov  <apavlov@chromium.org>
147
148         Reviewed by Timothy Hatcher.
149
150         Discard port from cookie domain when matching cookies.
151
152         WebKit cookies do not hold the port information, so we should match only hostnames.
153         https://bugs.webkit.org/show_bug.cgi?id=31787
154
155         * inspector/front-end/inspector.js:
156         (WebInspector.updateResource):
157
158 2009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
159
160         Reviewed by Kenneth Rohde Christiansen.
161
162         [Qt] Fix warnings in MediaPlayerPrivatePhonon.cpp
163         https://bugs.webkit.org/show_bug.cgi?id=33019
164
165         No new tests as there is no new functionality.
166
167         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
168         (WebCore::MediaPlayerPrivate::totalTimeChanged):
169
170 2009-12-29  Kent Tamura  <tkent@chromium.org>
171
172         Reviewed by Maciej Stachowiak.
173
174         Implement HTML5 <aside> element.
175         https://bugs.webkit.org/show_bug.cgi?id=32943
176
177         <aside> should behave the same as <nav>, <section>, and <article>.
178
179         Test: fast/html/aside-element.html
180
181         * css/html.css: Add aside as a block element.
182         * editing/htmlediting.cpp:
183         (WebCore::validBlockTag): Add asideTag.
184         * html/HTMLElement.cpp:
185         (WebCore::HTMLElement::tagPriority): Returns 5 for asideTag.
186         (WebCore::blockTagList): Add asideTag.
187         * html/HTMLParser.cpp:
188         (WebCore::HTMLParser::getNode): Add asideTag.
189         * html/HTMLTagNames.in: Add aside.
190
191 2009-12-29  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
192
193         Reviewed by Eric Seidel.
194
195         Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
196         https://bugs.webkit.org/show_bug.cgi?id=33003
197
198         No new tests as there is no new functionality.
199
200         * editing/CompositeEditCommand.cpp:
201         (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
202         * page/animation/ImplicitAnimation.cpp:
203         (WebCore::ImplicitAnimation::sendTransitionEvent):
204         * page/animation/KeyframeAnimation.cpp:
205         (WebCore::KeyframeAnimation::sendAnimationEvent):
206         * rendering/RenderSVGContainer.h:
207         (WebCore::toRenderSVGContainer):
208         * rendering/style/RenderStyle.cpp:
209         (WebCore::RenderStyle::setTextShadow):
210         * svg/graphics/SVGPaintServerGradient.cpp:
211         (WebCore::SVGPaintServerGradient::setup):
212         * svg/graphics/SVGPaintServerPattern.cpp:
213         (WebCore::SVGPaintServerPattern::setup):
214
215 2009-12-28  Andrei Popescu  <andreip@google.com>
216
217         Reviewed by Dmitry Titov.
218
219         On Android, ResourceHandle instances make use of a pointer to a
220         ResourceLoaderAndroid pointer. This needs to be stored in order to later cancel
221         the load, if necessary. Since this pointer is an internal implementation
222         details of ResourceHandle on Android, it needs to be stored in the
223         ResourceHandleInternal class. This patch adds this pointer.
224         https://bugs.webkit.org/show_bug.cgi?id=32873
225
226         No new tests needed, this is platform-specific code.
227
228         * platform/network/ResourceHandle.h:
229         * platform/network/ResourceHandleInternal.h:
230         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
231
232 2009-12-28  Charles Wei  <charles.wei@torchmobile.com.cn>
233
234         Reviewed by Maciej Stachowiak.
235
236         Remove the macro ENABLE(XHTMLMP) for noscriptAreateErrorCheck in HTMLParser,
237         since with XHTMLMP enabled, it's not checking create Errors,  and then contents inside 
238         <noscript> are always parsed and rendered.
239         https://bugs.webkit.org/show_bug.cgi?id=32706
240
241         Tests: fast/parser/noscript-with-javascript-disabled.html
242                fast/parser/noscript-with-javascript-enabled.html
243
244         * html/HTMLParser.cpp:
245         (WebCore::HTMLParser::getNode):
246
247 2009-12-28  Kinuko Yasuda  <kinuko@chromium.org>
248
249         Reviewed by Maciej Stachowiak.
250
251         Fixed isKeypadEvent behavior for Mac to correctly report keyLocation
252         as DOM_KEY_LOCATION_NUMPAD for numeric pad key events.
253         https://bugs.webkit.org/show_bug.cgi?id=28247
254
255         Test: fast/events/keydown-numpad-keys.html
256
257         * platform/mac/KeyEventMac.mm:
258         (WebCore::isKeypadEvent):
259
260 2009-12-28  Mike Moretti  <webkit9@mordent.com>
261
262         Reviewed by Darin Adler.
263
264         Fix bug 28245 - problem with inserting a span into a long text block causing a crash because of a null string
265
266         Test: fast/dom/insert-span-into-long-text-bug-28245.html
267
268         * rendering/RenderBlockLineLayout.cpp:
269         (WebCore::RenderBlock::findNextLineBreak):
270
271 2009-12-28  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
272
273         Rubber-stamped by Xan Lopez.
274
275         Follow Apple's decision to disable HTML DataGrid by default.
276
277         * GNUmakefile.am:
278
279 2009-12-28  Gustavo Noronha Silva  <gns@gnome.org>
280
281         Reviewed by Ariya Hidayat.
282
283         Fix warnings when generating files using gperf. The warnings are
284         currently harmless, but some changes in the build system may make
285         them fatal.
286
287         [GTK] Build time must be reduced
288         https://bugs.webkit.org/show_bug.cgi?id=32921
289
290         * GNUmakefile.am:
291
292 2009-12-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
293
294         Reviewed by Adam Barth.
295
296         [Qt] Fix build break for Qt 4.4
297         https://bugs.webkit.org/show_bug.cgi?id=30327
298
299         No new tests, as there is no new functionality.
300
301         * platform/graphics/qt/GraphicsContextQt.cpp:
302         (WebCore::GraphicsContext::clipOut): Use intersected() instead of
303         operator &, which was only introduced in Qt version 4.5.
304
305         * platform/qt/ScrollbarThemeQt.cpp:
306         (WebCore::ScrollbarThemeQt::paintScrollCorner): Pass ColorSpace
307         argument to fillColor() introduced in r50760
308
309 2009-12-28  Kent Tamura  <tkent@chromium.org>
310
311         Reviewed by Maciej Stachowiak.
312
313         Implement HTML5 <article> element.
314         https://bugs.webkit.org/show_bug.cgi?id=32936
315
316         <article> should behave the same as <nav> and <section>.
317
318         Test: fast/html/article-element.html
319
320         * css/html.css: Add article as a block element.
321         * editing/htmlediting.cpp:
322         (WebCore::validBlockTag): Add articleTag.
323         * html/HTMLElement.cpp:
324         (WebCore::HTMLElement::tagPriority): Returns 5 for articleTag.
325         (WebCore::blockTagList): Add articleTag.
326         * html/HTMLParser.cpp:
327         (WebCore::HTMLParser::getNode): Add articleTag.
328         * html/HTMLTagNames.in: Add article.
329
330 2009-12-27  Jakub Wieczorek  <faw217@gmail.com>
331
332         Reviewed by Eric Seidel.
333
334         [Qt] Support upload progress events in XMLHttpRequest
335         https://bugs.webkit.org/show_bug.cgi?id=32969
336
337         Make QNetworkReplyHandler report the upload progress to the client.
338
339         Already covered by tests:
340         http/tests/xmlhttprequest/upload-onload-event.html
341         http/tests/xmlhttprequest/upload-onloadstart-event.html
342         http/tests/xmlhttprequest/upload-progress-events.html
343         http/tests/xmlhttprequest/upload-onprogress-event.html
344
345         which have been unskipped.
346
347         * platform/network/qt/QNetworkReplyHandler.cpp:
348         (WebCore::QNetworkReplyHandler::uploadProgress):
349         (WebCore::QNetworkReplyHandler::start):
350         * platform/network/qt/QNetworkReplyHandler.h:
351
352 2009-12-27  Dirk Schulze  <krit@webkit.org>
353
354         Reviewed by Nikolas Zimmermann.
355
356         SVG: Stop rendering of objects with empty mask and filter content
357         https://bugs.webkit.org/show_bug.cgi?id=32968
358
359         It's not neccessary to continue rendering of an object and its' childs
360         if the mask clips the complete content away.
361         The same for filters, if the filter rendering is discontinued or either
362         width or height are zero.
363         We might also stop rendering if repaintRectInLocalCoordinates is empty.
364         But it needs to be fixed first.
365
366         Test: svg/custom/empty-mask.svg
367
368         * rendering/RenderPath.cpp:
369         (WebCore::RenderPath::paint):
370         * rendering/RenderSVGContainer.cpp:
371         (WebCore::RenderSVGContainer::paint):
372         * rendering/RenderSVGImage.cpp:
373         (WebCore::RenderSVGImage::paint):
374         * rendering/RenderSVGRoot.cpp:
375         (WebCore::RenderSVGRoot::paint):
376         * rendering/SVGRenderSupport.cpp:
377         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
378         * rendering/SVGRenderSupport.h:
379         * rendering/SVGRootInlineBox.cpp:
380         (WebCore::SVGRootInlineBox::paint):
381         * svg/SVGMaskElement.cpp:
382         (WebCore::SVGMaskElement::drawMaskerContent):
383         * svg/SVGMaskElement.h:
384         * svg/graphics/SVGResourceFilter.cpp:
385         (WebCore::SVGResourceFilter::prepareFilter):
386         (WebCore::SVGResourceFilter::applyFilter):
387         * svg/graphics/SVGResourceFilter.h:
388         * svg/graphics/SVGResourceMasker.cpp:
389         (WebCore::SVGResourceMasker::SVGResourceMasker):
390         (WebCore::SVGResourceMasker::applyMask):
391         * svg/graphics/SVGResourceMasker.h:
392
393 2009-12-27  Christian Dywan  <christian@twotoasts.de>
394
395         Reviewed by Eric Seidel.
396
397         [GTK] Spell Check Suggestions (Do not work)
398         https://bugs.webkit.org/show_bug.cgi?id=30908
399
400         * platform/gtk/ContextMenuItemGtk.cpp:
401         (WebCore::ContextMenuItem::ContextMenuItem):
402         (WebCore::ContextMenuItem::title):
403         (WebCore::ContextMenuItem::setTitle): Implement the 'title' member
404         and set the title from the native menu item.
405
406 2009-12-27  Dirk Schulze  <krit@webkit.org>
407
408         Reviewed by Nikolas Zimmermann.
409
410         SVG Mask result wrong, if two different objects call the same mask id
411         https://bugs.webkit.org/show_bug.cgi?id=32787
412
413         At the moment we create one resource per maskId. Some resources (like mask)
414         create ImageBuffers and depends on the properties of the RenderObject,
415         thus we can't use it for a second object.
416         This patch stores multiple mask resources for one maskId and different
417         RenderObject can use the same maskId.
418         Clipper, Filter and Patterns also need to store multiple resources later.
419
420         Test: svg/custom/mask-on-multiple-objects.svg
421
422         * rendering/RenderPath.cpp:
423         (WebCore::RenderPath::drawMarkersIfNeeded):
424         * rendering/RenderSVGContainer.cpp:
425         (WebCore::RenderSVGContainer::selfWillPaint):
426         * rendering/RenderSVGGradientStop.cpp:
427         (WebCore::RenderSVGGradientStop::styleDidChange):
428         * rendering/RenderSVGRoot.cpp:
429         (WebCore::RenderSVGRoot::selfWillPaint):
430         * rendering/SVGRenderSupport.cpp:
431         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
432         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
433         * rendering/SVGRenderTreeAsText.cpp:
434         (WebCore::writeRenderResources):
435         * svg/SVGClipPathElement.cpp:
436         (WebCore::SVGClipPathElement::canvasResource):
437         * svg/SVGClipPathElement.h:
438         * svg/SVGFilterElement.cpp:
439         (WebCore::SVGFilterElement::canvasResource):
440         * svg/SVGFilterElement.h:
441         * svg/SVGGradientElement.cpp:
442         (WebCore::SVGGradientElement::canvasResource):
443         * svg/SVGGradientElement.h:
444         * svg/SVGMarkerElement.cpp:
445         (WebCore::SVGMarkerElement::canvasResource):
446         * svg/SVGMarkerElement.h:
447         * svg/SVGMaskElement.cpp:
448         (WebCore::SVGMaskElement::svgAttributeChanged):
449         (WebCore::SVGMaskElement::childrenChanged):
450         (WebCore::SVGMaskElement::canvasResource):
451         * svg/SVGMaskElement.h:
452         * svg/SVGPatternElement.cpp:
453         (WebCore::SVGPatternElement::canvasResource):
454         * svg/SVGPatternElement.h:
455         * svg/SVGStyledElement.cpp:
456         (WebCore::SVGStyledElement::invalidateResourcesInAncestorChain):
457         * svg/SVGStyledElement.h:
458         (WebCore::SVGStyledElement::canvasResource):
459         * svg/graphics/SVGPaintServer.cpp:
460         (WebCore::getPaintServerById):
461         (WebCore::SVGPaintServer::fillPaintServer):
462         (WebCore::SVGPaintServer::strokePaintServer):
463         * svg/graphics/SVGPaintServer.h:
464         * svg/graphics/SVGResource.cpp:
465         (WebCore::getResourceById):
466         * svg/graphics/SVGResource.h:
467         * svg/graphics/SVGResourceClipper.cpp:
468         (WebCore::getClipperById):
469         * svg/graphics/SVGResourceClipper.h:
470         * svg/graphics/SVGResourceFilter.cpp:
471         (WebCore::getFilterById):
472         * svg/graphics/SVGResourceFilter.h:
473         * svg/graphics/SVGResourceMarker.cpp:
474         (WebCore::getMarkerById):
475         * svg/graphics/SVGResourceMarker.h:
476         * svg/graphics/SVGResourceMasker.cpp:
477         (WebCore::getMaskerById):
478         * svg/graphics/SVGResourceMasker.h:
479
480 2009-12-27  Nikolas Zimmermann  <nzimmermann@rim.com>
481
482         Reviewed by Dirk Schulze.
483
484         Cleanup RenderPath code, related to markers. Pass around
485         PaintInfo objects instead of GraphicsContext directly, to
486         avoid having to recreate a new PaintInfo object in
487         SVGResourceMarker::draw().
488
489         No layout test changes.
490
491         * rendering/RenderPath.cpp:
492         (WebCore::RenderPath::paint):
493         (WebCore::DrawMarkersData::DrawMarkersData):
494         (WebCore::drawMarkerWithData):
495         (WebCore::drawStartAndMidMarkers):
496         (WebCore::RenderPath::drawMarkersIfNeeded):
497         * rendering/RenderPath.h:
498         * svg/graphics/SVGResourceMarker.cpp:
499         (WebCore::SVGResourceMarker::draw):
500         * svg/graphics/SVGResourceMarker.h:
501
502 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
503
504         Reviewed by Eric Seidel.
505
506         WinCE buildfix (added missing header)
507
508         * platform/text/wince/TextBreakIteratorWince.cpp:
509
510 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
511
512         Reviewed by Eric Seidel.
513
514         Buildfix after r50760 and some style fixes.
515
516         * rendering/RenderThemeWince.cpp:
517         (WebCore::RenderThemeWince::paintSearchFieldCancelButton):
518         (WebCore::RenderThemeWince::paintSliderTrack):
519         (WebCore::RenderThemeWince::paintSliderThumb):
520         (WebCore::RenderThemeWince::paintMediaMuteButton):
521         (WebCore::RenderThemeWince::paintMediaPlayButton):
522
523 2009-12-27  Patrick Gansterer  <paroga@paroga.com>
524
525         Reviewed by Adam Barth.
526
527         WinCE buildfixes (missing headers and unsupported HWND_MESSAGE)
528
529         * platform/wince/MIMETypeRegistryWince.cpp:
530         * platform/wince/SearchPopupMenuWince.cpp:
531         * platform/wince/SharedTimerWince.cpp:
532         (WebCore::initializeOffScreenTimerWindow):
533
534 2009-12-26  Eric Seidel  <eric@webkit.org>
535
536         No review, rolling out r52554.
537         http://trac.webkit.org/changeset/52554
538
539         https://bugs.webkit.org/show_bug.cgi?id=32955
540         The original change was covered under
541         https://bugs.webkit.org/show_bug.cgi?id=32913
542
543         r52554 was itself a rollout of r52536.
544         However it caused two layout tests to fail on Leopard:
545         storage/open-database-while-transaction-in-progress.html
546         svg/W3C-SVG-1.1/filters-conv-01-f.svg (no clue why?)
547
548         So I'm rolling out the rollout in an attempt to get the bots green.
549         r52554 did not explain why it was rolled out, so I do not know
550         what might fail for Chromium after this change.  I warned the folks
551         in #chromium that it was coming.
552
553         * storage/Database.cpp:
554         (WebCore::Database::openDatabase):
555         (WebCore::Database::Database):
556         (WebCore::Database::performOpenAndVerify):
557
558 2009-12-26  Dan Bernstein  <mitz@apple.com>
559
560         Reviewed by Sam Weinig.
561
562         <rdar://problem/7483622> REGRESSION (r47255): Extra Large Amount of Empty Space
563         https://bugs.webkit.org/show_bug.cgi?id=32690
564
565         Test: fast/block/float/clear-to-fit.html
566
567         * rendering/RenderBlock.cpp:
568         (WebCore::RenderBlock::getClearDelta): Only clear floats as needed to
569         fit the child on the line.
570
571 2009-12-25  Kent Tamura  <tkent@chromium.org>
572
573         Reviewed by Darin Adler.
574
575         Implement HTML5 section element.
576         https://bugs.webkit.org/show_bug.cgi?id=32936
577
578         <section> should behave the same as <nav>.
579
580         Test: fast/html/section-element.html
581
582         * css/html.css: Add section as a block element.
583         * editing/htmlediting.cpp:
584         (WebCore::validBlockTag): Add sectionTag.
585         * html/HTMLElement.cpp:
586         (WebCore::HTMLElement::tagPriority): Returns 5 for sectionTag.
587         (WebCore::blockTagList): Add sectionTag.
588         * html/HTMLParser.cpp:
589         (WebCore::HTMLParser::getNode): Add sectionTag.
590         * html/HTMLTagNames.in: Add section.
591
592 2009-12-25  Daniel Bates  <dbates@webkit.org>
593
594         Reviewed by Adam Barth.
595
596         https://bugs.webkit.org/show_bug.cgi?id=32938
597
598         Cleans up XSSAuditor.
599
600         Currently, we pass various parameters through to XSSAuditor::findInRequest
601         that are used to determine how to decode the HTTP input parameters so that
602         we can perform a match against the script source. Instead, we have defined
603         a structure XSSAuditor::FindTask that can hold all of these parameters.
604
605         No functionality was changed. So, no new tests.
606
607         * page/XSSAuditor.cpp:
608         (WebCore::XSSAuditor::canEvaluate): Modified to use struct
609         XSSAuditor::FindTask.
610         (WebCore::XSSAuditor::canEvaluateJavaScriptURL): Ditto.
611         (WebCore::XSSAuditor::canCreateInlineEventListener): Ditto.
612         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Ditto.
613         (WebCore::XSSAuditor::canLoadObject): Ditto.
614         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto.
615         (WebCore::XSSAuditor::findInRequest): Ditto.
616         * page/XSSAuditor.h:
617         (WebCore::XSSAuditor::FindTask::FindTask): Added.
618
619 2009-12-25  Nikolas Zimmermann  <nzimmermann@rim.com>
620
621         Reviewed by Dirk Schulze.
622
623         DOMWindow is missing lots of SVG* constructor objects
624         https://bugs.webkit.org/show_bug.cgi?id=20430
625
626         Expose all implemented SVG 1.1 constructors.
627
628         Test: svg/custom/global-constructors.js
629
630         * bindings/v8/V8Index.cpp: Add missing includes for SVGFontFaceElement & SVGMissingGlyphElement
631         * bindings/v8/V8Index.h: Add misisng SVGFontFaceElement & SVGMissingGlyphElement declarations.
632         * page/DOMWindow.idl: Add a bunch of new SVG object ctors.
633         * svg/SVGAnimatedPathData.idl: Add OmitConstructor flag, as this is a SVG MI class, which is not exposable at the moment.
634         * svg/SVGAnimatedPoints.idl: Ditto.
635
636 2009-12-25  Alexander Pavlov  <apavlov@chromium.org>
637
638         Reviewed by Pavel Feldman.
639
640         AuditsPanel for Web Inspector (hidden, no preset audits).
641
642         https://bugs.webkit.org/show_bug.cgi?id=31665
643
644         * English.lproj/localizedStrings.js:
645         * WebCore.gypi:
646         * WebCore.vcproj/WebCore.vcproj:
647         * inspector/front-end/AuditLauncherView.js: Added.
648         (WebInspector.AuditLauncherView.categorySortFunction):
649         (WebInspector.AuditLauncherView):
650         (WebInspector.AuditLauncherView.prototype.updateResourceTrackingState):
651         (WebInspector.AuditLauncherView.prototype._setAuditRunning):
652         (WebInspector.AuditLauncherView.prototype._launchButtonClicked.profilingFinishedCallback):
653         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
654         (WebInspector.AuditLauncherView.prototype._selectAllClicked):
655         (WebInspector.AuditLauncherView.prototype._categoryClicked):
656         (WebInspector.AuditLauncherView.prototype._createCategoryElement):
657         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
658         (WebInspector.AuditLauncherView.prototype._updateButton):
659         (WebInspector.AuditLauncherView.prototype.resize):
660         * inspector/front-end/AuditResultView.js: Added.
661         (WebInspector.AuditResultView.entrySortFunction):
662         (WebInspector.AuditResultView):
663         (WebInspector.AuditCategoryResultPane):
664         (WebInspector.AuditRuleResultPane):
665         (WebInspector.AuditRuleResultPane.prototype._decorateRuleResult):
666         (WebInspector.AuditRuleResultChildSection):
667         (WebInspector.AuditRuleResultChildSection.prototype.set title):
668         (WebInspector.AuditRuleResultChildSection.prototype.expand):
669         * inspector/front-end/AuditsPanel.js: Added.
670         (WebInspector.AuditsPanel):
671         (WebInspector.AuditsPanel.prototype.toolbarItemClass.get toolbarItemLabel):
672         (WebInspector.AuditsPanel.prototype.get statusBarItems):
673         (WebInspector.AuditsPanel.prototype.get mainResourceLoadTime):
674         (WebInspector.AuditsPanel.prototype.set mainResourceLoadTime):
675         (WebInspector.AuditsPanel.prototype.get mainResourceDOMContentTime):
676         (WebInspector.AuditsPanel.prototype.set mainResourceDOMContentTime):
677         (WebInspector.AuditsPanel.prototype.get categoriesById):
678         (WebInspector.AuditsPanel.prototype.get visibleView):
679         (WebInspector.AuditsPanel.prototype._constructCategories):
680         (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
681         (WebInspector.AuditsPanel.prototype._executeAudit):
682         (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
683         (WebInspector.AuditsPanel.prototype.initiateAudit.initiateAuditCallback):
684         (WebInspector.AuditsPanel.prototype.initiateAudit):
685         (WebInspector.AuditsPanel.prototype._reloadResources):
686         (WebInspector.AuditsPanel.prototype._didMainResourceLoad):
687         (WebInspector.AuditsPanel.prototype.showResults):
688         (WebInspector.AuditsPanel.prototype.showLauncherView):
689         (WebInspector.AuditsPanel.prototype.showView):
690         (WebInspector.AuditsPanel.prototype.show):
691         (WebInspector.AuditsPanel.prototype.attach):
692         (WebInspector.AuditsPanel.prototype.resize):
693         (WebInspector.AuditsPanel.prototype.updateMainViewWidth):
694         (WebInspector.AuditsPanel.prototype._updateLauncherViewControls):
695         (WebInspector.AuditsPanel.prototype._clearButtonClicked):
696         (WebInspector.AuditsPanel.prototype._closeVisibleView):
697         (WebInspector.AuditCategory):
698         (WebInspector.AuditCategory.prototype.get id):
699         (WebInspector.AuditCategory.prototype.get displayName):
700         (WebInspector.AuditCategory.prototype.get ruleCount):
701         (WebInspector.AuditCategory.prototype.addRule):
702         (WebInspector.AuditCategory.prototype.runRules):
703         (WebInspector.AuditRule):
704         (WebInspector.AuditRule.prototype.get id):
705         (WebInspector.AuditRule.prototype.get displayName):
706         (WebInspector.AuditRule.prototype.run):
707         (WebInspector.AuditRule.prototype.doRun):
708         (WebInspector.AuditRule.prototype.getValue):
709         (WebInspector.AuditCategoryResult):
710         (WebInspector.AuditCategoryResult.prototype.addEntry):
711         (WebInspector.AuditRuleResult):
712         (WebInspector.AuditRuleResult.prototype.appendChild):
713         (WebInspector.AuditRuleResult.prototype.set type):
714         (WebInspector.AuditRuleResult.prototype.get type):
715         (WebInspector.AuditsSidebarTreeElement):
716         (WebInspector.AuditsSidebarTreeElement.prototype.onattach):
717         (WebInspector.AuditsSidebarTreeElement.prototype.onselect):
718         (WebInspector.AuditsSidebarTreeElement.prototype.get selectable):
719         (WebInspector.AuditsSidebarTreeElement.prototype.refresh):
720         (WebInspector.AuditResultSidebarTreeElement):
721         (WebInspector.AuditResultSidebarTreeElement.prototype.onselect):
722         (WebInspector.AuditResultSidebarTreeElement.prototype.get selectable):
723         * inspector/front-end/WebKit.qrc:
724         * inspector/front-end/audits.css: Added.
725         * inspector/front-end/inspector.html:
726         * inspector/front-end/inspector.js:
727         (WebInspector._createPanels):
728         (WebInspector.updateResource):
729
730 2009-12-25  Pavel Feldman  <pfeldman@chromium.org>
731
732         Reviewed by Timothy Hatcher.
733
734         Web Inspector: Implement Edit Inner HTML action.
735
736         https://bugs.webkit.org/show_bug.cgi?id=32924
737
738         * English.lproj/localizedStrings.js:
739         * bindings/js/JSInjectedScriptHostCustom.cpp:
740         (WebCore::JSInjectedScriptHost::pushNodePathToFrontend):
741         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
742         (WebCore::V8InjectedScriptHost::pushNodePathToFrontendCallback):
743         * inspector/InjectedScriptHost.cpp:
744         (WebCore::InjectedScriptHost::pushNodePathToFrontend):
745         * inspector/InjectedScriptHost.h:
746         * inspector/InjectedScriptHost.idl:
747         * inspector/InspectorDOMAgent.h:
748         * inspector/front-end/ElementsPanel.js:
749         (WebInspector.ElementsPanel.prototype.show):
750         (WebInspector.ElementsPanel.prototype._updateModifiedNodesSoon):
751         (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
752         * inspector/front-end/ElementsTreeOutline.js:
753         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
754         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.commit):
755         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
756         (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
757         ():
758         * inspector/front-end/InjectedScript.js:
759         (InjectedScript.getNodePropertyValue):
760         (InjectedScript.setOuterHTML):
761         (InjectedScript.performSearch.addNodesToResults):
762         (InjectedScript._inspectObject):
763         (InjectedScript._copy):
764         (InjectedScript.pushNodeToFrontend):
765         * inspector/front-end/InjectedScriptAccess.js:
766         * inspector/front-end/InspectorFrontendHostStub.js:
767         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
768         (.WebInspector.InspectorFrontendHostStub.prototype.windowUnloading):
769         * inspector/front-end/inspector.css:
770         * inspector/front-end/inspector.js:
771         (WebInspector.startEditing.keyDownEventListener):
772         (WebInspector.startEditing):
773
774 2009-12-24  Dan Bernstein  <mitz@apple.com>
775
776         Reviewed by Timothy Hatcher.
777
778         Web Inspector: Console should force long URLs to wrap
779         https://bugs.webkit.org/show_bug.cgi?id=32927
780
781         * inspector/front-end/inspector.css: Added "word-wrap: break-word;" to
782         the #console-messages rule.
783
784 2009-12-24  Shinichiro Hamaji  <hamaji@chromium.org>
785
786         Unreviewed Chromium test fix by reverting r52536.
787
788         Do not a new Database pointer to any structure until its version has been verified
789         https://bugs.webkit.org/show_bug.cgi?id=32913
790
791         * storage/Database.cpp:
792         (WebCore::Database::openDatabase):
793         (WebCore::Database::Database):
794         (WebCore::Database::performOpenAndVerify):
795
796 2009-12-24  Jessie Berlin  <jberlin@webkit.org>
797
798         Reviewed by Dan Bernstein.
799
800         Fix for WebKit bug 29968 - Selecting text with text-overflow ellipsis
801         should not show cut off text
802         https://bugs.webkit.org/show_bug.cgi?id=29968
803
804         Also fixes the issue on both Mac OS X and Windows where the highlight
805         would extend only partway into the ellipsis based on the size of the
806         characters being truncated.
807
808         Test: editing/selection/select-text-overflow-ellipsis.html
809
810         * rendering/EllipsisBox.cpp:
811         (WebCore::EllipsisBox::paint):
812         When the ellipsis have been selected, paints them with the color for
813         selected text.
814         (WebCore::EllipsisBox::selectionRect):
815         Returns the selection rect for the ellipsis text.
816         (WebCore::EllipsisBox::paintSelection):
817         Paints the selection highlight around the ellipsis text.
818
819         * rendering/EllipsisBox.h:
820         (WebCore::EllipsisBox::EllipsisBox):
821         Default the selection state of the EllipsisBox to SelectionNone.
822         (WebCore::EllipsisBox::setSelectionState):
823         Allow the selection state to be explicitly set by the InlineTextBox
824         that it is associated with, since the selection state depends on the
825         position of the selection within the truncated text.
826         (WebCore::EllipsisBox::selectionState):
827         Return the cached selection state.
828         
829         * rendering/InlineTextBox.cpp:
830         (WebCore::InlineTextBox::selectionState):
831         If the text is truncated and the selection extends into the truncation
832         where there are ellipsis, set the selection state on the EllipsisBox.
833         (WebCore::paintTextWithShadows):
834         Allow for an upper bound to be specified on the maximum length of the
835         text to be painted.
836         (WebCore::InlineTextBox::paint):
837         Make sure the text that is drawn gets appropriately truncated. This was
838         not an issue before on Mac OS X because it wasn't necessary to draw the
839         selected text separately (the selected text had the same color as the
840         non-selected text).
841         (WebCore::InlineTextBox::paintSelection):
842         If the text is being truncated, let whatever is being painted in the
843         space after the truncated text paint its own highlight. 
844         
845         * rendering/InlineTextBox.h:
846         (WebCore::InlineTextBox::truncation):
847         Allow RenderText to access the truncation status.
848         
849         * rendering/RenderText.cpp:
850         (WebCore::RenderText::selectionRectForRepaint):
851         Make sure that any ellipsis box that falls within the selection also
852         gets repainted.
853
854 2009-12-24  Pavel Feldman  <pfeldman@chromium.org>
855
856         Reviewed by Timothy Hatcher.
857
858         Web Inspector: add Settings.js class that would manage
859         frontend settings.
860
861         This change:
862         - Splits preferences and settings
863         - Pushes settings to the frontend on load
864         - Stores settings on each change
865         - Stores showInheritedStyles as setting.
866
867         https://bugs.webkit.org/show_bug.cgi?id=32832
868
869         * WebCore.gypi:
870         * WebCore.vcproj/WebCore.vcproj:
871         * inspector/InspectorBackend.cpp:
872         (WebCore::InspectorBackend::saveFrontendSettings):
873         * inspector/InspectorBackend.h:
874         * inspector/InspectorBackend.idl:
875         * inspector/InspectorController.cpp:
876         (WebCore::InspectorController::populateScriptObjects):
877         * inspector/InspectorController.h:
878         * inspector/InspectorFrontend.cpp:
879         (WebCore::InspectorFrontend::populateFrontendSettings):
880         * inspector/InspectorFrontend.h:
881         * inspector/InspectorFrontendHost.cpp:
882         * inspector/InspectorFrontendHost.h:
883         * inspector/InspectorFrontendHost.idl:
884         * inspector/front-end/EventListenersSidebarPane.js:
885         (WebInspector.EventListenersSidebarPane.prototype._settingsLoaded):
886         (WebInspector.EventListenersSidebarPane.prototype):
887         ():
888         * inspector/front-end/InspectorBackendStub.js:
889         (.WebInspector.InspectorBackendStub):
890         (.WebInspector.InspectorBackendStub.prototype.saveFrontendSettings):
891         (.WebInspector.InspectorBackendStub.prototype.releaseWrapperObjectGroup):
892         * inspector/front-end/InspectorFrontendHostStub.js:
893         (.WebInspector.InspectorFrontendHostStub):
894         (.WebInspector.InspectorFrontendHostStub.prototype.hiddenPanels):
895         * inspector/front-end/ResourcesPanel.js:
896         (WebInspector.ResourcesPanel.prototype._createStatusbarButtons):
897         (WebInspector.ResourcesPanel.prototype._settingsLoaded):
898         (WebInspector.ResourcesPanel.prototype._toggleLargerResources):
899         (WebInspector.ResourcesPanel.prototype._setLargerResources):
900         * inspector/front-end/ScriptsPanel.js:
901         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
902         (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
903         * inspector/front-end/Settings.js: Added.
904         (WebInspector.populateFrontendSettings):
905         (WebInspector.Settings):
906         (WebInspector.Settings.prototype._load):
907         (WebInspector.Settings.prototype._installSetting):
908         (WebInspector.Settings.prototype._get):
909         (WebInspector.Settings.prototype._set):
910         * inspector/front-end/StylesSidebarPane.js:
911         (WebInspector.StylesSidebarPane.prototype._settingsLoaded):
912         (WebInspector.StylesSidebarPane.prototype.update):
913         (WebInspector.StylesSidebarPane.prototype._changeSetting):
914         (WebInspector.StylesSidebarPane.prototype._changeColorFormat):
915         (WebInspector.StylePropertiesSection.showInheritedToggleFunction):
916         (WebInspector.StylePropertiesSection):
917         * inspector/front-end/WatchExpressionsSidebarPane.js:
918         (WebInspector.WatchExpressionsSidebarPane):
919         (WebInspector.WatchExpressionsSidebarPane.prototype._settingsLoaded):
920         (WebInspector.WatchExpressionsSidebarPane.prototype.refreshExpressions):
921         (WebInspector.WatchExpressionsSection):
922         (WebInspector.WatchExpressionsSection.prototype.saveExpressions):
923         * inspector/front-end/WebKit.qrc:
924         * inspector/front-end/inspector.html:
925         * inspector/front-end/inspector.js:
926         (WebInspector.loaded):
927
928 2009-12-23  Pavel Feldman  <pfeldman@chromium.org>
929
930         Reviewed by Timothy Hatcher.
931
932         Web Inspector: [REGRESSION] console's clear command does not work.
933
934         https://bugs.webkit.org/show_bug.cgi?id=32897
935
936         Test: inspector/console-clear.html
937
938         * inspector/InjectedScriptHost.cpp:
939         (WebCore::InjectedScriptHost::clearConsoleMessages):
940         * inspector/InjectedScriptHost.h:
941         * inspector/InjectedScriptHost.idl:
942         * inspector/InspectorBackend.cpp:
943         * inspector/InspectorBackend.h:
944         * inspector/InspectorBackend.idl:
945         * inspector/InspectorController.cpp:
946         (WebCore::InspectorController::clearConsoleMessages):
947         (WebCore::InspectorController::didCommitLoad):
948         * inspector/InspectorController.h:
949         * inspector/front-end/ConsoleView.js:
950         (WebInspector.ConsoleView):
951         (WebInspector.ConsoleView.prototype.requestClearConsoleMessages):
952         (WebInspector.ConsoleView.prototype.clearConsoleMessages):
953         (WebInspector.ConsoleView.prototype._clearButtonClicked):
954         * inspector/front-end/InjectedScript.js:
955         (InjectedScript.clearConsoleMessages):
956         (InjectedScript._ensureCommandLineAPIInstalled):
957         * inspector/front-end/InjectedScriptAccess.js:
958         * inspector/front-end/inspector.js:
959         (WebInspector.clearConsoleMessages):
960         (WebInspector.reset):
961
962 2009-12-23  Pavel Feldman  <pfeldman@chromium.org>
963
964         Reviewed by Timothy Hatcher.
965
966         Web Inspector: Console dumps strings in escaped form.
967
968         https://bugs.webkit.org/show_bug.cgi?id=32488
969
970         * inspector/front-end/ConsoleView.js:
971         (WebInspector.ConsoleMessage.prototype._formatIndividualValue):
972
973 2009-12-23  Alexey Proskuryakov  <ap@apple.com>
974
975         Reviewed by Darin Adler.
976
977         https://bugs.webkit.org/show_bug.cgi?id=32905
978         With Pinyin Simplified IM, a wrong character is deleted from google.com suggestion
979
980         Test: platform/mac/editing/input/selection-change-closes-typing.html
981
982         * editing/Editor.cpp: (WebCore::Editor::confirmComposition): If this function wasn't allowed
983         to change selection, it needs to close the current typing command - otherwise, its idea of
984         selection would be used for future typing.
985
986 2009-12-23  Yuta Kitamura  <yutak@chromium.org>
987
988         Reviewed by Eric Seidel.
989
990         PlatformContextSkia::beginLayerClippedToImage() needs to clip outside of the image.
991         
992         This method should limit the current painting window to the bounds of the given
993         image, but it did not. Due to this bug, unnecessary contents were rendered in
994         some (limited) situations.
995
996         [Skia] PlatformContextSkia::beginLayerClippedToImage does not clip outside of the image
997         https://bugs.webkit.org/show_bug.cgi?id=32817
998         
999         No new tests, because this is a fix of an existing test which is currently failing in
1000         Chromium.
1001
1002         * platform/graphics/skia/PlatformContextSkia.cpp:
1003         (PlatformContextSkia::beginLayerClippedToImage): Add clipRect() call.
1004
1005 2009-12-23  Nikolas Zimmermann  <nzimmermann@rim.com>
1006
1007         Rubber-stamped by Eric Seidel.
1008
1009         Remove all references to "GenerateConstructor", as this is the default behaviour now.
1010
1011         * css/CSSCharsetRule.idl:
1012         * css/CSSFontFaceRule.idl:
1013         * css/CSSImportRule.idl:
1014         * css/CSSMediaRule.idl:
1015         * css/CSSPageRule.idl:
1016         * css/CSSPrimitiveValue.idl:
1017         * css/CSSRule.idl:
1018         * css/CSSRuleList.idl:
1019         * css/CSSStyleDeclaration.idl:
1020         * css/CSSStyleRule.idl:
1021         * css/CSSStyleSheet.idl:
1022         * css/CSSValue.idl:
1023         * css/CSSValueList.idl:
1024         * css/CSSVariablesDeclaration.idl:
1025         * css/CSSVariablesRule.idl:
1026         * css/Counter.idl:
1027         * css/Media.idl:
1028         * css/MediaList.idl:
1029         * css/RGBColor.idl:
1030         * css/Rect.idl:
1031         * css/StyleSheet.idl:
1032         * css/StyleSheetList.idl:
1033         * css/WebKitCSSKeyframeRule.idl:
1034         * css/WebKitCSSKeyframesRule.idl:
1035         * css/WebKitCSSTransformValue.idl:
1036         * dom/Attr.idl:
1037         * dom/BeforeLoadEvent.idl:
1038         * dom/CDATASection.idl:
1039         * dom/CharacterData.idl:
1040         * dom/ClientRect.idl:
1041         * dom/ClientRectList.idl:
1042         * dom/Clipboard.idl:
1043         * dom/Comment.idl:
1044         * dom/CompositionEvent.idl:
1045         * dom/DOMCoreException.idl:
1046         * dom/DOMImplementation.idl:
1047         * dom/Document.idl:
1048         * dom/DocumentFragment.idl:
1049         * dom/DocumentType.idl:
1050         * dom/Element.idl:
1051         * dom/Entity.idl:
1052         * dom/EntityReference.idl:
1053         * dom/ErrorEvent.idl:
1054         * dom/Event.idl:
1055         * dom/EventException.idl:
1056         * dom/KeyboardEvent.idl:
1057         * dom/MessageEvent.idl:
1058         * dom/MessagePort.idl:
1059         * dom/MouseEvent.idl:
1060         * dom/MutationEvent.idl:
1061         * dom/NamedNodeMap.idl:
1062         * dom/Node.idl:
1063         * dom/NodeFilter.idl:
1064         * dom/NodeIterator.idl:
1065         * dom/NodeList.idl:
1066         * dom/Notation.idl:
1067         * dom/OverflowEvent.idl:
1068         * dom/PageTransitionEvent.idl:
1069         * dom/PopStateEvent.idl:
1070         * dom/ProcessingInstruction.idl:
1071         * dom/ProgressEvent.idl:
1072         * dom/Range.idl:
1073         * dom/RangeException.idl:
1074         * dom/Text.idl:
1075         * dom/TextEvent.idl:
1076         * dom/Touch.idl:
1077         * dom/TouchEvent.idl:
1078         * dom/TouchList.idl:
1079         * dom/TreeWalker.idl:
1080         * dom/UIEvent.idl:
1081         * dom/WebKitAnimationEvent.idl:
1082         * dom/WebKitTransitionEvent.idl:
1083         * dom/WheelEvent.idl:
1084         * html/DataGridColumn.idl:
1085         * html/DataGridColumnList.idl:
1086         * html/File.idl:
1087         * html/FileList.idl:
1088         * html/HTMLAllCollection.idl:
1089         * html/HTMLAnchorElement.idl:
1090         * html/HTMLAppletElement.idl:
1091         * html/HTMLAreaElement.idl:
1092         * html/HTMLAudioElement.idl:
1093         * html/HTMLBRElement.idl:
1094         * html/HTMLBaseElement.idl:
1095         * html/HTMLBaseFontElement.idl:
1096         * html/HTMLBlockquoteElement.idl:
1097         * html/HTMLBodyElement.idl:
1098         * html/HTMLButtonElement.idl:
1099         * html/HTMLCanvasElement.idl:
1100         * html/HTMLCollection.idl:
1101         * html/HTMLDListElement.idl:
1102         * html/HTMLDataGridCellElement.idl:
1103         * html/HTMLDataGridColElement.idl:
1104         * html/HTMLDataGridElement.idl:
1105         * html/HTMLDataGridRowElement.idl:
1106         * html/HTMLDataListElement.idl:
1107         * html/HTMLDirectoryElement.idl:
1108         * html/HTMLDivElement.idl:
1109         * html/HTMLDocument.idl:
1110         * html/HTMLElement.idl:
1111         * html/HTMLEmbedElement.idl:
1112         * html/HTMLFieldSetElement.idl:
1113         * html/HTMLFontElement.idl:
1114         * html/HTMLFormElement.idl:
1115         * html/HTMLFrameElement.idl:
1116         * html/HTMLFrameSetElement.idl:
1117         * html/HTMLHRElement.idl:
1118         * html/HTMLHeadElement.idl:
1119         * html/HTMLHeadingElement.idl:
1120         * html/HTMLHtmlElement.idl:
1121         * html/HTMLIFrameElement.idl:
1122         * html/HTMLImageElement.idl:
1123         * html/HTMLInputElement.idl:
1124         * html/HTMLIsIndexElement.idl:
1125         * html/HTMLLIElement.idl:
1126         * html/HTMLLabelElement.idl:
1127         * html/HTMLLegendElement.idl:
1128         * html/HTMLLinkElement.idl:
1129         * html/HTMLMapElement.idl:
1130         * html/HTMLMarqueeElement.idl:
1131         * html/HTMLMediaElement.idl:
1132         * html/HTMLMenuElement.idl:
1133         * html/HTMLMetaElement.idl:
1134         * html/HTMLModElement.idl:
1135         * html/HTMLOListElement.idl:
1136         * html/HTMLObjectElement.idl:
1137         * html/HTMLOptGroupElement.idl:
1138         * html/HTMLOptionElement.idl:
1139         * html/HTMLParagraphElement.idl:
1140         * html/HTMLParamElement.idl:
1141         * html/HTMLPreElement.idl:
1142         * html/HTMLQuoteElement.idl:
1143         * html/HTMLScriptElement.idl:
1144         * html/HTMLSelectElement.idl:
1145         * html/HTMLSourceElement.idl:
1146         * html/HTMLStyleElement.idl:
1147         * html/HTMLTableCaptionElement.idl:
1148         * html/HTMLTableCellElement.idl:
1149         * html/HTMLTableColElement.idl:
1150         * html/HTMLTableElement.idl:
1151         * html/HTMLTableRowElement.idl:
1152         * html/HTMLTableSectionElement.idl:
1153         * html/HTMLTextAreaElement.idl:
1154         * html/HTMLTitleElement.idl:
1155         * html/HTMLUListElement.idl:
1156         * html/HTMLVideoElement.idl:
1157         * html/ImageData.idl:
1158         * html/MediaError.idl:
1159         * html/TextMetrics.idl:
1160         * html/canvas/CanvasNumberArray.idl:
1161         * html/canvas/CanvasRenderingContext.idl:
1162         * html/canvas/CanvasRenderingContext2D.idl:
1163         * html/canvas/WebGLRenderingContext.idl:
1164         * inspector/InjectedScriptHost.idl:
1165         * inspector/InspectorBackend.idl:
1166         * inspector/InspectorFrontendHost.idl:
1167         * page/PositionError.idl:
1168         * plugins/MimeType.idl:
1169         * plugins/MimeTypeArray.idl:
1170         * plugins/Plugin.idl:
1171         * plugins/PluginArray.idl:
1172         * storage/Storage.idl:
1173         * storage/StorageEvent.idl:
1174         * svg/SVGAngle.idl:
1175         * svg/SVGColor.idl:
1176         * svg/SVGComponentTransferFunctionElement.idl:
1177         * svg/SVGException.idl:
1178         * svg/SVGFEBlendElement.idl:
1179         * svg/SVGFEColorMatrixElement.idl:
1180         * svg/SVGFECompositeElement.idl:
1181         * svg/SVGFEDisplacementMapElement.idl:
1182         * svg/SVGFEFloodElement.idl:
1183         * svg/SVGFEMorphologyElement.idl:
1184         * svg/SVGFETurbulenceElement.idl:
1185         * svg/SVGGradientElement.idl:
1186         * svg/SVGLength.idl:
1187         * svg/SVGMarkerElement.idl:
1188         * svg/SVGPaint.idl:
1189         * svg/SVGPathSeg.idl:
1190         * svg/SVGPreserveAspectRatio.idl:
1191         * svg/SVGRenderingIntent.idl:
1192         * svg/SVGTextContentElement.idl:
1193         * svg/SVGTextPathElement.idl:
1194         * svg/SVGTransform.idl:
1195         * svg/SVGUnitTypes.idl:
1196         * svg/SVGZoomAndPan.idl:
1197         * workers/AbstractWorker.idl:
1198         * workers/WorkerLocation.idl:
1199         * xml/DOMParser.idl:
1200         * xml/XMLHttpRequestException.idl:
1201         * xml/XMLHttpRequestProgressEvent.idl:
1202         * xml/XMLHttpRequestUpload.idl:
1203         * xml/XMLSerializer.idl:
1204         * xml/XPathEvaluator.idl:
1205         * xml/XPathException.idl:
1206         * xml/XPathExpression.idl:
1207         * xml/XPathResult.idl:
1208
1209 2009-12-23  Dumitru Daniliuc  <dumi@chromium.org>
1210
1211         Reviewed by Eric Seidel.
1212
1213         A new database should be registered with the Document,
1214         DatabaseTracker and DatabaseThread only after it was successfully
1215         opened and its version was successfully verified.
1216
1217         Fixes a regression introduced by
1218         http://trac.webkit.org/changeset/52530.
1219
1220         LayoutTests/storage/open-database-while-transaction-in-progress.html
1221         should pass again (or rather, it should pass again when run after
1222         open-database-set-empty-version.html).
1223
1224         https://bugs.webkit.org/show_bug.cgi?id=32913
1225
1226         * storage/Database.cpp:
1227         (WebCore::Database::openDatabase):
1228         (WebCore::Database::Database):
1229         (WebCore::Database::performOpenAndVerify):
1230
1231 2009-12-23  David Levin  <levin@chromium.org>
1232
1233         REGRESSION (r52494): Assertion failure in Frame::caretBlinkTimerFired() (selection()->isCaret())
1234         https://bugs.webkit.org/show_bug.cgi?id=32903
1235
1236         No review but ok'ed by Darin Adler. Rolling out r52494 due to above regression.
1237
1238         * editing/SelectionController.cpp:
1239         (WebCore::SelectionController::SelectionController):
1240         (WebCore::SelectionController::setSelection):
1241         * editing/SelectionController.h:
1242         * page/Frame.cpp:
1243         (WebCore::Frame::setCaretVisible):
1244         (WebCore::Frame::selectionLayoutChanged):
1245         * page/FrameView.cpp:
1246         (WebCore::FrameView::needsLayout):
1247
1248 2009-12-23  Nikolas Zimmermann  <nzimmermann@rim.com>
1249
1250         Reviewed by Eric Seidel.
1251
1252         Reverse JS GenerateConstructor logic
1253         https://bugs.webkit.org/show_bug.cgi?id=32910
1254
1255         Make 'GenerateConstructor' the default setting for all classes, defined in IDL files. The flag is now obsolete and
1256         can be removed from all IDL files in a follow-up patch. Add new 'OmitConstructor' flag, that allows to restore the
1257         old default behaviour: do not generate JSFoobarConstructor class.
1258
1259         No change in functionality, despite the fact that we're generating a lot more constructors now, as they have to
1260         be exposed through DOMWindow.idl -- this can be done per affected class in follow-up patches. Especially the SVG
1261         classes have to be exposed, most of them are missing JS constructors so far.
1262
1263         As side effect HTMLOptionsCollection is now correctly exposing its constructor, thus fixing a test in fast/dom/wrapper-classes.html
1264
1265         * bindings/scripts/CodeGeneratorJS.pm:
1266         * css/CSSUnknownRule.idl:
1267         * css/WebKitCSSMatrix.idl:
1268         * dom/EventListener.idl:
1269         * dom/EventTarget.idl:
1270         * dom/MessageChannel.idl:
1271         * html/TimeRanges.idl:
1272         * html/ValidityState.idl:
1273         * html/VoidCallback.idl:
1274         * html/canvas/CanvasGradient.idl:
1275         * html/canvas/CanvasPattern.idl:
1276         * html/canvas/CanvasPixelArray.idl:
1277         * html/canvas/WebGLActiveInfo.idl:
1278         * html/canvas/WebGLArray.idl:
1279         * html/canvas/WebGLArrayBuffer.idl:
1280         * html/canvas/WebGLBuffer.idl:
1281         * html/canvas/WebGLByteArray.idl:
1282         * html/canvas/WebGLFloatArray.idl:
1283         * html/canvas/WebGLFramebuffer.idl:
1284         * html/canvas/WebGLIntArray.idl:
1285         * html/canvas/WebGLProgram.idl:
1286         * html/canvas/WebGLRenderbuffer.idl:
1287         * html/canvas/WebGLShader.idl:
1288         * html/canvas/WebGLShortArray.idl:
1289         * html/canvas/WebGLTexture.idl:
1290         * html/canvas/WebGLUniformLocation.idl:
1291         * html/canvas/WebGLUnsignedByteArray.idl:
1292         * html/canvas/WebGLUnsignedIntArray.idl:
1293         * html/canvas/WebGLUnsignedShortArray.idl:
1294         * inspector/JavaScriptCallFrame.idl:
1295         * loader/appcache/DOMApplicationCache.idl:
1296         * notifications/Notification.idl:
1297         * notifications/NotificationCenter.idl:
1298         * page/AbstractView.idl:
1299         * page/BarInfo.idl:
1300         * page/Console.idl:
1301         * page/Coordinates.idl:
1302         * page/DOMSelection.idl:
1303         * page/DOMWindow.idl:
1304         * page/EventSource.idl:
1305         * page/Geolocation.idl:
1306         * page/Geoposition.idl:
1307         * page/History.idl:
1308         * page/Location.idl:
1309         * page/Navigator.idl:
1310         * page/Screen.idl:
1311         * page/WebKitPoint.idl:
1312         * page/WorkerNavigator.idl:
1313         * storage/Database.idl:
1314         * storage/SQLError.idl:
1315         * storage/SQLResultSet.idl:
1316         * storage/SQLResultSetRowList.idl:
1317         * storage/SQLTransaction.idl:
1318         * websockets/WebSocket.idl:
1319         * workers/DedicatedWorkerContext.idl:
1320         * workers/SharedWorker.idl:
1321         * workers/SharedWorkerContext.idl:
1322         * workers/Worker.idl:
1323         * workers/WorkerContext.idl:
1324         * xml/XMLHttpRequest.idl:
1325         * xml/XPathNSResolver.idl:
1326         * xml/XSLTProcessor.idl:
1327
1328 2009-12-23  Adam Barth  <abarth@webkit.org>
1329
1330         Reviewed by Eric Seidel.
1331
1332         "Refused to execute a JavaScript script" error when embedding SWF with
1333         a URL that is also a query parameter
1334         https://bugs.webkit.org/show_bug.cgi?id=32908
1335
1336         Don't block direct injections into the object src attribute unless
1337         there's an illegal character (like < or ") in the URL.  This change
1338         lets some very unusual vulnerabilities through the filter but removes a
1339         false positive that we've seen several times.
1340
1341         * page/XSSAuditor.cpp:
1342         (WebCore::XSSAuditor::canLoadObject):
1343
1344 2009-12-23  Dumitru Daniliuc  <dumi@chromium.org>
1345
1346         Reviewed by Dmitry Titov.
1347
1348         Remove pointers to a database that failed to open from the
1349         DatabaseTracker and Document.
1350
1351         https://bugs.webkit.org/show_bug.cgi?id=32885
1352
1353         * storage/Database.cpp:
1354         (WebCore::Database::openDatabase):
1355
1356 2009-12-23  Dan Bernstein  <mitz@apple.com>
1357
1358         Reviewed by Darin Adler.
1359
1360         <rdar://problem/7487164> First line of text cannot be selected
1361         https://bugs.webkit.org/show_bug.cgi?id=32749
1362
1363         Test: fast/text/remove-zero-length-run.html
1364
1365         * rendering/RenderText.cpp:
1366         (WebCore::RenderText::positionLineBox): Changed code that assumed that if a box was being
1367             removed, it was the only box in the RenderText. Instead, correctly preserve the list of
1368             text boxes.
1369         (WebCore::RenderText::checkConsistency): Updated for earlier rename.
1370
1371 2009-12-18  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1372
1373         Reviewed by Darin Adler.
1374
1375         Fix for newlines turning into missing-gyphs when using SVG fonts
1376
1377         https://bugs.webkit.org/show_bug.cgi?id=32710
1378
1379         Font::drawText() has three code paths:
1380
1381           - drawTextUsingSVGFont()
1382           - drawSimpleText()
1383           - drawComplexText()
1384
1385         The latter two both have logic to replace newlines and tabs, as well
1386         as a few other control characters that are considered spaces, with
1387         spaces, before actually drawing the text. Previously the SVG font
1388         path did not have this kind of logic.
1389
1390         This change introduces two helper functions in Font to do this space
1391         replacement, which are then used for the simple path, the SVG path,
1392         and the Qt implementation of the complex path.
1393
1394         Test: svg/custom/svg-fonts-in-html-linebreaks.html
1395
1396         * platform/graphics/Font.cpp:
1397         (WebCore::Font::normalizeSpaces): Helper function
1398         * platform/graphics/Font.h:
1399         * platform/graphics/FontFastPath.cpp:
1400         (WebCore::Font::glyphDataForCharacter): Use helper
1401         * platform/graphics/qt/FontQt.cpp:
1402         (WebCore::fromRawDataWithoutRef): Rename from "qstring"
1403         (WebCore::Font::drawComplexText): Use helper
1404         (WebCore::Font::floatWidthForComplexText): Use helper
1405         (WebCore::Font::offsetForPositionForComplexText): Use helper
1406         (WebCore::Font::selectionRectForComplexText): Use helper
1407         * platform/text/CharacterNames.h: Add enum for 0x0020
1408         * svg/SVGFont.cpp: Use helper to fix bug
1409         (WebCore::SVGTextRunWalker::walk):
1410
1411 2009-12-23  Kent Tamura  <tkent@chromium.org>
1412
1413         Reviewed by Darin Adler.
1414
1415         HTMLInputElement::valueAsDate getter support.
1416         https://bugs.webkit.org/show_bug.cgi?id=32876
1417
1418         To implement the valueAsDate getter,
1419         - Add a method to calculate milliseconds from 1970-01-01 to ISODateTime.
1420         - Introduce m_type field to ISODateTime.
1421
1422         Tests: fast/forms/input-valueasdate-date.html
1423                fast/forms/input-valueasdate-datetime.html
1424                fast/forms/input-valueasdate-datetimelocal.html
1425                fast/forms/input-valueasdate-month.html
1426                fast/forms/input-valueasdate-time.html
1427                fast/forms/input-valueasdate-week.html
1428
1429         * html/HTMLInputElement.cpp:
1430         (WebCore::HTMLInputElement::valueAsDate):
1431           Implement it with ISODateTime::millisecondsSinceEpoch().
1432         (WebCore::HTMLInputElement::formStringToISODateTime):
1433           Early exit for a null String. This avoids assertion failures in ISODateTime::parse*().
1434         * html/ISODateTime.cpp:
1435         (WebCore::ISODateTime::parseMonth): Sets m_type.
1436         (WebCore::ISODateTime::parseDate): ditto.
1437         (WebCore::ISODateTime::parseWeek): ditto.
1438         (WebCore::ISODateTime::parseTime): ditto.
1439         (WebCore::ISODateTime::parseDateTimeLocal): ditto.
1440         (WebCore::ISODateTime::parseDateTime): ditto.
1441         (WebCore::ISODateTime::millisecondsSinceEpochForTime): Added.
1442         (WebCore::ISODateTime::millisecondsSinceEpoch): Added.
1443         * html/ISODateTime.h:
1444         (WebCore::ISODateTime::ISODateTime):
1445         (WebCore::ISODateTime::invalidMilliseconds):
1446
1447 2009-12-22  Daniel Bates  <dbates@webkit.org>
1448
1449         Reviewed by Eric Seidel.
1450
1451         https://bugs.webkit.org/show_bug.cgi?id=32799
1452
1453         Renames enums in RenderStyleConstants::EListStyleType to conform to
1454         the WebKit Code Style Guidelines.
1455
1456         No functionality was changed. So, no new tests.
1457
1458         * css/CSSPrimitiveValueMappings.h:
1459         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1460         (WebCore::CSSPrimitiveValue::operator EListStyleType):
1461         * rendering/RenderListItem.cpp:
1462         (WebCore::RenderListItem::styleDidChange):
1463         * rendering/RenderListMarker.cpp:
1464         (WebCore::listMarkerText):
1465         (WebCore::RenderListMarker::paint):
1466         (WebCore::RenderListMarker::calcPrefWidths):
1467         (WebCore::RenderListMarker::updateMargins):
1468         (WebCore::RenderListMarker::getRelativeMarkerRect):
1469         * rendering/style/RenderStyle.h:
1470         (WebCore::InheritedFlags::initialListStyleType):
1471         * rendering/style/RenderStyleConstants.h:
1472         (WebCore::):
1473
1474 2009-12-22  James Su  <suzhe@chromium.org>
1475
1476         Reviewed by Darin Fisher.
1477
1478         [Chromium] Keyboard shortcut in dropdown not working.
1479         https://bugs.webkit.org/show_bug.cgi?id=32008
1480
1481         Consider PlatformKeyboardEvent::Char type event as character type
1482         event on all platforms. It fixes the "type ahead find" feature
1483         of the popup listbox on Linux and Mac platforms.
1484
1485         Merge the case-sensitive type ahead find fix from
1486         WebCore/dom/SelectElement.cpp. See
1487         https://bugs.webkit.org/show_bug.cgi?id=29103
1488
1489         * platform/chromium/PopupMenuChromium.cpp:
1490         (WebCore::isCharacterTypeEvent):
1491
1492 2009-12-22  Carol Szabo  <carol.szabo@nokia.com>
1493
1494         Reviewed by Eric Seidel.
1495
1496         [Qt] The "Search" input type is not rendered correctly when styled.
1497         https://bugs.webkit.org/show_bug.cgi?id=32417
1498
1499         There are no new tests because only pixel tests may be affected by
1500         this change and those changes can only be done on the build bot.
1501
1502         * platform/qt/RenderThemeQt.cpp:
1503         (WebCore::RenderThemeQt::paintSearchField):
1504         Since currently we paint the Search control as a QLineEdit, I have
1505         deferred painting to WebCore, as in the case of the text input so 
1506         that the painting is consistent.
1507
1508 2009-12-22  Yongjun Zhang  <yongjun.zhang@nokia.com>
1509
1510         Reviewed by Kenneth Rohde Christiansen.
1511
1512         https://bugs.webkit.org/show_bug.cgi?id=32121
1513         [Qt] implement ImageDecoderQt::clearFrameBufferCache().
1514        
1515         * platform/graphics/qt/ImageDecoderQt.cpp:
1516         (WebCore::ImageDecoderQt::initializeDecoder):
1517         (WebCore::ImageDecoderQt::setData):
1518         (WebCore::ImageDecoderQt::clearFrameBufferCache):
1519         * platform/graphics/qt/ImageDecoderQt.h:
1520
1521 2009-12-22  Nayan Kumar K  <nayankk@gmail.com>
1522
1523         Reviewed by Eric Seidel.
1524
1525         Fix assert failure with WML pages having 'Refresh' task in
1526         'onenterforward' event.
1527
1528         https://bugs.webkit.org/show_bug.cgi?id=30989
1529
1530         Writing Layout test is not possible. Please refer to the discussion
1531         in bug id #30989. A sample test case is attached in BugZilla.
1532
1533         * wml/WMLCardElement.cpp:
1534         (WebCore::WMLCardElement::handleIntrinsicEventIfNeeded):
1535
1536 2009-12-22  Darin Adler  <darin@apple.com>
1537
1538         Reviewed by Sam Weinig.
1539
1540         ASSERTION FAILED: m_numNodeListCaches
1541         https://bugs.webkit.org/show_bug.cgi?id=19526
1542         <rdar://problem/7431572>
1543
1544         Test: fast/dom/NodeList/adoptNode-node-list-cache.html
1545
1546         * dom/Node.cpp:
1547         (WebCore::Node::setDocument): Call removeNodeListCache on the old
1548         document and addNodeListCache on the new one if moving a node that
1549         has node lists.
1550
1551 2009-12-22  Darin Adler  <darin@apple.com>
1552
1553         First cut at fixing Windows build.
1554
1555         * WebCorePrefix.cpp: Touch it.
1556
1557 2009-12-22  Darin Adler  <darin@apple.com>
1558
1559         Reviewed by Mark Rowe.
1560
1561         Turn off datagrid by default, at least for all platforms Apple ships.
1562         The datagrid implementation isn't ready for general web use yet.
1563
1564         * Configurations/FeatureDefines.xcconfig: Turn off datagrid by default.
1565         * WebCore.vcproj/WebCoreCommon.vsprops: Ditto.
1566         * WebCore.vcproj/build-generated-files.sh: Ditto.
1567         * page/DOMWindow.idl: Sorted things here to touch the file to give
1568         the Windows build a slightly better chance of success.
1569
1570 2009-12-22  Darin Adler  <darin@apple.com>
1571
1572         Rubber stamped by Dan Bernstein.
1573
1574         * page/FrameView.h: Removed incorrect comment.
1575
1576 2009-12-22  Pavel Feldman  <pfeldman@chromium.org>
1577
1578         Reviewed by Timothy Hatcher.
1579
1580         Web Inspector: simplify highlighter definition.
1581
1582         https://bugs.webkit.org/show_bug.cgi?id=32869
1583
1584         * inspector/front-end/CSSSourceSyntaxHighlighter.js:
1585         (WebInspector.CSSSourceSyntaxHighlighter):
1586         * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js:
1587         (WebInspector.JavaScriptSourceSyntaxHighlighter.):
1588         (WebInspector.JavaScriptSourceSyntaxHighlighter):
1589         * inspector/front-end/SourceSyntaxHighlighter.js:
1590         (WebInspector.SourceSyntaxHighlighter.prototype.lex):
1591         * inspector/front-end/utilities.js:
1592         ():
1593
1594 2009-12-21  Darin Adler  <darin@apple.com>
1595
1596         Reviewed by Sam Weinig.
1597
1598         Reentrancy problem with selection in some edge cases.
1599         https://bugs.webkit.org/show_bug.cgi?id=32842
1600         rdar://problem/7449974
1601
1602         Test: fast/forms/selection-layout-reentry-strange-case.html
1603
1604         Move the selection display update process done in the
1605         selectionLayoutChanged function into the layout timer
1606         instead of doing it immediately when selection changes occur.
1607
1608         * editing/SelectionController.cpp:
1609         (WebCore::SelectionController::SelectionController):
1610         Initialize m_needsDisplayUpdate to false.
1611         (WebCore::SelectionController::setSelection): Call
1612         the new setNeedsDisplayUpdate function instead of the old
1613         badly named Frame::selectionLayoutChanged function.
1614         (WebCore::SelectionController::setNeedsDisplayUpdate):
1615         Set m_needsDisplayUpdate. If it is just becoming true, then
1616         call FrameView::scheduleRelayout.
1617
1618         * editing/SelectionController.h: Added setNeedsDisplayUpdate,
1619         needsDisplayUpdate, and m_needsDisplayUpdate.
1620
1621         * page/Frame.cpp:
1622         (WebCore::Frame::setCaretVisible): Call setNeedsDisplayUpdate.
1623         (WebCore::Frame::selectionLayoutChanged): Call
1624         setNeedsDisplayUpdate to set it to false, since this is the
1625         function that performs "selection display update". Later I want
1626         to rename this function.
1627
1628         * page/FrameView.cpp:
1629         (WebCore::FrameView::needsLayout): Add a new clause, since
1630         we need a call to layout if needsDisplayUpdate is true.
1631
1632 2009-12-22  Kwang Yul Seo  <skyul@company100.net>
1633
1634         Reviewed by Darin Adler.
1635
1636         Allocate RemoteFontStream on the heap
1637         https://bugs.webkit.org/show_bug.cgi?id=32850
1638
1639         RemoteFontStream is allocated on the stack, so its memory is freed
1640         immediately when FontCustomPlatformData::createFontCustomPlatformData
1641         returns. 
1642
1643         SkTypeface::CreateFromStream increments the reference count, but it keeps
1644         the pointer to the memory allocated on the stack which is not valid
1645         anymore.
1646
1647         RemoteFontStream is a descendant of SkRefCount and SkRefCount::unref
1648         invokes SkDELETE(this) internally once the reference count reaches zero.
1649         This means that SkRefCount-ed instances must be allocated on the heap.
1650
1651         * platform/graphics/chromium/FontCustomPlatformData.cpp:
1652         (WebCore::createFontCustomPlatformData):
1653
1654 2009-12-22  Kwang Yul Seo  <skyul@company100.net>
1655
1656         Reviewed by Darin Adler.
1657
1658         when condition COMPILER(RVCT) is fulfilled, we are trying to free a pointer to array allocated on the stack
1659         https://bugs.webkit.org/show_bug.cgi?id=32861
1660
1661         Don't free the pointer for COMPILER(RVCT).
1662
1663         * dom/XMLTokenizerLibxml2.cpp:
1664         (WebCore::XMLTokenizer::error):
1665
1666 2009-12-22  Sam Weinig  <sam@webkit.org>
1667
1668         Rubber-stamped by Dan Bernstein.
1669
1670         Remove no longer necessary experimental single view #ifdefs from Widget and
1671         ScrollView.
1672
1673         * page/Chrome.h:
1674         * page/mac/ChromeMac.mm:
1675         * platform/ScrollView.cpp:
1676         (WebCore::ScrollView::wheelEvent):
1677         * platform/Widget.cpp:
1678         * platform/Widget.h:
1679         * platform/mac/ScrollViewMac.mm:
1680         * platform/mac/WidgetMac.mm:
1681
1682 2009-12-21  Pavel Feldman  <pfeldman@chromium.org>
1683
1684         Reviewed by Timothy Hatcher.
1685
1686         Web Inspector: Do not lose original request for non-main resource redirects.
1687
1688         https://bugs.webkit.org/show_bug.cgi?id=32678
1689
1690         * inspector/InspectorResource.cpp:
1691         (WebCore::InspectorResource::appendRedirect):
1692         * inspector/front-end/Resource.js:
1693         (WebInspector.Resource):
1694         * inspector/front-end/inspector.js:
1695         (WebInspector.updateResource):
1696
1697 2009-12-21  Kwang Yul Seo  <skyul@company100.net>
1698
1699         Reviewed by Eric Seidel.
1700
1701         Use ASSERT instead of assert in image-decoders
1702         https://bugs.webkit.org/show_bug.cgi?id=32852
1703
1704         Other decoders use WTF's ASSERT macro.
1705         Follow this convention.
1706
1707         * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
1708         (WebCore::JPEGImageReader::decode):
1709         * platform/image-decoders/png/PNGImageDecoder.cpp:
1710         (WebCore::PNGImageDecoder::headerAvailable):
1711
1712 2009-12-21  Kwang Yul Seo  <skyul@company100.net>
1713
1714         Reviewed by Eric Seidel.
1715
1716         Use vsnprintf instead of vasprintf for RVCT.
1717         https://bugs.webkit.org/show_bug.cgi?id=32851
1718
1719         RVCT does not support vasprint, so use vsnprintf instead.
1720
1721         * dom/XMLTokenizerLibxml2.cpp:
1722         (WebCore::XMLTokenizer::error):
1723
1724 2009-12-21  Fumitoshi Ukai  <ukai@chromium.org>
1725
1726         Reviewed by Alexey Proskuryakov.
1727
1728         Invalid url should raise SYNTAX_ERR exception.
1729         https://bugs.webkit.org/show_bug.cgi?id=32700
1730
1731         Check url is valid in WebSocket::connect.
1732         Also log the detailed reason of websocket failures to console.
1733
1734         * websockets/WebSocket.cpp:
1735         (WebCore::encodeProtocolString):
1736         (WebCore::WebSocket::connect):
1737
1738 2009-12-21  Anders Carlsson  <andersca@apple.com>
1739
1740         Reviewed by Sam Weinig.
1741
1742         Make sure that we check for the right thread.
1743
1744         * platform/mac/WebCoreObjCExtras.mm:
1745         (WebCoreObjCScheduleDeallocateOnMainThread):
1746
1747 2009-12-21  Enrica Casucci  <enrica@apple.com>
1748
1749         Reviewed by Maciej Stachowiak.
1750
1751         REGRESSION(4.0.4-ToT): Indent deletes non highlighted text in gmail.
1752         <rdar://problem/7489326>
1753         https://bugs.webkit.org/show_bug.cgi?id=32843
1754         
1755         The fix for 7442387 did not handle the case where the end of paragraph
1756         is not a descendant of the computed outer block.
1757         Updated editing/execCommand/indent-with-style2.html to cover this case too.
1758
1759         * editing/CompositeEditCommand.cpp:
1760         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement): 
1761
1762 2009-12-21  Gavin Barraclough  <barraclough@apple.com>
1763
1764         Reviewed by Darin Adler.
1765
1766         https://bugs.webkit.org/show_bug.cgi?id=32831
1767         Replace UString::Rep implementation, following introduction of ropes to JSC.
1768
1769         * ForwardingHeaders/runtime/UStringImpl.h: Added.
1770             - add forwarding header.
1771
1772         * platform/text/StringImpl.cpp:
1773         (WebCore::StringImpl::ustring):
1774             - order of arguments to UString::Rep constructor for shared strings changed.
1775
1776 2009-12-18  Nate Chapin  <japhet@chromium.org>
1777
1778         Reviewed by Adam barth.
1779
1780         Generate V8 bindings non-constructor callback declarations 
1781         in CodeGeneratorV8.pm instead of manually declaring them in
1782         V8CustomBinding.h.
1783
1784         https://bugs.webkit.org/show_bug.cgi?id=32638
1785
1786         * bindings/scripts/CodeGeneratorV8.pm:
1787         * bindings/v8/V8DOMWrapper.cpp:
1788         * bindings/v8/custom/V8AbstractWorkerCustom.cpp:
1789         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
1790         * bindings/v8/custom/V8ClipboardCustom.cpp:
1791         * bindings/v8/custom/V8ConsoleCustom.cpp:
1792         * bindings/v8/custom/V8CustomBinding.h:
1793         * bindings/v8/custom/V8DOMApplicationCacheCustom.cpp:
1794         * bindings/v8/custom/V8DOMParserConstructor.cpp:
1795         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1796         * bindings/v8/custom/V8DatabaseCustom.cpp:
1797         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
1798         * bindings/v8/custom/V8DocumentCustom.cpp:
1799         * bindings/v8/custom/V8GeolocationCustom.cpp:
1800         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1801         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
1802         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
1803         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1804         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1805         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1806         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
1807         * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
1808         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
1809         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1810         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1811         * bindings/v8/custom/V8HTMLPlugInElementCustom.h: Added.
1812         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1813         * bindings/v8/custom/V8HistoryCustom.cpp:
1814         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1815         * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
1816         * bindings/v8/custom/V8LocationCustom.cpp:
1817         * bindings/v8/custom/V8MessageChannelConstructor.cpp:
1818         * bindings/v8/custom/V8MessageEventCustom.cpp:
1819         * bindings/v8/custom/V8MessagePortCustom.cpp:
1820         * bindings/v8/custom/V8NodeCustom.cpp:
1821         * bindings/v8/custom/V8NodeFilterCustom.cpp:
1822         * bindings/v8/custom/V8NodeIteratorCustom.cpp:
1823         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
1824         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1825         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
1826         * bindings/v8/custom/V8SVGElementInstanceCustom.cpp:
1827         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1828         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
1829         * bindings/v8/custom/V8SharedWorkerCustom.cpp:
1830         * bindings/v8/custom/V8TreeWalkerCustom.cpp:
1831         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
1832         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
1833         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
1834         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
1835         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1836         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
1837         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
1838         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
1839         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
1840         * bindings/v8/custom/V8WebKitCSSMatrixConstructor.cpp:
1841         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
1842         * bindings/v8/custom/V8WebSocketCustom.cpp:
1843         * bindings/v8/custom/V8WorkerContextCustom.cpp:
1844         * bindings/v8/custom/V8WorkerCustom.cpp:
1845         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
1846         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1847         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp:
1848         * bindings/v8/custom/V8XMLSerializerConstructor.cpp:
1849         * bindings/v8/custom/V8XPathEvaluatorConstructor.cpp:
1850         * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
1851
1852 2009-12-21  Nate Chapin  <japhet@chromium.org>
1853
1854         Rubber-stamped by Darin Adler.
1855
1856         Revert r52446 due to crashiness.
1857
1858         https://bugs.webkit.org/show_bug.cgi?id=32839
1859
1860         * loader/DocumentThreadableLoader.cpp:
1861         (WebCore::DocumentThreadableLoader::loadRequest):
1862         * loader/FrameLoader.cpp:
1863         (WebCore::FrameLoader::FrameLoader):
1864         (WebCore::FrameLoader::stopLoading):
1865         (WebCore::FrameLoader::loadURL):
1866         (WebCore::FrameLoader::loadWithDocumentLoader):
1867         (WebCore::FrameLoader::stopAllLoaders):
1868         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
1869         (WebCore::FrameLoader::pageHidden):
1870         * loader/FrameLoader.h:
1871         (WebCore::FrameLoader::suppressOpenerInNewFrame):
1872         * loader/Request.cpp:
1873         (WebCore::Request::Request):
1874         (WebCore::Request::~Request):
1875         * loader/Request.h:
1876         * loader/SubresourceLoader.cpp:
1877         (WebCore::SubresourceLoader::create):
1878         * loader/SubresourceLoader.h:
1879         * loader/loader.cpp:
1880         (WebCore::Loader::load):
1881         (WebCore::Loader::cancelRequests):
1882         (WebCore::Loader::Host::servePendingRequests):
1883         (WebCore::Loader::Host::cancelPendingRequests):
1884         (WebCore::Loader::Host::cancelRequests):
1885
1886 2009-12-19  Kent Tamura  <tkent@chromium.org>
1887
1888         Reviewed by Adam Barth.
1889
1890         Add support for V8 Date binding.
1891         https://bugs.webkit.org/show_bug.cgi?id=32699
1892
1893         This implements the same behavior as the recent change of
1894         CodeGeneratorJS.pm and JSDOMBinding.cpp.
1895
1896         * bindings/scripts/CodeGeneratorV8.pm:
1897           Produce toWebCoreDate() or v8DateOrNull() for Date type.
1898         * bindings/v8/V8Binding.cpp:
1899         (WebCore::toWebCoreDate):
1900           Converts a JavaScript object to a double representing Date.
1901         (WebCore::v8DateOrNull):
1902           Converts a double representing Date to a JavaScript Date object or null.
1903         * bindings/v8/V8Binding.h: Declare toWebCoreDate() and v8DateOrNull().
1904         * html/HTMLInputElement.idl: Delete V8_BINGIN exclusion for valueAsDate.
1905
1906 2009-12-21  Darin Adler  <darin@apple.com>
1907
1908         Reviewed by Mark Rowe.
1909
1910         Renamed m_sel to m_selection. Used do-webcore-rename.
1911
1912         * editing/SelectionController.cpp:
1913         (WebCore::SelectionController::setSelection):
1914         (WebCore::SelectionController::nodeWillBeRemoved):
1915         (WebCore::SelectionController::willBeModified):
1916         (WebCore::SelectionController::directionOfEnclosingBlock):
1917         (WebCore::SelectionController::modifyExtendingRight):
1918         (WebCore::SelectionController::modifyExtendingForward):
1919         (WebCore::SelectionController::modifyMovingRight):
1920         (WebCore::SelectionController::modifyMovingForward):
1921         (WebCore::SelectionController::modifyExtendingLeft):
1922         (WebCore::SelectionController::modifyExtendingBackward):
1923         (WebCore::SelectionController::modifyMovingLeft):
1924         (WebCore::SelectionController::modifyMovingBackward):
1925         (WebCore::SelectionController::modify):
1926         (WebCore::SelectionController::expandUsingGranularity):
1927         (WebCore::SelectionController::xPosForVerticalArrowNavigation):
1928         (WebCore::SelectionController::setBase):
1929         (WebCore::SelectionController::setExtent):
1930         (WebCore::SelectionController::layout):
1931         (WebCore::SelectionController::caretRenderer):
1932         (WebCore::SelectionController::invalidateCaretRect):
1933         (WebCore::SelectionController::paintCaret):
1934         (WebCore::SelectionController::debugRenderer):
1935         (WebCore::SelectionController::contains):
1936         (WebCore::SelectionController::selectAll):
1937         (WebCore::SelectionController::formatForDebugger):
1938         (WebCore::SelectionController::showTreeForThis):
1939         * editing/SelectionController.h:
1940         * editing/gtk/SelectionControllerGtk.cpp:
1941         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1942         * editing/mac/SelectionControllerMac.mm:
1943         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1944         Let the script do its thing. Made sure no tests broke.
1945
1946 2009-12-21  Carol Szabo  <carol.szabo@nokia.com>
1947
1948         Reviewed by Darin Adler.
1949
1950         Inconsistent use of counterName and identifier in CSS counter code and loss of information about the counter type.
1951         https://bugs.webkit.org/show_bug.cgi?id=31814
1952
1953         No new tests because there are no functional changes in this patch.
1954
1955         * rendering/CounterNode.cpp:
1956         (WebCore::CounterNode::CounterNode):
1957         (WebCore::CounterNode::computeCountInParent):
1958         (WebCore::showTreeAndMark):
1959         * rendering/RenderCounter.cpp:
1960         (WebCore::planCounter):
1961         (WebCore::findPlaceForCounter):
1962         (WebCore::makeCounterNode):
1963         (WebCore::RenderCounter::originalText):
1964         Changed to use identifier instead of counterName and actsAsReset or hasResetType, as appropriate instead of isReset.
1965         * rendering/CounterNode.h:
1966         (WebCore::CounterNode::actsAsReset):
1967         (WebCore::CounterNode::hasResetType):
1968
1969 2009-12-21  Dirk Schulze  <krit@webkit.org>
1970
1971         Reviewed by Darin Adler and Nikolas Zimmermann.
1972
1973         Speed-up SVG Masking
1974         https://bugs.webkit.org/show_bug.cgi?id=32738
1975
1976         This patch makes SVG Masking faster. The luminance calculaton of the ImageBuffer,
1977         that is created by pixel manipulation, got optimized. The ImageBuffer and it's
1978         luminance is created once now, not on every call of applyMask.
1979         The size of the intermediate ImageBuffer depends on the visible area now and is
1980         clipped by the mask rect.
1981         
1982         The patch doesn't change functionality so no new tests needed.
1983         The new ImageBuffer handling in Mask causes two updates of test results. The pixel
1984         tests and LayoutTests pass, but the checksum doesn't match.
1985
1986         * svg/SVGMaskElement.cpp:
1987         (WebCore::SVGMaskElement::drawMaskerContent):
1988         * svg/graphics/SVGResourceMasker.cpp:
1989         (WebCore::SVGResourceMasker::applyMask):
1990
1991 2009-12-21  Andreas Kling  <andreas.kling@nokia.com>
1992
1993         Reviewed by Darin Adler.
1994
1995         Fix assertion failure when dragging an SVG image.
1996         https://bugs.webkit.org/show_bug.cgi?id=32511
1997
1998         Test: fast/images/drag-svg-as-image.html
1999
2000         * svg/graphics/SVGImage.cpp:
2001         (WebCore::SVGImage::filenameExtension): Return "svg"
2002         * svg/graphics/SVGImage.h:
2003
2004 2009-12-17  Philippe Normand  <pnormand@igalia.com>
2005
2006         Reviewed by Xan Lopez.
2007
2008         [GTK] G_OBJECT() cast is not necessary for signals connection and properties access
2009         https://bugs.webkit.org/show_bug.cgi?id=32661
2010
2011         Removed useless calls to the G_OBJECT() macro and replaced NULL
2012         occurences with a SENTINEL macro.
2013
2014         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
2015         (WebCore::MediaPlayerPrivate::hasVideo):
2016         (WebCore::MediaPlayerPrivate::hasAudio):
2017         (WebCore::MediaPlayerPrivate::setVolume):
2018         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
2019
2020 2009-12-21  Nate Chapin  <japhet@chromium.org>
2021
2022         Reviewed by Darin Adler.
2023
2024         If an image load is started during an unload or beforeunload event, run it
2025         asynchronously (and allow it to outlive its page) so navigation can continue 
2026         while the load completes.
2027
2028         https://bugs.webkit.org/show_bug.cgi?id=30457
2029
2030         Tests: http/tests/navigation/image-load-in-beforeunload-handler.html
2031                http/tests/navigation/image-load-in-unload-handler.html
2032
2033         * loader/DocumentThreadableLoader.cpp:
2034         (WebCore::DocumentThreadableLoader::loadRequest): 
2035         * loader/FrameLoader.cpp: Rename m_unloadEventBeingDispatched to m_isDispatchingUnloadEvent.
2036         (WebCore::FrameLoader::FrameLoader):
2037         (WebCore::FrameLoader::stopLoading):
2038         (WebCore::FrameLoader::loadURL):
2039         (WebCore::FrameLoader::loadWithDocumentLoader):
2040         (WebCore::FrameLoader::stopAllLoaders):
2041         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Set m_isDispatchingBeforeUnloadEvent.
2042         (WebCore::FrameLoader::pageHidden):
2043         * loader/FrameLoader.h:
2044         (WebCore::FrameLoader::isDispatchingUnloadFamilyEvent): Added.
2045         * loader/Request.cpp:
2046         (WebCore::Request::Request): Add OutlivePagePolicy to constructor parameters
2047         * loader/Request.h:
2048         (WebCore::): Add OutlivePagePolicy enum.
2049         (WebCore::Request::shouldOutlivePage): Added.
2050         (WebCore::Request::frame): Added.
2051         * loader/SubresourceLoader.cpp:
2052         (WebCore::SubresourceLoader::create): Change one of the security checks to an outlive page check.
2053         * loader/SubresourceLoader.h:
2054         * loader/loader.cpp:
2055         (WebCore::Loader::load): Add OutlivePagePolicy to Request constructor call,
2056              ensure requests that should outlive page are done asynchronously.
2057         (WebCore::Loader::cancelRequests): Remove ending ASSERT since it will now be hard to predict how
2058              many requests might possibly outlive a cancel in every case.
2059         (WebCore::Loader::Host::servePendingRequests): Use the correct frame in the case of a request outliving its page.
2060         (WebCore::Loader::Host::cancelPendingRequests): Ensure we don't cancel request that should outlive their page.
2061         (WebCore::Loader::Host::cancelRequests): Ensure we don't cancel request that should outlive their page.
2062
2063 2009-12-18  Adam Roben  <aroben@apple.com>
2064
2065         Fix Windows build warnings
2066
2067         * WebCore.vcproj/WebCore.vcproj: Exclude SVG files from the build that
2068         are compiled via SVGAllInOne.cpp.
2069
2070 2009-12-20  Pavel Feldman  <pfeldman@chromium.org>
2071
2072         Reviewed by Timothy Hatcher.
2073
2074         Web Inspector: Can’t copy outer html of selected node.
2075         Also adds "Copy as HTML" context menu item.
2076
2077         https://bugs.webkit.org/show_bug.cgi?id=32802
2078
2079         * English.lproj/localizedStrings.js:
2080         * inspector/front-end/ElementsTreeOutline.js:
2081         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2082         * inspector/front-end/inspector.js:
2083         (WebInspector.documentCanCopy):
2084
2085 2009-12-20  Pavel Feldman  <pfeldman@chromium.org>
2086
2087         Reviewed by Eric Seidel.
2088
2089         Web Inspector: extract syntax highlighters into separate files.
2090
2091         https://bugs.webkit.org/show_bug.cgi?id=32803
2092
2093         * WebCore.gypi:
2094         * WebCore.vcproj/WebCore.vcproj:
2095         * inspector/front-end/CSSSourceSyntaxHighlighter.js: Added.
2096         (WebInspector.CSSSourceSyntaxHighlighter):
2097         * inspector/front-end/JavaScriptSourceSyntaxHighlighter.js: Added.
2098         (WebInspector.JavaScriptSourceSyntaxHighlighter):
2099         (WebInspector.JavaScriptSourceSyntaxHighlighter.):
2100         * inspector/front-end/SourceFrame.js:
2101         * inspector/front-end/SourceSyntaxHighlighter.js: Added.
2102         (WebInspector.SourceSyntaxHighlighter):
2103         (WebInspector.SourceSyntaxHighlighter.prototype.createSpan):
2104         (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk):
2105         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine):
2106         (WebInspector.SourceSyntaxHighlighter.prototype.process):
2107         (WebInspector.SourceSyntaxHighlighter.prototype.lex):
2108         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
2109         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
2110         * inspector/front-end/WebKit.qrc:
2111         * inspector/front-end/inspector.html:
2112
2113 2009-12-18  Julien Chaffraix  <jchaffraix@pleyo.com>
2114
2115         Reviewed by Darin Adler.
2116
2117         defersLoading is disabled in current libcURL.
2118         https://bugs.webkit.org/show_bug.cgi?id=32707
2119
2120         Basically this change reverts r49577 that was totally wrong.
2121         According to curlver.h, LIBCURL_VERSION_NUM is a
2122         "6-digit (24 bits) hexadecimal number".
2123
2124         The check should be against 0x071200 (7.18) as it was originally the case.
2125
2126        * platform/network/curl/ResourceHandleManager.cpp:
2127         (WebCore::ResourceHandleManager::initializeHandle): Use the right check.
2128         * platform/network/curl/ResourceHandleCurl.cpp:
2129         (WebCore::ResourceHandle::setDefersLoading): Ditto. Also removed a print
2130         to use a LOG_ERROR instead.
2131  
2132 2009-12-20  Kent Tamura  <tkent@chromium.org>
2133
2134         Reviewed by Darin Adler.
2135
2136         Add support for JavaScriptCore Date binding.
2137         https://bugs.webkit.org/show_bug.cgi?id=32698
2138
2139         This is needed for HTMLInputElement::valueAsDate and
2140         HTMLTimeElement::valueAsDate.
2141
2142         A Date instance is mapped to a double value in C++.
2143         - If null or undefined is set to a JavaScript property, C++ setter
2144           function receives NaN.
2145         - If a getter C++ function returns NaN or infinity, a JavaScript
2146           property returns null.
2147
2148         Test: fast/forms/input-valueasdate.html
2149
2150         * bindings/js/JSDOMBinding.cpp:
2151         (WebCore::jsDateOrNull): Implement the above.
2152         (WebCore::valueToDate): ditto.
2153         * bindings/js/JSDOMBinding.h: Declare them.
2154         * bindings/scripts/CodeGeneratorJS.pm: Produce jsDateOrNull() or
2155           valueToDate() for Date type.
2156         * html/HTMLInputElement.cpp:
2157         (WebCore::HTMLInputElement::valueAsDate): Temporal implementation.
2158         (WebCore::HTMLInputElement::setValueAsDate): ditto.
2159         * html/HTMLInputElement.h:
2160         * html/HTMLInputElement.idl: Declare valueAsDate.
2161
2162 2009-12-20  Kent Tamura  <tkent@chromium.org>
2163
2164         Reviewed by Darin Adler.
2165
2166         Introduce the followings:
2167           - ::-webkit-inner-spin-button pseudo CSS selector
2168           - ::-webkit-outer-spin-button pseudo CSS selector
2169           - new appearance type: inner-spin-button
2170           - new appearance type: outer-spin-button
2171         They're going to be used for <input type=number> UI.
2172         https://bugs.webkit.org/show_bug.cgi?id=31821
2173
2174         Inner-spin-button will be used for Windows, and outer-spin-button
2175         will be used for Mac. A spin-button will represent a pair of an
2176         increasing button part and a decreasing button part. SpinUpState,
2177         which is defined in ThemeTypes.h, will be used to distinguish
2178         these two parts.
2179
2180         The outer-spin-button implementation will use NSStepperCell.
2181         NSStepperCell represents the pair of the parts and we can't draw them
2182         independently. So a spin-button also represents the pair of the parts.
2183
2184         This change has no tests.  The following changes with tests will cover.
2185
2186         * css/CSSPrimitiveValueMappings.h:
2187         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2188         * css/CSSSelector.cpp:
2189         (WebCore::CSSSelector::extractPseudoType):
2190         * css/CSSSelector.h:
2191         (WebCore::CSSSelector::):
2192         * css/CSSStyleSelector.cpp:
2193         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2194         * css/CSSValueKeywords.in:
2195         * css/html.css:
2196         * platform/ThemeTypes.h:
2197         (WebCore::ControlState): Add SpinUpState.
2198         (WebCore::ControlPart): Add InnerSpinButtonPart and OuterSpinButtonPart.
2199         * rendering/RenderTheme.cpp:
2200         (WebCore::RenderTheme::adjustStyle):
2201         (WebCore::RenderTheme::paint):
2202         (WebCore::RenderTheme::adjustInnerSpinButtonStyle): Add an empty implementation.
2203         (WebCore::RenderTheme::adjustOuterSpinButtonStyle): Add an empty implementation.
2204         * rendering/RenderTheme.h:
2205         (WebCore::RenderTheme::paintInnerSpinButton): Add an empty implementation.
2206         (WebCore::RenderTheme::paintOuterSpinButton): Add an empty implementation.
2207         * rendering/style/RenderStyleConstants.h:
2208         (WebCore::PseudoId): Add INNER_SPIN_BUTTON and OUTER_SPIN_BUTTON.
2209
2210 2009-12-20  Nayan Kumar K  <nayankk@gmail.com>
2211
2212         Reviewed by Darin Adler.
2213
2214         Fix for compilation errors in WML module, due to the changeset #52314.
2215         https://bugs.webkit.org/show_bug.cgi?id=32786
2216
2217         No new tests, this is compilation error fix.
2218
2219         * wml/WMLDocument.cpp:
2220         * wml/WMLPageState.cpp:
2221         * wml/WMLPageState.h:
2222
2223 2009-12-20  Dan Bernstein  <mitz@apple.com>
2224
2225         Reviewed by Mark Rowe.
2226
2227         <rdar://problem/7487689> REGRESSION (r52203): Inspector console uses
2228         Monaco on Snow Leopard
2229         https://bugs.webkit.org/show_bug.cgi?id=32775
2230
2231         * inspector/front-end/inspector.css: Use the default monospace family
2232         and size.
2233
2234 2009-12-20  Martin Robinson  <martin.james.robinson@gmail.com>
2235
2236         Reviewed by Xan Lopez.
2237
2238         [GTK] Remove more GTK+ and GLib headers from WebCore
2239         https://bugs.webkit.org/show_bug.cgi?id=32795
2240
2241         Remove most GTK+ and GLib includes from WebCore headers.
2242
2243         * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
2244         * platform/gtk/PasteboardHelper.h:
2245         * platform/gtk/RenderThemeGtk.cpp:
2246         * platform/gtk/RenderThemeGtk.h:
2247         * platform/gtk/ScrollbarGtk.cpp:
2248         * platform/gtk/ScrollbarThemeGtk.h:
2249         * platform/gtk/gtk2drawing.c:
2250         * platform/gtk/gtkdrawing.h:
2251
2252 2009-12-20  Kevin Ollivier  <kevino@theolliviers.com>
2253
2254         [wx] build fixes after recent changes.
2255
2256         * bindings/BindingSecurityBase.cpp: Removed V8 header in common code.
2257         * platform/wx/ContextMenuWx.cpp: Added missing header.
2258         * plugins/mac/PluginViewMac.cpp: Added missing header.
2259
2260 2009-12-20  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2261
2262         Reviewed by Xan Lopez.
2263
2264         Hopefully fix the assertion we are hitting by not forcing updating
2265         the state of scrollbars when setting the adjustments. This was
2266         leading to a premature layout.
2267
2268         fast/dom/open-and-close-by-DOM.html
2269         fast/dom/Window/closure-access-after-navigation-window.html
2270         fast/harness/use-page-cache.html
2271
2272         * platform/gtk/ScrollViewGtk.cpp:
2273         (WebCore::ScrollView::setGtkAdjustments):
2274
2275 2009-12-20  Pavel Feldman  <pfeldman@chromium.org>
2276
2277         Reviewed by Darin Adler.
2278
2279         Web Inspector: Constrain the number of messages the inspector shows.
2280
2281         https://bugs.webkit.org/show_bug.cgi?id=20919
2282
2283         * English.lproj/localizedStrings.js:
2284         * inspector/InspectorController.cpp:
2285         (WebCore::InspectorController::InspectorController):
2286         (WebCore::InspectorController::addConsoleMessage):
2287         (WebCore::InspectorController::clearConsoleMessages):
2288         (WebCore::InspectorController::populateScriptObjects):
2289         * inspector/InspectorController.h:
2290         * inspector/InspectorFrontend.cpp:
2291         (WebCore::InspectorFrontend::updateConsoleMessageExpiredCount):
2292         * inspector/InspectorFrontend.h:
2293         * inspector/front-end/inspector.js:
2294         (WebInspector.updateConsoleMessageExpiredCount):
2295
2296 2009-12-20  Andrei Popescu  <andreip@google.com>
2297
2298         Reviewed by Adam Barth.
2299
2300         [Android] Android needs implementation of setCookies, cookies and cookiesEnabled functions.
2301         https://bugs.webkit.org/show_bug.cgi?id=32559
2302
2303         Add implementation of the cookie functions.
2304         Fix a crash caused by dereferencing a 0 MainResourceLoader pointer
2305         in ResourceHandle::start().
2306
2307         No new tests, this is platform code.
2308
2309         * platform/android/PlatformBridge.h:
2310         * platform/network/android/AuthenticationChallenge.h: Added.
2311         * platform/network/android/CookieJarAndroid.cpp: Added.
2312         (WebCore::setCookies):
2313         (WebCore::cookies):
2314         (WebCore::cookiesEnabled):
2315         * platform/network/android/ResourceHandleAndroid.cpp:
2316         (WebCore::ResourceHandle::start):
2317
2318 2009-12-19  Eric Seidel  <eric@webkit.org>
2319
2320         No review, rolling out r52395.
2321         http://trac.webkit.org/changeset/52395
2322
2323         * svg/SVGMaskElement.cpp:
2324         (WebCore::SVGMaskElement::drawMaskerContent):
2325         * svg/SVGMaskElement.h:
2326         * svg/graphics/SVGResourceMasker.cpp:
2327         (WebCore::SVGResourceMasker::applyMask):
2328         * svg/graphics/SVGResourceMasker.h:
2329
2330 2009-12-19  Adam Barth  <abarth@webkit.org>
2331
2332         No review, rolling out r52399.
2333         http://trac.webkit.org/changeset/52399
2334
2335         * websockets/WebSocket.cpp:
2336         (WebCore::WebSocket::connect):
2337
2338 2009-12-19  Adam Barth  <abarth@webkit.org>
2339
2340         Reviewed by Eric Seidel.
2341
2342         Added a missing "not".
2343
2344         Test: http/tests/security/xss-DENIED-window-open-javascript-url.html
2345
2346         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2347         (WebCore::createWindow):
2348
2349 2009-12-19  Fumitoshi Ukai  <ukai@chromium.org>
2350
2351         Reviewed by Alexey Proskuryakov.
2352
2353         Invalid url should raise SYNTAX_ERR exception.
2354         https://bugs.webkit.org/show_bug.cgi?id=32700
2355
2356         Check url is valid in WebSocket::connect.
2357         Also log the detailed reason of websocket failures to console.
2358
2359         * websockets/WebSocket.cpp:
2360         (WebCore::WebSocket::connect):
2361
2362 2009-12-19  Dan Bernstein  <mitz@apple.com>
2363
2364         Reviewed by Darin Adler.
2365
2366         REGRESSION: Up/down arrow keys do not step numeric CSS property values
2367         https://bugs.webkit.org/show_bug.cgi?id=32776
2368
2369         * inspector/front-end/inspector.js:
2370         (WebInspector.documentKeyDown): Call the focused element’s
2371         handleKeyEvent method.
2372
2373 2009-12-19  Dirk Schulze  <krit@webkit.org>
2374
2375         Reviewed by Nikolas Zimmermann.
2376
2377         Speed-up SVG Masking
2378         https://bugs.webkit.org/show_bug.cgi?id=32738
2379
2380         This patch makes SVG Masking faster. At the moment we create a new ImageBuffer
2381         and copy the complete pixel array. That is rather inefficient. This patch
2382         uses the mask image directly.
2383         It also bounds the direct pixel manipultation to the viewable area to minimize
2384         the calculation of the mask.
2385
2386         No change in functionality. So no new test.
2387
2388         * svg/SVGMaskElement.cpp:
2389         (WebCore::SVGMaskElement::drawMaskerContent):
2390         * svg/SVGMaskElement.h:
2391         * svg/graphics/SVGResourceMasker.cpp:
2392         (WebCore::SVGResourceMasker::applyMask):
2393         * svg/graphics/SVGResourceMasker.h:
2394
2395 2009-12-19  Dirk Schulze  <krit@webkit.org>
2396
2397         Reviewed by Nikolas Zimmermann.
2398
2399         Add tests to check filter, mask, clip, opacity and marker ordering
2400         https://bugs.webkit.org/show_bug.cgi?id=14010
2401
2402         The right ordering for applying effects on objects in SVG is filters,
2403         clipper/masker and opacity. This patch fixes the order of filter and
2404         clipper/masker. Opacity and marker need another test.
2405         This change is according to the SVG Specification:
2406         http://www.w3.org/TR/SVG11/render.html#Elements
2407
2408         Test: svg/filters/filter-clip.svg
2409
2410         * rendering/SVGRenderSupport.cpp:
2411         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2412
2413 2009-12-19  Evan Martin  <evan@chromium.org>
2414
2415         Reviewed by Gustavo Noronha Silva.
2416
2417         Revert my attempt at making --disable-geolocation work; it is
2418         more complicated than I anticipated.  (It passed on the build bots
2419         because they build with --enable-geolocation.)
2420
2421         * GNUmakefile.am:
2422
2423 2009-12-19  MORITA Hajime  <morrita@gmail.com>
2424
2425         Reviewed by Darin Adler.
2426
2427         WebCore::Range::surroundContents NULL pointer crash.
2428
2429         https://bugs.webkit.org/show_bug.cgi?id=31684
2430
2431         Test: fast/dom/Range/31684.html
2432
2433         * dom/Range.cpp:
2434         (WebCore::Range::surroundContents):
2435         throw exception when parentOfNewParent->parentNode() is NULL.
2436
2437 2009-12-19  Christian Dywan  <christian@twotoasts.de>
2438
2439         Reviewed by Gustavo Noronha Silva.
2440
2441         Don't use an icon for all spelling guess menu items.
2442
2443         * platform/gtk/ContextMenuItemGtk.cpp:
2444         (WebCore::gtkStockIDFromContextMenuAction):
2445
2446 2009-12-19  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
2447
2448         Unreviewed build fix. Missing \.
2449
2450         * GNUmakefile.am:
2451
2452 2009-12-19  Evan Martin  <evan@chromium.org>
2453
2454         Reviewed by Gustavo Noronha Silva.
2455
2456         Make --disable-geolocation and --disable-svg work, by conditionally
2457         building the relevant files.
2458
2459         * GNUmakefile.am:
2460
2461 2009-12-18  Peter Kasting  <pkasting@google.com>
2462
2463         Reviewed by Simon Fraser.
2464
2465         Add a comment about some confusing code that otherwise would look like
2466         it might be a bug.
2467         https://bugs.webkit.org/show_bug.cgi?id=32534
2468
2469         * rendering/RenderLayer.cpp:
2470         (WebCore::RenderLayer::updateScrollInfoAfterLayout):
2471
2472 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
2473
2474         Not reviewed. Messed up the XCode file, trying to fix.
2475
2476         * WebCore.xcodeproj/project.pbxproj:
2477
2478 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
2479
2480         Not reviewed, fix typos in WebCore.xcodeproj.
2481
2482         * WebCore.xcodeproj/project.pbxproj:
2483
2484 2009-12-18  Nikolas Zimmermann  <nzimmermann@rim.com>
2485
2486         Reviewed by Eric Seidel.
2487
2488         SVGAngle / SVGPreserveAspectRatio should be POD types
2489         https://bugs.webkit.org/show_bug.cgi?id=32758
2490
2491         Convert SVGAngle / SVGPreserveAspectRatio to be non-refcounted types, just
2492         like it has been done for SVGMatrix / SVGLength before.
2493
2494         This patch prepares removing the special DOMObjectWithSVGContext hack.
2495         No change in functionality, thus no new tests.
2496
2497         * WebCore.xcodeproj/project.pbxproj: Add SVGNames.h to the 'Copy Generated Headers' phase, and set SVGAngle/SVGPreserveAspectRatio role to 'Private', so WebKit can access it.
2498         * bindings/scripts/CodeGenerator.pm: Recognize SVGAngle / SVGPreserveAspectRatio as new POD-types (similar to SVGLength)
2499         * bindings/scripts/CodeGeneratorJS.pm: Ditto. 
2500         * bindings/scripts/CodeGeneratorV8.pm: Ditto.
2501         * bindings/v8/V8Index.h: Ditto.
2502         * rendering/RenderSVGImage.cpp: All following changes, modify SVGAngle/SVGPreserveAspectRatio access, as they are non-refcounted now.
2503         (WebCore::RenderSVGImage::adjustRectsForAspectRatio):
2504         (WebCore::RenderSVGImage::paint):
2505         * rendering/RenderSVGImage.h:
2506         * svg/SVGAngle.h:
2507         * svg/SVGAngle.idl:
2508         * svg/SVGAnimatedTemplate.h:
2509         (WebCore::):
2510         * svg/SVGFEImageElement.cpp:
2511         (WebCore::SVGFEImageElement::SVGFEImageElement):
2512         (WebCore::SVGFEImageElement::parseMappedAttribute):
2513         * svg/SVGFitToViewBox.cpp:
2514         (WebCore::SVGFitToViewBox::viewBoxToViewTransform):
2515         (WebCore::SVGFitToViewBox::parseMappedAttribute):
2516         * svg/SVGFitToViewBox.h:
2517         * svg/SVGImageElement.cpp:
2518         (WebCore::SVGImageElement::SVGImageElement):
2519         (WebCore::SVGImageElement::parseMappedAttribute):
2520         * svg/SVGMarkerElement.cpp:
2521         (WebCore::SVGMarkerElement::SVGMarkerElement):
2522         (WebCore::SVGMarkerElement::parseMappedAttribute):
2523         (WebCore::SVGMarkerElement::setOrientToAuto):
2524         (WebCore::SVGMarkerElement::setOrientToAngle):
2525         (WebCore::SVGMarkerElement::canvasResource):
2526         * svg/SVGMarkerElement.h:
2527         * svg/SVGPatternElement.cpp:
2528         (WebCore::SVGPatternElement::SVGPatternElement):
2529         * svg/SVGPreserveAspectRatio.cpp:
2530         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
2531         (WebCore::SVGPreserveAspectRatio::getCTM):
2532         * svg/SVGPreserveAspectRatio.h:
2533         (WebCore::SVGPreserveAspectRatio::parsePreserveAspectRatio):
2534         * svg/SVGPreserveAspectRatio.idl:
2535         * svg/SVGSVGElement.cpp:
2536         (WebCore::SVGSVGElement::SVGSVGElement):
2537         (WebCore::SVGSVGElement::createSVGAngle):
2538         (WebCore::SVGSVGElement::inheritViewAttributes):
2539         * svg/SVGSVGElement.h:
2540         * svg/SVGSymbolElement.cpp:
2541         (WebCore::SVGSymbolElement::SVGSymbolElement):
2542         * svg/SVGViewElement.cpp:
2543         (WebCore::SVGViewElement::SVGViewElement):
2544         * svg/SVGViewSpec.cpp:
2545         (WebCore::SVGViewSpec::SVGViewSpec):
2546         (WebCore::SVGViewSpec::setPreserveAspectRatioString):
2547         (WebCore::SVGViewSpec::parseViewSpec):
2548
2549 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
2550
2551         Chromium build fix, no review.
2552
2553         * storage/chromium/DatabaseTrackerChromium.cpp:
2554
2555 2009-12-18  Brent Fulgham  <bfulgham@webkit.org>
2556
2557         Build fix, no review.
2558
2559         * platform/graphics/win/FontCacheWin.cpp:
2560         (WebCore::FontCache::createFontPlatformData): Correct my typo
2561           on the CG build.
2562
2563 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
2564
2565         Reviewed by Eric Seidel.
2566
2567         Make DatabaseTrackerChromium::removeOpenDatabase() send and IPC on
2568         the main thread when a database is being closed.
2569
2570         https://bugs.webkit.org/show_bug.cgi?id=32627
2571
2572         * storage/chromium/DatabaseTrackerChromium.cpp:
2573         (WebCore::removeOpenDatabaseOnMainThread):
2574         (WebCore::DatabaseTracker::removeOpenDatabase):
2575
2576 2009-12-18  Brent Fulgham  <bfulgham@webkit.org>
2577
2578         Build fix, no review.
2579
2580         * page/win/FrameCairoWin.cpp: Add missing include.
2581         * platform/graphics/win/FontCacheWin.cpp:
2582         (WebCore::FontCache::createFontPlatformData): Conditionalize
2583           Safari-only call.
2584
2585 2009-12-18  Dumitru Daniliuc  <dumi@chromium.org>
2586
2587         Reviewed by Dmitry Titov.
2588
2589         Move some code related to database closing from the destructor to
2590         the close() method. This would allow us to do things such as post
2591         tasks to other threads when a database closes, which cannot be
2592         done now, because we cannot increment the ref count to a database
2593         object when we're in its destructor.
2594
2595         https://bugs.webkit.org/show_bug.cgi?id=32626
2596
2597         * storage/Database.cpp:
2598         (WebCore::Database::~Database):
2599         (WebCore::Database::close):
2600
2601 2009-12-18  Jon Honeycutt  <jhoneycutt@apple.com>
2602
2603         REGRESSION(r52233): MSAA: Accessibility role of lists is wrong
2604
2605         https://bugs.webkit.org/show_bug.cgi?id=32736
2606
2607         Reviewed by Adam Roben.
2608
2609         Test: platform/win/accessibility/list-role.html
2610
2611         * accessibility/AccessibilityObject.h:
2612         (WebCore::AccessibilityObject::roleValueForMSAA):
2613         Return roleValue(), rather than m_role, as subclasses may override it.
2614
2615         * accessibility/AccessibilityRenderObject.cpp:
2616         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
2617         Fallback to roleValue(), rather than m_role, as it may be overriden.
2618
2619 2009-12-17  Jon Honeycutt  <jhoneycutt@apple.com>
2620
2621         MSAA: Accessibility role of list items is wrong
2622
2623         https://bugs.webkit.org/show_bug.cgi?id=32688
2624
2625         Reviewed by Adam Roben.
2626
2627         Test: platform/win/accessibility/list-item-role.html
2628
2629         * accessibility/AccessibilityObject.h:
2630         (WebCore::):
2631         Add a ListItemRole to the enum.
2632
2633         * accessibility/AccessibilityRenderObject.cpp:
2634         (WebCore::msaaRoleForRenderer):
2635         Return the role for the RenderObject, or UnknownRole if unknown.
2636         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
2637         Call msaaRoleForRenderer() to get the role. If it is UnknownRole, fall
2638         back to m_role.
2639
2640 2009-12-18  Simon Fraser  <simon.fraser@apple.com>
2641
2642         Reviewed by Darin Adler.
2643
2644         Crash when accessing webkitTransition property after setting webkitTransitionProperty with invalid value.
2645         https://bugs.webkit.org/show_bug.cgi?id=31559
2646         
2647         Fix an array bounds error when accessing the CSS value for a shorthand property that takes
2648         a comma-separated list, after the list for one of the component properties has been set to a different length.
2649
2650         Test: fast/css/shorthand-mismatched-list-crash.html
2651
2652         * css/CSSMutableStyleDeclaration.cpp:
2653         (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue):
2654
2655 2009-12-18  Simon Fraser  <simon.fraser@apple.com>
2656
2657         Reviewed by Mark Rowe.
2658
2659         Remove WebCore.ClientBasedGeolocation.exp from Sources, and remove two IDL files from Resources.
2660
2661         * WebCore.xcodeproj/project.pbxproj:
2662
2663 2009-12-18  Sam Weinig  <sam@webkit.org>
2664
2665         Fix mac Geolocation build.
2666
2667         * DerivedSources.make:
2668         * WebCore.ClientBasedGeolocation.exp: Added.
2669         * WebCore.xcodeproj/project.pbxproj:
2670         * page/Geolocation.h:
2671         * page/GeolocationError.h:
2672         (WebCore::GeolocationError::GeolocationError):
2673         * page/GeolocationPosition.h:
2674
2675 2009-12-18  Brian Weinstein  <bweinstein@apple.com>
2676
2677         Reviewed by Adam Roben.
2678
2679         Fixes <http://webkit.org/b/32613>.
2680         REGRESSION (r52008): Middle-clicking on a linked image starts a pan scroll,
2681         but should follow the link instead.
2682
2683         The node itself isn't the only possible node that can be a link (that was the
2684         original check), any of its ancestors could be links as well, we need to climb
2685         up the tree to see. Created a new function (enclosingAnchorNode), that finds a
2686         node's enclosing anchor element (if it exists), that we can share between RenderLayer
2687         and Node, and also added tests that test pan scrolling behavior in image maps.
2688
2689         Tests: platform/win/fast/events/panScroll-image-no-scroll.html
2690                platform/win/fast/events/panScroll-imageMap-href-no-scroll.html
2691                platform/win/fast/events/panScroll-imageMap-noHref-scroll.html
2692
2693         * dom/Node.cpp:
2694         (WebCore::Node::enclosingAnchorNode):
2695         (WebCore::Node::defaultEventHandler):
2696         * dom/Node.h:
2697         * rendering/RenderLayer.cpp:
2698         (WebCore::RenderLayer::hitTest):
2699
2700 2009-12-18  Benjamin Otte  <otte@gnome.org>
2701
2702         Reviewed by Xan Lopez.
2703
2704         [GTK] RemoveDashboard support. It's useless.
2705
2706         * GNUmakefile.am:
2707
2708 2009-12-18  Christian Dywan  <christian@twotoasts.de>
2709
2710         Reviewed by Xan Lopez.
2711
2712         [GTK] context menu overriding API is very limited
2713         https://bugs.webkit.org/show_bug.cgi?id=27546
2714
2715         Omit SearchWeb from the context menu in the GTK+ port.
2716
2717         * platform/ContextMenu.cpp:
2718         (WebCore::ContextMenu::populate):
2719
2720 2009-12-18  Sam Weinig  <sam@webkit.org>
2721
2722         Reviewed by Anders Carlsson.
2723
2724         Add export the new symbol in WebCoreSystemInterface.
2725
2726         * WebCore.base.exp:
2727         * platform/mac/WebCoreSystemInterface.h:
2728         * platform/mac/WebCoreSystemInterface.mm:
2729
2730 2009-12-18  Sam Weinig  <sam@webkit.org>
2731
2732         Reviewed by Anders Carlsson.
2733
2734         Forward declare NSMutableArray when not compiling for Objective-C.
2735
2736         * platform/mac/WebCoreSystemInterface.h:
2737
2738 2009-12-18  Gavin Barraclough  <barraclough@apple.com>
2739
2740         Reviewed by Sam Weinig.
2741
2742         https://bugs.webkit.org/show_bug.cgi?id=32720
2743         Replace UString addition/append with use of JSC::StringBuilder.
2744
2745         * ForwardingHeaders/runtime/StringBuilder.h: Added.
2746         * bindings/js/ScriptString.h:
2747         (WebCore::ScriptString::operator+=):
2748         * bridge/jni/jni_runtime.cpp:
2749         (appendClassName):
2750         (JavaMethod::signature):
2751         * inspector/InspectorController.cpp:
2752         (WebCore::InspectorController::addProfileFinishedMessageToConsole):
2753         (WebCore::InspectorController::addStartProfilingMessageToConsole):
2754         (WebCore::InspectorController::getCurrentUserInitiatedProfileName):
2755
2756 2009-12-18  Kenneth Russell  <kbr@google.com>
2757
2758         Reviewed by Darin Fisher.
2759
2760         Index validation for drawElements examines too many indices
2761         https://bugs.webkit.org/show_bug.cgi?id=32692
2762
2763         Test: fast/canvas/webgl/bug-32692.html
2764
2765         * html/canvas/WebGLRenderingContext.cpp:
2766         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
2767
2768 2009-12-18  Sam Weinig  <sam@webkit.org>
2769
2770         Reviewed by Anders Carlsson.
2771
2772         Update WebKitSystemInterface for <rdar://problem/7237059>.        
2773
2774         * platform/mac/WebCoreSystemInterface.h:
2775         * platform/mac/WebCoreSystemInterface.mm:
2776
2777 2009-12-18  Adam Roben  <aroben@apple.com>
2778
2779         GTK build fix
2780
2781         * plugins/gtk/PluginViewGtk.cpp: Added #include.
2782
2783 2009-12-18  Adam Roben  <aroben@apple.com>
2784
2785         Chromium build fix
2786
2787         * platform/chromium/PopupMenuChromium.cpp: Added #include.
2788
2789 2009-12-18  Adam Roben  <aroben@apple.com>
2790
2791         Chromium build fix
2792
2793         * html/HTMLLinkElement.cpp: Added #include.
2794
2795 2009-12-18  Adam Roben  <aroben@apple.com>
2796
2797         Qt build fix
2798
2799         * platform/qt/RenderThemeQt.cpp:
2800         * plugins/qt/PluginDataQt.cpp:
2801         * plugins/qt/PluginViewQt.cpp:
2802         Added #includes.
2803
2804 2009-12-18  Adam Roben  <aroben@apple.com>
2805
2806         V8 build fix
2807
2808         * bindings/v8/custom/V8DOMWindowCustom.cpp: Added #include.
2809
2810 2009-12-18  Adam Roben  <aroben@apple.com>
2811
2812         GTK (and others?) build fix
2813
2814         * platform/text/StringImpl.h: Added #include.
2815
2816 2009-12-18  Adam Roben  <aroben@apple.com>
2817
2818         Reduce #includes in a few high-use headers
2819
2820         Removed unnecessary #includes in these headers:
2821           - Frame.h
2822           - FrameWin.h
2823           - Node.h
2824           - Page.h
2825           - StringImpl.h
2826
2827         The rest of the patch is all adding #includes to source files that now
2828         require them.
2829
2830         Fixes <http://webkit.org/b/32718>.
2831
2832         Rubber-stamped by Anders Carlsson.
2833
2834         * dom/Node.h:
2835         * page/Frame.h:
2836         * page/Page.h:
2837         * page/win/FrameWin.h:
2838         * platform/text/StringImpl.h:
2839         Removed unnecessary #includes.
2840
2841         * accessibility/win/AXObjectCacheWin.cpp:
2842         * bindings/js/JSDOMWindowBase.cpp:
2843         * bindings/js/JSDOMWindowCustom.cpp:
2844         * dom/Document.cpp:
2845         * dom/InputElement.cpp:
2846         * dom/Node.cpp:
2847         * dom/SelectElement.cpp:
2848         * editing/EditorCommand.cpp:
2849         * html/HTMLFormControlElement.cpp:
2850         * html/HTMLFormElement.cpp:
2851         * html/HTMLMediaElement.cpp:
2852         * html/HTMLParser.cpp:
2853         * html/HTMLTextAreaElement.cpp:
2854         * html/HTMLVideoElement.cpp:
2855         * inspector/InspectorController.cpp:
2856         * loader/FrameLoader.cpp:
2857         * loader/HistoryController.cpp:
2858         * loader/appcache/ApplicationCacheGroup.cpp:
2859         * page/Console.cpp:
2860         * page/EventHandler.cpp:
2861         * page/Frame.cpp:
2862         * page/FrameView.cpp:
2863         * page/Navigator.cpp:
2864         * page/PageGroup.cpp:
2865         * page/Settings.cpp:
2866         * page/mac/EventHandlerMac.mm:
2867         * platform/KURL.h:
2868         * platform/ScrollbarThemeComposite.cpp:
2869         * platform/cf/BinaryPropertyList.cpp:
2870         * platform/graphics/mac/GraphicsLayerCA.h:
2871         * platform/graphics/win/WKCACFLayerRenderer.cpp:
2872         * platform/mac/PopupMenuMac.mm:
2873         * platform/mac/WidgetMac.mm:
2874         * platform/network/cf/DNSCFNet.cpp:
2875         * platform/text/StringImpl.cpp:
2876         * platform/win/FileSystemWin.cpp:
2877         * platform/win/PlatformScreenWin.cpp:
2878         * platform/win/PopupMenuWin.cpp:
2879         * platform/win/WidgetWin.cpp:
2880         * plugins/PluginView.cpp:
2881         * plugins/win/PluginViewWin.cpp:
2882         * rendering/InlineTextBox.cpp:
2883         * rendering/RenderBox.cpp:
2884         * rendering/RenderFileUploadControl.cpp:
2885         * rendering/RenderInline.cpp:
2886         * rendering/RenderLayerCompositor.cpp:
2887         * rendering/RenderObject.cpp:
2888         * rendering/RootInlineBox.cpp:
2889         * storage/DatabaseTracker.cpp:
2890         * storage/DatabaseTracker.h:
2891         * storage/SQLTransactionClient.cpp:
2892         * svg/graphics/SVGImage.cpp:
2893         Added now-needed #includes.
2894
2895 2009-12-18  Shu Chang  <Chang.Shu@nokia.com>
2896
2897         Reviewed by Darin Adler.
2898
2899         Implemented isId as specified by DOM Level 3. See detailed description below.
2900         https://bugs.webkit.org/show_bug.cgi?id=5578
2901
2902         Added isId property and implementation:
2903         Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
2904                fast/dom/Element/attrisid-extra01.html
2905         * dom/Attr.cpp:
2906         (WebCore::Attr::isId):
2907         * dom/Attr.h:
2908         * dom/Attr.idl:
2909
2910         Replaced instances of HTMLNames::idAttr with Element::idAttributeName()
2911         for the reason that id attribute name could be customized to a different
2912         string other than "id". A test case is associated to each code change.
2913         * dom/Document.cpp:
2914         (WebCore::Document::getElementById): Test: fast/dom/Element/id-in-getelement01.html
2915         * dom/Element.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
2916         (WebCore::Element::setAttribute):
2917         (WebCore::Element::setAttributeMap):
2918         (WebCore::Element::insertedIntoDocument):
2919         (WebCore::Element::removedFromDocument):
2920         (WebCore::Element::formatForDebugger):
2921         (WebCore::Element::rareIDAttributeName):
2922         * dom/Element.h: Added function idAttributeName().
2923         (WebCore::Element::idAttributeName):
2924         * dom/ElementRareData.h: Added member variable to store customized id name in ElementRareData.
2925         (WebCore::ElementRareData::ElementRareData):
2926         * dom/NamedAttrMap.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
2927         (WebCore::NamedNodeMap::setNamedItem):
2928         (WebCore::NamedNodeMap::removeNamedItem):
2929         (WebCore::NamedNodeMap::setAttributes):
2930         * dom/Node.cpp: Removed ASSERT as it may not hold any more.
2931         (WebCore::Node::querySelector):
2932         * dom/SelectorNodeList.cpp: Removed ASSERT as it may not hold any more.
2933         (WebCore::createSelectorNodeList):
2934         * dom/StyledElement.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
2935         (WebCore::StyledElement::parseMappedAttribute):
2936         * editing/DeleteButtonController.cpp: Test: fast/dom/Element/id-in-deletebutton.html
2937         (WebCore::DeleteButtonController::createDeletionUI):
2938         * editing/EditorCommand.cpp: Test: fast/dom/Element/id-in-insert-hr.html
2939         (WebCore::executeInsertHorizontalRule):
2940         * html/HTMLAppletElement.cpp: Test: fast/dom/Element/id-in-applet.html
2941         (WebCore::HTMLAppletElement::parseMappedAttribute):
2942         (WebCore::HTMLAppletElement::createRenderer):
2943         * html/HTMLCollection.cpp:
2944         (WebCore::HTMLCollection::checkForNameMatch): Test: fast/forms/select-namedItem.html
2945         (WebCore::HTMLCollection::updateNameCache): Test: fast/dom/collection-namedItem-via-item.html
2946         * html/HTMLDataGridColElement.cpp:
2947         (WebCore::HTMLDataGridColElement::ensureColumn): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
2948         (WebCore::HTMLDataGridColElement::parseMappedAttribute): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom-attributes.html
2949         * html/HTMLElement.cpp:
2950         (WebCore::HTMLElement::parseMappedAttribute):
2951         * html/HTMLFormCollection.cpp: Test: fast/dom/Element/id-in-formcollection.html
2952         (WebCore::HTMLFormCollection::getNamedFormItem):
2953         (WebCore::HTMLFormCollection::nextNamedItem):
2954         (WebCore::HTMLFormCollection::updateNameCache):
2955         * html/HTMLFrameElementBase.cpp: Test: fast/dom/Element/id-in-frame.html
2956         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
2957         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
2958         * html/HTMLImageElement.cpp: Test: fast/dom/Element/id-in-deletebutton.html
2959         (WebCore::HTMLImageElement::parseMappedAttribute):
2960         * html/HTMLMapElement.cpp: Test: fast/dom/Element/id-in-map.html
2961         (WebCore::HTMLMapElement::parseMappedAttribute):
2962         * html/HTMLNameCollection.cpp: Test: fast/dom/Element/id-in-frameset.html
2963         (WebCore::HTMLNameCollection::itemAfter):
2964         * html/HTMLObjectElement.cpp: Test: fast/dom/HTMLDocument/object-by-name-or-id.html
2965         (WebCore::HTMLObjectElement::parseMappedAttribute):
2966         * html/HTMLParamElement.cpp: Test: fast/dom/Element/id-in-param.html
2967         (WebCore::HTMLParamElement::parseMappedAttribute):
2968         * loader/CachedFont.cpp: Test: svg/custom/acid3-test-77.html
2969         (WebCore::CachedFont::getSVGFontById):
2970         * rendering/RenderLayerBacking.cpp:
2971         (WebCore::RenderLayerBacking::createGraphicsLayer): Debug-only code
2972         * rendering/SVGRenderTreeAsText.cpp: Test: svg/text/text-gradient-positioning.svg
2973         (WebCore::writeRenderResources):
2974         * svg/SVGElement.cpp: Test: svg/custom/acid3-test-77.html
2975         (WebCore::SVGElement::insertedIntoDocument):
2976         * svg/SVGStyledElement.cpp: Test: svg/custom/js-update-image-and-display.svg
2977         (WebCore::SVGStyledElement::isKnownAttribute):
2978         * wml/WMLElement.cpp:
2979         (WebCore::WMLElement::parseMappedAttribute):
2980
2981 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
2982
2983         Reviewed by Tor Arne Vestbø.
2984
2985         [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds
2986
2987         https://bugs.webkit.org/show_bug.cgi?id=32716
2988
2989         Introduce standalone_package as config that is set when QTDIR_build is set or when
2990         the directory for the generated files is present.
2991
2992         Renamed uses of QTDIR_build that apply to generic package builds to use standalone_package.
2993         Others remain as they are specific to building inside Qt.
2994
2995         * WebCore.pro:
2996
2997 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
2998
2999         Reviewed by Tor Arne Vestbø.
3000
3001         [Qt] Fix the build on Symbian.
3002
3003         Use QFont::lastRestortFamily() instead of QFont::lastRestortFont(),
3004         which is a missing symbol in Qt 4.6.0 on Symbian.
3005
3006         Functionally they should be equivalent, according to the source.
3007
3008         * platform/graphics/qt/FontCacheQt.cpp:
3009         (WebCore::FontCache::getLastResortFallbackFont):
3010
3011 2009-12-18  Philippe Normand  <pnormand@igalia.com>
3012
3013         Reviewed by Xan Lopez.
3014
3015         [GTK] segfault during controls initialization if not GTK theme is present.
3016         https://bugs.webkit.org/show_bug.cgi?id=32705
3017
3018         Create empty images for the controls if no GTK theme is set.
3019
3020         * platform/graphics/gtk/ImageGtk.cpp:
3021         (WebCore::getThemeIconFileName):
3022         (WebCore::loadImageFromFile):
3023
3024 2009-12-18  Alejandro G. Castro  <alex@igalia.com>
3025
3026         Reviewed by Darin Adler.
3027
3028         REGRESSION (r38898): Using the up arrow in a textarea gets "stuck"
3029         at the beginning.
3030         https://bugs.webkit.org/show_bug.cgi?id=31920
3031
3032         Moving up from a position after the end of the previous lines
3033         should use UPSTREAM affinity to render the caret in the previous
3034         line.
3035
3036         Test: editing/selection/wrapped-line-caret-3.html
3037
3038         * rendering/RenderText.cpp:
3039         (WebCore::RenderText::positionForPoint):
3040
3041 2009-12-17  Eric Seidel  <eric@webkit.org>
3042
3043         Reviewed by Darin Adler.
3044
3045         HTMLInputElement::stepMismatch() uses ambiguous overload of pow()
3046         https://bugs.webkit.org/show_bug.cgi?id=32675
3047
3048         Use the double constant 2.0 instead of static_cast<double>(2).
3049
3050         * html/HTMLInputElement.cpp:
3051         (WebCore::HTMLInputElement::stepMismatch):
3052
3053 2009-12-17  Justin Schuh  <jschuh@chromium.org>
3054
3055         Reviewed by Dan Bernstein.
3056
3057         Bug 32357: SVG test case crashes WebKit (invalid font URL)
3058         https://bugs.webkit.org/show_bug.cgi?id=32357
3059
3060         Added check for NULL return value from DocLoader::requestFont()
3061
3062         * svg/SVGFontFaceUriElement.cpp:
3063         (WebCore::SVGFontFaceUriElement::loadFont):
3064
3065 2009-12-17  Shinichiro Hamaji  <hamaji@chromium.org>
3066
3067         Reviewed by Dan Bernstein.
3068
3069         marquee with display:inline causes crash
3070         https://bugs.webkit.org/show_bug.cgi?id=32374
3071
3072         Test: fast/inline/inline-marquee-crash.html
3073
3074         * html/HTMLMarqueeElement.cpp:
3075         (WebCore::HTMLMarqueeElement::start):
3076         (WebCore::HTMLMarqueeElement::stop):
3077         (WebCore::HTMLMarqueeElement::suspend):
3078         (WebCore::HTMLMarqueeElement::resume):
3079         (WebCore::HTMLMarqueeElement::renderMarquee):
3080         * html/HTMLMarqueeElement.h:
3081         * rendering/RenderLayer.cpp:
3082         (WebCore::RenderLayer::styleChanged):
3083
3084 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
3085
3086         Reviewed by Darin Adler.
3087
3088         Allow custom memory allocation control for inspector's classes
3089         https://bugs.webkit.org/show_bug.cgi?id=32660                               
3090
3091         Inherits the following classes from Noncopyable because these are
3092         instantiated by 'new' and no need to be copyable:                                           
3093
3094         class name                  - instantiated at:  WebCore/'location'
3095
3096         class JavaScriptDebugServer - inspector/JavaScriptDebugServer.cpp:72
3097         class ConsoleMessage        - inspector/InspectorController.cpp:329 
3098         class InspectorController   - page/Page.cpp:119
3099
3100         * inspector/ConsoleMessage.h:
3101         * inspector/InspectorController.h:
3102         * inspector/JavaScriptDebugServer.h:
3103
3104 2009-12-17  Steve Block  <steveblock@google.com>
3105
3106         Reviewed by Eric Seidel.
3107
3108         Fixes HTMLInputElement::stepMismatch() to avoid ambiguous overload of pow().
3109         https://bugs.webkit.org/show_bug.cgi?id=32675
3110
3111         Build fix only, no new tests.
3112
3113         * html/HTMLInputElement.cpp: Modified.
3114         (WebCore::HTMLInputElement::stepMismatch): Cast first argument of pow to double to force 'double pow(double, int)'
3115
3116 2009-12-17  Marc-Antoine Ruel  <maruel@chromium.org>
3117
3118         Reviewed by Eric Seidel.
3119
3120         Fix link failure on LTCG builds on Windows for chromium port.
3121
3122         Reenable SVGAllInOne.cpp. This required some fixups.
3123
3124         Namely, there was conflicts in constants between HTMLNames and
3125         SVGNames, and conflicts between static functions names.
3126
3127         No new tests as functionality has not changed.
3128
3129         * WebCore.gyp/WebCore.gyp:
3130         * svg/SVGAllInOne.cpp:
3131         * svg/SVGFontFaceElement.cpp:
3132         (WebCore::SVGFontFaceElement::rebuildFontFace):
3133         * svg/SVGGlyphElement.cpp:
3134         (WebCore::SVGGlyphElement::invalidateGlyphCache):
3135         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
3136         * svg/SVGHKernElement.cpp:
3137         (WebCore::SVGHKernElement::insertedIntoDocument):
3138         (WebCore::SVGHKernElement::removedFromDocument):
3139         * svg/SVGStyleElement.cpp:
3140         (WebCore::SVGStyleElement::type):
3141         (WebCore::SVGStyleElement::setType):
3142         (WebCore::SVGStyleElement::media):
3143         (WebCore::SVGStyleElement::setMedia):
3144         (WebCore::SVGStyleElement::title):
3145         (WebCore::SVGStyleElement::setTitle):
3146         (WebCore::SVGStyleElement::parseMappedAttribute):
3147         * svg/SVGStyledElement.cpp:
3148         (WebCore::mapAttributeToCSSProperty):
3149         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
3150         * svg/SVGStyledElement.h:
3151
3152 2009-12-17  Adam Roben  <aroben@apple.com>
3153
3154         Chromium build fix VI
3155
3156         * svg/animation/SMILTimeContainer.h: Added now-needed #include.
3157
3158 2009-12-17  Adam Roben  <aroben@apple.com>
3159
3160         Chromium build fix V
3161
3162         * platform/KURLGoogle.cpp: Added now-needed #include.
3163
3164 2009-12-17  Adam Roben  <aroben@apple.com>
3165
3166         Chromium build fix IV
3167
3168         * loader/CrossOriginPreflightResultCache.h: Added now-needed
3169         #includes.
3170
3171 2009-12-17  Adam Roben  <aroben@apple.com>
3172
3173         Chromium build fix III
3174
3175         * platform/graphics/Font.h: Added now-needed #include.
3176
3177 2009-12-17  Adam Roben  <aroben@apple.com>
3178
3179         Chromium build fix II
3180
3181         * dom/EventTarget.h: Added now-needed #include.
3182
3183 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
3184
3185         Reviewed by Eric Seidel.
3186
3187         Allow custom memory allocation control for js bindings
3188         https://bugs.webkit.org/show_bug.cgi?id=32655
3189
3190         Inherits the following classes from Noncopyable because these are instantiated 
3191         by 'new' and no need to be copyable:
3192
3193         class name                  - instantiated at:  WebCore/'location'
3194
3195         class ScriptCachedFrameData - history/CachedFrame.cpp:117
3196         class WebCoreJSClientData   - bindings/js/JSDOMWindowBase.cpp:162
3197         class ScheduledAction       - bindings/js/ScheduledAction.cpp:58
3198
3199         * bindings/js/JSDOMBinding.h:
3200         * bindings/js/ScheduledAction.h:
3201         * bindings/js/ScriptCachedFrameData.h:
3202
3203 2009-12-17  Adam Roben  <aroben@apple.com>
3204
3205         Chromium build fix
3206
3207         * dom/QualifiedName.h: Added now-needed #include of HashTraits.h
3208         (which itself #includes HashFunctions.h).
3209
3210 2009-12-17  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
3211
3212         Reviewed by Timothy Hatcher.
3213
3214         Web Inspector: Incorrect Doctype.
3215
3216         REGRESSION(4.0.4-TOT):Web Inspector: Incorrect Doctype
3217         https://bugs.webkit.org/show_bug.cgi?id=32671
3218
3219         * inspector/InspectorDOMAgent.cpp:
3220         (WebCore::InspectorDOMAgent::buildObjectForNode):
3221         * inspector/front-end/DOMAgent.js:
3222         (WebInspector.DOMNode):
3223
3224 2009-12-17  Benjamin Otte  <otte@gnome.org>
3225
3226         Reviewed by Adam Roben.
3227
3228         Don't include all JSC headers everywhere
3229         https://bugs.webkit.org/show_bug.cgi?id=32663
3230
3231         Remove HashMap HashSet and OwnPtr includes from PlatformString.h.
3232         Reduces code size of Gtk build by another 5%.
3233
3234         * platform/text/PlatformString.h:
3235
3236 2009-12-17  Adam Roben  <aroben@apple.com>
3237
3238         Mac/Qt build fixes
3239
3240         * platform/graphics/mac/Canvas3DLayer.mm:
3241         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3242         * platform/qt/Localizations.cpp:
3243         Added missing #includes.
3244
3245 2009-12-17  Benjamin Otte  <otte@gnome.org>
3246
3247         Reviewed by Adam Roben.
3248
3249         Don't include all JSC headers everywhere
3250         https://bugs.webkit.org/show_bug.cgi?id=32663
3251
3252         PlatformString.h included almost all of JSC via runtime/Identifier.h.
3253         This patch gets rid of this include by forward-declaring the required
3254         classes instead.
3255         This reduces the build size of the object files on a Gtk debug build
3256         by 10%. The resulting libwebkit.so gets 5% smaller.
3257
3258         No new tests as it's just a build improvement.
3259
3260         * platform/gtk/LocalizedStringsGtk.cpp:
3261         include math.h here (it used to be pulled by JSC)
3262         * platform/text/PlatformString.h:
3263         * platform/text/String.cpp:
3264
3265 2009-12-17  Evan Martin  <evan@chromium.org>
3266
3267         Reviewed by Xan Lopez.
3268
3269         Always use all WebCore include paths in GtkWebKit.
3270
3271         With this patch, I can disable all optional features and still build.
3272
3273         * GNUmakefile.am:
3274
3275 2009-12-17  Yaar Schnitman  <yaar@chromium.org>
3276
3277         Reviewed by Darin Fisher.
3278
3279         Added WebPageSerializer to WebKit API.
3280
3281         https://bugs.webkit.org/show_bug.cgi?id=31737
3282
3283         * platform/text/StringBuilder.cpp: Added methods to make StringBuilder even more useful for large scale string concatenation.
3284         (WebCore::StringBuilder::clear):
3285         (WebCore::StringBuilder::length):
3286         * platform/text/StringBuilder.h:
3287
3288 2009-12-10  Philippe Normand  <pnormand@igalia.com>
3289
3290         Reviewed by Xan Lopez.
3291
3292         [GTK] Add controls for playing html5 video.
3293         https://bugs.webkit.org/show_bug.cgi?id=26304
3294
3295         Media controls UI, first step. This patch was written by Zan
3296         Dobersek. In addition I fixed the compilation errors and
3297         re-enabled some of the media tests involving the controls UI.
3298
3299         * GNUmakefile.am:
3300         * css/mediaControlsGtk.css: Added.
3301         * platform/graphics/Image.h:
3302         * platform/graphics/gtk/ImageGtk.cpp:
3303         (WebCore::getThemeIconFileName):
3304         (WebCore::loadResourceSharedBuffer):
3305         (WebCore::loadImageFromFile):
3306         (WebCore::Image::loadPlatformResource):
3307         (WebCore::Image::loadPlatformThemeIcon):
3308         * platform/gtk/RenderThemeGtk.cpp:
3309         (WebCore::getMediaElementFromRenderObject):
3310         (WebCore::getIconNameForTextDirection):
3311         (WebCore::RenderThemeGtk::initMediaStyling):
3312         (WebCore::RenderThemeGtk::RenderThemeGtk):
3313         (WebCore::RenderThemeGtk::~RenderThemeGtk):
3314         (WebCore::supportsFocus):
3315         (WebCore::RenderThemeGtk::baselinePosition):
3316         (WebCore::paintMozWidget):
3317         (WebCore::setToggleSize):
3318         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
3319         (WebCore::RenderThemeGtk::gtkContainer):
3320         (WebCore::RenderThemeGtk::platformColorsDidChange):
3321         (WebCore::RenderThemeGtk::extraMediaControlsStyleSheet):
3322         (WebCore::paintMediaButton):
3323         (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
3324         (WebCore::RenderThemeGtk::paintMediaMuteButton):
3325         (WebCore::RenderThemeGtk::paintMediaPlayButton):
3326         (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
3327         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
3328         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
3329         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
3330         * platform/gtk/RenderThemeGtk.h:
3331
3332 2009-12-17  Yael Aharon  <yael.aharon@nokia.com>
3333
3334         Reviewed by Kenneth Rohde Christiansen.
3335
3336         [Qt] support navigator.onLine and ononline/onoffline events.
3337         https://bugs.webkit.org/show_bug.cgi?id=32555
3338
3339         Hooked up Bearer Management to NetworkStateNotifier. This solution is available 
3340         only if QtMobility's Bearer Management is installed.
3341
3342         * WebCore.pro:
3343         * platform/network/NetworkStateNotifier.h:
3344         * platform/network/qt/NetworkStateNotifierPrivate.h: Added.
3345         * platform/network/qt/NetworkStateNotifierQt.cpp: Added.
3346         (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
3347         (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
3348         (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
3349         (WebCore::NetworkStateNotifier::updateState):
3350         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
3351
3352 2009-12-17  Pavel Feldman  <pfeldman@chromium.org>
3353
3354         Reviewed by Timothy Hatcher.
3355
3356         Web Inspector: Switch to 11px as default for source-code in WebKit.
3357
3358         https://bugs.webkit.org/show_bug.cgi?id=32646
3359
3360         * inspector/front-end/inspector.css:
3361
3362 2009-12-17  Simon Hausmann  <simon.hausmann@nokia.com>
3363
3364         Reviewed by Tor Arne Vestbø.
3365
3366         [Qt] Symbian build fix: Don't include QtXml/qxmlstream.h but omit the prefix, to
3367         make sure we pick up the header file from QtCore. That is where the implementation
3368         is compiled.
3369
3370         * dom/XMLTokenizer.h:
3371
3372 2009-12-17  Martin Robinson  <martin.james.robinson@gmail.com>
3373
3374         Reviewed by Gustavo Noronha Silva.
3375
3376         [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs
3377         https://bugs.webkit.org/show_bug.cgi?id=21599
3378
3379         Add GRefPtr support for GTK types to WebCore, as JSC does not link against
3380         GTK+. Also convert PopupMenu::m_poup from a raw pointer to a GRefPtr.
3381
3382         No new tests as functionality has not changed.
3383
3384         * GNUmakefile.am:
3385         * platform/PopupMenu.h:
3386         * platform/gtk/GRefPtrGtk.cpp: Added.
3387         (WTF::refGPtr):
3388         (WTF::derefGPtr):
3389         * platform/gtk/GRefPtrGtk.h: Added.
3390         * platform/gtk/PopupMenuGtk.cpp:
3391         (WebCore::PopupMenu::PopupMenu):
3392         (WebCore::PopupMenu::~PopupMenu):
3393         (WebCore::PopupMenu::show):
3394         (WebCore::PopupMenu::hide):
3395         (WebCore::PopupMenu::menuRemoveItem):
3396
3397 2009-12-17  Mikhail Naganov  <mnaganov@chromium.org>
3398
3399         Reviewed by Pavel Feldman.
3400
3401         Advice links to source code in CPU profiler to open in debugger,
3402         not in resources tab.
3403
3404         Also work around the case when resources are disabled, but scripts are present.
3405
3406         https://bugs.webkit.org/show_bug.cgi?id=32610
3407
3408         * inspector/front-end/Panel.js:
3409         (WebInspector.Panel.prototype.updateMainViewWidth):
3410         (WebInspector.Panel.prototype.canShowSourceLineForURL):
3411         (WebInspector.Panel.prototype.showSourceLineForURL):
3412         * inspector/front-end/ProfileDataGridTree.js:
3413         (WebInspector.ProfileDataGridNode.prototype.createCell):
3414         * inspector/front-end/ResourcesPanel.js:
3415         (WebInspector.ResourcesPanel.prototype.canShowSourceLineForURL):
3416         (WebInspector.ResourcesPanel.prototype.showSourceLineForURL):
3417         * inspector/front-end/ScriptsPanel.js:
3418         (WebInspector.ScriptsPanel.prototype.scriptForURL):
3419         (WebInspector.ScriptsPanel.prototype.canShowSourceLineForURL):
3420         (WebInspector.ScriptsPanel.prototype.showSourceLineForURL):
3421         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3422         * inspector/front-end/inspector.js:
3423         (WebInspector.documentClick.followLink):
3424         (WebInspector.documentClick):
3425         (WebInspector._choosePanelToShowSourceLineForURL):
3426         (WebInspector.canShowSourceLineForURL):
3427         (WebInspector.showSourceLineForURL):
3428
3429 2009-12-15  Philippe Normand  <pnormand@igalia.com>
3430
3431         Reviewed by Xan Lopez.
3432
3433         [GTK] display FPS stats for video element
3434         https://bugs.webkit.org/show_bug.cgi?id=32560
3435
3436         Display FPS statistics if WEBKIT_DEBUG environment variable
3437         contains the Media log category. This feature requires a very
3438         recent (>= 0.10.18) version of gst-plugins-bad.
3439
3440         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3441         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3442         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
3443         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
3444         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3445
3446 2009-11-11  Philippe Normand  <pnormand@igalia.com>
3447
3448         Reviewed by Gustavo Noronha Silva.
3449
3450         [GStreamer] Should emit {networkState,readyState,volume,time,size,rate,duration}Changed signals
3451         https://bugs.webkit.org/show_bug.cgi?id=30377
3452
3453         Emit volumeChanged and durationChanged upon notification from
3454         GStreamer.
3455
3456         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3457         (WebCore::mediaPlayerPrivateMessageCallback):
3458         (WebCore::mediaPlayerPrivateVolumeCallback):
3459         (WebCore::notify_volume_idle_cb):
3460         (WebCore::MediaPlayerPrivate::didEnd):
3461         (WebCore::MediaPlayerPrivate::durationChanged):
3462         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
3463         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3464
3465 2009-12-16  Philippe Normand  <pnormand@igalia.com>
3466
3467         Reviewed by Gustavo Noronha Silva.
3468
3469         [GTK] segfault during volume notification
3470         https://bugs.webkit.org/show_bug.cgi?id=32603
3471
3472         Emit volumeChanged and durationChanged upon notification from
3473         GStreamer. Also don't reset the volume property on playbin, it is
3474         not needed as it is 1.0 by default both on playbin and in the
3475         MediaPlayer.
3476
3477         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3478         (WebCore::mediaPlayerPrivateMessageCallback):
3479         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
3480         (WebCore::notifyVolumeIdleCallback):
3481         (WebCore::doGstInit):
3482         (WebCore::MediaPlayerPrivate::isAvailable):
3483         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3484         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
3485         (WebCore::MediaPlayerPrivate::volumeChanged):
3486         (WebCore::MediaPlayerPrivate::didEnd):
3487         (WebCore::MediaPlayerPrivate::durationChanged):
3488         (WebCore::mimeTypeCache):
3489         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
3490         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3491
3492 2009-12-17  Evan Martin  <evan@chromium.org>
3493
3494         Reviewed by Xan Lopez.
3495
3496         gtk: always use standard include paths, regardless of settings.
3497         WebKit style is to wrap the body of a header in #if ENABLE(FOO),
3498         so they're always safe to include whether the features are enabled or
3499         not.
3500
3501         This fixes building with --disable-database and other flags.
3502
3503         * GNUmakefile.am:
3504
3505 2009-12-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3506
3507         Unreviewed. Build fixes for make distcheck.
3508
3509         * GNUmakefile.am:
3510
3511 2009-12-17  Philippe Normand  <pnormand@igalia.com>
3512
3513         Rubber-stamped by Gustavo Noronha Silva.
3514
3515         Trivial WebKit coding style fix.
3516
3517         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3518         (WebCore::MediaPlayerPrivate::paint):
3519
3520 2009-12-15 MORITA Hajime <morrita@gmail.com>
3521
3522         Reviewed by Eric Seidel.
3523
3524         Bug 28306: double-clicking a word inside <b> beside newline select two words
3525         https://bugs.webkit.org/show_bug.cgi?id=28306
3526         
3527         SimplifiedBackwardsTextIterator missed trailing whitespaces just
3528         before folding line-break, which is used to detect word
3529         boundaries. This fix checks strings on RenderText and expand text
3530         range on SimplifiedBackwardsTextIterator to include trailing
3531         whitespaces if availble.
3532
3533         Test: editing/selection/doubleclick-beside-cr-span.html
3534
3535         * editing/TextIterator.cpp:
3536         (WebCore::collapsedSpaceLength):
3537         (WebCore::maxOffsetIncludingCollapsedSpaces):
3538         (WebCore::SimplifiedBackwardsTextIterator::advance):
3539
3540 2009-12-16  Fumitoshi Ukai  <ukai@chromium.org>
3541
3542         Reviewed by Alexey Proskuryakov.
3543
3544         Fix flakiness in WebSocket handshake console message.
3545         https://bugs.webkit.org/show_bug.cgi?id=32598
3546
3547         In chromium, LayoutTests/websocket/tests/handshake-error.html is
3548         flaky, because it outputs the following console message several times:
3549           CONSOLE MESSAGE: line 0: Unexpected response code:101
3550         Update m_mode in WebSocketHandshake correctly: Once it finds
3551         error in handshake message, set m_mode to Failed and don't try
3552         reading handshake message again.  If handshake message is not yet
3553         fully received, set m_mode to Incomplete, so next didReceiveData()
3554         will try to check handshake message again.
3555
3556         * websockets/WebSocketChannel.cpp:
3557         (WebCore::WebSocketChannel::didReceiveData):
3558         * websockets/WebSocketHandshake.cpp:
3559         (WebCore::WebSocketHandshake::readServerHandshake):
3560
3561 2009-12-16  Jon Honeycutt  <jhoneycutt@apple.com>
3562
3563         MSAA: Accessibility role of text nodes is wrong
3564
3565         https://bugs.webkit.org/show_bug.cgi?id=32631
3566         <rdar://problem/7369084>
3567
3568         Reviewed by Alice Liu.
3569
3570         Test: platform/win/accessibility/text-role.html
3571
3572         * accessibility/AccessibilityObject.h:
3573         (WebCore::):
3574         Add a new role to the enum.
3575         (WebCore::AccessibilityObject::roleValueForMSAA):
3576         Declare a function to return the accessibility role for MSAA; the base
3577         implementation returns the old role value.
3578
3579         * accessibility/AccessibilityRenderObject.cpp:
3580         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
3581         Initialize m_roleForMSAA.
3582         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
3583         If m_roleForMSAA has been set, return it. If the renderer is a
3584         RenderText, set the role to EditableTextRole to match IE and Firefox.
3585         Otherwise, set the role for MSAA to the old role value.
3586
3587         * accessibility/AccessibilityRenderObject.h:
3588         Add a member to hold the role for MSAA, and declare an override of
3589         roleValueForMSAA().
3590
3591 2009-12-16  Eric Seidel  <eric@webkit.org>
3592
3593         No review, rolling out r52206.
3594         http://trac.webkit.org/changeset/52206
3595         https://bugs.webkit.org/show_bug.cgi?id=31187
3596
3597         This broke pixel tests on Mac.  Presumably the code in
3598         ImageCG is wrong here.
3599
3600         * platform/graphics/BitmapImage.h:
3601         * platform/graphics/GeneratedImage.cpp:
3602         (WebCore::GeneratedImage::drawPattern):
3603         * platform/graphics/GeneratedImage.h:
3604         * platform/graphics/Image.cpp:
3605         (WebCore::Image::drawTiled):
3606         * platform/graphics/Image.h:
3607         * platform/graphics/cairo/ImageCairo.cpp:
3608         (WebCore::Image::drawPattern):
3609         * platform/graphics/cg/ImageCG.cpp:
3610         (WebCore::Image::drawPattern):
3611         * platform/graphics/haiku/ImageHaiku.cpp:
3612         (WebCore::Image::drawPattern):
3613         * platform/graphics/qt/ImageQt.cpp:
3614         (WebCore::Image::drawPattern):
3615         * platform/graphics/skia/ImageSkia.cpp:
3616         (WebCore::Image::drawPattern):
3617         * platform/graphics/wince/GraphicsContextWince.cpp:
3618         (WebCore::GraphicsContext::drawBitmapPattern):
3619         * platform/graphics/wince/ImageBufferWince.cpp:
3620         (WebCore::):
3621         (WebCore::BufferedImage::drawPattern):
3622         * platform/graphics/wx/ImageWx.cpp:
3623         (WebCore::BitmapImage::drawPattern):
3624         (WebCore::Image::drawPattern):
3625
3626 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
3627
3628         Reviewed by David Levin.
3629
3630         https://bugs.webkit.org/show_bug.cgi?id=32637
3631         [V8] Generate most named property getters.
3632
3633         Covered by existing tests.
3634
3635         * bindings/scripts/CodeGeneratorV8.pm: Added generation of SetNamedPropertyHandler call.