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