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