2011-04-12 Ilya Tikhonovsky <loislo@chromium.org>
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-04-12  Ilya Tikhonovsky  <loislo@chromium.org>
2
3         Reviewed by Pavel Feldman.
4
5         Web Inspector: remove unnecessary method InspectorAgent.didEvaluateForTestInFrontend.
6         https://bugs.webkit.org/show_bug.cgi?id=58335
7
8         It was the method for Inspector layout tests.
9         We can use RuntimeAgent.evaluate instead.
10
11         * inspector/Inspector.json:
12         * inspector/InspectorAgent.cpp:
13         * inspector/InspectorAgent.h:
14         * inspector/InspectorController.cpp:
15         (WebCore::InspectorController::connectFrontend):
16         * inspector/front-end/TestController.js:
17         (WebInspector.TestController.prototype.notifyDone):
18
19 2011-04-12  Philippe Normand  <pnormand@igalia.com>
20
21         Reviewed by Martin Robinson.
22
23         [GStreamer] some public callbacks remain
24         https://bugs.webkit.org/show_bug.cgi?id=58307
25
26         Cleanup of the player public/private APIs. Moving the GstMessage
27         handling code inside of the player allowed some APIs to move to
28         the private scope of the class.
29
30         No new tests, this patch is a cleanup and should not affect
31         current tests coverage.
32
33         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
34         (WebCore::mediaPlayerPrivateMessageCallback):
35         (WebCore::mediaPlayerPrivateSourceChangedCallback):
36         (WebCore::mediaPlayerPrivateVolumeChangedCallback):
37         (WebCore::mediaPlayerPrivateMuteChangedCallback):
38         (WebCore::mediaPlayerPrivateRepaintCallback):
39         (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
40         (WebCore::MediaPlayerPrivateGStreamer::currentTime):
41         (WebCore::MediaPlayerPrivateGStreamer::seek):
42         (WebCore::MediaPlayerPrivateGStreamer::setRate):
43         (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
44         (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
45         (WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
46         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
47
48 2011-04-12  Philippe Normand  <pnormand@igalia.com>
49
50         Reviewed by Martin Robinson.
51
52         [GStreamer] advertize HTTP Live Streaming mime-type
53         https://bugs.webkit.org/show_bug.cgi?id=58318
54
55         Register the hls mime-type in the internal cache if found in the
56         typefind factories.
57
58         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
59         (WebCore::mimeTypeCache):
60
61 2011-04-11  MORITA Hajime  <morrita@google.com>
62
63         Reviewed by Ryosuke Niwa.
64         
65         RenderIndicator and ShadowBlockElement are no longer used.
66         https://bugs.webkit.org/show_bug.cgi?id=58277
67
68         Removed RenderIndicator and ShadowBlockElement.
69         
70         No new tests. Just removed unused code.
71
72         * CMakeLists.txt:
73         * GNUmakefile.list.am:
74         * WebCore.gypi:
75         * WebCore.pro:
76         * WebCore.vcproj/WebCore.vcproj:
77         * WebCore.xcodeproj/project.pbxproj:
78         * rendering/RenderIndicator.cpp: Removed.
79         * rendering/RenderIndicator.h: Removed.
80         * rendering/RenderMeter.h:
81         * rendering/RenderingAllInOne.cpp:
82         * rendering/ShadowElement.cpp:
83         * rendering/ShadowElement.h:
84
85 2011-04-12  Csaba Osztrogon√°c  <ossy@webkit.org>
86
87         Reviewed by Benjamin Poulain.
88
89         fast/css/dashboard-regions-attr-crash.html asserts
90         https://bugs.webkit.org/show_bug.cgi?id=58233
91
92         Move DASHBOARD_SUPPORT feature detection from features.pri to CodeGenerators.pri
93         not to generate incorrect properties into CSSPropertyNames.h.
94
95         * CodeGenerators.pri:
96         * features.pri:
97
98 2011-04-12  Chris Fleizach  <cfleizach@apple.com>
99
100         Reviewed by Dan Bernstein.
101
102         REGRESSION: WK2: misspelled AX attributes no longer returned from text fields
103         https://bugs.webkit.org/show_bug.cgi?id=58304
104
105         checkSpellingOfString is no longer implemented in WK2. Accessibility needs to change to use
106         checkTextOfParagraph in order to retrieve misspelled ranges.
107
108         Existing tests cover this functionality.
109
110         * accessibility/mac/AccessibilityObjectWrapper.mm:
111         (AXAttributeStringSetSpelling):
112
113 2011-04-12  Sergio Villar Senin  <svillar@igalia.com>
114
115         Reviewed by Martin Robinson.
116
117         [GTK] Remove m_idleHandler from ResourceHandleSoup
118         https://bugs.webkit.org/show_bug.cgi?id=58319
119
120         The m_idleHandler attribute is no longer used in ResourceHandleSoup.
121         No new tests needed, no functionality change.
122
123         * platform/network/ResourceHandleInternal.h:
124         (WebCore::ResourceHandleInternal::ResourceHandleInternal):
125         * platform/network/soup/ResourceHandleSoup.cpp:
126         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
127
128 2011-04-12  Andrey Adaikin  <aandrey@google.com>
129
130         Reviewed by Yury Semikhatsky.
131
132         Web Inspector: Breakpoints and execution line decoration should stay in place if the edited line is not whitespace
133         https://bugs.webkit.org/show_bug.cgi?id=58314
134
135         * inspector/front-end/SourceFrame.js:
136         (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
137
138 2011-04-11  Pavel Podivilov  <podivilov@chromium.org>
139
140         Reviewed by Pavel Feldman.
141
142         Web Inspector: move shortcut handlers from SourceFrame to TextViewer.
143         https://bugs.webkit.org/show_bug.cgi?id=58238
144
145         Commit/cancel editing functionality is common for all resource types, and it deals with TextViewer state.
146
147         * inspector/front-end/SourceFrame.js:
148         (WebInspector.SourceFrame):
149         (WebInspector.SourceFrame.prototype.isContentEditable):
150         (WebInspector.SourceFrame.prototype._createTextViewer):
151         (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
152         (WebInspector.SourceFrame.prototype.commitEditing):
153         (WebInspector.SourceFrame.prototype.cancelEditing):
154         * inspector/front-end/TextViewer.js:
155         (WebInspector.TextViewer.prototype._doubleClick):
156         (WebInspector.TextViewer.prototype._registerShortcuts):
157         (WebInspector.TextViewer.prototype._handleKeyDown):
158         (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
159         (WebInspector.TextViewer.prototype._commitEditing):
160         (WebInspector.TextViewer.prototype._cancelEditing):
161         (WebInspector.TextViewerDelegate.prototype.endEditing):
162         (WebInspector.TextViewerDelegate.prototype.commitEditing):
163         (WebInspector.TextViewerDelegate.prototype.cancelEditing):
164
165 2011-04-12  Pavel Feldman  <pfeldman@google.com>
166
167         Reviewed by Yury Semikhatsky.
168
169         Web Inspector: cookies view is empty even for sites with cookies.
170         https://bugs.webkit.org/show_bug.cgi?id=58316
171
172         Test: http/tests/inspector/resource-tree-model.html
173
174         * inspector/front-end/ResourceTreeModel.js:
175         (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
176
177 2011-04-11  Stephen White  <senorblanco@chromium.org>
178
179         Reviewed by James Robinson.
180
181         [chromium] GPU-accelerated canvas-to-canvas drawImage is incorrect.
182         https://bugs.webkit.org/show_bug.cgi?id=58258
183
184         When one accelerated canvas is drawn to another via drawImage(), if the
185         prior call in the source canvas was non-accelerated, the 
186         hardware canvas is not up-to-date, and the results will be incorrect.
187         Fixed by calling prepareForHardwareDraw() on the source context.
188
189         Test: fast/canvas/canvas-to-canvas.html
190
191         * platform/graphics/skia/ImageBufferSkia.cpp:
192         (WebCore::ImageBuffer::draw):
193
194 2011-04-12  Mikhail Naganov  <mnaganov@chromium.org>
195
196         Reviewed by Pavel Feldman.
197
198         Web Inspector: [Chromium] Add some more tests for detailed heap snapshots UI.
199         https://bugs.webkit.org/show_bug.cgi?id=58146
200
201         Tests: inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting.html
202                inspector/profiler/detailed-heapshots-comparison-show-all.html
203                inspector/profiler/detailed-heapshots-comparison-show-next.html
204                inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting.html
205                inspector/profiler/detailed-heapshots-comparison-sorting.html
206                inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting.html
207                inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting.html
208                inspector/profiler/detailed-heapshots-dominators-show-all.html
209                inspector/profiler/detailed-heapshots-dominators-show-next.html
210                inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting.html
211                inspector/profiler/detailed-heapshots-dominators-sorting.html
212                inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting.html
213
214         * inspector/front-end/DetailedHeapshotView.js:
215         (WebInspector.HeapSnapshotDiffDataGrid):
216
217 2011-04-12  Ilya Tikhonovsky  <loislo@chromium.org>
218
219         Reviewed by Yury Semikhatsky.
220
221         Web Inspector: there was incorrect value of id property of responses for malformed json-rpc 2.0 requests.
222         https://bugs.webkit.org/show_bug.cgi?id=58305
223
224         It was 0 if the message is not a json object or it has no id property. But according to spec it must be null.
225
226         * inspector/CodeGeneratorInspector.pm:
227
228 2011-04-11  Pavel Podivilov  <podivilov@chromium.org>
229
230         Reviewed by Pavel Feldman.
231
232         Web Inspector: [chromium] script formatting doesn't work when chromium is built with debug_devtools=1.
233         https://bugs.webkit.org/show_bug.cgi?id=58232
234
235         * WebCore.gypi:
236
237 2011-04-12  Pavel Podivilov  <podivilov@chromium.org>
238
239         Reviewed by Pavel Feldman.
240
241         Web Inspector: REGRESSION: Most resources in the Network panel show a blank panel when clicked.
242         https://bugs.webkit.org/show_bug.cgi?id=58273
243
244         * inspector/front-end/SourceFrame.js:
245         (WebInspector.SourceFrame):
246         (WebInspector.SourceFrame.prototype.get visible):
247         (WebInspector.SourceFrame.prototype.set visible):
248         (WebInspector.SourceFrame.prototype.show):
249         (WebInspector.SourceFrame.prototype.hide):
250         (WebInspector.SourceFrame.prototype.detach):
251         (WebInspector.SourceFrame.prototype._ensureContentLoaded):
252         (WebInspector.SourceFrame.prototype.markDiff):
253         (WebInspector.SourceFrame.prototype.addMessage):
254         (WebInspector.SourceFrame.prototype.clearMessages):
255         (WebInspector.SourceFrame.prototype.get scrollTop):
256         (WebInspector.SourceFrame.prototype.set scrollTop):
257         (WebInspector.SourceFrame.prototype.highlightLine):
258         (WebInspector.SourceFrame.prototype._clearLineHighlight):
259         (WebInspector.SourceFrame.prototype._initializeTextViewer):
260         (WebInspector.SourceFrame.prototype.performSearch):
261         (WebInspector.SourceFrame.prototype.searchCanceled):
262         (WebInspector.SourceFrame.prototype._jumpToSearchResult):
263         (WebInspector.SourceFrame.prototype.setExecutionLine):
264         (WebInspector.SourceFrame.prototype.clearExecutionLine):
265         (WebInspector.SourceFrame.prototype.resize):
266
267 2011-04-12  Pavel Feldman  <pfeldman@google.com>
268
269         Reviewed by Yury Semikhatsky.
270
271         Web Inspector: document runtime agent, share remote object definition between domains.
272         https://bugs.webkit.org/show_bug.cgi?id=58246
273
274         * inspector/Inspector.json:
275
276 2011-04-12  Pavel Feldman  <pfeldman@google.com>
277
278         Reviewed by Yury Semikhatsky.
279
280         Web Inspector: document console domain, support cross-domain type references.
281         https://bugs.webkit.org/show_bug.cgi?id=58240
282
283         * inspector/ConsoleMessage.cpp:
284         (WebCore::messageSourceValue):
285         (WebCore::messageTypeValue):
286         (WebCore::messageLevelValue):
287         (WebCore::ConsoleMessage::addToFrontend):
288         * inspector/Inspector.json:
289         * inspector/ScriptCallFrame.cpp:
290         (WebCore::ScriptCallFrame::buildInspectorObject):
291         * inspector/front-end/ConsoleView.js:
292         (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
293         (WebInspector.ConsoleMessage):
294         (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
295         (WebInspector.ConsoleMessage.prototype.isEqual):
296         * inspector/front-end/NetworkManager.js:
297         (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
298         * inspector/generate-inspector-idl:
299         * page/Console.h:
300
301 2011-04-06  Philippe Normand  <pnormand@igalia.com>
302
303         Reviewed by Martin Robinson.
304
305         [GStreamer] RTSP playback broken
306         https://bugs.webkit.org/show_bug.cgi?id=56930
307
308         Rely on {audio,video}-changed playbin2 signals instead of the
309         -tags-changed signals because some media don't provide tags and
310         then can trick the media-player to not paint video, for instance.
311
312         Also trigger a video size calculation after the video sink
313         negotiated its caps. This is useful in the cases where
314         audio-changed signal is emitted but the video sink takes more time
315         to negociate caps with its peer.
316
317         This patch also fixes the rtsp manual-test with a new stream url
318         which seems to be more permanent than the previous WWDC keynote
319         stream.
320
321         * manual-tests/video-rtsp.html:
322         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
323         (WebCore::mediaPlayerPrivateVideoChangedCallback):
324         (WebCore::mediaPlayerPrivateAudioChangedCallback):
325         (WebCore::mediaPlayerPrivateAudioChangeTimeoutCallback):
326         (WebCore::mediaPlayerPrivateVideoChangeTimeoutCallback):
327         (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
328         (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
329         (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
330         (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
331         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
332         (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
333         (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
334         (WebCore::MediaPlayerPrivateGStreamer::paint):
335         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
336         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
337
338 2011-04-12  Vsevolod Vlasov  <vsevik@chromium.org>
339
340         Reviewed by Pavel Feldman.
341
342         Web Inspector: Failed/canceled resource requests kept showing as Pending in network panel.
343         https://bugs.webkit.org/show_bug.cgi?id=58135
344
345         Added statuses for failed/canceled resource loading.
346
347         * English.lproj/localizedStrings.js:
348         * inspector/Inspector.json:
349         * inspector/InspectorResourceAgent.cpp:
350         (WebCore::InspectorResourceAgent::didFailLoading):
351         * inspector/front-end/NetworkManager.js:
352         * inspector/front-end/NetworkPanel.js:
353         * inspector/front-end/Resource.js:
354
355 2011-04-12  Steve Block  <steveblock@google.com>
356
357         Reviewed by Oliver Hunt.
358
359         Callable objects created via JavaScriptCore API cannot be used as Geolocation callbacks
360         https://bugs.webkit.org/show_bug.cgi?id=40012
361
362         Covered by fast/dom/Geolocation/argument-types.html
363
364         * bindings/js/CallbackFunction.cpp:
365         (WebCore::checkFunctionOnlyCallback):
366
367 2011-04-07  Philippe Normand  <pnormand@igalia.com>
368
369         Reviewed by Martin Robinson.
370
371         [GStreamer] report playback statistics
372         https://bugs.webkit.org/show_bug.cgi?id=58033
373
374         Provide media playback statistics using fpsdisplaysink and
375         position queries.
376
377         * manual-tests/video-statistics.html: Added.
378         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
379         (WebCore::MediaPlayerPrivateGStreamer::decodedFrameCount):
380         (WebCore::MediaPlayerPrivateGStreamer::droppedFrameCount):
381         (WebCore::MediaPlayerPrivateGStreamer::audioDecodedByteCount):
382         (WebCore::MediaPlayerPrivateGStreamer::videoDecodedByteCount):
383         (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
384         (WebCore::MediaPlayerPrivateGStreamer::updateStates):
385         (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
386         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
387
388 2011-04-11  Philippe Normand  <pnormand@igalia.com>
389
390         Reviewed by Martin Robinson.
391
392         [GStreamer] warnings in media/video-set-rate-from-pause.html
393         https://bugs.webkit.org/show_bug.cgi?id=58220
394
395         * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
396         (WebCore::MediaPlayerPrivateGStreamer::setRate): Pause the
397         pipeline if new rate is zero, like advised in the GStreamer
398         documentation of gst_event_new_seek().
399
400 2011-04-11  Vangelis Kokkevis  <vangelis@chromium.org>
401
402         Reviewed by James Robinson.
403
404         [chromium] Properly invalidate the contents of ImageLayerChromium's
405         when the actual image contents change.
406         https://bugs.webkit.org/show_bug.cgi?id=58181
407
408         Test: compositing/images/content-image-change.html
409
410         * platform/graphics/chromium/ContentLayerChromium.cpp:
411         (WebCore::ContentLayerChromium::updateTexture):
412         * platform/graphics/chromium/ImageLayerChromium.cpp:
413         (WebCore::ImageLayerChromium::ImageLayerChromium):
414         (WebCore::ImageLayerChromium::setContents):
415         (WebCore::ImageLayerChromium::paintContentsIfDirty):
416         * platform/graphics/chromium/ImageLayerChromium.h:
417
418 2011-04-11  Simon Fraser  <simon.fraser@apple.com>
419
420         Reviewed by Dan Bernstein.
421
422         -webkit-box-shadow:inset does not animate transform as an inset shadow
423         https://bugs.webkit.org/show_bug.cgi?id=45176
424         
425         Two fixes:
426         1. Don't run transitions between different shadow styles (normal vs. inset).
427         2. When either source or destination is null, use a default shadow with a
428         matching style so that the transition runs.
429
430         Test: transitions/mismatched-shadow-styles.html
431
432         * page/animation/AnimationBase.cpp:
433         (WebCore::blendFunc):
434         (WebCore::PropertyWrapperShadow::blend):
435
436 2011-04-11  John Bates  <jbates@google.com>
437
438         Reviewed by Kenneth Russell.
439
440         chromium support for glSetLatch and glWaitLatch between 3D contexts
441         https://bugs.webkit.org/show_bug.cgi?id=58003
442
443         * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
444         (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
445         (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
446         (WebCore::Canvas2DLayerChromium::setLayerRenderer):
447         * platform/graphics/chromium/Canvas2DLayerChromium.h:
448         * platform/graphics/chromium/Extensions3DChromium.h:
449         * platform/graphics/chromium/GLES2Canvas.cpp:
450         (WebCore::Cubic::Cubic):
451         * platform/graphics/chromium/LayerRendererChromium.cpp:
452         (WebCore::LayerRendererChromium::LayerRendererChromium):
453         (WebCore::LayerRendererChromium::updateAndDrawLayers):
454         (WebCore::LayerRendererChromium::updateLayers):
455         (WebCore::LayerRendererChromium::addChildContext):
456         (WebCore::LayerRendererChromium::removeChildContext):
457         * platform/graphics/chromium/LayerRendererChromium.h:
458         * platform/graphics/chromium/WebGLLayerChromium.cpp:
459         (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
460         (WebCore::WebGLLayerChromium::updateCompositorResources):
461         (WebCore::WebGLLayerChromium::setContext):
462         (WebCore::WebGLLayerChromium::setLayerRenderer):
463         * platform/graphics/chromium/WebGLLayerChromium.h:
464
465 2011-04-11  Alexey Marinichev  <amarinichev@chromium.org>
466
467         Reviewed by James Robinson.
468
469         LayerChromium/CCLayerImpl ownership fix
470         https://bugs.webkit.org/show_bug.cgi?id=58283
471
472         CCLayerImpl's m_owner field lifetime should match the lifetime of the
473         corresponding LayerChromium.  This change moves resetting of m_owner
474         into LayerChromium's destructor.
475
476         Tested similarly to bug 57577.
477
478         * platform/graphics/chromium/LayerChromium.cpp:
479         (WebCore::LayerChromium::~LayerChromium):
480         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
481         (WebCore::CCLayerImpl::cleanupResources):
482         * platform/graphics/chromium/cc/CCLayerImpl.h:
483         (WebCore::CCLayerImpl::resetOwner):
484
485 2011-04-11  Daniel Bates  <dbates@rim.com>
486
487         Attempt to fix the GTK build after changeset 83527 <http://trac.webkit.org/changeset/83527>
488         (https://bugs.webkit.org/show_bug.cgi?id=53556).
489
490         * GNUmakefile.list.am: Append files HTMLTrackElement.{h, cpp} to the list webcore_sources.
491
492 2011-04-11  Brady Eidson  <beidson@apple.com>
493
494         Reviewed by Maciej Stachowiak.
495
496         <rdar://problem/9251515> and https://bugs.webkit.org/show_bug.cgi?id=58072
497         URLs accessed as a result of pushState/replaceState should count as "visited" and be in the global history
498
499         Test: fast/loader/stateobjects/state-url-sets-links-visited.html
500
501         * loader/HistoryController.cpp:
502         (WebCore::HistoryController::pushState): Notify the history client and add the visited link.
503         (WebCore::HistoryController::replaceState): Ditto.
504
505 2011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
506
507         Reviewed by Eric Carlson.
508
509         Rename MediaControls to MediaControlRootElement.
510         https://bugs.webkit.org/show_bug.cgi?id=58250
511
512         Mechanical move using do-webcore-rename.
513
514 2011-04-11  Dean Jackson  <dino@apple.com>
515
516         Reviewed by Simon Fraser.
517
518         https://bugs.webkit.org/show_bug.cgi?id=58285
519         CompositeAnimation is cleared while an AnimationBase is waiting for notification
520
521         Occasionally hardware animations would trigger a state where
522         they would tell the AnimationControllerPrivate that it should notify
523         any waiting animations that they are ready to start, even though
524         the RenderObject had gone away and hence the CompositeAnimation
525         had been destroyed. The fix is to zero the pointer from AnimationBase
526         when the CompositeAnimation destructor runs (or its animations are
527         cleared) and test the validity of the CompositeAnimation before it
528         is used in AnimationBase.
529
530         * page/animation/AnimationBase.cpp:
531         (WebCore::AnimationBase::updateStateMachine):
532         (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
533         (WebCore::AnimationBase::updatePlayState):
534         (WebCore::AnimationBase::freezeAtTime):
535         (WebCore::AnimationBase::beginAnimationUpdateTime):
536         - test that the CompositeAnimation exists
537         * page/animation/AnimationBase.h:
538         (WebCore::AnimationBase::clear):
539         - rename clearRenderer() to clear() as it now also clears the CompositeAnimation
540         * page/animation/CompositeAnimation.cpp:
541         (WebCore::CompositeAnimation::clearRenderer):
542         (WebCore::CompositeAnimation::updateKeyframeAnimations):
543         - call clear() rather than clearRenderer()
544
545 2011-04-11  Justin Novosad  <junov@chromium.org>
546
547         Reviewed by Kenneth Russell.
548
549         [Chromium] Text anti-aliasing fails when rendering text with shadow
550         https://bugs.webkit.org/show_bug.cgi?id=57584
551
552         * platform/graphics/chromium/FontChromiumWin.cpp:
553         (WebCore::drawGlyphsWin): new static function, code factored-out
554         from WebCore::Font::drawGlyphs
555         (WebCore::Font::drawGlyphs): may separate font rendering into two
556         passes to allow foreground glyphs to be rendered with GDI when Skia 
557         is required for rendering shadows
558         * platform/graphics/skia/SkiaFontWin.cpp:
559         (WebCore::windowsCanHandleDrawTextShadow):
560         Modified method so that it does not assume a shadow is present, and
561         returns true if there is no shadow (GDI can draw 'no shadow')
562         (WebCore::windowsCanHandleTextDrawing):
563         Factored out into sub methods so that the the shadow and foregound
564         glyph properties can be tested separately independently.
565         (WebCore::windowsCanHandleTextDrawingWithoutShadow):
566         New method returns true if the foreground glyph only has effect
567         that can be draw with GDI
568         (WebCore::paintSkiaText):
569         * platform/graphics/skia/SkiaFontWin.h:
570
571 2011-04-11  Ryosuke Niwa  <rniwa@webkit.org>
572
573         Unreviewed, rolling out r83515.
574         http://trac.webkit.org/changeset/83515
575         https://bugs.webkit.org/show_bug.cgi?id=57178
576
577         Broke GTK builds. nextOnLineExists and prevOnLineExists are still used in AccessibilityObjectWrapperAtk.cpp.
578
579         * rendering/InlineBox.cpp:
580         (WebCore::InlineBox::nextOnLineExists):
581         (WebCore::InlineBox::prevOnLineExists):
582         * rendering/InlineBox.h:
583         (WebCore::InlineBox::InlineBox):
584
585 2011-04-11  Brady Eidson  <beidson@apple.com>
586
587         Reverting, seeing something else still broken.  Sorry.
588
589         * html/HTMLTrackElement.cpp:
590
591 2011-04-11  Brady Eidson  <beidson@apple.com>
592
593         Fix the build.
594
595         * html/HTMLTrackElement.cpp: Case-sensitive, please.
596
597 2011-04-11  Alexis Menard  <alexis.menard@openbossa.org>
598
599         Unreviewed build fix for Mac.
600
601         An idl file was added in the wrong place.
602
603         * WebCore.xcodeproj/project.pbxproj:
604
605 2011-04-11  Chris Marrin  <cmarrin@apple.com>
606
607         Rubberstamped by Dan Bernstein.
608
609         xhr.responseType = 'arraybuffer' works on Mac but not on Windows
610         https://bugs.webkit.org/show_bug.cgi?id=50334
611
612         Got rid of guards around arraybuffer logic in XHR. ArrayBuffer and friends
613         are always turned on now, so there's not need for the guard. I reenabled the
614         test that was Skipped on Windows and it works now.
615
616         * bindings/js/JSXMLHttpRequestCustom.cpp:
617         (WebCore::JSXMLHttpRequest::markChildren):
618         (WebCore::JSXMLHttpRequest::send):
619         (WebCore::JSXMLHttpRequest::response):
620         * xml/XMLHttpRequest.cpp:
621         (WebCore::XMLHttpRequest::responseArrayBuffer):
622         (WebCore::XMLHttpRequest::setResponseType):
623         (WebCore::XMLHttpRequest::send):
624         (WebCore::XMLHttpRequest::clearResponseBuffers):
625         (WebCore::XMLHttpRequest::didReceiveData):
626         * xml/XMLHttpRequest.h:
627         (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
628
629 2011-04-11  Anna Cavender  <annacc@chromium.org>
630
631         Reviewed by Eric Carlson.
632
633         Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
634         https://bugs.webkit.org/show_bug.cgi?id=53556
635
636         No new tests. No real functionality added just yet.
637
638         * CMakeLists.txt:
639         * CodeGenerators.pri:
640         * Configurations/FeatureDefines.xcconfig:
641         * DerivedSources.make:
642         * GNUmakefile.am:
643         * GNUmakefile.list.am:
644         * WebCore.gypi:
645         * WebCore.xcodeproj/project.pbxproj:
646         * features.pri:
647         * html/HTMLAttributeNames.in:
648         * html/HTMLTagNames.in:
649         * html/HTMLTrackElement.cpp: Added.
650         (WebCore::HTMLTrackElement::HTMLTrackElement):
651         (WebCore::HTMLTrackElement::create):
652         (WebCore::HTMLTrackElement::insertedIntoTree):
653         (WebCore::HTMLTrackElement::willRemove):
654         (WebCore::HTMLTrackElement::src):
655         (WebCore::HTMLTrackElement::setSrc):
656         (WebCore::HTMLTrackElement::kind):
657         (WebCore::HTMLTrackElement::setKind):
658         (WebCore::HTMLTrackElement::srclang):
659         (WebCore::HTMLTrackElement::setSrclang):
660         (WebCore::HTMLTrackElement::label):
661         (WebCore::HTMLTrackElement::setLabel):
662         (WebCore::HTMLTrackElement::isDefault):
663         (WebCore::HTMLTrackElement::setIsDefault):
664         (WebCore::HTMLTrackElement::isURLAttribute):
665         * html/HTMLTrackElement.h: Added.
666         * html/HTMLTrackElement.idl: Added.
667
668 2011-04-11  Ben Taylor  <bentaylor.solx86@gmail.com>
669
670         Reviewed by David Levin.
671
672         https://bugs.webkit.org/show_bug.cgi?id=57535
673
674         Better compile fix for Solaris 10/Sun Studio 12 CC 
675         needing <sys/time.h>
676
677         * loader/icon/IconRecord.h:
678         * page/Page.h:
679         * platform/network/ResourceResponseBase.h:
680
681 2011-04-11  Alexey Proskuryakov  <ap@apple.com>
682
683         Reviewed by Maciej Stachowiak.
684
685         WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
686         https://bugs.webkit.org/show_bug.cgi?id=58265
687         <rdar://problem/9221468>
688
689         * page/EventHandler.cpp:
690         (WebCore::EventHandler::defaultKeyboardEventHandler): Handle Backspace.
691         (WebCore::EventHandler::defaultSpaceEventHandler): Enabled this on Mac, and added checks for
692         other modifiers - no one wants to scroll on Ctrl+Alt+Space and such.
693         (WebCore::EventHandler::defaultBackspaceEventHandler): Backspace goes back, Shift-backspace
694         goes forward. All browsers do it.
695         (WebCore::EventHandler::defaultArrowEventHandler): Assert that this function was called
696         for a correct event.
697         (WebCore::EventHandler::defaultTabEventHandler): Ditto.
698
699         * page/EventHandler.h: Added defaultBackspaceEventHandler.
700
701 2011-04-11  Matthew Delaney  <mdelaney@apple.com>
702
703         Reviewed by Dan Bernstein.
704
705         [CG] drawImage with a subimage bleeds pixel data at borders
706         https://bugs.webkit.org/show_bug.cgi?id=58267
707
708         Test: fast/canvas/DrawImageSinglePixelStretch.html
709
710         * platform/graphics/cg/ImageCG.cpp:
711         (WebCore::BitmapImage::draw): Any interpolation quality other than 'none' will graft out the subimage first now.
712
713 2011-04-11  Chris Marrin  <cmarrin@apple.com>
714
715         Reviewed by Simon Fraser.
716
717         iframe/compositing propagation should also work for <object> and framesets
718         https://bugs.webkit.org/show_bug.cgi?id=39037
719
720         Generalized the code that handles the parenting of composited <iframe> elements
721         to include <frame> and <object> elements. This includes forcing the parent
722         element to be composited and constructing the layer tree in the child document
723         and properly parenting it. Much of the change is giving the function calls more
724         generic names (from ...IFrame... to ...Frame...)
725         
726         Compositing tests that were done in RenderIFrame have been moved to RenderPart
727         since this is the highest base class common to all 3 elements.
728         
729         I also renamed several ...IFrame... functions to
730         ...Frame... and changed them so they work on a RenderPart for determining
731         if the renderer is composited. One other detail is that <iframe> and 
732         <object> never share style since they might be composited. I had to add
733         <frame> to that list.
734
735         Tests: compositing/framesets/composited-frame-alignment.html
736                compositing/objects/composited-object-alignment.html
737
738         * css/CSSStyleSelector.cpp: Add <frame> to list of element types that should never share style since it might be composited.
739         (WebCore::CSSStyleSelector::canShareStyleWithElement):
740         * page/FrameView.cpp:
741         (WebCore::FrameView::hasCompositedContentIncludingDescendants):
742         (WebCore::FrameView::setIsOverlapped):
743         * rendering/RenderIFrame.cpp: Moved methods to RenderPart
744         * rendering/RenderIFrame.h:
745         * rendering/RenderLayerBacking.cpp:
746         (WebCore::RenderLayerBacking::updateAfterWidgetResize):
747         (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
748         (WebCore::RenderLayerBacking::paintingGoesToWindow):
749         * rendering/RenderLayerCompositor.cpp:
750         (WebCore::RenderLayerCompositor::updateBacking):
751         (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
752         (WebCore::RenderLayerCompositor::frameContentsCompositor):
753         (WebCore::RenderLayerCompositor::parentFrameContentLayers):
754         (WebCore::RenderLayerCompositor::didMoveOnscreen):
755         (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
756         (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
757         (WebCore::RenderLayerCompositor::enclosingFrameElement):
758         (WebCore::RenderLayerCompositor::requiresCompositingLayer):
759         (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
760         (WebCore::RenderLayerCompositor::requiresScrollLayer):
761         (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
762         (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
763         (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
764         * rendering/RenderLayerCompositor.h:
765         * rendering/RenderPart.cpp: Functions moved from RenderIFrame
766         (WebCore::RenderPart::requiresLayer):
767         (WebCore::RenderPart::requiresAcceleratedCompositing):
768         * rendering/RenderPart.h:
769
770 2011-04-11  Yael Aharon  <yael.aharon@nokia.com>
771
772         Reviewed by Eric Seidel.
773
774         InlineBox::prevOnline and InlineBox::prevOnlineExists() are confusing and should be renamed
775         https://bugs.webkit.org/show_bug.cgi?id=57178
776
777         Remove prevOnLineExists() and nextOnLineExists() as they are not used anymore.
778         No new tests needed because this is cleanup only.
779
780         * rendering/InlineBox.cpp:
781         * rendering/InlineBox.h:
782         (WebCore::InlineBox::InlineBox):
783         (WebCore::InlineBox::setPrevOnLine):
784
785 2011-04-11  David Hyatt  <hyatt@apple.com>
786
787         Reviewed by Dan Bernstein.
788
789         https://bugs.webkit.org/show_bug.cgi?id=58261
790
791         Fix for layout regression on marketwatch.com. When I converted TrailingFloatsRootInlineBox over
792         to the new overflow model, I messed up the math and passed a bottom value where I should have
793         passed a height value. This patch fixes the code to be logically equivalent to the way it
794         was prior to my changes.
795
796         Added fast/overflow/trailing-float-linebox.html.
797
798         * rendering/RenderBlockLineLayout.cpp:
799         (WebCore::RenderBlock::layoutInlineChildren):
800
801 2011-04-11  Adrienne Walker  <enne@google.com>
802
803         Unreviewed, rolling out r83500.
804         http://trac.webkit.org/changeset/83500
805         https://bugs.webkit.org/show_bug.cgi?id=57113
806
807         Regresses huge-layer-rotated test
808
809         * platform/graphics/chromium/ContentLayerChromium.cpp:
810         (WebCore::ContentLayerChromium::ContentLayerChromium):
811         (WebCore::ContentLayerChromium::~ContentLayerChromium):
812         (WebCore::ContentLayerChromium::cleanupResources):
813         (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
814         (WebCore::ContentLayerChromium::paintContentsIfDirty):
815         (WebCore::ContentLayerChromium::resizeUploadBuffer):
816         (WebCore::ContentLayerChromium::updateTextureIfNeeded):
817         (WebCore::ContentLayerChromium::updateTexture):
818         (WebCore::ContentLayerChromium::draw):
819         (WebCore::ContentLayerChromium::updateCompositorResources):
820         (WebCore::ContentLayerChromium::unreserveContentsTexture):
821         (WebCore::ContentLayerChromium::bindContentsTexture):
822         (WebCore::ContentLayerChromium::dumpLayerProperties):
823         * platform/graphics/chromium/ContentLayerChromium.h:
824         (WebCore::ContentLayerChromium::drawsContent):
825         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
826         (WebCore::GraphicsLayerChromium::setMaskLayer):
827         * platform/graphics/chromium/ImageLayerChromium.cpp:
828         (WebCore::ImageLayerChromium::paintContentsIfDirty):
829         (WebCore::ImageLayerChromium::updateTextureIfNeeded):
830         * platform/graphics/chromium/ImageLayerChromium.h:
831         * platform/graphics/chromium/LayerChromium.h:
832         (WebCore::LayerChromium::draw):
833         * platform/graphics/chromium/LayerRendererChromium.cpp:
834         (WebCore::LayerRendererChromium::drawRootLayer):
835         (WebCore::LayerRendererChromium::drawLayers):
836         (WebCore::LayerRendererChromium::paintContentsRecursive):
837         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
838         (WebCore::LayerRendererChromium::drawLayer):
839         (WebCore::LayerRendererChromium::initializeSharedObjects):
840         (WebCore::LayerRendererChromium::cleanupSharedObjects):
841         * platform/graphics/chromium/LayerRendererChromium.h:
842         (WebCore::LayerRendererChromium::contentLayerProgram):
843         * platform/graphics/chromium/LayerTilerChromium.cpp:
844         (WebCore::LayerTilerChromium::invalidateRect):
845         (WebCore::LayerTilerChromium::update):
846         (WebCore::LayerTilerChromium::updateFromPixels):
847         (WebCore::LayerTilerChromium::draw):
848         * platform/graphics/chromium/LayerTilerChromium.h:
849         * platform/graphics/chromium/PlatformCanvas.cpp:
850         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
851         (WebCore::PlatformCanvas::Painter::Painter):
852         * platform/graphics/chromium/PlatformCanvas.h:
853         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
854         (WebCore::RenderSurfaceChromium::draw):
855         * platform/graphics/chromium/RenderSurfaceChromium.h:
856         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
857         (WebCore::CCCanvasLayerImpl::draw):
858         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
859         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
860         (WebCore::CCHeadsUpDisplay::draw):
861         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
862         (WebCore::CCLayerImpl::draw):
863         * platform/graphics/chromium/cc/CCLayerImpl.h:
864         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
865         (WebCore::CCPluginLayerImpl::draw):
866         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
867         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
868         (WebCore::CCVideoLayerImpl::draw):
869         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
870
871 2011-04-11  Jon Honeycutt  <jhoneycutt@apple.com>
872
873         <rdar://problem/9267042> Assertion failure on launch in
874         LayerChangesFlusher::setHook().
875
876         https://bugs.webkit.org/show_bug.cgi?id=58270
877
878         Reviewed by Adam Roben.
879
880         * platform/graphics/ca/win/LayerChangesFlusher.cpp:
881         (WebCore::LayerChangesFlusher::setHook):
882         MSDN says that the HINSTANCE passed in must be null if the thread ID
883         passed is a thread created by this process and the hook procedure is
884         within this process.
885
886 2011-04-11  MORITA Hajime  <morrita@google.com>
887
888         Unreviewed build fix.
889
890         Changeset 83492 broke Leopard build.
891         https://bugs.webkit.org/show_bug.cgi?id=58268
892
893         * editing/Editor.cpp:
894         (WebCore::Editor::markMisspellingsAfterTypingToWord):
895
896 2011-03-25  Adrienne Walker  <enne@google.com>
897
898         Reviewed by James Robinson.
899
900         [chromium] Tile content and image layers
901         https://bugs.webkit.org/show_bug.cgi?id=57113
902
903         Layers tile by default if any dimension is larger than 512.  Smaller
904         layers are contained within a single texture but still use the tiler
905         infrastructure so that there's only one code path.
906
907         Remove large layer support from content layers.  Content layers no
908         longer own a platform canvas--they own a tiler.  Refactor tiler to
909         allow for better separation of update/upload/paint.  Add rect
910         parameter to update and draw functions on layers for the layer-space
911         rect of interest.  This is necessary to know which tiles need to be
912         drawn.
913
914         * platform/graphics/chromium/ContentLayerChromium.cpp:
915         (WebCore::ContentLayerChromium::ContentLayerChromium):
916         (WebCore::ContentLayerChromium::~ContentLayerChromium):
917         (WebCore::ContentLayerPainter::ContentLayerPainter):
918         (WebCore::ContentLayerPainter::paint):
919         (WebCore::ContentLayerChromium::paintContentsIfDirty):
920         (WebCore::ContentLayerChromium::setLayerRenderer):
921         (WebCore::ContentLayerChromium::tilingTransform):
922         (WebCore::ContentLayerChromium::visibleLayerRect):
923         (WebCore::ContentLayerChromium::layerBounds):
924         (WebCore::ContentLayerChromium::updateLayerSize):
925         (WebCore::ContentLayerChromium::draw):
926         (WebCore::ContentLayerChromium::createTilerIfNeeded):
927         (WebCore::ContentLayerChromium::updateCompositorResources):
928         (WebCore::ContentLayerChromium::setTilingOption):
929         (WebCore::ContentLayerChromium::bindContentsTexture):
930         (WebCore::ContentLayerChromium::unreserveContentsTexture):
931         (WebCore::ContentLayerChromium::setIsMask):
932         (WebCore::ContentLayerChromium::dumpLayerProperties):
933         * platform/graphics/chromium/ContentLayerChromium.h:
934         (WebCore::ContentLayerChromium::drawsContent):
935         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
936         (WebCore::GraphicsLayerChromium::setMaskLayer):
937         * platform/graphics/chromium/ImageLayerChromium.cpp:
938         (WebCore::ImageLayerChromium::paintContentsIfDirty):
939         (WebCore::ImageLayerChromium::updateCompositorResources):
940         (WebCore::ImageLayerChromium::layerBounds):
941         (WebCore::ImageLayerChromium::tilingTransform):
942         * platform/graphics/chromium/ImageLayerChromium.h:
943         * platform/graphics/chromium/LayerChromium.h:
944         (WebCore::LayerChromium::invalidateRect):
945         (WebCore::LayerChromium::paintContentsIfDirty):
946         (WebCore::LayerChromium::setIsMask):
947         (WebCore::LayerChromium::draw):
948         * platform/graphics/chromium/LayerRendererChromium.cpp:
949         (WebCore::LayerRendererChromium::drawRootLayer):
950         (WebCore::LayerRendererChromium::drawLayers):
951         (WebCore::LayerRendererChromium::paintContentsRecursive):
952         (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
953         (WebCore::LayerRendererChromium::drawLayer):
954         (WebCore::LayerRendererChromium::initializeSharedObjects):
955         (WebCore::LayerRendererChromium::cleanupSharedObjects):
956         * platform/graphics/chromium/LayerRendererChromium.h:
957         * platform/graphics/chromium/LayerTilerChromium.cpp:
958         (WebCore::LayerTilerChromium::getSingleTexture):
959         (WebCore::LayerTilerChromium::invalidateRect):
960         (WebCore::LayerTilerChromium::update):
961         (WebCore::LayerTilerChromium::uploadCanvas):
962         (WebCore::LayerTilerChromium::updateFromPixels):
963         (WebCore::LayerTilerChromium::draw):
964         (WebCore::LayerTilerChromium::unreserveTextures):
965         * platform/graphics/chromium/LayerTilerChromium.h:
966         (WebCore::LayerTilerChromium::setLayerRenderer):
967         (WebCore::LayerTilerChromium::skipsDraw):
968         * platform/graphics/chromium/PlatformCanvas.cpp:
969         (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
970         (WebCore::PlatformCanvas::Painter::Painter):
971         * platform/graphics/chromium/PlatformCanvas.h:
972         * platform/graphics/chromium/RenderSurfaceChromium.cpp:
973         (WebCore::RenderSurfaceChromium::draw):
974         * platform/graphics/chromium/RenderSurfaceChromium.h:
975         * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
976         (WebCore::CCCanvasLayerImpl::draw):
977         * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
978         * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
979         (WebCore::CCHeadsUpDisplay::draw):
980         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
981         (WebCore::CCLayerImpl::draw):
982         * platform/graphics/chromium/cc/CCLayerImpl.h:
983         * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
984         (WebCore::CCPluginLayerImpl::draw):
985         * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
986         * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
987         (WebCore::CCVideoLayerImpl::draw):
988         * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
989
990 2011-04-11  Eric Carlson  <eric.carlson@apple.com>
991
992         Reviewed by Simon Fraser.
993
994         Ignore context change callbacks when not on the main thread
995         https://bugs.webkit.org/show_bug.cgi?id=58256
996         <rdar://problem/9266090>
997
998         * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
999         (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Do nothing when not called
1000             on the main thread. This should only happen when no changes have actually 
1001             been committed to the context, eg. when a video frame has been added to an image
1002             queue, so return without triggering animations etc.
1003
1004 2011-04-11  Daniel Cheng  <dcheng@chromium.org>
1005
1006         Reviewed by Dmitry Titov.
1007
1008         [chromium] Implement image/png support in DataTransferItems
1009         https://bugs.webkit.org/show_bug.cgi?id=58106
1010
1011         This patch implements DataTransferItem::getAsFile() using Blobs. In
1012         addition, plumbing for image/png has been added so image paste will be
1013         supported as long as the renderer makes that data available.
1014
1015         Tests: editing/pasteboard/data-transfer-items-image-png.html
1016
1017         * dom/DataTransferItem.h:
1018         * dom/DataTransferItem.idl:
1019         * platform/chromium/ClipboardMimeTypes.cpp:
1020         * platform/chromium/ClipboardMimeTypes.h:
1021         * platform/chromium/DataTransferItemChromium.cpp:
1022         (WebCore::DataTransferItemChromium::getAsString):
1023         (WebCore::DataTransferItemChromium::getAsFile):
1024         * platform/chromium/DataTransferItemChromium.h:
1025         * platform/chromium/PlatformBridge.h:
1026
1027 2011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
1028
1029         Reviewed by Chris Fleizach.
1030
1031         [Gtk] Implement support for Embedded Objects
1032         https://bugs.webkit.org/show_bug.cgi?id=52148
1033
1034         Expose special OBJECT character for replaced elements, implementing
1035         AtkText and AtkHyperlink when required.
1036
1037         * accessibility/AccessibilityRenderObject.cpp:
1038         (WebCore::textIteratorBehaviorForTextRange): New helper function,
1039         to return the right behavior, depending on the platform, so it
1040         ensures that object replacement characters get emitted for GTK.
1041         (WebCore::AccessibilityRenderObject::textUnderElement): Use the
1042         new helper function textIteratorBehaviorForTextRange.
1043         (WebCore::AccessibilityRenderObject::stringValue): Ditto.
1044         (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
1045         Consider replaced elements when calculating range length in GTK.
1046
1047         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1048         (textForRenderer): Ouput the 'object replacement character' for
1049         replaced objects.
1050         (getSelectionOffsetsForObject): Consider replaced elements when
1051         calculating range length in GTK.
1052         (webkitAccessibleHypertextGetLink): Remove wrong extra check that
1053         were causing only links to be considered.
1054         (webkitAccessibleHypertextGetNLinks): Replace wrong 'isLink()'
1055         check with the right one, by checking that the right ATK interface
1056         is being implemented by the AtkObject.
1057         (getInterfaceMaskFromObject): Implement the Hyperlink interface
1058         both for links and replaced objects.
1059         (objectAndOffsetUnignored): Consider replaced elements when
1060         calculating range length in GTK.
1061
1062         * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
1063         (getRangeLengthForObject): Ensure spaces are used for replaced
1064         elements when calling to TextIterator::rangeLength().
1065
1066         * editing/TextIterator.h: New value in the TextIteratorBehavior
1067         enumeration (TextIteratorEmitsObjectReplacementCharacters) and new
1068         private variable to consider that new option internally.
1069         * editing/TextIterator.cpp:
1070         (WebCore::TextIterator::TextIterator): Initialize the new private
1071         attribute m_emitsObjectReplacementCharacters in constructors.
1072         (WebCore::TextIterator::handleReplacedElement): Emit the 'object
1073         replacement character' when m_emitsObjectReplacementCharacters.
1074
1075 2011-04-11  Jia Pu  <jpu@apple.com>
1076
1077         Reviewed by Adele Peterson.
1078
1079         Shouldn't carry out autocorrection when start typing a new word
1080         https://bugs.webkit.org/show_bug.cgi?id=58241
1081         <rdar://problem/9264736>
1082
1083         Tests: platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1.html
1084                platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2.html
1085
1086         In TypingCommand::markMisspellingsAfterTyping(), we want to call Editor::markMisspellingsAfterTypingToWord()
1087         only when the typing command is an insertion command, and preceding word contains at least one non-whitespace
1088         character.
1089
1090         * editing/Editor.cpp:
1091         (WebCore::Editor::markMisspellingsAfterTypingToWord):
1092         * editing/Editor.h:
1093         * editing/TypingCommand.cpp:
1094         (WebCore::TypingCommand::markMisspellingsAfterTyping):
1095
1096 2011-04-11  Vsevolod Vlasov  <vsevik@chromium.org>
1097
1098         Reviewed by Pavel Feldman.
1099
1100         PerformanceTiming returns inconsistent values when timing is null.
1101         https://bugs.webkit.org/show_bug.cgi?id=58143
1102
1103         Made PerformanceTiming returned values consistent when there is no timing object.
1104
1105         * page/PerformanceTiming.cpp:
1106         (WebCore::PerformanceTiming::domainLookupStart):
1107         (WebCore::PerformanceTiming::domainLookupEnd):
1108         (WebCore::PerformanceTiming::connectStart):
1109         (WebCore::PerformanceTiming::connectEnd):
1110         (WebCore::PerformanceTiming::requestStart):
1111         (WebCore::PerformanceTiming::responseStart):
1112         (WebCore::PerformanceTiming::domLoading):
1113
1114 2011-04-05  Stephen White  <senorblanco@chromium.org>
1115
1116         Fix for jittering when animating a rotated image.
1117         https://bugs.webkit.org/show_bug.cgi?id=50775
1118
1119         Make GraphicsContext::roundToDevicePixels a no-op on Chrome/Mac.
1120
1121         * platform/graphics/cg/GraphicsContextCG.cpp:
1122         (WebCore::GraphicsContext::roundToDevicePixels):
1123
1124 2011-04-06  Xiaomei Ji  <xji@chromium.org>
1125
1126         Reviewed by Ryosuke Niwa.
1127
1128         Continue experiment with moving caret by word in visual order.
1129         https://bugs.webkit.org/show_bug.cgi?id=57806
1130
1131         This is the 2nd patch, which adds implementation when caret is inside box
1132         (not at boundaries). If the word break is inside the same box and not at the boundaries
1133         either, the word break will be returned. If need to search the adjacent boxes for word
1134         breaks, then, only the cases implemented in bug 57336 work.
1135
1136         * editing/visible_units.cpp:
1137         (WebCore::leftmostPositionInRTLBoxInLTRBlock):
1138         (WebCore::rightmostPositionInLTRBoxInRTLBlock):
1139         (WebCore::lastWordBreakInBox):
1140         (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality):
1141         (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
1142         (WebCore::WordBoundaryEntry::WordBoundaryEntry):
1143         (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
1144         (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
1145         (WebCore::greatestValueUnder):
1146         (WebCore::smallestOffsetAbove):
1147         (WebCore::positionIsInsideBox):
1148         (WebCore::positionBeforeNextWord):
1149         (WebCore::positionAfterPreviousWord):
1150         (WebCore::leftWordPosition):
1151         (WebCore::rightWordPosition):
1152
1153 2011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
1154
1155         Reviewed by Chris Fleizach.
1156
1157         [GTK] Unskip accessibility/input-slider.html and accessibility/media-element.html
1158         https://bugs.webkit.org/show_bug.cgi?id=58040
1159
1160         Don't expose objects of role SliderThumbRoles in GTK.
1161
1162         * accessibility/AccessibilitySlider.cpp:
1163         (WebCore::AccessibilitySlider::addChildren): Allow the platform
1164         make a final decision before including children in the hierarchy.
1165         (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
1166         Implemented by relying on accessibilityPlatformIncludesObject().
1167
1168         * accessibility/gtk/AccessibilityObjectAtk.cpp:
1169         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
1170         Ignore accessibility objects with role SliderThumbRole.
1171
1172 2011-04-11  Simon Fraser  <simon.fraser@apple.com>
1173
1174         Reviewed by Dan Bernstein.
1175
1176         Divide by zero in calcColumnWidth
1177         https://bugs.webkit.org/show_bug.cgi?id=58230
1178
1179         Test: fast/multicol/huge-column-count.html
1180         
1181         Make sure we have at least one column, to avoid divide by zero.
1182
1183         * rendering/RenderBlock.cpp:
1184         (WebCore::RenderBlock::calcColumnWidth):
1185
1186 2011-04-09  Gavin Barraclough  <barraclough@apple.com>
1187
1188         Reviewed by Sam Weinig.
1189
1190         Bug 58198 - Clean up JSValue implementation for JSVALUE64
1191
1192         JSNumberCell.h has been deprecated.
1193
1194         * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
1195         * bindings/scripts/CodeGeneratorJS.pm:
1196         * bridge/c/c_instance.cpp:
1197
1198 2011-04-11  Dan Bernstein  <mitz@apple.com>
1199
1200         Build fix.
1201
1202         * html/canvas/CanvasRenderingContext2D.cpp:
1203         (WebCore::CanvasRenderingContext2D::State::State):
1204
1205 2011-04-11  Antti Koivisto  <antti@apple.com>
1206
1207         Reviewed by Tony Gentilcore.
1208
1209         Document source preload scanned repeatedly
1210         https://bugs.webkit.org/show_bug.cgi?id=58123
1211         
1212         Don't clear the preload scanner after execution resumes. This would lose the current
1213         scanning point and lead to rescanning when the preload scanner would get reconstructed
1214         due to main parser blocking again.
1215
1216         Instead clear the scanner only in the specific case of receiving new data while the main
1217         parser has already reached the end of the current input.
1218
1219         Also switched to using isWaitingForScripts() instead of m_treeBuilder->isPaused() for consistency.
1220
1221         The case the clearing in resumeParsingAfterScriptExecution() was added for is covered by 
1222         http/tests/loading/preload-slow-loading.php.
1223
1224         * html/parser/HTMLDocumentParser.cpp:
1225         (WebCore::HTMLDocumentParser::insert):
1226         (WebCore::HTMLDocumentParser::append):
1227         (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
1228
1229 2011-04-11  Dan Bernstein  <mitz@apple.com>
1230
1231         Build fix.
1232
1233         * html/canvas/CanvasRenderingContext2D.cpp:
1234         (WebCore::CanvasRenderingContext2D::State::State):
1235
1236 2011-04-11  Dan Bernstein  <mitz@apple.com>
1237
1238         Reviewed by Alexey Proskuryakov.
1239
1240         Assertion failure in CanvasRenderingContext2D::State::fontsNeedUpdate when invalidating the font cache after opening canvas/philip/tests/initial.reset.2dstate.html (occurs on Qt debug test bot)
1241         https://bugs.webkit.org/show_bug.cgi?id=58229
1242
1243         * html/canvas/CanvasRenderingContext2D.cpp:
1244         (WebCore::CanvasRenderingContext2D::State::State): Added copy constructor, to register the copy with
1245         the font selector if needed.
1246         (WebCore::CanvasRenderingContext2D::State::operator=): Added assignment constructor, to handle
1247         registration with the font selector as needed.
1248         * html/canvas/CanvasRenderingContext2D.h:
1249
1250 2011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
1251
1252         Reviewed by Chris Fleizach.
1253
1254         [GTK] ARIA tables not exposing cells as HTML tables do
1255         https://bugs.webkit.org/show_bug.cgi?id=57463
1256
1257         Expose cells for ARIA grids consistently with HTML tables in GTK,
1258         keeping the same behaviour for the other platforms.
1259
1260         * accessibility/AccessibilityARIAGrid.cpp:
1261         (WebCore::AccessibilityARIAGrid::addChild): Add the row's children
1262         to the accessibility hierarchy when accessibility objects for rows
1263         are ignoring accessibility, otherwise add the row.
1264         (WebCore::AccessibilityARIAGrid::addChildren): Do not check at
1265         this point whether every child of the table ignores or not
1266         accessibility, letting addChild() make the proper decision later.
1267
1268         * accessibility/AccessibilityARIAGridCell.cpp:
1269         (WebCore::AccessibilityARIAGridCell::parentTable): Consider that
1270         rows could be ignoring accessibility, hence the parent could be
1271         retrieved in the first call to parentObjectUnignored().
1272         (WebCore::AccessibilityARIAGridCell::rowIndexRange): Ditto.
1273         (WebCore::AccessibilityARIAGridCell::columnIndexRange): Ditto..
1274
1275         * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
1276         (atkRole): Map ColumnHeader and RowHeader to ATK_ROLE_TABLE_CELL.
1277
1278 2011-04-11  Sergio Villar Senin  <svillar@igalia.com>
1279
1280         Reviewed by Martin Robinson.
1281
1282         [GTK] Fix make distcheck
1283         https://bugs.webkit.org/show_bug.cgi?id=58224
1284
1285         Removed a file that is no longer in the source tree.
1286
1287         * GNUmakefile.list.am:
1288
1289 2011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
1290
1291         Reviewed by Martin Robinson.
1292
1293         REGRESSION(r83397): Most GTK media controls are hidden when no valid source is specified
1294         https://bugs.webkit.org/show_bug.cgi?id=58204
1295
1296         Covered by existing tests.
1297
1298         * platform/gtk/RenderThemeGtk.h:
1299         (WebCore::RenderThemeGtk::hasOwnDisabledStateHandlingFor): Let GTK handle
1300             the the state of media controls.
1301
1302 2011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
1303
1304         Remove obsolete comment, which was mistakenly landed in r83397.
1305
1306         Though potentially a work of art, the comment lost its functional meaning a long time ago.
1307
1308         * html/shadow/MediaControls.cpp:
1309         (WebCore::MediaControls::create): Removed comment.
1310
1311 2011-04-05  Hans Wennborg  <hans@chromium.org>
1312
1313         Reviewed by Steve Block.
1314
1315         IndexedDB: Introduce skeleton for LevelDB backend
1316         https://bugs.webkit.org/show_bug.cgi?id=57827
1317
1318         No new tests: no new functionality (yet).
1319
1320         * WebCore.gyp/WebCore.gyp:
1321             Add dependency on leveldb when ENABLE_LEVELDB=1 in feature_defines.
1322         * WebCore.gypi:
1323             Add new files.
1324         * storage/IDBBackingStore.h:
1325         (WebCore::IDBBackingStore::ObjectStoreRecordIdentifier::~ObjectStoreRecordIdentifier):
1326             Introduce abstract type ObjectStoreRecordIdentifier. The SQLite
1327             backend uses integers to refer to a specific row in a table, but
1328             the LevelDB backend will use something else.
1329         * storage/IDBDatabaseBackendImpl.cpp:
1330         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1331         (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
1332         (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
1333         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
1334             Change functions to pass along the database id for operations that
1335             concern object stores. We want to be able to group object stores
1336             ids per database.
1337         * storage/IDBFactoryBackendImpl.cpp:
1338         (WebCore::IDBFactoryBackendImpl::open):
1339             Decide which backend to use based on the backingStoreType
1340             parameter.
1341         * storage/IDBIndexBackendImpl.cpp:
1342         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
1343         (WebCore::IDBIndexBackendImpl::openCursorInternal):
1344         (WebCore::IDBIndexBackendImpl::getInternal):
1345         (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
1346         * storage/IDBIndexBackendImpl.h:
1347         (WebCore::IDBIndexBackendImpl::create):
1348             Pass database and object store id to backend functions concerning
1349             indexes.
1350         * storage/IDBLevelDBBackingStore.cpp: Added.
1351         (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
1352         (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
1353         (WebCore::IDBLevelDBBackingStore::open):
1354         (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
1355         (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
1356         (WebCore::IDBLevelDBBackingStore::getObjectStores):
1357         (WebCore::IDBLevelDBBackingStore::createObjectStore):
1358         (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
1359         (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
1360         (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
1361         (WebCore::IDBLevelDBBackingStore::clearObjectStore):
1362         (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
1363         (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
1364         (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
1365         (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
1366         (WebCore::IDBLevelDBBackingStore::getIndexes):
1367         (WebCore::IDBLevelDBBackingStore::createIndex):
1368         (WebCore::IDBLevelDBBackingStore::deleteIndex):
1369         (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
1370         (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
1371         (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
1372         (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
1373         (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
1374         (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
1375         (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
1376         (WebCore::IDBLevelDBBackingStore::openIndexCursor):
1377         (WebCore::IDBLevelDBBackingStore::createTransaction):
1378         * storage/IDBLevelDBBackingStore.h: Added.
1379             Add an empty implementation of the LevelDB backend.
1380         * storage/IDBObjectStoreBackendImpl.cpp:
1381             Keep track of database id, use the new RecordIdentifier.
1382         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
1383         (WebCore::IDBObjectStoreBackendImpl::getInternal):
1384         (WebCore::IDBObjectStoreBackendImpl::putInternal):
1385         (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
1386         (WebCore::IDBObjectStoreBackendImpl::clearInternal):
1387         (WebCore::populateIndex):
1388         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1389         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
1390         (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
1391         (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
1392         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
1393         (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
1394         * storage/IDBObjectStoreBackendImpl.h:
1395         (WebCore::IDBObjectStoreBackendImpl::create):
1396         (WebCore::IDBObjectStoreBackendImpl::databaseId):
1397         * storage/IDBSQLiteBackingStore.cpp:
1398         (WebCore::IDBSQLiteBackingStore::open):
1399         (WebCore::IDBSQLiteBackingStore::createObjectStore):
1400         (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
1401         (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
1402         (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
1403         (WebCore::IDBSQLiteBackingStore::clearObjectStore):
1404         (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
1405         (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
1406         (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
1407         (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
1408         (WebCore::IDBSQLiteBackingStore::getIndexes):
1409         (WebCore::IDBSQLiteBackingStore::createIndex):
1410         (WebCore::IDBSQLiteBackingStore::deleteIndex):
1411         (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
1412         (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
1413         (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
1414         (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
1415         (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
1416         (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
1417         (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
1418         (WebCore::IDBSQLiteBackingStore::openIndexCursor):
1419         * storage/IDBSQLiteBackingStore.h:
1420
1421 2011-04-11  Alexander Pavlov  <apavlov@chromium.org>
1422
1423         Reviewed by Yury Semikhatsky.
1424
1425         Web Inspector: Duplicate CSS properties are reported for non-lowercase property names in the Styles sidebar
1426         https://bugs.webkit.org/show_bug.cgi?id=58226
1427
1428         * inspector/InspectorStyleSheet.cpp:
1429         (WebCore::InspectorStyle::populateAllProperties):
1430
1431 2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
1432
1433         Reviewed by Pavel Feldman.
1434
1435         Web Inspector: get rid of source frame delegates for resources panel.
1436         https://bugs.webkit.org/show_bug.cgi?id=58041
1437
1438         Use TextViewer configured with a domain-specific delegate to show/edit resource contents in resources panel.
1439
1440         * inspector/front-end/ResourceView.js:
1441         (WebInspector.ResourceView.createResourceView):
1442         (WebInspector.ResourceView.resourceViewTypeMatchesResource):
1443         (WebInspector.ResourceSourceFrame):
1444         (WebInspector.ResourceSourceFrame.prototype.get resource):
1445         (WebInspector.ResourceSourceFrame.prototype.contentEditable):
1446         (WebInspector.ResourceSourceFrame.prototype._requestContent):
1447         (WebInspector.CSSSourceFrame):
1448         (WebInspector.CSSSourceFrame.prototype.contentEditable):
1449         (WebInspector.CSSSourceFrame.prototype._editContent):
1450         (WebInspector.CSSSourceFrame.prototype._editContent.handleInfos):
1451         (WebInspector.CSSSourceFrame.prototype._saveStyleSheet):
1452         * inspector/front-end/SourceFrame.js:
1453         (WebInspector.SourceFrame.prototype._ensureContentLoaded):
1454         (WebInspector.SourceFrame.prototype._requestContent):
1455         (WebInspector.SourceFrame.prototype._handleSave):
1456         (WebInspector.SourceFrame.prototype._editContent):
1457
1458 2011-04-11  Alexis Menard  <alexis.menard@openbossa.org>
1459
1460         Reviewed by Andreas Kling.
1461
1462         [Qt] Regression : r83051 Oxygen's lineedits are not rendered properly
1463         https://bugs.webkit.org/show_bug.cgi?id=58076
1464
1465         State_Sunken is more generic than pressed. It is used by items such as frames or
1466         line edits because they are "sunken" frames (e.g. QLineEdit). It can be required
1467         by some style like Oxygen. Therefore only in the mobile theme we check if the object
1468         is pressed.
1469
1470         * platform/qt/RenderThemeQt.cpp:
1471         (WebCore::RenderThemeQt::paintTextField):
1472
1473 2011-04-11  Pavel Feldman  <pfeldman@chromium.org>
1474
1475         Reviewed by Yury Semikhatsky.
1476
1477         Web Inspector: add support for optional output parameters.
1478         https://bugs.webkit.org/show_bug.cgi?id=58207
1479
1480         Output parameters such as "redirectResponse" are optional, but
1481         do not allow specifying them as such.
1482
1483         * inspector/CodeGeneratorInspector.pm:
1484         * inspector/Inspector.json:
1485         * inspector/InspectorResourceAgent.cpp:
1486         (WebCore::buildObjectForResourceResponse):
1487         (WebCore::buildObjectForCachedResource):
1488         * inspector/front-end/NetworkManager.js:
1489         (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
1490         * inspector/generate-inspector-idl:
1491
1492 2011-04-11  Pavel Feldman  <pfeldman@chromium.org>
1493
1494         Reviewed by Yury Semikhatsky.
1495
1496         Web Inspector: refactor / document call frames in debugger domain.
1497         https://bugs.webkit.org/show_bug.cgi?id=58187
1498
1499         Note that we are not special casing with(element) and with(document) anymore
1500         and do not tell user that it is "Event target" and "Event document". Strictly speaking,
1501         we should not have done it for with(element) not necessarily being related to an event.
1502
1503         * English.lproj/localizedStrings.js:
1504         * inspector/InjectedScriptSource.js:
1505         * inspector/Inspector.json:
1506         * inspector/front-end/ScopeChainSidebarPane.js:
1507         (WebInspector.ScopeChainSidebarPane.prototype.update):
1508
1509 2011-04-10  ChangSeok Oh  <shivamidow@gmail.com>
1510
1511         Reviewed by Eric Seidel.
1512
1513         Make correspondence of file name related with event to other port.
1514         https://bugs.webkit.org/show_bug.cgi?id=57416
1515
1516         Some file names are changed to make correspondence naming rule.
1517         Keyboard, mouse and wheel event file names for GTK port have been different from other ports.
1518         This has made user hard to find a specific file related with event for GTK port. 
1519
1520         No test required. This patch just changes some file names.
1521
1522         * GNUmakefile.list.am:
1523         * platform/gtk/KeyEventGtk.cpp: Removed.
1524         * platform/gtk/MouseEventGtk.cpp: Removed.
1525         * platform/gtk/PlatformKeyboardEventGtk.cpp: Added.
1526         * platform/gtk/PlatformMouseEventGtk.cpp: Added.
1527         * platform/gtk/PlatformWheelEventGtk.cpp: Added.
1528         * platform/gtk/WheelEventGtk.cpp: Removed.
1529
1530 2011-04-10  Simon Fraser  <simon.fraser@apple.com>
1531
1532         Revert the FloatRect.cpp part of r83422, since
1533         clampToInteger() is broken for some inputs. I filed
1534         https://bugs.webkit.org/show_bug.cgi?id=58216
1535
1536         * platform/graphics/FloatRect.cpp:
1537         (WebCore::safeFloatToInt):
1538         (WebCore::enclosingIntRect):
1539
1540 2011-04-10  Simon Fraser  <simon.fraser@apple.com>
1541
1542         Reviewed by Maciej Stachowiak.
1543
1544         Car model dropdowns at audiusa.com lay out incorrectly with compositing enabled
1545         https://bugs.webkit.org/show_bug.cgi?id=56660
1546         
1547         When overflow on an element changes, we need to inform compositing
1548         layers which create and position an "ancestor clipping" layer based
1549         on that overflow. Do this by triggering a rebuild of compositing layers
1550         when overflow changes on a layer whose stacking context has compositing
1551         descendants. (We can't just check whether the layer itself has compositing
1552         descendants, because overflow follows the render tree, but compositing
1553         follows the z-order tree.)
1554
1555         Test: compositing/geometry/ancestor-overflow-change.html
1556
1557         * rendering/RenderLayer.cpp:
1558         (WebCore::RenderLayer::styleChanged):
1559         * rendering/RenderLayer.h:
1560         * rendering/RenderLayerBacking.cpp:
1561         (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
1562
1563 2011-04-10  Simon Fraser  <simon.fraser@apple.com>
1564
1565         Reviewed by Ariya Hidayat.
1566
1567         Allow ShadowBlur to re-use the last buffer if it already contains the correct shadow
1568         https://bugs.webkit.org/show_bug.cgi?id=58161
1569         
1570         ShadowBlur already has a singleton scratch buffer that is re-used
1571         between shadows. Enhance use of this scratch buffer to avoid drawing
1572         and blurring the shadow if the results will match what is already
1573         in the buffer.
1574         
1575         Cleaned up ShadowBlur code to remove beginShadowLayer() and endShadowLayer(),
1576         which ended up with little reusable code after adding the re-use logic.
1577
1578         * platform/graphics/FloatRect.cpp:
1579         (WebCore::enclosingIntRect): Replace safeFloatToInt() with the existing
1580         clampToInteger() from MathExtras.h
1581         
1582         * platform/graphics/FloatSize.h:
1583         (WebCore::expandedIntSize): New method to safely ceil() the size.
1584         
1585         * platform/graphics/RoundedIntRect.h:
1586         Add operator== for Radii and RoundedIntRect.
1587
1588         * platform/graphics/ShadowBlur.cpp:
1589         (WebCore::ScratchBuffer::ScratchBuffer):
1590         (WebCore::ScratchBuffer::setLastShadowValues):
1591         (WebCore::ScratchBuffer::setLastInsetShadowValues):
1592         (WebCore::ScratchBuffer::matchesLastShadow):
1593         (WebCore::ScratchBuffer::matchesLastInsetShadow):
1594         (WebCore::ScratchBuffer::clearScratchBuffer):
1595         Have the scratch buffer remember what shadow parameters were used
1596         to render the buffer contents.
1597         
1598         (WebCore::ShadowBlur::drawShadowBuffer):
1599         Renamed from endShadowLayer(), and only contains the drawing
1600         logic now.
1601         
1602         (WebCore::ShadowBlur::drawRectShadow):
1603         Promote some code from beginShadowLayer().
1604         
1605         (WebCore::ShadowBlur::drawInsetShadow):
1606         Promote some code from beginShadowLayer().
1607
1608         (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
1609         (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
1610         (WebCore::ShadowBlur::drawInsetShadowWithTiling):
1611         (WebCore::ShadowBlur::drawRectShadowWithTiling):
1612         These methods now check to see if the buffer already matches
1613         their required parameters, and avoid work if it does.
1614         
1615         (WebCore::ShadowBlur::blurShadowBuffer):
1616         Factored some code into this new method.
1617         
1618         (WebCore::ShadowBlur::blurAndColorShadowBuffer):
1619         Minor refactoring.
1620
1621         * platform/graphics/ShadowBlur.h:
1622
1623 2011-04-10  Geoffrey Garen  <ggaren@apple.com>
1624
1625         Build fix: Updated for file move.
1626
1627         * bindings/js/GCController.cpp:
1628         * bindings/js/ScriptGCEvent.cpp:
1629
1630 2011-04-10  Geoffrey Garen  <ggaren@apple.com>
1631
1632         Rubber-stamped by Beth Dakin.
1633
1634         Moved Heap.h and Heap.cpp to the heap folder, because anything less 
1635         would be uncivilized.
1636
1637         * ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h.
1638         * ForwardingHeaders/runtime/Heap.h: Removed.
1639
1640 2011-04-10  Luke Macpherson   <macpherson@chromium.org>
1641
1642         Reviewed by Simon Fraser.
1643
1644         Rename CSSStyleApplyProperty::inherit,initial,value applyInheritValue,applyInitialValue,applyValue
1645         https://bugs.webkit.org/show_bug.cgi?id=58212
1646
1647         No new tests - function renaming only / no functionality changes.
1648
1649         * css/CSSStyleApplyProperty.cpp:
1650         Rename all instances of inherit, initial and value.
1651         * css/CSSStyleApplyProperty.h:
1652         Rename all instances of inherit, initial and value.
1653         * css/CSSStyleSelector.cpp:
1654         Rename all instances of inherit, initial and value.
1655
1656 2011-04-10  Mike Lawther  <mikelawther@chromium.org>
1657
1658         Reviewed by Ojan Vafai.
1659
1660         flex/bison tokens and grammar for CSS calc
1661         https://bugs.webkit.org/show_bug.cgi?id=54412
1662
1663         Tests: css3/calc/calc-errors.html
1664                css3/calc/lexer-regression-57581-2.html
1665                css3/calc/lexer-regression-57581-3.html
1666                css3/calc/lexer-regression-57581.html
1667                css3/calc/minmax-errors.html
1668                css3/calc/nested-rounded-corners.html
1669                css3/calc/simple-calcs.html
1670                css3/calc/simple-minmax.html
1671
1672         * css/CSSGrammar.y:
1673         * css/CSSParserValues.cpp:
1674         (WebCore::CSSParserValueList::insertValueAt):
1675         (WebCore::CSSParserValueList::extend):
1676         * css/CSSParserValues.h:
1677         * css/tokenizer.flex:
1678
1679 2011-04-10  Alice Boxhall  <aboxhall@chromium.org>
1680
1681         Reviewed by Ryosuke Niwa.
1682
1683         Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult only.
1684         https://bugs.webkit.org/show_bug.cgi?id=57923
1685
1686         Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult
1687         rather than a Node* and an IntPoint&, as the selection may actually not
1688         extend into the Node found by the HitTest.
1689
1690         No new tests. Refactoring only.
1691
1692         * page/EventHandler.cpp:
1693         (WebCore::EventHandler::handleMouseDraggedEvent):
1694         (WebCore::EventHandler::updateSelectionForMouseDrag):
1695         * page/EventHandler.h:
1696
1697 2011-04-10  Kent Tamura  <tkent@chromium.org>
1698
1699         Unreviewed, rolling out r83353.
1700         http://trac.webkit.org/changeset/83353
1701         https://bugs.webkit.org/show_bug.cgi?id=58106
1702
1703         The new test doesn't pass on all Chromium platforms.
1704
1705         * dom/DataTransferItem.h:
1706         * dom/DataTransferItem.idl:
1707         * platform/chromium/ClipboardMimeTypes.cpp:
1708         * platform/chromium/ClipboardMimeTypes.h:
1709         * platform/chromium/DataTransferItemChromium.cpp:
1710         (WebCore::DataTransferItemChromium::getAsString):
1711         * platform/chromium/DataTransferItemChromium.h:
1712         * platform/chromium/PlatformBridge.h:
1713
1714 2011-04-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1715
1716         Reviewed by Eric Carlson.
1717
1718         [EFL] Add seek forward / backward buttons to MediaControl UI.
1719         https://bugs.webkit.org/show_bug.cgi?id=56810
1720
1721         Add seek forward / backward buttons to media control. And, change formType name
1722         for media control.
1723
1724         * platform/efl/RenderThemeEfl.cpp:
1725         (WebCore::RenderThemeEfl::edjeGroupFromFormType):
1726         (WebCore::RenderThemeEfl::emitMediaButtonSignal):
1727         (WebCore::RenderThemeEfl::paintMediaMuteButton):
1728         (WebCore::RenderThemeEfl::paintMediaPlayButton):
1729         (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
1730         (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
1731         * platform/efl/RenderThemeEfl.h:
1732
1733 2011-04-10  Chris Guillory  <chris.guillory@google.com>
1734
1735         Reviewed by Eric Seidel.
1736
1737         Remove unused function declaration in PlatformContextSkia.h.
1738         https://bugs.webkit.org/show_bug.cgi?id=55983
1739
1740         * platform/graphics/skia/PlatformContextSkia.h:
1741
1742 2011-04-10  Patrick Gansterer  <paroga@webkit.org>
1743
1744         Unreviewed build fix for !ENABLE(XSLT) after r82562.
1745
1746         * dom/XMLDocumentParserLibxml2.cpp:
1747         (WebCore::XMLDocumentParser::doEnd):
1748
1749 2011-04-10  Patrick Gansterer  <paroga@webkit.org>
1750
1751         Unreviewed build fix for !ENABLE(XSLT) after r82562.
1752
1753         * xml/XMLTreeViewer.cpp: Readded #if ENABLE(XSLT).
1754
1755 2011-04-10  Dimitri Glazkov  <dglazkov@chromium.org>
1756
1757         Reviewed by Anders Carlsson.
1758
1759         REGRESSION(r83256): Text-decoration bleeds into shadow DOM
1760         https://bugs.webkit.org/show_bug.cgi?id=58205
1761
1762         Now that the shadow root is a never-styled element, we need to walk to
1763         parent to find out if we're inside of a shadow DOM subtree.
1764
1765         Test: media/controls-styling.html
1766
1767         * css/CSSStyleSelector.cpp:
1768         (WebCore::isAtShadowBoundary): Added helper function.
1769         (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to use the helper.
1770
1771 2011-04-07  Dimitri Glazkov  <dglazkov@chromium.org>
1772
1773         Reviewed by Eric Carlson.
1774
1775         [Meta] Convert HTMLMediaElement to use the new shadow DOM
1776         https://bugs.webkit.org/show_bug.cgi?id=53020
1777
1778         This conversion is non-trivial, for several reasons:
1779
1780         1) Since HTMLMediaElement now hosts the shadow DOM for controls, hiding
1781         and showing controls does not result in destroying and re-creating the
1782         shadow DOM tree. Instead, the tree is created as needed and shown/hidden
1783         using inline styles.
1784         
1785         2) Instead of detaching/attaching on each style change, the control parts
1786         are now using a set of higher fidelity callbacks that notify MediaControls
1787         about changes to which it should react. Each reaction results in hiding,
1788         showing, or changing the state of the control parts using inline styles
1789         and DOM APIs.
1790
1791         3) Hiding and showing controls is accomplished using inline styles, rather
1792         than wiring rendererIsNeeded, because renderers are now re-created less
1793         frequently.
1794
1795         4) Instead of constantly querying RenderTheme about visibility of a particular
1796         control part, we let the theme determine which parts are supported and
1797         which parts are visible in certain conditions.
1798
1799         5) Custom hit-testing, event forwarding, and style updates are completely
1800         removed, since they are now unnecessary.
1801
1802         6) Fading controls in/out is now done as CSS animation, since shadow DOM
1803         supports it.
1804
1805         Test: manual-tests/media-controls.html
1806
1807 2011-04-09  Dan Bernstein  <mitz@apple.com>
1808
1809         Reviewed by Beth Dakin.
1810
1811         <rdar://problem/9215280> Detached canvas draws with incorrect font
1812
1813         Test: fast/canvas/font-update.html
1814
1815         The existing mechanism for updating the font in a canvas 2D context was lacking in at least
1816         two ways: it neglected to update fonts in all but the topmost state in the stack, and since it
1817         was based on HTMLCanvasElemen's attach() and recalcStyle(), it did not work when the element
1818         was not attached.
1819
1820         This change takes the responsibility for font updates away from the canvas element and gives it
1821         to the canvas context and its graphics state.
1822
1823         * css/CSSFontSelector.cpp:
1824         (WebCore::CSSFontSelector::registerForInvalidationCallbacks): Added. Adds to the set of registered
1825         font selector clients.
1826         (WebCore::CSSFontSelector::unregisterForInvalidationCallbacks): Added. Removes from the set of
1827         registered font selector clients.
1828         (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): Calls fontsNeedUpdate() on all registered
1829         clients and forces a style recalc on the document.
1830         (WebCore::CSSFontSelector::fontLoaded): Changed to call dispatchInvalidationCallbacks().
1831         (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
1832         * css/CSSFontSelector.h:
1833         * html/HTMLCanvasElement.cpp: Removed overrides of attach() and recalcStyle().
1834         * html/HTMLCanvasElement.h:
1835         * html/canvas/CanvasRenderingContext2D.cpp:
1836         (WebCore::CanvasRenderingContext2D::State::~State): Added. Unregisters with the font selector.
1837         (WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Added. Called by the font selector
1838         when its fonts need to be updated. Updates the font.
1839         (WebCore::CanvasRenderingContext2D::setFont): Registers the state with the font selector.
1840         * html/canvas/CanvasRenderingContext2D.h:
1841         * platform/graphics/FontSelector.h:
1842         (WebCore::FontSelectorClient::~FontSelectorClient):
1843
1844 2011-04-09  Geoffrey Garen  <ggaren@apple.com>
1845
1846         Not reviewed.
1847
1848         Try recommitting some things svn left out of my last commit.
1849
1850         * bridge/qt/qt_runtime.h:
1851
1852 2011-04-09  Geoffrey Garen  <ggaren@apple.com>
1853
1854         Not reviewed.
1855
1856         Try recommitting some things svn left out of my last commit.
1857
1858         * ForwardingHeaders/collector: Removed.
1859         * ForwardingHeaders/collector/handles: Removed.
1860         * ForwardingHeaders/collector/handles/Global.h: Removed.
1861
1862 2011-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
1863
1864         Reviewed by Ojan Vafai.
1865
1866         Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries.
1867         https://bugs.webkit.org/show_bug.cgi?id=55515
1868
1869         This implements XBL 2.0's specified handling of mouseover/mouseout events:
1870         http://dev.w3.org/2006/xbl2/Overview.html#the-mouseover-and-mouseout-events
1871
1872         To do this, we:
1873         1) calculate lowest common ancestor between relatedTarget and target, and
1874            the nearest boundaries around them: the outer (common) boundary, and the
1875            inner (specific to relatedTarget) boundary. Then, we
1876         2) ensure that events only propagate up to the common boundary (or
1877            all the way if boundary is not found), while
1878         3) updating relatedTarget be the inner boundary.
1879
1880         We also detect the most common case when no common boundary could exist
1881         and provide a fast path to short-circuit most of the boundary detection
1882         logic.
1883
1884         Test: fast/events/shadow-boundary-crossing.html
1885
1886         * dom/EventDispatcher.cpp:
1887         (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a helper to determine lowest
1888             common ancestor, the boundaries around it, and compute adjustments
1889             to relatedTarget and event target ancestor chain.
1890         (WebCore::ancestorsCrossShadowBoundaries): Added.
1891         (WebCore::EventDispatcher::adjustRelatedTarget): Changed to calculate
1892             inner/outer shadow DOM boundaries and adjust ancestors chain accordingly.
1893         (WebCore::EventDispatcher::EventDispatcher): Added flag initializer
1894         (WebCore::EventDispatcher::ensureEventAncestors): Renamed from getEventAncestors,
1895             converted to use initialization flag, rather than testing for empty.
1896         * dom/EventDispatcher.h: Adjusted decls.
1897         * dom/MouseEvent.cpp:
1898         (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to send event
1899             to adjustRelatedTarget.
1900
1901 2011-04-08  Geoffrey Garen  <ggaren@apple.com>
1902
1903         Reviewed by Oliver Hunt.
1904
1905         A few heap-related renames and file moves.
1906         
1907         WeakGCPtr<T> => Weak<T>
1908         Global<T> => Strong<T>
1909         collector/ => heap/
1910         collector/* => heap/*
1911         runtime/WeakGCPtr.h => heap/Weak.h
1912         
1913         (Eventually, even more files should move into the heap directory. Like
1914         Heap.h and Heap.cpp, for example.)
1915
1916         * CMakeLists.txt:
1917         * ForwardingHeaders/collector: Removed.
1918         * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector.
1919         * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h.
1920         * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h.
1921         * ForwardingHeaders/runtime/WeakGCPtr.h: Removed.
1922         * WebCore.vcproj/WebCore.vcproj:
1923         * WebCore.vcproj/copyForwardingHeaders.cmd:
1924         * bindings/js/JSCallbackData.h:
1925         * bindings/js/JSCustomVoidCallback.h:
1926         * bindings/js/JSDOMWindowBase.h:
1927         * bindings/js/JSDOMWindowShell.cpp:
1928         (WebCore::JSDOMWindowShell::setWindow):
1929         * bindings/js/JSDataGridDataSource.h:
1930         * bindings/js/JSEventListener.h:
1931         * bindings/js/ScheduledAction.cpp:
1932         (WebCore::ScheduledAction::ScheduledAction):
1933         * bindings/js/ScheduledAction.h:
1934         * bindings/js/ScriptCachedFrameData.cpp:
1935         (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
1936         * bindings/js/ScriptCachedFrameData.h:
1937         * bindings/js/ScriptController.cpp:
1938         (WebCore::ScriptController::createWindowShell):
1939         * bindings/js/ScriptController.h:
1940         * bindings/js/ScriptObject.h:
1941         * bindings/js/ScriptState.h:
1942         * bindings/js/ScriptValue.cpp:
1943         * bindings/js/ScriptValue.h:
1944         * bindings/js/ScriptWrappable.h:
1945         * bindings/js/WorkerScriptController.cpp:
1946         (WebCore::WorkerScriptController::initScript):
1947         * bindings/js/WorkerScriptController.h:
1948         * bridge/jsc/BridgeJSC.h:
1949         * bridge/qt/qt_runtime.h:
1950         * bridge/runtime_root.h:
1951         * xml/XMLHttpRequest.cpp:
1952
1953 2011-04-09  Keith Kyzivat  <keith.kyzivat@nokia.com>
1954
1955         Reviewed by Laszlo Gombos.
1956
1957         [Qt] Don't link against fontconfig or X11 if embedded
1958         https://bugs.webkit.org/show_bug.cgi?id=58104
1959
1960         No functional change so no new tests.
1961
1962         * WebCore.pri: qpa=>embedded should be done very early so all cases of embedded are uniform.
1963
1964 2011-04-09  Csaba Osztrogon√°c  <ossy@webkit.org>
1965
1966         [Qt] Unreviewed trivial fix after r83344.
1967
1968         * WebCore.pro: Update HEADERS list.
1969
1970 2011-04-09  Jon Lee  <jonlee@apple.com>
1971
1972         Reviewed by Beth Dakin.
1973
1974         Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180)
1975         https://bugs.webkit.org/show_bug.cgi?id=58180
1976         <rdar://problem/9047984>
1977
1978         * platform/mac/ScrollAnimatorMac.mm:
1979         (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting
1980         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
1981         (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
1982
1983 2011-04-09  Sreeram Ramachandran  <sreeram@google.com>
1984
1985         Reviewed by Ryosuke Niwa.
1986
1987         Gather data on modal dialogs shown during unload events
1988         https://bugs.webkit.org/show_bug.cgi?id=58115
1989
1990         Add a new method to the ChromeClient API to allow clients to receive
1991         notifications of modal dialogs dispatched during page dismissal events.
1992         The new method has a default empty definition; only chromium overrides
1993         it to keep track of histograms.
1994
1995         No tests because this is a no-op for all ports except chromium (and it's
1996         not clear how to test chromium histograms from webkit).
1997
1998         * page/Chrome.cpp:
1999         (WebCore::isDuringPageDismissal):
2000         (WebCore::willRunModalDialog):
2001         (WebCore::Chrome::runJavaScriptAlert):
2002         (WebCore::Chrome::runJavaScriptConfirm):
2003         (WebCore::Chrome::runJavaScriptPrompt):
2004         (WebCore::Chrome::willRunModalHTMLDialog):
2005         * page/Chrome.h:
2006         * page/ChromeClient.h:
2007         (WebCore::ChromeClient::willRunModalDialogDuringPageDismissal):
2008         * page/DOMWindow.cpp:
2009         (WebCore::DOMWindow::showModalDialog):
2010
2011 2011-04-08  David Humphrey  <david.humphrey@senecac.on.ca>
2012
2013         Reviewed by Eric Carlson.
2014
2015         Fix call order of media element muted and play(), such that setting muted before play() works.
2016         https://bugs.webkit.org/show_bug.cgi?id=57673
2017         https://code.google.com/p/chromium/issues/detail?id=70777
2018
2019         Manual test added: manual-tests/media-muted.html
2020
2021         * html/HTMLMediaElement.cpp:
2022         (WebCore::HTMLMediaElement::updatePlayState):
2023         * manual-tests/media-muted.html: Added.
2024
2025 2011-04-08  Nat Duca  <nduca@chromium.org>
2026
2027         Reviewed by David Levin.
2028
2029         [chromium] Fix windows assertion on ~CCThread
2030         https://bugs.webkit.org/show_bug.cgi?id=58153
2031
2032         Because ~CCThread uses waitForThreadCompletion,
2033         calling detachThread is not necessary.
2034
2035         * platform/graphics/chromium/cc/CCThread.cpp:
2036         (WebCore::CCThread::runLoop):
2037
2038 2011-04-08  Jian Li  <jianli@chromium.org>
2039
2040         Unreviewed, rolling out r83348.
2041         http://trac.webkit.org/changeset/83348
2042         https://bugs.webkit.org/show_bug.cgi?id=49508
2043
2044         Breaks layout tests in QT, Win7 and Chromium.
2045
2046         * rendering/RenderText.cpp:
2047         (WebCore::RenderText::localCaretRect):
2048
2049 2011-04-08  MORITA Hajime  <morrita@google.com>
2050
2051         Reviewed by Simon Fraser.
2052
2053         Negative spread should not make a sharp corner rounded
2054         https://bugs.webkit.org/show_bug.cgi?id=58162
2055
2056         Handled inset shadow path for rounded and non-rounded rect
2057         differently as normal shadow path is doing.
2058         
2059         * rendering/RenderBoxModelObject.cpp:
2060         (WebCore::RenderBoxModelObject::paintBoxShadow):
2061
2062 2011-04-07  Simon Fraser  <simon.fraser@apple.com>
2063
2064         Reviewed by Martin Robinson.
2065
2066         REGRESSION (r77034-r77220): CSS box-shadow no longer renders on PowerPC
2067         https://bugs.webkit.org/show_bug.cgi?id=55180
2068
2069         The endianness #ifdef in ShadowBlur was unnecessary and harmful. The
2070         data we get back from ImageBuffer::getImageData() do not vary in
2071         endianness.
2072
2073         * platform/graphics/ShadowBlur.cpp:
2074         (WebCore::ShadowBlur::blurLayerImage):
2075
2076 2011-04-08  Erik Arvidsson  <arv@chromium.org>
2077
2078         Reviewed by Dimitri Glazkov.
2079
2080         IFrame is getting the focus even though it is hidden
2081         https://bugs.webkit.org/show_bug.cgi?id=55861
2082
2083         Test: fast/dom/hidden-iframe-no-focus.html
2084
2085         * html/HTMLFrameOwnerElement.cpp:
2086         (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable):
2087         * html/HTMLFrameOwnerElement.h:
2088
2089 2011-04-08  Jeff Timanus  <twiz@chromium.org>
2090
2091         Reviewed by Kenneth Russell.
2092
2093         Fall back to software rendering for Canvas2D when requesting a DrawingBuffer larger than supported by the GL environment.
2094         https://bugs.webkit.org/show_bug.cgi?id=57768
2095
2096         * html/canvas/CanvasRenderingContext2D.cpp:
2097         (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
2098         (WebCore::CanvasRenderingContext2D::reset):
2099         * platform/graphics/gpu/DrawingBuffer.cpp:
2100         (WebCore::DrawingBuffer::reset):
2101         * platform/graphics/gpu/DrawingBuffer.h:
2102
2103 2011-04-08  Daniel Cheng  <dcheng@chromium.org>
2104
2105         Reviewed by Dmitry Titov.
2106
2107         [chromium] Implement image/png support in DataTransferItems
2108         https://bugs.webkit.org/show_bug.cgi?id=58106
2109
2110         This patch implements DataTransferItem::getAsFile() using Blobs. In
2111         addition, plumbing for image/png has been added so image paste will be
2112         supported as long as the renderer makes that data available.
2113
2114         Tests: editing/pasteboard/data-transfer-items-image-png.html
2115
2116         * dom/DataTransferItem.h:
2117         * dom/DataTransferItem.idl:
2118         * platform/chromium/ClipboardMimeTypes.cpp:
2119         * platform/chromium/ClipboardMimeTypes.h:
2120         * platform/chromium/DataTransferItemChromium.cpp:
2121         (WebCore::DataTransferItemChromium::getAsString):
2122         (WebCore::DataTransferItemChromium::getAsFile):
2123         * platform/chromium/DataTransferItemChromium.h:
2124         * platform/chromium/PlatformBridge.h:
2125
2126 2011-04-08 MORITA Hajime  <morrita@google.com>
2127
2128         Unreviewed windows build fix.
2129         
2130         * editing/SpellingCorrectionController.h:
2131         (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
2132
2133 2011-04-08  Enrica Casucci  <enrica@apple.com>
2134
2135         Reviewed by Maciej Stachowiak.
2136
2137         Improve lifetime management of nodes in ReplaceNodeWithSpanCommand.
2138         https://bugs.webkit.org/show_bug.cgi?id=57595
2139         <rdar://problem/9222122>
2140
2141         Test: editing/style/bold-with-dom-changes.html
2142
2143         * editing/ReplaceNodeWithSpanCommand.cpp:
2144         (WebCore::swapInNodePreservingAttributesAndChildren):
2145
2146 2011-04-07  Roland Steiner  <rolandsteiner@chromium.org>
2147
2148         Reviewed by Dimitri Glazkov.
2149
2150         Bug 58060 - Prepare access to TreeScope from Node, using NodeRareData
2151         https://bugs.webkit.org/show_bug.cgi?id=58060
2152
2153         Add a TreeScope pointer to NodeRareData to allow direct access to the containing tree scope.
2154         However, in case the containing scope is the document, this is not set, and the
2155         document pointer within Node is used instead.
2156
2157         In an object derived from TreeScope (currently Document), the tree scope pointer
2158         points to itself. Such objects also contain a parent tree scope pointer that
2159         points to the containing scope. For Document, this is 0.
2160
2161         Add new functions setTreeScope[Recursively] that replace setDocument[Recursively]
2162         in public usage. setDocument[Recursively] are now only used internally and are
2163         thererfore protected.
2164
2165         No new tests. (no new functionality)
2166
2167         * dom/ContainerNode.cpp: change DOM manipulation methods to update scope of inserted nodes
2168         (WebCore::ContainerNode::insertBefore):
2169         (WebCore::ContainerNode::replaceChild):
2170         (WebCore::ContainerNode::appendChild):
2171         * dom/Document.cpp:
2172         (WebCore::Document::~Document):
2173         (WebCore::Document::setDocType): Ditto
2174         (WebCore::Document::adoptNode): Ditto
2175         * dom/Document.h:
2176         * dom/Node.cpp:
2177         (WebCore::Node::treeScope): use NodeRareData to check if a non-Document scope is set
2178         (WebCore::Node::setTreeScope): update NodeRareData depending on whether scope is a document
2179         (WebCore::Node::setTreeScopeRecursively):
2180         (WebCore::Node::setDocumentRecursively):
2181         * dom/Node.h:
2182         * dom/NodeRareData.h: add scope pointer
2183         (WebCore::NodeRareData::NodeRareData):
2184         (WebCore::NodeRareData::treeScope):
2185         (WebCore::NodeRareData::setTreeScope):
2186         * dom/TreeScope.cpp: add parentTreeScope pointer
2187         (WebCore::TreeScope::TreeScope):
2188         (WebCore::TreeScope::setParentTreeScope):
2189         * dom/TreeScope.h:
2190         (WebCore::TreeScope::parentTreeScope):
2191
2192 2011-04-08  Xiaomei Ji  <xji@chromium.org>
2193
2194         Reviewed by David Hyatt.
2195
2196         Local caret rectangle calculation should be relative to its containing block.
2197         https://bugs.webkit.org/show_bug.cgi?id=49508.
2198
2199         InlineBox and caret rectangle are positioned relative to its containing block.
2200         So its left and right edge value should be relative to its containing block as well. 
2201
2202         Test: fast/forms/cursor-at-editable-content-boundary.html
2203
2204         * rendering/RenderText.cpp:
2205         (WebCore::RenderText::localCaretRect):
2206
2207 2011-04-08  MORITA Hajime  <morrita@google.com>
2208
2209         Unreviewed build fix.
2210
2211         * editing/Editor.cpp:
2212         (WebCore::Editor::markMisspellingsAfterTypingToWord):
2213
2214 2011-04-08  David Hyatt  <hyatt@apple.com>
2215
2216         Reviewed by Simon Fraser.
2217
2218         https://bugs.webkit.org/show_bug.cgi?id=57971
2219         
2220         Rework visited/unvisited links for before/after content. Propagate the bits earlier so that we don't lose
2221         them when we throw away the visited style. Don't throw away the visited link style for pseudo elements
2222         either, so that the styles are consistent.
2223
2224         Added fast/history/visited-generated-content-test.html
2225
2226         * css/CSSStyleSelector.cpp:
2227         (WebCore::CSSStyleSelector::styleForElement):
2228         (WebCore::CSSStyleSelector::pseudoStyleForElement):
2229
2230 2011-04-06  MORITA Hajime  <morrita@google.com>
2231
2232         Reviewed by Darin Adler.
2233
2234         [Refactoring] Auto correction panel should be handled by its own class.
2235         https://bugs.webkit.org/show_bug.cgi?id=55571
2236
2237         Extracted code inside SUPPORT_AUTOCORRECTION_PANEL into
2238         SpellingCorrectionController class.
2239         This change also remove some SUPPORT_AUTOCORRECTION_PANEL guard if
2240         code paths inside the never reached without autocorrection support.
2241         Removing guards reduces unintentional build breakage.
2242
2243         No new tests, no behavior chagne.
2244
2245         * CMakeLists.txt:
2246         * GNUmakefile.am:
2247         * WebCore.gypi:
2248         * WebCore.pro:
2249         * WebCore.vcproj/WebCore.vcproj:
2250         * WebCore.xcodeproj/project.pbxproj:
2251         * editing/CorrectionPanelInfo.h: Removed.
2252         * editing/EditingAllInOne.cpp:
2253         * editing/Editor.cpp:
2254         (WebCore::Editor::respondToChangedSelection):
2255         (WebCore::Editor::respondToChangedContents):
2256         (WebCore::Editor::appliedEditing):
2257         (WebCore::Editor::Editor):
2258         (WebCore::Editor::~Editor):
2259         (WebCore::Editor::insertTextWithoutSendingTextEvent):
2260         (WebCore::Editor::insertLineBreak):
2261         (WebCore::Editor::insertParagraphSeparator):
2262         (WebCore::Editor::cut):
2263         (WebCore::Editor::paste):
2264         (WebCore::Editor::pasteAsPlainText):
2265         (WebCore::Editor::isAutomaticSpellingCorrectionEnabled):
2266         (WebCore::Editor::markMisspellingsAfterTypingToWord):
2267         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
2268         (WebCore::Editor::changeBackToReplacedString):
2269         (WebCore::Editor::unappliedSpellCorrection):
2270         (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
2271         (WebCore::Editor::startCorrectionPanelTimer):
2272         (WebCore::Editor::handleCorrectionPanelResult):
2273         (WebCore::Editor::dismissCorrectionPanelAsIgnored):
2274         * editing/Editor.h:
2275         * editing/SpellingCorrectionCommand.cpp:
2276         * editing/SpellingCorrectionController.cpp: Added.
2277         (WebCore::markerTypesForAutocorrection):
2278         (WebCore::markerTypesForReplacement):
2279         (WebCore::markersHaveIdenticalDescription):
2280         (WebCore::SpellingCorrectionController::SpellingCorrectionController):
2281         (WebCore::SpellingCorrectionController::~SpellingCorrectionController):
2282         (WebCore::SpellingCorrectionController::startCorrectionPanelTimer):
2283         (WebCore::SpellingCorrectionController::stopCorrectionPanelTimer):
2284         (WebCore::SpellingCorrectionController::stopPendingCorrection):
2285         (WebCore::SpellingCorrectionController::applyPendingCorrection):
2286         (WebCore::SpellingCorrectionController::hasPendingCorrection):
2287         (WebCore::SpellingCorrectionController::isSpellingMarkerAllowed):
2288         (WebCore::SpellingCorrectionController::show):
2289         (WebCore::SpellingCorrectionController::handleCancelOperation):
2290         (WebCore::SpellingCorrectionController::dismiss):
2291         (WebCore::SpellingCorrectionController::dismissSoon):
2292         (WebCore::SpellingCorrectionController::applyCorrectionPanelInfo):
2293         (WebCore::SpellingCorrectionController::applyAutocorrectionBeforeTypingIfAppropriate):
2294         (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
2295         (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
2296         (WebCore::SpellingCorrectionController::handleCorrectionPanelResult):
2297         (WebCore::SpellingCorrectionController::isAutomaticSpellingCorrectionEnabled):
2298         (WebCore::SpellingCorrectionController::windowRectForRange):
2299         (WebCore::SpellingCorrectionController::respondToChangedSelection):
2300         (WebCore::SpellingCorrectionController::respondToAppliedEditing):
2301         (WebCore::SpellingCorrectionController::client):
2302         (WebCore::SpellingCorrectionController::textChecker):
2303         (WebCore::SpellingCorrectionController::recordAutocorrectionResponseReversed):
2304         (WebCore::SpellingCorrectionController::markReversed):
2305         (WebCore::SpellingCorrectionController::markCorrection):
2306         (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
2307         * editing/SpellingCorrectionController.h: Added.
2308         (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
2309         (WebCore::SpellingCorrectionController::shouldStartTimeFor):
2310         (WebCore::SpellingCorrectionController::shouldRemoveMarkersUponEditing):        
2311         * editing/TypingCommand.cpp:
2312         (WebCore::TypingCommand::insertText):
2313         (WebCore::TypingCommand::markMisspellingsAfterTyping):
2314         (WebCore::TypingCommand::deleteKeyPressed):
2315         (WebCore::TypingCommand::forwardDeleteKeyPressed):
2316         * editing/htmlediting.h:
2317         (WebCore::isAmbiguousBoundaryCharacter):
2318         * page/EditorClient.h:
2319         * page/Frame.cpp:
2320         (WebCore::Frame::setPageAndTextZoomFactors):
2321
2322 2011-04-08  Alpha Lam  <hclam@chromium.org>
2323
2324         Unreviewed, rolling out r83335.
2325         http://trac.webkit.org/changeset/83335
2326         https://bugs.webkit.org/show_bug.cgi?id=53556
2327
2328         GTK and QT bots are broken
2329
2330         * CMakeLists.txt:
2331         * Configurations/FeatureDefines.xcconfig:
2332         * DerivedSources.make:
2333         * GNUmakefile.am:
2334         * WebCore.gypi:
2335         * WebCore.xcodeproj/project.pbxproj:
2336         * features.pri:
2337         * html/HTMLAttributeNames.in:
2338         * html/HTMLTagNames.in:
2339         * html/HTMLTrackElement.cpp: Removed.
2340         * html/HTMLTrackElement.h: Removed.
2341         * html/HTMLTrackElement.idl: Removed.
2342
2343 2011-04-08  Brady Eidson  <beidson@apple.com>
2344
2345         Reviewed by Adam Roben.
2346
2347         https://bugs.webkit.org/show_bug.cgi?id=58155 and part of <rdar://problem/9251767>
2348         BitmapImage::getFirstCGImageRefOfSize fails if the frameCount hasn't been initialized from the image source.
2349
2350         * platform/graphics/cg/ImageCG.cpp:
2351         (WebCore::BitmapImage::getFirstCGImageRefOfSize): Call frameCount() instead of accessing m_frames.size() to
2352           make sure the frames are properly tallied first.
2353
2354 2011-04-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
2355
2356         Reviewed by Andreas Kling.
2357
2358         [Qt] Dragging and dropping an image in edit mode does not work
2359         https://bugs.webkit.org/show_bug.cgi?id=19385
2360
2361         When adding an image to the clipboard, we should also include the HTML code of that image so
2362         it can be used for internal drag and drop.
2363
2364         This HTML is expected by all clients of drop events so a fragment can be moved from one browser to
2365         another, or inside the same browser.
2366
2367         * platform/qt/ClipboardQt.cpp:
2368         (WebCore::ClipboardQt::declareAndWriteDragImage):
2369
2370 2011-04-07  Anna Cavender  <annacc@chromium.org>
2371
2372         Reviewed by Eric Carlson.
2373
2374         Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
2375         https://bugs.webkit.org/show_bug.cgi?id=53556
2376
2377         No new tests. No real functionality added just yet.
2378
2379         * CMakeLists.txt:
2380         * Configurations/FeatureDefines.xcconfig:
2381         * DerivedSources.make:
2382         * GNUmakefile.am:
2383         * WebCore.gypi:
2384         * WebCore.xcodeproj/project.pbxproj:
2385         * features.pri:
2386         * html/HTMLAttributeNames.in:
2387         * html/HTMLTagNames.in:
2388         * html/HTMLTrackElement.cpp: Added.
2389         (WebCore::HTMLTrackElement::HTMLTrackElement):
2390         (WebCore::HTMLTrackElement::create):
2391         (WebCore::HTMLTrackElement::insertedIntoTree):
2392         (WebCore::HTMLTrackElement::willRemove):
2393         (WebCore::HTMLTrackElement::src):
2394         (WebCore::HTMLTrackElement::setSrc):
2395         (WebCore::HTMLTrackElement::kind):
2396         (WebCore::HTMLTrackElement::setKind):
2397         (WebCore::HTMLTrackElement::srclang):
2398         (WebCore::HTMLTrackElement::setSrclang):
2399         (WebCore::HTMLTrackElement::label):
2400         (WebCore::HTMLTrackElement::setLabel):
2401         (WebCore::HTMLTrackElement::isDefault):
2402         (WebCore::HTMLTrackElement::setIsDefault):
2403         (WebCore::HTMLTrackElement::isURLAttribute):
2404         * html/HTMLTrackElement.h: Added.
2405         * html/HTMLTrackElement.idl: Added.
2406
2407 2011-04-07  Jer Noble  <jer.noble@apple.com>
2408
2409         Reviewed by Eric Carlson.
2410
2411         Logic error in HTMLMediaElement::exitFullscreen()
2412         https://bugs.webkit.org/show_bug.cgi?id=58085
2413
2414         The new full screen API case could fall through to the legacy API case
2415         unintentionally if a script calls exitFullscreen on an element which is
2416         not the current full screen element.
2417
2418         * html/HTMLMediaElement.cpp:
2419         (WebCore::HTMLMediaElement::enterFullscreen):
2420         (WebCore::HTMLMediaElement::exitFullscreen):
2421
2422 2011-04-08  Mike Reed  <reed@google.com>
2423
2424         Reviewed by Eric Seidel.
2425
2426         Replace SKIA_TEXT with isNativeFontRenderingAllowed() for print-preview to work
2427         https://bugs.webkit.org/show_bug.cgi?id=57782
2428
2429         No new tests. This change only affects print-preview and build option SKIA_GPU 
2430
2431         * platform/graphics/skia/SkiaFontWin.cpp:
2432         (WebCore::paintSkiaText):
2433
2434 2011-04-08  Ryosuke Niwa  <rniwa@webkit.org>
2435
2436         Reviewed by Tony Chang, Darin Adler, and Enrica Casucci.
2437
2438         REGRESSION(r81887): Crash in SplitElement
2439         https://bugs.webkit.org/show_bug.cgi?id=57743
2440
2441         The crash was caused by ReplaceSelectionCommand::doApply's calling splitElement with computeNodeAfterPosition
2442         even when the position was after the last node in it container. Since all we are doing here is to splitting tree
2443         up until the highest ancestor with isInlineNodeWithStyle, replaced the while loop by calls to splitTreeToNode
2444         and highestEnclosingNodeOfType.
2445
2446         Also fixed a bug in splitTreeToNode not to check the difference in visible position when splitting the ancestor,
2447         which would have introduced unnecessary nodes when splitting tree and a bug in highestEnclosingNodeOfType that
2448         it incorrectly called deprecatedNode instead of containerNode.
2449
2450         Test: editing/inserting/insert-images-in-pre-x-crash.html
2451
2452         * editing/CompositeEditCommand.cpp:
2453         (WebCore::CompositeEditCommand::splitTreeToNode):
2454         * editing/ReplaceSelectionCommand.cpp:
2455         (WebCore::ReplaceSelectionCommand::doApply):
2456         * editing/htmlediting.cpp:
2457         (WebCore::highestEnclosingNodeOfType):
2458
2459 2011-04-08  Antti Koivisto  <antti@apple.com>
2460
2461         Reviewed by Tony Gentilcore.
2462
2463         Incoming source should be preload scanned when the parser is blocked 
2464         https://bugs.webkit.org/show_bug.cgi?id=58117
2465
2466         Scan the appended source if parser is blocked.
2467
2468         Test: http/tests/loading/preload-append-scan.php
2469
2470         * html/parser/HTMLDocumentParser.cpp:
2471         (WebCore::HTMLDocumentParser::append):
2472
2473 2011-04-08  Martin Robinson  <mrobinson@igalia.com>
2474
2475         Reviewed by Xan Lopez.
2476
2477         [GTK] Fix the WebKit2 build for older versions of GTK+
2478         https://bugs.webkit.org/show_bug.cgi?id=58095
2479
2480         No new tests. This is just a build fix.
2481
2482         * platform/gtk/GtkVersioning.c:
2483         (gdk_window_create_similar_surface): Reimplement this method for older versions of GDK.
2484         * platform/gtk/GtkVersioning.h: Add the new method to the header.
2485
2486 2011-04-08  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
2487
2488         Reviewed by Laszlo Gombos.
2489
2490         [Qt] Plugin is not scrolled together with page content or jumping 
2491         when content is rendered using cache (backing store).
2492         https://bugs.webkit.org/show_bug.cgi?id=56130
2493         
2494         This is a Symbian portion of the fix. For Linux it looks like
2495         it's enough to call set geometry which should be addressed in
2496         https://bugs.webkit.org/show_bug.cgi?id=57179
2497
2498         No new tests required. This can be tested with manual tests from 
2499         WebCore/manual-tests/qt and WebCore/manual-tests/plugins
2500
2501         * plugins/symbian/PluginViewSymbian.cpp:
2502         (WebCore::PluginView::updatePluginWidget):
2503
2504 2011-04-08  Abhishek Arya  <inferno@chromium.org>
2505
2506         Unreviewed. Remove accidental printf added in r83306.
2507
2508         * page/EventHandler.cpp:
2509         (WebCore::EventHandler::sendContextMenuEvent):
2510
2511 2011-04-08  Enrica Casucci  <enrica@apple.com>
2512
2513         Reviewed by Darin Adler.
2514
2515         Dragging text in a WebKit2 window results in a copy instead of a move.
2516         https://bugs.webkit.org/show_bug.cgi?id=56772
2517         <rdar://problem/9165140>
2518
2519         cleanupAfterSystemDrag cannot call dragEnd in WebKit2, since
2520         the call to startDrag is asynchronous.
2521         
2522         * page/mac/DragControllerMac.mm:
2523         (WebCore::DragController::cleanupAfterSystemDrag):
2524
2525 2011-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
2526
2527         Reviewed by Darin Adler.
2528
2529         Move WheelEvent-dispatching logic into WheelEventDispatchMediator.
2530         https://bugs.webkit.org/show_bug.cgi?id=57642
2531
2532         Covered by existing tests, no functional change.
2533
2534         * dom/Event.cpp:
2535         * dom/Event.h:
2536         (WebCore::EventDispatchMediator::EventDispatchMediator): Added default
2537             constructor.
2538         (WebCore::EventDispatchMediator::event): Inlined.
2539         (WebCore::EventDispatchMediator::setEvent): Added.
2540         * dom/EventDispatcher.cpp: Removed dispatchWheelEvent.
2541         * dom/EventDispatcher.h: Updated decls.
2542         * dom/Node.cpp:
2543         (WebCore::Node::dispatchWheelEvent): Changed to use the mediator and
2544             return a bool, like other dispatch event functions.
2545         * dom/Node.h: Changed decl.
2546         * dom/WheelEvent.cpp:
2547         (WebCore::granularity): Moved from EventDispatcher.
2548         (WebCore::WheelEventDispatchMediator::WheelEventDisatchMediator): Added.
2549         (WebCore::WheelEventDispatchMediator::event): Added.
2550         (WebCore::WheelEventDispatchMediator::dispatchEvent): Added.
2551         * dom/WheelEvent.h: Updated decls.
2552         * page/EventHandler.cpp:
2553         (WebCore::EventHandler::handleWheelEvent): Changed to receive and react
2554             to the return value.
2555
2556 2011-04-08  Jessie Berlin  <jberlin@apple.com>
2557
2558         Windows build warning fix.
2559
2560         * WebCore.vcproj/WebCore.vcproj:
2561         Since ShadowRoot.cpp is included in the DOMAllInOne.cpp file, it should be excluded from
2562         the build.
2563
2564 2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
2565
2566         Reviewed by Pavel Feldman.
2567
2568         Web Inspector: update breakpoints according to source frame decorations after live edit.
2569         https://bugs.webkit.org/show_bug.cgi?id=58029
2570
2571         * inspector/front-end/DebuggerPresentationModel.js:
2572         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
2573         (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
2574         (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent.didEditScriptSource):
2575         (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent):
2576         * inspector/front-end/SourceFile.js:
2577         (WebInspector.SourceFile.prototype.set content):
2578         * inspector/front-end/SourceFrame.js:
2579         (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
2580         (WebInspector.SourceFrame.prototype._handleSave):
2581
2582 2011-04-08  Pavel Podivilov  <podivilov@chromium.org>
2583
2584         Reviewed by Pavel Feldman.
2585
2586         Web Inspector: fix scripts concatenation in scripts panel.
2587         https://bugs.webkit.org/show_bug.cgi?id=58138
2588
2589         When there is just one script starting at 0:0 it should not be surrounded by <script> framing.
2590
2591         * inspector/front-end/SourceFile.js:
2592         (WebInspector.SourceFile.prototype._loadResourceContent):
2593         (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
2594
2595 2011-04-08  Pavel Feldman  <pfeldman@chromium.org>
2596
2597         Reviewed by Yury Semikhatsky.
2598
2599         Web Inspector: use "locations" for debugger scripts, "lineNumbers" for the UI elements.
2600         https://bugs.webkit.org/show_bug.cgi?id=58118
2601
2602         This change reuses location for call frames in the protocol + structures script
2603         location <-> source lines interaction better. When we need UI columns, we will add
2604         them, but we should distinguish between script and UI terms on the type level, not naming.
2605
2606         * English.lproj/localizedStrings.js:
2607         * bindings/v8/DebuggerScript.js:
2608         * inspector/InjectedScriptSource.js:
2609         * inspector/Inspector.json:
2610         * inspector/front-end/CallStackSidebarPane.js:
2611         (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
2612         (WebInspector.CallStackSidebarPane.prototype.update):
2613         * inspector/front-end/DebuggerPresentationModel.js:
2614         (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestSourceMapping):
2615         (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
2616         (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
2617         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
2618         (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
2619         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
2620         (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
2621         (WebInspector.PresenationCallFrame):
2622         (WebInspector.PresenationCallFrame.prototype.sourceLine.didRequestSourceMapping):
2623         (WebInspector.PresenationCallFrame.prototype.sourceLine):
2624         * inspector/front-end/ScriptFormatter.js:
2625         (WebInspector.ScriptFormatter.locationToPosition):
2626         (WebInspector.ScriptFormatter.lineToPosition):
2627         * inspector/front-end/ScriptsPanel.js:
2628         (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
2629         (WebInspector.ScriptsPanel.prototype._debuggerPaused):
2630         (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
2631         (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
2632         (WebInspector.ScriptsPanel.prototype._callFrameSelected):
2633         * inspector/front-end/SourceFile.js:
2634         (WebInspector.SourceMapping.prototype.scriptLocationToSourceLine):
2635         (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
2636         (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
2637         (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
2638
2639 2011-04-08  Pavel Podivilov  <podivilov@chromium.org>
2640
2641         Reviewed by Pavel Feldman.
2642
2643         Web Inspector: distinguish breakpoints set on de-obfuscated sources from breakponts set on original sources.
2644         https://bugs.webkit.org/show_bug.cgi?id=58133
2645
2646         * inspector/front-end/DebuggerPresentationModel.js:
2647         (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
2648         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2649         (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
2650         (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
2651         (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
2652         (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
2653         (WebInspector.DebuggerPresentationModel.prototype._reset):
2654
2655 2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
2656
2657         Reviewed by Pavel Feldman.
2658
2659         Web Inspector: make SourceFrame TextViewer's delegate for editing operations.
2660         https://bugs.webkit.org/show_bug.cgi?id=58026
2661
2662         This is the first step of decoupling TextViewer from SourceFrame.
2663
2664         * inspector/front-end/SourceFrame.js:
2665         (WebInspector.SourceFrame):
2666         (WebInspector.SourceFrame.prototype.show):
2667         (WebInspector.SourceFrame.prototype.hide):
2668         (WebInspector.SourceFrame.prototype._ensureContentLoaded):
2669         (WebInspector.SourceFrame.prototype.contentEditable):
2670         (WebInspector.SourceFrame.prototype.startEditing):
2671         (WebInspector.SourceFrame.prototype.endEditing):
2672         (WebInspector.SourceFrame.prototype._createTextViewer):
2673         (WebInspector.SourceFrame.prototype._handleSave):
2674         (WebInspector.SourceFrame.prototype._handleRevertEditing):
2675         * inspector/front-end/TextViewer.js:
2676         (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
2677         (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
2678         (WebInspector.TextViewer.prototype._syncDecorationsForLine):
2679         (WebInspector.TextViewer.prototype._doubleClick):
2680         (WebInspector.TextViewerDelegate):
2681         (WebInspector.TextViewerDelegate.prototype.contentEditable):
2682         (WebInspector.TextViewerDelegate.prototype.startEditing):
2683         (WebInspector.TextViewerDelegate.prototype.endEditing):
2684         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
2685         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
2686         * inspector/front-end/inspector.html:
2687
2688 2011-04-08  Leandro Gracia Gil  <leandrogracia@chromium.org>
2689
2690         Reviewed by Steve Block.
2691
2692         Media Stream API: add the getUserMedia method and the Javascript bindings.
2693         https://bugs.webkit.org/show_bug.cgi?id=56586
2694
2695         Add the getUserMedia method to the navigator and its new Javascript types.
2696         Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication
2697
2698         Tests: fast/dom/MediaStream/argument-types.html
2699                fast/dom/MediaStream/enabled.html
2700                fast/dom/MediaStream/no-interface-object.html
2701
2702         * Android.derived.jscbindings.mk:
2703         * Android.derived.v8bindings.mk:
2704         * Android.v8bindings.mk:
2705         * CMakeLists.txt:
2706         * CodeGenerators.pri:
2707         * DerivedSources.cpp:
2708         * DerivedSources.make:
2709         * GNUmakefile.list.am:
2710         * WebCore.gypi:
2711         * WebCore.pro:
2712         * WebCore.vcproj/WebCore.vcproj:
2713         * WebCore.xcodeproj/project.pbxproj:
2714         * bindings/js/JSNavigatorCustom.cpp:
2715         (WebCore::JSNavigator::webkitGetUserMedia):
2716         * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
2717         (WebCore::V8Navigator::webkitGetUserMediaCallback):
2718         * page/Navigator.cpp:
2719         (WebCore::Navigator::webkitGetUserMedia):
2720         * page/Navigator.h:
2721         * page/Navigator.idl:
2722         * page/NavigatorUserMediaError.h: Added.
2723         (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
2724         (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
2725         (WebCore::NavigatorUserMediaError::code):
2726         * page/NavigatorUserMediaError.idl: Added.
2727         * page/NavigatorUserMediaErrorCallback.h: Added.
2728         (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
2729         * page/NavigatorUserMediaErrorCallback.idl: Added.
2730         * page/NavigatorUserMediaSuccessCallback.h: Added.
2731         (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
2732         * page/NavigatorUserMediaSuccessCallback.idl: Added.
2733
2734 2011-04-08  Mikhail Naganov  <mnaganov@chromium.org>
2735
2736         Reviewed by Pavel Feldman.
2737
2738         Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI.
2739         https://bugs.webkit.org/show_bug.cgi?id=58010
2740         https://bugs.webkit.org/show_bug.cgi?id=58011
2741
2742         Added tests for "Containment" view. Minor refactorings, bugs fixed.
2743         Split one large tests into smaller ones to avoid timing out in debug mode.
2744
2745         Tests: inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html
2746                inspector/profiler/detailed-heapshots-containment-show-all.html
2747                inspector/profiler/detailed-heapshots-containment-show-next.html
2748                inspector/profiler/detailed-heapshots-containment-sorting.html
2749                inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html
2750                inspector/profiler/detailed-heapshots-summary-show-all.html
2751                inspector/profiler/detailed-heapshots-summary-show-next.html
2752                inspector/profiler/detailed-heapshots-summary-sorting.html
2753
2754         * inspector/front-end/DetailedHeapshotGridNodes.js:
2755         (WebInspector.HeapSnapshotGridNode):
2756         (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
2757         (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
2758         (WebInspector.HeapSnapshotGridNode.prototype.sort):
2759         (WebInspector.HeapSnapshotGenericObjectNode):
2760         (WebInspector.HeapSnapshotObjectNode):
2761         (WebInspector.HeapSnapshotInstanceNode):
2762         (WebInspector.HeapSnapshotConstructorNode):
2763         (WebInspector.HeapSnapshotDiffNode):
2764         (WebInspector.HeapSnapshotDominatorObjectNode):
2765         * inspector/front-end/DetailedHeapshotView.js:
2766         (WebInspector.HeapSnapshotContainmentDataGrid):
2767         (WebInspector.HeapSnapshotDominatorsDataGrid):
2768
2769 2011-04-08  Andrey Adaikin  <aandrey@google.com>
2770
2771         Reviewed by Pavel Feldman.
2772
2773         Web Inspector: Bugs in some corner cases in the text editor
2774         https://bugs.webkit.org/show_bug.cgi?id=58025
2775
2776         This solves the following bugs:
2777         1) The very last _empty_ line would not be deleted if you hit a Backspace on it, or the selection text to be deleted is extended to the very bottom of the editor.
2778         2) An odd corner case: delete all source code from the editor, hit backspace on the only empty line, then add a character. In this case the browser will insert a TEXT node instead of a DIV node for a lineRow.
2779
2780         * inspector/front-end/TextViewer.js:
2781         (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
2782         (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
2783         (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
2784         (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
2785         (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
2786
2787 2011-04-07  Pavel Podivilov  <podivilov@chromium.org>
2788
2789         Reviewed by Pavel Feldman.
2790
2791         Web Inspector: add test for script formatter worker.
2792         https://bugs.webkit.org/show_bug.cgi?id=57447
2793
2794         Test: inspector/debugger/script-formatter.html
2795
2796         * GNUmakefile.am:
2797         * WebCore.xcodeproj/project.pbxproj:
2798         * gyp/streamline-inspector-source.sh:
2799         * inspector/front-end/DebuggerPresentationModel.js:
2800         (WebInspector.DebuggerPresentationModel.prototype._addScript):
2801         (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
2802         (WebInspector.DebuggerPresentationModel.prototype._formatter):
2803         * inspector/front-end/ScriptFormatterWorker.js:
2804
2805 2011-04-08  Andrey Adaikin  <aandrey@google.com>
2806
2807         Reviewed by Pavel Feldman.
2808
2809         Web Inspector: Tweak dynamically constants for the async highlighting in text editor
2810         https://bugs.webkit.org/show_bug.cgi?id=58035
2811
2812         * inspector/front-end/TextViewer.js:
2813         (WebInspector.TextEditorMainPanel.prototype._expandChunks):
2814         (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
2815         (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
2816         (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
2817         (WebInspector.TextEditorMainPanel.prototype._adjustPaintLinesOperationsRefreshValue):
2818
2819 2011-04-08  Andrey Kosyakov  <caseq@chromium.org>
2820
2821         Reviewed by Yury Semikhatsky.
2822
2823         Web Inspector: HAR compliance fixes
2824         https://bugs.webkit.org/show_bug.cgi?id=58124
2825
2826         - Always provide some values for queryString and cookies, even though arrays may be empty
2827         - Always provide an empty cache object
2828         - Added entire HARLog to test
2829         - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms)
2830
2831         * inspector/front-end/HAREntry.js:
2832         (WebInspector.HAREntry.prototype.build):
2833         (WebInspector.HAREntry.prototype._buildRequest):
2834         (WebInspector.HAREntry.prototype._buildResponse):
2835
2836 2011-04-08  Adam Barth  <abarth@webkit.org>
2837
2838         Attempt to fix the Qt build.
2839
2840         * css/CSSStyleApplyProperty.cpp:
2841
2842 2011-04-07  Adam Barth  <abarth@webkit.org>
2843
2844         Reviewed by Eric Seidel.
2845
2846         Refactor WebCore/GNUMakefile.am to separate list of files
2847         https://bugs.webkit.org/show_bug.cgi?id=58116
2848
2849         This change is similar to the cooresponding to change to
2850         JavaScriptCore.  We hope to generate GNUmakefile.list.am automatically
2851         using GYP.
2852
2853         * GNUmakefile.am:
2854         * GNUmakefile.list.am: Added.
2855
2856 2011-04-07  Geoffrey Garen  <ggaren@apple.com>
2857
2858         Not reviewed.
2859
2860         Rolled out some accidentally-committed changes in my last commit.
2861
2862         * dom/EventTarget.cpp:
2863         (WebCore::EventTarget::addEventListener):
2864         (WebCore::EventTarget::removeEventListener):
2865         * dom/EventTarget.h:
2866
2867 2011-04-07  Julien Chaffraix  <jchaffraix@codeaurora.org>
2868
2869         Reviewed by Alexey Proskuryakov.
2870
2871         EventSource should only accept UTF-8 charset
2872         https://bugs.webkit.org/show_bug.cgi?id=56942
2873
2874         Following the discussion on bug 45372, this change implements the recommended
2875         way of handling "charset". We only accept UTF-8 but no other encoding. This matches
2876         the encoding of the EventSource and also may fix TomCat that automatically send this
2877         charset.
2878
2879         * page/EventSource.cpp:
2880         (WebCore::EventSource::didReceiveResponse): We now check the charset attribute and if it is
2881         not UTF-8, abort the connection and log the error to the console. Also we log if the MIME type
2882         is wrong to the console to help debugging (only in the case of an HTTP 200 response though).
2883
2884 2011-04-07  Geoffrey Garen  <ggaren@apple.com>
2885
2886         Reviewed by Maciej Stachowiak.
2887
2888         Some Handle<T> cleanup
2889         https://bugs.webkit.org/show_bug.cgi?id=58109
2890
2891         * bindings/js/ScriptValue.h:
2892         (WebCore::ScriptValue::ScriptValue): Updated for new null constructor.
2893         (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty().
2894
2895 2011-04-07  Dominic Cooney  <dominicc@google.com>
2896
2897         Reviewed by Dimitri Glazkov.
2898
2899         Let shadow DOM have a list of nodes at the top level of a shadow.
2900         https://bugs.webkit.org/show_bug.cgi?id=57813
2901
2902         Adds ShadowRoot, a list of nodes, to be a parent for top-level
2903         shadow children. Forwards rendering through the root and into the
2904         host's renderer.
2905
2906         Covered by existing tests of elements that use this style of shadow.
2907
2908         * Android.mk: add ShadowRoot.h/cpp
2909         * CMakeLists.txt:
2910         * GNUmakefile.am:
2911         * WebCore.exp.in:
2912         * WebCore.gypi:
2913         * WebCore.pro:
2914         * WebCore.vcproj/WebCore.vcproj:
2915         * WebCore.xcodeproj/project.pbxproj:
2916         * css/CSSStyleSelector.cpp:
2917         (WebCore::CSSStyleSelector::initForStyleResolve): proxy style to host
2918         * dom/ContainerNode.cpp: parent nodes that are shadow roots are alive
2919         (WebCore::ContainerNode::insertBefore):
2920         (WebCore::ContainerNode::replaceChild):
2921         (WebCore::ContainerNode::removeChild):
2922         (WebCore::ContainerNode::appendChild):
2923         * dom/DocumentFragment.cpp:
2924         (WebCore::DocumentFragment::DocumentFragment):
2925         * dom/DocumentFragment.h:
2926         * dom/Element.cpp:
2927         (WebCore::Element::recalcStyle): look through ShadowRoots for host's style
2928         (WebCore::Element::shadowRoot): should be const
2929         (WebCore::Element::ensureShadowRoot): simpler than setShadowRoot
2930         * dom/Element.h:
2931         * dom/ElementRareData.h:
2932         * dom/Node.cpp:
2933         (WebCore::Node::parentNodeForRenderingAndStyle): indirection so
2934           ShadowRoot can forward to the host's renderer
2935         (WebCore::Node::createRendererAndStyle):
2936         (WebCore::Node::createRendererIfNeeded):
2937         * dom/Node.h:
2938         (WebCore::Node::isShadowBoundary): temporary, to differentiate
2939           old- and new-style, until all roots are ShadowRoot instances
2940         * dom/ShadowRoot.cpp: Added.
2941         (WebCore::ShadowRoot::ShadowRoot):
2942         (WebCore::ShadowRoot::recalcStyle): forward recalc to children
2943         * dom/ShadowRoot.h: Added.
2944         (WebCore::ShadowRoot::isShadowBoundary):
2945         (WebCore::ShadowRoot::create):
2946         * html/HTMLKeygenElement.cpp: use ensureShadowRoot
2947         (WebCore::HTMLKeygenElement::HTMLKeygenElement):
2948         (WebCore::HTMLKeygenElement::parseMappedAttribute):
2949         (WebCore::HTMLKeygenElement::appendFormData):
2950         (WebCore::HTMLKeygenElement::reset):
2951         (WebCore::HTMLKeygenElement::shadowSelect):
2952         * html/HTMLKeygenElement.h:
2953         * html/HTMLMeterElement.cpp: use ensureShadowRoot
2954         (WebCore::HTMLMeterElement::createShadowSubtree):
2955         * html/HTMLProgressElement.cpp: use ensureShadowRoot
2956         (WebCore::HTMLProgressElement::createShadowSubtree):
2957         * html/InputType.cpp: use ensureShadowRoot
2958         (WebCore::InputType::destroyShadowSubtree):
2959         * html/RangeInputType.cpp: use ensureShadowRoot
2960         (WebCore::RangeInputType::handleMouseDownEvent):
2961         (WebCore::RangeInputType::createShadowSubtree):
2962         (WebCore::RangeInputType::valueChanged):
2963         (WebCore::RangeInputType::shadowSliderThumb):
2964         * html/RangeInputType.h:
2965         * html/ValidationMessage.cpp: use ensureShadowRoot
2966         (WebCore::ValidationMessage::buildBubbleTree):
2967         (WebCore::ValidationMessage::deleteBubbleTree):
2968         * html/shadow/SliderThumbElement.cpp:
2969         (WebCore::SliderThumbElement::setPositionFromPoint):
2970         (WebCore::SliderThumbElement::hostInput):
2971         * html/shadow/SliderThumbElement.h:
2972         * rendering/MediaControlElements.cpp: use ensureShadowRoot
2973         (WebCore::MediaControlInputElement::attach):
2974         (WebCore::MediaControlInputElement::updateStyle):
2975         * rendering/RenderSlider.cpp: use ensureShadowRoot
2976         (WebCore::RenderSlider::thumbRect):
2977         (WebCore::RenderSlider::layout):
2978         (WebCore::RenderSlider::shadowSliderThumb):
2979         (WebCore::RenderSlider::inDragMode):
2980         * rendering/RenderSlider.h:
2981
2982 2011-04-07  Maciej Stachowiak  <mjs@apple.com>
2983
2984         Reviewed by Simon Fraser.
2985
2986         REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/
2987         https://bugs.webkit.org/show_bug.cgi?id=56297
2988         <rdar://problem/9131597>
2989
2990         Test: fast/css-generated-content/table-row-after-no-crash.html
2991
2992         * rendering/RenderTableRow.cpp:
2993         (WebCore::RenderTableRow::styleDidChange): Factor out generation of before/after
2994         content, and only do it if the row already has a parent. For construction of
2995         anonymous cells to work correctly, the row needs to already have a parent, so
2996         in that case wait a bit.
2997         (WebCore::RenderTableRow::updateBeforeAndAfterContent): Factored out to here.
2998         * rendering/RenderTableRow.h:
2999         * rendering/RenderTableSection.cpp:
3000         (WebCore::RenderTableSection::addChild): When adding a row, update its
3001         before/after content, in case it had any.
3002
3003 2011-04-07  Beth Dakin  <bdakin@apple.com>
3004
3005         Reviewed by Simon Fraser.
3006
3007         Probable fix for <rdar://problem/9251443>  Crashing on exception: -
3008         [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized 
3009         selector sent to instance ADDRESS.
3010
3011        Need to implement new delegate method.
3012         * platform/mac/ScrollAnimatorMac.mm:
3013         (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
3014
3015 2011-04-07  Ian Henderson  <ianh@apple.com>
3016
3017         Reviewed by Simon Fraser.
3018
3019         Optimize filling rounded rects that are actually ellipses
3020         https://bugs.webkit.org/show_bug.cgi?id=58098
3021
3022         In CG, drawing an ellipse directly is faster than constructing and
3023         filling a rounded rect path.  Detect when the given rounded rect is
3024         actually an ellipse and draw it directly in this case.
3025
3026         * platform/graphics/cg/GraphicsContextCG.cpp:
3027         (WebCore::GraphicsContext::fillRoundedRect):
3028
3029 2011-04-07  Ned Holbrook  <nholbrook@apple.com>
3030
3031         Reviewed by Dan Bernstein.
3032
3033         CTLine objects should outlive their CTRuns
3034         https://bugs.webkit.org/show_bug.cgi?id=58063
3035
3036         * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns.
3037         * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
3038         (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun.
3039         (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines.
3040
3041 2011-04-07  Nat Duca  <nduca@chromium.org>
3042
3043         Reviewed by David Levin.
3044
3045         [chromium] Compositor thread infrastructure
3046         https://bugs.webkit.org/show_bug.cgi?id=56131
3047
3048         Introduce chrome compositor thread and related
3049         infrastructure.
3050
3051         * WebCore.gypi:
3052         * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
3053         (WebCore::CCMainThread::performTask):
3054         (WebCore::CCMainThread::postTask):
3055         * platform/graphics/chromium/cc/CCMainThread.h: Added.
3056         (WebCore::CCMainThread::Task::~Task):
3057         (WebCore::CCMainThread::Task::instance):
3058         (WebCore::CCMainThread::Task::Task):
3059         * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
3060         (WebCore::MainThreadTask0::create):
3061         (WebCore::MainThreadTask0::MainThreadTask0):
3062         (WebCore::MainThreadTask0::performTask):
3063         (WebCore::MainThreadTask1::create):
3064         (WebCore::MainThreadTask1::MainThreadTask1):
3065         (WebCore::MainThreadTask1::performTask):
3066         (WebCore::MainThreadTask2::create):
3067         (WebCore::MainThreadTask2::MainThreadTask2):
3068         (WebCore::MainThreadTask2::performTask):
3069         (WebCore::MainThreadTask3::create):
3070         (WebCore::MainThreadTask3::MainThreadTask3):
3071         (WebCore::MainThreadTask3::performTask):
3072         (WebCore::createMainThreadTask):
3073         * platform/graphics/chromium/cc/CCThread.cpp: Added.
3074         (WebCore::CCThread::create):
3075         (WebCore::CCThread::CCThread):
3076         (WebCore::CCThread::~CCThread):
3077         (WebCore::CCThread::postTask):
3078         (WebCore::CCThread::compositorThreadStart):
3079         (WebCore::CCThread::runLoop):
3080         * platform/graphics/chromium/cc/CCThread.h: Added.
3081         (WebCore::CCThread::Task::~Task):
3082         (WebCore::CCThread::Task::instance):
3083         (WebCore::CCThread::Task::Task):
3084         (WebCore::CCThread::threadID):
3085         (WebCore::CCCompletionEvent::CCCompletionEvent):
3086         (WebCore::CCCompletionEvent::~CCCompletionEvent):
3087         (WebCore::CCCompletionEvent::wait):
3088         (WebCore::CCCompletionEvent::signal):
3089         * platform/graphics/chromium/cc/CCThreadTask.h: Added.
3090         (WebCore::CCThreadTask0::create):
3091         (WebCore::CCThreadTask0::CCThreadTask0):
3092         (WebCore::CCThreadTask0::performTask):
3093         (WebCore::CCThreadTask1::create):
3094         (WebCore::CCThreadTask1::CCThreadTask1):
3095         (WebCore::CCThreadTask1::performTask):
3096         (WebCore::CCThreadTask2::create):
3097         (WebCore::CCThreadTask2::CCThreadTask2):
3098         (WebCore::CCThreadTask2::performTask):
3099         (WebCore::CCThreadTask3::create):
3100         (WebCore::CCThreadTask3::CCThreadTask3):
3101         (WebCore::CCThreadTask3::performTask):
3102         (WebCore::createCCThreadTask):
3103
3104 2011-04-07  Ryosuke Niwa  <rniwa@webkit.org>
3105
3106         Reviewed by Eric Seidel.
3107
3108         REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
3109         https://bugs.webkit.org/show_bug.cgi?id=57872
3110
3111         r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
3112         because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
3113
3114         r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
3115         avoiding the tab span.
3116
3117         Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
3118         Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when
3119         we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block
3120         before moving the nodes.
3121
3122         Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html
3123                editing/inserting/insert-paragraph-separator-tab-span.html
3124
3125         * editing/DeleteSelectionCommand.cpp:
3126         (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span,
3127         no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor.
3128         * editing/EditingStyle.cpp:
3129         (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
3130         * editing/InsertParagraphSeparatorCommand.cpp:
3131         (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
3132         separator into a paragraph separator.
3133         * editing/htmlediting.cpp:
3134         (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent
3135         node after the tab span if the position was at the end of the tab span.
3136         * editing/htmlediting.h:
3137
3138 2011-04-07  Jia Pu  <jpu@apple.com>
3139
3140         Reviewed by Darin Adler.
3141
3142         [Mac] Editor::setComposition() should not trigger correction panel timer.
3143         https://bugs.webkit.org/show_bug.cgi?id=58049
3144          <rdar://problem/9226305>
3145
3146         On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input)
3147         should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand. 
3148         When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand().
3149         m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition().
3150
3151         No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing
3152         autocorrection panel timer, which can not be easily done in automated fashion.
3153
3154         * editing/Editor.cpp:
3155         (WebCore::Editor::deleteWithDirection):
3156         (WebCore::Editor::insertTextWithoutSendingTextEvent):
3157         (WebCore::Editor::confirmComposition):
3158         (WebCore::Editor::setComposition):
3159         * editing/EditorCommand.cpp:
3160         (WebCore::executeDelete):
3161         * editing/TypingCommand.cpp:
3162         (WebCore::TypingCommand::TypingCommand):
3163         (WebCore::TypingCommand::deleteSelection):
3164         (WebCore::TypingCommand::deleteKeyPressed):
3165         (WebCore::TypingCommand::forwardDeleteKeyPressed):
3166         (WebCore::TypingCommand::insertText):
3167         (WebCore::TypingCommand::insertLineBreak):
3168         (WebCore::TypingCommand::insertParagraphSeparator):
3169         (WebCore::TypingCommand::typingAddedToOpenCommand):
3170         * editing/TypingCommand.h:
3171         (WebCore::TypingCommand::create):
3172         (WebCore::TypingCommand::setShouldPreventSpellChecking):
3173
3174 2011-04-07  John Bauman  <jbauman@chromium.org>
3175
3176         Reviewed by Kenneth Russell.
3177
3178         clearIfComposited call is really slow
3179         https://bugs.webkit.org/show_bug.cgi?id=57999
3180
3181         Move getContextAttributes call after the if, so it isn't called nearly as often.
3182
3183         No new tests.
3184
3185         * html/canvas/WebGLRenderingContext.cpp:
3186         (WebCore::WebGLRenderingContext::clearIfComposited):
3187
3188 2011-04-07  Luke Macpherson   <macpherson@chromium.org>
3189
3190         Reviewed by Dimitri Glazkov.
3191
3192         Implement Backgroun and Mask properties in CSSStyleApplyProperty
3193         https://bugs.webkit.org/show_bug.cgi?id=57922
3194
3195         No tests added as no behavioral changes.
3196
3197         * css/CSSStyleApplyProperty.cpp:
3198         Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties.
3199         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
3200         Added constructor calls to set up:
3201           CSSPropertyBackgroundAttachment
3202           CSSPropertyBackgroundClip
3203           CSSPropertyWebkitBackgroundClip
3204           CSSPropertyWebkitBackgroundComposite
3205           CSSPropertyBackgroundOrigin
3206           CSSPropertyWebkitBackgroundOrigin
3207           CSSPropertyBackgroundSize
3208           CSSPropertyWebkitBackgroundSize
3209           CSSPropertyWebkitMaskAttachment
3210           CSSPropertyWebkitMaskClip
3211           CSSPropertyWebkitMaskComposite
3212           CSSPropertyWebkitMaskOrigin
3213           CSSPropertyWebkitMaskSize
3214         * css/CSSStyleApplyProperty.h:
3215         (WebCore::CSSStyleApplyProperty::setPropertyValue):
3216         Add function to specify an equivalent property value in the lookup table.
3217         * css/CSSStyleSelector.cpp:
3218         (WebCore::CSSStyleSelector::applyProperty):
3219         Remove sections now implemented by CSSStyleApplyProperty.
3220         * css/CSSStyleSelector.h:
3221         Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible.
3222
3223 2011-04-04  Eric Seidel  <eric@webkit.org>
3224
3225         Reviewed by Ryosuke Niwa.
3226
3227         Split run storage out from BidiResolver into a new BidiRunList class
3228         https://bugs.webkit.org/show_bug.cgi?id=57764
3229
3230         Part of what makes BidiResolver and InlineIterator so difficult to understand
3231         (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine
3232         for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting
3233         BidiRuns from the algorithm.  This patch breaks the storage aspect off
3234         into its own class BidiRunList.
3235
3236         This patch is only a start.  It does not actually fix the problematic ownership
3237         relationship, but it does make it possible to fix such in a second patch.
3238
3239         The run pointers and addRun/prependRun, etc. were already a tightly coupled
3240         logical subset of the BidiResolver class, so moving them into their own class
3241         was both obvious and easy.  The only piece of logic I had to move was that
3242         deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver.
3243
3244         I believe this deleteRuns side-effect was only ever used for one place
3245         (right after findNextLineBreak) and that it's only needed because
3246         findNextLineBreak can sometimes create bidi runs.  Run creation appears to be
3247         an unintentional side-effect of how InlineIterator calls through to BidiResolver
3248         as part of bidiNext and not a desired effect of the code.  I have added the call
3249         to markCurrentRunEmpty to both places deleteRuns was called (where the resolver
3250         could get re-used) as a safety precaution.  We could replace both with ASSERTs
3251         in a later patch.
3252
3253         I suspect there may be a small performance win from further refactoring so that
3254         findNextLineBreak does not need to create BidiRuns.
3255
3256         As I commented in the code, callers should own their own BidiRunList which they
3257         pass to BidiResolver::createBidiRunsForLine.  I attempted to implement that in
3258         an earlier version of this patch, but it was too complicated with the current
3259         twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver.
3260         raise/lowerExplicitEmbeddingLevel are called unconditionally
3261         from commitExplicitEmbedding (which is called by bidiNext) and expect to have
3262         access to a runs list even in cases where we don't want any runs (findNextLineBreak).
3263
3264         I also cleaned up some of the callers to pass around BidiRunList objects instead
3265         of InlineBidiResolvers now that they're separate objects.
3266
3267         * GNUmakefile.am:
3268         * WebCore.gypi:
3269         * WebCore.pro:
3270         * WebCore.vcproj/WebCore.vcproj:
3271         * WebCore.xcodeproj/project.pbxproj:
3272         * platform/graphics/GraphicsContext.cpp:
3273         (WebCore::GraphicsContext::drawBidiText):
3274         * platform/text/BidiResolver.h:
3275         (WebCore::BidiResolver::BidiResolver):
3276         (WebCore::BidiResolver::runs):
3277         (WebCore::BidiResolver::markCurrentRunEmpty):
3278         (WebCore::::appendRun):
3279         (WebCore::::lowerExplicitEmbeddingLevel):
3280         (WebCore::::raiseExplicitEmbeddingLevel):
3281         (WebCore::::reorderRunsFromLevels):
3282         (WebCore::::createBidiRunsForLine):
3283         * rendering/InlineIterator.h:
3284         (WebCore::InlineBidiResolver::appendRun):
3285         * rendering/RenderBlock.h:
3286         * rendering/RenderBlockLineLayout.cpp:
3287         (WebCore::createRun):
3288         (WebCore::RenderBlock::appendRunsForObject):
3289         (WebCore::reachedEndOfTextRenderer):
3290         (WebCore::RenderBlock::handleTrailingSpaces):
3291         (WebCore::RenderBlock::layoutInlineChildren):
3292
3293 2011-04-07  Naoki Takano  <takano.naoki@gmail.com>
3294
3295         Reviewed by Adam Barth.
3296
3297         [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner.
3298         https://bugs.webkit.org/show_bug.cgi?id=57911
3299         http://code.google.com/p/chromium/issues/detail?id=78073
3300
3301         Manual test added: manual-tests/autofill-popup-location.html
3302
3303         Originally only height is checked so that it introduces the bug.
3304         So I changed it to check both width and height as size.
3305
3306         * manual-tests/autofill-popup-location.html: Added.
3307         * platform/chromium/PopupMenuChromium.cpp:
3308         (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect().
3309
3310 2011-04-07  Adam Barth  <abarth@webkit.org>
3311
3312         Reviewed by Eric Seidel.
3313
3314         Implement img-src style-src and font-src
3315         https://bugs.webkit.org/show_bug.cgi?id=58018
3316
3317         These are pretty straight forward given the rest of the infrastructure
3318         we've built so far.
3319
3320         Tests: http/tests/security/contentSecurityPolicy/image-allowed.html
3321                http/tests/security/contentSecurityPolicy/image-blocked.html
3322                http/tests/security/contentSecurityPolicy/style-allowed.html
3323                http/tests/security/contentSecurityPolicy/style-blocked.html
3324                http/tests/security/contentSecurityPolicy/xsl-allowed.php
3325                http/tests/security/contentSecurityPolicy/xsl-blocked.php
3326
3327         * loader/cache/CachedResourceLoader.cpp:
3328         (WebCore::CachedResourceLoader::canRequest):
3329         * page/ContentSecurityPolicy.cpp:
3330         (WebCore::ContentSecurityPolicy::allowImageFromSource):
3331         (WebCore::ContentSecurityPolicy::allowStyleFromSource):
3332         (WebCore::ContentSecurityPolicy::allowFontFromSource):
3333         (WebCore::ContentSecurityPolicy::addDirective):
3334         * page/ContentSecurityPolicy.h:
3335
3336 2011-04-07  David Levin  <levin@chromium.org>
3337
3338         Reviewed by Darin Adler.
3339
3340         Make IconSnapshot and PageURLRecord member variables private.
3341         https://bugs.webkit.org/show_bug.cgi?id=58080
3342
3343         No change in functionality so no new tests.
3344
3345         * loader/icon/IconDatabase.cpp:
3346         (WebCore::IconDatabase::writeToDatabase): Changed to used the accessor functions.
3347         (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): Ditto.
3348         * loader/icon/IconRecord.h:
3349         (WebCore::IconSnapshot::IconSnapshot): Changed to use the new member variable names.
3350         (WebCore::IconSnapshot::iconURL): Expose the property.
3351         (WebCore::IconSnapshot::timestamp): Ditto.
3352         (WebCore::IconSnapshot::data): Ditto.
3353         * loader/icon/PageURLRecord.h:
3354         (WebCore::PageURLSnapshot::PageURLSnapshot): Changed to use the new member variable names.
3355         (WebCore::PageURLSnapshot::pageURL): Expose the property.
3356         (WebCore::PageURLSnapshot::iconURL): Ditto.
3357
3358 2011-04-07  Dan Bernstein  <mitz@apple.com>
3359
3360         Build fix.
3361
3362         * platform/graphics/cairo/GraphicsContextCairo.cpp:
3363         (WebCore::GraphicsContext::roundToDevicePixels):
3364
3365 2011-04-07  Eric Seidel  <eric@webkit.org>
3366
3367         Reviewed by Adam Barth.
3368
3369         Add stub support for generating Gtk build system from gyp
3370         https://bugs.webkit.org/show_bug.cgi?id=58086
3371
3372         This does not produce a buildable WebCore, but it
3373         does allow running gyp/configure --port=gtk and having
3374         it generate a gtk.Makefile which we can use for testing
3375         the rest of the plumbing.
3376
3377         * gyp/gtk.gyp: Added.
3378
3379 2011-04-07  David Hyatt  <hyatt@apple.com>
3380
3381         Reviewed by Dan Bernstein.
3382
3383         https://bugs.webkit.org/show_bug.cgi?id=57736
3384         
3385         Crash on openstreetmap.org while using the map. Fix a bad interaction between the positioned movement layout
3386         optimization and the simplified layout optimization that could lead to blocks remaining marked as dirty when
3387         layout finished. This would eventually lead to an inability to properly determine the correct layout root and
3388         would cause a deleted root to be used later on.
3389
3390         Added fast/block/positioning/complex-positioned-movement.html.
3391
3392         * page/FrameView.cpp:
3393         (WebCore::FrameView::scheduleRelayoutOfSubtree):
3394         Add asserts to catch cases in the future where a layout root is set that has a dirty containing block.
3395     
3396         * rendering/RenderBlock.cpp:
3397         (WebCore::RenderBlock::simplifiedLayout):
3398         Change simplified layout so that the positioned movement optimization no longer clears the other layout
3399         flags. This will ensure that we still lay out our descendants if they need it.
3400         
3401         (WebCore::RenderBlock::layoutPositionedObjects):
3402         Changed to clear our layout flags now if the positioned movement is successful, since tryLayoutDoingPositionedMovementOnly
3403         no longer does the clear.
3404     
3405         * rendering/RenderBox.h:
3406         (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
3407         tryLayoutDoingPositionedMovementOnly now returns a boolean indicating success or failure.  On success it no longer
3408         does setNeedsLayout(false), but instead will let the caller take care of it. This way the caller can still look at
3409         the other flags in case other kinds of layout are still needed.
3410     
3411         * rendering/RenderObject.h:
3412         (WebCore::RenderObject::setNeedsPositionedMovementLayout):
3413         (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
3414         Changed these methods to only set their respective flags and not to try to be clever about avoiding propagation.
3415
3416 2011-04-07  Andrew Scherkus  <scherkus@chromium.org>
3417
3418         Revert ENABLE_TRACK patch due to compile failures.
3419
3420         * CMakeLists.txt:
3421         * Configurations/FeatureDefines.xcconfig:
3422         * DerivedSources.make:
3423         * GNUmakefile.am:
3424         * WebCore.gypi:
3425         * WebCore.xcodeproj/project.pbxproj:
3426         * features.pri:
3427         * html/HTMLAttributeNames.in:
3428         * html/HTMLTagNames.in:
3429         * html/HTMLTrackElement.cpp: Removed.
3430         * html/HTMLTrackElement.h: Removed.
3431         * html/HTMLTrackElement.idl: Removed.
3432
3433 2011-04-07  Dan Bernstein  <mitz@apple.com>
3434
3435         Reviewed by Simon Fraser.
3436
3437         <rdar://problem/9018212> Underline thickness is not uniform under non-integral scale factor
3438         https://bugs.webkit.org/show_bug.cgi?id=58083
3439
3440         Test: fast/text/decorations-transformed.html
3441
3442         * platform/graphics/GraphicsContext.h: Added a RoundingMode enum with two values. RoundAllSides
3443         is the existing rounding mode, where each side of the rectangle snaps to the nearest pixel
3444         gridline. RoundOriginAndDimensions snaps the origin to the nearest pixel gridpoint and rounds
3445         the width and the height. In this new mode, translating a rectangle in user space never changes
3446         its dimensions in device pixels.
3447         * platform/graphics/cg/GraphicsContextCG.cpp:
3448         (WebCore::GraphicsContext::roundToDevicePixels): Implemented RoundOriginAndDimensions.
3449         (WebCore::GraphicsContext::drawLineForText): Use RoundOriginAndDimensions, thus ensuring that
3450         all underlines have the same thickness in device pixels.
3451         * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
3452         (WebCore::GraphicsContext::roundToDevicePixels): Added RoundingMode parameter, but did not implement it.
3453         * platform/graphics/qt/GraphicsContextQt.cpp:
3454         (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
3455         * platform/graphics/skia/GraphicsContextSkia.cpp:
3456         (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
3457         * platform/graphics/wince/GraphicsContextWinCE.cpp:
3458         (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
3459         * platform/graphics/wx/GraphicsContextWx.cpp:
3460         (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
3461         * rendering/InlineTextBox.cpp:
3462         (WebCore::InlineTextBox::paintDecoration):
3463
3464 2011-04-06  Vitaly Repeshko  <vitalyr@chromium.org>
3465
3466         Reviewed by Nate Chapin.
3467
3468         [V8] Remove custom DOMImplementation getter on Document.
3469         https://bugs.webkit.org/show_bug.cgi?id=57991
3470
3471        &n