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