c76d4ad11e2b9fdf437f6629692aef98b7043e56
[WebKit-https.git] / WebCore / ChangeLog
1 2009-11-10  Philippe Normand  <pnormand@igalia.com>
2
3         Reviewed by Eric Seidel.
4
5         https://bugs.webkit.org/show_bug.cgi?id=31047
6         [GTK] Failing test media/video-played-ranges-1.html
7
8         WebKit coding style fixes.
9
10         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
11         (WebCore::mediaPlayerPrivateMessageCallback):
12         (WebCore::MediaPlayerPrivate::naturalSize):
13         (WebCore::MediaPlayerPrivate::paint):
14         (WebCore::mimeTypeCache):
15
16 2009-11-10  Oliver Hunt  <oliver@apple.com>
17
18         Remove build failure introduced by earlier build fix.
19
20         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
21
22 2009-11-10  Oliver Hunt  <oliver@apple.com>
23
24         Is this the last build fix? grep tells me yes.
25
26         * bindings/v8/custom/V8DocumentCustom.cpp:
27         (WebCore::CALLBACK_FUNC_DECL):
28
29 2009-11-10  Oliver Hunt  <oliver@apple.com>
30
31         Hopefully the last one.  Why aren't these autogenerated?
32
33         * bindings/v8/V8DOMWrapper.cpp:
34         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
35         (WebCore::V8DOMWrapper::getTemplate):
36         (WebCore::V8DOMWrapper::convertToV8Object):
37
38 2009-11-10  Oliver Hunt  <oliver@apple.com>
39
40         Another chrome build fix.
41
42         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
43         (WebCore::CALLBACK_FUNC_DECL):
44
45 2009-11-10  Oliver Hunt  <oliver@apple.com>
46
47         Yet another chrome buildfix
48
49         * bindings/v8/custom/V8WebGLArrayBufferCustom.cpp:
50         (WebCore::CALLBACK_FUNC_DECL):
51         * bindings/v8/custom/V8WebGLArrayCustom.h:
52         (WebCore::constructCanvasArray):
53         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
54         (WebCore::CALLBACK_FUNC_DECL):
55         (WebCore::INDEXED_PROPERTY_GETTER):
56         (WebCore::INDEXED_PROPERTY_SETTER):
57         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
58         (WebCore::CALLBACK_FUNC_DECL):
59         (WebCore::INDEXED_PROPERTY_GETTER):
60         (WebCore::INDEXED_PROPERTY_SETTER):
61         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
62         (WebCore::CALLBACK_FUNC_DECL):
63         (WebCore::INDEXED_PROPERTY_GETTER):
64         (WebCore::INDEXED_PROPERTY_SETTER):
65         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
66         (WebCore::CALLBACK_FUNC_DECL):
67         (WebCore::vertexAttribAndUniformHelperf):
68         (WebCore::uniformHelperi):
69         (WebCore::uniformMatrixHelper):
70         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
71         (WebCore::CALLBACK_FUNC_DECL):
72         (WebCore::INDEXED_PROPERTY_GETTER):
73         (WebCore::INDEXED_PROPERTY_SETTER):
74         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
75         (WebCore::CALLBACK_FUNC_DECL):
76         (WebCore::INDEXED_PROPERTY_GETTER):
77         (WebCore::INDEXED_PROPERTY_SETTER):
78         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
79         (WebCore::CALLBACK_FUNC_DECL):
80         (WebCore::INDEXED_PROPERTY_GETTER):
81         (WebCore::INDEXED_PROPERTY_SETTER):
82         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
83         (WebCore::CALLBACK_FUNC_DECL):
84         (WebCore::INDEXED_PROPERTY_GETTER):
85         (WebCore::INDEXED_PROPERTY_SETTER):
86
87 2009-11-10  Oliver Hunt  <oliver@apple.com>
88
89         Chrome build fix.
90
91         * bindings/v8/V8Index.h:
92
93 2009-11-10  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
94
95         Reviewed by Reviewed by Jan Alonzo.
96
97         https://bugs.webkit.org/show_bug.cgi?id=30901
98         [Gtk] Need to de-lint the Atk a11y code
99
100         Removal of various and sundry style-violating nits.
101
102         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
103
104 2009-11-10  Philippe Normand  <pnormand@igalia.com>
105
106         Reviewed by Jan Alonzo.
107
108         https://bugs.webkit.org/show_bug.cgi?id=31047
109         [GTK] Failing test media/video-played-ranges-1.html
110
111         Fix playback rate setter by remembering the rate was changed. Also
112         correctly handle reverse playback by doing a seek from end to
113         beginning of the media.
114
115         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
116         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
117         (WebCore::MediaPlayerPrivate::currentTime):
118         (WebCore::MediaPlayerPrivate::seek):
119         (WebCore::MediaPlayerPrivate::hasAudio):
120         (WebCore::MediaPlayerPrivate::setVolume):
121         (WebCore::MediaPlayerPrivate::setRate):
122         (WebCore::MediaPlayerPrivate::updateStates):
123         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
124
125 2009-11-10  Oliver Hunt  <oliver@apple.com>
126
127         Reviewed by Maciej Stachowiak.
128
129         Rename 3D Canvas related classes to use WebGL prefix
130         https://bugs.webkit.org/show_bug.cgi?id=29095
131
132         Automatic rename of all WebGL related types from Canvas* to
133         WebGL* per more recent version of the WebGL spec.
134
135         Due to the automatic rename I've removed the 600+ line change list.
136
137 2009-11-09  Dirk Schulze  <krit@webkit.org>
138
139         Reviewed by Oliver Hunt.
140
141         SVG feDisplacementMap is not implemented
142         [https://bugs.webkit.org/show_bug.cgi?id=31255]
143
144         This is the implementation of the SVG filter effect
145         feDisplacementMap. 
146
147         Test: svg/filters/feDisplacementMap.svg
148
149         * svg/graphics/filters/SVGFEDisplacementMap.cpp:
150         (WebCore::FEDisplacementMap::apply):
151
152 2009-11-09  Kent Tamura  <tkent@chromium.org>
153
154         Reviewed by Darin Adler.
155
156         Add a comment about null strings and hash functions.
157         https://bugs.webkit.org/show_bug.cgi?id=29118
158
159         * platform/text/StringHash.h:
160
161 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
162
163         Reviewed by Darin Adler.
164
165         Compiler warnings in InspectorResource.h
166         https://bugs.webkit.org/show_bug.cgi?id=29231
167
168         Fix compilation warnings by removing addition operation on an enum type.
169
170         * inspector/InspectorResource.h:
171         (WebCore::InspectorResource::):
172         (WebCore::InspectorResource::Changes::hasChange):
173         (WebCore::InspectorResource::Changes::set):
174         (WebCore::InspectorResource::Changes::setAll):
175
176 2009-11-09  Anders Carlsson  <andersca@apple.com>
177
178         Reviewed by Darin Adler and Dan Bernstein.
179
180         <rdar://problem/7328395>
181         https://bugs.webkit.org/show_bug.cgi?id=31277
182
183         When an object tag's style changes (for example when child nodes are added/removed),
184         reuse its Frame (if it has one) instead of creating multiple Frames.
185
186         Test: fast/dom/HTMLObjectElement/children-changed.html
187
188         * loader/FrameLoader.cpp:
189         (WebCore::FrameLoader::requestObject):
190
191 2009-11-09  Norbert Leser  <norbert.leser@nokia.com>
192
193         Reviewed by Kenneth Rohde Christiansen.
194
195         Moved macro MMP_RULES (LINKEROPTION) into symbian instead of symbian-sbsv2,
196         since adjustment of RW-section base address will be needed for all new symbian
197         tool chains, specifically for arm and gcc compilation targets.
198         Also, change target address to 0xE00000 to be sufficient for all targets.
199
200         * WebCore.pro:
201
202 2009-11-09  Pavel Feldman  <pfeldman@chromium.org>
203
204         Reviewed by Timothy Hatcher.
205
206         Web Inspector: Crash when inspecting
207         WebCore\manual-tests\inspector\dom-mutation.html
208
209         https://bugs.webkit.org/show_bug.cgi?id=31259
210
211         * inspector/InspectorDOMAgent.cpp:
212         (WebCore::InspectorDOMAgent::handleEvent):
213
214 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
215
216         Reviewed by Kenneth Rohde Christiansen.
217
218         [Qt] Few classes have virtual functions but non-virtual destructor
219         https://bugs.webkit.org/show_bug.cgi?id=31269
220
221         No new tests as there is no functional change.
222
223         * platform/qt/QWebPageClient.h:
224         (QWebPageClient::~QWebPageClient): Add virtual destructor.
225
226 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
227
228         Reviewed by Kenneth Rohde Christiansen.
229
230         [Qt] Allow setting HTTP headers with empty value in XMLHTTPRequest
231         https://bugs.webkit.org/show_bug.cgi?id=31140
232
233         QtNetwork interprets null string as request to remove the header, not add it.
234         Replace null values with empty values before passing them to QtNetwork.
235
236         Test: http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
237
238         * platform/network/qt/ResourceRequestQt.cpp:
239         (WebCore::ResourceRequest::toNetworkRequest):
240
241 2009-11-09  Vadim Zeitlin  <vadim@wxwidgets.org>
242
243         Reviewed by Kevin Ollivier.
244
245         [wx] Fix handling of alpha channel when using wxWidgets 2.9: it was
246         simply ignored before resulting in transparent areas being black in PNG
247         images for example.
248         
249         https://bugs.webkit.org/show_bug.cgi?id=30823
250
251         * platform/image-decoders/wx/ImageDecoderWx.cpp:
252         (WebCore::RGBA32Buffer::asNewNativeImage):
253
254 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
255
256         Reviewed by Kenneth Rohde Christiansen.
257
258         Use explicit parentheses to silence gcc 4.4 -Wparentheses warnings
259         https://bugs.webkit.org/show_bug.cgi?id=31040
260
261         No new tests as there is no functional change.
262
263         * dom/Document.cpp:
264         (WebCore::Document::recalcStyleSelector):
265         * editing/TextIterator.cpp:
266         (WebCore::pushFullyClippedState):
267         * editing/VisibleSelection.cpp:
268         (WebCore::VisibleSelection::appendTrailingWhitespace):
269         * html/HTMLLinkElement.cpp:
270         (WebCore::HTMLLinkElement::process):
271         * loader/RedirectScheduler.cpp:
272         (WebCore::RedirectScheduler::mustLockBackForwardList):
273         * loader/appcache/ApplicationCacheGroup.cpp:
274         (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
275         * platform/graphics/qt/FontCacheQt.cpp:
276         (WebCore::FontPlatformDataCacheKey::computeHash):
277         * rendering/RenderBlock.cpp:
278         (WebCore::RenderBlock::handleRunInChild):
279         * rendering/RenderBox.cpp:
280         (WebCore::RenderBox::calcHeight):
281         * rendering/RenderTextControlMultiLine.cpp:
282         (WebCore::RenderTextControlMultiLine::nodeAtPoint):
283         * rendering/style/RenderStyle.cpp:
284         (WebCore::RenderStyle::diff):
285         * svg/SVGAnimateElement.cpp:
286         (WebCore::parseNumberValueAndUnit):
287         * svg/SVGAnimationElement.cpp:
288         (WebCore::SVGAnimationElement::startedActiveInterval):
289         * svg/SVGPreserveAspectRatio.cpp:
290         (WebCore::SVGPreserveAspectRatio::getCTM):
291
292 2009-11-09  Shinichiro Hamaji  <hamaji@chromium.org>
293
294         Reviewed by Dimitri Glazkov.
295
296         Win chromium is slow to draw transparent texts
297         https://bugs.webkit.org/show_bug.cgi?id=31258
298
299         Clip graphics context to reduce calculation.
300
301         No new tests because this change only affects performance.
302
303         * platform/graphics/chromium/FontChromiumWin.cpp:
304         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
305         (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
306
307 2009-11-09  Carol Szabo  <carol.szabo@nokia.com>
308
309         Reviewed by Darin Adler.
310
311         showTree(CounterNode*) generates too little info and has too many spaces.
312         https://bugs.webkit.org/show_bug.cgi?id=31212
313
314         No new tests as the change has no functional effect it is just for
315         improved debugging.
316
317         * rendering/CounterNode.cpp:
318         (WebCore::showTreeAndMark):
319         Changed to also show addresses of parent, next and previous
320         siblings.
321
322 2009-11-09  Stuart Morgan  <stuartmorgan@chromium.org>
323
324         Reviewed by Darin Adler.
325
326         Moves Mac implementation of setUseSecureKeyboardEntry to Frame.cpp and
327         enables it PLATFORM(CHROMIUM) in addition to PLATFORM(MAC).
328
329         https://bugs.webkit.org/show_bug.cgi?id=31083
330
331         No new tests; implementation is unchanged.
332
333         * page/Frame.cpp:
334         (WebCore::Frame::setUseSecureKeyboardEntry):
335         * page/mac/FrameMac.mm:
336
337 2009-11-09  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
338
339         Reviewed by Jan Alonzo.
340
341         Make XP_UNIX tests consistent
342         https://bugs.webkit.org/show_bug.cgi?id=31250
343
344         No new tests as there is no functional change.
345
346         * plugins/PluginView.cpp:
347         (WebCore::PluginView::setFrameRect): Test if XP_UNIX is defined
348         instead of the value of the macro
349
350         * plugins/gtk/PluginViewGtk.cpp:
351         (WebCore::PluginView::setNPWindowIfNeeded): Test if the XP_UNIX is
352         defined instead of using the PLATFORM macro to be consistent
353         (WebCore::PluginView::getValue): Ditto.
354
355 2009-11-09  Kevin Watters  <kevinwatters@gmail.com>
356
357         Reviewed by Darin Adler.
358
359         Thunk to the main thread from ~Database to deref Database's m_document.
360
361         If the Database was the Document's last referrer, then ~Document occurs on the
362         Database thread, and ASSERT(!m_styleRecalcTimer.isActive()) hits a main thread
363         ASSERT in debug builds.
364
365         * storage/Database.cpp:
366         (WebCore::derefDocument):
367         (WebCore::Database::~Database):
368
369 2009-11-09  Mark Mentovai  <mark@chromium.org>
370
371         Reviewed by Dan Bernstein.
372
373         Track "can have scrollbar" state within FrameView independently of the
374         individual scrollbar states in ScrollView.
375
376         rdar://problem/7215132, https://bugs.webkit.org/show_bug.cgi?id=29167
377         REGRESSION (r48064): mint.com loses scrollbars after coming out of
378         edit mode.
379
380         rdar://problem/7314421, https://bugs.webkit.org/show_bug.cgi?id=30517
381         REGRESSION (r48064): Extra scroll bars in GarageBand Lesson Store.
382
383         Test: fast/overflow/scrollbar-restored.html
384
385         * WebCore.base.exp:
386         * page/FrameView.cpp:
387         (WebCore::FrameView::FrameView):
388         (WebCore::FrameView::resetScrollbars):
389         (WebCore::FrameView::setCanHaveScrollbars):
390         (WebCore::FrameView::updateCanHaveScrollbars):
391         (WebCore::FrameView::layout):
392         * page/FrameView.h:
393         * platform/ScrollView.h:
394
395 2009-11-09  Keishi Hattori  <casey.hattori@gmail.com>
396
397         Reviewed by Timothy Hatcher.
398
399         Web Inspector: CSS syntax highlighter doesn't recognize negative numbers
400         https://bugs.webkit.org/show_bug.cgi?id=31257
401
402         * inspector/front-end/SourceFrame.js:
403
404 2009-11-09  Alexander Pavlov  <apavlov@chromium.org>
405
406         Reviewed by Timothy Hatcher.
407
408         Web Inspector: Debugger shortcuts (F8, F10, F11) have no effect if the Console view is open
409         https://bugs.webkit.org/show_bug.cgi?id=31252
410
411         Route F1-F12 keypresses in the Console view to the current panel if there is one.
412
413         Test: manual-tests/inspector/debugger-shortcuts-with-console-opened.html
414
415         * inspector/front-end/ConsoleView.js:
416         (WebInspector.ConsoleView.prototype._promptKeyDown):
417         * inspector/front-end/utilities.js:
418         ():
419         * manual-tests/inspector/debugger-shortcuts-with-console-opened.html: Added.
420
421 2009-11-09  Yael Aharon  <yael.aharon@nokia.com>
422
423         Reviewed by Kenneth Rohde Christiansen.
424
425         [Qt] Pass credentials provided by XMLHTTPRequest to the network request.
426         https://bugs.webkit.org/show_bug.cgi?id=31208
427
428         After r42483, the credentials are no longer passed to the network request
429         in the URL of the request.
430         Pass the credentials from XMLHTTPRequest to the network request, the same
431         way that other ports do.
432
433         After this patch LayoutTests/http/xmlhttprequest/basic-auth.html passes.
434
435         * platform/network/qt/ResourceHandleQt.cpp:
436         (WebCore::ResourceHandle::start):
437         (WebCore::ResourceHandle::loadResourceSynchronously):
438
439 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
440
441         Unreviewed.
442
443         https://bugs.webkit.org/show_bug.cgi?id=31161
444
445         Roll back r50657 because it breaks the MAC builds.
446
447         * loader/ImageLoader.cpp:
448         * loader/ProgressTracker.cpp:
449         * loader/RedirectScheduler.cpp:
450         * loader/Request.h:
451         * loader/ThreadableLoaderClient.h:
452         * loader/WorkerThreadableLoader.h:
453         * loader/appcache/ApplicationCacheHost.h:
454         * loader/appcache/ApplicationCacheStorage.h:
455         * loader/icon/IconDatabaseClient.h:
456
457 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
458
459         Reviewed by Darin Adler.
460
461         Allow custom memory allocation control for the part of loader directory in WebCore
462         https://bugs.webkit.org/show_bug.cgi?id=31161
463
464         Inherits the following classes from Noncopyable because these are instantiated
465         by 'new' and these are no need to be copyable:
466
467         class Request - WebCore/loader/loader.cpp:100
468         struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
469         class IconDatabaseClient - WebCore/loader/icon/IconDatabase.cpp:89
470         class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
471         class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
472         class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
473         struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
474
475         Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
476         MainThreadBridge is instantiated by 'new' in 
477         WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
478
479         ThreadableLoaderClient's inheriting has been changed to public.
480
481         * loader/ImageLoader.cpp:
482         * loader/ProgressTracker.cpp:
483         * loader/RedirectScheduler.cpp:
484         * loader/Request.h:
485         * loader/ThreadableLoaderClient.h:
486         * loader/WorkerThreadableLoader.h:
487         * loader/appcache/ApplicationCacheHost.h:
488         * loader/appcache/ApplicationCacheStorage.h:
489         * loader/icon/IconDatabaseClient.h:
490
491 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
492
493         Reviewed by Darin Adler.
494
495         Allow custom memory allocation control for WebCore's DocLoader
496         https://bugs.webkit.org/show_bug.cgi?id=31163
497
498         Inherits DocLoader class from Noncopyable because it is
499         instantiated by 'new' in WebCore/dom/Document.cpp:370 and 
500         it is no need to be copyable.
501
502         * loader/DocLoader.h:
503
504 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
505
506         Reviewed by Darin Adler.
507
508         Allow custom memory allocation control for WebCore's Tokenizer
509         https://bugs.webkit.org/show_bug.cgi?id=31162
510
511         Inherits Tokenizer class from Noncopyable because (its child class)
512         ImageTokenizer instantiated by 'new' in WebCore/loader/ImageDocument.cpp:178 
513         and it is no need to be copyable.
514
515         * dom/Tokenizer.h:
516
517 2009-11-09  Zoltan Horvath  <zoltan@webkit.org>
518
519         Reviewed by Darin Adler.
520
521         Allow custom memory allocation control for WebCore's DeleteButtonController
522         https://bugs.webkit.org/show_bug.cgi?id=31105
523
524         Inherits DeleteButtonController class from Noncopyable because it is 
525         instantiated by 'new' in WebCore/editing/Editor.cpp:919 and
526         it is no need to be copyable.  
527
528         * editing/DeleteButtonController.h:
529
530 2009-11-09  Martin Robinson  <martin.james.robinson@gmail.com>
531
532         Reviewed by Jan Alonzo.
533
534         [GTK] Expose Page::tabKeyCyclesThroughElements in the API
535         https://bugs.webkit.org/show_bug.cgi?id=30482
536
537         Expose Page::tabKeyCyclesThroughElements as a property of
538         WebKitWebView.
539
540         No new tests; fast/events/keypress-insert-tab.html is no longer skipped.
541
542         * platform/gtk/KeyEventGtk.cpp: Correct m_text for tab key presses.
543         (WebCore::singleCharacterString):
544
545 2009-11-09  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
546
547         Reviewed by Xan Lopez.
548
549         https://bugs.webkit.org/show_bug.cgi?id=25415
550         [GTK][ATK] Please implement support for get_text_at_offset
551
552         Fix a crasher that occurred with text which included newline
553         chars in the markup.
554
555         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
556         (convertUniCharToUTF8):
557
558 2009-11-05  Jakub Wieczorek  <faw217@gmail.com>
559
560         Reviewed by Holger Freyther.
561
562         [Qt] The XML tokenizer reports a parse error twice if it occurs before the document element is found.
563         https://bugs.webkit.org/show_bug.cgi?id=31144
564
565         XMLTokenizer::doEnd() uses an additional logic to report a parse failure in
566         documents that end prematurely but are not considered invalid by QXmlStream.
567         This is to stay compatible with the libxml2 implementation.
568         However, that code path would be also hit in situations when it should not,
569         i.e. the error would have already been caught and handled. As a result, the
570         same error would be reported twice.
571
572         No new tests, because the problem is already covered by
573         fast/parser/xml-declaration-missing-ending-mark.html.
574
575         * dom/XMLTokenizerQt.cpp:
576         (WebCore::XMLTokenizer::doEnd):
577
578 2009-11-08  Keishi Hattori  <casey.hattori@gmail.com>
579
580         Reviewed by Pavel Feldman.
581
582         Web Inspector: Inspector should support copy() in the command line
583         https://bugs.webkit.org/show_bug.cgi?id=31238
584
585         * inspector/InspectorBackend.cpp:
586         (WebCore::InspectorBackend::copyText): Added.
587         * inspector/InspectorBackend.h: Added copyText
588         * inspector/InspectorBackend.idl: Added copyText
589         * inspector/front-end/InjectedScript.js:
590         (InjectedScript._copy): Added.
591         (InjectedScript._ensureCommandLineAPIInstalled):
592
593 2009-11-08  Drew Wilson  <atwilson@chromium.org>
594
595         Reviewed by Dimitri Glazkov.
596
597         V8 WorkerContextExecutionProxy does not handle SharedWorkers
598         https://bugs.webkit.org/show_bug.cgi?id=31226
599
600         Now checks to see what type of context is active and creates the
601         appropriate wrapper (DEDICATEDWORKERCONTEXT vs SHAREDWORKERCONTEXT).
602
603         Added support for converting to SharedWorkers and SharedWorkerContexts.
604
605         Test: Existing layout tests cover this case (start passing in Chrome).
606
607         * bindings/v8/WorkerContextExecutionProxy.cpp:
608         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
609         Now generates the right type of DOMWrapper for SharedWorkerContexts.
610         (WebCore::WorkerContextExecutionProxy::convertToV8Object):
611         Added support for SHAREDWORKERCONTEXT.
612         (WebCore::WorkerContextExecutionProxy::convertEventTargetToV8Object):
613         Added support for SharedWorker and SharedWorkerContext.
614
615 2009-11-08  Johnny Ding  <johnnyding.webkit@gmail.com>
616
617         Reviewed by Dimitri Glazkov.
618
619         https://bugs.webkit.org/show_bug.cgi?id=31224
620         [V8] Return StyleSheet object instead of HTMLStyleElement w/document.styleSheets named property getter.
621
622         Test: fast/dom/StyleSheet/get-stylesheet-byname.html
623
624         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
625         (WebCore::NAMED_PROPERTY_GETTER):
626
627 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
628
629         Reviewed by Timothy Hatcher.
630
631         Web Inspector: "Search again" on scripts panel switches
632         to the script this search started with.
633
634         https://bugs.webkit.org/show_bug.cgi?id=31243
635
636         * inspector/front-end/Panel.js:
637         (WebInspector.Panel.prototype.jumpToNextSearchResult):
638
639 2009-11-08  Kent Tamura  <tkent@chromium.org>
640
641         Reviewed by Darin Adler.
642
643         Simplify Icon interface.
644         https://bugs.webkit.org/show_bug.cgi?id=31154
645
646         - Remove Icon::createIconForFile().  createIconForFiles() covers
647           createIconForFile()'s role.
648         - Remove FileChooser::chooseIcon()
649         - Change the parameter types of FileChooser constructor and the
650           factory method, String -> const Vector<String>&, in order to
651           support initialization with multiple files.
652         - Remove the icon loading code in IconChromiumWin.cpp, which
653           doesn't work because of the sandbox.
654
655         No tests because it's just a refactoring.
656
657         * platform/FileChooser.cpp:
658         (WebCore::FileChooser::FileChooser):
659         (WebCore::FileChooser::create):
660         (WebCore::FileChooser::chooseFile):
661         (WebCore::FileChooser::chooseFiles):
662         * platform/FileChooser.h:
663         * platform/graphics/Icon.h:
664         * platform/graphics/chromium/IconChromiumLinux.cpp:
665         * platform/graphics/chromium/IconChromiumMac.cpp:
666         * platform/graphics/chromium/IconChromiumWin.cpp:
667         (WebCore::Icon::createIconForFiles):
668         * platform/graphics/gtk/IconGtk.cpp:
669         (WebCore::Icon::createIconForFiles):
670         * platform/graphics/haiku/IconHaiku.cpp:
671         * platform/graphics/mac/IconMac.mm:
672         (WebCore::Icon::createIconForFiles):
673         * platform/graphics/qt/IconQt.cpp:
674         (WebCore::Icon::createIconForFiles):
675         * platform/graphics/win/IconWin.cpp:
676         (WebCore::Icon::createIconForFiles):
677         * platform/graphics/wx/IconWx.cpp:
678         * rendering/RenderFileUploadControl.cpp:
679         (WebCore::RenderFileUploadControl::RenderFileUploadControl):
680
681 2009-11-08  Daniel Bates  <dbates@webkit.org>
682
683         Reviewed by Adam Barth.
684
685         https://bugs.webkit.org/show_bug.cgi?id=31098
686
687         Allows same-origin plugin-based content to load.
688
689         Test: http/tests/security/xssAuditor/object-src-inject.html
690
691         * page/XSSAuditor.cpp:
692         (WebCore::XSSAuditor::canLoadExternalScriptFromSrc): Modified to call XSSAuditor::isSameOriginResource.
693         (WebCore::XSSAuditor::canLoadObject): Ditto.
694         (WebCore::XSSAuditor::canSetBaseElementURL): Ditto. 
695         (WebCore::XSSAuditor::isSameOriginResource): Added.
696         * page/XSSAuditor.h:
697
698 2009-11-08  David Levin  <levin@chromium.org>
699
700         Reviewed by NOBODY (chromium build fix).
701
702         * platform/network/HTTPParsers.cpp:
703         (WebCore::parseDate): Changed this to not
704         use a date parser that needs ExecState passed.
705         
706 2009-11-08  David Levin  <levin@chromium.org>
707
708         Unreviewed build fix for chromium.
709
710         * platform/graphics/skia/GraphicsContextSkia.cpp:
711         (WebCore::GraphicsContext::fillPath):
712         (WebCore::GraphicsContext::fillRect):
713         (WebCore::GraphicsContext::strokePath):
714         (WebCore::GraphicsContext::strokeRect):
715
716 2009-11-08  David Levin  <levin@chromium.org>
717
718         Unreviewed build fix for chromium.
719
720         Build fix for https://bugs.webkit.org/show_bug.cgi?id=31219
721         Clean up GraphicsContext's current concept of ColorSpace
722
723         * platform/graphics/skia/GraphicsContextSkia.cpp:
724         (WebCore::GraphicsContext::fillPath):
725         (WebCore::GraphicsContext::fillRect):
726         (WebCore::GraphicsContext::strokePath):
727         (WebCore::GraphicsContext::strokeRect):
728
729 2009-11-08  Pavel Feldman  <pfeldman@chromium.org>
730
731         Reviewed by Timothy Hatcher.
732
733         Web Inspector: [REGRESSION] committing style edit
734         clears elements panel selection.
735
736         https://bugs.webkit.org/show_bug.cgi?id=31242
737
738         * inspector/front-end/ElementsTreeOutline.js:
739         (WebInspector.ElementsTreeOutline.prototype.update):
740         * inspector/front-end/StylesSidebarPane.js:
741         (WebInspector.StylePropertyTreeElement.prototype.):
742         (WebInspector.StylePropertyTreeElement.prototype):
743
744 2009-11-08  Janne Koskinen  <janne.p.koskinen@digia.com>
745
746         Reviewed by Holger Freyther.
747
748         ResourceRequest to be class instead of struct
749         https://bugs.webkit.org/show_bug.cgi?id=30670
750
751         Started as a compilation fix for Symbian where the compiler makes a distinction between
752         class and struct in function argument signatures.
753         Changed all forward declarations of ResourceRequest to have class in the forward
754         declaration instead of struct and changed the definition of ResourceRequest to be class
755         and added access qualifiers where missing. Additionally two references of friend
756         struct ResourceRequestBase changed to class instead.
757
758         * history/HistoryItem.h:
759         * inspector/InspectorController.h:
760         * inspector/InspectorResource.h:
761         * loader/DocumentThreadableLoader.h:
762         * loader/FrameLoaderClient.h:
763         * loader/MainResourceLoader.h:
764         * loader/ResourceLoadNotifier.h:
765         * loader/SubresourceLoader.h:
766         * loader/SubresourceLoaderClient.h:
767         * loader/ThreadableLoader.h:
768         * loader/WorkerThreadableLoader.h:
769         * loader/appcache/ApplicationCache.h:
770         * loader/appcache/ApplicationCacheHost.h:
771         * platform/CrossThreadCopier.h:
772         * platform/network/ResourceHandle.h:
773         * platform/network/ResourceHandleClient.h:
774         * platform/network/ResourceRequestBase.h:
775         * platform/network/cf/ResourceRequest.h:
776         * platform/network/cf/ResourceRequestCFNet.h:
777         * platform/network/chromium/ResourceRequest.h:
778         * platform/network/curl/ResourceRequest.h:
779         * platform/network/qt/ResourceRequest.h:
780         * platform/network/soup/ResourceRequest.h:
781         * xml/XMLHttpRequest.h:
782
783 2009-11-08  Dan Bernstein  <mitz@apple.com>
784
785         Reviewed by Simon Fraser.
786
787         <rdar://problem/7363434> Crash inside RenderObject::localToAbsolute
788         below FrameView::layout
789         https://bugs.webkit.org/show_bug.cgi?id=31093
790
791         Test: fast/block/positioning/relative-positioned-inline-container.html
792
793         In <http://trac.webkit.org/changeset/19148>, setStaticY() was changed
794         to mark the object for layout, doing so without marking its ancestors.
795         However, RenderBlock::skipLeadingWhitespace and
796         RenderBlock::skipTrailingWhitespace() call setStaticY() on a relative-
797         positioned inline container, causing it to be marked for layout without
798         ever going back to give it layout, and thus layout could end with a
799         dirty object still in the tree, leading to all sorts of badness.
800
801         The fix is to revert setStaticY() to not marking the object dirty, and
802         instead do it in the call sites that require it, which are in
803         RenderBlock and RenderFlexibleBox.
804
805         * rendering/RenderBlock.cpp:
806         (WebCore::RenderBlock::adjustPositionedBlock):
807         * rendering/RenderFlexibleBox.cpp:
808         (WebCore::RenderFlexibleBox::layoutHorizontalBox):
809         (WebCore::RenderFlexibleBox::layoutVerticalBox):
810         * rendering/RenderLayer.cpp:
811         * rendering/RenderLayer.h:
812         (WebCore::RenderLayer::setStaticY):
813
814 2009-11-07  Daniel Bates  <dbates@webkit.org>
815
816         Reviewed by Darin Adler.
817
818         https://bugs.webkit.org/show_bug.cgi?id=20780
819         
820         Fixes an issue where the onchange event handler is not fired when the 
821         input field is autocompleted.
822         
823         We cannot test this using DRT since DRT cannot emulate autocompletion.
824         So, a manual-test is included.
825
826         Tests: manual-tests/autocompletion-fire-onchange.html
827
828         * manual-tests/autocompletion-fire-onchange.html: Added.
829         * rendering/RenderTextControl.cpp:
830         (WebCore::RenderTextControl::setInnerTextValue):
831
832 2009-11-07  Benjamin Otte  <otte@gnome.org>
833
834         Reviewed by Holger Freyther.
835
836         Mark redrawn areas on image surfaces as dirty.
837
838         This is required to conform to the Cairo API, but is currently only
839         used by debugging tools like cairo-trace.
840
841         * platform/graphics/cairo/ImageBufferCairo.cpp:
842         (WebCore::ImageBuffer::platformTransformColorSpace):
843         (WebCore::putImageData):
844
845 2009-11-07  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
846
847         Reviewed by Xan Lopez.
848
849         https://bugs.webkit.org/show_bug.cgi?id=30878
850         [Gtk] atk_text_get_text() fails in entries when the end_offset is -1
851
852         If the end_offset is -1, use the String length as the end_offset.
853
854         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
855         (webkit_accessible_text_get_text):
856
857 2009-11-06  Beth Dakin  <bdakin@apple.com>
858
859         Reviewed by Adele Peterson.
860
861         Fix for https://bugs.webkit.org/show_bug.cgi?id=31219 Clean up 
862         GraphicsContext's current concept of ColorSpace
863
864         ColorSpace is now called ColorType. The variables on the state we 
865         appropriately re-named as well. I removed strokeColorSpace() and 
866         fillColorSpace() from GraphicsContext since they were never called. 
867
868         * platform/graphics/GraphicsContext.cpp:
869         (WebCore::GraphicsContext::setStrokeColor):
870         (WebCore::GraphicsContext::setFillColor):
871         (WebCore::GraphicsContext::setStrokePattern):
872         (WebCore::GraphicsContext::setFillPattern):
873         (WebCore::GraphicsContext::setStrokeGradient):
874         (WebCore::GraphicsContext::setFillGradient):
875         * platform/graphics/GraphicsContext.h:
876         (WebCore::):
877         * platform/graphics/GraphicsContextPrivate.h:
878         (WebCore::GraphicsContextState::GraphicsContextState):
879         * platform/graphics/cairo/GraphicsContextCairo.cpp:
880         (WebCore::GraphicsContext::fillPath):
881         (WebCore::GraphicsContext::strokePath):
882         * platform/graphics/cg/GraphicsContextCG.cpp:
883         (WebCore::calculateDrawingMode):
884         (WebCore::GraphicsContext::drawPath):
885         (WebCore::GraphicsContext::fillPath):
886         (WebCore::GraphicsContext::strokePath):
887         (WebCore::GraphicsContext::fillRect):
888         (WebCore::GraphicsContext::strokeRect):
889         * platform/graphics/qt/GraphicsContextQt.cpp:
890         (WebCore::GraphicsContext::fillPath):
891         (WebCore::GraphicsContext::strokePath):
892         (WebCore::GraphicsContext::fillRect):
893         * platform/graphics/wince/GraphicsContextWince.cpp:
894         (WebCore::GraphicsContext::fillPath):
895         (WebCore::GraphicsContext::fillRect):
896
897 2009-11-06  Brian Weinstein  <bweinstein@apple.com>
898
899         Reviewed by Tim Hatcher.
900
901         Fixes <http://webkit.org/b/31177>.
902         Web Inspector: Bind backspace to delete cookies and DOM Storage.
903         
904         Refactor editing code from DOMStorageDataGrid to DataGrid, so other
905         places in the inspector can use editing in DataGrid (added a FIXME for
906         some stuff that needs to be generalized).
907         
908         Also added deleting functionality to DataGrid, and implemented it for
909         Cookies and DOM Storage. The reason this patch is so big is because of
910         the refactoring of editing code, which won't be used yet in a cross-datagrid
911         way, but should be able to.
912         
913         Additionally, moved the callbacks members from DOMStorageDataGrid to
914         DOMStorageItemsView, which allowed us to delete DOMStorageDataGrid, to 
915         make the architecture of DOM Storage look a lot more like the Cookies view.
916         
917         Lastly, added a preventDefault call in ElementsTreeOutline to prevent the 
918         inspector from beeping at you when you delete an element.
919
920         * WebCore.gypi: Removed DOMStorageDataGrid.
921         * WebCore.vcproj/WebCore.vcproj: Removed DOMStorageDataGrid.
922         * inspector/front-end/CookieItemsView.js:
923         (WebInspector.CookieItemsView.prototype.dataGridForCookies):
924         (WebInspector.CookieItemsView.prototype._deleteButtonClicked):
925         (WebInspector.CookieItemsView.prototype._deleteCookieCallback):
926         * inspector/front-end/DOMStorageDataGrid.js: Removed.
927         * inspector/front-end/DOMStorageItemsView.js:
928         (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
929         (WebInspector.DOMStorageItemsView.prototype._deleteButtonClicked):
930         (WebInspector.DOMStorageItemsView.prototype._refreshButtonClicked):
931         (WebInspector.DOMStorageItemsView.prototype._editingCallback):
932         (WebInspector.DOMStorageItemsView.prototype.deleteSelectedRow):
933         (WebInspector.DOMStorageItemsView.prototype._deleteCallback):
934         * inspector/front-end/DataGrid.js:
935         (WebInspector.DataGrid):
936         (WebInspector.DataGrid.prototype._ondblclick): Moved from DOMStorageDataGrid to DataGrid + Refactoring.
937         (WebInspector.DataGrid.prototype._startEditingColumnOfDataGridNode): Ditto.
938         (WebInspector.DataGrid.prototype._startEditing): Ditto.
939         (WebInspector.DataGrid.prototype._editingCommitted.moveToNextIfNeeded): Ditto.
940         (WebInspector.DataGrid.prototype._editingCommitted): Ditto.
941         (WebInspector.DataGrid.prototype._editingCancelled): Ditto.
942         (WebInspector.DataGrid.prototype.handleKeyEvent): Added case for delete/backspace.
943         * inspector/front-end/ElementsTreeOutline.js:
944         (WebInspector.ElementsTreeOutline.prototype.handleKeyEvent): Added preventDefault call.
945         * inspector/front-end/WebKit.qrc: Removed DOMStorageDataGrid.
946         * inspector/front-end/inspector.html: Removed DOMStorageDataGrid.
947
948 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
949
950         Qt build fix: added an ExecState parameter.
951
952         * bridge/qt/qt_runtime.cpp:
953         (JSC::Bindings::convertValueToQVariant):
954         (JSC::Bindings::convertQVariantToValue):
955
956 2009-11-06  Geoffrey Garen  <ggaren@apple.com>
957
958         https://bugs.webkit.org/show_bug.cgi?id=31197
959         Implemented a timezone cache not based on Mac OS X's notify_check API.
960
961         Updated for JavaScriptCore internal API change.
962
963         * bridge/qt/qt_runtime.cpp:
964         (JSC::Bindings::convertValueToQVariant):
965         (JSC::Bindings::convertQVariantToValue): Updated for namespace change.
966
967         * platform/network/HTTPParsers.cpp:
968         (WebCore::parseDate): Pass 0 for ExecState, since we don't have one.
969         (This function probably shouldn't be using a JavaScript date parser
970         to begin with, but oh well.)
971
972 2009-11-06  Anantanarayanan G Iyengar  <ananta@chromium.org>
973
974         Reviewed by Adam Barth.
975
976         The associated webkit bug is https://bugs.webkit.org/show_bug.cgi?id=31067,
977         which affects Chromium only.
978         
979         Changes to V8HTMLDocumentCustom.cpp are as below:-
980         1. The HTMLDocumentOpen function would cause a crash in Chromium if
981            there was no calling javascript context. We now check for this case
982            and pass in NULL to the HTMLDocument::open function which can handle
983            a NULL document parameter.
984         2. The other functions like HTMLDocumentWrite, HTMLDocumentWriteln, etc
985            had ASSERTS for a NULL caller frame, which was bogus as it would crash
986            anyway. We now check for this case and return a failure.
987            
988         Changes to V8DOMWindowCustom.cpp are as below:-
989         1. Instead of failing the window.open call made by NPAPI for lack of a
990            calling javascript context, we now use the entered context as the calling
991            context.
992
993         Tests: plugins/document-open.html
994                plugins/window-open.html
995
996         * bindings/v8/custom/V8DOMWindowCustom.cpp:
997         (WebCore::CALLBACK_FUNC_DECL):
998         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
999         (WebCore::CALLBACK_FUNC_DECL):
1000
1001 2009-11-06  Steve Block  <steveblock@google.com>
1002
1003         Reviewed by Eric Seidel.
1004
1005         Geolocation error code UNKNOWN_ERROR is deprecated.
1006         https://bugs.webkit.org/show_bug.cgi?id=31184
1007
1008         Remove this error code from PositionError, both for use from C++ code and from the JS object.
1009
1010         Updated fast/dom/Geolocation/error.html to test this.
1011
1012         * page/PositionError.h: Modified.
1013         (WebCore::PositionError::): Remove ErrorCode::UNKNOWN_ERROR.
1014         * page/PositionError.idl: Modified. Remove UNKNOWN_ERROR constant.
1015         * page/Geolocation.cpp: Modified.
1016         (WebCore::Geolocation::startRequest): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
1017         * platform/gtk/GeolocationServiceGtk.cpp: Modified.
1018         (WebCore::GeolocationServiceGtk::startUpdating): Replace UNKNOWN_ERROR with POSITION_UNAVAILABLE.
1019
1020 2009-11-06  Dirk Schulze  <krit@webkit.org>
1021
1022         Reviewed by Nikolas Zimmermann.
1023
1024         feMorphology filter is not implemented
1025         [https://bugs.webkit.org/show_bug.cgi?id=5863]
1026
1027         The Implementation of feMorphology.
1028         
1029         Test: We have allready a test for feMorphology
1030               svg/W3C-SVG-1.1/filters-morph-01-f.svg
1031
1032         * svg/graphics/filters/SVGFEMorphology.cpp:
1033         (WebCore::FEMorphology::apply):
1034
1035 2009-11-06  Steve Block  <steveblock@google.com>
1036
1037         Reviewed by Eric Seidel.
1038
1039         V8DOMWindowCustom.cpp is missing WEB_SOCKETS guard on include.
1040         https://bugs.webkit.org/show_bug.cgi?id=31209
1041
1042         Build fix only. No new tests possible.
1043
1044         * bindings/v8/custom/V8DOMWindowCustom.cpp: Modified. Added WEB_SOCKETS guard on inclue of WebSockets.h.
1045
1046 2009-11-06  Drew Wilson  <atwilson@chromium.org>
1047
1048         Reviewed by David Levin.
1049
1050         V8 bindings do not support SharedWorkers as event targets
1051         https://bugs.webkit.org/show_bug.cgi?id=31199
1052
1053         No new tests because existing layout tests suffice (they currently
1054         crash on Chromium)
1055
1056         * bindings/v8/V8DOMWrapper.cpp:
1057         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1058         Added clause to create a DOM wrapper for SharedWorkers.
1059
1060 2009-11-06  Anton Muhin  <antonm@chromium.org>
1061
1062         Reviewed by Adam Barth.
1063
1064         Do not unnecessarly synchronzie in weak reference callbacks.
1065         https://bugs.webkit.org/show_bug.cgi?id=31191
1066
1067         * bindings/v8/DOMData.h:
1068         (WebCore::DOMData::handleWeakObject):
1069
1070 2009-11-06  Alexander Pavlov  <apavlov@chromium.org>
1071
1072         Reviewed by Pavel Feldman.
1073
1074         Fix resource content search.
1075         https://bugs.webkit.org/show_bug.cgi?id=31202
1076
1077         * inspector/front-end/AbstractTimelinePanel.js:
1078         (WebInspector.AbstractTimelinePanel.prototype.refresh):
1079         (WebInspector.AbstractTimelinePanel.prototype.removeItem):
1080         * inspector/front-end/TimelinePanel.js:
1081         (WebInspector.TimelineGraph.prototype.refresh):
1082
1083 2009-11-05  Yuta Kitamura  <yutak@chromium.org>
1084
1085         Reviewed by Eric Seidel.
1086
1087         Fix ASSERT(currentStyle = renderStyle()).
1088         https://bugs.webkit.org/show_bug.cgi?id=31152
1089
1090         * dom/Element.cpp:
1091         (WebCore::Element::pseudoStyleCacheIsInvalid): We should have used "==" instead of "=".
1092
1093 2009-11-05  Alpha Lam  <hclam@chromium.org>
1094
1095         Revert 50562 because it broke Chromium. Not reviewed since this is a build fix and revert.
1096
1097         * bindings/v8/V8GCController.cpp:
1098         (WebCore::V8GCController::gcEpilogue):
1099         * bindings/v8/V8GCController.h:
1100         * bindings/v8/V8Proxy.cpp:
1101         (WebCore::V8Proxy::evaluate):
1102         (WebCore::V8Proxy::runScript):
1103         (WebCore::V8Proxy::callFunction):
1104
1105 2009-11-05  Adam Barth  <abarth@webkit.org>
1106
1107         Reviewed by Sam Weinig.
1108
1109         Cross-domain access to stylesheet text should not be allowed
1110         https://bugs.webkit.org/show_bug.cgi?id=20527
1111
1112         Check whether whether the current document can read the cssRules from
1113         the style sheet.  Firefox throws a security error here, but we return
1114         null instead because that's what we usually do in these cases.
1115
1116         Test: http/tests/security/cannot-read-cssrules-redirect.html
1117               http/tests/security/cannot-read-cssrules.html
1118
1119         * css/CSSStyleSheet.cpp:
1120         (WebCore::CSSStyleSheet::cssRules):
1121
1122 2009-11-05  Steve Block  <steveblock@google.com>
1123
1124         Reviewed by Eric Seidel.
1125
1126         If the Geolocation service fails to start, invoke the error callback asynchronously.
1127         https://bugs.webkit.org/show_bug.cgi?id=28276
1128
1129         All Geolocation callbacks must be invoked asynchronously.
1130         See http://www.w3.org/TR/geolocation-API/#geolocation_interface
1131
1132         No new tests possible with current LayoutTestController.
1133
1134         * page/Geolocation.cpp:
1135         (WebCore::Geolocation::getCurrentPosition): Modified. Asserts that startRequest returned a notifier.
1136         (WebCore::Geolocation::watchPosition): Modified. Asserts that startRequest returned a notifier.
1137         (WebCore::Geolocation::startRequest): Modified. If the Geolocation service fails to start, set a fatal error on the notifier.
1138
1139 2009-11-05  Chris Jerdonek  <chris.jerdonek@gmail.com>
1140
1141         Reviewed by Eric Seidel.
1142
1143         Removed the "this is part of the KDE project" comments from 
1144         all *.h, *.cpp, *.idl, and *.pm files.
1145         
1146         https://bugs.webkit.org/show_bug.cgi?id=31167
1147         
1148         The maintenance and architecture page in the project wiki lists
1149         this as a task.
1150         
1151         This change includes no changes or additions to test cases 
1152         since the change affects only comments.
1153
1154         * bindings/scripts/CodeGeneratorV8.pm:
1155         * bindings/scripts/IDLParser.pm:
1156         * bindings/scripts/IDLStructure.pm:
1157         * css/CSSInheritedValue.cpp:
1158         * css/CSSInitialValue.cpp:
1159         * css/CSSMediaRule.cpp:
1160         * css/CSSNamespace.h:
1161         * css/CSSProperty.cpp:
1162         * css/CSSProperty.h:
1163         * css/CSSRuleList.cpp:
1164         * css/CSSRuleList.h:
1165         * css/CSSSelector.h:
1166         * css/CSSValueList.cpp:
1167         * css/FontValue.cpp:
1168         * css/MediaFeatureNames.cpp:
1169         * css/MediaFeatureNames.h:
1170         * css/Pair.h:
1171         * css/SVGCSSStyleSelector.cpp:
1172         * css/ShadowValue.cpp:
1173         * css/StyleSheet.cpp:
1174         * css/StyleSheetList.cpp:
1175         * css/maketokenizer:
1176         * dom/BeforeUnloadEvent.cpp:
1177         * dom/BeforeUnloadEvent.h:
1178         * dom/CSSMappedAttributeDeclaration.cpp:
1179         * dom/EventNames.cpp:
1180         * dom/EventTarget.cpp:
1181         * dom/MappedAttributeEntry.h:
1182         * dom/MouseRelatedEvent.h:
1183         * dom/RangeException.h:
1184         * dom/StyleElement.h:
1185         * dom/Tokenizer.h:
1186         * html/HTMLHeadElement.h:
1187         * html/HTMLHeadingElement.cpp:
1188         * html/HTMLHeadingElement.h:
1189         * html/HTMLHtmlElement.h:
1190         * html/HTMLImageLoader.h:
1191         * html/HTMLMetaElement.h:
1192         * html/HTMLModElement.cpp:
1193         * html/HTMLModElement.h:
1194         * html/HTMLOptionsCollection.cpp:
1195         * html/HTMLPlugInElement.cpp:
1196         * html/HTMLPreElement.cpp:
1197         * html/HTMLPreElement.h:
1198         * html/HTMLTableCellElement.cpp:
1199         * html/HTMLTableCellElement.h:
1200         * html/HTMLTableColElement.cpp:
1201         * html/HTMLTableColElement.h:
1202         * html/HTMLTablePartElement.cpp:
1203         * html/HTMLTablePartElement.h:
1204         * html/HTMLTitleElement.h:
1205         * page/MouseEventWithHitTestResults.h:
1206         * platform/StaticConstructors.h:
1207         * platform/text/AtomicStringImpl.h:
1208         * platform/text/qt/TextBreakIteratorQt.cpp:
1209         * rendering/AutoTableLayout.h:
1210         * rendering/CounterNode.cpp:
1211         * rendering/EllipsisBox.cpp:
1212         * rendering/EllipsisBox.h:
1213         * rendering/FixedTableLayout.cpp:
1214         * rendering/FixedTableLayout.h:
1215         * rendering/HitTestRequest.h:
1216         * rendering/HitTestResult.h:
1217         * rendering/InlineRunBox.h:
1218         * rendering/PointerEventsHitRules.cpp:
1219         * rendering/PointerEventsHitRules.h:
1220         * rendering/RenderBR.cpp:
1221         * rendering/RenderBR.h:
1222         * rendering/RenderButton.cpp:
1223         * rendering/RenderButton.h:
1224         * rendering/RenderFieldset.cpp:
1225         * rendering/RenderFrameSet.cpp:
1226         * rendering/RenderListItem.cpp:
1227         * rendering/RenderTableRow.cpp:
1228         * rendering/RenderView.h:
1229         * rendering/RootInlineBox.h:
1230         * rendering/SVGInlineTextBox.cpp:
1231         * rendering/SVGInlineTextBox.h:
1232         * rendering/TableLayout.h:
1233         * rendering/break_lines.h:
1234         * rendering/style/SVGRenderStyle.cpp:
1235         * rendering/style/SVGRenderStyle.h:
1236         * rendering/style/SVGRenderStyleDefs.cpp:
1237         * rendering/style/SVGRenderStyleDefs.h:
1238         * svg/GradientAttributes.h:
1239         * svg/LinearGradientAttributes.h:
1240         * svg/PatternAttributes.h:
1241         * svg/RadialGradientAttributes.h:
1242         * svg/SVGAElement.cpp:
1243         * svg/SVGAngle.idl:
1244         * svg/SVGAnimateColorElement.cpp:
1245         * svg/SVGAnimateColorElement.h:
1246         * svg/SVGAnimateElement.cpp:
1247         * svg/SVGAnimateElement.h:
1248         * svg/SVGAnimateTransformElement.h:
1249         * svg/SVGAnimatedPathData.cpp:
1250         * svg/SVGAnimatedPathData.h:
1251         * svg/SVGAnimatedPoints.cpp:
1252         * svg/SVGAnimatedPoints.h:
1253         * svg/SVGAnimationElement.cpp:
1254         * svg/SVGCircleElement.cpp:
1255         * svg/SVGClipPathElement.cpp:
1256         * svg/SVGColor.cpp:
1257         * svg/SVGColor.idl:
1258         * svg/SVGComponentTransferFunctionElement.cpp:
1259         * svg/SVGComponentTransferFunctionElement.h:
1260         * svg/SVGCursorElement.cpp:
1261         * svg/SVGDefsElement.cpp:
1262         * svg/SVGDescElement.cpp:
1263         * svg/SVGDescElement.h:
1264         * svg/SVGDocument.idl:
1265         * svg/SVGElement.idl:
1266         * svg/SVGElementInstanceList.cpp:
1267         * svg/SVGElementInstanceList.h:
1268         * svg/SVGEllipseElement.cpp:
1269         * svg/SVGExternalResourcesRequired.cpp:
1270         * svg/SVGFEBlendElement.cpp:
1271         * svg/SVGFEBlendElement.h:
1272         * svg/SVGFEColorMatrixElement.cpp:
1273         * svg/SVGFEColorMatrixElement.h:
1274         * svg/SVGFEComponentTransferElement.cpp:
1275         * svg/SVGFEComponentTransferElement.h:
1276         * svg/SVGFECompositeElement.cpp:
1277         * svg/SVGFECompositeElement.h:
1278         * svg/SVGFEFloodElement.cpp:
1279         * svg/SVGFEFloodElement.h:
1280         * svg/SVGFEFuncAElement.cpp:
1281         * svg/SVGFEFuncAElement.h:
1282         * svg/SVGFEFuncBElement.cpp:
1283         * svg/SVGFEFuncBElement.h:
1284         * svg/SVGFEFuncGElement.cpp:
1285         * svg/SVGFEFuncGElement.h:
1286         * svg/SVGFEFuncRElement.cpp:
1287         * svg/SVGFEFuncRElement.h:
1288         * svg/SVGFEGaussianBlurElement.cpp:
1289         * svg/SVGFEGaussianBlurElement.h:
1290         * svg/SVGFEImageElement.cpp:
1291         * svg/SVGFEMergeElement.cpp:
1292         * svg/SVGFEMergeElement.h:
1293         * svg/SVGFEMergeNodeElement.cpp:
1294         * svg/SVGFEOffsetElement.cpp:
1295         * svg/SVGFEOffsetElement.h:
1296         * svg/SVGFETileElement.cpp:
1297         * svg/SVGFETileElement.h:
1298         * svg/SVGFETurbulenceElement.cpp:
1299         * svg/SVGFETurbulenceElement.h:
1300         * svg/SVGFilterElement.cpp:
1301         * svg/SVGGElement.cpp:
1302         * svg/SVGGradientElement.cpp:
1303         * svg/SVGHKernElement.idl:
1304         * svg/SVGLangSpace.cpp:
1305         * svg/SVGLangSpace.h:
1306         * svg/SVGLength.cpp:
1307         * svg/SVGLength.h:
1308         * svg/SVGLength.idl:
1309         * svg/SVGLengthList.cpp:
1310         * svg/SVGLengthList.h:
1311         * svg/SVGLineElement.cpp:
1312         * svg/SVGLinearGradientElement.h:
1313         * svg/SVGList.h:
1314         * svg/SVGListTraits.h:
1315         * svg/SVGLocatable.h:
1316         * svg/SVGMaskElement.cpp:
1317         * svg/SVGMatrix.idl:
1318         * svg/SVGMetadataElement.cpp:
1319         * svg/SVGMetadataElement.h:
1320         * svg/SVGMetadataElement.idl:
1321         * svg/SVGNumber.idl:
1322         * svg/SVGNumberList.cpp:
1323         * svg/SVGNumberList.h:
1324         * svg/SVGPaint.cpp:
1325         * svg/SVGPathElement.cpp:
1326         * svg/SVGPathSeg.h:
1327         * svg/SVGPathSegArc.cpp:
1328         * svg/SVGPathSegArc.h:
1329         * svg/SVGPathSegClosePath.cpp:
1330         * svg/SVGPathSegClosePath.h:
1331         * svg/SVGPathSegCurvetoCubic.cpp:
1332         * svg/SVGPathSegCurvetoCubic.h:
1333         * svg/SVGPathSegCurvetoCubicSmooth.cpp:
1334         * svg/SVGPathSegCurvetoCubicSmooth.h:
1335         * svg/SVGPathSegCurvetoQuadratic.cpp:
1336         * svg/SVGPathSegCurvetoQuadratic.h:
1337         * svg/SVGPathSegCurvetoQuadraticSmooth.cpp:
1338         * svg/SVGPathSegCurvetoQuadraticSmooth.h:
1339         * svg/SVGPathSegLineto.cpp:
1340         * svg/SVGPathSegLineto.h:
1341         * svg/SVGPathSegLinetoHorizontal.cpp:
1342         * svg/SVGPathSegLinetoHorizontal.h:
1343         * svg/SVGPathSegLinetoVertical.cpp:
1344         * svg/SVGPathSegLinetoVertical.h:
1345         * svg/SVGPathSegMoveto.cpp:
1346         * svg/SVGPathSegMoveto.h:
1347         * svg/SVGPatternElement.cpp:
1348         * svg/SVGPoint.idl:
1349         * svg/SVGPointList.cpp:
1350         * svg/SVGPointList.h:
1351         * svg/SVGPolyElement.cpp:
1352         * svg/SVGPolygonElement.cpp:
1353         * svg/SVGPolygonElement.h:
1354         * svg/SVGPolylineElement.cpp:
1355         * svg/SVGPolylineElement.h:
1356         * svg/SVGPreserveAspectRatio.cpp:
1357         * svg/SVGPreserveAspectRatio.h:
1358         * svg/SVGRadialGradientElement.h:
1359         * svg/SVGRect.idl:
1360         * svg/SVGRectElement.cpp:
1361         * svg/SVGRenderingIntent.h:
1362         * svg/SVGSVGElement.idl:
1363         * svg/SVGScriptElement.cpp:
1364         * svg/SVGSetElement.cpp:
1365         * svg/SVGSetElement.h:
1366         * svg/SVGStopElement.cpp:
1367         * svg/SVGStringList.cpp:
1368         * svg/SVGStringList.h:
1369         * svg/SVGStylable.cpp:
1370         * svg/SVGStylable.h:
1371         * svg/SVGStyleElement.cpp:
1372         * svg/SVGStyleElement.h:
1373         * svg/SVGStyledElement.h:
1374         * svg/SVGStyledLocatableElement.cpp:
1375         * svg/SVGStyledLocatableElement.h:
1376         * svg/SVGStyledTransformableElement.cpp:
1377         * svg/SVGStyledTransformableElement.h:
1378         * svg/SVGSwitchElement.cpp:
1379         * svg/SVGSymbolElement.cpp:
1380         * svg/SVGTRefElement.cpp:
1381         * svg/SVGTSpanElement.cpp:
1382         * svg/SVGTSpanElement.h:
1383         * svg/SVGTests.h:
1384         * svg/SVGTextElement.cpp:
1385         * svg/SVGTextElement.h:
1386         * svg/SVGTextPathElement.cpp:
1387         * svg/SVGTextPositioningElement.cpp:
1388         * svg/SVGTextPositioningElement.h:
1389         * svg/SVGTitleElement.cpp:
1390         * svg/SVGTitleElement.h:
1391         * svg/SVGTransform.cpp:
1392         * svg/SVGTransform.h:
1393         * svg/SVGTransform.idl:
1394         * svg/SVGTransformList.cpp:
1395         * svg/SVGTransformList.h:
1396         * svg/SVGTransformable.h:
1397         * svg/SVGURIReference.h:
1398         * svg/SVGUnitTypes.h:
1399         * svg/SVGUseElement.cpp:
1400         * svg/SVGViewElement.cpp:
1401         * svg/SVGZoomAndPan.cpp:
1402         * svg/SVGZoomAndPan.h:
1403         * svg/SVGZoomEvent.cpp:
1404
1405 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
1406
1407         Reviewed by Dimitri Glazkov.
1408
1409         REGRESSION Clean up security origin usage in DOM Storage.
1410         https://bugs.webkit.org/show_bug.cgi?id=31188
1411
1412         Clean up security origin usage in DOM Storage.  This fixes a bug in my
1413         refactoring here: https://bugs.webkit.org/show_bug.cgi?id=31149
1414
1415         Instead of having StorageAreaSync's constructor (which is called in the
1416         constructor for StorageAreaImpl) calling a method on StoargeAreaImpl to get the
1417         database identifier, simply have StorageAreaImpl pass the identifier into
1418         StorageAreaSync.
1419
1420         No test because there's no change in externally observable behavior.
1421
1422         * storage/StorageAreaImpl.cpp:
1423         (WebCore::StorageAreaImpl::StorageAreaImpl):
1424         * storage/StorageAreaImpl.h:
1425         * storage/StorageAreaSync.cpp:
1426         (WebCore::StorageAreaSync::create):
1427         (WebCore::StorageAreaSync::StorageAreaSync):
1428         * storage/StorageAreaSync.h:
1429
1430 2009-11-05  Scott Violet  <sky@google.com>
1431
1432         Reviewed by Dimitri Glazkov.
1433
1434         Need notification of scrolling frame
1435         https://bugs.webkit.org/show_bug.cgi?id=31145
1436
1437         Adds FrameLoaderClient::didChangeScrollOffset that is called when
1438         the frame scrolls. This will be used to know when history state
1439         needs to be updated.
1440
1441         * loader/FrameLoaderClient.h:
1442         (WebCore::FrameLoaderClient::didChangeScrollOffset):
1443         * page/FrameView.cpp:
1444         (WebCore::FrameView::valueChanged):
1445
1446 2009-11-05  Kenneth Russell  <kbr@google.com>
1447
1448         Reviewed by Dimitri Glazkov.
1449
1450         [V8] Update bindings to use new API for external arrays
1451         https://bugs.webkit.org/show_bug.cgi?id=31181
1452
1453         No new tests; covered by existing WebGL tests.
1454
1455         * bindings/v8/V8DOMWrapper.cpp:
1456         (WebCore::V8DOMWrapper::setIndexedPropertiesToExternalArray):
1457         (WebCore::V8DOMWrapper::getTemplate):
1458         (WebCore::V8DOMWrapper::convertToV8Object):
1459         * bindings/v8/V8DOMWrapper.h:
1460         * bindings/v8/custom/V8CanvasArrayCustom.h:
1461         (WebCore::constructCanvasArray):
1462
1463 2009-11-05  Alpha Lam  <hclam@chromium.org>
1464
1465         Not reviewed, Chromium build fix.
1466
1467         50561 introduces a custom method for SVGMatrix, we need to implement
1468         this in V8.
1469
1470         * bindings/v8/custom/V8CustomBinding.h:
1471         Adding definition for V8SVGMatrixMultiply.
1472         * bindings/v8/custom/V8SVGMatrixCustom.cpp:
1473         (WebCore::CALLBACK_FUNC_DECL):
1474         Implement V8SVGMatrixMultiply according to the same method in JSC.
1475
1476 2009-11-05  Jeremy Orlow  <jorlow@chromium.org>
1477
1478         Revert 50569 since it broke QT.  Build fix and just a revert, so no review.
1479
1480         * page/DOMWindow.cpp:
1481         (WebCore::DOMWindow::sessionStorage):
1482         * page/Settings.cpp:
1483         (WebCore::Settings::Settings):
1484         (WebCore::Settings::setSessionStorageEnabled):
1485         * page/Settings.h:
1486         (WebCore::Settings::sessionStorageEnabled):
1487
1488 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
1489
1490         Reviewed by Timothy Hatcher.
1491
1492         REGRESSION: Web Inspector doesn't show CSS rules properly for iframes
1493
1494         https://bugs.webkit.org/show_bug.cgi?id=30884
1495
1496         Test: inspector/styles-iframe.html
1497
1498         * inspector/front-end/DOMAgent.js:
1499         (WebInspector.DOMNode):
1500         * inspector/front-end/InjectedScript.js:
1501         (InjectedScript.getStyles):
1502         (InjectedScript.getComputedStyle):
1503         (InjectedScript.addStyleSelector):
1504         * inspector/front-end/TestController.js:
1505         (WebInspector.TestController.prototype.notifyDone):
1506         (WebInspector.TestController.prototype.runAfterPendingDispatches):
1507         (WebInspector.evaluateForTestInFrontend.invokeMethod):
1508         (WebInspector.evaluateForTestInFrontend):
1509
1510 2009-11-05  Vitaly Repeshko  <vitalyr@chromium.org>
1511
1512         Reviewed by Geoffrey Garen and Dimitri Glazkov.
1513
1514         Rehashing of EventListenerMap leads to loss of EvenListenerList.
1515         https://bugs.webkit.org/show_bug.cgi?id=31027
1516
1517         Tested by new fast/events/event-listener-map-rehash-crash.html.
1518
1519         EventListenerMap modified to store pointers to listener vectors:
1520         * dom/EventTarget.cpp:
1521         (WebCore::EventTargetData::~EventTargetData):
1522         (WebCore::EventTarget::addEventListener):
1523         (WebCore::EventTarget::removeEventListener):
1524         (WebCore::EventTarget::fireEventListeners):
1525         (WebCore::EventTarget::getEventListeners):
1526         (WebCore::EventTarget::removeAllEventListeners):
1527         * dom/EventTarget.h:
1528
1529         Usages updated after interface changes:
1530         * inspector/InspectorDOMAgent.cpp:
1531         (WebCore::InspectorDOMAgent::getEventListenersForNode):
1532         * svg/SVGUseElement.cpp:
1533         (WebCore::SVGUseElement::transferEventListenersToShadowTree):
1534
1535 2009-11-05  Dan Kegel  <dank@chromium.org>
1536
1537         Reviewed by Dmitri Titov.
1538
1539         Add missing initialization for m_createdByParser.
1540         https://bugs.webkit.org/show_bug.cgi?id=31089
1541
1542         Test: fast/dom/beforeload/pi-before-load.xhtml in Valgrind
1543
1544         * dom/ProcessingInstruction.cpp:
1545         (WebCore::ProcessingInstruction::ProcessingInstruction):
1546
1547 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
1548
1549         Reviewed by Adam Barth.
1550
1551         DOM Storage runtime flag changes
1552         https://bugs.webkit.org/show_bug.cgi?id=30602
1553
1554         Part 2/2.
1555
1556         Revert my changes to Settings and instead implement DOM Storage enabling via
1557         the methods agreed upon in https://bugs.webkit.org/show_bug.cgi?id=30240
1558
1559         This stuff was (intentionally) never exposed to web pages or DRT, so there's no
1560         LayoutTest visible changes and thus no tests.
1561
1562         * bindings/v8/custom/V8CustomBinding.h:
1563         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1564         (WebCore::ACCESSOR_RUNTIME_ENABLER):
1565         * page/DOMWindow.cpp:
1566         (WebCore::DOMWindow::sessionStorage):
1567         * page/DOMWindow.idl:
1568         * page/Settings.cpp:
1569         (WebCore::Settings::Settings):
1570         * page/Settings.h:
1571         * storage/Storage.cpp:
1572         (WebCore::Storage::setLocalStorageAvailable):
1573         (WebCore::Storage::localStorageAvailable):
1574         (WebCore::Storage::setSessionStorageAvailable):
1575         (WebCore::Storage::sessionStorageAvailable):
1576         * storage/Storage.h:
1577
1578 2009-11-05  Jian Li  <jianli@chromium.org>
1579
1580         Reviewed by Pavel Feldman.
1581
1582         Bug 31108 - [V8] REGRESSION: Pause on exception is broken
1583         https://bugs.webkit.org/show_bug.cgi?id=31108
1584
1585         * bindings/v8/V8AbstractEventListener.cpp:
1586         (WebCore::V8AbstractEventListener::invokeEventHandler):
1587         * bindings/v8/V8Utilities.cpp:
1588         (WebCore::reportException):
1589
1590 2009-11-05  Jian Li  <jianli@chromium.org>
1591
1592         Reviewed by Dmitri Titov.
1593
1594         We should not bubble up events if we drag something to an iframe that
1595         has an invalid source.
1596         https://bugs.webkit.org/show_bug.cgi?id=30469
1597
1598         Test: http/tests/misc/bubble-drag-events.html
1599
1600         * page/EventHandler.cpp:
1601         (WebCore::EventHandler::handleDragAndDropForTarget):
1602         (WebCore::EventHandler::updateDragAndDrop):
1603         (WebCore::EventHandler::cancelDragAndDrop):
1604         (WebCore::EventHandler::performDragAndDrop):
1605         * page/EventHandler.h:
1606         (WebCore::EventHandler::):
1607
1608 2009-11-05  Pavel Feldman  <pfeldman@chromium.org>
1609
1610         Reviewed by Timothy Hatcher.
1611
1612         Web Inspector: speed up Timelines Clear by a factor of thousands.
1613
1614         https://bugs.webkit.org/show_bug.cgi?id=31160
1615
1616         * inspector/front-end/utilities.js:
1617         (Element.prototype.removeChildren):
1618
1619 2009-11-05  Anton Muhin  <antonm@chromium.org>
1620
1621         Reviewed by Adam Barth.
1622
1623         If high memory usage is detected, hint to V8 that it might be due
1624         to external objects retained by V8 objects.
1625         https://bugs.webkit.org/show_bug.cgi?id=31051
1626
1627         * bindings/v8/V8GCController.cpp:
1628         (WebCore::GetMemoryUsageInMB):
1629         (WebCore::V8GCController::gcEpilogue):
1630         (WebCore::V8GCController::checkMemoryUsage):
1631         * bindings/v8/V8GCController.h:
1632         * bindings/v8/V8Proxy.cpp:
1633         (WebCore::V8Proxy::evaluate):
1634         (WebCore::V8Proxy::runScript):
1635         (WebCore::V8Proxy::callFunction):
1636
1637 2009-11-05  Jeff Schiller  <codedread@gmail.com>
1638
1639         Reviewed by Simon Fraser.
1640
1641         Correct order of matrix multiplication for SVGMatrix.
1642         https://bugs.webkit.org/show_bug.cgi?id=16062
1643
1644         Test: svg/dom/SVGMatrix-interface.xhtml
1645
1646         * bindings/js/JSSVGMatrixCustom.cpp:
1647         (WebCore::JSSVGMatrix::multiply):
1648         * svg/SVGMatrix.idl:
1649
1650 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
1651
1652         Reviewed by Timothy Hatcher.
1653
1654         Web Inspector: Make resource-related records in timeline
1655         actually take some time.
1656
1657         https://bugs.webkit.org/show_bug.cgi?id=31139
1658
1659         * English.lproj/localizedStrings.js:
1660         * inspector/front-end/TimelinePanel.js:
1661         (WebInspector.TimelinePanel):
1662         (WebInspector.TimelinePanel.prototype._formatRecord):
1663         (WebInspector.TimelinePanel.prototype._getRecordDetails):
1664         (WebInspector.TimelinePanel.prototype.reset):
1665
1666 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
1667
1668         Reviewed by Darin Fisher.
1669
1670         Simplify LocalStorageThread
1671         https://bugs.webkit.org/show_bug.cgi?id=30935
1672
1673         This is a re-submit of 50519.  LocalStorageTask should have never been ref
1674         counted.  I've removed that and switched a PassRefPtr over to a PassOwnPtr.
1675
1676         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
1677         of the method names a bit more clear. Assert proper thread usage. Join rather
1678         than detaching the thread and doing an ad-hoc form of join. Avoid touching
1679         variables on the background thread when simple to do so.  Also create a generic
1680         scheduleTask function rather than one for each task.
1681
1682         No behavior should have changed.
1683
1684         * storage/LocalStorageTask.h:
1685         * storage/LocalStorageThread.cpp:
1686         (WebCore::LocalStorageThread::create):
1687         (WebCore::LocalStorageThread::LocalStorageThread):
1688         (WebCore::LocalStorageThread::~LocalStorageThread):
1689         (WebCore::LocalStorageThread::start):
1690         (WebCore::LocalStorageThread::threadEntryPointCallback):
1691         (WebCore::LocalStorageThread::threadEntryPoint):
1692         (WebCore::LocalStorageThread::scheduleTask):
1693         (WebCore::LocalStorageThread::terminate):
1694         (WebCore::LocalStorageThread::performTerminate):
1695         * storage/LocalStorageThread.h:
1696         * storage/StorageSyncManager.cpp:
1697         (WebCore::StorageSyncManager::StorageSyncManager):
1698         (WebCore::StorageSyncManager::~StorageSyncManager):
1699         (WebCore::StorageSyncManager::scheduleImport):
1700         (WebCore::StorageSyncManager::scheduleSync):
1701         * storage/StorageSyncManager.h:
1702
1703 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
1704
1705         Reviewed by Darin Fisher.
1706
1707         Calling databaseIdentifier on LocalStorage's background thread is not safe.
1708         https://bugs.webkit.org/show_bug.cgi?id=31149
1709
1710         Calling SecurityOrigin::databaseIdentifier on LocalStorage's background thread
1711         is not safe.  databaseIdentifier does a bunch of string concatenation which
1712         ref-counts StringImpls in some cases.  This was caught by valgrind thread
1713         sanitizer: http://code.google.com/p/chromium/issues/detail?id=25645
1714
1715         There's no way to test for such racyness, unfortunately.
1716
1717         * storage/StorageAreaSync.cpp:
1718         (WebCore::StorageAreaSync::StorageAreaSync):
1719         (WebCore::StorageAreaSync::performImport):
1720         * storage/StorageAreaSync.h:
1721         * storage/StorageSyncManager.cpp:
1722         (WebCore::StorageSyncManager::fullDatabaseFilename):
1723         * storage/StorageSyncManager.h:
1724
1725 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
1726
1727         Reviewed by Darin Fisher.
1728
1729         Clean up StorageAreaSync
1730         https://bugs.webkit.org/show_bug.cgi?id=31100
1731
1732         Major fixes: Break the ref count cycle for StorageArea on the main
1733         thread, not the background thread since the latter is not safe.
1734         Length() needs to block on the import completing.
1735
1736         Small fixes: setItem needs to handle the copy on write case even if it
1737         has an exception.  setItem and removeItem should just bail from the
1738         the function if the value hasn't changed rather than wrapping the end
1739         in an if block.  Clear should only send an event if it wasn't already
1740         cleared.  StorageAreaSync should assert that the final sync was
1741         scheduled.
1742
1743         * storage/StorageAreaImpl.cpp:
1744         (WebCore::StorageAreaImpl::length):
1745           Forgot to block on the import.
1746         (WebCore::StorageAreaImpl::key):
1747         (WebCore::StorageAreaImpl::setItem):
1748           Handle the copy on write case even when there's an exception.
1749         (WebCore::StorageAreaImpl::removeItem):
1750         (WebCore::StorageAreaImpl::clear):
1751         * storage/StorageAreaSync.cpp:
1752         (WebCore::StorageAreaSync::~StorageAreaSync):
1753         (WebCore::StorageAreaSync::scheduleFinalSync):
1754         (WebCore::StorageAreaSync::performImport):
1755         (WebCore::StorageAreaSync::markImported):
1756         (WebCore::StorageAreaSync::blockUntilImportComplete):
1757         * storage/StorageAreaSync.h:
1758
1759 2009-11-05  Zoltan Horvath  <zoltan@webkit.org>
1760
1761         Reviewed by Eric Seidel.
1762
1763         Allow custom memory allocation control for WebCore's CachedResource
1764         https://bugs.webkit.org/show_bug.cgi?id=31114
1765
1766         Inherits CachedResource class from Noncopyable because its (its child
1767         class) CachedCSSStyleSheet instantiated by 'new' in WebCore/loader/Cache.cpp:75 
1768         and it is no need to be copyable.
1769
1770         * loader/CachedResource.h:
1771
1772 2009-11-04  Mark Mentovai  <mark@chromium.org>
1773
1774         Reviewed by Mark Rowe.
1775
1776         Separate the difference between HAVE(CGINTERPOLATION_MEDIUM), which
1777         is true when building on 10.6 or later, and USE(CGINTERPOLATION_MEDIUM)
1778         which is true when targeting 10.6 or later.
1779
1780         HAVE(CGINTERPOLATION_MEDIUM) indicates that kCGInterpolationMedium
1781         is present in the CGInterpolationQuality enum, and must be handled
1782         by a switch that has cases for each enumerated value.
1783
1784         USE(CGINTERPOLATION_MEDIUM) indicates that the product will only run
1785         on 10.6 or later, and that CoreGraphics will understand when
1786         InterpolationMedium is mapped to kCGInterpolationMedium at runtime.
1787
1788         * platform/graphics/cg/GraphicsContextCG.cpp:
1789         (WebCore::GraphicsContext::setImageInterpolationQuality):
1790         (WebCore::GraphicsContext::imageInterpolationQuality):
1791
1792 2009-11-04  Dan Kegel  <dank@chromium.org>
1793
1794         Reviewed by Alexey Proskuryakov.
1795
1796         Fix buffer overrun in WebCore::Page::userStyleSheetLocationChanged()
1797         https://bugs.webkit.org/show_bug.cgi?id=31138
1798
1799         Test: LayoutTests/platform/mac/fast/loader/user-stylesheet-fast-path.html in Valgrind
1800
1801         * page/Page.cpp:
1802         (WebCore::Page::userStyleSheetLocationChanged):
1803
1804 2009-11-04  Timothy Hatcher  <timothy@apple.com>
1805
1806         Update the Web Inspector Timeline panel to better match the mock-up.
1807
1808         https://bugs.webkit.org/show_bug.cgi?id=31150
1809
1810         Reviewed by Pavel Feldman.
1811
1812         * inspector/front-end/TimelinePanel.js:
1813         (WebInspector.TimelinePanel.prototype._getRecordDetails):
1814         (WebInspector.TimelinePanel.prototype._dragWindow):
1815         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
1816         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
1817         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
1818         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
1819         (WebInspector.TimelineRecordTreeElement.prototype.refresh):
1820         (WebInspector.TimelineCategoryGraph):
1821         * inspector/front-end/inspector.css:
1822
1823 2009-11-05  Justin Garcia  <justin.garcia@apple.com>
1824
1825         Reviewed by Adele Peterson.
1826
1827         https://bugs.webkit.org/show_bug.cgi?id=25439
1828         Deleting when in front of a block image removes character from previous paragraph
1829
1830         Added editing/deleting/25439-{1,2,3}.html
1831
1832         * editing/DeleteSelectionCommand.cpp:
1833         (WebCore::DeleteSelectionCommand::mergeParagraphs): Block images, tables and HRs cannot 
1834         be made inline with other content.  Instead of merging, just move the caret to just before 
1835         the selection we deleted.
1836         * editing/htmlediting.cpp:
1837         (WebCore::firstInSpecialElement): Added a FIXME.  This function begins iterating up from pos.node(), which 
1838         doesn't necessarily contain pos (suppose pos was [img, 0]).
1839         (WebCore::lastInSpecialElement): Ditto.
1840         (WebCore::isRenderedAsNonInlineTableImageOrHR): Moved from visible_units.cpp.  Added a check for non-inline images.
1841         * editing/htmlediting.h:
1842         * editing/visible_units.cpp:
1843         (WebCore::startOfParagraph): Use moved/renamed function.  Removed FIXME.  The problem causing 
1844         5027702 is now squarely in first/lastInSpecialElement
1845         (WebCore::endOfParagraph): Ditto.
1846         
1847 2009-11-04  Enrica Casucci  <enrica@apple.com>
1848
1849         Reviewed by Adele Peterson.
1850
1851         Hang in Mail on attempting to change indent level.
1852         <rdar://problem/7131805>
1853         https://bugs.webkit.org/show_bug.cgi?id=31127
1854
1855         The hang was caused by an infinite loop inside outdentRegion.
1856         The code did not account for the fact that, when a list item
1857         contains multiple paragraphs, outdent moves all paragraphs at
1858         once, invalidating some of the positions we keep track of in the loop.
1859         Some code refactoring has also been done to minimize duplicated code.
1860         
1861         Test: editing/execCommand/outdent-multiparagraph-list.html
1862
1863         * editing/IndentOutdentCommand.cpp:
1864         (WebCore::IndentOutdentCommand::indentRegion): Moved code in common with
1865         outdentRegion to doApply.
1866         (WebCore::IndentOutdentCommand::outdentRegion): Fixed endless loop.
1867         (WebCore::IndentOutdentCommand::doApply): Some code refactoring.
1868         * editing/IndentOutdentCommand.h: Added VisiblePosition parameters to
1869         indentRegion and outdentRegion.
1870
1871 2009-11-04  Alpha Lam  <hclam@chromium.org>
1872
1873         Reviewed by Eric Carlson.
1874
1875         Volume slider doesn't have a thumb
1876         https://bugs.webkit.org/show_bug.cgi?id=31135
1877
1878         Fixed an incorrect if statement that prevents volume slider
1879         being updated.
1880
1881         The statement checks if the slider value equals to the current
1882         volume value of the media control to avoid updating the volume
1883         slider. Updating the volume slider control shouldn't be within
1884         this condition because we explicitly set them to be equals
1885         during creation of the controls and also when mouse events are
1886         received on the volume control.
1887
1888         No new tests because existing code breaks:
1889         LayoutTests/media/video-volume-slider.html
1890
1891         It should now start passing on Chromium.
1892
1893         * rendering/MediaControlElements.cpp:
1894         (WebCore::MediaControlVolumeSliderElement::update):
1895         Update the volume slider regardless of the current volume value
1896         of the media control.
1897
1898 2009-11-04  Jenn Braithwaite  <jennb@chromium.org>
1899
1900         Reviewed by David Levin.
1901
1902         Need to properly disable applicationCache at runtime
1903         https://bugs.webkit.org/show_bug.cgi?id=30417
1904
1905         Adding applicationCacheEnabled bit to V8 RuntimeEnabledFeatures.
1906
1907         No new exposed functionality, so no new tests.
1908
1909         * bindings/v8/RuntimeEnabledFeatures.cpp:
1910         * bindings/v8/RuntimeEnabledFeatures.h:
1911         (WebCore::RuntimeEnabledFeatures::setApplicationCacheEnabled):
1912         (WebCore::RuntimeEnabledFeatures::applicationCacheEnabled):
1913         * bindings/v8/custom/V8CustomBinding.h:
1914         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1915         (WebCore::ACCESSOR_RUNTIME_ENABLER):
1916         * page/DOMWindow.idl:
1917
1918 2009-11-04  Alexey Proskuryakov  <ap@apple.com>
1919
1920         Reviewed by Dan Bernstein.
1921
1922         https://bugs.webkit.org/show_bug.cgi?id=31143
1923         Assertion failure in CredentialStorage::set() when proxy credentials are being set
1924
1925         No test, cannot test proxy behavior.
1926
1927         * platform/network/CredentialStorage.cpp: (WebCore::CredentialStorage::set): Account for the
1928         possibility of null url. Release mode changes are likely inconsequential - e.g. we used to
1929         add "://" to origin set, which is weird, but safe.
1930
1931 2009-11-04  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
1932
1933         Reviewed by Timothy Hatcher.
1934
1935         Web Inspector: Leftover Breakpoints in the Sidebar Pane
1936         https://bugs.webkit.org/show_bug.cgi?id=30659
1937
1938         No new tests.
1939
1940         * inspector/front-end/ScriptsPanel.js:
1941         (WebInspector.ScriptsPanel.prototype.addScript):
1942
1943 2009-11-04  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
1944
1945         Reviewed by Timothy Hatcher.
1946
1947         WebInspector: Use a different method to identify the webkit port in
1948         InspectorBackent::platform().
1949         This corrects the inspector expected behavior with Qt on Windows.
1950         https://bugs.webkit.org/show_bug.cgi?id=31116
1951
1952         * inspector/InspectorBackend.cpp:
1953         (WebCore::InspectorBackend::platform):
1954         (WebCore::InspectorBackend::port):
1955         * inspector/InspectorBackend.h:
1956         * inspector/InspectorBackend.idl:
1957         * inspector/front-end/InspectorControllerStub.js:
1958         (.WebInspector.InspectorControllerStub.prototype.port):
1959         * inspector/front-end/inspector.css:
1960         * inspector/front-end/inspector.js:
1961         (WebInspector.loaded):
1962         (WebInspector.toolbarDragStart):
1963
1964 2009-11-04  Benjamin Otte  <otte@gnome.org>
1965
1966         Reviewed by Gustavo Noronha.
1967
1968         Update Cairo requirement to 1.6.
1969
1970         Also remove all conditional code and workarounds for older versions of
1971         Cairo.
1972         In particular, gain image quality by removing the use of
1973         CAIRO_FILTER_NEAREST when rendering images and use the default
1974         bilinear filter instead.
1975         https://bugs.webkit.org/show_bug.cgi?id=19266
1976
1977         * platform/graphics/cairo/GraphicsContextCairo.cpp:
1978         (WebCore::GraphicsContext::clipOut):
1979         * platform/graphics/cairo/ImageCairo.cpp:
1980         (WebCore::BitmapImage::draw):
1981         (WebCore::BitmapImage::drawPattern):
1982         * platform/graphics/cairo/PathCairo.cpp:
1983         (WebCore::Path::isEmpty):
1984         (WebCore::Path::boundingRect):
1985         * platform/gtk/RenderThemeGtk.cpp:
1986         (WebCore::paintMozWidget):
1987
1988 2009-11-04  Kevin Ollivier  <kevino@theolliviers.com>
1989
1990         wx build fix. Restore removed string conversion after cleanup.
1991
1992         * platform/graphics/wx/FontPlatformDataWx.cpp:
1993         (WebCore::FontPlatformData::computeHash):
1994
1995 2009-11-04  Chris Fleizach  <cfleizach@apple.com>
1996
1997         Reviewed by Beth Dakin.
1998
1999         Need to implement ARIA role="combobox"
2000         https://bugs.webkit.org/show_bug.cgi?id=31096
2001
2002         Test: accessibility/aria-combobox.html
2003
2004         * accessibility/AccessibilityObject.h:
2005         (WebCore::AccessibilityObject::isComboBox):
2006         (WebCore::AccessibilityObject::isExpanded):
2007         (WebCore::AccessibilityObject::expandObject):
2008         (WebCore::AccessibilityObject::increment):
2009         (WebCore::AccessibilityObject::decrement):
2010         * accessibility/AccessibilityRenderObject.cpp:
2011         (WebCore::AccessibilityRenderObject::expandObject):
2012         (WebCore::AccessibilityRenderObject::isExpanded):
2013         (WebCore::createARIARoleMap):
2014         * accessibility/AccessibilityRenderObject.h:
2015         * accessibility/mac/AccessibilityObjectWrapper.mm:
2016         (-[AccessibilityObjectWrapper accessibilityAttributeNames]):
2017         (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
2018         (-[AccessibilityObjectWrapper accessibilityPerformShowMenuAction]):
2019         * html/HTMLAttributeNames.in:
2020
2021 2009-11-04  Kelly Norton  <knorton@google.com>
2022
2023         Reviewed by Pavel Feldman.
2024
2025         Fixes naming inconsistencies in TimelineRecordFactory.
2026         https://bugs.webkit.org/show_bug.cgi?id=31132
2027
2028         * inspector/InspectorTimelineAgent.cpp:
2029         (WebCore::InspectorTimelineAgent::willPaint):
2030         (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
2031         (WebCore::InspectorTimelineAgent::willLoadXHR):
2032         (WebCore::InspectorTimelineAgent::willEvaluateScript):
2033         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2034         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
2035         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2036         * inspector/TimelineRecordFactory.cpp:
2037         (WebCore::TimelineRecordFactory::createXHRReadyStateChangeRecord):
2038         (WebCore::TimelineRecordFactory::createXHRLoadRecord):
2039         (WebCore::TimelineRecordFactory::createEvaluateScriptRecord):
2040         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
2041         (WebCore::TimelineRecordFactory::createResourceSendRequestRecord):
2042         (WebCore::TimelineRecordFactory::createResourceReceiveResponseRecord):
2043         (WebCore::TimelineRecordFactory::createResourceFinishRecord):
2044         (WebCore::TimelineRecordFactory::createPaintRecord):
2045         * inspector/TimelineRecordFactory.h:
2046
2047 2009-11-04  Eric Z. Ayers  <zundel@google.com>
2048
2049         Reviewed by Pavel Feldman.
2050
2051         Followon to bug 31080, which protects Timeline
2052         instrumentation in the case where InspectorTimelineAgent
2053         is enabled or disabled during an event dispatch.
2054         
2055         https://bugs.webkit.org/show_bug.cgi?id=31121
2056
2057         * bindings/v8/V8Proxy.cpp:
2058         (WebCore::V8Proxy::evaluate):
2059         * dom/Document.cpp:
2060         (WebCore::Document::recalcStyle):
2061         * dom/Node.cpp:
2062         (WebCore::Node::dispatchGenericEvent):
2063         * html/HTMLTokenizer.cpp:
2064         (WebCore::HTMLTokenizer::write):
2065         * page/DOMWindow.cpp:
2066         (WebCore::DOMWindow::inspectorTimelineAgent):
2067         (WebCore::DOMWindow::dispatchEvent):
2068         * page/DOMWindow.h:
2069         * page/FrameView.cpp:
2070         (WebCore::FrameView::layout):
2071         (WebCore::FrameView::paintContents):
2072         * xml/XMLHttpRequest.cpp:
2073         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
2074
2075 2009-11-04  Jeremy Orlow  <jorlow@chromium.org>
2076
2077         Revert 50519 while I work out what went wrong.
2078
2079         * storage/LocalStorageThread.cpp:
2080         (WebCore::LocalStorageThread::create):
2081         (WebCore::LocalStorageThread::LocalStorageThread):
2082         (WebCore::LocalStorageThread::start):
2083         (WebCore::LocalStorageThread::localStorageThreadStart):
2084         (WebCore::LocalStorageThread::localStorageThread):
2085         (WebCore::LocalStorageThread::scheduleImport):
2086         (WebCore::LocalStorageThread::scheduleSync):
2087         (WebCore::LocalStorageThread::terminate):
2088         (WebCore::LocalStorageThread::performTerminate):
2089         * storage/LocalStorageThread.h:
2090         * storage/StorageSyncManager.cpp:
2091         (WebCore::StorageSyncManager::StorageSyncManager):
2092         (WebCore::StorageSyncManager::~StorageSyncManager):
2093         (WebCore::StorageSyncManager::scheduleImport):
2094         (WebCore::StorageSyncManager::scheduleSync):
2095         * storage/StorageSyncManager.h:
2096
2097 2009-11-04  Pavel Feldman  <pfeldman@chromium.org>
2098
2099         Reviewed by Timothy Hatcher.
2100
2101         Web Inspector: Add basic support for resource events and marks.
2102         Couple of drive-by fixes. Enabling the panel!
2103
2104         https://bugs.webkit.org/show_bug.cgi?id=31130
2105
2106         * English.lproj/localizedStrings.js:
2107         * inspector/front-end/TimelinePanel.js:
2108         (WebInspector.TimelinePanel):
2109         (WebInspector.TimelinePanel.prototype._formatRecord):
2110         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2111         (WebInspector.TimelinePanel.prototype.reset):
2112         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClicked):
2113         (WebInspector.TimelineRecordTreeElement.prototype.onattach):
2114         * inspector/front-end/inspector.js:
2115         (WebInspector._createPanels):
2116
2117 2009-11-03  Jeremy Orlow  <jorlow@chromium.org>
2118
2119         Reviewed by Darin Fisher.
2120
2121         Simplify LocalStorageThread
2122         https://bugs.webkit.org/show_bug.cgi?id=30935
2123
2124         On LocalStoragethread: Remove reference counting. Get rid of locking. Make some
2125         of the method names a bit more clear. Assert proper thread usage. Join rather
2126         than detaching the thread and doing an ad-hoc form of join. Avoid touching
2127         variables on the background thread when simple to do so.  Also create a generic
2128         scheduleTask function rather than one for each task.
2129
2130         No behavior should have changed.
2131
2132         * storage/LocalStorageThread.cpp:
2133         (WebCore::LocalStorageThread::create):
2134         (WebCore::LocalStorageThread::LocalStorageThread):
2135         (WebCore::LocalStorageThread::~LocalStorageThread):
2136         (WebCore::LocalStorageThread::start):
2137         (WebCore::LocalStorageThread::threadEntryPointCallback):
2138         (WebCore::LocalStorageThread::threadEntryPoint):
2139         (WebCore::LocalStorageThread::scheduleTask):
2140         (WebCore::LocalStorageThread::terminate):
2141         (WebCore::LocalStorageThread::performTerminate):
2142         * storage/LocalStorageThread.h:
2143         * storage/StorageSyncManager.cpp:
2144         (WebCore::StorageSyncManager::StorageSyncManager):
2145         (WebCore::StorageSyncManager::~StorageSyncManager):
2146         (WebCore::StorageSyncManager::scheduleImport):
2147         (WebCore::StorageSyncManager::scheduleSync):
2148         * storage/StorageSyncManager.h:
2149
2150 2009-11-04  Vadim Zeitlin  <vadim@wxwidgets.org>
2151
2152         Reviewed by Eric Seidel.
2153
2154         [wx] Small cleanup: avoid unnecessary wxString::mb_str() calls.
2155
2156         * platform/graphics/wx/FontPlatformDataWx.cpp:
2157         (WebCore::FontPlatformData::computeHash):
2158
2159 2009-11-04  Kelly Norton  <knorton@google.com>
2160
2161         Reviewed by Pavel Feldman.
2162
2163         Adds lightweight network resources to InspectorTimelineAgent.
2164         https://bugs.webkit.org/show_bug.cgi?id=31065
2165
2166         * inspector/InspectorController.cpp:
2167         (WebCore::InspectorController::willSendRequest):
2168         (WebCore::InspectorController::didReceiveResponse):
2169         (WebCore::InspectorController::didFinishLoading):
2170         (WebCore::InspectorController::didFailLoading):
2171         * inspector/InspectorTimelineAgent.cpp:
2172         (WebCore::InspectorTimelineAgent::willSendResourceRequest):
2173         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
2174         (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
2175         * inspector/InspectorTimelineAgent.h:
2176         (WebCore::):
2177         * inspector/TimelineRecordFactory.cpp:
2178         (WebCore::TimelineRecordFactory::createResourceSendRequestTimelineRecord):
2179         (WebCore::TimelineRecordFactory::createResourceReceiveResponseTimelineRecord):
2180         (WebCore::TimelineRecordFactory::createResourceFinishTimelineRecord):
2181         * inspector/TimelineRecordFactory.h:
2182         * inspector/front-end/TimelineAgent.js:
2183
2184 2009-11-04  Yael Aharon  <yael.aharon@nokia.com>
2185
2186         Reviewed by Tor Arne Vestbø.
2187
2188         [Qt] ASSERT failure when receiving 401 HTTP Authentication response.
2189         https://bugs.webkit.org/show_bug.cgi?id=31077
2190
2191         Allow sending the response body under the same conditions that we
2192         allow it to finish without reporting an error.
2193
2194         * platform/network/qt/QNetworkReplyHandler.cpp:
2195         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2196
2197 2009-11-04  Adam Roben  <aroben@apple.com>
2198
2199         Sort WebCore.base.exp
2200
2201         Rubber-stamped by Dan Bernstein.
2202
2203         * WebCore.base.exp: Sorted.
2204
2205 2009-11-04  Csaba Osztrogonác  <ossy@webkit.org>
2206
2207         Unreviewed rollout.
2208
2209         Revert r50496 because it broke all layout tests on QtBuildBot.
2210
2211         * WebCore.pro:
2212         * platform/graphics/qt/FontCacheQt.cpp:
2213         (WebCore::fontCache):
2214         (WebCore::FontCache::FontCache):
2215         (WebCore::FontCache::getTraitsInFamily):
2216         (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
2217         (WebCore::FontPlatformDataCacheKey::isHashTableDeletedValue):
2218         (WebCore::FontPlatformDataCacheKey::):
2219         (WebCore::FontPlatformDataCacheKey::operator==):
2220         (WebCore::FontPlatformDataCacheKey::hash):
2221         (WebCore::FontPlatformDataCacheKey::computeHash):
2222         (WebCore::FontPlatformDataCacheKey::hashTableDeletedSize):
2223         (WebCore::FontPlatformDataCacheKeyHash::hash):
2224         (WebCore::FontPlatformDataCacheKeyHash::equal):
2225         (WebCore::FontPlatformDataCacheKeyTraits::emptyValue):
2226         (WebCore::FontPlatformDataCacheKeyTraits::constructDeletedValue):
2227         (WebCore::FontPlatformDataCacheKeyTraits::isDeletedValue):
2228         (WebCore::FontCache::getCachedFontPlatformData):
2229         (WebCore::FontCache::getCachedFontData):
2230         (WebCore::FontCache::getLastResortFallbackFont):
2231         (WebCore::FontCache::releaseFontData):
2232         (WebCore::FontCache::purgeInactiveFontData):
2233         (WebCore::FontCache::addClient):
2234         (WebCore::FontCache::removeClient):
2235         (WebCore::FontCache::invalidate):
2236         * platform/graphics/qt/FontFallbackListQt.cpp: Added.
2237         (WebCore::FontFallbackList::FontFallbackList):
2238         (WebCore::FontFallbackList::invalidate):
2239         (WebCore::FontFallbackList::releaseFontData):
2240         (WebCore::FontFallbackList::determinePitch):
2241         (WebCore::FontFallbackList::fontDataAt):
2242         (WebCore::FontFallbackList::fontDataForCharacters):
2243         (WebCore::FontFallbackList::setPlatformFont):
2244         * platform/graphics/qt/FontPlatformData.h:
2245         (WebCore::FontPlatformData::pixelSize):
2246         * platform/graphics/qt/FontPlatformDataQt.cpp:
2247         (WebCore::FontPlatformData::FontPlatformData):
2248
2249 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2250
2251         Reviewed by Jan Alonzo.
2252
2253         https://bugs.webkit.org/show_bug.cgi?id=31044
2254         [Gtk] assertion when webkit_accessible_get_index_in_parent attempts to get parent of the web view
2255
2256         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2257         (atkParentOfWebView):
2258         (webkit_accessible_get_index_in_parent):
2259         (webkit_accessible_get_parent):
2260
2261 2009-11-04  Dominik Röttsches  <dominik.roettsches@access-company.com>
2262
2263         Reviewed by Eric Seidel.
2264
2265         https://bugs.webkit.org/show_bug.cgi?id=15914
2266         [GTK] Implement Unicode functionality using GLib
2267
2268         Initial version of this patch by Jürg Billeter and Naiem Shaik.
2269         Patch 2/4 - Moving TextCodecs to GLib
2270         
2271         Added probing for a hard-coded lists of text encodings.
2272         The basis of this list is taken from the encodings supported by iconv,
2273         then extended by e.g. tis-620, windows-1251, euc-kr, windows-1253 and
2274         a number of Chinese ones.
2275
2276         Probing is necessary with the current design of text codecs
2277         as iconv/GLib do not support enumerating available encodings.
2278
2279         * GNUmakefile.am:
2280         * platform/ThreadGlobalData.cpp:
2281         (WebCore::ThreadGlobalData::ThreadGlobalData):
2282         (WebCore::ThreadGlobalData::~ThreadGlobalData):
2283         * platform/text/TextEncoding.cpp:
2284         (WebCore::TextEncoding::encode):
2285         * platform/text/TextEncodingRegistry.cpp:
2286         (WebCore::buildBaseTextCodecMaps):
2287         (WebCore::extendTextCodecMaps):
2288         * platform/text/gtk/TextCodecGtk.cpp: Added.
2289         (WebCore::):
2290         (WebCore::newTextCodecGtk):
2291         (WebCore::TextCodecGtk::isEncodingAvailable):
2292         (WebCore::TextCodecGtk::registerEncodingNames):
2293         (WebCore::TextCodecGtk::registerCodecs):
2294         (WebCore::TextCodecGtk::registerBaseEncodingNames):
2295         (WebCore::TextCodecGtk::registerBaseCodecs):
2296         (WebCore::TextCodecGtk::registerExtendedEncodingNames):
2297         (WebCore::TextCodecGtk::registerExtendedCodecs):
2298         (WebCore::TextCodecGtk::TextCodecGtk):
2299         (WebCore::TextCodecGtk::~TextCodecGtk):
2300         (WebCore::TextCodecGtk::releaseIConv):
2301         (WebCore::TextCodecGtk::createIConvDecoder):
2302         (WebCore::TextCodecGtk::createIConvEncoder):
2303         (WebCore::TextCodecGtk::decode):
2304         (WebCore::TextCodecGtk::encode):
2305         * platform/text/gtk/TextCodecGtk.h: Added.
2306
2307 2009-11-04  Martin Robinson  <martin.james.robinson@gmail.com>
2308
2309         Reviewed by Jan Alonzo.
2310
2311         [GTK] Enable DOM clipboard and drag-and-drop access
2312         https://bugs.webkit.org/show_bug.cgi?id=30623
2313
2314         Unify redudant methods which will always return the same value.
2315
2316         * platform/gtk/PasteboardGtk.cpp:
2317         (WebCore::Pasteboard::writeSelection):
2318         * platform/gtk/PasteboardHelper.h:
2319
2320 2009-11-04  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
2321
2322         Reviewed by Jan Alonzo.
2323
2324         https://bugs.webkit.org/show_bug.cgi?id=31035
2325         [GTK] some accessibility tests hitting assertion in debug builds
2326
2327         Removes the assertions in webkit_accessible_ref_child; adds sanity checks.
2328         Any app or AT can attempt to ref a child at a bogus index.
2329
2330         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
2331         (webkit_accessible_ref_child):
2332
2333 2009-11-04  Benjamin Otte  <otte@gnome.org>
2334
2335         Reviewed by Jan Alonzo.
2336
2337         [gtk] Use gst_element_class_set_details_simple()
2338
2339         Cosmetic change, just code simplification
2340
2341         * platform/graphics/gtk/VideoSinkGStreamer.cpp:
2342         (webkit_video_sink_base_init):
2343 2009-11-04  Kelly Norton  <knorton@google.com>
2344
2345         Reviewed by Timothy Hatcher.
2346
2347         Adds paint rectangle information to TimelineAgent's didPaint callback.
2348         https://bugs.webkit.org/show_bug.cgi?id=31087
2349
2350         * inspector/InspectorTimelineAgent.cpp:
2351         (WebCore::InspectorTimelineAgent::willPaint):
2352         * inspector/InspectorTimelineAgent.h:
2353         * inspector/TimelineRecordFactory.cpp:
2354         (WebCore::TimelineRecordFactory::createPaintTimelineRecord):
2355         * inspector/TimelineRecordFactory.h:
2356         * page/FrameView.cpp:
2357         (WebCore::FrameView::paintContents):
2358
2359 2009-11-04  Jaime Yap  <jaimeyap@google.com>
2360
2361         Reviewed by Timothy Hatcher.
2362
2363         This patch adds API to the console object for annotating the
2364         inspector timeline. This allows developers to mark logical
2365         checkpoints in their apps and have them overlaid in the event
2366         record tree.
2367
2368         tests updated: LayoutTests/fast/dom/Window/window-properties.html
2369         https://bugs.webkit.org/show_bug.cgi?id=31082
2370
2371
2372         * inspector/InspectorController.cpp:
2373         (WebCore::InspectorController::markTimeline):
2374         * inspector/InspectorController.h:
2375         * inspector/InspectorTimelineAgent.cpp:
2376         (WebCore::InspectorTimelineAgent::didMarkTimeline):
2377         * inspector/InspectorTimelineAgent.h:
2378         (WebCore::):
2379         * inspector/TimelineRecordFactory.cpp:
2380         (WebCore::TimelineRecordFactory::createMarkTimelineRecord):
2381         * inspector/TimelineRecordFactory.h:
2382         * inspector/front-end/TimelineAgent.js:
2383         * page/Console.cpp:
2384         (WebCore::Console::markTimeline):
2385         * page/Console.h:
2386         * page/Console.idl:
2387
2388 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
2389
2390         Unreviewed build fix for WebInspector with Qt build.
2391
2392         Simply re-generate the Qt resource file by running
2393         WebKitTools/Scripts/generate-qt-inspector-resource
2394
2395         * inspector/front-end/WebKit.qrc:
2396
2397 2009-11-02  Benjamin Poulain  <benjamin.poulain@nokia.com>
2398
2399         Reviewed by Simon Hausmann.
2400
2401         [Qt] Handle fonts like the other ports
2402
2403         Remove FontFallbackListQt and rely on the common FontFallbackList
2404         to handle the fonts. FontCache and FontPlatformData have been
2405         updated to work with the common FontFallbackList.
2406
2407         In the previous implementation, FontPlatformDataCacheKey
2408         was a clone of FontPlatformData with the hashing
2409         capabilities added in order to use it as a key in the cache's
2410         hashmap. FontPlatformData has been modified to handle the hashing
2411         function directly so the data are not copied twice in memory.
2412
2413         FontFallbackList::fontDataAt() from FontFallbackListQt was a copy of
2414         code from FontCache::getFontData() and FontFallbackList::fontDataAt().
2415         The behavior is similar except currFamily->family().length() was
2416         not tested and the fallback fonts selector were not used.
2417
2418         https://bugs.webkit.org/show_bug.cgi?id=29856
2419
2420         Test: svg/text/text-font-invalid.html
2421
2422         * WebCore.pro:
2423         * platform/graphics/qt/FontCacheQt.cpp:
2424         (WebCore::FontCache::platformInit):
2425         (WebCore::FontCache::getFontDataForCharacters):
2426         (WebCore::FontCache::getSimilarFontPlatformData):
2427         (WebCore::FontCache::getLastResortFallbackFont):
2428         (WebCore::FontCache::getTraitsInFamily):
2429         (WebCore::FontCache::createFontPlatformData):
2430         * platform/graphics/qt/FontFallbackListQt.cpp:
2431         Removed. We now use the implementation from FontFallbackList.cpp
2432         * platform/graphics/qt/FontPlatformData.h:
2433         Add hashing capabilities to be able to use the data with the FontCache.
2434         This was previously done in FontCacheQt.cpp
2435         (WebCore::FontPlatformData::FontPlatformData):
2436         Added a boolean to identify deleted value in the hash table.
2437         (WebCore::FontPlatformData::isHashTableDeletedValue):
2438         (WebCore::FontPlatformData::hash):
2439         (WebCore::FontPlatformData::operator==):
2440         * platform/graphics/qt/FontPlatformDataQt.cpp:
2441         (WebCore::FontPlatformData::FontPlatformData):
2442
2443 2009-11-03  Dan Bernstein  <mitz@apple.com>
2444
2445         Leopard build fix
2446
2447         * platform/network/mac/AuthenticationMac.mm:
2448         (WebCore::mac):
2449         (WebCore::core):
2450
2451 2009-11-03  Dan Bernstein  <mitz@apple.com>
2452
2453         Reviewed by Alexey Proskuryakov.
2454
2455         Fix an assertion failure in core(NSURLProtectionSpace *) by handling NTLM
2456         authentication in AuthenticationMac
2457
2458         * platform/network/mac/AuthenticationMac.mm:
2459
2460 2009-11-03  Eric Z. Ayers  <zundel@google.com>
2461
2462         Reviewed by Timothy Hatcher.
2463
2464         Fixes a problem where the timeline instrumentation crashes if
2465         timeline profiling is enabled or disabled in the middle of an
2466         event dispatch.
2467
2468         https://bugs.webkit.org/show_bug.cgi?id=31080
2469
2470         Test: inspector/timeline-trivial.html
2471
2472         * bindings/js/ScriptController.cpp:
2473         (WebCore::ScriptController::evaluateInWorld):
2474         (WebCore::ScriptController::processingUserGestureEvent):
2475         * inspector/InspectorTimelineAgent.cpp:
2476         (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
2477         * page/DOMTimer.cpp:
2478         (WebCore::DOMTimer::fired):
2479
2480 2009-11-03  Dan Bernstein  <mitz@apple.com>
2481
2482         Reviewed by Dave Hyatt.
2483
2484         Allow a frame to go back to copy-on-scroll when it ceases being overlapped
2485
2486         The code was not testing slow-scrolling frames for overlappedness, thinking the answer
2487         would not matter. That is not the case if the only reason for the slow-scrolling is
2488         being overlapped.
2489
2490         * page/FrameView.cpp:
2491         (WebCore::FrameView::useSlowRepaintsIfNotOverlapped): Added. Returns whether there is any
2492         reason besides being overlapped that the frame would need to fully repaint on scroll.
2493         * page/FrameView.h:
2494         * rendering/RenderWidget.cpp:
2495         (WebCore::RenderWidget::paint): Use useSlowRepaintsIfNotOverlapped().
2496
2497 2009-11-03  Dmitry Titov  <dimich@chromium.org>
2498
2499         Not reviewed, Qt build fix.
2500
2501         Need to use right capitalization for include file.
2502
2503         * page/Navigator.cpp:
2504
2505 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
2506
2507         Reviewed by Timothy Hatcher.
2508
2509         Web Inspector: Migrate from top bar filters to check boxes in Timeline.
2510
2511         https://bugs.webkit.org/show_bug.cgi?id=31081
2512
2513         * inspector/front-end/AbstractTimelinePanel.js:
2514         (WebInspector.AbstractTimelinePanel.prototype.showCategory):
2515         (WebInspector.AbstractTimelinePanel.prototype.hideCategory):
2516         (WebInspector.AbstractTimelinePanel.prototype.filter):
2517         * inspector/front-end/TimelinePanel.js:
2518         (WebInspector.TimelinePanel):
2519         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
2520         (WebInspector.TimelineCategoryTreeElement.prototype._onCheckboxClick):
2521         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
2522         (WebInspector.TimelineCategoryGraph.prototype.set dimmed):
2523         * inspector/front-end/inspector.css:
2524
2525 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
2526
2527         Reviewed by Timothy Hatcher.
2528
2529         Web Inspector: clear overview on Clear action and panel reset.
2530
2531         https://bugs.webkit.org/show_bug.cgi?id=31078
2532
2533         * inspector/front-end/TimelinePanel.js:
2534         (WebInspector.TimelinePanel.prototype._getRecordDetails):
2535         (WebInspector.TimelinePanel.prototype.reset):
2536
2537 2009-11-03  Yaar Schnitman  <yaar@chromium.org>
2538
2539         Reviewed by Dimitri Glazkov.
2540
2541         Imported action and rules python files that WebCore.gyp depends on. 
2542         These files used to live in chromium.org and deal mostly with auto-generation
2543         of code by wrapping existing webkit perl scripts.
2544
2545         https://bugs.webkit.org/show_bug.cgi?id=31071
2546
2547         * WebCore.gyp/WebCore.gyp: Fixed paths in actions and rules.
2548         * WebCore.gyp/scripts/action_csspropertynames.py: Added.
2549         * WebCore.gyp/scripts/action_cssvaluekeywords.py: Added.
2550         * WebCore.gyp/scripts/action_makenames.py: Added.
2551         * WebCore.gyp/scripts/action_maketokenizer.py: Added.
2552         * WebCore.gyp/scripts/action_useragentstylesheets.py: Added.
2553         * WebCore.gyp/scripts/rule_binding.py: Added.
2554         * WebCore.gyp/scripts/rule_bison.py: Added.
2555         * WebCore.gyp/scripts/rule_gperf.py: Added.
2556
2557 2009-11-03  Bradley Green  <brg@chromium.org>
2558
2559         Reviewed by Dmitry Titov.
2560
2561         Implement window.navigator.registerProtocolHandler in webkit,
2562         https://bugs.webkit.org/b/29651
2563
2564         Also implemented its sister API window.navigator.registerContentHandler.
2565
2566         These methods are as described in the HTML5 specification which can be
2567         found here,
2568         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registerprotocolhandler
2569         http://dev.w3.org/html5/spec/Overview.html#dom-navigator-registercontenthandler
2570
2571         As specified in the document, the behavior of the browser is determined
2572         by the current registered handler.  The state of a registered handler
2573         can change at any time, with the user clearing a registered handler,
2574         registering a different page as handler, or deferring the hander to the
2575         OS.  If webkit was to track the state of the currently registered
2576         handlers, it would need more APIs and complexity to keep in sync with
2577         user actions reported to webkit from the UA.  For simplicity, the state
2578         of protocol handlers should be kept isolated from webkit and webkit only
2579         notifies the UA that a page has made the call.  The UA is then
2580         responsible for correctly handling the registerProtocolHandler call and
2581         the redirects which result from registration.
2582
2583         We do however follow the specification in insuring that the reserved
2584         schemes and mimeTypes are not passed to the UA as custom handler
2585         registration tests.  We also insure that the "%s" token is present as
2586         required by the specification.
2587
2588         Updated test expectations for window.clientInformation and navigator
2589         objects.
2590
2591         Tests: fast/dom/registerContentHandler.html
2592                fast/dom/registerProtocolHandler.html
2593
2594         * page/Chrome.cpp:
2595         (WebCore::Chrome::registerProtocolHandler):
2596         (WebCore::Chrome::registerContentHandler):
2597         * page/Chrome.h:
2598         * page/ChromeClient.h:
2599         (WebCore::ChromeClient::registerProtocolHandler):
2600         (WebCore::ChromeClient::registerContentHandler):
2601         * page/Navigator.cpp:
2602         (WebCore::verifyCustomHandlerURL):
2603         (WebCore::verifyProtocolHandlerScheme):
2604         (WebCore::Navigator::registerProtocolHandler):
2605         (WebCore::verifyProtocolHandlerMimeType):
2606         (WebCore::Navigator::registerContentHandler):
2607         * page/Navigator.h:
2608         * page/Navigator.idl:
2609
2610 2009-11-03  Brady Eidson  <beidson@apple.com>
2611
2612         Reviewed by Darin Adler.
2613
2614         https://bugs.webkit.org/show_bug.cgi?id=31079 - Remove #include "Page.h" from Document.h
2615
2616         No new tests. (No change in functionality)
2617
2618         * dom/Document.cpp:
2619         (WebCore::Document::inspectorTimelineAgent): Moved from Document.h
2620         * dom/Document.h:
2621
2622         Include "Page.h" directly:
2623         * html/HTMLVideoElement.cpp:
2624         * loader/RedirectScheduler.cpp:
2625         * page/History.cpp:
2626         * rendering/MediaControlElements.cpp:
2627         * storage/StorageAreaImpl.cpp:
2628
2629 2009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
2630
2631         Reviewed by Timothy Hatcher.
2632
2633         Web Inspector: hover over JS "things" in source and see their values
2634         https://bugs.webkit.org/show_bug.cgi?id=30913
2635
2636         * inspector/front-end/SourceFrame.js:
2637
2638 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
2639
2640         Reviewed by Timothy Hatcher.
2641
2642         Web Inspector: update timeline content boundaries on timer.
2643
2644         https://bugs.webkit.org/show_bug.cgi?id=31072
2645
2646         * inspector/front-end/TimelinePanel.js:
2647         (WebInspector.TimelinePanel.prototype.refresh):
2648         (WebInspector.TimelinePanel.prototype._setWindowPosition):
2649
2650 2009-11-03  Dan Bernstein  <mitz@apple.com>
2651
2652         Reviewed by Anders Carlsson and Beth Dakin.
2653
2654         https://bugs.webkit.org/show_bug.cgi?id=31070
2655         Fix <rdar://problem/7194735> Crashes at RenderText::RenderText()
2656         Fix <rdar://problem/6937089> Crashes at RenderWidget::destroy()
2657
2658         Tests: plugins/attach-during-destroy.html
2659                plugins/destroy-reentry.html
2660
2661         These crashes were caused by plug-in code running during detach(),
2662         causing re-entry into RenderWidget::destroy() in one case and a call
2663         into attach() in the other. The fix is to prevent plug-in code from
2664         being called at certain unsafe times (during attach(), detach(), and
2665         recalcStyle()) by deferring changes to the widget hierarchy.
2666
2667         * dom/Document.cpp:
2668         (WebCore::Document::recalcStyle): Suspend widget hierarchy updates
2669             during style recalculation.
2670
2671         * dom/Element.cpp:
2672         (WebCore::Element::attach): Suspend widget hierarchy updates during
2673             attach().
2674         (WebCore::Element::detach): Suspend widget hierarchy updates during
2675             detach().
2676
2677         * rendering/RenderWidget.cpp:
2678         (WebCore::widgetNewParentMap): Returns a static map of pending changes
2679             to the widget hierarchy.
2680         (WebCore::RenderWidget::suspendWidgetHierarchyUpdates): Increments the
2681             suspend count.
2682         (WebCore::RenderWidget::resumeWidgetHierarchyUpdates): Decrements the
2683             suspend count. If the count is going to be zero, updates the widget
2684             hierarchy by executing the pending changes stored in the map.
2685         (WebCore::moveWidgetToParentSoon): Updates the widget hierarchy
2686             immediately or makes or updates an entry in the map, depending on
2687             whether updates are suspended.
2688         (WebCore::RenderWidget::destroy): Removed earlier bandaid fix for
2689             <rdar://problem/6937089>.
2690         (WebCore::RenderWidget::setWidgetGeometry): Assert that widget updates
2691             are not suspended, because this function updates the widget’s
2692             bounds, which can result in arbitrary native and JavaScript code
2693             execution. I think this assertion is true thanks to some deferred-
2694             update mechanisms that have already been deployed in other places
2695             in the code.
2696         (WebCore::RenderWidget::setWidget): Call moveWidgetToParentSoon instead
2697             of changing the widget hierarchy directly.
2698         * rendering/RenderWidget.h: Declared suspendWidgetHierarchyUpdates()
2699             and resumeWidgetHierarchyUpdates().
2700
2701 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
2702
2703         Reviewed by Timothy Hatcher.
2704
2705         Web Inspector: only show timeline records that contribute
2706         to the current window.
2707
2708         https://bugs.webkit.org/show_bug.cgi?id=31069
2709
2710         * inspector/front-end/TimelinePanel.js:
2711         (WebInspector.TimelinePanel.prototype.refresh):
2712         (WebInspector.TimelineGraph):
2713         (WebInspector.TimelineGraph.prototype.refresh):
2714
2715 2009-11-03  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
2716
2717         Reviewed by Timothy Hatcher.
2718
2719         Watch expression editor should stay open after Add button was clicked
2720         https://bugs.webkit.org/show_bug.cgi?id=31049
2721
2722         No new tests, was a regression, use existing manual test.
2723
2724         * inspector/front-end/WatchExpressionsSidebarPane.js:
2725         (WebInspector.WatchExpressionsSection.prototype.update):
2726         (WebInspector.WatchExpressionsSection.prototype.addExpression):
2727
2728 2009-11-03  Evan Martin  <evan@chromium.org>
2729
2730         Reviewed by Darin Adler.
2731
2732         Fix an off-by-one in the CSS lexer that causes memory corruption in
2733         hard-to-trigger circumstances.
2734
2735         https://bugs.webkit.org/show_bug.cgi?id=30827
2736
2737         Test: fast/css/end-of-buffer-crash.html
2738
2739         * css/maketokenizer: Add comments, fix off-by-one.
2740
2741 2009-11-02  Darin Adler  <darin@apple.com>
2742
2743         Reviewed by Dan Bernstein.
2744
2745         Crash due to double-destroy related to CSS run-in property
2746         https://bugs.webkit.org/show_bug.cgi?id=31034
2747         rdar://problem/7328458
2748
2749         Test: fast/css/run-in-crash.html
2750
2751         * rendering/RenderBlock.cpp:
2752         (WebCore::RenderBlock::destroy): Reorder destruction so the
2753         continuation is destroyed after anonymous children. See comment
2754         in the code for more details of why this is right.
2755         * rendering/RenderInline.cpp:
2756         (WebCore::RenderInline::destroy): Ditto.
2757
2758 2009-11-03  Alexander Pavlov  <apavlov@chromium.org>
2759
2760         Reviewed by Pavel Feldman.
2761
2762         Fix exception in ElementsPanel.js when moving pointer out of crumbs and window
2763
2764         There might be no new node under mouse if the pointer is moved out of the window
2765         in which case we get an exception.
2766         https://bugs.webkit.org/show_bug.cgi?id=31061
2767
2768         * inspector/front-end/ElementsPanel.js:
2769         (WebInspector.ElementsPanel.prototype._mouseMovedOutOfCrumbs):
2770
2771 2009-11-03  Zoltan Horvath  <zoltan@webkit.org>
2772
2773         Reviewed by Darin Adler.
2774
2775         Allow custom memory allocation control for the dom directory of WebCore
2776         https://bugs.webkit.org/show_bug.cgi?id=31053
2777
2778         Inherits the following classes from Noncopyable because these are
2779         instantiated by 'new' and these are no need to be copyable:
2780
2781         class EventNames - 'new' call: WebCore/platform/ThreadGlobalData.cpp:73
2782         struct PerformTaskContext - 'new' call: WebCore/dom/Document.cpp:4581
2783         class EventData - 'new' call: WebCore/dom/MessagePortChannel.cpp:38
2784         struct NodeListsNodeData - 'new' call: WebCore/dom/NodeRareData.h:51 
2785         struct EventTargetData - 'new' call: WebCore/dom/NodeRareData.h:100
2786         class NodeRareData - 'new' call: WebCore/dom/Node.cpp:552
2787
2788         Inherits QualifiedName class from FastAllocBase because it is
2789         instantiated by 'new' in WebCore/editing/markup.cpp:319
2790
2791         * dom/Document.cpp:
2792         * dom/EventNames.h:
2793         * dom/EventTarget.h:
2794         * dom/MessagePortChannel.h:
2795         * dom/NodeRareData.h:
2796         * dom/QualifiedName.h:
2797
2798 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
2799
2800         Reviewed by Timothy Hatcher.
2801
2802         Web Inspector: Implement timeline summary panel.
2803
2804         https://bugs.webkit.org/show_bug.cgi?id=31064
2805
2806         * inspector/front-end/TimelinePanel.js:
2807         (WebInspector.TimelinePanel.prototype._createOverview):
2808         (WebInspector.TimelinePanel.prototype.refresh):
2809         (WebInspector.TimelineCategoryGraph):
2810         (WebInspector.TimelineCategoryGraph.prototype.get graphElement):
2811         (WebInspector.TimelineCategoryGraph.prototype.addChunk):
2812         (WebInspector.TimelineCategoryGraph.prototype.clearChunks):
2813         (WebInspector.TimelineGraph.prototype.refresh):
2814         * inspector/front-end/inspector.css:
2815
2816 2009-11-03  Alexander Pavlov  <apavlov@chromium.org>
2817
2818         Reviewed by Timothy Hatcher.
2819
2820         Toggle off 'Search for node' when the Inspector window is closing
2821
2822         Searching for node should be toggled off when the Inspector window is closed,
2823         in a platform-independent manner.
2824         https://bugs.webkit.org/show_bug.cgi?id=31059
2825
2826         * inspector/InspectorController.cpp:
2827         (WebCore::InspectorController::setWindowVisible):
2828
2829 2009-11-03  Mikhail Naganov  <mnaganov@chromium.org>
2830
2831         Reviewed by Timothy Hatcher.
2832
2833         Prepare for heap profiles upstreaming:
2834         - pass profile type id from InspectorController;
2835         - this makes WebInspector.CPUProfile redundant---removed;
2836         - support multiple profile types when populating profiles.
2837
2838         https://bugs.webkit.org/show_bug.cgi?id=31052
2839
2840         * inspector/InspectorController.cpp:
2841         (WebCore::InspectorController::createProfileHeader):
2842         * inspector/front-end/ProfileView.js:
2843         (WebInspector.CPUProfileView.profileCallback):
2844         (WebInspector.CPUProfileView):
2845         (WebInspector.CPUProfileView.prototype._sortData):
2846         * inspector/front-end/ProfilesPanel.js:
2847         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
2848         * inspector/front-end/inspector.js:
2849         (WebInspector.addProfileHeader):
2850
2851 2009-11-03  Dan Kegel  <dank@chromium.org>
2852
2853         Reviewed by Dimitri Glazkov.
2854
2855         UMR in WebCore::AccessibilityRenderObject::children(); m_childrenDirty uninitialized in constructor
2856         https://bugs.webkit.org/show_bug.cgi?id=31063
2857
2858         * accessibility/AccessibilityRenderObject.cpp:
2859         (WebCore::AccessibilityRenderObject::AccessibilityRenderObject):
2860
2861 2009-11-03  Pavel Feldman  <pfeldman@chromium.org>
2862
2863         Reviewed by Timothy Hatcher.
2864
2865         Web Inspector: Implement Timeline Window, wire it to the bottom timeline.
2866
2867         https://bugs.webkit.org/show_bug.cgi?id=31056
2868
2869         * English.lproj/localizedStrings.js:
2870         * inspector/front-end/AbstractTimelinePanel.js:
2871         (WebInspector.AbstractTimelinePanel.prototype.get items):
2872         (WebInspector.AbstractTimelinePanel.prototype.createInterface):
2873         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
2874         (WebInspector.AbstractTimelinePanel.prototype._updateDividersLabelBarPosition):
2875         (WebInspector.AbstractTimelinePanel.prototype.invalidateAllItems):
2876         (WebInspector.AbstractTimelinePanel.prototype.refresh):
2877         (WebInspector.AbstractTimelinePanel.prototype.adjustScrollPosition):
2878         (WebInspector.AbstractTimelinePanel.prototype.addExtraDivider):
2879         (WebInspector.TimelineGrid):
2880         (WebInspector.TimelineGrid.prototype.get itemsGraphsElement):
2881         (WebInspector.TimelineGrid.prototype.updateDividers):
2882         (WebInspector.TimelineGrid.prototype.addExtraDivider):
2883         (WebInspector.TimelineGrid.prototype.setScrollAndDividerTop):
2884         * inspector/front-end/ResourcesPanel.js:
2885         (WebInspector.ResourcesPanel):
2886         (WebInspector.ResourcesPanel.prototype.updateGraphDividersIfNeeded):
2887         (WebInspector.ResourcesPanel.prototype.get _resources):
2888         * inspector/front-end/TimelinePanel.js:
2889         (WebInspector.TimelinePanel):
2890         (WebInspector.TimelinePanel.prototype.get categories):
2891         (WebInspector.TimelinePanel.prototype._formatRecord):
2892         (WebInspector.TimelinePanel.prototype.reset):
2893         (WebInspector.TimelinePanel.prototype._createOverview):
2894         (WebInspector.TimelinePanel.prototype.setSidebarWidth):
2895         (WebInspector.TimelinePanel.prototype.updateMainViewWidth):
2896         (WebInspector.TimelinePanel.prototype.updateGraphDividersIfNeeded):
2897         (WebInspector.TimelinePanel.prototype.refresh):
2898         (WebInspector.TimelinePanel.prototype._resizeWindow):
2899         (WebInspector.TimelinePanel.prototype._windowResizeDragging):
2900         (WebInspector.TimelinePanel.prototype._dragWindow):
2901         (WebInspector.TimelinePanel.prototype._windowDragging):
2902         (WebInspector.TimelinePanel.prototype._resizeWindowLeft):
2903         (WebInspector.TimelinePanel.prototype._resizeWindowRight):
2904         (WebInspector.TimelinePanel.prototype._setWindowPosition):
2905         (WebInspector.TimelinePanel.prototype._endWindowDragging):
2906         (WebInspector.TimelineCategoryTreeElement):
2907         (WebInspector.TimelineCategoryTreeElement.prototype.onattach):
2908         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
2909         (WebInspector.TimelineCalculator.prototype.get minimumBoundary):
2910         (WebInspector.TimelineCalculator.prototype.get maximumBoundary):
2911         (WebInspector.TimelineCalculator.prototype.reset):
2912         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
2913         (WebInspector.TimelineCalculator.prototype.formatValue):
2914         * inspector/front-end/inspector.css:
2915
2916 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
2917
2918         Reviewed by Tor Arne Vestbø.
2919
2920         Make QWebPluginDatabase private API for now.
2921
2922         https://bugs.webkit.org/show_bug.cgi?id=30775
2923
2924         * WebCore.pro:
2925
2926 2009-11-03  Simon Hausmann  <hausmann@webkit.org>
2927
2928         Reviewed by Tor Arne Vestbø.
2929
2930         Extended the conversion of the WebCore ResourceRequest to the
2931         QNetworkRequest with a mandatory originating object argument,
2932         which is meant to be the QWebFrame the request belongs to.
2933
2934         https://bugs.webkit.org/show_bug.cgi?id=29975
2935
2936         * platform/network/qt/QNetworkReplyHandler.cpp:
2937         (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
2938         (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
2939         (WebCore::QNetworkReplyHandler::start):
2940         * platform/network/qt/ResourceRequest.h:
2941         * platform/network/qt/ResourceRequestQt.cpp:
2942         (WebCore::ResourceRequest::toNetworkRequest):
2943
2944 2009-11-03  Keishi Hattori  <casey.hattori@gmail.com>
2945
2946         Reviewed by Pavel Feldman.
2947
2948         Web Inspector: monitorEvent should be monitorEvents
2949         https://bugs.webkit.org/show_bug.cgi?id=31042
2950
2951         * inspector/front-end/InjectedScript.js:
2952         (InjectedScript._ensureCommandLineAPIInstalled):
2953
2954 2009-11-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2955
2956         Rubber-stamped by Antti Koivisto.
2957
2958         [Qt] Build fix for Windows CE
2959
2960         * plugins/PluginDatabase.cpp:
2961
2962 2009-11-02  Chris Fleizach  <cfleizach@apple.com>
2963
2964         Reviewed by David Levin.
2965
2966         fix accessibility webkit-style-check errors
2967         https://bugs.webkit.org/show_bug.cgi?id=29672
2968
2969         * accessibility/AXObjectCache.cpp:
2970         (WebCore::AXObjectCache::getOrCreate):
2971         (WebCore::AXObjectCache::remove):
2972         (WebCore::AXObjectCache::platformGenerateAXID):
2973         (WebCore::AXObjectCache::removeAXID):
2974         * accessibility/AXObjectCache.h:
2975         (WebCore::AXObjectCache::enableAccessibility):
2976         (WebCore::AXObjectCache::enableEnhancedUserInterfaceAccessibility):
2977         (WebCore::AXObjectCache::accessibilityEnabled):
2978         (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
2979         (WebCore::AXObjectCache::isIDinUse):
2980         (WebCore::AXObjectCache::objectFromAXID):
2981         (WebCore::AXObjectCache::):
2982         (WebCore::AXObjectCache::handleActiveDescendantChanged):
2983         (WebCore::AXObjectCache::handleAriaRoleChanged):
2984         (WebCore::AXObjectCache::detachWrapper):
2985         (WebCore::AXObjectCache::attachWrapper):
2986         (WebCore::AXObjectCache::selectedChildrenChanged):
2987         (WebCore::AXObjectCache::postNotification):
2988         (WebCore::AXObjectCache::postPlatformNotification):
2989         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
2990         (WebCore::AXObjectCache::handleScrolledToAnchor):
2991         * accessibility/AccessibilityARIAGrid.cpp:
2992         (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
2993         * accessibility/AccessibilityAllInOne.cpp:
2994         * accessibility/AccessibilityImageMapLink.cpp:
2995         * accessibility/AccessibilityList.h:
2996         (WebCore::AccessibilityList::isList):
2997         * accessibility/AccessibilityListBox.cpp:
2998         * accessibility/AccessibilityListBox.h:
2999         (WebCore::AccessibilityListBox::isListBox):
3000         * accessibility/AccessibilityListBoxOption.cpp:
3001         * accessibility/AccessibilityListBoxOption.h:
3002         (WebCore::AccessibilityListBoxOption::isListBoxOption):
3003         * accessibility/AccessibilityMediaControls.h:
3004         (WebCore::AccessibilityMediaControl::~AccessibilityMediaControl):
3005         (WebCore::AccessibilityMediaTimeline::~AccessibilityMediaTimeline):
3006         (WebCore::AccessibilityMediaTimeline::isMediaTimeline):
3007         (WebCore::AccessibilityMediaControlsContainer::~AccessibilityMediaControlsContainer):
3008         (WebCore::AccessibilityMediaControlsContainer::roleValue):
3009         (WebCore::AccessibilityMediaControlsContainer::accessibilityIsIgnored):
3010         (WebCore::AccessibilityMediaTimeDisplay::~AccessibilityMediaTimeDisplay):
3011         (WebCore::AccessibilityMediaTimeDisplay::roleValue):
3012         * accessibility/AccessibilityObject.cpp:
3013         (WebCore::AccessibilityObject::parentObjectUnignored):
3014         (WebCore::AccessibilityObject::rightLineVisiblePositionRange):
3015         (WebCore::replacedNodeNeedsCharacter):
3016         (WebCore::AccessibilityObject::stringForVisiblePositionRange):
3017         (WebCore::AccessibilityObject::lengthForVisiblePositionRange):
3018         (WebCore::AccessibilityObject::actionVerb):
3019         * accessibility/AccessibilityObject.h:
3020         (WebCore::PlainTextRange::isNull):
3021         (WebCore::AccessibilityObject::isAccessibilityRenderObject):
3022         (WebCore::AccessibilityObject::isAnchor):
3023         (WebCore::AccessibilityObject::isAttachment):
3024         (WebCore::AccessibilityObject::isHeading):
3025         (WebCore::AccessibilityObject::isLink):
3026         (WebCore::AccessibilityObject::isImage):
3027         (WebCore::AccessibilityObject::isNativeImage):
3028         (WebCore::AccessibilityObject::isImageButton):
3029         (WebCore::AccessibilityObject::isPasswordField):
3030         (WebCore::AccessibilityObject::isTextControl):
3031         (WebCore::AccessibilityObject::isNativeTextControl):
3032         (WebCore::AccessibilityObject::isWebArea):
3033         (WebCore::AccessibilityObject::isCheckboxOrRadio):
3034         (WebCore::AccessibilityObject::isListBox):
3035         (WebCore::AccessibilityObject::isFileUploadButton):
3036         (WebCore::AccessibilityObject::isProgressIndicator):
3037         (WebCore::AccessibilityObject::isSlider):
3038         (WebCore::AccessibilityObject::isControl):
3039         (WebCore::AccessibilityObject::isList):
3040         (WebCore::AccessibilityObject::isDataTable):
3041         (WebCore::AccessibilityObject::isTableRow):
3042         (WebCore::AccessibilityObject::isTableColumn):
3043         (WebCore::AccessibilityObject::isTableCell):
3044         (WebCore::AccessibilityObject::isFieldset):
3045         (WebCore::AccessibilityObject::isGroup):
3046         (WebCore::AccessibilityObject::isChecked):
3047         (WebCore::AccessibilityObject::isEnabled):
3048         (WebCore::AccessibilityObject::isSelected):
3049         (WebCore::AccessibilityObject::isFocused):
3050         (WebCore::AccessibilityObject::isHovered):
3051         (WebCore::AccessibilityObject::isIndeterminate):
3052         (WebCore::AccessibilityObject::isLoaded):
3053         (WebCore::AccessibilityObject::isMultiSelect):
3054         (WebCore::AccessibilityObject::isOffScreen):
3055         (WebCore::AccessibilityObject::isPressed):
3056         (WebCore::AccessibilityObject::isReadOnly):
3057         (WebCore::AccessibilityObject::isVisited):
3058         (WebCore::AccessibilityObject::isRequired):
3059         (WebCore::AccessibilityObject::canSetFocusAttribute):
3060         (WebCore::AccessibilityObject::canSetTextRangeAttributes):
3061         (WebCore::AccessibilityObject::canSetValueAttribute):
3062         (WebCore::AccessibilityObject::hasIntValue):
3063         (WebCore::AccessibilityObject::accessibilityShouldUseUniqueId):
3064         (WebCore::AccessibilityObject::accessibilityIsIgnored):
3065         * accessibility/AccessibilityRenderObject.cpp:
3066         (WebCore::AccessibilityRenderObject::parentObjectIfExists):
3067         (WebCore::AccessibilityRenderObject::parentObject):
3068         (WebCore::AccessibilityRenderObject::isMenuRelated):
3069         (WebCore::AccessibilityRenderObject::accessibilityDescription):
3070         (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
3071         (WebCore::AccessibilityRenderObject::isFocused):
3072         (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
3073         (WebCore::AccessibilityRenderObject::setSelectedVisiblePositionRange):
3074         (WebCore::AccessibilityRenderObject::doAXRangeForLine):
3075         (WebCore::AccessibilityRenderObject::doAXStringForRange):
3076         (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
3077         (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
3078         (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
3079         (WebCore::AccessibilityRenderObject::isPresentationalChildOfAriaRole):
3080         (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
3081         (WebCore::AccessibilityRenderObject::canHaveChildren):
3082         (WebCore::AccessibilityRenderObject::actionVerb):
3083         (WebCore::shouldReturnTagNameAsRoleForMSAA):
3084         * accessibility/AccessibilityRenderObject.h:
3085         (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
3086         * accessibility/AccessibilitySlider.cpp:
3087         (WebCore::AccessibilitySlider::orientation):
3088         * accessibility/AccessibilitySlider.h:
3089         (WebCore::AccessibilitySlider::~AccessibilitySlider):
3090         (WebCore::AccessibilitySlider::roleValue):
3091         (WebCore::AccessibilitySlider::accessibilityIsIgnored):
3092         (WebCore::AccessibilitySlider::isSlider):
3093         (WebCore::AccessibilitySlider::canSetValueAttribute):
3094         (WebCore::AccessibilitySliderThumb::~AccessibilitySliderThumb):
3095         (WebCore::AccessibilitySliderThumb::roleValue):
3096         (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
3097         (WebCore::AccessibilitySliderThumb::setParentObject):
3098         (WebCore::AccessibilitySliderThumb::parentObject):
3099         * accessibility/AccessibilityTable.cpp:
3100         (WebCore::AccessibilityTable::isTableExposableThroughAccessibility):
3101         * accessibility/AccessibilityTableColumn.cpp:
3102         * accessibility/AccessibilityTableHeaderContainer.cpp:
3103         (WebCore::AccessibilityTableHeaderContainer::addChildren):
3104         * accessibility/AccessibilityTableRow.cpp:
3105         * accessibility/mac/AccessibilityObjectWrapper.h:
3106
3107 2009-11-02  Darin Fisher  <darin@chromium.org>
3108
3109         Fixing JSC build bustage.
3110
3111         * bindings/js/ScriptController.cpp: Added missing #include
3112
3113 2009-10-30  Darin Fisher  <darin@chromium.org>
3114
3115         Reviewed by Adam Barth.
3116
3117         Give the FrameLoaderClient the ability to override Settings::isJavaScriptEnabled.
3118         https://bugs.webkit.org/show_bug.cgi?id=30967
3119
3120         * bindings/js/ScriptController.cpp:
3121         (WebCore::ScriptController::isEnabled):
3122         * bindings/v8/ScriptController.cpp:
3123         (WebCore::ScriptController::isEnabled):
3124         * bindings/v8/V8Proxy.cpp: Move implementation of isEnabled to ScriptController
3125         * bindings/v8/V8Proxy.h: Ditto
3126         * loader/FrameLoaderClient.h:
3127         (WebCore::FrameLoaderClient::allowJavaScript):
3128         * platform/chromium/ChromiumBridge.h: Delete uiResourceProtocol function
3129
3130 2009-11-02  Brady Eidson  <beidson@apple.com>
3131
3132         Rubberstamped by Mark Rowe.
3133
3134         Fix a typo in Mark's last commit.
3135
3136         * loader/archive/ArchiveFactory.cpp:
3137         (WebCore::archiveMIMETypes):
3138
3139 2009-11-02  Mark Rowe  <mrowe@apple.com>
3140
3141         Rubber-stamped by Brady Eidson.
3142
3143         Re-enable support for web archives on Windows.  It was mistakenly disabled in r50438.
3144
3145         * loader/archive/ArchiveFactory.cpp:
3146         (WebCore::archiveMIMETypes):
3147
3148 2009-11-02  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3149
3150         Reviewed by Darin Adler.
3151
3152         PLATFORM(CF) should be set when building for Qt on Darwin
3153         https://bugs.webkit.org/show_bug.cgi?id=23671
3154
3155         * WebCore.pro: Add SharedBufferCF.cpp and SmartReplaceCF.cpp
3156         to the Darwin build.
3157         * loader/archive/ArchiveFactory.cpp: Change the support for 
3158         legacy WebArchive from all CF platforms to Mac and Chromium 
3159         CF platforms.
3160         (WebCore::archiveMIMETypes):
3161         * platform/text/AtomicString.h: Remove PLATFORM(QT) &&
3162         PLATFORM(DARWIN) test as it is redundant now.
3163         * platform/text/PlatformString.h: Ditto.
3164         * platform/text/StringImpl.h: Ditto.
3165         * platform/text/cf/StringCF.cpp: Ditto.
3166         * platform/text/cf/StringImplCF.cpp: Ditto.
3167
3168 2009-11-02  Adam Barth  <abarth@webkit.org>
3169
3170         Reviewed by David Levin.
3171
3172         [Chromium] Actually declare getPluginMimeTypeFromExtension in a header.
3173         https://bugs.webkit.org/show_bug.cgi?id=30985
3174
3175         Our current code does not conform to our style guide.
3176
3177         * WebCore.gyp/WebCore.gyp:
3178         * WebCore.gypi:
3179         * platform/chromium/MIMETypeRegistryChromium.cpp:
3180         * plugins/chromium/PluginDataChromium.cpp:
3181         * plugins/chromium/PluginDataChromium.h: Added.
3182
3183 2009-11-02  Adele Peterson  <adele@apple.com>
3184
3185         Reviewed by Darin Adler.
3186
3187         Fix for <rdar://problem/7038305> REGRESSION (Safari 4.0.2 - ToT): After navigating back to a known phishy page, the "Ignore warning" button appears highlighted (along with the "Go Back" button)
3188
3189         This bug is timing dependent, and not always reproducible.  I could not think of a way to add a 
3190         layout test that would demonstrate the problem and fix.
3191
3192         * platform/mac/ThemeMac.mm:
3193         (WebCore::checkbox): Update style.
3194         (WebCore::paintCheckbox): ditto.
3195         (WebCore::radio): ditto.
3196         (WebCore::paintRadio): ditto.
3197         (WebCore::setupButtonCell): Added convenience method.
3198         (WebCore::button): Use a separate NSButtonCell for defaultButtons and regular buttons.
3199         (WebCore::paintButton): Don't check for the key window here.  Consider that when deciding if the button should have the default style in RenderTheme.
3200         * rendering/RenderTheme.cpp: (WebCore::RenderTheme::isDefault): Only consider a button to be default if the page is active.  This fixes 
3201         a problem I noticed where the button would flicker crazily if the page with the default button was in the background.
3202
3203 2009-11-02  Dan Bernstein  <mitz@apple.com>
3204
3205         Reviewed by Anders Carlsson.
3206
3207         Minor RenderWidget clean-up in preparation for deferring widget tree
3208         mutation when it is not safe.
3209
3210         * rendering/RenderWidget.cpp:
3211         (WebCore::RenderWidget::RenderWidget): Initialize m_refCount to 1
3212         instead of calling ref().
3213         (WebCore::RenderWidget::destroy): Call setWidget(0) instead of
3214         repeating what it does.
3215         (WebCore::RenderWidget::setWidgetGeometry): Now returns a boolean
3216         indicating whether the bounds have changed.
3217         (WebCore::RenderWidget::setWidget): Replaced all-encompassing if
3218         statement with an early return.
3219         (WebCore::RenderWidget::updateWidgetPosition): Call setWidgetGeometry().
3220         * rendering/RenderWidget.h:
3221
3222 2009-11-02  Dumitru Daniliuc  <dumi@chromium.org>
3223
3224         Reviewed by Dimitri Glazkov.
3225
3226         Adding Chromium's DatabaseTracker and SQLTransactionClient
3227         implementations.
3228
3229         https://bugs.webkit.org/show_bug.cgi?id=30701
3230
3231         * storage/chromium: Added.
3232         * storage/chromium/DatabaseObserver.h: Added.
3233         * storage/chromium/DatabaseTrackerChromium.cpp: Added.
3234         * storage/chromium/QuotaTracker.cpp: Added.
3235         * storage/chromium/QuotaTracker.h: Added.
3236         * storage/chromium/SQLTransactionClientChromium.cpp: Added.
3237
3238 2009-11-02  Enrica Casucci  <enrica@apple.com>
3239
3240         Reviewed by Adele Peterson and Dan Bernstein.
3241
3242         Safari crashes when calling execCommand on formatted html in special case
3243         <rdar://problem/7318656>
3244         https://bugs.webkit.org/show_bug.cgi?id=31023
3245
3246         Test: editing/execCommand/align-in-span.html
3247
3248         * rendering/RenderObject.cpp:
3249         (WebCore::RenderObject::containingBlock): Modified comment on containingBlock returning NULL.
3250         * rendering/RenderText.cpp:
3251         (WebCore::RenderText::setSelectionState): Added check for NULL return from containingBlock,
3252         since it is possible when dealing with orphaned trees.
3253
3254 2009-11-02  Chris Marrin  <cmarrin@apple.com>
3255
3256         Reviewed by Oliver Hunt.
3257
3258         Exception checks were being too aggressive
3259         https://bugs.webkit.org/show_bug.cgi?id=31005
3260
3261         Several calls in CanvasRenderingContext3D are allowed to
3262         have a null value passed, which indicated that the 
3263         object is being unbound. Handle this case and the corresponding
3264         null handling in GraphicsContext3DMac.
3265
3266         * html/canvas/CanvasRenderingContext3D.cpp:
3267         (WebCore::CanvasRenderingContext3D::bindBuffer):
3268         (WebCore::CanvasRenderingContext3D::bindFramebuffer):
3269         (WebCore::CanvasRenderingContext3D::bindRenderbuffer):
3270         (WebCore::CanvasRenderingContext3D::bindTexture):
3271         (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer):
3272         (WebCore::CanvasRenderingContext3D::framebufferTexture2D):
3273         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3274         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
3275         (WebCore::GraphicsContext3D::framebufferTexture2D):
3276
3277 2009-11-02  Patrick Mueller  <Patrick_Mueller@us.ibm.com>
3278
3279         Reviewed by Timothy Hatcher.
3280
3281         Each JS execution in console adds extra item into "scripts" combo
3282         https://bugs.webkit.org/show_bug.cgi?id=30212
3283
3284         Added manual test
3285
3286         * inspector/front-end/ScriptsPanel.js:
3287         (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
3288         * manual-tests/inspector/hidden-evals.html: Added.
3289
3290 2009-11-02  Kelly Norton  <knorton@google.com>
3291
3292         Reviewed by Timothy Hatcher.
3293
3294         Adds a missed case for InspectorTimeline, DOMWindow dispatch of DOM events.
3295         https://bugs.webkit.org/show_bug.cgi?id=31030
3296
3297         * dom/Node.cpp:
3298         (WebCore::eventHasListeners): Checks DOMWindow for listeners.
3299         (WebCore::Node::dispatchGenericEvent):
3300
3301 2009-11-02  Dmitry Titov  <dimich@chromium.org>
3302
3303         Reviewed by David Levin.
3304
3305         Remove threadsafe refcounting from tasks used with WTF::MessageQueue.
3306         https://bugs.webkit.org/show_bug.cgi?id=30612
3307
3308         No new tests since no new functionality. Storage, MessagePorts and Workers tests cover this.
3309
3310         There are a lot of files but most changes are simply replace RefPtr and PassRefPtr with
3311         OwnPtr and PassOwnPtr when dealing with Tasks.
3312
3313         ScriptExecutionContext::Task, DatabaseTask and WorkerRunLoop::Task are no longer
3314         threadsafe refcounted, but simply Noncopyable.
3315
3316         * dom/Document.cpp:
3317         (WebCore::ScriptExecutionContextTaskTimer::ScriptExecutionContextTaskTimer):
3318         (WebCore::PerformTaskContext::PerformTaskContext):
3319         (WebCore::Document::postTask):
3320         * dom/Document.h:
3321         * dom/ScriptExecutionContext.cpp:
3322         (WebCore::ProcessMessagesSoonTask::create):
3323         * dom/ScriptExecutionContext.h:
3324         * dom/default/PlatformMessagePortChannel.cpp:
3325         (WebCore::PlatformMessagePortChannel::tryGetMessageFromRemote):
3326         * dom/default/PlatformMessagePortChannel.h:
3327         (WebCore::PlatformMessagePortChannel::MessagePortQueue::tryGetMessage):
3328         (WebCore::PlatformMessagePortChannel::MessagePortQueue::appendAndCheckEmpty):
3329         * loader/FrameLoader.cpp:
3330         (WebCore::HashChangeEventTask::create):
3331         * loader/appcache/ApplicationCacheGroup.cpp:
3332         (WebCore::CallCacheListenerTask::create):
3333         * storage/Database.cpp:
3334         (WebCore::Database::openAndVerifyVersion):
3335         (WebCore::Database::markAsDeletedAndClose):
3336         (WebCore::Database::scheduleTransaction):
3337         (WebCore::Database::scheduleTransactionStep):
3338         (WebCore::Database::tableNames):
3339         * storage/DatabaseTask.h:
3340         (WebCore::DatabaseOpenTask::create):
3341         (WebCore::DatabaseCloseTask::create):
3342         (WebCore::DatabaseTransactionTask::create):
3343         (WebCore::DatabaseTableNamesTask::create):
3344         * storage/DatabaseThread.cpp:
3345         (WebCore::DatabaseThread::databaseThread):
3346         (WebCore::DatabaseThread::scheduleTask):
3347         (WebCore::DatabaseThread::scheduleImmediateTask):
3348         (WebCore::SameDatabasePredicate::operator()):
3349         * storage/DatabaseThread.h:
3350         * storage/LocalStorageTask.h:
3351         (WebCore::LocalStorageTask::createImport):
3352         (WebCore::LocalStorageTask::createSync):
3353         (WebCore::LocalStorageTask::createTerminate):
3354         * storage/LocalStorageThread.cpp:
3355         (WebCore::LocalStorageThread::localStorageThread):
3356         * storage/LocalStorageThread.h:
3357         * websockets/WebSocket.cpp:
3358         (WebCore::ProcessWebSocketEventTask::create):
3359         * workers/DefaultSharedWorkerRepository.cpp:
3360         (WebCore::SharedWorkerProxy::postTaskToLoader):
3361         (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
3362         (WebCore::SharedWorkerConnectTask::create):
3363         * workers/GenericWorkerTask.h:
3364         (WebCore::GenericWorkerTask1::create):
3365         (WebCore::GenericWorkerTask2::create):
3366         (WebCore::GenericWorkerTask3::create):
3367         (WebCore::GenericWorkerTask4::create):
3368         (WebCore::GenericWorkerTask5::create):
3369         (WebCore::GenericWorkerTask6::create):
3370         (WebCore::GenericWorkerTask7::create):
3371         (WebCore::GenericWorkerTask8::create):
3372         (WebCore::createCallbackTask):
3373         * workers/WorkerContext.cpp:
3374         (WebCore::WorkerContext::postTask):
3375         * workers/WorkerContext.h:
3376         * workers/WorkerLoaderProxy.h:
3377         * workers/WorkerMessagingProxy.cpp:
3378         (WebCore::MessageWorkerContextTask::create):
3379         (WebCore::MessageWorkerTask::create):
3380         (WebCore::WorkerExceptionTask::create):
3381         (WebCore::WorkerContextDestroyedTask::create):
3382         (WebCore::WorkerTerminateTask::create):
3383         (WebCore::WorkerThreadActivityReportTask::create):
3384         (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
3385         (WebCore::WorkerMessagingProxy::postTaskToLoader):
3386         (WebCore::WorkerMessagingProxy::workerThreadCreated):
3387         * workers/WorkerMessagingProxy.h:
3388         * workers/WorkerRunLoop.cpp:
3389         (WebCore::ModePredicate::operator()):
3390         (WebCore::WorkerRunLoop::runInMode):
3391         (WebCore::WorkerRunLoop::postTask):
3392         (WebCore::WorkerRunLoop::postTaskForMode):
3393         (WebCore::WorkerRunLoop::Task::create):
3394         (WebCore::WorkerRunLoop::Task::performTask):
3395         (WebCore::WorkerRunLoop::Task::Task):
3396         * workers/WorkerRunLoop.h:
3397         (WebCore::WorkerRunLoop::Task::~Task):
3398         (WebCore::WorkerRunLoop::Task::mode):
3399
3400 2009-11-02  Philippe Normand  <pnormand@igalia.com>
3401
3402         Reviewed by Jan Alonzo.
3403
3404         [GTK] Failing media/video-played-reset.html
3405         https://bugs.webkit.org/show_bug.cgi?id=30589
3406
3407         new m_seekTime attribute to keep track of the seek position
3408
3409         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3410         (WebCore::MediaPlayerPrivate::currentTime):
3411         (WebCore::MediaPlayerPrivate::seek):
3412         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.h:
3413
3414 2009-11-02  Xan Lopez  <xlopez@igalia.com>
3415
3416         Reviewed by Jan Alonzo.
3417
3418         [GTK] Remove Referer when redirecting to non-secure site
3419         https://bugs.webkit.org/show_bug.cgi?id=31021
3420
3421         Remove referer from HTTP headers when redirecting to a non-secure
3422         site.
3423
3424         * platform/network/soup/ResourceHandleSoup.cpp:
3425         (WebCore::restartedCallback):
3426
3427 2009-11-02  Alexey Proskuryakov  <ap@apple.com>
3428
3429         Reviewed by Dan Bernstein.
3430
3431         https://bugs.webkit.org/show_bug.cgi?id=18539
3432         multipart/form-data not being parsed correctly on server due to '+' in boundary string
3433
3434         No test - the characters that the boundary is made of are not deterministic.
3435
3436         * platform/network/FormDataBuilder.cpp: (WebCore::FormDataBuilder::generateUniqueBoundaryString):
3437         Don't ever put a '+' in boundary string, either. Removed a FIXME to bring '/' back once
3438         GMail is fixed - I don't think we'll ever want to allow non-alphanumeric characters, as
3439         they cause problems on many web sites.
3440
3441 2009-10-30  Alexey Proskuryakov  <ap@apple.com>
3442
3443         Reviewed by Darin Adler.
3444
3445         https://bugs.webkit.org/show_bug.cgi?id=30969
3446         A no-prefix XPath node test should not match no-namespace elements in HTML document
3447
3448         Test: fast/xpath/null-namespace-in-html.html
3449
3450         * xml/XPathStep.cpp: (WebCore::XPath::nodeMatchesBasicTest): Special case non-HTML elements
3451         in HTML documents (as these are the ones that can have null namespace).
3452
3453 2009-11-02  Pavel Feldman  <pfeldman@chromium.org>
3454
3455         Reviewed by Timothy Hatcher.
3456
3457         Web Inspector: [REGRESSION] No timeline marks on resources panel.
3458
3459         https://bugs.webkit.org/show_bug.cgi?id=31013
3460
3461         * inspector/front-end/AbstractTimelinePanel.js:
3462         (WebInspector.AbstractTimelinePanel.prototype.updateGraphDividersIfNeeded):
3463
3464 2009-11-02  David Levin  <levin@chromium.org>
3465
3466         Reviewed by Dan Bernstein.
3467
3468         Possible crash in RenderSlider::layout.
3469         https://bugs.webkit.org/show_bug.cgi?id=31016
3470
3471         Fix out of place line of code.
3472
3473         Test: scrollbars/overflow-scrollbar-combinations.html
3474         This crash only seems to repro when WebKit draws the play controls,
3475         so the crash repros in chromium running this test but not WebKit
3476         nightlies which use QuickTime to draw the controls.
3477
3478         * rendering/RenderSlider.cpp:
3479         (WebCore::RenderSlider::layout):
3480
3481 2009-11-02  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
3482
3483         Reviewed by Tor Arne Vestbø.
3484
3485         [Qt] Fix Qt build on Windows.
3486         https://bugs.webkit.org/show_bug.cgi?id=30905
3487
3488         * WebCore.pro:
3489         * platform/graphics/BitmapImage.h:
3490         * platform/graphics/qt/ImageQt.cpp:
3491         (WebCore::BitmapImage::BitmapImage):
3492         (WebCore::BitmapImage::create):
3493
3494 2009-11-02  Jedrzej Nowacki  <jedrzej.nowacki@nokia.com>
3495
3496         Reviewed by Adam Barth.
3497
3498         QWebView crash fix.
3499
3500         The QWebView should not crash if the stop() method is called from
3501         a function triggered by the loadProgress signal.
3502
3503         A null pointer protection was added in the ProgressTracker::incrementProgress.
3504
3505         New autotest was created.
3506
3507         https://bugs.webkit.org/show_bug.cgi?id=29425
3508
3509         * loader/ProgressTracker.cpp:
3510         (WebCore::ProgressTracker::incrementProgress):
3511
3512 2009-11-02  Mikhail Naganov  <mnaganov@chromium.org>
3513
3514         Reviewed by Pavel Feldman.
3515
3516         Fix a leftover from profiles panel generalization.
3517
3518         https://bugs.webkit.org/show_bug.cgi?id=31010
3519
3520         * inspector/front-end/ProfilesPanel.js:
3521         (WebInspector.ProfilesPanel.prototype.get searchableViews):
3522
3523 2009-11-02  Kai Koehne  <kai.koehne@nokia.com>
3524
3525         Reviewed by Holger Freyther.
3526
3527         Remove implementation of ImageDecocerQt::clearFrameBufferCache.
3528         The implementation was buggy, and will visually break repeating
3529         animations anyway.
3530
3531         https://bugs.webkit.org/show_bug.cgi?id=31009
3532
3533         * platform/graphics/qt/ImageDecoderQt.cpp:
3534         (WebCore::ImageDecoderQt::clearFrameBufferCache):
3535
3536 2009-11-02  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3537
3538         Reviewed by Jan Alonzo.
3539
3540         https://bugs.webkit.org/show_bug.cgi?id=30964
3541         [Gtk] Implemment AtkDocument
3542
3543         Provides access to the reported content language.
3544
3545         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3546         (webkit_accessible_document_get_locale):
3547
3548 2009-11-02  Keishi Hattori  <casey.hattori@gmail.com>
3549
3550         Reviewed by Timothy Hatcher.
3551
3552         Web Inspector: Rewrite CSSSourceSyntaxHighlighter so it shares more code
3553         https://bugs.webkit.org/show_bug.cgi?id=30907
3554
3555         Test: inspector/css-syntax-highlight.html
3556
3557         * inspector/front-end/ElementsTreeOutline.js:
3558         * inspector/front-end/SourceFrame.js:
3559         (WebInspector.SourceFrame.prototype.syntaxHighlightCSS):
3560         (WebInspector.SourceSyntaxHighlighter):
3561         (WebInspector.SourceSyntaxHighlighter.prototype.process.processChunk):
3562         (WebInspector.SourceSyntaxHighlighter.prototype.process.moveToNextLine):
3563         (WebInspector.SourceSyntaxHighlighter.prototype.process):
3564         (WebInspector.SourceSyntaxHighlighter.prototype.lex):
3565         (WebInspector.SourceSyntaxHighlighter.prototype.appendNonToken):
3566         (WebInspector.SourceSyntaxHighlighter.prototype.syntaxHighlightNode):
3567         (WebInspector.CSSSourceSyntaxHighlighter):
3568         * inspector/front-end/inspectorSyntaxHighlight.css:
3569
3570 2009-11-02  Chris Fleizach  <cfleizach@apple.com>
3571
3572         Reviewed by Beth Dakin.
3573
3574         Support ARIA "tab" roles
3575         https://bugs.webkit.org/show_bug.cgi?id=30842
3576
3577         Implement support for ARIA "tab", "tabpanel" and "tablist".
3578         As a consequence, we also needed to implement aria-selected
3579         and aria-controls.
3580
3581         Tests: accessibility/aria-controls-with-tabs.html
3582                accessibility/aria-tab-roles.html
3583
3584         * accessibility/AXObjectCache.cpp:
3585         * accessibility/AccessibilityObject.h:
3586         * accessibility/AccessibilityRenderObject.cpp:
3587         * accessibility/AccessibilityRenderObject.h:
3588         * accessibility/mac/AccessibilityObjectWrapper.mm:
3589         * html/HTMLAttributeNames.in:
3590
3591 2009-10-27  Stephen White  <senorblanco@chromium.org>
3592
3593         Reviewed by Dmitry Titov.
3594
3595         This is the WebKit-side change needed to fix canvas.getImageData() for
3596         Chromium.  The unpremultiply code in Skia assumes that unpremultiplied
3597         values should be rounded, while CG does not.  In addition, the fixed
3598         point inversion used by Skia introduces slight inaccuracies that make
3599         us fail this test.  This change brings Chromium in line with
3600         the CG path.
3601         https://bugs.webkit.org/show_bug.cgi?id=30825
3602
3603         Covered by LayoutTests/fast/canvas/canvas-getImageData.html
3604
3605         * platform/graphics/skia/ImageBufferSkia.cpp:
3606         (WebCore::getImageData):
3607
3608 2009-11-01  Kelly Norton  <knorton@google.com>
3609
3610         Reviewed by Timothy Hatcher.
3611
3612         Adds window event dispatches to InspectorTimelineAgent.
3613         https://bugs.webkit.org/show_bug.cgi?id=31002
3614
3615         * English.lproj/localizedStrings.js:
3616         * dom/Node.cpp: Updated call site to willDispatchEvent and didDispatchEvent.
3617         (WebCore::Node::dispatchGenericEvent):
3618         * inspector/InspectorTimelineAgent.cpp:
3619         (WebCore::InspectorTimelineAgent::willDispatchEvent): Renamed.
3620         (WebCore::InspectorTimelineAgent::didDispatchEvent): Renamed.
3621         * inspector/InspectorTimelineAgent.h:
3622         (WebCore::):
3623         * inspector/TimelineRecordFactory.cpp:
3624         (WebCore::TimelineRecordFactory::createEventDispatchRecord): Renamed.
3625         * inspector/TimelineRecordFactory.h:
3626         * inspector/front-end/TimelineAgent.js:
3627         * inspector/front-end/TimelinePanel.js:
3628         (WebInspector.TimelinePanel.prototype._formatRecord):
3629         (WebInspector.TimelinePanel.prototype._getRecordDetails):
3630         * page/DOMWindow.cpp:
3631         (WebCore::DOMWindow::dispatchEvent):
3632
3633 2009-11-01  Pavel Feldman  <pfeldman@chromium.org>
3634
3635         Reviewed by Timothy Hatcher.
3636
3637         Web Inspector: Convert script tag event into a more generic
3638         script eval event in timeline.
3639
3640         https://bugs.webkit.org/show_bug.cgi?id=30999
3641
3642         * bindings/js/ScriptController.cpp:
3643         (WebCore::ScriptController::evaluateInWorld):
3644         * bindings/v8/V8Proxy.cpp:
3645         (WebCore::V8Proxy::evaluate):
3646         * html/HTMLTokenizer.cpp:
3647         (WebCore::HTMLTokenizer::scriptExecution):
3648         * inspector/InspectorTimelineAgent.cpp:
3649         (WebCore::InspectorTimelineAgent::willEvaluateScript):
3650         (WebCore::InspectorTimelineAgent::didEvaluateScript):
3651         * inspector/InspectorTimelineAgent.h:
3652         (WebCore::):
3653         * inspector/TimelineRecordFactory.cpp:
3654         (WebCore::TimelineRecordFactory::createEvaluateScriptTimelineRecord):
3655         * inspector/TimelineRecordFactory.h:
3656         * inspector/front-end/TimelineAgent.js:
3657         * inspector/front-end/TimelinePanel.js:
3658         (WebInspector.TimelinePanel.prototype._formatRecord):
3659         (WebInspector.TimelinePanel.prototype._getRecordDetails):
3660
3661 2009-11-01  Brian Weinstein  <bweinstein@apple.com>
3662
3663         Rubber-stamped by Mark Rowe.
3664
3665         Fix for loop to use an size_t instead of unsigned and some spacing
3666         style fixes.
3667
3668         * dom/Node.cpp:
3669         (WebCore::eventHasListeners):
3670
3671 2009-11-01  Kelly Norton  <knorton@google.com>
3672
3673         Reviewed by Timothy Hatcher.
3674
3675         Does not send DOM dispatches to the InspectorTimelineAgent if there
3676         are no event listeners.
3677         https://bugs.webkit.org/show_bug.cgi?id=30995
3678
3679         * dom/Node.cpp:
3680         (WebCore::eventHasListeners):
3681         (WebCore::Node::dispatchGenericEvent):
3682         * xml/XMLHttpRequest.cpp:
3683         (WebCore::XMLHttpRequest::callReadyStateChangeListener):
3684
3685 2009-11-01  Roland Steiner  <rolandsteiner@chromium.org>
3686
3687         No review (build fix).
3688
3689         Add missing files for Ruby implementation to WebCore.vcproj
3690         (Fix build break after 50397)
3691         https://bugs.webkit.org/show_bug.cgi?id=31001
3692
3693         No new tests. (No functional change)
3694
3695         * WebCore.vcproj/WebCore.vcproj:
3696
3697 2009-11-02  Roland Steiner  <rolandsteiner@chromium.org>
3698
3699         Reviewed by Dave Hyatt.
3700
3701         Bug 28420 -  Implement HTML5 <ruby> rendering
3702         (https://bugs.webkit.org/show_bug.cgi?id=28420)
3703
3704         First rudimentary implementation of HTML5 ruby rendering support.
3705
3706         Following the HTML 5 spec, the box object model for a <ruby> element allows several runs of ruby
3707         bases with their respective ruby texts looks as follows:
3708
3709         1 RenderRuby object, corresponding to the whole <ruby> HTML element
3710              1+ RenderRubyRun (anonymous)
3711                  0 or 1 RenderRubyText - shuffled to the front in order to re-use existing block layouting
3712                      0-n inline object(s)
3713                  0 or 1 RenderRubyBase - contains the inline objects that make up the ruby base
3714                      1-n inline object(s)
3715
3716         Note: <rp> elements are defined as having 'display:none' and thus normally are not assigned a renderer.
3717         
3718         New layout tests will be committed in a follow-up patch under fast/ruby.
3719
3720         Makefiles, etc.
3721         * GNUmakefile.am:
3722         * WebCore.gypi:
3723         * WebCore.pro:
3724         * WebCore.xcodeproj/project.pbxproj:
3725
3726         CSS
3727         * css/html.css: Added <ruby> and <rt>
3728
3729         Existing render files:
3730         * rendering/RenderBlock.cpp: make moveChild a member function moveChildTo
3731         (WebCore::RenderBlock::moveChildTo):
3732         (WebCore::RenderBlock::makeChildrenNonInline):
3733         (WebCore::RenderBlock::removeChild):
3734         * rendering/RenderBlock.h:
3735         * rendering/RenderObject.cpp:
3736         (WebCore::RenderObject::createObject): instantiate ruby renderers based on element name
3737         * rendering/RenderObject.h: add query methods for ruby renderers
3738         (WebCore::RenderObject::isRuby):
3739         (WebCore::RenderObject::isRubyBase):
3740         (WebCore::RenderObject::isRubyRun):
3741         (WebCore::RenderObject::isRubyText):
3742
3743         New ruby renderers:
3744         * rendering/RenderRuby.cpp: Added.
3745         (WebCore::lastRubyRun):
3746         (WebCore::findRubyRunParent):
3747         (WebCore::RenderRubyAsInline::RenderRubyAsInline):
3748         (WebCore::RenderRubyAsInline::~RenderRubyAsInline):
3749         (WebCore::RenderRubyAsInline::isChildAllowed):
3750         (WebCore::RenderRubyAsInline::addChild):
3751         (WebCore::RenderRubyAsInline::removeChild):
3752         (WebCore::RenderRubyAsBlock::RenderRubyAsBlock):
3753         (WebCore::RenderRubyAsBlock::~RenderRubyAsBlock):
3754         (WebCore::RenderRubyAsBlock::isChildAllowed):
3755         (WebCore::RenderRubyAsBlock::addChild):
3756         (WebCore::RenderRubyAsBlock::removeChild):
3757         * rendering/RenderRuby.h: Added.
3758         (WebCore::RenderRubyAsInline::renderName):
3759         (WebCore::RenderRubyAsInline::isRuby):
3760         (WebCore::RenderRubyAsBlock::renderName):
3761         (WebCore::RenderRubyAsBlock::isRuby):
3762         * rendering/RenderRubyBase.cpp: Added.
3763         (WebCore::RenderRubyBase::RenderRubyBase):
3764         (WebCore::RenderRubyBase::~RenderRubyBase):
3765         (WebCore::RenderRubyBase::isChildAllowed):
3766         (WebCore::RenderRubyBase::splitToLeft):
3767         (WebCore::RenderRubyBase::mergeWithRight):
3768         * rendering/RenderRubyBase.h: Added.
3769         (WebCore::RenderRubyBase::renderName):
3770         (WebCore::RenderRubyBase::isRubyBase):
3771         * rendering/RenderRubyRun.cpp: Added.
3772         (WebCore::RenderRubyRun::RenderRubyRun):
3773         (WebCore::RenderRubyRun::~RenderRubyRun):
3774         (WebCore::RenderRubyRun::hasRubyText):
3775         (WebCore::RenderRubyRun::hasRubyBase):
3776         (WebCore::RenderRubyRun::isEmpty):
3777         (WebCore::RenderRubyRun::rubyText):
3778         (WebCore::RenderRubyRun::rubyBase):
3779         (WebCore::RenderRubyRun::rubyBaseSafe):
3780         (WebCore::RenderRubyRun::firstLineBlock):
3781         (WebCore::RenderRubyRun::updateFirstLetter):
3782         (WebCore::RenderRubyRun::isChildAllowed):
3783         (WebCore::RenderRubyRun::addChild):
3784         (WebCore::RenderRubyRun::removeChild):
3785         (WebCore::RenderRubyRun::createRubyBase):
3786         (WebCore::RenderRubyRun::staticCreateRubyRun):
3787         * rendering/RenderRubyRun.h: Added.
3788         (WebCore::RenderRubyRun::renderName):
3789         (WebCore::RenderRubyRun::isRubyRun):
3790         * rendering/RenderRubyText.cpp: Added.
3791         (WebCore::RenderRubyText::RenderRubyText):
3792         (WebCore::RenderRubyText::~RenderRubyText):
3793         (WebCore::RenderRubyText::isChildAllowed):
3794         * rendering/RenderRubyText.h: Added.
3795         (WebCore::RenderRubyText::renderName):
3796         (WebCore::RenderRubyText::isRubyText):
3797
3798 2009-11-01  Alexey Proskuryakov  <ap@apple.com>
3799
3800         Reviewed by Dan Bernstein.
3801
3802         https://bugs.webkit.org/show_bug.cgi?id=30992
3803         Node.isDefaultNamespace doesn't convert empty strings to null
3804
3805         Test: fast/dom/Node/default-namespace-empty-argument.html
3806
3807         * dom/Node.cpp: (WebCore::Node::isDefaultNamespace): Per DOM 3 Core, treat empty input
3808         as null.
3809
3810 2009-11-01  Yael Aharon  <yael.aharon@nokia.com>
3811
3812         Reviewed by Darin Adler.
3813
3814         Don't add '/' to the URL path if the it does not include '/' after the protocol component
3815         https://bugs.webkit.org/show_bug.cgi?id=30971
3816
3817         Match IE8 behaviour, that does not add '/' if there is none after the protocol component.
3818
3819         * platform/KURL.cpp:
3820         (WebCore::KURL::parse):
3821
3822 2009-10-31  Oliver Hunt  <oliver@apple.com>
3823
3824         Reviewed by Darin Adler.
3825
3826         Fix layering violations in GraphicsContext3D
3827         https://bugs.webkit.org/show_bug.cgi?id=30986
3828
3829         Remove uses of HTMLImageElement and HTMLCanvasElement
3830
3831         * html/canvas/CanvasRenderingContext3D.cpp:
3832         (WebCore::CanvasRenderingContext3D::texImage2D):
3833         (WebCore::CanvasRenderingContext3D::texSubImage2D):
3834         * platform/graphics/GraphicsContext3D.h:
3835         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3836         (WebCore::GraphicsContext3D::texImage2D):
3837         (WebCore::GraphicsContext3D::texSubImage2D):
3838
3839 2009-11-01  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3840
3841         Reviewed by Jan Alonzo.
3842
3843         https://bugs.webkit.org/show_bug.cgi?id=30964
3844         [Gtk] Implemment AtkDocument
3845
3846         Provides access to expected document attributes.
3847
3848         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3849         (documentAttributeValue):
3850         (webkit_accessible_document_get_document_attribute_value):
3851         (webkit_accessible_document_get_document_attributes):
3852
3853 2009-11-03  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3854
3855         Reviewed by Jan Alonzo.
3856
3857         https://bugs.webkit.org/show_bug.cgi?id=30964
3858         [Gtk] Implemment AtkDocument
3859
3860         Implements what has been implemented in AT-SPI.
3861
3862         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
3863         (GetAtkInterfaceTypeFromWAIType):
3864         (getInterfaceMaskFromObject):
3865         (atk_document_interface_init):
3866         (webkit_accessible_document_get_document_attribute_value):
3867         (webkit_accessible_document_get_document_attributes):
3868         (webkit_accessible_document_get_locale):
3869
3870 2009-11-01  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
3871
3872         Reviewed by Eric Seidel.
3873
3874         Turn on warnings for QtWebKit for gcc
3875         https://bugs.webkit.org/show_bug.cgi?id=30958
3876
3877         No new tests as there is no functional change.
3878
3879         * platform/image-decoders/qt/RGBA32BufferQt.cpp:
3880         (WebCore::RGBA32Buffer::RGBA32Buffer): Reorder 
3881         initialization list to fix compiler warnings.
3882
3883
3884 2009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
3885
3886         Reviewed by Pavel Feldman.
3887
3888         [Regression] monitorEvent doesn't work
3889
3890         * inspector/front-end/InjectedScript.js:
3891         (InjectedScript._ensureCommandLineAPIInstalled):
3892
3893 2009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
3894
3895         Reviewed by Pavel Feldman.
3896
3897         Fix Web Inspector: Bug with Message Bubble in Syntax Highlighter
3898         https://bugs.webkit.org/show_bug.cgi?id=30990
3899
3900         * inspector/front-end/SourceFrame.js:
3901
3902 2009-10-31  Alexey Proskuryakov  <ap@apple.com>
3903
3904         Reviewed by John Sullivan.
3905
3906         https://bugs.webkit.org/show_bug.cgi?id=30982
3907         createHTMLDocument doesn't escape ampersand and less-than in title
3908
3909         Test: fast/dom/DOMImplementation/createHTMLDocument-title.html
3910
3911         * dom/DOMImplementation.cpp: (WebCore::DOMImplementation::createHTMLDocument):
3912         Set document title after creating the document, avoiding parser intricacies.
3913
3914 2009-11-01  Keishi Hattori  <casey.hattori@gmail.com>
3915
3916         Reviewed by Timothy Hatcher.
3917
3918         Web Inspector: Double clicking on a breakpoints should not select text
3919         https://bugs.webkit.org/show_bug.cgi?id=30950
3920
3921         * inspector/front-end/SourceFrame.js:
3922         (WebInspector.SourceFrame.prototype._documentMouseDown):
3923
3924 2009-11-01  Yuta Kitamura  <yutak@chromium.org>
3925
3926         Reviewed by Darin Adler.
3927
3928         Fix assertion falure in RenderObjectChildList::updateBeforeAfterContent().
3929
3930         [Crash (debug)] Combination of list-item and :after causes assertion failure
3931         https://bugs.webkit.org/show_bug.cgi?id=30944
3932
3933         Test: fast/css/list-item-pseudo-nocrash.html
3934
3935         * rendering/RenderObjectChildList.cpp:
3936         (WebCore::RenderObjectChildList::updateBeforeAfterContent):
3937
3938 2009-11-01  Philippe Normand  <pnormand@igalia.com>
3939
3940         Reviewed by Eric Seidel.
3941
3942         https://bugs.webkit.org/show_bug.cgi?id=30586
3943         [GTK] Failing test media/video-src-empty.html
3944
3945         Correctly set network/ready state depending on GStreamer errors
3946         received on the bus.
3947
3948         * platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp:
3949         (WebCore::mediaPlayerPrivateMessageCallback):
3950
3951 2009-10-31  Oliver Hunt  <oliver@apple.com>
3952
3953         Build fix
3954
3955         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3956         (WebCore::GraphicsContext3D::attachShader):
3957
3958 2009-10-31  Oliver Hunt  <oliver@apple.com>
3959
3960         Reviewed by Darin Adler.
3961
3962         Remove obsolete null checks from CanvasRenderingContext3DMac
3963         https://bugs.webkit.org/show_bug.cgi?id=30983
3964
3965         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3966         (WebCore::GraphicsContext3D::attachShader):
3967         (WebCore::GraphicsContext3D::bindAttribLocation):
3968         (WebCore::GraphicsContext3D::compileShader):
3969         (WebCore::GraphicsContext3D::detachShader):
3970         (WebCore::GraphicsContext3D::framebufferRenderbuffer):
3971         (WebCore::GraphicsContext3D::framebufferTexture2D):
3972         (WebCore::GraphicsContext3D::linkProgram):
3973         (WebCore::GraphicsContext3D::shaderSource):
3974         (WebCore::GraphicsContext3D::useProgram):
3975         (WebCore::GraphicsContext3D::validateProgram):
3976         (WebCore::GraphicsContext3D::getProgramInfoLog):
3977         (WebCore::GraphicsContext3D::getShaderi):
3978         (WebCore::GraphicsContext3D::getShaderiv):
3979         (WebCore::GraphicsContext3D::getShaderInfoLog):
3980         (WebCore::GraphicsContext3D::getShaderSource):
3981         (WebCore::GraphicsContext3D::getUniformLocation):
3982
3983 2009-10-31  Oliver Hunt  <oliver@apple.com>
3984
3985         Reviewed by Jon Honeycutt.
3986
3987         WebGL allows objects to be used with the wrong context
3988         https://bugs.webkit.org/show_bug.cgi?id=30981
3989
3990         Simply add null checks and a few context guards to ensure we don't
3991         deref null or attempt to use an object from a different context.
3992
3993         Tests: fast/canvas/webgl/incorrect-context-object-behaviour.html
3994                fast/canvas/webgl/null-object-behaviour.html
3995
3996         * html/canvas/CanvasRenderingContext3D.cpp:
3997         (WebCore::CanvasRenderingContext3D::attachShader):
3998         (WebCore::CanvasRenderingContext3D::bindAttribLocation):
3999         (WebCore::CanvasRenderingContext3D::bindBuffer):
4000         (WebCore::CanvasRenderingContext3D::bindFramebuffer):
4001         (WebCore::CanvasRenderingContext3D::bindRenderbuffer):
4002         (WebCore::CanvasRenderingContext3D::bindTexture):
4003         (WebCore::CanvasRenderingContext3D::compileShader):
4004         (WebCore::CanvasRenderingContext3D::detachShader):
4005         (WebCore::CanvasRenderingContext3D::framebufferRenderbuffer):
4006         (WebCore::CanvasRenderingContext3D::framebufferTexture2D):
4007         (WebCore::CanvasRenderingContext3D::getProgrami):
4008         (WebCore::CanvasRenderingContext3D::getProgramiv):
4009         (WebCore::CanvasRenderingContext3D::getProgramInfoLog):
4010         (WebCore::CanvasRenderingContext3D::getShaderi):
4011         (WebCore::CanvasRenderingContext3D::getShaderiv):
4012         (WebCore::CanvasRenderingContext3D::getShaderInfoLog):
4013         (WebCore::CanvasRenderingContext3D::getShaderSource):
4014         (WebCore::CanvasRenderingContext3D::getUniformf):
4015         (WebCore::CanvasRenderingContext3D::getUniformfv):
4016         (WebCore::CanvasRenderingContext3D::getUniformi):
4017         (WebCore::CanvasRenderingContext3D::getUniformiv):
4018         (WebCore::CanvasRenderingContext3D::getUniformLocation):
4019         (WebCore::CanvasRenderingContext3D::isBuffer):
4020         (WebCore::CanvasRenderingContext3D::linkProgram):
4021         (WebCore::CanvasRenderingContext3D::shaderSource):
4022         * html/canvas/CanvasRenderingContext3D.h:
4023         * html/canvas/CanvasRenderingContext3D.idl:
4024
4025 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
4026
4027         Reviewed by Darin Adler.
4028
4029         Allow custom memory allocation control for WebCore's MediaQueryResult
4030         https://bugs.webkit.org/show_bug.cgi?id=30857
4031
4032         Inherits MediaQueryResult class from Noncopyable because it is
4033         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:5984 and
4034         it is no need to be copyable.
4035
4036         * css/CSSStyleSelector.h:
4037
4038 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
4039
4040         Reviewed by Darin Adler.
4041
4042         Allow custom memory allocation control for WebCore's MediaQueryEvaluator
4043         https://bugs.webkit.org/show_bug.cgi?id=30854
4044
4045         Inherits MediaQueryEvaluator class from Noncopyable because it is
4046         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:401 and   
4047         it is no need to be copyable.
4048
4049         * css/MediaQueryEvaluator.h:
4050
4051 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
4052
4053         Reviewed by Darin Adler.
4054
4055         Allow custom memory allocation control for WebCore's CSSRuleSet
4056         https://bugs.webkit.org/show_bug.cgi?id=30852
4057
4058         Inherits CSSRuleSet class from Noncopyable because it is
4059         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:455 and
4060         it is no need to be copyable.
4061
4062         * css/CSSStyleSelector.cpp:
4063
4064 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
4065
4066         Reviewed by Darin Adler.
4067
4068         Allow custom memory allocation control for WebCore's CSSRuleData
4069         https://bugs.webkit.org/show_bug.cgi?id=30851
4070
4071         Inherits CSSRuleData class from Noncopyable because it is
4072         instantiated by 'new' in WebCore/css/CSSStyleSelector.h:320 and
4073         it is no need to be copyable.
4074
4075         * css/CSSStyleSelector.h:
4076
4077 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
4078
4079         Reviewed by Darin Adler.
4080
4081         Allow custom memory allocation control for WebCore's CSSRuleDataList
4082         https://bugs.webkit.org/show_bug.cgi?id=30850
4083
4084         Inherits CSSRuleDataList class from Noncopyable because it has been
4085         instantiated by 'new' in WebCore/css/CSSStyleSelector.cpp:2715 and
4086         it is no need to be copyable.
4087
4088         * css/CSSStyleSelector.h:
4089
4090 2009-10-30  Zoltan Horvath  <zoltan@webkit.org>
4091
4092         Reviewed by Darin Adler.
4093
4094         Allow custom memory allocation control for WebCore's CSSNamespace
4095         https://bugs.webkit.org/show_bug.cgi?id=30849
4096
4097         Inherits CSSNamespace struct from Noncopyable because it is
4098         instantiated by 'new' in WebCore/css/CSSStyleSheet.cpp:141 and
4099         it is no need to be copyable.
4100
4101         * css/CSSNamespace.h:
4102
4103 2009-10-30  Dmitry Titov  <dimich@chromium.org>
4104
4105         Reviewed by David Levin.
4106
4107         Refactor DatabaseTask in preparation for removing threadsafe refcounting from it.
4108         Move the synchronizer object out of the DatabaseTask so there is no need to keep
4109         the pointer to Databasetask around after passing it to MessageQueue.
4110         Also pass the references to return parameters to the task so it can update them.
4111         https://bugs.webkit.org/show_bug.cgi?id=30941
4112
4113         No new tests, since this is just moving the code around, no change in functionality.
4114
4115         * storage/Database.cpp:
4116         (WebCore::Database::Database):
4117         (WebCore::Database::openAndVerifyVersion): Use new DatabaseTaskSynchronizer to wait for task completion.
4118         (WebCore::Database::markAsDeletedAndClose): Ditto.
4119         (WebCore::Database::tableNames): Ditto.
4120         (WebCore::Database::stop): Use the boolean flag rather then 'killed' flag built into MessageQueue.
4121         (WebCore::Database::scheduleTransaction): Transaction queue is a Deque now, change the way to fetch the transaction.
4122         * storage/Database.h: Change the SQLTransaction queue to be a Deque rather then a MessageQueue.
4123         * storage/DatabaseTask.cpp:
4124         (WebCore::DatabaseTaskSynchronizer::DatabaseTaskSynchronizer):
4125         (WebCore::DatabaseTaskSynchronizer::waitForTaskCompletion):
4126         (WebCore::DatabaseTaskSynchronizer::taskCompleted):
4127         (WebCore::DatabaseTask::DatabaseTask): Ctor takes DatabaseTaskSynchronizer which can be 0.
4128         (WebCore::DatabaseTask::performTask): Signal completion. m_synchronizer should still be around since main thread is waiting on it.
4129         (WebCore::DatabaseOpenTask::DatabaseOpenTask): Pass synchronizer and return parameters via constructor.
4130         (WebCore::DatabaseCloseTask::DatabaseCloseTask): Ditto.
4131         (WebCore::DatabaseTransactionTask::DatabaseTransactionTask): Ditto.
4132         (WebCore::DatabaseTableNamesTask::DatabaseTableNamesTask): Ditto.
4133         * storage/DatabaseTask.h:
4134         (WebCore::DatabaseOpenTask::create):
4135         (WebCore::DatabaseCloseTask::create):
4136         (WebCore::DatabaseTransactionTask::create):
4137         (WebCore::DatabaseTableNamesTask::create):
4138
4139 2009-10-30  Enrica Casucci  <enrica@apple.com>
4140
4141         Reviewed by Darin Adler.
4142
4143         REGRESSION: In Mail, Undo does not restore some characters I have deleted at the end of a line
4144         https://bugs.webkit.org/show_bug.cgi?id=30955
4145         <rdar://problem/7067033>
4146         
4147         When the command is deleteWordBackward or deleteWordForward
4148         we should not add to the open typing command, but
4149         create a new one.
4150         
4151         Test: editing/undo/undo-deleteWord.html
4152
4153         * editing/TypingCommand.cpp:
4154         (WebCore::TypingCommand::deleteKeyPressed): Always start a new command if the granularity is
4155         not CharacterGranularity. 
4156         (WebCore::TypingCommand::forwardDeleteKeyPressed): Always start a new command if the granularity is
4157         not CharacterGranularity. 
4158
4159 2009-10-30  Eric Carlson  <eric.carlson@apple.com>
4160
4161         Reviewed by Darin Adler.
4162
4163         Make MediaPlayer constructor private
4164         https://bugs.webkit.org/show_bug.cgi?id=30965
4165
4166         * html/HTMLMediaElement.cpp:
4167         (WebCore::HTMLMediaElement::loadResource): 
4168         (WebCore::HTMLMediaElement::finishParsingChildren): Use MediaPlayer::create.
4169
4170         * platform/graphics/MediaPlayer.h:
4171         (WebCore::MediaPlayer::create): New.
4172
4173 2009-10-29  Jon Honeycutt  <jhoneycutt@apple.com>
4174
4175         MSAA: Accessibility of headings is not correct
4176
4177         https://bugs.webkit.org/show_bug.cgi?id=30937
4178
4179         Reviewed by Alice Liu.
4180
4181         * accessibility/AccessibilityObject.h:
4182         (WebCore::AccessibilityObject::stringRoleForMSAA):
4183         (WebCore::AccessibilityObject::descriptionForMSAA):
4184
4185         * accessibility/AccessibilityRenderObject.cpp:
4186         (WebCore::shouldReturnTagNameAsRoleForMSAA):
4187         If the element's tag name is one of h1, h2, h3, h4, h5, h6, return
4188         true.
4189         (WebCore::AccessibilityRenderObject::stringRoleForMSAA):
4190         If the element should return its tag name as the role, return the tag
4191         name.
4192         (WebCore::AccessibilityRenderObject::positionalDescriptionForMSAA):
4193         If the object is a heading, return the string "L" followed by the
4194         heading level.
4195         (WebCore::AccessibilityRenderObject::descriptionForMSAA):
4196         If the object has a positional description, return it. Otherwise, get
4197         the accessibility description, and prefix it with "Description" so that
4198         MSAA clients know that it's not a positional description.
4199
4200         * accessibility/AccessibilityRenderObject.h:
4201
4202 2009-10-29  Jon Honeycutt  <jhoneycutt@apple.com>
4203
4204         MSAA: Accessibility of links is wrong
4205
4206         https://bugs.webkit.org/show_bug.cgi?id=30928
4207
4208         Reviewed by Darin Adler.
4209
4210         * accessibility/AccessibilityImageMapLink.cpp:
4211         (WebCore::AccessibilityImageMapLink::stringValueForMSAA):
4212         Return the URL.
4213         (WebCore::AccessibilityImageMapLink::nameForMSAA):
4214         Return the alt text.
4215
4216         * accessibility/AccessibilityImageMapLink.h:
4217         (WebCore::AccessibilityImageMapLink::isLinked):
4218         Return true.
4219
4220         * accessibility/AccessibilityObject.h:
4221         (WebCore::AccessibilityObject::isLinked):
4222         (WebCore::AccessibilityObject::stringValueForMSAA):
4223         (WebCore::AccessibilityObject::nameForMSAA):
4224
4225         * accessibility/AccessibilityRenderObject.cpp:
4226         (WebCore::isLinkable):
4227         Return true if the element is considered "linkable" with respect to
4228         accessibility.
4229         (WebCore::AccessibilityRenderObject::stringValueForMSAA):
4230         If the element is linkable, check whether it has a parent anchor
4231         element. If so, return the anchor element's href.
4232         (WebCore::AccessibilityRenderObject::isLinked):
4233         Return true if the element is linkable and if it's parent anchor tag's
4234         href is non-empty.
4235         (WebCore::AccessibilityRenderObject::nameForMSAA):
4236         For text nodes, return the text.
4237
4238         * accessibility/AccessibilityRenderObject.h:
4239
4240 2009-10-30  Evan Stade  <estade@chromium.org>
4241
4242         Reviewed by David Levin.
4243
4244         Notify the chrome when the focused node has changed.
4245         https://bugs.webkit.org/show_bug.cgi?id=30832
4246
4247         This is similar to AX code that is already in place, except that this also informs the
4248         chrome when there stops being a focused node. This is needed for a browser to show the
4249         anchor for links that have keyboard focus.
4250
4251         * dom/Document.cpp:
4252         (WebCore::Document::setFocusedNode):
4253         * loader/EmptyClients.h:
4254         (WebCore::EmptyChromeClient::focusedNodeChanged):
4255         * page/Chrome.cpp:
4256         (WebCore::Chrome::focusedNodeChanged):
4257         * page/Chrome.h:
4258         * page/ChromeClient.h:
4259
4260 2009-10-30  Ben Murdoch  <benm@google.com>
4261
4262         Reviewed by David Kilzer.
4263
4264         openDatabase() with empty version sets db version up incorrectly
4265         https://bugs.webkit.org/show_bug.cgi?id=28417
4266
4267         Test: storage/open-database-set-empty-version.html
4268
4269         * storage/Database.cpp:
4270         (WebCore::Database::performOpenAndVerify): Raise an exception if the current database version does not match the expected version when the current version is the empty string.
4271
4272 2009-10-30  John Gregg  <johnnyg@google.com>
4273
4274         Reviewed by David Levin.
4275
4276         Need to turn off notifications properly at runtime
4277         https://bugs.webkit.org/show_bug.cgi?id=30409
4278
4279         Moving the notificationsEnabled bit from NotificationCenter
4280         to the new V8 RuntimeEnabledFeatures object.
4281
4282         Just moving a bit around, so no new tests.
4283
4284         * bindings/v8/RuntimeEnabledFeatures.cpp:
4285         * bindings/v8/RuntimeEnabledFeatures.h:
4286         (WebCore::RuntimeEnabledFeatures::setNotificationsEnabled):
4287         (WebCore::RuntimeEnabledFeatures::notificationsEnabled):
4288         * bindings/v8/custom/V8DOMWindowCustom.cpp:
4289         (WebCore::ACCESSOR_RUNTIME_ENABLER):
4290         * bindings/v8/custom/V8WorkerContextCustom.cpp:
4291         (WebCore::ACCESSOR_RUNTIME_ENABLER):
4292         * notifications/NotificationCenter.cpp:
4293         * notifications/NotificationCenter.h:
4294
4295 2009-10-30  Dmitry Titov  <dimich@chromium.org>
4296
4297         Reviewed by Dimitri Glazkov.
4298
4299         [V8] More cleanup after r49949: remove ListenerGuard.
4300         ListenerGuard is no longer needed since EventListeners do not depend on frame or v8 conte