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