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