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