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