67ab2a55205c687444bc80fab0d36262db4f354e
[WebKit-https.git] / WebCore / ChangeLog
1 2009-05-11  Chris Fleizach  <cfleizach@apple.com>
2
3         Reviewed by Darin Adler.
4
5         Bug 25700: Regression:WebKit:cmd-left and cmd-right use to go to the beginning and end of a line in Mail
6         https://bugs.webkit.org/show_bug.cgi?id=25700
7
8         Keyboard selection movement handlers need to also watch for the Cmd key when Accessibility is enabled.
9         Note: This code is only used when accessibility is enabled.
10
11         * page/EventHandler.cpp:
12         (WebCore::EventHandler::handleKeyboardSelectionMovement):
13
14 2009-05-11  David Kilzer  <ddkilzer@apple.com>
15
16         Bug 25087: Test for ENABLE_FOO macros consistently in IDL files
17
18         <https://bugs.webkit.org/show_bug.cgi?id=25087>
19
20         Reviewed by Timothy Hatcher.
21
22         Change tests for ENABLE macros to check for both existence and
23         value:
24
25         - Negative:  #if !defined(ENABLE_FOO) || !ENABLE_FOO
26         - Positive:  #if defined(ENABLE_FOO) && ENABLE_FOO
27
28         * css/CSSCharsetRule.idl:
29         * css/CSSPrimitiveValue.idl:
30         * css/RGBColor.idl:
31         * dom/Attr.idl:
32         * dom/DOMCoreException.idl:
33         * dom/DOMImplementation.idl:
34         * dom/Document.idl:
35         * dom/Element.idl:
36         * dom/Event.idl:
37         * dom/EventException.idl:
38         * dom/KeyboardEvent.idl:
39         * dom/MessagePort.idl:
40         * dom/MouseEvent.idl:
41         * dom/Node.idl:
42         * dom/ProcessingInstruction.idl:
43         * dom/Range.idl:
44         * dom/RangeException.idl:
45         * dom/WheelEvent.idl:
46         * html/CanvasPixelArray.idl:
47         * html/HTMLAnchorElement.idl:
48         * html/HTMLAppletElement.idl:
49         * html/HTMLAreaElement.idl:
50         * html/HTMLBaseFontElement.idl:
51         * html/HTMLCanvasElement.idl:
52         * html/HTMLDocument.idl:
53         * html/HTMLElement.idl:
54         * html/HTMLEmbedElement.idl:
55         * html/HTMLFrameElement.idl:
56         * html/HTMLIFrameElement.idl:
57         * html/HTMLImageElement.idl:
58         * html/HTMLInputElement.idl:
59         * html/HTMLLinkElement.idl:
60         * html/HTMLObjectElement.idl:
61         * html/HTMLOptionElement.idl:
62         * html/HTMLOptionsCollection.idl:
63         * html/HTMLSelectElement.idl:
64         * html/HTMLStyleElement.idl:
65         * html/ImageData.idl:
66         * inspector/InspectorController.idl:
67         * loader/appcache/DOMApplicationCache.idl:
68         * page/Console.idl:
69         * page/Coordinates.idl:
70         * page/DOMSelection.idl:
71         * page/DOMWindow.idl:
72         * page/Geoposition.idl:
73         * page/History.idl:
74         * page/Location.idl:
75         * page/Navigator.idl:
76         * svg/SVGElementInstance.idl:
77         * svg/SVGException.idl:
78         * workers/WorkerContext.idl:
79         * xml/XMLHttpRequestException.idl:
80         * xml/XPathException.idl:
81
82 2009-05-11  Norbert Leser  <norbert.leser@nokia.com>
83
84         Reviewed by Darin Adler.
85
86         Bug 24538: class/struct mixup in forward declarations
87         https://bugs.webkit.org/show_bug.cgi?id=24538
88
89         * inspector/InspectorResource.h:
90         * loader/CachedFont.h:
91         * loader/appcache/ApplicationCache.h:
92         * rendering/RenderBlock.h:
93         * rendering/RootInlineBox.h:
94         * rendering/SVGInlineTextBox.h:
95         * svg/SVGGlyphElement.h:
96         * svg/SVGHKernElement.h:
97
98 2009-05-11  Norbert Leser  <norbert.leser@nokia.com>
99
100         Reviewed by Darin Adler.
101
102         Bug 24539: Unresolved CSSMutableStyleDeclaration
103         https://bugs.webkit.org/show_bug.cgi?id=24539
104
105         The Symbian tools can't compile and link this without this include.
106         It's not clear why this is different from other toolsets or why it affects
107         only this header file, but adding the include for now.
108
109         * editing/RemoveCSSPropertyCommand.h: Added include of CSSMutableStyleDeclaration.h.
110
111 2009-05-11  Alice Liu  <alice.liu@apple.com>
112
113         Reviewed by Dan Bernstein.
114
115         https://bugs.webkit.org/show_bug.cgi?id=25701
116         REGRESSION(r38788 & r42020): styled searchfields look wrong on Windows, affects Facebook
117
118         Test: fast/forms/search-styled.html
119
120         * css/themeWin.css:
121         Remove the overriding of -webkit-appearance for searchfields. This will cause background
122         images to not be honored when styling searchfields
123
124         * rendering/RenderThemeWin.cpp:
125         (WebCore::RenderThemeWin::adjustSearchFieldStyle):
126         * rendering/RenderThemeWin.h:
127         Re-instate final adjustments to searchfield styling that were removed in r42020
128
129 2009-05-11  Brady Eidson  <beidson@apple.com>
130
131         Fix Windows build
132
133         * platform/network/cf/ResourceHandleCFNet.cpp:
134         (WebCore::createCFURLResponseWithDefaultMIMEType):
135
136 2009-05-11  Nate Chapin  <japhet@google.com>
137
138         Reviewed by Dimitri Glazkov.
139
140         https://bugs.webkit.org/show_bug.cgi?id=25626
141         Update V8ElementCustom.cpp to match the current API of Node.
142
143         * bindings/v8/custom/V8ElementCustom.cpp:
144         (WebCore::ACCESSOR_SETTER): Changed a couple of method names to match current names.
145         (WebCore::ACCESSOR_GETTER): Changed a method name to match current name.
146
147 2009-05-11  Brady Eidson  <beidson@apple.com>
148
149         Fix Windows build
150
151         * platform/network/cf/ResourceHandleCFNet.cpp:
152         (WebCore::createCFURLResponseWithDefaultMIMEType):
153         (WebCore::WebCoreSynchronousLoader::load):
154
155 2009-05-11  Brady Eidson  <beidson@apple.com>
156
157         Fix Windows build
158
159         * platform/network/cf/ResourceHandleCFNet.cpp:
160         (WebCore::createCFURLResponseWithDefaultMIMEType):
161
162 2009-05-11  Nate Chapin  <japhet@google.com>
163
164         Reviewed by Dimitri Glazkov.
165
166         V8CustomBinding.cpp is missing a header file
167
168         https://bugs.webkit.org/show_bug.cgi?id=25644
169
170         * bindings/v8/custom/V8CustomBinding.cpp: Added #include "V8Proxy.h".
171
172 2009-05-11  Aaron Boodman  <aa@chromium.org>
173
174         Reviewed by Darin Fisher.
175
176         https://bugs.webkit.org/show_bug.cgi?id=25634
177         Change V8Proxy::retrieveActiveFrame() call sites to V8Proxy::retrieveFrameForEnteredContext().
178
179         Also, change instances of ScriptController::retrieveActiveFrame() to
180         V8::retrieveFrameForEnteredContext() for consistency.
181
182
183         See http://codereview.chromium.org/113085 for the corresponding Chromium change.
184
185         * bindings/v8/custom/V8DOMWindowCustom.cpp:
186         (WebCore::V8Custom::WindowSetLocation):
187         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
188         (WebCore::CALLBACK_FUNC_DECL):
189         * bindings/v8/custom/V8LocationCustom.cpp:
190         (WebCore::navigateIfAllowed):
191         (WebCore::ACCESSOR_SETTER):
192         (WebCore::CALLBACK_FUNC_DECL):
193
194 2009-05-11  Brady Eidson  <beidson@apple.com>
195
196         Reviewed by Darin Adler.
197
198         <rdar://problem/5972751> Local image files (BMP, ico) can be misidentified as HTML.
199
200         First part of the fix - Disable content sniffing for file resources which never should've been happening anyways.
201         Second part of the fix - If the networking layer doesn't give us back a MIME type default to "application/octet-stream".
202
203         * platform/MIMETypeRegistry.cpp:
204         (WebCore::defaultMIMEType): "application/octet-stream"
205         * platform/MIMETypeRegistry.h:
206
207         * platform/network/ResourceHandle.cpp:
208         (WebCore::ResourceHandle::create): If content sniffing is true, double check with "shouldContentSniffRequest()" which
209           might override it to false.
210         (WebCore::ResourceHandle::shouldContentSniffURL): Return false for file:// urls, true for everything else.
211         * platform/network/ResourceHandle.h:
212
213         * platform/network/cf/ResourceHandleCFNet.cpp:
214         (WebCore::createCFURLResponseWithDefaultMIMEType): Create a copy of the CFURLRequest with the default MIME type instead
215           of null.
216         (WebCore::didReceiveResponse): If the MIME type for the response is null, create a copy with the default MIME type.
217         (WebCore::WebCoreSynchronousLoader::load): Use shouldContentSniffRequest() to make synchronous loads have the same 
218           sniffing policy as asynchronous loads.  Also, correct a null MIME type by creating a copy with the default type.
219
220         * platform/network/mac/ResourceHandleMac.mm:
221         (WebCore::ResourceHandle::loadResourceSynchronously): Use shouldContentSniffRequest() to make synchronous loads have the
222           same sniffing policy as asynchronous loads.
223         (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]): Set up the [NSURLResponse MIMEType] swizzling if
224           it hasn't been set up yet.
225         (_web_NSURLResponse_MIMEType): Either return the actual MIME type of the response, or the default MIME type if it's nil.
226
227         * xml/XMLHttpRequest.cpp:
228         (WebCore::XMLHttpRequest::loadRequestAsynchronously): Remove the workaround added in r29370 as it will now be covered by
229           the new mechanism.
230
231 2009-05-11  David Kilzer  <ddkilzer@apple.com>
232
233         Fix typo "APPLICATION_CAHE_DYNAMIC_ENTRIES" to "APPLICATION_CACHE_DYNAMIC_ENTRIES"
234
235         This was added in r39816 to disable dynamic entries.  They are
236         still disabled after fixing the typo since this feature define
237         is never set anywhere.
238
239         * bindings/js/JSDOMApplicationCacheCustom.cpp:
240         * loader/appcache/DOMApplicationCache.idl:
241
242 2009-05-11  Dmitry Titov  <dimich@chromium.org>
243
244         Reviewed by Alexey Proskuryakov and Adam Roben.
245
246         https://bugs.webkit.org/show_bug.cgi?id=25348
247         Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
248
249         Most of the change is in WTF.
250         Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
251         method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
252         is now a class rather then an integer.
253         Also, there is no need to initialize threadID in constructors to 0 now.
254
255         * dom/XMLTokenizerLibxml2.cpp:
256         (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
257         since now ThreadIdentifier needs construction and we avoid having global initializers.
258         (WebCore::matchFunc): use the new accessor function.
259         (WebCore::openFunc): ditto.
260         (WebCore::createStringParser): ditto.
261         (WebCore::createMemoryParser): ditto.
262         * loader/icon/IconDatabase.cpp:
263         (WebCore::IconDatabase::open):
264         * platform/sql/SQLiteDatabase.cpp:
265         (WebCore::SQLiteDatabase::SQLiteDatabase):
266         (WebCore::SQLiteDatabase::close):
267         * storage/DatabaseThread.cpp:
268         (WebCore::DatabaseThread::start):
269         (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
270         * storage/LocalStorageThread.cpp:
271         (WebCore::LocalStorageThread::start):
272         (WebCore::LocalStorageThread::scheduleImport):
273         (WebCore::LocalStorageThread::scheduleSync):
274         (WebCore::LocalStorageThread::terminate):
275         * workers/WorkerThread.cpp:
276         (WebCore::WorkerThread::start):
277         (WebCore::WorkerThread::WorkerThread):
278         (WebCore::WorkerThread::start):
279
280 2009-05-11  Brady Eidson  <beidson@apple.com>
281
282         Reviewed by Darin Adler.
283
284         Remove unused header that declared one function which was never defined anywhere.
285
286         * WebCore.vcproj/WebCore.vcproj:
287         * platform/network/cf/ResourceResponseCFNet.cpp: Change to include ResourceResponse.h (which really means
288           platform/network/cf/ResourceResponse.h)
289         * platform/network/cf/ResourceResponseCFNet.h: Removed.
290
291 2009-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
292
293         Reviewed by Timothy Hatcher.
294
295         https://bugs.webkit.org/show_bug.cgi?id=25213
296         Fix assert during Inspector destruction.
297
298         * inspector/InspectorController.cpp:
299         (WebCore::InspectorController::inspectedPageDestroyed): Moved closing
300             inspector above removing InspectorController object to fix JS errors,
301             added clearing inspector page ptr.
302
303 2009-05-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
304
305         Reviewed by Holger Freyther.
306
307         [Qt] Make sure that public APIs are properly exported on all Qt platforms
308         https://bugs.webkit.org/show_bug.cgi?id=25601
309
310         * WebCore.pro: Define QT_MAKEDLL for all non-static builds, not just for win
311
312 2009-05-11  Csaba Osztrogonac  <oszi@inf.u-szeged.hu>
313
314         Reviewed by Holger Freyther.
315
316         https://bugs.webkit.org/show_bug.cgi?id=24284
317
318         * WebCore.pro: duplicated values removed from INCLUDEPATH
319
320 2009-05-11  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
321
322         Reviewed by Eric Seidel.
323
324         Build fix Symbian; clean Up WebKit/Qt if ENABLE_NETSCAPE_PLUGIN_API=0
325         https://bugs.webkit.org/show_bug.cgi?id=24688
326
327         * WebCore.pro: Use platform independent plugin stubs if ENABLE_NETSCAPE_PLUGIN_API=0
328         * platform/qt/TemporaryLinkStubs.cpp: Remove stub functions for plugins
329
330 2009-05-10  Dan Bernstein  <mitz@apple.com>
331
332         Reviewed by Darin Adler.
333
334         - fix a crash when deactivating a document that had adopted a <form>
335           element
336
337         Test: fast/dom/HTMLFormElement/document-deactivation-callback-crash.html
338
339         * html/HTMLFormElement.cpp:
340         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Corrected the
341         logic here: <form> elements should be registered for document activation
342         callbacks if and only if autocomplete is off.
343
344 2009-05-10  Alexey Proskuryakov  <ap@webkit.org>
345
346         Reviewed by Dan Bernstein.
347
348         <rdar://problem/6867598> REGRESSION (r42483): Have to enter credentials twice when trying
349         to view protected MobileMe video
350
351         Add a temporary workaround.
352
353         * platform/network/ResourceHandleInternal.h:
354         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
355         Added an m_useSiteSpecificQuirks boolean (Mac-only). A Frame pointer is only available when
356         starting a request, so we need to store this data for later use.
357
358         * platform/network/mac/ResourceHandleMac.mm:
359         (WebCore::ResourceHandle::start): Initialize m_useSiteSpecificQuirks.
360         (WebCore::ResourceHandle::receivedCredential): Use per-session credentials with gallery.me.com.
361
362 2009-05-10  Alexey Proskuryakov  <ap@webkit.org>
363
364         Reviewed by Dan Bernstein.
365
366         <rdar://problem/6870383> Have to enter credentials twice when downloading from a protected page
367
368         * platform/network/cf/AuthenticationCF.cpp:
369         * platform/network/cf/AuthenticationCF.h:
370         (WebCore::WebCoreCredentialStorage::set):
371         (WebCore::WebCoreCredentialStorage::get):
372         * platform/network/cf/ResourceHandleCFNet.cpp:
373         Move WebCore credential storage to AuthenticationCF, so that WebKit could use it (macthing
374         an earlier Mac change).
375
376 2009-05-10  Alexey Proskuryakov  <ap@webkit.org>
377
378         Reviewed by Dan Bernstein.
379
380         Match newer XMLHttpRequest draft and make withCredential setter raise an exception when
381         called at a wrong time.
382
383         No test, because we are waiting for a newer version of system frameworks to test the attribute.
384
385         * xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::setWithCredentials):
386         * xml/XMLHttpRequest.h:
387         * xml/XMLHttpRequest.idl:
388         Raise INVALID_STATE_ERR if the state is not OPENED, or if the send() flag is true.
389
390 2009-05-10  Dan Bernstein  <mitz@apple.com>
391
392         Reviewed by Dave Kilzer.
393
394         - fix https://bugs.webkit.org/show_bug.cgi?id=25602
395           REGRESSION: fast/overflow/overflow-focus-ring.html seems double-drawn
396           on ToT
397
398         Test: fast/layers/self-painting-outline.html
399
400         * rendering/RenderLayer.cpp:
401         (WebCore::RenderLayer::paintLayer): Paint the layer's own outline only
402         if it is a self-painting layer.
403
404 2009-05-09  Dan Bernstein  <mitz@apple.com>
405
406         Reviewed by Geoffrey Garen and Mark Rowe.
407
408         - fix https://bugs.webkit.org/show_bug.cgi?id=25666
409           Assertion failure in Node::setDocument()
410           (willMoveToNewOwnerDocumentWasCalled) when adopting a <form> element
411
412         Test: fast/dom/HTMLFormElement/adopt-assertion.html
413
414         * html/HTMLFormElement.cpp:
415         (WebCore::HTMLFormElement::willMoveToNewOwnerDocument): Overrides of
416         this method are required to call the base class implementation. Do it.
417         (WebCore::HTMLFormElement::didMoveToNewOwnerDocument): Ditto.
418
419 2009-03-29  Kevin Ollivier  <kevino@theolliviers.com>
420
421         Reviewed by Maciej Stachowiak.
422
423         WebCore::DocumentLoader::mainReceivedError now asserts if error.isNull(), so
424         make sure CURL does not create empty ResourceError() objects.
425         
426         https://bugs.webkit.org/show_bug.cgi?id=24927
427
428         * platform/network/curl/ResourceHandleManager.cpp:
429         (WebCore::ResourceHandleManager::downloadTimerCallback):
430
431 2009-05-09  Gustavo Noronha Silva  <gns@gnome.org>
432
433         Build fix, adding missing files to make dist.
434
435         * GNUmakefile.am:
436
437 2009-05-08  Simon Fraser  <simon.fraser@apple.com>
438
439         Reviewed by Dan Bernstein
440         
441         https://bugs.webkit.org/show_bug.cgi?id=25656
442         
443         Reduce the inline capacity of CSSParserValueList's m_values
444         vector to reduce the size of CSSParserValueList from 544 to 160 bytes in 64-bit.
445
446         * css/CSSParserValues.h:
447
448 2009-05-08  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
449
450         Not reviewed. Used sort-Xcode-project-file to sort the XCode project file - it hasn't been done for a while.
451
452         * WebCore.xcodeproj/project.pbxproj:
453
454 2009-05-08  Dan Bernstein  <mitz@apple.com>
455
456         Reviewed by Darin Adler.
457
458         - fix <rdar://problem/6864786> REGRESSION: Crash below
459           ApplyStyleCommand::applyInlineStyleToRange when reviewing a patch in
460           Bugzilla
461
462         Test: editing/style/apply-through-end-of-document.html
463
464         * editing/ApplyStyleCommand.cpp:
465         (WebCore::ApplyStyleCommand::applyInlineStyleToRange): Added a null
466         check for the case of a range extending through the end of the document,
467         in which pastEndNode is 0.
468
469 2009-05-08  Douglas R. Davidson  <ddavidso@apple.com>
470
471         Reviewed by Beth Dakin.
472
473         <rdar://problem/6857446> REGRESSION (Safari 3-4): Contraction base 
474         marked as misspelled even though contraction is a word
475         Make sure spelling underline does not persist on words like 
476         <doesn't>.  
477
478         * editing/TypingCommand.cpp:
479         (WebCore::TypingCommand::typingAddedToOpenCommand):
480
481 2009-05-08  Kevin Watters  <kevinwatters@gmail.com>
482
483         Reviewed by Kevin Ollivier.
484
485         Make sure the path's refdata isn't deleted before we're done with the object.
486         
487         https://bugs.webkit.org/show_bug.cgi?id=25652
488
489         * platform/graphics/wx/PathWx.cpp:
490         (WebCore::Path::~Path):
491         (WebCore::Path::Path):
492         (WebCore::Path::translate):
493
494 2009-05-08  Kevin Watters  <kevinwatters@gmail.com>
495
496         Reviewed by Darin Adler.
497
498         Fix for memory leak on Mac.
499         
500         https://bugs.webkit.org/show_bug.cgi?id=25650
501
502         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
503         (wxFontProperties::wxFontProperties):
504
505 2009-05-08  Beth Dakin  <bdakin@apple.com>
506
507         Reviewed by Dan Bernstein.
508
509         <rdar://problem/6857446> REGRESSION (r37591): Cannot print or 
510         preview from maps.yandex.ru
511
512         We need to fall into the stretchesToViewHeight() quirk when we are 
513         printing and we are the root and the root has percentage height OR 
514         when we are the body and the root has percentage height. Otherwise 
515         we have a height of 0 and can run into painting troubles.
516
517         * rendering/RenderBox.cpp:
518         (WebCore::RenderBox::calcHeight):
519
520 2009-05-08  Douglas Davidson  <ddavidso@apple.com>
521
522         Reviewed by Darin Adler.
523
524         Fixes for <rdar://problem/6852771>.
525         Prevent text checking replacement immediately after an apostrophe
526         and automatic link addition except immediately after typing.
527
528         * editing/Editor.cpp:
529         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
530
531 2009-05-08  Eric Carlson  <eric.carlson@apple.com>
532
533         Reviewed by Darin Adler.
534         
535         https://bugs.webkit.org/show_bug.cgi?id=25627
536         Bug 25627: HTMLMediaElement: some errors should fire on <source> elements
537
538         Update for HTML5 spec change to fire 'error' events on <source> element
539         when there is a failure while processing/loading a <source>.
540
541         Test: media/video-source-error.html
542
543         * html/HTMLMediaElement.cpp:
544         (WebCore::HTMLMediaElement::enqueueEvent): Remove white-space.
545         (WebCore::HTMLMediaElement::loadInternal): Call cancelPendingEventsAndCallbacks instead
546         of just calling m_pendingEvents.clear() as we now also need to cancel pending errors on
547         all <source> element. 
548         (WebCore::HTMLMediaElement::selectMediaResource): Call isSafeToLoadURL() here instead of in
549         loadResource() as we need to report errors differently depending on the type of failure. Use
550         KURL instead of String.
551         (WebCore::HTMLMediaElement::loadNextSourceChild): nextSourceChild -> selectNextSourceChild.
552         Fail silently when there are no more <source> canditates because that is what spec mandates.
553         Keep url as KURL instead of converting to String.
554         (WebCore::HTMLMediaElement::loadResource): ASSERT that the URL is safe to load as we now 
555         assume the safety check now done before this function. Takes KURL instead of String.
556         (WebCore::HTMLMediaElement::isSafeToLoadURL): New, checks to see if a url is safe to load, logs
557         failure if not.
558         (WebCore::HTMLMediaElement::noneSupported): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
559         (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): New, clear all events pending on
560         the media and all source elements.
561         (WebCore::HTMLMediaElement::setNetworkState): Fire an error on the source element when the 
562         the failure happened while processing one. Only call nonSupported() when the failure happened
563         while processing media element 'src' attribute.
564         (WebCore::HTMLMediaElement::havePotentialSourceChild): nextSourceChild -> selectNextSourceChild.
565         Deal with selectNextSourceChild returning a KURL instead of a String.
566         (WebCore::HTMLMediaElement::selectNextSourceChild): Renamed from nextSourceChild, add optional
567         param to control whether or not errors are fired on a source element when it will not be used.
568         Check safety of url here instead of waiting until loadResource(). Return a KURL instead of a
569         String.
570         (WebCore::HTMLMediaElement::initialURL): nextSourceChild -> selectNextSourceChild. Keep url as
571         a KURL instead of a String.
572         * html/HTMLMediaElement.h:
573         (WebCore::HTMLMediaElement::):
574
575         * html/HTMLSourceElement.cpp:
576         (WebCore::HTMLSourceElement::HTMLSourceElement): Initialize timer related variables.
577         (WebCore::HTMLSourceElement::scheduleErrorEvent): New, start one-shot timer to fire an error
578         event ASAP.
579         (WebCore::HTMLSourceElement::cancelPendingErrorEvent): New, cancel pending error event.
580         (WebCore::HTMLSourceElement::errorEventTimerFired): New, fire error event if it has not been
581         cancelled.
582         * html/HTMLSourceElement.h:
583
584         * html/MediaError.h: 
585         (WebCore::MediaError::): MEDIA_ERR_NONE_SUPPORTED -> MEDIA_ERR_SRC_NOT_SUPPORTED
586         * html/MediaError.idl: Ditto
587
588 2009-05-08  Dan Bernstein  <mitz@apple.com>
589
590         Reviewed by Maciej Stachowiak.
591
592         - fix <rdar://problem/6859955> Undoing typed text after selecting all
593           leaves non-text areas highlighted
594
595         Test: fast/repaint/selection-clear.html
596
597         When RenderView::clearSelection() is called from
598         SelectionController::nodeWillBeRemoved(), selected renderers may already
599         be marked for layout, which means that they can no longer compute
600         their selection repaint info. Instead, an empty IntRect (or GapRects) is
601         returned, leading to incomplete repaint.
602
603         The fix is not to rely on individual renderers when clearing the
604         selection, but instead, cache the bounding rectangle of the selected
605         blocks' GapRects when setting the selection, and invalidate that
606         entire rectangle when clearing it.
607
608         * rendering/RenderView.cpp:
609         (WebCore::RenderView::setSelection): Added a parameter saying whether
610         the repainting of selected blocks should include both
611         previously-selected areas and newly-selected areas or only
612         newly-selected areas. The default is both. Also compute
613         m_cachedSelectionBounds to be the bounding rectangle of the
614         new selection's BlockSelectionInfos' GapRects.
615         (WebCore::RenderView::clearSelection): Repaint m_cachedSelectionBounds,
616         and tell setSelection() that it should not paint areas that were in
617         the old selection's BlockSelectionInfos' GapRects.
618         * rendering/RenderView.h:
619         (WebCore::RenderView::):
620
621 2009-05-08  Alexey Proskuryakov  <ap@webkit.org>
622
623         Reviewed by Maciej Stachowiak.
624
625         <rdar://problem/6868773> NPN_GetAuthenticationInfo does not work with non-permanent credentials
626
627         * WebCore.base.exp:
628         * platform/network/mac/AuthenticationMac.h:
629         (WebCore::WebCoreCredentialStorage::set):
630         (WebCore::WebCoreCredentialStorage::get):
631         * platform/network/mac/AuthenticationMac.mm:
632         * platform/network/mac/ResourceHandleMac.mm:
633         Moved WebCoreCredentialStorage to AuthenticationMac, so that it could be used from WebKit.
634
635 2009-05-08  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
636
637         Reviewed by Simon Hausmann.
638
639         Fix the Qt build, add missing JSC_HOST_CALL macros to the runtime
640         call methods.
641
642         * bridge/qt/qt_runtime.h:
643
644 2009-05-08  Jan Michael Alonzo  <jmalonzo@webkit.org>
645
646         Reviewed by Mark Rowe.
647
648         Add missing strings to localizedStrings.js
649         https://bugs.webkit.org/show_bug.cgi?id=25635
650
651         Add the strings "Delete", "Key", "Refresh" and "Value".
652
653         * English.lproj/localizedStrings.js:
654
655 2009-05-08  Robert Hogan  <robert@roberthogan.net>
656
657         Reviewed, tweaked and landed by Alexey Proskuryakov.
658
659         https://bugs.webkit.org/show_bug.cgi?id=24992
660         [Qt] crash at http://browserspy.dk/browser.php
661
662         This cannot be easily tested in DRT, because it relies on interaction with QApplication,
663         but the added assertions guard against re-introducing this issue.
664
665         * loader/FrameLoader.cpp: (WebCore::FrameLoader::didOpenURL): Don't make client calls
666         while the frame is being constructed, because the intermediate state without a document
667         is something we don't want to expose.
668
669         * page/Frame.cpp:
670         (WebCore::Frame::setJSStatusBarText): Assert that the frame has a document, which is an
671         approximation of it being in a consistent state for client calls.
672         (WebCore::Frame::setJSDefaultStatusBarText): Ditto.
673
674 2009-05-07  Mark Rowe  <mrowe@apple.com>
675
676         Rubber-stamped by Oliver Hunt.
677
678         Fix <https://bugs.webkit.org/show_bug.cgi?id=25640>.
679         Bug 25640: Crash on quit in r43384 nightly build on Leopard w/ Safari 4 beta installed
680         
681         Roll out r43366 as it removed symbols that Safari 4 Beta uses.
682
683         * dom/XMLTokenizerLibxml2.cpp:
684         (WebCore::matchFunc):
685         (WebCore::openFunc):
686         (WebCore::createStringParser):
687         (WebCore::createMemoryParser):
688         * loader/icon/IconDatabase.cpp:
689         (WebCore::IconDatabase::open):
690         * platform/sql/SQLiteDatabase.cpp:
691         (WebCore::SQLiteDatabase::SQLiteDatabase):
692         (WebCore::SQLiteDatabase::close):
693         * storage/DatabaseThread.cpp:
694         (WebCore::DatabaseThread::DatabaseThread):
695         (WebCore::DatabaseThread::start):
696         (WebCore::DatabaseThread::databaseThread):
697         * storage/LocalStorageThread.cpp:
698         (WebCore::LocalStorageThread::LocalStorageThread):
699         (WebCore::LocalStorageThread::start):
700         (WebCore::LocalStorageThread::localStorageThread):
701         (WebCore::LocalStorageThread::scheduleImport):
702         (WebCore::LocalStorageThread::scheduleSync):
703         (WebCore::LocalStorageThread::terminate):
704         * workers/WorkerThread.cpp:
705         (WebCore::WorkerThread::WorkerThread):
706         (WebCore::WorkerThread::start):
707
708 2009-05-08  Xan Lopez  <xlopez@igalia.com>
709
710         Reviewed by Gustavo Noronha.
711
712         Unify scrolling code via adjustments and keys. Use the WebCore
713         defined constants, since that's what people are most used to at
714         this point.
715
716         * platform/gtk/ScrollViewGtk.cpp:
717         (WebCore::ScrollView::platformHandleHorizontalAdjustment):
718         (WebCore::ScrollView::platformHandleVerticalAdjustment):
719
720 2009-05-07  David Levin  <levin@chromium.org>
721
722         Reviewed by NOBODY.
723         Suggested by Oliver Hunt.
724
725         Rolling back http://trac.webkit.org/changeset/43385
726         because we have to use mac artwork for the underline on OSX.
727
728         * platform/graphics/cg/GraphicsContextCG.cpp:
729         * platform/graphics/mac/GraphicsContextMac.mm:
730         (WebCore::createPatternColor):
731         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
732         * platform/graphics/win/GraphicsContextCGWin.cpp:
733         (WebCore::setCGStrokeColor):
734         (WebCore::spellingPatternColor):
735         (WebCore::grammarPatternColor):
736         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
737
738 2009-05-07  John Grabowski  <jrg@chromium.org>
739
740         Reviewed by Simon Fraser.
741   
742         https://bugs.webkit.org/show_bug.cgi?id=25573
743         Unify use of CG-common routine for drawLineForMisspellingOrBadGrammar.
744         Cleanup for WebKit, but required for Chromium happiness.
745
746         * platform/graphics/cg/GraphicsContextCG.cpp:
747         (WebCore::spellingPatternColor):
748         (WebCore::grammarPatternColor):
749         (WebCore::GraphicsContext::drawLineForMisspellingOrBadGrammar):
750         * platform/graphics/mac/GraphicsContextMac.mm:
751         * platform/graphics/win/GraphicsContextCGWin.cpp:
752
753 2009-05-07  Darin Adler  <darin@apple.com>
754
755         Reviewed by Simon Fraser.
756
757         Bug 25575: Registered mutation event listener crashes HTMLMediaElement
758         https://bugs.webkit.org/show_bug.cgi?id=25575
759
760         Test: fast/media/video-controls-with-mutation-event-handler.html
761
762         * rendering/MediaControlElements.cpp:
763         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement): Don't call setAttribute.
764         * rendering/RenderMedia.cpp:
765         (WebCore::RenderMedia::createTimeline): Call setAttribute here.
766
767 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
768
769         Rubber Stamped by Dave Hyatt
770         
771         Shuffle the data members to minimize padding.
772
773         * rendering/RenderTableSection.cpp:
774         (WebCore::RenderTableSection::RenderTableSection):
775         * rendering/RenderTableSection.h:
776
777 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
778
779         Rubber Stamped by Dave Hyatt
780         
781         Shuffle the data members to make Events 8 bytes smaller in 64-bit.
782
783         * dom/Event.cpp:
784         (WebCore::Event::Event):
785         * dom/Event.h:
786
787 2009-05-07  Eric Seidel  <eric@webkit.org>
788
789         Reviewed by Beth Dakin.
790
791         Fix regression caused by r41469, add test case to prevent it from 
792         happening again.
793         https://bugs.webkit.org/show_bug.cgi?id=25252
794   
795         hasLayer() was true during removeOnlyThisLayer()/
796         updateLayerPositions()
797         which caused updateLayerPosition()'s walk up the render tree to 
798         include offsets from the layer we were about to remove.
799   
800         I'm not 100% convinced that this wasn't a bug in 
801         updateLayerPosition() or in RenderBoxModelObject::styleDidChange, 
802         because the layer in question is not the containing block for the 
803         block which gets laid out wrong. But this restores the previous 
804         behavior and adds a test.  So the next time someone is in here re-
805         factoring, they will at least know if they break something.
806   
807         Test: fast/layers/remove-only-this-layer-update.html
808
809         * rendering/RenderBoxModelObject.cpp:
810         (WebCore::RenderBoxModelObject::destroyLayer):
811         * rendering/RenderLayer.cpp:
812         (WebCore::RenderLayer::removeOnlyThisLayer):
813         * rendering/RenderObject.cpp:
814         (WebCore::RenderObject::destroy):
815         * rendering/RenderWidget.cpp:
816         (WebCore::RenderWidget::destroy):
817
818 2009-05-07  Dmitry Titov  <dimich@chromium.org>
819
820         Attempt to fix GTK build.
821
822         * platform/graphics/GlyphPageTreeNode.h: add #include <string.h> to ensure memcpy and memset are defined.
823
824 2009-05-07  Oliver Hunt  <oliver@apple.com>
825
826         Reviewed by Gavin Barraclough.
827
828         Improve native call performance
829
830         Add calling convention declarations where necessary, and update bindings
831         script to generate them as well.
832
833         * bindings/js/JSHTMLCollectionCustom.cpp:
834         (WebCore::callHTMLCollection):
835         * bindings/js/JSNodeListCustom.cpp:
836         (WebCore::callNodeList):
837         * bindings/js/JSPluginElementFunctions.cpp:
838         (WebCore::callPlugin):
839         * bindings/js/JSQuarantinedObjectWrapper.h:
840         * bindings/scripts/CodeGeneratorJS.pm:
841         * bridge/runtime_method.cpp:
842         (JSC::callRuntimeMethod):
843         * bridge/runtime_object.cpp:
844         (JSC::callRuntimeObject):
845
846 2009-05-07  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
847
848         Reviewed by Dave Hyatt.
849
850         Fixes: https://bugs.webkit.org/show_bug.cgi?id=25617
851
852         Fix memory/performance regression because of too much form control related abstraction just for WMLs sake.
853
854         Remove FormControlElement and FormControlElementWithState base classes, as the overhead is too high for the
855         gain. HTML has no benefit of that kind of abstraction, so we're going to move the functionality to Element directly.
856
857         The functions now living in FormControlElement(WithState) lived in Node/Element/HTMLFormControlElement before.
858         This patches moves all of them in a central place in Element.h, as virtual functions with an inline default implementation.
859         To avoid confusion like isEnabled() living on Node, before the creation of the FormControlElement abstraction layer, all
860         methods are renamed to clarify where they belong to. All renames are listed here:
861
862         From FormControlElement:
863         - isEnabled() -> isEnabledFormControl()
864         - isReadOnly() -> isReadOnlyFormControl()
865         - isTextControl() -> isTextFormControl()
866         - valueMatchesRenderer() -> formControlValueMatchesRenderer()
867         - setValueMatchesRenderer() -> setFormControlValueMatchesRenderer()
868         - name() -> formControlName()
869         - type() -> formControlType()
870
871         From FormControlElementWithState:
872         - saveState() -> saveFormControlState()
873         - restoreState() -> restoreFormControlState()
874
875         A lot of Element -> FormControlElement(WithState) casting is gone again, so it's not only a memory, but also a performance progression.
876
877         No testcases affected, no new tests needed.
878
879         * GNUmakefile.am:
880         * WebCore.pro:
881         * WebCore.vcproj/WebCore.vcproj:
882         * WebCore.xcodeproj/project.pbxproj:
883         * WebCoreSources.bkl:
884         * css/CSSStyleSelector.cpp:
885         (WebCore::CSSStyleSelector::canShareStyleWithElement):
886         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
887         * dom/Document.cpp:
888         (WebCore::Document::formElementsState):
889         * dom/Document.h:
890         (WebCore::Document::registerFormElementWithState):
891         (WebCore::Document::unregisterFormElementWithState):
892         * dom/Element.h:
893         (WebCore::Element::isFormControlElement):
894         (WebCore::Element::isEnabledFormControl):
895         (WebCore::Element::isReadOnlyFormControl):
896         (WebCore::Element::isTextFormControl):
897         (WebCore::Element::formControlValueMatchesRenderer):
898         (WebCore::Element::setFormControlValueMatchesRenderer):
899         (WebCore::Element::formControlName):
900         (WebCore::Element::formControlType):
901         (WebCore::Element::saveFormControlState):
902         (WebCore::Element::restoreFormControlState):
903         * dom/FormControlElement.cpp: Removed.
904         * dom/FormControlElement.h: Removed.
905         * dom/FormControlElementWithState.cpp: Removed.
906         * dom/FormControlElementWithState.h: Removed.
907         * dom/InputElement.cpp:
908         (WebCore::InputElement::setValueFromRenderer):
909         * html/HTMLButtonElement.cpp:
910         (WebCore::HTMLButtonElement::formControlType):
911         * html/HTMLButtonElement.h:
912         * html/HTMLFieldSetElement.cpp:
913         (WebCore::HTMLFieldSetElement::formControlType):
914         * html/HTMLFieldSetElement.h:
915         * html/HTMLFormControlElement.cpp:
916         (WebCore::HTMLFormControlElement::attach):
917         (WebCore::HTMLFormControlElement::formControlName):
918         (WebCore::HTMLFormControlElement::willValidate):
919         (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
920         (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
921         (WebCore::HTMLFormControlElementWithState::willMoveToNewOwnerDocument):
922         (WebCore::HTMLFormControlElementWithState::didMoveToNewOwnerDocument):
923         (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
924         * html/HTMLFormControlElement.h:
925         (WebCore::HTMLFormControlElement::isTextFormControl):
926         (WebCore::HTMLFormControlElement::isEnabledFormControl):
927         (WebCore::HTMLFormControlElement::formControlValueMatchesRenderer):
928         (WebCore::HTMLFormControlElement::setFormControlValueMatchesRenderer):
929         (WebCore::HTMLFormControlElement::isReadOnlyFormControl):
930         (WebCore::HTMLFormControlElement::type):
931         (WebCore::HTMLFormControlElement::name):
932         * html/HTMLInputElement.cpp:
933         (WebCore::HTMLInputElement::formControlName):
934         (WebCore::HTMLInputElement::formControlType):
935         (WebCore::HTMLInputElement::saveFormControlState):
936         (WebCore::HTMLInputElement::restoreFormControlState):
937         (WebCore::HTMLInputElement::parseMappedAttribute):
938         (WebCore::HTMLInputElement::detach):
939         (WebCore::HTMLInputElement::setValue):
940         (WebCore::HTMLInputElement::setFileListFromRenderer):
941         * html/HTMLInputElement.h:
942         (WebCore::HTMLInputElement::readOnly):
943         (WebCore::HTMLInputElement::isTextFormControl):
944         * html/HTMLKeygenElement.cpp:
945         (WebCore::HTMLKeygenElement::formControlType):
946         * html/HTMLKeygenElement.h:
947         * html/HTMLLegendElement.cpp:
948         (WebCore::HTMLLegendElement::formControlType):
949         * html/HTMLLegendElement.h:
950         * html/HTMLOptGroupElement.cpp:
951         (WebCore::HTMLOptGroupElement::formControlType):
952         * html/HTMLOptGroupElement.h:
953         * html/HTMLOptionElement.cpp:
954         (WebCore::HTMLOptionElement::formControlType):
955         * html/HTMLOptionElement.h:
956         * html/HTMLSelectElement.cpp:
957         (WebCore::HTMLSelectElement::formControlType):
958         (WebCore::HTMLSelectElement::saveFormControlState):
959         (WebCore::HTMLSelectElement::restoreFormControlState):
960         * html/HTMLSelectElement.h:
961         * html/HTMLTextAreaElement.cpp:
962         (WebCore::HTMLTextAreaElement::HTMLTextAreaElement):
963         (WebCore::HTMLTextAreaElement::formControlType):
964         (WebCore::HTMLTextAreaElement::saveFormControlState):
965         (WebCore::HTMLTextAreaElement::restoreFormControlState):
966         (WebCore::HTMLTextAreaElement::updateValue):
967         (WebCore::HTMLTextAreaElement::setValue):
968         * html/HTMLTextAreaElement.h:
969         (WebCore::HTMLTextAreaElement::readOnly):
970         (WebCore::HTMLTextAreaElement::isTextFormControl):
971         * page/AccessibilityRenderObject.cpp:
972         (WebCore::AccessibilityRenderObject::isEnabled):
973         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
974         * page/DragController.cpp:
975         (WebCore::DragController::concludeEditDrag):
976         * rendering/RenderMenuList.cpp:
977         (WebCore::RenderMenuList::itemIsEnabled):
978         * rendering/RenderTextControl.cpp:
979         (WebCore::updateUserModifyProperty):
980         (WebCore::RenderTextControl::setInnerTextValue):
981         * rendering/RenderTextControl.h:
982         * rendering/RenderTextControlMultiLine.cpp:
983         (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
984         * rendering/RenderTextControlSingleLine.cpp:
985         (WebCore::RenderTextControlSingleLine::updateFromElement):
986         * rendering/RenderTheme.cpp:
987         (WebCore::RenderTheme::isEnabled):
988         (WebCore::RenderTheme::isReadOnlyControl):
989         * rendering/RenderThemeChromiumMac.mm:
990         (WebCore::RenderThemeChromiumMac::adjustMenuListStyle):
991         * rendering/RenderThemeMac.mm:
992         (WebCore::RenderThemeMac::adjustMenuListStyle):
993         * rendering/RenderThemeSafari.cpp:
994         (WebCore::RenderThemeSafari::adjustMenuListStyle):
995         * wml/WMLFormControlElement.cpp:
996         * wml/WMLFormControlElement.h:
997         (WebCore::WMLFormControlElement::isReadOnlyFormControl):
998         (WebCore::WMLFormControlElement::isTextFormControl):
999         (WebCore::WMLFormControlElement::formControlValueMatchesRenderer):
1000         (WebCore::WMLFormControlElement::setFormControlValueMatchesRenderer):
1001         * wml/WMLInputElement.cpp:
1002         (WebCore::WMLInputElement::WMLInputElement):
1003         (WebCore::WMLInputElement::isKeyboardFocusable):
1004         (WebCore::WMLInputElement::isMouseFocusable):
1005         (WebCore::WMLInputElement::dispatchBlurEvent):
1006         (WebCore::WMLInputElement::formControlType):
1007         (WebCore::WMLInputElement::formControlName):
1008         (WebCore::WMLInputElement::setValue):
1009         (WebCore::WMLInputElement::saveFormControlState):
1010         (WebCore::WMLInputElement::restoreFormControlState):
1011         (WebCore::WMLInputElement::parseMappedAttribute):
1012         (WebCore::WMLInputElement::detach):
1013         (WebCore::WMLInputElement::appendFormData):
1014         (WebCore::WMLInputElement::init):
1015         * wml/WMLInputElement.h:
1016         (WebCore::WMLInputElement::isTextFormControl):
1017         * wml/WMLOptGroupElement.cpp:
1018         (WebCore::WMLOptGroupElement::formControlType):
1019         * wml/WMLOptGroupElement.h:
1020         * wml/WMLOptionElement.cpp:
1021         (WebCore::WMLOptionElement::formControlType):
1022         * wml/WMLOptionElement.h:
1023
1024 2009-05-07  Dmitry Titov  <dimich@chromium.org>
1025
1026         Reviewed by Alexey Proskuryakov and Adam Roben.
1027
1028         https://bugs.webkit.org/show_bug.cgi?id=25348
1029         Change WTF::ThreadIdentifier to be an actual (but wrapped) thread id, remove ThreadMap.
1030
1031         Most of the change is in WTF.
1032         Unless noted, all the following files changed to use the new ThreadIdentifier::isValid()
1033         method instead of just doing 'if(m_threadID)' kind of checks, since ThreadIdentifier
1034         is now a class rather then an integer.
1035         Also, there is no need to initialize threadID in constructors to 0 now.
1036
1037         * dom/XMLTokenizerLibxml2.cpp:
1038         (WebCore::libxmlLoaderThread): use DEFINE_STATIC_LOCAL and accessor function for static thread id,
1039         since now ThreadIdentifier needs construction and we avoid having global initializers.
1040         (WebCore::matchFunc): use the new accessor function.
1041         (WebCore::openFunc): ditto.
1042         (WebCore::createStringParser): ditto.
1043         (WebCore::createMemoryParser): ditto.
1044         * loader/icon/IconDatabase.cpp:
1045         (WebCore::IconDatabase::open):
1046         * platform/sql/SQLiteDatabase.cpp:
1047         (WebCore::SQLiteDatabase::SQLiteDatabase):
1048         (WebCore::SQLiteDatabase::close):
1049         * storage/DatabaseThread.cpp:
1050         (WebCore::DatabaseThread::start):
1051         (WebCore::DatabaseThread::databaseThread): remove m_threadID from debug output.
1052         * storage/LocalStorageThread.cpp:
1053         (WebCore::LocalStorageThread::start):
1054         (WebCore::LocalStorageThread::scheduleImport):
1055         (WebCore::LocalStorageThread::scheduleSync):
1056         (WebCore::LocalStorageThread::terminate):
1057         * workers/WorkerThread.cpp:
1058         (WebCore::WorkerThread::start):
1059         (WebCore::WorkerThread::WorkerThread):
1060         (WebCore::WorkerThread::start):
1061
1062 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
1063
1064         Rubber Stamped by Dave Hyatt
1065         
1066         Shuffle the data members to minimize padding.
1067
1068         * dom/ClassNames.h:
1069
1070 2009-05-07  Simon Fraser  <simon.fraser@apple.com>
1071
1072         Reviewed by Darin Adler
1073
1074         <rdar://problem/6864062> Shrink GlyphPage from 4112 to 2576 bytes in 64-bit
1075         https://bugs.webkit.org/show_bug.cgi?id=25605
1076
1077         Shrink GlyphPage by splitting the array of GlyphData, which has lots
1078         of padding, into separate Glyph and SimpleFontData* arrays.
1079
1080         * platform/graphics/Font.h:
1081         glyphDataForCharacter has to return a GlyphData by value now.
1082         
1083         * platform/graphics/FontFastPath.cpp:
1084         (WebCore::Font::glyphDataForCharacter):
1085         Return GlyphData by value.
1086         
1087         * platform/graphics/GlyphPageTreeNode.cpp:
1088         (WebCore::GlyphPageTreeNode::initializePage):
1089         Better encapsulation of GlyphPage, using the new methods.
1090
1091         * platform/graphics/Font.h:
1092         * platform/graphics/FontFastPath.cpp:
1093         (WebCore::Font::glyphDataForCharacter):
1094         * platform/graphics/GlyphPageTreeNode.cpp:
1095         (WebCore::GlyphPageTreeNode::initializePage):
1096         * platform/graphics/GlyphPageTreeNode.h:
1097         (WebCore::GlyphData::GlyphData):
1098         (WebCore::GlyphPage::indexForCharacter):
1099         (WebCore::GlyphPage::glyphDataForCharacter):
1100         (WebCore::GlyphPage::glyphDataForIndex):
1101         (WebCore::GlyphPage::glyphAt):
1102         (WebCore::GlyphPage::fontDataForCharacter):
1103         (WebCore::GlyphPage::setGlyphDataForCharacter):
1104         (WebCore::GlyphPage::setGlyphDataForIndex):
1105         (WebCore::GlyphPage::copyFrom):
1106         (WebCore::GlyphPage::clear):
1107
1108 2009-05-07  Dimitri Glazkov  <dglazkov@chromium.org>
1109
1110         Reviewed by Darin Fisher.
1111
1112         https://bugs.webkit.org/show_bug.cgi?id=25625
1113         Implement Image/Option constructors in V8 bindings.
1114
1115         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1116         (WebCore::NAMED_PROPERTY_GETTER): Removed old JS-based code.
1117         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp: Added.
1118         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Added.
1119
1120 2009-05-07  Brady Eidson  <beidson@apple.com>
1121
1122         I hate myself for doing this, but need to fix that ChangeLog entry.
1123
1124         * ChangeLog:
1125
1126 2009-05-07  Brady Eidson  <beidson@apple.com>
1127
1128         Rubberstamped by Darin Adler
1129
1130         * html/HTMLParser.cpp: Use the correct style of BUILDING_ON_* for WebCore.
1131         * html/HTMLParser.h: Ditto
1132
1133 2009-05-07  David Hyatt  <hyatt@apple.com>
1134
1135         Restore intrinsic margins to all form controls on Mac and Windows.  Some of this regressed in 43007
1136         when textareas were given explicit margins.  Some of it had already regressed earlier whenever intrinsic
1137         margins were turned off in themeWin.css.
1138
1139         Reviewed by Beth Dakin.
1140
1141         * css/html4.css:
1142         * css/themeWin.css:
1143
1144 2009-05-07  Brady Eidson  <beidson@apple.com>
1145
1146         Reviewed by Darin Adler and Alexey Proskuryakov.
1147
1148         <rdar://problem/6863795> Exception occurs in Mail when attempting to create signatures due to <head> element creation
1149
1150         * dom/Document.cpp:
1151         (WebCore::Document::implicitClose): Check shouldCreateImplicitHead() before creating it.
1152
1153         * html/HTMLParser.cpp:
1154         (WebCore::HTMLParser::handleError): Check shouldCreateImplicitHead() before creating it.
1155         (WebCore::HTMLParser::bodyCreateErrorCheck): Ditto.
1156         (WebCore::shouldCreateImplicitHead): For Tiger/Leopard when running under Mail, the implicit <head> shouldn't be created.
1157         * html/HTMLParser.h:
1158         (WebCore::shouldCreateImplicitHead): Inline implementation for non-Tiger/Leopard platforms
1159
1160 2009-05-07  Antony Sargent  <asargent@chromium.org>
1161
1162         Reviewed by Darin Fisher.
1163
1164         Fix a memory leak in V8EventListenerList::remove.
1165
1166         https://bugs.webkit.org/show_bug.cgi?id=25618
1167
1168         No new functionality so no new tests. 
1169
1170         * bindings/v8/V8EventListenerList.cpp:
1171         (WebCore::V8EventListenerList::remove):
1172
1173 2009-05-07  Darin Fisher  <darin@chromium.org>
1174
1175         Fix Chromium build bustage.
1176
1177         * bindings/v8/custom/V8HTMLFormElementCustom.cpp: Add missing
1178         HTMLCollection.h include.
1179
1180 2009-05-07  Chris Fleizach  <cfleizach@apple.com>
1181
1182         Reviewed by Beth Dakin.
1183
1184         Bug 25598: AX: if a radio button has a label and a title, the label is not exposed
1185         https://bugs.webkit.org/show_bug.cgi?id=25598
1186
1187         Test: accessibility/radio-button-title-label.html
1188
1189         * page/AccessibilityObject.h:
1190         (WebCore::AccessibilityObject::exposesTitleUIElement):
1191         * page/AccessibilityRenderObject.cpp:
1192         (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
1193         (WebCore::AccessibilityRenderObject::titleUIElement):
1194         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1195         * page/AccessibilityRenderObject.h:
1196
1197 2009-05-07  Darin Fisher  <darin@chromium.org>
1198
1199         Fix Chromium build bustage.
1200
1201         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1202         (WebCore::INDEXED_PROPERTY_GETTER): ":" should be "::"
1203
1204 2009-05-07  Xan Lopez  <xlopez@igalia.com>
1205
1206         Reviewed by Gustavo Noronha.
1207
1208         https://bugs.webkit.org/show_bug.cgi?id=25610
1209         [GTK] text.caretOffset is reportedly always 0
1210
1211         Use the right function to get the caret offset in an
1212         element. selectionStart() would only work for text
1213         controls (there's even an ASSERT when calculating the selected
1214         text range). Instead just get the selection and get the offset of
1215         the start position.
1216
1217         * page/gtk/AccessibilityObjectWrapperAtk.cpp:
1218
1219 2009-05-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1220
1221         Reviewed by Simon Hausmann.
1222
1223         [Qt] Fix support for antialiased CSS border-radius
1224         
1225         WebKit implements border-radius by drawing a double-size border,
1226         and then letting the clip constrain the border to the right width
1227         and position. This requires support for antialiased clipping, as
1228         well as painting, to get a nice smooth border.
1229         
1230         Qt only does antialiased clipping if the anti-alias flag is set
1231         at the time of clipping, so we have to enable this in the method
1232         addInnerRoundedRectClip(), as well as when we draw the border.
1233         
1234         Currently the raster-engine is the only Qt paint engine to support
1235         anti-aliased clipping, but the OpenGL and Mac paint engines could
1236         potentially support this in the future.
1237
1238         * platform/graphics/qt/GraphicsContextQt.cpp:
1239         (WebCore::GraphicsContext::strokeArc):
1240         (WebCore::GraphicsContext::addInnerRoundedRectClip):
1241
1242 2009-05-07  Adam Langley  <agl@google.com>
1243
1244         Reviewed by Eric Seidel.
1245
1246         Render empty optgroup elements.
1247
1248         https://bugs.webkit.org/show_bug.cgi?id=24900
1249
1250         Currently, optgroup elements which are empty are not rendered. The
1251         HTML specification gives no guidance on this situation.
1252
1253         However, the test for being empty is that they have no children, thus
1254         this will not render:
1255           <optgroup label="test"></optgroup>
1256         while this /will/ render (because of the text node child):
1257           <optgroup label="test"> </optgroup>
1258
1259         This patch will cause both cases to render which matches IE's and
1260         Firefox's behaviour.
1261
1262         The difference only appears when opening the select element and does
1263         not appear in the render tree. Thus, a manual layout-test is required.
1264
1265         * html/HTMLSelectElement.cpp:
1266         (WebCore::HTMLSelectElement::recalcListItems):
1267         * manual-tests/optgroup-empty-and-nested.html: Added.
1268
1269 2009-05-06  Julie Parent  <jparent@google.com>
1270
1271         Reviewed by Eric Seidel.
1272
1273         Bug 25608: Unused m_frame in ChromiumClipboard.
1274         https://bugs.webkit.org/show_bug.cgi?id=25608
1275
1276         * platform/chromium/ClipboardChromium.h:
1277         
1278         No tests added as this is only removing dead code, no functional changes.
1279
1280 2009-05-06  Dan Bernstein  <mitz@apple.com>
1281
1282         Reviewed by Simon Fraser and Justin Garcia.
1283
1284         - fix another part of <rdar://problem/6703873> Triple-click quoted line
1285           and type Return creates an extra quoted blank line
1286
1287         Test: editing/inserting/6703873-2.html
1288
1289         * editing/BreakBlockquoteCommand.cpp:
1290         (WebCore::BreakBlockquoteCommand::doApply): Corrected the logic for
1291         determining the first node that should go into the new blockquote
1292         given the split position: if it is at the end of a container, use the
1293         next node after the container. Otherwise, use the child at the
1294         position's offset.
1295
1296 2009-05-06  Kevin Ollivier  <kevino@theolliviers.com>
1297
1298         wx build fix, fixes for wx trunk builds.
1299
1300         * platform/graphics/wx/ImageWx.cpp:
1301         (WebCore::BitmapImage::draw):
1302         * platform/wx/RenderThemeWx.cpp:
1303         * platform/wx/wxcode/mac/carbon/fontprops.cpp:
1304         (wxFontProperties::wxFontProperties):
1305
1306 2009-05-06  Albert J. Wong  <ajwong@chromium.org>
1307
1308         Reviewed by Darin Fisher.
1309
1310         https://bugs.webkit.org/show_bug.cgi?id=25597
1311         Fix API drift compile errors that occurred while this was ifdef-ed out.
1312         The two big issues were that RenderObject::element() became
1313         RenderObject::node() and some of the wk* drawing functions had
1314         an extra theme parameter added to the argument list.
1315
1316         * rendering/RenderThemeChromiumMac.mm:
1317         (WebCore::RenderThemeChromiumMac::paintMediaFullscreenButton):
1318         (WebCore::RenderThemeChromiumMac::paintMediaMuteButton):
1319         (WebCore::RenderThemeChromiumMac::paintMediaPlayButton):
1320         (WebCore::RenderThemeChromiumMac::paintMediaSeekBackButton):
1321         (WebCore::RenderThemeChromiumMac::paintMediaSeekForwardButton):
1322         (WebCore::RenderThemeChromiumMac::paintMediaSliderTrack):
1323         (WebCore::RenderThemeChromiumMac::paintMediaSliderThumb):
1324
1325 2009-05-06  Jian Li  <jianli@chromium.org>
1326
1327         Reviewed by Dimitri Glazkov.
1328
1329         https://bugs.webkit.org/show_bug.cgi?id=25385
1330         Upstream changes to V8 bindings for supporting nested workers.
1331
1332         * bindings/v8/WorkerContextExecutionProxy.cpp:
1333         (WebCore::WorkerContextExecutionProxy::ToV8Object):
1334         (WebCore::WorkerContextExecutionProxy::EventTargetToV8Object):
1335         * bindings/v8/custom/V8WorkerCustom.cpp:
1336         (WebCore::getEventListener):
1337         (WebCore::ACCESSOR_SETTER WorkerOnmessage):
1338         (WebCore::CALLBACK_FUNC_DECL WorkerAddEventListener):
1339
1340 2009-05-06  Dave Moore  <davemoore@google.com>
1341
1342         Reviewed by Dimitri Glazkov.
1343
1344         https://bugs.webkit.org/show_bug.cgi?id=25513
1345         The V8 bindings convert every javascript property to its associated css style
1346         name. It then calls functions that convert that name to an id. This makes
1347         getting or setting css styles on elements slow.
1348         
1349         The patch fixes this by caching the results of the transformation, mapping a
1350         javascript property name to its css property id. It then calls the already
1351         public webkit methods that take the id in place of the string property names.
1352
1353         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1354
1355 2009-05-06  Nate Chapin  <japhet@google.com>
1356
1357         Reviewed by Dimitri Glazkov.
1358
1359         https://bugs.webkit.org/show_bug.cgi?id=25591
1360         Upstream V8HTMLFormElement from the Chromium repository.
1361
1362         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1363         (WebCore::INDEXED_PROPERTY_GETTER HTMLFormElement): Upstreamed from Chromium repository
1364         (WebCore::NAMED_PROPERTY_GETTER HTMLFormElement): Changed empty element return case to return notHandledByInterceptor();
1365         (WebCore::CALLBACK_FUNC_DECL HTMLFormElementSubmit): Upstreamed from Chromium repository
1366
1367 2009-05-06  Albert J. Wong  <ajwong@chromium.org>
1368
1369         Reviewed by Dimitri Glazkov.
1370
1371         https://bugs.webkit.org/show_bug.cgi?id=25595
1372         Upstream V8CanvasPixelArrayCustom from chromium port tree.
1373
1374         * bindings/v8/V8CanvasPixelArrayCustom.cpp: Added.
1375
1376 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
1377
1378         Rubber-stampted by Eric Seidel
1379
1380         Add braces to clarify logic flow in RenderObject::adjustStyleDifference.
1381         Only affects ACCELERATED_COMPOSITING builds.
1382
1383         * rendering/RenderObject.cpp:
1384         (WebCore::RenderObject::adjustStyleDifference):
1385
1386 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
1387
1388         Reviewed by Dan Bernstein
1389
1390         <rdar://problem/6862550> Reduce size of RenderText in 64-bit
1391         
1392         Rearrange data members of RenderText so that an int comes
1393         first, to minimize padding.
1394
1395         * rendering/RenderText.cpp:
1396         (WebCore::RenderText::RenderText):
1397         * rendering/RenderText.h:
1398
1399 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
1400
1401         Reviewed by Dan Bernstein
1402
1403         <rdar://problem/6862823> Reduce size of RenderStyle in 64-bit
1404         
1405         Rearrange data members of RenderStyle to minimize padding
1406         when building for 64-bit.
1407
1408         * rendering/style/RenderStyle.cpp:
1409         (WebCore::RenderStyle::RenderStyle):
1410         * rendering/style/RenderStyle.h:
1411         (WebCore::):
1412
1413 2009-05-06  Darin Fisher  <darin@chromium.org>
1414
1415         Reviewed by Dimitri Glazkov.
1416
1417         https://bugs.webkit.org/show_bug.cgi?id=25596
1418
1419         Fixes Chromium build bustage caused by r43317 (making
1420         RefCountedBase::m_refCount private)
1421
1422         * page/chromium/AccessibilityObjectWrapper.h:
1423         (WebCore::AccessibilityObjectWrapper::AccessibilityObjectWrapper):
1424
1425 2009-05-06  Hin-Chung Lam  <hclam@chromium.org>
1426
1427         Reviewed by Darin Fisher.
1428
1429         https://bugs.webkit.org/show_bug.cgi?id=25593
1430
1431         Refactor for MediaPlayerPrivate for Chromium port. Remove
1432         the implementation of MediaPlayerPrivateInferface from it.
1433
1434         * platform\graphics\chromium\MediaPlayerPrivateChromium.h:
1435
1436 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
1437
1438         Reviewed by Dave Hyatt, Dan Bernstein
1439         
1440         <rdar://problem/6860197> Reduce the size of FontFallbackList in 64-bit
1441
1442         Re-order the data members of FontFallbackList to save 8 bytes when building 64-bit.
1443
1444         * platform/graphics/FontFallbackList.cpp:
1445         (WebCore::FontFallbackList::FontFallbackList):
1446         * platform/graphics/FontFallbackList.h:
1447
1448 2009-05-06  Simon Fraser  <simon.fraser@apple.com>
1449
1450         Reviewed by Darin Adler, Dan Bernstein
1451
1452         <rdar://problem/6860068> Reduce size of InlineBox in 64-bit
1453
1454         Re-order the data members of InlineBox to save 8 bytes when building 64-bit.
1455
1456         * rendering/InlineBox.h:
1457         (WebCore::InlineBox::InlineBox):
1458
1459 2009-05-06  David Levin  <levin@chromium.org>
1460
1461         Reviewed by Dimitri Glazkov.
1462
1463         https://bugs.webkit.org/show_bug.cgi?id=25588
1464         Adding the custom v8 bindings Document.location.
1465
1466         * bindings/v8/custom/V8DocumentLocationCustom.cpp: Added.
1467
1468 2009-05-06  Kevin McCullough  <kmccullough@apple.com>
1469
1470         -Clarified a comment
1471
1472         * editing/InsertParagraphSeparatorCommand.cpp:
1473         (WebCore::InsertParagraphSeparatorCommand::doApply):
1474
1475 2009-05-06  Nikolas Zimmermann  <nikolas.zimmermann@torchmobile.com>
1476
1477         Not reviewed. Fix WML enabled builds by including "MappedAttribute.h" in several places.
1478
1479         * wml/WMLAElement.cpp:
1480         * wml/WMLAccessElement.cpp:
1481         * wml/WMLBRElement.cpp:
1482         * wml/WMLCardElement.cpp:
1483         * wml/WMLDoElement.cpp:
1484         * wml/WMLElement.cpp:
1485         * wml/WMLFieldSetElement.cpp:
1486         * wml/WMLGoElement.cpp:
1487         * wml/WMLImageElement.cpp:
1488         * wml/WMLInputElement.cpp:
1489         * wml/WMLMetaElement.cpp:
1490         * wml/WMLOnEventElement.cpp:
1491         * wml/WMLOptGroupElement.cpp:
1492         * wml/WMLOptionElement.cpp:
1493         * wml/WMLPElement.cpp:
1494         * wml/WMLPostfieldElement.cpp:
1495         * wml/WMLSetvarElement.cpp:
1496         * wml/WMLTableElement.cpp:
1497         * wml/WMLTemplateElement.cpp:
1498         * wml/WMLTimerElement.cpp:
1499
1500 2009-05-06  Xan Lopez  <xlopez@igalia.com>
1501
1502         Reviewed by Gustavo Noronha.
1503
1504         https://bugs.webkit.org/show_bug.cgi?id=25526
1505         [Gtk] Additional support is needed for caret browsing
1506
1507         Emit AtkText::text-selection-changed when the selection changes
1508         and the current selection is of Range (ie, the start and end
1509         positions are different) type. This seems to match what Gecko
1510         does.
1511
1512         * editing/gtk/SelectionControllerGtk.cpp:
1513         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1514
1515 2009-05-05  Xan Lopez  <xlopez@igalia.com>
1516
1517         Reviewed by Gustavo Noronha.
1518
1519         https://bugs.webkit.org/show_bug.cgi?id=25526
1520         [Gtk] Additional support is needed for caret browsing
1521
1522         Emit AtkText::text-caret-moved when selection changes.
1523
1524         * GNUmakefile.am:
1525         * editing/SelectionController.h:
1526         * editing/gtk/SelectionController.cpp: Added.
1527         (WebCore::SelectionController::notifyAccessibilityForSelectionChange):
1528
1529 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
1530
1531         Reviewed by Gustavo Noronha.
1532
1533         Use mozilla cursors for the previously not implemented
1534         cursors. The manual-tests/cursor.html is looking complete
1535         now.
1536
1537         * platform/gtk/CursorGtk.cpp:
1538         (WebCore::cellCursor):
1539         (WebCore::noDropCursor):
1540         (WebCore::progressCursor):
1541         (WebCore::noneCursor):
1542         (WebCore::notAllowedCursor):
1543         (WebCore::grabCursor):
1544         (WebCore::grabbingCursor):
1545         * platform/gtk/CursorGtk.h:
1546
1547 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
1548
1549         Reviewed by Xan Lopez.
1550
1551         Properly indent the header file.
1552
1553         * platform/gtk/CursorGtk.h:
1554
1555 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
1556
1557         Reviewed by Gustavo Noronha.
1558
1559         Use the mozilla copyright header. Use MPL1.1/GPL2.0
1560         and LGPL2.1 as the license compared to LGPL2.0.
1561
1562         * platform/gtk/CursorGtk.h:
1563
1564 2009-05-06  Holger Hans Peter Freyther  <zecke@selfish.org>
1565
1566         Reviewed by Gustavo Noronha.
1567
1568         Move PluginView::invalidateRegion from the
1569         TemporaryLinkStubs to PluginViewGtk.cpp and implement
1570         it with a call to Widget::invalidate() just like
1571         mac is doing. Optimisations would have to be window
1572         system specific.
1573
1574         * platform/gtk/TemporaryLinkStubs.cpp:
1575         * plugins/gtk/PluginViewGtk.cpp:
1576         (WebCore::PluginView::invalidateRegion):
1577
1578 2009-05-06  Jan Michael Alonzo  <jmalonzo@webkit.org>
1579
1580         Reviewed by Holger Freyther.
1581
1582         Misc fixes to InspectorClientGtk.
1583
1584         * GNUmakefile.am: Add localizedStrings.js to webinspector_DATA.
1585         This prevents copious amounts "Localized string not found" errors
1586         in the console
1587
1588 2009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
1589
1590         Reviewed by Ariya Hidayat.
1591
1592         Fix the Qt build on Windows.
1593
1594         * platform/graphics/GraphicsContext.h:
1595         (WebCore::GraphicsContext::shouldIncludeChildWindows): Implemented dummy accessor.
1596
1597 2009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
1598
1599         Reviewed by Tor Arne Vestbø.
1600
1601         Tweak WebCore.pro for being able to override the generated sources dir for the
1602         generated_files target.
1603
1604         * WebCore.pro:
1605
1606 2009-05-06  Simon Hausmann  <simon.hausmann@nokia.com>
1607
1608         Reviewed by Holger Freyther.
1609
1610         Fix the Qt/Windows build, use iface instead of interface to avoid conflict
1611         with VS2005 headers.
1612
1613         * css/CSSStyleSelector.cpp:
1614         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
1615
1616 2009-05-06  Joerg Bornemann  <joerg.bornemann@trolltech.com>
1617
1618         Reviewed by Simon Hausmann.
1619
1620         We need to include StringExtras.h on Windows CE to access the strdup function.
1621
1622         * plugins/PluginStream.cpp:
1623
1624 2009-05-06  Soren Gjesse  <sgjesse@chromium.org>
1625
1626         Reviewed by Eric Seidel.
1627
1628         Changed the toString behaviour for non document dom node event handlers in the V8 bindings.
1629         https://bugs.webkit.org/show_bug.cgi?id=25544
1630
1631         In the V8 bindings non document dom node event handlers are wrapped in a number of with blocks and uses an inner
1632         function. This causes the default toString on such a handler to return all this wrapper code. As some web sites
1633         use the source of an event handler to create new functions this wrapper code causes compatibility problems.
1634
1635         Create a specific toString function for these handlers which will return a function source compatible with the
1636         source returned by the JSC bindings and other browsers.
1637
1638         Test: fast/events/event-function-toString.html
1639
1640         * bindings/v8/ScriptEventListener.cpp:
1641         (WebCore::createAttributeEventListener):
1642         * bindings/v8/V8LazyEventListener.cpp:
1643         (WebCore::V8LazyEventListener::V8LazyEventListener):
1644         (WebCore::V8LazyEventListener::getListenerFunction):
1645         (WebCore::V8LazyEventListenerToString):
1646         (WebCore::V8LazyEventListener::getWrappedListenerFunction):
1647         * bindings/v8/V8LazyEventListener.h:
1648         (WebCore::V8LazyEventListener::create):
1649
1650 2009-05-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1651
1652         Reviewed by Simon Hausmann.
1653
1654         Build QtWebKit as a framework on Mac
1655
1656         This implies both debug and release build by default, unless
1657         one of the --debug or --release config options are passed to
1658         the build-webkit script.
1659
1660         Frameworks can be disabled by passing CONFIG+=webkit_no_framework
1661         to the build-webkit script.
1662
1663         To be able to build both debug and release targets in parallel
1664         we have to use separate output directories for the generated
1665         sources, which is not optimal, but required to avoid race conditions.
1666
1667         An optimization would be to only require this spit-up on Mac.
1668
1669         * WebCore.pro:
1670
1671 2009-05-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
1672
1673         Reviewed by Simon Hausmann.
1674
1675         [Qt] Use $$GENERATED_SOURCES_DIR as output when running bison
1676
1677         A couple of the generators left the bison output file in the source
1678         tree, and then moved it into $$GENERATED_SOURCES_DIR, which did not
1679         work well when building release and debug configurations in parallel.
1680
1681         * WebCore.pro:
1682
1683 2009-05-06  Dan Bernstein  <mitz@apple.com>
1684
1685         Reviewed by Justin Garcia.
1686
1687         - fix an assertion failure in RemoveNodeCommand() when deleting a <br>
1688           between a block and a mail blockquote
1689
1690         Test: editing/deleting/removeNodeCommand-assert.html
1691
1692         * editing/DeleteSelectionCommand.cpp:
1693         (WebCore::DeleteSelectionCommand::mergeParagraphs): Pass the start block
1694         to prune() instead of passing m_upstreamStart.node(), because the latter
1695         may have been removed already.
1696
1697 2009-05-05  Eric Seidel  <eric@webkit.org>
1698
1699         No review, roll out only.
1700
1701         Roll out r23072 since it broke layout tests
1702
1703         * page/AccessibilityRenderObject.cpp:
1704         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
1705
1706 2009-05-05  Ben Murdoch  <benm@google.com>
1707
1708         Reviewed by Eric Seidel.
1709         
1710         Add #if ENABLE(DATABASE) guards around database code so toggling ENABLE_DATABASE off does not break builds.
1711         https://bugs.webkit.org/show_bug.cgi?id=24776
1712
1713         No functional changes, thus no tests.
1714
1715         * bindings/js/JSCustomSQLStatementCallback.cpp:
1716         * bindings/js/JSCustomSQLStatementCallback.h:
1717         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
1718         * bindings/js/JSCustomSQLStatementErrorCallback.h:
1719         * bindings/js/JSCustomSQLTransactionCallback.cpp:
1720         * bindings/js/JSCustomSQLTransactionCallback.h:
1721         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
1722         * bindings/js/JSCustomSQLTransactionErrorCallback.h:
1723         * bindings/js/JSDatabaseCustom.cpp:
1724         * bindings/js/JSSQLTransactionCustom.cpp:
1725         * loader/EmptyClients.h:
1726         * page/ChromeClient.h:
1727         * storage/ChangeVersionWrapper.cpp:
1728         * storage/ChangeVersionWrapper.h:
1729         * storage/Database.cpp:
1730         (WebCore::Database::databaseInfoTableName):
1731         * storage/Database.h:
1732         * storage/Database.idl:
1733         * storage/DatabaseTask.cpp:
1734         * storage/DatabaseTask.h:
1735         * storage/DatabaseThread.cpp:
1736         * storage/DatabaseThread.h:
1737         * storage/DatabaseTracker.cpp:
1738         * storage/DatabaseTracker.h:
1739         * storage/DatabaseTrackerClient.h:
1740         * storage/OriginQuotaManager.cpp:
1741         * storage/OriginQuotaManager.h:
1742         * storage/SQLStatement.cpp:
1743         * storage/SQLStatement.h:
1744         * storage/SQLTransaction.cpp:
1745         * storage/SQLTransaction.h:
1746         * storage/SQLTransaction.idl:
1747
1748 2009-05-05  Jeremy Moskovich  <jeremy@chromium.org>
1749
1750         Reviewed by Eric Seidel.
1751
1752         Add some documentation to InlineBox::x(),y().
1753         https://bugs.webkit.org/show_bug.cgi?id=25378
1754
1755         * rendering/InlineBox.h:
1756
1757 2009-05-05  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1758
1759         Reviewed by Eric Seidel.
1760
1761         Disable all the SVG features for WebKit/Qt if ENABLE_SVG=0 
1762         https://bugs.webkit.org/show_bug.cgi?id=24693
1763
1764         * WebCore.pro:
1765
1766 2009-05-05  Sankar Aditya Tanguturi  <sankaraditya@gmail.com>
1767
1768         Reviewed by Eric Seidel.
1769
1770         Anonymous blocks should not be exposed in accessibility tree.
1771         Part of https://bugs.webkit.org/show_bug.cgi?id=23072
1772
1773         Tests: accessibility/ignore-anonymous-block.html
1774                platform/win/accessibility/document-role.html
1775
1776         * page/AccessibilityRenderObject.cpp:
1777         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):Return
1778         true for Anonymous blocks. Matching Firefox 2.0.0.14
1779
1780 2009-05-05  Jungshik Shin  <jshin@chromium.org>
1781
1782         Reviewed by Alexey Proskuryakov.
1783
1784         http://bugs.webkit.org/show_bug.cgi?id=25487
1785
1786         For euc-kr and other 8bit Korean encodings
1787         (similar to euc-kr/windows-949), make document.charset return
1788         EUC-KR instead of windows-949. The latter is not recognized by
1789         Korean web servers.
1790
1791         Add domName method to TextEncoding to deal with cases where
1792         our internal encoding name does not match what's widely recognized
1793         by web servers. Currently, the only case is 'windows-949' (internal
1794         name) vs 'EUC-KR'.
1795
1796         Test: fast/encoding/euckr-name.html
1797
1798         * dom/Document.cpp:
1799         (WebCore::Document::encoding): Call TextEncoding.domName() instead
1800         of TextEncoding.name().
1801         * platform/text/TextEncoding.cpp:
1802         (WebCore::TextEncoding::domName): For the canonical name 'windows-949',
1803         return 'EUC-KR'. Otherwise, just return the canonical name.
1804         * platform/text/TextEncoding.h:
1805
1806 2009-05-05  Adam Langley  <agl@google.com>
1807
1808         Reviewed by Darin Adler.
1809
1810         Rendering fix for <select> elements.
1811         https://bugs.webkit.org/show_bug.cgi?id=25558
1812
1813         When switching a <select> element from display:none to default
1814         display, we would fail to invalidate the parent's pref widths in some
1815         situations:
1816
1817         When attaching the element, RenderMenuList::updateOptionsWidth would
1818         call setNeedsLayoutAndPrefWidthsRecalc before the parent pointer was
1819         set. This would mark the pref widths as dirty, but not for any parent
1820         objects.
1821
1822         When RenderObjectChildList::appendChildNode later calls
1823         setNeedsLayoutAndPrefWidthsRecalc again, with a valid parent pointer,
1824         nothing would be done because the pref widths were already dirty for.
1825         the RenderMenuList.
1826
1827         * rendering/RenderMenuList.cpp:
1828         (WebCore::RenderMenuList::updateOptionsWidth):
1829
1830 2009-05-05  Antony Sargent  <asargent@chromium.org>
1831
1832         Reviewed by Dimitri Glazkov.
1833
1834         Switch V8EventListenerList to use HashTable<T>.
1835         https://bugs.webkit.org/show_bug.cgi?id=25496
1836         
1837         This avoids some tricky issues with event listener removal in the 
1838         current implementation and has slightly better performance.
1839
1840         No new functionality so no new tests.
1841
1842         * bindings/v8/V8EventListenerList.cpp: Added V8EventListenerListIterator.
1843         * bindings/v8/V8EventListenerList.h:
1844         (WebCore::V8EventListenerList::size):
1845         * bindings/v8/WorkerContextExecutionProxy.cpp:
1846         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
1847
1848 2009-05-05  Darin Fisher  <darin@chromium.org>
1849
1850         Fixing build bustage.
1851
1852         Add some missing includes to fix the Chromium build.
1853
1854         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1855         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1856
1857 2009-05-05  Darin Fisher  <darin@chromium.org>
1858
1859         Reviewed by Darin Adler.
1860
1861         https://bugs.webkit.org/show_bug.cgi?id=25570
1862
1863         history.{back,forward,go} should always be dispatched asynchronously,
1864         even when the history navigation would just result in scrolling the
1865         page.  This matches the behavior of other browsers like IE and FF.
1866
1867         Test: fast/history/back-forward-is-asynchronous.html
1868
1869         * loader/FrameLoader.cpp:
1870         (WebCore::FrameLoader::scheduleHistoryNavigation):
1871
1872 2009-05-05  Eric Seidel  <eric@webkit.org>
1873
1874         Reviewed by Simon Fraser.
1875
1876         Add an ASSERT(useTransforms) to mapLocalToContainer implementations in SVG.
1877         https://bugs.webkit.org/show_bug.cgi?id=25532
1878         https://bugs.webkit.org/show_bug.cgi?id=25568
1879
1880         Adding this ASSERT exposed a bug in SVGPaintServerPattern::setup
1881         which was causing transformed SVG text when filled/stroked with a
1882         pattern using patternUnits=objectBoundingBox to draw incorrectly.
1883
1884         I fixed the incorrect drawing (by removing the broken code) and added
1885         two test cases to test the fix:
1886         * svg/transforms/text-with-pattern-inside-transformed-html.xhtml
1887         * svg/transforms/text-with-pattern-with-svg-transform.svg
1888
1889         * rendering/RenderSVGRoot.cpp:
1890         (WebCore::RenderSVGRoot::mapLocalToContainer):
1891         * rendering/SVGRenderSupport.cpp:
1892         (WebCore::SVGRenderBase::mapLocalToContainer):
1893         * svg/graphics/SVGPaintServerPattern.cpp:
1894         (WebCore::SVGPaintServerPattern::setup):
1895
1896 2009-05-05  Greg Bolsinga  <bolsinga@apple.com>
1897
1898         Reviewed by Sam Weinig.
1899
1900         https://bugs.webkit.org/show_bug.cgi?id=25554
1901         
1902         Support HTML5 text control input types: email, number, tel, url
1903
1904         Test: fast/html/text-field-input-types.html
1905
1906         * bindings/objc/DOMHTML.mm:
1907         (-[DOMHTMLInputElement _isTextField]): Call HTMLInputElement::isTextField directly.
1908         * html/HTMLInputElement.cpp: Use the new types where appropriate.
1909         (WebCore::HTMLInputElement::setInputType):
1910         (WebCore::HTMLInputElement::type):
1911         (WebCore::HTMLInputElement::saveState):
1912         (WebCore::HTMLInputElement::restoreState):
1913         (WebCore::HTMLInputElement::accessKeyAction):
1914         (WebCore::HTMLInputElement::rendererIsNeeded):
1915         (WebCore::HTMLInputElement::createRenderer):
1916         (WebCore::HTMLInputElement::appendFormData):
1917         (WebCore::HTMLInputElement::valueWithDefault):
1918         (WebCore::HTMLInputElement::storesValueSeparateFromAttribute):
1919         (WebCore::HTMLInputElement::defaultEventHandler):
1920         * html/HTMLInputElement.h: Ditto.
1921         (WebCore::HTMLInputElement::):
1922         (WebCore::HTMLInputElement::isTextField):
1923
1924 2009-04-01  miggilin  <mr.diggilin@gmail.com>
1925
1926         Reviewed by Kevin Ollivier.
1927
1928         Mouse wheel scrolling and keyboard shortcut support for wx.
1929         
1930         https://bugs.webkit.org/show_bug.cgi?id=24797
1931
1932         * platform/ScrollView.cpp:
1933         (WebCore::ScrollView::wheelEvent):
1934         * platform/wx/KeyboardEventWx.cpp:
1935         (WebCore::windowsKeyCodeForKeyEvent):
1936         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
1937         * platform/wx/ScrollViewWx.cpp:
1938         (WebCore::ScrollView::platformSetScrollPosition):
1939
1940 2009-05-05  Kevin Ollivier  <kevino@theolliviers.com>
1941
1942         wx build fix for Windows, add missing include.
1943         
1944         https://bugs.webkit.org/show_bug.cgi?id=24798
1945
1946         * platform/wx/wxcode/win/non-kerned-drawing.cpp:
1947
1948 2009-05-05  Chris Fleizach  <cfleizach@apple.com>
1949
1950         Reviewed by Beth Dakin.
1951
1952         Bug 25574: AXImageMap children links don't respond properly to accessibilityHitTest:
1953         https://bugs.webkit.org/show_bug.cgi?id=25574
1954
1955         Enable accessibility hit-testing for image map links. 
1956         Allow image map links to return AXURLs and AXAccessKey information.
1957
1958         Test: platform/mac/accessibility/imagemap-hittest.html
1959
1960         * page/AccessibilityImageMapLink.cpp:
1961         (WebCore::AccessibilityImageMapLink::url):
1962         * page/AccessibilityImageMapLink.h:
1963         * page/AccessibilityObject.h:
1964         (WebCore::AccessibilityObject::minValueForRange):
1965         * page/AccessibilityRenderObject.cpp:
1966         (WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
1967         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
1968         (WebCore::AccessibilityRenderObject::doAccessibilityHitTest):
1969         * page/AccessibilityRenderObject.h:
1970         * page/mac/AccessibilityObjectWrapper.mm:
1971         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
1972
1973 2009-05-05  Kevin McCullough  <kmccullough@apple.com>
1974
1975         Reviewed by Dan Bernstein.
1976
1977         <rdar://problem/6552129> Select a quote line and paste elsewhere, you
1978         get that line and an extra quoted blank line
1979         <rdar://problem/6609308> Triple-click a quoted header line, copy, paste
1980         onto an empty line makes an extra quoted line
1981
1982         - When pasting a blockquote with a newline, make sure we put the newline
1983         outside of the blockquote so that it is not quoted.
1984
1985         * editing/InsertParagraphSeparatorCommand.cpp:
1986         (WebCore::InsertParagraphSeparatorCommand::doApply):
1987
1988 2009-05-05  Jan Michael Alonzo  <jmalonzo@webkit.org>
1989
1990         Reviewed by Xan Lopez.
1991
1992         Call moz_gtk_shutdown on RenderThemeGtk destruction.
1993
1994         * platform/gtk/RenderThemeGtk.cpp:
1995         (WebCore::RenderThemeGtk::~RenderThemeGtk):
1996         * platform/gtk/RenderThemeGtk.h:
1997
1998 2009-05-05  Darin Adler  <darin@apple.com>
1999
2000         Reviewed by Steve Falkenburg.
2001
2002         <rdar://problem/6858340> REGRESSION: can't drag local HTML files into Safari because CFURLCreateWithFileSystemPath inserts "localhost"
2003
2004         * platform/win/ClipboardUtilitiesWin.cpp: (WebCore::urlFromPath): Remove localhost.
2005
2006 2009-05-05  Peter Kasting  <pkasting@google.com>
2007
2008         Reviewed by Brady Eidson.
2009
2010         Safety-check m_documentLoader before dereferencing.  While it seems
2011         unlikely this could fail (as Safari 3 shipped without this),
2012         technically almost any call can change or reset m_documentLoader.
2013
2014         * loader/FrameLoader.cpp:
2015         (WebCore::FrameLoader::receivedFirstData):
2016
2017 2009-05-05  Dan Bernstein  <mitz@apple.com>
2018
2019         - Tiger build fix
2020
2021         * css/CSSComputedStyleDeclaration.cpp:
2022         (WebCore::toCSSIdentifier):
2023
2024 2009-05-05  Peter Kasting  <pkasting@google.com>
2025
2026         Reviewed by Eric Seidel.
2027
2028         https://bugs.webkit.org/show_bug.cgi?id=25303
2029         No need to ref the internal buffer inside the Skia ImageDecoder.
2030
2031         * platform/image-decoders/skia/ImageDecoder.h:
2032         (WebCore::RGBA32Buffer::RGBA32Buffer):
2033         (WebCore::RGBA32Buffer::operator=):
2034         (WebCore::RGBA32Buffer::clear):
2035         (WebCore::RGBA32Buffer::copyBitmapData):
2036         (WebCore::RGBA32Buffer::bitmap):
2037         (WebCore::RGBA32Buffer::setSize):
2038         (WebCore::RGBA32Buffer::width):
2039         (WebCore::RGBA32Buffer::height):
2040         (WebCore::RGBA32Buffer::hasAlpha):
2041         (WebCore::RGBA32Buffer::setStatus):
2042         (WebCore::RGBA32Buffer::setHasAlpha):
2043         (WebCore::RGBA32Buffer::setRGBA):
2044
2045 2009-05-05  Dan Bernstein  <mitz@apple.com>
2046
2047         Reviewed by Darin Adler.
2048
2049         - fix https://bugs.webkit.org/show_bug.cgi?id=24192
2050           <rdar://problem/5760774> Replying to a Mail message that contains
2051           fixed width text can change the size of the text
2052
2053         Covered by existing tests: editing/pasteboard/5027857.html
2054                                    editing/pasteboard/paste-pre-002.html
2055
2056         * css/CSSComputedStyleDeclaration.cpp:
2057         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
2058         Added. If the font-size is keyword-based, returns the keyword value
2059         instead of the pixel size.
2060         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): If
2061         font-family is a generic family, return the generic family instead of
2062         the the internal string -webkit-[serif|sans-serif|cursive|fantasy
2063         |monospace].
2064         (WebCore::CSSComputedStyleDeclaration::copyInheritableProperties):
2065         For the font-size property, prefer a keyword value over a pixel size.
2066         * css/CSSComputedStyleDeclaration.h:
2067         * editing/ApplyStyleCommand.cpp:
2068         (WebCore::StyleChange::currentlyHasStyle): For the font-size property,
2069         call getFontSizeCSSValuePreferringKeyword().
2070         * platform/graphics/FontDescription.h:
2071         (WebCore::FontDescription::keywordSize): Changed the return type to
2072         unsigned.
2073         (WebCore::FontDescription::setKeywordSize): Changed the parameter type
2074         to unsigned.
2075         (WebCore::FontDescription::m_keywordSize): Changed the type of this
2076         4-bit field to unsigned, because it takes values as high as 8.
2077
2078 2009-05-05  Oliver Hunt  <oliver@apple.com>
2079
2080         Reviewed by Maciej Stachowiak.
2081
2082         Fix http/tests/misc/DOMContentLoaded-event.html
2083
2084         The native call performance improvement removed a few places where we
2085         unintentionally performed a toThisObject conversion.  This patch updates
2086         the bindings codegen to not rely on this bug.
2087
2088         * bindings/scripts/CodeGeneratorJS.pm:
2089
2090 2009-05-05  Holger Hans Peter Freyther  <zecke@selfish.org>
2091
2092         Reviewed by Xan Lopez and Gustavo Noronha.
2093
2094         Implement WebCore::directoryName for Gtk+.
2095
2096         * platform/gtk/FileSystemGtk.cpp:
2097         (WebCore::directoryName):
2098
2099 2009-05-05  Eric Seidel  <eric@webkit.org>
2100
2101         Reviewed by Adam Roben.
2102
2103         Fix mappedAttributes() access without NULL check
2104         https://bugs.webkit.org/show_bug.cgi?id=25553
2105
2106         SVGStyledElement::getPresentationAttribute was using mappedAttributes()
2107         without checking for NULL.
2108
2109         HTMLInputElement::setInputType also doesn't NULL check, but I was not
2110         able to get it to crash with a test case so I just added an ASSERT.
2111
2112         * html/HTMLInputElement.cpp:
2113         (WebCore::HTMLInputElement::setInputType):
2114         * svg/SVGStyledElement.cpp:
2115         (WebCore::SVGStyledElement::getPresentationAttribute):
2116
2117 2009-05-05  Holger Hans Peter Freyther  <zecke@selfish.org>
2118
2119         Reviewed by Xan Lopez.
2120
2121         Implement WebCore::imageTitle for Gtk+.
2122
2123         * platform/gtk/LocalizedStringsGtk.cpp:
2124         (WebCore::imageTitle):
2125
2126 2009-05-05  Oliver Hunt  <oliver@apple.com>
2127
2128         Reviewed by Gavin Barraclough.
2129
2130         Bug 25559: Improve native function call performance
2131         <https://bugs.webkit.org/show_bug.cgi?id=25559>
2132
2133         Add forwarding header necessary for compilation, and fix debugger
2134         to correctly account for change in JSFunction behaviour.
2135
2136         * ForwardingHeaders/jit/JITCode.h: Added.
2137         * inspector/JavaScriptDebugServer.cpp:
2138         (WebCore::JavaScriptDebugServer::recompileAllJSFunctions):
2139
2140 2009-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
2141
2142         Reviewed by Ariya Hidayat.
2143
2144         Make convertValueToQVariant more robust against null JSValues.
2145
2146         Don't require the caller to do the null check.
2147
2148         * bridge/qt/qt_runtime.cpp:
2149         (JSC::Bindings::convertValueToQVariant):
2150
2151 2009-05-05  Eric Seidel  <eric@webkit.org>
2152
2153         No review, just a revert.
2154
2155         Roll out http://trac.webkit.org/changeset/43213 as it caused 4 tests to crash.
2156
2157         * rendering/RenderSVGRoot.cpp:
2158         (WebCore::RenderSVGRoot::mapLocalToContainer):
2159         * rendering/SVGRenderSupport.cpp:
2160         (WebCore::SVGRenderBase::mapLocalToContainer):
2161
2162 2009-05-04  Alexey Proskuryakov  <ap@webkit.org>
2163
2164         Reviewed by Dave Hyatt.
2165
2166         <rdar://problem/6576889> REGRESSION (r35185): Cannot watch Flash movies on omg.yahoo.com
2167
2168         The problem was caused by missing <head> element - we used to create it when moving a
2169         misplaced <style> element, but we now handle those in place. Other browsers always create
2170         a <head> element.
2171
2172         There is no guarantee that a <head> element always exists - first, it can be removed with
2173         removeChild or innerHTML, and also, we don't currently create it for frameset documents, or
2174         for manually created ones (e.g. ImageDocument).
2175
2176         Test: fast/parser/head-element-for-yahoo-player.html
2177
2178         * dom/Document.cpp: (WebCore::Document::implicitClose): Create a <head> element for about:blank.
2179         A removed comment talked about rdar://3758785, but that problem doesn't re-occur even if this
2180         code is removed completely.
2181
2182         * html/HTMLHtmlElement.cpp: (WebCore::HTMLHtmlElement::checkDTD): No longer allow <script>
2183         elements as children of <html>. This isn't directly related to this bug, but it was easier
2184         to fix both at once (IE and Firefox both don't allow such mispositioned <script> elements).
2185
2186         * html/HTMLParser.cpp:
2187         (WebCore::HTMLParser::handleError): Move <script> to <head> if <body> hasn't been created yet.
2188         Create a <head> it a <body> is created implicitly to contain some other element.
2189         (WebCore::HTMLParser::bodyCreateErrorCheck): Ensure that a <head> exists when <body> is
2190         explicitly present in source.
2191         (WebCore::HTMLParser::createHead): Do the work even if <html> element hasn't been created yet.
2192
2193 2009-05-04  Jakub Wieczorek  <faw217@gmail.com>
2194
2195         Reviewed by Simon Hausmann.
2196
2197         As Qtish implementation of MIMETypeRegistry::getMIMETypeForExtension()
2198         returns the application/octet-stream mimetype when it can't associate
2199         extension with any mimetype, it can happen that the application/octet-stream
2200         mimetype will hit the list of supported image formats. For instance,
2201         it is possible when QImageReader or QImageWriter support an extension
2202         that is not in the extensions map.
2203
2204         Make sure that this mimetype is not treated as displayable image type.
2205
2206         * platform/MIMETypeRegistry.cpp:
2207         (WebCore::initializeSupportedImageMIMETypes):
2208         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2209
2210 2009-05-03  Eric Seidel  <eric@webkit.org>
2211
2212         Reviewed by Simon Fraser.
2213
2214         ASSERT(useTransforms) in SVG mapLocalToContainer implementations
2215         https://bugs.webkit.org/show_bug.cgi?id=25532
2216
2217         * rendering/RenderSVGRoot.cpp:
2218         (WebCore::RenderSVGRoot::mapLocalToContainer):
2219         * rendering/SVGRenderSupport.cpp:
2220         (WebCore::SVGRenderBase::mapLocalToContainer):
2221
2222 2009-05-03  Eric Seidel  <eric@webkit.org>
2223
2224         Reviewed by Simon Fraser.
2225
2226         Remove m_absoluteBounds hack from RenderSVGText
2227         https://bugs.webkit.org/show_bug.cgi?id=25532
2228
2229         No functional changes (SVGs inside CSS transformed HTML should theoretically repaint better)
2230
2231         * rendering/RenderSVGText.cpp:
2232         (WebCore::RenderSVGText::layout):
2233         * rendering/RenderSVGText.h:
2234
2235 2009-05-03  Eric Seidel  <eric@webkit.org>
2236
2237         Reviewed by Simon Fraser.
2238
2239         Remove the vestigial calculateLocalTransform()
2240         https://bugs.webkit.org/show_bug.cgi?id=25532
2241
2242         RenderSVGContainer is now the only render which needs this
2243         function, but it no longer returns the unused bool.
2244
2245         calculateLocalTransform() previously was called by the DOM before
2246         transform updates were part of layout().
2247
2248         * rendering/RenderForeignObject.cpp:
2249         (WebCore::RenderForeignObject::layout):
2250         * rendering/RenderForeignObject.h:
2251         (WebCore::RenderForeignObject::localTransform):
2252         * rendering/RenderPath.cpp:
2253         (WebCore::RenderPath::layout):
2254         * rendering/RenderPath.h:
2255         * rendering/RenderSVGContainer.cpp:
2256         * rendering/RenderSVGContainer.h:
2257         (WebCore::RenderSVGContainer::calculateLocalTransform):
2258         * rendering/RenderSVGImage.cpp:
2259         (WebCore::RenderSVGImage::layout):
2260         * rendering/RenderSVGImage.h:
2261         * rendering/RenderSVGText.cpp:
2262         (WebCore::RenderSVGText::layout):
2263         * rendering/RenderSVGText.h:
2264         * rendering/RenderSVGTransformableContainer.cpp:
2265         (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
2266         * rendering/RenderSVGTransformableContainer.h:
2267
2268 2009-05-03  Eric Seidel  <eric@webkit.org>
2269
2270         Reviewed by Simon Fraser.
2271
2272         Move more code into SVGRenderBase
2273         https://bugs.webkit.org/show_bug.cgi?id=25532
2274
2275         clippedOverflowRectForRepaint, computeRectForRepaint and mapLocalToContainer
2276         are now all shared via SVGRenderBase.
2277
2278         RenderForeignObject should also be sharing this code, but I've left it
2279         alone for now, as changing that would likely cause test changes.
2280
2281         No test changes.  It's possible that transformed <svg:image> elements will
2282         now show up with better metrics in the inspector.
2283
2284         * rendering/RenderSVGImage.cpp:
2285         (WebCore::RenderSVGImage::clippedOverflowRectForRepaint):
2286         (WebCore::RenderSVGImage::computeRectForRepaint):
2287         (WebCore::RenderSVGImage::mapLocalToContainer):
2288         * rendering/RenderSVGImage.h:
2289         * rendering/RenderSVGModelObject.cpp:
2290         (WebCore::RenderSVGModelObject::clippedOverflowRectForRepaint):
2291         (WebCore::RenderSVGModelObject::computeRectForRepaint):
2292         (WebCore::RenderSVGModelObject::mapLocalToContainer):
2293         * rendering/RenderSVGText.cpp:
2294         (WebCore::RenderSVGText::clippedOverflowRectForRepaint):
2295         (WebCore::RenderSVGText::computeRectForRepaint):
2296         (WebCore::RenderSVGText::mapLocalToContainer):
2297         * rendering/SVGRenderSupport.cpp:
2298         (WebCore::SVGRenderBase::clippedOverflowRectForRepaint):
2299         (WebCore::SVGRenderBase::computeRectForRepaint):
2300         (WebCore::SVGRenderBase::mapLocalToContainer):
2301         * rendering/SVGRenderSupport.h:
2302
2303 2009-05-03  Eric Seidel  <eric@webkit.org>
2304
2305         Reviewed by Simon Fraser.
2306
2307         Add SVGRenderBase to share logic between SVG renderers
2308         https://bugs.webkit.org/show_bug.cgi?id=25532
2309
2310         I've added an SVGRenderBase base class which is shared by
2311         all of the SVG renders now.  This patch is just moving code
2312         there are no functional changes in this patch.
2313
2314         Currently I've left these functions in SVGRenderSupport.h
2315         In a later patch I will rename SVGRenderSupport.* to SVGRenderBase.*
2316
2317         clampImageBufferSizeToViewport now takes a FrameView* which makes some code easier to read.
2318
2319         * rendering/RenderSVGBlock.h:
2320         * rendering/RenderSVGImage.h:
2321         * rendering/RenderSVGModelObject.h:
2322         * rendering/RenderSVGRoot.h:
2323         * rendering/SVGRenderSupport.cpp:
2324         (WebCore::SVGRenderBase::prepareToRenderSVGContent):
2325         (WebCore::SVGRenderBase::finishRenderSVGContent):
2326         (WebCore::clampImageBufferSizeToViewport):
2327         (WebCore::SVGRenderBase::computeContainerBoundingBox):
2328         (WebCore::SVGRenderBase::filterBoundingBoxForRenderer):
2329         * rendering/SVGRenderSupport.h:
2330         * rendering/SVGRootInlineBox.cpp:
2331         (WebCore::SVGRootInlineBoxPaintWalker::chunkStartCallback):
2332         (WebCore::SVGRootInlineBoxPaintWalker::chunkEndCallback):
2333         (WebCore::SVGRootInlineBox::paint):
2334         * svg/SVGMaskElement.cpp:
2335         (WebCore::SVGMaskElement::drawMaskerContent):
2336         * svg/SVGPatternElement.cpp:
2337         (WebCore::SVGPatternElement::buildPattern):
2338         * svg/graphics/SVGPaintServerGradient.cpp:
2339         (WebCore::createMaskAndSwapContextForTextGradient):
2340         (WebCore::clipToTextMask):
2341
2342 2009-05-05  Simon Hausmann  <simon.hausmann@nokia.com>
2343
2344         Unreviewed SVG build fix.
2345
2346         Include MappedAttribute.h after r43187.
2347
2348         * svg/SVGComponentTransferFunctionElement.cpp:
2349         * svg/SVGFEBlendElement.cpp:
2350         * svg/SVGFEColorMatrixElement.cpp:
2351         * svg/SVGFEComponentTransferElement.cpp:
2352         * svg/SVGFECompositeElement.cpp:
2353         * svg/SVGFEDiffuseLightingElement.cpp:
2354         * svg/SVGFEDisplacementMapElement.cpp:
2355         * svg/SVGFEGaussianBlurElement.cpp:
2356         * svg/SVGFEImageElement.cpp:
2357         * svg/SVGFELightElement.cpp:
2358         * svg/SVGFEMergeNodeElement.cpp:
2359         * svg/SVGFEOffsetElement.cpp:
2360         * svg/SVGFESpecularLightingElement.cpp:
2361         * svg/SVGFETileElement.cpp:
2362         * svg/SVGFETurbulenceElement.cpp:
2363         * svg/SVGFilterElement.cpp:
2364         * svg/SVGFilterPrimitiveStandardAttributes.cpp:
2365
2366 2009-05-04  Brady Eidson  <beidson@apple.com>
2367
2368         Reviewed by Sam 'The Belly' Weinig
2369
2370         <rdar://problem/6828894> - Facebook photo uploader applet broken on Leopard only
2371
2372         In r41568 we started adding a default codebase attribute to <applet> tags if they didn't specify one
2373         themselves.  Leopard's Java plug-in mishandles this case and fails to load code for the applet.
2374
2375         The spirit of r41568 can be maintained by removing the "default codebase" piece and only performing
2376         the canLoad() check if a codebase was actually set on the applet tag.
2377
2378         * html/HTMLAppletElement.cpp:
2379         (WebCore::HTMLAppletElement::createRenderer): Don't create a default codebase attribute.
2380
2381         * loader/FrameLoader.cpp:
2382         (WebCore::FrameLoader::createJavaAppletWidget): Only perform the canLoad() check if the codebase was set.
2383
2384 2009-05-04  Adam Roben  <aroben@apple.com>
2385
2386         Windows build fix
2387
2388         * html/HTMLCollection.h:
2389         * html/HTMLFormElement.h:
2390         Declare CollectionCache as a struct, not a class, to match its
2391         definition.
2392
2393 2009-05-04  Chris Fleizach  <cfleizach@apple.com>
2394
2395         Reviewed by Beth Dakin, Oliver Hunt.
2396
2397         Bug 25557: REGRESSION: Canvas elements are ignored instead of being exposed as AXImage
2398         https://bugs.webkit.org/show_bug.cgi?id=25557
2399
2400         Test: accessibility/canvas.html
2401
2402         * page/AccessibilityRenderObject.cpp:
2403         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
2404         (WebCore::AccessibilityRenderObject::roleValue):
2405
2406 2009-05-04  Brady Eidson  <beidson@apple.com>
2407
2408         Fix an ancient Changelog entry where Sam Weinig flat out lied and confused my exploration of a bug.
2409
2410         * ChangeLog
2411
2412 2009-05-04  Kai Brüning  <kai@granus.net>
2413
2414         Reviewed by Eric Seidel.
2415         
2416         https://bugs.webkit.org/show_bug.cgi?id=24883
2417         24883: Bad success test in parseXMLDocumentFragment in XMLTokenizerLibxml2.cpp
2418         
2419         Fixed test whether all the chunk has been processed to correctly count utf8 bytes.
2420
2421         Test: fast/innerHTML/innerHTML-nbsp.xhtml
2422
2423         * dom/XMLTokenizerLibxml2.cpp:
2424         (WebCore::parseXMLDocumentFragment):
2425
2426 2009-05-04  Darin Adler  <darin@apple.com>
2427
2428         Reviewed by Eric Seidel.
2429
2430         Bug 24924: remove Document.h include of Attr.h and HTMLCollection.h,
2431         and NamedMappedAttrMap.h include of MappedAttribute.h
2432         https://bugs.webkit.org/show_bug.cgi?id=24924
2433
2434         Make compiles faster, and debugging info smaller.
2435
2436         * GNUmakefile.am: Added new source files.
2437         * WebCore.pro: Ditto.
2438         * WebCore.scons: Ditto.
2439         * WebCore.vcproj/WebCore.vcproj: Ditto.
2440         * WebCore.xcodeproj/project.pbxproj: Ditto.
2441         * WebCoreSources.bkl: Ditto.
2442
2443         * bindings/js/JSHTMLCollectionCustom.cpp:
2444         (WebCore::toJS): Updated for new collection type names.
2445
2446         * dom/Document.cpp:
2447         (WebCore::Document::createAttribute): Added. No longer inline.
2448         (WebCore::Document::images): Updated for new collection type names.
2449         (WebCore::Document::applets): Ditto.
2450         (WebCore::Document::embeds): Ditto.
2451         (WebCore::Document::plugins): Ditto.
2452         (WebCore::Document::objects): Ditto.
2453         (WebCore::Document::scripts): Ditto.
2454         (WebCore::Document::links): Ditto.
2455         (WebCore::Document::forms): Ditto.
2456         (WebCore::Document::anchors): Ditto.
2457         (WebCore::Document::all): Ditto.
2458         (WebCore::Document::windowNamedItems): Ditto.
2459         (WebCore::Document::documentNamedItems): Ditto.
2460         (WebCore::Document::nameCollectionInfo): Ditto.
2461
2462         * dom/Document.h: Changed around includes and forward declarations.
2463         Updated for changes to collection types.
2464
2465         * dom/NamedMappedAttrMap.h: Removed include of MappedAttribute.h.
2466
2467         * html/CollectionCache.cpp: Copied from WebCore/html/HTMLCollection.cpp.
2468         Contains the class that used to be HTMLCollection::CollectionInfo.
2469         * html/CollectionCache.h: Copied from WebCore/html/HTMLCollection.h.
2470         Ditto.
2471
2472         * html/CollectionType.h: Copied from WebCore/html/HTMLCollection.h.
2473         Has the enum that used to be HTMLCollection::Type.
2474
2475         * html/HTMLCollection.cpp:
2476         (WebCore::HTMLCollection::HTMLCollection): Update for collection type change.
2477         (WebCore::HTMLCollection::create): Ditto.
2478         (WebCore::HTMLCollection::resetCollectionInfo): Ditto.
2479         (WebCore::HTMLCollection::itemAfter): Ditto.
2480         * html/HTMLCollection.h: Ditto.
2481
2482         * html/HTMLElement.cpp:
2483         (WebCore::HTMLElement::children): Updated for new collection type names.
2484         * html/HTMLFormCollection.cpp:
2485         (WebCore::HTMLFormCollection::formCollectionInfo): Ditto.
2486         (WebCore::HTMLFormCollection::HTMLFormCollection): Ditto.
2487         * html/HTMLFormCollection.h: Ditto.
2488         * html/HTMLFormElement.h: Ditto.
2489         * html/HTMLMapElement.cpp:
2490         (WebCore::HTMLMapElement::areas): Ditto.
2491         * html/HTMLNameCollection.cpp:
2492         (WebCore::HTMLNameCollection::HTMLNameCollection): Ditto.
2493         * html/HTMLNameCollection.h:
2494         (WebCore::HTMLNameCollection::create): Ditto.
2495         * html/HTMLSelectElement.h:
2496         (WebCore::HTMLSelectElement::collectionInfo): Ditto.
2497         * html/HTMLTableElement.cpp:
2498         (WebCore::HTMLTableElement::tBodies):Ditto.
2499         * html/HTMLTableRowElement.cpp:
2500         (WebCore::HTMLTableRowElement::cells):Ditto.
2501         * html/HTMLTableRowsCollection.cpp:
2502         (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection): Ditto.
2503         * html/HTMLTableSectionElement.cpp:
2504         (WebCore::HTMLTableSectionElement::rows): Ditto.
2505
2506         * bindings/js/JSDOMWindowBase.cpp: Added newly-needed includes.
2507         * bindings/js/JSHTMLFrameSetElementCustom.cpp: Ditto.
2508         * css/CSSStyleSelector.cpp: Ditto.
2509         * dom/Element.cpp: Ditto.
2510         * dom/InputElement.cpp: Ditto.
2511         * dom/NamedAttrMap.cpp: Ditto.
2512         * dom/NamedMappedAttrMap.cpp: Ditto.
2513         * dom/Node.cpp: Ditto.
2514         * dom/StyledElement.cpp: Ditto.
2515         * dom/StyledElement.h: Ditto.
2516         * editing/ApplyStyleCommand.cpp: Ditto.
2517         * editing/DeleteSelectionCommand.cpp: Ditto.
2518         * editing/Editor.cpp: Ditto.
2519         * editing/EditorCommand.cpp: Ditto.
2520         * editing/InsertParagraphSeparatorCommand.cpp: Ditto.
2521         * editing/ReplaceSelectionCommand.cpp: Ditto.
2522         * editing/markup.cpp: Ditto.
2523         * html/CanvasRenderingContext2D.cpp: Ditto.
2524         * html/HTMLAnchorElement.cpp: Ditto.
2525         * html/HTMLAppletElement.cpp: Ditto.
2526         * html/HTMLAreaElement.cpp: Ditto.
2527         * html/HTMLBRElement.cpp: Ditto.
2528         * html/HTMLBaseElement.cpp: Ditto.
2529         * html/HTMLBodyElement.cpp: Ditto.
2530         * html/HTMLButtonElement.cpp: Ditto.
2531         * html/HTMLCanvasElement.cpp: Ditto.
2532         * html/HTMLDivElement.cpp: Ditto.
2533         * html/HTMLEmbedElement.cpp: Ditto.
2534         * html/HTMLFontElement.cpp: Ditto.
2535         * html/HTMLFormControlElement.cpp: Ditto.
2536         * html/HTMLFormElement.cpp: Ditto.
2537         * html/HTMLFrameElement.cpp: Ditto.
2538         * html/HTMLFrameElementBase.cpp: Ditto.
2539         * html/HTMLFrameSetElement.cpp: Ditto.
2540         * html/HTMLHRElement.cpp: Ditto.
2541         * html/HTMLIFrameElement.cpp: Ditto.
2542         * html/HTMLImageElement.cpp: Ditto.
2543         * html/HTMLInputElement.cpp: Ditto.
2544         * html/HTMLIsIndexElement.cpp: Ditto.
2545         * html/HTMLKeygenElement.cpp: Ditto.
2546         * html/HTMLLIElement.cpp: Ditto.
2547         * html/HTMLLinkElement.cpp: Ditto.
2548         * html/HTMLMarqueeElement.cpp: Ditto.
2549         * html/HTMLMetaElement.cpp: Ditto.
2550         * html/HTMLOListElement.cpp: Ditto.
2551         * html/HTMLObjectElement.cpp: Ditto.
2552         * html/HTMLOptionElement.cpp: Ditto.
2553         * html/HTMLParagraphElement.cpp: Ditto.
2554         * html/HTMLParamElement.cpp: Ditto.
2555         * html/HTMLPlugInElement.cpp: Ditto.
2556         * html/HTMLPreElement.cpp: Ditto.
2557         * html/HTMLScriptElement.cpp: Ditto.
2558         * html/HTMLSelectElement.cpp: Ditto.
2559         * html/HTMLStyleElement.cpp: Ditto.
2560         * html/HTMLTableCaptionElement.cpp: Ditto.
2561         * html/HTMLTableCellElement.cpp: Ditto.
2562         * html/HTMLTableColElement.cpp: Ditto.
2563         * html/HTMLTablePartElement.cpp: Ditto.
2564         * html/HTMLTextAreaElement.cpp: Ditto.
2565         * html/HTMLTokenizer.cpp: Ditto.
2566         * html/HTMLUListElement.cpp: Ditto.
2567         * html/HTMLVideoElement.cpp: Ditto.
2568         * html/HTMLViewSourceDocument.cpp: Ditto.
2569         * loader/ImageDocument.cpp: Ditto.
2570         * page/Frame.cpp: Ditto.
2571         * rendering/RenderTreeAsText.cpp: Ditto.
2572         * svg/SVGAElement.cpp: Ditto.
2573         * svg/SVGAnimateMotionElement.cpp: Ditto.
2574         * svg/SVGAnimateTransformElement.cpp: Ditto.
2575         * svg/SVGAnimationElement.cpp: Ditto.
2576         * svg/SVGCircleElement.cpp: Ditto.
2577         * svg/SVGClipPathElement.cpp: Ditto.
2578         * svg/SVGCursorElement.cpp: Ditto.
2579         * svg/SVGElement.cpp: Ditto.
2580         * svg/SVGEllipseElement.cpp: Ditto.
2581         * svg/SVGExternalResourcesRequired.cpp: Ditto.
2582         * svg/SVGFitToViewBox.cpp: Ditto.
2583         * svg/SVGFontFaceElement.cpp: Ditto.
2584         * svg/SVGFontFaceUriElement.cpp: Ditto.
2585         * svg/SVGForeignObjectElement.cpp: Ditto.
2586         * svg/SVGGlyphElement.cpp: Ditto.
2587         * svg/SVGGradientElement.cpp: Ditto.
2588         * svg/SVGImageElement.cpp: Ditto.
2589         * svg/SVGLangSpace.cpp: Ditto.
2590         * svg/SVGLineElement.cpp: Ditto.
2591         * svg/SVGLinearGradientElement.cpp: Ditto.
2592         * svg/SVGMarkerElement.cpp: Ditto.
2593         * svg/SVGMaskElement.cpp: Ditto.
2594         * svg/SVGPathElement.cpp: Ditto.
2595         * svg/SVGPatternElement.cpp: Ditto.
2596         * svg/SVGPolyElement.cpp: Ditto.
2597         * svg/SVGRadialGradientElement.cpp: Ditto.
2598         * svg/SVGRectElement.cpp: Ditto.
2599         * svg/SVGSVGElement.cpp: Ditto.
2600         * svg/SVGScriptElement.cpp: Ditto.
2601         * svg/SVGStopElement.cpp: Ditto.
2602         * svg/SVGStyleElement.cpp: Ditto.
2603         * svg/SVGStyledElement.cpp: Ditto.
2604         * svg/SVGStyledTransformableElement.cpp: Ditto.
2605         * svg/SVGTests.cpp: Ditto.
2606         * svg/SVGTextContentElement.cpp: Ditto.
2607         * svg/SVGTextElement.cpp: Ditto.
2608         * svg/SVGTextPathElement.cpp: Ditto.
2609         * svg/SVGTextPositioningElement.cpp: Ditto.
2610         * svg/SVGURIReference.cpp: Ditto.
2611         * svg/SVGUseElement.cpp: Ditto.
2612         * svg/SVGViewElement.cpp: Ditto.
2613         * svg/animation/SVGSMILElement.cpp: Ditto.
2614         * xml/XPathStep.cpp: Ditto.
2615
2616 2009-05-04  Pavel Feldman  <pfeldman@chromium.org>
2617
2618         Reviewed by Timothy Hatcher.
2619
2620         Do not instantiate hidden WebInspector panels. Otherwise they are hitting unimplemented InspectorController methods.
2621         https://bugs.webkit.org/show_bug.cgi?id=25520
2622
2623         * inspector/front-end/inspector.js:
2624         (WebInspector.loaded):
2625
2626 2009-05-04  Brady Eidson <beidson@apple.com>
2627
2628         Reviewed by Darin Adler.
2629
2630         <rdar://problem/6839881> With "Mail Contents of This Page" in Safari images don't appear in the Tiger Mail compose window
2631
2632         DocumentLoader::subresource() is the implementation for the WebKit API [WebDataSource subresourceForURL:] and has 
2633         particularly sticky behavior.  
2634
2635         If the DocumentLoader represents a WebArchive, this method should return ArchiveResources from that archive.  However, we 
2636         prefer CachedResources over ArchiveResources because they might represent fresher data than what was originally loaded 
2637         from the WebArchive.
2638
2639         In some instances, CachedResources are created and associated with the DocumentLoader but not immediately run through the 
2640         loading delegate machinery.  This was always a possibility, but the Preload Scanner made this significantly more likely.
2641
2642         When this happens and someone asks the WebDataSource for a subresource, it would prefer the CachedResource over an 
2643         ArchiveResource it has even if the CachedResource hasn't been loaded yet.  The CachedResource has nil data, so no
2644         WebResource is returned, and the client thinks the subresource doesn't exist even though it does.
2645
2646         This broke Tiger Mail and probably various other WebKit applications but has a fairly straightforward fix.
2647
2648         * loader/DocumentLoader.cpp:
2649         (WebCore::DocumentLoader::subresource): If there is a CachedResource but it hasn't been loaded yet, fallback to the
2650           ArchiveResource.
2651
2652 2009-05-04  Eric Carlson  <eric.carlson@apple.com>
2653
2654         Reviewed by Adam Roben.
2655         
2656         https://bugs.webkit.org/show_bug.cgi?id=25545
2657         Bug 25545: HTMLMediaElement: display anamorphic video correctly
2658         
2659         Tell QuickTime to use clean aperture mode so movies with non-square pixels are sized
2660         and displayed correctly.
2661
2662         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
2663         (WebCore::MediaPlayerPrivate::createQTMovie): Ask QuickTime to use clean aperture mode.
2664         * platform/graphics/win/QTMovieWin.cpp:
2665         (QTMovieWin::load): Ditto. Add ASSERT to ensure that static movie property array isn't 
2666         filled beyond capacity.
2667
2668 2009-05-03  Mark Rowe  <mrowe@apple.com>
2669
2670         Reviewed by Darin Adler.
2671
2672         Fix <https://bugs.webkit.org/show_bug.cgi?id=25332>.
2673         Bug 25332: Plug-in inserted in to DOM of PluginDocument fails to load
2674
2675         Only the first plug-in in a PluginDocument can use the main resource data.  For all
2676         subsequent plug-ins, such as the plug-in that ClickToFlash inserts when swapping itself
2677         out for the real Flash plug-in, we need to load the resource data in the same manner
2678         as for other embedded plug-ins.
2679
2680         * loader/FrameLoader.cpp:
2681         (WebCore::FrameLoader::loadPlugin):
2682
2683 2009-05-04  Simon Hausmann  <simon.hausmann@nokia.com>
2684
2685         Rubber-stamped by Ariya Hidayat.
2686
2687         Update the qrc file for the Web Inspector in the Qt build
2688         with missing files.
2689
2690         * inspector/front-end/WebKit.qrc:
2691
2692 2009-05-03  Eric Seidel  <eric@webkit.org>
2693
2694         Reviewed by George Staikos.
2695
2696         Move absoluteRects and absoluteQuads into RenderSVGInline and remove absoluteTransform() usage
2697         https://bugs.webkit.org/show_bug.cgi?id=25532
2698
2699         * rendering/RenderSVGInline.cpp:
2700         (WebCore::RenderSVGInline::absoluteRects):
2701         (WebCore::RenderSVGInline::absoluteQuads):
2702         * rendering/RenderSVGInline.h:
2703         * rendering/RenderSVGTSpan.cpp:
2704         * rendering/RenderSVGTSpan.h:
2705         * rendering/RenderSVGTextPath.cpp:
2706         * rendering/RenderSVGTextPath.h:
2707
2708 2009-05-03  Eric Seidel  <eric@webkit.org>
2709
2710         Reviewed by George Staikos.
2711
2712         Move RenderSVGText off of localToAbsolute()
2713         https://bugs.webkit.org/show_bug.cgi?id=25532
2714
2715         * rendering/RenderSVGText.cpp:
2716         (WebCore::RenderSVGText::absoluteRects):
2717         (WebCore::RenderSVGText::absoluteQuads):
2718
2719 2009-05-03  Eric Seidel  <eric@webkit.org>
2720
2721         Reviewed by George Staikos.
2722
2723         Remove broken absoluteTransform() code from RenderSVGInlineText
2724         https://bugs.webkit.org/show_bug.cgi?id=25532
2725
2726         This improved SVG text focus rings.
2727         This also improved SVG.getScreenCTM() results.
2728
2729         SVGSVGElement::getScreenCTM was passing "true" for the second argument in
2730         localToAbsolute, which is "fixed" it meant to pass "true" for the
2731         third argument (useTransforms).  That change alone caused no layout test changes, however
2732         before I fixed this, it was hitting ASSERT(!fixed) in RenderSVGRoot::mapLocalToContainer
2733
2734         mapLocalToContainer implementations really should be shared,
2735         but I'll do that in a later patch.
2736
2737         * rendering/RenderSVGInlineText.cpp:
2738         (WebCore::RenderSVGInlineText::styleDidChange):
2739         (WebCore::RenderSVGInlineText::absoluteQuads):
2740         (WebCore::RenderSVGInlineText::computeRepaintRectForRange):
2741         (WebCore::RenderSVGInlineText::computeRepaintQuadForRange):
2742         * rendering/RenderSVGInlineText.h:
2743         * rendering/RenderSVGRoot.cpp:
2744         (WebCore::RenderSVGRoot::mapLocalToContainer):
2745         * rendering/RenderSVGRoot.h:
2746         * rendering/RenderSVGText.cpp:
2747         (WebCore::RenderSVGText::mapLocalToContainer):
2748         * rendering/RenderSVGText.h:
2749         * svg/SVGSVGElement.cpp:
2750         (WebCore::SVGSVGElement::getScreenCTM):
2751
2752 2009-05-03  Eric Seidel  <eric@webkit.org>
2753
2754         Reviewed by George Staikos.
2755
2756         Remove dead code from RenderPath
2757         https://bugs.webkit.org/show_bug.cgi?id=25532
2758
2759         * rendering/RenderPath.cpp:
2760         * rendering/RenderPath.h:
2761
2762 2009-05-03  Eric Seidel  <eric@webkit.org>
2763
2764         Reviewed by George Staikos.
2765
2766         Share layout code between RenderSVGViewportContainer and RenderSVGContainer
2767         https://bugs.webkit.org/show_bug.cgi?id=25532
2768
2769         * rendering/RenderSVGContainer.cpp:
2770         (WebCore::RenderSVGContainer::layout):
2771         * rendering/RenderSVGContainer.h:
2772         (WebCore::RenderSVGContainer::calcViewport):
2773         * rendering/RenderSVGViewportContainer.cpp:
2774         (WebCore::RenderSVGViewportContainer::applyViewportClip):
2775         * rendering/RenderSVGViewportContainer.h:
2776
2777 2009-05-03  Eric Seidel  <eric@webkit.org>
2778
2779         Reviewed by George Staikos.
2780
2781         Remove redundant disableLayoutState() calls
2782         https://bugs.webkit.org/show_bug.cgi?id=25532
2783
2784         * rendering/RenderForeignObject.cpp:
2785         (WebCore::RenderForeignObject::layout):
2786         * rendering/RenderSVGContainer.cpp:
2787         (WebCore::RenderSVGContainer::layout):
2788         * rendering/RenderSVGViewportContainer.cpp:
2789         (WebCore::RenderSVGViewportContainer::layout):
2790
2791 2009-05-03  Eric Seidel  <eric@webkit.org>
2792
2793         Reviewed by George Staikos.
2794
2795         Simplify RenderForeignObject::paint and fix a repaint bug.
2796         Paint now calls applyTransformToPaintInfo which correctly transforms the damage rect.
2797         https://bugs.webkit.org/show_bug.cgi?id=16939
2798
2799         * rendering/RenderForeignObject.cpp:
2800         (WebCore::RenderForeignObject::paint):
2801
2802 2009-05-03  Hironori Bono  <hbono@chromium.org>
2803
2804         Reviewed by Eric Seidel.
2805
2806         Test: editing/spelling/spellcheck-attribute.html
2807
2808         Bug 14552: Add a way to disable spell checking for specific element
2809         https://bugs.webkit.org/show_bug.cgi?id=14552
2810
2811         For compatibility with Firefox, this code ascends the DOM tree when an element does
2812         not have its "spellcheck" attribute.
2813
2814         * editing/Editor.cpp:
2815         (WebCore::markMisspellingsOrBadGrammar): Retrieve the value of the "spellcheck"
2816         attribute of an element before calling a spell checker or a grammar checker.
2817         * html/HTMLAttributeNames.in: Add a "spellcheck" attribute.
2818
2819 2009-05-03  Sam Weinig  <sam@webkit.org>
2820
2821         Roll JSC API number marshaling back in one last time (I hope).
2822
2823 2009-05-03  Sam Weinig  <sam@webkit.org>
2824
2825         Roll JSC API number marshaling back out. It still breaks windows.
2826
2827 2009-05-03  Sam Weinig  <sam@webkit.org>
2828
2829         Roll JSC API number marshaling back in.
2830
2831 2009-05-02  Dan Bernstein  <mitz@apple.com>
2832
2833         Reviewed by Darin Adler.
2834
2835         - another fix for <rdar://problem/6617298> Typing delete on an unquoted
2836           blank line unquotes the preceding, quoted blank line
2837
2838         Test: editing/deleting/type-delete-after-quote-2.html
2839
2840         * editing/DeleteSelectionCommand.cpp:
2841         (WebCore::DeleteSelectionCommand::DeleteSelectionCommand): Initialize
2842         m_startsAtEmptyLine.
2843         (WebCore::DeleteSelectionCommand::handleSpecialCaseBRDelete): When the
2844         selection starts at an empty line, do not prevent the merging of blocks.
2845         This is what allows the text after the line break to be merged into the
2846         block containing the line break. Also set m_startsAtEmptyLine to true.
2847         (WebCore::DeleteSelectionCommand::mergeParagraphs): If
2848         m_startsAtEmptyLine is true, create a placeholder BR to serve as the
2849         merge destination.
2850         * editing/DeleteSelectionCommand.h:
2851
2852 2009-05-02  Geoffrey Garen  <ggaren@apple.com>
2853
2854         Reviewed by Sam Weinig.
2855
2856         Simplified null-ish JSValues.
2857         
2858         Replaced calls to noValue() with calls to JSValue() (which is what
2859         noValue() returned). Removed noValue().
2860         
2861         Removed "JSValue()" initialiazers, since default construction happens...
2862         by default.
2863
2864         * bindings/js/JSDOMBinding.cpp:
2865         (WebCore::setDOMException):
2866         * bindings/js/JSDOMWindowCustom.cpp:
2867         (WebCore::JSDOMWindow::open):
2868         (WebCore::JSDOMWindow::showModalDialog):
2869         * bindings/js/JSEventListener.cpp:
2870         (WebCore::JSEventListener::handleEvent):
2871         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
2872         (WebCore::JSJavaScriptCallFrame::evaluate):
2873         * bindings/js/JSSQLResultSetRowListCustom.cpp:
2874         (WebCore::JSSQLResultSetRowList::item):
2875         * bindings/js/ScriptController.cpp:
2876         (WebCore::ScriptController::evaluate):
2877         * bindings/js/ScriptValue.h:
2878         (WebCore::ScriptValue::ScriptValue):
2879         (WebCore::ScriptValue::hasNoValue):
2880         * bindings/js/WorkerScriptController.cpp:
2881         (WebCore::WorkerScriptController::evaluate):
2882         * bridge/jni/jni_instance.cpp:
2883         (JavaInstance::invokeMethod):
2884         * bridge/jni/jni_runtime.cpp:
2885         (JavaField::dispatchValueFromInstance):
2886         (JavaField::dispatchSetValueToInstance):
2887         * bridge/runtime.h:
2888         (JSC::Bindings::Instance::invokeConstruct):
2889
2890 2009-05-02  Antti Koivisto  <antti@apple.com>
2891
2892         Reviewed by Dan Bernstein.
2893
2894         <rdar://problem/6631735> Crash in WebCore::CSSStyleSelector::applyProperty(int, WebCore::CSSValue*) (RenderStyle.h:454)
2895         
2896         Avoid re-entering style selector from load delegates by not issuing resource loads synchronously during attach().
2897
2898         * dom/ContainerNode.cpp:
2899         (WebCore::ContainerNode::suspendPostAttachCallbacks):
2900         (WebCore::ContainerNode::resumePostAttachCallbacks):
2901         (WebCore::ContainerNode::attach):
2902         * dom/Element.cpp:
2903         (WebCore::Element::attach):
2904         * loader/loader.cpp:
2905         (WebCore::Loader::Loader):
2906         (WebCore::Loader::servePendingRequests):
2907         (WebCore::Loader::suspendPendingRequests):
2908         (WebCore::Loader::resumePendingRequests):
2909         (WebCore::Loader::Host::servePendingRequests):
2910         * loader/loader.h:
2911         (WebCore::Loader::isSuspendingPendingRequests):
2912
2913 2009-05-02  Darin Adler  <darin@apple.com>
2914
2915         Reviewed by Dan Bernstein.
2916
2917         Bug 25352: REGRESSION(r42322): style isn't applied at bmwusa.com
2918         https://bugs.webkit.org/show_bug.cgi?id=25352
2919         rdar://problem/6823239
2920
2921         Test: http/tests/mime/standard-mode-loads-stylesheet-with-text-css-and-invalid-type.html
2922
2923         * platform/network/HTTPParsers.cpp:
2924         (WebCore::extractMIMETypeFromMediaType): Allow comma as a separator.
2925
2926 2009-05-02  Darin Adler  <darin@apple.com>
2927
2928         Reviewed by Brady Eidson.
2929
2930         Bug 25491: WebFrame leak when a subframe removes itself
2931         https://bugs.webkit.org/show_bug.cgi?id=25491
2932         rdar://problem/6833859
2933
2934         Test: fast/loading/subframe-removes-itself.html
2935
2936         * loader/FrameLoader.cpp:
2937         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): When isStopping is true,
2938         treat load as complete, even if isLoadingInAPISense is still returning true.
2939
2940 2009-05-01  Sam Weinig  <sam@webkit.org>
2941
2942         Roll out JavaScriptCore API number marshaling.
2943
2944         * bindings/js/ScriptValue.cpp:
2945         (WebCore::ScriptValue::isEqual):
2946         * inspector/JavaScriptProfile.cpp:
2947         (WebCore::getHeadCallback):
2948         * inspector/JavaScriptProfileNode.cpp:
2949         (WebCore::getChildren):
2950         (WebCore::getParent):
2951         (WebCore::getHead):
2952
2953 2009-05-01  Sam Weinig  <sam@webkit.org>
2954
2955         Fix build.
2956
2957         * workers/WorkerContext.idl:
2958
2959 2009-05-01  Sam Weinig  <sam@webkit.org>
2960
2961         Reviewed by Oliver Hunt.
2962
2963         Cleanup workers code a bit.
2964
2965         * bindings/js/JSWorkerContextBase.cpp:
2966         (WebCore::toJS):
2967         * bindings/js/JSWorkerContextBase.h:
2968         * bindings/js/JSWorkerContextCustom.cpp:
2969         (WebCore::JSWorkerContext::customGetOwnPropertySlot):
2970         * workers/WorkerContext.h:
2971         (WebCore::WorkerContext::toWorkerContext):
2972         (WebCore::WorkerContext::self):
2973         (WebCore::WorkerContext::setOnmessage):
2974         (WebCore::WorkerContext::onmessage):
2975         * workers/WorkerContext.idl:
2976
2977 2009-05-01  Sam Weinig  <sam@webkit.org>
2978
2979         Reviewed by Darin Adler.
2980
2981         A little clean up.
2982
2983         * loader/FrameLoader.cpp:
2984         (WebCore::FrameLoader::createJavaAppletWidget):
2985
2986 2009-05-01  Sam Weinig  <sam@webkit.org>
2987
2988         Fix the build.
2989
2990         * bindings/js/ScriptValue.cpp:
2991         (WebCore::ScriptValue::isEqual):
2992         * inspector/JavaScriptProfile.cpp:
2993         (WebCore::getHeadCallback):
2994         * inspector/JavaScriptProfileNode.cpp:
2995         (WebCore::getChildren):
2996         (WebCore::getParent):
2997         (WebCore::getHead):
2998
2999 2009-05-01  Brady Eidson  <beidson@apple.com>
3000
3001         Reviewed by Oliver Hunt and Sam "Jon 'The Belly' Honeycutt" Weinig
3002
3003         Fix <rdar://problem/6848867> Addition of DOCTYPE node breaks Tiger Mail
3004
3005         * bindings/objc/DOMHTML.mm:
3006         (-[DOMHTMLDocument firstChild]): Add a Tiger Mail version of this method that skips DOCTYPE nodes.
3007
3008 2009-05-01  Geoffrey Garen  <ggaren@apple.com>
3009
3010         Rubber Stamped by Sam Weinig.
3011         
3012         Renamed JSValuePtr => JSValue.
3013
3014         * bindings/js/JSAttrCustom.cpp:
3015         (WebCore::JSAttr::setValue):
3016         * bindings/js/JSCDATASectionCustom.cpp:
3017         (WebCore::toJSNewlyCreated):
3018         * bindings/js/JSCSSRuleCustom.cpp:
3019         (WebCore::toJS):
3020         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
3021         (WebCore::JSCSSStyleDeclaration::nameGetter):
3022         (WebCore::JSCSSStyleDeclaration::customPut):
3023         * bindings/js/JSCSSValueCustom.cpp:
3024         (WebCore::toJS):
3025         * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
3026         (WebCore::toJS):
3027         (WebCore::toHTMLCanvasStyle):
3028         (WebCore::JSCanvasRenderingContext2D::strokeStyle):
3029         (WebCore::JSCanvasRenderingContext2D::setStrokeStyle):
3030         (WebCore::JSCanvasRenderingContext2D::fillStyle):
3031         (WebCore::JSCanvasRenderingContext2D::setFillStyle):
3032         (WebCore::JSCanvasRenderingContext2D::setFillColor):
3033         (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
3034         (WebCore::JSCanvasRenderingContext2D::strokeRect):
3035         (WebCore::JSCanvasRenderingContext2D::drawImage):
3036         (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
3037         (WebCore::JSCanvasRenderingContext2D::setShadow):
3038         (WebCore::JSCanvasRenderingContext2D::createPattern):
3039         (WebCore::JSCanvasRenderingContext2D::putImageData):
3040         (WebCore::JSCanvasRenderingContext2D::fillText):
3041         (WebCore::JSCanvasRenderingContext2D::strokeText):
3042         * bindings/js/JSClipboardCustom.cpp:
3043         (WebCore::JSClipboard::types):
3044         (WebCore::JSClipboard::clearData):
3045         (WebCore::JSClipboard::getData):
3046         (WebCore::JSClipboard::setData):
3047         (WebCore::JSClipboard::setDragImage):
3048         * bindings/js/JSConsoleCustom.cpp:
3049         (WebCore::JSConsole::profiles):
3050         * bindings/js/JSCoordinatesCustom.cpp:
3051         (WebCore::JSCoordinates::altitude):
3052         (WebCore::JSCoordinates::altitudeAccuracy):
3053         (WebCore::JSCoordinates::heading):
3054         (WebCore::JSCoordinates::speed):
3055         * bindings/js/JSCustomPositionCallback.cpp:
3056         (WebCore::JSCustomPositionCallback::handleEvent):
3057         * bindings/js/JSCustomPositionErrorCallback.cpp:
3058         (WebCore::JSCustomPositionErrorCallback::handleEvent):
3059         * bindings/js/JSCustomSQLStatementCallback.cpp:
3060         (WebCore::JSCustomSQLStatementCallback::handleEvent):
3061         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3062         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
3063         * bindings/js/JSCustomSQLTransactionCallback.cpp:
3064         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
3065         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
3066         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
3067         * bindings/js/JSCustomVoidCallback.cpp:
3068         (WebCore::JSCustomVoidCallback::handleEvent):
3069         (WebCore::toVoidCallback):
3070         * bindings/js/JSCustomVoidCallback.h:
3071         * bindings/js/JSCustomXPathNSResolver.cpp:
3072         (WebCore::JSCustomXPathNSResolver::create):
3073         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
3074         * bindings/js/JSCustomXPathNSResolver.h:
3075         * bindings/js/JSDOMApplicationCacheCustom.cpp:
3076         (WebCore::JSDOMApplicationCache::hasItem):
3077         (WebCore::JSDOMApplicationCache::add):
3078         (WebCore::JSDOMApplicationCache::remove):
3079         (WebCore::JSDOMApplicationCache::addEventListener):
3080         (WebCore::JSDOMApplicationCache::removeEventListener):
3081         * bindings/js/JSDOMBinding.cpp:
3082         (WebCore::jsStringOrNull):
3083         (WebCore::jsOwnedStringOrNull):
3084         (WebCore::jsStringOrUndefined):
3085         (WebCore::jsStringOrFalse):
3086         (WebCore::valueToStringWithNullCheck):
3087         (WebCore::valueToStringWithUndefinedOrNullCheck):
3088         (WebCore::reportException):
3089         (WebCore::reportCurrentException):
3090         (WebCore::setDOMException):
3091         (WebCore::objectToStringFunctionGetter):
3092         * bindings/js/JSDOMBinding.h:
3093         (WebCore::getDOMObjectWrapper):
3094         (WebCore::getDOMNodeWrapper):
3095         (WebCore::toJS):
3096         * bindings/js/JSDOMGlobalObject.cpp:
3097         (WebCore::JSDOMGlobalObject::findJSEventListener):
3098         (WebCore::JSDOMGlobalObject::findOrCreateJSEventListener):
3099         (WebCore::JSDOMGlobalObject::createJSAttributeEventListener):
3100         * bindings/js/JSDOMGlobalObject.h:
3101         * bindings/js/JSDOMStringListCustom.cpp:
3102         (WebCore::JSDOMStringList::getByIndex):
3103         (WebCore::JSDOMStringList::item):
3104         * bindings/js/JSDOMWindowBase.cpp:
3105         (WebCore::JSDOMWindowBase::childFrameGetter):
3106         (WebCore::JSDOMWindowBase::indexGetter):
3107         (WebCore::JSDOMWindowBase::namedItemGetter):
3108         (WebCore::JSDOMWindowBase::getOwnPropertySlot):
3109         (WebCore::JSDOMWindowBase::put):
3110         (WebCore::JSDOMWindowBase::setReturnValueSlot):
3111         (WebCore::toJS):
3112         (WebCore::toJSDOMWindow):
3113         * bindings/js/JSDOMWindowBase.h:
3114         * bindings/js/JSDOMWindowCustom.cpp:
3115         (WebCore::JSDOMWindow::lookupGetter):
3116         (WebCore::JSDOMWindow::lookupSetter):
3117         (WebCore::JSDOMWindow::history):
3118         (WebCore::JSDOMWindow::location):
3119         (WebCore::JSDOMWindow::setLocation):
3120         (WebCore::JSDOMWindow::crypto):
3121         (WebCore::JSDOMWindow::event):
3122         (WebCore::JSDOMWindow::image):
3123         (WebCore::JSDOMWindow::option):
3124         (WebCore::JSDOMWindow::audio):
3125         (WebCore::JSDOMWindow::webKitPoint):
3126         (WebCore::JSDOMWindow::webKitCSSMatrix):
3127         (WebCore::JSDOMWindow::xmlHttpRequest):
3128         (WebCore::JSDOMWindow::xsltProcessor):
3129         (WebCore::JSDOMWindow::messageChannel):
3130         (WebCore::JSDOMWindow::worker):
3131         (WebCore::createWindow):
3132         (WebCore::JSDOMWindow::open):
3133         (WebCore::JSDOMWindow::showModalDialog):
3134         (WebCore::JSDOMWindow::postMessage):
3135         (WebCore::JSDOMWindow::setTimeout):
3136         (WebCore::JSDOMWindow::setInterval):
3137         (WebCore::JSDOMWindow::atob):
3138         (WebCore::JSDOMWindow::btoa):
3139         (WebCore::JSDOMWindow::addEventListener):
3140         (WebCore::JSDOMWindow::removeEventListener):
3141         (WebCore::toDOMWindow):
3142         * bindings/js/JSDOMWindowCustom.h:
3143         (WebCore::nonCachingStaticFunctionGetter):
3144         (WebCore::JSDOMWindow::customPut):
3145         * bindings/js/JSDOMWindowShell.cpp:
3146         (WebCore::JSDOMWindowShell::put):
3147         (WebCore::JSDOMWindowShell::putWithAttributes):
3148         (WebCore::JSDOMWindowShell::lookupGetter):
3149         (WebCore::JSDOMWindowShell::lookupSetter):
3150         (WebCore::toJS):
3151         * bindings/js/JSDOMWindowShell.h:
3152         (WebCore::JSDOMWindowShell::createStructure):
3153         * bindings/js/JSDatabaseCustom.cpp:
3154         (WebCore::JSDatabase::changeVersion):
3155         (WebCore::JSDatabase::transaction):
3156         * bindings/js/JSDocumentCustom.cpp:
3157         (WebCore::JSDocument::location):
3158         (WebCore::JSDocument::setLocation):
3159         (WebCore::toJS):
3160         * bindings/js/JSElementCustom.cpp:
3161         (WebCore::JSElement::setAttribute):
3162         (WebCore::JSElement::setAttributeNode):
3163         (WebCore::JSElement::setAttributeNS):
3164         (WebCore::JSElement::setAttributeNodeNS):
3165         (WebCore::toJSNewlyCreated):
3166         * bindings/js/JSEventCustom.cpp:
3167         (WebCore::JSEvent::clipboardData):
3168         (WebCore::toJS):
3169         * bindings/js/JSEventListener.cpp:
3170         (WebCore::JSEventListener::handleEvent):
3171         * bindings/js/JSEventTarget.cpp:
3172         (WebCore::toJS):
3173         (WebCore::toEventTarget):
3174         * bindings/js/JSEventTarget.h:
3175         * bindings/js/JSEventTargetBase.h:
3176         * bindings/js/JSGeolocationCustom.cpp:
3177         (WebCore::createPositionOptions):
3178         (WebCore::JSGeolocation::getCurrentPosition):
3179         (WebCore::JSGeolocation::watchPosition):
3180         * bindings/js/JSHTMLAllCollection.h:
3181         (WebCore::JSHTMLAllCollection::createStructure):
3182         * bindings/js/JSHTMLAppletElementCustom.cpp:
3183         (WebCore::JSHTMLAppletElement::customPut):
3184         (WebCore::JSHTMLAppletElement::nameGetter):
3185         * bindings/js/JSHTMLCollectionCustom.cpp:
3186         (WebCore::getNamedItems):
3187         (WebCore::callHTMLCollection):
3188         (WebCore::JSHTMLCollection::nameGetter):
3189         (WebCore::JSHTMLCollection::item):
3190         (WebCore::JSHTMLCollection::namedItem):
3191         (WebCore::toJS):
3192         * bindings/js/JSHTMLDocumentCustom.cpp:
3193         (WebCore::JSHTMLDocument::nameGetter):
3194         (WebCore::JSHTMLDocument::all):
3195         (WebCore::JSHTMLDocument::setAll):
3196         (WebCore::JSHTMLDocument::open):
3197         (WebCore::JSHTMLDocument::write):
3198         (WebCore::JSHTMLDocument::writeln):
3199         * bindings/js/JSHTMLEmbedElementCustom.cpp:
3200         (WebCore::JSHTMLEmbedElement::customPut):
3201         (WebCore::JSHTMLEmbedElement::nameGetter):
3202         * bindings/js/JSHTMLFormElementCustom.cpp:
3203         (WebCore::JSHTMLFormElement::nameGetter):
3204         (WebCore::JSHTMLFormElement::submit):
3205         * bindings/js/JSHTMLFrameElementCustom.cpp:
3206         (WebCore::JSHTMLFrameElement::setSrc):
3207         (WebCore::JSHTMLFrameElement::setLocation):
3208         * bindings/js/JSHTMLFrameSetElementCustom.cpp:
3209         (WebCore::JSHTMLFrameSetElement::nameGetter):
3210         * bindings/js/JSHTMLIFrameElementCustom.cpp:
3211         (WebCore::JSHTMLIFrameElement::setSrc):
3212         * bindings/js/JSHTMLInputElementCustom.cpp:
3213         (WebCore::JSHTMLInputElement::selectionStart):
3214         (WebCore::JSHTMLInputElement::setSelectionStart):
3215         (WebCore::JSHTMLInputElement::selectionEnd):
3216         (WebCore::JSHTMLInputElement::setSelectionEnd):
3217         (WebCore::JSHTMLInputElement::setSelectionRange):
3218         * bindings/js/JSHTMLObjectElementCustom.cpp:
3219         (WebCore::JSHTMLObjectElement::customPut):
3220         (WebCore::JSHTMLObjectElement::nameGetter):
3221         * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
3222         (WebCore::JSHTMLOptionsCollection::length):
3223         (WebCore::JSHTMLOptionsCollection::setLength):
3224         (WebCore::JSHTMLOptionsCollection::indexSetter):
3225         (WebCore::JSHTMLOptionsCollection::add):
3226         (WebCore::JSHTMLOptionsCollection::remove):
3227         * bindings/js/JSHTMLSelectElementCustom.cpp:
3228         (WebCore::JSHTMLSelectElement::remove):
3229         (WebCore::selectIndexSetter):
3230         (WebCore::JSHTMLSelectElement::indexSetter):
3231         * bindings/js/JSHTMLSelectElementCustom.h:
3232         * bindings/js/JSHistoryCustom.cpp:
3233         (WebCore::nonCachingStaticBackFunctionGetter):
3234         (WebCore::nonCachingStaticForwardFunctionGetter):
3235         (WebCore::nonCachingStaticGoFunctionGetter):
3236         (WebCore::JSHistory::customPut):
3237         * bindings/js/JSImageDataCustom.cpp:
3238         (WebCore::toJS):
3239         * bindings/js/JSInspectedObjectWrapper.cpp:
3240         (WebCore::JSInspectedObjectWrapper::wrap):
3241         (WebCore::JSInspectedObjectWrapper::prepareIncomingValue):
3242         * bindings/js/JSInspectedObjectWrapper.h:
3243         (WebCore::JSInspectedObjectWrapper::wrapOutgoingValue):
3244         * bindings/js/JSInspectorCallbackWrapper.cpp:
3245         (WebCore::JSInspectorCallbackWrapper::wrap):
3246         (WebCore::JSInspectorCallbackWrapper::prepareIncomingValue):
3247         * bindings/js/JSInspectorCallbackWrapper.h:
3248         (WebCore::JSInspectorCallbackWrapper::wrapOutgoingValue):
3249         * bindings/js/JSInspectorControllerCustom.cpp:
3250         (WebCore::JSInspectorController::highlightDOMNode):
3251         (WebCore::JSInspectorController::addResourceSourceToFrame):
3252         (WebCore::JSInspectorController::addSourceToFrame):
3253         (WebCore::JSInspectorController::getResourceDocumentNode):
3254         (WebCore::JSInspectorController::search):
3255         (WebCore::JSInspectorController::databaseTableNames):
3256         (WebCore::JSInspectorController::inspectedWindow):
3257         (WebCore::JSInspectorController::setting):
3258         (WebCore::JSInspectorController::setSetting):
3259         (WebCore::JSInspectorController::wrapCallback):
3260         (WebCore::JSInspectorController::currentCallFrame):
3261         (WebCore::JSInspectorController::profiles):
3262         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
3263         (WebCore::JSJavaScriptCallFrame::evaluate):
3264         (WebCore::JSJavaScriptCallFrame::thisObject):
3265         (WebCore::JSJavaScriptCallFrame::type):
3266         (WebCore::JSJavaScriptCallFrame::scopeChain):
3267         * bindings/js/JSLazyEventListener.cpp:
3268         (WebCore::JSLazyEventListener::parseCode):
3269         * bindings/js/JSLocationCustom.cpp:
3270         (WebCore::nonCachingStaticReplaceFunctionGetter):
3271         (WebCore::nonCachingStaticReloadFunctionGetter):
3272         (WebCore::nonCachingStaticAssignFunctionGetter):
3273         (WebCore::JSLocation::customPut):
3274         (WebCore::JSLocation::setHref):
3275         (WebCore::JSLocation::setProtocol):
3276         (WebCore::JSLocation::setHost):
3277         (WebCore::JSLocation::setHostname):
3278         (WebCore::JSLocation::setPort):
3279         (WebCore::JSLocation::setPathname):
3280         (WebCore::JSLocation::setSearch):
3281         (WebCore::JSLocation::setHash):
3282         (WebCore::JSLocation::replace):
3283         (WebCore::JSLocation::reload):
3284         (WebCore::JSLocation::assign):
3285         (WebCore::JSLocation::toString):
3286         (WebCore::JSLocationPrototype::customPut):
3287         * bindings/js/JSMessagePortCustom.cpp:
3288         (WebCore::JSMessagePort::startConversation):
3289         (WebCore::JSMessagePort::addEventListener):
3290         (WebCore::JSMessagePort::removeEventListener):
3291         * bindings/js/JSMimeTypeArrayCustom.cpp:
3292         (WebCore::JSMimeTypeArray::nameGetter):
3293         * bindings/js/JSNamedNodeMapCustom.cpp:
3294         (WebCore::JSNamedNodeMap::nameGetter):
3295         * bindings/js/JSNamedNodesCollection.cpp:
3296         (WebCore::JSNamedNodesCollection::lengthGetter):
3297         (WebCore::JSNamedNodesCollection::indexGetter):
3298         * bindings/js/JSNamedNodesCollection.h:
3299         (WebCore::JSNamedNodesCollection::createStructure):
3300         * bindings/js/JSNavigatorCustom.cpp:
3301         (WebCore::needsYouTubeQuirk):
3302         (WebCore::JSNavigator::appVersion):
3303         * bindings/js/JSNodeCustom.cpp:
3304         (WebCore::JSNode::insertBefore):
3305         (WebCore::JSNode::replaceChild):
3306         (WebCore::JSNode::removeChild):
3307         (WebCore::JSNode::appendChild):
3308         (WebCore::JSNode::addEventListener):
3309         (WebCore::JSNode::removeEventListener):
3310         (WebCore::createWrapper):
3311         (WebCore::toJSNewlyCreated):
3312         (WebCore::toJS):
3313         * bindings/js/JSNodeFilterCondition.cpp:
3314         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
3315         (WebCore::JSNodeFilterCondition::acceptNode):
3316         * bindings/js/JSNodeFilterCondition.h:
3317         (WebCore::JSNodeFilterCondition::create):
3318         * bindings/js/JSNodeFilterCustom.cpp:
3319         (WebCore::JSNodeFilter::acceptNode):
3320         (WebCore::toNodeFilter):
3321         * bindings/js/JSNodeIteratorCustom.cpp:
3322         (WebCore::JSNodeIterator::nextNode):
3323         (WebCore::JSNodeIterator::previousNode):
3324         * bindings/js/JSNodeListCustom.cpp:
3325         (WebCore::callNodeList):
3326         (WebCore::JSNodeList::nameGetter):
3327         * bindings/js/JSPluginArrayCustom.cpp:
3328         (WebCore::JSPluginArray::nameGetter):
3329         * bindings/js/JSPluginCustom.cpp:
3330         (WebCore::JSPlugin::nameGetter):
3331         * bindings/js/JSPluginElementFunctions.cpp:
3332         (WebCore::runtimeObjectGetter):
3333         (WebCore::runtimeObjectPropertyGetter):
3334         (WebCore::runtimeObjectCustomPut):
3335         (WebCore::callPlugin):
3336         * bindings/js/JSPluginElementFunctions.h:
3337         * bindings/js/JSQuarantinedObjectWrapper.cpp:
3338         (WebCore::JSQuarantinedObjectWrapper::asWrapper):
3339         (WebCore::JSQuarantinedObjectWrapper::cachedValueGetter):
3340         (WebCore::JSQuarantinedObjectWrapper::transferExceptionToExecState):
3341         (WebCore::JSQuarantinedObjectWrapper::getOwnPropertySlot):
3342         (WebCore::JSQuarantinedObjectWrapper::put):
3343         (WebCore::JSQuarantinedObjectWrapper::construct):
3344         (WebCore::JSQuarantinedObjectWrapper::hasInstance):
3345         (WebCore::JSQuarantinedObjectWrapper::call):
3346         * bindings/js/JSQuarantinedObjectWrapper.h:
3347         (WebCore::JSQuarantinedObjectWrapper::createStructure):
3348         * bindings/js/JSRGBColor.cpp:
3349         (WebCore::getJSRGBColor):
3350         (jsRGBColorRed):
3351         (jsRGBColorGreen):
3352         (jsRGBColorBlue):
3353         * bindings/js/JSRGBColor.h:
3354         (WebCore::JSRGBColor::createStructure):
3355         * bindings/js/JSSQLResultSetRowListCustom.cpp:
3356         (WebCore::JSSQLResultSetRowList::item):
3357         * bindings/js/JSSQLTransactionCustom.cpp:
3358         (WebCore::JSSQLTransaction::executeSql):
3359         * bindings/js/JSSVGElementInstanceCustom.cpp:
3360         (WebCore::JSSVGElementInstance::addEventListener):
3361         (WebCore::JSSVGElementInstance::removeEventListener):
3362         (WebCore::toJS):
3363         * bindings/js/JSSVGLengthCustom.cpp:
3364         (WebCore::JSSVGLength::value):
3365         (WebCore::JSSVGLength::convertToSpecifiedUnits):
3366         * bindings/js/JSSVGMatrixCustom.cpp:
3367         (WebCore::JSSVGMatrix::inverse):
3368         (WebCore::JSSVGMatrix::rotateFromVector):
3369         * bindings/js/JSSVGPathSegCustom.cpp:
3370         (WebCore::toJS):
3371         * bindings/js/JSSVGPathSegListCustom.cpp:
3372         (WebCore::JSSVGPathSegList::clear):
3373         (WebCore::JSSVGPathSegList::initialize):
3374         (WebCore::JSSVGPathSegList::getItem):
3375         (WebCore::JSSVGPathSegList::insertItemBefore):
3376         (WebCore::JSSVGPathSegList::replaceItem):
3377         (WebCore::JSSVGPathSegList::removeItem):
3378         (WebCore::JSSVGPathSegList::appendItem):
3379         * bindings/js/JSSVGPointListCustom.cpp:
3380         (WebCore::finishGetter):
3381         (WebCore::finishSetter):
3382         (WebCore::finishSetterReadOnlyResult):
3383         (WebCore::JSSVGPointList::clear):
3384         (WebCore::JSSVGPointList::initialize):
3385         (WebCore::JSSVGPointList::getItem):
3386         (WebCore::JSSVGPointList::insertItemBefore):
3387         (WebCore::JSSVGPointList::replaceItem):
3388         (WebCore::JSSVGPointList::removeItem):
3389         (WebCore::JSSVGPointList::appendItem):
3390         * bindings/js/JSSVGTransformListCustom.cpp:
3391         (WebCore::finishGetter):
3392         (WebCore::finishSetter):
3393         (WebCore::finishSetterReadOnlyResult):
3394         (WebCore::JSSVGTransformList::clear):
3395         (WebCore::JSSVGTransformList::initialize):
3396         (WebCore::JSSVGTransformList::getItem):
3397         (WebCore::JSSVGTransformList::insertItemBefore):
3398         (WebCore::JSSVGTransformList::replaceItem):
3399         (WebCore::JSSVGTransformList::removeItem):
3400         (WebCore::JSSVGTransformList::appendItem):
3401         * bindings/js/JSStorageCustom.cpp:
3402         (WebCore::JSStorage::nameGetter):
3403         (WebCore::JSStorage::deleteProperty):
3404         (WebCore::JSStorage::customPut):
3405         * bindings/js/JSStyleSheetCustom.cpp:
3406         (WebCore::toJS):
3407         * bindings/js/JSStyleSheetListCustom.cpp:
3408         (WebCore::JSStyleSheetList::nameGetter):
3409         * bindings/js/JSTextCustom.cpp:
3410         (WebCore::toJSNewlyCreated):
3411         * bindings/js/JSTreeWalkerCustom.cpp:
3412         (WebCore::JSTreeWalker::parentNode):
3413         (WebCore::JSTreeWalker::firstChild):
3414         (WebCore::JSTreeWalker::lastChild):
3415         (WebCore::JSTreeWalker::nextSibling):
3416         (WebCore::JSTreeWalker::previousSibling):
3417         (WebCore::JSTreeWalker::previousNode):
3418         (WebCore::JSTreeWalker::nextNode):
3419         * bindings/js/JSWorkerContextCustom.cpp:
3420         (WebCore::JSWorkerContext::self):
3421         (WebCore::JSWorkerContext::setSelf):
3422         (WebCore::JSWorkerContext::xmlHttpRequest):
3423         (WebCore::JSWorkerContext::importScripts):
3424         (WebCore::JSWorkerContext::addEventListener):
3425         (WebCore::JSWorkerContext::removeEventListener):
3426         (WebCore::JSWorkerContext::setTimeout):
3427         (WebCore::JSWorkerContext::setInterval):
3428         * bindings/js/JSWorkerCustom.cpp:
3429         (WebCore::JSWorker::addEventListener):
3430         (WebCore::JSWorker::removeEventListener):
3431         * bindings/js/JSXMLHttpRequestCustom.cpp:
3432         (WebCore::JSXMLHttpRequest::open):
3433         (WebCore::JSXMLHttpRequest::setRequestHeader):
3434         (WebCore::JSXMLHttpRequest::send):
3435         (WebCore::JSXMLHttpRequest::getResponseHeader):
3436         (WebCore::JSXMLHttpRequest::overrideMimeType):
3437         (WebCore::JSXMLHttpRequest::addEventListener):
3438         (WebCore::JSXMLHttpRequest::removeEventListener):
3439         (WebCore::JSXMLHttpRequest::responseText):
3440         * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
3441         (WebCore::JSXMLHttpRequestUpload::addEventListener):
3442         (WebCore::JSXMLHttpRequestUpload::removeEventListener):
3443         * bindings/js/JSXSLTProcessorCustom.cpp:
3444         (WebCore::JSXSLTProcessor::importStylesheet):
3445         (WebCore::JSXSLTProcessor::transformToFragment):
3446         (WebCore::JSXSLTProcessor::transformToDocument):
3447         (WebCore::JSXSLTProcessor::setParameter):
3448         (WebCore::JSXSLTProcessor::getParameter):
3449         (WebCore::JSXSLTProcessor::removeParameter):
3450         * bindings/js/ScheduledAction.cpp:
3451         (WebCore::ScheduledAction::create):
3452         (WebCore::ScheduledAction::ScheduledAction):
3453         (WebCore::ScheduledAction::executeFunctionInContext):
3454         * bindings/js/ScheduledAction.h:
3455         * bindings/js/ScriptCallStack.cpp:
3456         (WebCore::ScriptCallStack::ScriptCallStack):
3457         (WebCore::ScriptCallStack::initialize):
3458         * bindings/js/ScriptCallStack.h:
3459         * bindings/js/ScriptController.cpp:
3460         (WebCore::ScriptController::jsObjectForPluginElement):
3461         * bindings/js/ScriptFunctionCall.cpp:
3462         (WebCore::ScriptFunctionCall::appendArgument):
3463         (WebCore::ScriptFunctionCall::call):
3464         (WebCore::ScriptFunctionCall::construct):
3465         * bindings/js/ScriptFunctionCall.h:
3466         * bindings/js/ScriptObject.cpp:
3467         (WebCore::ScriptGlobalObject::get):
3468         * bindings/js/ScriptValue.h:
3469         (WebCore::ScriptValue::ScriptValue):
3470         (WebCore::ScriptValue::jsValue):
3471         * bindings/objc/WebScriptObject.mm:
3472         (-[WebScriptObject callWebScriptMethod:withArguments:]):
3473         (-[WebScriptObject evaluateWebScript:]):
3474         (-[WebScriptObject valueForKey:]):
3475         (-[WebScriptObject webScriptValueAtIndex:]):
3476         (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
3477         * bindings/objc/WebScriptObjectPrivate.h:
3478         * bridge/NP_jsobject.cpp:
3479         (_NPN_InvokeDefault):
3480         (_NPN_Invoke):
3481         (_NPN_Evaluate):
3482         (_NPN_GetProperty):
3483         (_NPN_HasMethod):
3484         (_NPN_Construct):
3485         * bridge/c/c_instance.cpp:
3486         (JSC::Bindings::CInstance::invokeMethod):
3487         (JSC::Bindings::CInstance::invokeDefaultMethod):
3488         (JSC::Bindings::CInstance::invokeConstruct):
3489         (JSC::Bindings::CInstance::defaultValue):
3490         (JSC::Bindings::CInstance::stringValue):
3491         (JSC::Bindings::CInstance::numberValue):
3492         (JSC::Bindings::CInstance::booleanValue):
3493         (JSC::Bindings::CInstance::valueOf):
3494         * bridge/c/c_instance.h:
3495         * bridge/c/c_runtime.cpp:
3496         (JSC::Bindings::CField::valueFromInstance):
3497         (JSC::Bindings::CField::setValueToInstance):
3498         * bridge/c/c_runtime.h:
3499         * bridge/c/c_utility.cpp:
3500         (JSC::Bindings::convertValueToNPVariant):
3501         (JSC::Bindings::convertNPVariantToValue):
3502         * bridge/c/c_utility.h:
3503         * bridge/jni/jni_instance.cpp:
3504         (JavaInstance::stringValue):
3505         (JavaInstance::numberValue):
3506         (JavaInstance::booleanValue):
3507         (JavaInstance::invokeMethod):
3508         (JavaInstance::defaultValue):
3509         (JavaInstance::valueOf):
3510         * bridge/jni/jni_instance.h:
3511         * bridge/jni/jni_jsobject.h:
3512         * bridge/jni/jni_jsobject.mm:
3513         (JavaJSObject::call):
3514         (JavaJSObject::eval):
3515         (JavaJSObject::getMember):
3516         (JavaJSObject::getSlot):
3517         (JavaJSObject::convertValueToJObject):
3518         (JavaJSObject::convertJObjectToValue):
3519         * bridge/jni/jni_objc.mm:
3520         (JSC::Bindings::dispatchJNICall):
3521         * bridge/jni/jni_runtime.cpp:
3522         (JavaArray::convertJObjectToArray):
3523         (JavaField::dispatchValueFromInstance):
3524         (JavaField::valueFromInstance):
3525         (JavaField::dispatchSetValueToInstance):
3526         (JavaField::setValueToInstance):
3527         (JavaArray::setValueAt):
3528         (JavaArray::valueAt):
3529         * bridge/jni/jni_runtime.h:
3530         * bridge/jni/jni_utility.cpp:
3531         (JSC::Bindings::convertArrayInstanceToJavaArray):
3532         (JSC::Bindings::convertValueToJValue):
3533         * bridge/jni/jni_utility.h:
3534         * bridge/objc/WebScriptObject.h:
3535         * bridge/objc/objc_class.h:
3536         * bridge/objc/objc_class.mm:
3537         (JSC::Bindings::ObjcClass::fallbackObject):
3538         * bridge/objc/objc_instance.h:
3539         * bridge/objc/objc_instance.mm:
3540         (ObjcInstance::invokeMethod):
3541         (ObjcInstance::invokeDefaultMethod):
3542         (ObjcInstance::setValueOfUndefinedField):
3543         (ObjcInstance::getValueOfUndefinedField):
3544         (ObjcInstance::defaultValue):
3545         (ObjcInstance::stringValue):
3546         (ObjcInstance::numberValue):
3547         (ObjcInstance::booleanValue):
3548         (ObjcInstance::valueOf):
3549         * bridge/objc/objc_runtime.h:
3550         (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
3551         * bridge/objc/objc_runtime.mm:
3552         (JSC::Bindings::ObjcField::valueFromInstance):
3553         (JSC::Bindings::convertValueToObjcObject):
3554         (JSC::Bindings::ObjcField::setValueToInstance):
3555         (JSC::Bindings::ObjcArray::setValueAt):
3556         (JSC::Bindings::ObjcArray::valueAt):
3557         (JSC::Bindings::ObjcFallbackObjectImp::put):
3558         (JSC::Bindings::callObjCFallbackObject):
3559         (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
3560         * bridge/objc/objc_utility.h:
3561         * bridge/objc/objc_utility.mm:
3562         (JSC::Bindings::convertValueToObjcValue):
3563         (JSC::Bindings::convertNSStringToString):
3564         (JSC::Bindings::convertObjcValueToValue):
3565         * bridge/runtime.h:
3566         (JSC::Bindings::Class::fallbackObject):
3567         (JSC::Bindings::Instance::setValueOfUndefinedField):
3568         (JSC::Bindings::Instance::invokeDefaultMethod):
3569         (JSC::Bindings::Instance::invokeConstruct):
3570         (JSC::Bindings::Instance::put):
3571         * bridge/runtime_array.cpp:
3572         (JSC::RuntimeArray::lengthGetter):
3573         (JSC::RuntimeArray::indexGetter):
3574         (JSC::RuntimeArray::put):
3575         * bridge/runtime_array.h:
3576         (JSC::RuntimeArray::createStructure):
3577         * bridge/runtime_method.cpp:
3578         (JSC::RuntimeMethod::lengthGetter):
3579         (JSC::callRuntimeMethod):
3580         * bridge/runtime_method.h:
3581         (JSC::RuntimeMethod::createStructure):
3582         * bridge/runtime_object.cpp:
3583         (JSC::RuntimeObjectImp::fallbackObjectGetter):
3584         (JSC::RuntimeObjectImp::fieldGetter):
3585         (JSC::RuntimeObjectImp::methodGetter):
3586         (JSC::RuntimeObjectImp::put):
3587         (JSC::RuntimeObjectImp::defaultValue):
3588         (JSC::callRuntimeObject):
3589         (JSC::callRuntimeConstructor):
3590         * bridge/runtime_object.h:
3591         (JSC::RuntimeObjectImp::createStructure):
3592         * inspector/JavaScriptCallFrame.cpp:
3593         (WebCore::JavaScriptCallFrame::evaluate):
3594         * inspector/JavaScriptCallFrame.h:
3595         * inspector/JavaScriptProfile.cpp:
3596         (WebCore::toJS):
3597         * inspector/JavaScriptProfile.h:
3598         * inspector/JavaScriptProfileNode.cpp:
3599         (WebCore::toJS):
3600         * inspector/JavaScriptProfileNode.h:
3601
3602 2009-05-01  Dimitri Glazkov  <dglazkov@chromium.org>
3603
3604         Reviewed by Eric Seidel.
3605
3606         https://bugs.webkit.org/show_bug.cgi?id=25485
3607         Only use visitedURL in Qt. This is a follow-up change to http://trac.webkit.org/changeset/43052,
3608         which broke Chromium build.
3609
3610         * css/CSSStyleSelector.cpp:
3611         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState): Moved guards around to
3612             provide separate code paths for Qt and non-Qt ports. Also restored original
3613             order of execution.
3614
3615 2009-05-01  Anders Carlsson  <andersca@apple.com>
3616
3617         Reviewed by Adele Peterson.
3618
3619         <rdar://problem/6839222>
3620         CrashTracer: Lots of crashes in Safari in hash table remove function inside DocumentLoader::removeSubresourceLoader
3621         
3622         After calling m_client->didFail(), check if the subresource loader has reached its terminal state. If that's the case,
3623         return early to avoid calling removeSubresourceLoader on a null document loader. I don't think this is allowed to happen
3624         which is why I've added the ASSERT.
3625         
3626         * loader/SubresourceLoader.cpp:
3627         (WebCore::SubresourceLoader::didCancel):
3628
3629 2009-05-01  Timothy Hatcher  <timothy@apple.com>
3630
3631         Disallow the deletion UI for elements that have any overflow clipping.
3632         Also disallow the UI for the body element it isn't practical to delete,
3633         and the deletion UI would be clipped.
3634
3635         <rdar://problem/6840161> Deletion UI can be clipped by some
3636         elements (with overflow: hidden)
3637
3638         Reviewed by Darin Adler.
3639
3640         * editing/DeleteButtonController.cpp:
3641         (WebCore::isDeletableElement):
3642
3643 2009-05-01  Timothy Hatcher  <timothy@apple.com>
3644
3645         Decrease the minimum height for deleteable elements to 16px, and increase the
3646         minimum width to 48px. This allows deleting shorter items like navigation bars.
3647
3648         <rdar://problem/6840735> Deletion UI does not show up for short
3649         elements (22px or less)
3650
3651         Reviewed by Adele Peterson.
3652
3653         * editing/DeleteButtonController.cpp:
3654         (WebCore::isDeletableElement):
3655
3656 2009-05-01  Timothy Hatcher  <timothy@apple.com>
3657
3658         Clean up the comments and logic in the code for picking a
3659         deleteable element for the deletion UI.
3660
3661         Reviewed by Adele Peterson.
3662
3663         * editing/DeleteButtonController.cpp:
3664         (WebCore::isDeletableElement):
3665
3666 2009-05-01  Kevin McCullough  <kmccullough@apple.com>
3667
3668         Reviewed by Adele Peterson and Darin Adler.
3669
3670         <rdar://problem/4815598> Stuck in double spacing mode after pasting a
3671         paragraph with padding/margin (or table mode !)
3672
3673         A lot of the issues in this bug were resolved on Mail's side by using
3674         WebKit to convert to plain text.  This is the final issue, that floating
3675         style stays on copied nodes causing them to float when they are pasted
3676         which is not what the user intended.
3677
3678         * editing/markup.cpp:
3679         (WebCore::removeExteriorStyles):
3680         (WebCore::):
3681         (WebCore::appendStartMarkup):
3682         (WebCore::getStartMarkup):
3683         (WebCore::createMarkup):
3684
3685 2009-05-01  Pavel Feldman  <pfeldman@chromium.org>
3686
3687         Reviewed by Timothy Hatcher.
3688
3689         Add a FrameLoaderClient callback for the ResourceRetrievedByXMLHttpRequest.
3690         This is the only resource-related information that is available in InspectorController
3691         and is missing in the FrameLoaderClient.
3692
3693         https://bugs.webkit.org/show_bug.cgi?id=25347
3694
3695         * WebCore.xcodeproj/project.pbxproj: Made ScriptSource private.
3696         * dom/Document.cpp: Made a call to a client along with the call to the InspectorController.
3697         (WebCore::Document::resourceRetrievedByXMLHttpRequest):
3698         * loader/EmptyClients.h: Added stub implementation.
3699         (WebCore::EmptyFrameLoaderClient::dispatchDidLoadResourceByXMLHttpRequest):
3700         * loader/FrameLoader.cpp: Call initiating dispatches.
3701         (WebCore::FrameLoader::resourceRetrievedByXMLHttpRequest):
3702         * loader/FrameLoader.h:
3703         * loader/FrameLoaderClient.h:
3704
3705 2009-04-30  Beth Dakin  <bdakin@apple.com>
3706
3707         Reviewed by Oliver Hunt.
3708
3709         Fix for <rdar://problem/6841106> REGRESSION: Crash drag selecting 
3710         To Do's in a Mail note (excessive recursion in mouse drag tracking)
3711
3712         Oliver's recent change to dragging seems to have revealed a long-
3713         time bug in passSubframeEventToSubframe where we did not set 
3714         m_sendingEventToSubview to true before calling 
3715         handleMouseMoveEvent() in the NSMouseMoved case. This patch fixes 
3716         that and adds ASSERTions around all of the places where 
3717         m_sendingEventToSubview is set to true and then false to make sure 
3718         we are not trampling its state.
3719
3720         * page/mac/EventHandlerMac.mm:
3721         (WebCore::EventHandler::eventLoopHandleMouseDragged):
3722         (WebCore::EventHandler::eventLoopHandleMouseUp):
3723         (WebCore::EventHandler::passSubframeEventToSubframe):
3724         (WebCore::EventHandler::passWheelEventToWidget):
3725
3726 2009-04-30  Eric Carlson  <eric.carlson@apple.com>
3727
3728         Reviewed by Simon Fraser.
3729         
3730         MediaDocument falls back to plug-in unnecessarily
3731         https://bugs.webkit.org/show_bug.cgi?id=25504
3732         <rdar://problem/6844702>
3733         
3734         Don't allow harmless media types to cause a MediaDocument to fall
3735         back to PluginDocument.
3736
3737         Test: media/video-document-types.html
3738
3739         * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
3740         (WebCore::MediaPlayerPrivate::disableUnsupportedTracks): add timecode, timecode 64,
3741         odsm, and sdsm to allowed track types.
3742
3743         * platform/graphics/win/QTMovieWin.cpp:
3744         (QTMovieWin::disableUnsupportedTracks): Ditto.
3745
3746 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3747
3748         Reviewed by Eric Seidel.
3749
3750         Add CHROMIUM guard to unfork Document.cpp
3751
3752         * dom/Document.cpp:
3753         (WebCore::Document::setFocusedNode): Added guard.
3754
3755 2009-04-30  David Kilzer  <ddkilzer@apple.com>
3756
3757         Use OwnPtr<HTMLParserQuirks> for m_parserQuirks
3758
3759         Reviewed by Geoff Garen.
3760
3761         * html/HTMLParser.cpp:
3762         (WebCore::HTMLParser::~HTMLParser): Removed unneeded code.
3763         * html/HTMLParser.h: Made m_parserQuirks an OwnPtr.
3764
3765 2009-04-30  David Kilzer  <ddkilzer@apple.com>
3766
3767         Provide a mechanism to create a quirks delegate for HTMLParser
3768
3769         Reviewed by David Hyatt.
3770
3771         No tests since there is no change in behavior.
3772
3773         HTMLParserQuirks.h defines an abstract base class that may be
3774         extended as needed.  The ChromeClient::createHTMLParserQuirks()
3775         factory method should be used to return an HTMLParserQuirks
3776         subclassed object when needed.
3777
3778         * WebCore.xcodeproj/project.pbxproj: Added HTMLParserQuirks.h.
3779         * html/HTMLParser.cpp:
3780         (WebCore::HTMLParser::HTMLParser): Initialize m_parserQuirks
3781         using ChromeClient::createHTMLParserQuirks().
3782         (WebCore::HTMLParser::~HTMLParser): Delete m_parserQuirks if
3783         set.
3784         (WebCore::HTMLParser::reset): Call HTMLParserQuirks::reset() if
3785         m_parserQuirks is set.
3786         (WebCore::HTMLParser::insertNode): Call
3787         HTMLParserQuirks::shouldInsertNode() if m_parserQuirks is set,
3788         and return early if it returns false.
3789         (WebCore::HTMLParser::popBlock): Call
3790         HTMLParserQuirks::shouldPopBlock() if m_parserQuirks is set, and
3791         return early if it returns false.
3792         * html/HTMLParser.h: Added m_parserQuirks.
3793         * html/HTMLParserQuirks.h: Added.
3794         (WebCore::HTMLParserQuirks::HTMLParserQuirks):
3795         (WebCore::HTMLParserQuirks::~HTMLParserQuirks):
3796         * loader/EmptyClients.h:
3797         (WebCore::EmptyChromeClient::createHTMLParserQuirks): Added.
3798         * page/ChromeClient.h:
3799         (WebCore::ChromeClient::createHTMLParserQuirks): Added.
3800
3801 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3802
3803         Reviewed by Eric Seidel.
3804
3805         https://bugs.webkit.org/show_bug.cgi?id=25492
3806         Add JSC guards around node wrapper cache calls. These are not used by V8.
3807
3808         Also, remove JSDOMBinding include, which is brought in by ScriptController.
3809
3810         * dom/Document.cpp:
3811         (WebCore::Document::~Document): Added JSC guard.
3812         * dom/Node.cpp:
3813         (WebCore::Node::setDocument): Ditto and removed JSDOMBinding include.
3814
3815 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3816
3817         Reviewed by Eric Seidel.
3818
3819         https://bugs.webkit.org/show_bug.cgi?id=25493
3820         Remove debugger/profiler custom method stubs, catching V8 bindings up to
3821         http://trac.webkit.org/changeset/43072.
3822
3823         * bindings/v8/custom/V8InspectorControllerCustom.cpp: Removed method stubs.
3824
3825 2009-04-30  Simon Fraser  <simon.fraser@apple.com>
3826
3827         Reviewed by Darin Adler
3828
3829         <rdar://problem/6839338> VoiceOver does not take into account transforms when drawing outlines
3830         
3831         Use transform-aware quad methods when computing the boundingBoxRect for
3832         an AccessibilityRenderObject. The code follows RenderObject::absoluteBoundingBoxRect().
3833
3834         Test: accessibility/transformed-element.html
3835
3836         * page/AccessibilityRenderObject.cpp:
3837         (WebCore::AccessibilityRenderObject::boundingBoxRect):
3838
3839 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3840
3841         Unreviewed, Chromium build fix.
3842
3843         Catch up to ScriptObject changes from http://trac.webkit.org/changeset/42512.
3844
3845         * bindings/v8/ScriptObject.cpp:
3846         (WebCore::ScriptGlobalObject::get): Renamed from getObject.
3847         (WebCore::ScriptGlobalObject::remove): Added.
3848         * bindings/v8/ScriptObject.h: Ditto.
3849
3850 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3851
3852         Unreviewed, build fix.
3853
3854         https://bugs.webkit.org/show_bug.cgi?id=25470
3855         Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
3856
3857         * WebCore.pro: Fix copy-paste error.
3858
3859 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3860
3861         Unreviewed, build fix.
3862
3863         https://bugs.webkit.org/show_bug.cgi?id=25470
3864         Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
3865
3866         * GNUmakefile.am: Add ENABLE_JAVASCRIPT_DEBUGGER definitions.
3867         * WebCore.pro: Ditto.
3868
3869 2009-04-02  Eric Seidel  <eric@webkit.org>
3870
3871         Reviewed by Darin Adler.
3872
3873         Change Position to pre-compute the AnchorType and store it.
3874         Also store a "legacy editing mode" bit on the Position.
3875         https://bugs.webkit.org/show_bug.cgi?id=24763
3876
3877         The old Postion(node, offset) constructor creates legacy positions
3878         but there are new constructors to create explicitly anchored positions
3879         which the next patch will use.
3880
3881         Once we fix all the "position-fixup" functions (like rangeCompliantEquivalent) to
3882         only affect legacy positions, we will be able to distinguish
3883         between [table, 1] and [table, after] in the code correctly!
3884
3885         * WebCore.base.exp:
3886         * WebCore.xcodeproj/project.pbxproj:
3887         * dom/Position.cpp:
3888         (WebCore::Position::Position):
3889         (WebCore::Position::moveToPosition):
3890         (WebCore::Position::moveToOffset):
3891         (WebCore::Position::anchorTypeForLegacyEditingPosition):
3892         (WebCore::Position::element):
3893         * dom/Position.h:
3894         (WebCore::Position::):
3895         (WebCore::Position::Position):
3896         (WebCore::Position::anchorType):
3897         (WebCore::Position::deprecatedEditingOffset):
3898
3899 2009-04-30  Sam Weinig  <sam@webkit.org>
3900
3901         Reviewed by Alexey Proskuryakov.
3902
3903         Fix bug where the WorkerLocation and WorkerNavigator wrappers would be
3904         collected even if the WorkerContext is still alive.
3905
3906         Test: fast/workers/worker-context-gc.html
3907
3908         * bindings/js/JSWorkerContextCustom.cpp:
3909         (WebCore::JSWorkerContext::mark):
3910         * workers/WorkerContext.cpp:
3911         (WebCore::WorkerContext::WorkerContext):
3912         (WebCore::WorkerContext::completeURL):
3913         (WebCore::WorkerContext::location):
3914         * workers/WorkerContext.h:
3915         (WebCore::WorkerContext::optionalNavigator):
3916         (WebCore::WorkerContext::optionalLocation):
3917
3918 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3919
3920         Reviewed by Timothy Hatcher.
3921
3922         https://bugs.webkit.org/show_bug.cgi?id=25470
3923         Extend the cover of ENABLE_JAVASCRIPT_DEBUGGER to profiler.
3924
3925         * Configurations/FeatureDefines.xcconfig: Added ENABLE_JAVASCRIPT_DEBUGGER.
3926         * WebCore.vcproj/build-generated-files.sh: Ditto.
3927         * bindings/js/JSConsoleCustom.cpp: Added ENABLE(JAVASCRIPT_DEBUGGER) guard.
3928         * bindings/js/JSDOMWindowBase.cpp: Ditto.
3929         * bindings/js/JSInspectorControllerCustom.cpp: Ditto.
3930         * inspector/InspectorController.cpp: Moved profiler/debugger methods under
3931             ENABLE(JAVASCRIPT_DEBUGGER) flag.
3932         * inspector/InspectorController.h: Ditto.
3933         * inspector/InspectorController.idl: Added ENABLE(JAVASCRIPT_DEBUGGER) guard.
3934         * page/Console.cpp: Replaced USE(JSC) with ENABLE(JAVASCRIPT_DEBUGGER) guard.
3935
3936 2009-04-30  Dimitri Glazkov  <dglazkov@chromium.org>
3937
3938         Unreviewed, build fix.
3939
3940         https://bugs.webkit.org/show_bug.cgi?id=25275
3941         This patch snuck in a re-definition of a local.
3942
3943         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3944         (WebCore::NAMED_PROPERTY_GETTER): Removed re-definition.
3945
3946 2009-04-30  Sam Weinig  <sam@webkit.org>
3947
3948         Reviewed by Mark Rowe.
3949
3950         Fix a leak introduced yesterday.  Don't allocate a ScheduledAction
3951         if the toString()ing throws an exception.
3952
3953         * bindings/js/ScheduledAction.cpp:
3954         (WebCore::ScheduledAction::create):
3955
3956 2009-04-30  Alexey Proskuryakov  <ap@webkit.org>
3957
3958         Reviewed by Darin Adler.
3959
3960         https://bugs.webkit.org/show_bug.cgi?id=25379
3961         <rdar://problem/6809460> REGRESSION (r41772): Selecting a bank in American Express Pay Bill fails
3962
3963         Test: fast/forms/multiple-selected-options-innerHTML.html
3964
3965         This problem was caused by an inconsistency at when Node::instertedIntoTree() is called.
3966         For normal HTML parsing, it is called immediately after an element is inserted, but for
3967         innerHTML, it is only called after the whole subtree is inserted into a document.
3968
3969         It may make sense to harmonize these cases one day, but for now, I only made the minimal
3970         changes necessary to fix the bug.
3971
3972         * html/HTMLSelectElement.cpp: (WebCore::HTMLSelectElement::insertedIntoTree):
3973         * html/HTMLSelectElement.h:
3974         Recalculate list items when a SELECT element is inserted. OPTION elements cannot decide
3975         which one to keep selected themselves, because their logic assumes normal parsing, with
3976         insertedIntoTree() called after each element is inserted.
3977
3978 2009-04-30  Pavel Feldman  <pfeldman@chromium.org>
3979
3980         Reviewed by Dimitri Glazkov.
3981
3982         https://bugs.webkit.org/show_bug.cgi?id=25342
3983         Add MessageSource and MessageLevel parameters to the ChromeClient::addMessageToConsole.
3984
3985         Chromium async/out-of-process version of WebInspector is currently not based on
3986         InspectorController. The reason was that we did not want to interfere with
3987         the unforking effort, yet wanted to experiment. So we came up with these
3988         agents concept that basically mimic InspectorController, but separating 'agent'
3989         nature from the 'transport'. Now that InspectorController is unforked, I am
3990         planning to bring these concepts into the WebKit land and use what we have in
3991         Chromium as a proof of concept / experimental playground.
3992
3993         * loader/EmptyClients.h: added MessageSource and MessageLevel parameters.
3994         (WebCore::EmptyChromeClient::addMessageToConsole): ditto
3995         * page/ChromeClient.h: ditto
3996         * page/Console.cpp: Used new method signature.
3997         (WebCore::Console::addMessage): ditto
3998
3999 2009-04-30  Dan Bernstein  <mitz@apple.com>
4000
4001         Reviewed by Simon Fraser.
4002
4003         - fix https://bugs.webkit.org/show_bug.cgi?id=25476
4004           <rdar://problem/6841919> REGRESSION (r42987): Welcome to Safari 4
4005           animation is jittery
4006
4007         Reverted r42987.
4008
4009         * platform/graphics/cg/ImageCG.cpp:
4010         (WebCore::BitmapImage::draw):
4011
4012 2009-04-30  Brady Eidson  <beidson@apple.com>
4013
4014         Reviewed by Maciej Stachowiak
4015
4016         <rdar://problem/3785248> http://www.greekembassy.org/ gets in an infinite reload loop
4017         https://bugs.webkit.org/show_bug.cgi?id=21193
4018
4019         Some websites use for attributes in script elements to specify events that the script 
4020         should be run for.  One example is greekembassy.org which has the following in their <head>:
4021
4022         <script for=window event=onresize>
4023             location.reload(false);
4024         </script>
4025
4026         Since we don't support the full for attribute syntax, we would just blissfully ignore the
4027         condition and execute the code unconditionally.  This caused breakage on multiple real-world 
4028         sites besides greekembassy.org.
4029
4030         https://bugs.webkit.org/show_bug.cgi?id=16915 and <rdar://problem/4471751> track adding full 
4031         support for the for attribute in scripts.  In the meantime it's best to not execute them
4032         unconditionally.
4033
4034         Test: fast/dom/HTMLScriptElement/script-for-attribute-unexpected-execution.html
4035
4036         * dom/ScriptElement.cpp:
4037         (WebCore::ScriptElementData::shouldExecuteAsJavaScript): After all other checks have
4038           passed, only return true if there is no for attribute in the script element.
4039         * dom/ScriptElement.h:
4040
4041         * html/HTMLScriptElement.cpp:
4042         (WebCore::HTMLScriptElement::forAttributeValue): Return the attribute value, if any.
4043         * html/HTMLScriptElement.h:
4044
4045         * svg/SVGScriptElement.cpp:
4046         (WebCore::SVGScriptElement::forAttributeValue): Return an empty string (like the other
4047           attribute getters do for SVGScriptElement)
4048         * svg/SVGScriptElement.h:
4049
4050 2009-04-30  Holger Hans Peter Freyther  <zecke@selfish.org>
4051
4052         Reviewed by Darin Adler.
4053
4054         The Qt API exposes a global history patch CSSStyleSelector to make API consumers work again
4055
4056         https://bugs.webkit.org/show_bug.cgi?id=20952
4057
4058         The QtWebKit port made the mistake of exposing a global history. This broke
4059         with the addition of PageGroup and LinkHash. This needs to be repaired
4060         for Qt4.5.
4061
4062         Add a function to LinkHash.cpp that is resolving a URL. Use this
4063         function from within CSSStyleSelector to forward the url to the
4064         QWebHistoryInterface API.
4065
4066         It is sad that there is a path within visitedLinkHash which is now
4067         doing a memcpy, it is sad to add a PLATFORM(QT) define to CSSStyleSelector
4068         and using QtWebKit types within WebCore is a layering violation as well.
4069
4070         PageGroup::setShouldTrackVisitedLinks is currently not enabled. For
4071         Qt4.6 a second version of the QWebHistoryInterface is going to be
4072         added which will fix things up.
4073
4074         * css/CSSStyleSelector.cpp:
4075         (WebCore::CSSStyleSelector::SelectorChecker::checkPseudoState):
4076         * platform/LinkHash.cpp:
4077         (WebCore::visitedURL):
4078         (WebCore::visitedLinkHash):
4079         * platform/LinkHash.h:
4080
4081 2009-04-30  Simon Hausmann  <simon.hausmann@nokia.com>
4082
4083         Fix the Qt build.
4084
4085         * platform/graphics/SimpleFontData.cpp: Don't use initCharWidths() for the Qt build.
4086         * platform/graphics/qt/SimpleFontDataQt.cpp:
4087         (WebCore::SimpleFontData::platformCharWidthInit): Instead initialize the average and
4088         max char widths from QFontMetrics.
4089
4090 2009-04-30  Ariya Hidayat  <ariya.hidayat@nokia.com>
4091
4092         Unreview build fix after r43037.
4093
4094         Use MarkedArgumentBuffer instead of ArgList.
4095
4096         * bridge/qt/qt_runtime.cpp:
4097         (JSC::Bindings::QtConnectionObject::execute):
4098
4099 2009-04-29  Sam Weinig  <sam@webkit.org>
4100
4101         Reviewed by Oliver Hunt.
4102
4103         Fix for https://bugs.webkit.org/show_bug.cgi?id=25440
4104         setTimeout should stringify non-string/non-function first arguments
4105
4106         Test: fast/dom/Window/setTimeout-string-argument.html
4107
4108         * bindings/js/JSDOMWindowCustom.cpp:
4109         (WebCore::JSDOMWindow::setTimeout):
4110         (WebCore::JSDOMWindow::setInterval):
4111         * bindings/js/JSWorkerContextCustom.cpp:
4112         (WebCore::JSWorkerContext::setTimeout):
4113         (WebCore::JSWorkerContext::setInterval):
4114         * bindings/js/ScheduledAction.cpp:
4115         (WebCore::ScheduledAction::create):
4116         * bindings/js/ScheduledAction.h:
4117
4118 2009-04-29  Dan Bernstein  <mitz@apple.com>
4119
4120         Reviewed by Simon Fraser.
4121
4122         - WebCore part of <rdar://problem/6609509> Select All and then Delete
4123           should put Mail editing back into the same state as a new message
4124
4125         Test: editing/deleting/in-visibly-empty-root.html
4126
4127         * WebCore.base.exp: Exported VisibleSelection::isAll(bool).
4128         * editing/SelectionController.h:
4129         (WebCore::SelectionController::isAll): Added. Calls through to
4130         VisibleSelection.
4131         * editing/TypingCommand.cpp:
4132         (WebCore::TypingCommand::makeEditableRootEmpty): Added. Removes all children
4133         of the root editable element the selection is in, other than a
4134         placeholder. Returns true iff it did anything.
4135         (WebCore::TypingCommand::deleteKeyPressed): When there is only a single
4136         visible position in the root editable element, but it has children other
4137         than a placeholder, remove those children.
4138         * editing/TypingCommand.h:
4139         * editing/VisiblePosition.h:
4140         Added a StayInEditableContent enum and a FIXME.
4141         * editing/VisibleSelection.cpp:
4142         (WebCore::VisibleSelection::isAll): Added. Returns whether the
4143         selection encompasses all visible positions, either in the document or
4144         in the editable root.
4145         * editing/VisibleSelection.h:
4146
4147 2009-04-29  Sam Weinig  <sam@webkit.org>
4148
4149         Fix style nit.
4150
4151         * editing/visible_units.cpp:
4152         (WebCore::getLeafBoxesInLogicalOrder):
4153
4154 2009-04-29  David Hyatt  <hyatt@apple.com>
4155
4156         Reviewed by Dan Bernstein.
4157
4158         For now just drop the deferred layout on the floor, since it causes an infinite hang in mail.  Even
4159         trying to schedule a relayout for later leaves you in a state where you hit the needsLayout painting
4160         assertions.
4161
4162         Basically what Mail is doing is crazy, and we can't support it other than to just drop the last layout
4163         and not do it (which is basically what was happening before).
4164
4165         * page/FrameView.cpp:
4166         (WebCore::FrameView::setContentsSize):
4167         (WebCore::FrameView::needsLayout):
4168
4169 2009-04-29  Douglas Davidson  <ddavidso@apple.com>
4170
4171         Reviewed by Justin Garcia.
4172
4173         <rdar://problem/6836921> Mail exhibits issues with text checking, e.g. menu items not always validated correctly
4174         
4175         Updates to the text checking code to enable text checking even if spellchecking is turned off 
4176         and fix an off-by-one error in selection handling.
4177
4178         * editing/Editor.cpp:
4179         (WebCore::Editor::markMisspellingsAfterTypingToPosition):
4180         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
4181         (WebCore::Editor::markMisspellingsAndBadGrammar):
4182         * editing/Editor.h:
4183         * editing/TypingCommand.cpp:
4184         (WebCore::TypingCommand::markMisspellingsAfterTyping):
4185
4186 2009-04-29  Oliver Hunt  <oliver@apple.com>
4187
4188         Reviewed by Gavin Barraclough.
4189
4190         Clean up ArgList to be a trivial type
4191
4192         Start using MarkedArgumentBuffer to create argument lists for function calls
4193
4194         * bindings/js/JSClipboardCustom.cpp:
4195         (WebCore::JSClipboard::types):
4196         * bindings/js/JSConsoleCustom.cpp:
4197         (WebCore::JSConsole::profiles):
4198         * bindings/js/JSCustomPositionCallback.cpp:
4199         (WebCore::JSCustomPositionCallback::handleEvent):
4200         * bindings/js/JSCustomPositionErrorCallback.cpp:
4201         (WebCore::JSCustomPositionErrorCallback::handleEvent):
4202         * bindings/js/JSCustomSQLStatementCallback.cpp:
4203         (WebCore::JSCustomSQLStatementCallback::handleEvent):
4204         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
4205         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
4206         * bindings/js/JSCustomSQLTransactionCallback.cpp:
4207         (WebCore::JSCustomSQLTransactionCallback::handleEvent):
4208         * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
4209         (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
4210         * bindings/js/JSCustomVoidCallback.cpp:
4211         (WebCore::JSCustomVoidCallback::handleEvent):
4212         * bindings/js/JSCustomXPathNSResolver.cpp:
4213         (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
4214         * bindings/js/JSEventListener.cpp:
4215         (WebCore::JSEventListener::handleEvent):
4216         * bindings/js/JSInspectorControllerCustom.cpp:
4217         (WebCore::JSInspectorController::profiles):
4218         (WebCore::JSInspectorController::search):
4219         (WebCore::JSInspectorController::databaseTableNames):
4220         (WebCore::JSInspectorController::setting):
4221         * bindings/js/JSJavaScriptCallFrameCustom.cpp:
4222         (WebCore::JSJavaScriptCallFrame::scopeChain):
4223         * bindings/js/JSLazyEventListener.cpp:
4224         (WebCore::JSLazyEventListener::parseCode):
4225         * bindings/js/JSNodeFilterCondition.cpp:
4226         (WebCore::JSNodeFilterCondition::acceptNode):
4227         * bindings/js/JSQuarantinedObjectWrapper.cpp:
4228         (WebCore::JSQuarantinedObjectWrapper::construct):
4229         (WebCore::JSQuarantinedObjectWrapper::call):
4230         * bindings/js/ScheduledAction.cpp:
4231         (WebCore::ScheduledAction::ScheduledAction):
4232         (WebCore::ScheduledAction::executeFunctionInContext):
4233         * bindings/js/ScriptFunctionCall.h:
4234         * bindings/objc/WebScriptObject.mm:
4235         (getListFromNSArray):
4236         (-[WebScriptObject callWebScriptMethod:withArguments:]):
4237         * bridge/NP_jsobject.cpp:
4238         (getListFromVariantArgs):
4239         (_NPN_InvokeDefault):
4240         (_NPN_Invoke):
4241         (_NPN_Construct):
4242         * bridge/jni/jni_jsobject.h:
4243         * bridge/jni/jni_jsobject.mm:
4244         (JavaJSObject::call):
4245         (JavaJSObject::getListFromJArray):
4246
4247 2009-04-29  Eric Seidel  <eric@webkit.org>
4248
4249         No review, build fix only.
4250
4251         Fix m_offset uses added while I wasn't looking.
4252
4253         * editing/visible_units.cpp:
4254         (WebCore::logicalStartPositionForLine):
4255         (WebCore::logicalEndPositionForLine):
4256
4257 2009-04-29  Xiaomei Ji  <xji@chromium.org>