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