GTK build fix
[WebKit-https.git] / WebCore / ChangeLog
1 2009-12-18  Adam Roben  <aroben@apple.com>
2
3         GTK (and others?) build fix
4
5         * platform/text/StringImpl.h: Added #include.
6
7 2009-12-18  Adam Roben  <aroben@apple.com>
8
9         Reduce #includes in a few high-use headers
10
11         Removed unnecessary #includes in these headers:
12           - Frame.h
13           - FrameWin.h
14           - Node.h
15           - Page.h
16           - StringImpl.h
17
18         The rest of the patch is all adding #includes to source files that now
19         require them.
20
21         Fixes <http://webkit.org/b/32718>.
22
23         Rubber-stamped by Anders Carlsson.
24
25         * dom/Node.h:
26         * page/Frame.h:
27         * page/Page.h:
28         * page/win/FrameWin.h:
29         * platform/text/StringImpl.h:
30         Removed unnecessary #includes.
31
32         * accessibility/win/AXObjectCacheWin.cpp:
33         * bindings/js/JSDOMWindowBase.cpp:
34         * bindings/js/JSDOMWindowCustom.cpp:
35         * dom/Document.cpp:
36         * dom/InputElement.cpp:
37         * dom/Node.cpp:
38         * dom/SelectElement.cpp:
39         * editing/EditorCommand.cpp:
40         * html/HTMLFormControlElement.cpp:
41         * html/HTMLFormElement.cpp:
42         * html/HTMLMediaElement.cpp:
43         * html/HTMLParser.cpp:
44         * html/HTMLTextAreaElement.cpp:
45         * html/HTMLVideoElement.cpp:
46         * inspector/InspectorController.cpp:
47         * loader/FrameLoader.cpp:
48         * loader/HistoryController.cpp:
49         * loader/appcache/ApplicationCacheGroup.cpp:
50         * page/Console.cpp:
51         * page/EventHandler.cpp:
52         * page/Frame.cpp:
53         * page/FrameView.cpp:
54         * page/Navigator.cpp:
55         * page/PageGroup.cpp:
56         * page/Settings.cpp:
57         * page/mac/EventHandlerMac.mm:
58         * platform/KURL.h:
59         * platform/ScrollbarThemeComposite.cpp:
60         * platform/cf/BinaryPropertyList.cpp:
61         * platform/graphics/mac/GraphicsLayerCA.h:
62         * platform/graphics/win/WKCACFLayerRenderer.cpp:
63         * platform/mac/PopupMenuMac.mm:
64         * platform/mac/WidgetMac.mm:
65         * platform/network/cf/DNSCFNet.cpp:
66         * platform/text/StringImpl.cpp:
67         * platform/win/FileSystemWin.cpp:
68         * platform/win/PlatformScreenWin.cpp:
69         * platform/win/PopupMenuWin.cpp:
70         * platform/win/WidgetWin.cpp:
71         * plugins/PluginView.cpp:
72         * plugins/win/PluginViewWin.cpp:
73         * rendering/InlineTextBox.cpp:
74         * rendering/RenderBox.cpp:
75         * rendering/RenderFileUploadControl.cpp:
76         * rendering/RenderInline.cpp:
77         * rendering/RenderLayerCompositor.cpp:
78         * rendering/RenderObject.cpp:
79         * rendering/RootInlineBox.cpp:
80         * storage/DatabaseTracker.cpp:
81         * storage/DatabaseTracker.h:
82         * storage/SQLTransactionClient.cpp:
83         * svg/graphics/SVGImage.cpp:
84         Added now-needed #includes.
85
86 2009-12-18  Shu Chang  <Chang.Shu@nokia.com>
87
88         Reviewed by Darin Adler.
89
90         Implemented isId as specified by DOM Level 3. See detailed description below.
91         https://bugs.webkit.org/show_bug.cgi?id=5578
92
93         Added isId property and implementation:
94         Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
95                fast/dom/Element/attrisid-extra01.html
96         * dom/Attr.cpp:
97         (WebCore::Attr::isId):
98         * dom/Attr.h:
99         * dom/Attr.idl:
100
101         Replaced instances of HTMLNames::idAttr with Element::idAttributeName()
102         for the reason that id attribute name could be customized to a different
103         string other than "id". A test case is associated to each code change.
104         * dom/Document.cpp:
105         (WebCore::Document::getElementById): Test: fast/dom/Element/id-in-getelement01.html
106         * dom/Element.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
107         (WebCore::Element::setAttribute):
108         (WebCore::Element::setAttributeMap):
109         (WebCore::Element::insertedIntoDocument):
110         (WebCore::Element::removedFromDocument):
111         (WebCore::Element::formatForDebugger):
112         (WebCore::Element::rareIDAttributeName):
113         * dom/Element.h: Added function idAttributeName().
114         (WebCore::Element::idAttributeName):
115         * dom/ElementRareData.h: Added member variable to store customized id name in ElementRareData.
116         (WebCore::ElementRareData::ElementRareData):
117         * dom/NamedAttrMap.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
118         (WebCore::NamedNodeMap::setNamedItem):
119         (WebCore::NamedNodeMap::removeNamedItem):
120         (WebCore::NamedNodeMap::setAttributes):
121         * dom/Node.cpp: Removed ASSERT as it may not hold any more.
122         (WebCore::Node::querySelector):
123         * dom/SelectorNodeList.cpp: Removed ASSERT as it may not hold any more.
124         (WebCore::createSelectorNodeList):
125         * dom/StyledElement.cpp: Tests: dom/xhtml/level3/core/attrisid01-07.xhtml
126         (WebCore::StyledElement::parseMappedAttribute):
127         * editing/DeleteButtonController.cpp: Test: fast/dom/Element/id-in-deletebutton.html
128         (WebCore::DeleteButtonController::createDeletionUI):
129         * editing/EditorCommand.cpp: Test: fast/dom/Element/id-in-insert-hr.html
130         (WebCore::executeInsertHorizontalRule):
131         * html/HTMLAppletElement.cpp: Test: fast/dom/Element/id-in-applet.html
132         (WebCore::HTMLAppletElement::parseMappedAttribute):
133         (WebCore::HTMLAppletElement::createRenderer):
134         * html/HTMLCollection.cpp:
135         (WebCore::HTMLCollection::checkForNameMatch): Test: fast/forms/select-namedItem.html
136         (WebCore::HTMLCollection::updateNameCache): Test: fast/dom/collection-namedItem-via-item.html
137         * html/HTMLDataGridColElement.cpp:
138         (WebCore::HTMLDataGridColElement::ensureColumn): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom.html
139         (WebCore::HTMLDataGridColElement::parseMappedAttribute): Test: fast/dom/HTMLDataGridElement/DataGridColumns-dom-attributes.html
140         * html/HTMLElement.cpp:
141         (WebCore::HTMLElement::parseMappedAttribute):
142         * html/HTMLFormCollection.cpp: Test: fast/dom/Element/id-in-formcollection.html
143         (WebCore::HTMLFormCollection::getNamedFormItem):
144         (WebCore::HTMLFormCollection::nextNamedItem):
145         (WebCore::HTMLFormCollection::updateNameCache):
146         * html/HTMLFrameElementBase.cpp: Test: fast/dom/Element/id-in-frame.html
147         (WebCore::HTMLFrameElementBase::parseMappedAttribute):
148         (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
149         * html/HTMLImageElement.cpp: Test: fast/dom/Element/id-in-deletebutton.html
150         (WebCore::HTMLImageElement::parseMappedAttribute):
151         * html/HTMLMapElement.cpp: Test: fast/dom/Element/id-in-map.html
152         (WebCore::HTMLMapElement::parseMappedAttribute):
153         * html/HTMLNameCollection.cpp: Test: fast/dom/Element/id-in-frameset.html
154         (WebCore::HTMLNameCollection::itemAfter):
155         * html/HTMLObjectElement.cpp: Test: fast/dom/HTMLDocument/object-by-name-or-id.html
156         (WebCore::HTMLObjectElement::parseMappedAttribute):
157         * html/HTMLParamElement.cpp: Test: fast/dom/Element/id-in-param.html
158         (WebCore::HTMLParamElement::parseMappedAttribute):
159         * loader/CachedFont.cpp: Test: svg/custom/acid3-test-77.html
160         (WebCore::CachedFont::getSVGFontById):
161         * rendering/RenderLayerBacking.cpp:
162         (WebCore::RenderLayerBacking::createGraphicsLayer): Debug-only code
163         * rendering/SVGRenderTreeAsText.cpp: Test: svg/text/text-gradient-positioning.svg
164         (WebCore::writeRenderResources):
165         * svg/SVGElement.cpp: Test: svg/custom/acid3-test-77.html
166         (WebCore::SVGElement::insertedIntoDocument):
167         * svg/SVGStyledElement.cpp: Test: svg/custom/js-update-image-and-display.svg
168         (WebCore::SVGStyledElement::isKnownAttribute):
169         * wml/WMLElement.cpp:
170         (WebCore::WMLElement::parseMappedAttribute):
171
172 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
173
174         Reviewed by Tor Arne Vestbø.
175
176         [Qt] Clean up the qmake build system to distinguish between trunk builds and package builds
177
178         https://bugs.webkit.org/show_bug.cgi?id=32716
179
180         Introduce standalone_package as config that is set when QTDIR_build is set or when
181         the directory for the generated files is present.
182
183         Renamed uses of QTDIR_build that apply to generic package builds to use standalone_package.
184         Others remain as they are specific to building inside Qt.
185
186         * WebCore.pro:
187
188 2009-12-18  Simon Hausmann  <simon.hausmann@nokia.com>
189
190         Reviewed by Tor Arne Vestbø.
191
192         [Qt] Fix the build on Symbian.
193
194         Use QFont::lastRestortFamily() instead of QFont::lastRestortFont(),
195         which is a missing symbol in Qt 4.6.0 on Symbian.
196
197         Functionally they should be equivalent, according to the source.
198
199         * platform/graphics/qt/FontCacheQt.cpp:
200         (WebCore::FontCache::getLastResortFallbackFont):
201
202 2009-12-18  Philippe Normand  <pnormand@igalia.com>
203
204         Reviewed by Xan Lopez.
205
206         [GTK] segfault during controls initialization if not GTK theme is present.
207         https://bugs.webkit.org/show_bug.cgi?id=32705
208
209         Create empty images for the controls if no GTK theme is set.
210
211         * platform/graphics/gtk/ImageGtk.cpp:
212         (WebCore::getThemeIconFileName):
213         (WebCore::loadImageFromFile):
214
215 2009-12-18  Alejandro G. Castro  <alex@igalia.com>
216
217         Reviewed by Darin Adler.
218
219         REGRESSION (r38898): Using the up arrow in a textarea gets "stuck"
220         at the beginning.
221         https://bugs.webkit.org/show_bug.cgi?id=31920
222
223         Moving up from a position after the end of the previous lines
224         should use UPSTREAM affinity to render the caret in the previous
225         line.
226
227         Test: editing/selection/wrapped-line-caret-3.html
228
229         * rendering/RenderText.cpp:
230         (WebCore::RenderText::positionForPoint):
231
232 2009-12-17  Eric Seidel  <eric@webkit.org>
233
234         Reviewed by Darin Adler.
235
236         HTMLInputElement::stepMismatch() uses ambiguous overload of pow()
237         https://bugs.webkit.org/show_bug.cgi?id=32675
238
239         Use the double constant 2.0 instead of static_cast<double>(2).
240
241         * html/HTMLInputElement.cpp:
242         (WebCore::HTMLInputElement::stepMismatch):
243
244 2009-12-17  Justin Schuh  <jschuh@chromium.org>
245
246         Reviewed by Dan Bernstein.
247
248         Bug 32357: SVG test case crashes WebKit (invalid font URL)
249         https://bugs.webkit.org/show_bug.cgi?id=32357
250
251         Added check for NULL return value from DocLoader::requestFont()
252
253         * svg/SVGFontFaceUriElement.cpp:
254         (WebCore::SVGFontFaceUriElement::loadFont):
255
256 2009-12-17  Shinichiro Hamaji  <hamaji@chromium.org>
257
258         Reviewed by Dan Bernstein.
259
260         marquee with display:inline causes crash
261         https://bugs.webkit.org/show_bug.cgi?id=32374
262
263         Test: fast/inline/inline-marquee-crash.html
264
265         * html/HTMLMarqueeElement.cpp:
266         (WebCore::HTMLMarqueeElement::start):
267         (WebCore::HTMLMarqueeElement::stop):
268         (WebCore::HTMLMarqueeElement::suspend):
269         (WebCore::HTMLMarqueeElement::resume):
270         (WebCore::HTMLMarqueeElement::renderMarquee):
271         * html/HTMLMarqueeElement.h:
272         * rendering/RenderLayer.cpp:
273         (WebCore::RenderLayer::styleChanged):
274
275 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
276
277         Reviewed by Darin Adler.
278
279         Allow custom memory allocation control for inspector's classes
280         https://bugs.webkit.org/show_bug.cgi?id=32660                               
281
282         Inherits the following classes from Noncopyable because these are
283         instantiated by 'new' and no need to be copyable:                                           
284
285         class name                  - instantiated at:  WebCore/'location'
286
287         class JavaScriptDebugServer - inspector/JavaScriptDebugServer.cpp:72
288         class ConsoleMessage        - inspector/InspectorController.cpp:329 
289         class InspectorController   - page/Page.cpp:119
290
291         * inspector/ConsoleMessage.h:
292         * inspector/InspectorController.h:
293         * inspector/JavaScriptDebugServer.h:
294
295 2009-12-17  Steve Block  <steveblock@google.com>
296
297         Reviewed by Eric Seidel.
298
299         Fixes HTMLInputElement::stepMismatch() to avoid ambiguous overload of pow().
300         https://bugs.webkit.org/show_bug.cgi?id=32675
301
302         Build fix only, no new tests.
303
304         * html/HTMLInputElement.cpp: Modified.
305         (WebCore::HTMLInputElement::stepMismatch): Cast first argument of pow to double to force 'double pow(double, int)'
306
307 2009-12-17  Marc-Antoine Ruel  <maruel@chromium.org>
308
309         Reviewed by Eric Seidel.
310
311         Fix link failure on LTCG builds on Windows for chromium port.
312
313         Reenable SVGAllInOne.cpp. This required some fixups.
314
315         Namely, there was conflicts in constants between HTMLNames and
316         SVGNames, and conflicts between static functions names.
317
318         No new tests as functionality has not changed.
319
320         * WebCore.gyp/WebCore.gyp:
321         * svg/SVGAllInOne.cpp:
322         * svg/SVGFontFaceElement.cpp:
323         (WebCore::SVGFontFaceElement::rebuildFontFace):
324         * svg/SVGGlyphElement.cpp:
325         (WebCore::SVGGlyphElement::invalidateGlyphCache):
326         (WebCore::SVGGlyphElement::buildGlyphIdentifier):
327         * svg/SVGHKernElement.cpp:
328         (WebCore::SVGHKernElement::insertedIntoDocument):
329         (WebCore::SVGHKernElement::removedFromDocument):
330         * svg/SVGStyleElement.cpp:
331         (WebCore::SVGStyleElement::type):
332         (WebCore::SVGStyleElement::setType):
333         (WebCore::SVGStyleElement::media):
334         (WebCore::SVGStyleElement::setMedia):
335         (WebCore::SVGStyleElement::title):
336         (WebCore::SVGStyleElement::setTitle):
337         (WebCore::SVGStyleElement::parseMappedAttribute):
338         * svg/SVGStyledElement.cpp:
339         (WebCore::mapAttributeToCSSProperty):
340         (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
341         * svg/SVGStyledElement.h:
342
343 2009-12-17  Adam Roben  <aroben@apple.com>
344
345         Chromium build fix VI
346
347         * svg/animation/SMILTimeContainer.h: Added now-needed #include.
348
349 2009-12-17  Adam Roben  <aroben@apple.com>
350
351         Chromium build fix V
352
353         * platform/KURLGoogle.cpp: Added now-needed #include.
354
355 2009-12-17  Adam Roben  <aroben@apple.com>
356
357         Chromium build fix IV
358
359         * loader/CrossOriginPreflightResultCache.h: Added now-needed
360         #includes.
361
362 2009-12-17  Adam Roben  <aroben@apple.com>
363
364         Chromium build fix III
365
366         * platform/graphics/Font.h: Added now-needed #include.
367
368 2009-12-17  Adam Roben  <aroben@apple.com>
369
370         Chromium build fix II
371
372         * dom/EventTarget.h: Added now-needed #include.
373
374 2009-12-17  Zoltan Horvath  <zoltan@webkit.org>
375
376         Reviewed by Eric Seidel.
377
378         Allow custom memory allocation control for js bindings
379         https://bugs.webkit.org/show_bug.cgi?id=32655
380
381         Inherits the following classes from Noncopyable because these are instantiated 
382         by 'new' and no need to be copyable:
383
384         class name                  - instantiated at:  WebCore/'location'
385
386         class ScriptCachedFrameData - history/CachedFrame.cpp:117
387         class WebCoreJSClientData   - bindings/js/JSDOMWindowBase.cpp:162
388         class ScheduledAction       - bindings/js/ScheduledAction.cpp:58
389
390         * bindings/js/JSDOMBinding.h:
391         * bindings/js/ScheduledAction.h:
392         * bindings/js/ScriptCachedFrameData.h:
393
394 2009-12-17  Adam Roben  <aroben@apple.com>
395
396         Chromium build fix
397
398         * dom/QualifiedName.h: Added now-needed #include of HashTraits.h
399         (which itself #includes HashFunctions.h).
400
401 2009-12-17  Pavel Feldman  <pfeldman@dhcp-172-28-174-220.spb.corp.google.com>
402
403         Reviewed by Timothy Hatcher.
404
405         Web Inspector: Incorrect Doctype.
406
407         REGRESSION(4.0.4-TOT):Web Inspector: Incorrect Doctype
408         https://bugs.webkit.org/show_bug.cgi?id=32671
409
410         * inspector/InspectorDOMAgent.cpp:
411         (WebCore::InspectorDOMAgent::buildObjectForNode):
412         * inspector/front-end/DOMAgent.js:
413         (WebInspector.DOMNode):
414
415 2009-12-17  Benjamin Otte  <otte@gnome.org>
416
417         Reviewed by Adam Roben.
418
419         Don't include all JSC headers everywhere
420         https://bugs.webkit.org/show_bug.cgi?id=32663
421
422         Remove HashMap HashSet and OwnPtr includes from PlatformString.h.
423         Reduces code size of Gtk build by another 5%.
424
425         * platform/text/PlatformString.h:
426
427 2009-12-17  Adam Roben  <aroben@apple.com>
428
429         Mac/Qt build fixes
430
431         * platform/graphics/mac/Canvas3DLayer.mm:
432         * platform/graphics/mac/GraphicsContext3DMac.cpp:
433         * platform/qt/Localizations.cpp:
434         Added missing #includes.
435
436 2009-12-17  Benjamin Otte  <otte@gnome.org>
437
438         Reviewed by Adam Roben.
439
440         Don't include all JSC headers everywhere
441         https://bugs.webkit.org/show_bug.cgi?id=32663
442
443         PlatformString.h included almost all of JSC via runtime/Identifier.h.
444         This patch gets rid of this include by forward-declaring the required
445         classes instead.
446         This reduces the build size of the object files on a Gtk debug build
447         by 10%. The resulting libwebkit.so gets 5% smaller.
448
449         No new tests as it's just a build improvement.
450
451         * platform/gtk/LocalizedStringsGtk.cpp:
452         include math.h here (it used to be pulled by JSC)
453         * platform/text/PlatformString.h:
454         * platform/text/String.cpp:
455
456 2009-12-17  Evan Martin  <evan@chromium.org>
457
458         Reviewed by Xan Lopez.
459
460         Always use all WebCore include paths in GtkWebKit.
461
462         With this patch, I can disable all optional features and still build.
463
464         * GNUmakefile.am:
465
466 2009-12-17  Yaar Schnitman  <yaar@chromium.org>
467
468         Reviewed by Darin Fisher.
469
470         Added WebPageSerializer to WebKit API.
471
472         https://bugs.webkit.org/show_bug.cgi?id=31737
473
474         * platform/text/StringBuilder.cpp: Added methods to make StringBuilder even more useful for large scale string concatenation.
475         (WebCore::StringBuilder::clear):
476         (WebCore::StringBuilder::length):
477         * platform/text/StringBuilder.h:
478
479 2009-12-10  Philippe Normand  <pnormand@igalia.com>
480
481         Reviewed by Xan Lopez.
482
483         [GTK] Add controls for playing html5 video.
484         https://bugs.webkit.org/show_bug.cgi?id=26304
485
486         Media controls UI, first step. This patch was written by Zan
487         Dobersek. In addition I fixed the compilation errors and
488         re-enabled some of the media tests involving the controls UI.
489
490         * GNUmakefile.am:
491         * css/mediaControlsGtk.css: Added.
492         * platform/graphics/Image.h:
493         * platform/graphics/gtk/ImageGtk.cpp:
494         (WebCore::getThemeIconFileName):
495         (WebCore::loadResourceSharedBuffer):
496         (WebCore::loadImageFromFile):
497         (WebCore::Image::loadPlatformResource):
498         (WebCore::Image::loadPlatformThemeIcon):
499         * platform/gtk/RenderThemeGtk.cpp:
500         (WebCore::getMediaElementFromRenderObject):
501         (WebCore::getIconNameForTextDirection):
502         (WebCore::RenderThemeGtk::initMediaStyling):
503         (WebCore::RenderThemeGtk::RenderThemeGtk):
504         (WebCore::RenderThemeGtk::~RenderThemeGtk):
505         (WebCore::supportsFocus):
506         (WebCore::RenderThemeGtk::baselinePosition):
507         (WebCore::paintMozWidget):
508         (WebCore::setToggleSize):
509         (WebCore::RenderThemeGtk::adjustSliderThumbSize):
510         (WebCore::RenderThemeGtk::gtkContainer):
511         (WebCore::RenderThemeGtk::platformColorsDidChange):
512         (WebCore::RenderThemeGtk::extraMediaControlsStyleSheet):
513         (WebCore::paintMediaButton):
514         (WebCore::RenderThemeGtk::paintMediaFullscreenButton):
515         (WebCore::RenderThemeGtk::paintMediaMuteButton):
516         (WebCore::RenderThemeGtk::paintMediaPlayButton):
517         (WebCore::RenderThemeGtk::paintMediaSeekBackButton):
518         (WebCore::RenderThemeGtk::paintMediaSeekForwardButton):
519         (WebCore::RenderThemeGtk::paintMediaSliderTrack):
520         (WebCore::RenderThemeGtk::paintMediaSliderThumb):
521         * platform/gtk/RenderThemeGtk.h:
522
523 2009-12-17  Yael Aharon  <yael.aharon@nokia.com>
524
525         Reviewed by Kenneth Rohde Christiansen.
526
527         [Qt] support navigator.onLine and ononline/onoffline events.
528         https://bugs.webkit.org/show_bug.cgi?id=32555
529
530         Hooked up Bearer Management to NetworkStateNotifier. This solution is available 
531         only if QtMobility's Bearer Management is installed.
532
533         * WebCore.pro:
534         * platform/network/NetworkStateNotifier.h:
535         * platform/network/qt/NetworkStateNotifierPrivate.h: Added.
536         * platform/network/qt/NetworkStateNotifierQt.cpp: Added.
537         (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
538         (WebCore::NetworkStateNotifierPrivate::onlineStateChanged):
539         (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
540         (WebCore::NetworkStateNotifier::updateState):
541         (WebCore::NetworkStateNotifier::NetworkStateNotifier):
542
543 2009-12-17  Pavel Feldman  <pfeldman@chromium.org>
544
545         Reviewed by Timothy Hatcher.
546
547         Web Inspector: Switch to 11px as default for source-code in WebKit.
548
549         https://bugs.webkit.org/show_bug.cgi?id=32646
550
551         * inspector/front-end/inspector.css:
552
553 2009-12-17  Simon Hausmann  <simon.hausmann@nokia.com>
554
555         Reviewed by Tor Arne Vestbø.
556
557         [Qt] Symbian build fix: Don't include QtXml/qxmlstream.h but omit the prefix, to
558         make sure we pick up the header file from QtCore. That is where the implementation
559         is compiled.
560
561         * dom/XMLTokenizer.h:
562
563 2009-12-17  Martin Robinson  <martin.james.robinson@gmail.com>
564
565         Reviewed by Gustavo Noronha Silva.
566
567         [GTK] WebKit GTK needs a wrapper for ref counted glib/gobject structs
568         https://bugs.webkit.org/show_bug.cgi?id=21599
569
570         Add GRefPtr support for GTK types to WebCore, as JSC does not link against
571         GTK+. Also convert PopupMenu::m_poup from a raw pointer to a GRefPtr.
572
573         No new tests as functionality has not changed.
574
575         * GNUmakefile.am:
576         * platform/PopupMenu.h:
577         * platform/gtk/GRefPtrGtk.cpp: Added.
578         (WTF::refGPtr):
579         (WTF::derefGPtr):
580         * platform/gtk/GRefPtrGtk.h: Added.
581         * platform/gtk/PopupMenuGtk.cpp:
582         (WebCore::PopupMenu::PopupMenu):
583         (WebCore::PopupMenu::~PopupMenu):
584         (WebCore::PopupMenu::show):
585         (WebCore::PopupMenu::hide):
586         (WebCore::PopupMenu::menuRemoveItem):
587
588 2009-12-17  Mikhail Naganov  <mnaganov@chromium.org>
589
590         Reviewed by Pavel Feldman.
591
592         Advice links to source code in CPU profiler to open in debugger,
593         not in resources tab.
594
595         Also work around the case when resources are disabled, but scripts are present.
596
597         https://bugs.webkit.org/show_bug.cgi?id=32610
598
599         * inspector/front-end/Panel.js:
600         (WebInspector.Panel.prototype.updateMainViewWidth):
601         (WebInspector.Panel.prototype.canShowSourceLineForURL):
602         (WebInspector.Panel.prototype.showSourceLineForURL):
603         * inspector/front-end/ProfileDataGridTree.js:
604         (WebInspector.ProfileDataGridNode.prototype.createCell):
605         * inspector/front-end/ResourcesPanel.js:
606         (WebInspector.ResourcesPanel.prototype.canShowSourceLineForURL):
607         (WebInspector.ResourcesPanel.prototype.showSourceLineForURL):
608         * inspector/front-end/ScriptsPanel.js:
609         (WebInspector.ScriptsPanel.prototype.scriptForURL):
610         (WebInspector.ScriptsPanel.prototype.canShowSourceLineForURL):
611         (WebInspector.ScriptsPanel.prototype.showSourceLineForURL):
612         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
613         * inspector/front-end/inspector.js:
614         (WebInspector.documentClick.followLink):
615         (WebInspector.documentClick):
616         (WebInspector._choosePanelToShowSourceLineForURL):
617         (WebInspector.canShowSourceLineForURL):
618         (WebInspector.showSourceLineForURL):
619
620 2009-12-15  Philippe Normand  <pnormand@igalia.com>
621
622         Reviewed by Xan Lopez.
623
624         [GTK] display FPS stats for video element
625         https://bugs.webkit.org/show_bug.cgi?id=32560
626
627         Display FPS statistics if WEBKIT_DEBUG environment variable
628         contains the Media log category. This feature requires a very
629         recent (>= 0.10.18) version of gst-plugins-bad.
630
631         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
632         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
633         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
634         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
635         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
636
637 2009-11-11  Philippe Normand  <pnormand@igalia.com>
638
639         Reviewed by Gustavo Noronha Silva.
640
641         [GStreamer] Should emit {networkState,readyState,volume,time,size,rate,duration}Changed signals
642         https://bugs.webkit.org/show_bug.cgi?id=30377
643
644         Emit volumeChanged and durationChanged upon notification from
645         GStreamer.
646
647         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
648         (WebCore::mediaPlayerPrivateMessageCallback):
649         (WebCore::mediaPlayerPrivateVolumeCallback):
650         (WebCore::notify_volume_idle_cb):
651         (WebCore::MediaPlayerPrivate::didEnd):
652         (WebCore::MediaPlayerPrivate::durationChanged):
653         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
654         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
655
656 2009-12-16  Philippe Normand  <pnormand@igalia.com>
657
658         Reviewed by Gustavo Noronha Silva.
659
660         [GTK] segfault during volume notification
661         https://bugs.webkit.org/show_bug.cgi?id=32603
662
663         Emit volumeChanged and durationChanged upon notification from
664         GStreamer. Also don't reset the volume property on playbin, it is
665         not needed as it is 1.0 by default both on playbin and in the
666         MediaPlayer.
667
668         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
669         (WebCore::mediaPlayerPrivateMessageCallback):
670         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
671         (WebCore::notifyVolumeIdleCallback):
672         (WebCore::doGstInit):
673         (WebCore::MediaPlayerPrivate::isAvailable):
674         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
675         (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
676         (WebCore::MediaPlayerPrivate::volumeChanged):
677         (WebCore::MediaPlayerPrivate::didEnd):
678         (WebCore::MediaPlayerPrivate::durationChanged):
679         (WebCore::mimeTypeCache):
680         (WebCore::MediaPlayerPrivate::createGSTPlayBin):
681         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
682
683 2009-12-17  Evan Martin  <evan@chromium.org>
684
685         Reviewed by Xan Lopez.
686
687         gtk: always use standard include paths, regardless of settings.
688         WebKit style is to wrap the body of a header in #if ENABLE(FOO),
689         so they're always safe to include whether the features are enabled or
690         not.
691
692         This fixes building with --disable-database and other flags.
693
694         * GNUmakefile.am:
695
696 2009-12-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
697
698         Unreviewed. Build fixes for make distcheck.
699
700         * GNUmakefile.am:
701
702 2009-12-17  Philippe Normand  <pnormand@igalia.com>
703
704         Rubber-stamped by Gustavo Noronha Silva.
705
706         Trivial WebKit coding style fix.
707
708         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
709         (WebCore::MediaPlayerPrivate::paint):
710
711 2009-12-15 MORITA Hajime <morrita@gmail.com>
712
713         Reviewed by Eric Seidel.
714
715         Bug 28306: double-clicking a word inside <b> beside newline select two words
716         https://bugs.webkit.org/show_bug.cgi?id=28306
717         
718         SimplifiedBackwardsTextIterator missed trailing whitespaces just
719         before folding line-break, which is used to detect word
720         boundaries. This fix checks strings on RenderText and expand text
721         range on SimplifiedBackwardsTextIterator to include trailing
722         whitespaces if availble.
723
724         Test: editing/selection/doubleclick-beside-cr-span.html
725
726         * editing/TextIterator.cpp:
727         (WebCore::collapsedSpaceLength):
728         (WebCore::maxOffsetIncludingCollapsedSpaces):
729         (WebCore::SimplifiedBackwardsTextIterator::advance):
730
731 2009-12-16  Fumitoshi Ukai  <ukai@chromium.org>
732
733         Reviewed by Alexey Proskuryakov.
734
735         Fix flakiness in WebSocket handshake console message.
736         https://bugs.webkit.org/show_bug.cgi?id=32598
737
738         In chromium, LayoutTests/websocket/tests/handshake-error.html is
739         flaky, because it outputs the following console message several times:
740           CONSOLE MESSAGE: line 0: Unexpected response code:101
741         Update m_mode in WebSocketHandshake correctly: Once it finds
742         error in handshake message, set m_mode to Failed and don't try
743         reading handshake message again.  If handshake message is not yet
744         fully received, set m_mode to Incomplete, so next didReceiveData()
745         will try to check handshake message again.
746
747         * websockets/WebSocketChannel.cpp:
748         (WebCore::WebSocketChannel::didReceiveData):
749         * websockets/WebSocketHandshake.cpp:
750         (WebCore::WebSocketHandshake::readServerHandshake):
751
752 2009-12-16  Jon Honeycutt  <jhoneycutt@apple.com>
753
754         MSAA: Accessibility role of text nodes is wrong
755
756         https://bugs.webkit.org/show_bug.cgi?id=32631
757         <rdar://problem/7369084>
758
759         Reviewed by Alice Liu.
760
761         Test: platform/win/accessibility/text-role.html
762
763         * accessibility/AccessibilityObject.h:
764         (WebCore::):
765         Add a new role to the enum.
766         (WebCore::AccessibilityObject::roleValueForMSAA):
767         Declare a function to return the accessibility role for MSAA; the base
768         implementation returns the old role value.
769
770         * accessibility/AccessibilityRenderObject.cpp:
771         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
772         Initialize m_roleForMSAA.
773         (WebCore::AccessibilityRenderObject::roleValueForMSAA):
774         If m_roleForMSAA has been set, return it. If the renderer is a
775         RenderText, set the role to EditableTextRole to match IE and Firefox.
776         Otherwise, set the role for MSAA to the old role value.
777
778         * accessibility/AccessibilityRenderObject.h:
779         Add a member to hold the role for MSAA, and declare an override of
780         roleValueForMSAA().
781
782 2009-12-16  Eric Seidel  <eric@webkit.org>
783
784         No review, rolling out r52206.
785         http://trac.webkit.org/changeset/52206
786         https://bugs.webkit.org/show_bug.cgi?id=31187
787
788         This broke pixel tests on Mac.  Presumably the code in
789         ImageCG is wrong here.
790
791         * platform/graphics/BitmapImage.h:
792         * platform/graphics/GeneratedImage.cpp:
793         (WebCore::GeneratedImage::drawPattern):
794         * platform/graphics/GeneratedImage.h:
795         * platform/graphics/Image.cpp:
796         (WebCore::Image::drawTiled):
797         * platform/graphics/Image.h:
798         * platform/graphics/cairo/ImageCairo.cpp:
799         (WebCore::Image::drawPattern):
800         * platform/graphics/cg/ImageCG.cpp:
801         (WebCore::Image::drawPattern):
802         * platform/graphics/haiku/ImageHaiku.cpp:
803         (WebCore::Image::drawPattern):
804         * platform/graphics/qt/ImageQt.cpp:
805         (WebCore::Image::drawPattern):
806         * platform/graphics/skia/ImageSkia.cpp:
807         (WebCore::Image::drawPattern):
808         * platform/graphics/wince/GraphicsContextWince.cpp:
809         (WebCore::GraphicsContext::drawBitmapPattern):
810         * platform/graphics/wince/ImageBufferWince.cpp:
811         (WebCore::):
812         (WebCore::BufferedImage::drawPattern):
813         * platform/graphics/wx/ImageWx.cpp:
814         (WebCore::BitmapImage::drawPattern):
815         (WebCore::Image::drawPattern):
816
817 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
818
819         Reviewed by David Levin.
820
821         https://bugs.webkit.org/show_bug.cgi?id=32637
822         [V8] Generate most named property getters.
823
824         Covered by existing tests.
825
826         * bindings/scripts/CodeGeneratorV8.pm: Added generation of SetNamedPropertyHandler call.
827         * bindings/v8/V8DOMWrapper.cpp:
828         (WebCore::V8DOMWrapper::getTemplate): Removed now-generated SetNamedPropertyHandler callsites.
829
830 2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
831
832         Reviewed by Kenneth Rohde Christiansen.
833
834         [Qt] Implement combobox delegate for Qt
835         https://bugs.webkit.org/show_bug.cgi?id=32550
836
837         Abstract popup menu factory.
838
839         A static method from QtAbstractPopupMenu is used to create its instances. If a factory
840         has been suplied to class QtAbstractPopupMenu the factory will be used to create the
841         objects. If not an instance of QtFallbackPopupMenu will be created.
842
843         The objective is to make it easy to replace the combobox popup at WebCore layer providing
844         support to the combobox popup delegation API. Future patches will make it possible to
845         replace the combobox popup at WebKit layer.
846
847         No behavior changes.
848
849         * platform/qt/PopupMenuQt.cpp:
850         (WebCore::PopupMenu::PopupMenu):
851         * platform/qt/QtAbstractWebPopup.cpp:
852         (WebCore::QtAbstractWebPopup::setFactory):
853         (WebCore::QtAbstractWebPopup::create):
854         * platform/qt/QtAbstractWebPopup.h:
855         * platform/qt/QtFallbackWebPopup.cpp:
856
857 2009-12-16  Mark Rowe  <mrowe@apple.com>
858
859         Build fix.  Disable debug variants of WebKit frameworks.
860
861         * WebCore.xcodeproj/project.pbxproj:
862
863 2009-12-16  Enrica Casucci  <enrica@apple.com>
864
865         Reviewed by Eric Seidel.
866
867         Right clicking in a table cell creates a selection that extends into the next cell.
868         <rdar://problem/5565465>
869         https://bugs.webkit.org/show_bug.cgi?id=32622
870         
871         Avoid extending the selection to the next cell if we start from an empty cell.
872
873         Test: editing/selection/empty-cell-right-click.html
874
875         * editing/TypingCommand.cpp:
876         (WebCore::TypingCommand::deleteKeyPressed): Replaced the code that check for empty table cell
877         with a call to the new function.
878         * editing/VisibleSelection.cpp:
879         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): Extends the
880         selection only if we are not starting from an empty table cell.
881         * editing/htmlediting.cpp:
882         (WebCore::isEmptyTableCell): Added a function since this check is performed now in two places.
883         * editing/htmlediting.h: Added isEmptyTableCell declaration.
884
885 2009-12-16  Dirk Schulze  <krit@webkit.org>
886
887         Reviewed by Nikolas Zimmermann.
888
889         feMerge crahses if feMergeNodes attribute in is empty
890         https://bugs.webkit.org/show_bug.cgi?id=32489
891
892         SVGFEMergeElement only stored pointers to all effects of it's nodes
893         in a list. But it should store the RefPtr otherwise the effects get
894         dereferenced and WebKit crashes.
895         I also made a short clean-up in SVGFilterBuilder. No change in
896         functionality.
897
898         Test: I updated svg/custom/empty-merge.svg to cover this problem.
899
900         * svg/SVGFEMergeElement.cpp:
901         (WebCore::SVGFEMergeElement::build):
902         * svg/graphics/filters/SVGFEMerge.cpp:
903         (WebCore::FEMerge::FEMerge):
904         (WebCore::FEMerge::create):
905         (WebCore::FEMerge::mergeInputs):
906         (WebCore::FEMerge::setMergeInputs):
907         * svg/graphics/filters/SVGFEMerge.h:
908         * svg/graphics/filters/SVGFilterBuilder.cpp:
909         (WebCore::SVGFilterBuilder::add):
910
911 2009-12-16  Brian Weinstein  <bweinstein@apple.com>
912
913         Reviewed by Timothy Hatcher.
914
915         Part of <http://webkit.org/b/32568>.
916         Web Inspector: Context Menus should be used in more places.
917         
918         Add a context menu entry in the console to clear the console. This
919         is only shown when there is no user selection of text, because if
920         there is selection of the text, then we want to give the user the Copy +
921         Spell Check context menu that they are used to.
922
923         * English.lproj/localizedStrings.js: Added "Clear Console".
924         * inspector/front-end/ConsoleView.js:
925         (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
926
927 2009-12-16  Brian Weinstein  <bweinstein@apple.com>
928
929         Reviewed by Pavel Feldman.
930
931         Fixes <https://bugs.webkit.org/show_bug.cgi?id=32621>.
932         Web Inspector: [REGRESSION (52095-52100)] Resources filter disappears when switching 
933         from / to resources panel.
934
935         Changed style in sidebar-resizer-vertical, because if the min-height was 100%, we start
936         to cover the scope bar.
937
938         * inspector/front-end/inspector.css:
939
940 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
941
942         Reviewed by Adam Barth.
943
944         [V8] Switch all indexers to be generated.
945         https://bugs.webkit.org/show_bug.cgi?id=32569
946
947         Covered by existing tests.
948
949         * WebCore.gypi: Remove V8FileListCustom.cpp and V8ClientRecListCustom.cpp,
950             as they are now generated.
951         * bindings/v8/V8DOMWrapper.cpp:
952         (WebCore::V8DOMWrapper::getTemplate): Remove customization of ClientRectList,
953             FileList, and DataGridColumnList templates.
954         * bindings/v8/custom/V8ClientRectListCustom.cpp: Removed.
955         * bindings/v8/custom/V8CustomBinding.h: Remove custom indexer getter decls.
956         * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Remove indexer getter definition.
957         * bindings/v8/custom/V8FileListCustom.cpp: Removed.
958
959 2009-12-16  anton muhin  <antonm@chromium.org>
960
961         Reviewed by Darin Adler.
962
963         [dom] make dom/Node.cpp compile if DUMP_NODE_STATISTICS is on
964         https://bugs.webkit.org/show_bug.cgi?id=32617
965
966         * dom/Node.cpp:
967         (WebCore::Node::dumpStatistics):
968
969 2009-12-16  Dimitri Glazkov  <dglazkov@chromium.org>
970
971         Reviewed by Darin Fisher.
972
973         [V8] There is no such thing as HTMLSelectElementCollection.
974         https://bugs.webkit.org/show_bug.cgi?id=32616
975
976         Refactoring, covered by existing tests.
977
978         * WebCore.gypi: Removed V8HTMLSelectElementCollectionCustom.cpp
979         * bindings/v8/V8Collection.h: Removed one-off template.
980         * bindings/v8/V8DOMWrapper.cpp:
981         (WebCore::V8DOMWrapper::getTemplate): Renamed all references to HTMLSelectElementCollection
982             to HTMLSelectElement.
983         * bindings/v8/custom/V8CustomBinding.h: Renamed custom indexer decls.
984         * bindings/v8/custom/V8HTMLSelectElementCollectionCustom.cpp: Removed.
985         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp: Moved code as-is from
986             V8HTMLSelectElementCollectionCustom.cpp
987
988 2009-12-16  Dan Winship  <danw@gnome.org>
989
990         Reviewed by Gustavo Noronha Silva.
991
992         [Gtk] Content-Encoding support
993
994         https://bugs.webkit.org/show_bug.cgi?id=25855
995
996         * platform/network/soup/ResourceHandleSoup.cpp:
997         (WebCore::startHttp): Don't force "Accept-Encoding: identity" any
998         more
999
1000 2009-12-16  Benjamin Otte  <otte@gnome.org>
1001
1002         Reviewed by Darin Adler.
1003
1004         Get rid of the phase argument to Image::drawPattern.
1005         https://bugs.webkit.org/show_bug.cgi?id=31187
1006
1007         The argument can be expressed equally well as part of the
1008         patternTransform. All backends but the Qt one did exactly that
1009         manually anyway.
1010
1011         * platform/graphics/BitmapImage.h:
1012         * platform/graphics/GeneratedImage.cpp:
1013         (WebCore::GeneratedImage::drawPattern):
1014         * platform/graphics/GeneratedImage.h:
1015         * platform/graphics/Image.cpp:
1016         (WebCore::Image::drawTiled):
1017         * platform/graphics/Image.h:
1018         * platform/graphics/cairo/ImageCairo.cpp:
1019         (WebCore::Image::drawPattern):
1020         * platform/graphics/cg/ImageCG.cpp:
1021         (WebCore::Image::drawPattern):
1022         * platform/graphics/haiku/ImageHaiku.cpp:
1023         (WebCore::Image::drawPattern):
1024         * platform/graphics/qt/ImageQt.cpp:
1025         (WebCore::Image::drawPattern):
1026         * platform/graphics/skia/ImageSkia.cpp:
1027         (WebCore::Image::drawPattern):
1028         * platform/graphics/wince/GraphicsContextWince.cpp:
1029         (WebCore::GraphicsContext::drawBitmapPattern):
1030         * platform/graphics/wince/ImageBufferWince.cpp:
1031         (WebCore::):
1032         (WebCore::BufferedImage::drawPattern):
1033         * platform/graphics/wx/ImageWx.cpp:
1034         (WebCore::BitmapImage::drawPattern):
1035         (WebCore::Image::drawPattern):
1036
1037 2009-12-16  Kenneth Russell  <kbr@google.com>
1038
1039         Reviewed by Darin Fisher.
1040
1041         Performance problems with index validation code for drawElements
1042         https://bugs.webkit.org/show_bug.cgi?id=32466
1043
1044         Added a cache of the maximum index for each element type to
1045         WebGLBuffer, querying it before iterating through the indices in
1046         the client-side copy of the buffer's data. Hoisted checks of the
1047         size of the element array itself into validateElementArraySize to
1048         avoid duplicating code.
1049
1050         The performance improvement has been measured with manual tests.
1051         Existing layout tests cover the index validation functionality
1052         and continue to pass as before.
1053
1054         * html/canvas/WebGLBuffer.cpp:
1055         (WebCore::WebGLBuffer::WebGLBuffer):
1056         (WebCore::WebGLBuffer::associateBufferData):
1057         (WebCore::WebGLBuffer::associateBufferSubData):
1058         (WebCore::WebGLBuffer::getCachedMaxIndex):
1059         (WebCore::WebGLBuffer::setCachedMaxIndex):
1060         (WebCore::WebGLBuffer::clearCachedMaxIndices):
1061         * html/canvas/WebGLBuffer.h:
1062         * html/canvas/WebGLRenderingContext.cpp:
1063         (WebCore::WebGLRenderingContext::validateElementArraySize):
1064         (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
1065         (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
1066         (WebCore::WebGLRenderingContext::validateRenderingState):
1067         (WebCore::WebGLRenderingContext::drawElements):
1068         * html/canvas/WebGLRenderingContext.h:
1069
1070 2009-12-16  Zelidrag Hornung  <zelidrag@chromium.org>
1071
1072         Reviewed by Darin Adler.
1073
1074         https://bugs.webkit.org/show_bug.cgi?id=32261
1075         Added ability to separate the autocomplete suggestion previewing from
1076         the actual accepting of the suggested value in HTMLInputElement.
1077         This element (it's single line text incarnation) can now
1078         be put in suggestion mode where renderer might display the suggested
1079         value without making it automatically exposed to JavaScript.
1080
1081         No new tests. This new methods are not exposed yet. It's use will be
1082         platform specific. PopupMenu and Chromium specific changes will be
1083         separated based on Darin Adler's comments.
1084
1085         * dom/InputElement.h:
1086         (WebCore::InputElementData::suggestedValue):
1087         (WebCore::InputElementData::setSuggestedValue):
1088         * html/HTMLInputElement.cpp:
1089         (WebCore::HTMLInputElement::suggestedValue):
1090         (WebCore::HTMLInputElement::setSuggestedValue):
1091         (WebCore::HTMLInputElement::setValue):
1092         (WebCore::HTMLInputElement::setValueFromRenderer):
1093         * html/HTMLInputElement.h:
1094         * rendering/RenderTextControlSingleLine.cpp:
1095         (WebCore::RenderTextControlSingleLine::updateFromElement):
1096         * wml/WMLInputElement.cpp:
1097         (WebCore::WMLInputElement::suggestedValue):
1098         * wml/WMLInputElement.h:
1099
1100 2009-12-16  Pavel Feldman  <pfeldman@chromium.org>
1101
1102         Reviewed by Timothy Hatcher.
1103
1104         Web Inspector: Make Elements tree, properties section and resources
1105         view monospace.
1106
1107         https://bugs.webkit.org/show_bug.cgi?id=32609
1108
1109         * inspector/front-end/ElementsPanel.js:
1110         * inspector/front-end/PropertiesSection.js:
1111         (WebInspector.PropertiesSection):
1112         * inspector/front-end/ResourceView.js:
1113         (WebInspector.ResourceView):
1114         * inspector/front-end/inspector.css:
1115
1116 2009-12-16  Dirk Schulze  <krit@webkit.org>
1117
1118         Reviewed by Darin Adler.
1119
1120         sourceGraphic wrong if positive x,y is >0 and objectBB is selected on Filter
1121         https://bugs.webkit.org/show_bug.cgi?id=32575
1122
1123         On SVG Filters, the rest of the source graphic gets clipped to the filter
1124         rest. This helps us to minimize the size of intermediate ImageBuffers. If
1125         the position moves to the right or to the bottom, we have to adjust the
1126         GraphicContext of this intermediate ImageBuffer.
1127         This patch fixes the adjustment of the context, according to the clipping.
1128
1129         Test: svg/filters/filter-source-position.svg
1130
1131         * svg/graphics/SVGResourceFilter.cpp:
1132         (WebCore::SVGResourceFilter::prepareFilter):
1133
1134 2009-12-16  Enrica Casucci  <enrica@apple.com>
1135
1136         Reviewed by Adele Peterson.
1137
1138         CrashTracer: [USER] 1 crash in Safari at com.apple.WebCore: WebCore::endsOfNodeAreVisuallyDistinctPositions + 115
1139         <rdar://problem/7467108>
1140         https://bugs.webkit.org/show_bug.cgi?id=32590
1141
1142         If the element is a button there is no need to look at the children to calculate the caret position.
1143         
1144         Test: editing/selection/button-right-click.html
1145
1146         * dom/Position.cpp:
1147         (WebCore::Position::getInlineBoxAndOffset): Avoid calling recursively this method,
1148         when starting from a button element.
1149
1150 2009-12-16  Luiz Agostini  <luiz.agostini@openbossa.org>
1151
1152         Reviewed by Kenneth Rohde Christiansen.
1153
1154         [Qt] Implement combobox delegate for Qt
1155         https://bugs.webkit.org/show_bug.cgi?id=32550
1156
1157         Refactoring of class QWebPopup.
1158
1159         Class QWebPopup has been split in QtAbstractWebPopup and QtFallbackWebPopup.
1160         Both new classes are now in corresponding files and files QWebPopup.* have been removed.
1161
1162         Custom combo popup classes will inherit from QtAbstractWebPopup. It is not the public API as it is
1163         in WebCore and will not be visible by users of QtWebKit. It will be used in implementation of
1164         public QtWebKit combobox popup delegation API.
1165
1166         Class QtFallbackWebPopup inherits from QtAbstractWebPopup and implements the currently used combobox popup.
1167         It needs to be improved to provide standard features that are missing like style or indentation.
1168
1169         No behavior changes.
1170
1171         * WebCore.pro:
1172         * platform/PopupMenu.h:
1173         * platform/qt/PopupMenuQt.cpp:
1174         (WebCore::PopupMenu::PopupMenu):
1175         * platform/qt/QWebPopup.cpp: Removed.
1176         * platform/qt/QWebPopup.h: Removed.
1177         * platform/qt/QtAbstractWebPopup.cpp: Added.
1178         (WebCore::QtAbstractWebPopup::QtAbstractWebPopup):
1179         (WebCore::QtAbstractWebPopup::~QtAbstractWebPopup):
1180         (WebCore::QtAbstractWebPopup::client):
1181         * platform/qt/QtAbstractWebPopup.h: Added.
1182         * platform/qt/QtFallbackWebPopup.cpp: Added.
1183         (WebCore::QtFallbackWebPopup::QtFallbackWebPopup):
1184         (WebCore::QtFallbackWebPopup::show):
1185         (WebCore::QtFallbackWebPopup::populate):
1186         (WebCore::QtFallbackWebPopup::showPopup):
1187         (WebCore::QtFallbackWebPopup::hidePopup):
1188         (WebCore::QtFallbackWebPopup::activeChanged):
1189         * platform/qt/QtFallbackWebPopup.h: Added.
1190         (WebCore::QtFallbackWebPopup::hide):
1191
1192 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
1193
1194         Reviewed by Timothy Hatcher.
1195
1196         Web Inspector: beautify HTTP info section.
1197
1198         https://bugs.webkit.org/show_bug.cgi?id=32583
1199
1200         * English.lproj/localizedStrings.js:
1201         * inspector/front-end/ResourceView.js:
1202         (WebInspector.ResourceView):
1203         (WebInspector.ResourceView.prototype._refreshURL):
1204         (WebInspector.ResourceView.prototype._refreshHTTPInformation):
1205         * inspector/front-end/inspector.css:
1206
1207 2009-12-13  Roland Steiner  <rolandsteiner@chromium.org>
1208
1209         Reviewed by Adam Barth.
1210
1211         Fix crash when encountering illegal HTML within a continuation inside <ruby>.
1212         (https://bugs.webkit.org/show_bug.cgi?id=32316)
1213
1214         Avoid having the anonymous blocks utilized in the ruby renderers being
1215         re-used as continuation blocks.
1216         Avoid having ruby runs collected as "leftover blocks".
1217
1218         Test: fast/ruby/ruby-illegal.html
1219
1220         * rendering/RenderRuby.h:
1221         (WebCore::RenderRubyAsInline::removeLeftoverAnonymousBlock): mustn't be called
1222         (WebCore::RenderRubyAsInline::isRuby): made private
1223         (WebCore::RenderRubyAsInline::renderName): made private
1224         (WebCore::RenderRubyAsInline::createsAnonymousWrapper): return true
1225         (WebCore::RenderRubyAsBlock::removeLeftoverAnonymousBlock): mustn't be called
1226         (WebCore::RenderRubyAsBlock::isRuby): made private
1227         (WebCore::RenderRubyAsBlock::renderName): made private
1228         (WebCore::RenderRubyAsBlock::createsAnonymousWrapper): return true
1229         * rendering/RenderRubyRun.h:
1230         (WebCore::RenderRubyRun::removeLeftoverAnonymousBlock): avoid
1231         (WebCore::RenderRubyRun::isRubyRun): made private
1232         (WebCore::RenderRubyRun::renderName): made private
1233         (WebCore::RenderRubyRun::createsAnonymousWrapper): return true
1234
1235 2009-12-15  Nate Chapin  <japhet@chromium.org>
1236
1237         Reviewed by Darin Adler.
1238
1239         Rename skipCanLoadCheck to skipSecurityCheck in a bunch of places in WebCore/loader.
1240
1241         https://bugs.webkit.org/show_bug.cgi?id=32529
1242
1243         * loader/Cache.cpp:
1244         (WebCore::Cache::requestUserCSSStyleSheet):
1245         * loader/CachedImage.cpp:
1246         (WebCore::CachedImage::load):
1247         * loader/CachedResource.cpp:
1248         (WebCore::CachedResource::load):
1249         * loader/CachedResource.h:
1250         (WebCore::CachedResource::load):
1251         * loader/DocumentThreadableLoader.cpp:
1252         (WebCore::DocumentThreadableLoader::DocumentThreadableLoader):
1253         (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
1254         (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
1255         (WebCore::DocumentThreadableLoader::preflightSuccess):
1256         (WebCore::DocumentThreadableLoader::loadRequest):
1257         * loader/DocumentThreadableLoader.h:
1258         * loader/FrameLoaderTypes.h:
1259         (WebCore::):
1260         * loader/Request.cpp:
1261         (WebCore::Request::Request):
1262         * loader/Request.h:
1263         (WebCore::Request::shouldDoSecurityCheck):
1264         * loader/SubresourceLoader.cpp:
1265         (WebCore::SubresourceLoader::create):
1266         * loader/SubresourceLoader.h:
1267         * loader/loader.cpp:
1268         (WebCore::Loader::load):
1269         (WebCore::Loader::Host::servePendingRequests):
1270         * loader/loader.h:
1271
1272 2009-12-15  Dan Bernstein  <mitz@apple.com>
1273
1274         Reviewed by Darin Adler.
1275
1276         <rdar://problem/7470452> Safari/Chromium crashes on complicated @font-face rule
1277         https://bugs.webkit.org/show_bug.cgi?id=32257
1278
1279         Test: fast/css/font-face-unused-source-loaded.html
1280
1281         The loading of a font resource caused a CSSFontFace that had the resource in one of its
1282         sources, but wasn’t using it (due to using an earlier source) to invalidate its
1283         CSSSegmentedFontFaces. This caused FontData for the active source (the one that did not just
1284         finish loading) to be deleted, but that went unnoticed by Font::operator==(), since the
1285         corresponding FontFallbackLists were not in the loading state. The fix is for CSSFontFace to
1286         ignore loads from unused sources.
1287
1288         * css/CSSFontFace.cpp:
1289         (WebCore::CSSFontFace::fontLoaded): Bail out if the loaded source is not the active source.
1290         (WebCore::CSSFontFace::getFontData): Set m_activeSource to the source that supplied the
1291             FontData.
1292         * css/CSSFontFace.h:
1293         (WebCore::CSSFontFace::CSSFontFace): Initialize m_activeSource.
1294
1295 2009-12-15  Yael Aharon  <yael.aharon@nokia.com>
1296
1297         Reviewed by Kenneth Rohde Christiansen.
1298
1299         [Qt] Cannot load flash files from a local file.
1300         https://bugs.webkit.org/show_bug.cgi?id=32572
1301
1302         When loading the main resource and its mime type is application/octet-stream,
1303         use the file extenstion to check if it is a supported plugin.
1304
1305         No new tests were added since any existing swf file can be used as a manual test.
1306
1307         * loader/MainResourceLoader.cpp:
1308         (WebCore::MainResourceLoader::didReceiveResponse):
1309         * loader/MainResourceLoader.h:
1310         * plugins/PluginDatabase.h:
1311
1312 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
1313
1314         Reviewed by Timothy Hatcher.
1315
1316         Fixes <https://bugs.webkit.org/show_bug.cgi?id=18498>.
1317         REGRESSION: Tips are not shown for resources anymore.
1318         
1319         As discussed in the bug, Tips are not coming back, and the feature
1320         will be moved to the audits panel. This patch is to remove the Tips
1321         code and the resources that it needed.
1322
1323         * WebCore.gypi: Removed tips files.
1324         * inspector/front-end/Images/tipBalloon.png: Removed.
1325         * inspector/front-end/Images/tipBalloonBottom.png: Removed.
1326         * inspector/front-end/Images/tipIcon.png: Removed.
1327         * inspector/front-end/Images/tipIconPressed.png: Removed.
1328         * inspector/front-end/Resource.js: Removed tips code.
1329         (WebInspector.Resource.prototype.set finished): 
1330         * inspector/front-end/WebKit.qrc: Removed tips files.
1331         * inspector/front-end/inspector.css: Removes tips style rules.
1332         
1333 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
1334
1335         Reviewed by Timothy Hatcher.
1336
1337         Web Inspector: Display request headers for main resource
1338         having redirects.
1339
1340         https://bugs.webkit.org/show_bug.cgi?id=32577
1341
1342         * inspector/InspectorController.cpp:
1343         (WebCore::InspectorController::identifierForInitialRequest):
1344         (WebCore::InspectorController::willSendRequest):
1345         * inspector/InspectorResource.cpp:
1346         (WebCore::InspectorResource::InspectorResource):
1347         (WebCore::InspectorResource::appendRedirect):
1348         (WebCore::InspectorResource::createCached):
1349         (WebCore::InspectorResource::updateRequest):
1350         * inspector/InspectorResource.h:
1351         (WebCore::InspectorResource::create):
1352
1353 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
1354
1355         Reviewed by Timothy Hatcher.
1356
1357         Fixes <https://bugs.webkit.org/show_bug.cgi?id=32578>.
1358         Web Inspector: No Need for ?="" now that we have context menus.
1359         
1360         Remove the toggleNewAttributeButton function and callers to it, as
1361         we don't need this behavior anymore, now that we have context menus.
1362
1363         * inspector/front-end/ElementsTreeOutline.js:
1364         (WebInspector.ElementsTreeElement.prototype.set hovered):
1365         (WebInspector.ElementsTreeElement.prototype.toggleNewAttributeButton):
1366         (WebInspector.ElementsTreeElement.prototype._startEditing):
1367
1368 2009-12-15  Dimitri Glazkov  <dglazkov@chromium.org>
1369
1370         Reviewed by Eric Seidel.
1371
1372         [V8] Generate trivial named property getters.
1373         https://bugs.webkit.org/show_bug.cgi?id=32562
1374
1375         Covered by existing tests.
1376
1377         * bindings/scripts/CodeGeneratorV8.pm: Added GenerateImplementationNamedPropertyGetter.
1378         * bindings/v8/V8Collection.h:
1379         (WebCore::getNamedPropertyOfCollection): Fixed a booboo by using AtomicString like we're supposed to.
1380         * bindings/v8/V8DOMWrapper.cpp:
1381         (WebCore::V8DOMWrapper::getTemplate): Removed code that's now generated.
1382
1383 2009-12-15  Brian Weinstein  <bweinstein@apple.com>
1384
1385         Reviewed by Timothy Hatcher.
1386
1387         Part of <http://webkit.org/b/32568>.
1388         New Web Inspector: The Context Menu should be used in more places.
1389         
1390         Add support for context menu entries for editing and deleting elements
1391         in the datagrid. This gives support to deleting cookies, and editing and
1392         deleting session storage and local storage.
1393
1394         * English.lproj/localizedStrings.js: Added "Edit" and "Add New" entries (delete was already there)
1395         * inspector/front-end/DataGrid.js:
1396         (WebInspector.DataGrid): Added context menu listener.
1397         (WebInspector.DataGrid.prototype._contextMenuInDataTable):
1398
1399 2009-12-15  Kenneth Russell  <kbr@google.com>
1400
1401         Reviewed by Darin Fisher.
1402
1403         Don't allow default framebuffer to be mutated
1404         https://bugs.webkit.org/show_bug.cgi?id=32391
1405
1406         * html/canvas/WebGLRenderingContext.cpp:
1407         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
1408         (WebCore::WebGLRenderingContext::framebufferTexture2D):
1409         * platform/graphics/mac/GraphicsContext3DMac.cpp:
1410         (WebCore::GraphicsContext3D::bindFramebuffer):
1411
1412 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1413
1414         Reviewed by Darin Adler.
1415
1416         Allow custom memory allocation control for FontPlatformDataCacheKey class
1417         https://bugs.webkit.org/show_bug.cgi?id=32552
1418
1419         Inherits the following struct from FastAllocBase because it is instantiated by 'new':
1420
1421         struct name                     - instantiated at: WebCore/'location'
1422         struct FontPlatformDataCacheKey - platform/graphics/FontCache.cpp:118
1423
1424         * platform/graphics/FontCache.cpp:
1425
1426 2009-12-15  Jian Li  <jianli@chromium.org>
1427
1428         Reviewed by Dmitry Titov.
1429
1430         Bug 31090 - [Chromium] Add DownloadURL format to Chromium clipboard.
1431         https://bugs.webkit.org/show_bug.cgi?id=31090
1432
1433         The proposal to whatwg can be found here:
1434         http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2009-August/022118.html
1435
1436         * platform/chromium/ChromiumDataObject.cpp:
1437         (WebCore::ChromiumDataObject::clear):
1438         (WebCore::ChromiumDataObject::hasData):
1439         (WebCore::ChromiumDataObject::ChromiumDataObject):
1440         * platform/chromium/ChromiumDataObject.h:
1441         * platform/chromium/ClipboardChromium.cpp:
1442         (WebCore::):
1443         (WebCore::clipboardTypeFromMIMEType):
1444         (WebCore::ClipboardChromium::setData):
1445
1446 2009-12-15  Chris Fleizach  <cfleizach@apple.com>
1447
1448         Reviewed by Darin Adler.
1449
1450         WAI-ARIA: implement treegrid
1451         https://bugs.webkit.org/show_bug.cgi?id=31299
1452
1453         Test: platform/mac/accessibility/aria-treegrid.html
1454
1455         * accessibility/AXObjectCache.cpp:
1456         (WebCore::AXObjectCache::getOrCreate):
1457         * accessibility/AccessibilityARIAGrid.h:
1458         (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
1459         * accessibility/AccessibilityARIAGridRow.cpp:
1460         (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
1461         (WebCore::AccessibilityARIAGridRow::disclosedRows):
1462         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
1463         * accessibility/AccessibilityARIAGridRow.h:
1464         * accessibility/AccessibilityObject.cpp:
1465         (WebCore::createARIARoleMap):
1466         * accessibility/AccessibilityObject.h:
1467         (WebCore::):
1468         (WebCore::AccessibilityObject::isARIATreeGridRow):
1469         * accessibility/AccessibilityRenderObject.cpp:
1470         (WebCore::AccessibilityRenderObject::isMultiSelectable):
1471         (WebCore::AccessibilityRenderObject::setIsExpanded):
1472         (WebCore::AccessibilityRenderObject::setSelectedRows):
1473         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
1474         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
1475         (WebCore::AccessibilityRenderObject::selectedChildren):
1476         * accessibility/AccessibilityRenderObject.h:
1477         * accessibility/AccessibilityTable.h:
1478         (WebCore::AccessibilityTable::supportsSelectedRows):
1479         * accessibility/mac/AccessibilityObjectWrapper.mm:
1480         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1481         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1482         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1483         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1484
1485 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1486
1487         Reviewed by Darin Adler.
1488
1489         Allow custom memory allocation control for EmptyEditorClient and EmptyInspectorClient
1490         https://bugs.webkit.org/show_bug.cgi?id=32557
1491
1492         Inherits the following classes from Noncopyable because these are instantiated
1493         by 'new' and no need to be copyable:
1494
1495         class name                 - instantiated at: WebCore/'location'
1496         class EmptyEditorClient    - svg/graphics/SVGImage.cpp:230
1497         class EmptyInspectorClient - svg/graphics/SVGImage.cpp:241
1498
1499         * loader/EmptyClients.h:
1500
1501 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1502
1503         Reviewed by Darin Adler.
1504
1505         Allow custom memory allocation control for WebCore/inspector directory's classes
1506         https://bugs.webkit.org/show_bug.cgi?id=32556
1507
1508         Inherits the following class from Noncopyable because these are instantiated
1509         by 'new' and no need to be copyable:
1510
1511         class name                   - instantiated at: WebCore/'location'
1512         class InspectorFrontend      - inspector/InspectorController.cpp:538
1513         class InspectorTimelineAgent - inspector/InspectorController.cpp:1097
1514
1515         * inspector/InspectorFrontend.h:
1516         * inspector/InspectorTimelineAgent.h:
1517
1518 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1519
1520         Reviewed by Darin Adler.
1521
1522         Allow custom memory allocation control for WebCore/platform/network directory's classes
1523         https://bugs.webkit.org/show_bug.cgi?id=32553
1524
1525         Inherits the following class from Noncopyable because it is instantiated
1526         by 'new' and no need to be copyable:
1527
1528         class/struct name                      - instantiated at: WebCore/'location'
1529
1530         struct CrossThreadResourceResponseData - platform/network/ResourceResponseBase.cpp:109
1531
1532         Inherits the following classes from FastAllocBase because these are
1533         instantiated by 'new':
1534
1535         class ResourceResponseBase - (its child class) platform/network/ResourceResponseBase.cpp:90
1536         class ResourceRequestBase  - (its child class) loader/DocumentThreadableLoader.cpp:88
1537
1538         * platform/network/ResourceRequestBase.h:
1539         * platform/network/ResourceResponseBase.h:
1540
1541 2009-12-15  Zoltan Horvath  <zoltan@webkit.org>
1542
1543         Reviewed by Darin Adler.
1544
1545         Allow custom memory allocation control for AnimationControllerPrivate and FillLayerPropertyWrapperGetter
1546         https://bugs.webkit.org/show_bug.cgi?id=32549
1547
1548         Inherits AnimationControllerPrivate and FillLayerPropertyWrapperGetter
1549         classes from Noncopyable because these are instantiated by 'new' and no need to be copyable:
1550
1551         class/struct name              - instantiated at: WebCore/'location'
1552
1553         AnimationControllerPrivate     - page/animation/AnimationController.cpp:439
1554         FillLayerPropertyWrapperGetter - (its child class) page/animation/AnimationBase.cpp:464
1555
1556         * page/animation/AnimationBase.cpp:
1557         * page/animation/AnimationControllerPrivate.h:
1558
1559 2009-12-15  Pavel Feldman  <pfeldman@chromium.org>
1560
1561         Reviewed by Timothy Hatcher.
1562
1563         Web Inspector: Do not lose HTTP redirect information, display it
1564         in the Resources Panel.
1565
1566         https://bugs.webkit.org/show_bug.cgi?id=32551
1567
1568         * inspector/InspectorController.cpp:
1569         (WebCore::InspectorController::populateScriptObjects):
1570         (WebCore::InspectorController::didCommitLoad):
1571         (WebCore::InspectorController::didLoadResourceFromMemoryCache):
1572         (WebCore::InspectorController::identifierForInitialRequest):
1573         (WebCore::InspectorController::willSendRequest):
1574         (WebCore::InspectorController::didReceiveResponse):
1575         (WebCore::InspectorController::didReceiveContentLength):
1576         (WebCore::InspectorController::didFinishLoading):
1577         (WebCore::InspectorController::didFailLoading):
1578         * inspector/InspectorFrontend.cpp:
1579         * inspector/InspectorFrontend.h:
1580         * inspector/InspectorResource.cpp:
1581         (WebCore::InspectorResource::InspectorResource):
1582         (WebCore::InspectorResource::appendRedirect):
1583         (WebCore::InspectorResource::updateScriptObject):
1584         (WebCore::InspectorResource::releaseScriptObject):
1585         (WebCore::InspectorResource::type):
1586         * inspector/InspectorResource.h:
1587         (WebCore::InspectorResource::):
1588         (WebCore::InspectorResource::Changes::setAll):
1589         * inspector/front-end/inspector.js:
1590         (WebInspector._addResource):
1591         (WebInspector.updateResource):
1592
1593 2009-12-15  Holger Hans Peter Freyther  <zecke@selfish.org>
1594
1595         Reviewed by Simon Hausmann.
1596
1597         [Qt] Followup for direct signals and slots connections in QNetworkReplyHandler
1598         https://bugs.webkit.org/show_bug.cgi?id=32113
1599
1600         For Qt versions prior to 4.6.1 we will need to use QueuedConnection
1601         for the signal and slot connection to avoid running into a bug in.
1602
1603         Add a comment that we want to remove one signal to forward
1604         queued items when moving our minimum requirements.
1605
1606         * platform/network/qt/QNetworkReplyHandler.cpp:
1607         (WebCore::QNetworkReplyHandler::start):
1608
1609 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
1610
1611         Reviewed by Kenneth Rohde Christiansen.
1612
1613         [Qt] Add manual test for JavaScript prompt corner case
1614         https://bugs.webkit.org/show_bug.cgi?id=30914
1615
1616         The patch is based on the work done by Gupta Manish.
1617
1618         Verify behavior of the JavaScript prompt function. Currently
1619         Qt is not behaving like other WebKit ports and Firefox in
1620         regards to accepting the prompt but not entering a text.
1621
1622         * manual-tests/qt/java-script-prompt.html: Added.
1623
1624 2009-12-15  Luiz Agostini  <luiz.agostini@openbossa.org>
1625
1626         Reviewed by Kenneth Rohde Christiansen.
1627
1628         Moving list populate methods from PopupMenuQt to QWebPopup.
1629         
1630         In preparation to future implementation of a delegation API for the combobox.
1631
1632         * platform/PopupMenu.h:
1633         * platform/qt/PopupMenuQt.cpp:
1634         (WebCore::PopupMenu::show):
1635         (WebCore::PopupMenu::hide):
1636         * platform/qt/QWebPopup.cpp:
1637         (WebCore::QWebPopup::show):
1638         (WebCore::QWebPopup::populate):
1639         * platform/qt/QWebPopup.h:
1640         (WebCore::QWebPopup::hide):
1641
1642 2009-12-15  Alexander Pavlov  <apavlov@chromium.org>
1643
1644         Reviewed by Pavel Feldman.
1645
1646         Extract WebInspector.Section from WebInspector.PropertiesSection.
1647         https://bugs.webkit.org/show_bug.cgi?id=32523
1648
1649         * WebCore.gypi:
1650         * WebCore.vcproj/WebCore.vcproj:
1651         * inspector/front-end/PropertiesSection.js:
1652         (WebInspector.PropertiesSection):
1653         * inspector/front-end/Section.js: Added.
1654         (WebInspector.Section):
1655         (WebInspector.Section.prototype.get title):
1656         (WebInspector.Section.prototype.set title):
1657         (WebInspector.Section.prototype.get subtitle):
1658         (WebInspector.Section.prototype.set subtitle):
1659         (WebInspector.Section.prototype.get expanded):
1660         (WebInspector.Section.prototype.set expanded):
1661         (WebInspector.Section.prototype.get populated):
1662         (WebInspector.Section.prototype.set populated):
1663         (WebInspector.Section.prototype.expand):
1664         (WebInspector.Section.prototype.collapse):
1665         (WebInspector.Section.prototype.toggleExpanded):
1666         * inspector/front-end/WebKit.qrc:
1667         * inspector/front-end/inspector.html:
1668
1669 2009-12-15  Eric Seidel  <eric@webkit.org>
1670
1671         No review, rolling out r52140.
1672         http://trac.webkit.org/changeset/52140
1673         https://bugs.webkit.org/show_bug.cgi?id=31299
1674
1675         The commit broke the Leopard bots and unfortunately
1676         Chris wasn't around to fix them, so I'm rolling the change
1677         out after 3 hours so that the bots can roll green again. :)
1678
1679         * accessibility/AXObjectCache.cpp:
1680         (WebCore::AXObjectCache::getOrCreate):
1681         * accessibility/AccessibilityARIAGrid.h:
1682         * accessibility/AccessibilityARIAGridRow.cpp:
1683         * accessibility/AccessibilityARIAGridRow.h:
1684         * accessibility/AccessibilityObject.cpp:
1685         (WebCore::createARIARoleMap):
1686         * accessibility/AccessibilityObject.h:
1687         (WebCore::):
1688         * accessibility/AccessibilityRenderObject.cpp:
1689         (WebCore::AccessibilityRenderObject::isMultiSelect):
1690         (WebCore::AccessibilityRenderObject::setIsExpanded):
1691         (WebCore::AccessibilityRenderObject::setSelectedRows):
1692         (WebCore::AccessibilityRenderObject::ariaTreeSelectedRows):
1693         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
1694         (WebCore::AccessibilityRenderObject::selectedChildren):
1695         * accessibility/AccessibilityRenderObject.h:
1696         * accessibility/AccessibilityTable.h:
1697         * accessibility/mac/AccessibilityObjectWrapper.mm:
1698         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1699         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1700         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1701         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1702
1703 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
1704
1705         Reviewed by Eric Seidel.
1706
1707         [Qt] Remove dead code from FontPlatformDataQt.cpp
1708         https://bugs.webkit.org/show_bug.cgi?id=32540
1709
1710         In r51758 the code that used familyNames was removed
1711         and we should remove the creation of the familyNames
1712         as well.
1713
1714         * platform/graphics/qt/FontPlatformDataQt.cpp:
1715         (WebCore::FontPlatformData::FontPlatformData):
1716
1717 2009-12-15  Dan Bernstein  <mitz@apple.com>
1718
1719         Reviewed by Adam Roben.
1720
1721         WebCore part of <rdar://problem/7173515> Use LOGFONT support in Core
1722         Graphics when available
1723
1724         When using a version of Core Graphics with LOGFONT support, this fixes
1725         <rdar://problem/5764844> First-time launch is painfully slow due to font
1726         plist creation
1727         and <rdar://problem/6576281> 12px synthetic-italics Tahoma text is less
1728         readable in Safari than in Firefox/IE due to poorly-spaced letters
1729
1730         * platform/graphics/win/FontCGWin.cpp:
1731         (WebCore::Font::drawGlyphs): No longer call drawGDIGlyphs for stroked
1732         text.
1733         * platform/graphics/win/FontCacheWin.cpp:
1734         (WebCore::createGDIFont): Added a synthesizeItalic parameter. When set
1735         to true, if italics are desired but the best match lacks italics,
1736         creates and returns a synthetic italics font.
1737         (WebCore::FontCache::createFontPlatformData): Ask to synthesize italics
1738         if needed.
1739         * platform/graphics/win/FontCustomPlatformData.cpp:
1740         (WebCore::FontCustomPlatformData::fontPlatformData): Updated an
1741         assertion, and changed to create the CGFont from the LOGFONT.
1742         (WebCore::createFontCustomPlatformData): Changed cgFont to be a
1743         RetainPtr. Do not create a CGFont from the font data if it can be
1744         created from the LOGFONT in fontPlatformData().
1745         * platform/graphics/win/FontDatabase.cpp:
1746         (WebCore::populateFontDatabase): Avoid font database work if fonts are
1747         not going to be looked up by name.
1748         * platform/graphics/win/FontPlatformDataCGWin.cpp:
1749         (WebCore::FontPlatformData::platformDataInit): Create the CGFont from
1750         a LOGFONT based on the HFONT.
1751
1752 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
1753
1754         Reviewed by Darin Adler.
1755
1756         WAI-ARIA: implement treegrid
1757         https://bugs.webkit.org/show_bug.cgi?id=31299
1758
1759         Test: platform/mac/accessibility/aria-treegrid.html
1760
1761         * accessibility/AXObjectCache.cpp:
1762         (WebCore::AXObjectCache::getOrCreate):
1763         * accessibility/AccessibilityARIAGrid.h:
1764         (WebCore::AccessibilityARIAGrid::supportsSelectedRows):
1765         * accessibility/AccessibilityARIAGridRow.cpp:
1766         (WebCore::AccessibilityARIAGridRow::isARIATreeGridRow):
1767         (WebCore::AccessibilityARIAGridRow::disclosedRows):
1768         (WebCore::AccessibilityARIAGridRow::disclosedByRow):
1769         * accessibility/AccessibilityARIAGridRow.h:
1770         * accessibility/AccessibilityObject.cpp:
1771         (WebCore::createARIARoleMap):
1772         * accessibility/AccessibilityObject.h:
1773         (WebCore::AccessibilityObject::isARIATreeGridRow):
1774         * accessibility/AccessibilityRenderObject.cpp:
1775         (WebCore::AccessibilityRenderObject::isMultiSelectable):
1776         (WebCore::AccessibilityRenderObject::setIsExpanded):
1777         (WebCore::AccessibilityRenderObject::setSelectedRows):
1778         (WebCore::AccessibilityRenderObject::ariaSelectedRows):
1779         (WebCore::AccessibilityRenderObject::ariaListboxSelectedChildren):
1780         (WebCore::AccessibilityRenderObject::selectedChildren):
1781         * accessibility/AccessibilityRenderObject.h:
1782         * accessibility/AccessibilityTable.h:
1783         (WebCore::AccessibilityTable::supportsSelectedRows):
1784         * accessibility/mac/AccessibilityObjectWrapper.mm:
1785         (-[AccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
1786         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1787         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
1788         (-[AccessibilityObjectWrapper accessibilitySetValue:forAttribute:]):
1789
1790 2009-12-14  Dan Bernstein  <mitz@apple.com>
1791
1792         Reviewed by Darin Adler.
1793
1794         <rdar://problem/7460655> REGRESSION (r47255): Content shifted down at software.opensuse.org
1795         https://bugs.webkit.org/show_bug.cgi?id=32382
1796
1797         Test: fast/block/float/in-margin.html
1798
1799         * rendering/RenderBlock.cpp:
1800         (WebCore::RenderBlock::getClearDelta): Floats that do not intrude into the line (because
1801         they are in the margin) do not need to be cleared.
1802
1803 2009-12-14  Enrica Casucci  <enrica@apple.com>
1804
1805         Reviewed by John Sullivan.
1806
1807         Pressing backspace inside a table cell erases all empty rows below it.
1808         <rdar://problem/5565461>
1809         https://bugs.webkit.org/show_bug.cgi?id=32526
1810
1811         No deletion is performed when the caret selection is on an empty table cell.
1812         
1813         Test: editing/deleting/delete-empty-table.html
1814
1815         * editing/TypingCommand.cpp:
1816         (WebCore::TypingCommand::deleteKeyPressed): Added check for empty table cells in
1817         case of caret selection.
1818
1819 2009-12-14  Andrei Popescu  <andreip@google.com>
1820
1821         Reviewed by Darin Adler.
1822
1823         [Android] Android needs ResourceHandle implementation
1824         https://bugs.webkit.org/show_bug.cgi?id=32515
1825
1826         Adds implementation of ResourceHandle on Android.
1827
1828         No new tests needed, this is platform-specific code, so existing
1829         tests are sufficient.
1830
1831         * platform/network/android/ResourceHandleAndroid.cpp: Added.
1832         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
1833         (WebCore::ResourceHandle::~ResourceHandle):
1834         (WebCore::ResourceHandle::start):
1835         (WebCore::ResourceHandle::cancel):
1836         (WebCore::ResourceHandle::bufferedData):
1837         (WebCore::ResourceHandle::supportsBufferedData):
1838         (WebCore::ResourceHandle::setDefersLoading):
1839         (WebCore::ResourceHandle::willLoadFromCache):
1840         (WebCore::ResourceHandle::loadsBlocked):
1841         (WebCore::SyncLoader::SyncLoader):
1842         (WebCore::SyncLoader::~SyncLoader):
1843         (WebCore::SyncLoader::didReceiveResponse):
1844         (WebCore::SyncLoader::didReceiveData):
1845         (WebCore::SyncLoader::didFail):
1846         (WebCore::ResourceHandle::loadResourceSynchronously):
1847         * platform/network/android/ResourceLoaderAndroid.h: Added.
1848         (WebCore::ResourceLoaderAndroid::~ResourceLoaderAndroid):
1849         (WebCore::ResourceLoaderAndroid::ResourceLoaderAndroid):
1850
1851 2009-12-14  Marco Martin  <notmart@gmail.com>
1852
1853         Reviewed by Kenneth Rohde Christiansen.
1854
1855         In the Scrollbar painting of the Qt theme integration,
1856         intersects any previous clip rects with the one needed to paint the scrollbar.
1857         This fixes the painting in QGraphicsview, when the parent of the widget that 
1858         paints the QWebPage has the QGraphicsItem::ItemClipsChildrenToShape set and
1859         a piece of the scrollbar should be cipped away
1860         https://bugs.webkit.org/show_bug.cgi?id=30366
1861
1862         No new tests.
1863
1864         * platform/qt/ScrollbarThemeQt.cpp:
1865         (WebCore::ScrollbarThemeQt::paint):
1866
1867 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
1868
1869         Reviewed by Eric Seidel.
1870
1871         [V8] Generate bindings for trivial indexers.
1872         https://bugs.webkit.org/show_bug.cgi?id=32455
1873
1874         Covered by existing tests.
1875
1876         * bindings/scripts/CodeGeneratorV8.pm:
1877             Added detecting indexers and generating code for them.
1878         * bindings/v8/V8Collection.h: Removed code that's now generated.
1879         * bindings/v8/V8DOMWrapper.cpp:
1880         (WebCore::V8DOMWrapper::getTemplate): Ditto.
1881
1882 2009-12-14  Alexey Proskuryakov  <ap@apple.com>
1883
1884         Reviewed by Dave Hyatt.
1885
1886         https://bugs.webkit.org/show_bug.cgi?id=31660
1887         REGRESSION (r49394): Image load event fires before the document fragment is attached.
1888
1889         Test: fast/images/image-load-event-in-fragment.html
1890
1891         We cannot fire load events immediately after parsing a fragment - an element inserted via
1892         innerHTML or equivalent should be reachable via getElementById() by the time its load event
1893         fires.
1894
1895         * dom/Document.cpp: (WebCore::Document::implicitClose): Call dispatchPendingBeforeLoadEvents()
1896         and dispatchPendingLoadEvents() individually. I'm not sure why these calls are here, just
1897         preserving existing behavior.
1898
1899         * dom/XMLTokenizer.cpp: (WebCore::XMLTokenizer::write):
1900         * html/HTMLTokenizer.cpp: (WebCore::HTMLTokenizer::write):
1901         Load events for elements that have just been parsed cannot be dispatched yet, we should give
1902         the elements a chance to be inserted into a document first. There is no compatibility baggage
1903         for beforeload, so it seems OK to dispatch it right away.
1904
1905         * loader/ImageLoader.cpp:
1906         (WebCore::ImageLoader::dispatchPendingBeforeLoadEvents):
1907         (WebCore::ImageLoader::dispatchPendingLoadEvents):
1908         * loader/ImageLoader.h:
1909         Separated dispatchPendingEvents() into individual functions for each event kind.
1910
1911 2009-12-14  Jakob Petsovits  <jpetsovits@rim.com>
1912
1913         Reviewed by Simon Fraser.
1914
1915         Add FloatQuad::isRectilinear() to check whether it can be represented as FloatRect.
1916         https://bugs.webkit.org/show_bug.cgi?id=30442
1917
1918         This enables optimizations for distinguishing between
1919         arbitrary FloatQuads and rectilinear ones.
1920
1921         * platform/graphics/FloatQuad.cpp:
1922         (WebCore::FloatQuad::isRectilinear):
1923         * platform/graphics/FloatQuad.h:
1924
1925 2009-12-14  Simon Hausmann  <hausmann@webkit.org>
1926
1927         Reviewed by Holger Freyther.
1928
1929         [Qt] Add support for keyboard modifiers to TouchEvent
1930
1931         https://bugs.webkit.org/show_bug.cgi?id=32482
1932
1933         Similar to other ui events with keyboard state, get the alt, shift,
1934         meta and ctrl modifiers straight from the platform event.
1935
1936         * dom/TouchEvent.cpp:
1937         (WebCore::TouchEvent::TouchEvent):
1938         (WebCore::TouchEvent::initTouchEvent):
1939         * dom/TouchEvent.h:
1940         (WebCore::TouchEvent::create):
1941         * dom/TouchEvent.idl:
1942         * page/EventHandler.cpp:
1943         (WebCore::EventHandler::handleTouchEvent):
1944         * platform/PlatformTouchEvent.h:
1945         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
1946         (WebCore::PlatformTouchEvent::shiftKey):
1947         (WebCore::PlatformTouchEvent::ctrlKey):
1948         (WebCore::PlatformTouchEvent::altKey):
1949         (WebCore::PlatformTouchEvent::metaKey):
1950         * platform/qt/PlatformTouchEventQt.cpp:
1951         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
1952
1953 2009-12-14  Benjamin Poulain  <benjamin.poulain@nokia.com>
1954
1955         Reviewed by Kenneth Rohde Christiansen.
1956
1957         [Qt] crash when clicking "Sign out" in GMail
1958         https://bugs.webkit.org/show_bug.cgi?id=32300
1959
1960         When the ResourceLoader cancels the handle we have to make sure not to access
1961         the resource handle afterwards again.
1962         This complete r29515
1963
1964         * platform/network/qt/QNetworkReplyHandler.cpp:
1965         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
1966
1967 2009-12-14  Alexander Pavlov  <apavlov@chromium.org>
1968
1969         Reviewed by Pavel Feldman.
1970
1971         Implement InjectedScript.evaluateOnSelf() that evaluates functions in the InjectedScript context.
1972         https://bugs.webkit.org/show_bug.cgi?id=32517
1973
1974         * inspector/front-end/InjectedScript.js:
1975         (InjectedScript.evaluateOnSelf):
1976         * inspector/front-end/InjectedScriptAccess.js:
1977
1978 2009-12-14  Nayan Kumar K  <nayankk@gmail.com>
1979
1980         Reviewed by Darin Adler.
1981
1982         Fix for compilation errors in WML enabled builds.
1983
1984         https://bugs.webkit.org/show_bug.cgi?id=32481
1985
1986         * wml/WMLInputElement.cpp:
1987         (WebCore::WMLInputElement::setValue):
1988         (WebCore::WMLInputElement::setValueForUser):
1989         * wml/WMLInputElement.h:
1990
1991 2009-12-14  Andrei Popescu  <andreip@google.com>
1992
1993         Reviewed by Darin Adler.
1994
1995         [Android] Android needs ResourceError, ResourceResponse and
1996         ResourceRequest implementation.
1997         https://bugs.webkit.org/show_bug.cgi?id=32522
1998
1999         Add implementation of ResourceError, ResourceResponse and ResourceRequest.
2000         No new tests needed, the existing tests should be sufficient.
2001
2002         * platform/network/android/ResourceError.h: Added.
2003         (WebCore::ResourceError::ResourceError):
2004         * platform/network/android/ResourceRequest.h: Added.
2005         (WebCore::ResourceRequest::ResourceRequest):
2006         (WebCore::ResourceRequest::doUpdatePlatformRequest):
2007         (WebCore::ResourceRequest::doUpdateResourceRequest):
2008         (WebCore::ResourceRequest::setUserGesture):
2009         (WebCore::ResourceRequest::getUserGesture):
2010         * platform/network/android/ResourceResponse.h: Added.
2011         (WebCore::ResourceResponse::ResourceResponse):
2012         (WebCore::ResourceResponse::doUpdateResourceResponse):
2013
2014 2009-12-14  Sam Weinig  <sam@webkit.org>
2015
2016         Fix the build.
2017
2018         * page/Geolocation.cpp:
2019         * page/Geolocation.h:
2020
2021 2009-12-13  Sam Weinig  <sam@webkit.org>
2022
2023         Reviewed by Dan Bernstein.
2024
2025         Fix for https://bugs.webkit.org/show_bug.cgi?id=32499
2026         Add client based Geolocation provider
2027
2028         Add first cut of a client based Geolocation provider. This is guarded by
2029         ENABLE(CLIENT_BASED_GEOLOCATION) and is off by default for now. This adds a
2030         GeolocationControllerClient interface that no-one currently implements,
2031         but will in a subsequent patch.
2032
2033         * GNUmakefile.am:
2034         * WebCore.base.exp:
2035         * WebCore.gypi:
2036         * WebCore.pro:
2037         * WebCore.vcproj/WebCore.vcproj:
2038         * WebCore.xcodeproj/project.pbxproj:
2039         * WebCoreSources.bkl:
2040         * page/Geolocation.cpp:
2041         (WebCore::createGeopositionFromGeolocationPosition):
2042         (WebCore::createPositionErrorFromGeolocationError):
2043         (WebCore::Geolocation::Geolocation):
2044         (WebCore::Geolocation::~Geolocation):
2045         (WebCore::Geolocation::disconnectFrame):
2046         (WebCore::Geolocation::lastPosition):
2047         (WebCore::Geolocation::startRequest):
2048         (WebCore::Geolocation::fatalErrorOccurred):
2049         (WebCore::Geolocation::requestTimedOut):
2050         (WebCore::Geolocation::clearWatch):
2051         (WebCore::Geolocation::handleError):
2052         (WebCore::Geolocation::positionChanged):
2053         (WebCore::Geolocation::makeSuccessCallbacks):
2054         (WebCore::Geolocation::errorOccurred):
2055         (WebCore::Geolocation::geolocationServicePositionChanged):
2056         (WebCore::Geolocation::geolocationServiceErrorOccurred):
2057         (WebCore::Geolocation::startUpdating):
2058         (WebCore::Geolocation::stopUpdating):
2059         * page/Geolocation.h:
2060         * page/GeolocationController.cpp: Added.
2061         (WebCore::GeolocationController::GeolocationController):
2062         (WebCore::GeolocationController::~GeolocationController):
2063         (WebCore::GeolocationController::addObserver):
2064         (WebCore::GeolocationController::removeObserver):
2065         (WebCore::GeolocationController::positionChanged):
2066         (WebCore::GeolocationController::errorOccurred):
2067         (WebCore::GeolocationController::lastPosition):
2068         * page/GeolocationController.h: Added.
2069         * page/GeolocationControllerClient.h: Added.
2070         (WebCore::GeolocationControllerClient::~GeolocationControllerClient):
2071         * page/GeolocationError.h: Added.
2072         (WebCore::GeolocationError::):
2073         (WebCore::GeolocationError::create):
2074         (WebCore::GeolocationError::code):
2075         (WebCore::GeolocationError::message):
2076         * page/GeolocationPosition.h: Added.
2077         (WebCore::GeolocationPosition::create):
2078         (WebCore::GeolocationPosition::timestamp):
2079         (WebCore::GeolocationPosition::latitude):
2080         (WebCore::GeolocationPosition::longitude):
2081         (WebCore::GeolocationPosition::accuracy):
2082         (WebCore::GeolocationPosition::altitude):
2083         (WebCore::GeolocationPosition::altitudeAccuracy):
2084         (WebCore::GeolocationPosition::heading):
2085         (WebCore::GeolocationPosition::speed):
2086         (WebCore::GeolocationPosition::canProvideAltitude):
2087         (WebCore::GeolocationPosition::canProvideAltitudeAccuracy):
2088         (WebCore::GeolocationPosition::canProvideHeading):
2089         (WebCore::GeolocationPosition::canProvideSpeed):
2090         (WebCore::GeolocationPosition::GeolocationPosition):
2091         * page/Geoposition.h:
2092         (WebCore::Geoposition::create):
2093         * page/Page.cpp:
2094         (WebCore::Page::Page):
2095         * page/Page.h:
2096         (WebCore::Page::geolocationController):
2097         * svg/graphics/SVGImage.cpp:
2098         (WebCore::SVGImage::dataChanged):
2099
2100 2009-12-14  Adam Langley  <agl@google.com>
2101
2102         Reviewed by Darin Adler.
2103
2104         Test that an image's size is valid before reading it.
2105
2106         Previously, an image that failed to load (m_failed == true) would
2107         trigger an assertion failure when WebKit tried to get its size.
2108
2109         https://bugs.webkit.org/show_bug.cgi?id=32176
2110         http://code.google.com/p/chromium/issues/detail?id=28566
2111
2112         Test: fast/images/size-failure.html
2113
2114         * platform/graphics/ImageSource.cpp:
2115         (WebCore::ImageSource::createFrameAtIndex):
2116
2117 2009-12-14  Dan Bernstein  <mitz@apple.com>
2118
2119         Reviewed by Darin Adler.
2120
2121         <rdar://problem/7458272> REGRESSION (r50470) Reproducible ASSERT in
2122         RenderWidget::setWidgetGeometry()
2123
2124         Test: fast/forms/defer-updateFromElement.html
2125
2126         * html/HTMLFormControlElement.cpp:
2127         (WebCore::updateFromElementCallback): Added this post-attach callback
2128         that invokes updateFromElement().
2129         (WebCore::HTMLFormControlElement::recalcStyle): Instead of calling
2130         updateFromElement(), enqueue a post-attach (in this case, post-style
2131         recalc) callback to do it. updateFromElement() can cause the selection
2132         to change, and in turn trigger synchronous layout, so it must not be
2133         called during style recalc.
2134
2135 2009-12-14  Pavel Feldman  <pfeldman@chromium.org>
2136
2137         Reviewed by Timothy Hatcher.
2138
2139         Web Inspector: [regression] inspector deletes nodes when editing css.
2140
2141         Now all the treeoutlines are focusable, sections and their titles
2142         are also focusable. Change contains couple of drive-by fixes such as
2143         canceling of the attribute edit nuking attr info and maintaining proper
2144         selection while deleting nodes.
2145
2146         https://bugs.webkit.org/show_bug.cgi?id=32460
2147
2148         * inspector/front-end/CallStackSidebarPane.js:
2149         (WebInspector.CallStackSidebarPane.prototype.handleShortcut):
2150         * inspector/front-end/ConsoleView.js:
2151         (WebInspector.ConsoleView.prototype._promptKeyDown):
2152         * inspector/front-end/DataGrid.js:
2153         (WebInspector.DataGrid.prototype._keyDown):
2154         * inspector/front-end/DatabaseQueryView.js:
2155         (WebInspector.DatabaseQueryView):
2156         (WebInspector.DatabaseQueryView.prototype._promptKeyDown):
2157         * inspector/front-end/ElementsPanel.js:
2158         (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
2159         (WebInspector.ElementsPanel.prototype.get defaultFocusedElement):
2160         (WebInspector.ElementsPanel.prototype.handleShortcut):
2161         * inspector/front-end/ElementsTreeOutline.js:
2162         (WebInspector.ElementsTreeOutline):
2163         (WebInspector.ElementsTreeOutline.prototype._keyDown):
2164         (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
2165         (WebInspector.ElementsTreeElement.prototype._editingCancelled):
2166         * inspector/front-end/Panel.js:
2167         (WebInspector.Panel.prototype.show):
2168         (WebInspector.Panel.prototype.get defaultFocusedElement):
2169         * inspector/front-end/PropertiesSection.js:
2170         (WebInspector.PropertiesSection):
2171         * inspector/front-end/ScriptsPanel.js:
2172         (WebInspector.ScriptsPanel):
2173         (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
2174         (WebInspector.ScriptsPanel.prototype.handleShortcut):
2175         * inspector/front-end/SidebarPane.js:
2176         (WebInspector.SidebarPane):
2177         (WebInspector.SidebarPane.prototype.toggleExpanded):
2178         (WebInspector.SidebarPane.prototype._onTitleKeyDown):
2179         * inspector/front-end/SourceFrame.js:
2180         (WebInspector.SourceFrame.prototype._loaded):
2181         * inspector/front-end/TextPrompt.js:
2182         (WebInspector.TextPrompt):
2183         * inspector/front-end/inspector.css:
2184         * inspector/front-end/inspector.html:
2185         * inspector/front-end/inspector.js:
2186         (WebInspector.loaded):
2187         (WebInspector.documentKeyDown):
2188         (WebInspector.documentCanCopy):
2189         (WebInspector.documentCopy):
2190         (WebInspector._searchFieldManualFocus):
2191         (WebInspector._searchKeyDown):
2192         (WebInspector.startEditing.cleanUpAfterEditing):
2193         (WebInspector.startEditing.keyDownEventListener):
2194         (WebInspector.startEditing):
2195         * inspector/front-end/treeoutline.js:
2196         (TreeOutline):
2197         (TreeOutline._removeChildAtIndex):
2198         (TreeOutline.prototype._treeKeyDown):
2199         (TreeElement.prototype.deselect):
2200         * inspector/front-end/utilities.js:
2201         ():
2202
2203 2009-12-14  Dimitri Glazkov  <dglazkov@chromium.org>
2204
2205         Unreviewed, build fix.
2206
2207         [Chromium] Guard all of JSC's wrapper cache-related members on Document.
2208
2209         * dom/Document.cpp:
2210         (WebCore::Document::createWrapperCache): Widened the guards to the whole method.
2211         * dom/Document.h: Added JSC guards to wrapper cache-related members.
2212
2213 2009-12-14  Chris Fleizach  <cfleizach@apple.com>
2214
2215         Reviewed by Adele Peterson.
2216
2217         AX: there's an infinite loop going on for some webpages - facebook.com
2218         https://bugs.webkit.org/show_bug.cgi?id=32501
2219
2220         The problem is that parentObjectUnignored() cannot be called
2221         while in accessibilityIsIgnored, because it leads to
2222         recursiveness. Specifically, there were checks to determine
2223         if an object was within a ARIA tree. That check should
2224         1) be moved to all platforms, and 2) not call parentObjectUnignored().
2225
2226         Test: accessibility/hang-in-isignored.html
2227
2228         * accessibility/AccessibilityRenderObject.cpp:
2229         (WebCore::AccessibilityRenderObject::isAllowedChildOfTree):
2230         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2231         * accessibility/AccessibilityRenderObject.h:
2232         * accessibility/mac/AccessibilityObjectMac.mm:
2233         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2234
2235 2009-12-14  Eric Carlson  <eric.carlson@apple.com>
2236
2237         Reviewed by Dan Bernstein.
2238
2239         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
2240
2241         Use MediaControllerThemeQuickTime on Leopard.
2242
2243         * rendering/RenderThemeMac.mm:
2244         (WebCore::mediaControllerTheme):
2245
2246 2009-12-14  Adam Roben  <aroben@apple.com>
2247
2248         Move QuartzCore-related build settings into a vsprops file
2249
2250         Fixes <http://webkit.org/b/32518>
2251
2252         Reviewed by Dan Bernstein.
2253
2254         * WebCore.vcproj/WebCore.vcproj: Let VS reformat the files list, added
2255         WebCoreQuartzCore.vsprops to the non-Cairo configurations, moved all
2256         other QuartzCore-related build settings from here...
2257         * WebCore.vcproj/WebCoreQuartzCore.vsprops: ...to here.
2258
2259 2009-12-14  Yael Aharon  <yael.aharon@nokia.com>
2260
2261         Reviewed by Antti Koivisto.
2262
2263         handling scripts can block UI
2264         https://bugs.webkit.org/show_bug.cgi?id=27612
2265
2266         Break execution of external scrips to smaller chunks. 
2267         No new tests since no new functionality was introduced.
2268
2269         * html/HTMLTokenizer.cpp:
2270         (WebCore::HTMLTokenizer::HTMLTokenizer):
2271         (WebCore::HTMLTokenizer::reset):
2272         (WebCore::HTMLTokenizer::notifyFinished):
2273         (WebCore::HTMLTokenizer::executeExternalScriptsIfReady):
2274         (WebCore::HTMLTokenizer::executeExternalScriptsTimerFired):
2275         (WebCore::HTMLTokenizer::continueExecutingExternalScripts):
2276         * html/HTMLTokenizer.h:
2277
2278 2009-12-03  Holger Hans Peter Freyther  <zecke@selfish.org>
2279
2280         Reviewed by Simon Hausmann.
2281
2282         [Qt] Connect QNetworkReply via direct connections.
2283         https://bugs.webkit.org/show_bug.cgi?id=32113
2284
2285         In the past we have switched from auto connections to queued
2286         connections to get some more stability. The problem with the
2287         Queued connections is latency. Even when running simple loading
2288         tests the time it takes to runs highly varies and by using
2289         direct connections these tests produce a stable result.
2290
2291         We will have to look out for crashes coming from within the
2292         QNetworkAccessManager due this patch and address them then.
2293
2294         * platform/network/qt/QNetworkReplyHandler.cpp:
2295         (WebCore::QNetworkReplyHandler::start):
2296
2297 2009-12-14  Holger Hans Peter Freyther  <zecke@selfish.org>
2298
2299         Rubber-stamped by Simon Hausmann.
2300
2301         [Qt] QtWebKit should use QImageReader::setQuality(49)
2302         https://bugs.webkit.org/show_bug.cgi?id=30740
2303
2304         Using QImageReader::setQuality(49) will influence the JPEG
2305         decoder of Qt to use the JDCT_IFAST routines for decompressing. This
2306         is showing a 5% improvement in a reduction that decodes all images
2307         used during the page loading test. The libjpeg documentation mentions
2308         that the IFAST routine is not as accurate as other routines but in
2309         our tests we couldn't see a difference.
2310
2311         * platform/graphics/qt/ImageDecoderQt.cpp:
2312         (WebCore::ImageDecoderQt::setData):
2313
2314 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
2315
2316         Reviewed by Sam Weinig.
2317         
2318         Changed GC from mark-sweep to mark-allocate.
2319
2320         * ForwardingHeaders/runtime/WeakGCMap.h: Added.
2321         * bindings/js/GCController.cpp:
2322         (WebCore::collect):
2323         (WebCore::GCController::gcTimerFired):
2324         (WebCore::GCController::garbageCollectNow): Updated for rename.
2325
2326         * bindings/js/JSDOMBinding.cpp:
2327         (WebCore::removeWrappers):
2328         (WebCore::hasCachedDOMObjectWrapperUnchecked):
2329         (WebCore::hasCachedDOMObjectWrapper):
2330         (WebCore::hasCachedDOMNodeWrapperUnchecked):
2331         (WebCore::forgetDOMObject):
2332         (WebCore::forgetDOMNode):
2333         (WebCore::isObservableThroughDOM):
2334         (WebCore::markDOMNodesForDocument):
2335         (WebCore::markDOMObjectWrapper):
2336         (WebCore::markDOMNodeWrapper):
2337         * bindings/js/JSDOMBinding.h: Changed DOM wrapper maps to be WeakGCMaps.
2338         Don't ASSERT that an item must be in the WeakGCMap when its destructor
2339         runs, since it might have been overwritten in the map first.
2340
2341         * bindings/js/JSDocumentCustom.cpp:
2342         (WebCore::toJS): Changed Document from a DOM object wrapper to a DOM node
2343         wrapper, to simplify some code.
2344
2345         * bindings/js/JSInspectedObjectWrapper.cpp:
2346         (WebCore::JSInspectedObjectWrapper::JSInspectedObjectWrapper):
2347         (WebCore::JSInspectedObjectWrapper::~JSInspectedObjectWrapper):
2348         * bindings/js/JSInspectorCallbackWrapper.cpp: Use a WeakGCMap for these
2349         wrappers.
2350
2351         * bindings/js/JSNodeCustom.cpp:
2352         (WebCore::JSNode::markChildren): Updated for WeakGCMap and Document using
2353         a DOM node wrapper instead of a DOM object wrapper.
2354
2355         * bindings/js/JSSVGPODTypeWrapper.h:
2356         (WebCore::JSSVGDynamicPODTypeWrapperCache::wrapperMap):
2357         (WebCore::JSSVGDynamicPODTypeWrapperCache::lookupOrCreateWrapper):
2358         (WebCore::JSSVGDynamicPODTypeWrapperCache::forgetWrapper):
2359         (WebCore::::~JSSVGDynamicPODTypeWrapper): Shined a small beam of sanity light
2360         on this code. Use hashtable-based lookup in JSSVGPODTypeWrapper.h instead
2361         of linear lookup through iteration, since that's what hashtables were
2362         invented for. Make JSSVGPODTypeWrapper.h responsible for reomving itself
2363         from the table, instead of its JS wrapper, to decouple these objects from
2364         GC, and because these objects are refCounted, not solely owned by their
2365         JS wrappers.
2366
2367         * bindings/scripts/CodeGeneratorJS.pm:
2368         * dom/Document.h: Adopted changes above.
2369
2370 2009-12-13  Geoffrey Garen  <ggaren@apple.com>
2371
2372         Windows build fix: Removed an incorrect #ifdef.
2373
2374         * bindings/js/GCController.cpp:
2375
2376 2009-12-13  Charles Reis  <creis@chromium.org>
2377
2378         Reviewed by Adam Barth.
2379
2380         Refactor some security code out of V8 bindings
2381         https://bugs.webkit.org/show_bug.cgi?id=32326
2382
2383         No new tests. There should be no functionality changes in this patch,
2384         since it is only refactoring code.
2385
2386         * WebCore.gyp/WebCore.gyp:
2387         * WebCore.gypi:
2388         * bindings/BindingSecurity.h: Added.
2389         (WebCore::BindingSecurity::BindingSecurity):
2390         (WebCore::::canAccessWindow):
2391         (WebCore::::canAccessFrame):
2392         (WebCore::::checkNodeSecurity):
2393         * bindings/BindingSecurityBase.cpp: Added.
2394         (WebCore::BindingSecurityBase::getDOMWindow):
2395         (WebCore::BindingSecurityBase::getFrame):
2396         (WebCore::BindingSecurityBase::canAccessWindow):
2397         * bindings/BindingSecurityBase.h: Added.
2398         * bindings/GenericBinding.h: Added.
2399         (WebCore::):
2400         * bindings/scripts/CodeGeneratorV8.pm:
2401         * bindings/v8/ScriptController.cpp:
2402         (WebCore::ScriptController::isSafeScript):
2403         * bindings/v8/V8Binding.h:
2404         * bindings/v8/V8BindingState.cpp: Added.
2405         (WebCore::::Only):
2406         (WebCore::::getActiveWindow):
2407         (WebCore::::immediatelyReportUnsafeAccessTo):
2408         * bindings/v8/V8BindingState.h: Added.
2409         (WebCore::):
2410         * bindings/v8/V8Proxy.cpp:
2411         (WebCore::V8Proxy::reportUnsafeAccessTo):
2412         (WebCore::reportUnsafeJavaScriptAccess):
2413         * bindings/v8/V8Proxy.h:
2414         (WebCore::V8Proxy::):
2415         * bindings/v8/custom/V8CustomBinding.cpp:
2416         (WebCore::allowSettingFrameSrcToJavascriptUrl):
2417         (WebCore::INDEXED_ACCESS_CHECK):
2418         (WebCore::NAMED_ACCESS_CHECK):
2419         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2420         (WebCore::V8Custom::WindowSetTimeoutImpl):
2421         (WebCore::ACCESSOR_GETTER):
2422         (WebCore::ACCESSOR_SETTER):
2423         (WebCore::CALLBACK_FUNC_DECL):
2424         (WebCore::V8Custom::ClearTimeoutImpl):
2425         (WebCore::NAMED_ACCESS_CHECK):
2426         (WebCore::INDEXED_ACCESS_CHECK):
2427         * bindings/v8/custom/V8LocationCustom.cpp:
2428         (WebCore::ACCESSOR_GETTER):
2429         (WebCore::CALLBACK_FUNC_DECL):
2430         (WebCore::INDEXED_ACCESS_CHECK):
2431         (WebCore::NAMED_ACCESS_CHECK):
2432
2433 2009-11-30  Holger Hans Peter Freyther  <zecke@selfish.org>
2434
2435         Reviewed by Simon Hausmann.
2436
2437         [Qt] Implement initializeMaximumHTTPConnectionCountPerHost.
2438         https://bugs.webkit.org/show_bug.cgi?id=31849
2439
2440         Qt allows to have three connections per host on Symbian, for
2441         every other platform the limit is set to six connections per
2442         host but the default implementation will only schedule four
2443         connections per host.
2444         In a manual test we seem to get the best loading speed by
2445         going with Qt's limit and schedule two more jobs to allow Qt
2446         to prepare them.
2447
2448         * platform/network/ResourceRequestBase.cpp:
2449         * platform/network/qt/ResourceRequestQt.cpp:
2450         (WebCore::initializeMaximumHTTPConnectionCountPerHost):
2451
2452 2009-12-13  Dan Bernstein  <mitz@apple.com>
2453
2454         Reviewed by Simon Fraser.
2455
2456         <rdar://problem/7341364> Crash at HTMLParser::popOneBlockCommon() after
2457         handling misnested residual style tags
2458
2459         Test: fast/parser/residual-style-close-ref-clone.html
2460
2461         * html/HTMLParser.cpp:
2462         (WebCore::HTMLParser::handleResidualStyleCloseTagAcrossBlocks): Gave the
2463         block stack a strong reference to the cloned residual style element. 
2464
2465 2009-12-13  Adele Peterson  <adele@apple.com>
2466
2467         Reviewed by Sam Weinig.
2468
2469         Reverting changes from http://trac.webkit.org/changeset/49585 to fix:
2470         <rdar://problem/7382815> REGRESSION (4.0.4-TOT): Home photo slider is too narrow at http://www.ziprealty.com/
2471         https://bugs.webkit.org/show_bug.cgi?id=32078
2472
2473         * css/CSSPrimitiveValue.cpp: (WebCore::CSSPrimitiveValue::cssText):
2474
2475 2009-12-08  Jeremy Moskovich  <jeremy@chromium.org>
2476
2477         Reviewed by Eric Seidel.
2478
2479         Add code to allow toggling ATSUI/Core Text rendering at runtime in ComplexTextController.
2480         https://bugs.webkit.org/show_bug.cgi?id=31802
2481
2482         The goal here is to allow for a zero runtime hit for ports that decide to select
2483         the API at compile time.
2484         When both USE(ATSUI) and USE(CORE_TEXT) are true, the API is toggled
2485         at runtime.  Core Text is used for OS Versions >= 10.6.
2486
2487         No test since this is already covered by existing pixel tests.
2488
2489         * platform/graphics/SimpleFontData.h:  Change #ifdef to define getNSFont() on Chrome/Mac .
2490         * platform/graphics/mac/ComplexTextController.cpp:
2491         (WebCore::shouldUseATSUIAPI): Cache decision about which API to use.
2492         (WebCore::ComplexTextController::ComplexTextRun::indexAt):
2493         (WebCore::ComplexTextController::collectComplexTextRunsForCharacters): Stub function to call through
2494         to ATSUI/Core text variants.
2495         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): The actual work for object construction
2496         is delegate to createTextRunFromFontDataATSUI/createTextRunFromFontDataCoreText.
2497         * platform/graphics/mac/ComplexTextController.h:
2498         * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
2499         (WebCore::ComplexTextController::ComplexTextRun::overrideLayoutOperation): Small style fix.
2500         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataATSUI):
2501         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersATSUI):
2502         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
2503         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
2504         (WebCore::ComplexTextController::ComplexTextRun::createTextRunFromFontDataCoreText):
2505         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
2506
2507 2009-12-13  Eric Carlson  <eric.carlson@apple.com>
2508
2509         No review, rolling out r52059 until I can generate new Tiger
2510         test results.
2511
2512         * rendering/RenderThemeMac.mm:
2513         (WebCore::mediaControllerTheme):
2514
2515 2009-12-12  Sam Weinig  <sam@webkit.org>
2516
2517         Rubber-stamped by Dan Bernstein.
2518
2519         Fix the EXPERIMENTAL_SINGLE_VIEW_MODE build.
2520
2521         * Configurations/WebCore.xcconfig:
2522         * page/EventHandler.cpp:
2523         (WebCore::EventHandler::EventHandler):
2524         (WebCore::EventHandler::clearDragState):
2525         * page/mac/DragControllerMac.mm:
2526         (WebCore::DragController::isCopyKeyDown):
2527         * page/mac/EventHandlerMac.mm:
2528         (WebCore::EventHandler::eventActivatedView):
2529         * platform/PlatformKeyboardEvent.h:
2530         * platform/PlatformMouseEvent.h:
2531         * platform/PlatformWheelEvent.h:
2532         (WebCore::PlatformWheelEvent::PlatformWheelEvent):
2533         * platform/ScrollView.cpp:
2534         (WebCore::ScrollView::wheelEvent):
2535         * platform/mac/KeyEventMac.mm:
2536         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2537         * platform/mac/PlatformMouseEventMac.mm:
2538         (WebCore::PlatformMouseEvent::PlatformMouseEvent):
2539         * platform/mac/PopupMenuMac.mm:
2540         (WebCore::PopupMenu::show):
2541         * platform/mac/WidgetMac.mm:
2542
2543 2009-12-12  Sam Weinig  <sam@webkit.org>
2544
2545         Rubber-stamped by Dan Bernstein.
2546
2547         Fix the !ENABLE(VIDEO) build.
2548
2549         * rendering/RenderLayerCompositor.cpp:
2550         (WebCore::RenderLayerCompositor::requiresCompositingForVideo):
2551
2552 2009-12-12  Sam Weinig  <sam@webkit.org>
2553
2554         Rubber-stamped by Dan Bernstein.
2555
2556         Fix the !ENABLE(DATABASE) build.
2557
2558         * storage/SQLTransactionClient.cpp:
2559         * storage/SQLTransactionClient.h:
2560         * storage/SQLTransactionCoordinator.cpp:
2561         * storage/SQLTransactionCoordinator.h:
2562         * loader/FrameLoader.cpp:
2563         (WebCore::FrameLoader::stopLoading):
2564
2565 2009-12-12  Eric Carlson  <eric.carlson@apple.com>
2566
2567         Reviewed by Dan Bernstein.
2568
2569         <rdar://problem/6293979> Adopt shared control drawing for <video> controls on Leopard and Windows
2570
2571         Use MediaControllerThemeQuickTime on Leopard.
2572
2573         * rendering/RenderThemeMac.mm:
2574         (WebCore::mediaControllerTheme):
2575
2576 2009-12-12  Kenneth Russell  <kbr@google.com>
2577
2578         Reviewed by Oliver Hunt.
2579
2580         Errors in WebGL[T]Array set() and get() methods
2581         https://bugs.webkit.org/show_bug.cgi?id=32456
2582
2583         Test: fast/canvas/webgl/bug-32456.html
2584
2585         * bindings/js/JSWebGLFloatArrayCustom.cpp:
2586         (WebCore::JSWebGLFloatArray::set):
2587         * bindings/js/JSWebGLIntArrayCustom.cpp:
2588         (WebCore::JSWebGLIntArray::set):
2589         * bindings/js/JSWebGLShortArrayCustom.cpp:
2590         (WebCore::JSWebGLShortArray::set):
2591         * bindings/js/JSWebGLUnsignedByteArrayCustom.cpp:
2592         (WebCore::JSWebGLUnsignedByteArray::set):
2593         * bindings/js/JSWebGLUnsignedIntArrayCustom.cpp:
2594         (WebCore::JSWebGLUnsignedIntArray::set):
2595         * bindings/js/JSWebGLUnsignedShortArrayCustom.cpp:
2596         (WebCore::JSWebGLUnsignedShortArray::set):
2597         * bindings/v8/custom/V8WebGLArrayCustom.h:
2598         (WebCore::setWebGLArray):
2599         * html/canvas/WebGLFloatArray.idl:
2600         * html/canvas/WebGLUnsignedIntArray.idl:
2601
2602 2009-12-12  Kenneth Russell  <kbr@google.com>
2603
2604         Reviewed by Oliver Hunt.
2605
2606         Update WebGL tests to released versions
2607         https://bugs.webkit.org/show_bug.cgi?id=32457
2608
2609         * manual-tests/webgl/Earth.html:
2610         * manual-tests/webgl/ManyPlanetsDeep.html:
2611         * manual-tests/webgl/SpinningBox.html:
2612         * manual-tests/webgl/TeapotPerPixel.html:
2613         * manual-tests/webgl/TeapotPerVertex.html:
2614         * manual-tests/webgl/resources/CanvasMatrix.js:
2615         (CanvasMatrix4.prototype.getAsWebGLFloatArray):
2616         * manual-tests/webgl/resources/utils3d.js:
2617         (initWebGL.gl.console.window.console.log):
2618         (initWebGL):
2619         (loadShader):
2620         (makeBox):
2621         (makeSphere):
2622         (processLoadObj):
2623         (doLoadObj):
2624         (doLoadImageTexture):
2625
2626 2009-12-12  Christian Dywan  <christian@twotoasts.de>
2627
2628         Reviewed by Dirk Schulze.
2629
2630         Remove the include to SVGFEDisplacementMap.h, it's not needed at all.
2631
2632         * platform/graphics/filters/FEComponentTransfer.h:
2633
2634 2009-12-12  Christian Dywan  <christian@twotoasts.de>
2635
2636         Rubber-stamped by Maciej Stachowiak.
2637
2638         Only include SVGFEDisplacementMap.h if SVG is enabled.
2639
2640         * platform/graphics/filters/FEComponentTransfer.h:
2641
2642 2009-12-12  Dirk Schulze  <krit@webkit.org>
2643
2644         Reviewed by Eric Seidel.
2645
2646         [Cairo][Qt] Alpha blending in SVG filters is wrong
2647         https://bugs.webkit.org/show_bug.cgi?id=32427
2648
2649         This patch is a follow-up to:
2650         http://trac.webkit.org/changeset/51950
2651         It fixes the alpha blending for Cairo and Qt on SVG Filters.
2652
2653         Covered by: * LayoutTests/svg/filters/feGaussianBlur.svg
2654                     * LayoutTests/svg/filters/feComposite.svg
2655                      and others.
2656
2657         * platform/graphics/cairo/ImageBufferCairo.cpp:
2658         (WebCore::ImageBuffer::platformTransformColorSpace):
2659         * platform/graphics/qt/ImageBufferQt.cpp:
2660         (WebCore::ImageBuffer::platformTransformColorSpace):
2661
2662 2009-12-11  Eric Roman  <eroman@chromium.org>
2663
2664         Unreviewed build fix.
2665
2666         [V8] Add a method on ScriptController to get it compiling after http://trac.webkit.org/changeset/52033.
2667
2668         * bindings/v8/ScriptController.cpp:
2669         (WebCore::ScriptController::anyPageIsProcessingUserGesture):
2670         * bindings/v8/ScriptController.h:
2671
2672 2009-12-11  Dimitri Glazkov  <dglazkov@chromium.org>
2673
2674         Unreviewed, build fix.
2675
2676         [V8] Change bindings to catch up with http://trac.webkit.org/changeset/52033.
2677
2678         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2679         (WebCore::CALLBACK_FUNC_DECL): Added retrieval of calling frame and passing
2680           to the submit method.
2681
2682 2009-12-11  Sam Weinig  <sam@webkit.org>
2683
2684         Reviewed by Mark Rowe.
2685
2686         Put -umbrella linker flag into a variable so that it can be overridden.
2687
2688         * Configurations/WebCore.xcconfig:
2689
2690 2009-12-11  Shinichiro Hamaji  <hamaji@chromium.org>
2691
2692         Reviewed by Darin Adler.
2693
2694         body with display:inline causes crash
2695         https://bugs.webkit.org/show_bug.cgi?id=32371
2696
2697         Tests: fast/inline/inline-body-crash.html
2698                fast/inline/inline-body-with-scrollbar-crash.html
2699
2700         * page/FrameView.cpp:
2701         (WebCore::FrameView::createScrollbar):
2702         (WebCore::FrameView::layout):
2703
2704 2009-12-11  Brady Eidson  <beidson@apple.com>
2705
2706         Rubberstamped by Sam Weinig.
2707
2708         https://webkit.org/b/22851 - Remove defunct FIXME.
2709
2710         * html/HTMLPlugInElement.cpp:
2711         (WebCore::HTMLPlugInElement::HTMLPlugInElement): This flag was removed completely
2712           from the HTMLFrameOwnerElement chain of classes.
2713
2714 2009-12-11  Darin Adler  <darin@apple.com>
2715
2716         Reviewed by Dan Bernstein.
2717
2718         Small refactoring to get rid of some extra unneeded selection-related work
2719         in RenderLayer::scrollToOffset and separate caret and range selection
2720         logic in FrameView::layout. This may be useful later when changing how
2721         the range selection logic works to fix layout reentrancy problems.
2722
2723         * page/Frame.cpp: Removed invalidateSelection.
2724         * page/Frame.h: Ditto.
2725
2726         * page/FrameView.cpp:
2727         (WebCore::FrameView::layout): Call SelectionController::setNeedsLayout
2728         and Frame::selectionLayoutChanged instead of calling
2729         Frame::invalidateSelection, which was just a function that called
2730         both of those others.
2731
2732         * rendering/RenderLayer.cpp:
2733         (WebCore::RenderLayer::scrollToOffset): Call
2734         SelectionController::setNeedsLayout instead of calling
2735         Frame::invalidateSelection. This call site only needs the caret-related
2736         work in that first function, not the other work formerly done by
2737         Frame::invalidateSelection. The caret works outside the normal
2738         painting and rendering system, and the range selection highlight is
2739         more or less inside it and doesn't need special handling when scrolling.
2740
2741 2009-12-11  Brady Eidson  <beidson@apple.com>
2742
2743         Reviewed by Darin Adler.
2744
2745         <rdar://problem/7342725> and https://webkit.org/b/32383
2746         Selecting article text at sfgate.com results in spurious back/forward entries
2747
2748         If an iframe had a form and that form is submitted by javascript, IE and Opera don't add back/forward entries.
2749         
2750         In the case where the frame was added dynamically via createElement(), Firefox would like to add a back entry
2751         but has a bug that prevents this.
2752
2753         Therefore by a bizarre coincidence, WebKit is the loner and the only engine affected by sfgate.com's technique.
2754
2755         This patch changes us to willfully match IE and Opera and fixes sfgate.com in the process.
2756
2757         Tests: http/tests/navigation/dynamic-iframe-dynamic-form-back-entry.html
2758                http/tests/navigation/parsed-iframe-dynamic-form-back-entry.html
2759
2760         Capture whether the form was submitted by javascript:
2761         * loader/FormState.cpp:
2762         (WebCore::FormState::FormState):
2763         (WebCore::FormState::create):
2764         * loader/FormState.h:
2765         (WebCore::FormState::formSubmissionTrigger):
2766
2767         When deciding the value of the lockBackForwardList variable, take formSubmissionTrigger() into account:
2768         * loader/RedirectScheduler.cpp:
2769         (WebCore::RedirectScheduler::scheduleFormSubmission):
2770
2771         Rearrange the public HTMLFormElement::submit() method to be called only from DOM or JS bindings,
2772         and figure out the rest of the parameters for an internal submit() call including the formSubmissionTrigger:
2773         * bindings/js/JSHTMLFormElementCustom.cpp:
2774         (WebCore::JSHTMLFormElement::submit):
2775         * html/HTMLFormElement.cpp:
2776         (WebCore::HTMLFormElement::prepareSubmit):
2777         (WebCore::HTMLFormElement::submit):
2778         * html/HTMLFormElement.h:
2779
2780 2009-12-11  Alexey Proskuryakov  <ap@apple.com>
2781
2782         Reviewed by Darin Adler.
2783
2784         https://bugs.webkit.org/show_bug.cgi?id=32445
2785         REGRESSION: http://www.mcafee.com/japan/ displays unstyled
2786
2787         * css/CSSImportRule.cpp:
2788         (WebCore::CSSImportRule::setCSSStyleSheet):
2789         * html/HTMLLinkElement.cpp:
2790         (WebCore::HTMLLinkElement::setCSSStyleSheet):
2791         Add a quirk for mcafee.com/japan (http or https, with or without www).
2792
2793 2009-12-11  Sam Weinig  <sam@webkit.org>
2794
2795         Reviewed by Dan Bernstein.
2796
2797         Make PlatformWheelEvent.h private instead of project.
2798
2799         * WebCore.xcodeproj/project.pbxproj:
2800
2801 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
2802
2803         Reviewed by Darin Adler.
2804
2805         Support reflections on composited layers
2806         https://bugs.webkit.org/show_bug.cgi?id=31885
2807         
2808         First part of supporting composited reflections on compositing layers.
2809         
2810         Rename the m_transformLayer member variable to m_structuralLayer, since it
2811         will get used both for transform layers (for preserve-3d) and to hold a flattening
2812         layer related to reflections, both of which have similar requirements, and are
2813         mutually exclusive.
2814
2815         * platform/graphics/mac/GraphicsLayerCA.h:
2816         primaryLayer(), hostLayerForSublayers() and layerForSuperlayer() all now return
2817         a CALayer, since m_structuralLayer isn't always a WebLayer.
2818         
2819         * platform/graphics/mac/GraphicsLayerCA.mm:
2820         (WebCore::GraphicsLayerCA::commitLayerChanges):
2821         updateLayerPreserves3D() renamed to updateStructuralLayer()
2822         
2823         (WebCore::GraphicsLayerCA::updateLayerNames):
2824         New "update" method for updating layer names.
2825         
2826         (WebCore::GraphicsLayerCA::updateSublayerList):
2827         m_transformLayer -> m_structuralLayer. Also minor refactor to only
2828         allocate newSublayers in one place.
2829         
2830         (WebCore::GraphicsLayerCA::updateLayerSize):
2831         (WebCore::GraphicsLayerCA::removeAnimationFromLayer):
2832         (WebCore::GraphicsLayerCA::hostLayerForSublayers):
2833         (WebCore::GraphicsLayerCA::layerForSuperlayer):
2834         m_transformLayer -> m_structuralLayer
2835         
2836         (WebCore::GraphicsLayerCA::updateStructuralLayer):
2837         Call ensureStructuralLayer() which handles any deltas to the
2838         structural layer type.
2839         
2840         (WebCore::GraphicsLayerCA::ensureStructuralLayer):
2841         Handle changes to the structural layer requirements
2842         
2843         (WebCore::GraphicsLayerCA::structuralLayerPurpose):
2844         Return an enum describing the purpose of the structural layer; for now
2845         this only returns NoStructuralLayer or StructuralLayerForPreserves3D, but
2846         will in future also have a value related to reflections.
2847
2848 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
2849
2850         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
2851
2852         * page/animation/KeyframeAnimation.cpp:
2853         (WebCore::KeyframeAnimation::pauseAnimation):
2854
2855 2009-12-11  Adam Roben  <aroben@apple.com>
2856
2857         Windows build fix
2858
2859         * platform/graphics/win/WKCACFLayerRenderer.cpp: Removed #include of
2860         non-existent header.
2861
2862 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
2863
2864         Build fix, no review.
2865
2866         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
2867
2868         * page/animation/KeyframeAnimation.cpp:
2869         (WebCore::KeyframeAnimation::startAnimation):
2870
2871 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
2872
2873         Build fix, no review.
2874
2875         Build fix for platforms where ACCELERATED_COMPOSITING is not defined.
2876
2877         * page/animation/ImplicitAnimation.cpp:
2878         (WebCore::ImplicitAnimation::startAnimation):
2879
2880 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
2881
2882         Reviewed by Darin Adler.
2883
2884         Negative values for animation-delay are ignored (treated as zero)
2885         https://bugs.webkit.org/show_bug.cgi?id=26150
2886         
2887         When we get the m_startTime for an animation or transition, subtract any negative
2888         delay so the animation/transition behaves like it started in the past, per spec.
2889
2890         Tests: animations/negative-delay.html
2891                transitions/negative-delay.html
2892
2893         * page/animation/AnimationBase.cpp:
2894         (WebCore::AnimationBase::updateStateMachine):
2895
2896 2009-12-11  Simon Fraser  <simon.fraser@apple.com>
2897
2898         Reviewed by Dan Bernstein.
2899
2900         Accelerated transitions broken when mixed with paused animations
2901         https://bugs.webkit.org/show_bug.cgi?id=32387
2902
2903         Synchronization of a mixture of accelerated and software animations occurs via
2904         a callback from GraphicsLayerCA, which ends up in
2905         AnimationControllerPrivate::receivedStartTimeResponse(). The time passed in is
2906         the exact time at which the accelerated animations started, so is used as the
2907         start time for all animations and transitions which are marked as waiting.
2908
2909         The bug was that the callback called when re-starting animations that were
2910         paused sent back an old time value, but this was used to start normal
2911         transitions. Therefore the transition would start with a stale start time, and
2912         thus end prematurely.
2913
2914         The fix is to change the way that GraphicsLayerCA handles paused animations.
2915         Rather than setting the beginTime of the animation, it uses a beginTime of 0
2916         and a timeOffset that gets passed down. Thus the callbacks always come with
2917         beginTime for 'now'.
2918
2919         Also clarify the role of AnimationBase::endAnimation() by splitting it into
2920         pauseAnimation() and endAnimation(), and pass down timeOffsets, rather than
2921         beginTimes when starting and pausing.
2922
2923         Manual test only, because the bug requires a non-trivial combination of
2924         animation pausing and transitions which take time, and the bug only shows in
2925         pixel results.
2926         
2927         * manual-tests/animation/transitions-and-paused-animations.html
2928
2929         * page/animation/AnimationBase.cpp:
2930         (WebCore::AnimationBase::updateStateMachine):
2931         * page/animation/AnimationBase.h:
2932         (WebCore::AnimationBase::startAnimation):
2933         (WebCore::AnimationBase::pauseAnimation):
2934         (WebCore::AnimationBase::endAnimation):
2935         * page/animation/ImplicitAnimation.cpp:
2936         (WebCore::ImplicitAnimation::~ImplicitAnimation):
2937         (WebCore::ImplicitAnimation::startAnimation):
2938         (WebCore::ImplicitAnimation::endAnimation):
2939         (WebCore::ImplicitAnimation::onAnimationEnd):
2940         * page/animation/ImplicitAnimation.h:
2941         (WebCore::ImplicitAnimation::pauseAnimation):
2942         * page/animation/KeyframeAnimation.cpp:
2943         (WebCore::KeyframeAnimation::~KeyframeAnimation):
2944         (WebCore::KeyframeAnimation::startAnimation):
2945         (WebCore::KeyframeAnimation::pauseAnimation):
2946         (WebCore::KeyframeAnimation::endAnimation):
2947         (WebCore::KeyframeAnimation::onAnimationEnd):
2948         * page/animation/KeyframeAnimation.h:
2949         * platform/graphics/GraphicsLayer.h:
2950         (WebCore::GraphicsLayer::addAnimation):
2951         (WebCore::GraphicsLayer::pauseAnimation):
2952         * platform/graphics/mac/GraphicsLayerCA.h:
2953         (WebCore::GraphicsLayerCA::LayerAnimation::LayerAnimation):
2954         (WebCore::GraphicsLayerCA::AnimationProcessingAction::AnimationProcessingAction):
2955         * platform/graphics/mac/GraphicsLayerCA.mm:
2956         (WebCore::GraphicsLayerCA::addAnimation):
2957         (WebCore::GraphicsLayerCA::removeAnimationsForKeyframes):
2958         (WebCore::GraphicsLayerCA::pauseAnimation):
2959         (WebCore::GraphicsLayerCA::updateLayerAnimations):
2960         (WebCore::GraphicsLayerCA::setAnimationOnLayer):
2961         (WebCore::GraphicsLayerCA::pauseAnimationOnLayer):
2962         (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
2963         (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
2964         * rendering/RenderLayerBacking.cpp:
2965         (WebCore::RenderLayerBacking::startAnimation):
2966         (WebCore::RenderLayerBacking::startTransition):
2967         (WebCore::RenderLayerBacking::animationPaused):
2968         * rendering/RenderLayerBacking.h:
2969
2970 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
2971
2972         Reviewed by Darin Adler.
2973
2974         Fixes <http://webkit.org/b/32399>.
2975         Pan Scrolling Jumps out of frames if the initial location is in a frame that can't be scrolled.
2976         
2977         When we initially figure out the layer that we should begin scrolling, don't try to jump out
2978         of frames/iFrames to look at the owner document. We don't want to jump out of frames, so we
2979         don't need that logic anymore.
2980         
2981         Added a test to make sure that we don't pan scroll if we start to scroll in an empty
2982         iFrame that has a scrollable owner document.
2983
2984         Test: platform/win/fast/events/panScroll-no-iframe-jump.html
2985
2986         * dom/Node.cpp:
2987         (WebCore::Node::defaultEventHandler):
2988
2989 2009-12-11  Brian Weinstein  <bweinstein@apple.com>
2990
2991         Reviewed by Adam Roben.
2992
2993         Fixes <http://webkit.org/b/32303>.
2994         Middle-mouse button not firing mousedown DOM event when autoscroll happens.
2995         
2996         This fix moves the pan scrolling code into Node.cpp, as part of the default event handler.
2997         We get two wins out of this:
2998             1) Mousedown DOM events are now fired before pan scrolling.
2999             2) Calling event.preventDefault() on a middle mouse button will now prevent pan scrolling.
3000         
3001         Added tests to show that middle mousedown DOM events are fired when panscrolling happens, and
3002         that when event.preventDefault is called, pan scrolling doesn't happen.
3003
3004         Tests: platform/win/fast/events/panScroll-event-fired.html
3005                platform/win/fast/events/panScroll-preventDefault.html
3006
3007         * dom/Node.cpp:
3008         (WebCore::Node::defaultEventHandler): Moved pan scrolling starting code to here.
3009         * page/EventHandler.cpp:
3010         (WebCore::EventHandler::startPanScrolling): Function to initialize scrolling variables and start timer.
3011         (WebCore::EventHandler::handleMousePressEvent): From here.
3012         * page/EventHandler.h:
3013
3014 2009-12-11  Chris Marrin  <cmarrin@apple.com>
3015
3016         Reviewed by Adam Roben.
3017
3018         Delay load DLLs for accelerated compositing
3019         https://bugs.webkit.org/show_bug.cgi?id=31856
3020         
3021         Change calls that use the data export symbols from
3022         QuartzCore to use the functions in QuartzCoreInterface.
3023         This allows QuartzCore to be delay loaded.
3024
3025         * platform/graphics/win/GraphicsLayerCACF.cpp:
3026         (WebCore::GraphicsLayerCACF::GraphicsLayerCACF):
3027         (WebCore::GraphicsLayerCACF::updateLayerPreserves3D):
3028         (WebCore::GraphicsLayerCACF::updateContentsImage):
3029         * platform/graphics/win/WKCACFLayer.cpp:
3030         (WebCore::toCACFLayerType):
3031         (WebCore::toCACFContentsGravityType):
3032         (WebCore::fromCACFContentsGravityType):
3033         (WebCore::toCACFFilterType):
3034         (WebCore::fromCACFFilterType):
3035         (WebCore::WKCACFLayer::create):
3036         (WebCore::WKCACFLayer::WKCACFLayer):
3037         (WebCore::WKCACFLayer::setContentsGravity):
3038         (WebCore::WKCACFLayer::contentsGravity):
3039         (WebCore::WKCACFLayer::setMagnificationFilter):
3040         (WebCore::WKCACFLayer::magnificationFilter):
3041         (WebCore::WKCACFLayer::setMinificationFilter):
3042         (WebCore::WKCACFLayer::minificationFilter):
3043         * platform/graphics/win/WKCACFLayer.h:
3044         (WebCore::WKCACFLayer::):
3045         * platform/graphics/win/WKCACFLayerRenderer.cpp:
3046         (WebCore::WKCACFLayerRenderer::acceleratedCompositingAvailable):
3047         (WebCore::WKCACFLayerRenderer::createRenderer):
3048
3049 2009-12-11  Steve Block  <steveblock@google.com>
3050
3051         Reviewed by Darin Fisher.
3052
3053         Adds an Android-specific implementation of initializeMaximumHTTPConnectionCountPerHost.
3054         https://bugs.webkit.org/show_bug.cgi?id=31810
3055
3056         * platform/network/ResourceRequestBase.cpp: Modified. Disable default implementation
3057             of initializeMaximumHTTPConnectionCountPerHost for Android.
3058         * platform/network/android: Added.
3059         * platform/network/android/ResourceRequestAndroid.cpp: Added.
3060         (WebCore::initializeMaximumHTTPConnectionCountPerHost): Android-specific implementation.
3061
3062 2009-12-11  Kent Tamura  <tkent@chromium.org>
3063
3064         Reviewed by Darin Fisher.
3065
3066         Add acceptTypes() method to FileChooser.
3067         https://bugs.webkit.org/show_bug.cgi?id=32429
3068
3069         This method returns an 'accept' attribute value of the
3070         corresponding INPUT element. A ChromeClient::runOpenPanel()
3071         implementation can refer it through a FileChooser instance to
3072         support type-restricted file selecting.
3073
3074         This makes no user-visible changes for now.
3075
3076         * platform/FileChooser.h:
3077         (WebCore::FileChooser::acceptTypes):
3078         * rendering/RenderFileUploadControl.cpp:
3079         (WebCore::RenderFileUploadControl::acceptTypes):
3080         * rendering/RenderFileUploadControl.h:
3081
3082 2009-12-11  Victor Wang  <victorw@chromium.org>
3083
3084         Reviewed by Darin Fisher.
3085
3086         Changed PopupMenuChromium to keep the value selected from
3087         keyboard when popup is closed.
3088
3089         The problem is Chromium does not fire the onchange event
3090         when the popup is closed if an item is selected via
3091         keyboard by typing the first char of the item. This makes
3092         chromium popup not having consistent behaviours and also
3093         behaves differently from other major browsers.
3094         Calling popup->hide() instead of popup->hidePopup() in
3095         PopupMenu fixes the issues as it does extra step to check
3096         whethere there is a keyboard selection changed when closing
3097         the popup.
3098
3099         https://bugs.webkit.org/show_bug.cgi?id=32403
3100     
3101         TEST: add a manual test as the current layout test shell
3102         does not support sending keyboard events to popup list.
3103
3104         * manual-tests/chromium/select-close-popup-value-change.html: Added.
3105         * platform/chromium/PopupMenuChromium.cpp:
3106         (WebCore::PopupMenu::hide):
3107
3108 2009-12-11  anton muhin  <antonm@chromium.org>
3109
3110         Reviewed by Adam Barth.
3111
3112         [v8] refactor WeakReferenceMap.
3113         Move common bits of functionality to reduce duplication.
3114
3115         https://bugs.webkit.org/show_bug.cgi?id=32389
3116
3117         Should be covered by buildbots.
3118
3119         * bindings/v8/DOMData.h:
3120         (WebCore::DOMData::WrapperMapObjectRemover::visitDOMWrapper):
3121         (WebCore::DOMData::handleWeakObject):
3122         (WebCore::DOMData::removeObjectsFromWrapperMap):
3123         * bindings/v8/DOMDataStore.cpp:
3124         (WebCore::DOMDataStore::weakDOMObjectCallback):
3125         (WebCore::DOMDataStore::weakActiveDOMObjectCallback):
3126         (WebCore::DOMDataStore::weakNodeCallback):
3127         (WebCore::DOMDataStore::weakSVGElementInstanceCallback):
3128         (WebCore::DOMDataStore::weakSVGObjectWithContextCallback):
3129         * bindings/v8/DOMDataStore.h:
3130         * bindings/v8/V8DOMMap.cpp:
3131         (WebCore::visitDOMNodesInCurrentThread):
3132         (WebCore::visitDOMObjectsInCurrentThread):
3133         (WebCore::visitActiveDOMObjectsInCurrentThread):
3134         (WebCore::visitDOMSVGElementInstancesInCurrentThread):
3135         (WebCore::visitSVGObjectsInCurrentThread):
3136         * bindings/v8/V8DOMMap.h:
3137         (WebCore::WeakReferenceMap::removeIfPresent):
3138         (WebCore::WeakReferenceMap::clear):
3139         (WebCore::WeakReferenceMap::visit):
3140
3141 2009-12-11  anton muhin  <antonm@chromium.org>
3142         Reviewed by Adam Barth.
3143
3144         [v8] in Debug builds create an additional handle scope
3145         when doing debug build checks.
3146         https://bugs.webkit.org/show_bug.cgi?id=32335
3147
3148         Should be covered by buildbots.
3149
3150         * bindings/v8/V8DOMWrapper.h:
3151         (WebCore::V8DOMWrapper::convertDOMWrapperToNative):
3152         (WebCore::V8DOMWrapper::convertDOMWrapperToNode):
3153
3154 2009-12-11  Pavel Feldman  <pfeldman@chromium.org>
3155
3156         Reviewed by Timothy Hatcher.
3157
3158         Web Inspector: Do not use ContextMenuItem as value type in custom
3159         context menu implementation.
3160
3161         https://bugs.webkit.org/show_bug.cgi?id=32411
3162
3163         * GNUmakefile.am:
3164         * WebCore.gypi:
3165         * WebCore.pro:
3166         * WebCore.vcproj/WebCore.vcproj:
3167         * WebCore.xcodeproj/project.pbxproj:
3168         * bindings/js/JSInspectorFrontendHostCustom.cpp:
3169         (WebCore::JSInspectorFrontendHost::showContextMenu):
3170         * inspector/InspectorFrontendHost.cpp:
3171         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
3172         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
3173         (WebCore::InspectorFrontendHost::showContextMenu):
3174         (WebCore::InspectorFrontendHost::contextMenuCleared):
3175         * inspector/InspectorFrontendHost.h:
3176         (WebCore::InspectorFrontendHost::MenuProvider::create):
3177         (WebCore::InspectorFrontendHost::MenuProvider::~MenuProvider):
3178         (WebCore::InspectorFrontendHost::MenuProvider::disconnect):
3179         (WebCore::InspectorFrontendHost::MenuProvider::populateContextMenu):
3180         (WebCore::InspectorFrontendHost::MenuProvider::contextMenuCleared):
3181         (WebCore::InspectorFrontendHost::MenuProvider::MenuProvider):
3182         * page/ContextMenuController.cpp:
3183         (WebCore::ContextMenuController::ContextMenuController):
3184         (WebCore::ContextMenuController::clearContextMenu):
3185         (WebCore::ContextMenuController::showContextMenu):
3186         (WebCore::ContextMenuController::contextMenuItemSelected):
3187         * page/ContextMenuController.h:
3188         * page/ContextMenuProvider.h: Added.
3189         (WebCore::ContextMenuProvider::~ContextMenuProvider):
3190         * page/ContextMenuSelectionHandler.h: Removed.
3191
3192 2009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
3193
3194         Reviewed by Antti Koivisto.
3195
3196         Basic cross-platform implementation of mapping platform touch events
3197         to JavaScript touch events.
3198
3199         https://bugs.webkit.org/show_bug.cgi?id=32114
3200
3201         Test: fast/events/basic-touch-events.html
3202
3203         * page/EventHandler.cpp:
3204         (WebCore::EventHandler::handleTouchEvent):
3205         * page/EventHandler.h:
3206
3207 2009-12-11  Zoltan Horvath  <zoltan@webkit.org>
3208
3209         Reviewed by Darin Adler.
3210
3211         Allow custom memory allocation control for WebCore's EmptyFrameLoaderClient
3212         https://bugs.webkit.org/show_bug.cgi?id=32110
3213
3214         Inherits the following class from Noncopyable because it is
3215         instantiated by 'new' and no need to be copyable:
3216
3217         class name              - instantiated at: WebCore/'location'
3218
3219         class EmptyFrameLoaderClient - svg/graphics/SVGImage.cpp:229
3220
3221         * loader/FrameLoaderClient.h:
3222
3223 2009-12-11  Zoltan Horvath  <zoltan@webkit.org>
3224
3225         Reviewed by Darin Adler.
3226
3227         Allow custom memory allocation control for 3 classes in WebCore's svg and loader directory
3228         https://bugs.webkit.org/show_bug.cgi?id=32106
3229
3230         Inherits the following classes from Noncopyable because these are instantiated 
3231         by 'new' and no need to be copyable:
3232
3233         class/struct name            - instantiated at: WebCore/'location'
3234
3235         class EmptyContextMenuClient - instantiated at: svg/graphics/SVGImage.cpp:232
3236         class EmptyDragClient        - instantiated at: svg/graphics/SVGImage.cpp:237
3237         class SVGImageChromeClient   - instantiated at: svg/graphics/SVGImage.cpp:243
3238
3239         * svg/graphics/SVGImage.cpp:
3240         * loader/EmptyClients.h:
3241
3242 2009-12-11  Benjamin Poulain  <benjamin.poulain@nokia.com>
3243
3244         Reviewed by Darin Adler.
3245
3246         The values of RuntimeArray are not enumerable
3247         https://bugs.webkit.org/show_bug.cgi?id=29005
3248
3249         The indices of RuntimeArray should be enumerated like for a regular array.
3250
3251         * bridge/runtime_array.cpp:
3252         (JSC::RuntimeArray::getOwnPropertyNames):
3253         * bridge/runtime_array.h:
3254
3255 2009-12-11  Andreas Kling  <andreas.kling@nokia.com>
3256
3257         Reviewed by Simon Hausmann.
3258
3259         [Qt] ImageDecoderQt: Fix retrieval of image file extensions
3260
3261         QImageReader only allows retrieving the format() before actually reading the image.
3262
3263         https://bugs.webkit.org/show_bug.cgi?id=32428
3264
3265         * platform/graphics/qt/ImageDecoderQt.cpp:
3266         (WebCore::ImageDecoderQt::setData):
3267         (WebCore::ImageDecoderQt::internalDecodeSize):
3268
3269 2009-12-11  Simon Hausmann  <hausmann@webkit.org>, Kim Grönholm  <kim.gronholm@nomovok.com>
3270
3271         Reviewed by Antti Koivisto.
3272
3273         Added interfaces for touch event support in JavaScript.
3274
3275         https://bugs.webkit.org/show_bug.cgi?id=32114
3276
3277         The Touch, TouchEvent and TouchList interfaces come straight from
3278         Android's copy of WebKit (eclaire branch).
3279
3280         The PlatformTouchEvent and PlatformTouchPoint code was written by
3281         us.
3282
3283         No new tests added, we are just adding interfaces
3284         with this patch.
3285
3286         * WebCore.pro:
3287         * bindings/js/JSEventCustom.cpp:
3288         (WebCore::toJS):
3289         * dom/Document.cpp:
3290         (WebCore::Document::addListenerTypeIfNeeded):
3291         * dom/Document.h:
3292         (WebCore::Document::):
3293         * dom/Document.idl:
3294         * dom/Element.h:
3295         * dom/Element.idl:
3296         * dom/Event.cpp:
3297         (WebCore::Event::isTouchEvent):
3298         * dom/Event.h:
3299         * dom/EventNames.h:
3300         * dom/Touch.cpp: Added.
3301         (WebCore::contentsX):
3302         (WebCore::contentsY):
3303         (WebCore::Touch::Touch):
3304         (WebCore::Touch::updateLocation):
3305         * dom/Touch.h: Added.
3306         (WebCore::Touch::create):
3307         (WebCore::Touch::frame):
3308         (WebCore::Touch::target):
3309         (WebCore::Touch::identifier):
3310         (WebCore::Touch::clientX):
3311         (WebCore::Touch::clientY):
3312         (WebCore::Touch::screenX):
3313         (WebCore::Touch::screenY):
3314         (WebCore::Touch::pageX):
3315         (WebCore::Touch::pageY):
3316         * dom/Touch.idl: Added.
3317         * dom/TouchEvent.cpp: Added.
3318         (WebCore::TouchEvent::TouchEvent):
3319         (WebCore::TouchEvent::initTouchEvent):
3320         * dom/TouchEvent.h: Added.
3321         (WebCore::TouchEvent::create):
3322         (WebCore::TouchEvent::touches):
3323         (WebCore::TouchEvent::targetTouches):
3324         (WebCore::TouchEvent::changedTouches):
3325         (WebCore::TouchEvent::TouchEvent):
3326         (WebCore::TouchEvent::isTouchEvent):
3327         * dom/TouchEvent.idl: Added.
3328         * dom/TouchList.cpp: Added.
3329         (WebCore::TouchList::item):
3330         * dom/TouchList.h: Added.
3331         (WebCore::TouchList::create):
3332         (WebCore::TouchList::length):
3333         (WebCore::TouchList::append):
3334         (WebCore::TouchList::TouchList):
3335         * dom/TouchList.idl: Added.
3336         * html/HTMLAttributeNames.in:
3337         * html/HTMLElement.cpp:
3338         (WebCore::HTMLElement::parseMappedAttribute):
3339         * page/DOMWindow.h:
3340         * page/DOMWindow.idl:
3341         * platform/PlatformTouchEvent.h: Added.
3342         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
3343         (WebCore::PlatformTouchEvent::touchPoints):
3344         * platform/PlatformTouchPoint.h: Added.
3345         (WebCore::PlatformTouchPoint::):
3346         (WebCore::PlatformTouchPoint::id):
3347         (WebCore::PlatformTouchPoint::state):
3348         (WebCore::PlatformTouchPoint::screenPos):
3349         (WebCore::PlatformTouchPoint::pos):
3350         * platform/qt/PlatformTouchEventQt.cpp: Added.
3351         (WebCore::PlatformTouchEvent::PlatformTouchEvent):
3352         * platform/qt/PlatformTouchPointQt.cpp: Added.
3353         (WebCore::PlatformTouchPoint::PlatformTouchPoint):
3354
3355 2009-12-11  Grace Kloba  <klobag@gmail.com>
3356
3357         Reviewed by Darin Adler.
3358
3359         [Android] Add detachHistoryItem() to AndroidWebHistoryBridge. And the constructor takes
3360         HistoryItem* now. As AndroidWebHistoryBridge holds a dumb pointer of HistoryItem and
3361         HistoryItem holds a RefPtr of AndroidWebHistoryBridge, the dumb pointer needs to be cleared
3362         when HistoryItem is deleted to avoid potential crash.
3363         https://bugs.webkit.org/show_bug.cgi?id=32251
3364
3365         * history/HistoryItem.cpp:
3366         (WebCore::HistoryItem::~HistoryItem):
3367         * history/android/AndroidWebHistoryBridge.h:
3368         (WebCore::AndroidWebHistoryBridge::AndroidWebHistoryBridge):
3369         (WebCore::AndroidWebHistoryBridge::detachHistoryItem):
3370
3371
3372 2009-12-11  Fumitoshi Ukai  <ukai@chromium.org>
3373
3374         Reviewed by Pavel Feldman.
3375
3376         Log WebSocket error to Web Inspector console.
3377         https://bugs.webkit.org/show_bug.cgi?id=32165
3378
3379         * websockets/WebSocketChannel.cpp:
3380         (WebCore::WebSocketChannel::didOpen):
3381         (WebCore::WebSocketChannel::appendToBuffer):
3382         * websockets/WebSocketHandshake.cpp:
3383         (WebCore::WebSocketHandshake::readServerHandshake):
3384         (WebCore::WebSocketHandshake::readHTTPHeaders):
3385         (WebCore::WebSocketHandshake::checkResponseHeaders):
3386
3387 2009-12-10  Adam Barth  <abarth@webkit.org>
3388
3389         Reviewed by Darin Adler.
3390
3391         Mixed content shouldn't trigger for plug-ins without URLs
3392         https://bugs.webkit.org/show_bug.cgi?id=32384
3393
3394         These plug-ins cannot be controlled by active network attackers, so
3395         there's no reason to trigger a mixed content warning.
3396
3397         Test: http/tests/security/mixedContent/empty-url-plugin-in-frame.html
3398
3399         * loader/FrameLoader.cpp:
3400         (WebCore::FrameLoader::isMixedContent):
3401
3402 2009-12-10  Alexey Proskuryakov  <ap@apple.com>
3403
3404         Reviewed by Darin Adler.
3405
3406         https://bugs.webkit.org/show_bug.cgi?id=32140
3407         REGRESSION(r50072): Mailman administrative functionality is broken
3408
3409         Test: http/tests/misc/percent-sign-in-form-field-name.html
3410
3411         * platform/network/FormDataBuilder.cpp: (WebCore::appendQuotedString): Don't encode percent
3412         sign, we never had a good reason to do that.
3413
3414 2009-12-10  Kent Hansen  <kent.hansen@nokia.com>
3415
3416         Reviewed by Geoffrey Garen.
3417
3418         Remove getPropertyAttributes() from JavaScript bindings.
3419         https://bugs.webkit.org/show_bug.cgi?id=31933
3420
3421         The functionality is provided by getOwnPropertyDescriptor().
3422
3423         * WebCore.order:
3424         * bindings/js/JSDOMWindowCustom.cpp:
3425         * bindings/js/JSDOMWindowShell.cpp:
3426         * bindings/js/JSDOMWindowShell.h:
3427         * bindings/scripts/CodeGeneratorJS.pm:
3428         * page/DOMWindow.idl:
3429
3430 2009-12-10  Kenneth Russell  <kbr@google.com>
3431
3432         Reviewed by Oliver Hunt.
3433
3434         Changed WebGLRenderingContext to synthesize GL errors rather than
3435         raising JavaScript exceptions. Removed internal getError() calls
3436         after each graphics call. The GraphicsContext3D maintains the
3437         synthetic exceptions because only it has complete information
3438         about certain conditions requiring them to be raised.
3439
3440         Based on idea from Ilmari Heikkinen, added create3DDebugContext()
3441         to webgl-test.js and changed the WebGL layout tests expecting
3442         error conditions to use it. Updated expected.txt files, which now
3443         implicitly test the OpenGL error as it is part of the exception's
3444         message.
3445
3446         Added new targeted test covering aspects of synthetic errors as
3447         well as regression tests for bugs uncovered during its development.
3448
3449         Test: fast/canvas/webgl/error-reporting.html
3450
3451         * html/canvas/WebGLRenderingContext.cpp:
3452         (WebCore::WebGLRenderingContext::sizeInBytes):
3453         (WebCore::WebGLRenderingContext::activeTexture):
3454         (WebCore::WebGLRenderingContext::attachShader):
3455         (WebCore::WebGLRenderingContext::bindAttribLocation):
3456         (WebCore::WebGLRenderingContext::bindBuffer):
3457         (WebCore::WebGLRenderingContext::bindFramebuffer):
3458         (WebCore::WebGLRenderingContext::bindRenderbuffer):
3459         (WebCore::WebGLRenderingContext::bindTexture):
3460         (WebCore::WebGLRenderingContext::bufferData):
3461         (WebCore::WebGLRenderingContext::bufferSubData):
3462         (WebCore::WebGLRenderingContext::compileShader):
3463         (WebCore::WebGLRenderingContext::createShader):
3464         (WebCore::WebGLRenderingContext::detachShader):
3465         (WebCore::WebGLRenderingContext::disableVertexAttribArray):
3466         (WebCore::WebGLRenderingContext::drawArrays):
3467         (WebCore::WebGLRenderingContext::drawElements):
3468         (WebCore::WebGLRenderingContext::enableVertexAttribArray):
3469         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
3470         (WebCore::WebGLRenderingContext::framebufferTexture2D):
3471         (WebCore::WebGLRenderingContext::getActiveAttrib):
3472         (WebCore::WebGLRenderingContext::getActiveUniform):
3473         (WebCore::WebGLRenderingContext::getBufferParameter):
3474         (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
3475         (WebCore::WebGLRenderingContext::getParameter):
3476         (WebCore::WebGLRenderingContext::getProgramParameter):
3477         (WebCore::WebGLRenderingContext::getProgramInfoLog):
3478         (WebCore::WebGLRenderingContext::getRenderbufferParameter):
3479         (WebCore::WebGLRenderingContext::getShaderParameter):
3480         (WebCore::WebGLRenderingContext::getShaderInfoLog):
3481         (WebCore::WebGLRenderingContext::getShaderSource):
3482         (WebCore::WebGLRenderingContext::getTexParameter):
3483         (WebCore::WebGLRenderingContext::getUniform):
3484         (WebCore::WebGLRenderingContext::getUniformLocation):
3485         (WebCore::WebGLRenderingContext::getVertexAttrib):
3486         (WebCore::WebGLRenderingContext::linkProgram):
3487         (WebCore::WebGLRenderingContext::shaderSource):
3488         (WebCore::WebGLRenderingContext::texImage2D):
3489         (WebCore::WebGLRenderingContext::texSubImage2D):
3490         (WebCore::WebGLRenderingContext::uniform1f):
3491         (WebCore::WebGLRenderingContext::uniform1fv):
3492         (WebCore::WebGLRenderingContext::uniform1i):
3493         (WebCore::WebGLRenderingContext::uniform1iv):
3494         (WebCore::WebGLRenderingContext::uniform2f):
3495         (WebCore::WebGLRenderingContext::uniform2fv):
3496         (WebCore::WebGLRenderingContext::uniform2i):
3497         (WebCore::WebGLRenderingContext::uniform2iv):
3498         (WebCore::WebGLRenderingContext::uniform3f):
3499         (WebCore::WebGLRenderingContext::uniform3fv):
3500         (WebCore::WebGLRenderingContext::uniform3i):
3501         (WebCore::WebGLRenderingContext::uniform3iv):
3502         (WebCore::WebGLRenderingContext::uniform4f):
3503         (WebCore::WebGLRenderingContext::uniform4fv):
3504         (WebCore::WebGLRenderingContext::uniform4i):
3505         (WebCore::WebGLRenderingContext::uniform4iv):
3506         (WebCore::WebGLRenderingContext::uniformMatrix2fv):
3507         (WebCore::WebGLRenderingContext::uniformMatrix3fv):
3508         (WebCore::WebGLRenderingContext::uniformMatrix4fv):
3509         (WebCore::WebGLRenderingContext::useProgram):
3510         (WebCore::WebGLRenderingContext::validateProgram):
3511         (WebCore::WebGLRenderingContext::vertexAttribPointer):
3512         * html/canvas/WebGLRenderingContext.h:
3513         (WebCore::WebGLRenderingContext::cleanupAfterGraphicsCall):
3514         * platform/graphics/GraphicsContext3D.h:
3515         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3516         (WebCore::GraphicsContext3D::getActiveAttrib):
3517         (WebCore::GraphicsContext3D::getActiveUniform):
3518         (WebCore::GraphicsContext3D::getError):
3519         (WebCore::GraphicsContext3D::synthesizeGLError):
3520
3521 2009-12-10  Stephen White  <senorblanco@chromium.org>
3522
3523         Reviewed by Dimitri Glazkov.
3524
3525         Fix for assert on Chrome/skia with SVG Filters enabled.
3526         https://bugs.webkit.org/show_bug.cgi?id=32394
3527
3528         Covered by LayoutTests/svg/W3C-SVG-1.1/filters-tile-01-b.svg and others.
3529
3530         * platform/graphics/skia/ImageBufferSkia.cpp:
3531         (WebCore::ImageBuffer::platformTransformColorSpace):
3532
3533 2009-12-10  Enrica Casucci  <enrica@apple.com>
3534
3535         Reviewed by Darin Adler.
3536
3537         REGRESSION(4.0.4-42a12): With 2 highlighted lines of text in gmail/hotmail selecting Bold selects other 2 edit buttons automatically.
3538         <rdar://problem/7442065>
3539         https://bugs.webkit.org/show_bug.cgi?id=32285
3540
3541         When examining the styles of the nodes after the first in a range selection, we take into
3542         cosideration differences in style of txt nodes only.
3543         
3544         Test: editing/execCommand/queryCommandState-02.html
3545
3546         * editing/Editor.cpp:
3547         (WebCore::Editor::selectionHasStyle):
3548
3549 2009-12-10  Oliver Hunt  <oliver@apple.com>
3550
3551         Reviewed by Alexey Proskuryakov.
3552
3553         Crash in XMLTokenizer::popCurrentNode if window.close() is called during parsing
3554         https://bugs.webkit.org/show_bug.cgi?id=31576
3555
3556         Add a RefCounted wrapper object around xmlParserCtxtPtr so we can
3557         maintain it's lifetime more effectively.
3558
3559         Test: fast/parser/xhtml-close-while-parsing.xhtml
3560
3561         * dom/XMLTokenizer.cpp:
3562         (WebCore::XMLTokenizer::popCurrentNode):
3563         * dom/XMLTokenizer.h:
3564         (WebCore::XMLParserContext::context):
3565         (WebCore::XMLParserContext::XMLParserContext):
3566         (WebCore::XMLTokenizer::context):
3567         * dom/XMLTokenizerLibxml2.cpp:
3568         (WebCore::XMLParserContext::createStringParser):
3569         (WebCore::XMLParserContext::createMemoryParser):
3570         (WebCore::XMLParserContext::~XMLParserContext):
3571         (WebCore::XMLTokenizer::~XMLTokenizer):
3572         (WebCore::XMLTokenizer::doWrite):
3573         (WebCore::XMLTokenizer::initializeParserContext):
3574         (WebCore::XMLTokenizer::doEnd):
3575         (WebCore::XMLTokenizer::lineNumber):
3576         (WebCore::XMLTokenizer::columnNumber):
3577         (WebCore::XMLTokenizer::stopParsing):
3578         (WebCore::parseXMLDocumentFragment):
3579         (WebCore::parseAttributes):
3580
3581 2009-12-10  Pavel Feldman  <pfeldman@chromium.org>
3582
3583         Reviewed by Timothy Hatcher.
3584
3585         Web Inspector: debugger shortcuts don't work when
3586         Search field or Console drawer has focus.
3587
3588         https://bugs.webkit.org/show_bug.cgi?id=32392
3589
3590         * inspector/front-end/inspector.js:
3591         (WebInspector.loaded):
3592         (WebInspector.documentKeyDown):
3593         (WebInspector.documentKeyUp):
3594         (WebInspector.searchKeyDown):
3595
3596 2009-12-10  Dimitri Glazkov  <dglazkov@chromium.org>
3597
3598         Reviewed by Adam Barth.
3599
3600         [V8] Events created in isolated worlds may fire in main world.
3601         https://bugs.webkit.org/show_bug.cgi?id=32386
3602
3603         Test: http/tests/security/isolatedWorld/events.html
3604
3605         * WebCore.gypi: Added WorldContextHandle.
3606         * bindings/v8/ScriptEventListener.cpp:
3607         (WebCore::createAttributeEventListener): Added WorldContextHandle params.
3608         * bindings/v8/SharedPersistent.h: Fixed a few style/include issues.
3609         * bindings/v8/V8AbstractEventListener.cpp:
3610         (WebCore::V8AbstractEventListener::V8AbstractEventListener): Added WorldContextHandle params.
3611         (WebCore::V8AbstractEventListener::handleEvent): Adjusted context retrieval to use WorldContextHandle.
3612         (WebCore::V8AbstractEventListener::invokeEventHandler): Ditto.