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