WebCore:
[WebKit-https.git] / WebCore / ChangeLog
1 2009-05-14  Darin Adler  <darin@apple.com>
2
3         * manual-tests/right-click-crash.html: Added.
4
5 2009-05-14  Mark Rowe  <mrowe@apple.com>
6
7         Rubber-stamped by Darin Adler.
8
9         <rdar://problem/6681868> When building with Xcode 3.1.3 should be using gcc 4.2
10
11         The meaning of XCODE_VERSION_ACTUAL is more sensible in newer versions of Xcode.
12         Update our logic to select the compiler version to use the more appropriate XCODE_VERSION_MINOR
13         if the version of Xcode supports it, and fall back to XCODE_VERSION_ACTUAL if not.
14
15         * Configurations/Base.xcconfig:
16
17 2009-05-13  Anders Carlsson  <andersca@apple.com>
18
19         Fix build.
20
21         * WebCore.NPAPI.exp:
22
23 2009-05-13  Eric Seidel  <eric@webkit.org>
24
25         Reviewed by Oliver Hunt.
26
27         Fix invalid memory write seen in HTMLCanvasElement by Valgrind
28         https://bugs.webkit.org/show_bug.cgi?id=25759
29
30         I can't think of any way to catch this with a layout test, so no test.
31
32         * css/CSSCanvasValue.cpp:
33         (WebCore::CSSCanvasValue::canvasDestroyed):
34         * css/CSSCanvasValue.h:
35         * html/HTMLCanvasElement.cpp:
36         (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
37         * html/HTMLCanvasElement.h:
38
39 2009-05-13  Dan Bernstein  <mitz@apple.com>
40
41         Reviewed by Anders Carlsson.
42
43         - fix <rdar://problem/5483015> Replies in Mail are drawn first without
44           the user style sheet and then redrawn with the style sheet
45
46         Test: platform/mac/fast/loader/user-stylesheet-fast-path.html
47
48         * page/mac/FrameMac.mm:
49         (WebCore::Frame::setUserStyleSheetLocation): For data URLs with
50         base64-encoded UTF-8 data, just decode the style sheet here an apply
51         it synchronously instead of invoking an asynchronous loader.
52
53 2009-05-13  Chris Fleizach  <cfleizach@apple.com>
54
55         Bug 25755: Implement ARIA grid role
56         https://bugs.webkit.org/show_bug.cgi?id=25755
57
58         Fix build bustage from last checkin.
59
60         * page/AccessibilityAriaGrid.cpp:
61         (WebCore::AccessibilityAriaGrid::addChild):
62
63 2009-05-13  Chris Fleizach  <cfleizach@apple.com>
64
65         Reviewed by Beth Dakin.
66
67         Bug 25755: Implement ARIA grid role
68         https://bugs.webkit.org/show_bug.cgi?id=25755
69
70         Test: accessibility/aria-tables.html
71
72         * GNUmakefile.am:
73         * WebCore.pro:
74         * WebCore.vcproj/WebCore.vcproj:
75         * WebCore.xcodeproj/project.pbxproj:
76         * WebCoreSources.bkl:
77         * page/AXObjectCache.cpp:
78         (WebCore::AXObjectCache::nodeIsAriaType):
79         (WebCore::AXObjectCache::getOrCreate):
80         * page/AXObjectCache.h:
81         * page/AccessibilityAriaGrid.cpp: Added.
82         (WebCore::AccessibilityAriaGrid::AccessibilityAriaGrid):
83         (WebCore::AccessibilityAriaGrid::~AccessibilityAriaGrid):
84         (WebCore::AccessibilityAriaGrid::create):
85         (WebCore::AccessibilityAriaGrid::addChild):
86         (WebCore::AccessibilityAriaGrid::addChildren):
87         (WebCore::AccessibilityAriaGrid::cellForColumnAndRow):
88         * page/AccessibilityAriaGrid.h: Added.
89         (WebCore::AccessibilityAriaGrid::isAriaTable):
90         * page/AccessibilityAriaGridCell.cpp: Added.
91         (WebCore::AccessibilityAriaGridCell::AccessibilityAriaGridCell):
92         (WebCore::AccessibilityAriaGridCell::~AccessibilityAriaGridCell):
93         (WebCore::AccessibilityAriaGridCell::create):
94         (WebCore::AccessibilityAriaGridCell::parentTable):
95         (WebCore::AccessibilityAriaGridCell::rowIndexRange):
96         (WebCore::AccessibilityAriaGridCell::columnIndexRange):
97         * page/AccessibilityAriaGridCell.h: Added.
98         * page/AccessibilityAriaGridRow.cpp: Added.
99         (WebCore::AccessibilityAriaGridRow::AccessibilityAriaGridRow):
100         (WebCore::AccessibilityAriaGridRow::~AccessibilityAriaGridRow):
101         (WebCore::AccessibilityAriaGridRow::create):
102         (WebCore::AccessibilityAriaGridRow::parentTable):
103         (WebCore::AccessibilityAriaGridRow::headerObject):
104         * page/AccessibilityAriaGridRow.h: Added.
105         * page/AccessibilityList.cpp:
106         (WebCore::AccessibilityList::accessibilityIsIgnored):
107         * page/AccessibilityList.h:
108         * page/AccessibilityObject.h:
109         (WebCore::):
110         * page/AccessibilityRenderObject.cpp:
111         (WebCore::RoleEntry::):
112         * page/AccessibilityTable.cpp:
113         (WebCore::AccessibilityTable::AccessibilityTable):
114         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
115         * page/AccessibilityTable.h:
116         (WebCore::AccessibilityTable::isAriaTable):
117         * page/AccessibilityTableCell.cpp:
118         (WebCore::AccessibilityTableCell::parentTable):
119         (WebCore::AccessibilityTableCell::isTableCell):
120         (WebCore::AccessibilityTableCell::titleUIElement):
121         * page/AccessibilityTableCell.h:
122         * page/AccessibilityTableColumn.cpp:
123         (WebCore::AccessibilityTableColumn::setParentTable):
124         (WebCore::AccessibilityTableColumn::headerObject):
125         * page/AccessibilityTableRow.cpp:
126         (WebCore::AccessibilityTableRow::isTableRow):
127         (WebCore::AccessibilityTableRow::parentTable):
128         * page/AccessibilityTableRow.h:
129         * page/mac/AccessibilityObjectWrapper.mm:
130         (RoleEntry::):
131
132 2009-05-13  David Levin  <levin@chromium.org>
133
134         Reviewed by Dimitri Glazkov.
135
136         Bug 25763: Need to move v8 custom binding to the custom directory.
137         https://bugs.webkit.org/show_bug.cgi?id=25763
138
139         No test due to no change in behavior.
140
141         * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Renamed from WebCore/bindings/v8/V8CanvasPixelArrayCustom.cpp.
142
143 2009-05-13  Nate Chapin  <japhet@google.com>
144
145         Reviewed by Dimitri Glazkov.
146
147         Fix LayoutTests/fast/dom/Element/attr-param-typechecking.html crashing with V8.
148         https://bugs.webkit.org/show_bug.cgi?id=25758
149
150         * bindings/v8/custom/V8ElementCustom.cpp:
151         (WebCore::CALLBACK_FUNC_DECL): return the result of throwError() if it is called.
152
153 2009-05-13  Jeremy Moskovich  <jeremy@chromium.org>
154
155         Reviewed by Dave Hyatt.
156
157         Fix a number of bugs relating to RTL and text-overflow:ellipsis.
158         Also refactor the relevant code to make it a little clearer.
159
160         This CL fixes 3 fundamental issues:
161         - Corrects behavior if the truncated InlineTextBox's directionality is
162           different from the overall flow direction - bug 25135.
163         - Make decoration drawing in InlineFlowbox RTL-aware - bug 24206.
164         - Full truncation on InlineBoxes in RTL flow - bug 24186
165         - Add tests for the above + reorder/cleanup tests for easier
166           interpretation of outcome.
167
168         The code for placing ellipsis has been refactored to use
169         left/right notation rather than a single variable whose meaning
170         could differ based on flow directionality.
171
172         To support differing inline directionality vs flow directionality,
173         different variables are now used in InlineTextBox::placeEllipsisBox to
174         track the two.
175
176         The drawing mode for underlines in standards mode now correctly handles
177         RTL truncation and relevant test where added.
178
179         https://bugs.webkit.org/show_bug.cgi?id=24186
180         https://bugs.webkit.org/show_bug.cgi?id=25135
181         https://bugs.webkit.org/show_bug.cgi?id=24206
182
183         Tests: fast/css/text-overflow-ellipsis-bidi.html
184                fast/css/text-overflow-ellipsis-strict.html
185
186         * rendering/InlineBox.cpp:
187         (WebCore::InlineBox::placeEllipsisBox):
188         * rendering/InlineBox.h:
189         * rendering/InlineFlowBox.cpp:
190         (WebCore::InlineFlowBox::paintTextDecorations):
191         (WebCore::InlineFlowBox::placeEllipsisBox):
192         * rendering/InlineFlowBox.h:
193         * rendering/InlineTextBox.cpp:
194         (WebCore::InlineTextBox::placeEllipsisBox):
195         (WebCore::InlineTextBox::paint):
196         * rendering/InlineTextBox.h:
197         * rendering/RenderFlexibleBox.cpp:
198         (WebCore::RenderFlexibleBox::layoutVerticalBox):
199         * rendering/RootInlineBox.cpp:
200         (WebCore::RootInlineBox::placeEllipsis):
201         (WebCore::RootInlineBox::placeEllipsisBox):
202         * rendering/RootInlineBox.h:
203         * rendering/bidi.cpp:
204         (WebCore::RenderBlock::checkLinesForTextOverflow):
205
206 2009-05-13  Dmitry Titov  <dimich@chromium.org>
207
208         Rubber-stamped by Mark Rowe.
209
210         https://bugs.webkit.org/show_bug.cgi?id=25746
211         Revert http://trac.webkit.org/changeset/43507 which caused crash in PPC nightlies with Safari 4.
212
213         * dom/XMLTokenizerLibxml2.cpp:
214         (WebCore::matchFunc):
215         (WebCore::openFunc):
216         (WebCore::createStringParser):
217         (WebCore::createMemoryParser):
218         * loader/icon/IconDatabase.cpp:
219         (WebCore::IconDatabase::open):
220         * platform/sql/SQLiteDatabase.cpp:
221         (WebCore::SQLiteDatabase::SQLiteDatabase):
222         (WebCore::SQLiteDatabase::close):
223         * storage/DatabaseThread.cpp:
224         (WebCore::DatabaseThread::DatabaseThread):
225         (WebCore::DatabaseThread::start):
226         (WebCore::DatabaseThread::databaseThread):
227         * storage/LocalStorageThread.cpp:
228         (WebCore::LocalStorageThread::LocalStorageThread):
229         (WebCore::LocalStorageThread::start):
230         (WebCore::LocalStorageThread::localStorageThread):
231         (WebCore::LocalStorageThread::scheduleImport):
232         (WebCore::LocalStorageThread::scheduleSync):
233         (WebCore::LocalStorageThread::terminate):
234         * workers/WorkerThread.cpp:
235         (WebCore::WorkerThread::WorkerThread):
236         (WebCore::WorkerThread::start):
237
238 2009-05-13  David Hyatt  <hyatt@apple.com>
239
240         Reviewed by Beth Dakin.
241
242         Fix for <rdar://problem/6872894> REGRESSION (r41896-42143): First letter cut off in styled select menus
243         
244         Make sure to do rounded clipping for overflow and controls relative to the border box and not to the overflow/control clip rect
245         (which is typically clipped to the padding or content box).  Doing so was causing rounded clips to be incorrectly applied to padding and
246         content.
247     
248         Added fast/overflow/border-radius-clipping.html
249
250         * rendering/RenderBox.cpp:
251         (WebCore::RenderBox::pushContentsClip):
252
253 2009-05-13  Darin Adler  <darin@apple.com>
254
255         Revert the parser arena change. It was a slowdown, not a speedup.
256         Better luck next time (I'll break it up into pieces).
257
258 2009-05-13  David Hyatt  <hyatt@apple.com>
259
260         Reviewed by Beth Dakin and Darin Adler.
261
262         Fix for <rdar://problem/6869687> REGRESSION (r41203): Facebook friend suggestions disappear on update.
263         
264         Make sure that renderers are marked for layout if a style change causes them to switch from having a self-painting layer
265         to a non-self-painting layer (and vice versa).
266         
267         Move misplaced layer repainting code that was in RenderBox up into RenderBoxModelObject so that inlines with layers
268         repaint properly on opacity changes, etc.
269
270         Added fast/repaint/opacity-change-on-overflow-float.html.
271
272         * rendering/RenderBox.cpp:
273         (WebCore::RenderBox::styleWillChange):
274         * rendering/RenderBoxModelObject.cpp:
275         (WebCore::RenderBoxModelObject::styleWillChange):
276         (WebCore::RenderBoxModelObject::styleDidChange):
277         * rendering/RenderBoxModelObject.h:
278
279 2009-05-13  Dimitri Glazkov  <dglazkov@chromium.org>
280
281         Not reviewed, build fix.
282
283         Move an include, needed by Debugger under the corresponding guard.
284
285         * inspector/InspectorController.cpp: Moved parser/SourceCode under JAVASCRIPT_DEBUGGER
286             guard.
287
288 2009-05-13  David Levin  <levin@chromium.org>
289
290         Reviewed by Darin Adler.
291
292         Bug 25394: REGRESSION: crash in DocumentLoader::addResponse due to bad |this| pointer
293         https://bugs.webkit.org/show_bug.cgi?id=25394
294
295         Test: http/tests/xmlhttprequest/frame-unload-abort-crash.html
296
297         * loader/SubresourceLoader.cpp:
298         (WebCore::SubresourceLoader::create):
299         Add another check to subresource loader to avoid doing any loads in frames
300         when the loaders are being stopped.
301
302 2009-05-13  Stephan Haller  <nomad@froevel.de>
303
304         Reviewed by Gustavo Noronha.
305
306         Wrong handling of file upload if no file selected
307         https://bugs.webkit.org/show_bug.cgi?id=25649
308
309         Fixed returned path if path is empty
310
311         * WebCore/platform/gtk/FileSystemGtk.cpp:
312
313 2009-05-13  Dan Bernstein  <mitz@apple.com>
314
315         Reviewed by Dave Hyatt.
316
317         - fix <rdar://problem/6805567> REGRESSION (r42348): Notes flicker white
318           when loading
319
320         Tests: fast/frames/content-opacity-1.html
321                fast/frames/content-opacity-2.html
322
323         * page/FrameView.cpp:
324         (WebCore::FrameView::reset): Reset m_contentIsOpaque to false.
325         (WebCore::FrameView::useSlowRepaints): Use slow repaints if the content
326         is not known to be opaque.
327         (WebCore::FrameView::setContentIsOpaque): Added. Sets m_contentIsOpaque
328         and enables or disables fast repaints accordingly.
329         * page/FrameView.h:
330         * rendering/RenderBoxModelObject.cpp:
331         (WebCore::RenderBoxModelObject::paintFillLayerExtended): Removed the
332         document()->haveStylesheetsLoaded() condition in determining whether the
333         root is opaque. This is what was causing the bug, as iframes were
334         considered to be opaque, and thus painted an opaque white background,
335         whenever they were pending a style sheet load.
336         Changed to call FrameView::setContentIsOpaqe() instead of
337         setUseSlowRepaints(), which allows the frame to go back to fast repaints
338         if the content becomes opaque.
339         Corrected the check for background color opacity: any alpha value other
340         than 255--not just zero--is not opaque.
341
342 2009-05-13  Ariya Hidayat  <ariya.hidayat@nokia.com>
343
344         Reviewed by Sam Weinig.
345
346         [Qt] Fix "lighther" composition mode.
347         QPainter::CompositionMode_Plus is the right match.
348
349         * platform/graphics/qt/GraphicsContextQt.cpp:
350         (WebCore::toQtCompositionMode):
351
352 2009-05-13  Darin Adler  <darin@apple.com>
353
354         Reviewed by Cameron Zwarich.
355
356         Bug 25674: syntax tree nodes should use arena allocation
357         https://bugs.webkit.org/show_bug.cgi?id=25674
358
359         * bindings/js/JSDOMBinding.h: Removed include of JSFunction.h.
360         We don't want the entire DOM binding to depend on that file.
361
362         * bindings/js/JSAudioConstructor.cpp: Added include of Error.h.
363         Before we inherited this automatically because JDDOMBinding.h
364         included JSFunction.h, but that was excessive.
365         * bindings/js/JSDOMWindowCustom.cpp: Ditto.
366         * bindings/js/JSHTMLInputElementCustom.cpp: Ditto.
367         * bindings/js/JSImageConstructor.cpp: Ditto.
368         * bindings/js/JSLazyEventListener.cpp: Ditto, but for JSFunction.h.
369         * bindings/js/JSMessageChannelConstructor.cpp: Ditto.
370         * bindings/js/JSOptionConstructor.cpp: Ditto.
371         * bindings/js/JSWorkerConstructor.cpp: Ditto.
372         * bindings/js/JSXMLHttpRequestConstructor.cpp: Ditto.
373         * bridge/jni/jni_jsobject.mm: Ditto, but for SourceCode.h.
374         * inspector/InspectorController.cpp: Ditto.
375
376         * inspector/JavaScriptDebugServer.cpp:
377         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
378         Moved mose of this function into the base class in JavaScriptCore,
379         so the details of compilation don't have to be exposed.
380
381 2009-05-13  Douglas R. Davidson  <ddavidso@apple.com>
382
383         Reviewed by Darin Adler.
384
385         <rdar://problem/6879145>
386         Generate a contextual menu item allowing autocorrections to
387         easily be changed back.  Refrain from re-correcting items
388         that have already been autocorrected once.
389
390         * dom/DocumentMarker.h:
391         * editing/Editor.cpp:
392         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
393         (WebCore::Editor::changeBackToReplacedString):
394         * editing/Editor.h:
395         * page/ContextMenuController.cpp:
396         (WebCore::ContextMenuController::contextMenuItemSelected):
397         * page/mac/WebCoreViewFactory.h:
398         * platform/ContextMenu.cpp:
399         (WebCore::ContextMenu::populate):
400         (WebCore::ContextMenu::checkOrEnableIfNeeded):
401         * platform/ContextMenuItem.h:
402         * platform/LocalizedStrings.h:
403         * platform/mac/LocalizedStringsMac.mm:
404         (WebCore::contextMenuItemTagChangeBack):
405         * rendering/HitTestResult.cpp:
406         (WebCore::HitTestResult::replacedString):
407         * rendering/HitTestResult.h:
408         * rendering/InlineTextBox.cpp:
409         (WebCore::InlineTextBox::computeRectForReplacementMarker):
410         (WebCore::InlineTextBox::paintDocumentMarkers):
411         * rendering/InlineTextBox.h:
412
413 2009-05-13  Holger Hans Peter Freyther  <zecke@selfish.org>
414
415         Rubber Stamped by Oliver Hunt.
416
417         [GTK] Fix Gtk+/X11 build on OSX
418
419         Including the CoreFoundation header here and X11 headers
420         later will result in different definitions of Boolean. The
421         CoreFoundation include does not seem to be necessary here
422         and my mac build was successfull without it. I will remove
423         it for now. If the build bots disagree this will be replaced
424         by a #if PLATFORM(CF).
425
426         * platform/FileSystem.h:
427
428 2009-05-13  Holger Hans Peter Freyther  <zecke@selfish.org>
429
430         Rubber Stamped by Gustavo Noronha.
431
432         [GTK] Move the #ifdef around for a buildfix for Gtk+ on OSX
433
434         When building Gtk+ on OSX we ended up declaring
435         setNPWindowIfNeeded twice. Fix that by moving
436         the #if PLATFORM(GTK) up and using elif instead of
437         else.
438
439         * plugins/PluginView.h:
440
441 2009-05-13  Holger Hans Peter Freyther  <zecke@selfish.org>
442
443         Reviewed by Xan Lopez.
444
445         https://bugs.webkit.org/show_bug.cgi?id=25685
446         [GTK] Middle click paste form the pasteboard
447
448         The kit wants to paste from at least two different
449         clipboards. By introducing getCurrentTarget to the
450         PasteboardHelper interface we can make this decision
451         in the kit.
452         Use the new method in PasteboardGtk to get the right
453         GdkClipboard for the paste operation.
454
455         * platform/gtk/PasteboardGtk.cpp:
456         (WebCore::Pasteboard::documentFragment):
457         (WebCore::Pasteboard::plainText):
458         * platform/gtk/PasteboardHelper.h:
459
460 2009-05-13  Eric Carlson  <eric.carlson@apple.com>
461
462         Reviewed by Darin Adler.
463
464         <rdar://problem/6438177> QTMoviePreferredTransformAttribute only supported on SnowLeopard
465         <rdar://problem/6872468> QTMovieOpenForPlaybackAttribute only supported on SnowLeopard
466
467         QTMoviePreferredTransformAttribute and QTMovieOpenForPlaybackAttribute are not supported
468         on Tiger or Leopard.
469
470         * html/HTMLMediaElement.cpp:
471         (WebCore::HTMLMediaElement::setNetworkState): Remove invalid ASSERT.
472
473         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
474         (WebCore::MediaPlayerPrivate::createQTMovie): Only request QTMoviePreferredTransformAttribute
475         when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD.
476         (WebCore::MediaPlayerPrivate::cacheMovieScale): Only ask for QTMovieOpenForPlaybackAttribute 
477         when !BUILDING_ON_TIGER and !BUILDING_ON_LEOPARD,
478
479 2009-05-12  Roland Steiner <rolandsteiner@google.com>
480
481         Reviewed by Eric Seidel.
482
483         Bug 25738: Skia: CSS border style not cleared for SVG object
484         https://bugs.webkit.org/show_bug.cgi?id=25738
485
486         If no dashing is set, this change reverts to solid stroke
487         (previously the code bailed and left the old setting, whatever it was)
488
489         Test case listed in above bug entry.
490         (Additional complications due to each platform rendering dotted lines differently -
491         c.f. https://bugs.webkit.org/show_bug.cgi?id=25737)
492
493         * platform/graphics/skia/GraphicsContextSkia.cpp:
494         (WebCore::GraphicsContext::setLineDash):
495
496 2009-05-11  Erik Arvidsson  <arv@chromium.org>
497
498         Reviewed by Eric Seidel.
499
500         Bug 21903: Adds DOM bindings for the placeholder property of the
501         HTMLInputElement.
502         https://bugs.webkit.org/show_bug.cgi?id=21903
503
504         Test: fast/forms/placeholder-dom-property.html
505
506         * dom/InputElement.cpp:
507         (WebCore::InputElement::updatePlaceholderVisibility):
508         * dom/InputElement.h:
509         * html/HTMLInputElement.cpp:
510         (WebCore::HTMLInputElement::placeholder):
511         (WebCore::HTMLInputElement::setPlaceholder):
512         * html/HTMLInputElement.h:
513         * html/HTMLInputElement.idl:
514         * rendering/RenderTextControlSingleLine.cpp:
515         (WebCore::RenderTextControlSingleLine::updateFromElement):
516         * wml/WMLInputElement.h:
517         (WebCore::WMLInputElement::placeholder):
518         (WebCore::WMLInputElement::setPlaceholder):
519
520 2009-05-12  Adam Barth  <abarth@webkit.org>
521
522         Reviewed by Dimitri Glazkov.
523
524         https://bugs.webkit.org/show_bug.cgi?id=25706
525
526         Change V8 bindings to match JSC bindings with respect to using
527         the lexical or dynamic global object.
528
529         Tests: http/tests/security/aboutBlank/security-context-grandchildren-lexical.html
530                http/tests/security/aboutBlank/security-context-grandchildren-write-lexical.html
531                http/tests/security/aboutBlank/security-context-grandchildren-writeln-lexical.html
532
533         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
534         (WebCore::CALLBACK_FUNC_DECL):
535
536 2009-03-19  Oliver Hunt  <oliver@apple.com>
537
538         Reviewed by Darin Adler.
539
540         <rdar://problem/6702386> Incorrect bound check in SVGList::insertItemBefore
541
542         SVGList::insertItemBefore would not perform a bounds check on the
543         index it was provided, potentially leading to a buffer overflow. 
544
545         Test: svg/dom/svglist-exception-on-out-bounds-error.html
546
547         * svg/SVGList.h:
548         (WebCore::SVGList::insertItemBefore):
549
550 2009-05-12  Paul Godavari  <paul@chromium.org>
551
552         Reviewed by Dimitri Glazkov.
553
554         Bug 25708: Cannot choose menu items in popups with many entries in Chromium
555         https://bugs.webkit.org/show_bug.cgi?id=25708
556
557         This change sets the window size for popups on Mac to include all items
558         in the menu. This is required for hit testing on Mac, where we use native
559         controls to manage the popups and don't want to artificially limit the
560         valid hit testing region to a limited scroll window.
561
562         * platform/chromium/PopupMenuChromium.cpp:
563         (WebCore::PopupListBox::layout):
564
565 2009-05-12  Stephen White  <senorblanco@chromium.org>
566
567         Reviewed by Dimitri Glazkov.
568
569         Fixes to build with latest skia:  SkTypeface::Create() is now
570         SkTypeface::CreateFromName(); computeBounds() has been reworked
571         as getBounds().  The changes are placed behind an #ifdef for now,
572         so that we can roll back the skia version in Chromium if necessary
573         without having to roll back this change.
574
575         https://bugs.webkit.org/show_bug.cgi?id=25705
576
577         * platform/graphics/chromium/FontCacheLinux.cpp:
578         (WebCore::FontCache::createFontPlatformData):
579         * platform/graphics/skia/PathSkia.cpp:
580         (WebCore::Path::boundingRect):
581         (WebCore::boundingBoxForCurrentStroke):
582         * platform/graphics/skia/SkiaUtils.cpp:
583         (WebCore::SkPathContainsPoint):
584
585 2009-05-12  Nate Chapin  <japhet@google.com>
586
587         Reviewed by Dimitri Glazkov.
588
589         https://bugs.webkit.org/show_bug.cgi?id=25732
590         Update V8ElementCustom.cpp to match the current API of V8Proxy.
591
592         (WebCore::ACCESSOR_SETTER): Change retrieveActiveFrame() to retrieveFrameForEnteredContext().
593
594 2009-05-12  Alexey Proskuryakov  <ap@webkit.org>
595
596         Reviewed by Darin Adler.
597
598         https://bugs.webkit.org/show_bug.cgi?id=25694
599         HTMLParser::createHead() ASSERT: Creating an element, calling  document.open() and writing
600         to the document NULL ptr
601
602         Test: fast/parser/implicit-head-in-fragment-crash.html
603
604         * html/HTMLParser.cpp: (WebCore::HTMLParser::bodyCreateErrorCheck): Do not try to implicitly
605         create <head> when parsing a fragment.
606
607 2009-05-12  Soren Gjesse  <sgjesse@chromium.org>
608
609         Reviewed by Dimitri Glazkov.
610
611         https://bugs.webkit.org/show_bug.cgi?id=25687
612         Missing check for valid function in V8 bindings for toString function for event listeners.
613
614         * bindings/v8/V8LazyEventListener.cpp:
615         (WebCore::V8LazyEventListener::getWrappedListenerFunction): Added empty handle checks.
616
617 2009-05-11  Yael Aharon  <yael.aharon@nokia.com>
618
619         Reviewed by Holger Freyther.
620
621         Change Qt port to match the mac and windows ports, and unregister plugins when plugins are stopped.
622         Not doing that can cause assersion failure.
623         https://bugs.webkit.org/show_bug.cgi?id=25702
624
625         * plugins/qt/PluginViewQt.cpp:
626         (WebCore::PluginView::stop):
627
628 2009-05-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
629
630         Reviewed by Holger Freyther.
631
632         Bug 25714: [Qt] Decouple HTML5 Database support from the
633         SQLite/generic database support in the Qt port
634
635         <https://bugs.webkit.org/show_bug.cgi?id=25714>
636
637         * WebCore.pro:
638
639 2009-05-11  Chris Fleizach  <cfleizach@apple.com>
640
641         Reviewed by Beth Dakin.
642
643         Bug 25713: AX: Control Elements not identified in HTML content
644         https://bugs.webkit.org/show_bug.cgi?id=25713
645
646         Test: accessibility/onclick-handlers.html
647
648         * page/AccessibilityRenderObject.cpp:
649         (WebCore::AccessibilityRenderObject::mouseButtonListener):
650
651 2009-05-11  Darin Adler  <darin@apple.com>
652
653         Reviewed by Dan Bernstein.
654
655         <rdar://problem/6276843> REGRESSION: TextIterator generates
656         an extra newline for ranges that start outside of body
657
658         * editing/TextIterator.cpp:
659         (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
660         Check startPos for null, not just currPos.
661
662 2009-05-11  Chris Fleizach  <cfleizach@apple.com>
663
664         Reviewed by Darin Adler.
665
666         Bug 25700: Regression:WebKit:cmd-left and cmd-right use to go to the beginning and end of a line in Mail
667         https://bugs.webkit.org/show_bug.cgi?id=25700
668
669         Keyboard selection movement handlers need to also watch for the Cmd key when Accessibility is enabled.
670         Note: This code is only used when accessibility is enabled.
671
672         * page/EventHandler.cpp:
673         (WebCore::EventHandler::handleKeyboardSelectionMovement):
674
675 2009-05-11  David Kilzer  <ddkilzer@apple.com>
676
677         Bug 25087: Test for ENABLE_FOO macros consistently in IDL files
678
679         <https://bugs.webkit.org/show_bug.cgi?id=25087>
680
681         Reviewed by Timothy Hatcher.
682
683         Change tests for ENABLE macros to check for both existence and
684         value:
685
686         - Negative:  #if !defined(ENABLE_FOO) || !ENABLE_FOO
687         - Positive:  #if defined(ENABLE_FOO) && ENABLE_FOO
688
689         * css/CSSCharsetRule.idl:
690         * css/CSSPrimitiveValue.idl:
691         * css/RGBColor.idl:
692         * dom/Attr.idl:
693         * dom/DOMCoreException.idl:
694         * dom/DOMImplementation.idl:
695         * dom/Document.idl:
696         * dom/Element.idl:
697         * dom/Event.idl:
698         * dom/EventException.idl:
699         * dom/KeyboardEvent.idl:
700         * dom/MessagePort.idl:
701         * dom/MouseEvent.idl:
702         * dom/Node.idl:
703         * dom/ProcessingInstruction.idl:
704         * dom/Range.idl:
705         * dom/RangeException.idl:
706         * dom/WheelEvent.idl:
707         * html/CanvasPixelArray.idl:
708         * html/HTMLAnchorElement.idl:
709         * html/HTMLAppletElement.idl:
710         * html/HTMLAreaElement.idl:
711         * html/HTMLBaseFontElement.idl:
712         * html/HTMLCanvasElement.idl:
713         * html/HTMLDocument.idl:
714         * html/HTMLElement.idl:
715         * html/HTMLEmbedElement.idl:
716         * html/HTMLFrameElement.idl:
717         * html/HTMLIFrameElement.idl:
718         * html/HTMLImageElement.idl:
719         * html/HTMLInputElement.idl:
720         * html/HTMLLinkElement.idl:
721         * html/HTMLObjectElement.idl:
722         * html/HTMLOptionElement.idl:
723         * html/HTMLOptionsCollection.idl:
724         * html/HTMLSelectElement.idl:
725         * html/HTMLStyleElement.idl:
726         * html/ImageData.idl:
727         * inspector/InspectorController.idl:
728         * loader/appcache/DOMApplicationCache.idl:
729         * page/Console.idl:
730         * page/Coordinates.idl:
731         * page/DOMSelection.idl:
732         * page/DOMWindow.idl:
733         * page/Geoposition.idl:
734         * page/History.idl:
735         * page/Location.idl:
736         * page/Navigator.idl:
737         * svg/SVGElementInstance.idl:
738         * svg/SVGException.idl:
739         * workers/WorkerContext.idl:
740         * xml/XMLHttpRequestException.idl:
741         * xml/XPathException.idl:
742
743 2009-05-11  Norbert Leser  <norbert.leser@nokia.com>
744
745         Reviewed by Darin Adler.
746
747         Bug 24538: class/struct mixup in forward declarations
748         https://bugs.webkit.org/show_bug.cgi?id=24538
749
750         * inspector/InspectorResource.h:
751         * loader/CachedFont.h:
752         * loader/appcache/ApplicationCache.h:
753         * rendering/RenderBlock.h:
754         * rendering/RootInlineBox.h:
755         * rendering/SVGInlineTextBox.h:
756         * svg/SVGGlyphElement.h:
757         * svg/SVGHKernElement.h:
758
759 2009-05-11  Norbert Leser  <norbert.leser@nokia.com>
760
761         Reviewed by Darin Adler.
762
763         Bug 24539: Unresolved CSSMutableStyleDeclaration
764         https://bugs.webkit.org/show_bug.cgi?id=24539
765
766         The Symbian tools can't compile and link this without this include.
767         It's not clear why this is different from other toolsets or why it affects
768         only this header file, but adding the include for now.
769
770         * editing/RemoveCSSPropertyCommand.h: Added include of CSSMutableStyleDeclaration.h.
771
772 2009-05-11  Alice Liu  <alice.liu@apple.com>
773
774         Reviewed by Dan Bernstein.
775
776         https://bugs.webkit.org/show_bug.cgi?id=25701
777         REGRESSION(r38788 & r42020): styled searchfields look wrong on Windows, affects Facebook
778
779         Test: fast/forms/search-styled.html
780
781         * css/themeWin.css:
782         Remove the overriding of -webkit-appearance for searchfields. This will cause background
783         images to not be honored when styling searchfields
784
785         * rendering/RenderThemeWin.cpp:
786         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
787         * rendering/RenderThemeWin.h:
788         Re-instate final adjustments to searchfield styling that were removed in r42020
789
790 2009-05-11  Brady Eidson  <beidson@apple.com>
791
792         Fix Windows build
793
794         * platform/network/cf/ResourceHandleCFNet.cpp:
795         (WebCore::createCFURLResponseWithDefaultMIMEType):
796
797 2009-05-11  Nate Chapin  <japhet@google.com>
798
799         Reviewed by Dimitri Glazkov.
800
801         https://bugs.webkit.org/show_bug.cgi?id=25626
802         Update V8ElementCustom.cpp to match the current API of Node.
803
804         * bindings/v8/custom/V8ElementCustom.cpp:
805         (WebCore::ACCESSOR_SETTER): Changed a couple of method names to match current names.
806         (WebCore::ACCESSOR_GETTER): Changed a method name to match current name.
807
808 2009-05-11  Brady Eidson  <beidson@apple.com>
809
810         Fix Windows build
811
812         * platform/network/cf/ResourceHandleCFNet.cpp:
813         (WebCore::createCFURLResponseWithDefaultMIMEType):
814         (WebCore::WebCoreSynchronousLoader::load):
815
816 2009-05-11  Brady Eidson  <beidson@apple.com>
817
818         Fix Windows build
819
820         * platform/network/cf/ResourceHandleCFNet.cpp:
821         (WebCore::createCFURLResponseWithDefaultMIMEType):
822
823 2009-05-11  Nate Chapin  <japhet@google.com>
824
825         Reviewed by Dimitri Glazkov.
826
827         V8CustomBinding.cpp is missing a header file
828
829         https://bugs.webkit.org/show_bug.cgi?id=25644
830
831         * bindings/v8/custom/V8CustomBinding.cpp: Added #include "V8Proxy.h".
832
833 2009-05-11  Aaron Boodman  <aa@chromium.org>
834
835         Reviewed by Darin Fisher.
836
837         https://bugs.webkit.org/show_bug.cgi?id=25634
838         Change V8Proxy::retrieveActiveFrame() call sites to V8Proxy::retrieveFrameForEnteredContext().
839
840         Also, change instances of ScriptController::retrieveActiveFrame() to
841         V8::retrieveFrameForEnteredContext() for consistency.
842
843
844         See http://codereview.chromium.org/113085 for the corresponding Chromium change.
845
846         * bindings/v8/custom/V8DOMWindowCustom.cpp:
847         (WebCore::V8Custom::WindowSetLocation):
848         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
849         (WebCore::CALLBACK_FUNC_DECL):
850         * bindings/v8/custom/V8LocationCustom.cpp:
851         (WebCore::navigateIfAllowed):
852         (WebCore::ACCESSOR_SETTER):
853         (WebCore::CALLBACK_FUNC_DECL):
854
855 2009-05-11  Brady Eidson  <beidson@apple.com>
856
857         Reviewed by Darin Adler.
858
859         <rdar://problem/5972751> Local image files (BMP, ico) can be misidentified as HTML.
860
861         First part of the fix - Disable content sniffing for file resources which never should've been happening anyways.
862         Second part of the fix - If the networking layer doesn't give us back a MIME type default to "application/octet-stream".
863
864         * platform/MIMETypeRegistry.cpp:
865         (WebCore::defaultMIMEType): "application/octet-stream"
866         * platform/MIMETypeRegistry.h:
867
868         * platform/network/ResourceHandle.cpp:
869         (WebCore::ResourceHandle::create): If content sniffing is true, double check with "shouldContentSniffRequest()" which
870           might override it to false.
871         (WebCore::ResourceHandle::shouldContentSniffURL): Return false for file:// urls, true for everything else.
872         * platform/network/ResourceHandle.h:
873
874         * platform/network/cf/ResourceHandleCFNet.cpp:
875         (WebCore::createCFURLResponseWithDefaultMIMEType): Create a copy of the CFURLRequest with the default MIME type instead
876           of null.
877         (WebCore::didReceiveResponse): If the MIME type for the response is null, create a copy with the default MIME type.
878         (WebCore::WebCoreSynchronousLoader::load): Use shouldContentSniffRequest() to make synchronous loads have the same 
879           sniffing policy as asynchronous loads.  Also, correct a null MIME type by creating a copy with the default type.
880
881         * platform/network/mac/ResourceHandleMac.mm:
882         (WebCore::ResourceHandle::loadResourceSynchronously): Use shouldContentSniffRequest() to make synchronous loads have the
883           same sniffing policy as asynchronous loads.
884         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Set up the [NSURLResponse MIMEType] swizzling if
885           it hasn't been set up yet.
886         (_web_NSURLResponse_MIMEType): Either return the actual MIME type of the response, or the default MIME type if it's nil.
887
888         * xml/XMLHttpRequest.cpp:
889         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Remove the workaround added in r29370 as it will now be covered by
890           the new mechanism.
891
892 2009-05-11  David Kilzer  <ddkilzer@apple.com>
893
894         Fix typo "APPLICATION_CAHE_DYNAMIC_ENTRIES" to "APPLICATION_CACHE_DYNAMIC_ENTRIES"
895
896         This was added in r39816 to disable dynamic entries.  They are
897         still disabled after fixing the typo since this feature define
898         is never set anywhere.
899
900         * bindings/js/JSDOMApplicationCacheCustom.cpp:
901         * loader/appcache/DOMApplicationCache.idl:
902
903 2009-05-11  Dmitry Titov  <dimich@chromium.org>
904
905         Reviewed by Alexey Proskuryakov and Adam Roben.
906
907         https://bugs.webkit.org/show_bug.cgi?id=25348
908         Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
909
910         Most of the change is in WTF.
911         Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
912         method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
913         is now a class rather then an integer.
914         Also, there is no need to initialize threadID in constructors to 0 now.
915
916         * dom/XMLTokenizerLibxml2.cpp:
917         (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
918         since now ThreadIdentifier needs construction and we avoid having global initializers.
919         (WebCore::matchFunc): use the new accessor function.
920         (WebCore::openFunc): ditto.
921         (WebCore::createStringParser): ditto.
922         (WebCore::createMemoryParser): ditto.
923         * loader/icon/IconDatabase.cpp:
924         (WebCore::IconDatabase::open):
925         * platform/sql/SQLiteDatabase.cpp:
926         (WebCore::SQLiteDatabase::SQLiteDatabase):
927         (WebCore::SQLiteDatabase::close):
928         * storage/DatabaseThread.cpp:
929         (WebCore::DatabaseThread::start):
930         (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
931         * storage/LocalStorageThread.cpp:
932         (WebCore::LocalStorageThread::start):
933         (WebCore::LocalStorageThread::scheduleImport):
934         (WebCore::LocalStorageThread::scheduleSync):
935         (WebCore::LocalStorageThread::terminate):
936         * workers/WorkerThread.cpp:
937         (WebCore::WorkerThread::start):
938         (WebCore::WorkerThread::WorkerThread):
939         (WebCore::WorkerThread::start):
940
941 2009-05-11  Brady Eidson  <beidson@apple.com>
942
943         Reviewed by Darin Adler.
944
945         Remove unused header that declared one function which was never defined anywhere.
946
947         * WebCore.vcproj/WebCore.vcproj:
948         * platform/network/cf/ResourceResponseCFNet.cpp: Change to include ResourceResponse.h (which really means
949           platform/network/cf/ResourceResponse.h)
950         * platform/network/cf/ResourceResponseCFNet.h: Removed.
951
952 2009-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
953
954         Reviewed by Timothy Hatcher.
955
956         https://bugs.webkit.org/show_bug.cgi?id=25213
957         Fix assert during Inspector destruction.
958
959         * inspector/InspectorController.cpp:
960         (WebCore::InspectorController::inspectedPageDestroyed): Moved closing
961             inspector above removing InspectorController object to fix JS errors,
962             added clearing inspector page ptr.
963
964 2009-05-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
965
966         Reviewed by Holger Freyther.
967
968         [Qt] Make sure that public APIs are properly exported on all Qt platforms
969         https://bugs.webkit.org/show_bug.cgi?id=25601
970
971         * WebCore.pro: Define QT_MAKEDLL for all non-static builds, not just for win
972
973 2009-05-11  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
974
975         Reviewed by Holger Freyther.
976
977         https://bugs.webkit.org/show_bug.cgi?id=24284
978
979         * WebCore.pro: duplicated values removed from INCLUDEPATH
980
981 2009-05-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
982
983         Reviewed by Eric Seidel.
984
985         Build fix Symbian; clean Up WebKit/Qt if ENABLE_NETSCAPE_PLUGIN_API=0
986         https://bugs.webkit.org/show_bug.cgi?id=24688
987
988         * WebCore.pro: Use platform independent plugin stubs if ENABLE_NETSCAPE_PLUGIN_API=0
989         * platform/qt/TemporaryLinkStubs.cpp: Remove stub functions for plugins
990
991 2009-05-10  Dan Bernstein  <mitz@apple.com>
992
993         Reviewed by Darin Adler.
994
995         - fix a crash when deactivating a document that had adopted a <form>
996           element
997
998         Test: fast/dom/HTMLFormElement/document-deactivation-callback-crash.html
999
1000         * html/HTMLFormElement.cpp:
1001         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Corrected the
1002         logic here: <form> elements should be registered for document activation
1003         callbacks if and only if autocomplete is off.
1004
1005 2009-05-10  Alexey Proskuryakov  <ap@webkit.org>
1006
1007         Reviewed by Dan Bernstein.
1008
1009         <rdar://problem/6867598> REGRESSION (r42483): Have to enter credentials twice when trying
1010         to view protected MobileMe video
1011
1012         Add a temporary workaround.
1013
1014         * platform/network/ResourceHandleInternal.h:
1015         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
1016         Added an m_useSiteSpecificQuirks boolean (Mac-only). A Frame pointer is only available when
1017         starting a request, so we need to store this data for later use.
1018
1019         * platform/network/mac/ResourceHandleMac.mm:
1020         (WebCore::ResourceHandle::start): Initialize m_useSiteSpecificQuirks.
1021         (WebCore::ResourceHandle::receivedCredential): Use per-session credentials with gallery.me.com.
1022
1023 2009-05-10  Alexey Proskuryakov  <ap@webkit.org>
1024
1025         Reviewed by Dan Bernstein.
1026
1027         <rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page
1028
1029         * platform/network/cf/AuthenticationCF.cpp:
1030         * platform/network/cf/AuthenticationCF.h:
1031         (WebCore::WebCoreCredentialStorage::set):
1032         (WebCore::WebCoreCredentialStorage::get):
1033         * platform/network/cf/ResourceHandleCFNet.cpp:
1034         Move WebCore credential storage to AuthenticationCF, so that WebKit could use it (macthing
1035         an earlier Mac change).
1036
1037 2009-05-10  Alexey Proskuryakov  <ap@webkit.org>
1038
1039         Reviewed by Dan Bernstein.
1040
1041         Match newer XMLHttpRequest draft and make withCredential setter raise an exception when
1042         called at a wrong time.
1043
1044         No test, because we are waiting for a newer version of system frameworks to test the attribute.
1045
1046         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::setWithCredentials):
1047         * xml/XMLHttpRequest.h:
1048         * xml/XMLHttpRequest.idl:
1049         Raise INVALID_STATE_ERR if the state is not OPENED, or if the send() flag is true.
1050
1051 2009-05-10  Dan Bernstein  <mitz@apple.com>
1052
1053         Reviewed by Dave Kilzer.
1054
1055         - fix https://bugs.webkit.org/show_bug.cgi?id=25602
1056           REGRESSION: fast/overflow/overflow-focus-ring.html seems double-drawn
1057           on ToT
1058
1059         Test: fast/layers/self-painting-outline.html
1060
1061         * rendering/RenderLayer.cpp:
1062         (WebCore::RenderLayer::paintLayer): Paint the layer's own outline only
1063         if it is a self-painting layer.
1064
1065 2009-05-09  Dan Bernstein  <mitz@apple.com>
1066
1067         Reviewed by Geoffrey Garen and Mark Rowe.
1068
1069         - fix https://bugs.webkit.org/show_bug.cgi?id=25666
1070           Assertion failure in Node::setDocument()
1071           (willMoveToNewOwnerDocumentWasCalled) when adopting a <form> element
1072
1073         Test: fast/dom/HTMLFormElement/adopt-assertion.html
1074
1075         * html/HTMLFormElement.cpp:
1076         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Overrides of
1077         this method are required to call the base class implementation. Do it.
1078         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
1079
1080 2009-03-29  Kevin Ollivier  <kevino@theolliviers.com>
1081
1082         Reviewed by Maciej Stachowiak.
1083
1084         WebCore::DocumentLoader::mainReceivedError now asserts if error.isNull(), so
1085         make sure CURL does not create empty ResourceError() objects.
1086         
1087         https://bugs.webkit.org/show_bug.cgi?id=24927
1088
1089         * platform/network/curl/ResourceHandleManager.cpp:
1090         (WebCore::ResourceHandleManager::downloadTimerCallback):
1091
1092 2009-05-09  Gustavo Noronha Silva  <gns@gnome.org>
1093
1094         Build fix, adding missing files to make dist.
1095
1096         * GNUmakefile.am:
1097
1098 2009-05-08  Simon Fraser  <simon.fraser@apple.com>
1099
1100         Reviewed by Dan Bernstein
1101         
1102         https://bugs.webkit.org/show_bug.cgi?id=25656
1103         
1104         Reduce the inline capacity of CSSParserValueList's m_values
1105         vector to reduce the size of CSSParserValueList from 544 to 160 bytes in 64-bit.
1106
1107         * css/CSSParserValues.h:
1108
1109 2009-05-08  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1110
1111         Not reviewed. Used sort-Xcode-project-file to sort the XCode project file - it hasn't been done for a while.
1112
1113         * WebCore.xcodeproj/project.pbxproj:
1114
1115 2009-05-08  Dan Bernstein  <mitz@apple.com>
1116
1117         Reviewed by Darin Adler.
1118
1119         - fix <rdar://problem/6864786> REGRESSION: Crash below
1120           ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in
1121           Bugzilla
1122
1123         Test: editing/style/apply-through-end-of-document.html
1124
1125         * editing/ApplyStyleCommand.cpp:
1126         (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null
1127         check for the case of a range extending through the end of the document,
1128         in which pastEndNode is 0.
1129
1130 2009-05-08  Douglas R. Davidson  <ddavidso@apple.com>
1131
1132         Reviewed by Beth Dakin.
1133
1134         <rdar://problem/6857446> REGRESSION (Safari 3-4): Contraction base 
1135         marked as misspelled even though contraction is a word
1136         Make sure spelling underline does not persist on words like 
1137         <doesn't>.  
1138
1139         * editing/TypingCommand.cpp:
1140         (WebCore::TypingCommand::typingAddedToOpenCommand):
1141
1142 2009-05-08  Kevin Watters  <kevinwatters@gmail.com>
1143
1144         Reviewed by Kevin Ollivier.
1145
1146         Make sure the path's refdata isn't deleted before we're done with the object.
1147         
1148         https://bugs.webkit.org/show_bug.cgi?id=25652
1149
1150         * platform/graphics/wx/PathWx.cpp:
1151         (WebCore::Path::~Path):
1152         (WebCore::Path::Path):
1153         (WebCore::Path::translate):
1154
1155 2009-05-08  Kevin Watters  <kevinwatters@gmail.com>
1156
1157         Reviewed by Darin Adler.
1158
1159         Fix for memory leak on Mac.
1160         
1161         https://bugs.webkit.org/show_bug.cgi?id=25650
1162
1163         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
1164         (wxFontProperties::wxFontProperties):
1165
1166 2009-05-08  Beth Dakin  <bdakin@apple.com>
1167
1168         Reviewed by Dan Bernstein.
1169
1170         <rdar://problem/6857446> REGRESSION (r37591): Cannot print or 
1171         preview from maps.yandex.ru
1172
1173         We need to fall into the stretchesToViewHeight() quirk when we are 
1174         printing and we are the root and the root has percentage height OR 
1175         when we are the body and the root has percentage height. Otherwise 
1176         we have a height of 0 and can run into painting troubles.
1177
1178         * rendering/RenderBox.cpp:
1179         (WebCore::RenderBox::calcHeight):
1180
1181 2009-05-08  Douglas Davidson  <ddavidso@apple.com>
1182
1183         Reviewed by Darin Adler.
1184
1185         Fixes for <rdar://problem/6852771>.
1186         Prevent text checking replacement immediately after an apostrophe
1187         and automatic link addition except immediately after typing.
1188
1189         * editing/Editor.cpp:
1190         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
1191
1192 2009-05-08  Eric Carlson  <eric.carlson@apple.com>
1193
1194         Reviewed by Darin Adler.
1195         
1196         https://bugs.webkit.org/show_bug.cgi?id=25627
1197         Bug 25627: HTMLMediaElement: some errors should fire on <source> elements
1198
1199         Update for HTML5 spec change to fire 'error' events on <source> element
1200         when there is a failure while processing/loading a <source>.
1201
1202         Test: media/video-source-error.html
1203
1204         * html/HTMLMediaElement.cpp:
1205         (WebCore::HTMLMediaElement::enqueueEvent): Remove white-space.
1206         (WebCore::HTMLMediaElement::loadInternal): Call cancelPendingEventsAndCallbacks instead
1207         of just calling m_pendingEvents.clear() as we now also need to cancel pending errors on
1208         all <source> element. 
1209         (WebCore::HTMLMediaElement::selectMediaResource): Call isSafeToLoadURL() here instead of in
1210         loadResource() as we need to report errors differently depending on the type of failure. Use
1211         KURL instead of String.
1212         (WebCore::HTMLMediaElement::loadNextSourceChild): nextSourceChild -> selectNextSourceChild.
1213         Fail silently when there are no more <source> canditates because that is what spec mandates.
1214         Keep url as KURL instead of converting to String.
1215         (WebCore::HTMLMediaElement::loadResource): ASSERT that the URL is safe to load as we now 
1216         assume the safety check now done before this function. Takes KURL instead of String.
1217         (WebCore::HTMLMediaElement::isSafeToLoadURL): New, checks to see if a url is safe to load, logs
1218         failure if not.
1219         (WebCore::HTMLMediaElement::noneSupported): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
1220         (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): New, clear all events pending on
1221         the media and all source elements.
1222         (WebCore::HTMLMediaElement::setNetworkState): Fire an error on the source element when the 
1223         the failure happened while processing one. Only call nonSupported() when the failure happened
1224         while processing media element 'src' attribute.
1225         (WebCore::HTMLMediaElement::havePotentialSourceChild): nextSourceChild -> selectNextSourceChild.
1226         Deal with selectNextSourceChild returning a KURL instead of a String.
1227         (WebCore::HTMLMediaElement::selectNextSourceChild): Renamed from nextSourceChild, add optional
1228         param to control whether or not errors are fired on a source element when it will not be used.
1229         Check safety of url here instead of waiting until loadResource(). Return a KURL instead of a
1230         String.
1231         (WebCore::HTMLMediaElement::initialURL): nextSourceChild -> selectNextSourceChild. Keep url as
1232         a KURL instead of a String.
1233         * html/HTMLMediaElement.h:
1234         (WebCore::HTMLMediaElement::):
1235
1236         * html/HTMLSourceElement.cpp:
1237         (WebCore::HTMLSourceElement::HTMLSourceElement): Initialize timer related variables.
1238         (WebCore::HTMLSourceElement::scheduleErrorEvent): New, start one-shot timer to fire an error
1239         event ASAP.
1240         (WebCore::HTMLSourceElement::cancelPendingErrorEvent): New, cancel pending error event.
1241         (WebCore::HTMLSourceElement::errorEventTimerFired): New, fire error event if it has not been
1242         cancelled.
1243         * html/HTMLSourceElement.h:
1244
1245         * html/MediaError.h: 
1246         (WebCore::MediaError::): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
1247         * html/MediaError.idl: Ditto
1248
1249 2009-05-08  Dan Bernstein  <mitz@apple.com>
1250
1251         Reviewed by Maciej Stachowiak.
1252
1253         - fix <rdar://problem/6859955> Undoing typed text after selecting all
1254           leaves non-text areas highlighted
1255
1256         Test: fast/repaint/selection-clear.html
1257
1258         When RenderView::clearSelection() is called from
1259         SelectionController::nodeWillBeRemoved(), selected renderers may already
1260         be marked for layout, which means that they can no longer compute
1261         their selection repaint info. Instead, an empty IntRect (or GapRects) is
1262         returned, leading to incomplete repaint.
1263
1264         The fix is not to rely on individual renderers when clearing the
1265         selection, but instead, cache the bounding rectangle of the selected
1266         blocks' GapRects when setting the selection, and invalidate that
1267         entire rectangle when clearing it.
1268
1269         * rendering/RenderView.cpp:
1270         (WebCore::RenderView::setSelection): Added a parameter saying whether
1271         the repainting of selected blocks should include both
1272         previously-selected areas and newly-selected areas or only
1273         newly-selected areas. The default is both. Also compute
1274         m_cachedSelectionBounds to be the bounding rectangle of the
1275         new selection's BlockSelectionInfos' GapRects.
1276         (WebCore::RenderView::clearSelection): Repaint m_cachedSelectionBounds,
1277         and tell setSelection() that it should not paint areas that were in
1278         the old selection's BlockSelectionInfos' GapRects.
1279         * rendering/RenderView.h:
1280         (WebCore::RenderView::):
1281
1282 2009-05-08  Alexey Proskuryakov  <ap@webkit.org>
1283
1284         Reviewed by Maciej Stachowiak.
1285
1286         <rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials
1287
1288         * WebCore.base.exp:
1289         * platform/network/mac/AuthenticationMac.h:
1290         (WebCore::WebCoreCredentialStorage::set):
1291         (WebCore::WebCoreCredentialStorage::get):
1292         * platform/network/mac/AuthenticationMac.mm:
1293         * platform/network/mac/ResourceHandleMac.mm:
1294         Moved WebCoreCredentialStorage to AuthenticationMac, so that it could be used from WebKit.
1295
1296 2009-05-08  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
1297
1298         Reviewed by Simon Hausmann.
1299
1300         Fix the Qt build, add missing JSC_HOST_CALL macros to the runtime
1301         call methods.
1302
1303         * bridge/qt/qt_runtime.h:
1304
1305 2009-05-08  Jan Michael Alonzo  <jmalonzo@webkit.org>
1306
1307         Reviewed by Mark Rowe.
1308
1309         Add missing strings to localizedStrings.js
1310         https://bugs.webkit.org/show_bug.cgi?id=25635
1311
1312         Add the strings "Delete", "Key", "Refresh" and "Value".
1313
1314         * English.lproj/localizedStrings.js:
1315
1316 2009-05-08  Robert Hogan  <robert@roberthogan.net>
1317
1318         Reviewed, tweaked and landed by Alexey Proskuryakov.
1319
1320         https://bugs.webkit.org/show_bug.cgi?id=24992
1321         [Qt] crash at http://browserspy.dk/browser.php
1322
1323         This cannot be easily tested in DRT, because it relies on interaction with QApplication,
1324         but the added assertions guard against re-introducing this issue.
1325
1326         * loader/FrameLoader.cpp: (WebCore::FrameLoader::didOpenURL): Don't make client calls
1327         while the frame is being constructed, because the intermediate state without a document
1328         is something we don't want to expose.
1329
1330         * page/Frame.cpp:
1331         (WebCore::Frame::setJSStatusBarText): Assert that the frame has a document, which is an
1332         approximation of it being in a consistent state for client calls.
1333         (WebCore::Frame::setJSDefaultStatusBarText): Ditto.
1334
1335 2009-05-07  Mark Rowe  <mrowe@apple.com>
1336
1337         Rubber-stamped by Oliver Hunt.
1338
1339         Fix <https://bugs.webkit.org/show_bug.cgi?id=25640>.
1340         Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed
1341         
1342         Roll out r43366 as it removed symbols that Safari 4 Beta uses.
1343
1344         * dom/XMLTokenizerLibxml2.cpp:
1345         (WebCore::matchFunc):
1346         (WebCore::openFunc):
1347         (WebCore::createStringParser):
1348         (WebCore::createMemoryParser):
1349         * loader/icon/IconDatabase.cpp:
1350         (WebCore::IconDatabase::open):
1351         * platform/sql/SQLiteDatabase.cpp:
1352         (WebCore::SQLiteDatabase::SQLiteDatabase):
1353         (WebCore::SQLiteDatabase::close):
1354         * storage/DatabaseThread.cpp:
1355         (WebCore::DatabaseThread::DatabaseThread):
1356         (WebCore::DatabaseThread::start):
1357         (WebCore::DatabaseThread::databaseThread):
1358         * storage/LocalStorageThread.cpp:
1359         (WebCore::LocalStorageThread::LocalStorageThread):
1360         (WebCore::LocalStorageThread::start):
1361         (WebCore::LocalStorageThread::localStorageThread):
1362         (WebCore::LocalStorageThread::scheduleImport):
1363         (WebCore::LocalStorageThread::scheduleSync):
1364         (WebCore::LocalStorageThread::terminate):
1365         * workers/WorkerThread.cpp:
1366         (WebCore::WorkerThread::WorkerThread):
1367         (WebCore::WorkerThread::start):
1368
1369 2009-05-08  Xan Lopez  <xlopez@igalia.com>
1370
1371         Reviewed by Gustavo Noronha.
1372
1373         Unify scrolling code via adjustments and keys. Use the WebCore
1374         defined constants, since that's what people are most used to at
1375         this point.
1376
1377         * platform/gtk/ScrollViewGtk.cpp:
1378         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
1379         (WebCore::ScrollView::platformHandleVerticalAdjustment):
1380
1381 2009-05-07  David Levin  <levin@chromium.org>
1382
1383         Reviewed by NOBODY.
1384         Suggested by Oliver Hunt.
1385
1386         Rolling back http://trac.webkit.org/changeset/43385
1387         because we have to use mac artwork for the underline on OSX.
1388
1389         * platform/graphics/cg/GraphicsContextCG.cpp:
1390         * platform/graphics/mac/GraphicsContextMac.mm:
1391         (WebCore::createPatternColor):
1392         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1393         * platform/graphics/win/GraphicsContextCGWin.cpp:
1394         (WebCore::setCGStrokeColor):
1395         (WebCore::spellingPatternColor):
1396         (WebCore::grammarPatternColor):
1397         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1398
1399 2009-05-07  John Grabowski  <jrg@chromium.org>
1400
1401         Reviewed by Simon Fraser.
1402   
1403         https://bugs.webkit.org/show_bug.cgi?id=25573
1404         Unify use of CG-common routine for drawLineForMisspellingOrBadGrammar.
1405         Cleanup for WebKit, but required for Chromium happiness.
1406
1407         * platform/graphics/cg/GraphicsContextCG.cpp:
1408         (WebCore::spellingPatternColor):
1409         (WebCore::grammarPatternColor):
1410         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
1411         * platform/graphics/mac/GraphicsContextMac.mm:
1412         * platform/graphics/win/GraphicsContextCGWin.cpp:
1413
1414 2009-05-07  Darin Adler  <darin@apple.com>
1415
1416         Reviewed by Simon Fraser.
1417
1418         Bug 25575: Registered mutation event listener crashes HTMLMediaElement
1419         https://bugs.webkit.org/show_bug.cgi?id=25575
1420
1421         Test: fast/media/video-controls-with-mutation-event-handler.html
1422
1423         * rendering/MediaControlElements.cpp:
1424         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Don't call setAttribute.
1425         * rendering/RenderMedia.cpp:
1426         (WebCore::RenderMedia::createTimeline): Call setAttribute here.
1427
1428 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
1429
1430         Rubber Stamped by Dave Hyatt
1431         
1432         Shuffle the data members to minimize padding.
1433
1434         * rendering/RenderTableSection.cpp:
1435         (WebCore::RenderTableSection::RenderTableSection):
1436         * rendering/RenderTableSection.h:
1437
1438 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
1439
1440         Rubber Stamped by Dave Hyatt
1441         
1442         Shuffle the data members to make Events 8 bytes smaller in 64-bit.
1443
1444         * dom/Event.cpp:
1445         (WebCore::Event::Event):
1446         * dom/Event.h:
1447
1448 2009-05-07  Eric Seidel  <eric@webkit.org>
1449
1450         Reviewed by Beth Dakin.
1451
1452         Fix regression caused by r41469, add test case to prevent it from 
1453         happening again.
1454         https://bugs.webkit.org/show_bug.cgi?id=25252
1455   
1456         hasLayer() was true during removeOnlyThisLayer()/
1457         updateLayerPositions()
1458         which caused updateLayerPosition()'s walk up the render tree to 
1459         include offsets from the layer we were about to remove.
1460   
1461         I'm not 100% convinced that this wasn't a bug in 
1462         updateLayerPosition() or in RenderBoxModelObject::styleDidChange, 
1463         because the layer in question is not the containing block for the 
1464         block which gets laid out wrong. But this restores the previous 
1465         behavior and adds a test.  So the next time someone is in here re-
1466         factoring, they will at least know if they break something.
1467   
1468         Test: fast/layers/remove-only-this-layer-update.html
1469
1470         * rendering/RenderBoxModelObject.cpp:
1471         (WebCore::RenderBoxModelObject::destroyLayer):
1472         * rendering/RenderLayer.cpp:
1473         (WebCore::RenderLayer::removeOnlyThisLayer):
1474         * rendering/RenderObject.cpp:
1475         (WebCore::RenderObject::destroy):
1476         * rendering/RenderWidget.cpp:
1477         (WebCore::RenderWidget::destroy):
1478
1479 2009-05-07  Dmitry Titov  <dimich@chromium.org>
1480
1481         Attempt to fix GTK build.
1482
1483         * platform/graphics/GlyphPageTreeNode.h: add #include <string.h> to ensure memcpy and memset are defined.
1484
1485 2009-05-07  Oliver Hunt  <oliver@apple.com>
1486
1487         Reviewed by Gavin Barraclough.
1488
1489         Improve native call performance
1490
1491         Add calling convention declarations where necessary, and update bindings
1492         script to generate them as well.
1493
1494         * bindings/js/JSHTMLCollectionCustom.cpp:
1495         (WebCore::callHTMLCollection):
1496         * bindings/js/JSNodeListCustom.cpp:
1497         (WebCore::callNodeList):
1498         * bindings/js/JSPluginElementFunctions.cpp:
1499         (WebCore::callPlugin):
1500         * bindings/js/JSQuarantinedObjectWrapper.h:
1501         * bindings/scripts/CodeGeneratorJS.pm:
1502         * bridge/runtime_method.cpp:
1503         (JSC::callRuntimeMethod):
1504         * bridge/runtime_object.cpp:
1505         (JSC::callRuntimeObject):
1506
1507 2009-05-07  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1508
1509         Reviewed by Dave Hyatt.
1510
1511         Fixes: https://bugs.webkit.org/show_bug.cgi?id=25617
1512
1513         Fix memory/performance regression because of too much form control related abstraction just for WMLs sake.
1514
1515         Remove FormControlElement and FormControlElementWithState base classes, as the overhead is too high for the
1516         gain. HTML has no benefit of that kind of abstraction, so we're going to move the functionality to Element directly.
1517
1518         The functions now living in FormControlElement(WithState) lived in Node/Element/HTMLFormControlElement before.
1519         This patches moves all of them in a central place in Element.h, as virtual functions with an inline default implementation.
1520         To avoid confusion like isEnabled() living on Node, before the creation of the FormControlElement abstraction layer, all
1521         methods are renamed to clarify where they belong to. All renames are listed here:
1522
1523         From FormControlElement:
1524         - isEnabled() -> isEnabledFormControl()
1525         - isReadOnly() -> isReadOnlyFormControl()
1526         - isTextControl() -> isTextFormControl()
1527         - valueMatchesRenderer() -> formControlValueMatchesRenderer()
1528         - setValueMatchesRenderer() -> setFormControlValueMatchesRenderer()
1529         - name() -> formControlName()
1530         - type() -> formControlType()
1531
1532         From FormControlElementWithState:
1533         - saveState() -> saveFormControlState()
1534         - restoreState() -> restoreFormControlState()
1535
1536         A lot of Element -> FormControlElement(WithState) casting is gone again, so it's not only a memory, but also a performance progression.
1537
1538         No testcases affected, no new tests needed.
1539
1540         * GNUmakefile.am:
1541         * WebCore.pro:
1542         * WebCore.vcproj/WebCore.vcproj:
1543         * WebCore.xcodeproj/project.pbxproj:
1544         * WebCoreSources.bkl:
1545         * css/CSSStyleSelector.cpp:
1546         (WebCore::CSSStyleSelector::canShareStyleWithElement):
1547         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
1548         * dom/Document.cpp:
1549         (WebCore::Document::formElementsState):
1550         * dom/Document.h:
1551         (WebCore::Document::registerFormElementWithState):
1552         (WebCore::Document::unregisterFormElementWithState):
1553         * dom/Element.h:
1554         (WebCore::Element::isFormControlElement):
1555         (WebCore::Element::isEnabledFormControl):
1556         (WebCore::Element::isReadOnlyFormControl):
1557         (WebCore::Element::isTextFormControl):
1558         (WebCore::Element::formControlValueMatchesRenderer):
1559         (WebCore::Element::setFormControlValueMatchesRenderer):
1560         (WebCore::Element::formControlName):
1561         (WebCore::Element::formControlType):
1562         (WebCore::Element::saveFormControlState):
1563         (WebCore::Element::restoreFormControlState):
1564         * dom/FormControlElement.cpp: Removed.
1565         * dom/FormControlElement.h: Removed.
1566         * dom/FormControlElementWithState.cpp: Removed.
1567         * dom/FormControlElementWithState.h: Removed.
1568         * dom/InputElement.cpp:
1569         (WebCore::InputElement::setValueFromRenderer):
1570         * html/HTMLButtonElement.cpp:
1571         (WebCore::HTMLButtonElement::formControlType):
1572         * html/HTMLButtonElement.h:
1573         * html/HTMLFieldSetElement.cpp:
1574         (WebCore::HTMLFieldSetElement::formControlType):
1575         * html/HTMLFieldSetElement.h:
1576         * html/HTMLFormControlElement.cpp:
1577         (WebCore::HTMLFormControlElement::attach):
1578         (WebCore::HTMLFormControlElement::formControlName):
1579         (WebCore::HTMLFormControlElement::willValidate):
1580         (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
1581         (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
1582         (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument):
1583         (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument):
1584         (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
1585         * html/HTMLFormControlElement.h:
1586         (WebCore::HTMLFormControlElement::isTextFormControl):
1587         (WebCore::HTMLFormControlElement::isEnabledFormControl):
1588         (WebCore::HTMLFormControlElement::formControlValueMatchesRenderer):
1589         (WebCore::HTMLFormControlElement::setFormControlValueMatchesRenderer):
1590         (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
1591         (WebCore::HTMLFormControlElement::type):
1592         (WebCore::HTMLFormControlElement::name):
1593         * html/HTMLInputElement.cpp:
1594         (WebCore::HTMLInputElement::formControlName):
1595         (WebCore::HTMLInputElement::formControlType):
1596         (WebCore::HTMLInputElement::saveFormControlState):
1597         (WebCore::HTMLInputElement::restoreFormControlState):
1598         (WebCore::HTMLInputElement::parseMappedAttribute):
1599         (WebCore::HTMLInputElement::detach):
1600         (WebCore::HTMLInputElement::setValue):
1601         (WebCore::HTMLInputElement::setFileListFromRenderer):
1602         * html/HTMLInputElement.h:
1603         (WebCore::HTMLInputElement::readOnly):
1604         (WebCore::HTMLInputElement::isTextFormControl):
1605         * html/HTMLKeygenElement.cpp:
1606         (WebCore::HTMLKeygenElement::formControlType):
1607         * html/HTMLKeygenElement.h:
1608         * html/HTMLLegendElement.cpp:
1609         (WebCore::HTMLLegendElement::formControlType):
1610         * html/HTMLLegendElement.h:
1611         * html/HTMLOptGroupElement.cpp:
1612         (WebCore::HTMLOptGroupElement::formControlType):
1613         * html/HTMLOptGroupElement.h:
1614         * html/HTMLOptionElement.cpp:
1615         (WebCore::HTMLOptionElement::formControlType):
1616         * html/HTMLOptionElement.h:
1617         * html/HTMLSelectElement.cpp:
1618         (WebCore::HTMLSelectElement::formControlType):
1619         (WebCore::HTMLSelectElement::saveFormControlState):
1620         (WebCore::HTMLSelectElement::restoreFormControlState):
1621         * html/HTMLSelectElement.h:
1622         * html/HTMLTextAreaElement.cpp:
1623         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
1624         (WebCore::HTMLTextAreaElement::formControlType):
1625         (WebCore::HTMLTextAreaElement::saveFormControlState):
1626         (WebCore::HTMLTextAreaElement::restoreFormControlState):
1627         (WebCore::HTMLTextAreaElement::updateValue):
1628         (WebCore::HTMLTextAreaElement::setValue):
1629         * html/HTMLTextAreaElement.h:
1630         (WebCore::HTMLTextAreaElement::readOnly):
1631         (WebCore::HTMLTextAreaElement::isTextFormControl):
1632         * page/AccessibilityRenderObject.cpp:
1633         (WebCore::AccessibilityRenderObject::isEnabled):
1634         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
1635         * page/DragController.cpp:
1636         (WebCore::DragController::concludeEditDrag):
1637         * rendering/RenderMenuList.cpp:
1638         (WebCore::RenderMenuList::itemIsEnabled):
1639         * rendering/RenderTextControl.cpp:
1640         (WebCore::updateUserModifyProperty):
1641         (WebCore::RenderTextControl::setInnerTextValue):
1642         * rendering/RenderTextControl.h:
1643         * rendering/RenderTextControlMultiLine.cpp:
1644         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
1645         * rendering/RenderTextControlSingleLine.cpp:
1646         (WebCore::RenderTextControlSingleLine::updateFromElement):
1647         * rendering/RenderTheme.cpp:
1648         (WebCore::RenderTheme::isEnabled):
1649         (WebCore::RenderTheme::isReadOnlyControl):
1650         * rendering/RenderThemeChromiumMac.mm:
1651         (WebCore::RenderThemeChromiumMac::adjustMenuListStyle):
1652         * rendering/RenderThemeMac.mm:
1653         (WebCore::RenderThemeMac::adjustMenuListStyle):
1654         * rendering/RenderThemeSafari.cpp:
1655         (WebCore::RenderThemeSafari::adjustMenuListStyle):
1656         * wml/WMLFormControlElement.cpp:
1657         * wml/WMLFormControlElement.h:
1658         (WebCore::WMLFormControlElement::isReadOnlyFormControl):
1659         (WebCore::WMLFormControlElement::isTextFormControl):
1660         (WebCore::WMLFormControlElement::formControlValueMatchesRenderer):
1661         (WebCore::WMLFormControlElement::setFormControlValueMatchesRenderer):
1662         * wml/WMLInputElement.cpp:
1663         (WebCore::WMLInputElement::WMLInputElement):
1664         (WebCore::WMLInputElement::isKeyboardFocusable):
1665         (WebCore::WMLInputElement::isMouseFocusable):
1666         (WebCore::WMLInputElement::dispatchBlurEvent):
1667         (WebCore::WMLInputElement::formControlType):
1668         (WebCore::WMLInputElement::formControlName):
1669         (WebCore::WMLInputElement::setValue):
1670         (WebCore::WMLInputElement::saveFormControlState):
1671         (WebCore::WMLInputElement::restoreFormControlState):
1672         (WebCore::WMLInputElement::parseMappedAttribute):
1673         (WebCore::WMLInputElement::detach):
1674         (WebCore::WMLInputElement::appendFormData):
1675         (WebCore::WMLInputElement::init):
1676         * wml/WMLInputElement.h:
1677         (WebCore::WMLInputElement::isTextFormControl):
1678         * wml/WMLOptGroupElement.cpp:
1679         (WebCore::WMLOptGroupElement::formControlType):
1680         * wml/WMLOptGroupElement.h:
1681         * wml/WMLOptionElement.cpp:
1682         (WebCore::WMLOptionElement::formControlType):
1683         * wml/WMLOptionElement.h:
1684
1685 2009-05-07  Dmitry Titov  <dimich@chromium.org>
1686
1687         Reviewed by Alexey Proskuryakov and Adam Roben.
1688
1689         https://bugs.webkit.org/show_bug.cgi?id=25348
1690         Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
1691
1692         Most of the change is in WTF.
1693         Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
1694         method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
1695         is now a class rather then an integer.
1696         Also, there is no need to initialize threadID in constructors to 0 now.
1697
1698         * dom/XMLTokenizerLibxml2.cpp:
1699         (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
1700         since now ThreadIdentifier needs construction and we avoid having global initializers.
1701         (WebCore::matchFunc): use the new accessor function.
1702         (WebCore::openFunc): ditto.
1703         (WebCore::createStringParser): ditto.
1704         (WebCore::createMemoryParser): ditto.
1705         * loader/icon/IconDatabase.cpp:
1706         (WebCore::IconDatabase::open):
1707         * platform/sql/SQLiteDatabase.cpp:
1708         (WebCore::SQLiteDatabase::SQLiteDatabase):
1709         (WebCore::SQLiteDatabase::close):
1710         * storage/DatabaseThread.cpp:
1711         (WebCore::DatabaseThread::start):
1712         (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
1713         * storage/LocalStorageThread.cpp:
1714         (WebCore::LocalStorageThread::start):
1715         (WebCore::LocalStorageThread::scheduleImport):
1716         (WebCore::LocalStorageThread::scheduleSync):
1717         (WebCore::LocalStorageThread::terminate):
1718         * workers/WorkerThread.cpp:
1719         (WebCore::WorkerThread::start):
1720         (WebCore::WorkerThread::WorkerThread):
1721         (WebCore::WorkerThread::start):
1722
1723 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
1724
1725         Rubber Stamped by Dave Hyatt
1726         
1727         Shuffle the data members to minimize padding.
1728
1729         * dom/ClassNames.h:
1730
1731 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
1732
1733         Reviewed by Darin Adler
1734
1735         <rdar://problem/6864062> Shrink GlyphPage from 4112 to 2576 bytes in 64-bit
1736         https://bugs.webkit.org/show_bug.cgi?id=25605
1737
1738         Shrink GlyphPage by splitting the array of GlyphData, which has lots
1739         of padding, into separate Glyph and SimpleFontData* arrays.
1740
1741         * platform/graphics/Font.h:
1742         glyphDataForCharacter has to return a GlyphData by value now.
1743         
1744         * platform/graphics/FontFastPath.cpp:
1745         (WebCore::Font::glyphDataForCharacter):
1746         Return GlyphData by value.
1747         
1748         * platform/graphics/GlyphPageTreeNode.cpp:
1749         (WebCore::GlyphPageTreeNode::initializePage):
1750         Better encapsulation of GlyphPage, using the new methods.
1751
1752         * platform/graphics/Font.h:
1753         * platform/graphics/FontFastPath.cpp:
1754         (WebCore::Font::glyphDataForCharacter):
1755         * platform/graphics/GlyphPageTreeNode.cpp:
1756         (WebCore::GlyphPageTreeNode::initializePage):
1757         * platform/graphics/GlyphPageTreeNode.h:
1758         (WebCore::GlyphData::GlyphData):
1759         (WebCore::GlyphPage::indexForCharacter):
1760         (WebCore::GlyphPage::glyphDataForCharacter):
1761         (WebCore::GlyphPage::glyphDataForIndex):
1762         (WebCore::GlyphPage::glyphAt):
1763         (WebCore::GlyphPage::fontDataForCharacter):
1764         (WebCore::GlyphPage::setGlyphDataForCharacter):
1765         (WebCore::GlyphPage::setGlyphDataForIndex):
1766         (WebCore::GlyphPage::copyFrom):
1767         (WebCore::GlyphPage::clear):
1768
1769 2009-05-07  Dimitri Glazkov  <dglazkov@chromium.org>
1770
1771         Reviewed by Darin Fisher.
1772
1773         https://bugs.webkit.org/show_bug.cgi?id=25625
1774         Implement Image/Option constructors in V8 bindings.
1775
1776         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1777         (WebCore::NAMED_PROPERTY_GETTER): Removed old JS-based code.
1778         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Added.
1779         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Added.
1780
1781 2009-05-07  Brady Eidson  <beidson@apple.com>
1782
1783         I hate myself for doing this, but need to fix that ChangeLog entry.
1784
1785         * ChangeLog:
1786
1787 2009-05-07  Brady Eidson  <beidson@apple.com>
1788
1789         Rubberstamped by Darin Adler
1790
1791         * html/HTMLParser.cpp: Use the correct style of BUILDING_ON_* for WebCore.
1792         * html/HTMLParser.h: Ditto
1793
1794 2009-05-07  David Hyatt  <hyatt@apple.com>
1795
1796         Restore intrinsic margins to all form controls on Mac and Windows.  Some of this regressed in 43007
1797         when textareas were given explicit margins.  Some of it had already regressed earlier whenever intrinsic
1798         margins were turned off in themeWin.css.
1799
1800         Reviewed by Beth Dakin.
1801
1802         * css/html4.css:
1803         * css/themeWin.css:
1804
1805 2009-05-07  Brady Eidson  <beidson@apple.com>
1806
1807         Reviewed by Darin Adler and Alexey Proskuryakov.
1808
1809         <rdar://problem/6863795> Exception occurs in Mail when attempting to create signatures due to <head> element creation
1810
1811         * dom/Document.cpp:
1812         (WebCore::Document::implicitClose): Check shouldCreateImplicitHead() before creating it.
1813
1814         * html/HTMLParser.cpp:
1815         (WebCore::HTMLParser::handleError): Check shouldCreateImplicitHead() before creating it.
1816         (WebCore::HTMLParser::bodyCreateErrorCheck): Ditto.
1817         (WebCore::shouldCreateImplicitHead): For Tiger/Leopard when running under Mail, the implicit <head> shouldn't be created.
1818         * html/HTMLParser.h:
1819         (WebCore::shouldCreateImplicitHead): Inline implementation for non-Tiger/Leopard platforms
1820
1821 2009-05-07  Antony Sargent  <asargent@chromium.org>
1822
1823         Reviewed by Darin Fisher.
1824
1825         Fix a memory leak in V8EventListenerList::remove.
1826
1827         https://bugs.webkit.org/show_bug.cgi?id=25618
1828
1829         No new functionality so no new tests. 
1830
1831         * bindings/v8/V8EventListenerList.cpp:
1832         (WebCore::V8EventListenerList::remove):
1833
1834 2009-05-07  Darin Fisher  <darin@chromium.org>
1835
1836         Fix Chromium build bustage.
1837
1838         * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Add missing
1839         HTMLCollection.h include.
1840
1841 2009-05-07  Chris Fleizach  <cfleizach@apple.com>
1842
1843         Reviewed by Beth Dakin.
1844
1845         Bug 25598: AX: if a radio button has a label and a title, the label is not exposed
1846         https://bugs.webkit.org/show_bug.cgi?id=25598
1847
1848         Test: accessibility/radio-button-title-label.html
1849
1850         * page/AccessibilityObject.h:
1851         (WebCore::AccessibilityObject::exposesTitleUIElement):
1852         * page/AccessibilityRenderObject.cpp:
1853         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
1854         (WebCore::AccessibilityRenderObject::titleUIElement):
1855         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1856         * page/AccessibilityRenderObject.h:
1857
1858 2009-05-07  Darin Fisher  <darin@chromium.org>
1859
1860         Fix Chromium build bustage.
1861
1862         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1863         (WebCore::INDEXED_PROPERTY_GETTER): ":" should be "::"
1864
1865 2009-05-07  Xan Lopez  <xlopez@igalia.com>
1866
1867         Reviewed by Gustavo Noronha.
1868
1869         https://bugs.webkit.org/show_bug.cgi?id=25610
1870         [GTK] text.caretOffset is reportedly always 0
1871
1872         Use the right function to get the caret offset in an
1873         element. selectionStart() would only work for text
1874         controls (there's even an ASSERT when calculating the selected
1875         text range). Instead just get the selection and get the offset of
1876         the start position.
1877
1878         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
1879
1880 2009-05-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1881
1882         Reviewed by Simon Hausmann.
1883
1884         [Qt] Fix support for antialiased CSS border-radius
1885         
1886         WebKit implements border-radius by drawing a double-size border,
1887         and then letting the clip constrain the border to the right width
1888         and position. This requires support for antialiased clipping, as
1889         well as painting, to get a nice smooth border.
1890         
1891         Qt only does antialiased clipping if the anti-alias flag is set
1892         at the time of clipping, so we have to enable this in the method
1893         addInnerRoundedRectClip(), as well as when we draw the border.
1894         
1895         Currently the raster-engine is the only Qt paint engine to support
1896         anti-aliased clipping, but the OpenGL and Mac paint engines could
1897         potentially support this in the future.
1898
1899         * platform/graphics/qt/GraphicsContextQt.cpp:
1900         (WebCore::GraphicsContext::strokeArc):
1901         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1902
1903 2009-05-07  Adam Langley  <agl@google.com>
1904
1905         Reviewed by Eric Seidel.
1906
1907         Render empty optgroup elements.
1908
1909         https://bugs.webkit.org/show_bug.cgi?id=24900
1910
1911         Currently, optgroup elements which are empty are not rendered. The
1912         HTML specification gives no guidance on this situation.
1913
1914         However, the test for being empty is that they have no children, thus
1915         this will not render:
1916           <optgroup label="test"></optgroup>
1917         while this /will/ render (because of the text node child):
1918           <optgroup label="test"> </optgroup>
1919
1920         This patch will cause both cases to render which matches IE's and
1921         Firefox's behaviour.
1922
1923         The difference only appears when opening the select element and does
1924         not appear in the render tree. Thus, a manual layout-test is required.
1925
1926         * html/HTMLSelectElement.cpp:
1927         (WebCore::HTMLSelectElement::recalcListItems):
1928         * manual-tests/optgroup-empty-and-nested.html: Added.
1929
1930 2009-05-06  Julie Parent  <jparent@google.com>
1931
1932         Reviewed by Eric Seidel.
1933
1934         Bug 25608: Unused m_frame in ChromiumClipboard.
1935         https://bugs.webkit.org/show_bug.cgi?id=25608
1936
1937         * platform/chromium/ClipboardChromium.h:
1938         
1939         No tests added as this is only removing dead code, no functional changes.
1940
1941 2009-05-06  Dan Bernstein  <mitz@apple.com>
1942
1943         Reviewed by Simon Fraser and Justin Garcia.
1944
1945         - fix another part of <rdar://problem/6703873> Triple-click quoted line
1946           and type Return creates an extra quoted blank line
1947
1948         Test: editing/inserting/6703873-2.html
1949
1950         * editing/BreakBlockquoteCommand.cpp:
1951         (WebCore::BreakBlockquoteCommand::doApply): Corrected the logic for
1952         determining the first node that should go into the new blockquote
1953         given the split position: if it is at the end of a container, use the
1954         next node after the container. Otherwise, use the child at the
1955         position's offset.
1956
1957 2009-05-06  Kevin Ollivier  <kevino@theolliviers.com>
1958
1959         wx build fix, fixes for wx trunk builds.
1960
1961         * platform/graphics/wx/ImageWx.cpp:
1962         (WebCore::BitmapImage::draw):
1963         * platform/wx/RenderThemeWx.cpp:
1964         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
1965         (wxFontProperties::wxFontProperties):
1966
1967 2009-05-06  Albert J. Wong  <ajwong@chromium.org>
1968
1969         Reviewed by Darin Fisher.
1970
1971         https://bugs.webkit.org/show_bug.cgi?id=25597
1972         Fix API drift compile errors that occurred while this was ifdef-ed out.
1973         The two big issues were that RenderObject::element() became
1974         RenderObject::node() and some of the wk* drawing functions had
1975         an extra theme parameter added to the argument list.
1976
1977         * rendering/RenderThemeChromiumMac.mm:
1978         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
1979         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
1980         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
1981         (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
1982         (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
1983         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
1984         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
1985
1986 2009-05-06  Jian Li  <jianli@chromium.org>
1987
1988         Reviewed by Dimitri Glazkov.
1989
1990         https://bugs.webkit.org/show_bug.cgi?id=25385
1991         Upstream changes to V8 bindings for supporting nested workers.
1992
1993         * bindings/v8/WorkerContextExecutionProxy.cpp:
1994         (WebCore::WorkerContextExecutionProxy::ToV8Object):
1995         (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
1996         * bindings/v8/custom/V8WorkerCustom.cpp:
1997         (WebCore::getEventListener):
1998         (WebCore::ACCESSOR_SETTER WorkerOnmessage):
1999         (WebCore::CALLBACK_FUNC_DECL WorkerAddEventListener):
2000
2001 2009-05-06  Dave Moore  <davemoore@google.com>
2002
2003         Reviewed by Dimitri Glazkov.
2004
2005         https://bugs.webkit.org/show_bug.cgi?id=25513
2006         The V8 bindings convert every javascript property to its associated css style
2007         name. It then calls functions that convert that name to an id. This makes
2008         getting or setting css styles on elements slow.
2009         
2010         The patch fixes this by caching the results of the transformation, mapping a
2011         javascript property name to its css property id. It then calls the already
2012         public webkit methods that take the id in place of the string property names.
2013
2014         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
2015
2016 2009-05-06  Nate Chapin  <japhet@google.com>
2017
2018         Reviewed by Dimitri Glazkov.
2019
2020         https://bugs.webkit.org/show_bug.cgi?id=25591
2021         Upstream V8HTMLFormElement from the Chromium repository.
2022
2023         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
2024         (WebCore::INDEXED_PROPERTY_GETTER HTMLFormElement): Upstreamed from Chromium repository
2025         (WebCore::NAMED_PROPERTY_GETTER HTMLFormElement): Changed empty element return case to return notHandledByInterceptor();
2026         (WebCore::CALLBACK_FUNC_DECL HTMLFormElementSubmit): Upstreamed from Chromium repository
2027
2028 2009-05-06  Albert J. Wong  <ajwong@chromium.org>
2029
2030         Reviewed by Dimitri Glazkov.
2031
2032         https://bugs.webkit.org/show_bug.cgi?id=25595
2033         Upstream V8CanvasPixelArrayCustom from chromium port tree.
2034
2035         * bindings/v8/V8CanvasPixelArrayCustom.cpp: Added.
2036
2037 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
2038
2039         Rubber-stampted by Eric Seidel
2040
2041         Add braces to clarify logic flow in RenderObject::adjustStyleDifference.
2042         Only affects ACCELERATED_COMPOSITING builds.
2043
2044         * rendering/RenderObject.cpp:
2045         (WebCore::RenderObject::adjustStyleDifference):
2046
2047 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
2048
2049         Reviewed by Dan Bernstein
2050
2051         <rdar://problem/6862550> Reduce size of RenderText in 64-bit
2052         
2053         Rearrange data members of RenderText so that an int comes
2054         first, to minimize padding.
2055
2056         * rendering/RenderText.cpp:
2057         (WebCore::RenderText::RenderText):
2058         * rendering/RenderText.h:
2059
2060 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
2061
2062         Reviewed by Dan Bernstein
2063
2064         <rdar://problem/6862823> Reduce size of RenderStyle in 64-bit
2065         
2066         Rearrange data members of RenderStyle to minimize padding
2067         when building for 64-bit.
2068
2069         * rendering/style/RenderStyle.cpp:
2070         (WebCore::RenderStyle::RenderStyle):
2071         * rendering/style/RenderStyle.h:
2072         (WebCore::):
2073
2074 2009-05-06  Darin Fisher  <darin@chromium.org>
2075
2076         Reviewed by Dimitri Glazkov.
2077
2078         https://bugs.webkit.org/show_bug.cgi?id=25596
2079
2080         Fixes Chromium build bustage caused by r43317 (making
2081         RefCountedBase::m_refCount private)
2082
2083         * page/chromium/AccessibilityObjectWrapper.h:
2084         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
2085
2086 2009-05-06  Hin-Chung Lam  <hclam@chromium.org>
2087
2088         Reviewed by Darin Fisher.
2089
2090         https://bugs.webkit.org/show_bug.cgi?id=25593
2091
2092         Refactor for MediaPlayerPrivate for Chromium port. Remove
2093         the implementation of MediaPlayerPrivateInferface from it.
2094
2095         * platform\graphics\chromium\MediaPlayerPrivateChromium.h:
2096
2097 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
2098
2099         Reviewed by Dave Hyatt, Dan Bernstein
2100         
2101         <rdar://problem/6860197> Reduce the size of FontFallbackList in 64-bit
2102
2103         Re-order the data members of FontFallbackList to save 8 bytes when building 64-bit.
2104
2105         * platform/graphics/FontFallbackList.cpp:
2106         (WebCore::FontFallbackList::FontFallbackList):
2107         * platform/graphics/FontFallbackList.h:
2108
2109 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
2110
2111         Reviewed by Darin Adler, Dan Bernstein
2112
2113         <rdar://problem/6860068> Reduce size of InlineBox in 64-bit
2114
2115         Re-order the data members of InlineBox to save 8 bytes when building 64-bit.
2116
2117         * rendering/InlineBox.h:
2118         (WebCore::InlineBox::InlineBox):
2119
2120 2009-05-06  David Levin  <levin@chromium.org>
2121
2122         Reviewed by Dimitri Glazkov.
2123
2124         https://bugs.webkit.org/show_bug.cgi?id=25588
2125         Adding the custom v8 bindings Document.location.
2126
2127         * bindings/v8/custom/V8DocumentLocationCustom.cpp: Added.
2128
2129 2009-05-06  Kevin McCullough  <kmccullough@apple.com>
2130
2131         -Clarified a comment
2132
2133         * editing/InsertParagraphSeparatorCommand.cpp:
2134         (WebCore::InsertParagraphSeparatorCommand::doApply):
2135
2136 2009-05-06  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
2137
2138         Not reviewed. Fix WML enabled builds by including "MappedAttribute.h" in several places.
2139
2140         * wml/WMLAElement.cpp:
2141         * wml/WMLAccessElement.cpp:
2142         * wml/WMLBRElement.cpp:
2143         * wml/WMLCardElement.cpp:
2144         * wml/WMLDoElement.cpp:
2145         * wml/WMLElement.cpp:
2146         * wml/WMLFieldSetElement.cpp:
2147         * wml/WMLGoElement.cpp:
2148         * wml/WMLImageElement.cpp:
2149         * wml/WMLInputElement.cpp:
2150         * wml/WMLMetaElement.cpp:
2151         * wml/WMLOnEventElement.cpp:
2152         * wml/WMLOptGroupElement.cpp:
2153         * wml/WMLOptionElement.cpp:
2154         * wml/WMLPElement.cpp:
2155         * wml/WMLPostfieldElement.cpp:
2156         * wml/WMLSetvarElement.cpp:
2157         * wml/WMLTableElement.cpp:
2158         * wml/WMLTemplateElement.cpp:
2159         * wml/WMLTimerElement.cpp:
2160
2161 2009-05-06  Xan Lopez  <xlopez@igalia.com>
2162
2163         Reviewed by Gustavo Noronha.
2164
2165         https://bugs.webkit.org/show_bug.cgi?id=25526
2166         [Gtk] Additional support is needed for caret browsing
2167
2168         Emit AtkText::text-selection-changed when the selection changes
2169         and the current selection is of Range (ie, the start and end
2170         positions are different) type. This seems to match what Gecko
2171         does.
2172
2173         * editing/gtk/SelectionControllerGtk.cpp:
2174         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2175
2176 2009-05-05  Xan Lopez  <xlopez@igalia.com>
2177
2178         Reviewed by Gustavo Noronha.
2179
2180         https://bugs.webkit.org/show_bug.cgi?id=25526
2181         [Gtk] Additional support is needed for caret browsing
2182
2183         Emit AtkText::text-caret-moved when selection changes.
2184
2185         * GNUmakefile.am:
2186         * editing/SelectionController.h:
2187         * editing/gtk/SelectionController.cpp: Added.
2188         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
2189
2190 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
2191
2192         Reviewed by Gustavo Noronha.
2193
2194         Use mozilla cursors for the previously not implemented
2195         cursors. The manual-tests/cursor.html is looking complete
2196         now.
2197
2198         * platform/gtk/CursorGtk.cpp:
2199         (WebCore::cellCursor):
2200         (WebCore::noDropCursor):
2201         (WebCore::progressCursor):
2202         (WebCore::noneCursor):
2203         (WebCore::notAllowedCursor):
2204         (WebCore::grabCursor):
2205         (WebCore::grabbingCursor):
2206         * platform/gtk/CursorGtk.h:
2207
2208 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
2209
2210         Reviewed by Xan Lopez.
2211
2212         Properly indent the header file.
2213
2214         * platform/gtk/CursorGtk.h:
2215
2216 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
2217
2218         Reviewed by Gustavo Noronha.
2219
2220         Use the mozilla copyright header. Use MPL1.1/GPL2.0
2221         and LGPL2.1 as the license compared to LGPL2.0.
2222
2223         * platform/gtk/CursorGtk.h:
2224
2225 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
2226
2227         Reviewed by Gustavo Noronha.
2228
2229         Move PluginView::invalidateRegion from the
2230         TemporaryLinkStubs to PluginViewGtk.cpp and implement
2231         it with a call to Widget::invalidate() just like
2232         mac is doing. Optimisations would have to be window
2233         system specific.
2234
2235         * platform/gtk/TemporaryLinkStubs.cpp:
2236         * plugins/gtk/PluginViewGtk.cpp:
2237         (WebCore::PluginView::invalidateRegion):
2238
2239 2009-05-06  Jan Michael Alonzo  <jmalonzo@webkit.org>
2240
2241         Reviewed by Holger Freyther.
2242
2243         Misc fixes to InspectorClientGtk.
2244
2245         * GNUmakefile.am: Add localizedStrings.js to webinspector_DATA.
2246         This prevents copious amounts "Localized string not found" errors
2247         in the console
2248
2249 2009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
2250
2251         Reviewed by Ariya Hidayat.
2252
2253         Fix the Qt build on Windows.
2254
2255         * platform/graphics/GraphicsContext.h:
2256         (WebCore::GraphicsContext::shouldIncludeChildWindows): Implemented dummy accessor.
2257
2258 2009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
2259
2260         Reviewed by Tor Arne Vestbø.
2261
2262         Tweak WebCore.pro for being able to override the generated sources dir for the
2263         generated_files target.
2264
2265         * WebCore.pro:
2266
2267 2009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
2268
2269         Reviewed by Holger Freyther.
2270
2271         Fix the Qt/Windows build, use iface instead of interface to avoid conflict
2272         with VS2005 headers.
2273
2274         * css/CSSStyleSelector.cpp:
2275         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
2276
2277 2009-05-06  Joerg Bornemann  <joerg.bornemann@trolltech.com>
2278
2279         Reviewed by Simon Hausmann.
2280
2281         We need to include StringExtras.h on Windows CE to access the strdup function.
2282
2283         * plugins/PluginStream.cpp:
2284
2285 2009-05-06  Soren Gjesse  <sgjesse@chromium.org>
2286
2287         Reviewed by Eric Seidel.
2288
2289         Changed the toString behaviour for non document dom node event handlers in the V8 bindings.
2290         https://bugs.webkit.org/show_bug.cgi?id=25544
2291
2292         In the V8 bindings non document dom node event handlers are wrapped in a number of with blocks and uses an inner
2293         function. This causes the default toString on such a handler to return all this wrapper code. As some web sites
2294         use the source of an event handler to create new functions this wrapper code causes compatibility problems.
2295
2296         Create a specific toString function for these handlers which will return a function source compatible with the
2297         source returned by the JSC bindings and other browsers.
2298
2299         Test: fast/events/event-function-toString.html
2300
2301         * bindings/v8/ScriptEventListener.cpp:
2302         (WebCore::createAttributeEventListener):
2303         * bindings/v8/V8LazyEventListener.cpp:
2304         (WebCore::V8LazyEventListener::V8LazyEventListener):
2305         (WebCore::V8LazyEventListener::getListenerFunction):
2306         (WebCore::V8LazyEventListenerToString):
2307         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
2308         * bindings/v8/V8LazyEventListener.h:
2309         (WebCore::V8LazyEventListener::create):
2310
2311 2009-05-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2312
2313         Reviewed by Simon Hausmann.
2314
2315         Build QtWebKit as a framework on Mac
2316
2317         This implies both debug and release build by default, unless
2318         one of the --debug or --release config options are passed to
2319         the build-webkit script.
2320
2321         Frameworks can be disabled by passing CONFIG+=webkit_no_framework
2322         to the build-webkit script.
2323
2324         To be able to build both debug and release targets in parallel
2325         we have to use separate output directories for the generated
2326         sources, which is not optimal, but required to avoid race conditions.
2327
2328         An optimization would be to only require this spit-up on Mac.
2329
2330         * WebCore.pro:
2331
2332 2009-05-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2333
2334         Reviewed by Simon Hausmann.
2335
2336         [Qt] Use $$GENERATED_SOURCES_DIR as output when running bison
2337
2338         A couple of the generators left the bison output file in the source
2339         tree, and then moved it into $$GENERATED_SOURCES_DIR, which did not
2340         work well when building release and debug configurations in parallel.
2341
2342         * WebCore.pro:
2343
2344 2009-05-06  Dan Bernstein  <mitz@apple.com>
2345
2346         Reviewed by Justin Garcia.
2347
2348         - fix an assertion failure in RemoveNodeCommand() when deleting a <br>
2349           between a block and a mail blockquote
2350
2351         Test: editing/deleting/removeNodeCommand-assert.html
2352
2353         * editing/DeleteSelectionCommand.cpp:
2354         (WebCore::DeleteSelectionCommand::mergeParagraphs): Pass the start block
2355         to prune() instead of passing m_upstreamStart.node(), because the latter
2356         may have been removed already.
2357
2358 2009-05-05  Eric Seidel  <eric@webkit.org>
2359
2360         No review, roll out only.
2361
2362         Roll out r23072 since it broke layout tests
2363
2364         * page/AccessibilityRenderObject.cpp:
2365         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2366
2367 2009-05-05  Ben Murdoch  <benm@google.com>
2368
2369         Reviewed by Eric Seidel.
2370         
2371         Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
2372         https://bugs.webkit.org/show_bug.cgi?id=24776
2373
2374         No functional changes, thus no tests.
2375
2376         * bindings/js/JSCustomSQLStatementCallback.cpp:
2377         * bindings/js/JSCustomSQLStatementCallback.h:
2378         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
2379         * bindings/js/JSCustomSQLStatementErrorCallback.h:
2380         * bindings/js/JSCustomSQLTransactionCallback.cpp:
2381         * bindings/js/JSCustomSQLTransactionCallback.h:
2382         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
2383         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
2384         * bindings/js/JSDatabaseCustom.cpp:
2385         * bindings/js/JSSQLTransactionCustom.cpp:
2386         * loader/EmptyClients.h:
2387         * page/ChromeClient.h:
2388         * storage/ChangeVersionWrapper.cpp:
2389         * storage/ChangeVersionWrapper.h:
2390         * storage/Database.cpp:
2391         (WebCore::Database::databaseInfoTableName):
2392         * storage/Database.h:
2393         * storage/Database.idl:
2394         * storage/DatabaseTask.cpp:
2395         * storage/DatabaseTask.h:
2396         * storage/DatabaseThread.cpp:
2397         * storage/DatabaseThread.h:
2398         * storage/DatabaseTracker.cpp:
2399         * storage/DatabaseTracker.h:
2400         * storage/DatabaseTrackerClient.h:
2401         * storage/OriginQuotaManager.cpp:
2402         * storage/OriginQuotaManager.h:
2403         * storage/SQLStatement.cpp:
2404         * storage/SQLStatement.h:
2405         * storage/SQLTransaction.cpp:
2406         * storage/SQLTransaction.h:
2407         * storage/SQLTransaction.idl:
2408
2409 2009-05-05  Jeremy Moskovich  <jeremy@chromium.org>
2410
2411         Reviewed by Eric Seidel.
2412
2413         Add some documentation to InlineBox::x(),y().
2414         https://bugs.webkit.org/show_bug.cgi?id=25378
2415
2416         * rendering/InlineBox.h:
2417
2418 2009-05-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2419
2420         Reviewed by Eric Seidel.
2421
2422         Disable all the SVG features for WebKit/Qt if ENABLE_SVG=0 
2423         https://bugs.webkit.org/show_bug.cgi?id=24693
2424
2425         * WebCore.pro:
2426
2427 2009-05-05  Sankar Aditya Tanguturi  <sankaraditya@gmail.com>
2428
2429         Reviewed by Eric Seidel.
2430
2431         Anonymous blocks should not be exposed in accessibility tree.
2432         Part of https://bugs.webkit.org/show_bug.cgi?id=23072
2433
2434         Tests: accessibility/ignore-anonymous-block.html
2435                platform/win/accessibility/document-role.html
2436
2437         * page/AccessibilityRenderObject.cpp:
2438         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):Return
2439         true for Anonymous blocks. Matching Firefox 2.0.0.14
2440
2441 2009-05-05  Jungshik Shin  <jshin@chromium.org>
2442
2443         Reviewed by Alexey Proskuryakov.
2444
2445         http://bugs.webkit.org/show_bug.cgi?id=25487
2446
2447         For euc-kr and other 8bit Korean encodings
2448         (similar to euc-kr/windows-949), make document.charset return
2449         EUC-KR instead of windows-949. The latter is not recognized by
2450         Korean web servers.
2451
2452         Add domName method to TextEncoding to deal with cases where
2453         our internal encoding name does not match what's widely recognized
2454         by web servers. Currently, the only case is 'windows-949' (internal
2455         name) vs 'EUC-KR'.
2456
2457         Test: fast/encoding/euckr-name.html
2458
2459         * dom/Document.cpp:
2460         (WebCore::Document::encoding): Call TextEncoding.domName() instead
2461         of TextEncoding.name().
2462         * platform/text/TextEncoding.cpp:
2463         (WebCore::TextEncoding::domName): For the canonical name 'windows-949',
2464         return 'EUC-KR'. Otherwise, just return the canonical name.
2465         * platform/text/TextEncoding.h:
2466
2467 2009-05-05  Adam Langley  <agl@google.com>
2468
2469         Reviewed by Darin Adler.
2470
2471         Rendering fix for <select> elements.
2472         https://bugs.webkit.org/show_bug.cgi?id=25558
2473
2474         When switching a <select> element from display:none to default
2475         display, we would fail to invalidate the parent's pref widths in some
2476         situations:
2477
2478         When attaching the element, RenderMenuList::updateOptionsWidth would
2479         call setNeedsLayoutAndPrefWidthsRecalc before the parent pointer was
2480         set. This would mark the pref widths as dirty, but not for any parent
2481         objects.
2482
2483         When RenderObjectChildList::appendChildNode later calls
2484         setNeedsLayoutAndPrefWidthsRecalc again, with a valid parent pointer,
2485         nothing would be done because the pref widths were already dirty for.
2486         the RenderMenuList.
2487
2488         * rendering/RenderMenuList.cpp:
2489         (WebCore::RenderMenuList::updateOptionsWidth):
2490
2491 2009-05-05  Antony Sargent  <asargent@chromium.org>
2492
2493         Reviewed by Dimitri Glazkov.
2494
2495         Switch V8EventListenerList to use HashTable<T>.
2496         https://bugs.webkit.org/show_bug.cgi?id=25496
2497         
2498         This avoids some tricky issues with event listener removal in the 
2499         current implementation and has slightly better performance.
2500
2501         No new functionality so no new tests.
2502
2503         * bindings/v8/V8EventListenerList.cpp: Added V8EventListenerListIterator.
2504         * bindings/v8/V8EventListenerList.h:
2505         (WebCore::V8EventListenerList::size):
2506         * bindings/v8/WorkerContextExecutionProxy.cpp:
2507         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
2508
2509 2009-05-05  Darin Fisher  <darin@chromium.org>
2510
2511         Fixing build bustage.
2512
2513         Add some missing includes to fix the Chromium build.
2514
2515         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2516         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
2517
2518 2009-05-05  Darin Fisher  <darin@chromium.org>
2519
2520         Reviewed by Darin Adler.
2521
2522         https://bugs.webkit.org/show_bug.cgi?id=25570
2523
2524         history.{back,forward,go} should always be dispatched asynchronously,
2525         even when the history navigation would just result in scrolling the
2526         page.  This matches the behavior of other browsers like IE and FF.
2527
2528         Test: fast/history/back-forward-is-asynchronous.html
2529
2530         * loader/FrameLoader.cpp:
2531         (WebCore::FrameLoader::scheduleHistoryNavigation):
2532
2533 2009-05-05  Eric Seidel  <eric@webkit.org>
2534
2535         Reviewed by Simon Fraser.
2536
2537         Add an ASSERT(useTransforms) to mapLocalToContainer implementations in SVG.
2538         https://bugs.webkit.org/show_bug.cgi?id=25532
2539         https://bugs.webkit.org/show_bug.cgi?id=25568
2540
2541         Adding this ASSERT exposed a bug in SVGPaintServerPattern::setup
2542         which was causing transformed SVG text when filled/stroked with a
2543         pattern using patternUnits=objectBoundingBox to draw incorrectly.
2544
2545         I fixed the incorrect drawing (by removing the broken code) and added
2546         two test cases to test the fix:
2547         * svg/transforms/text-with-pattern-inside-transformed-html.xhtml
2548         * svg/transforms/text-with-pattern-with-svg-transform.svg
2549
2550         * rendering/RenderSVGRoot.cpp:
2551         (WebCore::RenderSVGRoot::mapLocalToContainer):
2552         * rendering/SVGRenderSupport.cpp:
2553         (WebCore::SVGRenderBase::mapLocalToContainer):
2554         * svg/graphics/SVGPaintServerPattern.cpp:
2555         (WebCore::SVGPaintServerPattern::setup):
2556
2557 2009-05-05  Greg Bolsinga  <bolsinga@apple.com>
2558
2559         Reviewed by Sam Weinig.
2560
2561         https://bugs.webkit.org/show_bug.cgi?id=25554
2562         
2563         Support HTML5 text control input types: email, number, tel, url
2564
2565         Test: fast/html/text-field-input-types.html
2566
2567         * bindings/objc/DOMHTML.mm:
2568         (-[DOMHTMLInputElement _isTextField]): Call HTMLInputElement::isTextField directly.
2569         * html/HTMLInputElement.cpp: Use the new types where appropriate.
2570         (WebCore::HTMLInputElement::setInputType):
2571         (WebCore::HTMLInputElement::type):
2572         (WebCore::HTMLInputElement::saveState):
2573         (WebCore::HTMLInputElement::restoreState):
2574         (WebCore::HTMLInputElement::accessKeyAction):
2575         (WebCore::HTMLInputElement::rendererIsNeeded):
2576         (WebCore::HTMLInputElement::createRenderer):
2577         (WebCore::HTMLInputElement::appendFormData):
2578         (WebCore::HTMLInputElement::valueWithDefault):
2579         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
2580         (WebCore::HTMLInputElement::defaultEventHandler):
2581         * html/HTMLInputElement.h: Ditto.
2582         (WebCore::HTMLInputElement::):
2583         (WebCore::HTMLInputElement::isTextField):
2584
2585 2009-04-01  miggilin  <mr.diggilin@gmail.com>
2586
2587         Reviewed by Kevin Ollivier.
2588
2589         Mouse wheel scrolling and keyboard shortcut support for wx.
2590         
2591         https://bugs.webkit.org/show_bug.cgi?id=24797
2592
2593         * platform/ScrollView.cpp:
2594         (WebCore::ScrollView::wheelEvent):
2595         * platform/wx/KeyboardEventWx.cpp:
2596         (WebCore::windowsKeyCodeForKeyEvent):
2597         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2598         * platform/wx/ScrollViewWx.cpp:
2599         (WebCore::ScrollView::platformSetScrollPosition):
2600
2601 2009-05-05  Kevin Ollivier  <kevino@theolliviers.com>
2602
2603         wx build fix for Windows, add missing include.
2604         
2605         https://bugs.webkit.org/show_bug.cgi?id=24798
2606
2607         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
2608
2609 2009-05-05  Chris Fleizach  <cfleizach@apple.com>
2610
2611         Reviewed by Beth Dakin.
2612
2613         Bug 25574: AXImageMap children links don't respond properly to accessibilityHitTest:
2614         https://bugs.webkit.org/show_bug.cgi?id=25574
2615
2616         Enable accessibility hit-testing for image map links. 
2617         Allow image map links to return AXURLs and AXAccessKey information.
2618
2619         Test: platform/mac/accessibility/imagemap-hittest.html
2620
2621         * page/AccessibilityImageMapLink.cpp:
2622         (WebCore::AccessibilityImageMapLink::url):
2623         * page/AccessibilityImageMapLink.h:
2624         * page/AccessibilityObject.h:
2625         (WebCore::AccessibilityObject::minValueForRange):
2626         * page/AccessibilityRenderObject.cpp:
2627         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
2628         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
2629         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
2630         * page/AccessibilityRenderObject.h:
2631         * page/mac/AccessibilityObjectWrapper.mm:
2632         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2633
2634 2009-05-05  Kevin McCullough  <kmccullough@apple.com>
2635
2636         Reviewed by Dan Bernstein.
2637
2638         <rdar://problem/6552129> Select a quote line and paste elsewhere, you
2639         get that line and an extra quoted blank line
2640         <rdar://problem/6609308> Triple-click a quoted header line, copy, paste
2641         onto an empty line makes an extra quoted line
2642
2643         - When pasting a blockquote with a newline, make sure we put the newline
2644         outside of the blockquote so that it is not quoted.
2645
2646         * editing/InsertParagraphSeparatorCommand.cpp:
2647         (WebCore::InsertParagraphSeparatorCommand::doApply):
2648
2649 2009-05-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
2650
2651         Reviewed by Xan Lopez.
2652
2653         Call moz_gtk_shutdown on RenderThemeGtk destruction.
2654
2655         * platform/gtk/RenderThemeGtk.cpp:
2656         (WebCore::RenderThemeGtk::~RenderThemeGtk):
2657         * platform/gtk/RenderThemeGtk.h:
2658
2659 2009-05-05  Darin Adler  <darin@apple.com>
2660
2661         Reviewed by Steve Falkenburg.
2662
2663         <rdar://problem/6858340> REGRESSION: can't drag local HTML files into Safari because CFURLCreateWithFileSystemPath inserts "localhost"
2664
2665         * platform/win/ClipboardUtilitiesWin.cpp: (WebCore::urlFromPath): Remove localhost.
2666
2667 2009-05-05  Peter Kasting  <pkasting@google.com>
2668
2669         Reviewed by Brady Eidson.
2670
2671         Safety-check m_documentLoader before dereferencing.  While it seems
2672         unlikely this could fail (as Safari 3 shipped without this),
2673         technically almost any call can change or reset m_documentLoader.
2674
2675         * loader/FrameLoader.cpp:
2676         (WebCore::FrameLoader::receivedFirstData):
2677
2678 2009-05-05  Dan Bernstein  <mitz@apple.com>
2679
2680         - Tiger build fix
2681
2682         * css/CSSComputedStyleDeclaration.cpp:
2683         (WebCore::toCSSIdentifier):
2684
2685 2009-05-05  Peter Kasting  <pkasting@google.com>
2686
2687         Reviewed by Eric Seidel.
2688
2689         https://bugs.webkit.org/show_bug.cgi?id=25303
2690         No need to ref the internal buffer inside the Skia ImageDecoder.
2691
2692         * platform/image-decoders/skia/ImageDecoder.h:
2693         (WebCore::RGBA32Buffer::RGBA32Buffer):
2694         (WebCore::RGBA32Buffer::operator=):
2695         (WebCore::RGBA32Buffer::clear):
2696         (WebCore::RGBA32Buffer::copyBitmapData):
2697         (WebCore::RGBA32Buffer::bitmap):
2698         (WebCore::RGBA32Buffer::setSize):
2699         (WebCore::RGBA32Buffer::width):
2700         (WebCore::RGBA32Buffer::height):
2701         (WebCore::RGBA32Buffer::hasAlpha):
2702         (WebCore::RGBA32Buffer::setStatus):
2703         (WebCore::RGBA32Buffer::setHasAlpha):
2704         (WebCore::RGBA32Buffer::setRGBA):
2705
2706 2009-05-05  Dan Bernstein  <mitz@apple.com>
2707
2708         Reviewed by Darin Adler.
2709
2710         - fix https://bugs.webkit.org/show_bug.cgi?id=24192
2711           <rdar://problem/5760774> Replying to a Mail message that contains
2712           fixed width text can change the size of the text
2713
2714         Covered by existing tests: editing/pasteboard/5027857.html
2715                                    editing/pasteboard/paste-pre-002.html
2716
2717         * css/CSSComputedStyleDeclaration.cpp:
2718         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
2719         Added. If the font-size is keyword-based, returns the keyword value
2720         instead of the pixel size.
2721         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): If
2722         font-family is a generic family, return the generic family instead of
2723         the the internal string -webkit-[serif|sans-serif|cursive|fantasy
2724         |monospace].
2725         (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties):
2726         For the font-size property, prefer a keyword value over a pixel size.
2727         * css/CSSComputedStyleDeclaration.h:
2728         * editing/ApplyStyleCommand.cpp:
2729         (WebCore::StyleChange::currentlyHasStyle): For the font-size property,
2730         call getFontSizeCSSValuePreferringKeyword().
2731         * platform/graphics/FontDescription.h:
2732         (WebCore::FontDescription::keywordSize): Changed the return type to
2733         unsigned.
2734         (WebCore::FontDescription::setKeywordSize): Changed the parameter type
2735         to unsigned.
2736         (WebCore::FontDescription::m_keywordSize): Changed the type of this
2737         4-bit field to unsigned, because it takes values as high as 8.
2738
2739 2009-05-05  Oliver Hunt  <oliver@apple.com>
2740
2741         Reviewed by Maciej Stachowiak.
2742
2743         Fix http/tests/misc/DOMContentLoaded-event.html
2744
2745         The native call performance improvement removed a few places where we
2746         unintentionally performed a toThisObject conversion.  This patch updates
2747         the bindings codegen to not rely on this bug.
2748
2749         * bindings/scripts/CodeGeneratorJS.pm:
2750
2751 2009-05-05  Holger Hans Peter Freyther  <zecke@selfish.org>
2752
2753         Reviewed by Xan Lopez and Gustavo Noronha.
2754
2755         Implement WebCore::directoryName for Gtk+.
2756
2757         * platform/gtk/FileSystemGtk.cpp:
2758         (WebCore::directoryName):
2759
2760 2009-05-05  Eric Seidel  <eric@webkit.org>
2761
2762         Reviewed by Adam Roben.
2763
2764         Fix mappedAttributes() access without NULL check
2765         https://bugs.webkit.org/show_bug.cgi?id=25553
2766
2767         SVGStyledElement::getPresentationAttribute was using mappedAttributes()
2768         without checking for NULL.
2769
2770         HTMLInputElement::setInputType also doesn't NULL check, but I was not
2771         able to get it to crash with a test case so I just added an ASSERT.
2772
2773         * html/HTMLInputElement.cpp:
2774         (WebCore::HTMLInputElement::setInputType):
2775         * svg/SVGStyledElement.cpp:
2776         (WebCore::SVGStyledElement::getPresentationAttribute):
2777
2778 2009-05-05  Holger Hans Peter Freyther  <zecke@selfish.org>
2779
2780         Reviewed by Xan Lopez.
2781
2782         Implement WebCore::imageTitle for Gtk+.
2783
2784         * platform/gtk/LocalizedStringsGtk.cpp:
2785         (WebCore::imageTitle):
2786
2787 2009-05-05  Oliver Hunt  <oliver@apple.com>
2788
2789         Reviewed by Gavin Barraclough.
2790
2791         Bug 25559: Improve native function call performance
2792         <https://bugs.webkit.org/show_bug.cgi?id=25559>
2793
2794         Add forwarding header necessary for compilation, and fix debugger
2795         to correctly account for change in JSFunction behaviour.
2796
2797         * ForwardingHeaders/jit/JITCode.h: Added.
2798         * inspector/JavaScriptDebugServer.cpp:
2799         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
2800
2801 2009-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
2802
2803         Reviewed by Ariya Hidayat.
2804
2805         Make convertValueToQVariant more robust against null JSValues.
2806
2807         Don't require the caller to do the null check.
2808
2809         * bridge/qt/qt_runtime.cpp:
2810         (JSC::Bindings::convertValueToQVariant):
2811
2812 2009-05-05  Eric Seidel  <eric@webkit.org>
2813
2814         No review, just a revert.
2815
2816         Roll out http://trac.webkit.org/changeset/43213 as it caused 4 tests to crash.
2817
2818         * rendering/RenderSVGRoot.cpp:
2819         (WebCore::RenderSVGRoot::mapLocalToContainer):
2820         * rendering/SVGRenderSupport.cpp:
2821         (WebCore::SVGRenderBase::mapLocalToContainer):
2822
2823 2009-05-04  Alexey Proskuryakov  <ap@webkit.org>
2824
2825         Reviewed by Dave Hyatt.
2826
2827         <rdar://problem/6576889> REGRESSION (r35185): Cannot watch Flash movies on omg.yahoo.com
2828
2829         The problem was caused by missing <head> element - we used to create it when moving a
2830         misplaced <style> element, but we now handle those in place. Other browsers always create
2831         a <head> element.
2832
2833         There is no guarantee that a <head> element always exists - first, it can be removed with
2834         removeChild or innerHTML, and also, we don't currently create it for frameset documents, or
2835         for manually created ones (e.g. ImageDocument).
2836
2837         Test: fast/parser/head-element-for-yahoo-player.html
2838
2839         * dom/Document.cpp: (WebCore::Document::implicitClose): Create a <head> element for about:blank.
2840         A removed comment talked about rdar://3758785, but that problem doesn't re-occur even if this
2841         code is removed completely.
2842
2843         * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::checkDTD): No longer allow <script>
2844         elements as children of <html>. This isn't directly related to this bug, but it was easier
2845         to fix both at once (IE and Firefox both don't allow such mispositioned <script> elements).
2846
2847         * html/HTMLParser.cpp:
2848         (WebCore::HTMLParser::handleError): Move <script> to <head> if <body> hasn't been created yet.
2849         Create a <head> it a <body> is created implicitly to contain some other element.
2850         (WebCore::HTMLParser::bodyCreateErrorCheck): Ensure that a <head> exists when <body> is
2851         explicitly present in source.
2852         (WebCore::HTMLParser::createHead): Do the work even if <html> element hasn't been created yet.
2853
2854 2009-05-04  Jakub Wieczorek  <faw217@gmail.com>
2855
2856         Reviewed by Simon Hausmann.
2857
2858         As Qtish implementation of MIMETypeRegistry::getMIMETypeForExtension()
2859         returns the application/octet-stream mimetype when it can't associate
2860         extension with any mimetype, it can happen that the application/octet-stream
2861         mimetype will hit the list of supported image formats. For instance,
2862         it is possible when QImageReader or QImageWriter support an extension
2863         that is not in the extensions map.
2864
2865         Make sure that this mimetype is not treated as displayable image type.
2866
2867         * platform/MIMETypeRegistry.cpp:
2868         (WebCore::initializeSupportedImageMIMETypes):
2869         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2870
2871 2009-05-03  Eric Seidel  <eric@webkit.org>
2872
2873         Reviewed by Simon Fraser.
2874
2875         ASSERT(useTransforms) in SVG mapLocalToContainer implementations
2876         https://bugs.webkit.org/show_bug.cgi?id=25532
2877
2878         * rendering/RenderSVGRoot.cpp:
2879         (WebCore::RenderSVGRoot::mapLocalToContainer):
2880         * rendering/SVGRenderSupport.cpp:
2881         (WebCore::SVGRenderBase::mapLocalToContainer):
2882
2883 2009-05-03  Eric Seidel  <eric@webkit.org>
2884
2885         Reviewed by Simon Fraser.
2886
2887         Remove m_absoluteBounds hack from RenderSVGText
2888         https://bugs.webkit.org/show_bug.cgi?id=25532
2889
2890         No functional changes (SVGs inside CSS transformed HTML should theoretically repaint better)
2891
2892         * rendering/RenderSVGText.cpp:
2893         (WebCore::RenderSVGText::layout):
2894         * rendering/RenderSVGText.h:
2895
2896 2009-05-03  Eric Seidel  <eric@webkit.org>
2897
2898         Reviewed by Simon Fraser.
2899
2900         Remove the vestigial calculateLocalTransform()
2901         https://bugs.webkit.org/show_bug.cgi?id=25532
2902
2903         RenderSVGContainer is now the only render which needs this
2904         function, but it no longer returns the unused bool.
2905
2906         calculateLocalTransform() previously was called by the DOM before
2907         transform updates were part of layout().
2908
2909         * rendering/RenderForeignObject.cpp:
2910         (WebCore::RenderForeignObject::layout):
2911         * rendering/RenderForeignObject.h:
2912         (WebCore::RenderForeignObject::localTransform):
2913         * rendering/RenderPath.cpp:
2914         (WebCore::RenderPath::layout):
2915         * rendering/RenderPath.h:
2916         * rendering/RenderSVGContainer.cpp:
2917         * rendering/RenderSVGContainer.h:
2918         (WebCore::RenderSVGContainer::calculateLocalTransform):
2919         * rendering/RenderSVGImage.cpp:
2920         (WebCore::RenderSVGImage::layout):
2921         * rendering/RenderSVGImage.h:
2922         * rendering/RenderSVGText.cpp:
2923         (WebCore::RenderSVGText::layout):
2924         * rendering/RenderSVGText.h:
2925         * rendering/RenderSVGTransformableContainer.cpp:
2926         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
2927         * rendering/RenderSVGTransformableContainer.h:
2928
2929 2009-05-03  Eric Seidel  <eric@webkit.org>
2930
2931         Reviewed by Simon Fraser.
2932
2933         Move more code into SVGRenderBase
2934         https://bugs.webkit.org/show_bug.cgi?id=25532
2935
2936         clippedOverflowRectForRepaint, computeRectForRepaint and mapLocalToContainer
2937         are now all shared via SVGRenderBase.
2938
2939         RenderForeignObject should also be sharing this code, but I've left it
2940         alone for now, as changing that would likely cause test changes.
2941
2942         No test changes.  It's possible that transformed <svg:image> elements will
2943         now show up with better metrics in the inspector.
2944
2945         * rendering/RenderSVGImage.cpp:
2946         (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
2947         (WebCore::RenderSVGImage::computeRectForRepaint):
2948         (WebCore::RenderSVGImage::mapLocalToContainer):
2949         * rendering/RenderSVGImage.h:
2950         * rendering/RenderSVGModelObject.cpp:
2951         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
2952         (WebCore::RenderSVGModelObject::computeRectForRepaint):
2953         (WebCore::RenderSVGModelObject::mapLocalToContainer):
2954         * rendering/RenderSVGText.cpp:
2955         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
2956         (WebCore::RenderSVGText::computeRectForRepaint):
2957         (WebCore::RenderSVGText::mapLocalToContainer):
2958         * rendering/SVGRenderSupport.cpp:
2959         (WebCore::SVGRenderBase::clippedOverflowRectForRepaint):
2960         (WebCore::SVGRenderBase::computeRectForRepaint):
2961         (WebCore::SVGRenderBase::mapLocalToContainer):
2962         * rendering/SVGRenderSupport.h:
2963
2964 2009-05-03  Eric Seidel  <eric@webkit.org>
2965
2966         Reviewed by Simon Fraser.
2967
2968         Add SVGRenderBase to share logic between SVG renderers
2969         https://bugs.webkit.org/show_bug.cgi?id=25532
2970
2971         I've added an SVGRenderBase base class which is shared by
2972         all of the SVG renders now.  This patch is just moving code
2973         there are no functional changes in this patch.
2974
2975         Currently I've left these functions in SVGRenderSupport.h
2976         In a later patch I will rename SVGRenderSupport.* to SVGRenderBase.*
2977
2978         clampImageBufferSizeToViewport now takes a FrameView* which makes some code easier to read.
2979
2980         * rendering/RenderSVGBlock.h:
2981         * rendering/RenderSVGImage.h:
2982         * rendering/RenderSVGModelObject.h:
2983         * rendering/RenderSVGRoot.h:
2984         * rendering/SVGRenderSupport.cpp:
2985         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2986         (WebCore::SVGRenderBase::finishRenderSVGContent):
2987         (WebCore::clampImageBufferSizeToViewport):
2988         (WebCore::SVGRenderBase::computeContainerBoundingBox):
2989         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
2990         * rendering/SVGRenderSupport.h:
2991         * rendering/SVGRootInlineBox.cpp:
2992         (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
2993         (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
2994         (WebCore::SVGRootInlineBox::paint):
2995         * svg/SVGMaskElement.cpp:
2996         (WebCore::SVGMaskElement::drawMaskerContent):
2997         * svg/SVGPatternElement.cpp:
2998         (WebCore::SVGPatternElement::buildPattern):
2999         * svg/graphics/SVGPaintServerGradient.cpp:
3000         (WebCore::createMaskAndSwapContextForTextGradient):
3001         (WebCore::clipToTextMask):
3002
3003 2009-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
3004
3005         Unreviewed SVG build fix.
3006
3007         Include MappedAttribute.h after r43187.
3008
3009         * svg/SVGComponentTransferFunctionElement.cpp:
3010         * svg/SVGFEBlendElement.cpp:
3011         * svg/SVGFEColorMatrixElement.cpp:
3012         * svg/SVGFEComponentTransferElement.cpp:
3013         * svg/SVGFECompositeElement.cpp:
3014         * svg/SVGFEDiffuseLightingElement.cpp:
3015         * svg/SVGFEDisplacementMapElement.cpp:
3016         * svg/SVGFEGaussianBlurElement.cpp:
3017         * svg/SVGFEImageElement.cpp:
3018         * svg/SVGFELightElement.cpp:
3019         * svg/SVGFEMergeNodeElement.cpp:
3020         * svg/SVGFEOffsetElement.cpp:
3021         * svg/SVGFESpecularLightingElement.cpp:
3022         * svg/SVGFETileElement.cpp:
3023         * svg/SVGFETurbulenceElement.cpp:
3024         * svg/SVGFilterElement.cpp:
3025         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
3026
3027 2009-05-04  Brady Eidson  <beidson@apple.com>
3028
3029         Reviewed by Sam 'The Belly' Weinig
3030
3031         <rdar://problem/6828894> - Facebook photo uploader applet broken on Leopard only
3032
3033         In r41568 we started adding a default codebase attribute to <applet> tags if they didn't specify one
3034         themselves.  Leopard's Java plug-in mishandles this case and fails to load code for the applet.
3035
3036         The spirit of r41568 can be maintained by removing the "default codebase" piece and only performing
3037         the canLoad() check if a codebase was actually set on the applet tag.
3038
3039         * html/HTMLAppletElement.cpp:
3040         (WebCore::HTMLAppletElement::createRenderer): Don't create a default codebase attribute.
3041
3042         * loader/FrameLoader.cpp:
3043         (WebCore::FrameLoader::createJavaAppletWidget): Only perform the canLoad() check if the codebase was set.
3044
3045 2009-05-04  Adam Roben  <aroben@apple.com>
3046
3047         Windows build fix
3048
3049         * html/HTMLCollection.h:
3050         * html/HTMLFormElement.h:
3051         Declare CollectionCache as a struct, not a class, to match its
3052         definition.
3053
3054 2009-05-04  Chris Fleizach  <cfleizach@apple.com>
3055
3056         Reviewed by Beth Dakin, Oliver Hunt.
3057
3058         Bug 25557: REGRESSION: Canvas elements are ignored instead of being exposed as AXImage
3059         https://bugs.webkit.org/show_bug.cgi?id=25557
3060
3061         Test: accessibility/canvas.html
3062
3063         * page/AccessibilityRenderObject.cpp:
3064         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3065         (WebCore::AccessibilityRenderObject::roleValue):
3066
3067 2009-05-04  Brady Eidson  <beidson@apple.com>
3068
3069         Fix an ancient Changelog entry where Sam Weinig flat out lied and confused my exploration of a bug.
3070
3071         * ChangeLog
3072
3073 2009-05-04  Kai Brüning  <kai@granus.net>
3074
3075         Reviewed by Eric Seidel.
3076         
3077         https://bugs.webkit.org/show_bug.cgi?id=24883
3078         24883: Bad success test in parseXMLDocumentFragment in XMLTokenizerLibxml2.cpp
3079         
3080         Fixed test whether all the chunk has been processed to correctly count utf8 bytes.
3081
3082         Test: fast/innerHTML/innerHTML-nbsp.xhtml
3083
3084         * dom/XMLTokenizerLibxml2.cpp:
3085         (WebCore::parseXMLDocumentFragment):
3086
3087 2009-05-04  Darin Adler  <darin@apple.com>
3088
3089         Reviewed by Eric Seidel.
3090
3091         Bug 24924: remove Document.h include of Attr.h and HTMLCollection.h,
3092         and NamedMappedAttrMap.h include of MappedAttribute.h
3093         https://bugs.webkit.org/show_bug.cgi?id=24924
3094
3095         Make compiles faster, and debugging info smaller.
3096
3097         * GNUmakefile.am: Added new source files.
3098         * WebCore.pro: Ditto.
3099         * WebCore.scons: Ditto.
3100         * WebCore.vcproj/WebCore.vcproj: Ditto.
3101         * WebCore.xcodeproj/project.pbxproj: Ditto.
3102         * WebCoreSources.bkl: Ditto.
3103
3104         * bindings/js/JSHTMLCollectionCustom.cpp:
3105         (WebCore::toJS): Updated for new collection type names.
3106
3107         * dom/Document.cpp:
3108         (WebCore::Document::createAttribute): Added. No longer inline.
3109         (WebCore::Document::images): Updated for new collection type names.
3110         (WebCore::Document::applets): Ditto.
3111         (WebCore::Document::embeds): Ditto.
3112         (WebCore::Document::plugins): Ditto.
3113         (WebCore::Document::objects): Ditto.
3114         (WebCore::Document::scripts): Ditto.
3115         (WebCore::Document::links): Ditto.
3116         (WebCore::Document::forms): Ditto.
3117         (WebCore::Document::anchors): Ditto.
3118         (WebCore::Document::all): Ditto.
3119         (WebCore::Document::windowNamedItems): Ditto.
3120         (WebCore::Document::documentNamedItems): Ditto.
3121         (WebCore::Document::nameCollectionInfo): Ditto.
3122
3123         * dom/Document.h: Changed around includes and forward declarations.
3124         Updated for changes to collection types.
3125
3126         * dom/NamedMappedAttrMap.h: Removed include of MappedAttribute.h.
3127
3128         * html/CollectionCache.cpp: Copied from WebCore/html/HTMLCollection.cpp.
3129         Contains the class that used to be HTMLCollection::CollectionInfo.
3130         * html/CollectionCache.h: Copied from WebCore/html/HTMLCollection.h.
3131         Ditto.
3132
3133         * html/CollectionType.h: Copied from WebCore/html/HTMLCollection.h.
3134         Has the enum that used to be HTMLCollection::Type.
3135
3136         * html/HTMLCollection.cpp:
3137         (WebCore::HTMLCollection::HTMLCollection): Update for collection type change.
3138         (WebCore::HTMLCollection::create): Ditto.
3139         (WebCore::HTMLCollection::resetCollectionInfo): Ditto.
3140         (WebCore::HTMLCollection::itemAfter): Ditto.
3141         * html/HTMLCollection.h: Ditto.
3142
3143         * html/HTMLElement.cpp:
3144         (WebCore::HTMLElement::children): Updated for new collection type names.
3145         * html/HTMLFormCollection.cpp:
3146         (WebCore::HTMLFormCollection::formCollectionInfo): Ditto.
3147         (WebCore::HTMLFormCollection::HTMLFormCollection): Ditto.
3148         * html/HTMLFormCollection.h: Ditto.
3149         * html/HTMLFormElement.h: Ditto.
3150         * html/HTMLMapElement.cpp:
3151         (WebCore::HTMLMapElement::areas): Ditto.
3152         * html/HTMLNameCollection.cpp:
3153         (WebCore::HTMLNameCollection::HTMLNameCollection): Ditto.
3154         * html/HTMLNameCollection.h:
3155         (WebCore::HTMLNameCollection::create): Ditto.
3156         * html/HTMLSelectElement.h:
3157         (WebCore::HTMLSelectElement::collectionInfo): Ditto.
3158         * html/HTMLTableElement.cpp:
3159         (WebCore::HTMLTableElement::tBodies):Ditto.
3160         * html/HTMLTableRowElement.cpp:
3161         (WebCore::HTMLTableRowElement::cells):Ditto.
3162         * html/HTMLTableRowsCollection.cpp:
3163         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Ditto.
3164         * html/HTMLTableSectionElement.cpp:
3165         (WebCore::HTMLTableSectionElement::rows): Ditto.
3166
3167         * bindings/js/JSDOMWindowBase.cpp: Added newly-needed includes.
3168         * bindings/js/JSHTMLFrameSetElementCustom.cpp: Ditto.
3169         * css/CSSStyleSelector.cpp: Ditto.
3170         * dom/Element.cpp: Ditto.
3171         * dom/InputElement.cpp: Ditto.
3172         * dom/NamedAttrMap.cpp: Ditto.
3173         * dom/NamedMappedAttrMap.cpp: Ditto.
3174         * dom/Node.cpp: Ditto.
3175         * dom/StyledElement.cpp: Ditto.
3176         * dom/StyledElement.h: Ditto.
3177         * editing/ApplyStyleCommand.cpp: Ditto.
3178         * editing/DeleteSelectionCommand.cpp: Ditto.
3179         * editing/Editor.cpp: Ditto.
3180         * editing/EditorCommand.cpp: Ditto.
3181         * editing/InsertParagraphSeparatorCommand.cpp: Ditto.
3182         * editing/ReplaceSelectionCommand.cpp: Ditto.
3183         * editing/markup.cpp: Ditto.
3184         * html/CanvasRenderingContext2D.cpp: Ditto.
3185         * html/HTMLAnchorElement.cpp: Ditto.
3186         * html/HTMLAppletElement.cpp: Ditto.
3187         * html/HTMLAreaElement.cpp: Ditto.
3188         * html/HTMLBRElement.cpp: Ditto.
3189         * html/HTMLBaseElement.cpp: Ditto.
3190         * html/HTMLBodyElement.cpp: Ditto.
3191         * html/HTMLButtonElement.cpp: Ditto.
3192         * html/HTMLCanvasElement.cpp: Ditto.
3193         * html/HTMLDivElement.cpp: Ditto.
3194         * html/HTMLEmbedElement.cpp: Ditto.
3195         * html/HTMLFontElement.cpp: Ditto.
3196         * html/HTMLFormControlElement.cpp: Ditto.
3197         * html/HTMLFormElement.cpp: Ditto.
3198         * html/HTMLFrameElement.cpp: Ditto.
3199         * html/HTMLFrameElementBase.cpp: Ditto.
3200         * html/HTMLFrameSetElement.cpp: Ditto.
3201         * html/HTMLHRElement.cpp: Ditto.
3202         * html/HTMLIFrameElement.cpp: Ditto.
3203         * html/HTMLImageElement.cpp: Ditto.
3204         * html/HTMLInputElement.cpp: Ditto.
3205         * html/HTMLIsIndexElement.cpp: Ditto.
3206         * html/HTMLKeygenElement.cpp: Ditto.
3207         * html/HTMLLIElement.cpp: Ditto.
3208         * html/HTMLLinkElement.cpp: Ditto.
3209         * html/HTMLMarqueeElement.cpp: Ditto.
3210         * html/HTMLMetaElement.cpp: Ditto.
3211         * html/HTMLOListElement.cpp: Ditto.
3212         * html/HTMLObjectElement.cpp: Ditto.
3213         * html/HTMLOptionElement.cpp: Ditto.
3214         * html/HTMLParagraphElement.cpp: Ditto.
3215         * html/HTMLParamElement.cpp: Ditto.
3216         * html/HTMLPlugInElement.cpp: Ditto.
3217         * html/HTMLPreElement.cpp: Ditto.
3218         * html/HTMLScriptElement.cpp: Ditto.
3219         * html/HTMLSelectElement.cpp: Ditto.
3220         * html/HTMLStyleElement.cpp: Ditto.
3221         * html/HTMLTableCaptionElement.cpp: Ditto.
3222         * html/HTMLTableCellElement.cpp: Ditto.
3223         * html/HTMLTableColElement.cpp: Ditto.
3224         * html/HTMLTablePartElement.cpp: Ditto.
3225         * html/HTMLTextAreaElement.cpp: Ditto.
3226         * html/HTMLTokenizer.cpp: Ditto.
3227         * html/HTMLUListElement.cpp: Ditto.
3228         * html/HTMLVideoElement.cpp: Ditto.
3229         * html/HTMLViewSourceDocument.cpp: Ditto.
3230         * loader/ImageDocument.cpp: Ditto.
3231         * page/Frame.cpp: Ditto.
3232         * rendering/RenderTreeAsText.cpp: Ditto.
3233         * svg/SVGAElement.cpp: Ditto.
3234         * svg/SVGAnimateMotionElement.cpp: Ditto.
3235         * svg/SVGAnimateTransformElement.cpp: Ditto.
3236         * svg/SVGAnimationElement.cpp: Ditto.
3237         * svg/SVGCircleElement.cpp: Ditto.
3238         * svg/SVGClipPathElement.cpp: Ditto.
3239         * svg/SVGCursorElement.cpp: Ditto.
3240         * svg/SVGElement.cpp: Ditto.
3241         * svg/SVGEllipseElement.cpp: Ditto.
3242         * svg/SVGExternalResourcesRequired.cpp: Ditto.
3243         * svg/SVGFitToViewBox.cpp: Ditto.
3244         * svg/SVGFontFaceElement.cpp: Ditto.
3245         * svg/SVGFontFaceUriElement.cpp: Ditto.
3246         * svg/SVGForeignObjectElement.cpp: Ditto.
3247         * svg/SVGGlyphElement.cpp: Ditto.
3248         * svg/SVGGradientElement.cpp: Ditto.
3249         * svg/SVGImageElement.cpp: Ditto.
3250         * svg/SVGLangSpace.cpp: Ditto.
3251         * svg/SVGLineElement.cpp: Ditto.
3252         * svg/SVGLinearGradientElement.cpp: Ditto.
3253         * svg/SVGMarkerElement.cpp: Ditto.
3254         * svg/SVGMaskElement.cpp: Ditto.
3255         * svg/SVGPathElement.cpp: Ditto.
3256         * svg/SVGPatternElement.cpp: Ditto.
3257         * svg/SVGPolyElement.cpp: Ditto.
3258         * svg/SVGRadialGradientElement.cpp: Ditto.
3259         * svg/SVGRectElement.cpp: Ditto.
3260         * svg/SVGSVGElement.cpp: Ditto.
3261         * svg/SVGScriptElement.cpp: Ditto.
3262         * svg/SVGStopElement.cpp: Ditto.
3263         * svg/SVGStyleElement.cpp: Ditto.
3264         * svg/SVGStyledElement.cpp: Ditto.
3265         * svg/SVGStyledTransformableElement.cpp: Ditto.
3266         * svg/SVGTests.cpp: Ditto.
3267         * svg/SVGTextContentElement.cpp: Ditto.
3268         * svg/SVGTextElement.cpp: Ditto.
3269         * svg/SVGTextPathElement.cpp: Ditto.
3270         * svg/SVGTextPositioningElement.cpp: Ditto.
3271         * svg/SVGURIReference.cpp: Ditto.
3272         * svg/SVGUseElement.cpp: Ditto.
3273         * svg/SVGViewElement.cpp: Ditto.
3274         * svg/animation/SVGSMILElement.cpp: Ditto.
3275         * xml/XPathStep.cpp: Ditto.
3276
3277 2009-05-04  Pavel Feldman  <pfeldman@chromium.org>
3278
3279         Reviewed by Timothy Hatcher.
3280
3281         Do not instantiate hidden WebInspector panels. Otherwise they are hitting unimplemented InspectorController methods.
3282         https://bugs.webkit.org/show_bug.cgi?id=25520
3283
3284         * inspector/front-end/inspector.js:
3285         (WebInspector.loaded):
3286
3287 2009-05-04  Brady Eidson <beidson@apple.com>
3288
3289         Reviewed by Darin Adler.
3290
3291         <rdar://problem/6839881> With "Mail Contents of This Page" in Safari images don't appear in the Tiger Mail compose window
3292
3293         DocumentLoader::subresource() is the implementation for the WebKit API [WebDataSource subresourceForURL:] and has 
3294         particularly sticky behavior.  
3295
3296         If the DocumentLoader represents a WebArchive, this method should return ArchiveResources from that archive.  However, we 
3297         prefer CachedResources over ArchiveResources because they might represent fresher data than what was originally loaded 
3298         from the WebArchive.
3299
3300         In some instances, CachedResources are created and associated with the DocumentLoader but not immediately run through the 
3301         loading delegate machinery.  This was always a possibility, but the Preload Scanner made this significantly more likely.
3302
3303         When this happens and someone asks the WebDataSource for a subresource, it would prefer the CachedResource over an 
3304         ArchiveResource it has even if the CachedResource hasn't been loaded yet.  The CachedResource has nil data, so no
3305         WebResource is returned, and the client thinks the subresource doesn't exist even though it does.
3306
3307         This broke Tiger Mail and probably various other WebKit applications but has a fairly straightforward fix.
3308
3309         * loader/DocumentLoader.cpp:
3310         (WebCore::DocumentLoader::subresource): If there is a CachedResource but it hasn't been loaded yet, fallback to the
3311           ArchiveResource.
3312
3313 2009-05-04  Eric Carlson  <eric.carlson@apple.com>
3314
3315         Reviewed by Adam Roben.
3316         
3317         https://bugs.webkit.org/show_bug.cgi?id=25545
3318         Bug 25545: HTMLMediaElement: display anamorphic video correctly
3319         
3320         Tell QuickTime to use clean aperture mode so movies with non-square pixels are sized
3321         and displayed correctly.
3322
3323         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3324         (WebCore::MediaPlayerPrivate::createQTMovie): Ask QuickTime to use clean aperture mode.
3325         * platform/graphics/win/QTMovieWin.cpp:
3326         (QTMovieWin::load): Ditto. Add ASSERT to ensure that static movie property array isn't 
3327         filled beyond capacity.
3328
3329 2009-05-03  Mark Rowe  <mrowe@apple.com>
3330
3331         Reviewed by Darin Adler.
3332
3333         Fix <https://bugs.webkit.org/show_bug.cgi?id=25332>.
3334         Bug 25332: Plug-in inserted in to DOM of PluginDocument fails to load
3335
3336         Only the first plug-in in a PluginDocument can use the main resource data.  For all
3337         subsequent plug-ins, such as the plug-in that ClickToFlash inserts when swapping itself
3338         out for the real Flash plug-in, we need to load the resource data in the same manner
3339         as for other embedded plug-ins.
3340
3341         * loader/FrameLoader.cpp:
3342         (WebCore::FrameLoader::loadPlugin):
3343
3344 2009-05-04  Simon Hausmann  <simon.hausmann@nokia.com>
3345
3346         Rubber-stamped by Ariya Hidayat.
3347
3348         Update the qrc file for the Web Inspector in the Qt build
3349         with missing files.
3350
3351         * inspector/front-end/WebKit.qrc:
3352
3353 2009-05-03  Eric Seidel  <eric@webkit.org>
3354
3355         Reviewed by George Staikos.
3356
3357         Move absoluteRects and absoluteQuads into RenderSVGInline and remove absoluteTransform() usage
3358         https://bugs.webkit.org/show_bug.cgi?id=25532
3359
3360         * rendering/RenderSVGInline.cpp:
3361         (WebCore::RenderSVGInline::absoluteRects):
3362         (WebCore::RenderSVGInline::absoluteQuads):
3363         * rendering/RenderSVGInline.h:
3364         * rendering/RenderSVGTSpan.cpp:
3365         * rendering/RenderSVGTSpan.h:
3366         * rendering/RenderSVGTextPath.cpp:
3367         * rendering/RenderSVGTextPath.h:
3368
3369 2009-05-03  Eric Seidel  <eric@webkit.org>
3370
3371         Reviewed by George Staikos.
3372
3373         Move RenderSVGText off of localToAbsolute()
3374         https://bugs.webkit.org/show_bug.cgi?id=25532
3375
3376         * rendering/RenderSVGText.cpp:
3377         (WebCore::RenderSVGText::absoluteRects):
3378         (WebCore::RenderSVGText::absoluteQuads):
3379
3380 2009-05-03  Eric Seidel  <eric@webkit.org>
3381
3382         Reviewed by George Staikos.
3383
3384         Remove broken absoluteTransform() code from RenderSVGInlineText
3385         https://bugs.webkit.org/show_bug.cgi?id=25532
3386
3387         This improved SVG text focus rings.
3388         This also improved SVG.getScreenCTM() results.
3389
3390         SVGSVGElement::getScreenCTM was passing "true" for the second argument in
3391         localToAbsolute, which is "fixed" it meant to pass "true" for the
3392         third argument (useTransforms).  That change alone caused no layout test changes, however
3393         before I fixed this, it was hitting ASSERT(!fixed) in RenderSVGRoot::mapLocalToContainer
3394
3395         mapLocalToContainer implementations really should be shared,
3396         but I'll do that in a later patch.
3397
3398         * rendering/RenderSVGInlineText.cpp:
3399         (WebCore::RenderSVGInlineText::styleDidChange):
3400         (WebCore::RenderSVGInlineText::absoluteQuads):
3401         (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
3402         (WebCore::RenderSVGInlineText::computeRepaintQuadForRange):
3403         * rendering/RenderSVGInlineText.h:
3404         * rendering/RenderSVGRoot.cpp:
3405         (WebCore::RenderSVGRoot::mapLocalToContainer):
3406         * rendering/RenderSVGRoot.h:
3407         * rendering/RenderSVGText.cpp:
3408         (WebCore::RenderSVGText::mapLocalToContainer):
3409         * rendering/RenderSVGText.h:
3410         * svg/SVGSVGElement.cpp:
3411         (WebCore::SVGSVGElement::getScreenCTM):
3412
3413 2009-05-03  Eric Seidel  <eric@webkit.org>
3414
3415         Reviewed by George Staikos.
3416
3417         Remove dead code from RenderPath
3418         https://bugs.webkit.org/show_bug.cgi?id=25532
3419
3420         * rendering/RenderPath.cpp:
3421         * rendering/RenderPath.h:
3422
3423 2009-05-03  Eric Seidel  <eric@webkit.org>
3424
3425         Reviewed by George Staikos.
3426
3427         Share layout code between RenderSVGViewportContainer and RenderSVGContainer
3428         https://bugs.webkit.org/show_bug.cgi?id=25532
3429
3430         * rendering/RenderSVGContainer.cpp:
3431         (WebCore::RenderSVGContainer::layout):
3432         * rendering/RenderSVGContainer.h:
3433         (WebCore::RenderSVGContainer::calcViewport):
3434         * rendering/RenderSVGViewportContainer.cpp:
3435         (WebCore::RenderSVGViewportContainer::applyViewportClip):
3436         * rendering/RenderSVGViewportContainer.h:
3437
3438 2009-05-03  Eric Seidel  <eric@webkit.org>
3439
3440         Reviewed by George Staikos.
3441
3442         Remove redundant disableLayoutState() calls
3443         https://bugs.webkit.org/show_bug.cgi?id=25532
3444
3445         * rendering/RenderForeignObject.cpp:
3446         (WebCore::RenderForeignObject::layout):
3447         * rendering/RenderSVGContainer.cpp:
3448         (WebCore::RenderSVGContainer::layout):
3449         * rendering/RenderSVGViewportContainer.cpp:
3450         (WebCore::RenderSVGViewportContainer::layout):
3451
3452 2009-05-03  Eric Seidel  <eric@webkit.org>
3453
3454         Reviewed by George Staikos.
3455
3456         Simplify RenderForeignObject::paint and fix a repaint bug.
3457         Paint now calls applyTransformToPaintInfo which correctly transforms the damage rect.
3458         https://bugs.webkit.org/show_bug.cgi?id=16939
3459
3460         * rendering/RenderForeignObject.cpp:
3461         (WebCore::RenderForeignObject::paint):
3462
3463 2009-05-03  Hironori Bono  <hbono@chromium.org>
3464
3465         Reviewed by Eric Seidel.
3466
3467         Test: editing/spelling/spellcheck-attribute.html
3468
3469         Bug 14552: Add a way to disable spell checking for specific element
3470         https://bugs.webkit.org/show_bug.cgi?id=14552
3471
3472         For compatibility with Firefox, this code ascends the DOM tree when an element does
3473         not have its "spellcheck" attribute.
3474
3475         * editing/Editor.cpp:
3476         (WebCore::markMisspellingsOrBadGrammar): Retrieve the value of the "spellcheck"
3477         attribute of an element before calling a spell checker or a grammar checker.
3478         * html/HTMLAttributeNames.in: Add a "spellcheck" attribute.
3479
3480 2009-05-03  Sam Weinig  <sam@webkit.org>
3481
3482         Roll JSC API number marshaling back in one last time (I hope).
3483
3484 2009-05-03  Sam Weinig  <sam@webkit.org>
3485
3486         Roll JSC API number marshaling back out. It still breaks windows.
3487
3488 2009-05-03  Sam Weinig  <sam@webkit.org>
3489
3490         Roll JSC API number marshaling back in.
3491
3492 2009-05-02  Dan Bernstein  <mitz@apple.com>
3493
3494         Reviewed by Darin Adler.
3495
3496         - another fix for <rdar://problem/6617298> Typing delete on an unquoted
3497           blank line unquotes the preceding, quoted blank line
3498
3499         Test: editing/deleting/type-delete-after-quote-2.html
3500
3501         * editing/DeleteSelectionCommand.cpp:
3502         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize
3503         m_startsAtEmptyLine.
3504         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): When the
3505         selection starts at an empty line, do not prevent the merging of blocks.
3506         This is what allows the text after the line break to be merged into the
3507         block containing the line break. Also set m_startsAtEmptyLine to true.
3508         (WebCore::DeleteSelectionCommand::mergeParagraphs): If
3509         m_startsAtEmptyLine is true, create a placeholder BR to serve as the
3510         merge destination.
3511         * editing/DeleteSelectionCommand.h:
3512
3513 2009-05-02  Geoffrey Garen  <ggaren@apple.com>
3514
3515         Reviewed by Sam Weinig.
3516
3517         Simplified null-ish JSValues.
3518         
3519         Replaced calls to noValue() with calls to JSValue() (which is what
3520         noValue() returned). Removed noValue().
3521         
3522         Removed "JSValue()" initialiazers, since default construction happens...
3523         by default.
3524
3525         * bindings/js/JSDOMBinding.cpp:
3526         (WebCore::setDOMException):
3527         * bindings/js/JSDOMWindowCustom.cpp:
3528         (WebCore::JSDOMWindow::open):
3529         (WebCore::JSDOMWindow::showModalDialog):
3530         * bindings/js/JSEventListener.cpp:
3531         (WebCore::JSEventListener::handleEvent):
3532         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3533         (WebCore::JSJavaScriptCallFrame::evaluate):
3534         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3535         (WebCore::JSSQLResultSetRowList::item):
3536         * bindings/js/ScriptController.cpp:
3537         (WebCore::ScriptController::evaluate):
3538         * bindings/js/ScriptValue.h:
3539         (WebCore::ScriptValue::ScriptValue):
3540         (WebCore::ScriptValue::hasNoValue):
3541         * bindings/js/WorkerScriptController.cpp:
3542         (WebCore::WorkerScriptController::evaluate):
3543         * bridge/jni/jni_instance.cpp:
3544         (JavaInstance::invokeMethod):
3545         * bridge/jni/jni_runtime.cpp:
3546         (JavaField::dispatchValueFromInstance):
3547         (JavaField::dispatchSetValueToInstance):
3548         * bridge/runtime.h:
3549         (JSC::Bindings::Instance::invokeConstruct):
3550
3551 2009-05-02  Antti Koivisto  <antti@apple.com>
3552
3553         Reviewed by Dan Bernstein.
3554
3555         <rdar://problem/6631735> Crash in WebCore::CSSStyleSelector::applyProperty(int, WebCore::CSSValue*) (RenderStyle.h:454)
3556         
3557         Avoid re-entering style selector from load delegates by not issuing resource loads synchronously during attach().
3558
3559         * dom/ContainerNode.cpp:
3560         (WebCore::ContainerNode::suspendPostAttachCallbacks):
3561         (WebCore::ContainerNode::resumePostAttachCallbacks):
3562         (WebCore::ContainerNode::attach):
3563         * dom/Element.cpp:
3564         (WebCore::Element::attach):
3565         * loader/loader.cpp:
3566         (WebCore::Loader::Loader):
3567         (WebCore::Loader::servePendingRequests):
3568         (WebCore::Loader::suspendPendingRequests):
3569         (WebCore::Loader::resumePendingRequests):
3570         (WebCore::Loader::Host::servePendingRequests):
3571         * loader/loader.h:
3572         (WebCore::Loader::isSuspendingPendingRequests):
3573
3574 2009-05-02  Darin Adler  <darin@apple.com>
3575
3576         Reviewed by Dan Bernstein.
3577
3578         Bug 25352: REGRESSION(r42322): style isn't applied at bmwusa.com
3579         https://bugs.webkit.org/show_bug.cgi?id=25352
3580         rdar://problem/6823239
3581
3582         Test: http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html
3583
3584         * platform/network/HTTPParsers.cpp:
3585         (WebCore::extractMIMETypeFromMediaType): Allow comma as a separator.
3586
3587 2009-05-02  Darin Adler  <darin@apple.com>
3588
3589         Reviewed by Brady Eidson.
3590
3591         Bug 25491: WebFrame leak when a subframe removes itself
3592         https://bugs.webkit.org/show_bug.cgi?id=25491
3593         rdar://problem/6833859
3594
3595         Test: fast/loading/subframe-removes-itself.html
3596
3597         * loader/FrameLoader.cpp:
3598         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): When isStopping is true,
3599         treat load as complete, even if isLoadingInAPISense is still returning true.
3600
3601 2009-05-01  Sam Weinig  <sam@webkit.org>
3602
3603         Roll out JavaScriptCore API number marshaling.
3604
3605         * bindings/js/ScriptValue.cpp:
3606         (WebCore::ScriptValue::isEqual):
3607         * inspector/JavaScriptProfile.cpp:
3608         (WebCore::getHeadCallback):
3609         * inspector/JavaScriptProfileNode.cpp:
3610         (WebCore::getChildren):
3611         (WebCore::getParent):
3612         (WebCore::getHead):
3613
3614 2009-05-01  Sam Weinig  <sam@webkit.org>
3615
3616         Fix build.
3617
3618         * workers/WorkerContext.idl:
3619
3620 2009-05-01  Sam Weinig  <sam@webkit.org>
3621
3622         Reviewed by Oliver Hunt.
3623
3624         Cleanup workers code a bit.
3625