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