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