a318d517349c1c6c494b169ba0f229858fa5b7f3
[WebKit-https.git] / WebCore / ChangeLog
1 2010-03-25  Dmitry Titov  <dimich@chromium.org>
2
3         No review, rolling out r56585.
4         http://trac.webkit.org/changeset/56585
5         https://bugs.webkit.org/show_bug.cgi?id=36621
6
7         Broke Chromium builds on waterfall
8
9         * plugins/PluginView.cpp:
10         (WebCore::PluginView::getValue):
11         * plugins/PluginView.h:
12         * plugins/PluginViewNone.cpp:
13         (WebCore::PluginView::setJavaScriptPaused):
14
15 2010-03-25  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
16
17         Reviewed by Darin Adler.
18
19         Fix build if NPAPI support is disabled
20         https://bugs.webkit.org/show_bug.cgi?id=36621
21
22         No new tests, this is a build fix.
23
24         * plugins/PluginView.cpp: Guard getValueStatic() with
25         NETSCAPE_PLUGIN_API
26         (WebCore::PluginView::getValue):
27         * plugins/PluginView.h: Guard getValue() with NETSCAPE_PLUGIN_API
28         * plugins/PluginViewNone.cpp: Guard platformGetValue() and
29         platformGetValueStatic with NETSCAPE_PLUGIN_API;
30         Guard privateBrowsingStateChanged() and setJavaScriptPaused() with
31         PLATFORM(MAC)
32
33 2010-03-25  Drew Wilson  <atwilson@chromium.org>
34
35         Reviewed by Nate Chapin.
36
37         [v8] Error in getScriptExecutionContext() when worker context is terminating.
38         https://bugs.webkit.org/show_bug.cgi?id=36565
39
40         Removed WorkerScriptExecutionProxy::retrieve() and added WorkerScriptController::controllerForContext(). This allows
41         callers to differentiate between "the current context is shutting down" vs "the current context is not a worker context".
42
43         Test: Existing worker tests suffice.
44
45         * bindings/v8/V8DOMWrapper.cpp:
46         (WebCore::V8DOMWrapper::getConstructor):
47         Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
48         * bindings/v8/V8Utilities.cpp:
49         (WebCore::getScriptExecutionContext):
50         Changed to use WorkerScriptController::controllerForContext() instead of WorkerScriptExecutionProxy::retrieve().
51         * bindings/v8/WorkerContextExecutionProxy.cpp:
52         Removed WorkerScriptExecutionProxy::retrieve().
53         * bindings/v8/WorkerContextExecutionProxy.h:
54         Removed WorkerScriptExecutionProxy::retrieve().
55         * bindings/v8/WorkerScriptController.cpp:
56         (WebCore::WorkerScriptController::controllerForContext):
57         Added helper function to get the WorkerScriptController for the current context.
58         * bindings/v8/WorkerScriptController.h:
59         Added declaration for controllerForContext().
60
61 2010-03-25  Simon Hausmann  <simon.hausmann@nokia.com>
62
63         Reviewed by Kenneth Rohde Christiansen.
64
65         [Qt] Fix the package build on Maemo 5
66
67         https://bugs.webkit.org/show_bug.cgi?id=36607
68
69         Always embed the stylesheet for the no-listbox rendering. This way it'll be
70         included in the generated files for the package generation.
71
72         * WebCore.pri:
73
74 2010-03-24  Dumitru Daniliuc  <dumi@chromium.org>
75
76         Reviewed by Dimitri Glazkov.
77
78         Changing the V8 and JSC implementations of
79         SQLStatementErrorCallback to interpret as false all results that
80         could be converted to a false boolean. Pretty much a revert of
81         r54981.
82
83         https://bugs.webkit.org/show_bug.cgi?id=36569
84
85         * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
86         (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
87         * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
88         (WebCore::V8CustomSQLStatementErrorCallback::handleEvent):
89         * bindings/v8/custom/V8CustomVoidCallback.cpp:
90         (WebCore::invokeCallback):
91         * bindings/v8/custom/V8CustomVoidCallback.h:
92
93 2010-03-25  Dmitry Titov  <dimich@chromium.org>
94
95         Unreviewed, fix Chromium tests.
96
97         Recent http://trac.webkit.org/changeset/56489 made all urls in Chromium that
98         have unspecified port to return invalidPortNumber from KURL::port().
99
100         * platform/KURLGoogle.cpp: Return 0 for unspecified ports, mimic WebKit KURL behavior for invalid ports.
101         (WebCore::KURL::port):
102
103 2010-03-25  Dirk Schulze  <krit@webkit.org>
104
105         Reviewed by Nikolas Zimmermann.
106
107         This is a follow up of:
108         https://bugs.webkit.org/show_bug.cgi?id=30055
109         Bad DOM performance in large SVG files
110
111         Just save and restore the GraphicsContext, if we realy modify it.
112         (Cairo)Path::contains checks if a point is in the boundingBox
113         as a heuristic. The intention was to make the process faster for
114         points outside of this rect, but it rather causes the
115         opposite.
116
117         No new test cases added. No change in functionality.
118
119         * platform/graphics/cairo/PathCairo.cpp:
120         (WebCore::Path::contains):
121         * rendering/RenderPath.cpp:
122         (WebCore::RenderPath::paint):
123
124 2010-03-25  Ojan Vafai  <ojan@chromium.org>
125
126         Reviewed by David Levin.
127
128         mouse-based selections are always directional on Windows/Linux
129         https://bugs.webkit.org/show_bug.cgi?id=25195
130
131         Change m_lastChangeWasHorizontalExtension to m_isDirectional
132         and make m_isDirectional always be true for Windows/Linux.
133
134         * editing/SelectionController.cpp:
135         (WebCore::SelectionController::SelectionController):
136         (WebCore::SelectionController::setSelection):
137         (WebCore::SelectionController::setIsDirectional):
138         (WebCore::SelectionController::willBeModified):
139         When double-clicking, the base/extent will be in the middle
140         of the selection instead of the start/end of it. Changed to
141         maintain that modifications after double-click still move the
142         start/end of the selection, not the base/extent.
143         (WebCore::SelectionController::modify):
144         * editing/SelectionController.h:
145         * page/EventHandler.cpp:
146         (WebCore::EventHandler::handleMousePressEventSingleClick):
147         (WebCore::EventHandler::updateSelectionForMouseDrag):
148
149 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
150
151         Revert r56565 which was based on an incorrect premise.
152
153         * page/animation/CompositeAnimation.cpp:
154         (WebCore::CompositeAnimation::clearRenderer):
155         (WebCore::CompositeAnimation::updateKeyframeAnimations):
156         (WebCore::CompositeAnimation::getAnimatedStyle):
157         (WebCore::CompositeAnimation::setAnimating):
158         (WebCore::CompositeAnimation::timeToNextService):
159         (WebCore::CompositeAnimation::getAnimationForProperty):
160         (WebCore::CompositeAnimation::suspendAnimations):
161         (WebCore::CompositeAnimation::resumeAnimations):
162         (WebCore::CompositeAnimation::isAnimatingProperty):
163         (WebCore::CompositeAnimation::pauseAnimationAtTime):
164         (WebCore::CompositeAnimation::numberOfActiveAnimations):
165
166 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
167
168         Reviewed by Eric Carlson.
169
170         Make calls to m_keyframeAnimations.checkConsistency() debug-only
171         https://bugs.webkit.org/show_bug.cgi?id=36555
172
173         Remove lots of calls to m_keyframeAnimations.checkConsistency(); which were left after some earlier
174         debugging. Leave one in CompositeAnimation::animate() to catch any future issues, which is OK since
175         these calls are no-ops in release builds.
176         
177         * page/animation/CompositeAnimation.cpp:
178         (WebCore::CompositeAnimation::clearRenderer):
179         (WebCore::CompositeAnimation::updateKeyframeAnimations):
180         (WebCore::CompositeAnimation::getAnimatedStyle):
181         (WebCore::CompositeAnimation::setAnimating):
182         (WebCore::CompositeAnimation::timeToNextService):
183         (WebCore::CompositeAnimation::getAnimationForProperty):
184         (WebCore::CompositeAnimation::suspendAnimations):
185         (WebCore::CompositeAnimation::resumeAnimations):
186         (WebCore::CompositeAnimation::isAnimatingProperty):
187         (WebCore::CompositeAnimation::pauseAnimationAtTime):
188         (WebCore::CompositeAnimation::numberOfActiveAnimations):
189
190 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
191
192         Reviewed by Geoffrey Garen.
193
194         https://bugs.webkit.org/show_bug.cgi?id=36557
195         Animations use the wrong timing-function sometimes
196         
197         Fix an issue where animations picked the wrong style for their "unanimated" value.
198         
199         Previously, the "unanimated" style was considered to be the style before the animation
200         was applied. This caused us to pick up stale values for animation timing functions, for
201         blending when a property is missing from the first keyframe, and for resuming transitions
202         once an animation ends.
203         
204         Instead, we need to use the "current" style, which is the one that causes the animation
205         to kick off.
206
207         Tests: animations/longhand-timing-function.html
208                animations/transition-and-animation-3.html
209                animations/unanimated-style.html
210
211         * page/animation/CompositeAnimation.cpp:
212         (WebCore::CompositeAnimation::updateKeyframeAnimations):
213
214 2010-03-25  Gavin Barraclough  <barraclough@apple.com>
215
216         Reviewed by Geoff Garen.
217
218         Bug 36611 - Cleanup JSC::CString
219         Rename CString::c_str() -> CString::data(), CString::size() -> CString::length(),
220         remove UString::getCString() (all uses are wrong, should use UString::UTF8String()).
221
222         * bridge/NP_jsobject.cpp:
223         (_NPN_Enumerate):
224         * bridge/c/c_utility.cpp:
225         (JSC::Bindings::convertValueToNPVariant):
226         * bridge/jni/jsc/JNIBridgeJSC.cpp:
227         (JavaField::valueFromInstance):
228         (JavaField::setValueToInstance):
229         * bridge/jni/jsc/JavaInstanceJSC.cpp:
230         (JavaInstance::invokeMethod):
231         * bridge/jni/jsc/JavaStringJSC.h:
232         (JSC::Bindings::JavaStringImpl::UTF8String):
233
234 2010-03-25  Jakub Wieczorek  <jwieczorek@webkit.org>
235
236         Reviewed by Eric Seidel.
237
238         [Qt] RenderTheme: fix size adjustment for text fields
239         https://bugs.webkit.org/show_bug.cgi?id=36413
240
241         To match other ports, remove the hardcoded dimensions for text fields so that
242         the default ones from WebCore can be used.
243         Properly apply the correct padding to text areas - this fixes their appearance
244         with the Oxygen style.
245
246         * platform/qt/RenderThemeQt.cpp:
247         (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
248
249 2010-03-25  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
250
251         Reviewed by Simon Hausmann.
252
253         [Qt] Implement ChromeClient::windowResizerRect()
254
255         https://bugs.webkit.org/show_bug.cgi?id=21300
256
257         The helper function geometryRelativeToOwnerWidget() in the page
258         client is used to clip the resize rect to the actual size of the
259         viewport, not the size of the QGraphicsView.
260
261         * platform/qt/QWebPageClient.h:
262
263 2010-03-25  Joseph Pecoraro  <joepeck@webkit.org>
264
265         Reviewed by Pavel Feldman.
266
267         Web Inspector: reloading debug target window with cmd-R from inspector window produces beep.
268         https://bugs.webkit.org/show_bug.cgi?id=36554
269
270         * inspector/front-end/inspector.js:
271         (WebInspector.documentKeyDown): prevent the default behavior, if handled, which would result in a system beep.
272
273 2010-03-25  Jochen Eisinger  <jochen@chromium.org>
274
275         Reviewed by Jeremy Orlow.
276
277         Forward DatabaseTracker::canEstablishDatabase to chromium layer.
278         https://bugs.webkit.org/show_bug.cgi?id=36595
279
280         * storage/chromium/DatabaseObserver.h:
281         * storage/chromium/DatabaseTrackerChromium.cpp:
282         (WebCore::DatabaseTracker::canEstablishDatabase):
283
284 2010-03-25  yael aharon  <yael.aharon@nokia.com>
285
286         Reviewed by Laszlo Gombos.
287
288         [Qt] Windowed netscape plugins don't work with QGraphicsWebView on Symbian
289         https://bugs.webkit.org/show_bug.cgi?id=35112
290
291         Add a proxy widget when loading a QWidget based plugin in a QGraphicsWebView.
292
293         * plugins/symbian/PluginContainerSymbian.cpp:
294         (PluginContainerSymbian::PluginContainerSymbian):
295         (PluginContainerSymbian::focusInEvent):
296         * plugins/symbian/PluginContainerSymbian.h:
297         (WebCore::PluginContainerSymbian::proxy):
298         * plugins/symbian/PluginViewSymbian.cpp:
299         (WebCore::PluginView::updatePluginWidget):
300         (WebCore::PluginView::platformStart):
301         (WebCore::PluginView::platformDestroy):
302
303 2010-03-25  Simon Fraser  <simon.fraser@apple.com>
304
305         Reviewed by Adele Peterson.
306
307         https://bugs.webkit.org/show_bug.cgi?id=35714
308         Computed style on delayed transform animations is incorrect
309         
310         When fetching computed style while a delayed accelerated animation is in effect,
311         we would get the value form the first keyframe, rather than getting the current
312         style.
313         
314         Fix by checking to see whether we've in the delay phase (with no backwards-fill)
315         in KeyframeAnimation::getAnimatedStyle().
316
317         Test: compositing/animation/computed-style-during-delay.html
318
319         * page/animation/KeyframeAnimation.cpp:
320         (WebCore::KeyframeAnimation::getAnimatedStyle):
321
322 2010-03-25  Yury Semikhatsky  <yurys@chromium.org>
323
324         Reviewed by Pavel Feldman.
325
326         Initialize Web Inspector title with inspected page URL when opening Web Inspector.
327
328         https://bugs.webkit.org/show_bug.cgi?id=36534
329
330         * inspector/InspectorController.cpp:
331         (WebCore::InspectorController::setFrontend):
332
333 2010-03-25  Antti Koivisto  <koivisto@iki.fi>
334
335         Reviewed by Kenneth Rohde Christiansen.
336
337         https://bugs.webkit.org/show_bug.cgi?id=36316
338         Tiles of selected content do not update if not in viewport
339         
340         Don't clip repaints to viewport when tiling is enabled.
341
342         * page/Frame.cpp:
343         (WebCore::Frame::setView):
344         (WebCore::Frame::setTiledBackingStoreEnabled):
345
346 2010-03-25  Diego Gonzalez  <diego.gonzalez@openbossa.org>
347
348         Reviewed by Eric Seidel.
349
350         Missing forward ENABLE_DATALIST macro to JavaScript enabled features macros
351         on WebKit.pri
352
353         [Qt] Forward ENABLE_DATALIST macro to JavaScript enabled macros
354         https://bugs.webkit.org/show_bug.cgi?id=36547
355
356         * WebCore.pri:
357
358 2010-03-25  Pavel Feldman  <pfeldman@chromium.org>
359
360         Reviewed by Timothy Hatcher.
361
362         Web Inspector: Expect console object wrapping to fail.
363
364         https://bugs.webkit.org/show_bug.cgi?id=36587
365
366         * inspector/front-end/InjectedScript.js:
367         (injectedScriptConstructor):
368
369 2010-03-25  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
370
371         Reviewed by Eric Seidel.
372
373         https://bugs.webkit.org/show_bug.cgi?id=36371
374         [Gtk] Elements with a title attribute should not be ignored
375
376         * accessibility/AccessibilityRenderObject.cpp:
377         (AccessibilityRenderObject::accessibilityIsIgnored):
378
379 2010-03-24  Steve Block  <steveblock@google.com>
380
381         Reviewed by David Levin.
382
383         Adds a missing ENABLE(WORKERS) guards to the V8 bindings.
384         https://bugs.webkit.org/show_bug.cgi?id=36550
385
386         Build fix only, no new tests.
387
388         * bindings/v8/V8DOMWrapper.cpp:
389         (WebCore::V8DOMWrapper::instantiateV8Object):
390
391 2010-03-25  Leandro Pereira  <leandro@profusion.mobi>
392
393         Reviewed by Eric Seidel.
394
395         Add EFL-specific code to platform/ScrollView.cpp and
396         platform/Scrollbar.cpp.
397         http://webkit.org/b/36305
398
399         * platform/ScrollView.cpp:
400         * platform/Scrollbar.cpp:
401
402 2010-03-25  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
403
404         Reviewed by Eric Seidel.
405
406         [Qt]Fix compile error with QT_NO_LIBRARY
407         https://bugs.webkit.org/show_bug.cgi?id=36533
408
409         * platform/FileSystem.h:
410         * platform/qt/FileSystemQt.cpp:
411         (WebCore::unloadModule):
412
413 2010-03-25  Tasuku Suzuki  <tasuku.suzuki@nokia.com>
414
415         Reviewed by Eric Seidel.
416
417         [Qt]Fix compile error with QT_NO_ANIMATION
418         https://bugs.webkit.org/show_bug.cgi?id=36526
419
420         * platform/graphics/qt/GraphicsLayerQt.cpp:
421         (WebCore::GraphicsLayerQtImpl::~GraphicsLayerQtImpl):
422         * platform/graphics/qt/GraphicsLayerQt.h:
423
424 2010-03-25  Tony Chang  <tony@chromium.org>
425
426         Reviewed by Eric Seidel.
427
428         https://bugs.webkit.org/show_bug.cgi?id=33697
429         Have dragOpFromIEOp("move") return DragOperationGeneric | DragOperationMove
430         because only returning Generic doesn't work for platforms that don't
431         have a generic operation.
432
433         Covered by existing tests (fast/events/drag-and-drop.html).
434
435         * dom/Clipboard.cpp:
436         (WebCore::dragOpFromIEOp):
437         (WebCore::Clipboard::destinationOperation):
438         (WebCore::Clipboard::setDestinationOperation):
439
440 2010-03-25  Fumitoshi Ukai  <ukai@chromium.org>
441
442         Reviewed by Eric Seidel.
443
444         [Qt] websocket/tests/long-invalid-header.html fails
445         https://bugs.webkit.org/show_bug.cgi?id=36492
446
447         trim message at most 128 bytes from the current position.
448         I believe it's enough data to investigate the error reason and
449         it makes test not depend on buffered size.
450
451         * websockets/WebSocketHandshake.cpp:
452         (WebCore::trimConsoleMessage):
453         (WebCore::WebSocketHandshake::readServerHandshake):
454         (WebCore::WebSocketHandshake::readHTTPHeaders):
455
456 2010-03-24  Jon Honeycutt  <jhoneycutt@apple.com>
457
458         <rdar://problem/7780798> Missing plug-ins should be represented by text
459         only, instead of lego block
460
461         https://bugs.webkit.org/show_bug.cgi?id=36583
462
463         Reviewed by Dan Bernstein.
464
465         * rendering/RenderEmbeddedObject.cpp:
466         (WebCore::RenderEmbeddedObject::paintReplaced):
467         Set the font rendering mode and the computed size, so that the text will
468         draw properly on Windows.
469
470 2010-03-24  Vangelis Kokkevis  <vangelis@chromium.org>
471
472         Reviewed by Dimitri Glazkov.
473
474         Removing unecessary redraws of LayerSkia contents:
475         https://bugs.webkit.org/show_bug.cgi?id=36470
476
477         Test: No new functionality added, no tests.
478
479         * platform/graphics/skia/LayerRendererSkia.cpp:
480         (WebCore::LayerRendererSkia::drawLayerInCanvasRecursive):
481         Debug borders now rendered at composite time rather than update time.
482         * platform/graphics/skia/LayerSkia.cpp:
483         (WebCore::LayerSkia::updateContents):
484         (WebCore::LayerSkia::drawDebugBorder):
485         Debug border drawing removed from updateContents and split into a separate method that
486         can be called at composite time.
487         (WebCore::LayerSkia::setBounds):
488         Resetting the bounds causes the layer to redraw its contents.
489         (WebCore::LayerSkia::setNeedsDisplay):
490         * platform/graphics/skia/LayerSkia.h:
491         Added declaration for drawDebugBorders method.
492
493 2010-03-24  Mark Rowe  <mrowe@apple.com>
494
495         Revert the portion of r56489 that dealt with port zero as it introduced some test failures.
496
497         * platform/KURL.cpp:
498         (WebCore::KURL::port): Use the "ok" argument to charactersToUIntStrict to determine whether
499         it was able to successfully parse the string as an unsigned integer, rather than relying on
500         the fact it returned zero when it failed.
501
502 2010-03-24  Gavin Barraclough  <barraclough@apple.com>
503
504         Reviewed by Sam Weinig.
505
506         * platform/text/String.cpp:
507         (WebCore::putUTF8Triple): Correct capitalization of function name.
508         (WebCore::String::utf8): Fix C-style casts.
509         (WebCore::String::fromUTF8): Remove unnecessary newline.
510         (WebCore::String::fromUTF8WithLatin1Fallback): Use early return.
511
512 2010-03-24  Mark Rowe  <mrowe@apple.com>
513
514         Reviewed by Darin Adler.
515
516         WebKit should treat port numbers outside the valid range as being blacklisted
517         <http://webkit.org/b/36571> / <rdar://problem/7790908>
518
519         * platform/KURL.cpp:
520         (WebCore::KURL::port): Map invalid port numbers to invalidPortNumber.
521         (WebCore::portAllowed): Add invalidPortNumber to the blacklist.
522         * platform/KURLGoogle.cpp:  invalid port numbers to invalidPortNumber.
523         (WebCore::KURL::port): Add invalidPortNumber to the blacklist.
524         Also bring this in to sync with KURL.  Having this identical code in two places is stupid.
525
526 2010-03-24  Sam Weinig  <sam@webkit.org>
527
528         Reviewed by Mark Rowe.
529
530         Add some missing exports.
531
532         * WebCore.base.exp:
533
534 2010-03-24  Gavin Barraclough  <barraclough@apple.com>
535
536         Reviewed by Sam Weinig.
537
538         Switch String::latin1, String::utf8, String::fromUTF8 to
539         use WTF's Unicode conversion methods rather than TextEncoder.
540         These methods only perform simple conversion, and don't need
541         really require TextEncoder's full capability (to look up arbitrary
542         encodings by name), switching to only be dependent on WTF will
543         make it easier if we chose to move WebCore::String to WTF.
544
545         * platform/text/String.cpp:
546         (WebCore::String::latin1):
547         (WebCore::putUTF8triple):
548         (WebCore::String::utf8):
549         (WebCore::String::fromUTF8):
550
551 2010-03-24  Dmitry Titov  <dimich@chromium.org>
552
553         No review, rolling out r56453.
554         http://trac.webkit.org/changeset/56453
555         https://bugs.webkit.org/show_bug.cgi?id=36426
556
557         In Chromium port, it broke invalid-image-data-standalone.html
558         invalid-image-data.html multipart-wait-before-boundary.html
559         stop-crash.html win-boundary-crash.html
560
561         * loader/FrameLoader.cpp:
562         (WebCore::FrameLoader::finishedLoadingDocument):
563
564 2010-03-24  Ilya Tikhonovsky  <loislo@chromium.org>
565
566         Reviewed by Pavel Feldman.
567
568         Web Inspector: Significant scroll speed degradation if Timeline has
569         an expanded record with significant number of children.
570         https://bugs.webkit.org/show_bug.cgi?id=36543
571
572
573         * inspector/front-end/TimelinePanel.js:
574         (WebInspector.TimelinePanel.prototype._updateBoundaries):
575         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
576         (WebInspector.TimelinePanel.prototype._filterRecords):
577         (WebInspector.TimelinePanel.prototype._refreshRecords):
578
579 2010-03-24  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
580
581         Reviewed by Eric Carlson.
582
583         [GStreamer] Fails to go to Loaded state because of floating point discrepancies
584         https://bugs.webkit.org/show_bug.cgi?id=35891
585
586         Use the m_fillStatus variable, which is more reliable, instead of
587         using the calculation, for the completed case.
588
589         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
590         (WebCore::MediaPlayerPrivate::fillTimerFired):
591
592 2010-03-24  Dmitry Titov  <dimich@chromium.org>
593
594         Unreviewed, Chromium test fix.
595
596         Recent r56445 added CustomEvent and a test but it didn't work on Chromium bots.
597         Test crashed due to infinte recursion because the compiler did not have the right definition of toV8(CustomEvent*)
598         and was substituting toV8(Event*).
599
600         Fixing test fast/events/custom-event.html
601
602         * bindings/v8/custom/V8EventCustom.cpp:
603
604 2010-03-24  MORITA Hajime  <morrita@google.com>
605
606         Reviewed by Darin Adler.
607
608         Refactoring: HTMLFormControlElement should not have redundant null check
609         https://bugs.webkit.org/show_bug.cgi?id=36487
610         
611         No new tests as there is no new functionality.        
612
613         * html/HTMLFormControlElement.cpp:
614         (WebCore::HTMLFormControlElement::dispatchFocusEvent):
615         (WebCore::HTMLFormControlElement::dispatchBlurEvent):
616
617 2010-03-24  Eric Uhrhane  <ericu@chromium.org>
618
619         Reviewed by Alexey Proskuryakov.
620
621         DOMCoreException needs NoStaticTables modifier
622         https://bugs.webkit.org/show_bug.cgi?id=36458
623
624         No new tests, but this shows up in tests of Database accesses from the
625         Worker thread that I'll be checking in soon.  The symptom is that
626         DOMCoreException.toString() returns [object DOMException] instead of
627         something more helpful.
628
629         * dom/DOMCoreException.idl:  Added NoStaticTables.
630
631 2010-03-24  Drew Wilson  <atwilson@chromium.org>
632
633         Reviewed by Dmitry Titov.
634
635         Failed assertion in V8Proxy::setDOMException() if worker is shutting down.
636         https://bugs.webkit.org/show_bug.cgi?id=36514
637
638         Test: none (existing worker tests suffice)
639
640         * bindings/v8/V8Proxy.cpp:
641         (WebCore::V8Proxy::setDOMException):
642         Updated setDOMException() to check for an empty exception (due to no active context) and avoid throwing in that case.
643
644 2010-03-23  Evan Martin  <evan@chromium.org>
645
646         Reviewed by Dmitry Titov.
647
648         [chromium] use integral glyph widths
649         https://bugs.webkit.org/show_bug.cgi?id=36510
650
651         Despite WebKit (and Skia, to an extent) supporting non-integral
652         glyph widths, the font code path we hit in Skia only supports
653         integral glyph positions.  This means that we would accumulate
654         offsets when drawing a sequence up non-integer-width glyphs
655         which would cause gaps when snapped to the pixel grid when drawing.
656
657         * platform/graphics/chromium/SimpleFontDataLinux.cpp:
658         (WebCore::SimpleFontData::platformWidthForGlyph):
659         round glyph widths to integers.
660
661 2010-03-24  Dean Jackson  <dino@apple.com>
662
663         Reviewed by Kevin Decker.
664
665         <rdar://problem/7785305>
666         Fix regression caused by r55576. It turned out that ensuring
667         CoreAnimation always gets a correct fill parameter caused flashing
668         as non-filled animations ended (CA briefly showed the initial animation
669         value before the style system set the final value).
670
671         * platform/graphics/mac/GraphicsLayerCA.mm:
672         (WebCore::GraphicsLayerCA::setupAnimation):
673
674 2010-03-24  Hayato Ito  <hayato@chromium.org>
675
676         Reviewed by Shinichiro Hamaji.
677
678         Refactor computePageRects so that Mac can make use of it.
679         https://bugs.webkit.org/show_bug.cgi?id=36159
680
681         Refactoring only, so no new tests.
682
683         * WebCore.base.exp:
684         * page/PrintContext.cpp:
685         (WebCore::PrintContext::computePageRects):
686         (WebCore::PrintContext::computePageRectsWithPageSize):
687         (WebCore::PrintContext::computePageRectsWithPageSizeInternal):
688         (WebCore::PrintContext::pageNumberForElement):
689         (WebCore::PrintContext::numberOfPages):
690         * page/PrintContext.h:
691
692 2010-03-24  Jeremy Moskovich  <jeremy@chromium.org>
693
694         Reviewed by Jeremy Orlow.
695
696         Add some diagnostics to try to track down cause of crash in ArchiveFactory::isArchiveMimeType().
697
698         https://bugs.webkit.org/show_bug.cgi?id=36426
699
700         No new tests as there is no new functionality.
701
702         * loader/FrameLoader.cpp:
703         (WebCore::FrameLoader::finishedLoadingDocument): Make copy of mimeType string to isolate crash.
704
705 2010-03-24  Anton Muhin  <antonm@chromium.org>
706
707         Reviewed by Nate Chapin.
708
709         Use newly introduced SetPrototype method to deal with global objects.
710         https://bugs.webkit.org/show_bug.cgi?id=36497
711
712         No new tests, should be covered by the current test infrastructure.
713
714         * bindings/v8/V8DOMWindowShell.cpp:
715         (WebCore::V8DOMWindowShell::installDOMWindow):
716         * bindings/v8/V8DOMWrapper.cpp:
717         (WebCore::V8DOMWrapper::getConstructor):
718         * bindings/v8/WorkerContextExecutionProxy.cpp:
719         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
720
721 2010-03-24  Dmitry Titov  <dimich@chromium.org>
722
723         Unreviewed, Chromium build fix.
724
725         * platform/chromium/PopupMenuChromium.cpp:
726         (WebCore::PopupContainer::PopupContainer): Fix order of initializers.
727         (WebCore::PopupContainer::layout): Remove unused variable.
728
729 2010-03-23  Kenneth Rohde Christiansen  <kenneth@webkit.org>
730
731         Reviewed by Simon Hausmann.
732
733         Add a way to check if the page client is making use of
734         a QWidget.
735
736         * platform/qt/QWebPageClient.h:
737         (QWebPageClient::isQWidgetClient):
738
739 2010-03-24  Jay Campan  <jcampan@google.com>
740
741         Reviewed by Darin Fisher.
742
743         Making Chromium select popups not steal activation from the browser.
744         Select popups are now like autocomplete popups, shown in non-activated
745         windows.
746         https://bugs.webkit.org/show_bug.cgi?id=36062
747
748         * page/chromium/ChromeClientChromium.h:
749         * platform/chromium/PopupMenuChromium.cpp:
750         (WebCore::):
751         (WebCore::PopupListBox::setMaxHeight):
752         (WebCore::PopupListBox::disconnectClient):
753         (WebCore::PopupListBox::PopupListBox):
754         (WebCore::PopupContainer::create):
755         (WebCore::PopupContainer::PopupContainer):
756         (WebCore::PopupContainer::showPopup):
757         (WebCore::PopupContainer::showExternal):
758         (WebCore::PopupContainer::hidePopup):
759         (WebCore::PopupContainer::layout):
760         (WebCore::PopupContainer::chromeClientChromium):
761         (WebCore::PopupListBox::hidePopup):
762         (WebCore::PopupListBox::layout):
763         (WebCore::PopupMenu::~PopupMenu):
764         (WebCore::PopupMenu::show):
765         * platform/chromium/PopupMenuChromium.h:
766         (WebCore::PopupItem::):
767         (WebCore::PopupItem::PopupItem):
768         (WebCore::PopupContainerSettings::):
769         (WebCore::PopupContainer::):
770         (WebCore::PopupContainer::listBox):
771         (WebCore::PopupContainer::popupType):
772
773 2010-03-10  David Levin  <levin@chromium.org>
774
775         Reviewed by Oliver Hunt.
776
777         Need to move items that CanvasRenderingContext2D depends on into CanvasSurface.
778         https://bugs.webkit.org/show_bug.cgi?id=35453
779
780         Prepartory changes to allow for an OffscreenCanvas which may be used in a worker
781         or outside of the DOM.
782
783         No change in functionality, so new tests.
784
785         * dom/CanvasSurface.cpp: Moved functionality that CanvasRenderingContext2D depends on
786         into this class (and removed dependencies on document/html element).
787         (WebCore::CanvasSurface::CanvasSurface):
788         (WebCore::CanvasSurface::~CanvasSurface): Put the desctructor in the cpp file
789         to avoid needing access to ~ImageBuffer in the header file.
790         (WebCore::CanvasSurface::setSurfaceSize): Does basic items needed
791         when the size changes. It is protected to force outside callers to go
792         through HTMLCanvasElement::setSize.
793         (WebCore::CanvasSurface::toDataURL): Just moved from HTMLCanvasElement and
794         made a note about a method to fix for worker usage.
795         (WebCore::CanvasSurface::willDraw): Made this virtual to allow an overide
796         which uses the renderbox and tracks a dirtyRect.
797         (WebCore::CanvasSurface::convertLogicalToDevice): Moved and changed to
798         rely on a member variable for page scale (to avoid using the document).
799         (WebCore::CanvasSurface::createImageBuffer):
800         (WebCore::CanvasSurface::drawingContext): Simple move from HTMLCanvasElement.
801         (WebCore::CanvasSurface::buffer): Ditto.
802         (WebCore::CanvasSurface::baseTransform): Ditto.
803         * dom/CanvasSurface.h:
804         (WebCore::CanvasSurface::width): Simple move from HTMLCanvasElement.
805         (WebCore::CanvasSurface::height): Ditto.
806         (WebCore::CanvasSurface::size): Ditto.
807         (WebCore::CanvasSurface::setOriginTainted): Ditto.
808         (WebCore::CanvasSurface::originClean): Ditto.
809         (WebCore::CanvasSurface::hasCreatedImageBuffer): Ditto (with small name change).
810         * html/HTMLCanvasElement.cpp:
811         (WebCore::HTMLCanvasElement::HTMLCanvasElement): Pass in the scale factor to CanvasSurface
812         so it doesn't need the document.
813         (WebCore::HTMLCanvasElement::willDraw): Moved the relevant portion to CanvasSurface.
814         (WebCore::HTMLCanvasElement::reset): Small changes due to refactoring.
815         (WebCore::HTMLCanvasElement::paint): Ditto.
816         * html/HTMLCanvasElement.h:
817         (WebCore::HTMLCanvasElement::setSize): Ditto.
818         * platform/MIMETypeRegistry.cpp:
819         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding): Added assert
820         to verify that this is only called on the main thread.
821         * platform/graphics/Image.cpp:
822         (WebCore::Image::nullImage): Ditto.
823         * platform/graphics/cg/ImageBufferCG.cpp:
824         (WebCore::utiFromMIMEType): Ditto.
825
826 2010-03-24  Alexander Pavlov  <apavlov@chromium.org>
827
828         Reviewed by Pavel Feldman.
829
830         Inspector: XML Tags should not be converted to lowercase
831         https://bugs.webkit.org/show_bug.cgi?id=28600
832
833         * inspector/front-end/ElementsPanel.js:
834         (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
835         (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
836         * inspector/front-end/ElementsTreeOutline.js:
837         (WebInspector.ElementsTreeOutline.prototype.nodeNameToCorrectCase):
838         (WebInspector.ElementsTreeElement.prototype._updateChildren):
839         (WebInspector.ElementsTreeElement.prototype._nodeTitleInfo):
840
841 2010-03-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
842
843         Reviewed by Antti Koivisto.
844
845         Add support for DOM Level 3 Custom Event
846         http://www.w3.org/TR/DOM-Level-3-Events
847
848         V8 Generator change by Nate Chapin <japhet@chromium.org>, Thanks!
849
850         Test: fast/events/custom-event.html
851
852         * DerivedSources.cpp:
853         * GNUmakefile.am:
854         * WebCore.gypi:
855         * WebCore.pri:
856         * WebCore.pro:
857         * WebCore/DerivedSources.make:
858         * WebCore.vcproj/WebCore.vcproj:
859         * WebCore.xcodeproj/project.pbxproj:
860         * bindings/js/JSEventCustom.cpp:
861         (WebCore::toJS):
862         * bindings/scripts/CodeGeneratorJS.pm:
863         * bindings/scripts/CodeGeneratorV8.pm:
864         * dom/CustomEvent.cpp: Added.
865         (WebCore::CustomEvent::CustomEvent):
866         (WebCore::CustomEvent::initCustomEvent):
867         (WebCore::CustomEvent::isCustomEvent):
868         * dom/CustomEvent.h: Added.
869         (WebCore::CustomEvent::create):
870         (WebCore::CustomEvent::detail):
871         * dom/Document.cpp:
872         (WebCore::Document::createEvent):
873         * dom/Event.cpp:
874         (WebCore::Event::isCustomEvent):
875         * dom/Event.h:
876
877 2010-03-24  Alexander Pavlov  <apavlov@chromium.org>
878
879         Reviewed by Pavel Feldman.
880
881         Web Inspector: Error when highlighting JavaScript with an invalid mime type
882         https://bugs.webkit.org/show_bug.cgi?id=36530
883
884         * inspector/front-end/SourceTokenizer.js:
885         (WebInspector.SourceTokenizer.Registry):
886         * inspector/front-end/SourceView.js:
887         (WebInspector.SourceView.prototype._contentLoaded):
888         (WebInspector.SourceView.prototype._canonicalMimeType):
889         * inspector/front-end/TextEditorHighlighter.js:
890         (WebInspector.TextEditorHighlighter):
891
892 2010-03-24  Pavel Feldman  <pfeldman@chromium.org>
893
894         Not reviewed. Chromium test fix: added a frameCount check to the
895         debugger function call.
896
897         * bindings/v8/V8Proxy.cpp:
898         (WebCore::V8Proxy::createUtilityContext):
899
900 2010-03-19  Miikka Heikkinen  <miikka.heikkinen@digia.com>
901
902         Reviewed by Simon Hausmann.
903
904         [Qt] Support for QT_LIBINFIX in Symbian builds
905
906         Configuring Qt with -qtlibinfix parameter will enable installing
907         an alternate version of Qt on devices that already have it on ROM.
908         This patch provides support for infixed builds of Webkit.
909
910         * WebCore.pro:
911
912 2010-03-24  Kent Tamura  <tkent@chromium.org>
913
914         Reviewed by Darin Adler.
915
916         Make Icon::createIconForFiles() optional.
917         https://bugs.webkit.org/show_bug.cgi?id=35072
918
919         r54923 made Icon::createIconForFiles() deprecated. However moving
920         existing icon loading code to outside of WebCore is not good.  So,
921         we assume:
922         - ChromeClient::chooseIconForFiles(), renamed from iconForFiles(), is
923           the primary API to load icons.
924         - Icon::createIconForFiles() is an optional API to help
925           implementing ChromeClient::iconForFiles().
926
927         This patch removes a call to Icon::createIconForFiles() from
928         FileChooser::loadIcon(), and ChromeClient::chooseIconForFiles() of
929         non-Chromium ports calls Icon::createIconForFiles().
930
931         * WebCore.base.exp: Export FileChooser::iconLoaded(),
932           Icon::createIconForFiles(), and Icon::~Icon().
933         * WebCore.xcodeproj/project.pbxproj: Export Icon.h
934         * loader/EmptyClient.h: Rename iconForFiles() to chooseIconForFiles().
935         * page/Chrome.cpp: ditto.
936         * page/Chrome.h: ditto.
937         * page/ChromeClient.h: ditto.
938         * platform/FileChooser.cpp:
939         (WebCore::FileChooser::loadIcon):
940         * platform/graphics/Icon.h: Remove a comment on createIconForFiles().
941         * platform/graphics/chromium/IconChromiumLinux.cpp: Remove createIconForFiles().
942         * platform/graphics/chromium/IconChromiumMac.cpp: ditto.
943         * platform/graphics/chromium/IconChromiumWin.cpp: ditto.
944         * rendering/RenderFileUploadControl.cpp: Rename iconForFiles() to chooseIconForFiles().
945         * rendering/RenderFileUploadControl.h: ditto.
946
947 2010-03-23  Dan Bernstein  <mitz@apple.com>
948
949         Fixed typos.
950
951         * manual-tests/plugin-visible-rect-change.html:
952
953 2010-03-23  Dan Bernstein  <mitz@apple.com>
954
955         Reviewed by John Sullivan.
956
957         WebCore part of
958         <rdar://problem/7197736> Plug-in clip rect does not update when overflow
959         clip changes
960         https://bugs.webkit.org/show_bug.cgi?id=36479.
961
962         * manual-tests/plugin-visible-rect-change.html: Added.
963         * platform/mac/WidgetMac.mm:
964         (WebCore::WidgetPrivate::WidgetPrivate): Added previousVisibleRect.
965         (WebCore::Widget::setFrameRect): If the visible rect changed but the
966         frame rect did not, send a -visibleRectDidChange message to the view,
967         if it responds to it.
968         (WebCore::Widget::releasePlatformWidget): Reset previousVisibleRect.
969         * rendering/RenderWidget.cpp:
970         (WebCore::RenderWidget::setWidgetGeometry): Track changes to the clip rect
971         imposed by the enclosing layer. Call Widget::setFrameRect when it changes,
972         even if the frame rect did not.
973         * rendering/RenderWidget.h:
974         (WebCore::RenderWidget::windowClipRect): Added this accessor.
975
976 2010-03-23  Simon Fraser  <simon.fraser@apple.com>
977
978         Reviewed by Dan Bernstein.
979
980         Assertion ASSERTION FAILED: rootLayer == m_clipRectsRoot at hulu.com
981         https://bugs.webkit.org/show_bug.cgi?id=34065
982         
983         Fix another cause of assertions related to the clip rects root. Embeds
984         with zero size caused the overlap testing to fail, yet we require them to work
985         for correct compositing, so when the composited bounds is empty, use a 1x1 rect
986         for overlap testing.
987
988         Test: compositing/geometry/empty-embed-rects.html
989
990         * rendering/RenderLayerCompositor.cpp:
991         (WebCore::RenderLayerCompositor::addToOverlapMap):
992         (WebCore::RenderLayerCompositor::computeCompositingRequirements):
993
994 2010-03-23  David Levin  <levin@chromium.org>
995
996         Reviewed by Nate Chapin.
997
998         [chromium] XMLHttpRequest.send sends 'undefined' string when passed undefined value.
999         https://bugs.webkit.org/show_bug.cgi?id=36506
1000
1001         Test: http/tests/xmlhttprequest/send-undefined-and-null.html
1002
1003         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
1004         (WebCore::isDocumentType): Unrelated style fix: fixed the casing of the method.
1005         (WebCore::V8XMLHttpRequest::sendCallback): Added check for null/undefined to do the send.
1006         This mirrors what is done in the JSC bindings. Previously, sending 'null' worked because
1007         the last case, which did "toWebCoreStringWithNullCheck", resulted in sending an empty
1008         request body.
1009
1010 2010-03-23  Chris Evans  <cevans@chromium.org>
1011
1012         Reviewed by Darin Adler.
1013
1014         Fix hard-to-see crash due to incorrect libxml API usage.
1015
1016         https://bugs.webkit.org/show_bug.cgi?id=36000
1017
1018         Test: fast/text/bad-encoding.html
1019
1020         * dom/XMLTokenizerLibxml2.cpp:
1021         (WebCore::XMLTokenizer::doEnd): Avoid operations on a closed context.
1022
1023 2010-03-23  Nate Chapin  <japhet@chromium.org>
1024
1025         Unreviewed, revert r56376.
1026
1027         This revision introduced a crash in a couple of layout tests
1028         on Chromium Linux.
1029
1030         * page/chromium/ChromeClientChromium.h:
1031         * platform/chromium/PopupMenuChromium.cpp:
1032         (WebCore::):
1033         (WebCore::PopupContainer::create):
1034         (WebCore::PopupContainer::PopupContainer):
1035         (WebCore::PopupContainer::showPopup):
1036         (WebCore::PopupContainer::showExternal):
1037         (WebCore::PopupContainer::hidePopup):
1038         (WebCore::PopupMenu::show):
1039         * platform/chromium/PopupMenuChromium.h:
1040         (WebCore::PopupItem::):
1041         (WebCore::PopupItem::PopupItem):
1042         (WebCore::PopupContainerSettings::):
1043         (WebCore::PopupContainer::listBox):
1044
1045 2010-03-23  David Hyatt  <hyatt@apple.com>
1046
1047         Reviewed by Simon Fraser and Darin Adler.
1048
1049         https://bugs.webkit.org/show_bug.cgi?id=36272, make sure nth-child can work when the portion with "n" is omitted.
1050
1051         Added fast/css/nth-child-implied-step.html
1052
1053         * css/CSSGrammar.y:
1054         * css/tokenizer.flex:
1055
1056 2010-03-23  Darin Adler  <darin@apple.com>
1057
1058         Reviewed by Sam Weinig.
1059
1060         Reduce and straighten internal use of DOMImplementation
1061         https://bugs.webkit.org/show_bug.cgi?id=36501
1062
1063         * WebCore.xcodeproj/project.pbxproj: Xcode decided to
1064         re-sort this file.
1065
1066         * dom/Clipboard.cpp: Removed unneeded include of DOMImplementation.h.
1067
1068         * dom/DOMImplementation.cpp: Removed unneeded createDocument and
1069         createHTMLDocument functions. These should be done directly instead
1070         of involving the DOMImplementation class.
1071         * dom/DOMImplementation.h: Ditto.
1072
1073         * dom/DocumentType.cpp: Removed unneeded include of DOMImplementation.h.
1074
1075         * html/HTMLViewSourceDocument.cpp:
1076         (WebCore::HTMLViewSourceDocument::createTokenizer): Don't allocate a
1077         DOMImplementation object just to use a class member function.
1078
1079         * loader/CachedFont.cpp: Removed unneeded include of DOMImplementation.h.
1080
1081         * xml/XMLHttpRequest.cpp:
1082         (WebCore::XMLHttpRequest::responseXML): Use Document::create to create a
1083         new document instead of involving DOMImplementation.
1084         * xml/XSLTProcessor.cpp:
1085         (WebCore::XSLTProcessor::createDocumentFromSource): Ditto. And in the case
1086         where we do need to call DOMImplementation to interpret the MIME type,
1087         don't allocate a DOMImplementation object just to use a class member
1088         function.
1089
1090 2010-03-23  Luiz Agostini  <luiz.agostini@openbossa.org>
1091
1092         Reviewed by Kenneth Rohde Christiansen.
1093
1094         [Qt] Maemo5 theme - all <select> elements should be rendered as menu lists.
1095         https://bugs.webkit.org/show_bug.cgi?id=36367
1096
1097         Enabling NO_LISTBOX_RENDERING in WebCore.pri for Maemo5.
1098
1099         * WebCore.pri:
1100
1101 2010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
1102
1103         Reviewed by David Kilzer.
1104
1105         Upstream iPhone KeyEvent platform code and share with Mac platform
1106         https://bugs.webkit.org/show_bug.cgi?id=35870
1107
1108         * platform/iphone/KeyEventCodesIPhone.h: Improper comment for #endif.
1109         * platform/iphone/KeyEventIPhone.mm: Fixed headers.
1110
1111 2010-03-23  David Hyatt  <hyatt@apple.com>
1112
1113         Reviewed by Jeremy Orlow.
1114
1115         https://bugs.webkit.org/show_bug.cgi?id=36277, make sure nth-child supports the positive unary prefix (+) as well as the negative
1116         one (-).
1117
1118         Added fast/css/nth-child-unary-prefix.html
1119
1120         * css/tokenizer.flex:
1121
1122 2010-03-23  Andrey Kosyakov  <caseq@chromium.org>
1123
1124         Reviewed by Dmitry Titov.
1125
1126         Change notification sent to inspector frontend on workers creation / destruction
1127         to be posted asynchronously to avoid JS reenterability problems. Also, renamed
1128         willDestroyWorker to didDestroyWorker to reflect that it gets called later and got
1129         rid of explicit IDs for workers (use addresses instead).
1130         https://bugs.webkit.org/show_bug.cgi?id=36213
1131
1132         * inspector/InjectedScriptHost.cpp:
1133         (WebCore::InjectedScriptHost::didDestroyWorker):
1134         * inspector/InjectedScriptHost.h:
1135         * inspector/InjectedScriptHost.idl:
1136         * inspector/InspectorController.cpp:
1137         (WebCore::PostWorkerNotificationToFrontendTask::create):
1138         (WebCore::PostWorkerNotificationToFrontendTask::PostWorkerNotificationToFrontendTask):
1139         (WebCore::PostWorkerNotificationToFrontendTask::performTask):
1140         (WebCore::InspectorController::postWorkerNotificationToFrontend):
1141         (WebCore::InspectorController::didCreateWorker):
1142         (WebCore::InspectorController::didDestroyWorker):
1143         * inspector/InspectorController.h:
1144         (WebCore::InspectorController::):
1145         * inspector/InspectorFrontend.cpp:
1146         (WebCore::InspectorFrontend::didDestroyWorker):
1147         * inspector/InspectorFrontend.h:
1148         * inspector/InspectorWorkerResource.h:
1149         (WebCore::InspectorWorkerResource::create):
1150         (WebCore::InspectorWorkerResource::id):
1151         (WebCore::InspectorWorkerResource::InspectorWorkerResource):
1152         * inspector/front-end/InjectedFakeWorker.js:
1153         (InjectedFakeWorker.FakeWorker.prototype.terminate):
1154         * inspector/front-end/WorkersSidebarPane.js:
1155         (WebInspector.didDestroyWorker):
1156         * workers/AbstractWorker.cpp:
1157         (WebCore::AbstractWorker::AbstractWorker):
1158         (WebCore::AbstractWorker::onDestroyWorker):
1159         * workers/AbstractWorker.h:
1160         (WebCore::AbstractWorker::asID):
1161         * workers/SharedWorker.cpp:
1162         (WebCore::SharedWorker::SharedWorker):
1163         * workers/Worker.cpp:
1164         (WebCore::Worker::Worker):
1165
1166 2010-03-22  David Hyatt  <hyatt@apple.com>
1167
1168         Reviewed by Sam Weinig.
1169
1170         https://bugs.webkit.org/show_bug.cgi?id=36266, support DOM Level 3 focusin/focusout events.  Add support for
1171         IE onfocusin/onfocusout extensions to HTML.  The old DOM level 2 names (DOMFocusIn/DOMFocusOut are still supported).
1172
1173         Added fast/events/focusinout.html
1174
1175         * dom/Document.cpp:
1176         (WebCore::Document::setFocusedNode):
1177         * dom/Event.cpp:
1178         (WebCore::Event::aliasedType):
1179         (WebCore::Event::hasAliasedType):
1180         * dom/Event.h:
1181         * dom/EventNames.h:
1182         * dom/EventTarget.cpp:
1183         (WebCore::EventTarget::fireEventListeners):
1184         * dom/EventTarget.h:
1185         * dom/Node.cpp:
1186         (WebCore::Node::dispatchUIEvent):
1187         * html/HTMLAttributeNames.in:
1188         * html/HTMLButtonElement.cpp:
1189         (WebCore::HTMLButtonElement::parseMappedAttribute):
1190         * html/HTMLElement.cpp:
1191         (WebCore::HTMLElement::parseMappedAttribute):
1192         * html/HTMLFormControlElement.cpp:
1193         (WebCore::HTMLTextFormControlElement::parseMappedAttribute):
1194         * html/HTMLFrameSetElement.cpp:
1195         (WebCore::HTMLFrameSetElement::parseMappedAttribute):
1196         * html/HTMLSelectElement.cpp:
1197         (WebCore::HTMLSelectElement::parseMappedAttribute):
1198         * svg/SVGElement.cpp:
1199         (WebCore::SVGElement::parseMappedAttribute):
1200
1201 2010-03-23  MORITA Hajime  <morrita@google.com>
1202
1203         Reviewed by Alexey Proskuryakov.
1204
1205         WebCore::SelectionController::setSelection NULL pointer
1206         https://bugs.webkit.org/show_bug.cgi?id=31545
1207
1208         Added missing NULL-check that other APIs have.
1209
1210         Test: svg/dom/frame-related-api-during-load.html
1211
1212         * svg/SVGSVGElement.cpp:
1213         (WebCore::SVGSVGElement::deselectAll):
1214
1215 2010-03-23  Qi Zhang  <qi.2.zhang@nokia.com>
1216
1217         Reviewed by Simon Hausmann.
1218
1219         [Qt] LayoutTests/fast/canvas/fillrect_gradient.html failed
1220         https://bugs.webkit.org/show_bug.cgi?id=36444
1221
1222         Handle duplicated or unsorted colorStop at platformDestory
1223
1224         * platform/graphics/qt/GradientQt.cpp:
1225         (WebCore::Gradient::platformGradient):
1226
1227 2010-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
1228
1229         Unreviewed build fix.
1230
1231         Try to make the window buildbot happy.
1232
1233         * xml/XMLHttpRequestProgressEventThrottle.cpp:
1234         * xml/XMLHttpRequestProgressEventThrottle.h: Move initialization of the
1235         static const in the cpp file.
1236
1237 2010-03-23  Pavel Feldman  <pfeldman@chromium.org>
1238
1239         Reviewed by Timothy Hatcher.
1240
1241         Web Inspector: make gear menu appear on styles panel at all times.
1242
1243         https://bugs.webkit.org/show_bug.cgi?id=36490
1244
1245         * inspector/front-end/inspector.css:
1246
1247 2010-03-23  Pavel Feldman  <pfeldman@chromium.org>
1248
1249         Reviewed by Timothy Hatcher.
1250
1251         Web Inspector: render nodes in inherited style bars as links.
1252
1253         https://bugs.webkit.org/show_bug.cgi?id=36486
1254
1255         * English.lproj/localizedStrings.js:
1256         * inspector/front-end/BreakpointsSidebarPane.js:
1257         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement.breakpointClicked):
1258         (WebInspector.BreakpointsSidebarPane.prototype._appendBreakpointElement):
1259         * inspector/front-end/StylesSidebarPane.js:
1260         (WebInspector.StylesSidebarPane.prototype._update.else.insertInheritedNodeSeparator):
1261         (WebInspector.StylesSidebarPane.prototype._update):
1262         (WebInspector.StylesSidebarPane.prototype._selectNode):
1263         * inspector/front-end/inspector.js:
1264
1265 2010-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
1266
1267         Reviewed by Alexey Proskuryakov.
1268
1269         [XHR] onProgress event needs to be dispatched according to what the specification states
1270         https://bugs.webkit.org/show_bug.cgi?id=18654
1271
1272         Test: http/tests/xmlhttprequest/xmlhttprequest-50ms-download-dispatch.html
1273
1274         * Android.mk:
1275         * GNUmakefile.am:
1276         * WebCore.gypi:
1277         * WebCore.pro:
1278         * WebCore.vcproj/WebCore.vcproj:
1279         * WebCore.xcodeproj/project.pbxproj:
1280         Added XMLHttpRequestProgressEventThrottle to the build systems.
1281
1282         * xml/XMLHttpRequest.cpp:
1283         (WebCore::XMLHttpRequest::XMLHttpRequest): Created the throttle.
1284         (WebCore::XMLHttpRequest::callReadyStateChangeListener): The 'readyState' event are
1285         dispatched using the XMLHttpRequestProgressEventThrottle now. For the DONE state, we
1286         need to flush any pending progress event as we do not want it to be dispatched after
1287         the DONE readyState event.
1288         (WebCore::XMLHttpRequest::createRequest): Made this event use the
1289         XMLHttpRequestProgressEventThrottle for event dispatching.
1290         (WebCore::XMLHttpRequest::abort): Ditto.
1291         (WebCore::XMLHttpRequest::networkError): Ditto.
1292         (WebCore::XMLHttpRequest::abortError): Ditto.
1293         (WebCore::XMLHttpRequest::didReceiveData): Ditto. Also fixed a potential warning.
1294         (WebCore::XMLHttpRequest::suspend):
1295         (WebCore::XMLHttpRequest::resume): Implemented the logic for suspend / resume.
1296         * xml/XMLHttpRequest.h:
1297         * xml/XMLHttpRequestProgressEventThrottle.cpp: Added.
1298         (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
1299         (WebCore::XMLHttpRequestProgressEventThrottle::~XMLHttpRequestProgressEventThrottle):
1300         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent): Implemented the bulk
1301         of the event throttling here: we use a timer to do so, as long as the timer is active it means
1302         that events are coming faster than the throttling time and we coalesce them.
1303         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent): Generic method to dispatch an event.
1304         (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent): Called when we want to dispatch
1305         any pending events and stopping any further dispatching.
1306         (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent): Used to dispatch the event
1307         that was queued due to the object being suspended.
1308         (WebCore::XMLHttpRequestProgressEventThrottle::fired): Used to dispatch any coalesced event.
1309         (WebCore::XMLHttpRequestProgressEventThrottle::hasEventToDispatch): Used to check if we have
1310         an event to dispatch.
1311         (WebCore::XMLHttpRequestProgressEventThrottle::suspend): Marked the object as suspended.
1312         (WebCore::XMLHttpRequestProgressEventThrottle::resume): Dispatched the event that was queued.
1313         * xml/XMLHttpRequestProgressEventThrottle.h: Added.
1314         (WebCore::):
1315         (WebCore::XMLHttpRequestProgressEventThrottle::suspended):
1316
1317 2010-03-23  Pavel Feldman  <pfeldman@chromium.org>
1318
1319         Reviewed by Timothy Hatcher.
1320
1321         Web Inspector: Element inspector search funtion: Error dispatching: performSearch.
1322
1323         https://bugs.webkit.org/show_bug.cgi?id=36488
1324
1325         Test: inspector/elements-panel-search.html
1326
1327         * inspector/front-end/ElementsPanel.js:
1328         (WebInspector.ElementsPanel.prototype.performSearch):
1329         (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
1330         * inspector/front-end/InjectedScript.js:
1331         (injectedScriptConstructor.):
1332         (injectedScriptConstructor):
1333
1334 2010-03-23  Qi Zhang  <qi.2.zhang@nokia.com>
1335
1336         Reviewed by Simon Hausmann.
1337
1338         [Qt]  fast/canvas/patternfill-repeat.html failed.
1339         https://bugs.webkit.org/show_bug.cgi?id=34477
1340
1341         Change Pattern to expose the repeatX and repeatY
1342         At GraphicsContextQt to apply repeatX and repeatY
1343
1344         * platform/graphics/Pattern.h:
1345         (WebCore::Pattern::repeatX):
1346         (WebCore::Pattern::repeatY):
1347         * platform/graphics/qt/GraphicsContextQt.cpp:
1348         (WebCore::GraphicsContext::drawLine):
1349         (WebCore::GraphicsContext::fillRect):
1350         (WebCore::GraphicsContext::rotate):
1351
1352 2010-03-23  Alex Milowski  <alex@milowski.com>
1353
1354         Reviewed by Kenneth Rohde Christiansen.
1355
1356         Removed the use of beta STIX fonts.
1357
1358         * css/mathml.css:
1359
1360 2010-03-23  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
1361
1362         Reviewed by Holger Freyther.
1363
1364         [GTK] Does not build with latest GTK+ development release
1365         https://bugs.webkit.org/show_bug.cgi?id=36398
1366
1367         Fix building with newest GTK+ versions.
1368
1369         * GNUmakefile.am:
1370         * platform/gtk/GtkPluginWidget.cpp:
1371         (WebCore::GtkPluginWidget::invalidateRect):
1372         (WebCore::GtkPluginWidget::paint):
1373         * platform/gtk/GtkVersioning.h: Added.
1374         * platform/gtk/PlatformScreenGtk.cpp:
1375         (WebCore::getVisual):
1376         (WebCore::screenRect):
1377         (WebCore::screenAvailableRect):
1378         * platform/gtk/ScrollbarGtk.cpp:
1379         (ScrollbarGtk::paint):
1380         * plugins/gtk/gtk2xtbin.c:
1381         (gtk_xtbin_set_position):
1382         (gtk_xtbin_unrealize):
1383
1384 2010-03-23  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
1385
1386         Reviewed by Kenneth Rohde Christiansen.
1387
1388         [Qt] Remove support for Qt v4.4
1389         https://bugs.webkit.org/show_bug.cgi?id=36389
1390
1391         No new tests as there is no new functionality.
1392
1393         * WebCore.pri:
1394         * WebCore.pro:
1395         * platform/network/qt/ResourceHandleQt.cpp:
1396         (WebCore::ResourceHandle::willLoadFromCache):
1397         * platform/qt/CookieJarQt.cpp:
1398         (WebCore::setCookies):
1399         (WebCore::cookies):
1400         * platform/qt/KURLQt.cpp:
1401         (WebCore::KURL::operator QUrl):
1402         * platform/qt/ScrollbarThemeQt.cpp:
1403         (WebCore::ScrollbarThemeQt::paintScrollCorner):
1404         * plugins/mac/PluginViewMac.cpp:
1405
1406 2010-03-23  Kent Tamura  <tkent@chromium.org>
1407
1408         Reviewed by Adam Barth.
1409
1410         Add checks if setNeedsWillValidateCheck() and
1411         setNeedsValidityCheck() are called correctly.
1412         https://bugs.webkit.org/show_bug.cgi?id=34924
1413
1414         Introduce HTMLFormControlElement::m_willValidate and
1415         m_isValid. They are the caches of willValidate() and
1416         isValidFormControlElement(). setNeedsWillValidateCheck() updates
1417         m_willValidate and setNeedsValidityCheck() updates m_isValid.
1418
1419         willValidate() and isValidFormControlElement() have assertions to
1420         check m_willvalidate or m_isValid has the correct state. If
1421         setNeedsWillValidateCheck() or setNeedsValidityCheck() is needed
1422         to be called and is not called, these assertions fail.
1423
1424         * html/HTMLButtonElement.h:
1425         (WebCore::HTMLButtonElement::recalcWillValidate):
1426         * html/HTMLFieldSetElement.h:
1427         (WebCore::HTMLFieldSetElement::recalcWillValidate):
1428         * html/HTMLFormControlElement.cpp:
1429         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
1430         (WebCore::HTMLFormControlElement::parseMappedAttribute):
1431         (WebCore::HTMLFormControlElement::recalcWillValidate):
1432         (WebCore::HTMLFormControlElement::willValidate):
1433         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
1434         (WebCore::HTMLFormControlElement::validationMessage):
1435         (WebCore::HTMLFormControlElement::isValidFormControlElement):
1436         (WebCore::HTMLFormControlElement::setNeedsValidityCheck):
1437         * html/HTMLFormControlElement.h:
1438         * html/HTMLInputElement.cpp:
1439         (WebCore::HTMLInputElement::setInputType):
1440         (WebCore::HTMLInputElement::parseMappedAttribute):
1441         (WebCore::HTMLInputElement::setValue):
1442         (WebCore::HTMLInputElement::recalcWillValidate):
1443         * html/HTMLInputElement.h:
1444         * html/HTMLTextAreaElement.cpp:
1445         (WebCore::HTMLTextAreaElement::setNonDirtyValue):
1446
1447 2010-03-22  Pavel Feldman  <pfeldman@chromium.org>
1448
1449         Reviewed by Dave Hyatt.
1450
1451         Web Inspector: display CSS selector source line in the styles sidebar pane.
1452
1453         https://bugs.webkit.org/show_bug.cgi?id=36414
1454
1455         This change adds a sourceLine field into the CSSStyleRule that is populated
1456         from within the parser. CSSParser is now keeping track of the line numbers
1457         and last selector line number that is being used while creating CSSStyleRules.
1458
1459         Test: inspector/styles-source-lines.html
1460
1461         * css/CSSGrammar.y:
1462         * css/CSSParser.cpp:
1463         (WebCore::CSSParser::CSSParser):
1464         (WebCore::CSSParser::lex):
1465         (WebCore::CSSParser::countLines):
1466         (WebCore::CSSParser::createStyleRule):
1467         * css/CSSParser.h:
1468         (WebCore::CSSParser::updateLastSelectorLine):
1469         * css/CSSStyleRule.cpp:
1470         (WebCore::CSSStyleRule::CSSStyleRule):
1471         * css/CSSStyleRule.h:
1472         (WebCore::CSSStyleRule::create):
1473         (WebCore::CSSStyleRule::sourceLine):
1474         * css/tokenizer.flex:
1475         * inspector/InspectorDOMAgent.cpp:
1476         (WebCore::InspectorDOMAgent::buildObjectForRule):
1477         * inspector/front-end/DOMAgent.js:
1478         (WebInspector.CSSStyleDeclaration.parseRule):
1479         * inspector/front-end/StylesSidebarPane.js:
1480         (WebInspector.StylePropertiesSection):
1481
1482 2010-03-22  Qi Zhang  <qi.2.zhang@nokia.com>
1483
1484         Reviewed by Laszlo Gombos.
1485
1486         [Qt] Fix arc function in canvas
1487         https://bugs.webkit.org/show_bug.cgi?id=36296
1488
1489         Based on HTLM5 spec (4.8.10.1.8 Complex shapes), arc function should draw a line to previous point, not only the arc.
1490
1491         * platform/graphics/qt/PathQt.cpp:
1492         (WebCore::Path::addArc):
1493
1494 2010-03-19  Abhishek Arya  <inferno@chromium.org>
1495
1496         Reviewed by Adam Barth.
1497
1498         https://bugs.webkit.org/show_bug.cgi?id=36339
1499         Off-by-one memory corruption fix for long invalid websockets upgrade header
1500
1501         Test: websocket/tests/long-invalid-header.html
1502
1503         * websockets/WebSocketHandshake.cpp:
1504         (WebCore::WebSocketHandshake::readServerHandshake):
1505
1506 2010-03-22  Fumitoshi Ukai  <ukai@chromium.org>
1507
1508         Unreviewed build fix for Chromim Mac at r56376
1509
1510         Fix initializer order  of PopupContainer.
1511
1512         * platform/chromium/PopupMenuChromium.cpp:
1513         (WebCore::PopupContainer::PopupContainer):
1514
1515 2010-03-22  Jay Campan  <jcampan@google.com>
1516
1517         Reviewed by Darin Fisher.
1518
1519         Making Chromium select popups not steal activation from the browser.
1520         Select popups are now like autocomplete popups, shown in non-activated
1521         windows.
1522         https://bugs.webkit.org/show_bug.cgi?id=36062
1523
1524         * page/chromium/ChromeClientChromium.h:
1525         * platform/chromium/PopupMenuChromium.cpp:
1526         (WebCore::):
1527         (WebCore::PopupContainer::create):
1528         (WebCore::PopupContainer::PopupContainer):
1529         (WebCore::PopupContainer::~PopupContainer):
1530         (WebCore::PopupContainer::showPopup):
1531         (WebCore::PopupContainer::showExternal):
1532         (WebCore::PopupContainer::hidePopup):
1533         (WebCore::PopupMenu::show):
1534         * platform/chromium/PopupMenuChromium.h:
1535         (WebCore::PopupContainer::):
1536         (WebCore::PopupContainer::popupType):
1537
1538 2010-03-22  Dmitry Titov  <dimich@chromium.org>
1539
1540         Reviewed by Nate Chapin.
1541
1542         [v8] Crash if the worker is terminated before its initial script is executed.
1543         https://bugs.webkit.org/show_bug.cgi?id=36336
1544
1545         Test: fast/workers/termination-early.html
1546
1547         * bindings/v8/WorkerContextExecutionProxy.cpp:
1548         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Check for 0 context. When terminated, the v8 heap initialization returns 0.
1549         (WebCore::WorkerContextExecutionProxy::evaluate): Don't execute script if initialization failed.
1550         * bindings/v8/WorkerContextExecutionProxy.h:
1551
1552 2010-03-22  Andrey Kosyakov  <caseq@chromium.org>
1553
1554         Reviewed by Pavel Feldman.
1555
1556         Support creation of fake workers before document is loaded by deferring
1557         attaching of fake workers iframe until document is loaded and buffering all
1558         messages addressed to worker.
1559         https://bugs.webkit.org/show_bug.cgi?id=36445
1560
1561         * inspector/front-end/InjectedFakeWorker.js:
1562         (InjectedFakeWorker.FakeWorker.prototype.postMessage):
1563         (InjectedFakeWorker.FakeWorker.prototype._buildWorker):
1564         (InjectedFakeWorker.FakeWorker.prototype._attachWorkerFrameToDocument):
1565         (InjectedFakeWorker.FakeWorker.prototype._onWorkerFrameLoaded):
1566
1567 2010-03-22  Darin Fisher  <darin@chromium.org>
1568
1569         Reviewed by Brady Eidson.
1570
1571         HistoryController::replaceState() should modify m_currentItem
1572         instead of the current HistoryItem of the BackForwardList.
1573
1574         https://bugs.webkit.org/show_bug.cgi?id=36435
1575
1576         Test: fast/loader/stateobjects/replacestate-in-iframe.html
1577
1578         * loader/HistoryController.cpp:
1579         (WebCore::HistoryController::replaceState):
1580
1581 2010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
1582
1583         Reviewed by David Kilzer.
1584
1585         Upstream Part of the iPhone Platform sharing code with the Mac Platform
1586         https://bugs.webkit.org/show_bug.cgi?id=35870
1587         <rdar://problem/7707283> and <rdar://problem/7707318>
1588
1589         Part 3 of 3: Shared code between iphone and mac. The shared code was
1590         refactored to be usable by both platforms without platform specific
1591         typing, meaning no NSEvent versus WebEvent special cases.
1592
1593           Shared code usable by either mac or iphone platforms.
1594
1595         * platform/cocoa/KeyEventCocoa.h:
1596         * platform/cocoa/KeyEventCocoa.mm:
1597         (WebCore::keyIdentifierForCharCode):
1598         (WebCore::windowsKeyCodeForKeyCode):
1599         (WebCore::windowsKeyCodeForCharCode):
1600
1601           Make use of the shared code. Keep anything platform specific in the
1602           original file before calling the shared code.
1603
1604         * platform/iphone/KeyEventIPhone.mm:
1605         (WebCore::keyIdentifierForKeyEvent):
1606         * platform/mac/KeyEventMac.mm:
1607         (WebCore::keyIdentifierForKeyEvent):
1608         (WebCore::windowsKeyCodeForKeyEvent):
1609
1610 2010-03-22  Kevin Decker  <kdecker@apple.com>
1611
1612         Reviewed by Simon Fraser.
1613
1614         https://bugs.webkit.org/show_bug.cgi?id=36328
1615
1616         * rendering/RenderEmbeddedObject.cpp:
1617         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Fix a find/repalce mistake from my earlier patch.
1618         Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator. 
1619         (WebCore::RenderEmbeddedObject::updateWidget): Don't update the widget if we're showing
1620         the missing plug-in indicator.
1621         (WebCore::RenderEmbeddedObject::paint):Fix a find/repalce mistake from my earlier patch.
1622         Rename m_setShowsMissingPluginIndicator -> m_showsMissingPluginIndicator. 
1623         (WebCore::RenderEmbeddedObject::paintReplaced): Ditto.
1624         * rendering/RenderEmbeddedObject.h: Ditto.
1625         (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator): Ditto.
1626         (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator): Ditto.
1627
1628 2010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
1629
1630         Reviewed by David Kilzer.
1631
1632         Upstream Part of the iPhone Platform sharing code with the Mac Platform
1633         https://bugs.webkit.org/show_bug.cgi?id=35870
1634         <rdar://problem/7707283>
1635
1636         Part 2 of 3: No changes other than moving code around.
1637         Copied KeyEvent function from platform/mac to a platform/cocoa shared directory.
1638
1639         * WebCore.xcodeproj/project.pbxproj: Added cocoa group and new files.
1640         * platform/cocoa/KeyEventCocoa.h: Added.
1641         * platform/cocoa/KeyEventCocoa.mm: Copied from WebCore/platform/mac/KeyEventMac.mm.
1642         (WebCore::keyIdentifierForKeyEvent):
1643         (WebCore::windowsKeyCodeForKeyEvent): Include the shared code.
1644         * platform/mac/KeyEventMac.mm:
1645
1646 2010-03-22  Joseph Pecoraro  <joepeck@webkit.org>
1647
1648         Reviewed by David Kilzer.
1649
1650         Part 1 of 3: Upstream iPhone KeyEvent platform code and share with Mac platform
1651         https://bugs.webkit.org/show_bug.cgi?id=35870
1652         <rdar://problem/7707283>
1653
1654         * WebCore.xcodeproj/project.pbxproj: Added iphone group and new files.
1655         * platform/iphone: Added.
1656         * platform/iphone/KeyEventCodesIPhone.h: Added.
1657         * platform/iphone/KeyEventIPhone.mm: Added. Ensure PLATFORM(IPHONE)
1658         * platform/mac/KeyEventMac.mm: Ensure PLATFORM(MAC)
1659
1660 2010-03-22  Kevin Decker  <kdecker@apple.com>
1661     
1662         Attempt to fix the Leopard build.
1663         * rendering/RenderEmbeddedObject.cpp: Add ".f" to contants.
1664
1665 2010-03-22  Justin Schuh  <jschuh@chromium.org>
1666
1667         Reviewed by Dirk Schulze.
1668
1669         Out of bounds read in SVG feColorMatrix filter
1670         https://bugs.webkit.org/show_bug.cgi?id=32714
1671
1672         Prevents an invalid read when a valid values attribute is not
1673         supplied for an feColorMatrix SVG filter. Also fixes general
1674         handling of missing or invalid values attribute.
1675
1676         Tests: svg/filters/feColorMatrix-invalid-value.svg
1677                svg/filters/feColorMatrix-values.svg
1678
1679         * svg/SVGFEColorMatrixElement.cpp:
1680         (WebCore::SVGFEColorMatrixElement::build):
1681
1682 2010-03-22  Philippe Normand  <pnormand@igalia.com>
1683
1684         Reviewed by Eric Carlson.
1685
1686         [GStreamer] Use ImageBuffer API to do painting
1687         https://bugs.webkit.org/show_bug.cgi?id=35783
1688
1689         New ImageGStreamer class abstracting the conversion of GStreamer
1690         buffers to cairo surfaces. Using this makes the painting code of
1691         the player more generic.
1692
1693         * GNUmakefile.am:
1694         * platform/graphics/gstreamer/ImageGStreamer.h: Added.
1695         (WebCore::ImageGStreamer::image):
1696         * platform/graphics/gstreamer/ImageGStreamerCairo.cpp: Added.
1697         (ImageGStreamer::createImage):
1698         (ImageGStreamer::ImageGStreamer):
1699         (ImageGStreamer::~ImageGStreamer):
1700         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
1701         (WebCore::MediaPlayerPrivate::paint):
1702         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
1703
1704 2010-03-22  Beth Dakin  <bdakin@apple.com>
1705
1706         Reviewed by Darin Adler.
1707
1708         Fix for <rdar://problem/7766437> With Web Inspector opened, a crash 
1709         occurs at Webcore:getMatchedCSSRules() when navigating to a 
1710         previous page
1711
1712         defaultView() can legitimately by null (as it is in this case), so 
1713         it must be null-checked.
1714
1715         * inspector/InspectorDOMAgent.cpp:
1716         (WebCore::InspectorDOMAgent::getStyles):
1717         (WebCore::InspectorDOMAgent::getComputedStyle):
1718         (WebCore::InspectorDOMAgent::getMatchedCSSRules):
1719
1720 2010-03-22  Kevin Decker  <kdecker@apple.com>
1721
1722         Reviewed by Darin.
1723
1724         https://bugs.webkit.org/show_bug.cgi?id=36328
1725         
1726         * loader/FrameLoader.cpp:
1727         (WebCore::FrameLoader::loadPlugin): Call setShowsMissingPluginIndicator(true) in cases that fail
1728         to generate a widget.
1729         * rendering/RenderEmbeddedObject.cpp: Added new missing plug-in related static constants
1730         (WebCore::RenderEmbeddedObject::RenderEmbeddedObject): Initialize newly boolean to false.
1731         (WebCore::RenderEmbeddedObject::paint): Added.
1732         (WebCore::RenderEmbeddedObject::paintReplaced): Added. Draws a subtle rounded rectangle
1733         containing the text "Missing Plug-in".
1734         * rendering/RenderEmbeddedObject.h: Added the following two methods below.
1735         (WebCore::RenderEmbeddedObject::setShowsMissingPluginIndicator):
1736         (WebCore::RenderEmbeddedObject::showsMissingPluginIndicator):
1737         * rendering/RenderWidget.h: Moved paint(PaintInfo&, int, int) from private to protected.
1738
1739 2010-03-22  Jakub Wieczorek  <faw217@gmail.com>
1740
1741         Reviewed by Kenneth Rohde Christiansen.
1742
1743         [Qt] Phonon media backend: expose supported MIME types to WebCore
1744
1745         https://bugs.webkit.org/show_bug.cgi?id=33453
1746
1747         MediaPlayerPrivate should expose the MIME types that are supported
1748         by the underlying backend in Phonon.
1749
1750         * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
1751         (WebCore::MediaPlayerPrivate::supportedTypesCache):
1752         (WebCore::MediaPlayerPrivate::getSupportedTypes):
1753         (WebCore::MediaPlayerPrivate::supportsType):
1754         * platform/graphics/qt/MediaPlayerPrivatePhonon.h:
1755
1756 2010-03-22  Alexander Pavlov  <apavlov@chromium.org>
1757
1758         Reviewed by Pavel Feldman.
1759
1760         Web Inspector: AuditRules still use getMatchedCSSRules as a part of the img-related audit.
1761         https://bugs.webkit.org/show_bug.cgi?id=36424
1762
1763         * inspector/front-end/AuditRules.js:
1764         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
1765         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
1766         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
1767         * inspector/front-end/InjectedScript.js:
1768         (injectedScriptConstructor):
1769
1770 2010-03-22  Darin Adler  <darin@apple.com>
1771
1772         Reviewed by Dan Bernstein.
1773
1774         TextBreakIteratorICU.cpp is incompatible with new UBreakIterator type in ICU 4.4
1775         https://bugs.webkit.org/show_bug.cgi?id=36381
1776
1777         * platform/text/TextBreakIteratorICU.cpp:
1778         (WebCore::setUpIterator): Use reinterpret_cast instead of static_cast or relying
1779         on conversion to void*.
1780         (WebCore::textBreakFirst): Ditto.
1781         (WebCore::textBreakLast): Ditto.
1782         (WebCore::textBreakNext): Ditto.
1783         (WebCore::textBreakPrevious): Ditto.
1784         (WebCore::textBreakPreceding): Ditto.
1785         (WebCore::textBreakFollowing): Ditto.
1786         (WebCore::textBreakCurrent): Ditto.
1787         (WebCore::isTextBreak): Ditto.
1788         (WebCore::setUpIteratorWithRules): Ditto.
1789
1790 2010-03-22  Eric Carlson  <eric.carlson@apple.com>
1791
1792         Reviewed by Sam Weinig.
1793
1794         Typo in GPL license text
1795         https://bugs.webkit.org/show_bug.cgi?id=36442
1796
1797         Fix typo - "aint with this library" -> "along with this library".
1798
1799         * bindings/scripts/CodeGenerator.pm:
1800         * bindings/scripts/CodeGeneratorJS.pm:
1801         * bindings/scripts/CodeGeneratorObjC.pm:
1802         * bindings/scripts/CodeGeneratorV8.pm:
1803         * bindings/scripts/IDLParser.pm:
1804         * bindings/scripts/IDLStructure.pm:
1805         * bindings/scripts/generate-bindings.pl:
1806
1807 2010-03-22  Jakub Wieczorek  <jwieczorek@webkit.org>
1808
1809         Reviewed by Simon Hausmann.
1810
1811         [Qt] Don't construct a QLineEdit every time when painting a text field
1812         https://bugs.webkit.org/show_bug.cgi?id=36373
1813
1814         Instead, keep one instance per RenderTheme around.
1815
1816         * platform/qt/RenderThemeQt.cpp:
1817         (WebCore::findFrameLineWidth):
1818
1819 2010-03-22  Luiz Agostini  <luiz.agostini@openbossa.org>
1820
1821         Reviewed by Kenneth Rohde Christiansen.
1822
1823         [Qt] Multiselect Popup - adjusting QtAbstractWebPopup
1824         https://bugs.webkit.org/show_bug.cgi?id=36186
1825
1826         QtAbstractWebPopup must provide new methods to be used by its descendants that
1827         wish to handle <select multiple> elements.
1828
1829         * platform/qt/QtAbstractWebPopup.cpp:
1830         (WebCore::QtAbstractWebPopup::selectItem):
1831         (WebCore::QtAbstractWebPopup::multiple):
1832         * platform/qt/QtAbstractWebPopup.h:
1833
1834 2010-03-22  Alex Milowski  <alex@milowski.com>
1835
1836         Reviewed by Kenneth Rohde Christiansen.
1837
1838         Added basic support for mfrac (fractions)
1839
1840         Test: mathml/presentation/fractions.xhtml
1841
1842         * WebCore.xcodeproj/project.pbxproj:
1843         * mathml/MathMLInlineContainerElement.cpp:
1844         (WebCore::MathMLInlineContainerElement::createRenderer):
1845         * mathml/RenderMathMLFraction.cpp: Added.
1846         (WebCore::RenderMathMLFraction::RenderMathMLFraction):
1847         (WebCore::RenderMathMLFraction::updateFromElement):
1848         (WebCore::RenderMathMLFraction::addChild):
1849         * mathml/RenderMathMLFraction.h: Added.
1850
1851 2010-03-22  Kevin Decker  <kdecker@apple.com>
1852
1853         Reviewed by John Sullivan.
1854
1855         https://bugs.webkit.org/show_bug.cgi?id=36328
1856
1857         * page/mac/WebCoreViewFactory.h: Added -missingPluginText method 
1858         * platform/LocalizedStrings.h: Added missingPluginText()
1859         * platform/gtk/LocalizedStringsGtk.cpp: Likewise.
1860         * platform/mac/LocalizedStringsMac.mm: Same here.
1861         * platform/qt/Localizations.cpp: Ditto.
1862
1863 2010-03-22  Yury Semikhatsky  <yurys@chromium.org>
1864
1865         Reviewed by Pavel Feldman.
1866
1867         Handle worker exceptions in V8MessageHandler like it's done in regular documents. This way all worker exceptions will be logged in the console not only those which happen in event listeners. 
1868
1869         https://bugs.webkit.org/show_bug.cgi?id=31171
1870
1871         * bindings/v8/V8AbstractEventListener.cpp:
1872         (WebCore::V8AbstractEventListener::invokeEventHandler): Removed explicit call to reportException.
1873         * bindings/v8/V8Utilities.cpp: reportException function was removed since it's not used.
1874         (WebCore::getScriptExecutionContext):
1875         * bindings/v8/V8Utilities.h:
1876         * bindings/v8/WorkerContextExecutionProxy.cpp:
1877         (WebCore::v8MessageHandler):
1878         (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Setup message handler when first worker context is created.
1879
1880 2010-03-22  Leandro Pereira  <leandro@profusion.mobi>
1881
1882         Reviewed by Simon Hausmann.
1883
1884         Add EFL-specific code to page/EventHandler.cpp.
1885         http://webkit.org/b/36306
1886
1887         * page/EventHandler.cpp:
1888
1889 2010-03-22  Leandro Pereira  <leandro@profusion.mobi>
1890
1891         Reviewed by Simon Hausmann.
1892
1893         Add EFL-specific code to platform/DragImage.h and
1894         platform/DragData.h.
1895         http://webkit.org/b/36310
1896
1897         * platform/DragImage.h:
1898         * platform/DragData.h:
1899
1900 2010-03-22  Leandro Pereira  <leandro@profusion.mobi>
1901
1902         Reviewed by Simon Hausmann.
1903
1904         Add EFL-specific code to platform/FileSystem.h.
1905         http://webkit.org/b/36313
1906
1907         * platform/FileSystem.h:
1908
1909 2010-03-22  Leandro Pereira  <leandro@profusion.mobi>
1910
1911         Reviewed by Simon Hausmann.
1912
1913         Add EFL-specific code to platform/Cursor.h.
1914         http://webkit.org/b/36319
1915
1916         * platform/Cursor.h:
1917
1918 2010-03-22  Leandro Pereira  <leandro@profusion.mobi>
1919
1920         Reviewed by Simon Hausmann.
1921
1922         Add EFL-specific code to platform/NotImplemented.h.
1923         http://webkit.org/b/36320
1924
1925         * platform/NotImplemented.h:
1926
1927 2010-03-21  Kim Grönholm  <kim.gronholm@nomovok.com>
1928
1929         Reviewed by Simon Hausmann.
1930
1931         [Qt] GraphicsLayer: matrix interpolations in transform-animations don't behave correctly
1932         https://bugs.webkit.org/show_bug.cgi?id=35520
1933         
1934         The case where the list of source and target transform operations are 
1935         not the same but have the same size needs to be special-cased in
1936         GraphicsLayerQt, as well as the case where the source or target
1937         operation list is empty. The URLs listed here render correctly after
1938         applying the patch.
1939
1940         Tests: https://bug-35520-attachments.webkit.org/attachment.cgi?id=49890
1941                https://bug-35520-attachments.webkit.org/attachment.cgi?id=49889
1942             
1943
1944         * platform/graphics/qt/GraphicsLayerQt.cpp:
1945         (WebCore::TransformAnimationQt::applyFrame):
1946
1947 2010-03-21  Dmitry Gorbik  <socket.h@gmail.com>
1948
1949         <http://webkit.org/b/14858> <col> width ignored when not tied to a single cell
1950
1951         Reviewed by David Kilzer.
1952
1953         Fixed width calculation for cells with span when <col> is defined.
1954
1955         Test: fast/table/col-width-span-expand.html
1956
1957         * rendering/RenderTableCell.cpp:
1958         (WebCore::RenderTableCell::styleOrColWidth): Added the calculation of cell width
1959         in case of <col> defined and span > 1.
1960
1961 2010-03-20  Antonio Gomes  <tonikitoo@webkit.org>
1962
1963         Reviewed by Kenneth Christiansen.
1964         Patch by Antonio Gomes <tonikitoo@webkit.org>
1965
1966         Spatial Navigation: Code simplification in FocusController.cpp and SpatialNavigation.cpp (part I)
1967         https://bugs.webkit.org/show_bug.cgi?id=36168
1968
1969         Make use of isNull and document methods introduced in FocusCandidate class by patch in bug 36167.
1970         No functionalty change.
1971
1972         * page/FocusController.cpp:
1973         (WebCore::updateFocusCandidateIfCloser):
1974         * page/SpatialNavigation.cpp:
1975         (WebCore::distanceInDirection):
1976
1977 2010-03-20  Kevin Ollivier  <kevino@theolliviers.com>
1978
1979         [wx] Build fixes after recent changes.
1980
1981         * platform/graphics/wx/ImageWx.cpp:
1982         * wscript:
1983
1984 2010-03-20  Joseph Pecoraro  <joepeck@webkit.org>
1985
1986         Reviewed by David Kilzer.
1987
1988         Assertion failure in media/video-controls-with-mutation-event-handler.html
1989         https://bugs.webkit.org/show_bug.cgi?id=36376
1990
1991         Test: media/video-controls-with-mutation-event-handler.html
1992
1993         Break early (when not attached) in the defaultEventHandler before the
1994         slider is completely set up.
1995
1996         * rendering/MediaControlElements.cpp:
1997         (WebCore::MediaControlTimelineElement::defaultEventHandler):
1998         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
1999         * rendering/RenderMedia.cpp:
2000         (WebCore::RenderMedia::createVolumeSlider):
2001
2002 2010-03-19  Shinichiro Hamaji  <hamaji@chromium.org>
2003
2004         Reviewed by Dan Bernstein.
2005
2006         WebCore::RenderButton::styleDidChange ReadAV@NULL (6739b7fe455ecb54a6812c0866c3b47c)
2007         https://bugs.webkit.org/show_bug.cgi?id=34641
2008
2009         Don't dig into buttons and menu lists when finding which element
2010         should be modified by :first-letter pseudo class.  Even before
2011         this change, we didn't dig into inline buttons and menu lists as
2012         they are replaced so this issue wasn't found long time.
2013
2014         Test: fast/css/first-letter-block-form-controls-crash.html
2015
2016         * rendering/RenderBlock.cpp:
2017         (WebCore::RenderBlock::updateFirstLetter):
2018
2019 2010-03-19  Adam Barth  <abarth@webkit.org>
2020
2021         Reviewed by Daniel Bates.
2022
2023         Change XSSAuditor block syntax
2024         https://bugs.webkit.org/show_bug.cgi?id=34436
2025
2026         Update our blocking syntax to something more reasonable.  Also,
2027         implemented a way for a web site to disable the filter.
2028
2029         Tests: http/tests/security/xssAuditor/no-protection-script-tag.html
2030                http/tests/security/xssAuditor/xss-protection-parsing-01.html
2031
2032         * page/XSSAuditor.cpp:
2033         (WebCore::XSSAuditor::xssProtection):
2034         (WebCore::XSSAuditor::findInRequest):
2035         * page/XSSAuditor.h:
2036         * platform/network/HTTPParsers.cpp:
2037         (WebCore::skipToken):
2038         (WebCore::parseXSSProtectionHeader):
2039         * platform/network/HTTPParsers.h:
2040         (WebCore::):
2041
2042 2010-03-19  Eric Uhrhane  <ericu@chromium.org>
2043
2044         Reviewed by Dmitry Titov.
2045
2046         Refactor DatabaseTracker.cpp for thread safety
2047         https://bugs.webkit.org/show_bug.cgi?id=34991
2048
2049         This enables calling into DatabaseTracker from multiple context threads,
2050         as will happen once Workers can access the Database.  It required a fair
2051         amount of reshuffling of locks.  I ended up splitting the public
2052         interface [calls that take locks and call private functions] from the
2053         implementations [calls that assert that locks are already held] in order
2054         to avoid lock conflicts.  I also had to make sure we weren't sharing
2055         Strings or SecurityOrigins across threads.
2056
2057         No new tests.
2058
2059         Allow access to database handles from multiple threads IFF SQLite is new enough and the user requests it.
2060
2061         * platform/sql/SQLiteDatabase.cpp:
2062         (WebCore::SQLiteDatabase::SQLiteDatabase):
2063         (WebCore::SQLiteDatabase::disableThreadingChecks):
2064         * platform/sql/SQLiteDatabase.h:
2065         (WebCore::SQLiteDatabase::sqlite3Handle):
2066         (WebCore::SQLiteDatabase::disableThreadingChecks):
2067
2068         Remove an asynchronous call from Database::close back to the execution thread, so that cleanup can be more deterministic.
2069
2070         * storage/Database.cpp:
2071         (WebCore::Database::markAsDeletedAndClose):
2072         (WebCore::Database::close):
2073         * storage/Database.h:
2074         (WebCore::Database::):
2075         * storage/DatabaseDetails.h:
2076         (WebCore::DatabaseDetails::DatabaseDetails):
2077         (WebCore::DatabaseDetails::thread):
2078         * storage/DatabaseTask.cpp:
2079         (WebCore::DatabaseCloseTask::doPerformTask):
2080         * storage/DatabaseThread.cpp:
2081         (WebCore::DatabaseThread::databaseThread):
2082
2083         Any Strings that get stored in DatabaseTracker, and any Strings returned from DatabaseTracker, are now threadsafeCopies.
2084         Public functions now take all needed locks, then generally call only private functions [there are a few exceptions: deletion functions and origins()].
2085         Private functions no longer take locks.
2086         m_quotaMapGuard becomes m_databaseGuard, and now protects m_database, m_quotaMap, m_proposedDatabases, m_databaseDirectoryPath, m_originsBeingDeleted, m_beingCreated, and m_beingDeleted.
2087         m_proposedDatabases replaces m_proposedDatabase, to account for reentrancy.
2088
2089         * storage/DatabaseTracker.h:
2090         * storage/DatabaseTracker.cpp:
2091         (WebCore::DatabaseTracker::originQuotaManagerNoLock):
2092         (WebCore::DatabaseTracker::originQuotaManager):
2093         (WebCore::DatabaseTracker::DatabaseTracker):
2094         (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
2095         (WebCore::DatabaseTracker::databaseDirectoryPath):
2096         (WebCore::DatabaseTracker::trackerDatabasePath):
2097         (WebCore::DatabaseTracker::openTrackerDatabase):
2098         (WebCore::DatabaseTracker::canEstablishDatabase):
2099         (WebCore::DatabaseTracker::hasEntryForOriginNoLock):
2100         (WebCore::DatabaseTracker::hasEntryForOrigin):
2101         (WebCore::DatabaseTracker::hasEntryForDatabase):
2102         (WebCore::DatabaseTracker::originPath):
2103         (WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
2104         (WebCore::DatabaseTracker::fullPathForDatabase):
2105         (WebCore::DatabaseTracker::populateOrigins):
2106         (WebCore::DatabaseTracker::origins):
2107         (WebCore::DatabaseTracker::databaseNamesForOriginNoLock):
2108         (WebCore::DatabaseTracker::databaseNamesForOrigin):
2109         (WebCore::DatabaseTracker::detailsForNameAndOrigin):
2110         (WebCore::DatabaseTracker::setDatabaseDetails):
2111         (WebCore::DatabaseTracker::usageForDatabase):
2112         (WebCore::DatabaseTracker::addOpenDatabase):
2113         (WebCore::DatabaseTracker::removeOpenDatabase):
2114         (WebCore::DatabaseTracker::usageForOriginNoLock):
2115         (WebCore::DatabaseTracker::usageForOrigin):
2116         (WebCore::DatabaseTracker::quotaForOriginNoLock):
2117         (WebCore::DatabaseTracker::quotaForOrigin):
2118         (WebCore::DatabaseTracker::setQuota):
2119         (WebCore::DatabaseTracker::addDatabase):
2120         (WebCore::DatabaseTracker::deleteAllDatabases):
2121         (WebCore::DatabaseTracker::deleteOrigin):
2122         (WebCore::DatabaseTracker::deleteDatabase):
2123         (WebCore::DatabaseTracker::deleteDatabaseFile):
2124         (WebCore::DatabaseTracker::setClient):
2125         (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
2126         (WebCore::DatabaseTracker::notifyDatabasesChanged):
2127
2128         These functions keep track of in-progress deletions and creations, so that we can make sure nobody every deletes a database file while a live database is using it.
2129         (WebCore::DatabaseTracker::canCreateDatabase):
2130         (WebCore::DatabaseTracker::recordCreatingDatabase):
2131         (WebCore::DatabaseTracker::doneCreatingDatabase):
2132         (WebCore::DatabaseTracker::creatingDatabase):
2133         (WebCore::DatabaseTracker::canDeleteDatabase):
2134         (WebCore::DatabaseTracker::recordDeletingDatabase):
2135         (WebCore::DatabaseTracker::doneDeletingDatabase):
2136         (WebCore::DatabaseTracker::deletingDatabase):
2137         (WebCore::DatabaseTracker::canDeleteOrigin):
2138         (WebCore::DatabaseTracker::deletingOrigin):
2139         (WebCore::DatabaseTracker::recordDeletingOrigin):
2140         (WebCore::DatabaseTracker::doneDeletingOrigin):
2141
2142         Any SecurityOrigins stored in OriginQuotaManager are now threadsafeCopies of inputs.  There's a new tryLock() function in addition to the existing lock().
2143
2144         * storage/OriginQuotaManager.cpp:
2145         (WebCore::OriginQuotaManager::tryLock):
2146         (WebCore::OriginQuotaManager::trackOrigin):
2147         * storage/OriginQuotaManager.h:
2148
2149         * page/SecurityOrigin.cpp:
2150         (WebCore::SecurityOrigin::databaseIdentifier):
2151         Removed DEFINE_STATIC_LOCAL wrapper on a local variable; it appears to have been a small optimization, but it's not thread-safe.
2152
2153 2010-03-19  Luiz Agostini  <luiz.agostini@openbossa.org>
2154
2155         Reviewed by Antti Koivisto.
2156
2157         Multiselect popups - rendering
2158         https://bugs.webkit.org/show_bug.cgi?id=36006
2159
2160         The objective of this patch is to create a compile time flag that can be used
2161         to force all <select> elements to be rendered as menu lists.
2162
2163         Theme stylesheet mechanism has been used to change the appearance of the elements.
2164
2165         Class QtStyleOptionWebComboBox has been introduced to provide to QStyle objects
2166         the needed information to render <select multiple> comboboxes.
2167
2168         * WebCore.pri:
2169         * WebCore.pro:
2170         * css/themeQtNoListboxes.css: Added.
2171         (select[size][multiple]):
2172         * dom/SelectElement.h:
2173         (WebCore::SelectElementData::usesMenuList):
2174         * platform/qt/QtStyleOptionWebComboBox.h: Added.
2175         (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox):
2176         (WebCore::QtStyleOptionWebComboBox::multiple):
2177         (WebCore::QtStyleOptionWebComboBox::checkMultiple):
2178         * platform/qt/RenderThemeQt.cpp:
2179         (WebCore::RenderThemeQt::extraDefaultStyleSheet):
2180         (WebCore::RenderThemeQt::paintMenuList):
2181         (WebCore::RenderThemeQt::paintMenuListButton):
2182         * platform/qt/RenderThemeQt.h:
2183
2184 2010-03-19  Zhenyao Mo  <zmo@google.com>
2185
2186         Reviewed by Oliver Hunt.
2187
2188         Update WebGLArray.slice() to new spec
2189         https://bugs.webkit.org/show_bug.cgi?id-35612
2190
2191         * bindings/js/JSWebGLArrayCustom.cpp: Adding support for default inputs.
2192         (WebCore::JSWebGLArray::slice):
2193         * bindings/v8/custom/V8WebGLArrayCustom.cpp: Ditto.
2194         (WebCore::V8WebGLArray::sliceCallback):
2195         * html/canvas/WebGLArray.cpp: Map start/end to offset/length.
2196         (WebCore::WebGLArray::calculateOffsetAndLength):
2197         * html/canvas/WebGLArray.h: Modified slice parameters.
2198         * html/canvas/WebGLArray.idl: Define custom binding for slice().
2199         * html/canvas/WebGLByteArray.cpp: Modified slice parameters.
2200         (WebCore::WebGLByteArray::slice):
2201         * html/canvas/WebGLByteArray.h: Ditto.
2202         * html/canvas/WebGLFloatArray.cpp: Ditto.
2203         (WebCore::WebGLFloatArray::slice):
2204         * html/canvas/WebGLFloatArray.h: Ditto.
2205         * html/canvas/WebGLIntArray.cpp: Ditto.
2206         (WebCore::WebGLIntArray::slice):
2207         * html/canvas/WebGLIntArray.h: Ditto.
2208         * html/canvas/WebGLShortArray.cpp: Ditto.
2209         (WebCore::WebGLShortArray::slice):
2210         * html/canvas/WebGLShortArray.h: Ditto.
2211         * html/canvas/WebGLUnsignedByteArray.cpp: Ditto.
2212         (WebCore::WebGLUnsignedByteArray::slice):
2213         * html/canvas/WebGLUnsignedByteArray.h: Ditto.
2214         * html/canvas/WebGLUnsignedIntArray.cpp: Ditto.
2215         (WebCore::WebGLUnsignedIntArray::slice):
2216         * html/canvas/WebGLUnsignedIntArray.h: Ditto.
2217         * html/canvas/WebGLUnsignedShortArray.cpp: Ditto.
2218         (WebCore::WebGLUnsignedShortArray::slice):
2219         * html/canvas/WebGLUnsignedShortArray.h: Ditto.
2220
2221 2010-03-19  Yong Li <yong.li@torchmobile.com> and Andy Estes <aestes@apple.com>
2222
2223         Reviewed by Darin Adler.
2224
2225         Ensure the segments inside SharedBuffer are merged before constructing
2226         a CFData with it.
2227
2228         https://bugs.webkit.org/show_bug.cgi?id=50843
2229
2230         * manual-tests/WebKitSite.webarchive: Added.
2231         * manual-tests/webarchive-test.html: Added.
2232         * platform/cf/SharedBufferCF.cpp:
2233         (WebCore::SharedBuffer::createCFData):
2234
2235 2010-03-19  Justin Schuh  <jschuh@chromium.org>
2236
2237         Reviewed by Oliver Hunt.
2238
2239         Security: ReadAV@NULL for negative feMorphology filter radius
2240         https://bugs.webkit.org/show_bug.cgi?id=34566
2241
2242         Prevents building the filter if either radius is negative.
2243         Catches negative radii resulting from conversions.
2244
2245         Test: svg/filters/feMorphology-invalid-radius.svg
2246
2247         * svg/SVGFEMorphologyElement.cpp:
2248         (WebCore::SVGFEMorphologyElement::build):
2249         * svg/graphics/filters/SVGFEMorphology.cpp:
2250         (WebCore::FEMorphology::apply):
2251
2252 2010-03-19  Chris Marrin  <cmarrin@apple.com>
2253
2254         Reviewed by Simon Fraser.
2255
2256         Fixed a crash with AnimationController getting deleted out from under itself.
2257         
2258         It's possible for the Frame that owns an AnimationController to get deleted
2259         in the EndTransitionEvent (or other animation events) to get deleted in the
2260         event handler. Normally this case is protected against by preventing the Frame
2261         from getting deleted until the end of the runloop. But native uses of the 
2262         WebView can subvert this protection. So I added a protector to the 
2263         animation event dispatcher to protect it in those cases.
2264
2265         Test: transitions/transition-end-event-destroy-iframe.html
2266
2267         * page/animation/AnimationController.cpp:
2268         (WebCore::AnimationControllerPrivate::updateStyleIfNeededDispatcherFired):
2269
2270 2010-03-19  Luiz Agostini  <luiz.agostini@openbossa.org>
2271
2272         Reviewed by Antti Koivisto.
2273
2274         Multiselect Popup - PopupMenuClient extension
2275         https://bugs.webkit.org/show_bug.cgi?id=36178
2276
2277         PopupMenuClient class is the interface used by combobox popup implementations.
2278         It needs to be extended to handle <select multiple> needs.
2279
2280         A new interface named ListPopupMenuClient that inherits from PopupMenuClient was created.
2281         The use of this new class instead of adding methods to PopupMenuClient avoids changes
2282         in other non related implementations of PopupMenuClient.
2283
2284         RenderMenuList has changed to inherit ListPopupMenuClient instead of PopupMenuClient
2285         and to have the new methods implemented.
2286
2287         * platform/PopupMenuClient.h:
2288         * rendering/RenderMenuList.cpp:
2289         (WebCore::RenderMenuList::listBoxSelectItem):
2290         (WebCore::RenderMenuList::multiple):
2291         * rendering/RenderMenuList.h:
2292
2293 2010-03-19  Simon Fraser  <simon.fraser@apple.com>
2294
2295         Reviewed by Dimitri Glazkov.
2296
2297         https://bugs.webkit.org/show_bug.cgi?id=36387
2298         REGRESSION: Can "uncheck" radio buttons by clicking on them
2299         
2300         My change in r56174 caused radio buttons and checkboxes to go down the same code path by virtue
2301         of allowsIndeterminate(), but this broke save/restore behavior on radio buttons.
2302         
2303         Fix by saving and restoring both the intermediate and checked state for radio buttons
2304         and checkboxes, as well as the "current radio button" state.
2305
2306         Test: fast/forms/radio-checkbox-restore-indeterminate.html
2307
2308         * html/HTMLInputElement.cpp:
2309         (WebCore::EventHandlingState::EventHandlingState): New struct to hold state between preDispatchEventHandler()
2310         and postDispatchEventHandler().
2311         (WebCore::HTMLInputElement::preDispatchEventHandler): Store intermedate and checked state
2312         and the current radio button.
2313         (WebCore::HTMLInputElement::postDispatchEventHandler): Restore state as appropriate.
2314         * html/HTMLInputElement.h: Add a comment to clarify how 'intermediate' interacts with 'checked', according
2315         to the spec.
2316
2317 2010-03-19  Alexander Pavlov  <apavlov@chromium.org>
2318
2319         Reviewed by Pavel Feldman.
2320
2321         Web Inspector: caret moves past prompt in javascript console
2322         https://bugs.webkit.org/show_bug.cgi?id=26602
2323
2324         Having noticed any Element children besides a leading <br> (which are empty
2325         text nodes), WebCore editing facility thinks it should delete the <br>,
2326         thus clearing away the text prompt contents.
2327
2328         * inspector/front-end/TextPrompt.js:
2329         (WebInspector.TextPrompt.prototype.clearAutoComplete):
2330         (WebInspector.TextPrompt.prototype._completionsReady):
2331         * inspector/front-end/utilities.js:
2332         (Element.prototype.pruneEmptyTextNodes):
2333
2334 2010-03-19  Adam Roben  <aroben@apple.com>
2335
2336         Windows clean build fix after r56192
2337
2338         * WebCore.vcproj/WebCore.vcproj: Copy headers from
2339         platform/graphics/cg to $WebKitOutputDir as part of the post-build
2340         event so that WebKit can use them. (The only one we currently require
2341         is FontPlatformData.h.)
2342
2343         * platform/graphics/win/FontPlatformDataCGWin.cpp: Touched to force a
2344         build.
2345
2346 2010-03-19  Joseph Pecoraro  <joepeck@webkit.org>
2347
2348         Reviewed by David Kilzer.
2349
2350         Assertion failure in media/video-controls-with-mutation-event-handler.html
2351         https://bugs.webkit.org/show_bug.cgi?id=36376
2352
2353         Fix crashing test. Underlying the media element's volume slider is a
2354         range input, which sanitizes values before expected on the media control.
2355
2356         * rendering/RenderMedia.cpp:
2357         (WebCore::RenderMedia::createVolumeSlider):
2358
2359 2010-03-19  Brady Eidson  <beidson@apple.com>
2360
2361         Reviewed by Darin Adler.
2362
2363         3 of the new HTML5 loading events need to be asynchronous.
2364
2365         Laying the groundwork for:
2366         https://bugs.webkit.org/show_bug.cgi?id=36201
2367         https://bugs.webkit.org/show_bug.cgi?id=36202
2368         https://bugs.webkit.org/show_bug.cgi?id=36334
2369         https://bugs.webkit.org/show_bug.cgi?id=36335
2370
2371         Document already had an asynchronous event delivery mechanism for storage events, so
2372         we can repurpose that for all async events.
2373
2374         No new tests. (No change in behavior)
2375
2376         * dom/Document.cpp:
2377         (WebCore::Document::Document):
2378         (WebCore::Document::implicitClose): Use Document::schedule* for the related events.
2379         (WebCore::Document::enqueueEvent): Renamed from enqueueStorageEvent
2380         (WebCore::Document::pendingEventTimerFired): Renamed from "storageEventTimerFired"
2381         (WebCore::Document::statePopped): Use Document::schedulePopstateEvent
2382         (WebCore::Document::enqueuePageshowEvent): All Pageshow events are piped through here.
2383           This will be made asynchronous in a separate patch.
2384         (WebCore::Document::enqueueHashchangeEvent): All Hashchange events are piped through here.
2385           This will be made asynchronous in a separate patch.
2386         (WebCore::Document::enqueuePopstateEvent): All Popstate events are piped through here.
2387           This will be made asynchronous in a separate patch.
2388         * dom/Document.h:
2389         (WebCore::):
2390
2391         * history/CachedFrame.cpp:
2392         (WebCore::CachedFrameBase::restore): Use Document::enqueuePageshowEvent
2393
2394         * loader/FrameLoader.cpp:
2395         (WebCore::FrameLoader::loadInSameDocument): Use Document::enqueueHashchangeEvent
2396
2397         * storage/StorageEventDispatcher.cpp:
2398         (WebCore::StorageEventDispatcher::dispatch): Use Document::enqueueEvent
2399
2400 2010-03-19  Kevin Decker  <kdecker@apple.com>
2401
2402         Reviewed by Darin Adler and Brady Eidson.
2403
2404         First step toward:
2405         https://bugs.webkit.org/show_bug.cgi?id=36328
2406
2407         This is the first step torward eliminating the WebKit WebNullPluginView class. The responsibility for this will soon
2408         be in platform-independent code in WebCore. The plan is to change RenderEmbeddedObject and give it the capability of
2409         drawing the missing plug-in text. 
2410
2411         * loader/FrameLoader.cpp:
2412         (WebCore::FrameLoader::requestObject): Renamed the renderer parameter to requestEmbeddedObject and made it
2413         a RenderEmbeddedObject.
2414         (WebCore::FrameLoader::loadPlugin): Likewise.
2415         * loader/FrameLoader.h: Updated loadPlugin() and requestObject() method signatures accordingly. 
2416
2417 2010-03-19  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
2418
2419         Reviewed by Simon Hausmann.
2420
2421         [Qt] Disable TILED_BACKING_STORE if Qt version is earlier than Qt4.6
2422         https://bugs.webkit.org/show_bug.cgi?id=36348
2423
2424         Backing store implementation for QtWebKit requires at least Qt
2425         version 4.6.
2426
2427         No new tests as there is no new functionality.
2428
2429         * WebCore.pri:
2430
2431 2010-03-19  Joseph Pecoraro  <joepeck@webkit.org>
2432
2433         Reviewed by David Kilzer.
2434
2435         <input type=range> does not validate correctly without a renderer and the tests are incorrect
2436         https://bugs.webkit.org/show_bug.cgi?id=36259
2437
2438         Setting value attribute on an <input type=range> to an out-of-range value fires oninput
2439         https://bugs.webkit.org/show_bug.cgi?id=16990
2440
2441         Part 2 of 2: When setting the range element's value, overflows and underflows
2442         are automatically sanitized to valid values. Moved the general case
2443         sanitization code out of the Renderer into HTMLInputElement::sanitizeValue.
2444
2445         * html/HTMLInputElement.cpp:
2446         (WebCore::HTMLInputElement::value): when getting a default value on reset() ensure the defaultValue is provided
2447         (WebCore::HTMLInputElement::sanitizeValue): clamp the value within the max/min/step range constraints
2448         * html/StepRange.cpp:
2449         (WebCore::StepRange::StepRange): allow const element in the constructor
2450         (WebCore::StepRange::clampValue): clamp from a String value
2451         * html/StepRange.h:
2452         (WebCore::StepRange::defaultValue): easy calculation of the default value for max/min/step range constraints
2453         * rendering/RenderSlider.cpp:
2454         (WebCore::RenderSlider::updateFromElement): no longer handle the general case sanitization in the renderer
2455
2456 2010-03-19  Joseph Pecoraro  <joepeck@webkit.org>
2457
2458         Reviewed by David Kilzer.
2459
2460         <input type=range> does not validate correctly without a renderer and the tests are incorrect
2461         https://bugs.webkit.org/show_bug.cgi?id=36259
2462
2463         Part 1 of 2: Refactoring the SliderRange struct out of RenderSlider
2464         into a more appropriate place. Changed the named to StepRange. Changed
2465         from a struct to a class.
2466
2467           Added new files to the build.
2468
2469         * GNUmakefile.am:
2470         * WebCore.gypi:
2471         * WebCore.pro:
2472         * WebCore.vcproj/WebCore.vcproj:
2473         * WebCore.xcodeproj/project.pbxproj:
2474
2475           Renamed and moved class SliderRange to StepRange.
2476
2477         * html/StepRange.cpp: Added.
2478         (WebCore::StepRange::StepRange):
2479         (WebCore::StepRange::clampValue):
2480         (WebCore::StepRange::valueFromElement):
2481         (WebCore::sliderPosition):
2482         * html/StepRange.h: Added.
2483         (WebCore::StepRange::proportionFromValue):
2484         (WebCore::StepRange::valueFromProportion):
2485         * rendering/RenderSlider.cpp:
2486         (WebCore::RenderSlider::updateFromElement): updated to use StepRange
2487         (WebCore::RenderSlider::setValueForPosition): updated to use StepRange
2488
2489 2010-03-19  Antti Koivisto  <koivisto@iki.fi>
2490
2491         Reviewed by Simon Hausmann.
2492
2493         https://bugs.webkit.org/show_bug.cgi?id=36366
2494         Repaint loop when painting using scaled CTMs with different translations
2495
2496         The code in RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality
2497         tests if the scaling has changed from the previous value by comparing the
2498         transformations. The test fails if the scale is the same but the translation 
2499         changes. This can lead to infinite repaint loop if the document is painted 
2500         in pieces using different translations (for example for tiling).
2501
2502         * rendering/RenderBoxModelObject.cpp:
2503         (WebCore::RenderBoxModelScaleObserver::shouldPaintBackgroundAtLowQuality):
2504
2505 2010-03-19  Pavel Feldman  <pfeldman@chromium.org>
2506
2507         Reviewed by Timothy Hatcher.
2508
2509         Web Inspector: editing shorthands does not always work.
2510
2511         https://bugs.webkit.org/show_bug.cgi?id=36362
2512
2513         * inspector/InspectorDOMAgent.cpp:
2514         (WebCore::InspectorDOMAgent::applyStyleText):
2515         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
2516         (WebCore::InspectorDOMAgent::shorthandValue):
2517         * inspector/InspectorDOMAgent.h:
2518         * inspector/front-end/StylesSidebarPane.js:
2519         (WebInspector.StylePropertyTreeElement.prototype):
2520         * inspector/front-end/inspector.css:
2521         (.section .properties li.disabled .enabled-button):
2522         * inspector/front-end/inspector.js:
2523         (WebInspector.startEditing.editingCommitted):
2524
2525 2010-03-19  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2526
2527         Reviewed by Simon Hausmann.
2528
2529         [Qt] Don't replace clip when drawing complex text
2530
2531         * platform/graphics/qt/FontQt.cpp:
2532
2533 2010-03-18  Darin Fisher  <darin@chromium.org>
2534
2535         Reviewed by Adam Barth.
2536
2537         If a frame is already in the document, then setting its "src" attribute
2538         should add the resultant navigation to history.
2539
2540         https://bugs.webkit.org/show_bug.cgi?id=9166
2541
2542         This behavior is specified in section 4.8.2 of the HTML5 spec.
2543
2544         Test: fast/loader/frame-src-change-added-to-history.html
2545
2546         * html/HTMLFrameElementBase.cpp:
2547         (WebCore::HTMLFrameElementBase::openURL):
2548         (WebCore::HTMLFrameElementBase::setLocation):
2549         * html/HTMLFrameElementBase.h:
2550         * loader/FrameLoader.cpp:
2551         (WebCore::FrameLoader::requestFrame):
2552         * loader/FrameLoader.h:
2553
2554 2010-03-18  Chris Evans  <cevans@chromium.org>
2555
2556         Reviewed by Nikolas Zimmermann.
2557
2558         Fix a minor crash with mismatched array sizes in SVG animation
2559         elements.
2560
2561         https://bugs.webkit.org/show_bug.cgi?id=35606
2562
2563         Test: svg/animations/keypoints-mismatch.svg
2564
2565         * svg/SVGAnimationElement.cpp:
2566         (WebCore::SVGAnimationElement::startedActiveInterval):
2567         Globally apply validations relevant to all animation types.
2568
2569 2010-03-18  Vangelis Kokkevis  <vangelis@chromium.org>
2570
2571         Reviewed by Adam Barth.
2572
2573         Implement software composited graphics layers in Chromium using the Skia library.
2574         https://bugs.webkit.org/show_bug.cgi?id=35557
2575         This is an initial step in the implementation. Layer compositing is functioning
2576         but not optimized in any way. Subsesquent check-ins will be necessary to fine tune
2577         it.
2578
2579         Test: No new exposed functionality so no new tests.
2580
2581         * WebCore.gypi:
2582           Added new source files to the chromium build
2583         * platform/graphics/GraphicsLayer.h:
2584           Added necessary typedef's and forward declarations for Chromium.
2585         * platform/graphics/skia/GraphicsLayerSkia.cpp: Added.
2586         * platform/graphics/skia/GraphicsLayerSkia.h: Added.
2587           Declaration and implementation of the platform-specific GraphicsLayer class.
2588         * platform/graphics/skia/LayerRendererSkia.cpp: Added.
2589         * platform/graphics/skia/LayerRendererSkia.h: Added.
2590           Declaration and implementation of the Skia-based software compositor.
2591         * platform/graphics/skia/LayerSkia.cpp: Added.
2592         * platform/graphics/skia/LayerSkia.h: Added.
2593           Declaration and implementation of a compositable layer that uses a Skia canvas
2594           for backing store.
2595
2596 2010-03-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2597
2598         Reviewed by Darin Adler.
2599
2600         Make setPrinting() with printing=false, restore the previous
2601         media type in use.
2602
2603         Test: fast/media/print-restores-previous-mediatype.html
2604
2605         * page/Frame.cpp:
2606         (WebCore::Frame::setPrinting):
2607         * page/FrameView.cpp:
2608         (WebCore::FrameView::adjustMediaTypeForPrinting):
2609         * page/FrameView.h:
2610
2611 2010-03-18  David Kilzer  <ddkilzer@apple.com>
2612
2613         <http://webkit.org/b/36338> Remove unused RenderReplaced::adjustOverflowForBoxShadowAndReflect() declaration
2614
2615         Rubber-stamped by Darin Adler.
2616
2617         This declaration should have been removed in r47440.
2618
2619         * rendering/RenderReplaced.h:
2620         (WebCore::RenderReplaced::adjustOverflowForBoxShadowAndReflect): Removed.
2621
2622 2010-03-18  Jian Li  <jianli@chromium.org>
2623
2624         Reviewed by Dmitry Titov.
2625
2626         Dragging a PDF image triggers assertion in DragController::startDrag()
2627         https://bugs.webkit.org/show_bug.cgi?id=36247
2628
2629         Test: fast/images/drag-pdf-as-image.html
2630
2631         * platform/graphics/cg/PDFDocumentImage.cpp:
2632         (WebCore::PDFDocumentImage::filenameExtension):
2633         * platform/graphics/cg/PDFDocumentImage.h:
2634
2635 2010-03-18  Simon Fraser  <simon.fraser@apple.com>
2636
2637         Reviewed by Dan Bernstein.
2638
2639         Avoid taking a reference to a String owned by a temporary AtomicString.
2640
2641         * css/CSSSelector.cpp:
2642         (WebCore::CSSSelector::RareData::parseNth):
2643
2644 2010-03-18  Chris Marrin  <cmarrin@apple.com>
2645
2646         Reviewed by Simon Fraser.
2647
2648         Fixed parenting issues with HW layers on Windows
2649         https://bugs.webkit.org/show_bug.cgi?id=32449
2650         
2651         CACF can't properly fix superlayer changes, so a layer added
2652         as a sublayer must have a null superlayer. I changed a couple of
2653         places that change sublayers to removeFromSuperlayer while adding
2654         to a new layer. This fixes both the problem of disappearing children
2655         and children getting doubled. Also got rid of removeSublayer(). Layers
2656         should always be removed from their parent with removeFromSuperlayer().
2657         
2658         This also removed moveLayer(), which is not used and may not be safe in how
2659         it copies.
2660
2661         * platform/graphics/win/GraphicsLayerCACF.cpp:Changed setName to be like Mac, to give more debugging info (to fix problems like these)
2662         (WebCore::GraphicsLayerCACF::setName):
2663         * platform/graphics/win/WKCACFLayer.cpp:Make sure superlayer is null before adding
2664         (WebCore::WKCACFLayer::insertSublayer):
2665         (WebCore::WKCACFLayer::replaceSublayer):
2666         (WebCore::WKCACFLayer::removeFromSuperlayer):
2667         (WebCore::WKCACFLayer::setSublayers):
2668         (WebCore::WKCACFLayer::printLayer):print the superlayer for better debugging
2669         * platform/graphics/win/WKCACFLayer.h:
2670
2671 2010-03-18  Dimitri Glazkov  <dglazkov@chromium.org>
2672
2673         Unreviewed, build fix.
2674
2675         [Chromium] Change the order of mac/ and cg/ include dirs to fix compile break
2676         due to http://trac.webkit.org/changeset/56192,
2677
2678         * WebCore.gyp/WebCore.gyp: Changed the order.
2679
2680 2010-03-18  David Hyatt  <hyatt@apple.com>
2681
2682         Reviewed by Oliver Hunt.
2683
2684         https://bugs.webkit.org/show_bug.cgi?id=36325
2685
2686         Add support for stopImmediatePropagation from DOM Level 3 Events.
2687
2688         Added fast/events/stop-immediate-propagation.html.
2689
2690         * dom/Event.cpp:
2691         (WebCore::Event::Event):
2692         * dom/Event.h:
2693         (WebCore::Event::timeStamp):
2694         (WebCore::Event::stopPropagation):
2695         (WebCore::Event::stopImmediatePropagation):
2696         (WebCore::Event::propagationStopped):
2697         (WebCore::Event::immediatePropagationStopped):
2698         * dom/Event.idl:
2699         * dom/EventTarget.cpp:
2700         (WebCore::EventTarget::fireEventListeners):
2701
2702 2010-03-18  Dimitri Glazkov  <dglazkov@chromium.org>
2703
2704         Unreviewed, build fix.
2705
2706         Return frame accessor back to Geolocation, it's used in GeolocationServiceChromium.
2707         The accessor was removed in http://trac.webkit.org/changeset/56188.
2708
2709         * page/Geolocation.h:
2710         (WebCore::Geolocation::frame): Added back.
2711
2712 2010-03-18  Brent Fulgham  <bfulgham@webkit.org>
2713
2714         Reviewed by Adam Roben.
2715
2716         Help reduce build problems due to font declarations.
2717         https://bugs.webkit.org/show_bug.cgi?id=36190
2718
2719         Functions unchanged, no new tests.
2720
2721         * WebCore.vcproj/WebCore.vcproj: Add new file, and show
2722           movement of FontPlatformData.h to cg/ directory.
2723         * platform/graphics/cairo/FontPlatformData.h: Merge in
2724           WinCairo-specific declarations.  Correct constructor
2725           declaration to use type float for font size.
2726         (WebCore::FontPlatformData::FontPlatformData):
2727         (WebCore::FontPlatformData::hfont):
2728         (WebCore::FontPlatformData::useGDI):
2729         (WebCore::FontPlatformData::fontFace):
2730         (WebCore::FontPlatformData::setSize):
2731         (WebCore::FontPlatformData::hash):
2732         (WebCore::FontPlatformData::isHashTableDeletedValue):
2733         * platform/graphics/cairo/FontPlatformDataCairo.cpp:
2734         (WebCore::FontPlatformData::FontPlatformData): Correct
2735           constructor to accept type float for font size.
2736         * platform/graphics/cg/FontPlatformData.h: Copied from WebCore/platform/graphics/win/FontPlatformData.h.
2737         (WebCore::FontPlatformData::FontPlatformData):
2738         (WebCore::FontPlatformData::hfont):
2739         (WebCore::FontPlatformData::cgFont):
2740         (WebCore::FontPlatformData::operator==):
2741         * platform/graphics/win/FontPlatformData.h: Removed.
2742         * platform/graphics/win/FontPlatformDataCairoWin.cpp:
2743         (WebCore::FontPlatformData::operator==): Move implementation
2744           here (previously in header) to match other cairo-based ports.
2745         * platform/graphics/win/RefCountedHFONT.h: Added.  This
2746           was extracted from win/FontPlatformData.h, and is now shared
2747           by the cg/FontPlatformData.h and cairo/FontPlatformData.h
2748         (WebCore::RefCountedHFONT::create):
2749         (WebCore::RefCountedHFONT::createDeleted):
2750         (WebCore::RefCountedHFONT::~RefCountedHFONT):
2751         (WebCore::RefCountedHFONT::hfont):
2752         (WebCore::RefCountedHFONT::hash):
2753         (WebCore::RefCountedHFONT::RefCountedHFONT):
2754
2755 2010-03-18  Simon Fraser  <simon.fraser@apple.com>
2756
2757         No review.
2758
2759         Fix brace style after r56170.
2760         
2761         * css/CSSStyleSelector.cpp:
2762         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
2763
2764 2010-03-18  Simon Fraser  <simon.fraser@apple.com>
2765
2766         Reviewed by Dave Hyatt.
2767
2768         https://bugs.webkit.org/show_bug.cgi?id=36274
2769         CSS3 :nth-child selector 'odd' keyword case sensitivity test fails
2770         
2771         The tests for "odd", "even" etc. for nth-child selectors should be case insensitive.
2772
2773         Test: fast/css/nth-child-odd-case-insensitive.html
2774
2775         * css/CSSSelector.cpp:
2776         (WebCore::CSSSelector::RareData::parseNth):
2777
2778 2010-03-18  David Hyatt  <hyatt@apple.com>
2779
2780         Reviewed by Oliver Hunt.
2781
2782         https://bugs.webkit.org/show_bug.cgi?id=36265
2783
2784         Add support for event.defaultPrevented from DOM level 3.
2785     
2786         Added fast/events/defaultprevented.html
2787
2788         * dom/Event.idl:
2789
2790 2010-03-18  Darin Adler  <darin@apple.com>
2791
2792         Reviewed by Kenneth Rohde Christiansen.
2793
2794         Remove Geolocation.lastPosition, no longer in the spec.
2795         https://bugs.webkit.org/show_bug.cgi?id=36255
2796         rdar://problem/7746357
2797
2798         * WebCore.base.exp: Updated since Geolocation's destructor is now non-virtual.
2799
2800         * page/Geolocation.cpp:
2801         (WebCore::Geolocation::lastPosition): Add an assertion; it's only legal to
2802         call this if access to the location is allowed.
2803
2804         * page/Geolocation.h: Removed unneeded includes. Made destructor non-virtual,
2805         although it will still be virtual if any of the base classes have a virtual
2806         destructor. Made lastPosition, isAllowed, and isDenied functions private.
2807         Removed unused suspend, resume, setShouldClearCache, shouldClearCache,
2808         and frame functions.
2809
2810         * page/Geolocation.idl: Removed lastPosition read-only attribute. No longer in
2811         the Geolocation specification.
2812
2813 2010-03-18  David Hyatt  <hyatt@apple.com>
2814
2815         Reviewed by Simon Fraser.
2816
2817         https://bugs.webkit.org/show_bug.cgi?id=36275
2818
2819         Make sure :not does not allow pseudo-elements inside it. (Hooray for another pointless
2820         restriction on :not.)
2821
2822         Added fast/css/invalid-not-with-pseudo-element.html
2823
2824         * css/CSSGrammar.y:
2825         * css/CSSSelector.h:
2826         (WebCore::CSSSelector::matchesPseudoElement):
2827
2828 2010-03-18  Dan Bernstein  <mitz@apple.com>
2829
2830         Reviewed by Darin Adler.
2831
2832         <rdar://problem/7761400> Rework the fix for
2833         https://bugs.webkit.org/show_bug.cgi?id=18722
2834
2835         Test: fast/dynamic/float-remove-above-line-2.html
2836
2837         * rendering/RenderBlock.cpp:
2838         (WebCore::RenderBlock::removeFloatingObject): Treat 0- and less-than-0-height floats
2839         as having a height of 1 so that they intersect with the line they originate on.
2840         (WebCore::RenderBlock::clearFloats): Use numeric_limits.
2841         * rendering/RenderBlockLineLayout.cpp:
2842         (WebCore::RenderBlock::layoutInlineChildren): Removed the intersection checks here,
2843         so that a float is always included in the float list of the line it originates on, even
2844         if it does not intersect that line. This ensures that every float is accounted for, which
2845         is necessary during incremental layout when adding floats from clean lines.
2846
2847 2010-03-18  Antti Koivisto  <koivisto@iki.fi>
2848
2849         Reviewed by Kenneth Rohde Christiansen.
2850
2851         https://bugs.webkit.org/show_bug.cgi?id=36102
2852         [Qt] Scaling control API for tiled backing store
2853         
2854         Commit the new scale synchronously after unfreeze to avoid ugliness.
2855
2856         * platform/graphics/TiledBackingStore.cpp:
2857         (WebCore::TiledBackingStore::TiledBackingStore):
2858         (WebCore::TiledBackingStore::setContentsScale):
2859         (WebCore::TiledBackingStore::commitScaleChange):
2860         (WebCore::TiledBackingStore::setContentsFrozen):
2861         * platform/graphics/TiledBackingStore.h:
2862
2863 2010-03-18  David Hyatt  <hyatt@apple.com>
2864
2865         Reviewed by Simon Fraser.
2866
2867         https://bugs.webkit.org/show_bug.cgi?id=36281
2868
2869         Make sure an exception is raised if an @import rule is inserted in the wrong place.
2870         
2871         Also make sure (so that this particular test case passes) that rgba(0, 0, 0, 0) is dumped
2872         as transparent by getComputedStyle, since it most commonly occurs in background-color and
2873         that default makes more sense than dumping rgba values.
2874
2875         Added fast/css/invalid-import-insertion.html
2876
2877         * css/CSSPrimitiveValue.cpp:
2878         (WebCore::CSSPrimitiveValue::createColor):
2879         * css/CSSStyleSheet.cpp:
2880         (WebCore::CSSStyleSheet::insertRule):
2881
2882 2010-03-18  Luiz Agostini  <luiz.agostini@openbossa.org>
2883
2884         Reviewed by Kenneth Rohde Christiansen.
2885
2886         Multiselect Popup - Listbox click simulation
2887         https://bugs.webkit.org/show_bug.cgi?id=36177
2888
2889         Listbox popups will need to notify the corresponding select elements that a
2890         selection change happened. The current HTMLSelectElement interface does not
2891         allow multiple selections.
2892
2893         The new method  listBoxSelectItem will be used for that. I have refactored part
2894         of the mouse handling code in bug 36124 and I am now reusing it here for
2895         <select multiple> popups. All the other cases will handled as they were before to be
2896         sure that no side effects will show up.
2897
2898         * dom/SelectElement.cpp:
2899         (WebCore::SelectElement::updateListBoxSelection):
2900         (WebCore::SelectElement::listBoxOnChange):
2901         * dom/SelectElement.h:
2902         * html/HTMLSelectElement.cpp:
2903         (WebCore::HTMLSelectElement::listBoxPopupClick):
2904         * html/HTMLSelectElement.h:
2905
2906 2010-03-12  Ojan Vafai  <ojan@chromium.org>
2907
2908         Reviewed by David Levin.
2909
2910         smartdelete should only occur after double-click
2911         https://bugs.webkit.org/show_bug.cgi?id=35314
2912
2913         1. Consolidate all notions of selection-granularity into SelectionController.
2914         2. Now only mouse-based selections store a selection-granularity. This matches NSTextView.
2915
2916         New tests were added in http://trac.webkit.org/changeset/55913.
2917
2918         * WebCore.base.exp:
2919         * editing/MoveSelectionCommand.cpp:
2920         (WebCore::MoveSelectionCommand::MoveSelectionCommand):
2921         (WebCore::MoveSelectionCommand::doApply):
2922         * editing/MoveSelectionCommand.h:
2923         (WebCore::MoveSelectionCommand::create):
2924         * editing/SelectionController.cpp:
2925         (WebCore::SelectionController::SelectionController):
2926         (WebCore::SelectionController::setSelection):
2927         (WebCore::SelectionController::modify):
2928         (WebCore::SelectionController::clear):
2929         * editing/SelectionController.h:
2930         (WebCore::SelectionController::setSelection):
2931         (WebCore::SelectionController::granularity):
2932         * editing/VisibleSelection.cpp:
2933         (WebCore::VisibleSelection::VisibleSelection):
2934         (WebCore::VisibleSelection::expandUsingGranularity):
2935         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
2936         (WebCore::VisibleSelection::validate):
2937         * editing/VisibleSelection.h:
2938         (WebCore::operator==):
2939         * loader/FrameLoader.cpp:
2940         (WebCore::FrameLoader::clear):
2941         * page/DOMSelection.cpp:
2942         (WebCore::DOMSelection::extend):
2943         * page/DragController.cpp:
2944         (WebCore::DragController::concludeEditDrag):
2945         * page/EventHandler.cpp:
2946         (WebCore::EventHandler::selectClosestWordFromMouseEvent):
2947         (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
2948         (WebCore::EventHandler::handleMousePressEventTripleClick):
2949         (WebCore::EventHandler::handleMousePressEventSingleClick):
2950         (WebCore::EventHandler::updateSelectionForMouseDrag):
2951         * page/Frame.cpp:
2952         (WebCore::Frame::Frame):
2953         (WebCore::Frame::selectionGranularity):
2954         * page/Frame.h:
2955         * rendering/RenderTextControl.cpp:
2956         (WebCore::RenderTextControl::setSelectionRange):
2957
2958 2010-03-18  Dimitri Glazkov  <dglazkov@chromium.org>
2959
2960         Unreviewed, build fix.
2961
2962         [V8] Turn npObjectTypeInfo into a function, make everyone happy.
2963
2964         * bindings/v8/NPV8Object.cpp:
2965         (WebCore::npObjectTypeInfo): Added new function.
2966         (npCreateV8ScriptObject):
2967         * bindings/v8/NPV8Object.h: Turned npObjectTypeInfo into function.
2968         * bindings/v8/V8NPObject.cpp: Replaced references to function
2969
2970 2010-03-18  David Hyatt  <hyatt@apple.com>
2971
2972         Reviewed by Simon Fraser.
2973
2974         https://bugs.webkit.org/show_bug.cgi?id=36283
2975         
2976         The wrong constants were being used for the code that attempted to compact the background-repeat shorthand to
2977         a single value.
2978
2979         Added fast/backgrounds/background-repeat-computed-style.html
2980
2981         * css/CSSComputedStyleDeclaration.cpp:
2982         (WebCore::fillRepeatToCSSValue):
2983
2984 2010-03-18  Simon Fraser  <simon.fraser@apple.com>
2985
2986         Reviewed by Dave Hyatt.
2987
2988         https://bugs.webkit.org/show_bug.cgi?id=36273
2989         CSS3 :indeterminate and input type=radio test fails
2990
2991         The :indeterminate pseudo-class should apply to both radio buttons and checkboxes.
2992
2993         * html/HTMLInputElement.cpp:
2994         (WebCore::HTMLInputElement::setIndeterminate): Use allowsIndeterminate() to determine if the input
2995         supports the indeterminate state.
2996         (WebCore::HTMLInputElement::preDispatchEventHandler): Use allowsIndeterminate() to determine whether
2997         to handle the indeterminate state.
2998         (WebCore::HTMLInputElement::postDispatchEventHandler): Ditto.
2999         * html/HTMLInputElement.h:
3000         (WebCore::HTMLInputElement::allowsIndeterminate): New utility method, returns true for radio buttons
3001         and checkboxes.
3002
3003 2010-03-18  Simon Fraser  <simon.fraser@apple.com>
3004
3005         Reviewed by Dave Hyatt.
3006
3007         https://bugs.webkit.org/show_bug.cgi?id=36271
3008         CSS3 :enabled on an input type=hidden element fails
3009         
3010         The CSS3 selectors spec now makes it clear that hidden inputs should respect
3011         the :enabled and :disabled pseudo-classes.
3012
3013         Test: fast/forms/hidden-input-enabled.html
3014
3015         * css/CSSStyleSelector.cpp:
3016         (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Remove checks for hidden inputs.
3017
3018 2010-03-18  Enrica Casucci  <enrica@apple.com>
3019
3020         Reviewed by Simon Fraser.
3021
3022         Intro text at Star Wars demo is clipped.
3023         <rdar://problem/7560979>
3024         https://bugs.webkit.org/show_bug.cgi?id=33909
3025         
3026         Test: compositing/repaint/layer-repaint.html
3027         
3028         We are flipping the coordinates for drawing, therefore
3029         we must flip them also when we invalidate the rectangles.
3030
3031         * platform/graphics/win/GraphicsLayerCACF.cpp:
3032         (WebCore::WebLayer::setNeedsDisplay):
3033
3034 2010-03-18  Nate Chapin  <japhet@chromium.org>
3035
3036         Unreviewed, Chromium build fix.
3037
3038         Missed a #include in V8Collection.h.
3039
3040         * bindings/v8/V8Collection.h:
3041
3042 2010-03-18  David Hyatt  <hyatt@apple.com>
3043
3044         Reviewed by Simon Fraser.
3045
3046         Fix for https://bugs.webkit.org/show_bug.cgi?id=36284.
3047         
3048         Make sure the CSS parser properly rejects negative border widths.
3049
3050         Added fast/borders/negative-border-width.html
3051
3052         * css/CSSParser.cpp:
3053         (WebCore::CSSParser::parseValue):
3054
3055 2010-03-18  Nate Chapin  <japhet@chromium.org>
3056
3057         Reviewed by Dimitri Glazkov.
3058
3059         [V8] Remove V8Index.h and all references to V8ClassIndex.
3060         
3061         https://bugs.webkit.org/show_bug.cgi?id=33477
3062
3063         * WebCore.gypi:
3064         * bindings/scripts/CodeGeneratorV8.pm:
3065         * bindings/v8/NPV8Object.cpp:
3066         * bindings/v8/NPV8Object.h:
3067         * bindings/v8/V8Collection.h:
3068         * bindings/v8/V8DOMWindowShell.cpp:
3069         * bindings/v8/V8DOMWindowShell.h:
3070         * bindings/v8/V8DOMWrapper.cpp:
3071         * bindings/v8/V8DOMWrapper.h:
3072         * bindings/v8/V8GCController.cpp:
3073         * bindings/v8/V8Helpers.cpp:
3074         * bindings/v8/V8Index.h: Removed.
3075         * bindings/v8/V8IsolatedContext.h:
3076         * bindings/v8/V8NPObject.cpp:
3077         * bindings/v8/V8Proxy.cpp:
3078         * bindings/v8/V8Proxy.h:
3079         * bindings/v8/V8SVGPODTypeWrapper.h:
3080         * bindings/v8/WorkerContextExecutionProxy.cpp:
3081         * bindings/v8/WorkerContextExecutionProxy.h:
3082         * bindings/v8/WrapperTypeInfo.h: Move WrapperTypeInfo struct into its own file from V8Index.h.
3083         * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
3084         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3085         * bindings/v8/custom/V8EventSourceConstructor.cpp:
3086         * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp:
3087         * bindings/v8/custom/V8HTMLAudioElementConstructor.h:
3088         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3089         * bindings/v8/custom/V8HTMLImageElementConstructor.h:
3090         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
3091         * bindings/v8/custom/V8HTMLOptionElementConstructor.h:
3092         * bindings/v8/custom/V8HistoryCustom.cpp:
3093         * bindings/v8/custom/V8LocationCustom.cpp:
3094         * bindings/v8/custom/V8WebGLArrayCustom.h:
3095         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
3096         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
3097         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
3098         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3099         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
3100         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
3101         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
3102         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
3103         * bindings/v8/custom/V8WebKitPointConstructor.cpp:
3104
3105 2010-03-18  Yury Semikhatsky  <yurys@chromium.org>
3106
3107         Reviewed by Pavel Feldman.
3108
3109         Preserve console history between debugging sessions.
3110
3111         https://bugs.webkit.org/show_bug.cgi?id=36223
3112
3113         * inspector/front-end/ConsoleView.js:
3114         (WebInspector.ConsoleView.prototype._settingsLoaded):
3115         (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
3116         (WebInspector.ConsoleView.prototype._enterKeyPressed):
3117         * inspector/front-end/Settings.js:
3118         (WebInspector.Settings.prototype._load):
3119
3120 2010-03-18  Kim Grönholm  <kim.gronholm@nomovok.com>
3121
3122         Reviewed by Simon Hausmann.
3123
3124         [Qt] GraphicsLayer: Pausing and resuming of animations don't work as expected
3125         https://bugs.webkit.org/show_bug.cgi?id=36219
3126         
3127         addAnimation and pauseAnimation were handling animation state changes in
3128         the wrong way.
3129         Apparently WebCore calls addAnimation for resuming, so we have to make 
3130         sure to resume an existing animation if that happens. Also, timeOffset 
3131         is now used for synchronization of the Qt animation clock with the 
3132         WebCore clock, as opposed to using it as a delay timer. 
3133         Both those fixes were necessary to get the layout test to work.
3134         
3135         LayoutTests/animations/play-state.html now passed on Qt.
3136
3137         * platform/graphics/qt/GraphicsLayerQt.cpp:
3138         (WebCore::AnimationQtBase::AnimationQtBase):
3139         (WebCore::TransformAnimationQt::updateState):
3140         (WebCore::GraphicsLayerQt::addAnimation):
3141         (WebCore::GraphicsLayerQt::pauseAnimation):
3142
3143 2010-03-18  Adam Langley  <agl@chromium.org>
3144
3145         Reviewed by David Levin.
3146
3147         [chromium] Fix inverted logic in per-strike renderer patch.
3148
3149         I screwed up in r55089 and got one of the conditions backwards. Thanks
3150         to Roman Tsisyk for pointing it out.
3151
3152         https://bugs.webkit.org/show_bug.cgi?id=35495
3153
3154         Test: platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle.html
3155
3156         * platform/graphics/chromium/FontPlatformDataLinux.cpp:
3157         (WebCore::FontPlatformData::querySystemForRenderStyle):
3158
3159 2010-03-18  Pavel Feldman  <pfeldman@chromium.org>
3160
3161         Reviewed by Timothy Hatcher.
3162
3163         Web Inspector: Show inherited styles for a selected DOM element
3164
3165         https://bugs.webkit.org/show_bug.cgi?id=28039
3166
3167         * English.lproj/localizedStrings.js:
3168         * inspector/InspectorDOMAgent.cpp:
3169         (WebCore::InspectorDOMAgent::getStyles):
3170         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
3171         * inspector/front-end/DOMAgent.js:
3172         (WebInspector.CSSStyleDeclaration):
3173         * inspector/front-end/StylesSidebarPane.js:
3174         (WebInspector.StylesSidebarPane.prototype._update):
3175         (WebInspector.StylesSidebarPane.prototype._containsInherited):
3176         (WebInspector.StylePropertiesSection):
3177         (WebInspector.StylePropertiesSection.prototype.isPropertyInherited):
3178         (WebInspector.StylePropertiesSection.prototype.onpopulate):
3179
3180 2010-03-15  Antonio Gomes  <tonikitoo@webkit.org>
3181
3182         Reviewed by Gustavo Noronha.
3183         Patch by Antonio Gomes <tonikitoo@webkit.org>
3184
3185         Spatial Navigation: Add isNull() and document() convenience methods to FocusCandidate.
3186         https://bugs.webkit.org/show_bug.cgi?id=36167
3187
3188         It turns out that Spatial Navigation related code (in FocusController.cpp for
3189         instance) can be simplified and look better if FocusCandidate class offer some
3190         convenience method. This patch introduces a couple of them (isNull and a Document
3191         getter). It also adds another constructor that receives a Node as parameter.
3192
3193         A followup refactoring patch will be making use of these helper methods.
3194
3195         * page/SpatialNavigation.h:
3196         (WebCore::FocusCandidate::FocusCandidate): Added a "Node*" parameter
3197         to FocusCandidate's constructor.
3198         (WebCore::FocusCandidate::isNull): In the Spatial Navigation logic, a NULL
3199         FocusCandidate object is one that does not hold a valid reference to a "Node*".
3200         (WebCore::FocusCandidate::document): This method returns a pointer for the FocusCandidate
3201         node's document, if |node| is a valid pointer.
3202
3203 2010-03-18  Noam Rosenthal  <noam.rosenthal@nokia.com>
3204
3205         Reviewed by Antti Koivisto.
3206
3207         [Qt] [Performance] GraphicsLayerQt updates the scene too often
3208         https://bugs.webkit.org/show_bug.cgi?id=36158
3209
3210         This fix makes sure that flushChanges is only called when necessary,
3211         by calling the notifySync function asynchronously, which makes sure flushChanges() is called
3212         after the WebCore compositor has made all its changes.
3213
3214         This has shown a visual improvement on several test-cases.
3215
3216         * Makefile:
3217         * platform/graphics/qt/GraphicsLayerQt.cpp:
3218         (WebCore::GraphicsLayerQtImpl::):
3219         (WebCore::GraphicsLayerQtImpl::notifySyncRequired):
3220         (WebCore::GraphicsLayerQtImpl::notifyChange):
3221         (WebCore::GraphicsLayerQtImpl::flushChanges):
3222         (WebCore::GraphicsLayerQt::setMaskLayer):
3223         (WebCore::GraphicsLayerQt::setPosition):
3224         (WebCore::GraphicsLayerQt::setAnchorPoint):
3225         (WebCore::GraphicsLayerQt::setSize):
3226         (WebCore::GraphicsLayerQt::setTransform):
3227         (WebCore::GraphicsLayerQt::setChildrenTransform):
3228         (WebCore::GraphicsLayerQt::setPreserves3D):
3229         (WebCore::GraphicsLayerQt::setMasksToBounds):
3230         (WebCore::GraphicsLayerQt::setDrawsContent):
3231         (WebCore::GraphicsLayerQt::setBackgroundColor):
3232         (WebCore::GraphicsLayerQt::clearBackgroundColor):
3233         (WebCore::GraphicsLayerQt::setContentsOpaque):
3234         (WebCore::GraphicsLayerQt::setBackfaceVisibility):
3235         (WebCore::GraphicsLayerQt::setOpacity):
3236         (WebCore::GraphicsLayerQt::setContentsRect):
3237
3238 2010-03-18  Stephen White  <senorblanco@chromium.org>
3239
3240         Reviewed by Oliver Hunt.
3241
3242         Parsing of rgb() colors in HTML canvas is still fairly slow.
3243         findNamedColor() was showing up as hot, so this patch attempts to
3244         avoid calling it by putting the rgb() check ahead of the named
3245         colors.  It also removes a call to Color::Color() from
3246         CanvasStyle, which was doing a redundant check for the hex
3247         color and named colors, which CSSParser already does.  Finally, it
3248         changes the ad-hoc parser to check for negative values, and clamps them
3249         at zero.  This avoids the lex/yacc path for rgb() colors with
3250         negative color components.
3251
3252         https://bugs.webkit.org/show_bug.cgi?id=36199
3253
3254         Covered by fast/canvas/set-colors.html.
3255
3256         * css/CSSParser.cpp:
3257         (WebCore::parseInt):
3258         (WebCore::CSSParser::parseColor):
3259         * html/canvas/CanvasStyle.cpp:
3260         (WebCore::CanvasStyle::applyFillColor):
3261
3262 2010-03-18  David Kilzer  <ddkilzer@apple.com>
3263
3264         <http://webkit.org/b/36246> Node::removeAllEventListenersSlowCase is declared but not used
3265
3266         Reviewed by Sam Weinig.
3267
3268         * dom/Node.h:
3269         (WebCore::Node::removeAllEventListenersSlowCase): Removed
3270         declaration.  Implementation was removed in r48701.
3271
3272 2010-03-17  Stephan Aßmus  <superstippi@gmx.de>
3273
3274         Reviewed by Oliver Hunt.
3275
3276         [Haiku] Implement ImageBuffer support
3277         https://bugs.webkit.org/show_bug.cgi?id=35288
3278
3279         Covered by existing tests.
3280
3281         The StillImage class implements WebCore::Image by wrapping a native
3282         BBitmap. It will be needed to implement WebCore::ImageBuffer. This
3283         solution is just like it's done in the Qt port.
3284
3285         * platform/graphics/haiku/StillImageHaiku.cpp: Added.
3286         (WebCore::StillImage::StillImage):
3287         (WebCore::StillImage::destroyDecodedData):
3288         (WebCore::StillImage::decodedSize):
3289         (WebCore::StillImage::size):
3290         (WebCore::StillImage::nativeImageForCurrentFrame):
3291         (WebCore::StillImage::draw):
3292         * platform/graphics/haiku/StillImageHaiku.h: Added.
3293         (WebCore::StillImage::create):
3294
3295 2010-03-17  Holger Hans Peter Freyther  <zecke@selfish.org>
3296
3297         Rubber stamped by Gustavo Noronha Silva.
3298
3299         [Gtk+] Avoid making a copy of the HTTPHeaderMap.
3300
3301         ResourceRequest::httpHeaderFields() is returning a const
3302         reference but we are storing it as a simple value. This
3303         means that we run either the copy constructor or the assignment
3304         operator and make a copy of the RefPtrs.
3305
3306         This extra copy can be avoided easily by storing
3307         the result as a const reference.
3308
3309         * platform/network/soup/ResourceRequestSoup.cpp:
3310         (WebCore::ResourceRequest::toSoupMessage):
3311         * platform/network/soup/ResourceResponseSoup.cpp:
3312         (WebCore::ResourceResponseSoup::toSoupMessage):
3313
3314 2010-03-17  Alexander Pavlov  <apavlov@chromium.org>
3315
3316         Reviewed by Pavel Feldman.
3317
3318         Web Inspector: When switching resources in the Resources panel, the Content tab is always selected
3319         https://bugs.webkit.org/show_bug.cgi?id=36222
3320
3321         * inspector/front-end/ResourcesPanel.js:
3322         (WebInspector.ResourcesPanel.prototype.showResource):
3323
3324 2010-03-17  Brady Eidson  <beidson@apple.com>
3325
3326         Reviewed by Darin Adler.
3327
3328         databaseIdentifiers are not filtered for slashes
3329         <rdar://problem/7708789> and https://bugs.webkit.org/show_bug.cgi?id=36243
3330
3331         In addition to filtering for '/' and '\', to remove the directory vulnerability
3332         on all platforms, it seems worth it to also escape other characters that are
3333         obviously dangerous or illegal to have in a filename (mostly inspired by the 
3334         Windows illegal-character list).
3335
3336         No new tests - It's unclear how a test could possibly work into our testing
3337         infrastructure.
3338
3339         * page/SecurityOrigin.cpp:
3340         (WebCore::): Added a 128-bool table "needsEscaping" that has a true/false answer
3341           for lower-ASCII.
3342         (WebCore::SecurityOrigin::SecurityOrigin):
3343         (WebCore::SecurityOrigin::createFromDatabaseIdentifier): "Unescape" the host
3344           component using the KURL utility.
3345         (WebCore::shouldEscapeUChar): If the char is lower-ASCII, look it up in the 
3346           needsEscaping table. Otherwise, let it pass.
3347         (WebCore::encodedHost): Modeled after KURL's host escaping method, but targeted 
3348           for the escaping considerations for the host component. We don't use the KURL
3349           version because this one is "different" enough because it operates on UTF16 and
3350           has its own "is bad character?" decider.
3351         (WebCore::SecurityOrigin::databaseIdentifier): Create the escaped host if needed,
3352           and use it instead of the unescaped host.
3353         * page/SecurityOrigin.h:
3354
3355 2010-03-17  Dmitry Titov  <dimich@chromium.org>
3356
3357         Reviewed by Dimitri Glazkov.
3358
3359         [v8] Avoid reentry into v8 after TerminateExecution() on a worker thread.
3360         https://bugs.webkit.org/show_bug.cgi?id=36239
3361
3362         Test: fast/workers/termination-with-port-messages.html
3363
3364         * bindings/v8/V8Proxy.h:
3365         (WebCore::throwError): Avoid throwing if v8 execution is terminated anyways.
3366         * bindings/v8/WorkerScriptController.h:
3367         (WebCore::WorkerScriptController::proxy): Return V8 proxy as 0 if execution is terminating. Callers to check for 0 before invoking v8.
3368         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3369         (WebCore::SetTimeoutOrInterval): Bail out if v8 proxy is 0.
3370         (WebCore::toV8): Ditto
3371
3372 2010-03-17  José Millán Soto  <jmillan@igalia.com>
3373
3374         Reviewed by Adam Barth.
3375
3376         Change the way of prefetching DNS to allow prefetching function to use full URL
3377         https://bugs.webkit.org/show_bug.cgi?id=35589
3378
3379         Creates a new function, ResourceHandle::prepareForURL, whose default implementation
3380         calls prefetchDNS with the host of the given URL as the parameter.
3381         Soup implementation of ResourceHandle::prepareForURL executes soup_session_prepare_for_uri.
3382         Soup implementation of prefetchDNS is removed.
3383         Changed various prefetchDNS calls to ResourceHandle::prepareForURL calls.
3384
3385         * GNUmakefile.am:
3386         * html/HTMLAnchorElement.cpp:
3387         (WebCore::HTMLAnchorElement::parseMappedAttribute):
3388         * html/HTMLLinkElement.cpp:
3389         (WebCore::HTMLLinkElement::process):
3390         * page/Chrome.cpp:
3391         (WebCore::Chrome::mouseDidMoveOverElement):
3392         * platform/network/DNS.h:
3393         * platform/network/ResourceHandle.cpp:
3394         (WebCore::ResourceHandle::prepareForURL):
3395         * platform/network/ResourceHandle.h:
3396         * platform/network/chromium/DNSChromium.cpp:
3397         (WebCore::ResourceHandle::prepareForURL):
3398         * platform/network/soup/DNSSoup.cpp: Removed.
3399         * platform/network/soup/ResourceHandleSoup.cpp:
3400         (WebCore::ResourceHandle::prepareForURL):
3401         * wml/WMLAElement.cpp:
3402         (WebCore::WMLAElement::parseMappedAttribute):
3403
3404 2010-03-17  Kenneth Russell  <kbr@google.com>
3405
3406         Reviewed by Darin Fisher.
3407
3408         Revert WebGL context attributes changes 33416 / r56074 and 36200 / r56093
3409         https://bugs.webkit.org/show_bug.cgi?id=36233
3410
3411         The patch for bug 33416, which added multisampling support to the
3412         WebGL back buffer, uncovered some OpenGL driver bugs on the build
3413         bots which need further investigation to determine the appropriate
3414         workaround. Reverting this change, the minor build fix in 36189,
3415         and the skipping of the affected tests in bug 36200.
3416
3417         Built and tested WebKit and Chromium and ran all WebGL layout
3418         tests in both.
3419
3420         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
3421         (WebCore::V8HTMLCanvasElement::getContextCallback):
3422         * platform/graphics/GraphicsContext3D.h:
3423         * platform/graphics/mac/Canvas3DLayer.h:
3424         * platform/graphics/mac/Canvas3DLayer.mm:
3425         (-[Canvas3DLayer drawInCGLContext:pixelFormat:forLayerTime:displayTime:]):
3426         * platform/graphics/mac/GraphicsContext3DMac.cpp:
3427         (WebCore::GraphicsContext3D::GraphicsContext3D):
3428         (WebCore::GraphicsContext3D::~GraphicsContext3D):
3429         (WebCore::GraphicsContext3D::reshape):
3430         (WebCore::GraphicsContext3D::bindFramebuffer):
3431         (WebCore::GraphicsContext3D::readPixels):
3432         * platform/graphics/mac/GraphicsLayerCA.mm:
3433         (WebCore::GraphicsLayerCA::setContentsToGraphicsContext3D):
3434
3435 2010-03-17  Yael Aharon  <yael.aharon@nokia.com>
3436
3437         Reviewed by Darin Adler.
3438
3439         Optimize painting for HTMLProgressElement
3440         https://bugs.webkit.org/show_bug.cgi?id=36113
3441         Cache the progress bar's position, so it is not required to recalculate
3442         it for each repaint. 
3443         Call repaintRectangle() when the position changes.
3444
3445         No new tests, as no new functionality introduced.
3446
3447         * html/HTMLProgressElement.cpp:
3448         (WebCore::HTMLProgressElement::parseMappedAttribute):
3449         * platform/qt/RenderThemeQt.cpp:
3450         (WebCore::RenderThemeQt::getNumberOfPixelsForProgressPosition):
3451         (WebCore::RenderThemeQt::paintProgressBar):
3452         * platform/qt/RenderThemeQt.h:
3453         * rendering/RenderProgress.cpp:
3454         (WebCore::RenderProgress::RenderProgress):
3455         (WebCore::RenderProgress::updateFromElement):
3456         * rendering/RenderProgress.h:
3457         (WebCore::RenderProgress::position):
3458         * rendering/RenderTheme.cpp:
3459         (WebCore::RenderTheme::getNumberOfPixelsForProgressPosition):
3460         * rendering/RenderTheme.h:
3461
3462 2010-03-17  Antonio Gomes  <tonikitoo@webkit.org>
3463
3464         Mac Buildfix: Using ASSERT_UNUSED instead of ASSERT.
3465
3466         Reviewed by Simon fraser.
3467         Patch by Antonio Gomes <tonikitoo@webkit.org>
3468
3469         * dom/SelectElement.cpp:
3470         (WebCore::SelectElement::listBoxDefaultEventHandler):
3471
3472 2010-03-17  Enrica Casucci  <enrica@apple.com>
3473
3474         Reviewed by Darin Adler.
3475
3476         Missing support for showing compositing layers borders and repaint count on Windows.
3477         <rdar://problem/7760736>
3478         <https://bugs.webkit.org/show_bug.cgi?id=36197>
3479
3480         * platform/graphics/win/GraphicsLayerCACF.cpp:
3481         (WebCore::WebLayer::drawInContext): Modified to use the correct font on Windows.
3482
3483 2010-03-16  Luiz Agostini  <luiz.agostini@openbossa.org>
3484
3485         Reviewed by Antti Koivisto.
3486
3487         [Qt] Multiselect Popup - SelectElement refactoring.
3488         https://bugs.webkit.org/show_bug.cgi?id=36124
3489
3490         As it is today it is not possible to the menulists popups to tell SelectElement
3491         that more then one option is selected. If you select one the other ones
3492         selected state will turn off.
3493
3494         For <select multiple> I needed to extend the API used by menulist popups. This
3495         is the first step. Just refactoring SelectElement without any behavior change.
3496         Separating code that will be reused in future patches.
3497
3498         * dom/SelectElement.cpp:
3499         (WebCore::SelectElement::updateSelectedState):
3500         (WebCore::SelectElement::listBoxDefaultEventHandler):
3501         * dom/SelectElement.h:
3502
3503 2010-03-17  Nate Chapin  <japhet@chromium.org>
3504
3505         Unreviewed, Chromium build fix.
3506
3507         Delete the correct file this time.
3508
3509         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp: Copied from WebCore/bindings/v8/custom/V8XMLHttpRequestCustom.cpp.
3510         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed.
3511
3512 2010-03-17  Nate Chapin  <japhet@chromium.org>
3513
3514         Reviewed by Dimitri Glazkov.
3515
3516         [V8] Remove custom bindings callbacks that aren't in use.
3517         (The relevant .idl doesn't mark them as V8Custom or Custom).
3518         
3519         https://bugs.webkit.org/show_bug.cgi?id=33066
3520
3521         * Android.v8bindings.mk:
3522         * WebCore.gypi:
3523         * bindings/scripts/CodeGeneratorV8.pm:
3524         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3525         * bindings/v8/custom/V8WebGLArrayCustom.h:
3526         * bindings/v8/custom/V8WebGLByteArrayCustom.cpp:
3527         * bindings/v8/custom/V8WebGLFloatArrayCustom.cpp:
3528         * bindings/v8/custom/V8WebGLIntArrayCustom.cpp:
3529         * bindings/v8/custom/V8WebGLShortArrayCustom.cpp:
3530         * bindings/v8/custom/V8WebGLUnsignedByteArrayCustom.cpp:
3531         * bindings/v8/custom/V8WebGLUnsignedIntArrayCustom.cpp:
3532         * bindings/v8/custom/V8WebGLUnsignedShortArrayCustom.cpp:
3533         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3534         * bindings/v8/custom/V8XMLHttpRequestUploadCustom.cpp: Removed.
3535
3536 2010-03-17  Steve Block  <steveblock@google.com>
3537
3538         Reviewed by Dimitri Glazkov.
3539
3540         Adds ENABLE(WORKERS) guards to V8 bindings
3541         https://bugs.webkit.org/show_bug.cgi?id=36221
3542
3543         Build fix only, no new tests.
3544
3545         * bindings/v8/V8DOMWrapper.cpp:
3546         (WebCore::V8DOMWrapper::instantiateV8Object):
3547         * bindings/v8/V8Proxy.cpp:
3548         (WebCore::toV8Context):
3549
3550 2010-03-17  Yury Semikhatsky  <yurys@chromium.org>
3551
3552         Reviewed by Pavel Feldman.
3553
3554         Remove unused reference to InspectorController from InspectorFrontend.
3555
3556         https://bugs.webkit.org/show_bug.cgi?id=36218
3557
3558         * inspector/InspectorFrontend.h:
3559
3560 2010-03-17 Ilya Tikhonovsky  <loislo@chromium.org>
3561
3562         Reviewed by Pavel Feldman.
3563
3564         WebInspector: Timeline improvements - next iteration.
3565
3566         The top level records should be collapsed.
3567         Virtually linked events should be nested in Timeline like Send Request and
3568         corresponding Received Responce, Timer Install and Timer Fire etc.
3569         It should be possible to see Main Resource request.
3570
3571         https://bugs.webkit.org/show_bug.cgi?id=36122
3572
3573         * inspector/InspectorController.cpp:
3574         (WebCore::InspectorController::resetScriptObjects):
3575         (WebCore::InspectorController::didReceiveResponse):
3576         * inspector/InspectorTimelineAgent.cpp:
3577         (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
3578         (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
3579         * inspector/InspectorTimelineAgent.h:
3580         * inspector/front-end/TimelinePanel.js:
3581         (WebInspector.TimelinePanel):
3582         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
3583         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
3584         (WebInspector.TimelinePanel.prototype._findParentRecord):
3585         (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
3586         (WebInspector.TimelinePanel.prototype.resize):
3587         (WebInspector.TimelinePanel.prototype._createTopLevelRecord):
3588         (WebInspector.TimelinePanel.prototype.reset):
3589         (WebInspector.TimelinePanel.prototype._clean):
3590         (WebInspector.TimelinePanel.prototype._refresh):
3591         (WebInspector.TimelinePanel.prototype._refreshRecords):
3592         (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
3593         (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
3594         (WebInspector.TimelineCalculator.prototype.updateBoundaries):
3595         (WebInspector.TimelineRecordGraphRow):
3596         (WebInspector.TimelineRecordGraphRow.prototype.update):
3597         (WebInspector.TimelinePanel.FormattedRecord):
3598         (WebInspector.TimelinePanel.FormattedRecord.prototype.get children):
3599         (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
3600         * inspector/front-end/inspector.css:
3601         * loader/ResourceLoader.cpp:
3602         (WebCore::ResourceLoader::didReceiveResponse):
3603
3604 2010-03-17  Alexander Pavlov  <apavlov@chromium.org>
3605
3606         Reviewed by Pavel Feldman.
3607
3608         Web Inspector: Reimplement style-related audits using native API
3609         https://bugs.webkit.org/show_bug.cgi?id=36172
3610
3611         * inspector/InspectorBackend.cpp:
3612         (WebCore::InspectorBackend::getAllStyles):
3613         * inspector/InspectorBackend.h:
3614         * inspector/InspectorBackend.idl:
3615         * inspector/InspectorDOMAgent.cpp:
3616         (WebCore::InspectorDOMAgent::getAllStyles):
3617         (WebCore::InspectorDOMAgent::getMatchedCSSRules):
3618         (WebCore::InspectorDOMAgent::buildObjectForStyleSheet):
3619         (WebCore::InspectorDOMAgent::buildObjectForRule):
3620         * inspector/InspectorDOMAgent.h:
3621         * inspector/InspectorFrontend.cpp:
3622         (WebCore::InspectorFrontend::didGetAllStyles):
3623         * inspector/InspectorFrontend.h:
3624         * inspector/front-end/AuditRules.js:
3625         (WebInspector.AuditRules.evaluateInTargetWindow):
3626         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
3627         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.routine):
3628         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
3629         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.routine):
3630         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
3631         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
3632         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
3633         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
3634         * inspector/front-end/DOMAgent.js:
3635         * inspector/front-end/InjectedScript.js:
3636         (injectedScriptConstructor):
3637
3638 2010-03-17  Steve Block  <steveblock@google.com>
3639
3640         Reviewed by Jeremy Orlow.
3641
3642         Replace instances of bzero in WebCore/bridge common code with memset
3643         https://bugs.webkit.org/show_bug.cgi?id=36214
3644
3645         Syntax change only, no new tests.
3646
3647         * bridge/jni/JNIUtility.cpp:
3648         (JSC::Bindings::getJNIField):
3649         * bridge/jni/jsc/JNIBridgeJSC.cpp:
3650         (JavaField::dispatchValueFromInstance):
3651         * bridge/jni/jsc/JNIUtilityPrivate.cpp:
3652         (JSC::Bindings::convertValueToJValue):
3653         * bridge/jni/v8/JNIUtilityPrivate.cpp:
3654         (JSC::Bindings::convertNPVariantToJValue):
3655         * bridge/jni/v8/JavaNPObjectV8.cpp:
3656         (JSC::Bindings::AllocJavaNPObject):
3657
3658 2010-03-17  Yury Semikhatsky  <yurys@chromium.org>
3659
3660         Reviewed by Pavel Feldman.
3661
3662         Mark inspector resources as changed so that they are reloaded on the next frontend connection.
3663         
3664         Split resetScriptObjects into code specific for page navigation and insepctor frontend disconnection.
3665
3666         https://bugs.webkit.org/show_bug.cgi?id=36183
3667
3668         * WebCore.xcodeproj/project.pbxproj: Added InspectorWorkerResource.h to the project file.
3669         * inspector/InspectorController.cpp:
3670         (WebCore::InspectorController::disconnectFrontend):
3671         (WebCore::InspectorController::unbindAllResources):
3672         (WebCore::InspectorController::didCommitLoad):
3673         * inspector/InspectorController.h:
3674         * inspector/InspectorResource.cpp:
3675         (WebCore::InspectorResource::releaseScriptObject):
3676
3677 2010-03-17  Pavel Feldman  <pfeldman@chromium.org>
3678
3679         Reviewed by Timothy Hatcher.
3680
3681         Web Inspector: Capture main resource load events in timeline panel.
3682
3683         https://bugs.webkit.org/show_bug.cgi?id=36188
3684
3685         * inspector/front-end/TimelinePanel.js:
3686         (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
3687         (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
3688         (WebInspector.TimelinePanel.prototype.timelineWasStopped):
3689         (WebInspector.TimelinePanel.prototype.addRecordToTimeline):
3690         (WebInspector.TimelinePanel.prototype._clearPanel):
3691         (WebInspector.TimelinePanel.FormattedRecord):
3692
3693 2010-03-17  Zoltan Horvath  <zoltan@webkit.org>
3694
3695         Reviewed by Eric Seidel.
3696
3697         Allow custom memory allocation control for AtomicString class
3698         https://bugs.webkit.org/show_bug.cgi?id=35907
3699
3700         Inherits the following class from FastAllocBase because it is
3701         instantiated by 'new':
3702
3703         class name   - instantiated at: WebCore/'location'
3704         AtomicString - WebCore/html/HTMLTableElement.cpp:525
3705
3706         * platform/text/AtomicString.h:
3707
3708 2010-03-16  John Abd-El-Malek  <jam@chromium.org>
3709
3710         Reviewed by Darin Fisher.
3711
3712         Give keyboard focus to PluginDocuments by default
3713         https://bugs.webkit.org/show_bug.cgi?id=36147
3714
3715         Test: http/tests/plugins/plugin-document-has-focus.html
3716
3717         * loader/PluginDocument.cpp:
3718         (WebCore::PluginDocument::pluginNode):
3719         * loader/PluginDocument.h:
3720         * page/EventHandler.cpp:
3721         (WebCore::eventTargetNodeForDocument):
3722
3723 2010-03-16  Chris Fleizach  <cfleizach@apple.com>
3724
3725         Reviewed by Darin Adler.
3726
3727         REGRESSION (r53857): Crash when tabbing to <map>
3728         https://bugs.webkit.org/show_bug.cgi?id=36017
3729
3730         Test: fast/events/imagemap-norender-crash.html
3731
3732         * html/HTMLMapElement.cpp:
3733         (WebCore::HTMLMapElement::imageElement):
3734
3735 2010-03-16  Brent Fulgham  <bfulgham@webkit.org>
3736
3737         Build fix.  No Review.
3738
3739         Correct missing includes in cURL network backend introduced
3740         by recent changes in WebKit.
3741
3742         * platform/network/curl/ResourceHandleCurl.cpp: Add missing
3743           includes for SharedBuffer and PassRefPtr.
3744         (WebCore::ResourceHandle::loadResourceSynchronously): Correct
3745           constructor signature for ResourceHandle to match @r55688.
3746         * platform/network/curl/ResourceHandleManager.cpp: Add missing
3747           include for RetainPtr.
3748
3749 2010-03-16  Zhenyao Mo  <zmo@google.com>
3750
3751         Reviewed by Darin Fisher.
3752
3753         Hook up WebGLContextAttributes to OpenGL context creation code
3754         https://bugs.webkit.org/show_bug.cgi?id=33416
3755
3756         Test: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
3757
3758         * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp: Fix an index bug.
3759         * platform/graphics/GraphicsContext3D.h: Add members/functions for multisampling/stencil buffer purpose.
3760         * platform/graphics/mac/Canvas3DLayer.h: Add GraphicsContext3D as a member of Canvas3DLayer.
3761         * platform/graphics/mac/Canvas3DLayer.mm: Add multisampling support.
3762         * platform/graphics/mac/GraphicsContext3DMac.cpp: Hook up WebGLContextAttributes to OpenGL context creation code for Mac.
3763         * platform/graphics/mac/GraphicsLayerCA.mm: Adjust to modified Canvas3DLayer init call.
3764
3765 2010-03-16  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
3766
3767         Reviewed by Xan Lopez.
3768
3769         https://bugs.webkit.org/show_bug.cgi?id=35504
3770         [Gtk] Evaluate and fix AtkTable for layout tables
3771
3772         Causes "layout tables" to be exposed as AccessibilityTables for Gtk.
3773
3774         * accessibility/AccessibilityTable.cpp:
3775         (AccessibilityTable::isTableExposableThroughAccessibility):
3776
3777 2010-03-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3778
3779         Unreviewed. Build fix for distcheck.
3780
3781         * GNUmakefile.am:
3782
3783 2010-03-15  Darin Fisher  <darin@chromium.org>
3784
3785         Reviewed by Adam Barth.
3786
3787         https://bugs.webkit.org/show_bug.cgi?id=36152
3788         [chromium] Add support for history.pushState and history.replaceState
3789
3790         This is covered by the existing tests in fast/loader/stateobjects
3791
3792         * bindings/v8/SerializedScriptValue.cpp:
3793         (WebCore::ZigZag::Deserializer::deserialize):
3794         (WebCore::SerializedScriptValue::deserialize):
3795         * bindings/v8/SerializedScriptValue.h:
3796         Switch to returning v8::Null instead of the empty value to match JSC
3797         and the spec.
3798
3799         * loader/FrameLoader.cpp:
3800         (WebCore::FrameLoader::loadInSameDocument): Call
3801         dispatchDidNavigateWithinPage just before dispatching events to the
3802         page.  This ordering is important since the event handlers could
3803         destroy the page or start another navigation.
3804
3805         * loader/FrameLoaderClient.h: Add dispatchDidNavigateWithinPage to
3806         notify the client whenever a navigation occurs without changing any of
3807         the documents in the page.
3808
3809 2010-03-16  Adam Roben  <aroben@apple.com>
3810
3811         Fix linker warnings when building WebCore on Windows
3812
3813         Rubber-stamped by Steve Falkenburg.
3814
3815         * WebCore.vcproj/WebCore.vcproj: Exclude JSDOMFormData.cpp from the
3816         build, since it's already included in DerivedSources.cpp. Also let VS
3817         sort this file as it saw fit.
3818
3819 2010-03-15  Antti Koivisto  <koivisto@iki.fi>
3820
3821         Reviewed by Simon Hausmann.
3822
3823         https://bugs.webkit.org/show_bug.cgi?id=36121
3824         [Qt] Make WebKit scrollbars work with tiling
3825          
3826         Translate coordinates correctly.
3827
3828         * page/Frame.cpp:
3829         (WebCore::Frame::tiledBackingStorePaintEnd):
3830
3831 2010-03-16  Jakub Wieczorek  <jwieczorek@webkit.org>
3832
3833         Reviewed by Eric Seidel.
3834
3835         [Qt] MediaPlayerPrivate: Initialize m_mediaPlayerControl to 0 to avoid crashes
3836         when no media services can be found.
3837
3838         https://bugs.webkit.org/show_bug.cgi?id=36142
3839
3840         * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
3841         (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
3842
3843 2010-03-16  Adam Barth  <abarth@webkit.org>
3844
3845         Unreviewed.
3846
3847         noscript tag should render when @sandbox disables JavaScript
3848         https://bugs.webkit.org/show_bug.cgi?id=36092
3849
3850         Add missing "!" in plugin code.  Should fix plugins/embed-inside-object
3851         on Gtk and Qt.
3852
3853         * plugins/PluginView.cpp:
3854         (WebCore::PluginView::load):
3855
3856 2010-03-16  Nate Chapin  <japhet@chromium.org>
3857
3858         Reviewed by Dimitri Glazkov.
3859
3860         [V8] Delete DerivedSourcesAllInOne.cpp.
3861
3862         https://bugs.webkit.org/show_bug.cgi?id=33048
3863
3864         * Android.v8bindings.mk:
3865         * bindings/v8/DerivedSourcesAllInOne.cpp: Removed.
3866
3867 2010-03-16  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3868
3869         Revert r56006 as it caused functional issues. We will work on a
3870         testcase, and rework the fix, and land when we have this a bit
3871         more testable.
3872
3873         * platform/gtk/RenderThemeGtk.cpp:
3874         (WebCore::RenderThemeGtk::paintMediaPlayButton):
3875
3876 2010-03-16  Pavel Feldman  <pfeldman@chromium.org>
3877
3878         Reviewed by Timothy Hatcher.
3879
3880         Web Inspector: Errors when inspecting styles of non-renderable elements in XHTML.
3881
3882         https://bugs.webkit.org/show_bug.cgi?id=35025
3883
3884         * inspector/InspectorDOMAgent.cpp:
3885         (WebCore::InspectorDOMAgent::getStyles):
3886         * inspector/front-end/DOMAgent.js:
3887         (WebInspector.DOMNode.prototype._addAttribute):
3888         (WebInspector.DOMWindow.prototype.Object):
3889         * inspector/front-end/MetricsSidebarPane.js:
3890         * inspector/front-end/StylesSidebarPane.js:
3891         (WebInspector.StylesSidebarPane.prototype.update.callback):
3892         (WebInspector.StylesSidebarPane.prototype.update):
3893         (WebInspector.StylesSidebarPane.prototype._update):
3894
3895 2010-03-12  Antonio Gomes  <tonikitoo@webkit.org>
3896
3897         Reviewed by Simon Fraser.
3898         Patch by Antonio Gomes <tonikitoo@webkit.org>
3899
3900         Spatial Navigation: Add a scrollIntoView call when focusing an element.
3901         https://bugs.webkit.org/show_bug.cgi?id=36020
3902
3903         When focusing an element in Spatial Navigation logic, it is desired to make
3904         this element visible in the current viewport. For that to happen, there
3905         could be a call to Element's scrollIntoView method at focusing time. However
3906         for visual aspects, it is preferable to scroll to an inflated rect of |element|
3907         in order to consider the focus outline width.
3908         As Element's scrollIntoView method does not provide this flexibility, patch adds
3909         a custom scrollIntoView method to SpatialNavigation.h .
3910
3911         * page/FocusController.cpp:
3912         (WebCore::FocusController::advanceFocusDirectionally):
3913         * page/SpatialNavigation.cpp:
3914         (WebCore::scrollIntoView):
3915         * page/SpatialNavigation.h:
3916
3917 2010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3918
3919         Reviewed by Eric Seidel.
3920
3921         [GTK] Position queries are lagging
3922         https://bugs.webkit.org/show_bug.cgi?id=34372
3923
3924         Normalize timeout priorities through the GStreamer media player as
3925         a whole. This should help avoid that any of them is starved.
3926
3927         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
3928         (WebCore::MediaPlayerPrivate::volumeChanged):
3929         (WebCore::MediaPlayerPrivate::processBufferingStats):
3930         (WebCore::MediaPlayerPrivate::muteChanged):
3931         * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
3932         (webkit_video_sink_render):
3933         * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
3934         (webKitWebSrcNeedDataCb):
3935         (webKitWebSrcEnoughDataCb):
3936         (webKitWebSrcSeekDataCb):
3937
3938 2010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3939
3940         Reviewed by Eric Seidel.
3941
3942         [GTK] Position queries are lagging
3943         https://bugs.webkit.org/show_bug.cgi?id=34372
3944
3945         Use default priority also for parsing data: URIs.
3946
3947         * platform/network/soup/ResourceHandleSoup.cpp:
3948         (WebCore::startData):
3949
3950 2010-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
3951
3952         Reviewed by Eric Seidel.
3953
3954         [GTK] Position queries are lagging
3955         https://bugs.webkit.org/show_bug.cgi?id=34372
3956
3957         Normalize SharedTimers priorities to always be
3958         G_PRIORITY_DEFAULT. As it is currently, timers that should happen
3959         immediately (0 miliseconds delay) end up delayed by a lot of time
3960         due to glib starving lower priority sources.
3961
3962         * platform/gtk/SharedTimerGtk.cpp:
3963         (WebCore::setSharedTimerFireTime):
3964
3965 2010-03-16  Xan Lopez  <xlopez@igalia.com>
3966
3967         Reviewed by Gustavo Noronha.
3968
3969         Add support for Fast Mobile Scrolling in the build system.
3970
3971         * GNUmakefile.am:
3972
3973 2010-03-11  Yury Semikhatsky <yurys@chromium.org>
3974
3975         Reviewed by Pavel Feldman.
3976
3977         Introduce InspectorFrontendClient that provides InspectorFrontend with an interface to the embedder. InspectorClient now serves as a delegate for InspectorController and does not contain methods for managing inspector frontend window. That allows to create remote InspectorFrontendHost.
3978
3979         Introduce InspectorFrontendClient that would provide InspectorFrontend with an interface to the embedder
3980         https://bugs.webkit.org/show_bug.cgi?id=35036
3981
3982         * GNUmakefile.am:
3983         * WebCore.Inspector.exp:
3984         * WebCore.base.exp:
3985         * WebCore.gypi:
3986         * WebCore.order:
3987         * WebCore.pro:
3988         * WebCore.xcodeproj/project.pbxproj:
3989         * inspector/ConsoleMessage.cpp:
3990         (WebCore::ConsoleMessage::addToFrontend):
3991         * inspector/ConsoleMessage.h:
3992         * inspector/InspectorClient.h:
3993         * inspector/InspectorController.cpp:
3994         (WebCore::InspectorController::InspectorController):
3995         (WebCore::InspectorController::~InspectorController):
3996         (WebCore::InspectorController::inspectedPageDestroyed):
3997         (WebCore::InspectorController::windowVisible):
3998         (WebCore::InspectorController::frontendReady):
3999         (WebCore::InspectorController::willCloseFrontend):
4000         (WebCore::InspectorController::addConsoleMessage):
4001         (WebCore::InspectorController::setInspectorFrontendClient):
4002         (WebCore::InspectorController::inspectedWindowScriptObjectCleared):
4003         (WebCore::InspectorController::setFrontend):
4004         (WebCore::InspectorController::show):
4005         (WebCore::InspectorController::close):
4006         (WebCore::InspectorController::releaseDOMAgent):
4007         (WebCore::InspectorController::populateScriptObjects):
4008         (WebCore::InspectorController::didCommitLoad):
4009         (WebCore::InspectorController::getProfile):
4010         (WebCore::InspectorController::enableDebugger):
4011         * inspector/InspectorController.h:
4012         (WebCore::InspectorController::hasInspectorFrontendClient):
4013         * inspector/InspectorFrontend.cpp:
4014         (WebCore::InspectorFrontend::InspectorFrontend):
4015         (WebCore::InspectorFrontend::~InspectorFrontend):
4016         (WebCore::InspectorFrontend::addConsoleMessage):
4017         (WebCore::InspectorFrontend::bringToFront):
4018         (WebCore::InspectorFrontend::inspectedURLChanged):
4019         * inspector/InspectorFrontend.h:
4020         * inspector/InspectorFrontendClient.h: Added.
4021         (WebCore::InspectorFrontendClient::~InspectorFrontendClient):
4022         * inspector/InspectorFrontendClientLocal.cpp: Added.
4023         (WebCore::FrontendMenuProvider::create):
4024         (WebCore::FrontendMenuProvider::disconnect):
4025         (WebCore::FrontendMenuProvider::FrontendMenuProvider):
4026         (WebCore::FrontendMenuProvider::~FrontendMenuProvider):
4027         (WebCore::FrontendMenuProvider::populateContextMenu):
4028         (WebCore::FrontendMenuProvider::contextMenuItemSelected):
4029         (WebCore::FrontendMenuProvider::contextMenuCleared):
4030         (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
4031         (WebCore::InspectorFrontendClientLocal::~InspectorFrontendClientLocal):
4032         (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
4033         (WebCore::InspectorFrontendClientLocal::frontendLoaded):
4034         (WebCore::InspectorFrontendClientLocal::canAttachWindow):
4035         (WebCore::InspectorFrontendClientLocal::changeAttachedWindowHeight):
4036         (WebCore::InspectorFrontendClientLocal::moveWindowBy):
4037         (WebCore::InspectorFrontendClientLocal::showContextMenu):
4038         (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
4039         (WebCore::InspectorFrontendClientLocal::restoreAttachedWindowHeight):
4040         (WebCore::InspectorFrontendClientLocal::constrainedAttachedWindowHeight):
4041         * inspector/InspectorFrontendClientLocal.h: Added.
4042         * inspector/InspectorFrontendHost.cpp:
4043         (WebCore::InspectorFrontendHost::InspectorFrontendHost):
4044         (WebCore::InspectorFrontendHost::~InspectorFrontendHost):
4045         (WebCore::InspectorFrontendHost::loaded):
4046         (WebCore::InspectorFrontendHost::attach):
4047         (WebCore::InspectorFrontendHost::detach):
4048         (WebCore::InspectorFrontendHost::closeWindow):
4049         (WebCore::InspectorFrontendHost::bringToFront):
4050         (WebCore::InspectorFrontendHost::inspectedURLChanged):
4051         (WebCore::InspectorFrontendHost::canAttachWindow):
4052         (WebCore::InspectorFrontendHost::setAttachedWindowHeight):
4053         (WebCore::InspectorFrontendHost::moveWindowBy):
4054         (WebCore::InspectorFrontendHost::showContextMenu):
4055         * inspector/InspectorFrontendHost.h:
4056         (WebCore::InspectorFrontendHost::create):
4057         * inspector/InspectorFrontendHost.idl:
4058         * inspector/front-end/InspectorFrontendHostStub.js:
4059         (.WebInspector.InspectorFrontendHostStub.prototype.bringToFront):
4060         (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
4061         * inspector/front-end/inspector.js:
4062         (WebInspector.loaded):
4063         (WebInspector.close):
4064         (WebInspector.bringToFront):
4065         (WebInspector.inspectedURLChanged):
4066         * loader/EmptyClients.h:
4067         (WebCore::EmptyInspectorClient::openInspectorFrontend):
4068         * loader/FrameLoader.cpp:
4069         (WebCore::FrameLoader::dispatchDidClearWindowObjectInWorld):
4070         * page/Page.cpp:
4071         (WebCore::Page::Page):
4072         (WebCore::Page::~Page):
4073         * page/Page.h:
4074         * platform/ContextMenu.cpp:
4075         (WebCore::ContextMenu::populate):
4076         (WebCore::ContextMenu::addInspectElementItem):
4077
4078 2010-03-16  Pavel Feldman  <pfeldman@chromium.org>
4079
4080         Reviewed by Timothy Hatcher.
4081
4082         Web Inspector: migrate to native styles inspector in
4083         order to inspect styles from foreighn domains.
4084
4085         https://bugs.webkit.org/show_bug.cgi?id=36117
4086
4087         * inspector/InspectorBackend.cpp:
4088         (WebCore::InspectorBackend::getStyles):
4089         (WebCore::InspectorBackend::getInlineStyle):
4090         (WebCore::InspectorBackend::getComputedStyle):
4091         (WebCore::InspectorBackend::applyStyleText):
4092         (WebCore::InspectorBackend::setStyleText):
4093         (WebCore::InspectorBackend::setStyleProperty):
4094         (WebCore::InspectorBackend::toggleStyleEnabled):
4095         (WebCore::InspectorBackend::setRuleSelector):
4096         (WebCore::InspectorBackend::addRule):
4097         * inspector/InspectorBackend.h:
4098         * inspector/InspectorBackend.idl:
4099         * inspector/InspectorDOMAgent.cpp:
4100         (WebCore::InspectorDOMAgent::InspectorDOMAgent):
4101         (WebCore::InspectorDOMAgent::getStyles):
4102         (WebCore::InspectorDOMAgent::getInlineStyle):
4103         (WebCore::InspectorDOMAgent::getComputedStyle):
4104         (WebCore::InspectorDOMAgent::getMatchedCSSRules):
4105         (WebCore::InspectorDOMAgent::getAttributeStyles):
4106         (WebCore::InspectorDOMAgent::applyStyleText):
4107         (WebCore::InspectorDOMAgent::setStyleText):
4108         (WebCore::InspectorDOMAgent::setStyleProperty):
4109         (WebCore::InspectorDOMAgent::toggleStyleEnabled):
4110         (WebCore::InspectorDOMAgent::setRuleSelector):
4111         (WebCore::InspectorDOMAgent::addRule):
4112         (WebCore::InspectorDOMAgent::bindStyle):
4113         (WebCore::InspectorDOMAgent::bindRule):
4114         (WebCore::InspectorDOMAgent::buildObjectForStyle):
4115         (WebCore::InspectorDOMAgent::populateObjectWithStyleProperties):
4116         (WebCore::InspectorDOMAgent::buildObjectForRule):
4117         (WebCore::InspectorDOMAgent::uniqueStyleProperties):
4118         (WebCore::InspectorDOMAgent::longhandProperties):
4119         (WebCore::InspectorDOMAgent::shorthandPriority):
4120         (WebCore::InspectorDOMAgent::ruleAffectsNode):
4121         (WebCore::InspectorDOMAgent::toArray):
4122         * inspector/InspectorDOMAgent.h:
4123         * inspector/InspectorFrontend.cpp:
4124         (WebCore::InspectorFrontend::didGetEventListenersForNode):
4125         (WebCore::InspectorFrontend::didGetStyles):
4126         (WebCore::InspectorFrontend::didGetComputedStyle):
4127         (WebCore::InspectorFrontend::didGetInlineStyle):
4128         (WebCore::InspectorFrontend::didApplyStyleText):
4129         (WebCore::InspectorFrontend::didSetStyleText):
4130         (WebCore::InspectorFrontend::didSetStyleProperty):
4131         (WebCore::InspectorFrontend::didToggleStyleEnabled):
4132         (WebCore::InspectorFrontend::didSetRuleSelector):
4133         (WebCore::InspectorFrontend::didAddRule):
4134         * inspector/InspectorFrontend.h:
4135         * inspector/front-end/DOMAgent.js:
4136         (WebInspector.CSSStyleDeclaration):
4137         * inspector/front-end/ElementsTreeOutline.js:
4138         * inspector/front-end/InjectedScript.js:
4139         * inspector/front-end/MetricsSidebarPane.js:
4140         (WebInspector.MetricsSidebarPane.prototype.update):
4141         (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
4142         * inspector/front-end/StylesSidebarPane.js:
4143         (WebInspector.StylesSidebarPane.prototype.update):
4144         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.callback):
4145         (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
4146         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.callback):
4147         (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
4148         (WebInspector.StylePropertyTreeElement.prototype):
4149         (WebInspector.StylePropertyTreeElement.prototype.):
4150
4151 2010-03-16  Shinichiro Hamaji  <hamaji@chromium.org>
4152
4153         Reviewed by Darin Adler.
4154
4155         RenderText::m_text should be a String, not RefPtr<StringImpl>
4156         https://bugs.webkit.org/show_bug.cgi?id=36010
4157
4158         Refactoring only, so no new tests.
4159
4160         * platform/text/PlatformString.h:
4161         (WebCore::String::makeLower):
4162         (WebCore::String::makeUpper):
4163         (WebCore::String::makeSecure):
4164         (WebCore::String::makeCapitalized):
4165         (WebCore::String::containsOnlyASCII):
4166         * rendering/RenderText.cpp:
4167         (WebCore::RenderText::RenderText):
4168         (WebCore::RenderText::widthFromCache):
4169         (WebCore::RenderText::trimmedPrefWidths):
4170         (WebCore::RenderText::containsOnlyWhitespace):
4171         (WebCore::RenderText::setTextInternal):
4172         (WebCore::RenderText::setText):
4173         (WebCore::RenderText::previousOffset):
4174         (WebCore::RenderText::previousOffsetForBackwardDeletion):
4175         (WebCore::RenderText::nextOffset):
4176         * rendering/RenderText.h:
4177         (WebCore::RenderText::text):
4178         (WebCore::RenderText::characters):
4179         (WebCore::RenderText::textLength):
4180
4181 2010-03-16  Adam Barth  <abarth@webkit.org>
4182
4183         Reviewed by Darin Adler.
4184
4185         noscript tag should render when @sandbox disables JavaScript
4186         https://bugs.webkit.org/show_bug.cgi?id=36092
4187
4188         Instead of talking to Settings directly to figure out if JavaScript is
4189         enabled in a frame, we need to talk to the ScriptController.  The
4190         ScriptController is better at answering that question because it knows
4191         about @sandbox.
4192
4193         Test: fast/frames/sandboxed-iframe-noscript.html
4194
4195         * dom/Document.cpp:
4196         (WebCore::Document::Document):
4197         * html/HTMLCanvasElement.cpp:
4198         (WebCore::HTMLCanvasElement::createRenderer):
4199         * html/HTMLElement.cpp:
4200         (WebCore::HTMLElement::rendererIsNeeded):
4201         * html/HTMLParser.cpp:
4202         (WebCore::HTMLParser::noscriptCreateErrorCheck):
4203         (WebCore::HTMLParser::isInline):
4204         * plugins/PluginView.cpp:
4205         (WebCore::PluginView::load):
4206
4207 2010-03-15  John Gregg  <johnnyg@google.com>
4208
4209         Reviewed by David Levin.
4210
4211         Notification object should expose absolute URL of icon
4212         https://bugs.webkit.org/show_bug.cgi?id=35800
4213
4214         Covered by existing tests.
4215
4216         * notifications/Notification.cpp:
4217         (WebCore::Notification::Notification):
4218         * notifications/Notification.h:
4219         (WebCore::Notification::iconURL):
4220
4221 2010-03-15  Leandro Pereira  <leandro@profusion.mobi>
4222
4223         Reviewed by Holger Freyther.
4224
4225         Add EFL port files to platform/efl.
4226         http://webkit.org/b/35887
4227
4228         * platform/efl/ClipboardEfl.cpp: Added.
4229         * platform/efl/PasteboardEfl.cpp: Added.
4230
4231 2010-03-15  Kent Tamura  <tkent@chromium.org>
4232
4233         Reviewed by Eric Seidel.
4234
4235         Don't submit disabled menu options.
4236         https://bugs.webkit.org/show_bug.cgi?id=35056
4237
4238         Test: fast/forms/menulist-disabled-selected-option.html
4239
4240         * dom/OptionElement.h:
4241         * dom/SelectElement.cpp:
4242         (WebCore::SelectElement::appendFormData):
4243          If a selected option is disabled, skip it.
4244          Remove code for non-selected menulist because of compatibility with
4245          other browsers.
4246
4247 2010-03-15  Leandro Pereira  <leandro@profusion.mobi>
4248
4249         Reviewed by Holger Freyther.
4250
4251         Add EFL port files to platform/efl.
4252         http://webkit.org/b/35884
4253
4254         * platform/efl/FileSystemEfl.cpp: Added.
4255
4256 2010-03-15  Leandro Pereira  <leandro@profusion.mobi>
4257
4258         Reviewed by Holger Freyther.
4259
4260         Add EFL port files to platform/efl.
4261         http://webkit.org/b/35882
4262
4263         * platform/efl/ContextMenuItemEfl.cpp: Added.
4264
4265 2010-03-15  Joanmarie Diggs  <joanmarie.diggs@gmail.com>
4266
4267         Reviewed by Holger Freyther.
4268
4269         https://bugs.webkit.org/show_bug.cgi?id=35502
4270         [Gtk] Objects of ATK_ROLE_TABLE should not implement AtkText
4271
4272         Simple change to stop tables from implementing AtkText.
4273
4274         * accessibility/gtk/AccessibilityObjectAtk.cpp:
4275         (getInterfaceMaskFromObject):
4276
4277 2010-03-15  Adam Bergkvist  <adam.bergkvist@ericsson.com>
4278
4279         Reviewed by Adam Barth.
4280
4281         According to the updated specification, a data field should always
4282         result in a newline character being appended to the data buffer
4283         regardless if the data buffer contains&nb