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