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