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