• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
12011-05-11  Antoine Labour  <piman@chromium.org>
2
3        Reviewed by David Levin.
4
5        Expose shouldBufferData to ThreadableLoaderOptions to be able to disable buffering of the
6        loaded resource.
7        https://bugs.webkit.org/show_bug.cgi?id=60656
8
9        * loader/DocumentThreadableLoader.cpp:
10        (WebCore::DocumentThreadableLoader::loadRequest):
11        Pass the shouldBufferData to the resource load scheduler, forcing it to true for the
12        preflight request.
13        * loader/ResourceLoadScheduler.cpp:
14        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad):
15        Pass through shouldBufferData to SubresourceLoader::create
16        * loader/ResourceLoadScheduler.h:
17
18        * loader/SubresourceLoader.cpp:
19        (WebCore::SubresourceLoader::create):
20        Set shouldBufferData on the newly created loader
21
22        * loader/SubresourceLoader.h:
23
24        * loader/ThreadableLoader.h:
25        (WebCore::ThreadableLoaderOptions::ThreadableLoaderOptions):
26        Add shouldBufferData to the options, defaulting to true.
27
282011-05-11  Jay Civelli  <jcivelli@chromium.org>
29
30        Reviewed by Adam Barth.
31
32        Adding a Content-Type parser. This is needed for MHTML support.
33        https://bugs.webkit.org/show_bug.cgi?id=60637
34
35        (WebCore::ScriptController::disableEval):
36        * platform/network/ContentTypeParser.cpp: Added.
37        * platform/network/ContentTypeParser.h: Added.
38
392011-05-11  Jessie Berlin  <jberlin@apple.com>
40
41        Reviewed by Steve Falkenburg.
42
43        [Windows WebKit2] Use cookies set in WebKit1
44        https://bugs.webkit.org/show_bug.cgi?id=60274
45
46        Share the default storage session between the UI and Web Processes.
47
48        * platform/network/cf/CookieStorageCFNet.cpp:
49        (WebCore::defaultSessionCookieStorage):
50        Keep track of the default storage session cookie storage.
51        (WebCore::currentCookieStorage):
52        Call defaultCookieStorage to get the default cookie storage.
53        (WebCore::defaultCookieStorage):
54        If there is a default storage session cookie storage, prefer that over getting the default
55        cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
56        without specifying a storage session will not get the cookie storage being shared by the UI
57        and Web Processes.
58
59        * platform/network/ResourceHandle.h:
60        * platform/network/cf/ResourceHandleCFNet.cpp:
61        (WebCore::willSendRequest):
62        Make sure to set the current storage session on any requests used by the Web
63        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
64        doing anything with the Web Process's default storage session (which is not the one shared
65        with the UI Process).
66        (WebCore::makeFinalRequest):
67        Ditto.
68        (WebCore::ResourceHandle::willSendRequest):
69        Ditto.
70        (WebCore::ResourceHandle::currentStorageSession):
71        If there is a Private Browsing storage session, return that.
72        If not, on Windows return the default storage session that is being shared with the UI
73        Process and on Mac return 0.
74        (WebCore::defaultCFURLStorageSession):
75        (WebCore::ResourceHandle::setDefaultStorageSession):
76        (WebCore::ResourceHandle::defaultStorageSession):
77
78        * platform/network/cf/ResourceRequestCFNet.cpp:
79        (WebCore::ResourceRequest::doUpdatePlatformRequest):
80        Make sure to set the current storage session on any requests used by the Web
81        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
82        doing anything with the Web Process's default storage session (which is not the one shared
83        with the UI Process).
84
852011-05-11  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
86
87        Reviewed by David Kilzer.
88
89        Remove wml directory from include lists
90        https://bugs.webkit.org/show_bug.cgi?id=60646
91
92        Remove wml dir from CMake, Autotools and qmake build systems since WML
93        was removed in r85256.
94
95        No new tests since no change in functionality.
96
97        * CMakeLists.txt:
98        * GNUmakefile.am:
99        * WebCore.pri:
100
1012011-05-11  Lucas De Marchi  <lucas.demarchi@profusion.mobi>
102
103        Reviewed by Antonio Gomes.
104
105        [CMAKE] Move EFL-specific file to CMakeListsEfl.txt
106        https://bugs.webkit.org/show_bug.cgi?id=60642
107
108        Move file EFL-specific file to the CMakeListsEfl.txt file. This implies
109        having to include CMakeLists${PORT}.txt before the ADD_CUSTOM_COMMAND
110        calls, since they depend on lists that now may change inside a port
111        like WebCore_USER_AGENT_STYLE_SHEETS.
112
113        No new tests since no change in functionality.
114
115        * CMakeLists.txt: remove css file specific to EFL port.
116        * CMakeListsEfl.txt: move file here.
117
1182011-05-11  Tao Bai  <michaelbai@chromium.org>
119
120        Reviewed by David Kilzer.
121
122        Return empty Favicon URL instead of default one when the frame isn't top level one
123        https://bugs.webkit.org/show_bug.cgi?id=60527
124        This issue was discovered by chromium browser test.
125
126        * dom/Document.cpp:
127        (WebCore::Document::setIconURL):
128        Restored original logic which was inadvertently flipped by http://trac.webkit.org/changeset/85785.
129        * loader/FrameLoader.cpp:
130        (WebCore::FrameLoader::iconURLs):
131        (WebCore::FrameLoader::fillIconURL):
132        Restored original logic, the empty URL should be returned instead of default one. The client (at
133        least chromium) may rely on the returned value to decided whether the favicon should be changed.
134
1352011-05-11  Nat Duca  <nduca@chromium.org>
136
137        Reviewed by Kenneth Russell.
138
139        [chromium] Make throttling of WebGL based on webgl frames, not compositor frames
140        https://bugs.webkit.org/show_bug.cgi?id=60508
141
142        When a WebGL layer is dirtied outside of a requestAnimFrame callback, we need
143        to prevent WebGL from running too far ahead of the GPU process. The current
144        throttling mechanism relies on prepareTexture being called for every WebGL frame.
145        However, in a non-requestAnimFrame application, multiple frames might get created
146        before the compositor runs and calls prepareTexture on the surface.
147
148        To address this, we post a task that calls a special rate limiting GL extension on
149        the WebGL context after every WebGL "frame." When the compositor runs, it calls
150        prepareTexture as usual.
151
152        * platform/graphics/chromium/Extensions3DChromium.h:
153        * platform/graphics/chromium/LayerRendererChromium.cpp:
154        (WebCore::LayerRendererChromium::LayerRendererChromium):
155        * platform/graphics/chromium/LayerRendererChromium.h:
156        (WebCore::LayerRendererChromium::setIsAnimating):
157        (WebCore::LayerRendererChromium::isAnimating):
158        * platform/graphics/chromium/WebGLLayerChromium.cpp:
159        (WebCore::WebGLLayerChromiumRateLimitTask::WebGLLayerChromiumRateLimitTask):
160        (WebCore::WebGLLayerChromiumRateLimitTask::run):
161        (WebCore::WebGLLayerChromiumRateLimitTask::cancel):
162        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
163        (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
164        (WebCore::WebGLLayerChromium::setTextureUpdated):
165        (WebCore::WebGLLayerChromium::setContext):
166        * platform/graphics/chromium/WebGLLayerChromium.h:
167        (WebCore::WebGLLayerChromium::context):
168
1692011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
170
171        Reviewed by Kenneth Rohde Christiansen.
172
173        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
174        https://bugs.webkit.org/show_bug.cgi?id=60439
175
176        Patch 12/12: Enable accelerated animations in texture-mapper. The entire interpolation
177        mechanism happens inside TextureMapper, and we interpolate right before we paint.
178
179        No new tests. Tests in LayoutTests/compositing cover this.
180
181        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
182        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
183        (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
184        (WebCore::GraphicsLayerTextureMapper::addAnimation):
185        (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
186        (WebCore::GraphicsLayerTextureMapper::removeAnimation):
187        (WebCore::GraphicsLayerTextureMapper::animationStartedTimerFired):
188        * platform/graphics/texmap/TextureMapperNode.cpp:
189        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
190        (WebCore::normalizedAnimationValue):
191        (WebCore::TextureMapperNode::applyOpacityAnimation):
192        (WebCore::solveEpsilon):
193        (WebCore::solveCubicBezierFunction):
194        (WebCore::solveStepsFunction):
195        (WebCore::applyTimingFunction):
196        (WebCore::TextureMapperNode::applyTransformAnimation):
197        (WebCore::TextureMapperNode::applyAnimationFrame):
198        (WebCore::TextureMapperNode::applyAnimation):
199        (WebCore::TextureMapperNode::hasRunningOpacityAnimation):
200        (WebCore::TextureMapperNode::hasRunningTransformAnimation):
201        (WebCore::TextureMapperNode::syncAnimations):
202        (WebCore::copyTimingFunction):
203        (WebCore::copyAnimationValue):
204        (WebCore::TextureMapperAnimation::TextureMapperAnimation):
205        * platform/graphics/texmap/TextureMapperNode.h:
206        (WebCore::TextureMapperAnimation::create):
207
2082011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
209
210        Reviewed by Kenneth Rohde Christiansen.
211
212        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
213        https://bugs.webkit.org/show_bug.cgi?id=60439
214
215        Patch 11/12: Patch PluginView to build with TextureMapper on Linux.
216
217        No new tests. This is a build fix.
218
219        * platform/qt/QWebPageClient.h:
220        (QWebPageClient::setRootGraphicsLayer):
221
2222011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
223
224        Reviewed by Kenneth Rohde Christiansen.
225
226        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
227        https://bugs.webkit.org/show_bug.cgi?id=60439
228
229        Patch 10/12: Glue the TextureMapper refactoring into Webkit(1).
230        Pass a GraphicsLayer* instead of a PlatformLayer* to the QWebPageClient.
231
232        No new tests. Tests in LayoutTests/compositing cover this.
233
234        * platform/qt/QWebPageClient.h:
235        (QWebPageClient::setRootGraphicsLayer):
236
2372011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
238
239        Reviewed by Kenneth Rohde Christiansen.
240
241        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
242        https://bugs.webkit.org/show_bug.cgi?id=60439
243
244        Patch 9/12: Refactor TextureMapperNode for performance, readability and accuracy.
245        Changes include:
246        1. Support the new TextureMapperPlatformLayer for media & WebGL.
247        2. Use a pool for intermediate surfaces, to avoid constant allocating/freeing of textures.
248        3. Divide computation operations to different smaller functions.
249        4. Get rid of scissor/clip layers, use transformed clip instead.
250        5. Allow tiling for big layers.
251
252        No new tests. Tests in LayoutTests/compositing cover this.
253
254        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
255        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
256        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
257        (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
258        (WebCore::GraphicsLayerTextureMapper::platformLayer):
259        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
260        (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
261        (WebCore::GraphicsLayerTextureMapper::setContentsToCanvas):
262        (WebCore::GraphicsLayerTextureMapper::node):
263        * platform/graphics/texmap/TextureMapperNode.cpp:
264        (WebCore::TextureMapperSurfaceManager::getIntermediateSurface):
265        (WebCore::TextureMapperSurfaceManager::releaseIntermediateSurface):
266        (WebCore::toTextureMapperNode):
267        (WebCore::TextureMapperNode::rootLayer):
268        (WebCore::TextureMapperNode::setTransform):
269        (WebCore::TextureMapperNode::computePerspectiveTransformIfNeeded):
270        (WebCore::TextureMapperNode::countDescendantsWithContent):
271        (WebCore::TextureMapperNode::computeOverlapsIfNeeded):
272        (WebCore::TextureMapperNode::computeReplicaTransformIfNeeded):
273        (WebCore::TextureMapperNode::computeLocalTransformIfNeeded):
274        (WebCore::TextureMapperNode::needsToComputeBoundingRect):
275        (WebCore::TextureMapperNode::computeAllTransforms):
276        (WebCore::TextureMapperNode::computeBoundingRectFromRootIfNeeded):
277        (WebCore::TextureMapperNode::computeTiles):
278        (WebCore::TextureMapperNode::computeVisibleRectIfNeeded):
279        (WebCore::TextureMapperNode::renderContent):
280        (WebCore::TextureMapperNode::paint):
281        (WebCore::TextureMapperNode::targetRectForTileRect):
282        (WebCore::TextureMapperNode::paintSelf):
283        (WebCore::TextureMapperNode::compareGraphicsLayersZValue):
284        (WebCore::TextureMapperNode::sortByZOrder):
285        (WebCore::TextureMapperNode::paintSelfAndChildren):
286        (WebCore::TextureMapperNode::paintReflection):
287        (WebCore::TextureMapperNode::paintRecursive):
288        (WebCore::TextureMapperNode::~TextureMapperNode):
289        (WebCore::TextureMapperNode::resetDescendants):
290        (WebCore::TextureMapperNode::setContentScale):
291        (WebCore::TextureMapperNode::setVisibleRect):
292        (WebCore::TextureMapperNode::syncCompositingState):
293        (WebCore::TextureMapperNode::invalidateOverlaps):
294        (WebCore::TextureMapperNode::syncCompositingStateSelf):
295        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
296        * platform/graphics/texmap/TextureMapperNode.h:
297        (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
298        (WebCore::TextureMapperAnimation::create):
299        (WebCore::TextureMapperNode::TextureMapperNode):
300        (WebCore::TextureMapperNode::size):
301        (WebCore::TextureMapperNode::setOpacity):
302        (WebCore::TextureMapperNode::setTextureMapper):
303        (WebCore::TextureMapperNode::media):
304        (WebCore::TextureMapperNode::texture):
305        (WebCore::TextureMapperNode::targetRect):
306        (WebCore::TextureMapperNode::entireRect):
307        (WebCore::TextureMapperNode::contentSize):
308        (WebCore::TextureMapperNode::State::State):
309        (WebCore::deleteOwnedPtr):
310
3112011-05-07  Noam Rosenthal  <noam.rosenthal@nokia.com>
312
313        Reviewed by Kenneth Rohde Christiansen.
314
315        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
316        https://bugs.webkit.org/show_bug.cgi?id=60439
317
318        Patch 8/12: Changes to the GL backend of TextureMapper. The code for these changes is intertwined so it was hard to separate
319        them to different patches. This is the summary of what the changes do:
320
321        1. Use stencil for clipping instead of scissors, refactor beginClip/endClip functions to accomodate that.
322        2. Get rid of the "Target" program which forced an intermediate framebuffer for any content. Instead,
323           we upload the texture with BGRA from the start. Ports other than Qt can optimize this for their needs.
324        3. Use glGetAttribLocation instead of glBindAttribLocation; On some platforms we might be polluting the
325           GL context otherwise.
326        4. Use image UIDs (cache-key in Qt) instead of image pointers. This is important for images that change their
327           internal content.
328        5. Allow packing and unpacking. This is currently a stub, for future memory optimizations.
329        6. Put some of the initialization code here (beginPainting/endPainting).
330        7. Allow painting a texture via an ID instead of a BitmapTexture data type.
331        8. Get rid of makeContextCurrent / obtainCurrentContext. We only use texture-mapper when the context is current.
332
333        No new tests. Tests in LayoutTests/compositing test this.
334
335        * platform/graphics/opengl/TextureMapperGL.cpp:
336        (WebCore::debugGLCommand):
337        (WebCore::TextureMapperGLData::GlobalGLData::createShaderProgram):
338        (WebCore::TextureMapperGLData::GlobalGLData::GlobalGLData):
339        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
340        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
341        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
342        (WebCore::TextureMapperGLData::TextureMapperGLData):
343        (WebCore::BitmapTextureGL::id):
344        (WebCore::BitmapTextureGL::isOpaque):
345        (WebCore::BitmapTextureGL::relativeSize):
346        (WebCore::BitmapTextureGL::setTextureMapper):
347        (WebCore::BitmapTextureGL::pack):
348        (WebCore::BitmapTextureGL::unpack):
349        (WebCore::BitmapTextureGL::isPacked):
350        (WebCore::BitmapTextureGL::BitmapTextureGL):
351        (WebCore::TextureMapperGL::TextureMapperGL):
352        (WebCore::TextureMapperGL::initializeShaders):
353        (WebCore::TextureMapperGL::beginPainting):
354        (WebCore::TextureMapperGL::endPainting):
355        (WebCore::TextureMapperGL::drawTexture):
356        (WebCore::BitmapTextureGL::reset):
357        (WebCore::BitmapTextureGL::endPaint):
358        (WebCore::BitmapTextureGL::setContentsToImage):
359        (WebCore::createProjectionMatrix):
360        (WebCore::BitmapTextureGL::bind):
361        (WebCore::BitmapTextureGL::destroy):
362        (WebCore::TextureMapperGL::~TextureMapperGL):
363        (WebCore::TextureMapperGL::bindSurface):
364        (WebCore::TextureMapperGL::beginClip):
365        (WebCore::TextureMapperGL::endClip):
366        (WebCore::TextureMapperGL::createTexture):
367        * platform/graphics/opengl/TextureMapperGL.h:
368        (WebCore::TextureMapperGL::allowSurfaceForRoot):
369        (WebCore::TextureMapperGL::create):
370        (WebCore::TextureMapperGL::setGraphicsContext):
371        (WebCore::TextureMapperGL::graphicsContext):
372        (WebCore::TextureMapperGL::isOpenGLBacked):
373        * platform/graphics/qt/GraphicsContext3DQt.cpp:
374        (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
375        (WebCore::GraphicsContext3DInternal::boundingRect):
376        (WebCore::GraphicsContext3DInternal::paint):
377        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
378        (WebCore::MediaPlayerPrivateQt::repaint):
379        (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
380        * platform/graphics/qt/MediaPlayerPrivateQt.h:
381        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
382        (WebCore::MediaPlayerPrivateQt::platformLayer):
383
3842011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
385
386        Reviewed by Kenneth Rohde Christiansen.
387
388        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
389        https://bugs.webkit.org/show_bug.cgi?id=60439
390
391        Patch 7/12: Allow a 3D-context (WebGL) to paint itself into a TextureMapper.
392        This allows using a WebGL canvas with CSS.
393
394        No new tests. Tests in LayoutTests/compositing/webgl cover this.
395
396        * platform/graphics/qt/GraphicsContext3DQt.cpp:
397        (WebCore::GraphicsContext3DInternal::paintToTextureMapper):
398        (WebCore::GraphicsContext3DInternal::boundingRect):
399        (WebCore::GraphicsContext3DInternal::paint):
400        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
401        (WebCore::MediaPlayerPrivateQt::repaint):
402        (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
403        * platform/graphics/qt/MediaPlayerPrivateQt.h:
404        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
405        (WebCore::MediaPlayerPrivateQt::platformLayer):
406
4072011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
408
409        Reviewed by Kenneth Rohde Christiansen.
410
411        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
412        https://bugs.webkit.org/show_bug.cgi?id=60439
413
414        Patch 6/12: Allow the Qt media player implementation to paint into a TextureMapper,
415        to allow videos to be composited.
416
417        No new tests. Tests in LayoutTests/compositing cover this.
418
419        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
420        (WebCore::MediaPlayerPrivateQt::repaint):
421        (WebCore::MediaPlayerPrivateQt::paintToTextureMapper):
422        * platform/graphics/qt/MediaPlayerPrivateQt.h:
423        (WebCore::MediaPlayerPrivateQt::acceleratedRenderingStateChanged):
424        (WebCore::MediaPlayerPrivateQt::platformLayer):
425
4262011-05-11  John Bauman  <jbauman@chromium.org>
427
428        Reviewed by Kenneth Russell.
429
430        Don't send zeros in TexImage if GL implementation handles that
431        https://bugs.webkit.org/show_bug.cgi?id=60581
432
433        Chromium already handles zeroing textures upon creation, so don't
434        bother zeroing them in WebKit, as that causes some unnecessary memcpys
435        of zeros.
436
437        No new tests as functionality is the same.
438
439        * html/canvas/WebGLRenderingContext.cpp:
440        (WebCore::WebGLRenderingContext::texImage2DBase):
441        * platform/graphics/GraphicsContext3D.cpp:
442        (WebCore::GraphicsContext3D::texImage2DResourceSafe):
443        * platform/graphics/GraphicsContext3D.h:
444        * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
445        (WebCore::GraphicsContext3D::GraphicsContext3D):
446        * platform/graphics/mac/GraphicsContext3DMac.mm:
447        (WebCore::GraphicsContext3D::GraphicsContext3D):
448        * platform/graphics/qt/GraphicsContext3DQt.cpp:
449        (WebCore::GraphicsContext3D::GraphicsContext3D):
450
4512011-05-11  Simon Fraser  <simon.fraser@apple.com>
452
453        Attempt to fix Chromium Mac build.
454
455        * rendering/RenderThemeMac.mm:
456        (WebCore::RenderThemeMac::paintSliderThumb):
457
4582011-05-11  Daniel Bates  <dbates@rim.com>
459
460        Reviewed by Antonio Gomes.
461
462        [Qt] Extract code to set mouse event modifiers into common function
463        https://bugs.webkit.org/show_bug.cgi?id=60649
464
465        Consolidate code to set the keyboard modifiers for a mouse event into a common
466        function that can be used by both PlatformMouseEvent(QGraphicsSceneMouseEvent*, int clickCount)
467        and PlatformMouseEvent(QInputEvent*, int clickCount) so as to remove duplicate code.
468
469        No functionality was changed. So, no new tests.
470
471        * platform/qt/PlatformMouseEventQt.cpp:
472        (WebCore::mouseEventModifiersFromQtKeyboardModifiers): Added.
473        (WebCore::PlatformMouseEvent::PlatformMouseEvent): Modified to call mouseEventModifiersFromQtKeyboardModifiers().
474
4752011-05-11  Levi Weintraub  <leviw@chromium.org>
476
477        Reviewed by Eric Seidel.
478
479        Switch RenderBoxModelObject::paintBorder to use IntRect instead of four ints
480        https://bugs.webkit.org/show_bug.cgi?id=60591
481
482        Switching RenderBoxModelObject::paintBorder to use IntRect instead of four ints representing a rect.
483
484        No new tests since there is no functionality change.
485
486        * rendering/InlineFlowBox.cpp:
487        (WebCore::InlineFlowBox::paintBoxDecorations):
488        * rendering/RenderBox.cpp:
489        (WebCore::RenderBox::paintBoxDecorationsWithSize):
490        * rendering/RenderBoxModelObject.cpp:
491        (WebCore::RenderBoxModelObject::paintBorder):
492        * rendering/RenderBoxModelObject.h:
493        * rendering/RenderFieldset.cpp:
494        (WebCore::RenderFieldset::paintBoxDecorations):
495        * rendering/RenderTable.cpp:
496        (WebCore::RenderTable::paintBoxDecorations):
497        * rendering/RenderTableCell.cpp:
498        (WebCore::RenderTableCell::paintBoxDecorations):
499
5002011-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
501
502        Unreviewed, rolling out r86255.
503        http://trac.webkit.org/changeset/86255
504        https://bugs.webkit.org/show_bug.cgi?id=60660
505
506        REGRESSION (r86255): Lots of tests crashing in
507        CFWriteStreamCreateWithAllocatedBuffers on Windows 7 Release
508        (WebKit2 Tests) (Requested by aroben on #webkit).
509
510        * platform/network/ResourceHandle.h:
511        * platform/network/cf/CookieStorageCFNet.cpp:
512        (WebCore::currentCookieStorage):
513        (WebCore::defaultCookieStorage):
514        * platform/network/cf/ResourceHandleCFNet.cpp:
515        (WebCore::willSendRequest):
516        (WebCore::makeFinalRequest):
517        (WebCore::ResourceHandle::willSendRequest):
518        * platform/network/cf/ResourceRequestCFNet.cpp:
519        (WebCore::ResourceRequest::doUpdatePlatformRequest):
520
5212011-05-11  Sam Weinig  <sam@webkit.org>
522
523        Reviewed by Eric Seidel.
524
525        Frequent crashes beneath WebCore::ScriptElement::prepareScript
526        https://bugs.webkit.org/show_bug.cgi?id=60559
527
528        * html/parser/HTMLScriptRunner.cpp:
529        (WebCore::HTMLScriptRunner::runScript):
530        Add null check and explanation that we are keeping the ASSERT to help
531        track down the cause and produce a test.
532
5332011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
534
535        Reviewed by Kenneth Rohde Christiansen.
536
537        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
538        https://bugs.webkit.org/show_bug.cgi?id=60439
539
540        Patch 5/12: Implement the new TextureMapper functions for the Qt backend.
541        This allow non-rectangular clipping, some stub functions, and getting a unique
542        id for an image.
543
544        No new tests. Tests in LayoutTests/compositing cover this.
545
546        * platform/graphics/qt/TextureMapperQt.cpp:
547        (WebCore::TextureMapperQt::beginClip):
548        (WebCore::TextureMapperQt::endClip):
549        (WebCore::TextureMapperQt::viewportSize):
550        (WebCore::TextureMapperQt::setGraphicsContext):
551        (WebCore::TextureMapperQt::graphicsContext):
552        (WebCore::TextureMapperQt::drawTexture):
553        (WebCore::TextureMapperQt::beginPainting):
554        (WebCore::TextureMapperQt::endPainting):
555        (WebCore::RGBA32PremultimpliedBufferQt::beginPaint):
556        (WebCore::uidForImage):
557        * platform/graphics/qt/TextureMapperQt.h:
558
5592011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
560
561        Reviewed by Kenneth Rohde Christiansen.
562
563        [Texmap] Upstream texture-mapper changes from Qt's WebKit2 branch
564        https://bugs.webkit.org/show_bug.cgi?id=60439
565
566        Patch 3/12: TextureMapper shouldn't depend on OpenGL, but rather only allow the GL backend when
567        OpenGL is present.
568
569        No new tests. This is a build fix.
570
571        * WebCore.pri:
572        * WebCore.pro:
573
5742011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
575
576        Reviewed by Kenneth Rohde Christiansen.
577
578        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
579        https://bugs.webkit.org/show_bug.cgi?id=60439
580
581        Patch 2/12: Add a few functions to the TextureMapper API, allowing:
582        1. an entry/exit point for painting (beginPaint/endPaint)
583        2. Clipping with a matrix, since we use stencil instead of scissors
584        3. Draw a texture directly with an ID
585        4. Remove offset, since we're using real tiling
586        5. numberOfBytes calculation for textures, for memory management
587
588        No new tests. Tests in LayoutTests/compositing test this.
589
590        * platform/graphics/texmap/TextureMapper.h:
591        (WebCore::BitmapTexture::destroy):
592        (WebCore::BitmapTexture::allowOfflineTextureUpload):
593        (WebCore::BitmapTexture::bpp):
594        (WebCore::BitmapTexture::numberOfBytes):
595        (WebCore::TextureMapper::viewportSize):
596        (WebCore::TextureMapper::setViewportSize):
597        (WebCore::TextureMapper::allowPartialUpdates):
598        (WebCore::TextureMapper::isOpenGLBacked):
599        (WebCore::TextureMapper::setTransform):
600        (WebCore::TextureMapper::transform):
601        (WebCore::TextureMapper::beginPainting):
602        (WebCore::TextureMapper::endPainting):
603
6042011-05-11  Noam Rosenthal  <noam.rosenthal@nokia.com>
605
606        Reviewed by Kenneth Rohde Christiansen.
607
608        [Texmap][Qt] Upstream texture-mapper changes from Qt's WebKit2 branch
609        https://bugs.webkit.org/show_bug.cgi?id=60439
610
611        Patch 1/12: Change the TextureMapperPlatformLayer API to allow a 3D-context or a
612        media player to decide how to paint into the TextureMapper, rather than mandate specific
613        types of platform layers.
614
615        No new tests. Tests in LayoutTests/compositing test this.
616
617        * platform/graphics/GraphicsLayer.h:
618        * platform/graphics/texmap/TextureMapperPlatformLayer.h:
619
6202011-05-11  Simon Fraser  <simon.fraser@apple.com>
621
622        Reviewed by Darin Adler.
623
624        Flesh out RenderLayer's ScrollableArea implementation a little more
625        https://bugs.webkit.org/show_bug.cgi?id=60593
626
627        Override a few more ScrollableArea methods on RenderLayer
628        as a baby-step towards animating overflow div scrolling.
629
630        * platform/ScrollableArea.h:
631        (WebCore::ScrollableArea::visibleContentRect):
632        * rendering/RenderLayer.cpp:
633        (WebCore::RenderLayer::scrollPosition):
634        (WebCore::RenderLayer::minimumScrollPosition):
635        (WebCore::RenderLayer::maximumScrollPosition):
636        (WebCore::RenderLayer::visibleContentRect):
637        (WebCore::RenderLayer::overhangAmount):
638        (WebCore::RenderLayer::didCompleteRubberBand):
639        * rendering/RenderLayer.h:
640        (WebCore::RenderLayer::shouldSuspendScrollAnimations):
641
6422011-05-11  Simon Fraser  <simon.fraser@apple.com>
643
644        Reviewed by Dave Hyatt.
645
646        <rdar://problem/9421781> Slider thumb draws upside-down in WebKit2
647        <rdar://problem/9418025> Slider thumb has odd appearance
648
649        Fix two issues drawing the slider thumb.
650
651        To fix <rdar://problem/9421781>, if we detect that we're in WebKit2
652        by virtual of the FrameView not having a documentView, then flip
653        the graphics context.
654
655        To fix <rdar://problem/9418025>, we call -drawInteriorWithFrame:inView:
656        rather than -drawWithFrame:inView: so that AppKit doesn't draw a section
657        of track behind the thumb.
658
659        * rendering/RenderThemeMac.mm:
660        (WebCore::RenderThemeMac::paintSliderThumb):
661
6622011-05-11  Jessie Berlin  <jberlin@apple.com>
663
664        Reviewed by Steve Falkenburg.
665
666        [Windows WebKit2] Use cookies set in WebKit1
667        https://bugs.webkit.org/show_bug.cgi?id=60274
668
669        Share the default storage session between the UI and Web Processes.
670
671        * platform/network/cf/CookieStorageCFNet.cpp:
672        (WebCore::defaultSessionCookieStorage):
673        Keep track of the default storage session cookie storage.
674        (WebCore::currentCookieStorage):
675        Call defaultCookieStorage to get the default cookie storage.
676        (WebCore::defaultCookieStorage):
677        If there is a default storage session cookie storage, prefer that over getting the default
678        cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
679        without specifying a storage session will not get the cookie storage being shared by the UI
680        and Web Processes.
681
682        * platform/network/ResourceHandle.h:
683        * platform/network/cf/ResourceHandleCFNet.cpp:
684        (WebCore::willSendRequest):
685        Make sure to set the current storage session on any requests used by the Web
686        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
687        doing anything with the Web Process's default storage session (which is not the one shared
688        with the UI Process).
689        (WebCore::makeFinalRequest):
690        Ditto.
691        (WebCore::ResourceHandle::willSendRequest):
692        Ditto.
693        (WebCore::ResourceHandle::currentStorageSession):
694        If there is a Private Browsing storage session, return that.
695        If not, on Windows return the default storage session that is being shared with the UI
696        Process and on Mac return 0.
697        (WebCore::defaultCFURLStorageSession):
698        (WebCore::ResourceHandle::setDefaultStorageSession):
699        (WebCore::ResourceHandle::defaultStorageSession):
700
701        * platform/network/cf/ResourceRequestCFNet.cpp:
702        (WebCore::ResourceRequest::doUpdatePlatformRequest):
703        Make sure to set the current storage session on any requests used by the Web
704        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
705        doing anything with the Web Process's default storage session (which is not the one shared
706        with the UI Process).
707
7082011-05-11  Martin Robinson  <mrobinson@igalia.com>
709
710        Try once more to fix the WinCairo build.
711
712        * platform/graphics/cairo/CairoUtilities.h: Include GraphicsTypes.h with a relative
713        include rather than a system include.
714
7152011-05-11  Sam Weinig  <sam@webkit.org>
716
717        Reviewed by Eric Seidel.
718
719        Stop including Console.h just to get Console enum types
720        https://bugs.webkit.org/show_bug.cgi?id=60607
721
722        Move MessageSource, MessageType and MessageLevel into its own
723        header and cleanup surrounding classes.
724
725        * GNUmakefile.list.am:
726        * WebCore.gypi:
727        * WebCore.pro:
728        * WebCore.vcproj/WebCore.vcproj:
729        * WebCore.xcodeproj/project.pbxproj:
730        * bindings/js/JSCustomXPathNSResolver.cpp:
731        * bindings/scripts/CodeGeneratorJS.pm:
732        * bindings/v8/V8Proxy.cpp:
733        * dom/ScriptExecutionContext.h:
734        * html/HTMLFormElement.cpp:
735        * html/parser/XSSFilter.cpp:
736        * inspector/ConsoleMessage.h:
737        * inspector/InjectedScriptHost.h:
738        * inspector/InspectorAgent.h:
739        * inspector/InspectorConsoleAgent.h:
740        * inspector/InspectorFrontendHost.h:
741        * inspector/InspectorInstrumentation.cpp:
742        * inspector/InspectorInstrumentation.h:
743        * loader/EmptyClients.h:
744        * loader/FrameLoader.cpp:
745        * loader/MainResourceLoader.cpp:
746        * loader/appcache/ApplicationCacheGroup.cpp:
747        * page/ChromeClient.h:
748        * page/Console.cpp:
749        (WebCore::Console::~Console):
750        * page/Console.h:
751        * page/ConsoleTypes.h: Added.
752        * page/ContentSecurityPolicy.cpp:
753        * page/Geolocation.h:
754        * workers/WorkerReportingProxy.h:
755        * xml/XMLHttpRequest.cpp:
756
7572011-05-11  Dimitri Glazkov  <dglazkov@chromium.org>
758
759        Unreviewed, rolling out r85650.
760        http://trac.webkit.org/changeset/85650
761        https://bugs.webkit.org/show_bug.cgi?id=59983
762
763        Triggers m_numNodeListCaches > 0 assert in gc-heavy sites.
764
765        * dom/ContainerNode.cpp:
766        (WebCore::ContainerNode::childrenChanged):
767        * dom/Node.cpp:
768        (WebCore::Node::~Node):
769        (WebCore::Node::setDocument):
770        (WebCore::Node::setTreeScopeRecursively):
771        (WebCore::Node::childNodes):
772        (WebCore::Node::registerDynamicNodeList):
773        (WebCore::Node::unregisterDynamicNodeList):
774        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
775        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
776        (WebCore::Node::getElementsByTagName):
777        (WebCore::Node::getElementsByTagNameNS):
778        (WebCore::Node::getElementsByName):
779        (WebCore::Node::getElementsByClassName):
780        * dom/Node.h:
781        * html/HTMLFormControlElement.cpp:
782        (WebCore::HTMLFormControlElement::labels):
783
7842011-05-11  Eric Carlson  <eric.carlson@apple.com>
785
786        Reviewed by Darin Adler.
787
788        Video track sometimes fails to draw.
789        https://bugs.webkit.org/show_bug.cgi?id=60635
790        <rdar://problem/9281951>
791
792        No new tests, covered by existing pixel tests.
793
794        * html/HTMLMediaElement.cpp:
795        (WebCore::HTMLMediaElement::loadResource): Set display mode to "Unknown" to force a
796            recalculation, and media engine notification, the next time the state machine runs.
797
7982011-05-11  Adam Roben  <aroben@apple.com>
799
800        WinCE build fixes for strict PassOwnPtr
801
802        * platform/graphics/wince/SharedBitmap.cpp:
803        (WebCore::SharedBitmap::createHandle):
804        (WebCore::SharedBitmap::clipBitmap):
805        Use nullptr instead of 0.
806
807        * platform/graphics/wince/SimpleFontDataWinCE.cpp: Keep LOOSE_PASS_OWN_PTR turned on for
808        this file until SimpleFontData::scaledFontData is dealt with on all platforms.
809
810        * platform/text/wince/TextCodecWinCE.cpp:
811        (WebCore::newTextCodecWinCE): Use adoptPtr.
812
8132011-05-11  Chang Shu  <cshu@webkit.org>
814
815        Reviewed by Antonio Gomes.
816
817        [Qt] Tab not working in editing/inserting/typing-tab-designmode-forms.html
818        https://bugs.webkit.org/show_bug.cgi?id=60477
819
820        PlatformKeyboardEvent.m_text should be set to "\t" instead of leaving as null.
821        The value is checked at EventHandler.cpp:2527 (r86166).
822
823        Function keyTextForKeyEvent is partially implemented and can be enhanced in
824        a need-base.
825
826        * platform/qt/PlatformKeyboardEventQt.cpp:
827        (WebCore::keyTextForKeyEvent):
828        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
829
8302011-05-11  Adam Roben  <aroben@apple.com>
831
832        Use case-insensitive comparisons when checking plugin filenames on Windows
833
834        Windows paths are nearly always case-insensitive.
835
836        I couldn't think of a good way to test this.
837
838        Fixes <http://webkit.org/b/60633> WebKit1 loads Windows Presentation Foundation plugin, but
839        should not
840
841        Reviewed by Steve Falkenburg.
842
843        * plugins/win/PluginPackageWin.cpp:
844        (WebCore::PluginPackage::isPluginBlacklisted): Use equalIgnoringCase instead of == when
845        checking plugin filenames.
846
8472011-05-11  Adam Roben  <aroben@apple.com>
848
849        Turn on strict PassOwnPtr on Windows
850
851        Fixes <http://webkit.org/b/60632> Windows should build with strict PassOwnPtr enabled
852
853        Reviewed by Adam Barth.
854
855        * platform/graphics/win/SimpleFontDataWin.cpp: Keep LOOSE_PASS_OWN_PTR turned on for this
856        file until SimpleFontData::scaledFontData is dealt with on all platforms.
857
8582011-05-11  Julien Chaffraix  <jchaffraix@webkit.org>
859
860        Reviewed by Geoffrey Garen.
861
862        XPathResult should keep its node set's JS wrappers alive
863        https://bugs.webkit.org/show_bug.cgi?id=34231
864
865        The change added a custom mark function for JSC. V8 was already properly
866        marking the nodes so no change were done on the V8 side.
867
868        Tests: fast/xpath/xpath-iterator-result-should-mark-its-nodeset.html
869               fast/xpath/xpath-other-nodeset-result-should-mark-its-nodeset.html
870               fast/xpath/xpath-result-eventlistener-crash.html
871               fast/xpath/xpath-snapshot-result-should-mark-its-nodeset.html
872
873        * Android.jscbindings.mk:
874        * GNUmakefile.list.am:
875        * UseJSC.cmake:
876        * WebCore.gypi:
877        * WebCore.pro:
878        * WebCore.vcproj/WebCore.vcproj:
879        * WebCore.xcodeproj/project.pbxproj:
880        * bindings/js/JSBindingsAllInOne.cpp:
881        Added the new file to our build systems.
882
883        * bindings/js/JSXPathResultCustom.cpp: Added.
884        (WebCore::JSXPathResult::markChildren): Added code to mark the
885        XPathResult snapshot's nodes.
886        * xml/XPathResult.h:
887        (WebCore::XPathResult::value): Exposed this getter so that we can
888        mark our XPathValue.
889        * xml/XPathResult.idl: Told the IDL parser that we now need
890        a custom mark function.
891
8922011-05-04  Philippe Normand  <pnormand@igalia.com>
893
894        Reviewed by Martin Robinson.
895
896        [Gtk+] deadlock in gstreamer video player when exiting fullscreen
897        https://bugs.webkit.org/show_bug.cgi?id=58548
898
899        Block data flow towards the pipeline branch to remove to avoid
900        potential deadlocks during the PAUSED->READY transitions of the
901        elements to remove.
902
903        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
904        (WebCore::GStreamerGWorld::exitFullscreen):
905
9062011-05-11  Kent Tamura  <tkent@chromium.org>
907
908        Reviewed by Hajime Morita.
909
910        The position of validation message bubble is wrong for non text fields.
911        https://bugs.webkit.org/show_bug.cgi?id=60341
912
913        Tests: fast/forms/validation-message-on-checkbox.html
914               fast/forms/validation-message-on-listbox.html
915               fast/forms/validation-message-on-menulist.html
916               fast/forms/validation-message-on-radio.html
917               fast/forms/validation-message-on-textarea.html
918
919        * css/html.css:
920        (::-webkit-validation-bubble-message):
921          Add white-space:normal in order not to inherit white-space:pre for <select>.
922        * html/ValidationMessage.cpp:
923        (WebCore::adjustBubblePosition):
924          Adjust the bubble position.
925          - The top of the bubble should be same as the bottom of the target control.
926          - The left of the bubble should be same as the left of the target control.
927            But If the left+32 is larger than the center of the target control,
928            left+32 should be at the center of the target control.
929            But the left position should not be less than 0.
930        (WebCore::ValidationMessage::buildBubbleTree): Call adjustBubblePosition().
931
9322011-05-11  Emil A Eklund  <eae@chromium.org>
933
934        Reviewed by Eric Seidel.
935
936        Convert RenderFlexibleBox to use IntPoint/IntSize instead of x,y/w,h pairs
937        https://bugs.webkit.org/show_bug.cgi?id=60592
938
939        Refactoring, covered by existing tests.
940
941        * rendering/RenderFlexibleBox.cpp:
942        (WebCore::RenderFlexibleBox::layoutBlock):
943        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
944        (WebCore::RenderFlexibleBox::layoutVerticalBox):
945        (WebCore::RenderFlexibleBox::placeChild):
946        * rendering/RenderFlexibleBox.h:
947
9482011-05-10  Ilya Tikhonovsky  <loislo@chromium.org>
949
950        Unreviewed buildfix for strict OwnPtr.
951
952        * platform/audio/AudioBus.cpp:
953        (WebCore::AudioBus::createBufferFromRange):
954        (WebCore::AudioBus::createBySampleRateConverting):
955        (WebCore::AudioBus::createByMixingToMono):
956        * platform/audio/HRTFElevation.cpp:
957        (WebCore::HRTFElevation::createForSubject):
958        (WebCore::HRTFElevation::createByInterpolatingSlices):
959        * platform/audio/Panner.cpp:
960        (WebCore::Panner::create):
961        * platform/audio/Reverb.cpp:
962        (WebCore::Reverb::initialize):
963        * platform/audio/chromium/AudioBusChromium.cpp:
964        (WebCore::AudioBus::loadPlatformResource):
965        (WebCore::createBusFromInMemoryAudioFile):
966
9672011-05-10  Adam Barth  <abarth@webkit.org>
968
969        Build fix for font data madness.  I've had to whitelist this on several
970        ports.  They need to all be fixed at once.
971
972        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
973
9742011-05-10  David Kilzer  <ddkilzer@apple.com>
975
976        BUILD FIX for !ENABLE(TEXT_CARET) after r86039
977
978        * editing/FrameSelection.cpp:
979        (WebCore::DragCaretController::paintDragCaret): Added
980        UNUSED_PARAM(frame) for !ENABLE(TEXT_CARET).
981
9822011-05-10  James Robinson  <jamesr@chromium.org>
983
984        Reviewed by Kenneth Russell.
985
986        [chromium] Clean up setLayerRenderer() calls in LayerRendererChromium
987        https://bugs.webkit.org/show_bug.cgi?id=60524
988
989        This refactors the way LayerRendererChromium calls setLayerRenderer on its layers in a few ways to clean things
990        up:
991
992        *) Move the pre-paint call to setLayerRenderer from updatePropertiesAndRenderSurfaces() to paintLayerContents().
993            updatePropertiesAndRenderSurfaces() does too much and the layer renderer pointer only has to be up to date to do
994            the actual paint. Longer term we won't need to call this at all in order to call paint and this call will just
995            go away.
996        *) Tweaks updateCompositorResourcesRecursive() to be slightly shorter and less error-prone.
997        *) Explicitly set the LayerRendererChromium for each layer in the tree when transfering the root layer (used
998            during lost context).  LayerChromium::setLayerRenderer checks if the new LayerRendererChromium is different
999            by comparing the pointer value to the old one.  This check will be incorrect if there are multiple lost
1000            contexts between a setLayerRenderer() call and a new LayerRendererChromium happens to be allocated at the
1001            same address as the old one.  An explicit call to setLayerRenderer() for every layer in the tree fixes this
1002            since when this function is called the new and old LayerRendererChromium are still live and so they cannot
1003            live at the same address.
1004
1005        The first two changes are purely refactors and do not change behavior.  The third issue can't be tested via a
1006        layout test directly as we don't have a way to induce a lost context on the compositor in a layout test.
1007
1008        * platform/graphics/chromium/LayerRendererChromium.cpp:
1009        (WebCore::LayerRendererChromium::paintLayerContents):
1010        (WebCore::LayerRendererChromium::clearLayerRendererRecursive):
1011        (WebCore::LayerRendererChromium::transferRootLayer):
1012        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
1013        (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
1014        * platform/graphics/chromium/LayerRendererChromium.h:
1015
10162011-05-10  Anton D'Auria  <adauria@apple.com>
1017
1018        Reviewed by David Levin.
1019
1020        StorageTracker should report actual local storage usage on disk
1021        https://bugs.webkit.org/show_bug.cgi?id=60558
1022
1023        Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-6-create.html
1024               storage/domstorage/localstorage/storagetracker/storage-tracker-7-usage.html
1025
1026        Use SQLiteFileSystem::getDatabaseFileSize to get actual usage by
1027        an origin's local storage db. Factored out code that retrieves
1028        path of local storage db.
1029
1030        * WebCore.exp.in: Sorted alphabetically StorageTracker's mangled
1031        function names.
1032        * storage/StorageTracker.cpp:
1033        (WebCore::StorageTracker::syncDeleteOrigin): Uses helper function
1034        to get path of origin's db
1035        (WebCore::StorageTracker::databasePathForOrigin): New helper function.
1036        that gets the path of an origin's local storage db from StorageTracker.
1037        (WebCore::StorageTracker::diskUsageForOrigin): New API.
1038        * storage/StorageTracker.h:
1039
10402011-05-10  Anton D'Auria  <adauria@apple.com>
1041
1042        Reviewed by Alexey Proskuryakov.
1043
1044        Add ApplicationCache API to get disk usage per origin
1045        https://bugs.webkit.org/show_bug.cgi?id=57127
1046
1047        ApplicationCacheStorage already provides an API to get per-origin
1048        disk usage. This should be exposed through WebCore::ApplicationCache
1049        to not be dependent on storage implementation.
1050
1051        Test: http/tests/appcache/origin-usage.html
1052
1053        * WebCore.exp.in:
1054        * loader/appcache/ApplicationCache.cpp:
1055        (WebCore::ApplicationCache::diskUsageForOrigin):
1056        * loader/appcache/ApplicationCache.h:
1057
10582011-05-10  Pratik Solanki  <psolanki@apple.com>
1059
1060        Reviewed by Alexey Proskuryakov.
1061
1062        Protect self in [WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]
1063        https://bugs.webkit.org/show_bug.cgi?id=60594
1064        <rdar://problem/9203259>
1065
1066        No tests since we don't have any bots testing CFNETWORK_DATA_ARRAY_CALLBACK.
1067
1068        * platform/network/mac/ResourceHandleMac.mm:
1069        (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]): The didReceiveData()
1070        callback on client can result in the load being cancelled. This results in the delegate
1071        (self) being freed.  Protect self during the loop so we can check for m_handle and safely
1072        return without crashing.
1073
10742011-05-10  Chris Guillory  <chris.guillory@google.com>
1075
1076        Reviewed by James Robinson.
1077
1078        [ChromiumWin] Font::drawComplexText calls EndPlatformPaint without calling BeginPlatformPaint.
1079        https://bugs.webkit.org/show_bug.cgi?id=59848
1080
1081        To test this I plan to make the non-printing device (BitmapPlatformDevice) fail
1082        when EndPlatformPaint doesn't matchup with BeginPlatformPaint.
1083        http://codereview.chromium.org/6949012/
1084
1085        * platform/graphics/chromium/FontChromiumWin.cpp:
1086        (WebCore::Font::drawComplexText):
1087
10882011-05-10  Sheriff Bot  <webkit.review.bot@gmail.com>
1089
1090        Unreviewed, rolling out r86195.
1091        http://trac.webkit.org/changeset/86195
1092        https://bugs.webkit.org/show_bug.cgi?id=60597
1093
1094        LayerOffset is a really bad name (Requested by smfr on
1095        #webkit).
1096
1097        * GNUmakefile.list.am:
1098        * WebCore.gypi:
1099        * WebCore.pro:
1100        * WebCore.vcproj/WebCore.vcproj:
1101        * WebCore.xcodeproj/project.pbxproj:
1102        * page/FrameView.cpp:
1103        (WebCore::FrameView::paintScrollCorner):
1104        * platform/graphics/LayerOffset.h: Removed.
1105        * rendering/InlineTextBox.cpp:
1106        (WebCore::InlineTextBox::paint):
1107        (WebCore::InlineTextBox::paintCustomHighlight):
1108        * rendering/InlineTextBox.h:
1109        * rendering/RenderBox.cpp:
1110        (WebCore::RenderBox::paintCustomHighlight):
1111        * rendering/RenderBox.h:
1112        * rendering/RenderImage.cpp:
1113        (WebCore::RenderImage::paintReplaced):
1114        * rendering/RenderLayer.cpp:
1115        (WebCore::RenderLayer::paintScrollCorner):
1116        (WebCore::RenderLayer::paintResizer):
1117        * rendering/RenderListMarker.cpp:
1118        (WebCore::RenderListMarker::paint):
1119        * rendering/RenderObject.h:
1120        * rendering/RenderScrollbar.cpp:
1121        (WebCore::RenderScrollbar::paintPart):
1122        * rendering/RenderScrollbarPart.cpp:
1123        (WebCore::RenderScrollbarPart::paintIntoRect):
1124        * rendering/RenderScrollbarPart.h:
1125        * rendering/RenderTable.cpp:
1126        (WebCore::RenderTable::paintObject):
1127        (WebCore::RenderTable::paintMask):
1128        * rendering/RenderTable.h:
1129        * rendering/RenderWidget.cpp:
1130        (WebCore::RenderWidget::paint):
1131        * rendering/RootInlineBox.cpp:
1132        (WebCore::RootInlineBox::paintCustomHighlight):
1133        (WebCore::RootInlineBox::paint):
1134        * rendering/RootInlineBox.h:
1135
11362011-05-10  Emil A Eklund  <eae@chromium.org>
1137
1138        Reviewed by Eric Seidel.
1139
1140        Convert x,y and width,height pairs to IntPoint and IntSize for RenderLayer
1141        https://bugs.webkit.org/show_bug.cgi?id=60409
1142
1143        Convert RenderLayer to use IntPoint for x,y pairs and IntSize for offsets and sizes.
1144
1145        Refactoring, covered by existing tests.
1146
1147        * rendering/RenderLayer.cpp:
1148        (WebCore::RenderLayer::RenderLayer):
1149        (WebCore::RenderLayer::updateLayerPositions):
1150        (WebCore::RenderLayer::updateLayerPosition):
1151        (WebCore::RenderLayer::scrollTo):
1152        (WebCore::RenderLayer::visibleHeight):
1153        (WebCore::RenderLayer::visibleWidth):
1154        (WebCore::RenderLayer::scrollWidth):
1155        (WebCore::RenderLayer::scrollHeight):
1156        (WebCore::RenderLayer::computeScrollDimensions):
1157        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
1158        * rendering/RenderLayer.h:
1159        (WebCore::RenderLayer::x):
1160        (WebCore::RenderLayer::y):
1161        (WebCore::RenderLayer::setLocation):
1162        (WebCore::RenderLayer::width):
1163        (WebCore::RenderLayer::height):
1164        (WebCore::RenderLayer::size):
1165        (WebCore::RenderLayer::setWidth):
1166        (WebCore::RenderLayer::setHeight):
1167        (WebCore::RenderLayer::scrolledContentOffset):
1168        (WebCore::RenderLayer::scrollXOffset):
1169        (WebCore::RenderLayer::scrollYOffset):
1170        (WebCore::RenderLayer::scrollOffset):
1171        (WebCore::RenderLayer::scrollToXOffset):
1172        (WebCore::RenderLayer::scrollToYOffset):
1173        (WebCore::RenderLayer::relativePositionOffset):
1174
11752011-05-10  Levi Weintraub  <leviw@chromium.org>
1176
1177        Reviewed by Eric Seidel.
1178
1179        Create LayerOffset class
1180        https://bugs.webkit.org/show_bug.cgi?id=60490
1181
1182        Adding a LayerOffset class that will replace existing usage of tx/ty.
1183        LayerOffset is necessary since these values are commonly used as both
1184        a size and a point. Updating paintIntoRect to use this new class.
1185
1186        No new tests since this doesn't change any behavior.
1187
1188        * GNUmakefile.list.am:
1189        * WebCore.gypi:
1190        * WebCore.pro:
1191        * WebCore.vcproj/WebCore.vcproj:
1192        * WebCore.xcodeproj/project.pbxproj:
1193        * page/FrameView.cpp:
1194        (WebCore::FrameView::paintScrollCorner):
1195        * platform/graphics/LayerOffset.h: Added.
1196        (WebCore::LayerOffset::LayerOffset):
1197        (WebCore::LayerOffset::x):
1198        (WebCore::LayerOffset::y):
1199        (WebCore::LayerOffset::setX):
1200        (WebCore::LayerOffset::setY):
1201        (WebCore::LayerOffset::toSize):
1202        (WebCore::LayerOffset::toPoint):
1203        (WebCore::operator+=):
1204        (WebCore::operator-=):
1205        (WebCore::operator+):
1206        (WebCore::operator-):
1207        (WebCore::operator==):
1208        (WebCore::operator!=):
1209        * rendering/RenderLayer.cpp:
1210        (WebCore::RenderLayer::paintScrollCorner):
1211        (WebCore::RenderLayer::paintResizer):
1212        * rendering/RenderScrollbar.cpp:
1213        (WebCore::RenderScrollbar::paintPart):
1214        * rendering/RenderScrollbarPart.cpp:
1215        (WebCore::RenderScrollbarPart::paintIntoRect):
1216        * rendering/RenderScrollbarPart.h:
1217
12182011-05-10  Ryosuke Niwa  <rniwa@webkit.org>
1219
1220        Reviewed by Darin Adler.
1221
1222        Make member variables of CaretBase private
1223        https://bugs.webkit.org/show_bug.cgi?id=60454
1224
1225        Moved m_absCaretBounds, m_absoluteCaretRepaintBounds, m_absCaretBoundsDirty, and m_caretPaint back
1226        from CaretBase to FrameSelection because they are only used in FrameSelection, and made the rest
1227        of member variables in CaretBase private.
1228
1229        * editing/FrameSelection.cpp:
1230        (WebCore::CaretBase::CaretBase): Takes CaretVisibility as an argument.
1231        (WebCore::DragCaretController::DragCaretController):
1232        (WebCore::FrameSelection::FrameSelection): Initializes m_absCaretBoundsDirty and m_caretPaint
1233        now that they are part of FrameSelection again.
1234        (WebCore::DragCaretController::setCaretPosition):
1235        (WebCore::FrameSelection::setSelection):
1236        (WebCore::CaretBase::clearCaretRect): Extracted from updateCaretRect.
1237        (WebCore::CaretBase::updateCaretRect): No longer clears caret; all call sites (namely setCaretPosition
1238        and localCaretRect) that used to call updateCaretRect now need to call clearCaretRect or updateCaretRect
1239        based on some conditions.
1240        (WebCore::FrameSelection::localCaretRect):
1241        (WebCore::CaretBase::caretRepaintRect):
1242        (WebCore::FrameSelection::recomputeCaretRect):
1243        (WebCore::FrameSelection::paintCaret): Only calls CaretBase::paintCaret if m_caretPaint is true.
1244        (WebCore::CaretBase::paintCaret): Removed an early exit for when m_caretPaint is false since m_caretPaint
1245        has been moved from CaretBase to FrameSelection.
1246        (WebCore::FrameSelection::focusedOrActiveStateChanged):
1247        (WebCore::FrameSelection::updateAppearance):
1248        (WebCore::FrameSelection::setCaretVisibility): Takes CaretVisibility instead of bool.
1249        (WebCore::FrameSelection::caretBlinkTimerFired):
1250        * editing/FrameSelection.h:
1251        (WebCore::CaretBase::fastLocalCaretRect): Added; replaces localCaretRectForPainting.
1252        (WebCore::CaretBase::shouldUpdateCaretRect): Added.
1253        (WebCore::CaretBase::setCaretRectNeedsUpdate): Added.
1254        (WebCore::CaretBase::setCaretVisibility): Added.
1255        (WebCore::CaretBase::caretIsVisible): Added.
1256        (WebCore::FrameSelection::setCaretRectNeedsUpdate): Added.
1257
12582011-05-10  James Robinson  <jamesr@chromium.org>
1259
1260        Reviewed by Nate Chapin.
1261
1262        [chromium] Use parent/child terms for compositor tree structures consistently instead of superlayer/sublayer
1263        https://bugs.webkit.org/show_bug.cgi?id=60588
1264
1265        GraphicsLayer uses parent/child terminology for tree structure, as does CCLayerImpl.  LayerChromium was using
1266        superlayer/sublayer terms, inherited from this code's branching from the platform/graphics/win/CACF code.  The
1267        mixed terminology is confusing and parent/child is more common, so this unifies everything to use parent/child.
1268
1269        No new tests, refactor only.
1270
1271        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1272        (WebCore::GraphicsLayerChromium::setChildren):
1273        (WebCore::GraphicsLayerChromium::addChild):
1274        (WebCore::GraphicsLayerChromium::addChildAtIndex):
1275        (WebCore::GraphicsLayerChromium::addChildBelow):
1276        (WebCore::GraphicsLayerChromium::addChildAbove):
1277        (WebCore::GraphicsLayerChromium::replaceChild):
1278        (WebCore::GraphicsLayerChromium::removeFromParent):
1279        (WebCore::GraphicsLayerChromium::setContentsToImage):
1280        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
1281        (WebCore::GraphicsLayerChromium::setContentsToMedia):
1282        (WebCore::GraphicsLayerChromium::hostLayerForChildren):
1283        (WebCore::GraphicsLayerChromium::layerForParent):
1284        (WebCore::GraphicsLayerChromium::updateChildList):
1285        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
1286        (WebCore::GraphicsLayerChromium::setupContentsLayer):
1287        * platform/graphics/chromium/GraphicsLayerChromium.h:
1288        * platform/graphics/chromium/LayerChromium.cpp:
1289        (WebCore::LayerChromium::LayerChromium):
1290        (WebCore::LayerChromium::~LayerChromium):
1291        (WebCore::LayerChromium::addChild):
1292        (WebCore::LayerChromium::insertChild):
1293        (WebCore::LayerChromium::removeFromParent):
1294        (WebCore::LayerChromium::removeChild):
1295        (WebCore::LayerChromium::replaceChild):
1296        (WebCore::LayerChromium::indexOfChild):
1297        (WebCore::LayerChromium::rootLayer):
1298        (WebCore::LayerChromium::removeAllChildren):
1299        (WebCore::LayerChromium::setChildren):
1300        (WebCore::LayerChromium::parent):
1301        (WebCore::LayerChromium::dumpLayer):
1302        * platform/graphics/chromium/LayerChromium.h:
1303        (WebCore::LayerChromium::children):
1304        (WebCore::LayerChromium::setParent):
1305        (WebCore::LayerChromium::numChildren):
1306        * platform/graphics/chromium/LayerRendererChromium.cpp:
1307        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
1308        (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
1309        (WebCore::LayerRendererChromium::dumpRenderSurfaces):
1310        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1311        (WebCore::CCLayerImpl::parent):
1312        (WebCore::CCLayerImpl::descendantsDrawsContent):
1313        * platform/graphics/chromium/cc/CCLayerImpl.h:
1314
13152011-05-10  Levi Weintraub  <leviw@chromium.org>
1316
1317        Reviewed by Darin Adler.
1318
1319        Switch RenderBoxModelObject::paintNinePieceImage to use IntRect instead of four ints
1320        https://bugs.webkit.org/show_bug.cgi?id=60586
1321
1322        Switch paintNinePieceImage to take an IntRect instead of four ints representing an IntRect!
1323
1324        No new tests as this is simply refactoring.
1325
1326        * rendering/InlineFlowBox.cpp:
1327        (WebCore::InlineFlowBox::paintMask):
1328        * rendering/RenderBox.cpp:
1329        (WebCore::RenderBox::paintMaskImages):
1330        * rendering/RenderBoxModelObject.cpp:
1331        (WebCore::RenderBoxModelObject::paintNinePieceImage):
1332        (WebCore::RenderBoxModelObject::paintBorder):
1333        * rendering/RenderBoxModelObject.h:
1334
13352011-05-05  Jer Noble  <jer.noble@apple.com>
1336
1337        Reviewed by Maciej Stachowiak.
1338
1339        Removing the full screen element via parent.innerHTML="" does not result in a webkitfullscreenchange event.
1340        https://bugs.webkit.org/show_bug.cgi?id=60278
1341
1342        Handle the removal of a full screen element from within Node::willRemove() instead
1343        of Document::nodeWillBeRemoved().  The new function Document::fullScreenElementWillBeRemoved() will
1344        be called by Node::willRemove() to handle those changes which used to occur in nodeWillBeRemoved().
1345
1346        Test: fullscreen/full-screen-remove-children.html
1347
1348        * dom/Document.cpp:
1349        (WebCore::Document::nodeWillBeRemoved): Removed the code checking for the full screen element.
1350        (WebCore::Document::fullScreenElementWillBeRemoved): Added, moved from nodeWillBeRemoved.
1351        * dom/Document.h:
1352        * dom/Node.cpp:
1353        (WebCore::Node::willRemove): Check to see if this is the current full screen element.
1354
13552011-05-10  Beth Dakin  <bdakin@apple.com>
1356
1357        Reviewed by Darin Adler.
1358
1359        https://bugs.webkit.org/show_bug.cgi?id=60582
1360        Crash switching overlay/non-overlay scrollbar preference still possible
1361        -and corresponding-
1362        <rdar://problem/9323983>
1363
1364        This patch prevents any work from being done on pages that are in the page cache
1365        when the preference is switched.
1366
1367        When the Document is going into or coming out of the page cache, have the
1368        FrameView inactivate or activate the Page's ScrollAnimators as appropriate.
1369        * dom/Document.cpp:
1370        (WebCore::Document::setInPageCache):
1371
1372        Iterate through the Page's ScrollableAreas setting the active state of the
1373        ScrollAnimators.
1374        * page/FrameView.cpp:
1375        (WebCore::FrameView::setAnimatorsAreActive):
1376        * page/FrameView.h:
1377
1378        ScrollAnimator has a new bit -- m_isActive. Right now m_isActive is always true
1379        unless the ScrollAnimator belongs to a ScrollableArea that is in the page cache.
1380        * platform/ScrollAnimator.cpp:
1381        (WebCore::ScrollAnimator::ScrollAnimator):
1382        * platform/ScrollAnimator.h:
1383        (WebCore::ScrollAnimator::setIsActive):
1384        (WebCore::ScrollAnimator::isActive):
1385
1386        ScrollAnimatorMac has a new bit -- m_needsScrollerStyleUpdate. This is set to true
1387        when a ScrollAnimator is inactive and has received the
1388        updateScrollerStyleForNewRecommendedScrollerStyle delegate notification. It
1389        prevents any work from being done for this delegate until the ScrollAnimator
1390        becomes active again.
1391        * platform/mac/ScrollAnimatorMac.h:
1392        (WebCore::ScrollAnimatorMac::setNeedsScrollerStyleUpdate):
1393        (WebCore::ScrollAnimatorMac::needsScrollerStyleUpdate):
1394
1395        This delegate method has been re-factored into ScrollAnimatorMac::
1396        updateScrollerStyle(). This way the meat of the function can be called by both the
1397        delegate and ScrollAnimatorMac::setIsActive()
1398        * platform/mac/ScrollAnimatorMac.mm:
1399        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
1400        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
1401
1402        This override of ScrollAnimator::setIsActive() calls the base class, and then calls updateScrollerStyle() if needsScrollerStyleUpdate() is set to true.
1403        (WebCore::ScrollAnimatorMac::setIsActive):
1404
1405        This is mostly the same as the old delegate method. Key differences are that if
1406        the ScrollAnimator is inactive, we now setNeedsScrollerStyleUpdate(true) and
1407        return early. We also only call scrollableArea()->scrollbarStyleChanged() if
1408        needsScrollerStyleUpdate() is false since in the true case when we are restoring
1409        from the page cache, this would be duplicated work.
1410        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
1411
1412        New WKSystemInterface function is needed to retrieve the scrollbar style.
1413        * WebCore.exp.in:
1414        * platform/mac/WebCoreSystemInterface.h:
1415        * platform/mac/WebCoreSystemInterface.mm:
1416
14172011-05-10  Adam Barth  <abarth@webkit.org>
1418
1419        Reviewed by David Levin.
1420
1421        Enable strict PassOwnPtr on Chromium
1422        https://bugs.webkit.org/show_bug.cgi?id=60502
1423
1424        Technically there are a few bits in here that weren't reviewed by Dave,
1425        but close enough for government work.  This patch all fixes  the
1426        remaining strict PassOwnPtr violations on Chromium Linux.
1427
1428        * platform/graphics/chromium/PlatformCanvas.cpp:
1429        (WebCore::PlatformCanvas::resize):
1430        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
1431        * platform/graphics/skia/ImageBufferSkia.cpp:
1432        (WebCore::ImageBuffer::ImageBuffer):
1433        * platform/graphics/skia/PlatformContextSkia.cpp:
1434        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
1435
14362011-05-10  Brady Eidson  <beidson@apple.com>
1437
1438        Reviewed by Alice Liu.
1439
1440        <rdar://problem/9343191> and https://bugs.webkit.org/show_bug.cgi?id=60572
1441        REGRESSION - Canon On-screen Manual.app crashes after a search
1442
1443        No new tests - There's no way to reproduce the truly bizarre things Canon does in their app
1444        that would reasonably fit in to our testing infrastructure.
1445
1446        In r66577 a new behavior was added where changing the "setLoadsImagesAutomatically" setting to "true" would immediately
1447        start loading those images that had been disabled.
1448
1449        If this happens while a WebView is being dealloc'ed, and we don't know the WebView is being dealloc'ed, these new loads
1450        can cause crashes downstream when the WebView memory has actually been free'd.
1451
1452        One example where this can happen is in Mac apps that subclass WebView then do work in their overridden dealloc methods.
1453        And the Canon Onscreen Manual is one such app.
1454
1455        Starting these loads synchronously is not important.  By putting it on a 0-delay, properly closing the Page cancels them
1456        before they have a chance to really start.
1457
1458        See http://webkit.org/b/60572 for more discussion.
1459
1460
1461        Add a timer to Settings and instead of calling setLoadsImagesAutomaticallyInAllFrames right
1462        away when this pref changes, call it on a 0-delay:
1463        * page/Settings.cpp:
1464        (WebCore::Settings::Settings):
1465        (WebCore::Settings::setLoadsImagesAutomatically):
1466        (WebCore::Settings::loadsImagesAutomaticallyTimerFired):
1467        * page/Settings.h:
1468
14692011-05-10  Martin Robinson  <mrobinson@igalia.com>
1470
1471        Reviewed by Xan Lopez.
1472
1473        [GTK][WebKit2] GTK+ 2.x widget rendering fails after r85480
1474        https://bugs.webkit.org/show_bug.cgi?id=59990
1475
1476        No new tests. This is covered by existing pixel tests.
1477
1478        * platform/gtk/GtkVersioning.c:
1479        (getGdkDrawableSize): Added this helper method.
1480        * platform/gtk/GtkVersioning.h: Added helper method declaration.
1481        * platform/gtk/WidgetRenderingContext.cpp:
1482        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Call into the helper if
1483        there is actually a GdkDrawable. If not, disable the sanity check.
1484
14852011-05-10  Martin Robinson  <mrobinson@igalia.com>
1486
1487        Fix the GTK+ WebKit2 build. Add a CredentialsStorage stub for libsoup.
1488
1489        * GNUmakefile.list.am: Add stub to source list.
1490        * platform/network/soup/CredentialStorageSoup.cpp: Added.
1491        (WebCore::CredentialStorage::getFromPersistentStorage):  Added stub.
1492        (WebCore::CredentialStorage::get):
1493
14942011-05-09  David Hyatt  <hyatt@apple.com>
1495
1496        Reviewed by Dan Bernstein.
1497
1498        <rdar://problem/9354979> REGRESSION (r83070-r83126): This conversation takes 10 seconds to load and makes mail unresponsive
1499
1500        Second attempts at a fix for this bug.  Instead of removing the dirtying (which turned out to be needed in a few cases),
1501        make dirtyLinesFromChangedChild mark a child as needing layout when it has to recur to the parent.  Because the method already
1502        aborts the recursion if selfNeedsLayout() is set on the parent, this has the effect of stopping the O(n^2) pathological
1503        behavior, since you can use the selfNeedsLayout() bit to understand that you've dirtied the lines already.
1504
1505        * rendering/RenderLineBoxList.cpp:
1506        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
1507
15082011-05-05  Brent Fulgham  <bfulgham@webkit.org> and Martin Robinson  <mrobinson@igalia.com>
1509
1510        Reviewed by Anders Carlsson.
1511
1512        [Cairo][WebKit2] Add an implementation of ShareableBitmap for Cairo
1513        https://bugs.webkit.org/show_bug.cgi?id=60293
1514
1515        No new tests. This is covered by current pixel tests.
1516
1517        * platform/graphics/cairo/CairoUtilities.cpp:
1518        (WebCore::copyCairoImageSurface): Abstract the code from WebCore::ImageBuffer::copyImage
1519        into this helper which creates a deep copy of a Cairo image surface.
1520        * platform/graphics/cairo/CairoUtilities.h: Added declaration.
1521        * platform/graphics/cairo/ImageBufferCairo.cpp:
1522        (WebCore::ImageBuffer::copyImage): Use the new helper.
1523        * platform/graphics/cairo/ImageCairo.cpp: Abstract some of this logic
1524        into the new drawSurfaceToContext method on PlatformContextCairo.
1525        (WebCore::BitmapImage::draw):
1526        * platform/graphics/cairo/PlatformContextCairo.cpp:
1527        (WebCore::drawPatternToCairoContext): Added.
1528        (WebCore::PlatformContextCairo::drawSurfaceToContext): Added.
1529        * platform/graphics/cairo/PlatformContextCairo.h: Added declarations.
1530
15312011-05-10  Anders Carlsson  <andersca@apple.com>
1532
1533        Attempt to fix Qt build.
1534
1535        * platform/network/qt/CredentialStorageQt.cpp:
1536        (WebCore::CredentialStorage::get):
1537        Add stub.
1538
15392011-05-10  Kenichi Ishibashi  <bashi@chromium.org>
1540
1541        Reviewed by Tony Chang.
1542
1543        REGRESSION(r85013): platform/chromium-linux/fast/text/international/complex-joining-using-gpos.html is failing
1544        https://bugs.webkit.org/show_bug.cgi?id=60079
1545
1546        Set resultingNumPoints = 0 so that harfbuzz uses the design coordinate
1547        value pair.
1548
1549        * platform/graphics/chromium/HarfbuzzSkia.cpp:
1550        (WebCore::getOutlinePoint): Just return HB_Err_Ok with resultingNumPoints = 0.
1551
15522011-05-10  Anders Carlsson  <andersca@apple.com>
1553
1554        Reviewed by Sam Weinig.
1555
1556        Extra sign in required to view video on MobileMe Gallery album
1557        https://bugs.webkit.org/show_bug.cgi?id=60560
1558        <rdar://problem/9338693>
1559
1560        Add symbols required by WebKit2.
1561
1562        * WebCore.exp.in:
1563
15642011-05-10  Alexander Pavlov  <apavlov@chromium.org>
1565
1566        Reviewed by Pavel Feldman.
1567
1568        Web Inspector: Styles sidebar is not updated upon changes in the Resources panel.
1569        https://bugs.webkit.org/show_bug.cgi?id=60320
1570
1571        * inspector/front-end/ElementsPanel.js:
1572        (WebInspector.ElementsPanel):
1573
15742011-05-06  Brett Wilson  <brettw@chromium.org>
1575
1576        Reviewed by Adam Barth.
1577
1578        Use a File object to store the downloaded file reference rather than
1579        just the path. This keeps the file and permissions in scope (using the
1580        already-existing blob system) so the browser won't delete the file
1581        when the load is complete. Instead, the file will be cleaned up when
1582        the request objects are deleted.
1583        https://bugs.webkit.org/show_bug.cgi?id=60281
1584
1585        * platform/network/chromium/ResourceResponse.cpp:
1586        (WebCore::ResourceResponse::doPlatformCopyData):
1587        (WebCore::ResourceResponse::doPlatformAdopt):
1588        * platform/network/chromium/ResourceResponse.h:
1589        (WebCore::ResourceResponse::downloadedFile):
1590        (WebCore::ResourceResponse::setDownloadedFile):
1591
15922011-05-10  Eric Carlson  <eric.carlson@apple.com>
1593
1594        Reviewed by Darin Adler.
1595
1596        Files that load quickly sometimes won't play.
1597        https://bugs.webkit.org/show_bug.cgi?id=60556
1598        <rdar://problem/9330567>
1599
1600        No new tests, this failure is very difficult to reproduce on some machines. The fix was
1601        verified manually.
1602
1603        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
1604        (WebCore::MediaPlayerPrivateAVFoundation::playabilityKnown): Move the call to updateStates
1605            to dispatchNotification so it is more obvious which state changes call it.
1606        (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Correct logging typo.
1607        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Move updateStates call to
1608            dispatchNotification.
1609        (WebCore::MediaPlayerPrivateAVFoundation::rateChanged): Ditto.
1610        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Ditto.
1611        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Call updateStates after
1612            processing "size changed" notification so we detect all state changes. Consolidate
1613            calls to updateStates here.
1614
1615        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
1616        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Name the video layer in
1617            a debug build.
1618
16192011-05-10  Abhishek Arya  <inferno@chromium.org>
1620
1621        Reviewed by Simon Fraser.
1622
1623        Add containsFloats call to hasOverhangingFloats.
1624        https://bugs.webkit.org/show_bug.cgi?id=60537
1625
1626        Test: fast/block/float/no-overhanging-float-crash.html
1627
1628        * rendering/RenderBlock.cpp:
1629        (WebCore::RenderBlock::repaintOverhangingFloats):
1630        * rendering/RenderBlock.h:
1631        (WebCore::RenderBlock::hasOverhangingFloats):
1632
16332011-05-10  Alexis Menard  <alexis.menard@openbossa.org>
1634
1635        Reviewed by Antonio Gomes.
1636
1637        Warning fix on PluginPackage.cpp.
1638        https://bugs.webkit.org/show_bug.cgi?id=60371
1639
1640        Warning fix on conversion from time_t to unsigned on Linux with GCC 4.6.0.
1641        Let's use a struct rather than an array so we can pass everything to StringHasher.
1642
1643        * plugins/PluginPackage.cpp:
1644        (WebCore::PluginPackage::hash):
1645
16462011-05-10  Andreas Kling  <andreas.kling@nokia.com>
1647
1648        Rubber-stamped by Csaba Osztrogonác.
1649
1650        [Qt] Disable HAVE_QRAWFONT until Qt API stabilizes.
1651        https://bugs.webkit.org/show_bug.cgi?id=60551
1652
1653        * WebCore.pro: Disable the line that enables HAVE_QRAWFONT
1654        if the feature is found. Added a comment about why.
1655
16562011-05-10  Andrey Kosyakov  <caseq@chromium.org>
1657
1658        Reviewed by Sam Weinig.
1659
1660        Web Inspector: inspector/console/console-shadow-dom-access.html crashes on mac debug
1661        https://bugs.webkit.org/show_bug.cgi?id=60266
1662
1663        * bindings/objc/DOM.mm:
1664        (kitClass): return DOMNode class for shadow root node
1665
1666
16672011-05-10  Ben Murdoch  <benm@google.com>
1668
1669        Reviewed by Steve Block.
1670
1671        Fix build in WebCore/xml/XSLTProcessorLibxslt.cpp
1672        https://bugs.webkit.org/show_bug.cgi?id=60478
1673
1674        No new tests), build fix only.
1675
1676        * xml/XSLTProcessorLibxslt.cpp: Add CString.h include.
1677
16782011-05-10  Keith Kyzivat  <keith.kyzivat@nokia.com>
1679
1680        Reviewed by Kenneth Rohde Christiansen.
1681
1682        [Qt] QtRawFont support should check based on feature, not version
1683        https://bugs.webkit.org/show_bug.cgi?id=60513
1684
1685        Build fix - no tests added.
1686
1687        * WebCore.pro:
1688
16892011-05-10  Tony Gentilcore  <tonyg@chromium.org>
1690
1691        Build fix: include ExceptionCode
1692        https://bugs.webkit.org/show_bug.cgi?id=60538
1693
1694        * bindings/js/JSDOMBinding.cpp:
1695
16962011-05-06  Tony Gentilcore  <tonyg@chromium.org>
1697
1698        Reviewed by Darin Adler.
1699
1700        Fix some unnecessary includes in headers
1701        https://bugs.webkit.org/show_bug.cgi?id=60388
1702
1703        These were all found using the include-what-you-use clang plugin.
1704
1705        * css/CSSFontFaceSrcValue.h:
1706        * css/CSSImageGeneratorValue.h:
1707        * css/CSSParser.h:
1708        * css/CSSPrimitiveValueCache.cpp:
1709        * css/CSSPrimitiveValueCache.h:
1710        * css/CSSStyleSelector.cpp:
1711        * css/CSSStyleSelector.h:
1712        * css/RGBColor.cpp:
1713        * css/RGBColor.h:
1714        * dom/EventTarget.h:
1715        * dom/ExceptionBase.cpp:
1716        * dom/ExceptionBase.h:
1717        * dom/MessagePort.cpp:
1718        * dom/Range.cpp:
1719        * dom/Range.h:
1720        * dom/SelectElement.cpp:
1721        * dom/SelectElement.h:
1722        * dom/TextEvent.cpp:
1723        * dom/TextEvent.h:
1724        * dom/Touch.cpp:
1725        * dom/Touch.h:
1726        * dom/TouchEvent.cpp:
1727        * dom/TouchEvent.h:
1728        * dom/XMLDocumentParser.h:
1729        * dom/XMLDocumentParserScope.h:
1730        * editing/AppendNodeCommand.cpp:
1731        * editing/ApplyBlockElementCommand.h:
1732        * editing/DeleteFromTextNodeCommand.cpp:
1733        * editing/EditCommand.h:
1734        * editing/Editor.h:
1735        * editing/FormatBlockCommand.h:
1736        * editing/IndentOutdentCommand.h:
1737        * editing/InsertIntoTextNodeCommand.cpp:
1738        * editing/InsertNodeBeforeCommand.cpp:
1739        * editing/ReplaceSelectionCommand.h:
1740        * editing/SetNodeAttributeCommand.h:
1741        * html/HTMLSelectElement.h:
1742        * html/canvas/CanvasRenderingContext2D.cpp:
1743        * loader/appcache/DOMApplicationCache.cpp:
1744        * page/EventSource.cpp:
1745        * rendering/RenderListBox.cpp:
1746        * rendering/RenderMenuList.cpp:
1747        * rendering/RenderTextControlSingleLine.cpp:
1748        * rendering/svg/RenderSVGInlineText.cpp:
1749        * svg/SVGMatrix.h:
1750        * websockets/WebSocket.cpp:
1751        * workers/AbstractWorker.cpp:
1752        * xml/XMLHttpRequest.cpp:
1753        * xml/XPathExpression.cpp:
1754
17552011-05-10  MORITA Hajime  <morrita@google.com>
1756
1757        Reviewed by Ryosuke Niwa.
1758
1759        REGRESSION(r73886): Frequent crashes in replaceSelectionWithFragment
1760        https://bugs.webkit.org/show_bug.cgi?id=60090
1761
1762        SpellChecker uses TextCheckerClient, which belongs Page object,
1763        which is possibly destroyed during SpellChecker's lifetime.
1764        This change added to a guard before using TextCheckerClient to
1765        ensure it being live.
1766
1767        No new tests, this is a speculative fix for a real crash.
1768
1769        * editing/Editor.cpp:
1770        (WebCore::Editor::Editor):
1771        * editing/SpellChecker.cpp:
1772        (WebCore::SpellChecker::SpellChecker):
1773        (WebCore::SpellChecker::client):
1774        (WebCore::SpellChecker::canCheckAsynchronously):
1775        (WebCore::SpellChecker::requestCheckingFor):
1776        * editing/SpellChecker.h:
1777
17782011-05-09  Dan Bernstein  <mitz@apple.com>
1779
1780        Try to fix the LLVM Compiler build.
1781
1782        * page/EventHandler.h:
1783
17842011-05-09  Daniel Cheng  <dcheng@chromium.org>
1785
1786        Fix the build.
1787
1788        Really add the file this time.
1789
1790        * page/DragState.h: Added.
1791        (WebCore::DragState::DragState):
1792
17932011-05-09  Daniel Cheng  <dcheng@chromium.org>
1794
1795        Reviewed by Tony Chang.
1796
1797        Refactor RenderObject::draggableNode.
1798        https://bugs.webkit.org/show_bug.cgi?id=60503
1799
1800        This patch lays the ground for refactoring the drag start logic. It moves draggableNode to
1801        DragController to avoid the awkward plumbing of calling DragController from RenderObject and
1802        also moves EventHandlerDragState out from EventHandler so it can be shared between
1803        EventHandler and DragController where appropriate.
1804
1805        No new tests since there should be no behavior change.
1806
1807        * GNUmakefile.list.am:
1808        * WebCore.gypi:
1809        * WebCore.pro:
1810        * WebCore.vcproj/WebCore.vcproj:
1811        * WebCore.xcodeproj/project.pbxproj:
1812        * page/DragController.cpp:
1813        (WebCore::DragController::draggableNode):
1814        (WebCore::DragController::mayStartDragAtEventLocation):
1815        * page/DragController.h:
1816        * page/DragState.h: Added.
1817        (WebCore::DragState::DragState):
1818        * page/EventHandler.cpp:
1819        (WebCore::EventHandler::dragState):
1820        (WebCore::EventHandler::eventMayStartDrag):
1821        (WebCore::EventHandler::handleDrag):
1822        * page/EventHandler.h:
1823        * rendering/RenderObject.cpp:
1824        * rendering/RenderObject.h:
1825
18262011-05-09  Luke Macpherson   <macpherson@chromium.org>
1827
1828        Reviewed by Darin Adler.
1829
1830        Enable casting between CSSPrimitiveValue and FontWeight enum
1831        https://bugs.webkit.org/show_bug.cgi?id=60516
1832
1833        No new tests added as no functionality changed.
1834
1835        * css/CSSPrimitiveValueMappings.h:
1836        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1837        Implement cast from FontWeight to CSSPrimitiveValue.
1838        (WebCore::CSSPrimitiveValue::operator FontWeight):
1839        Implement cast from CSSPrimitiveValue to FontWeight
1840        * css/CSSStyleSelector.cpp:
1841        (WebCore::CSSStyleSelector::applyProperty):
1842        Use new cast to reduce code size.
1843        Flatten switch inside if.
1844
18452011-05-09  Simon Fraser  <simon.fraser@apple.com>
1846
1847        Move IconURL.* into the dom grouping.
1848
1849        * WebCore.xcodeproj/project.pbxproj:
1850
18512011-05-08  Jeremy Noble  <jer.noble@apple.com>
1852
1853        Reviewed by Dan Bernstein.
1854
1855        Full-screen video disappears behind black screen with scrollbar, followed by crash at jerryseinfeld.com
1856        https://bugs.webkit.org/show_bug.cgi?id=60449
1857
1858        Make RenderFullScreen a non-anonymous block, so that it does not get deleted when a parent attempts to
1859        coalesce anonymous children.
1860
1861        Test: fullscreen/full-screen-remove-sibling.html
1862
1863        * rendering/RenderObject.h:
1864        (WebCore::RenderObject::isAnonymousBlock):
1865
18662011-05-09  Jeremy Noble  <jer.noble@apple.com>
1867
1868        Reviewed by Simon Fraser.
1869
1870        REGRESSION (r84706): Crazy rendering of vimeo.com after exiting fullscreen video
1871        https://bugs.webkit.org/show_bug.cgi?id=60512
1872
1873        Initialize m_containsFullScreenElement.
1874
1875        * html/HTMLFrameElementBase.cpp:
1876        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
1877
18782011-05-09  Ryosuke Niwa  <rniwa@webkit.org>
1879
1880        Reviewed by Darin Adler.
1881
1882        REGRESSION(r86039): DragCaretController doesn't draw caret
1883        https://bugs.webkit.org/show_bug.cgi?id=60505
1884
1885        Removed an early exit in setCaretPosition introduced by r86039.
1886        Also replaced calls to containerNode by deprecatedNode since rendering code doesn't
1887        support container node for rendering caret.
1888
1889        * editing/FrameSelection.cpp:
1890        (WebCore::DragCaretController::setCaretPosition):
1891
18922011-04-29  Martin Robinson  <mrobinson@igalia.com>
1893
1894        Reviewed by Gustavo Noronha Silva.
1895
1896        [GTK] Untangle GtkAdjustments from WebCore
1897        https://bugs.webkit.org/show_bug.cgi?id=59821
1898
1899        Completely remove the ability for WebKit to set GtkAdjustments on ScrollViews
1900        and, consequently, Scrollbars. Handling adjustment updates can now be managed
1901        in WebKit.
1902
1903        No new tests. This is covered by existing Scrollbar tests.
1904
1905        * platform/ScrollView.cpp: platformInit and platformDestroy can now be shared
1906        between ScrollView.cpp and ScrollViewGtk.cpp.
1907        * platform/ScrollView.h: Remove unused methods.
1908        * platform/gtk/MainFrameScrollbarGtk.cpp:
1909        (MainFrameScrollbarGtk::create): No longer need to pass in the adjustment.
1910        (MainFrameScrollbarGtk::MainFrameScrollbarGtk): Update the comments here.
1911        * platform/gtk/MainFrameScrollbarGtk.h: Lots of code removal.
1912        * platform/gtk/ScrollViewGtk.cpp: Ditto.
1913        (WebCore::ScrollView::createScrollbar): Ditto.
1914        (WebCore::ScrollView::setScrollbarModes): Ditto.
1915        * plugins/gtk/PluginViewGtk.cpp: This file needs the GRefPtrGtk.h include now
1916        that it doesn't receive it transitively.
1917
19182011-05-09  Adam Barth  <abarth@webkit.org>
1919
1920        Reviewed by Eric Seidel.
1921
1922        CSP should block Function constructor
1923        https://bugs.webkit.org/show_bug.cgi?id=60240
1924
1925        Tests: http/tests/security/contentSecurityPolicy/function-constructor-allowed.html
1926               http/tests/security/contentSecurityPolicy/function-constructor-blocked.html
1927
1928        * bindings/js/JSLazyEventListener.cpp:
1929        (WebCore::JSLazyEventListener::initializeJSFunction):
1930            - Update call site to the new entrypoint.
1931        * bindings/v8/V8LazyEventListener.cpp:
1932        (WebCore::V8LazyEventListener::prepareListenerObject):
1933            - Add some comments about the rediculousness of this implementation.
1934
19352011-05-09  Chris Rogers  <crogers@google.com>
1936
1937        Reviewed by Kenneth Russell.
1938
1939        Add RAII-style DenormalDisabler class to disable denormals which hurt audio performance
1940        https://bugs.webkit.org/show_bug.cgi?id=60396
1941
1942        No new tests since audio API is not yet implemented.
1943
1944        * WebCore.gypi:
1945        * WebCore.xcodeproj/project.pbxproj:
1946        * platform/audio/DenormalDisabler.h: Added.
1947        (WebCore::DenormalDisabler::DenormalDisabler):
1948        (WebCore::DenormalDisabler::~DenormalDisabler):
1949        (WebCore::DenormalDisabler::getCSR):
1950        (WebCore::DenormalDisabler::setCSR):
1951        * webaudio/AudioDestinationNode.cpp:
1952        (WebCore::AudioDestinationNode::provideInput):
1953
19542011-05-09  Tony Chang  <tony@chromium.org>
1955
1956        Reviewed by Eric Seidel.
1957
1958        Style cleanups in RenderFlexibleBox.cpp
1959        https://bugs.webkit.org/show_bug.cgi?id=60504
1960
1961        No new tests, just refactoring.
1962
1963        * rendering/RenderFlexibleBox.cpp:
1964        (WebCore::FlexBoxIterator::FlexBoxIterator): Use m_ for member variables, and
1965            use class initializer list.
1966        (WebCore::FlexBoxIterator::reset):
1967        (WebCore::FlexBoxIterator::next):
1968        (WebCore::RenderFlexibleBox::RenderFlexibleBox):
1969        (WebCore::marginWidthForChild): Pull out common code used in calc*PrefWidths
1970        (WebCore::RenderFlexibleBox::calcHorizontalPrefWidths):
1971        (WebCore::RenderFlexibleBox::calcVerticalPrefWidths):
1972        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
1973        (WebCore::RenderFlexibleBox::layoutBlock):
1974        (WebCore::gatherFlexChildrenInfo): Rewrite uses of FlexBoxIterator into for statements
1975            rather than while loops.
1976        (WebCore::RenderFlexibleBox::layoutHorizontalBox): ditto
1977        (WebCore::RenderFlexibleBox::layoutVerticalBox): ditto
1978        (WebCore::RenderFlexibleBox::applyLineClamp):
1979        (WebCore::RenderFlexibleBox::allowedChildFlex): Rename variables w/h to width/height.
1980
19812011-05-09  Eric Seidel  <eric@webkit.org>
1982
1983        Reviewed by Ryosuke Niwa.
1984
1985        Abstract line deletion code into a function
1986        https://bugs.webkit.org/show_bug.cgi?id=60501
1987
1988        No change in behavior, thus no testing.
1989
1990        * rendering/RenderBlockLineLayout.cpp:
1991        (WebCore::deleteLineRange):
1992        (WebCore::RenderBlock::layoutRunsAndFloats):
1993        (WebCore::RenderBlock::determineStartPosition):
1994        (WebCore::RenderBlock::matchedEndLine):
1995
19962011-05-09  Darin Adler  <darin@apple.com>
1997
1998        Cleared some stray executable bits on source files.
1999
2000        * bindings/js/WorkerScriptDebugServer.cpp: Removed property svn:executable.
2001        * bindings/js/WorkerScriptDebugServer.h: Removed property svn:executable.
2002
20032011-05-09  Erik Arvidsson  <arv@chromium.org>
2004
2005        Reviewed by Darin Adler.
2006
2007        radiogroup: onchange not detected when triggered by keyboard
2008        https://bugs.webkit.org/show_bug.cgi?id=32013
2009
2010        Test: fast/forms/radio-group-keyboard-change-event.html
2011
2012        * html/RadioInputType.cpp:
2013        (WebCore::RadioInputType::handleKeydownEvent): Ensure that we do not check the radio input before we simulate the click
2014            event. The simulated click event will check it for us but more importantly it will fire the "change" event as
2015            expected.
2016
20172011-05-09  Adam Barth  <abarth@webkit.org>
2018
2019        Reviewed by Daniel Bates.
2020
2021        XSSAuditor should be more selective about the <meta http-equivs> that it blocks
2022        https://bugs.webkit.org/show_bug.cgi?id=60489
2023
2024        We don't need to filter most http-equiv attributes.  This patch
2025        introduces a blacklist for two that we probably do want to filter.
2026        It's possible a whitelist would be more appropriate, but I'm inclined
2027        to start with a blacklist and see how it works.
2028
2029        This patch will hopefully fix a false positive that is causing errors
2030        with copy-and-pasted text in Gmail in some configurations (due to using
2031        the <meta> tag to request UTF-8 encoding both in the pasted text and in
2032        the page itself).
2033
2034        * html/parser/XSSFilter.cpp:
2035        (WebCore::isNonCanonicalCharacter):
2036        (WebCore::canonicalize):
2037        (WebCore::isRequiredForInjection):
2038        (WebCore::hasName):
2039        (WebCore::findAttributeWithName):
2040        (WebCore::isNameOfInlineEventHandler):
2041        (WebCore::isDangerousHTTPEquiv):
2042            - This function is new in the patch and includes a blacklist of
2043              dangerous http-equivs.  Many of the other functions listed here
2044              are just being moved from an anonymous namespace to use static
2045              for internal linkage.
2046        (WebCore::containsJavaScriptURL):
2047        (WebCore::decodeURL):
2048        (WebCore::XSSFilter::eraseAttributeIfInjected):
2049
20502011-05-05  Matthew Delaney  <mdelaney@apple.com>
2051
2052        Reviewed by Simon Fraser.
2053
2054        Remove canvas usage of roundToDevicePixels
2055        https://bugs.webkit.org/show_bug.cgi?id=60331
2056
2057        No new tests. This could only affect canvases at non-integral scale factors. Our tests only run in 1.0x.
2058
2059        * html/canvas/CanvasRenderingContext2D.cpp:
2060        (WebCore::CanvasRenderingContext2D::drawImage):
2061
20622011-05-09  Alexis Menard  <alexis.menard@openbossa.org>
2063
2064        Reviewed by Andreas Kling.
2065
2066        [Qt] Fix the build on Embedded Linux.
2067        https://bugs.webkit.org/show_bug.cgi?id=60347
2068
2069        qpa is the name for lighthouse but the old name for Qt for Embedded Linux should
2070        still be used in order to build properly.
2071
2072        * WebCore.pri:
2073
20742011-05-09  Andreas Kling  <kling@webkit.org>
2075
2076        Reviewed by Kenneth Rohde Christiansen.
2077
2078        [Qt] Simple small-caps text is displayed in uniform size.
2079        https://bugs.webkit.org/show_bug.cgi?id=60492
2080
2081        Covered by existing tests.
2082
2083        * platform/graphics/qt/FontPlatformDataQt.cpp:
2084        (WebCore::FontPlatformData::FontPlatformData): In the FontPlatformData constructor
2085        used by SimpleFontData::scaledFontData(), pass the pixel size to both QFont and QRawFont
2086        to make small caps and emphasis marks have the correct size when rendered through
2087        the fast font path.
2088
20892011-05-09  Andreas Kling  <kling@webkit.org>
2090
2091        Reviewed by Tor Arne Vestbø.
2092
2093        [Qt] Remove unused FontPlatformData functions.
2094        https://bugs.webkit.org/show_bug.cgi?id=60485
2095
2096        * platform/graphics/qt/FontPlatformData.h:
2097        (WebCore::FontPlatformData::bold): Removed.
2098        (WebCore::FontPlatformData::family): Removed.
2099        (WebCore::FontPlatformData::italic): Removed.
2100        (WebCore::FontPlatformData::smallCaps): Removed.
2101
21022011-05-09  Robin Dunn  <robin@alldunn.com>
2103
2104        Reviewed by Kevin Ollivier.
2105
2106        [wx] Add invalid file handle check.
2107
2108        https://bugs.webkit.org/show_bug.cgi?id=60483
2109
2110        * platform/wx/FileSystemWx.cpp:
2111        (WebCore::closeFile):
2112
21132011-05-09  Robin Dunn  <robin@alldunn.com>
2114
2115        Reviewed by Kevin Ollivier.
2116
2117        [wx] Update the popup menu code to grab the native control and initialize the
2118        event handler properly.
2119
2120        https://bugs.webkit.org/show_bug.cgi?id=60482
2121
2122        * platform/wx/PopupMenuWx.cpp:
2123        (WebCore::PopupMenuWx::PopupMenuWx):
2124        (WebCore::PopupMenuWx::~PopupMenuWx):
2125        (WebCore::PopupMenuWx::show):
2126
21272011-05-09  Robin Dunn  <robin@alldunn.com>
2128
2129        Reviewed by Kevin Ollivier.
2130
2131        [wx] Make sure other controls adjust the rect to handle transforms, and turn off the
2132        adjustment in 2.9.2+ where it is handled internally by wx.
2133
2134        Also add a couple drawing and focus handling fixes for text fields and menulist controls.
2135
2136        https://bugs.webkit.org/show_bug.cgi?id=60481
2137
2138        * platform/wx/RenderThemeWx.cpp:
2139        (WebCore::getAdjustedRect):
2140        (WebCore::RenderThemeWx::supportsFocus):
2141        (WebCore::RenderThemeWx::paintButton):
2142        (WebCore::RenderThemeWx::adjustTextFieldStyle):
2143        (WebCore::RenderThemeWx::paintTextField):
2144        (WebCore::RenderThemeWx::adjustMenuListStyle):
2145        (WebCore::RenderThemeWx::paintMenuList):
2146        (WebCore::RenderThemeWx::paintMenuListButton):
2147
21482011-05-09  Tony Gentilcore  <tonyg@chromium.org>
2149
2150        Reviewed by Darin Adler.
2151
2152        Style fix: Function names must begin with lowercase letter and should not use "get".
2153        https://bugs.webkit.org/show_bug.cgi?id=60475
2154
2155        * dom/Document.cpp:
2156        (WebCore::Document::webkitVisibilityState):
2157        * page/PageVisibilityState.cpp:
2158        (WebCore::pageVisibilityStateString): Renamed.
2159        * page/PageVisibilityState.h:
2160
21612011-05-09  Adam Barth  <abarth@webkit.org>
2162
2163        Reviewed by Tony Gentilcore.
2164
2165        Make Chromium build with strict PassOwnPtr
2166        https://bugs.webkit.org/show_bug.cgi?id=60461
2167
2168        Fix many, many PassOwnPtr nits.
2169
2170        * bindings/v8/V8Proxy.cpp:
2171        (WebCore::V8Proxy::precompileScript):
2172        * bindings/v8/custom/V8DOMWindowCustom.cpp:
2173        (WebCore::WindowSetTimeoutImpl):
2174        * bindings/v8/custom/V8MessageEventCustom.cpp:
2175        (WebCore::V8MessageEvent::initMessageEventCallback):
2176        * bindings/v8/custom/V8WorkerContextCustom.cpp:
2177        (WebCore::SetTimeoutOrInterval):
2178        * dom/Document.cpp:
2179        (WebCore::Document::removedLastRef):
2180        (WebCore::Document::detach):
2181        * fileapi/DOMFileSystem.h:
2182        (WebCore::DOMFileSystem::scheduleCallback):
2183        * fileapi/FileSystemCallbacks.cpp:
2184        (WebCore::FileSystemCallbacks::didOpenFileSystem):
2185        (WebCore::ResolveURICallbacks::didOpenFileSystem):
2186        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
2187        (WebCore::GraphicsLayer::create):
2188        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2189        (WebCore::CCLayerImpl::createRenderSurface):
2190        * platform/graphics/gpu/BicubicShader.cpp:
2191        (WebCore::BicubicShader::create):
2192        * platform/graphics/gpu/ConvolutionShader.cpp:
2193        (WebCore::ConvolutionShader::create):
2194        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
2195        (WebCore::LoopBlinnSolidFillShader::create):
2196        * platform/graphics/gpu/SolidFillShader.cpp:
2197        (WebCore::SolidFillShader::create):
2198        * platform/graphics/gpu/TexShader.cpp:
2199        (WebCore::TexShader::create):
2200        * platform/graphics/gpu/Texture.cpp:
2201        (WebCore::Texture::create):
2202        * storage/chromium/DatabaseTrackerChromium.cpp:
2203        (WebCore::TrackerRemoveOpenDatabaseTask::create):
2204        * storage/chromium/SQLTransactionClientChromium.cpp:
2205        (WebCore::NotifyDatabaseChangedTask::create):
2206
22072011-05-07  Martin Robinson  <mrobinson@igalia.com>
2208
2209        Reviewed by Daniel Bates.
2210
2211        [Soup] Clean up error handling in ResourceHandleSoup
2212        https://bugs.webkit.org/show_bug.cgi?id=60436
2213
2214        Instead of repeating the ResourceError creation twice, abstract
2215        it into a helper method.
2216
2217        No new tests. This is a code cleanup.
2218
2219        * platform/network/soup/ResourceHandleSoup.cpp:
2220        (WebCore::soupErrorShouldCauseLoadFailure): Added.
2221        (WebCore::convertSoupErrorToResourceError): Added.
2222        (WebCore::sendRequestCallback): Use the new helpers.
2223        (WebCore::readCallback): Ditto.
2224
22252011-05-09  Abhishek Arya  <inferno@chromium.org>
2226
2227        Reviewed by Dave Hyatt.
2228
2229        Regression(r85869): Restore dirty line logic in RenderInline::destroy.
2230        https://bugs.webkit.org/show_bug.cgi?id=60448
2231
2232        Test: fast/inline/inline-destroy-dirty-lines-crash.html
2233
2234        * rendering/RenderInline.cpp:
2235        (WebCore::RenderInline::destroy):
2236
22372011-05-09  Alejandro G. Castro  <alex@igalia.com>
2238
2239        Reviewed by Martin Robinson.
2240
2241        [GTK] WidgetGtk setFocus can not access directly the widget in WK2
2242        https://bugs.webkit.org/show_bug.cgi?id=60016
2243
2244        Added code to check the situation where we do not have direct
2245        access to the widget. We use the page to grab the focus which
2246        would send a request to the UIProcess in WK2.
2247
2248        * platform/gtk/WidgetGtk.cpp:
2249        (WebCore::Widget::setFocus):
2250
22512011-05-09  Leandro Gracia Gil  <leandrogracia@chromium.org>
2252
2253        Reviewed by Tony Gentilcore.
2254
2255        Media Stream API: add exception raising to the getUserMedia method.
2256        https://bugs.webkit.org/show_bug.cgi?id=60387
2257
2258        Perform the required changes to support rising exceptions in the
2259        navigator.getUserMedia method. This is required by the latest changes in the spec:
2260        http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#dom-navigator-getusermedia
2261
2262        Test: fast/dom/MediaStream/argument-types.html
2263
2264        * bindings/js/JSNavigatorCustom.cpp:
2265        (WebCore::JSNavigator::webkitGetUserMedia):
2266        * bindings/v8/custom/V8NavigatorCustom.cpp:
2267        (WebCore::V8Navigator::webkitGetUserMediaCallback):
2268        * page/Navigator.cpp:
2269        (WebCore::Navigator::webkitGetUserMedia):
2270        * page/Navigator.h:
2271        * page/Navigator.idl:
2272
22732011-05-09  Csaba Osztrogonác  <ossy@webkit.org>
2274
2275        Unreviewed Qt 4.8 fix.
2276
2277        * WebCore.pro: 4.8 bots are updated with the full QRawFont APIs, so we can set HAVE_QRAWFONT now.
2278
22792011-05-09  Adam Roben  <aroben@apple.com>
2280
2281        Windows project file fix after r86047
2282
2283        * WebCore.vcproj/WebCore.vcproj: Added missing closing tags.
2284
22852011-05-06  Chris Marrin  <cmarrin@apple.com>
2286
2287        Reviewed by Darin Adler.
2288
2289        Fix layer names to say "tiled" and show CALayer addresses, not PlatformCALayer addresses
2290        https://bugs.webkit.org/show_bug.cgi?id=60417
2291
2292        Layer name now has "Tiled" prepended if it is a TiledLayer. This is true on Mac where
2293        the layer is a CATiledLayer and on Win where the layer is actually still a CACFLayer
2294        but implements a tiled layer. I also now print the address of the CALayer or CACFLayer
2295        instead of the PlatformCALayer everywhere.
2296
2297        * platform/graphics/ca/GraphicsLayerCA.cpp:
2298        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
2299
23002011-05-09  Rob Buis  <rbuis@rim.com>
2301
2302        Reviewed by Dirk Schulze.
2303
2304        Elements should assert that the QualifiedName given to their constructor corresponds to the Element constructed
2305        https://bugs.webkit.org/show_bug.cgi?id=22576
2306
2307        Add tag name ASSERTs in SVG Element constructors.
2308
2309        No new tests, since no change in behaviour.
2310
2311        * svg/SVGAElement.cpp:
2312        (WebCore::SVGAElement::SVGAElement):
2313        * svg/SVGAltGlyphElement.cpp:
2314        (WebCore::SVGAltGlyphElement::SVGAltGlyphElement):
2315        * svg/SVGAnimateColorElement.cpp:
2316        (WebCore::SVGAnimateColorElement::SVGAnimateColorElement):
2317        * svg/SVGAnimateElement.cpp:
2318        (WebCore::SVGAnimateElement::SVGAnimateElement):
2319        * svg/SVGAnimateMotionElement.cpp:
2320        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
2321        * svg/SVGAnimateTransformElement.cpp:
2322        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
2323        * svg/SVGCircleElement.cpp:
2324        (WebCore::SVGCircleElement::SVGCircleElement):
2325        * svg/SVGClipPathElement.cpp:
2326        (WebCore::SVGClipPathElement::SVGClipPathElement):
2327        * svg/SVGCursorElement.cpp:
2328        (WebCore::SVGCursorElement::SVGCursorElement):
2329        * svg/SVGDefsElement.cpp:
2330        (WebCore::SVGDefsElement::SVGDefsElement):
2331        * svg/SVGDescElement.cpp:
2332        (WebCore::SVGDescElement::SVGDescElement):
2333        * svg/SVGEllipseElement.cpp:
2334        (WebCore::SVGEllipseElement::SVGEllipseElement):
2335        * svg/SVGFEBlendElement.cpp:
2336        (WebCore::SVGFEBlendElement::SVGFEBlendElement):
2337        * svg/SVGFEColorMatrixElement.cpp:
2338        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
2339        * svg/SVGFEComponentTransferElement.cpp:
2340        (WebCore::SVGFEComponentTransferElement::SVGFEComponentTransferElement):
2341        * svg/SVGFECompositeElement.cpp:
2342        (WebCore::SVGFECompositeElement::SVGFECompositeElement):
2343        * svg/SVGFEConvolveMatrixElement.cpp:
2344        (WebCore::SVGFEConvolveMatrixElement::SVGFEConvolveMatrixElement):
2345        * svg/SVGFEDiffuseLightingElement.cpp:
2346        (WebCore::SVGFEDiffuseLightingElement::SVGFEDiffuseLightingElement):
2347        * svg/SVGFEDisplacementMapElement.cpp:
2348        (WebCore::SVGFEDisplacementMapElement::SVGFEDisplacementMapElement):
2349        * svg/SVGFEDistantLightElement.cpp:
2350        (WebCore::SVGFEDistantLightElement::SVGFEDistantLightElement):
2351        * svg/SVGFEDropShadowElement.cpp:
2352        (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
2353        * svg/SVGFEFloodElement.cpp:
2354        (WebCore::SVGFEFloodElement::SVGFEFloodElement):
2355        * svg/SVGFEFuncAElement.cpp:
2356        (WebCore::SVGFEFuncAElement::SVGFEFuncAElement):
2357        * svg/SVGFEFuncBElement.cpp:
2358        (WebCore::SVGFEFuncBElement::SVGFEFuncBElement):
2359        * svg/SVGFEFuncGElement.cpp:
2360        (WebCore::SVGFEFuncGElement::SVGFEFuncGElement):
2361        * svg/SVGFEFuncRElement.cpp:
2362        (WebCore::SVGFEFuncRElement::SVGFEFuncRElement):
2363        * svg/SVGFEGaussianBlurElement.cpp:
2364        (WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
2365        * svg/SVGFEImageElement.cpp:
2366        (WebCore::SVGFEImageElement::SVGFEImageElement):
2367        * svg/SVGFEMergeElement.cpp:
2368        (WebCore::SVGFEMergeElement::SVGFEMergeElement):
2369        * svg/SVGFEMergeNodeElement.cpp:
2370        (WebCore::SVGFEMergeNodeElement::SVGFEMergeNodeElement):
2371        * svg/SVGFEMorphologyElement.cpp:
2372        (WebCore::SVGFEMorphologyElement::SVGFEMorphologyElement):
2373        * svg/SVGFEOffsetElement.cpp:
2374        (WebCore::SVGFEOffsetElement::SVGFEOffsetElement):
2375        * svg/SVGFEPointLightElement.cpp:
2376        (WebCore::SVGFEPointLightElement::SVGFEPointLightElement):
2377        * svg/SVGFESpecularLightingElement.cpp:
2378        (WebCore::SVGFESpecularLightingElement::SVGFESpecularLightingElement):
2379        * svg/SVGFESpotLightElement.cpp:
2380        (WebCore::SVGFESpotLightElement::SVGFESpotLightElement):
2381        * svg/SVGFETileElement.cpp:
2382        (WebCore::SVGFETileElement::SVGFETileElement):
2383        * svg/SVGFETurbulenceElement.cpp:
2384        (WebCore::SVGFETurbulenceElement::SVGFETurbulenceElement):
2385        * svg/SVGFilterElement.cpp:
2386        (WebCore::SVGFilterElement::SVGFilterElement):
2387        * svg/SVGFontElement.cpp:
2388        (WebCore::SVGFontElement::SVGFontElement):
2389        * svg/SVGFontFaceElement.cpp:
2390        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
2391        * svg/SVGFontFaceFormatElement.cpp:
2392        (WebCore::SVGFontFaceFormatElement::SVGFontFaceFormatElement):
2393        * svg/SVGFontFaceNameElement.cpp:
2394        (WebCore::SVGFontFaceNameElement::SVGFontFaceNameElement):
2395        * svg/SVGFontFaceSrcElement.cpp:
2396        (WebCore::SVGFontFaceSrcElement::SVGFontFaceSrcElement):
2397        * svg/SVGFontFaceUriElement.cpp:
2398        (WebCore::SVGFontFaceUriElement::SVGFontFaceUriElement):
2399        * svg/SVGForeignObjectElement.cpp:
2400        (WebCore::SVGForeignObjectElement::SVGForeignObjectElement):
2401        * svg/SVGGElement.cpp:
2402        (WebCore::SVGGElement::SVGGElement):
2403        * svg/SVGGlyphElement.cpp:
2404        (WebCore::SVGGlyphElement::SVGGlyphElement):
2405        * svg/SVGHKernElement.cpp:
2406        (WebCore::SVGHKernElement::SVGHKernElement):
2407        * svg/SVGImageElement.cpp:
2408        (WebCore::SVGImageElement::SVGImageElement):
2409        * svg/SVGLineElement.cpp:
2410        (WebCore::SVGLineElement::SVGLineElement):
2411        * svg/SVGLinearGradientElement.cpp:
2412        (WebCore::SVGLinearGradientElement::SVGLinearGradientElement):
2413        * svg/SVGMPathElement.cpp:
2414        (WebCore::SVGMPathElement::SVGMPathElement):
2415        * svg/SVGMarkerElement.cpp:
2416        (WebCore::SVGMarkerElement::SVGMarkerElement):
2417        * svg/SVGMaskElement.cpp:
2418        (WebCore::SVGMaskElement::SVGMaskElement):
2419        * svg/SVGMetadataElement.cpp:
2420        (WebCore::SVGMetadataElement::SVGMetadataElement):
2421        * svg/SVGMissingGlyphElement.cpp:
2422        (WebCore::SVGMissingGlyphElement::SVGMissingGlyphElement):
2423        * svg/SVGPathElement.cpp:
2424        (WebCore::SVGPathElement::SVGPathElement):
2425        * svg/SVGPatternElement.cpp:
2426        (WebCore::SVGPatternElement::SVGPatternElement):
2427        * svg/SVGPolygonElement.cpp:
2428        (WebCore::SVGPolygonElement::SVGPolygonElement):
2429        * svg/SVGPolylineElement.cpp:
2430        (WebCore::SVGPolylineElement::SVGPolylineElement):
2431        * svg/SVGRadialGradientElement.cpp:
2432        (WebCore::SVGRadialGradientElement::SVGRadialGradientElement):
2433        * svg/SVGRectElement.cpp:
2434        (WebCore::SVGRectElement::SVGRectElement):
2435        * svg/SVGSVGElement.cpp:
2436        (WebCore::SVGSVGElement::SVGSVGElement):
2437        * svg/SVGScriptElement.cpp:
2438        (WebCore::SVGScriptElement::SVGScriptElement):
2439        * svg/SVGSetElement.cpp:
2440        (WebCore::SVGSetElement::SVGSetElement):
2441        * svg/SVGStopElement.cpp:
2442        (WebCore::SVGStopElement::SVGStopElement):
2443        * svg/SVGStyleElement.cpp:
2444        (WebCore::SVGStyleElement::SVGStyleElement):
2445        * svg/SVGSwitchElement.cpp:
2446        (WebCore::SVGSwitchElement::SVGSwitchElement):
2447        * svg/SVGSymbolElement.cpp:
2448        (WebCore::SVGSymbolElement::SVGSymbolElement):
2449        * svg/SVGTRefElement.cpp:
2450        (WebCore::SVGTRefElement::SVGTRefElement):
2451        * svg/SVGTSpanElement.cpp:
2452        (WebCore::SVGTSpanElement::SVGTSpanElement):
2453        * svg/SVGTextElement.cpp:
2454        (WebCore::SVGTextElement::SVGTextElement):
2455        * svg/SVGTextPathElement.cpp:
2456        (WebCore::SVGTextPathElement::SVGTextPathElement):
2457        * svg/SVGTitleElement.cpp:
2458        (WebCore::SVGTitleElement::SVGTitleElement):
2459        * svg/SVGUseElement.cpp:
2460        (WebCore::SVGUseElement::SVGUseElement):
2461        * svg/SVGVKernElement.cpp:
2462        (WebCore::SVGVKernElement::SVGVKernElement):
2463        * svg/SVGViewElement.cpp:
2464        (WebCore::SVGViewElement::SVGViewElement):
2465
24662011-05-09  Shishir Agrawal  <shishir@chromium.org>
2467
2468        Reviewed by Tony Gentilcore.
2469
2470        Implement Page Visibility API.
2471        https://bugs.webkit.org/show_bug.cgi?id=54181
2472
2473        Tests: fast/events/page-visibility-iframe-delete-test.html
2474               fast/events/page-visibility-iframe-move-test.html
2475               fast/events/page-visibility-iframe-propagation-test.html
2476               fast/events/page-visibility-transition-test.html
2477
2478        * CMakeLists.txt:
2479        * GNUmakefile.list.am:
2480        * WebCore.gypi:
2481        * WebCore.pro:
2482        * WebCore.vcproj/WebCore.vcproj:
2483        * WebCore.xcodeproj/project.pbxproj:
2484        * dom/Document.cpp:
2485        (WebCore::Document::visibilityState):
2486        (WebCore::Document::webkitVisibilityState):
2487        (WebCore::Document::webkitIsVisible):
2488        (WebCore::Document::dispatchVisibilityStateChangeEvent):
2489        * dom/Document.h:
2490        * dom/Document.idl:
2491        * dom/EventNames.h:
2492        * page/Frame.cpp:
2493        (WebCore::Frame::dispatchVisibilityStateChangeEvent):
2494        * page/Frame.h:
2495        * page/Page.cpp:
2496        (WebCore::Page::Page):
2497        (WebCore::Page::setVisibilityState):
2498        (WebCore::Page::visibilityState):
2499        * page/Page.h:
2500        * page/PageVisibilityState.cpp: Added.
2501        (WebCore::GetPageVisibilityStateString):
2502        * page/PageVisibilityState.h: Added.
2503
25042011-05-09  Luke Macpherson   <macpherson@chromium.org>
2505
2506        Reviewed by Eric Seidel.
2507
2508        Implement expanding CSS border properties in CSSStyleApplyProperty.
2509        https://bugs.webkit.org/show_bug.cgi?id=60456
2510
2511        No new tests added as no functionality changed.
2512
2513        * css/CSSStyleApplyProperty.cpp:
2514        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
2515        Create CSS border expanding property handlers.
2516        * css/CSSStyleSelector.cpp:
2517        (WebCore::CSSStyleSelector::applyProperty):
2518        Remove property handlers that are no longer needed.
2519
25202011-05-08  Ryosuke Niwa  <rniwa@webkit.org>
2521
2522        Reviewed by Kent Tamura.
2523
2524        selectstart event does not fire when selection is made via select all
2525        https://bugs.webkit.org/show_bug.cgi?id=60376
2526
2527        Fire selectstart event when a user selects all contents (i.e. document.execCommand('SelectAll')) in
2528        document, editable region, or text control.
2529
2530        Tests: editing/selection/selectstart-on-selectall.html
2531               editing/selection/selectstart-prevent-selectall.html
2532
2533        * dom/Node.h: Removed canSelectAll and selectAll as they are left over from WMLSelectElement.
2534        * editing/FrameSelection.cpp:
2535        (WebCore::FrameSelection::selectAll): Dispatch selectstart event on selectStartTarget, which is
2536        input element or textarea element when the current selection is inside a shadow DOM, and the root
2537        editable element if it's inside a non-shadow editable region, and the body element otherwise.
2538        * html/HTMLSelectElement.h: Made canSelectAll and selectAll public since they are no longer
2539        declared in Node.
2540
25412011-05-08  Luke Macpherson   <macpherson@chromium.org>
2542
2543        Reviewed by Eric Seidel.
2544
2545        Make RenderStyle::setColumnBreakInside() reject unsupported enum values.
2546        https://bugs.webkit.org/show_bug.cgi?id=60249
2547
2548        No new tests added as no functionality changed.
2549
2550        * css/CSSStyleSelector.cpp:
2551        (WebCore::CSSStyleSelector::applyProperty):
2552        Remove special-case code and use appropriate macro.
2553        * rendering/style/RenderStyle.h:
2554        (WebCore::InheritedFlags::setColumnBreakInside):
2555        Assert that supported values are used.
2556
25572011-05-08  Ryosuke Niwa  <rniwa@webkit.org>
2558
2559        Reviewed by Darin Adler.
2560
2561        Extract a DragCaretController from FrameSelection
2562        https://bugs.webkit.org/show_bug.cgi?id=60273
2563
2564        Extracted CaretBase and DragCaretController from FrameSelection. CaretBase is a base class for
2565        DragCaretController and FrameSelection and provides functions to paint caret.
2566
2567        Since DragCaretController doesn't need to store selection, it only holds one VisiblePosition.
2568
2569        * WebCore.exp.in:
2570        * editing/FrameSelection.cpp:
2571        (WebCore::CaretBase::CaretBase): Added.
2572        (WebCore::DragCaretController::DragCaretController): Added; Set m_caretVisible true.
2573        (WebCore::DragCaretController::isContentRichlyEditable): Added.
2574        (WebCore::FrameSelection::FrameSelection): Several member variables are move to CaretBase.
2575        (WebCore::DragCaretController::setCaretPosition): Extracted from FrameSelection::setSelection.
2576        (WebCore::FrameSelection::setSelection): Removed an early exit for DragCaretController.
2577        (WebCore::clearRenderViewSelection): Extracted from FrameSelection::respondToNodeModification.
2578        (WebCore::DragCaretController::nodeWillBeRemoved): Extracted from FrameSelection::nodeWillBeRemoved
2579        and respondToNodeModification. Note that the position DragCaretController holds is equivalent to
2580        FrameSelection's base or start so when removingNodeRemovesPosition returns true for m_position,
2581        we used to execute the first if clause and cleared render tree selection and DOM tree selection.
2582        This is exactly what new DragCaretController::nodeWillBeRemoved does.
2583        (WebCore::FrameSelection::nodeWillBeRemoved): Simplified early exist conditions.
2584        (WebCore::FrameSelection::respondToNodeModification): Calls clearRenderViewSelection.
2585        (WebCore::CaretBase::updateCaretRect): Takes document, caretPosition, selection type, and boolean isOrphaned.
2586        Note that we can't obtain the document from caretPosition because VisiblePosition can be null even if
2587        FrameSelection's start was not null.
2588        (WebCore::caretRendersInsideNode): Moved; Made static local.
2589        (WebCore::CaretBase::caretRenderer): Extracted from FrameSelection::caretRenderer.
2590        (WebCore::FrameSelection::caretRenderer): Calls CaretBase::caretRenderer.
2591        (WebCore::DragCaretController::caretRenderer): Ditto.
2592        (WebCore::FrameSelection::localCaretRect): Calls updateCaretRect with extra arguments.
2593        (WebCore::CaretBase::absoluteBoundsForLocalRect): Moved from FrameSelection; Takes Node*.
2594        (WebCore::CaretBase::caretRepaintRect): Ditto.
2595        (WebCore::FrameSelection::recomputeCaretRect): Calls absoluteBoundsForLocalRect, caretRepaintRect,
2596        and shouldRepaintCaret with extra arguments.
2597        (WebCore::CaretBase::shouldRepaintCaret): Takes a boolean isContentEditable.
2598        (WebCore::FrameSelection::invalidateCaretRect): Calls CaretBase::invalidateCaretRect.
2599        (WebCore::CaretBase::invalidateCaretRect): Extracted from FrameSelection::invalidateCaretRect.
2600        (WebCore::FrameSelection::paintCaret): Calls CaretBase::paintCaret.
2601        (WebCore::CaretBase::paintCaret): Extracted from FrameSelection::paintCaret.
2602        (WebCore::FrameSelection::updateAppearance): Removed an assertion that this function is never called for
2603        DragCaretController.
2604        (WebCore::DragCaretController::paintDragCaret): Moved from FrameSelection::paintDragCaret.
2605        * editing/FrameSelection.h:
2606        (WebCore::CaretBase::localCaretRectForPainting): Added.
2607        (WebCore::DragCaretController::isContentEditable): Added.
2608        (WebCore::DragCaretController::hasCaret): Added.
2609        (WebCore::DragCaretController::caretPosition): Added.
2610        (WebCore::DragCaretController::clear): Added.
2611        * page/DragController.cpp:
2612        (WebCore::DragController::tryDocumentDrag): Uses DragCaretController.
2613        (WebCore::DragController::dispatchTextInputEventFor): Ditto.
2614        (WebCore::DragController::concludeEditDrag): Ditto.
2615        (WebCore::DragController::placeDragCaret): Ditto.
2616        * page/Page.cpp:
2617        (WebCore::Page::Page): Instantiates DragCaretController instead of FrameSelection.
2618        * page/Page.h:
2619        (WebCore::Page::dragCaretController): Returns DragCaretController* instead of FrameSelection*.
2620        * rendering/RenderBlock.cpp:
2621        (WebCore::RenderBlock::paintCaret): Uses FrameSelection and DragCaretController.
2622
26232011-05-08  Dan Bernstein  <mitz@apple.com>
2624
2625        Reviewed by Darin Adler.
2626
2627        <rdar://problem/9401853> REGRESSION (r78846): Insufficient expansion for justification when there are multiple inline boxes
2628        https://bugs.webkit.org/show_bug.cgi?id=60432
2629
2630        * rendering/InlineTextBox.h:
2631        (WebCore::InlineTextBox::setExpansion): Changed back to take a int, since the m_expansion member
2632        variable is a (truncated) int anyway.
2633        * rendering/RenderBlockLineLayout.cpp:
2634        (WebCore::computeExpansionForJustifiedText): Changed the expansion local variable into an int
2635        so that the right amount is added to the total width. Also changed to use an early return.
2636
26372011-05-08  Pavel Feldman  <pfeldman@chromium.org>
2638
2639        Not reviewed: ignore 0 responses in the inspector network instrumentation.
2640
2641        * inspector/front-end/NetworkManager.js:
2642
26432011-05-08  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
2644
2645        Reviewed by Kenneth Rohde Christiansen.
2646
2647        [Qt] GraphicsContext3D::getImageData() does not retrieve image data correctly
2648        https://bugs.webkit.org/show_bug.cgi?id=58556
2649
2650        Tests: fast/canvas/webgl/gl-teximage.html
2651
2652        * platform/graphics/qt/GraphicsContext3DQt.cpp:
2653        (WebCore::GraphicsContext3D::getImageData):
2654
26552011-05-07  Dan Bernstein  <mitz@apple.com>
2656
2657        Reviewed by Maciej Stachowiak.
2658
2659        <rdar://problem/9403055> REGRESSION (r85499): Inline images in iChat overflow their chat bubbles
2660        https://bugs.webkit.org/show_bug.cgi?id=60443
2661
2662        Test: fast/replaced/table-percent-height-positioned.html
2663
2664        * rendering/RenderBox.cpp:
2665        (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Do not apply the logic to prevent precent-height
2666        replaced elements from being squeezed by table cells when the replaced element is positioned (and thus
2667        doesn’t affect the table cell’s height).
2668
26692011-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2670
2671        Unreviewed, rolling out r86016.
2672        http://trac.webkit.org/changeset/86016
2673        https://bugs.webkit.org/show_bug.cgi?id=60445
2674
2675        caused crashes on the WK2 Windows bots (Requested by
2676        jessieberlin on #webkit).
2677
2678        * platform/network/ResourceHandle.h:
2679        * platform/network/cf/CookieStorageCFNet.cpp:
2680        (WebCore::currentCookieStorage):
2681        (WebCore::defaultCookieStorage):
2682        * platform/network/cf/ResourceHandleCFNet.cpp:
2683        (WebCore::willSendRequest):
2684        (WebCore::makeFinalRequest):
2685        (WebCore::ResourceHandle::willSendRequest):
2686        * platform/network/cf/ResourceRequestCFNet.cpp:
2687        (WebCore::ResourceRequest::doUpdatePlatformRequest):
2688
26892011-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>
2690
2691        Unreviewed, rolling out r85974.
2692        http://trac.webkit.org/changeset/85974
2693        https://bugs.webkit.org/show_bug.cgi?id=60444
2694
2695        broke browser tests (Requested by inferno-sec on #webkit).
2696
2697        * platform/network/chromium/ResourceResponse.cpp:
2698        (WebCore::ResourceResponse::doPlatformCopyData):
2699        (WebCore::ResourceResponse::doPlatformAdopt):
2700        * platform/network/chromium/ResourceResponse.h:
2701        (WebCore::ResourceResponse::downloadFilePath):
2702        (WebCore::ResourceResponse::setDownloadFilePath):
2703
27042011-05-07  Jessie Berlin  <jberlin@apple.com>
2705
2706        Reviewed by Steve Falkenburg.
2707
2708        [Windows WebKit2] Use cookies set in WebKit1
2709        https://bugs.webkit.org/show_bug.cgi?id=60274
2710
2711        Share the default storage session between the UI and Web Processes.
2712
2713        * platform/network/cf/CookieStorageCFNet.cpp:
2714        (WebCore::defaultSessionCookieStorage):
2715        Keep track of the default storage session cookie storage.
2716        (WebCore::currentCookieStorage):
2717        Call defaultCookieStorage to get the default cookie storage.
2718        (WebCore::defaultCookieStorage):
2719        If there is a default storage session cookie storage, prefer that over getting the default
2720        cookie storage. In the Web Process, asking CFNetwork for the default cookie storage directly
2721        without specifying a storage session will not get the cookie storage being shared by the UI
2722        and Web Processes.
2723
2724        * platform/network/ResourceHandle.h:
2725        * platform/network/cf/ResourceHandleCFNet.cpp:
2726        (WebCore::willSendRequest):
2727        Make sure to set the current storage session on any requests used by the Web
2728        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
2729        doing anything with the Web Process's default storage session (which is not the one shared
2730        with the UI Process).
2731        (WebCore::makeFinalRequest):
2732        Ditto.
2733        (WebCore::ResourceHandle::willSendRequest):
2734        Ditto.
2735        (WebCore::ResourceHandle::currentStorageSession):
2736        If there is a Private Browsing storage session, return that.
2737        If not, on Windows return the default storage session that is being shared with the UI
2738        Process and on Mac return 0.
2739        (WebCore::defaultCFURLStorageSession):
2740        (WebCore::ResourceHandle::setDefaultStorageSession):
2741        (WebCore::ResourceHandle::defaultStorageSession):
2742
2743        * platform/network/cf/ResourceRequestCFNet.cpp:
2744        (WebCore::ResourceRequest::doUpdatePlatformRequest):
2745        Make sure to set the current storage session on any requests used by the Web
2746        Process before CFNetwork has to do anything with them, in order for CFNetwork to avoid
2747        doing anything with the Web Process's default storage session (which is not the one shared
2748        with the UI Process).
2749
27502011-05-07  Joe Mason  <jmason@rim.com>
2751
2752        Reviewed by Daniel Bates.
2753
2754        FrameLoader::isProcessingUserGesture is wrong in dispatchWillPerformClientRedirect
2755        https://bugs.webkit.org/show_bug.cgi?id=52211
2756
2757        Create a UserGestureIndicator when calling the clientRedirected callback.
2758
2759        * loader/NavigationScheduler.cpp:
2760        (WebCore::ScheduledURLNavigation::didStartTimer):
2761        (WebCore::ScheduledURLNavigation::didStopTimer):
2762        (WebCore::ScheduledFormSubmission::didStartTimer):
2763        (WebCore::ScheduledFormSubmission::didStopTimer):
2764
27652011-05-06  Jon Lee  <jonlee@apple.com>
2766
2767        Reviewed by Alice Liu.
2768
2769        Crash when sending a wheel event to a node with no shadow ancestor node
2770        https://bugs.webkit.org/show_bug.cgi?id=60429
2771        <rdar://problem/9389619>
2772
2773        * page/EventHandler.cpp:
2774        (WebCore::EventHandler::handleWheelEvent):add check to see if the shadow ancestor node of the node that was under the mouse exists before trying to dispatch the wheel event to it.
2775
27762011-05-06  Kent Tamura  <tkent@chromium.org>
2777
2778        Reviewed by Ryosuke Niwa.
2779
2780        Eliminate WebCore/dom/InputElement.{cpp,h}
2781        https://bugs.webkit.org/show_bug.cgi?id=60262
2782
2783        - Fold in all of the code of InputElement.{cpp,h} into HTMLInputElement
2784          and TextFieldInputType.
2785        - Change the return type of Node::toInputElement():
2786          InputElement* -> HTMLInputElement*
2787
2788        No new tests. This change should not change the existing behaviour.
2789
2790        * CMakeLists.txt: Remove InpuntElement.cpp and/or InputElement.h.
2791        * GNUmakefile.list.am: ditto.
2792        * WebCore.exp.in: Add symbols of functions exposed to WebKit.
2793        * WebCore.gypi: Remove InpuntElement.cpp and/or InputElement.h.
2794        * WebCore.pro: ditto.
2795        * WebCore.vcproj/WebCore.vcproj: ditto.
2796        * WebCore.xcodeproj/project.pbxproj: ditto.
2797        * accessibility/AXObjectCache.cpp:
2798        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
2799          Follow the return type change of Node::toInputElement().
2800        * accessibility/AccessibilityRenderObject.cpp:
2801        (WebCore::AccessibilityRenderObject::isPasswordField): ditto.
2802        (WebCore::AccessibilityRenderObject::isIndeterminate): ditto.
2803        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio): ditto.
2804        (WebCore::AccessibilityRenderObject::isChecked): ditto.
2805        * css/CSSStyleSelector.cpp:
2806        (WebCore::CSSStyleSelector::canShareStyleWithElement): ditto.
2807        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): ditto.
2808        * dom/CheckedRadioButtons.cpp:
2809        (WebCore::CheckedRadioButtons::removeButton): ditto.
2810        * dom/DOMAllInOne.cpp: Remove InputElement.h.
2811        * dom/InputElement.cpp: Removed.
2812        * dom/InputElement.h: Removed.
2813        * dom/Node.cpp:
2814        (WebCore::Node::toInputElement):
2815          Change the return type from InputElement* to HTMLInputElement*.
2816        * dom/Node.h: ditto.
2817        * html/HTMLInputElement.cpp:
2818        (WebCore::HTMLInputElement::HTMLInputElement):
2819        (WebCore::HTMLInputElement::formControlName):
2820        (WebCore::HTMLInputElement::tooLong):
2821        (WebCore::HTMLInputElement::updateFocusAppearance):
2822        (WebCore::HTMLInputElement::aboutToUnload):
2823        (WebCore::HTMLInputElement::handleFocusEvent):
2824        (WebCore::HTMLInputElement::handleBlurEvent):
2825        (WebCore::HTMLInputElement::updateType):
2826        (WebCore::HTMLInputElement::parseMappedAttribute):
2827        (WebCore::HTMLInputElement::size):
2828        (WebCore::HTMLInputElement::copyNonAttributeProperties):
2829        (WebCore::HTMLInputElement::value):
2830        (WebCore::HTMLInputElement::suggestedValue):
2831        (WebCore::HTMLInputElement::setSuggestedValue):
2832        (WebCore::HTMLInputElement::setValue):
2833        (WebCore::HTMLInputElement::setValueFromRenderer):
2834        (WebCore::HTMLInputElement::setFileListFromRenderer):
2835        (WebCore::HTMLInputElement::setDefaultName):
2836        (WebCore::HTMLInputElement::maxLength):
2837        (WebCore::HTMLInputElement::cacheSelection):
2838        (WebCore::formatCodes): Moved from InputElement.
2839        (WebCore::cursorPositionToMaskIndex): ditto.
2840        (WebCore::HTMLInputElement::isConformToInputMask): ditto.
2841        (WebCore::HTMLInputElement::validateInputMask): ditto.
2842        (WebCore::HTMLInputElement::setWapInputFormat): ditto.
2843        (WebCore::HTMLInputElement::notifyFormStateChanged): ditto.
2844        (WebCore::HTMLInputElement::parseMaxLengthAttribute): ditto.
2845        (WebCore::HTMLInputElement::updateValueIfNeeded):ditto.
2846        * html/HTMLInputElement.h:
2847          - Add data members which were defined in InputElementData.
2848          - Make some functions public because the public interface InputElement is removed.
2849          - Make some functions non-virtual because they don't override
2850            corresponding virtual functions of InputElement anymore.
2851        (WebCore::HTMLInputElement::toInputElement):
2852          Follow the return type change of Node::toInputElement().
2853        (WebCore::HTMLInputElement::isIndeterminate):
2854        (WebCore::HTMLInputElement::isAutofilled):
2855        (WebCore::HTMLInputElement::supportsMaxLength):
2856        (WebCore::HTMLInputElement::cachedSelectionStart):
2857        (WebCore::HTMLInputElement::cachedSelectionEnd):
2858        * html/HTMLTextAreaElement.cpp: Remove unused InputElement.h.
2859        * html/InputType.cpp:
2860        (WebCore::InputType::handleBeforeTextInsertedEvent): Remove the code.
2861        * html/InputType.h: Update for the above.
2862        * html/TextFieldInputType.cpp:
2863        (WebCore::replaceEOLAndLimitLength): Moved from InputElement.cpp.
2864        (WebCore::TextFieldInputType::sanitizeValue): Implement with replaceEOLAndLimitLength().
2865        (WebCore::TextFieldInputType::handleBeforeTextInsertedEvent):
2866          Move the code from InputElement::handleBeforeTextInsertedEvent().
2867        * html/TextFieldInputType.h: Update declarations.
2868        * rendering/RenderTextControlSingleLine.cpp:
2869          - Remove ASSERT(node()->isHTMLElement()) because it is checked in the constructor.
2870          - Follow the return type change of inputElement().
2871        (WebCore::RenderTextControlSingleLine::RenderTextControlSingleLine):
2872          Make sure node() is an HTMLInputElement instance.
2873        (WebCore::RenderTextControlSingleLine::addSearchResult):
2874        (WebCore::RenderTextControlSingleLine::stopSearchEventTimer):
2875        (WebCore::RenderTextControlSingleLine::showPopup):
2876        (WebCore::RenderTextControlSingleLine::hidePopup):
2877        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
2878        (WebCore::RenderTextControlSingleLine::updateFromElement):
2879        (WebCore::RenderTextControlSingleLine::createInnerBlockStyle):
2880        (WebCore::RenderTextControlSingleLine::createResultsButtonStyle):
2881        (WebCore::RenderTextControlSingleLine::createCancelButtonStyle):
2882        (WebCore::RenderTextControlSingleLine::createInnerSpinButtonStyle):
2883        (WebCore::RenderTextControlSingleLine::createOuterSpinButtonStyle):
2884        (WebCore::RenderTextControlSingleLine::createSpeechButtonStyle):
2885        (WebCore::RenderTextControlSingleLine::visibilityForCancelButton):
2886        (WebCore::RenderTextControlSingleLine::startSearchEventTimer):
2887        (WebCore::RenderTextControlSingleLine::searchEventTimerFired):
2888        (WebCore::RenderTextControlSingleLine::valueChanged):
2889        (WebCore::RenderTextControlSingleLine::setTextFromItem):
2890        (WebCore::RenderTextControlSingleLine::inputElement):
2891        * rendering/RenderTextControlSingleLine.h:
2892          Change the return type of inputElement(): InputElement* -> HTMLInputElement*.
2893        * rendering/RenderTheme.cpp:
2894        (WebCore::RenderTheme::isChecked):
2895          Follow the return type change of Node::toInputElement().
2896        (WebCore::RenderTheme::isIndeterminate): ditto.
2897        (WebCore::RenderTheme::shouldHaveSpinButton):
2898          Change the parameter type: InputElement* -> HTMLInputElement*.
2899        * rendering/RenderTheme.h: ditto.
2900
29012011-05-06  Adam Barth  <abarth@webkit.org>
2902
2903        Reviewed by Eric Seidel.
2904
2905        Implement "Report-Only" mode for CSP
2906        https://bugs.webkit.org/show_bug.cgi?id=60402
2907
2908        This mode lets web sites try out CSP by getting violation reports (and
2909        console spam) without actually changing the behavior of their web sites.
2910
2911        Test: http/tests/security/contentSecurityPolicy/report-only.html
2912
2913        * dom/Document.cpp:
2914        (WebCore::Document::processHttpEquiv):
2915        * loader/FrameLoader.cpp:
2916        (WebCore::FrameLoader::didBeginDocument):
2917        * page/ContentSecurityPolicy.cpp:
2918        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
2919        (WebCore::ContentSecurityPolicy::didReceiveHeader):
2920        (WebCore::ContentSecurityPolicy::reportViolation):
2921        (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
2922        (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
2923        (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
2924        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
2925        * page/ContentSecurityPolicy.h:
2926
29272011-05-06  Beth Dakin  <bdakin@apple.com>
2928
2929        Reviewed by Darin Adler.
2930
2931        https://bugs.webkit.org/show_bug.cgi?id=60421
2932        Custom scrollbars nested inside an overlay scrollbar overflow region end up
2933        painting twice
2934        -and corresponding-
2935        <rdar://problem/9389072>
2936
2937        Be sure not to paint custom css scrollbars during the special overlay-scrollbar
2938        painting pass.
2939        * rendering/RenderLayer.cpp:
2940        (WebCore::RenderLayer::paintOverflowControls):
2941
29422011-05-06  Cary Clark  <caryclark@google.com>
2943
2944        Reviewed by Eric Seidel.
2945
2946        Add utility for converting SkCanvas to CGContext
2947        https://bugs.webkit.org/show_bug.cgi?id=59808
2948
2949        Skia on Mac uses Skia to render WebKit, and CG
2950        to render UI elements. The CG elements need a
2951        transcribed graphics context that preserves the
2952        canvas matrix, and the canvas clip.
2953
2954        The BitLockerSkia utility class sets up a CGContext
2955        from the SkCanvas, locks the bitmap's bits, and
2956        releases the lock when the class goes out of scope.
2957
2958        Each time the CGContext is retrieved, it is rebuilt.
2959        This permits the caller to modify the same canvas
2960        between calls.
2961
2962        This change adds utilities but does not modify any
2963        existing code. For now, there are no callers to these
2964        utilities, so there is no functional change.
2965
2966        No new tests.
2967
2968        * platform/graphics/skia/BitLockerSkia.cpp: Added.
2969        (WebCore::SkMatrixToCGAffineTransform): Conversion utility.
2970        (WebCore::BitLockerSkia::BitLockerSkia): Takes SkCanvas.
2971        (WebCore::BitLockerSkia::~BitLockerSkia): Unlocks, cleans up.
2972        (WebCore::BitLockerSkia::release): Internal private helper.
2973        (WebCore::BitLockerSkia::cgContext): Returns CGContextRef.
2974        * platform/graphics/skia/BitLockerSkia.h: Added.
2975
29762011-05-06  Martin Robinson  <mrobinson@igalia.com>
2977
2978        Reviewed by Xan Lopez.
2979
2980        [GTK] [WebKit2] WebView::windowToScreen needs an implementation
2981        https://bugs.webkit.org/show_bug.cgi?id=55960
2982
2983        Abstract coordinate system translation code from WebKit into WebCore.
2984        This will allow the code to be shared between WebKit and WebKit2. The code
2985        now lives in a new GtkUtilities.cpp helper file.
2986
2987        * GNUmakefile.list.am: Added GtkUtilities to the source list.
2988        * platform/gtk/GtkUtilities.cpp: Added.
2989        (WebCore::convertWidgetRectToScreenRect):
2990        * platform/gtk/GtkUtilities.h: Added.
2991
29922011-05-06  Martin Robinson  <mrobinson@igalia.com>
2993
2994        Reviewed by Xan Lopez.
2995
2996        Remove some unnecessary static methods in ResourceHandleSoup.
2997
2998        No new tests. This is only a small cleanup.
2999
3000        * platform/network/soup/ResourceHandleSoup.cpp:
3001        (WebCore::restartedCallback): Call ResourceResponse::updateFromSoupMessage directly.
3002        (WebCore::gotHeadersCallback):Ditto.
3003        (WebCore::contentSniffedCallback):Ditto.
3004        (WebCore::sendRequestCallback):Ditto.
3005        (WebCore::ResourceHandle::defaultSession): Create the soup session directly.
3006
30072011-05-06  Martin Robinson  <mrobinson@igalia.com>
3008
3009        Reviewed by Xan Lopez.
3010
3011        [Soup] ResourceHandles are leaked on 304 responses
3012        https://bugs.webkit.org/show_bug.cgi?id=60413
3013
3014        Always call cleanupSoupRequestOperation, even when the request was not
3015        canceled. Before the code would call didFinishLoading and then never clean up
3016        the request.
3017
3018        No new tests. This simply fixes a memory leak.
3019
3020        * platform/network/soup/ResourceHandleSoup.cpp:
3021        (WebCore::sendRequestCallback):
3022
30232011-05-06  Adam Barth  <abarth@webkit.org>
3024
3025        Reviewed by Eric Seidel.
3026
3027        Add disable-javascript-urls CSP directive
3028        https://bugs.webkit.org/show_bug.cgi?id=60301
3029
3030        This CSP directive is not in the CSP spec.  This patch is somewhat of
3031        an experiment to see whether this feature is useful.  Based on our
3032        implementation experience, we will coordinate with folks via the W3C to
3033        see if this makes sense to add to the spec.
3034
3035        Test: http/tests/security/contentSecurityPolicy/javascript-urls-blocked.html
3036
3037        * page/ContentSecurityPolicy.cpp:
3038        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
3039        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
3040        (WebCore::ContentSecurityPolicy::addDirective):
3041        * page/ContentSecurityPolicy.h:
3042
30432011-05-06  Brett Wilson  <brettw@chromium.org>
3044
3045        Reviewed by Adam Barth.
3046
3047        Use a File object to store the downloaded file reference rather than
3048        just the path. This keeps the file and permissions in scope (using the
3049        already-existing blob system) so the browser won't delete the file
3050        when the load is complete. Instead, the file will be cleaned up when
3051        the request objects are deleted.
3052        https://bugs.webkit.org/show_bug.cgi?id=60281
3053
3054        * platform/network/chromium/ResourceResponse.cpp:
3055        (WebCore::ResourceResponse::doPlatformCopyData):
3056        (WebCore::ResourceResponse::doPlatformAdopt):
3057        * platform/network/chromium/ResourceResponse.h:
3058        (WebCore::ResourceResponse::downloadedFile):
3059        (WebCore::ResourceResponse::setDownloadedFile):
3060
30612011-05-06  Alexis Menard  <alexis.menard@openbossa.org>
3062
3063        Reviewed by Darin Adler.
3064
3065        Fix two warnings of unused variables.
3066        https://bugs.webkit.org/show_bug.cgi?id=60370
3067
3068        Remove two unused local variable from the code.
3069
3070        No new tests, the existing ones should cover.
3071
3072        * rendering/RenderFlexibleBox.cpp:
3073        (WebCore::RenderFlexibleBox::layoutVerticalBox):
3074        * svg/animation/SVGSMILElement.cpp:
3075        (WebCore::SVGSMILElement::calculateNextProgressTime):
3076
30772011-05-06  Adam Barth  <abarth@webkit.org>
3078
3079        Reviewed by Eric Seidel.
3080
3081        Wire up CSP's eval blocking to V8's new API
3082        https://bugs.webkit.org/show_bug.cgi?id=60384
3083
3084        * bindings/v8/ScriptController.cpp:
3085        (WebCore::ScriptController::disableEval):
3086
30872011-05-06  David Hyatt  <hyatt@apple.com>
3088
3089        Reviewed by Dan Bernstein.
3090
3091        https://bugs.webkit.org/show_bug.cgi?id=60398 (<rdar://problem/9307696>)
3092        REGRESSION (r81684?): cox.com sign in button is missing
3093
3094        Fix a typo in r81684 where the ascent was used in a comparison instead of boxHeight.
3095        This restores the original behavior before the refactoring messed it up.
3096
3097        Added fast/inline/nested-top-alignment.html
3098
3099        * rendering/InlineFlowBox.cpp:
3100        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
3101
31022011-05-06  David Hyatt  <hyatt@apple.com>
3103
3104        Reviewed by Dan Bernstein.
3105
3106        https://bugs.webkit.org/show_bug.cgi?id=60390 (<rdar://problem/9364449>)
3107        REGRESSION (r81992): portions of ticketmaster site render blank
3108
3109        Make simplified layout skip from a positioned object out to its containing block.  There is no
3110        need to dirty the intermediate inlines, and in this case it's actively harmful, since the
3111        block responsible for the layout of the positioned object doesn't get m_posChildNeedsLayout set.
3112
3113        Added fast/block/positioning/hiding-inside-relpositioned-inline.html
3114
3115        * rendering/RenderObject.h:
3116        (WebCore::RenderObject::markContainingBlocksForLayout):
3117
31182011-05-06  Pavel Feldman  <pfeldman@chromium.org>
3119
3120        Not reviewed: move selection test into the text area branch.
3121
3122        * inspector/front-end/TextViewer.js:
3123        (WebInspector.TextViewer.prototype._contextMenu):
3124
31252011-05-04  Adrienne Walker  <enne@google.com>
3126
3127        Reviewed by James Robinson.
3128
3129        [chromium] Fix incorrect scissor rect for layers that render into a rendersurface
3130        https://bugs.webkit.org/show_bug.cgi?id=59020
3131
3132        Allow for empty scissor rects, which implies scissoring to the render
3133        surface. The previous code and previous patch on this bug both didn't
3134        take into account that the scissor rect should be the render surface
3135        and not the projection of the layer itself, because child layers
3136        aren't necessarily contained within the bounds of their superlayer.
3137
3138        Test: compositing/flat-with-transformed-child.html
3139
3140        * platform/graphics/chromium/LayerRendererChromium.cpp:
3141        (WebCore::LayerRendererChromium::paintLayerContents):
3142        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
3143        (WebCore::LayerRendererChromium::drawLayer):
3144        (WebCore::LayerRendererChromium::setScissorToRect):
3145
31462011-05-06  Simon Fraser  <simon.fraser@apple.com>
3147
3148        Reviewed by Sam Weinig.
3149
3150        Lazily allocate ScrollAnimator in ScrollableArea
3151        https://bugs.webkit.org/show_bug.cgi?id=60327
3152
3153        Avoid allocating the ScrollAnimator up-front, because we
3154        create lots of ScrollableAreas via RenderLayer, and we should
3155        only need the animator when scrolling.
3156
3157        * platform/ScrollableArea.cpp:
3158        (WebCore::ScrollableArea::ScrollableArea):
3159        (WebCore::ScrollableArea::scrollAnimator):
3160        (WebCore::ScrollableArea::scroll):
3161        (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
3162        (WebCore::ScrollableArea::scrollToXOffsetWithoutAnimation):
3163        (WebCore::ScrollableArea::scrollToYOffsetWithoutAnimation):
3164        (WebCore::ScrollableArea::handleWheelEvent):
3165        (WebCore::ScrollableArea::handleGestureEvent):
3166        * platform/ScrollableArea.h:
3167
31682011-05-06  Eric Carlson  <eric.carlson@apple.com>
3169
3170        Reviewed by Darin Adler.
3171
3172        REGRESSION (r77954): HTTP Live Streams have incorrect controller UI
3173        https://bugs.webkit.org/show_bug.cgi?id=60304
3174        <rdar://problem/9392609>
3175
3176        Don't assume that the only time the media controls UI may need to change is on a
3177        network state change, readyState changes can be significant as well.
3178
3179        Tested manually because we don't have any live streams to test in DRT.
3180
3181        * html/HTMLMediaElement.cpp:
3182        (WebCore::HTMLMediaElement::setNetworkState): changedNetworkState -> updateStatusDisplay.
3183        (WebCore::HTMLMediaElement::setReadyState): Call updateStatusDisplay.
3184
3185        * html/shadow/MediaControlRootElement.cpp:
3186        (WebCore::MediaControlRootElement::reset): changedNetworkState -> updateStatusDisplay.
3187        (WebCore::MediaControlRootElement::updateStatusDisplay): Ditto.
3188        * html/shadow/MediaControlRootElement.h:
3189
3190        * html/shadow/MediaControlRootElementChromium.cpp:
3191        (WebCore::MediaControlRootElementChromium::reset): Ditto.
3192        (WebCore::MediaControlRootElementChromium::updateStatusDisplay): Ditto.
3193        * html/shadow/MediaControlRootElementChromium.h:
3194        * html/shadow/MediaControls.h:
3195
31962011-05-06  Andreas Kling  <andreas.kling@nokia.com>
3197
3198        Unreviewed Qt 4.8 build fix.
3199
3200        * WebCore.pro: Don't set HAVE_QRAWFONT yet. Left a FIXME so we can
3201        enable it after the 4.8 bots are updated with the full QRawFont APIs.
3202
32032011-05-06  Alexander Pavlov  <apavlov@chromium.org>
3204
3205        Reviewed by Yury Semikhatsky.
3206
3207        Web Inspector: editing CSS in the Resources panel and not committing does not revert the change.
3208        https://bugs.webkit.org/show_bug.cgi?id=60319
3209
3210        * inspector/front-end/ResourceView.js:
3211        (WebInspector.ResourceSourceFrame.prototype.cancelEditing):
3212
32132011-05-06  Joe Mason  <jmason@rim.com>
3214
3215        Reviewed by Adam Barth.
3216
3217        WebSocket urls should always be encoded as UTF-8.
3218        https://bugs.webkit.org/show_bug.cgi?id=57138
3219
3220        Change WebSocket::connect to take the raw URL string and parse it
3221        internally using the simple KURL constructor, which expects an absolute
3222        UTF-8 encoded URL.  This ensures that all code that creates a WebSocket
3223        goes through this method instead of completeURL.
3224
3225        Test: http/tests/websocket/tests/url-with-nonascii-query.html
3226
3227        * bindings/js/JSWebSocketCustom.cpp:
3228        (WebCore::JSWebSocketConstructor::constructJSWebSocket): Pass String instead of KURL to WebSocket::connect().
3229        * websockets/WebSocket.cpp:
3230        (WebCore::WebSocket::connect): Now takes a String instead of a KURL and parses it using UTF-8.
3231        * websockets/WebSocket.h:
3232
32332011-05-06  Luke Macpherson   <macpherson@chromium.org>
3234
3235        Reviewed by Eric Seidel.
3236
3237        Make CSSStyleSelector::applyProperty() CSSPropertyWebkitColorCorrection case use appropriate macro.
3238        https://bugs.webkit.org/show_bug.cgi?id=60339
3239
3240        No tests added as no functionality changed.
3241
3242        * css/CSSStyleSelector.cpp:
3243        (WebCore::CSSStyleSelector::applyProperty):
3244        Use correct macro for CSSPropertySpeak.
3245        * rendering/style/RenderStyle.h:
3246        (WebCore::InheritedFlags::initialColorSpace):
3247        Add initialColorSpace() static method.
3248
32492011-05-06  Luke Macpherson   <macpherson@chromium.org>
3250
3251        Reviewed by Eric Seidel.
3252
3253        Make RenderStyle::setPageBreakInside() reject unsupported enum values.
3254        https://bugs.webkit.org/show_bug.cgi?id=60235
3255
3256        No tests added as no functionality changed.
3257
3258        * css/CSSStyleSelector.cpp:
3259        (WebCore::CSSStyleSelector::applyProperty):
3260        Remove special-case code and use appropriate macro.
3261        * rendering/style/RenderStyle.h:
3262        (WebCore::InheritedFlags::setPageBreakInside):
3263        Assert that only supported values are used.
3264
32652011-05-06  Luke Macpherson   <macpherson@chromium.org>
3266
3267        Reviewed by Eric Seidel.
3268
3269        Move burden of checking for BJustify box alignment into RenderStyle
3270        https://bugs.webkit.org/show_bug.cgi?id=60246
3271
3272        No new tests added as no functionality changed.
3273
3274        * css/CSSStyleSelector.cpp:
3275        (WebCore::CSSStyleSelector::applyProperty):
3276        Remove special-case logic checking for BJUSTIFY and use existing macro.
3277        * rendering/style/RenderStyle.h:
3278        (WebCore::InheritedFlags::setBoxAlign):
3279        Assert valid values are used.
3280
32812011-05-06  Luke Macpherson   <macpherson@chromium.org>
3282
3283        Reviewed by Eric Seidel.
3284
3285        Make CSSStyleSelector::applyProperty() CSSPropertyPointerEvents use the correct macro.
3286        https://bugs.webkit.org/show_bug.cgi?id=60338
3287
3288        No tests added as no functionality changed.
3289
3290        * css/CSSStyleSelector.cpp:
3291        (WebCore::CSSStyleSelector::applyProperty):
3292        Use correct macro for CSSPropertySpeak.
3293
32942011-05-06  Alexis Menard  <alexis.menard@openbossa.org>
3295
3296        Reviewed by Alexey Proskuryakov.
3297
3298        Build fix with gcc 4.6 and c++0x support.
3299        https://bugs.webkit.org/show_bug.cgi?id=60284
3300
3301        When enabling support of c++0x the compilation fails because of an
3302        ambiguous overload error. In this code when constructing the pair
3303        we use the new c++0x rvalue reference feature (&&). It means we are
3304        calling String(const WTF::AtomicString&) which becomes ambiguous because
3305        it has an overload WTF::String::String(const WTF::String&) and usually one
3306        with the native port string type (e.g. QString). In this code we want the
3307        String version because the pair store Strings.
3308
3309        No new tests, build fix.
3310
3311        * loader/FormSubmission.cpp:
3312        (WebCore::FormSubmission::create):
3313
33142011-05-06  Cris Neckar  <cdn@chromium.org>
3315
3316        Reviewed by Dirk Schulze.
3317
3318        Tests for crash when a transform is applied to certain filters.
3319        https://bugs.webkit.org/show_bug.cgi?id=59551
3320
3321        Test: svg/filters/filter-after-transform-crash.svg
3322
3323        * platform/graphics/filters/FEComposite.cpp:
3324        (WebCore::FEComposite::determineAbsolutePaintRect):
3325        * platform/graphics/filters/FEConvolveMatrix.h:
3326        (WebCore::FEConvolveMatrix::determineAbsolutePaintRect):
3327        * platform/graphics/filters/FEDisplacementMap.h:
3328        (WebCore::FEDisplacementMap::determineAbsolutePaintRect):
3329        * platform/graphics/filters/FEFlood.h:
3330        (WebCore::FEFlood::determineAbsolutePaintRect):
3331        * platform/graphics/filters/FELighting.h:
3332        (WebCore::FELighting::determineAbsolutePaintRect):
3333        * platform/graphics/filters/FETile.h:
3334        (WebCore::FETile::determineAbsolutePaintRect):
3335        * platform/graphics/filters/FETurbulence.h:
3336        (WebCore::FETurbulence::determineAbsolutePaintRect):
3337        * platform/graphics/filters/FilterEffect.cpp:
3338        (WebCore::isFilterSizeValid):
3339        (WebCore::FilterEffect::determineAbsolutePaintRect):
3340        (WebCore::FilterEffect::asUnmultipliedImage):
3341        (WebCore::FilterEffect::asPremultipliedImage):
3342        (WebCore::FilterEffect::copyUnmultipliedImage):
3343        (WebCore::FilterEffect::copyPremultipliedImage):
3344        (WebCore::FilterEffect::createUnmultipliedImageResult):
3345        (WebCore::FilterEffect::createPremultipliedImageResult):
3346        * platform/graphics/filters/FilterEffect.h:
3347        (WebCore::FilterEffect::maxEffectRect):
3348        (WebCore::FilterEffect::setMaxEffectRect):
3349        * rendering/svg/RenderSVGResourceFilter.cpp:
3350        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
3351        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
3352
33532011-05-06  Luke Macpherson   <macpherson@chromium.org>
3354
3355        Reviewed by Eric Seidel.
3356
3357        Use cast to convert primitive value to FontSmoothingMode.
3358        https://bugs.webkit.org/show_bug.cgi?id=60242
3359
3360        No tests added as no functionality changed.
3361
3362        * css/CSSStyleSelector.cpp:
3363        (WebCore::CSSStyleSelector::applyProperty):
3364        Use cast to convert primitive value to FontSmoothingMode.
3365
33662011-05-05  Luke Macpherson   <macpherson@chromium.org>
3367
3368        Reviewed by Eric Seidel.
3369
3370        Make CSSPropertySpeak use the correct macro.
3371        https://bugs.webkit.org/show_bug.cgi?id=60335
3372
3373        No tests added as no functionality changed.
3374
3375        * css/CSSStyleSelector.cpp:
3376        (WebCore::CSSStyleSelector::applyProperty):
3377        Use correct macro for CSSPropertySpeak.
3378
33792011-05-05  Eric Carlson  <eric.carlson@apple.com>
3380
3381        Reviewed by Maciej Stachowiak.
3382
3383        <rdar://problem/9390864>
3384        https://bugs.webkit.org/show_bug.cgi?id=60343
3385        Crash on Recovery System when trying to load page that includes media element
3386
3387        Automated test not possible, tested manually.
3388
3389        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3390        (WebCore::MediaPlayerPrivateAVFoundationObjC::isAvailable): Only return true if
3391            AVFoundation and CoreMedia are installed.
3392
3393        * platform/mac/SoftLinking.h: Define SOFT_LINK_FRAMEWORK_OPTIONAL, identical to
3394            SOFT_LINK_FRAMEWORK except that it doesn't ASSERT if the framework doesn't exist.
3395
33962011-05-05  Eric Carlson  <eric.carlson@apple.com>
3397
3398        Reviewed by Darin Adler.
3399
3400        Live streams sometimes won't play with AVFoundation backend
3401        https://bugs.webkit.org/show_bug.cgi?id=58961
3402        rdar://problem/9284748
3403
3404        Tested manually because we don't have any live streams to test in DRT.
3405
3406        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3407        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Don't special case seeking, assume
3408            AVFoundation will notify us when internal states change.
3409
3410        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Make m_timeObserver
3411            a RetainPtr
3412        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3413        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Ditto.
3414        (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Ditto.
3415
34162011-05-05  Jay Civelli  <jcivelli@chromium.org>
3417
3418        Reviewed by Adam Barth.
3419
3420        Adding quoted-printable encoding/decoding capabilities.
3421        This is needed for MHTML support.
3422        https://bugs.webkit.org/show_bug.cgi?id=59834
3423
3424        * CMakeLists.txt:
3425        * GNUmakefile.list.am:
3426        * WebCore.gypi:
3427        * WebCore.pro:
3428        * WebCore.vcproj/WebCore.vcproj:
3429        * WebCore.xcodeproj/project.pbxproj:
3430        * platform/text/QuotedPrintable.cpp: Added.
3431        * platform/text/QuotedPrintable.h: Added.
3432
34332011-05-05  Andy Estes  <aestes@apple.com>
3434
3435        Reviewed by Eric Seidel.
3436
3437        Implement document.innerHTML
3438        https://bugs.webkit.org/show_bug.cgi?id=60316
3439
3440        ASSERT that contextElement is non-0 when constructing a HTMLTreeBuilder
3441        for fragment parsing. This assertion will become invalid when
3442        document.innerHTML is implemented, which is the only case where HTML5
3443        specifies that a fragment will not have a context element.
3444
3445        * html/parser/HTMLTreeBuilder.cpp:
3446        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
3447
34482011-05-05  Kevin Ollivier  <kevino@theolliviers.com>
3449
3450        [wx] Unreviewed build fix. Include ApplicationServices for wx port.
3451
3452        * platform/graphics/GlyphBuffer.h:
3453        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
3454
34552011-05-05  Dan Bernstein  <mitz@apple.com>
3456
3457        Reviewed by Simon Fraser.
3458
3459        WebCore part of <rdar://problem/9155590> Broken animation in iAd producer
3460
3461        * WebCore.exp.in: Export wkExecutableWasLinkedOnOrBeforeSnowLeopard.
3462        * platform/graphics/ca/GraphicsLayerCA.cpp:
3463        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes): Account for the binary-compatiblity
3464        check in Core Animation.
3465        * platform/mac/WebCoreSystemInterface.h: Added wkExecutableWasLinkedOnOrBeforeSnowLeopard.
3466        * platform/mac/WebCoreSystemInterface.mm: Ditto.
3467
34682011-05-05  Sam Weinig  <sam@webkit.org>
3469
3470        Reviewed by Anders Carlsson.
3471
3472        WebKit2 (Mac): Background tabs/windows can force themselves to the front
3473        <rdar://problem/9386346>
3474        https://bugs.webkit.org/show_bug.cgi?id=60315
3475
3476        * platform/mac/WidgetMac.mm:
3477        (WebCore::Widget::setFocus):
3478        It is incorrect for us to call Chrome::focus() here, which could bring a window/tab
3479        to the front. Calling focusNSView() was only necessary because in WebKit we must inform
3480        the platform widget that the focus has changed. WebKit2 Mac now matches other ports.
3481
34822011-05-05  Justin Novosad  <junov@chromium.org>
3483
3484        Reviewed by Kenneth Russell.
3485
3486        [Chromium] Change the --accelerated-2d-canvas flag to mean Ganesh, and stop using --enable-accelerated-drawing for that purpose
3487        https://bugs.webkit.org/show_bug.cgi?id=60173
3488
3489        * page/Page.cpp:
3490        (WebCore::Page::sharedGraphicsContext3D):
3491        Flipping the switch to make Skia the default for the accelerated 2d canvas
3492
34932011-05-05  Tony Gentilcore  <tonyg@chromium.org>
3494
3495        Reviewed by Adam Barth.
3496
3497        ASSERT(m_state == ParsingState) fires @ www.canalplus.fr
3498        https://bugs.webkit.org/show_bug.cgi?id=60101
3499
3500        Test: fast/parser/close-while-stopping.html
3501
3502        * dom/Document.cpp:
3503        (WebCore::Document::close): According to http://www.whatwg.org/specs/web-apps/current-work/#dom-document-close,
3504        the close() steps should be aborted if there is no script-created parser
3505        associated with the document. Our parser lives throughout
3506        http://www.whatwg.org/specs/web-apps/current-work/#the-end, but it seems
3507        the spec doesn't consider the parser active any more. So to properly
3508        respect this, we need to check that the parser is still parsing.
3509
35102011-04-28  Evan Martin  <evan@chromium.org>
3511
3512        Reviewed by Ojan Vafai.
3513
3514        REGRESSION: backspace should not go back on Linux
3515        https://bugs.webkit.org/show_bug.cgi?id=59731
3516
3517        Add a new EditingBehavior, shouldNavigateBackOnBackspace, which is false on
3518        Linux, and test for it in the default backspace handler.
3519
3520        * editing/EditingBehavior.h:
3521        (WebCore::EditingBehavior::shouldNavigateBackOnBackspace):
3522        * page/EventHandler.cpp:
3523        (WebCore::EventHandler::defaultBackspaceEventHandler):
3524
35252011-05-05  Igor Oliveira  <igor.oliveira@openbossa.org>
3526
3527        Reviewed by Kenneth Russell.
3528
3529        Framebuffer object is being created twice
3530        https://bugs.webkit.org/show_bug.cgi?id=60207
3531
3532        Does not create more than one opengl framebuffer
3533
3534        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
3535        (WebCore::DrawingBuffer::DrawingBuffer):
3536        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
3537        (WebCore::DrawingBuffer::DrawingBuffer):
3538        * platform/graphics/gtk/DrawingBufferGtk.cpp:
3539        (WebCore::DrawingBuffer::DrawingBuffer):
3540
35412011-05-05  Simon Fraser  <simon.fraser@apple.com>
3542
3543        Reviewed by Beth Dakin.
3544
3545        Every RenderLayer registers itself as a ScrollableArea
3546        https://bugs.webkit.org/show_bug.cgi?id=59650
3547
3548        Rather than registering every RenderLayer as a ScrollableArea
3549        on layer creation, only register RenderLayers which are overflow-
3550        scrollable. Use the m_scrollableAreaPage pointer to keep track
3551        of whether we've registered to avoid excess work.
3552
3553        * rendering/RenderLayer.cpp:
3554        (WebCore::RenderLayer::RenderLayer):
3555        (WebCore::RenderLayer::scrollsOverflow):
3556        (WebCore::RenderLayer::styleChanged):
3557        * rendering/RenderLayer.h:
3558
35592011-05-05  Jer Noble  <jer.noble@apple.com>
3560
3561        Reviewed by Steve Falkenburg.
3562
3563        Workaround iTunes' incorrect registry entry for .m4a extensions.
3564        https://bugs.webkit.org/show_bug.cgi?id=60229
3565
3566        No new tests, as a test already exits for .m4a support (LayoutTests/media/audio-mpeg4-supported.html).
3567        The test failed to catch this regression because the build bots haven't installed iTunes.
3568
3569        Add a hard-coded MIME type mapping for 'm4a' -> 'audio/x-m4a'.
3570
3571        * platform/win/MIMETypeRegistryWin.cpp:
3572        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
3573
35742011-05-05  Abhishek Arya  <inferno@chromium.org>
3575
3576        Reviewed by Dave Hyatt.
3577
3578        When style changes for a RenderBlock and we lose our ability to intrude into
3579        floats in the next siblings block (e.g a position change), make sure to mark
3580        our childs with floats for layout and iterate through our next sibling block
3581        chain to see which ones contain the float that also exists in our floating
3582        objects list and clear those using markAllDescendantsWithFloatsForLayout.
3583        https://bugs.webkit.org/show_bug.cgi?id=56299
3584
3585        Tests: fast/block/float/float-not-removed-from-next-sibling-crash.html
3586               fast/block/float/float-not-removed-from-next-sibling.html
3587               fast/block/float/float-not-removed-from-next-sibling2.html
3588               fast/block/float/float-not-removed-from-next-sibling3.html
3589               fast/block/float/float-not-removed-from-next-sibling4.html
3590
3591        * rendering/RenderBlock.cpp:
3592        (WebCore::RenderBlock::styleWillChange):
3593        (WebCore::RenderBlock::styleDidChange):
3594        (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
3595        * rendering/RenderBlock.h:
3596
35972011-05-05  Brian Weinstein  <bweinstein@apple.com>
3598
3599        Reviewed by Timothy Hatcher.
3600
3601        WebKit2: Docking Web Inspector doesn't respect maximum inspector size
3602        https://bugs.webkit.org/show_bug.cgi?id=60294
3603        <rdar://problem/9388518>
3604
3605        Make a needed function public and export it.
3606
3607        * WebCore.exp.in: Export constrainedAttaechedWindowHeight.
3608        * inspector/InspectorFrontendClientLocal.h: Make constrainedAttaechedWindowHeight public.
3609
36102011-05-05  Tony Gentilcore  <tonyg@chromium.org>
3611
3612        Reviewed by Nate Chapin.
3613
3614        [Navigation Timing] navigationStart should always be available
3615        https://bugs.webkit.org/show_bug.cgi?id=59448
3616
3617        * page/PerformanceTiming.cpp:
3618        (WebCore::PerformanceTiming::navigationStart):
3619
36202011-05-05  Eric Carlson  <eric.carlson@apple.com>
3621
3622        Reviewed by Adam Roben.
3623
3624        Block callbacks delivered during destruction
3625        https://bugs.webkit.org/show_bug.cgi?id=60291
3626        <rdar://problem/9382942>
3627
3628        No new tests, tested by existing tests.
3629
3630        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3631        (WebCore::MediaPlayerPrivateAVFoundation::~MediaPlayerPrivateAVFoundation): Call
3632            setIgnoreLoadStateChanges(true) to cancel all callbacks.
3633        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Return immediately if
3634            m_ignoreLoadStateChanges is true.
3635        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): loadStateChanged -> updateStates.
3636            Don't call updateStates after calling loadedTimeRangesChanged, it already does it.
3637        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3638
36392011-05-05  David Hyatt  <hyatt@apple.com>
3640
3641        Reviewed by Darin Adler.
3642
3643        <rdar://problem/9354979> REGRESSION (r83070-r83126): Conversation takes 10 seconds to load and makes mail unresponsive
3644
3645        Culled inlines were triggering some pathological line box tree groveling that isn't even necessary.
3646        Removed the ancient code (that used to be in RenderFlow), since it made no sense in the RenderBlock case
3647        (it was running for inline blocks, which was definitely not even the intent) or in the RenderInline case
3648        (the object being removed has no effect on any lines).
3649
3650        Also tweaked culledInlineFirstLineBox and culledInlineLastLineBox to avoid bailing if the first replaced object that
3651        is encountered has a null inlineBoxWrapper().  Just a slight speed optimization to avoid an extra null check.
3652
3653        * rendering/RenderBlock.cpp:
3654        (WebCore::RenderBlock::destroy):
3655        * rendering/RenderInline.cpp:
3656        (WebCore::RenderInline::destroy):
3657        (WebCore::RenderInline::culledInlineFirstLineBox):
3658        (WebCore::RenderInline::culledInlineLastLineBox):
3659
36602011-05-05  Bharathwaaj Srinivasan  <bharathwaaj.s@gmail.com>
3661
3662        Reviewed by Holger Freyther.
3663
3664        Fix build-webkit --minimal.
3665        https://bugs.webkit.org/show_bug.cgi?id=60257
3666
3667        No new tests. This is just a build fix.
3668
3669        * bindings/js/JSDOMBinding.cpp:
3670
36712011-05-05  Eric Carlson  <eric.carlson@apple.com>
3672
3673        Reviewed by Adam Roben.
3674
3675        The preload attribute of the video tag is not completely implemented
3676        https://bugs.webkit.org/show_bug.cgi?id=43673
3677        <rdar://problem/9369746>
3678
3679        This change implements "preload=metadata" for the AVFoundation backend.
3680        Tested manually with manual-tests/media-elements/video-preload.html.
3681
3682        * html/HTMLMediaElement.cpp:
3683        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
3684        (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
3685        (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
3686        (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'auto'
3687            because we need to have media data loaded to seek.
3688        (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
3689        * html/HTMLMediaElement.h:
3690
3691        * manual-tests/media-elements/video-preload.html: Make changing urls work.
3692
3693        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
3694        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):  Remove
3695            m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
3696        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
3697        (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn.
3698            Move all preload logic to setPreload, call it from here.
3699        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to
3700            setPreload, call it.
3701        (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
3702            unlikely to be correct and isn't worth caching. Use invalidTime() function.
3703        (WebCore::MediaPlayerPrivateAVFoundation::seeking): Use invalidTime() function.
3704        (WebCore::MediaPlayerPrivateAVFoundation::setNaturalSize): Add logging.
3705        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
3706            to AssetStatus. Always create a AVPlayerItem for live streams because they can't be inspected
3707            without one. Set networkState to 'idle' when the playback buffer is full because that is
3708            a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA'
3709            when the first frame is available.
3710        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
3711            width, height, hasVideo, etc.
3712        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged): Use invalidTime() function.
3713        (WebCore::MediaPlayerPrivateAVFoundation::timeChanged): Ditto.
3714        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Ditto.
3715        (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
3716            in derived classes.
3717        (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
3718            AVAsset and AVPlayerItem here.
3719        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
3720
3721        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
3722        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
3723        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
3724            m_videoFrameHasDrawn.
3725        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
3726            videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
3727            if we have painted a frame to the context.
3728        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
3729            if necessary.
3730        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
3731        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
3732        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
3733        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
3734        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
3735            the buffer is full.
3736        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
3737            AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
3738            when we only have metadata.
3739        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
3740        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
3741        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
3742            when when we haven't allocated the AVPlayerItem yet so that we can report attributes
3743            when we only have metadata.
3744        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
3745            we have allocated the AVPlayerItem.
3746
37472011-05-05  Ryosuke Niwa  <rniwa@webkit.org>
3748
3749        Reviewed by Eric Seidel.
3750
3751        Rename SelectionController to FrameSelection
3752        https://bugs.webkit.org/show_bug.cgi?id=60234
3753
3754        * CMakeLists.txt:
3755        * GNUmakefile.list.am:
3756        * WebCore.exp.in:
3757        * WebCore.gypi:
3758        * WebCore.pro:
3759        * WebCore.vcproj/WebCore.vcproj:
3760        * WebCore.xcodeproj/project.pbxproj:
3761        * accessibility/AccessibilityObject.cpp:
3762        * accessibility/AccessibilityRenderObject.cpp:
3763        (WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
3764        * accessibility/mac/AccessibilityObjectWrapper.mm:
3765        * bindings/objc/ExceptionHandlers.h:
3766        * css/CSSStyleSelector.cpp:
3767        * dom/ContainerNode.cpp:
3768        (WebCore::ContainerNode::cloneChildNodes):
3769        * dom/Document.cpp:
3770        * dom/InputElement.cpp:
3771        * editing/DeleteButtonController.cpp:
3772        * editing/EditCommand.cpp:
3773        * editing/EditingAllInOne.cpp:
3774        * editing/EditingStyle.cpp:
3775        * editing/Editor.cpp:
3776        (WebCore::Editor::canCopy):
3777        (WebCore::Editor::canDelete):
3778        (WebCore::Editor::markMisspellingsAfterTypingToWord):
3779        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
3780        (WebCore::Editor::changeSelectionAfterCommand):
3781        (WebCore::Editor::respondToChangedSelection):
3782        * editing/Editor.h:
3783        * editing/EditorCommand.cpp:
3784        (WebCore::executeDeleteToMark):
3785        (WebCore::executeMoveBackward):
3786        (WebCore::executeMoveBackwardAndModifySelection):
3787        (WebCore::executeMoveDown):
3788        (WebCore::executeMoveDownAndModifySelection):
3789        (WebCore::executeMoveForward):
3790        (WebCore::executeMoveForwardAndModifySelection):
3791        (WebCore::executeMoveLeft):
3792        (WebCore::executeMoveLeftAndModifySelection):
3793        (WebCore::executeMovePageDown):
3794        (WebCore::executeMovePageDownAndModifySelection):
3795        (WebCore::executeMovePageUp):
3796        (WebCore::executeMovePageUpAndModifySelection):
3797        (WebCore::executeMoveRight):
3798        (WebCore::executeMoveRightAndModifySelection):
3799        (WebCore::executeMoveToBeginningOfDocument):
3800        (WebCore::executeMoveToBeginningOfDocumentAndModifySelection):
3801        (WebCore::executeMoveToBeginningOfLine):
3802        (WebCore::executeMoveToBeginningOfLineAndModifySelection):
3803        (WebCore::executeMoveToBeginningOfParagraph):
3804        (WebCore::executeMoveToBeginningOfParagraphAndModifySelection):
3805        (WebCore::executeMoveToBeginningOfSentence):
3806        (WebCore::executeMoveToBeginningOfSentenceAndModifySelection):
3807        (WebCore::executeMoveToEndOfDocument):
3808        (WebCore::executeMoveToEndOfDocumentAndModifySelection):
3809        (WebCore::executeMoveToEndOfSentence):
3810        (WebCore::executeMoveToEndOfSentenceAndModifySelection):
3811        (WebCore::executeMoveToEndOfLine):
3812        (WebCore::executeMoveToEndOfLineAndModifySelection):
3813        (WebCore::executeMoveToEndOfParagraph):
3814        (WebCore::executeMoveToEndOfParagraphAndModifySelection):
3815        (WebCore::executeMoveParagraphBackwardAndModifySelection):
3816        (WebCore::executeMoveParagraphForwardAndModifySelection):
3817        (WebCore::executeMoveUp):
3818        (WebCore::executeMoveUpAndModifySelection):
3819        (WebCore::executeMoveWordBackward):
3820        (WebCore::executeMoveWordBackwardAndModifySelection):
3821        (WebCore::executeMoveWordForward):
3822        (WebCore::executeMoveWordForwardAndModifySelection):
3823        (WebCore::executeMoveWordLeft):
3824        (WebCore::executeMoveWordLeftAndModifySelection):
3825        (WebCore::executeMoveWordRight):
3826        (WebCore::executeMoveWordRightAndModifySelection):
3827        (WebCore::executeMoveToLeftEndOfLine):
3828        (WebCore::executeMoveToLeftEndOfLineAndModifySelection):
3829        (WebCore::executeMoveToRightEndOfLine):
3830        (WebCore::executeMoveToRightEndOfLineAndModifySelection):
3831        * editing/FrameSelection.cpp: Copied from Source/WebCore/editing/SelectionController.cpp.
3832        (WebCore::FrameSelection::FrameSelection):
3833        (WebCore::FrameSelection::moveTo):
3834        (WebCore::FrameSelection::setSelection):
3835        (WebCore::FrameSelection::nodeWillBeRemoved):
3836        (WebCore::FrameSelection::respondToNodeModification):
3837        (WebCore::FrameSelection::textWillBeReplaced):
3838        (WebCore::FrameSelection::setIsDirectional):
3839        (WebCore::FrameSelection::directionOfEnclosingBlock):
3840        (WebCore::FrameSelection::willBeModified):
3841        (WebCore::FrameSelection::positionForPlatform):
3842        (WebCore::FrameSelection::startForPlatform):
3843        (WebCore::FrameSelection::endForPlatform):
3844        (WebCore::FrameSelection::modifyExtendingRight):
3845        (WebCore::FrameSelection::modifyExtendingForward):
3846        (WebCore::FrameSelection::modifyMovingRight):
3847        (WebCore::FrameSelection::modifyMovingForward):
3848        (WebCore::FrameSelection::modifyExtendingLeft):
3849        (WebCore::FrameSelection::modifyExtendingBackward):
3850        (WebCore::FrameSelection::modifyMovingLeft):
3851        (WebCore::FrameSelection::modifyMovingBackward):
3852        (WebCore::FrameSelection::modify):
3853        (WebCore::FrameSelection::xPosForVerticalArrowNavigation):
3854        (WebCore::FrameSelection::clear):
3855        (WebCore::FrameSelection::setStart):
3856        (WebCore::FrameSelection::setEnd):
3857        (WebCore::FrameSelection::setBase):
3858        (WebCore::FrameSelection::setExtent):
3859        (WebCore::FrameSelection::setCaretRectNeedsUpdate):
3860        (WebCore::FrameSelection::updateCaretRect):
3861        (WebCore::FrameSelection::caretRenderer):
3862        (WebCore::FrameSelection::localCaretRect):
3863        (WebCore::FrameSelection::absoluteBoundsForLocalRect):
3864        (WebCore::FrameSelection::absoluteCaretBounds):
3865        (WebCore::FrameSelection::caretRepaintRect):
3866        (WebCore::FrameSelection::recomputeCaretRect):
3867        (WebCore::FrameSelection::shouldRepaintCaret):
3868        (WebCore::FrameSelection::invalidateCaretRect):
3869        (WebCore::FrameSelection::paintCaret):
3870        (WebCore::FrameSelection::debugRenderer):
3871        (WebCore::FrameSelection::contains):
3872        (WebCore::FrameSelection::selectFrameElementInParentIfFullySelected):
3873        (WebCore::FrameSelection::selectAll):
3874        (WebCore::FrameSelection::setSelectedRange):
3875        (WebCore::FrameSelection::isInPasswordField):
3876        (WebCore::FrameSelection::caretRendersInsideNode):
3877        (WebCore::FrameSelection::focusedOrActiveStateChanged):
3878        (WebCore::FrameSelection::pageActivationChanged):
3879        (WebCore::FrameSelection::updateSecureKeyboardEntryIfActive):
3880        (WebCore::FrameSelection::setUseSecureKeyboardEntry):
3881        (WebCore::FrameSelection::setFocused):
3882        (WebCore::FrameSelection::isFocusedAndActive):
3883        (WebCore::FrameSelection::updateAppearance):
3884        (WebCore::FrameSelection::setCaretVisible):
3885        (WebCore::FrameSelection::clearCaretRectIfNeeded):
3886        (WebCore::FrameSelection::caretBlinkTimerFired):
3887        (WebCore::FrameSelection::notifyRendererOfSelectionChange):
3888        (WebCore::FrameSelection::setFocusedNodeIfNeeded):
3889        (WebCore::FrameSelection::paintDragCaret):
3890        (WebCore::FrameSelection::copyTypingStyle):
3891        (WebCore::FrameSelection::shouldDeleteSelection):
3892        (WebCore::FrameSelection::bounds):
3893        (WebCore::FrameSelection::getClippedVisibleTextRectangles):
3894        (WebCore::FrameSelection::currentForm):
3895        (WebCore::FrameSelection::revealSelection):
3896        (WebCore::FrameSelection::setSelectionFromNone):
3897        (WebCore::FrameSelection::shouldChangeSelection):
3898        (WebCore::FrameSelection::formatForDebugger):
3899        (WebCore::FrameSelection::showTreeForThis):
3900        (showTree):
3901        * editing/FrameSelection.h: Copied from Source/WebCore/editing/SelectionController.h.
3902        (WebCore::FrameSelection::typingStyle):
3903        (WebCore::FrameSelection::clearTypingStyle):
3904        (WebCore::FrameSelection::setTypingStyle):
3905        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
3906        * editing/ModifySelectionListLevel.cpp:
3907        * editing/RemoveFormatCommand.cpp:
3908        * editing/ReplaceSelectionCommand.cpp:
3909        * editing/SelectionController.cpp: Removed.
3910        * editing/SelectionController.h: Removed.
3911        * editing/SetSelectionCommand.cpp:
3912        (WebCore::SetSelectionCommand::SetSelectionCommand):
3913        (WebCore::SetSelectionCommand::doApply):
3914        (WebCore::SetSelectionCommand::doUnapply):
3915        * editing/SetSelectionCommand.h:
3916        (WebCore::SetSelectionCommand::create):
3917        * editing/SpellingCorrectionCommand.cpp:
3918        (WebCore::SpellingCorrectionCommand::doApply):
3919        * editing/SpellingCorrectionController.cpp:
3920        (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
3921        * editing/TypingCommand.cpp:
3922        (WebCore::TypingCommand::deleteKeyPressed):
3923        (WebCore::TypingCommand::forwardDeleteKeyPressed):
3924        * editing/chromium/FrameSelectionChromium.cpp: Copied from Source/WebCore/editing/chromium/SelectionControllerChromium.cpp.
3925        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
3926        * editing/chromium/SelectionControllerChromium.cpp: Removed.
3927        * editing/gtk/FrameSelectionGtk.cpp: Copied from Source/WebCore/editing/gtk/SelectionControllerGtk.cpp.
3928        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
3929        * editing/gtk/SelectionControllerGtk.cpp: Removed.
3930        * editing/mac/EditorMac.mm:
3931        (WebCore::Editor::canCopyExcludingStandaloneImages):
3932        * editing/mac/FrameSelectionMac.mm: Copied from Source/WebCore/editing/mac/SelectionControllerMac.mm.
3933        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
3934        * editing/mac/SelectionControllerMac.mm: Removed.
3935        * editing/qt/EditorQt.cpp:
3936        * loader/archive/cf/LegacyWebArchive.cpp:
3937        * page/ContextMenuController.cpp:
3938        (WebCore::ContextMenuController::populate):
3939        * page/DOMSelection.cpp:
3940        (WebCore::DOMSelection::type):
3941        (WebCore::DOMSelection::modify):
3942        (WebCore::DOMSelection::addRange):
3943        (WebCore::DOMSelection::deleteFromDocument):
3944        (WebCore::DOMSelection::containsNode):
3945        * page/DragController.cpp:
3946        (WebCore::DragController::dragIsMove):
3947        * page/DragController.h:
3948        * page/EventHandler.cpp:
3949        (WebCore::setSelectionIfNeeded):
3950        (WebCore::setNonDirectionalSelectionIfNeeded):
3951        (WebCore::EventHandler::sendContextMenuEventForKey):
3952        (WebCore::EventHandler::handleKeyboardSelectionMovement):
3953        * page/EventHandler.h:
3954        * page/FocusController.cpp:
3955        (WebCore::clearSelectionIfNeeded):
3956        * page/Frame.cpp:
3957        (WebCore::Frame::Frame):
3958        * page/Frame.h:
3959        (WebCore::Frame::selection):
3960        * page/Page.cpp:
3961        (WebCore::Page::Page):
3962        * page/Page.h:
3963        (WebCore::Page::dragCaretController):
3964        * page/chromium/DragControllerChromium.cpp:
3965        * page/chromium/EventHandlerChromium.cpp:
3966        * page/win/DragControllerWin.cpp:
3967        * page/win/EventHandlerWin.cpp:
3968        * rendering/HitTestResult.cpp:
3969        * rendering/RenderBlock.cpp:
3970        (WebCore::RenderBlock::destroy):
3971        (WebCore::RenderBlock::paintCaret):
3972        * rendering/RenderImage.cpp:
3973        * rendering/RenderInline.cpp:
3974        (WebCore::RenderInline::destroy):
3975        * rendering/RenderLayer.cpp:
3976        * rendering/RenderListBox.cpp:
3977        * rendering/RenderObjectChildList.cpp:
3978        (WebCore::RenderObjectChildList::removeChildNode):
3979        * rendering/RenderTextControl.cpp:
3980        * rendering/RenderTextControlSingleLine.cpp:
3981        * rendering/RenderTheme.cpp:
3982        * rendering/RenderTreeAsText.cpp:
3983        * svg/SVGSVGElement.cpp:
3984        * svg/SVGTextContentElement.cpp:
3985        (WebCore::SVGTextContentElement::selectSubString):
3986
39872011-05-05  Brent Fulgham  <bfulgham@webkit.org>
3988
3989        [WinCairo] unreviewed build correction.
3990
3991        * platform/network/curl/ResourceRequest.h:
3992        Stub out the new pipelined http logic for cURL.
3993
39942011-05-05  Pavel Feldman  <pfeldman@chromium.org>
3995
3996        Reviewed by Yury Semikhatsky.
3997
3998        Web Inspector: searching for node does not result in bringToFront call.
3999        https://bugs.webkit.org/show_bug.cgi?id=60222
4000
4001        * inspector/front-end/ElementsPanel.js:
4002        (WebInspector.ElementsPanel.prototype.updateFocusedNode):
4003
40042011-05-05  Andreas Kling  <andreas.kling@nokia.com>
4005
4006        Reviewed by Simon Hausmann.
4007
4008        [Qt] Implement the fast font path for Qt.
4009        https://bugs.webkit.org/show_bug.cgi?id=51106
4010
4011        Use the new QRawFont and QGlyphs APIs in Qt 4.8 to implement the fast paths for
4012        rendering and measurement of simple text.
4013
4014        Since this is still unreleased API, it's guarded by HAVE(QRAWFONT) until the new
4015        classes are fully integrated into the Qt 4.8 release branch.
4016
4017        * WebCore.pro: Add HAVE_QRAWFONT define (for Qt >= 4.8) and new files to build.
4018
4019        * platform/graphics/Font.cpp:
4020        (WebCore::Font::drawText): Disable fast font path for stroked text, and when
4021        painting text with a shadow. (Qt-only)
4022        (WebCore::Font::codePath): Try to use fast font path in more cases.
4023
4024        * platform/graphics/qt/FontCacheQt.cpp:
4025        (WebCore::rawFontForCharacters): Helper function, returns a suitable QRawFont
4026        to use for rendering a given string. Goes through QTextLayout to find the best
4027        font based on the original QFont query.
4028        (WebCore::FontCache::getFontDataForCharacters): Implemented using helper above.
4029
4030        * platform/graphics/qt/FontPlatformData.h:
4031        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
4032        (WebCore::FontPlatformData::FontPlatformData):
4033        (WebCore::FontPlatformData::rawFont):
4034        * platform/graphics/qt/FontPlatformDataQt.cpp:
4035        (WebCore::FontPlatformData::FontPlatformData): Add a QRawFont member to FontPlatformData.
4036
4037        * platform/graphics/qt/FontQt.cpp:
4038        (WebCore::fillPenForContext):
4039        (WebCore::strokePenForContext):
4040        (WebCore::drawTextCommon): Factored QPen creation out of drawTextCommon
4041        to share code between complex and simple font rendering paths.
4042        (WebCore::Font::drawGlyphs): Implemented using QPainter::drawGlyphs().
4043
4044        * platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
4045        (WebCore::GlyphPage::fill): Implemented using QRawFont::glyphIndexesForString().
4046
4047        * platform/graphics/qt/SimpleFontDataQt.cpp:
4048        (WebCore::SimpleFontData::determinePitch): Return false when using QRawFont since we
4049        have no way of knowing the pitch.
4050        (WebCore::SimpleFontData::containsCharacters): Implemented using QRawFont::supportsCharacter().
4051        (WebCore::SimpleFontData::platformWidthForGlyph): Implemented using QRawFont::advancesForGlyphIndexes().
4052        (WebCore::SimpleFontData::scaledFontData): Added, based on other ports.
4053        (WebCore::SimpleFontData::smallCapsFontData): Ditto.
4054        (WebCore::SimpleFontData::emphasisMarkFontData): Ditto.
4055        (WebCore::SimpleFontData::platformBoundsForGlyph): Stub.
4056        (WebCore::SimpleFontData::platformInit): Use QRawFont APIs to retrieve font metrics.
4057        (WebCore::SimpleFontData::platformCharWidthInit): Ditto.
4058
40592011-05-05  Alexis Menard  <alexis.menard@openbossa.org>
4060
4061        Reviewed by Andreas Kling.
4062
4063        [Qt] RenderThemeQt and DumpRenderTreeSupportQt should use nullptr rather than 0.
4064        https://bugs.webkit.org/show_bug.cgi?id=60224
4065
4066        We should use nullptr rather than 0. nullptr will be added in the new C++ standard
4067        but WebKit already has a nullptr class if there is no c++0x support.
4068
4069        * platform/qt/RenderThemeQt.cpp:
4070        (WebCore::RenderThemeQt::adjustProgressBarStyle):
4071        (WebCore::RenderThemeQt::adjustSliderTrackStyle):
4072        (WebCore::RenderThemeQt::adjustSliderThumbStyle):
4073
40742011-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
4075
4076        Reviewed by Yury Semikhatsky.
4077
4078        Web Inspector: rename BrowserDebugger to DOMDebugger.
4079
4080        https://bugs.webkit.org/show_bug.cgi?id=60256
4081        InspectorBrowserDebuggerAgent => InspectorDOMDebuggerAgent
4082        browserDebugger => domDebugger
4083
4084        * CMakeLists.txt:
4085        * GNUmakefile.list.am:
4086        * WebCore.gypi:
4087        * WebCore.pro:
4088        * WebCore.vcproj/WebCore.vcproj:
4089        * WebCore.xcodeproj/project.pbxproj:
4090        * inspector/CodeGeneratorInspector.pm:
4091        * inspector/InspectorAgent.cpp:
4092        (WebCore::InspectorAgent::InspectorAgent):
4093        (WebCore::InspectorAgent::inspectedPageDestroyed):
4094        (WebCore::InspectorAgent::disconnectFrontend):
4095        * inspector/InspectorAgent.h:
4096        (WebCore::InspectorAgent::DOMDebuggerAgent):
4097        * inspector/InspectorController.cpp:
4098        (WebCore::InspectorController::connectFrontend):
4099        * inspector/InspectorDOMDebuggerAgent.cpp: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.cpp.
4100        (WebCore::InspectorDOMDebuggerAgent::create):
4101        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
4102        (WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
4103        (WebCore::InspectorDOMDebuggerAgent::debuggerWasEnabled):
4104        (WebCore::InspectorDOMDebuggerAgent::debuggerWasDisabled):
4105        (WebCore::InspectorDOMDebuggerAgent::disable):
4106        (WebCore::InspectorDOMDebuggerAgent::clearFrontend):
4107        (WebCore::InspectorDOMDebuggerAgent::discardBindings):
4108        (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
4109        (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
4110        (WebCore::InspectorDOMDebuggerAgent::didInsertDOMNode):
4111        (WebCore::InspectorDOMDebuggerAgent::didRemoveDOMNode):
4112        (WebCore::InspectorDOMDebuggerAgent::setDOMBreakpoint):
4113        (WebCore::InspectorDOMDebuggerAgent::removeDOMBreakpoint):
4114        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
4115        (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
4116        (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
4117        (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
4118        (WebCore::InspectorDOMDebuggerAgent::hasBreakpoint):
4119        (WebCore::InspectorDOMDebuggerAgent::updateSubtreeBreakpoints):
4120        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
4121        (WebCore::InspectorDOMDebuggerAgent::setXHRBreakpoint):
4122        (WebCore::InspectorDOMDebuggerAgent::removeXHRBreakpoint):
4123        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
4124        (WebCore::InspectorDOMDebuggerAgent::clear):
4125        * inspector/InspectorDOMDebuggerAgent.h: Renamed from Source/WebCore/inspector/InspectorBrowserDebuggerAgent.h.
4126        * inspector/InspectorInstrumentation.cpp:
4127        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
4128        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
4129        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
4130        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
4131        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
4132        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
4133        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
4134        * inspector/InstrumentingAgents.h:
4135        (WebCore::InstrumentingAgents::InstrumentingAgents):
4136        (WebCore::InstrumentingAgents::inspectorDOMDebuggerAgent):
4137        (WebCore::InstrumentingAgents::setInspectorDOMDebuggerAgent):
4138        * inspector/WorkerInspectorController.cpp:
4139        (WebCore::WorkerInspectorController::connectFrontend):
4140
41412011-05-04  Yury Semikhatsky  <yurys@chromium.org>
4142
4143        Reviewed by Pavel Feldman.
4144
4145        Web Inspector: show only Console and Scripts panels in worker inspector front-end
4146        https://bugs.webkit.org/show_bug.cgi?id=60159
4147
4148        * inspector/front-end/WorkerManager.js:
4149        (WebInspector.WorkerManager.isWorkerFrontend):
4150        * inspector/front-end/inspector.js: show only Scripts and Console panels in the worker inspector front-end.
4151
41522011-05-03  Hans Wennborg  <hans@chromium.org>
4153
4154        Reviewed by Steve Block.
4155
4156        IndexedDB: Unit tests for LevelDB key coding functions
4157        https://bugs.webkit.org/show_bug.cgi?id=59692
4158
4159        Fix some embarrassing bugs uncovered by unit tests.
4160
4161        No new functionality, but this is now covered by unit tests in the Chromium WebKit port.
4162
4163        * storage/IDBLevelDBCoding.cpp:
4164        (WebCore::IDBLevelDBCoding::decodeInt):
4165        (WebCore::IDBLevelDBCoding::decodeVarInt):
4166
41672011-05-05  Young Han Lee  <joybro@company100.net>
4168
4169        Reviewed by Csaba Osztrogonác.
4170
4171        [Texmap][Qt] Enable strict OwnPtr for Qt with texmap enabled.
4172        https://bugs.webkit.org/show_bug.cgi?id=60251
4173
4174        No new tests. Build fix.
4175
4176        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
4177        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
4178
41792011-05-04  Jay Civelli  <jcivelli@chromium.org>
4180
4181        Reviewed by Adam Barth.
4182
4183        Adding a utility class to read a SharedBuffer line by line.
4184        https://bugs.webkit.org/show_bug.cgi?id=59946
4185
4186        * CMakeLists.txt:
4187        * GNUmakefile.list.am:
4188        * WebCore.gypi:
4189        * WebCore.pro:
4190        * WebCore.vcproj/WebCore.vcproj:
4191        * WebCore.xcodeproj/project.pbxproj:
4192        * platform/SharedBufferCRLFLineReader.cpp: Added.
4193        * platform/SharedBufferCRLFLineReader.h: Added.
4194
41952011-05-04  Sheriff Bot  <webkit.review.bot@gmail.com>
4196
4197        Unreviewed, rolling out r85788.
4198        http://trac.webkit.org/changeset/85788
4199        https://bugs.webkit.org/show_bug.cgi?id=60250
4200
4201        svg/text/text-block-child-crash.xhtml asserts (Requested by
4202        Ossy on #webkit).
4203
4204        * css/CSSStyleSelector.cpp:
4205        (WebCore::CSSStyleSelector::applyProperty):
4206
42072011-05-04  Ryosuke Niwa  <rniwa@webkit.org>
4208
4209        Reviewed by Eric Seidel.
4210
4211        Make more member functions in EventHandler private
4212        https://bugs.webkit.org/show_bug.cgi?id=60200
4213
4214        Reduced the number of public member functions in EventHandler.
4215
4216        * WebCore.exp.in:
4217        * page/EventHandler.cpp:
4218        (WebCore::EventHandler::handleAutoscroll):
4219        (WebCore::EventHandler::autoscrollTimerFired):
4220        (WebCore::EventHandler::stopAutoscrollTimer):
4221        (WebCore::EventHandler::handleMousePressEvent):
4222        (WebCore::EventHandler::handleMouseMoveEvent):
4223        (WebCore::EventHandler::keyEvent):
4224        (WebCore::EventHandler::eventInvertsTabsToLinksClientCallResult):
4225        * page/EventHandler.h:
4226        (WebCore::EventHandler::mouseDownMayStartSelect):
4227
42282011-05-04  James Robinson  <jamesr@chromium.org>
4229
4230        Reviewed by Kenneth Russell.
4231
4232        [chromium] REGRESSION(85136): Composited content vanishes when transform-style changes from preserve-3d to flat
4233        https://bugs.webkit.org/show_bug.cgi?id=60202
4234
4235        In r85136 I accidentally transposed two lines in GraphicsLayerChromium when adding a null check.  This switches
4236        the order back and adds a regression test.
4237
4238        Test: compositing/repaint/transform-style-change.html
4239
4240        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
4241        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
4242
42432011-05-04  Cris Neckar  <cdn@chromium.org>
4244
4245        Reviewed by Adam Barth.
4246
4247        Expose WebView directly through ChromeClient.
4248        https://bugs.webkit.org/show_bug.cgi?id=49902
4249
4250        Test: fast/media/media-svg-crash.html
4251
4252        * loader/EmptyClients.h:
4253        (WebCore::EmptyChromeClient::webView):
4254        * page/ChromeClient.h:
4255        * page/brew/ChromeClientBrew.h:
4256        (WebCore::ChromeClientBrew::webView):
4257
42582011-05-04  Joseph Pecoraro  <joepeck@webkit.org>
4259
4260        Reviewed by Darin Adler.
4261
4262        Unable to Paste After Deleting Text from Input due to -webkit-user-select
4263        https://bugs.webkit.org/show_bug.cgi?id=60219
4264
4265        When deleting all the text inside the input a placeholder <br>
4266        element was inserted for the selection point. However, when
4267        pasting, the test run computes the -webkit-user-select for the
4268        <br> element, instead of what would be the text inside the
4269        <input> and incorrectly disallows selection and prevented
4270        the paste.
4271
4272        Test: editing/pasteboard/paste-placeholder-input.html
4273
4274        * editing/ReplaceSelectionCommand.cpp:
4275        (WebCore::ReplacementFragment::insertFragmentForTestRendering): skip
4276        <br> elements above us as those are likely placeholder elements.
4277
42782011-05-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
4279
4280        Reviewed by Martin Robinson.
4281
4282        Windows build of WebKit GTK needs to be able to find SystemInfo.h
4283        https://bugs.webkit.org/show_bug.cgi?id=60221
4284
4285        * GNUmakefile.am: add Source/WebCore/platform/win to the paths searched
4286        for headers, since Source/WebCore/platform/win/SystemInfo.h
4287        header is needed by Source/WebKit/gtk/webkit/webkitwebsettings.cpp
4288        on Windows.
4289
42902011-05-04  Vangelis Kokkevis  <vangelis@chromium.org>
4291
4292        Reviewed by Kenneth Russell.
4293
4294        [chromium] Improve sorting of layers in hierarchies that preserve-3d
4295        by testing for overlapping regions between layer pairs and doing a
4296        topological sort to determine the right order.
4297        https://bugs.webkit.org/show_bug.cgi?id=59255
4298
4299        Test: platform/chromium/compositing/perpendicular-layer-sorting.html
4300
4301        * WebCore.gypi:
4302        * platform/graphics/chromium/LayerRendererChromium.cpp:
4303        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
4304        * platform/graphics/chromium/LayerRendererChromium.h:
4305        * platform/graphics/chromium/cc/CCLayerImpl.h:
4306        (WebCore::CCLayerImpl::clearRenderSurface):
4307        * platform/graphics/chromium/cc/CCLayerSorter.cpp: Added.
4308        (WebCore::perpProduct):
4309        (WebCore::innerProduct):
4310        (WebCore::pointInColinearEdge):
4311        (WebCore::edgeEdgeTest):
4312        (WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
4313        (WebCore::CCLayerSorter::LayerIntersector::go):
4314        (WebCore::CCLayerSorter::LayerIntersector::edgeTriangleTest):
4315        (WebCore::CCLayerSorter::LayerIntersector::triangleTriangleTest):
4316        (WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
4317        (WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
4318        (WebCore::CCLayerSorter::CCLayerSorter):
4319        (WebCore::CCLayerSorter::checkOverlap):
4320        (WebCore::CCLayerSorter::createGraphNodes):
4321        (WebCore::CCLayerSorter::createGraphEdges):
4322        (WebCore::CCLayerSorter::removeEdgeFromList):
4323        (WebCore::CCLayerSorter::sort):
4324        * platform/graphics/chromium/cc/CCLayerSorter.h: Added.
4325        (WebCore::CCLayerSorter::GraphNode::GraphNode):
4326        (WebCore::CCLayerSorter::GraphEdge::GraphEdge):
4327
43282011-05-03  Jer Noble  <jer.noble@apple.com>
4329
4330        Reviewed by Antti Koivisto.
4331
4332        Safari: Video at apple.com cannot play at full screen mode with layout distortion
4333        https://bugs.webkit.org/show_bug.cgi?id=60140
4334
4335        Because a fullscreen element may be in a stacking context with a lower z-index than
4336        a sibling stacking context, those higher contexts would sometimes "pop" through the
4337        full screen renderer. To facilitate eliminating all the stacking contexts aside from
4338        the full screen renderer, added a new pseudo-class specific to video or audio full
4339        screen elements. Then, added a new UA rule which resets the z-index and opacities of
4340        all elements under said pseudo-class to auto and 1 respectively. To facilitate quick
4341        identity checking of HTMLMediaElements, added isMediaElement() virtual function to
4342        Element and HTMLMediaElement.
4343
4344        Test: fullscreen/full-screen-stacking-context.html
4345
4346        * css/CSSSelector.cpp:
4347        (WebCore::CSSSelector::pseudoId): Support PseudoFullScreenMediaDocument.
4348        (WebCore::nameToPseudoTypeMap): Support fullScreenMediaDocument.
4349        (WebCore::CSSSelector::extractPseudoType): Support PseudoFullScreenMediaDocument.
4350        * css/CSSSelector.h: Add PseudoFullScreenMediaDocument.
4351        * css/CSSStyleSelector.cpp:
4352        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Support PseudoFullScreenMediaDocument.
4353        * css/fullscreen.css:
4354        (:root:-webkit-full-screen-document:not(:-webkit-full-screen)): Corrected these names,
4355            which were missing the -webkit prefix.
4356        (:root:-webkit-full-screen-media-document *:not(-webkit-full-screen)): Added.
4357        * dom/Element.h:
4358        (WebCore::Element::isMediaElement): Added, returns false.
4359        * html/HTMLMediaElement.h:
4360        (WebCore::HTMLMediaElement::isMediaElement): Added, returns true.
4361        * rendering/style/RenderStyleConstants.h: Added FULL_SCREEN_MEDIA_DOCUMENT.
4362
43632011-05-04  Levi Weintraub  <leviw@chromium.org>
4364
4365        Reviewed by Eric Seidel.
4366
4367        Split findNextLineBreak into a LineBreaker class
4368        https://bugs.webkit.org/show_bug.cgi?id=60209
4369
4370        Breaking findNextLineBreak into a new class inside RenderBlock. Currently it's tracking
4371        nearly no state, but subsequent patches will move some of the local variables used throughout
4372        the nextLineBreak function into member variables to simplify breaking off helper functions from
4373        the bloated function.
4374
4375        No new tests since this is just moving code around.
4376
4377        * WebCore.xcodeproj/project.pbxproj:
4378        * rendering/RenderBlock.h:
4379        (WebCore::RenderBlock::LineBreaker::LineBreaker):
4380        (WebCore::RenderBlock::LineBreaker::lineWasHyphenated): Accessor.
4381        (WebCore::RenderBlock::LineBreaker::positionedObjects): Ditto.
4382        (WebCore::RenderBlock::LineBreaker::clear): Ditto.
4383        * rendering/RenderBlockLineLayout.cpp:
4384        (WebCore::RenderBlock::layoutRunsAndFloats):
4385        (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
4386        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
4387        (WebCore::RenderBlock::LineBreaker::reset):
4388        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
4389
43902011-05-04  Fridrich Strba  <fridrich.strba@bluewin.ch>
4391
4392        Reviewed by Adam Barth.
4393
4394        Add COMPILER(MINGW) to the compilers using the Microsoft C Runtime's vsnprintf.
4395        The vsnprintf is part of Microsoft C runtime used also by MinGW (GCC) toolchain.
4396        https://bugs.webkit.org/show_bug.cgi?id=58579
4397
4398        * dom/XMLDocumentParserLibxml2.cpp:
4399        (WebCore::XMLDocumentParser::error):
4400
44012011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
4402
4403        Unreviewed warning fix.
4404
4405        The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
4406        a warning in Release build.
4407
4408        * dom/Node.cpp:
4409        (WebCore::Node::removeEventListener):
4410        * platform/DateComponents.cpp:
4411        (WebCore::DateComponents::parseTime):
4412        * rendering/RenderLayer.cpp:
4413        (WebCore::RenderLayer::convertToLayerCoords):
4414        * storage/StorageMap.cpp:
4415        (WebCore::StorageMap::importItem):
4416        * svg/SVGUseElement.cpp:
4417        (WebCore::SVGUseElement::buildShadowTree):
4418        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
4419
44202011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
4421
4422        Unreviewed warning fix.
4423
4424        The variable is just used in the ASSERT macro. Let's use ASSERT_UNUSED to avoid
4425        a warning in Release build.
4426
4427        * accessibility/AccessibilityRenderObject.cpp:
4428        (WebCore::lastChildConsideringContinuation):
4429
44302011-05-04  Dimitri Glazkov  <dglazkov@chromium.org>
4431
4432        Sort xcodeproj files.
4433
4434        The WebCore.xcodeproj got out of sorts again.
4435
4436        * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
4437
44382011-05-04  Alexis Menard  <alexis.menard@openbossa.org>
4439
4440        Reviewed by Adam Barth.
4441
4442        Warning fix.
4443
4444        * bindings/js/DOMObjectHashTableMap.h:
4445        (WebCore::DOMObjectHashTableMap::~DOMObjectHashTableMap):
4446
44472011-05-04  Rob Buis  <rbuis@rim.com>
4448
4449        Reviewed by Darin Adler.
4450
4451        NULL deref when SVG elements have table styles
4452        https://bugs.webkit.org/show_bug.cgi?id=45561
4453
4454        Restrict computed CSS values for SVG display property to block, inline or none.
4455
4456        Tests: svg/custom/display-table-caption-foreignObject.svg
4457               svg/custom/display-table-caption-inherit-foreignObject.xhtml
4458               svg/custom/display-table-caption-inherit-text.xhtml
4459               svg/custom/display-table-caption-text.svg
4460
4461        * css/CSSStyleSelector.cpp:
4462        (WebCore::CSSStyleSelector::applyProperty):
4463
44642011-05-04  Tao Bai  <michaelbai@chromium.org>
4465
4466        Reviewed by David Kilzer.
4467
4468        Populate touch-icon url to FrameLoaderClient
4469        https://bugs.webkit.org/show_bug.cgi?id=59143
4470
4471        Parsed and populated apple-touch-icon url to FrameLoaderClient.
4472        Changed favicon to be a type of icon.
4473
4474        * CMakeLists.txt:
4475        * Configurations/FeatureDefines.xcconfig:
4476        * GNUmakefile.am:
4477        * GNUmakefile.list.am:
4478        * WebCore.gypi:
4479        * WebCore.vcproj/WebCore.vcproj:
4480        * WebCore.xcodeproj/project.pbxproj:
4481        * dom/Document.cpp:
4482        (WebCore::Document::iconURL):
4483        (WebCore::Document::setIconURL):
4484        * dom/Document.h:
4485        * dom/IconURL.cpp: Added.
4486        (WebCore::toIconIndex):
4487        * dom/IconURL.h: Added.
4488        (WebCore::IconURL::IconURL):
4489        * features.pri:
4490        * html/HTMLLinkElement.cpp:
4491        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
4492        (WebCore::HTMLLinkElement::process):
4493        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
4494        * html/HTMLLinkElement.h:
4495        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
4496        (WebCore::HTMLLinkElement::isEnabledViaScript):
4497        * html/parser/HTMLPreloadScanner.cpp:
4498        (WebCore::HTMLNames::PreloadTask::relAttributeIsStyleSheet):
4499        * loader/DocumentLoader.cpp:
4500        (WebCore::DocumentLoader::iconURL):
4501        (WebCore::DocumentLoader::setIconURL):
4502        * loader/DocumentLoader.h:
4503        * loader/EmptyClients.h:
4504        (WebCore::EmptyFrameLoaderClient::dispatchDidChangeIcons):
4505        * loader/FrameLoader.cpp:
4506        (WebCore::FrameLoader::iconURL):
4507        (WebCore::FrameLoader::iconURLs):
4508        (WebCore::FrameLoader::fillIconURL):
4509        (WebCore::FrameLoader::getDefaultIconURL):
4510        (WebCore::FrameLoader::setIconURL):
4511        (WebCore::FrameLoader::didChangeIcons):
4512        * loader/FrameLoader.h:
4513        * loader/FrameLoaderClient.h:
4514
45152011-05-04  Chris Marrin  <cmarrin@apple.com>
4516
4517        Reviewed by Simon Fraser.
4518
4519        Crash in PlatformCALayer ::replaceSublayer when layer has not superlayer
4520        https://bugs.webkit.org/show_bug.cgi?id=60191
4521
4522        Skip replaceSublayer when there is no superlayer rather than asserting.
4523        This is probably not a problem and happens when restructuring the layer
4524        tree. Avoiding this crash will allow us to get more testing.
4525
4526        * platform/graphics/ca/GraphicsLayerCA.cpp:
4527        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
4528
45292011-05-04  Martin Robinson  <mrobinson@igalia.com>
4530
4531        Reviewed by Gustavo Noronha Silva.
4532
4533        Fix the GTK+ 2.x build for Windows. Instead of making getStockIcon a RenderTheme
4534        method, just use extern declarations to avoid having to declare it in the header.
4535        This will prevent having to include glib.h in RenderThemeGtk.h, which is included
4536        in many C++ files.
4537
4538        No new tests. This is just a build fix.
4539
4540        * platform/gtk/RenderThemeGtk.cpp: Update getStockIcon calls to say getStockIconForWidgetType.
4541        (WebCore::RenderThemeGtk::paintSearchFieldResultsDecoration):
4542        (WebCore::RenderThemeGtk::paintSearchFieldCancelButton):
4543        (WebCore::RenderThemeGtk::paintCapsLockIndicator):
4544        (WebCore::RenderThemeGtk::paintMediaButton):
4545        * platform/gtk/RenderThemeGtk.h: Removed getStockIcon declaration. Make gtkContainer() and
4546        gtkEntry() public because they are now accessed externally from getStockIcon().
4547        * platform/gtk/RenderThemeGtk2.cpp: Update getStockIcon calls.
4548        (WebCore::getStockIconForWidgetType):
4549        * platform/gtk/RenderThemeGtk3.cpp: Ditto.
4550        (WebCore::getStockIconForWidgetType):
4551
45522011-05-04  Mark Pilgrim  <pilgrim@chromium.org>
4553
4554        Reviewed by Tony Chang.
4555
4556        IndexedDB open (database) should fail if name is null
4557        https://bugs.webkit.org/show_bug.cgi?id=60022
4558
4559        Test: storage/indexeddb/mozilla/open-database-null-name.html
4560
4561        Combination problem: Bug in IDL didn't pass null values to .cpp layer,
4562        then .cpp layer didn't check for null value anyway.
4563
4564        * storage/IDBFactory.cpp:
4565        (WebCore::IDBFactory::open): check for null name
4566        * storage/IDBFactory.idl: pass null name as null
4567
45682011-05-04  Jer Noble  <jer.noble@apple.com>
4569
4570        Reviewed by Darin Adler.
4571
4572        Entering full screen fails >= second time on Vimeo.com.
4573        https://bugs.webkit.org/show_bug.cgi?id=60143
4574
4575        Force the RenderFullScreen's layer backing to be recreated when setAnimating() is called.
4576        Previously, the RenderLayerCompositor would fail to reparent the RenderFullScreen's layer
4577        at the end of an animation, if it determined that the RenderFullScreen would still require
4578        a layer even when not animating.
4579
4580        * rendering/RenderFullScreen.cpp:
4581        (RenderFullScreen::setAnimating): Clear the renderer's layer.
4582
45832011-05-04  Simon Fraser  <simon.fraser@apple.com>
4584
4585        Reviewed by Darin Adler.
4586
4587        Avoid allocating a new image buffer in ~CanvasRenderingContext2D()
4588        https://bugs.webkit.org/show_bug.cgi?id=59849
4589
4590        When attempting to unwind the graphics state stack in the
4591        CanvasRenderingContext2D destructor, don't allow HTMLCanvasElement
4592        to create a new ImageBuffer.
4593
4594        * html/HTMLCanvasElement.cpp:
4595        (WebCore::HTMLCanvasElement::existingDrawingContext):
4596        * html/HTMLCanvasElement.h:
4597        * html/canvas/CanvasRenderingContext2D.cpp:
4598        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
4599
46002011-05-04  Andrey Kosyakov  <caseq@chromium.org>
4601
4602        Reviewed by Yury Semikhatsky.
4603
4604        Web Inspector: expose shadow DOM in the Elements panel
4605        https://bugs.webkit.org/show_bug.cgi?id=60160
4606
4607        Test: inspector/elements/shadow-dom.html
4608
4609        * dom/Element.cpp:
4610        (WebCore::Element::ensureShadowRoot):
4611        (WebCore::Element::removeShadowRoot):
4612        * inspector/Inspector.json:
4613        * inspector/InspectorDOMAgent.cpp:
4614        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
4615        (WebCore::InspectorDOMAgent::buildObjectForNode):
4616        (WebCore::InspectorDOMAgent::didInsertDOMNode):
4617        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
4618        (WebCore::InspectorDOMAgent::isContainerNode):
4619        * inspector/InspectorDOMAgent.h:
4620        * inspector/front-end/DOMAgent.js:
4621        (WebInspector.DOMNode):
4622        (WebInspector.DOMNode.prototype.inShadowTree):
4623        (WebInspector.DOMNode.prototype._setShadowRootPayload):
4624        (WebInspector.DOMNode.prototype._renumber):
4625        (WebInspector.DOMAgent.prototype._bindNodes):
4626        (WebInspector.DOMAgent.prototype.querySelectorAll):
4627        (WebInspector.DOMAgent.prototype._shadowRootUpdated):
4628        (WebInspector.DOMDispatcher.prototype.searchResults):
4629        (WebInspector.DOMDispatcher.prototype.shadowRootUpdated):
4630        * inspector/front-end/ElementsPanel.js:
4631        (WebInspector.ElementsPanel):
4632        (WebInspector.ElementsPanel.prototype._nodeUpdated):
4633        (WebInspector.ElementsPanel.prototype._attributesUpdated):
4634        (WebInspector.ElementsPanel.prototype._nodeRemoved):
4635        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
4636        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
4637        * inspector/front-end/ElementsTreeOutline.js:
4638        (WebInspector.ElementsTreeElement):
4639        (WebInspector.ElementsTreeElement.prototype._updateChildren.updateChildrenOfNode):
4640        (WebInspector.ElementsTreeElement.prototype._updateChildren):
4641        ():
4642        * inspector/front-end/inspector.css:
4643        (#elements-content .dom-shadow-root):
4644        (.outline-disclosure li .webkit-html-tag.shadow):
4645        * inspector/front-end/utilities.js:
4646
46472011-05-03  Adam Roben  <aroben@apple.com>
4648
4649        Remove an unnecessary OwnPtr equality check in XSLT code
4650
4651        Fixes <http://webkit.org/b/60053> Testing OwnPtrs for equality should cause a compiler error
4652
4653        Reviewed by Anders Carlsson and Antti Koivisto.
4654
4655        * dom/Document.cpp:
4656        (WebCore::Document::setTransformSource): No need to check for equality. If the pointers are
4657        equal, we're screwed anyway. (And the caller always passes in a newly-allocated object, so
4658        we're safe.)
4659
46602011-05-04  Leandro Gracia Gil  <leandrogracia@chromium.org>
4661
4662        Reviewed by Tony Gentilcore.
4663
4664        Media Stream API: add the skeleton of the frame and page controllers and the embedder client.
4665        https://bugs.webkit.org/show_bug.cgi?id=56922
4666
4667        Add the basic outlines of the page controller, the per-frame controller and the embedder
4668        client interface for the Media Stream API. Provide methods to handle the situations
4669        where a frame is detached from the page or transferred between pages.
4670
4671        Tests for the Media Stream API will be provided by the bug 56587.
4672
4673        * CMakeLists.txt:
4674        * GNUmakefile.list.am:
4675        * WebCore.gypi:
4676        * WebCore.pro:
4677        * WebCore.vcproj/WebCore.vcproj:
4678        * WebCore.xcodeproj/project.pbxproj:
4679        * page/Frame.cpp:
4680        (WebCore::Frame::Frame):
4681        (WebCore::Frame::~Frame):
4682        (WebCore::Frame::pageDestroyed):
4683        (WebCore::Frame::transferChildFrameToNewDocument):
4684        * page/Frame.h:
4685        (WebCore::Frame::mediaStreamFrameController):
4686        * page/MediaStreamClient.h: Added.
4687        (WebCore::MediaStreamClient::~MediaStreamClient):
4688        * page/MediaStreamController.cpp: Added.
4689        (WebCore::MediaStreamController::Request::Request):
4690        (WebCore::MediaStreamController::Request::localId):
4691        (WebCore::MediaStreamController::Request::frameController):
4692        (WebCore::MediaStreamController::MediaStreamController):
4693        (WebCore::MediaStreamController::~MediaStreamController):
4694        (WebCore::MediaStreamController::unregisterFrameController):
4695        (WebCore::MediaStreamController::registerRequest):
4696        * page/MediaStreamController.h: Added.
4697        * page/MediaStreamFrameController.cpp: Added.
4698        (WebCore::MediaStreamFrameController::Request::Request):
4699        (WebCore::MediaStreamFrameController::Request::~Request):
4700        (WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
4701        (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
4702        (WebCore::MediaStreamFrameController::Request::isRecordedDataRequest):
4703        (WebCore::MediaStreamFrameController::RequestMap::abort):
4704        (WebCore::MediaStreamFrameController::RequestMap::abortAll):
4705        (WebCore::MediaStreamFrameController::MediaStreamFrameController):
4706        (WebCore::MediaStreamFrameController::~MediaStreamFrameController):
4707        (WebCore::MediaStreamFrameController::securityOrigin):
4708        (WebCore::MediaStreamFrameController::scriptExecutionContext):
4709        (WebCore::MediaStreamFrameController::pageController):
4710        (WebCore::MediaStreamFrameController::enterDetachedState):
4711        (WebCore::MediaStreamFrameController::disconnectPage):
4712        (WebCore::MediaStreamFrameController::disconnectFrame):
4713        (WebCore::MediaStreamFrameController::transferToNewPage):
4714        * page/MediaStreamFrameController.h: Added.
4715        * page/Page.cpp:
4716        (WebCore::Page::Page):
4717        (WebCore::Page::PageClients::PageClients):
4718        * page/Page.h:
4719        (WebCore::Page::mediaStreamController):
4720
47212011-05-04  Alexander Pavlov  <apavlov@chromium.org>
4722
4723        Reviewed by Yury Semikhatsky.
4724
4725        Web Inspector: Double-click in a read-only style rule results in a non-editable blank property
4726        https://bugs.webkit.org/show_bug.cgi?id=60150
4727
4728        * inspector/front-end/StylesSidebarPane.js:
4729        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
4730
47312011-05-04  Dominic Battre  <battre@chromium.org>
4732
4733        Reviewed by Tony Gentilcore.
4734
4735        Fix missing header in case SVG is disabled
4736        https://bugs.webkit.org/show_bug.cgi?id=60153
4737
4738        * dom/EventDispatcher.cpp:
4739
47402011-05-04  Luke Macpherson   <macpherson@chromium.org>
4741
4742        Reviewed by Eric Seidel.
4743
4744        Rename CSSStyleApplyProperty::propertyValue and setPropertyValue.
4745        https://bugs.webkit.org/show_bug.cgi?id=60006
4746
4747        No new tests as no functionality added. Simple rename only.
4748
4749        * css/CSSStyleApplyProperty.cpp:
4750        Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
4751        * css/CSSStyleApplyProperty.h:
4752        Rename propertyValue propertyHandler and setPropertyValue setPropertyHandler.
4753
47542011-05-04  Ryosuke Niwa  <rniwa@webkit.org>
4755
4756        Reviewed by Eric Seidel.
4757
4758        Cleanup conditionals in findNextLineBreak
4759        https://bugs.webkit.org/show_bug.cgi?id=60117
4760
4761        Simplified conditional statements in findNextLineBreak.
4762
4763        * rendering/RenderBlockLineLayout.cpp:
4764        (WebCore::RenderBlock::findNextLineBreak):
4765
47662011-05-04  Luke Macpherson   <macpherson@chromium.org>
4767
4768        Reviewed by Eric Seidel.
4769
4770        Make CSSStyleSelector::applyProperty() CSSPropertyWebkitHyphens case use appropriate macro.
4771        https://bugs.webkit.org/show_bug.cgi?id=60114
4772
4773        No new tests as no functionality changes.
4774
4775        * css/CSSStyleSelector.cpp:
4776        (WebCore::CSSStyleSelector::applyProperty):
4777        Use HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macro to remove code duplication.
4778
47792011-05-04  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
4780
4781        Reviewed by Andreas Kling.
4782
4783        [Qt] Fix QNetworkReplyWrapper to not depend on QNetworkReply::isFinished() method
4784        https://bugs.webkit.org/show_bug.cgi?id=59070
4785
4786        Applications using our API and our autotests subclass QNetworkReply as part of providing a
4787        custom QNetworkAccessManager. But there's an API limitation in Qt 4.7, that makes
4788        QNetworkReply::isFinished() always be false for these custom replies. This was fixed in Qt
4789        4.8, see http://bugreports.qt.nokia.com/browse/QTBUG-11737.
4790
4791        The consequence is that QtWebKit cannot rely on this function. So now QNetworkReplyWrapper
4792        watches for the finished() signal and set a dynamic property "_q_isFinished" on the reply
4793        indicating that it is finished. When there's no finished signal (synchronous) we set the
4794        dynamic property once we get the reply.
4795
4796        This fixes tst_QWebFrame::requestedUrl(), that was breaking because sniffer was not
4797        emitting its own finished() signal, causing QWebFrame::loadFinished() to not be emitted.
4798
4799        * platform/network/qt/QNetworkReplyHandler.cpp:
4800        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
4801        Connect the finished signal to the new setFinished() slot.
4802
4803        (WebCore::QNetworkReplyWrapper::synchronousLoad):
4804        Since we don't get the finished signal for synchronous loads, set the dynamic property
4805        before processing it.
4806
4807        (WebCore::QNetworkReplyWrapper::resetConnections):
4808        Do not reset the connection to setFinished().
4809
4810        (WebCore::QNetworkReplyWrapper::setFinished):
4811        Set the dynamic property in the reply.
4812
4813        (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
4814        (WebCore::QNetworkReplyHandler::start):
4815        Change to use wrapper's isFinished() instead of asking the reply directly.
4816
4817        * platform/network/qt/QNetworkReplyHandler.h:
4818        (WebCore::QNetworkReplyWrapper::isFinished):
4819        Checks the dynamic property of the reply.
4820
4821        * platform/network/qt/QtMIMETypeSniffer.cpp:
4822        (QtMIMETypeSniffer::sniff):
4823        Use the dynamic property to check if the reply is finished.
4824
48252011-05-04  Eric Seidel  <eric@webkit.org>
4826
4827        Reviewed by Ryosuke Niwa.
4828
4829        Split createLineBoxesFromBidiRuns out from layoutRunsAndFloats
4830        https://bugs.webkit.org/show_bug.cgi?id=60080
4831
4832        No functional change, just moving code.
4833
4834        * rendering/RenderBlock.h:
4835        * rendering/RenderBlockLineLayout.cpp:
4836        (WebCore::RenderBlock::createLineBoxesFromBidiRuns):
4837        (WebCore::RenderBlock::layoutRunsAndFloats):
4838
48392011-05-04  Andreas Kling  <andreas.kling@nokia.com>
4840
4841        Reviewed by Kenneth Rohde Christiansen.
4842
4843        [Qt] Remove unused function FontPlatformData::pixelSize()
4844        https://bugs.webkit.org/show_bug.cgi?id=60156
4845
4846        * platform/graphics/qt/FontPlatformData.h:
4847        (WebCore::FontPlatformData::pixelSize): Removed.
4848
48492011-05-04  Luke Macpherson   <macpherson@chromium.org>
4850
4851        Reviewed by Darin Adler.
4852
4853        Remove redundant conversion from auto table layout to auto table layout in CSSStyleSelector::applyProperty()
4854        https://bugs.webkit.org/show_bug.cgi?id=60011
4855
4856        No new tests added as no functionality changed.
4857
4858        * css/CSSStyleSelector.cpp:
4859        (WebCore::CSSStyleSelector::applyProperty):
4860        Remove reundant check for auto table layout.
4861
48622011-05-04  Mihai Parparita  <mihaip@chromium.org>
4863
4864        Reviewed by Darin Adler.
4865
4866        Remove double-free checks for bug 56124
4867        https://bugs.webkit.org/show_bug.cgi?id=60037
4868
4869        Antti's speculative fix for bug 56124 (r84151) appears to have worked,
4870        these CRASH() calls are not triggering anymore.
4871
4872        * css/CSSSelector.h:
4873        (WebCore::CSSSelector::CSSSelector):
4874        (WebCore::CSSSelector::~CSSSelector):
4875        * css/CSSSelectorList.cpp:
4876        (WebCore::CSSSelectorList::deleteSelectors):
4877
48782011-05-04  Satish Sampath  <satish@chromium.org>
4879
4880        Reviewed by Tony Gentilcore.
4881
4882        Layout the speech input button to the left of outer spin button properly.
4883        https://bugs.webkit.org/show_bug.cgi?id=59742
4884
4885        * rendering/RenderTextControlSingleLine.cpp:
4886        (WebCore::RenderTextControlSingleLine::layout):
4887
48882011-05-04  Yury Semikhatsky  <yurys@chromium.org>
4889
4890        Unreviewed. Build fix.
4891
4892        * bindings/js/JSInjectedScriptHostCustom.cpp: fix includes declaration
4893
48942011-05-03  Yury Semikhatsky  <yurys@chromium.org>
4895
4896        Reviewed by Pavel Feldman.
4897
4898        Web Inspector: can't inspect element in an iframe when element originates from non-frame document
4899        https://bugs.webkit.org/show_bug.cgi?id=60031
4900
4901        Inspected object type evaluation has moved into native bindings. This way it doesn't
4902        depend on the current JS context.
4903
4904        Test: inspector/elements/elements-inspect-iframe-from-different-domain.html
4905
4906        * bindings/js/JSInjectedScriptHostCustom.cpp:
4907        (WebCore::JSInjectedScriptHost::isHTMLAllCollection): this method helps distinguish
4908        real undefined values from HTMLAllCollection
4909        (WebCore::JSInjectedScriptHost::type): method that returns presice type of the passed
4910        value
4911        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
4912        (WebCore::V8InjectedScriptHost::isHTMLAllCollectionCallback):
4913        (WebCore::V8InjectedScriptHost::typeCallback):
4914        * inspector/InjectedScriptHost.idl:
4915        * inspector/InjectedScriptSource.js:
4916        (.):
4917
49182011-05-03  Pratik Solanki  <psolanki@apple.com>
4919
4920        Reviewed by Antti Koivisto.
4921
4922        Part of WebCore should use CFNetwork-based loader on Mac
4923        https://bugs.webkit.org/show_bug.cgi?id=51836
4924
4925        Merge the conflicting definitions of WebCore::privateBrowsingCookieStorage() into one. Clean
4926        up some warnings and #if USE(CFNETWORK) around code.
4927
4928        * platform/mac/CookieJar.mm:
4929        * platform/network/CookieStorage.h:
4930        * platform/network/cf/CookieStorageCFNet.cpp:
4931        (WebCore::privateBrowsingCookieStorage):
4932        (WebCore::currentCookieStorage):
4933        (WebCore::setCurrentCookieStorage):
4934        (WebCore::setCookieStoragePrivateBrowsingEnabled):
4935        (WebCore::notifyCookiesChangedOnMainThread):
4936        (WebCore::notifyCookiesChanged):
4937        * platform/network/cf/CookieStorageCFNet.h:
4938        * platform/network/mac/CookieStorageMac.mm:
4939
49402011-05-03  Justin Novosad  <junov@chromium.org>
4941
4942        Reviewed by Kenneth Russell.
4943
4944        [Chromium] Make accelerated 2d canvas enabled by default with skia
4945        https://bugs.webkit.org/show_bug.cgi?id=59929
4946
4947        No new tests. Covered by existing layout tests
4948
4949        * html/canvas/CanvasRenderingContext2D.cpp:
4950        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
4951        Initialized for accelerated canvas if either the accelerated2dCanvas
4952        or the legacyAccelerated2dCanvas flags are enabled
4953        * page/Page.cpp:
4954        (WebCore::Page::sharedGraphicsContext3D):
4955        This is where the code goes to implement the functionality for the
4956        legacy vs current acceleration paths for the 2D canvas. Currently,
4957        this is a no-op, and always select the legacy path.  This is temporary
4958        until we are ready to sort the GPU layout tests (rebasline vs. bug)
4959        * page/Settings.cpp:  Added new flage for legacyAccelerated2dCanvas
4960        (WebCore::Settings::Settings):
4961        (WebCore::Settings::setLegacyAccelerated2dCanvasEnabled):
4962        * page/Settings.h:
4963        (WebCore::Settings::legacyAccelerated2dCanvasEnabled):
4964
49652011-04-29  Jer Noble  <jer.noble@apple.com>
4966
4967        Reviewed by Eric Seidel.
4968
4969        Implement FULLSCREEN_API on Windows, Part 4: Enable it
4970        https://bugs.webkit.org/show_bug.cgi?id=59798
4971
4972        * WebCore.vcproj/WebCore.vcproj: Add missing full screen related
4973            files to the project.
4974
49752011-05-03  Alpha Lam  <hclam@chromium.org>
4976
4977        Not reviewed. Build fix.
4978
4979        More places from 0 to nullptr.
4980
4981        * bindings/v8/V8Proxy.cpp:
4982        (WebCore::V8Proxy::precompileScript):
4983        * platform/graphics/chromium/LayerTilerChromium.cpp:
4984        (WebCore::LayerTilerChromium::create):
4985        * platform/graphics/gpu/BicubicShader.cpp:
4986        (WebCore::BicubicShader::create):
4987        * platform/graphics/gpu/ConvolutionShader.cpp:
4988        (WebCore::ConvolutionShader::create):
4989        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
4990        (WebCore::LoopBlinnSolidFillShader::create):
4991        * platform/graphics/gpu/SolidFillShader.cpp:
4992        (WebCore::SolidFillShader::create):
4993        * platform/graphics/gpu/TexShader.cpp:
4994        (WebCore::TexShader::create):
4995        * platform/graphics/skia/PlatformContextSkia.cpp:
4996        (WebCore::PlatformContextSkia::~PlatformContextSkia):
4997        * platform/leveldb/LevelDBDatabase.cpp:
4998        (WebCore::LevelDBDatabase::createIterator):
4999        * platform/text/LocalizedNumberICU.cpp:
5000        (WebCore::createFormatterForCurrentLocale):
5001
50022011-05-03  Alpha Lam  <hclam@chromium.org>
5003
5004        Not reviewed. Build fix.
5005
5006        Using nullptr instead of 0. This makes visual studio happy.
5007
5008        * storage/IDBTransactionBackendInterface.h:
5009
50102011-05-03  Luke Macpherson   <macpherson@chromium.org>
5011
5012        Reviewed by Dimitri Glazkov.
5013
5014        Add template parameter to ApplyPropertyColor to improve clarity by removing constructor parameter side effects.
5015        https://bugs.webkit.org/show_bug.cgi?id=59774
5016
5017        No new tests required as on new functionality.
5018
5019        * css/CSSStyleApplyProperty.cpp:
5020        (WebCore::ApplyPropertyColor::applyValue):
5021        Added template parameter "inheritColorFromParent = false".
5022        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
5023        Use template parameter where appropriate.
5024
50252011-05-03  Dan Bernstein  <mitz@apple.com>
5026
5027        Reviewed by Darin Adler.
5028
5029        <rdar://problem/9313186> Make the fix for <rdar://problem/9190108> more robust.
5030
5031        Added a pointer from FloatingObject to its originating line, if there is one, and made sure to
5032        dirty the line when the float is removed, instead of relying on the float always intersecting
5033        its originating line.
5034
5035        * rendering/RenderBlock.cpp:
5036        (WebCore::RenderBlock::removeFloatingObject):
5037        (WebCore::RenderBlock::removeFloatingObjectsBelow):
5038        (WebCore::RenderBlock::clearFloats):
5039        * rendering/RenderBlock.h:
5040        (WebCore::RenderBlock::FloatingObject::FloatingObject):
5041        * rendering/RenderBlockLineLayout.cpp:
5042        (WebCore::RenderBlock::appendFloatingObjectToLastLine):
5043        (WebCore::RenderBlock::layoutRunsAndFloats):
5044        (WebCore::RenderBlock::determineStartPosition):
5045
50462011-05-02  Jer Noble  <jer.noble@apple.com>
5047
5048        Reviewed by Adam Roben.
5049
5050        Implement FULLSCREEN_API on Windows, Part 3: WebKit2
5051        https://bugs.webkit.org/show_bug.cgi?id=59845
5052
5053        Move WebFullScreenController into WebCore to facilitate code sharing between WebKit
5054        and WebKit2.  WebFullScreenController now uses a Client class to request work on its
5055        behalf by WebKit and WebKit2.  MediaPlayerPrivateFullscreenWindow now only creates a
5056        CALayerHost once a root layer is set, as the CALayerHost was causing child window drawing
5057        problems, and because a CALayerHost is overkill if the window is only drawing black to
5058        its client area.
5059
5060        * WebCore.vcproj/WebCore.vcproj:
5061        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
5062        (WebCore::MediaPlayerPrivateFullscreenWindow::MediaPlayerPrivateFullscreenWindow): Do not create
5063            m_layerHost in the constructor.
5064        (WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): NULL check m_layerHost.
5065        (WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer): Lazily instantiate m_layerHost.
5066        (WebCore::MediaPlayerPrivateFullscreenWindow::wndProc): NULL check m_layerHost; if a root layer is
5067            not present, fill the window with black in WM_PAINT.
5068        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
5069        * platform/graphics/win/FullScreenController.cpp: Renamed from Source/WebKit/win/WebFullScreenController.cpp.
5070        * platform/graphics/win/FullScreenController.h: Renamed from Source/WebKit/win/WebFullScreenController.h.
5071        * platform/graphics/win/FullScreenControllerClient.h: Split out from FullScreenController.h
5072        (WebCore::FullScreenControllerClient::~FullScreenControllerClient):
5073
50742011-05-03  Brady Eidson  <beidson@apple.com>
5075
5076        Reviewed by Sam Weinig.
5077
5078        https://bugs.webkit.org/show_bug.cgi?id=60087 and <rdar://problem/9373182>
5079        WK2 Icon Database should provide access to all image representations in the icon.
5080
5081        Add an accessor for CG platforms to get a CFArrayRef of all the CGImageRefs represented:
5082        * platform/graphics/BitmapImage.h:
5083        * platform/graphics/Image.h:
5084        (WebCore::Image::getCGImageArray):
5085        * platform/graphics/cg/ImageCG.cpp:
5086        (WebCore::BitmapImage::getCGImageArray):
5087
50882011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
5089
5090        Reviewed by Eric Seidel.
5091
5092        findNextLineBreak splits InlineIterator into 3 pieces
5093        https://bugs.webkit.org/show_bug.cgi?id=60082
5094
5095        Avoid splitting InlineIterator into 3 variables with inter-dependencies.
5096
5097        * rendering/InlineIterator.h:
5098        (WebCore::InlineIterator::fastIncrementInTextNode): Added.
5099        (WebCore::InlineIterator::previousInSameNode): Added.
5100        * rendering/RenderBlockLineLayout.cpp:
5101        (WebCore::RenderBlock::findNextLineBreak):
5102
51032011-05-03  Dean Jackson  <dino@apple.com>
5104
5105        Reviewed by Simon Fraser.
5106
5107        Interrupted transitions are not correctly removed
5108        https://bugs.webkit.org/show_bug.cgi?id=60062
5109
5110        CompositeAnimation was replacing any existing
5111        transition as a new one was created. However, it wasn't
5112        clearing the lists in AnimationControllerPrivate that
5113        signal when a hardware animation starts. Rather than
5114        simple removing the existing transition, we now tell
5115        AnimationControllerPrivate that is has gone.
5116
5117        Test: transitions/3d/interrupted-transition.html
5118
5119        * page/animation/CompositeAnimation.cpp:
5120        (WebCore::CompositeAnimation::updateTransitions):
5121
51222011-05-03  Enrica Casucci  <enrica@apple.com>
5123
5124        Reviewed by Ryosuke Niwa.
5125
5126        Crash in SpellingCorrectionController::respondToChangedSelection.
5127        https://bugs.webkit.org/show_bug.cgi?id=60071
5128        <rdar://problem/9358190>
5129
5130        Creating a Visible position could trigger a layout and there is no
5131        guarantee that the selection is still valid after that.
5132
5133        Tests: editing/selection/undo-crash.html
5134
5135        * editing/SpellingCorrectionController.cpp:
5136        (WebCore::SpellingCorrectionController::respondToChangedSelection):
5137
51382011-05-03  Levi Weintraub  <leviw@chromium.org>
5139
5140        Reviewed by Eric Seidel.
5141
5142        Refactor computeInlineDirectionPositionsForLine into smaller functions
5143        https://bugs.webkit.org/show_bug.cgi?id=60072
5144
5145        Split three functions off from computeInlineDirectionPositionsForLine
5146        to improve its readability.
5147
5148        No new tests since this is just moving code around.
5149
5150        * rendering/RenderBlock.h:
5151        * rendering/RenderBlockLineLayout.cpp:
5152        (WebCore::RenderBlock::setMarginsForRubyRun):
5153        (WebCore::setLogicalWidthForTextRun):
5154        (WebCore::computeExpansionForJustifiedText):
5155        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
5156
51572011-05-03  David Kilzer  <ddkilzer@apple.com>
5158
5159        <http://webkit.org/b/59838> Implement HTTP pipelining for CoreFoundation-based networking
5160
5161        Reviewed by Antti Koivisto.
5162
5163        * platform/network/cf/ResourceRequestCFNet.cpp:
5164        (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the
5165        priority on the request if HTTP pipelining is enabled.
5166        (WebCore::ResourceRequest::doUpdateResourceRequest): Read the
5167        priority from the request if HTTP pipelining is enabled.
5168        (readBooleanPreference): Enable code when compiling with
5169        USE(CFNETWORK).
5170        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Ditto.
5171        Comment out setting the minimum fast lane priority on Windows
5172        since it's not currently available.
5173
51742011-05-03  Simon Fraser  <simon.fraser@apple.com>
5175
5176        Reviewed by Dan Bernstein.
5177
5178        <rdar://problem/9278296> Flicker zooming on Google Maps satellite view with accelerated compositing turned on
5179
5180        Conditionalize compositing tiled layer size-constraining logic to older
5181        OSes.
5182
5183        * platform/graphics/ca/GraphicsLayerCA.cpp:
5184        (WebCore::GraphicsLayerCA::constrainedSize):
5185
51862011-05-03  Roland Steiner  <rolandsteiner@chromium.org>
5187
5188        Reviewed by Dimitri Glazkov.
5189
5190        Allow access keys to be used in shadow DOM
5191        https://bugs.webkit.org/show_bug.cgi?id=59979
5192
5193        Move access key methods and members back to Document from TreeScope.
5194        Also traverse into shadow trees when building the access key map.
5195
5196        No new tests. (refactoring)
5197
5198        * dom/Document.cpp:
5199        (WebCore::Document::Document):
5200        (WebCore::Document::getElementByAccessKey):
5201        (WebCore::Document::buildAccessKeyMap):
5202        (WebCore::Document::invalidateAccessKeyMap):
5203        * dom/Document.h:
5204        * dom/TreeScope.cpp:
5205        (WebCore::TreeScope::TreeScope):
5206        (WebCore::TreeScope::destroyTreeScopeData):
5207        * dom/TreeScope.h:
5208
52092011-05-03  Dan Bernstein  <mitz@apple.com>
5210
5211        Reviewed by Darin Adler.
5212
5213        <rdar://problem/8891395> -[DOMRange textRects] returns incorrect results for vertical or flipped text
5214        https://bugs.webkit.org/show_bug.cgi?id=60067
5215
5216        No test because this code path is only used by the Objective-C API, which is not testable from DumpRenderTree.
5217
5218        * rendering/RenderText.cpp:
5219        (WebCore::RenderText::absoluteRectsForRange): Use width/height instead of logicalWidth/logicalHeight here,
5220        and perform the local-to-absolute mapping on the rects rather than their origin, in order to get the right
5221        results for flipped writing modes.
5222
52232011-05-03  Anton Muhin  <antonm@chromium.org>
5224
5225        Reviewed by Yury Semikhatsky.
5226
5227        [v8] remove an ASSERT from grouping logic
5228        https://bugs.webkit.org/show_bug.cgi?id=60024
5229
5230        This ASSERT was exploratory.  Alas, right now I am aware of no easy way to
5231        repro it.  Removing for now for greener bots.
5232
5233        No new tests, only an ASSERT removal.
5234
5235        * bindings/v8/V8GCController.cpp:
5236        (WebCore::calculateGroupId):
5237
52382011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
5239
5240        Reviewed by Darin Adler.
5241
5242        WebKit allows selection that crosses the shadow boundary of a readonly input element
5243        https://bugs.webkit.org/show_bug.cgi?id=60000
5244
5245        The bug was caused by VisibleSelection's not validating shadow DOM boundaries.
5246        Fixed the bug by adding an extra adjustment, adjustSelectionToAvoidCrossingShadowBoundaries,
5247        in its validation process.
5248
5249        Tests: editing/selection/select-across-readonly-input-1.html
5250               editing/selection/select-across-readonly-input-2.html
5251               editing/selection/select-across-readonly-input-3.html
5252               editing/selection/select-across-readonly-input-4.html
5253               editing/selection/select-across-readonly-input-5.html
5254
5255        * editing/VisibleSelection.cpp:
5256        (WebCore::VisibleSelection::validate): Calls adjustSelectionToAvoidCrossingShadowBoundaries.
5257        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries): Added.
5258        * editing/VisibleSelection.h:
5259
52602011-05-03  Eric Seidel  <eric@webkit.org>
5261
5262        Reviewed by Ryosuke Niwa.
5263
5264        Split out layoutRunsAndFloats from layoutInlineChildren
5265        https://bugs.webkit.org/show_bug.cgi?id=60052
5266
5267        No new tests, just moving code here.  There should be
5268        no change in behavior.
5269
5270        * rendering/RenderBlock.h:
5271        * rendering/RenderBlockLineLayout.cpp:
5272        (WebCore::RenderBlock::layoutRunsAndFloats):
5273        (WebCore::RenderBlock::layoutInlineChildren):
5274
52752011-05-03  James Robinson  <jamesr@chromium.org>
5276
5277        Reviewed by Kenneth Russell.
5278
5279        [chromium] Resizing a 2d canvas to huge dimensions after compositing crashes with accelerated 2d canvas option enabled
5280        https://bugs.webkit.org/show_bug.cgi?id=59965
5281
5282        Fixes a few bugs leading to a crash if a canvas already being composited was resized to huge dimensions.
5283
5284        Test: fast/canvas/canvas-resize-after-paint.html
5285
5286        * html/canvas/CanvasRenderingContext2D.cpp:
5287        (WebCore::CanvasRenderingContext2D::reset):
5288            Mark the canvas's layer as needing a synthetic style recalculation when creating or destroying the backing
5289            DrawingBuffer so that we exit compositing mode properly if we can't handle the canvas dimensions.
5290        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
5291        (WebCore::Canvas2DLayerChromium::setLayerRenderer):
5292            Add a null check for m_drawingBuffer
5293        * platform/graphics/gpu/DrawingBuffer.cpp:
5294        (WebCore::DrawingBuffer::clear):
5295            Avoid clearing the m_context pointer in reset() - we destroy the DrawingBuffer whenever reset() fails, so
5296            this is unnecessary.
5297
52982011-05-03  Adam Roben  <aroben@apple.com>
5299
5300        Fix most strict PassOwnPtr violations on Windows
5301
5302        Fixes <http://webkit.org/b/60025> Windows should (almost) build with strict PassOwnPtr
5303        enabled
5304
5305        Reviewed by Anders Carlsson.
5306
5307        * loader/EmptyClients.h:
5308        * platform/GeolocationService.cpp:
5309        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
5310        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
5311        * platform/mock/GeolocationServiceMock.cpp:
5312        * rendering/RenderTheme.cpp:
5313        * rendering/RenderThemeSafari.cpp:
5314
53152011-05-03  Levi Weintraub  <leviw@chromium.org>
5316
5317        Reviewed by Eric Seidel.
5318
5319        Extract LineInfo class
5320        https://bugs.webkit.org/show_bug.cgi?id=60044
5321
5322        Created a LineInfo class in RenderBlockLineLayout.cpp that brings together the relevant
5323        layout information about a line. This simplifies function signatures and clears up initialization.
5324
5325        No new tests as this is refactoring.
5326
5327        * rendering/RenderBlock.h: Updated internal layout function signatures to use LineInfo.
5328        * rendering/RenderBlockLineLayout.cpp:
5329        (WebCore::LineInfo::LineInfo):
5330        (WebCore::LineInfo::isFirstLine):
5331        (WebCore::LineInfo::isLastLine):
5332        (WebCore::LineInfo::isEmpty):
5333        (WebCore::LineInfo::previousLineBrokeCleanly):
5334        (WebCore::LineInfo::setFirstLine):
5335        (WebCore::LineInfo::setLastLine):
5336        (WebCore::LineInfo::setEmpty):
5337        (WebCore::LineInfo::setPreviousLineBrokeCleanly):
5338        (WebCore::RenderBlock::createLineBoxes):
5339        (WebCore::RenderBlock::constructLine):
5340        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
5341        (WebCore::RenderBlock::layoutInlineChildren):
5342        (WebCore::RenderBlock::determineStartPosition):
5343        (WebCore::skipNonBreakingSpace):
5344        (WebCore::shouldCollapseWhiteSpace):
5345        (WebCore::requiresLineBox): Moved from RenderBlock.h and made it locally scoped to RenderBlockLineLayout.cpp
5346        (WebCore::RenderBlock::generatesLineBoxesForInlineChild):
5347        (WebCore::RenderBlock::skipTrailingWhitespace):
5348        (WebCore::RenderBlock::skipLeadingWhitespace):
5349        (WebCore::RenderBlock::findNextLineBreak):
5350
53512011-05-03  Roland Steiner  <rolandsteiner@chromium.org>
5352
5353        Reviewed by Dimitri Glazkov.
5354
5355        Update node list cache count on the containing TreeScope rather than the Document
5356        https://bugs.webkit.org/show_bug.cgi?id=59983
5357
5358        Change code to call add/removeNodeListCache() and hasNodeListCaches() on the proper tree scope.
5359        Move updating of the node list cache count from setDocument() to setTreeScopeRecursively().
5360        Make setDocument() and setDocumentRecursively() private.
5361
5362        No new tests. (refactoring)
5363
5364        * dom/ContainerNode.cpp:
5365        (WebCore::ContainerNode::childrenChanged):
5366        * dom/Node.cpp:
5367        (WebCore::Node::~Node):
5368        (WebCore::Node::setDocument):
5369        (WebCore::Node::setTreeScopeRecursively):
5370        (WebCore::Node::childNodes):
5371        (WebCore::Node::registerDynamicNodeList):
5372        (WebCore::Node::unregisterDynamicNodeList):
5373        (WebCore::Node::notifyLocalNodeListsAttributeChanged):
5374        (WebCore::Node::notifyLocalNodeListsChildrenChanged):
5375        (WebCore::Node::getElementsByTagName):
5376        (WebCore::Node::getElementsByTagNameNS):
5377        (WebCore::Node::getElementsByName):
5378        (WebCore::Node::getElementsByClassName):
5379        * dom/Node.h:
5380        * html/HTMLFormControlElement.cpp:
5381        (WebCore::HTMLFormControlElement::labels):
5382
53832011-05-03  Ryosuke Niwa  <rniwa@webkit.org>
5384
5385        Reviewed by Eric Seidel.
5386
5387        Bundle trailingSpaceObject and trailingPositionedBoxes in findNextLineBreak as a class
5388        https://bugs.webkit.org/show_bug.cgi?id=60046
5389
5390        Extracted TrailingObjects that encapsulates trailingSpaceObject and trailingPositionedBoxes.
5391
5392        * rendering/RenderBlockLineLayout.cpp:
5393        (WebCore::TrailingObjects::TrailingObjects):
5394        (WebCore::TrailingObjects::setTrailingWhitespace):
5395        (WebCore::TrailingObjects::clear):
5396        (WebCore::TrailingObjects::appendBoxIfNeeded):
5397        (WebCore::TrailingObjects::addMidpoints):
5398        (WebCore::RenderBlock::findNextLineBreak):
5399
54002011-05-03  Igor Oliveira  <igor.oliveira@openbossa.org>
5401
5402        Reviewed by Eric Seidel.
5403
5404        [Qt] Implement initial support to DataTransferItems
5405        https://bugs.webkit.org/show_bug.cgi?id=58448
5406
5407        Implement initial support to DataTransferItems. DataTransferItems are used to
5408        hold data for drag and drop operations. DataTransferItems hold a list of
5409        DataTransferItem objects each of which holds an item being dragged.
5410
5411        * WebCore.pro:
5412        * dom/DataTransferItems.idl:
5413        * editing/qt/EditorQt.cpp:
5414        (WebCore::Editor::newGeneralClipboard):
5415        * page/qt/EventHandlerQt.cpp:
5416        (WebCore::EventHandler::createDraggingClipboard):
5417        * platform/chromium/DataTransferItemsChromium.h:
5418        * platform/qt/ClipboardQt.cpp:
5419        (WebCore::Clipboard::create):
5420        (WebCore::ClipboardQt::ClipboardQt):
5421        (WebCore::ClipboardQt::items):
5422        * platform/qt/ClipboardQt.h:
5423        (WebCore::ClipboardQt::create):
5424        * platform/qt/DataTransferItemQt.cpp: Added.
5425        (WebCore::DataTransferItem::create):
5426        (WebCore::DataTransferItemQt::createFromPasteboard):
5427        (WebCore::DataTransferItemQt::create):
5428        (WebCore::DataTransferItemQt::DataTransferItemQt):
5429        (WebCore::DataTransferItemQt::getAsString):
5430        (WebCore::DataTransferItemQt::getAsFile):
5431        * platform/qt/DataTransferItemQt.h: Added.
5432        * platform/qt/DataTransferItemsQt.cpp: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
5433        (WebCore::DataTransferItemsQt::create):
5434        (WebCore::DataTransferItemsQt::DataTransferItemsQt):
5435        (WebCore::DataTransferItemsQt::addPasteboardItem):
5436        * platform/qt/DataTransferItemsQt.h: Copied from Source/WebCore/editing/qt/EditorQt.cpp.
5437
54382011-05-03  Julien Chaffraix  <jchaffraix@codeaurora.org>
5439
5440        Reviewed by Dimitri Glazkov.
5441
5442        Element:shadowRoot & Element::ensureShadowRoot should return ShadowRoot*
5443        https://bugs.webkit.org/show_bug.cgi?id=58703
5444
5445        No new tests, refactoring only.
5446
5447        * dom/Element.cpp:
5448        (WebCore::Element::copyNonAttributeProperties):
5449        (WebCore::Element::insertedIntoDocument):
5450        (WebCore::Element::removedFromDocument):
5451        (WebCore::Element::insertedIntoTree):
5452        (WebCore::Element::removedFromTree):
5453        (WebCore::Element::attach):
5454        (WebCore::Element::detach):
5455        (WebCore::Element::recalcStyle):
5456        (WebCore::Element::shadowRoot):
5457        (WebCore::Element::ensureShadowRoot):
5458        (WebCore::Element::childrenChanged):
5459        * dom/Node.cpp:
5460        (WebCore::Node::setTreeScopeRecursively):
5461        (WebCore::shadowRoot):
5462        (WebCore::Node::setDocumentRecursively):
5463        (WebCore::NodeRendererFactory::findVisualParent):
5464        Updated all the call sites for shadowRoot and ensureShadowRoot in the 2
5465        previous classes.
5466
5467        * dom/Element.h: Updated 2 methods' signature to return a ShadowRoot*.
5468
5469        * dom/ShadowRoot.h: Removed toShadowRoot as it is not used anymore.
5470
5471        * html/HTMLDetailsElement.cpp:
5472        * html/HTMLSummaryElement.cpp:
5473        Added #include for ShadowRoot.h.
5474
54752011-05-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
5476
5477        Reviewed by Kenneth Rohde Christiansen.
5478
5479        [EFL] Implement mediaSliderTrack
5480        https://bugs.webkit.org/show_bug.cgi?id=59998
5481
5482        Implement paintMediaSliderTrack.
5483
5484        * platform/efl/RenderThemeEfl.cpp:
5485        (WebCore::RenderThemeEfl::RenderThemeEfl):
5486        (WebCore::RenderThemeEfl::paintMediaSliderTrack):
5487        * platform/efl/RenderThemeEfl.h:
5488
54892011-05-03  Mikhail Naganov  <mnaganov@chromium.org>
5490
5491        Reviewed by Pavel Feldman.
5492
5493        WebInspector: [Chromium] Fix slowness of Summary view nodes expansion in detailed heap profiles.
5494        https://bugs.webkit.org/show_bug.cgi?id=60023
5495
5496        * inspector/front-end/DetailedHeapshotGridNodes.js:
5497        (WebInspector.HeapSnapshotConstructorNode):
5498        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
5499        * inspector/front-end/HeapSnapshot.js:
5500        (WebInspector.HeapSnapshot.prototype.dispose):
5501        (WebInspector.HeapSnapshot.prototype.aggregates):
5502        (WebInspector.HeapSnapshot.prototype._buildAggregates):
5503        (WebInspector.HeapSnapshot.prototype._sortAggregateIndexes):
5504        (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
5505        (WebInspector.HeapSnapshotFilteredOrderedIterator):
5506        (WebInspector.HeapSnapshotNodesProvider):
5507        * inspector/front-end/HeapSnapshotProxy.js:
5508        (WebInspector.HeapSnapshotProxy.prototype.aggregates):
5509        (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForClass):
5510
55112011-05-03  Mikhail Naganov  <mnaganov@chromium.org>
5512
5513        Reviewed by Pavel Feldman.
5514
5515        WebInspector: [Chromium] Hint user that to display retaining paths, an object entry must be clicked.
5516        https://bugs.webkit.org/show_bug.cgi?id=60029
5517
5518        * English.lproj/localizedStrings.js:
5519        * inspector/front-end/DetailedHeapshotView.js:
5520        (WebInspector.HeapSnapshotRetainingPathsList.prototype.reset):
5521        (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
5522
55232011-05-03  Beth Dakin  <bdakin@apple.com>
5524
5525        Reviewed by Dan Bernstein.
5526
5527        https://bugs.webkit.org/show_bug.cgi?id=60045
5528        Scrollbar thumb sometimes leaves artifacts in the track after scrolling
5529        -and corresponding-
5530        <rdar://problem/9015376>
5531
5532        When we're using WK_SCROLLBAR_PAINTER, the AppleScrollBarVariant default should
5533        always be ignored.
5534        * platform/mac/ScrollbarThemeMac.mm:
5535        (WebCore::updateArrowPlacement):
5536
55372011-05-03  David Hyatt  <hyatt@apple.com>
5538
5539        Reviewed by Dan Bernstein.
5540
5541        https://bugs.webkit.org/show_bug.cgi?id=60040
5542        <rdar://problem/9261591>
5543
5544        Links broken at iplanwebsites.com. Make sure that culledInlineAbsoluteQuads still does
5545        a translation of a 0,0 point to absolute coordinates so that the top left position is
5546        accurate.
5547
5548        Added fast/inline/skipped-whitespace-client-rect.html
5549
5550        * rendering/RenderInline.cpp:
5551        (WebCore::RenderInline::culledInlineAbsoluteQuads):
5552
55532011-05-03  Sam Weinig  <sam@webkit.org>
5554
5555        Fix chromium build.
5556
5557        * page/Settings.cpp:
5558
55592011-05-02  Roland Steiner  <rolandsteiner@chromium.org>
5560
5561        Reviewed by Dimitri Glazkov.
5562
5563        Bug 59974 - Update image map on the containing TreeScope rather than the Document
5564        https://bugs.webkit.org/show_bug.cgi?id=59974
5565
5566        No new tests. (reefactoring)
5567
5568        * html/HTMLMapElement.cpp:
5569        (WebCore::HTMLMapElement::parseMappedAttribute):
5570        (WebCore::HTMLMapElement::insertedIntoDocument):
5571        (WebCore::HTMLMapElement::removedFromDocument):
5572        * rendering/RenderImage.cpp:
5573        (WebCore::RenderImage::imageMap):
5574
55752011-05-03  Sam Weinig  <sam@webkit.org>
5576
5577        Fix chromium build.
5578
5579        * loader/HistoryController.cpp:
5580
55812011-05-02  Roland Steiner  <rolandsteiner@chromium.org>
5582
5583        Reviewed by Dimitri Glazkov.
5584
5585        Bug 59966 - Update ID hash on the containing TreeScope rather than the Document
5586        https://bugs.webkit.org/show_bug.cgi?id=59966
5587
5588        No new tests. (refactoring)
5589
5590        * accessibility/AccessibilityRenderObject.cpp:
5591        (WebCore::AccessibilityRenderObject::elementsFromAttribute):
5592        (WebCore::AccessibilityRenderObject::activeDescendant):
5593        * accessibility/AccessibilityRenderObject.h:
5594        (WebCore::AccessibilityRenderObject::isAccessibilityRenderObject):
5595        * css/CSSCursorImageValue.cpp:
5596        (WebCore::resourceReferencedByCursorElement):
5597        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
5598        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
5599        (WebCore::CSSCursorImageValue::cachedImage):
5600        * dom/DynamicNodeList.cpp:
5601        (WebCore::DynamicNodeList::itemWithName):
5602        * dom/Element.h:
5603        (WebCore::Element::updateId):
5604        * dom/Node.cpp:
5605        (WebCore::Node::querySelector):
5606        * html/FormAssociatedElement.cpp:
5607        (WebCore::FormAssociatedElement::insertedIntoTree):
5608        (WebCore::FormAssociatedElement::resetFormOwner):
5609        * html/HTMLInputElement.cpp:
5610        (WebCore::HTMLInputElement::dataList):
5611        * html/HTMLLabelElement.cpp:
5612        (WebCore::HTMLLabelElement::control):
5613        * rendering/svg/RenderSVGTextPath.cpp:
5614        (WebCore::RenderSVGTextPath::layoutPath):
5615        * svg/SVGAElement.cpp:
5616        (WebCore::SVGAElement::defaultEventHandler):
5617        * svg/SVGAltGlyphElement.cpp:
5618        (WebCore::SVGAltGlyphElement::glyphElement):
5619        * svg/SVGFEImageElement.cpp:
5620        (WebCore::SVGFEImageElement::requestImageResource):
5621        (WebCore::SVGFEImageElement::build):
5622        * svg/SVGLinearGradientElement.cpp:
5623        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
5624        * svg/SVGMPathElement.cpp:
5625        (WebCore::SVGMPathElement::pathElement):
5626        * svg/SVGPatternElement.cpp:
5627        (WebCore::SVGPatternElement::collectPatternAttributes):
5628        * svg/SVGRadialGradientElement.cpp:
5629        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
5630        * svg/SVGSVGElement.cpp:
5631        (WebCore::SVGSVGElement::getElementById):
5632        * svg/SVGTRefElement.cpp:
5633        (WebCore::SVGTRefElement::updateReferencedText):
5634        * svg/SVGTextPathElement.cpp:
5635        (WebCore::SVGTextPathElement::insertedIntoDocument):
5636        * svg/SVGUseElement.cpp:
5637        (WebCore::SVGUseElement::buildPendingResource):
5638        (WebCore::SVGUseElement::hasCycleUseReferencing):
5639        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
5640        * svg/SVGViewSpec.cpp:
5641        (WebCore::SVGViewSpec::viewTarget):
5642        * svg/animation/SVGSMILElement.cpp:
5643        (WebCore::SVGSMILElement::eventBaseFor):
5644        (WebCore::SVGSMILElement::connectConditions):
5645        (WebCore::SVGSMILElement::targetElement):
5646        * xml/XPathFunctions.cpp:
5647        (WebCore::XPath::FunId::evaluate):
5648
56492011-05-03  Sam Weinig  <sam@webkit.org>
5650
5651        Fix chromium build.
5652
5653        * css/StyleMedia.cpp:
5654
56552011-05-03  Sam Weinig  <sam@webkit.org>
5656
5657        Reviewed by Anders Carlsson.
5658
5659        Prune #includes from FrameView.h (Part 1)
5660        https://bugs.webkit.org/show_bug.cgi?id=59957
5661
5662        * page/FrameView.h:
5663        Prune #includes.
5664
5665        * accessibility/chromium/AXObjectCacheChromium.cpp:
5666        * page/win/FrameCGWin.cpp:
5667        * platform/Scrollbar.cpp:
5668        Add not necessary #includes.
5669
5670        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
5671        Add now necessary forward declaration.
5672
56732011-05-03  Andrey Kosyakov  <caseq@chromium.org>
5674
5675        Reviewed by Dimitri Glazkov.
5676
5677        [Chromium] toV8(Node*) will enter infinite recursion when called with a node of type SHADOW_ROOT_NODE
5678        https://bugs.webkit.org/show_bug.cgi?id=60026
5679
5680        Return a wrapper for Node in toV8(Node*) when called with a node of type
5681        SHADOW_ROOT_NODE instead of entering infinite recursion.
5682
5683        * bindings/v8/custom/V8NodeCustom.cpp:
5684        (WebCore::toV8Slow):
5685
56862011-05-02  Adam Roben  <aroben@apple.com>
5687
5688        Take advantage of implicit conversion from nullptr_t to PassOwnPtr
5689
5690        Fixes <http://webkit.org/b/59964> Implicit conversion from std::nullptr_t to PassOwnPtr
5691        doesn't work, but should
5692
5693        Reviewed by Adam Barth.
5694
5695        * bindings/js/ScheduledAction.cpp:
5696        * css/CSSStyleSelector.cpp:
5697        * css/MediaList.cpp:
5698        * css/MediaQueryMatcher.cpp:
5699        * css/SVGCSSStyleSelector.cpp:
5700        * dom/MessagePort.cpp:
5701        * html/InputType.cpp:
5702        * html/canvas/WebGLRenderingContext.cpp:
5703        * inspector/InspectorStyleSheet.cpp:
5704        * page/ContextMenuController.cpp:
5705        * page/Page.cpp:
5706        * platform/PlatformGestureRecognizer.cpp:
5707        * platform/PurgeableBuffer.h:
5708        * platform/graphics/ImageBuffer.h:
5709        * platform/leveldb/LevelDBDatabase.cpp:
5710        * platform/mac/PurgeableBufferMac.cpp:
5711        * platform/text/RegularExpression.cpp:
5712        * rendering/RenderTheme.cpp:
5713        * rendering/RenderThemeMac.mm:
5714        * rendering/style/RenderStyle.h:
5715        * rendering/style/SVGRenderStyleDefs.cpp:
5716        * rendering/style/ShadowData.cpp:
5717        * rendering/style/StyleRareInheritedData.cpp:
5718        * rendering/style/StyleRareNonInheritedData.cpp:
5719        * rendering/svg/RenderSVGResourcePattern.cpp:
5720
57212011-05-03  Pavel Feldman  <pfeldman@google.com>
5722
5723        Not reviewed: fix inspector status bar image glyph reference in network panel.
5724
5725        * inspector/front-end/networkPanel.css:
5726        (.network-larger-resources-status-bar-item .glyph):
5727
57282011-05-03  Pavel Feldman  <pfeldman@google.com>
5729
5730        Reviewed by Yury Semikhatsky.
5731
5732        Web Inspector: rename BrowserDebugger agent to DOMDebugger.
5733        https://bugs.webkit.org/show_bug.cgi?id=60019
5734
5735        * inspector/CodeGeneratorInspector.pm:
5736        * inspector/Inspector.json:
5737        * inspector/InspectorController.cpp:
5738        (WebCore::InspectorController::connectFrontend):
5739        * inspector/front-end/BreakpointsSidebarPane.js:
5740        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
5741        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
5742        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
5743        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
5744        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
5745        * inspector/generate-inspector-idl:
5746
57472011-05-03  Yury Semikhatsky  <yurys@chromium.org>
5748
5749        Reviewed by Pavel Feldman.
5750
5751        Web Inspector: remove special logic for type of document.__proto__
5752        https://bugs.webkit.org/show_bug.cgi?id=60014
5753
5754        Test: inspector/console/console-log-document-proto.html
5755
5756        * inspector/InjectedScriptSource.js: removed unnecessary check nodeType === undefined
5757
57582011-05-03  Pavel Feldman  <pfeldman@google.com>
5759
5760        Not reviewed: fixed typo in inspector style.
5761
5762        * inspector/front-end/inspector.css:
5763        (.status-bar-item > .glyph):
5764
57652011-05-03  Pavel Feldman  <pfeldman@chromium.org>
5766
5767        Reviewed by Yury Semikhatsky.
5768
5769        Web Inspector: revision history storage is too slow.
5770        https://bugs.webkit.org/show_bug.cgi?id=59939
5771
5772        It turns out that iterating localStorage keys is very
5773        expensive (results in slow inspector start), refactor revision
5774        history in order not to rely upon that operation.
5775
5776        * inspector/front-end/Resource.js:
5777        (WebInspector.Resource):
5778        (WebInspector.Resource._resourceRevisionRegistry):
5779        (WebInspector.Resource.restoreRevisions.persist):
5780        (WebInspector.Resource.restoreRevisions):
5781        (WebInspector.Resource.persistRevision):
5782        (WebInspector.Resource.prototype._persistRevision):
5783        * inspector/front-end/ResourceTreeModel.js:
5784        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
5785        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
5786
57872011-05-03  Pavel Feldman  <pfeldman@chromium.org>
5788
5789        Reviewed by Yury Semikhatsky.
5790
5791        Web Inspector: combine toolbar icon images.
5792        https://bugs.webkit.org/show_bug.cgi?id=59931
5793
5794        * WebCore.gypi:
5795        * inspector/front-end/Images/auditsIcon.png: Removed.
5796        * inspector/front-end/Images/consoleIcon.png: Removed.
5797        * inspector/front-end/Images/elementsIcon.png: Removed.
5798        * inspector/front-end/Images/networkIcon.png: Removed.
5799        * inspector/front-end/Images/profilesIcon.png: Removed.
5800        * inspector/front-end/Images/resourcesIcon.png: Removed.
5801        * inspector/front-end/Images/scriptsIcon.png: Removed.
5802        * inspector/front-end/Images/timelineIcon.png: Removed.
5803        * inspector/front-end/Images/toolbarIcons.png: Added.
5804        * inspector/front-end/Images/toolbarIconsSmall.png: Added.
5805        * inspector/front-end/WebKit.qrc:
5806        * inspector/front-end/inspector.css:
5807        (.toolbar-icon):
5808        (#toolbar-dropdown .toolbar-icon):
5809        (.toolbar-item:active .toolbar-icon):
5810        (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
5811        (.toolbar-item.elements .toolbar-icon):
5812        (.toolbar-item.resources .toolbar-icon):
5813        (#toolbar-dropdown .toolbar-item.resources .toolbar-icon):
5814        (.toolbar-item.network .toolbar-icon):
5815        (#toolbar-dropdown .toolbar-item.network .toolbar-icon):
5816        (.toolbar-item.scripts .toolbar-icon):
5817        (#toolbar-dropdown .toolbar-item.scripts .toolbar-icon):
5818        (.toolbar-item.timeline .toolbar-icon):
5819        (#toolbar-dropdown .toolbar-item.timeline .toolbar-icon):
5820        (.toolbar-item.profiles .toolbar-icon):
5821        (#toolbar-dropdown .toolbar-item.profiles .toolbar-icon):
5822        (.toolbar-item.audits .toolbar-icon):
5823        (#toolbar-dropdown .toolbar-item.audits .toolbar-icon):
5824        (.toolbar-item.console .toolbar-icon):
5825        (#toolbar-dropdown .toolbar-item.console .toolbar-icon):
5826        (.status-bar-item > .glyph):
5827
58282011-05-03  Pavel Feldman  <pfeldman@chromium.org>
5829
5830        Reviewed by Yury Semikhatsky.
5831
5832        Web Inspector: combine status bar button glyphs.
5833        https://bugs.webkit.org/show_bug.cgi?id=59885
5834
5835        * WebCore.gypi:
5836        * inspector/front-end/Images/breakpointsActivateButtonGlyph.png: Removed.
5837        * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png: Removed.
5838        * inspector/front-end/Images/clearConsoleButtonGlyph.png: Removed.
5839        * inspector/front-end/Images/consoleButtonGlyph.png: Removed.
5840        * inspector/front-end/Images/dockButtonGlyph.png: Removed.
5841        * inspector/front-end/Images/enableOutlineButtonGlyph.png: Removed.
5842        * inspector/front-end/Images/enableSolidButtonGlyph.png: Removed.
5843        * inspector/front-end/Images/excludeButtonGlyph.png: Removed.
5844        * inspector/front-end/Images/focusButtonGlyph.png: Removed.
5845        * inspector/front-end/Images/garbageCollectButtonGlyph.png: Removed.
5846        * inspector/front-end/Images/gearButtonGlyph.png: Removed.
5847        * inspector/front-end/Images/helpButtonGlyph.png: Removed.
5848        * inspector/front-end/Images/largerResourcesButtonGlyph.png: Removed.
5849        * inspector/front-end/Images/nodeSearchButtonGlyph.png: Removed.
5850        * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png: Removed.
5851        * inspector/front-end/Images/percentButtonGlyph.png: Removed.
5852        * inspector/front-end/Images/prettyPrintButtonGlyph.png: Removed.
5853        * inspector/front-end/Images/recordButtonGlyph.png: Removed.
5854        * inspector/front-end/Images/recordToggledButtonGlyph.png: Removed.
5855        * inspector/front-end/Images/reloadButtonGlyph.png: Removed.
5856        * inspector/front-end/Images/statusBarButtonGlyphs.png: Added.
5857        * inspector/front-end/Images/undockButtonGlyph.png: Removed.
5858        * inspector/front-end/WebKit.qrc:
5859        * inspector/front-end/inspector.css:
5860        (.status-bar-item > .glyph):
5861        (#dock-status-bar-item .glyph):
5862        (body.detached #dock-status-bar-item .glyph):
5863        (#console-status-bar-item .glyph):
5864        (.clear-status-bar-item .glyph):
5865        (button.enable-toggle-status-bar-item .glyph):
5866        (button.enable-toggle-status-bar-item.toggled-on .glyph):
5867        (.scripts-pause-on-exceptions-status-bar-item .glyph):
5868        (.scripts-toggle-pretty-print-status-bar-item .glyph):
5869        (.toggle-breakpoints .glyph):
5870        (.toggle-breakpoints.toggled-on .glyph):
5871        (.resources-larger-resources-status-bar-item .glyph):
5872        (.timeline-filter-status-bar-item .glyph):
5873        (.garbage-collect-status-bar-item .glyph):
5874        (.record-profile-status-bar-item .glyph):
5875        (.record-profile-status-bar-item.toggled-on .glyph):
5876        (.heap-snapshot-status-bar-item .glyph):
5877        (.node-search-status-bar-item .glyph):
5878        (.percent-time-status-bar-item .glyph):
5879        (.focus-profile-node-status-bar-item .glyph):
5880        (.exclude-profile-node-status-bar-item .glyph):
5881        (.reset-profile-status-bar-item .glyph):
5882        (.delete-storage-status-bar-item .glyph):
5883        (.refresh-storage-status-bar-item .glyph):
5884        * inspector/front-end/inspector.js:
5885
58862011-05-02  Simon Fraser  <simon.fraser@apple.com>
5887
5888        Reviewed by Dan Bernstein.
5889
5890        Possible crash when removing elements with reflections
5891        https://bugs.webkit.org/show_bug.cgi?id=60009
5892
5893        RenderLayer's destructor deleted its z-order list Vector pointers
5894        before removing the reflection layer. However, the reflection cleanup
5895        code could call back into the RenderLayer to dirty z-order lists,
5896        so move reflection cleanup to before z-order vector deletion.
5897
5898        The test crashes when run manually a few times with MallocScribble enabled,
5899        but I was not able to create a test that crashed reliably.
5900
5901        Test: fast/reflections/remove-reflection-crash.html
5902
5903        * rendering/RenderLayer.cpp:
5904        (WebCore::RenderLayer::~RenderLayer):
5905
59062011-05-02  Ian Henderson  <ianh@apple.com>
5907
5908        Reviewed by Dan Bernstein.
5909
5910        CSS !important not respected by JavaScript
5911        https://bugs.webkit.org/show_bug.cgi?id=60007
5912
5913        The addParsedProperty and addParsedProperties methods were subtly
5914        different.  The former did not check for !important before setting the
5915        given property.
5916
5917        Change addParsedProperties to call addParsedProperty and move the
5918        relevant code.  The one other caller of this method, in
5919        editing/markup.cpp, probably wanted this behavior anyway.
5920
5921        Test: fast/css/important-js-override.html
5922
5923        * css/CSSMutableStyleDeclaration.cpp:
5924        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
5925        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
5926
59272011-05-02  Ben Wells  <benwells@chromium.org>
5928
5929        Reviewed by Simon Fraser.
5930
5931        Cleanup variable usage in RenderObject.cpp paintOutline()
5932        https://bugs.webkit.org/show_bug.cgi?id=59911
5933
5934        No new tests for this, there should be no change in behaviour.
5935
5936        * rendering/RenderObject.cpp:
5937        (WebCore::RenderObject::paintOutline):
5938
59392011-05-02  Ryosuke Niwa  <rniwa@webkit.org>
5940
5941        Reviewed by James Robinson.
5942
5943        REGRESSION(r84672): showTree doesn't work for input/textarea elements
5944        https://bugs.webkit.org/show_bug.cgi?id=60001
5945
5946        When shadow is null, try retrieving the inner element of a render text control.
5947
5948        * dom/Node.cpp:
5949        (WebCore::traverseTreeAndMark):
5950
59512011-05-02  Joseph Pecoraro  <joepeck@webkit.org>
5952
5953        Reviewed by David Kilzer.
5954
5955        Respect fixed text-indent on ::-webkit-input-placeholder
5956        https://bugs.webkit.org/show_bug.cgi?id=59825
5957
5958        Test: fast/forms/input-placeholder-text-indent.html
5959
5960        * rendering/RenderTextControl.cpp:
5961        (WebCore::RenderTextControl::paintPlaceholder): indent by
5962        a fixed text-indent size specified on the placeholder style.
5963
59642011-05-02  Eric Uhrhane  <ericu@chromium.org>
5965
5966        Reviewed by Eric Seidel.
5967
5968        Some FileWriter progress events should be queued
5969        https://bugs.webkit.org/show_bug.cgi?id=50846
5970
5971        * fileapi/FileWriter.cpp:
5972        * fileapi/FileWriter.h:
5973        Create a new asynchronous Task [FileWriterCompletionEventTask] that will set readyState to DONE and fire off the right events.
5974
59752011-05-02  Jia Pu  <jpu@apple.com>
5976
5977        Reviewed by Alexey Proskuryakov.
5978
5979        [Mac] Need to truncate the string sent to "Look Up … " menu item, if it's too long.
5980        https://bugs.webkit.org/show_bug.cgi?id=59836
5981        <rdar://problem/9275983>
5982
5983        * platform/DefaultLocalizationStrategy.cpp:
5984        (WebCore::truncatedStringForLookupMenuItem):
5985        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
5986
59872011-05-02  Brady Eidson  <beidson@apple.com>
5988
5989        Reviewed by Anders Carlsson.
5990
5991        <rdar://problem/9340945> and https://bugs.webkit.org/show_bug.cgi?id=59973
5992        In Aperture, a WebView might be dealloc'ed before it finishes loading.
5993
5994        * WebCore.exp.in:
5995        * platform/RuntimeApplicationChecks.cpp:
5996        (WebCore::applicationIsAperture): Perform a com.apple.Aperture bundle check.
5997        * platform/RuntimeApplicationChecks.h:
5998
59992011-05-02  Simon Fraser  <simon.fraser@apple.com>
6000
6001        Reviewed by Dan Bernstein.
6002
6003        Avoid wasted cycles updating paths when popping the context stack
6004        https://bugs.webkit.org/show_bug.cgi?id=59967
6005
6006        CanvasRenderingContext2D has to map the current path through
6007        transforms whenever the context stack is popped, which creates
6008        a lot of platform path objects. Avoid extra work here when the
6009        path is empty, or when the transform is identity.
6010
6011        * platform/graphics/cg/PathCG.cpp:
6012        (WebCore::Path::transform):
6013
60142011-05-02  Enrica Casucci  <enrica@apple.com>
6015
6016        Reviewed by Dan Bernstein.
6017
6018        Text does not split on white space when typing to the edge of window.
6019        https://bugs.webkit.org/show_bug.cgi?id=59968
6020        <rdar://problem/9112683>
6021
6022        Test: editing/inserting/typing-at-end-of-line.html
6023
6024        This is a regression introduced when we converted the line box tree to
6025        floating point in r78846. In findNextLineBreak, there was still one place where
6026        the character width was treated as int and truncated and we were inconsistent
6027        in the way we treated a character that did not fit entirely in the line.
6028
6029        * rendering/RenderBlockLineLayout.cpp:
6030        (WebCore::RenderBlock::findNextLineBreak):
6031
60322011-04-19  Adrienne Walker  <enne@google.com>
6033
6034        Reviewed by James Robinson.
6035
6036        [chromium] Don't unnecessarily resize skia/cg canvases when painting in compositor
6037        https://bugs.webkit.org/show_bug.cgi?id=58907
6038
6039        Additionally, move the context save/restore logic to a place where it
6040        will reset the translation added in LayerTilerChromium.
6041
6042        Test: compositing/repaint/same-size-invalidation.html
6043
6044        * platform/graphics/chromium/ContentLayerChromium.cpp:
6045        (WebCore::ContentLayerPainter::paint):
6046        * platform/graphics/chromium/PlatformCanvas.cpp:
6047        (WebCore::PlatformCanvas::resize):
6048        (WebCore::PlatformCanvas::Painter::Painter):
6049        (WebCore::PlatformCanvas::Painter::~Painter):
6050        * platform/graphics/chromium/PlatformCanvas.h:
6051
60522011-05-02  Csaba Osztrogonác  <ossy@webkit.org>
6053
6054        Enable strict OwnPtr for Qt
6055        https://bugs.webkit.org/show_bug.cgi?id=59667
6056
6057        Unreviewed buildfix after r85343.
6058
6059        * platform/graphics/qt/GraphicsContext3DQt.cpp:
6060        (WebCore::GraphicsContext3D::GraphicsContext3D):
6061
60622011-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>
6063
6064        Unreviewed, rolling out r85483.
6065        http://trac.webkit.org/changeset/85483
6066        https://bugs.webkit.org/show_bug.cgi?id=59958
6067
6068        Causes media test failures. (Requested by eric_carlson on
6069        #webkit).
6070
6071        * html/HTMLMediaElement.cpp:
6072        (WebCore::HTMLMediaElement::HTMLMediaElement):
6073        (WebCore::HTMLMediaElement::prepareForLoad):
6074        (WebCore::HTMLMediaElement::seek):
6075        (WebCore::HTMLMediaElement::updatePlayState):
6076        * html/HTMLMediaElement.h:
6077        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
6078        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
6079        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad):
6080        (WebCore::MediaPlayerPrivateAVFoundation::load):
6081        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay):
6082        (WebCore::MediaPlayerPrivateAVFoundation::paint):
6083        (WebCore::MediaPlayerPrivateAVFoundation::duration):
6084        (WebCore::MediaPlayerPrivateAVFoundation::seeking):
6085        (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
6086        (WebCore::MediaPlayerPrivateAVFoundation::hasAvailableVideoFrame):
6087        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded):
6088        (WebCore::MediaPlayerPrivateAVFoundation::loadedTimeRangesChanged):
6089        (WebCore::MediaPlayerPrivateAVFoundation::timeChanged):
6090        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted):
6091        (WebCore::MediaPlayerPrivateAVFoundation::repaint):
6092        (WebCore::MediaPlayerPrivateAVFoundation::setPreload):
6093        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
6094        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
6095        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
6096        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
6097        (WebCore::MediaPlayerPrivateAVFoundationObjC::videoLayerIsReadyToDisplay):
6098        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL):
6099        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource):
6100        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
6101        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata):
6102        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
6103        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration):
6104        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus):
6105        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
6106        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged):
6107        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged):
6108
61092011-05-02  Adam Barth  <abarth@webkit.org>
6110
6111        Reviewed by David Levin.
6112
6113        PLATFORM(MAC) should (almost!) build with strict PassOwnPtr
6114        https://bugs.webkit.org/show_bug.cgi?id=59924
6115
6116        * css/CSSGrammar.y:
6117        * platform/graphics/mac/SimpleFontDataMac.mm:
6118            - Memory management for the font cache is somewhat... complext.
6119              This will require some careful thought to sort out.
6120
61212011-05-02  Levi Weintraub  <leviw@chromium.org>
6122
6123        Reviewed by Eric Seidel.
6124
6125        showLineTree/showLineTreeForThis would make working with the line box tree easier
6126        https://bugs.webkit.org/show_bug.cgi?id=59662
6127
6128        Adding a showLineTree/showLineTreeForThis method to help visualize and debug
6129        the line tree. Also adding a missing showRenderTreeForThis method to RenderObject.
6130
6131        No new tests since this is a debugging feature only and not compiled in release.
6132
6133        * rendering/InlineBox.cpp:
6134        (WebCore::InlineBox::showLineTreeForThis):
6135        (WebCore::InlineBox::showLineTreeAndMark):
6136        (WebCore::InlineBox::showBox):
6137        (showLineTree):
6138        * rendering/InlineBox.h:
6139        * rendering/InlineFlowBox.cpp:
6140        (WebCore::InlineFlowBox::showLineTreeAndMark):
6141        * rendering/InlineFlowBox.h:
6142        * rendering/InlineTextBox.cpp:
6143        (WebCore::InlineTextBox::showBox):
6144        * rendering/InlineTextBox.h:
6145        * rendering/RenderBlock.cpp:
6146        (WebCore::RenderBlock::showLineTreeAndMark):
6147        * rendering/RenderBlock.h:
6148        * rendering/RenderObject.cpp:
6149        (WebCore::RenderObject::showRenderTreeForThis):
6150        (WebCore::RenderObject::showLineTreeForThis):
6151        (showTree):
6152        (showLineTree):
6153        * rendering/RenderObject.h:
6154
61552011-05-02  Dimitri Glazkov  <dglazkov@chromium.org>
6156
6157        Reviewed by Eric Carlson.
6158
6159        REGRESSIONS (r71934): In standalone media documents, (double-)clicking the media element doesn’t play/pause
6160        https://bugs.webkit.org/show_bug.cgi?id=59917
6161
6162        Since default event handlers are not retargeted, we should always attempt ancestor
6163        traversal to find out whether the event.
6164
6165        * html/MediaDocument.cpp:
6166        (WebCore::ancestorVideoElement): Added ancestor-traversing helper.
6167        (WebCore::MediaDocument::defaultEventHandler): Changed to use ancestorVideoElement.
6168
61692011-05-02  Sam Weinig  <sam@webkit.org>
6170
6171        Attempt to fix the Leopard build.
6172
6173        * platform/graphics/FontPlatformData.h:
6174        * platform/graphics/mac/ComplexTextController.h:
6175        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
6176        * platform/mac/WebCoreSystemInterface.h:
6177
61782011-05-02  Tony Chang  <tony@chromium.org>
6179
6180        Reviewed by Kent Tamura.
6181
6182        convert manual-tests/bugzilla-6821.html to a layout test
6183        https://bugs.webkit.org/show_bug.cgi?id=59404
6184
6185        Test: fast/css/hover-update.html
6186
6187        * manual-tests/bugzilla-6821.html: Removed.
6188
61892011-05-02  Sam Weinig  <sam@webkit.org>
6190
6191        Reviewed by Anders Carlsson.
6192
6193        Prune ApplicationServices.h out of the headers
6194        https://bugs.webkit.org/show_bug.cgi?id=59952
6195
6196        More forward declares are better.
6197
6198        * html/canvas/CanvasRenderingContext2D.cpp:
6199        * html/canvas/CanvasRenderingContext2D.h:
6200        * platform/graphics/GlyphBuffer.h:
6201        * platform/graphics/cg/ImageBufferCG.cpp:
6202        * platform/graphics/cg/PDFDocumentImage.cpp:
6203        * platform/graphics/cg/PDFDocumentImage.h:
6204        * platform/graphics/mac/ComplexTextController.h:
6205        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
6206        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
6207        * platform/mac/ScrollAnimatorMac.h:
6208        * platform/mac/ScrollAnimatorMac.mm:
6209        * platform/mac/ScrollbarThemeMac.h:
6210        * platform/mac/ScrollbarThemeMac.mm:
6211        * platform/mac/WebCoreNSStringExtras.h:
6212        * platform/mac/WebCoreSystemInterface.h:
6213
62142011-05-02  Dan Bernstein  <mitz@apple.com>
6215
6216        Reviewed by Simon Fraser.
6217
6218        <rdar://problem/7972529> Images with percentage based height/max-height are missing when they are inside blocks inside tables
6219        https://bugs.webkit.org/show_bug.cgi?id=58006
6220
6221        * rendering/RenderBox.cpp:
6222        (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Expanded the scope of the fix for
6223        <http://webkit.org/b/15359> from r29039 to cover not just the case of a auto-or-percent-height
6224        table cell as the immediate containing block, but any case where all containing block ancestors
6225        up to and including a table cell are auto-or-percent height.
6226
62272011-05-02  Daniel Bates  <dbates@webkit.org>
6228
6229        Reviewed by Sam Weinig.
6230
6231        Convert manual test onblur-remove.html to a DRT test; onblur-remove.html fails
6232        https://bugs.webkit.org/show_bug.cgi?id=59379
6233
6234        Move manual test onblur-remove.html to LayoutTests/fast/events.
6235
6236        Test: fast/events/onblur-remove.html
6237
6238        * manual-tests/onblur-remove.html: Removed.
6239
62402011-05-02  Sailesh Agrawal  <sail@chromium.org>
6241
6242        Reviewed by Dimitri Glazkov.
6243
6244        Chromium Mac: Add scrollbar overlay drawing functions
6245        https://bugs.webkit.org/show_bug.cgi?id=59741
6246
6247        These functions are simply copied from WebCoreSystemInterface. These will be used to implement overlay scrollbars for Chromium Mac.
6248
6249        No new tests, since this code is only enabled on future versions of Mac OS X.
6250
6251        * WebCore.gypi:
6252        * platform/chromium/ScrollbarOverlayUtilitiesMac.h: Added.
6253        * platform/chromium/ScrollbarOverlayUtilitiesMac.mm: Added.
6254        (LookUpNSScrollerImpClass):
6255        (LookUpNSScrollerImpPairClass):
6256        (ScrollbarControlSizeToNSControlSize):
6257        (wkScrollbarPainterUsesOverlayScrollers):
6258        (wkScrollbarPainterIsHorizontal):
6259        (wkScrollbarPainterKnobAlpha):
6260        (wkScrollbarPainterSetOverlayState):
6261        (wkScrollbarPainterPaint):
6262        (wkScrollbarMinimumThumbLength):
6263        (wkScrollbarPainterSetDelegate):
6264        (wkScrollbarPainterTrackAlpha):
6265        (wkMakeScrollbarPainter):
6266        (wkScrollbarThickness):
6267        (wkScrollbarMinimumTotalLengthNeededForThumb):
6268        (wkVerticalScrollbarPainterForController):
6269        (wkHorizontalScrollbarPainterForController):
6270        (wkMakeScrollbarReplacementPainter):
6271        (wkSetPainterForPainterController):
6272        (wkSetScrollbarPainterControllerStyle):
6273        (wkScrollbarPainterKnobRect):
6274        (wkSetScrollbarPainterKnobAlpha):
6275        (wkSetScrollbarPainterTrackAlpha):
6276        (wkSetScrollbarPainterKnobStyle):
6277        (wkMakeScrollbarPainterController):
6278        (wkContentAreaScrolled):
6279        (wkContentAreaWillPaint):
6280        (wkMouseEnteredContentArea):
6281        (wkMouseExitedContentArea):
6282        (wkMouseMovedInContentArea):
6283        (wkWillStartLiveResize):
6284        (wkContentAreaResized):
6285        (wkWillEndLiveResize):
6286        (wkContentAreaDidShow):
6287        (wkContentAreaDidHide):
6288        (wkDidBeginScrollGesture):
6289        (wkDidEndScrollGesture):
6290        (wkScrollbarPainterForceFlashScrollers):
6291        (IsScrollbarOverlayAPIAvailable):
6292
62932011-05-02  Luke Macpherson   <macpherson@chromium.org>
6294
6295        Reviewed by Dimitri Glazkov.
6296
6297        Implement Length based CSS properties in CSSStyleApplyProperty
6298        https://bugs.webkit.org/show_bug.cgi?id=59314
6299
6300        No new tests as no functionality changed.
6301
6302        * css/CSSStyleApplyProperty.cpp:
6303        (WebCore::ApplyPropertyLength::ApplyPropertyLength):
6304        Added this class to handle all length types.
6305        Property specific behavior is handled through set of boolean parameters.
6306        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
6307        Added calls to set up entries for the newly added length properties.
6308        * css/CSSStyleSelector.cpp:
6309        (WebCore::CSSStyleSelector::applyProperty):
6310        Remove property implementations mow implemented in CSSStyleApplyProperty.
6311        * css/CSSStyleSelector.h:
6312        (WebCore::CSSStyleSelector::rootElementStyle):
6313        Expose m_rootElementStyle via getter.
6314
63152011-05-02  Eric Carlson  <eric.carlson@apple.com>
6316
6317        Reviewed by Eric Seidel.
6318
6319        HTMLMediaElement should not seek to time 0 when readyState reaches HAVE_METADATA
6320        https://bugs.webkit.org/show_bug.cgi?id=59828
6321
6322        No new tests required, no functional change because seeking to time zero before playback
6323        begins has no effect.
6324
6325        * html/HTMLMediaElement.cpp:
6326        (WebCore::HTMLMediaElement::setReadyState): Don't seek to time 0 when readyState reaches
6327            HAVE_METADATA.
6328
63292011-05-02  Sam Weinig  <sam@webkit.org>
6330
6331        Reviewed by Gavin Barraclough.
6332
6333        Fix extra whitespace in license in FocusDirection.h.
6334
6335        * page/FocusDirection.h:
6336
63372011-05-02  Sam Weinig  <sam@webkit.org>
6338
6339        Reviewed by Adam Barth.
6340
6341        Prune some #includes from DOMWindow.h
6342        https://bugs.webkit.org/show_bug.cgi?id=59907
6343
6344        * page/DOMWindow.cpp:
6345        (WebCore::DOMWindow::setSecurityOrigin):
6346        * page/DOMWindow.h:
6347        Remove #includes of SecurityOrigin and MessagePort by forward declaring
6348        and moving the SecurityOrigin setter to the .cpp file. Also adds EventTarget
6349        #include that was getting added by MessagePort.h.
6350
6351        * bindings/js/JSCustomVoidCallback.cpp:
6352        * bindings/js/JSCustomXPathNSResolver.cpp:
6353        * bindings/js/JSDOMWindowCustom.h:
6354        * bindings/js/JSHistoryCustom.cpp:
6355        * bindings/js/ScriptController.h:
6356        * html/HTMLAnchorElement.cpp:
6357        * html/HTMLMediaElement.cpp:
6358        * html/parser/XSSFilter.cpp:
6359        * inspector/InspectorDOMStorageResource.cpp:
6360        * loader/MainResourceLoader.cpp:
6361        * page/DragController.cpp:
6362        * page/EventSource.cpp:
6363        * page/Location.cpp:
6364        * websockets/WebSocket.cpp:
6365        * xml/XSLTProcessorLibxslt.cpp:
6366        Add now missing SecurityOrigin.h #includes.
6367
63682011-05-02  Eric Carlson  <eric.carlson@apple.com>
6369
6370        Reviewed by Brady Eidson.
6371
6372        The preload attribute of the video tag is not completely implemented
6373        https://bugs.webkit.org/show_bug.cgi?id=43673
6374        <rdar://problem/7508322>
6375
6376        Tested manually with manual-tests/media-elements/video-preload.html.
6377
6378        * html/HTMLMediaElement.cpp:
6379        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_havePreparedToPlay.
6380        (WebCore::HTMLMediaElement::prepareForLoad): Ditto.
6381        (WebCore::HTMLMediaElement::prepareToPlay): New, tell player to prepare to play.
6382        (WebCore::HTMLMediaElement::seek): Call prepareToPlay when preload is less than 'metadata'
6383            because we need to have media data loaded to seek.
6384        (WebCore::HTMLMediaElement::updatePlayState): Call prepareToPlay.
6385        * html/HTMLMediaElement.h:
6386
6387        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
6388        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):  Remove
6389            m_videoFrameHasDrawn and m_delayingLoad as they are no longer used.
6390        (WebCore::MediaPlayerPrivateAVFoundation::resumeLoad): Removed.
6391        (WebCore::MediaPlayerPrivateAVFoundation::load): Don't initialize m_videoFrameHasDrawn.
6392            Move all preload logic to setPreload, call it from here.
6393        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Move all preload logic to
6394            setPreload, call it.
6395        (WebCore::MediaPlayerPrivateAVFoundation::duration): Don't cache duration = 0, it is
6396            unlikely to be correct and isn't worth caching.
6397        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Update for name change AVAssetStatus
6398            to AssetStatus. Create the AVPlayer once we know an asset is playable but preload is
6399            'metadata'. Set networkState to 'idle' when the playback buffer is full because that is
6400            a signal that AVFoundation won't do any more IO. Set readyState to 'HAVE_CURRENT_DATA'
6401            when the first frame is available.
6402        (WebCore::MediaPlayerPrivateAVFoundation::metadataLoaded): Call tracksChanged so we cache
6403            width, height, hasVideo, etc.
6404        (WebCore::MediaPlayerPrivateAVFoundation::repaint): Don't set m_videoFrameHasDrawn, it is done
6405            in derived classes.
6406        (WebCore::MediaPlayerPrivateAVFoundation::setPreload): Centralize all logic about when to create
6407            AVAsset and AVPlayerItem here.
6408        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
6409
6410        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
6411        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
6412        (WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
6413            m_videoFrameHasDrawn.
6414        (WebCore::MediaPlayerPrivateAVFoundationObjC::hasAvailableVideoFrame): New, renamed from
6415            videoLayerIsReadyToDisplay. Return true if we have a layer with frames available or
6416            if we have painted a frame to the context.
6417        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): New, create the AVAsset
6418            if necessary.
6419        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForCacheResource): Ditto.
6420        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Restructure logic.
6421        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem): New, create AVPlayerItem.
6422        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Correct logging.
6423        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus): Return "buffer full" when
6424            the buffer is full.
6425        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Get the duration from the
6426            AVAsset when we haven't allocated the AVPlayerItem yet so that we can return duration
6427            when we only have metadata.
6428        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): Update for name change.
6429        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Set m_videoFrameHasDrawn.
6430        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Get attributes from AVAsset
6431            when when we haven't allocated the AVPlayerItem yet so that we can report attributes
6432            when we only have metadata.
6433        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): Guard against being called before
6434            we have allocated the AVPlayerItem.
6435
64362011-05-02  Philippe Normand  <pnormand@igalia.com>
6437
6438        Reviewed by Martin Robinson.
6439
6440        [GTK] gdk_drawable_get_size() shouldn't be used with GTK+ >= 2.24
6441        https://bugs.webkit.org/show_bug.cgi?id=59932
6442
6443        Use gdk_window_get_width() and gdk_window_get_height() if
6444        available, instead of the deprecated gdk_drawable_get_size().
6445
6446        No new tests, build fix only.
6447
6448        * platform/gtk/WidgetRenderingContext.cpp:
6449        (WebCore::WidgetRenderingContext::WidgetRenderingContext):
6450
64512011-05-02  Eric Carlson  <eric.carlson@apple.com>
6452
6453        Reviewed by Brady Eidson.
6454
6455        The preload attribute of the video tag is not completely implemented
6456        https://bugs.webkit.org/show_bug.cgi?id=43673
6457        <rdar://problem/7508322>
6458
6459        Test manually with manual-tests/media-elements/video-preload.html.
6460
6461        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
6462        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
6463        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes): Add new "limit read-ahead"
6464            attribute when preload is not "auto".
6465        (WebCore::MediaPlayerPrivateQTKit::resumeLoad): Remove m_delayingLoad, we don't need it.
6466        (WebCore::MediaPlayerPrivateQTKit::load): Correct comment.
6467        (WebCore::MediaPlayerPrivateQTKit::prepareToPlay): Call setPreload('auto').
6468        (WebCore::MediaPlayerPrivateQTKit::setPreload): Set new attribue if we already have
6469            a QTMovie.
6470
64712011-05-02  Eric Carlson  <eric.carlson@apple.com>
6472
6473        Reviewed by Brady Eidson.
6474
6475        The preload attribute of the video tag is not completely implemented
6476        https://bugs.webkit.org/show_bug.cgi?id=43673
6477        <rdar://problem/7508322>
6478
6479        Manual test manual-tests/media-elements/video-preload.html added.
6480
6481        * manual-tests/media-elements/video-preload.html: Added. New manual test for media element
6482            'preload' attribute because it is not possible to detect if a media engine supports
6483            "preload=metadata" in a way that lets us have per-platform layout test results.
6484
64852011-05-01  Abhishek Arya  <inferno@chromium.org>
6486
6487        Reviewed by Eric Carlson.
6488
6489        Regression(r74787): Media document mouse click and double-click
6490        events should be checked on target node only and not its descendants.
6491        https://bugs.webkit.org/show_bug.cgi?id=59886
6492
6493        * html/MediaDocument.cpp:
6494        (WebCore::MediaDocument::defaultEventHandler):
6495
64962011-05-01  Adam Barth  <abarth@webkit.org>
6497
6498        Reviewed by Eric Seidel.
6499
6500        Polish CSP host and port matching
6501        https://bugs.webkit.org/show_bug.cgi?id=59899
6502
6503        Finish last two details of host and port matching.  I don't think the
6504        default port handling is testable with our current testing
6505        infrastructure.
6506
6507        Tests: http/tests/security/contentSecurityPolicy/image-full-host-wildcard-allowed.html
6508               http/tests/security/contentSecurityPolicy/image-host-wildcard-allowed.html
6509
6510        * page/ContentSecurityPolicy.cpp:
6511        (WebCore::CSPSource::hostMatches):
6512        (WebCore::CSPSource::portMatches):
6513
65142011-05-01  Adam Barth  <abarth@webkit.org>
6515
6516        Reviewed by Eric Seidel.
6517
6518        CSP default-src is missing
6519        https://bugs.webkit.org/show_bug.cgi?id=58641
6520
6521        Add support for default-src.  The default-src provides a default policy
6522        for every directive that sends in "-src".  If the more-specific
6523        directive is present, it takes precedence.  I also took this
6524        opportunity to refactor the internals of ContentSecurityPolicy a bit to
6525        reduce duplicate code.
6526
6527        Tests: http/tests/security/contentSecurityPolicy/default-src-inline-allowed.html
6528               http/tests/security/contentSecurityPolicy/default-src-inline-blocked.html
6529               http/tests/security/contentSecurityPolicy/script-src-overrides-default-src.html
6530
6531        * page/ContentSecurityPolicy.cpp:
6532        (WebCore::ContentSecurityPolicy::didReceiveHeader):
6533        (WebCore::ContentSecurityPolicy::checkEval):
6534        (WebCore::ContentSecurityPolicy::operativeDirective):
6535        (WebCore::ContentSecurityPolicy::checkInlineAndReportViolation):
6536        (WebCore::ContentSecurityPolicy::checkEvalAndReportViolation):
6537        (WebCore::ContentSecurityPolicy::checkSourceAndReportViolation):
6538        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
6539        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
6540        (WebCore::ContentSecurityPolicy::allowInlineScript):
6541        (WebCore::ContentSecurityPolicy::allowInlineStyle):
6542        (WebCore::ContentSecurityPolicy::allowEval):
6543        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
6544        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
6545        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
6546        (WebCore::ContentSecurityPolicy::allowImageFromSource):
6547        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
6548        (WebCore::ContentSecurityPolicy::allowFontFromSource):
6549        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
6550        (WebCore::ContentSecurityPolicy::addDirective):
6551        * page/ContentSecurityPolicy.h:
6552
65532011-05-01  Sam Weinig  <sam@webkit.org>
6554
6555        Reviewed by Anders Carlsson.
6556
6557        Prune some unnecessary #includes
6558        https://bugs.webkit.org/show_bug.cgi?id=59895
6559
6560        Start getting rid of unnecessary #includes and forward declares.
6561
6562        * bindings/js/JSDOMBinding.h:
6563        * bindings/js/JSDOMWindowBase.h:
6564        * bindings/js/JSDOMWindowShell.h:
6565        * bindings/js/ScheduledAction.cpp:
6566        * bindings/js/ScriptController.cpp:
6567        * bindings/js/ScriptController.h:
6568        * bindings/js/ScriptDebugServer.cpp:
6569        * editing/Editor.h:
6570        * inspector/InspectorClient.cpp:
6571        * loader/FrameLoader.h:
6572        * loader/NavigationScheduler.h:
6573        * page/Console.cpp:
6574        * xml/XMLTreeViewer.cpp:
6575        * xml/XMLTreeViewer.h:
6576
65772011-05-01  Patrick Gansterer  <paroga@webkit.org>
6578
6579        [WIN] Unreviewed buildfix after r85434.
6580
6581        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
6582        (WebCore::MediaPlayerPrivate::createLayerForMovie):
6583
65842011-05-01  Patrick Gansterer  <paroga@webkit.org>
6585
6586        [WIN] Unreviewed buildfix after r85434.
6587
6588        * platform/graphics/win/QTMovieVisualContext.cpp:
6589        (QTMovieVisualContext::QTMovieVisualContext): Added missing header.
6590
65912011-05-01  Justin Schuh  <jschuh@chromium.org>
6592
6593        Reviewed by Adam Barth.
6594
6595        History::stateObjectAdded should check origin via SecurityOrigin::canRequest
6596        https://bugs.webkit.org/show_bug.cgi?id=59840
6597
6598        Tests: fast/loader/stateobjects/pushstate-in-data-url-denied.html
6599               http/tests/navigation/replacestate-base-illegal.html
6600               http/tests/navigation/replacestate-base-legal.html
6601
6602        * page/History.cpp:
6603        (WebCore::History::stateObjectAdded):
6604
66052011-05-01  Patrick Gansterer  <paroga@webkit.org>
6606
6607        [WIN] Unreviewed buildfix after r85434.
6608
6609        * platform/graphics/win/QTMovieVisualContext.cpp:
6610        (QTMovieVisualContext::QTMovieVisualContext):
6611
66122011-05-01  Patrick Gansterer  <paroga@webkit.org>
6613
6614        Reviewed by Adam Barth.
6615
6616        [WINCE] Fix OwnPtr strict issues
6617        https://bugs.webkit.org/show_bug.cgi?id=59898
6618
6619        * page/wince/FrameWinCE.cpp:
6620        (WebCore::imageFromSelection):
6621        * platform/graphics/wince/FontPlatformData.cpp:
6622        (WebCore::FixedSizeFontData::create):
6623        (WebCore::FontPlatformPrivateData::FontPlatformData::hfont):
6624        (WebCore::FontPlatformPrivateData::FontPlatformData::getScaledFontHandle):
6625        (WebCore::FontPlatformPrivateData::FontPlatformData::discardFontHandle):
6626        * platform/graphics/wince/GraphicsContextWinCE.cpp:
6627        (WebCore::GraphicsContext::strokeArc):
6628        (WebCore::GraphicsContext::fillRect):
6629        (WebCore::GraphicsContext::clip):
6630        (WebCore::GraphicsContext::fillRoundedRect):
6631        (WebCore::GraphicsContext::drawRoundCorner):
6632        (WebCore::GraphicsContext::drawText):
6633        * platform/graphics/wince/ImageBufferWinCE.cpp:
6634        (WebCore::ImageBuffer::ImageBuffer):
6635        * platform/graphics/wince/ImageWinCE.cpp:
6636        (WebCore::BitmapImage::getHBITMAPOfSize):
6637        * platform/graphics/wince/SharedBitmap.cpp:
6638        (WebCore::SharedBitmap::SharedBitmap):
6639
66402011-05-01  Ryosuke Niwa  <rniwa@webkit.org>
6641
6642        Reviewed by Eric Seidel.
6643
6644        Get rid of versions of sendContextMenuEvent and eventMayStartDrag that takes NSEvent
6645        https://bugs.webkit.org/show_bug.cgi?id=59837
6646
6647        Removed EventHandler::sendContextMenuEvent(NSEvent*) and EventHandler::eventMayStartDrag(NSEvent*)
6648
6649        * WebCore.exp.in:
6650        * page/EventHandler.h:
6651        * page/mac/EventHandlerMac.mm:
6652
66532011-05-01  Ryosuke Niwa  <rniwa@webkit.org>
6654
6655        Reviewed by Eric Seidel.
6656
6657        Move currentKeyboardEvent from EventHandlerMac.mm to WebHTMLView.mm
6658        https://bugs.webkit.org/show_bug.cgi?id=59835
6659
6660        Moved currentKeyboardEvent.
6661
6662        * WebCore.exp.in:
6663        * page/EventHandler.h:
6664        * page/mac/EventHandlerMac.mm:
6665
66662011-05-01  ojab  <ojab@ojab.ru>
6667
6668        Reviewed by Eric Seidel.
6669
6670        Fix build with --disable-video --enable-fullscreen-api
6671        https://bugs.webkit.org/show_bug.cgi?id=59698
6672
6673        * rendering/RenderTheme.h:
6674        (WebCore::RenderTheme::extraFullScreenStyleSheet):
6675
66762011-05-01  Jeff Timanus  <twiz@chromium.org>
6677
6678        Reviewed by Eric Seidel.
6679
6680        Add solid-color checking to BitmapImage::checkForSolidColour in the skia port.
6681        https://bugs.webkit.org/show_bug.cgi?id=59041
6682
6683        Test:css2.1/t140201-c533-bgimage-00-a.html
6684
6685        * platform/graphics/Image.cpp:
6686        (WebCore::Image::drawTiled): Removal of macro exclusion of assert for Skia path.
6687        * platform/graphics/skia/ImageSkia.cpp:
6688        (WebCore::BitmapImage::checkForSolidColor):
6689
66902011-05-01  Patrick Gansterer  <paroga@webkit.org>
6691
6692        Reviewed by Adam Barth.
6693
6694        Fix OwnPtr strict issues in windows build
6695        https://bugs.webkit.org/show_bug.cgi?id=59878
6696
6697        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
6698        (WebCore::getDirtyRects):
6699        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
6700        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
6701        * platform/graphics/win/WKCAImageQueue.cpp:
6702        (WebCore::WKCAImageQueue::WKCAImageQueue):
6703        * platform/win/CursorWin.cpp:
6704        (WebCore::createSharedCursor):
6705        * platform/win/PasteboardWin.cpp:
6706        (WebCore::Pasteboard::writeImage):
6707
67082011-05-01  Patrick Gansterer  <paroga@webkit.org>
6709
6710        Reviewed by Eric Seidel.
6711
6712        Use PassOwnPtr as return value of GraphicsContext::createWindowsBitmap
6713        https://bugs.webkit.org/show_bug.cgi?id=59876
6714
6715        Also pass the size "as reference" instead of "as value".
6716
6717        * platform/graphics/GraphicsContext.h:
6718        * platform/graphics/win/FontCGWin.cpp:
6719        (WebCore::drawGDIGlyphs):
6720        * platform/graphics/win/GraphicsContextWin.cpp:
6721        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap):
6722        (WebCore::GraphicsContext::createWindowsBitmap):
6723        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
6724        (WebCore::MediaPlayerPrivate::paint):
6725
67262011-05-01  Emil A Eklund  <eae@chromium.org>
6727
6728        Reviewed by Eric Seidel.
6729
6730        getComputedStyle() returns unitless values for some properties that require units
6731        https://bugs.webkit.org/show_bug.cgi?id=55111
6732
6733        Change getComputedStyle to return value with unit for -webkit-column-width, -webkit-column-gap and -webkit-perspective
6734
6735        Test: fast/css/getComputedStyle/getComputedStyle-length-unit.html
6736
6737        * css/CSSComputedStyleDeclaration.cpp:
6738        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
6739
67402011-05-01  Young Han Lee  <joybro@company100.net>
6741
6742        Reviewed by Eric Seidel.
6743
6744        Change TEXMAP_OPENGL_ES2 to TEXMAP_OPENGL_ES_2
6745        https://bugs.webkit.org/show_bug.cgi?id=59608
6746
6747        TEXMAP_OPENGL_ES2 is a wrong name. TEXMAP_OPENGL_ES_2 is already defined in TextureMapper.h
6748
6749        No new functionality, no new tests.
6750
6751        * platform/graphics/opengl/TextureMapperGL.cpp:
6752        (WebCore::TextureMapperGL::TextureMapperGL):
6753
67542011-05-01  Yael Aharon  <yael.aharon@nokia.com>
6755
6756        Reviewed by Eric Seidel.
6757
6758        CSS3 nth-child(n) selector fails
6759        https://bugs.webkit.org/show_bug.cgi?id=56943
6760
6761        Regression from r75158.
6762        "n" is a valid parameter to nth() and should be allowed.
6763
6764        Test: fast/css/nth-child-n.html
6765
6766        * css/CSSParser.cpp:
6767        (WebCore::isValidNthToken):
6768
67692011-05-01  Pavel Feldman  <pfeldman@chromium.org>
6770
6771        Not reviewed: address stack frame scriptName -> url rename in timeline panel.
6772
6773        * inspector/front-end/TimelinePanel.js:
6774        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
6775        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
6776
67772011-05-01  Chris Fleizach  <cfleizach@apple.com>
6778
6779        Reviewed by Maciej Stachowiak.
6780
6781        Crash in AccessibilityRenderObject while viewing PDFs in iframes
6782        https://bugs.webkit.org/show_bug.cgi?id=59629
6783
6784        Could not reproduce this crash, but it's quite clear how it could happen.
6785
6786        * accessibility/AccessibilityRenderObject.cpp:
6787        (WebCore::AccessibilityRenderObject::accessibilityHitTest):
6788
67892011-05-01  Nikolas Zimmermann  <nzimmermann@rim.com>
6790
6791        Reviewed by Dirk Schulze.
6792
6793        LEAK: SVGElement leaks when detaching it in a pending resource state
6794        https://bugs.webkit.org/show_bug.cgi?id=59072
6795
6796        Make the pending resources set non-refcounted again. We made it refcounted a while ago
6797        to fix a security bug, as we had dangling pointers in the set in SVGDocumentExtensions.
6798        Fix the underlying problem, by removing all pending resources referencing to a particular
6799        SVGElement, upon its destruction or upon removing it from the document.
6800
6801        Example: <rect fill="url(#foo)" id="rect">
6802        When we try to render the rect, the foo paint server can't be found and thus "foo" will be
6803        added to the pending resource set, with "rect" as client. When "foo" appears, it would remove
6804        itself from the pending resource set, and a ref count to the "rect" would be released.
6805        If "foo" never appears, SVGDocumentExtensions still holds a ref to the <rect>, thus keeping
6806        it and the associated document alive.
6807
6808        Tests: svg/custom/pending-resource-leak-2.svg
6809               svg/custom/pending-resource-leak-3.svg
6810               svg/custom/pending-resource-leak.svg
6811
6812        These tests cover several scenarios where we used to leak. Should fix several SVG*Element leaks on the bots.
6813        I manually tested reloading above testcases dozens of times, before the leak count was incremented by 2 nodes on every reload, that's gone now.
6814
6815        * rendering/svg/RenderSVGResourceContainer.cpp:
6816        (WebCore::RenderSVGResourceContainer::registerResource):
6817        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
6818        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
6819        * rendering/svg/SVGResources.cpp:
6820        (WebCore::registerPendingResource):
6821        * svg/SVGDocumentExtensions.cpp:
6822        (WebCore::SVGDocumentExtensions::addPendingResource):
6823        (WebCore::SVGDocumentExtensions::hasPendingResources):
6824        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
6825        (WebCore::SVGDocumentExtensions::removePendingResource):
6826        * svg/SVGDocumentExtensions.h:
6827        * svg/SVGElement.cpp:
6828        * svg/SVGElement.h:
6829        * svg/SVGElementRareData.h:
6830        (WebCore::SVGElementRareData::SVGElementRareData):
6831        (WebCore::SVGElementRareData::hasPendingResources):
6832        (WebCore::SVGElementRareData::setHasPendingResources):
6833        * svg/SVGStyledElement.cpp:
6834        (WebCore::SVGStyledElement::~SVGStyledElement):
6835        (WebCore::SVGStyledElement::insertedIntoDocument):
6836        (WebCore::SVGStyledElement::removedFromDocument):
6837        (WebCore::SVGStyledElement::hasPendingResources):
6838        (WebCore::SVGStyledElement::setHasPendingResources):
6839        * svg/SVGStyledElement.h:
6840        (WebCore::SVGStyledElement::needsPendingResourceHandling):
6841        (WebCore::SVGStyledElement::buildPendingResource):
6842        * svg/SVGUseElement.cpp:
6843        (WebCore::SVGUseElement::SVGUseElement):
6844        (WebCore::SVGUseElement::insertedIntoDocument):
6845        (WebCore::SVGUseElement::svgAttributeChanged):
6846        (WebCore::SVGUseElement::buildPendingResource):
6847        * svg/SVGUseElement.h:
6848
68492011-05-01  Rafael Brandao  <rafael.lobo@openbossa.org>
6850
6851        Reviewed by Csaba Osztrogonác.
6852
6853        [Qt] build-webkit warning Inspector.idl is missing
6854        https://bugs.webkit.org/show_bug.cgi?id=59047
6855
6856        Added variable_out to pipe output from one compiler to another,
6857        and then forced the output to be added to the sources.
6858
6859        * CodeGenerators.pri:
6860
68612011-05-01  Dan Bernstein  <mitz@apple.com>
6862
6863        Reviewed by Anders Carlsson.
6864
6865        <rdar://problem/9155067> REGRESSION (float-based line boxes): Gaps and overlaps in selection highlight
6866        https://bugs.webkit.org/show_bug.cgi?id=56658
6867
6868        Test: fast/text/selection-rect-rounding.html
6869
6870        * platform/graphics/FontFastPath.cpp:
6871        (WebCore::Font::selectionRectForSimpleText): Account for non-integral anchor point coordinates.
6872        * platform/graphics/mac/FontComplexTextMac.cpp:
6873        (WebCore::Font::selectionRectForComplexText): Ditto.
6874        * rendering/InlineTextBox.cpp:
6875        (WebCore::InlineTextBox::selectionRect): Floor the horizontal sides of the clip rect.
6876        (WebCore::InlineTextBox::paintSelection): Pass the logical left location to Font::selectionRectForText(),
6877        since it affects rounding.
6878
68792011-04-30  Justin Schuh  <jschuh@chromium.org>
6880
6881        Reviewed by Dirk Schulze.
6882
6883        Make RenderSVGResourceFilter take ownership of filter data when painting
6884        https://bugs.webkit.org/show_bug.cgi?id=51524
6885
6886        Test: svg/custom/filter-on-svgimage.svg
6887
6888        * rendering/svg/RenderSVGResourceFilter.cpp:
6889        (WebCore::RenderSVGResourceFilter::removeClientFromCache):
6890        (WebCore::RenderSVGResourceFilter::postApplyResource):
6891        * rendering/svg/RenderSVGResourceFilter.h:
6892        (WebCore::FilterData::FilterData):
6893
68942011-04-30  Martin Robinson  <mrobinson@igalia.com>
6895
6896        Reviewed by Adam Barth.
6897
6898        Enable strict mode for OwnPtr and PassOwnPtr
6899        https://bugs.webkit.org/show_bug.cgi?id=59428
6900
6901        Fix assignments and .set() calls with OwnPtr to use adoptPtr. Have GeolocationService
6902        factory methods return a PassOwnPtr.
6903
6904        No new tests. This should not change functionality.
6905
6906        * platform/GeolocationService.cpp:
6907        (WebCore::createGeolocationServiceNull):
6908        (WebCore::GeolocationService::create):
6909        * platform/GeolocationService.h:
6910        * platform/android/GeolocationServiceAndroid.cpp:
6911        (WebCore::GeolocationServiceAndroid::create):
6912        * platform/android/GeolocationServiceAndroid.h:
6913        * platform/efl/GeolocationServiceEfl.cpp:
6914        (WebCore::GeolocationServiceEfl::create):
6915        * platform/efl/GeolocationServiceEfl.h:
6916        * platform/graphics/cairo/CairoUtilities.cpp:
6917        (WebCore::appendPathToCairoContext):
6918        * platform/graphics/cairo/GraphicsContextCairo.cpp:
6919        (WebCore::drawPathShadow):
6920        (WebCore::GraphicsContext::clip):
6921        * platform/graphics/cairo/ImageBufferCairo.cpp:
6922        (WebCore::ImageBuffer::ImageBuffer):
6923        * platform/graphics/cairo/OwnPtrCairo.h:
6924        * platform/graphics/cairo/PathCairo.cpp:
6925        (WebCore::Path::Path):
6926        (WebCore::Path::operator=):
6927        (WebCore::Path::apply):
6928        * platform/gtk/GeolocationServiceGtk.cpp:
6929        (WebCore::GeolocationServiceGtk::create):
6930        * platform/gtk/GeolocationServiceGtk.h:
6931        * platform/mock/GeolocationServiceMock.cpp:
6932        (WebCore::GeolocationServiceMock::create):
6933        * platform/mock/GeolocationServiceMock.h:
6934
69352011-04-30  Pavel Feldman  <pfeldman@chromium.org>
6936
6937        Not reviewed: inspector toolbar titles were 2px off.
6938
6939        * inspector/front-end/inspector.css:
6940        (#toolbar-dropdown .toolbar-label):
6941
69422011-04-30  Mihai Parparita  <mihaip@chromium.org>
6943
6944        Reviewed by Eric Seidel.
6945
6946        V8Proxy.h shouldn't include SecurityOrigin.h
6947        https://bugs.webkit.org/show_bug.cgi?id=59859
6948
6949        Remove SecurityOrigin.h #include from V8Proxy.h. Touching
6950        SecurityOrigin.h now rebuilds 234 targets instead of 638 (when building
6951        chromium's DumpRenderTree).
6952
6953        * bindings/v8/NPV8Object.cpp:
6954        * bindings/v8/V8Proxy.cpp:
6955        * bindings/v8/V8Proxy.h:
6956        * css/CSSStyleSelector.cpp:
6957        * dom/XMLDocumentParserLibxml2.cpp:
6958        * html/HTMLLinkElement.cpp:
6959        * loader/SubframeLoader.cpp:
6960        * page/History.cpp:
6961        * storage/IDBFactory.cpp:
6962        * storage/StorageAreaImpl.cpp:
6963
69642011-04-29  Adam Barth  <abarth@webkit.org>
6965
6966        Reviewed by Eric Seidel.
6967
6968        CSP script-src should block eval
6969        https://bugs.webkit.org/show_bug.cgi?id=59850
6970
6971        Rather than have JavaScriptCore call back into WebCore to learn whether
6972        eval is enabled, we push that bit of the policy into JavaScriptCore.
6973
6974        Tests: http/tests/security/contentSecurityPolicy/eval-allowed.html
6975               http/tests/security/contentSecurityPolicy/eval-blocked.html
6976
6977        * bindings/js/ScriptController.cpp:
6978        (WebCore::ScriptController::disableEval):
6979        * bindings/js/ScriptController.h:
6980        * page/ContentSecurityPolicy.cpp:
6981        (WebCore::ContentSecurityPolicy::didReceiveHeader):
6982        (WebCore::ContentSecurityPolicy::internalAllowEval):
6983        (WebCore::ContentSecurityPolicy::allowEval):
6984        * page/ContentSecurityPolicy.h:
6985
69862011-04-29  Joseph Pecoraro  <joepeck@webkit.org>
6987
6988        GTK build fix. Missed moving DateComponents and
6989        adding LocalizedDate files for their build file.
6990
6991        * GNUmakefile.list.am:
6992
69932011-04-29  Adam Barth  <abarth@webkit.org>
6994
6995        Reviewed by Eric Seidel.
6996
6997        style-src should block @style
6998        https://bugs.webkit.org/show_bug.cgi?id=59293
6999
7000        This patch blocks @style when style-src doesn't have the
7001        'unsafe-inline' token.  This patch blocks the parsing of the attribute
7002        itself.  That feels vaguely like too low a level to interpose the
7003        policy, but there didn't seem to be anywhere else natural to enforce
7004        the policy.
7005
7006        Tests: http/tests/security/contentSecurityPolicy/inline-style-attribute-allowed.html
7007               http/tests/security/contentSecurityPolicy/inline-style-attribute-blocked.html
7008               http/tests/security/contentSecurityPolicy/inline-style-on-html.html
7009
7010        * dom/StyledElement.cpp:
7011        (WebCore::StyledElement::parseMappedAttribute):
7012
70132011-04-29  Joseph Pecoraro  <joepeck@webkit.org>
7014
7015        Reviewed by Kent Tamura.
7016
7017        Allow Localized Date Strings for Date Input Fields
7018        https://bugs.webkit.org/show_bug.cgi?id=59752
7019
7020        Test: fast/forms/date-input-visible-strings.html
7021
7022        * CMakeLists.txt:
7023        * WebCore.gypi:
7024        * WebCore.pro:
7025        * WebCore.vcproj/WebCore.vcproj:
7026        * WebCore.xcodeproj/project.pbxproj: update build files for
7027        moving DateComponents from WebCore/html to WebCore/platform
7028        and adding the LocalizedDate files.
7029
7030        * html/BaseDateAndTimeInputType.cpp:
7031        (WebCore::BaseDateAndTimeInputType::serialize):
7032        (WebCore::BaseDateAndTimeInputType::serializeWithComponents):
7033        (WebCore::BaseDateAndTimeInputType::serializeWithMilliseconds):
7034        InputType::serialize for a double value with date types is
7035        different for the month type because it assumes the incoming
7036        value is months instead of msecs (matching valueAsNumber in
7037        HTML5).  So provide a more general serialization function,
7038        serializeWithComponents, that will always serialize a string
7039        correctly for the current type but taking in a DateComponents
7040        object. The default serialize, and new serializeWithMilliseconds,
7041        can fall back to this and allows an override point for
7042        the month type.
7043
7044        * html/MonthInputType.cpp:
7045        (WebCore::MonthInputType::serializeWithMilliseconds): the month
7046        type is a case where the default serialize does not take msec,
7047        so provide an implementation for month which handles msec input.
7048
7049        * html/BaseDateAndTimeInputType.cpp:
7050        (WebCore::BaseDateAndTimeInputType::setValueAsDate): switch
7051        to serializeWithMilliseconds as the incoming date value is msec.
7052        * html/MonthInputType.cpp:
7053        (WebCore::MonthInputType::setValueAsDate): removed.
7054
7055        * html/BaseDateAndTimeInputType.cpp:
7056        (WebCore::BaseDateAndTimeInputType::visibleValue): allow
7057        localized formatting of a date value.
7058        (WebCore::BaseDateAndTimeInputType::convertFromVisibleValue):
7059        allow parsing for a formatted date value.
7060
7061        * html/BaseDateAndTimeInputType.h:
7062        * platform/DateComponents.cpp: Renamed from Source/WebCore/html/DateComponents.cpp.
7063        Expose the Type enum so it can be used outside of the DateComponents class.
7064        * platform/text/LocalizedDate.h: Added.
7065        * platform/text/LocalizedDateNone.cpp: Added.
7066        (WebCore::formatLocalizedDate): Default implementation falls back to
7067        existing HTML5 date input value formatting.
7068
7069        * html/BaseDateAndTimeInputType.h:
7070        * html/DateInputType.cpp:
7071        (WebCore::DateInputType::dateType):
7072        * html/DateInputType.h:
7073        * html/DateTimeInputType.cpp:
7074        (WebCore::DateTimeInputType::dateType):
7075        * html/DateTimeInputType.h:
7076        * html/DateTimeLocalInputType.cpp:
7077        (WebCore::DateTimeLocalInputType::dateType):
7078        * html/DateTimeLocalInputType.h:
7079        * html/MonthInputType.cpp:
7080        (WebCore::MonthInputType::dateType):
7081        * html/MonthInputType.h:
7082        * html/TimeInputType.cpp:
7083        (WebCore::TimeInputType::dateType):
7084        * html/TimeInputType.h:
7085        * html/WeekInputType.cpp:
7086        (WebCore::WeekInputType::dateType):
7087        * html/WeekInputType.h: Accessors for the desired date
7088        type of a date input type. This allows the base class
7089        to write a generic algorithm.
7090
70912011-04-29  Adam Barth  <abarth@webkit.org>
7092
7093        Reviewed by Eric Seidel.
7094
7095        style-src should block inline style from <style>
7096        https://bugs.webkit.org/show_bug.cgi?id=59292
7097
7098        The spec has been updated to allow blocking of inline styles with
7099        style-src.  This will help folks defend against tricky CSS3 injections.
7100
7101        This patch covers the <style> case.  The next patch will cover the
7102        @style case.
7103
7104        Tests: http/tests/security/contentSecurityPolicy/inline-style-allowed.html
7105               http/tests/security/contentSecurityPolicy/inline-style-blocked.html
7106
7107        * dom/StyleElement.cpp:
7108        (WebCore::StyleElement::createSheet):
7109        * page/ContentSecurityPolicy.cpp:
7110        (WebCore::ContentSecurityPolicy::allowInlineStyle):
7111        * page/ContentSecurityPolicy.h:
7112
71132011-04-29  Chris Evans  <cevans@chromium.org>
7114
7115        Reviewed by Adam Barth.
7116
7117        Add WebCore::Setting to block displaying and/or running insecure content on secure pages
7118        https://bugs.webkit.org/show_bug.cgi?id=58378
7119
7120        Test: To follow in subsequent patch, including the wiring to expose the new settings to LayoutTests.
7121
7122        * loader/FrameLoader.cpp:
7123        (WebCore::FrameLoader::checkIfDisplayInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
7124        (WebCore::FrameLoader::checkIfRunInsecureContent): Return whether or not the load should be blocked, and tweak the message upon blocking.
7125        * loader/FrameLoader.h:
7126        * loader/MainResourceLoader.cpp:
7127        (WebCore::MainResourceLoader::willSendRequest): Check if the frame load is blocked due to mixed content and cancel it if so. The check was moved up so that it occurs before firing the load callbacks, to avoid any outgoing network hits or accounting. Redirects are handled because willSendRequest is called for each one in the chain.
7128        * loader/SubframeLoader.cpp:
7129        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin): Handle the blocking of mixed-content plug-in loads.
7130        (WebCore::SubframeLoader::loadPlugin): Handle the blocking of mixed-content plug-in loads.
7131        * loader/cache/CachedResourceLoader.cpp:
7132        (WebCore::CachedResourceLoader::canRequest): Handle the blocking of various loads due to mixed content conditions.
7133        * page/Settings.cpp:
7134        (WebCore::Settings::Settings): Permit mixed-content loads by default to avoid a change in behavior by default.
7135        * page/Settings.h: Add two new booleans to control blocking of mixed content (displaying and running thereof).
7136        (WebCore::Settings::setAllowDisplayOfInsecureContent):
7137        (WebCore::Settings::allowDisplayOfInsecureContent):
7138        (WebCore::Settings::setAllowRunningOfInsecureContent):
7139        (WebCore::Settings::allowRunningOfInsecureContent):
7140
71412011-04-29  Ryosuke Niwa  <rniwa@webkit.org>
7142
7143        Reviewed by Eric Seidel.
7144
7145        Extract a function to obtain VisiblePosition from RenderText::positionForPoint
7146        https://bugs.webkit.org/show_bug.cgi?id=59811
7147
7148        Extracted lineDirectionPointFitsInBox from positionForPoint.
7149
7150        * rendering/RenderText.cpp:
7151        (WebCore::lineDirectionPointFitsInBox):
7152        (WebCore::RenderText::positionForPoint):
7153
71542011-04-29  Geoffrey Garen  <ggaren@apple.com>
7155
7156        Reviewed by Alexey Proskuryakov.
7157
7158        REGRESSION: r83938 abandons GC memory
7159        https://bugs.webkit.org/show_bug.cgi?id=59604
7160
7161        This bug was caused by script and image elements waiting indefinitely
7162        for their loads to finish.
7163
7164        * bindings/js/JSNodeCustom.cpp:
7165        (WebCore::isReachableFromDOM): Don't test for the load event firing,
7166        since the load event doesn't fire in cases of canceled or errored loads.
7167        Instead, test hasPendingActivity().
7168
7169        Don't do this test at all for script elements because script elements
7170        can't load while outside the document. (fast/dom/script-element-gc.html
7171        verifies that this is correct.)
7172
7173        * html/HTMLImageElement.cpp:
7174        (WebCore::HTMLImageElement::hasPendingActivity):
7175        * html/HTMLImageElement.h:
7176        * loader/ImageLoader.cpp:
7177        (WebCore::ImageEventSender::hasPendingEvents):
7178        (WebCore::ImageLoader::hasPendingLoadEvent):
7179        * loader/ImageLoader.h: Added API for finding out if an image element
7180        has pending activity.
7181
7182        * loader/cache/CachedResource.cpp:
7183        (WebCore::CachedResource::setRequest): All loads are supposed to end in
7184        data(allDataReceived = true) or error(), but in the edge case of a
7185        canceled load, all we get is a call to setRequest(0). Be sure to
7186        record that we're no longer loading in that case, otherwise our element
7187        will leak forever, waiting for its load to complete.
7188
71892011-04-29  Emil Eklund  <eae@chromium.org>
7190
7191        Reviewed by Tony Chang.
7192
7193        Setting outerHTML should merge text nodes
7194        https://bugs.webkit.org/show_bug.cgi?id=52686
7195
7196        When setting outerHTML adjacent text nodes should be merged. This matches
7197        the behavior of outerText and the IE implementation of outerHTML.
7198
7199        Test: fast/dom/set-outer-html.html
7200
7201        * html/HTMLElement.cpp:
7202        (WebCore::mergeWithNextTextNode): Move function to before setOuterHTML.
7203        (WebCore::HTMLElement::setOuterHTML): Merge adjacent text nodes after replacing the element.
7204
72052011-04-29  Emil A Eklund  <eae@chromium.org>
7206
7207        Reviewed by Dimitri Glazkov.
7208
7209        Onchange on text fields has an incoherent behavior
7210        https://bugs.webkit.org/show_bug.cgi?id=57330
7211
7212        * html/HTMLFormControlElement.cpp:
7213        (WebCore::HTMLTextFormControlElement::insertedIntoDocument):
7214        Initialize m_textAsOfLastFormControlChangeEvent to empty string rather
7215        than null for empty fields.
7216
72172011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
7218
7219        [Qt] Unreviewed buildfix after r85343.
7220
7221        Enable strict OwnPtr for Qt
7222        https://bugs.webkit.org/show_bug.cgi?id=59667
7223
7224        * plugins/mac/PluginViewMac.mm:
7225        (WebCore::PluginView::platformStart):
7226
72272011-04-29  Jon Lee  <jonlee@apple.com>
7228
7229        Reviewed by mitzpettel.
7230
7231        REGRESSION (WebKit2): (Mac) Selection is gone after switching tabs (59721)
7232        <rdar://problem/9327332>
7233        https://bugs.webkit.org/show_bug.cgi?id=59721
7234
7235        Removing shouldClearSelectionWhenLosingWebPageFocus().  Reverting changelist 83814.
7236
7237        * WebCore.exp.in:
7238        * editing/EditingBehavior.h:
7239
72402011-04-29  Abhishek Arya  <inferno@chromium.org>
7241
7242        Reviewed by Dave Hyatt.
7243
7244        Allow only first table caption and destroy the remaining ones.
7245        https://bugs.webkit.org/show_bug.cgi?id=58249
7246
7247        Previously, we were only laying out the first table caption.
7248        However Table::layout didn't mark the other ones as not needing
7249        layout. So after table layout completes, table is marked as not
7250        needing layout with its other table caption still needing layout.
7251        This causes incorrect layout root calculations and set it to a
7252        node which is already getting deleted.
7253
7254        Tests: fast/table/dynamic-caption-add-before-child.xhtml
7255               fast/table/dynamic-caption-add-remove-before-child.xhtml
7256               fast/table/multiple-captions-crash.xhtml
7257               fast/table/multiple-captions-crash2.xhtml
7258               fast/table/multiple-captions-display.xhtml
7259
7260        * rendering/RenderTable.cpp:
7261        (WebCore::RenderTable::addChild): when new caption or a before
7262        child caption is added, we need to explicitly trigger section
7263        recalc or otherwise layout won't catch it.
7264        (WebCore::RenderTable::removeChild): when child to be removed is
7265        m_caption, make sure to trigger style recalc on the table.
7266        (WebCore::RenderTable::recalcCaption): code to destroy captions
7267        other than the first one.
7268        (WebCore::RenderTable::recalcSections): call recalcCaption
7269        helper. Store the next sibling early since child can get destroyed
7270        in recalcCaption.
7271        * rendering/RenderTable.h:
7272
72732011-04-29  David Kilzer  <ddkilzer@apple.com>
7274
7275        Remove WML
7276        https://bugs.webkit.org/show_bug.cgi?id=59678
7277
7278        * DerivedSources.make: Removed $(WebCore)/wml path in VPATH.
7279
72802011-04-29  James Robinson  <jamesr@chromium.org>
7281
7282        Unreviewed, rolling out r85330.
7283        http://trac.webkit.org/changeset/85330
7284        https://bugs.webkit.org/show_bug.cgi?id=41311
7285
7286        Caused unexpected border rendering change on 500 tests on chromium linux.
7287
7288        * platform/graphics/skia/GraphicsContextSkia.cpp:
7289        (WebCore::GraphicsContext::drawConvexPolygon):
7290        (WebCore::GraphicsContext::clipConvexPolygon):
7291
72922011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
7293
7294        [Qt] Unreviewed buildfix after r85343.
7295
7296        Enable strict OwnPtr for Qt
7297        https://bugs.webkit.org/show_bug.cgi?id=59667
7298
7299        * plugins/win/PluginViewWin.cpp:
7300        (WebCore::PluginView::wndProc):
7301        (WebCore::PluginView::snapshot):
7302
73032011-04-29  Csaba Osztrogonác  <ossy@webkit.org>
7304
7305        Reviewed by Adam Barth.
7306
7307        Enable strict OwnPtr for Qt
7308        https://bugs.webkit.org/show_bug.cgi?id=59667
7309
7310        * platform/graphics/qt/ImageBufferQt.cpp:
7311        (WebCore::ImageBufferData::ImageBufferData):
7312        (WebCore::ImageBuffer::ImageBuffer):
7313        * platform/graphics/qt/ImageDecoderQt.cpp:
7314        (WebCore::ImageDecoderQt::setData):
7315        * platform/graphics/qt/ImageDecoderQt.h:
7316        * platform/network/qt/QNetworkReplyHandler.cpp:
7317        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
7318        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
7319
73202011-04-29  Dean Jackson  <dino@apple.com>
7321
7322        Reviewed by Simon Fraser.
7323
7324        Add ENABLE macro for WebKitAnimation
7325        https://bugs.webkit.org/show_bug.cgi?id=59729
7326
7327        Add new feature to toggle WebKit Animation API.
7328
7329        * Configurations/FeatureDefines.xcconfig:
7330        * GNUmakefile.am:
7331        * dom/Element.idl:
7332        * features.pri:
7333        * page/DOMWindow.idl:
7334
73352011-04-29  Dean Jackson  <dino@apple.com>
7336
7337        Reviewed by Simon Fraser.
7338
7339        https://bugs.webkit.org/show_bug.cgi?id=59149
7340        (Regression) Existing animations are not replaced when filling.
7341
7342        Hardware animations that fill forwards were not being correctly
7343        replaced when the animation was removed. The actual animation
7344        logic was working correctly, but it wasn't deleting the
7345        CoreAnimation animation from the PlatformLayer. The fix was
7346        to explicitly call endAnimation when disconnecting the animation
7347        from its RenderObject.
7348
7349        Test: animations/3d/replace-filling-transform.html
7350
7351        * page/animation/AnimationBase.h:
7352        (WebCore::AnimationBase::clear): call endAnimation as the animation is cleared
7353
73542011-04-29  Abhishek Arya  <inferno@chromium.org>
7355
7356        Reviewed by Nikolas Zimmermann.
7357
7358        When svg inline text is getting destroyed, make sure to mark
7359        its svg text ancestor as needing a positioning values update.
7360        This helps to recalculate layout attributes and makes sure
7361        that svg inline text is not used again.
7362        https://bugs.webkit.org/show_bug.cgi?id=59161
7363
7364        Test: svg/text/inline-text-destroy-attributes-crash.xhtml
7365
7366        * rendering/svg/RenderSVGInlineText.cpp:
7367        (WebCore::RenderSVGInlineText::destroy):
7368        * rendering/svg/RenderSVGInlineText.h:
7369
73702011-04-29  Kevin Ollivier  <kevino@theolliviers.com>
7371
7372        [wx] Unreviewed build fix. Fix wxMSW trunk builds by adding include.
7373
7374        * platform/graphics/wx/GraphicsContextWx.cpp:
7375
73762011-04-29  Mike Reed  <reed@google.com>
7377
7378        Reviewed by Ojan Vafai.
7379
7380        Skia: Need to implement GraphicsContext::clipConvexPolygon()
7381        https://bugs.webkit.org/show_bug.cgi?id=41311
7382
7383        This does not (yet) enable HAVE_PATH_BASED_BORDER_RADIUS_DRAWING
7384        as that shows other issues/question unrelated to clipping.
7385        https://bugs.webkit.org/show_bug.cgi?id=41311
7386
7387        No new tests. covered by existing layout tests
7388
7389        * platform/graphics/skia/GraphicsContextSkia.cpp:
7390        (WebCore::setPathFromConvexPoints):
7391        (WebCore::GraphicsContext::drawConvexPolygon):
7392        (WebCore::GraphicsContext::clipConvexPolygon):
7393
73942011-04-29  Mike Lawther  <mikelawther@chromium.org>
7395
7396        Reviewed by Ojan Vafai.
7397
7398        Fix IR->SR typo in enum value (and resulting style fails)
7399        https://bugs.webkit.org/show_bug.cgi?id=59779
7400
7401        No functionality change, so no new tests
7402
7403        * css/CSSPrimitiveValueMappings.h:
7404        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
7405        (WebCore::CSSPrimitiveValue::operator EShapeRendering):
7406
74072011-04-29  Pavel Feldman  <pfeldman@google.com>
7408
7409        Reviewed by Yury Semikhatsky.
7410
7411        Web Inspector: CSS editing breaks when entering "color: rgb(1"
7412        https://bugs.webkit.org/show_bug.cgi?id=59789
7413
7414        Tests: inspector/styles/styles-add-invalid-property.html
7415               inspector/styles/styles-cancel-editing.html
7416               inspector/styles/styles-commit-editing.html
7417
7418        * inspector/front-end/CSSStyleModel.js:
7419        (WebInspector.CSSProperty.prototype.setText.callback):
7420        (WebInspector.CSSProperty.prototype.setText):
7421        * inspector/front-end/StylesSidebarPane.js:
7422        (WebInspector.StylePropertyTreeElement.prototype.selectElement):
7423        (WebInspector.StylePropertyTreeElement.prototype):
7424        (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert.originalPropertyText):
7425        * inspector/front-end/inspector.js:
7426        (WebInspector.startEditing.defaultFinishHandler):
7427        (WebInspector.startEditing.keyDownEventListener):
7428        (WebInspector.startEditing):
7429
74302011-04-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
7431
7432        Reviewed by Simon Hausmann.
7433
7434        ENABLE(QT_BEARER) -> USE(QT_BEARER)
7435
7436        * WebCore.pri:
7437        * WebCore.pro:
7438        * features.pri:
7439        * platform/network/NetworkStateNotifier.h:
7440        * platform/network/qt/NetworkStateNotifierQt.cpp:
7441
74422011-04-29  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
7443
7444        Reviewed by Simon Hausmann.
7445
7446        ENABLE(QT_USERAGENT_DEVICEMODEL) -> USE(QT_MOBILITY_SYSTEMINFO)
7447
7448        * WebCore.pri:
7449        * features.pri:
7450
74512011-04-29  Pavel Podivilov  <podivilov@chromium.org>
7452
7453        Reviewed by Pavel Feldman.
7454
7455        Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
7456        https://bugs.webkit.org/show_bug.cgi?id=59476
7457
7458        * inspector/front-end/DebuggerPresentationModel.js:
7459        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
7460        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
7461        (WebInspector.PresentationBreakpoint.prototype.serialize):
7462        * inspector/front-end/ScriptsPanel.js:
7463        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
7464        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
7465        (WebInspector.ScriptsPanel.prototype.reset):
7466
74672011-04-28  Pavel Podivilov  <podivilov@chromium.org>
7468
7469        Reviewed by Yury Semikhatsky.
7470
7471        Web Inspector: include script end line:column in scriptParsed parameters.
7472        https://bugs.webkit.org/show_bug.cgi?id=59717
7473
7474        * bindings/js/ScriptDebugServer.cpp:
7475        (WebCore::ScriptDebugServer::dispatchDidParseSource):
7476        * bindings/v8/DebuggerScript.js:
7477        ():
7478        * bindings/v8/ScriptDebugServer.cpp:
7479        (WebCore::ScriptDebugServer::dispatchDidParseSource):
7480        * inspector/Inspector.json:
7481        * inspector/InspectorDebuggerAgent.cpp:
7482        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
7483        (WebCore::InspectorDebuggerAgent::didParseSource):
7484        * inspector/InspectorDebuggerAgent.h:
7485        (WebCore::InspectorDebuggerAgent::Script::Script):
7486        * inspector/ScriptDebugListener.h:
7487        * inspector/front-end/DebuggerModel.js:
7488        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
7489        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
7490        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
7491        * inspector/front-end/Script.js:
7492        (WebInspector.Script):
7493
74942011-04-28  Yury Semikhatsky  <yurys@chromium.org>
7495
7496        Reviewed by Pavel Feldman.
7497
7498        Web Inspector: [protocol] Evaluate should expose thrown exception value
7499        https://bugs.webkit.org/show_bug.cgi?id=59000
7500
7501        Each evaluation command may have either thrown or returned result. This is indicated
7502        by wasThrown property in the protocol.
7503
7504        * inspector/InjectedScript.cpp:
7505        (WebCore::InjectedScript::evaluate):
7506        (WebCore::InjectedScript::evaluateOn):
7507        (WebCore::InjectedScript::evaluateOnCallFrame):
7508        (WebCore::InjectedScript::getProperties):
7509        (WebCore::InjectedScript::makeEvalCall):
7510        * inspector/InjectedScript.h:
7511        * inspector/InjectedScriptSource.js:
7512        * inspector/Inspector.json: Removed "error" remote object type, added "wasThrown" property to
7513        the evaluation results.
7514        * inspector/InspectorDebuggerAgent.cpp:
7515        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
7516        * inspector/InspectorDebuggerAgent.h:
7517        * inspector/InspectorRuntimeAgent.cpp:
7518        (WebCore::InspectorRuntimeAgent::evaluate):
7519        (WebCore::InspectorRuntimeAgent::evaluateOn):
7520        (WebCore::InspectorRuntimeAgent::getProperties):
7521        * inspector/InspectorRuntimeAgent.h:
7522        * inspector/front-end/ConsoleView.js:
7523        (WebInspector.ConsoleView.prototype.completions.evaluated):
7524        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
7525        (WebInspector.ConsoleView.prototype._enterKeyPressed.printResult):
7526        (WebInspector.ConsoleView.prototype._enterKeyPressed):
7527        (WebInspector.ConsoleCommandResult):
7528        * inspector/front-end/DebuggerPresentationModel.js:
7529        (WebInspector.PresenationCallFrame.prototype.evaluate):
7530        * inspector/front-end/ElementsTreeOutline.js:
7531        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
7532        * inspector/front-end/ExtensionPanel.js:
7533        (WebInspector.ExtensionSidebarPane.prototype._onEvaluate):
7534        * inspector/front-end/ExtensionServer.js:
7535        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
7536        * inspector/front-end/ObjectPropertiesSection.js:
7537        (WebInspector.ObjectPropertyTreeElement.prototype.update):
7538        * inspector/front-end/PropertiesSidebarPane.js:
7539        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
7540        * inspector/front-end/SourceFrame.js:
7541        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
7542        (WebInspector.SourceFrame.prototype._showPopup):
7543
75442011-04-29  Sheriff Bot  <webkit.review.bot@gmail.com>
7545
7546        Unreviewed, rolling out r85315.
7547        http://trac.webkit.org/changeset/85315
7548        https://bugs.webkit.org/show_bug.cgi?id=59792
7549
7550        Broke script-formatter.html test (Requested by podivilov on
7551        #webkit).
7552
7553        * inspector/front-end/DebuggerPresentationModel.js:
7554        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
7555        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger.didRemoveBreakpoint):
7556        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
7557        (WebInspector.PresentationBreakpoint.prototype.serialize):
7558        * inspector/front-end/ScriptsPanel.js:
7559        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
7560        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
7561        (WebInspector.ScriptsPanel.prototype.reset):
7562
75632011-04-29  Vsevolod Vlasov  <vsevik@chromium.org>
7564
7565        Reviewed by Pavel Feldman.
7566
7567        Web Inspector: Hyperlink Auditing (ping) requests are not shown in network panel
7568        https://bugs.webkit.org/show_bug.cgi?id=58794
7569
7570        Added ping requests to network panel.
7571
7572        Test: http/tests/inspector/network/ping.html
7573
7574        * English.lproj/localizedStrings.js:
7575        * inspector/InspectorInstrumentation.cpp:
7576        (WebCore::InspectorInstrumentation::continueAfterPingLoaderImpl):
7577        * inspector/InspectorInstrumentation.h:
7578        (WebCore::InspectorInstrumentation::continueAfterPingLoader):
7579        * inspector/front-end/NetworkPanel.js:
7580        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
7581        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
7582        (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
7583        * inspector/front-end/Resource.js:
7584        (WebInspector.Resource.prototype.get formParameters):
7585        (WebInspector.Resource.prototype.requestContentType):
7586        (WebInspector.Resource.prototype.isPingRequest):
7587        * loader/PingLoader.cpp:
7588        (WebCore::PingLoader::PingLoader):
7589        * loader/PingLoader.h:
7590
75912011-04-28  Pavel Podivilov  <podivilov@chromium.org>
7592
7593        Reviewed by Pavel Feldman.
7594
7595        Web Inspector: breakpoints set in original and formatted scripts are messed up after navigation.
7596        https://bugs.webkit.org/show_bug.cgi?id=59476
7597
7598        * inspector/front-end/DebuggerPresentationModel.js:
7599        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
7600        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
7601        (WebInspector.PresentationBreakpoint.prototype.serialize):
7602        * inspector/front-end/ScriptsPanel.js:
7603        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
7604        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
7605        (WebInspector.ScriptsPanel.prototype.reset):
7606
76072011-04-29  Pavel Feldman  <pfeldman@google.com>
7608
7609        Reviewed by Yury Semikhatsky.
7610
7611        Web Inspector: add "open link in new tab" action into the network and resources panels.
7612        https://bugs.webkit.org/show_bug.cgi?id=59788
7613
7614        This change also distinguishes context menu items case between platforms.
7615
7616        * English.lproj/localizedStrings.js:
7617        * inspector/front-end/ConsoleView.js:
7618        (WebInspector.ConsoleView.prototype._handleContextMenuEvent):
7619        * inspector/front-end/DOMBreakpointsSidebarPane.js:
7620        (WebInspector.DOMBreakpointsSidebarPane):
7621        * inspector/front-end/ElementsPanel.js:
7622        (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
7623        (WebInspector.ElementsPanel.prototype.populateHrefContextMenu):
7624        * inspector/front-end/ElementsTreeOutline.js:
7625        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
7626        (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
7627        * inspector/front-end/NetworkPanel.js:
7628        (WebInspector.NetworkPanel.prototype._contextMenu):
7629        * inspector/front-end/ResourcesPanel.js:
7630        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
7631        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction):
7632        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
7633        * inspector/front-end/Settings.js:
7634        * inspector/front-end/SourceFrame.js:
7635        (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
7636        * inspector/front-end/TextViewer.js:
7637        (WebInspector.TextViewer.prototype._contextMenu):
7638        * inspector/front-end/inspector.js:
7639        (WebInspector.openLinkExternallyLabel):
7640        (WebInspector.openResource):
7641        (WebInspector.useLowerCaseMenuTitles):
7642
76432011-04-28  Simon Fraser  <simon.fraser@apple.com>
7644
7645        Reviewed by Dan Bernstein.
7646
7647        Mask placement on composited layer is incorrect sometimes
7648        https://bugs.webkit.org/show_bug.cgi?id=59775
7649
7650        The mask layer always has the same size as its owning GraphicsLayer,
7651        so it needs to share the same offsetFromRenderer as well. This fixes
7652        the offset at which the mask layer contents are painted in cases where
7653        that offset is non-zero, for example when outline style bloats all of
7654        the layer sizes.
7655
7656        Test: compositing/masks/layer-mask-placement.html
7657
7658        * rendering/RenderLayerBacking.cpp:
7659        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
7660
76612011-04-28  Dan Bernstein  <mitz@apple.com>
7662
7663        Rubber-stamped by Mark Rowe.
7664
7665        Reverted r81319.
7666
7667        Fixes <rdar://problem/9331580> REGRESSION (r81319): Safari fails to display dropdown navigation on classics.berkeley.edu
7668
7669        * page/NavigatorBase.cpp:
7670
76712011-04-28  Simon Fraser  <simon.fraser@apple.com>
7672
7673        Reviewed by Dirk Schulze.
7674
7675        1px box-shadow looks ugly
7676        https://bugs.webkit.org/show_bug.cgi?id=58100
7677        and
7678        ShadowBlur incorrectly handles zero-sized blur radius in one axis
7679        https://bugs.webkit.org/show_bug.cgi?id=59710
7680
7681        blurLayerImage() has issues at the edges if the blur radius
7682        is one, so in that case bump the buffer size out by a pixel.
7683        This results in a correct, symmetrical blur.
7684
7685        Also fix an issue noticed during testing where a zero
7686        height or width radius would still blur on that axis,
7687        because we clamp the kernel size to a minimum of two.
7688
7689        Test: fast/box-shadow/single-pixel-shadow.html
7690
7691        * platform/graphics/ShadowBlur.h:
7692        * platform/graphics/ShadowBlur.cpp:
7693        (WebCore::ShadowBlur::blurLayerImage):
7694        Skip horizontal or vertial passes if the radius on that axis is zero.
7695        Move the "if (pass && m_blurRadius.width() != m_blurRadius.height())"
7696        clause to the end of the loop, since it only needs to execute once
7697        after the first pass.
7698        (WebCore::ShadowBlur::blurredEdgeSize):
7699        New method to compute the width of the blurred edge (radius + extra
7700        pixel when necessary).
7701        (WebCore::ShadowBlur::calculateLayerBoundingRect):
7702        (WebCore::ShadowBlur::templateSize):
7703        (WebCore::ShadowBlur::drawRectShadow):
7704        (WebCore::ShadowBlur::drawInsetShadow):
7705        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
7706        (WebCore::ShadowBlur::drawRectShadowWithTiling):
7707        (WebCore::ShadowBlur::drawLayerPieces):
7708        Use the result of blurredEdgeSize() rather than recomputing.
7709
77102011-04-28  Yael Aharon  <yael.aharon@nokia.com>
7711
7712        Reviewed by Beth Dakin.
7713
7714        CSS sibling selector (~) does not work with :target pseudo class
7715        https://bugs.webkit.org/show_bug.cgi?id=26539
7716
7717        Allow style recalculation of forward siblings of elements with
7718        forward positional rules.
7719
7720        Tests: fast/css/pseudo-target-indirect-sibling-001.html
7721               fast/css/pseudo-target-indirect-sibling-002.html
7722
7723        * dom/Element.cpp:
7724        (WebCore::Element::recalcStyle):
7725
77262011-04-28  Nat Duca  <nduca@chromium.org>
7727
7728        Reviewed by Kenneth Russell.
7729
7730        [chromium] Add swapBuffersCompleteCallback to Extensions3DChromium
7731        https://bugs.webkit.org/show_bug.cgi?id=59626
7732
7733        * platform/graphics/chromium/Extensions3DChromium.h:
7734        (WebCore::Extensions3DChromium::SwapBuffersCompleteCallbackCHROMIUM::~SwapBuffersCompleteCallbackCHROMIUM):
7735
77362011-04-28  Steve Lacey  <sjl@chromium.org>
7737
7738        Reviewed by Eric Carlson.
7739
7740        Change chromium media controls to use absolute positioning until bug 59644 is fixed.
7741        https://bugs.webkit.org/show_bug.cgi?id=59732
7742
7743        * css/mediaControlsChromium.css:
7744        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
7745        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
7746
77472011-04-28  Luke Macpherson   <macpherson@chromium.org>
7748
7749        Reviewed by Eric Seidel.
7750
7751        Implement CSS border width and related properties in CSSStyleApplyProperty.
7752        https://bugs.webkit.org/show_bug.cgi?id=59414
7753
7754        No new tests as no functionality added.
7755
7756        * css/CSSStyleApplyProperty.cpp:
7757        Separated ApplyPropertyDefault into parent and child so that other classes could inherit
7758        the applyInheritValue and applyInitialValue methods only.
7759        This was necessary to avoid casting from CSSPrimitiveValue to inappropriate types in ApplyPropertyDefault::applyValue().
7760
7761        Added ApplyPropertyWidth class for handling width based CSS properties.
7762        * css/CSSStyleSelector.cpp:
7763        Removed no-longer-required code for handling width based CSS properties.
7764        * css/CSSStyleSelector.h:
7765        Added a getter for m_rootElementStyle.
7766
77672011-04-28  Kent Tamura  <tkent@chromium.org>
7768
7769        Run sort-Xcode-project-file.
7770
7771        * WebCore.xcodeproj/project.pbxproj:
7772
77732011-04-28  Martin Robinson  <mrobinson@igalia.com>
7774
7775        Reviewed by Dirk Schulze.
7776
7777        [Cairo] Text underline is not shadowed when text-shadow is enabled
7778        https://bugs.webkit.org/show_bug.cgi?id=48074
7779
7780        Use ContextShadow to enable shadows for text underlines. Also remove quite a bit
7781        of duplicate code in GraphicsContext used for stroking lines. This code looks like it was
7782        originally copied from the CG GraphicsContext.
7783
7784        * platform/graphics/GraphicsContext.h: Make adjustLineToPixelBoundaries so that we
7785          can call it from a static helper function.
7786        * platform/graphics/cairo/GraphicsContextCairo.cpp:
7787        (WebCore::calculateStrokePatternOffset): Abstracted this code into a helper.
7788        (WebCore::drawLineOnCairoContext): Abstracted this code into a helper. We need to
7789        call it multiple times when shadowing text underlines.
7790        (WebCore::GraphicsContext::drawLine): Use drawLineOnCairoContext.
7791        (WebCore::GraphicsContext::strokeArc): Use calculateStrokePatternOffset.
7792        (WebCore::GraphicsContext::drawLineForText): Use drawLineOnCairoContext.
7793
77942011-04-28  Sam Weinig  <sam@webkit.org>
7795
7796        Rubber-stamped by Mark Rowe.
7797
7798        Cleanup WebCore.xcodeproj a bit.
7799
7800        * WebCore.xcodeproj/project.pbxproj:
7801        Added CompilerVersion.xcconfig and moved some JS bindings files into the
7802        correct sub groups.
7803
78042011-04-28  David Levin  <levin@chromium.org>
7805
7806        Reviewed by Adam Barth.
7807
7808        Remove IMAGE_RESIZER related code.
7809        https://bugs.webkit.org/show_bug.cgi?id=59735
7810
7811        * CMakeLists.txt:
7812        * Configurations/FeatureDefines.xcconfig:
7813        * GNUmakefile.am:
7814        * GNUmakefile.list.am:
7815        * WebCore.gypi:
7816        * WebCore.pro:
7817        * WebCore.vcproj/WebCore.vcproj:
7818        * WebCore.xcodeproj/project.pbxproj:
7819        * features.pri:
7820        * html/AsyncImageResizer.cpp: Removed.
7821        * html/AsyncImageResizer.h: Removed.
7822        * html/ImageResizerThread.cpp: Removed.
7823        * html/ImageResizerThread.h: Removed.
7824
78252011-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
7826
7827        Unreviewed trivial one-line fix inspired by wrong patch for https://bugs.webkit.org/show_bug.cgi?id=59630.
7828
7829        * inspector/front-end/Settings.js:
7830        (WebInspector.Settings):
7831
78322011-04-28  Beth Dakin  <bdakin@apple.com>
7833
7834        Rubber-stamped by Sam Weinig.
7835
7836        Rolling out revision 85258! I want to fix that bug a different way.
7837        * platform/mac/ScrollbarThemeMac.mm:
7838        (WebCore::ScrollbarThemeMac::paint):
7839
78402011-04-28  Chang Shu  <cshu@webkit.org>
7841
7842        Reviewed by Eric Seidel.
7843
7844        isContentEditable is not working properly with document.designMode
7845        https://bugs.webkit.org/show_bug.cgi?id=53031
7846
7847        The specification (http://dev.w3.org/html5/spec/Overview.html#attr-contenteditable)
7848        indicates that the element.isContentEditable relies on document.designMode if its
7849        and its ancestors' contenteditable attributes are set to inherit.
7850
7851        1. Sync document render style after document.designMode is changed.
7852        2. Removed the code that does unnecessary and incorrect handling for contenteditable
7853        attribute with "inherit" value.
7854        3. Ryosuke Niwa also helped to fix the code in ApplyStyleCommand that causes an assertion.
7855
7856        Tests: fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit-subframe.html
7857               fast/dom/HTMLElement/iscontenteditable-designmodeon-allinherit.html
7858               fast/dom/HTMLElement/iscontenteditable-designmodeon-ancestor.html
7859               fast/dom/HTMLElement/iscontenteditable-designmodeon.html
7860
7861        * css/CSSStyleSelector.cpp:
7862        (WebCore::CSSStyleSelector::styleForDocument):
7863        * dom/Document.cpp:
7864        (WebCore::Document::setDesignMode):
7865        * dom/Node.cpp:
7866        (WebCore::Node::rendererIsEditable):
7867        * editing/ApplyStyleCommand.cpp:
7868        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
7869        * html/HTMLElement.cpp:
7870        (WebCore::HTMLElement::setContentEditable):
7871
78722011-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
7873
7874        Unreviewed, rolling out r85101.
7875        http://trac.webkit.org/changeset/85101
7876        https://bugs.webkit.org/show_bug.cgi?id=59757
7877
7878         it'd be better to rollout the patch and do another one with
7879        another property name. Current one will bring us to a problem
7880        at first run after upgrade because it's type was changed from
7881        int to string. (Requested by loislo on #webkit).
7882
7883        * inspector/front-end/ScriptsPanel.js:
7884        (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
7885        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
7886        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
7887
78882011-04-28  Mike Reed  <reed@google.com>
7889
7890        Reviewed by Eric Seidel.
7891
7892        fix shadw behavior for both CSS and Canvas -- skia only
7893        https://bugs.webkit.org/show_bug.cgi?id=59700
7894
7895        Test:
7896        canvas/philip/tests/2d.shadow.alpha.3.html
7897        canvas/philip/tests/2d.shadow.alpha.4.html
7898        canvas/philip/tests/2d.shadow.alpha.5.html
7899        fast/canvas/canvas-fillPath-alpha-shadow.html
7900        fast/canvas/canvas-strokePath-alpha-shadow.html
7901        fast/canvas/canvas-strokeRect-alpha-shadow.html
7902        fast/css/text-input-with-webkit-border-radius.html
7903        fast/repaint/shadow-multiple-horizontal.html
7904        fast/repaint/shadow-multiple-strict-horizontal.html
7905        fast/repaint/shadow-multiple-strict-vertical.html
7906        fast/repaint/shadow-multiple-vertical.html
7907        fast/canvas/canvas-getImageData.html
7908
7909        * platform/graphics/chromium/FontChromiumWin.cpp:
7910        (WebCore::Font::drawGlyphs):
7911        * platform/graphics/skia/GraphicsContextSkia.cpp:
7912        (WebCore::GraphicsContext::setPlatformShadow):
7913
79142011-04-28  David Kilzer  <ddkilzer@apple.com>
7915
7916        <http://webkit.org/b/59755> AXObjectCache::attachWrapper() over-retains an AccessibilityObjectWrapper
7917
7918        Reviewed by Chris Fleizach.
7919
7920        Previously, AXObjectCache::attachWrapper over-retained each
7921        AccessibilityObjectWrapper it created, which is why
7922        AXObjectCache::detachWrapper() contained an extra -release.
7923
7924        * accessibility/mac/AXObjectCacheMac.mm:
7925        (WebCore::AXObjectCache::detachWrapper): Removed extra -release.
7926        (WebCore::AXObjectCache::attachWrapper): Because setWrapper()
7927        assigns to a RetainPtr<> instance variable, it doesn't need a +1
7928        retained object passed in.  Fix the leak by using a RetainPtr<>
7929        for the AccessibilityObjectWrapper.
7930
79312011-04-28  Nat Duca  <nduca@chromium.org>
7932
7933        Reviewed by Darin Fisher.
7934
7935        [chromium] Compute compositor fps value and history using the frameBegin timestamp
7936        https://bugs.webkit.org/show_bug.cgi?id=59668
7937
7938        This change switches the compositor FPS meter to use the timestamp
7939        of the beginning of the frame rather than the time we call
7940        swapBuffers. When scheduling is correctly tied to vsync, we can
7941        have highly variable times when we finish vsync and still have
7942        stable frame rates.
7943
7944        * platform/graphics/chromium/LayerRendererChromium.cpp:
7945        (WebCore::LayerRendererChromium::updateAndDrawLayers):
7946        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
7947        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
7948        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
7949        (WebCore::CCHeadsUpDisplay::onFrameBegin):
7950        (WebCore::CCHeadsUpDisplay::onPresent):
7951        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
7952
79532011-04-28  Beth Dakin  <bdakin@apple.com>
7954
7955        Reviewed by Darin Adler.
7956
7957        https://bugs.webkit.org/show_bug.cgi?id=59759
7958        Overflow:scroll regions with overlay scrollbars show full thumb instead of just a
7959        track when there is nothing to scroll to
7960        <rdar://problem/9282066>
7961
7962        Scrollbar::totalSize() and Scrollbar::visibleSize() are the same when there is
7963        nothing to scroll to. Just dividing them to get a knob proportion yields 1, which
7964        is not right. Set the proportion to 0 in this case instead.
7965        * platform/mac/ScrollbarThemeMac.mm:
7966        (WebCore::ScrollbarThemeMac::paint):
7967
79682011-04-28  Dan Bernstein  <mitz@apple.com>
7969
7970        Reviewed by Simon Fraser.
7971
7972        <rdar://problem/9291132> Add support for -epub-prefixed properties
7973
7974        Test: fast/css/epub-properties.html
7975
7976        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
7977        (WebCore::cssPropertyName): Map "epub"-prefixed properties to "-epub"-prefixed ones.
7978        * css/CSSPropertyNames.in: Added -epub- aliases to caption-side, -webkit-hyphens, -webkit-text-combine,
7979        -webkit-text-emphasis, -webkit-text-emphasis-color, -webkit-text-emphasis-style, -webkit-text-orientation,
7980        text-transform, text-transform, word-break, and -webkit-writing-mode.
7981
79822011-04-28  Adam Barth  <abarth@webkit.org>
7983
7984        Reviewed by Eric Seidel.
7985
7986        Remove WML
7987        https://bugs.webkit.org/show_bug.cgi?id=59678
7988
7989        This patch removes WML from WebCore.  After removing WML, there's a
7990        bunch of twisted code that could be untwisted, but this patch contains
7991        only the purely mechanical part of removing the feature.
7992
7993        There's been a lot of discussion on webkit-dev about whether we should
7994        remove WML.  In addition to those threads, we've had an informal poll
7995        of the reviewers as well as an in-person discussion at the WebKit
7996        contributor's meeting.  Removing any feature is likely to make some
7997        folks unhappy, but, on balance, removing WML appears to be the right
7998        thing for the project to do at this time.
7999
8000        * CMakeLists.txt:
8001        * CodeGenerators.pri:
8002        * Configurations/FeatureDefines.xcconfig:
8003        * DerivedSources.cpp:
8004        * DerivedSources.make:
8005        * GNUmakefile.am:
8006        * GNUmakefile.list.am:
8007        * WebCore.gyp/WebCore.gyp:
8008        * WebCore.gypi:
8009        * WebCore.pro:
8010        * WebCore.vcproj/WebCore.vcproj:
8011        * WebCore.xcodeproj/project.pbxproj:
8012        * css/CSSStyleSelector.cpp:
8013        (WebCore::linkAttribute):
8014        (WebCore::CSSStyleSelector::styleForElement):
8015        (WebCore::CSSStyleSelector::adjustRenderStyle):
8016        * css/wml.css: Removed.
8017        * dom/DOMImplementation.cpp:
8018        (WebCore::DOMImplementation::createDocument):
8019        * dom/Document.cpp:
8020        (WebCore::Document::Document):
8021        (WebCore::Document::createElement):
8022        * dom/Document.h:
8023        (WebCore::Document::isMediaDocument):
8024        * dom/Document.idl:
8025        * dom/InputElement.h:
8026        * dom/Node.cpp:
8027        (WebCore::Node::toInputElement):
8028        * dom/Node.h:
8029        * dom/OptionElement.cpp:
8030        (WebCore::toOptionElement):
8031        (WebCore::isOptionElement):
8032        * dom/OptionElement.h:
8033        * dom/OptionGroupElement.cpp:
8034        (WebCore::toOptionGroupElement):
8035        (WebCore::isOptionGroupElement):
8036        * dom/SelectElement.cpp:
8037        (WebCore::toSelectElement):
8038        * dom/SelectElement.h:
8039        * dom/Text.cpp:
8040        (WebCore::Text::attach):
8041        * dom/XMLDocumentParser.cpp:
8042        (WebCore::XMLDocumentParser::insertErrorMessageBlock):
8043        * dom/XMLDocumentParser.h:
8044        * dom/XMLDocumentParserLibxml2.cpp:
8045        (WebCore::XMLDocumentParser::internalSubset):
8046        (WebCore::getEntityHandler):
8047        * dom/XMLDocumentParserQt.cpp:
8048        (WebCore::XMLDocumentParser::parse):
8049        (WebCore::XMLDocumentParser::parseDtd):
8050        * editing/htmlediting.cpp:
8051        (WebCore::canHaveChildrenForEditing):
8052        * features.pri:
8053        * history/BackForwardList.h:
8054        * history/BackForwardListImpl.cpp:
8055        * history/BackForwardListImpl.h:
8056        * history/PageCache.cpp:
8057        (WebCore::PageCache::canCachePageContainingThisFrame):
8058        * html/HTMLAnchorElement.h:
8059        * inspector/ConsoleMessage.cpp:
8060        (WebCore::messageSourceValue):
8061        * inspector/front-end/ConsoleView.js:
8062        (WebInspector.ConsoleMessage.prototype.toString):
8063        * loader/FrameLoader.cpp:
8064        (WebCore::isBackForwardLoadType):
8065        (WebCore::FrameLoader::transitionToCommitted):
8066        (WebCore::FrameLoader::shouldReload):
8067        (WebCore::FrameLoader::loadDifferentDocumentItem):
8068        (WebCore::FrameLoader::loadItem):
8069        * loader/FrameLoaderTypes.h:
8070        * loader/HistoryController.cpp:
8071        (WebCore::HistoryController::restoreDocumentState):
8072        * manual-tests/wml: Removed.
8073        * manual-tests/wml/StartTests.wml: Removed.
8074        * manual-tests/wml/a-br-element.wml: Removed.
8075        * manual-tests/wml/a-element.wml: Removed.
8076        * manual-tests/wml/a-img-element.wml: Removed.
8077        * manual-tests/wml/access-target.wml: Removed.
8078        * manual-tests/wml/anchor-br-element.wml: Removed.
8079        * manual-tests/wml/anchor-element.wml: Removed.
8080        * manual-tests/wml/anchor-img-element.wml: Removed.
8081        * manual-tests/wml/card-newcontext-attr.wml: Removed.
8082        * manual-tests/wml/card-onenterbackward.wml: Removed.
8083        * manual-tests/wml/card-onenterforward.wml: Removed.
8084        * manual-tests/wml/card-ontimer.wml: Removed.
8085        * manual-tests/wml/deck-access-control.wml: Removed.
8086        * manual-tests/wml/input-format.wml: Removed.
8087        * manual-tests/wml/onevent-go.wml: Removed.
8088        * manual-tests/wml/onevent-noop.wml: Removed.
8089        * manual-tests/wml/onevent-prev.wml: Removed.
8090        * manual-tests/wml/onevent-refresh.wml: Removed.
8091        * manual-tests/wml/onevent-shadow.wml: Removed.
8092        * manual-tests/wml/resources: Removed.
8093        * manual-tests/wml/resources/smiley.png: Removed.
8094        * manual-tests/wml/select-element.wml: Removed.
8095        * manual-tests/wml/select-onpick-event-crash.wml: Removed.
8096        * manual-tests/wml/select-onpick-event.wml: Removed.
8097        * manual-tests/wml/setvar-element.wml: Removed.
8098        * manual-tests/wml/targetdeck.wml: Removed.
8099        * manual-tests/wml/task-go-in-anchor.wml: Removed.
8100        * manual-tests/wml/task-prev-in-anchor.wml: Removed.
8101        * manual-tests/wml/task-refresh-in-anchor.wml: Removed.
8102        * manual-tests/wml/template-go.wml: Removed.
8103        * manual-tests/wml/template-ontimer.wml: Removed.
8104        * manual-tests/wml/timer.wml: Removed.
8105        * manual-tests/wml/variable-substitution.wml: Removed.
8106        * page/Console.cpp:
8107        (WebCore::printMessageSourceAndLevelPrefix):
8108        * page/Console.h:
8109        * page/Frame.cpp:
8110        (WebCore::Frame::Frame):
8111        * page/Page.cpp:
8112        * page/Page.h:
8113        * platform/MIMETypeRegistry.cpp:
8114        (WebCore::initializeSupportedNonImageMimeTypes):
8115        * platform/network/FormDataBuilder.h:
8116        * platform/network/mac/ResourceHandleMac.mm:
8117        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
8118        * platform/wince/MIMETypeRegistryWinCE.cpp:
8119        (WebCore::initMIMETypeEntensionMap):
8120        * rendering/HitTestResult.cpp:
8121        (WebCore::HitTestResult::altDisplayString):
8122        (WebCore::HitTestResult::absoluteImageURL):
8123        (WebCore::HitTestResult::absoluteLinkURL):
8124        (WebCore::HitTestResult::isLiveLink):
8125        * rendering/RenderBox.cpp:
8126        * rendering/RenderButton.cpp:
8127        (WebCore::RenderButton::updateFromElement):
8128        * rendering/RenderFieldset.cpp:
8129        (WebCore::RenderFieldset::findLegend):
8130        * rendering/RenderImage.cpp:
8131        (WebCore::RenderImage::updateAltText):
8132        * rendering/RenderObject.cpp:
8133        (WebCore::RenderObject::isLegend):
8134        (WebCore::RenderObject::offsetParent):
8135        * wml: Removed.
8136        * wml/WMLAElement.cpp: Removed.
8137        * wml/WMLAElement.h: Removed.
8138        * wml/WMLAccessElement.cpp: Removed.
8139        * wml/WMLAccessElement.h: Removed.
8140        * wml/WMLAnchorElement.cpp: Removed.
8141        * wml/WMLAnchorElement.h: Removed.
8142        * wml/WMLAttributeNames.in: Removed.
8143        * wml/WMLBRElement.cpp: Removed.
8144        * wml/WMLBRElement.h: Removed.
8145        * wml/WMLCardElement.cpp: Removed.
8146        * wml/WMLCardElement.h: Removed.
8147        * wml/WMLDoElement.cpp: Removed.
8148        * wml/WMLDoElement.h: Removed.
8149        * wml/WMLDocument.cpp: Removed.
8150        * wml/WMLDocument.h: Removed.
8151        * wml/WMLElement.cpp: Removed.
8152        * wml/WMLElement.h: Removed.
8153        * wml/WMLErrorHandling.cpp: Removed.
8154        * wml/WMLErrorHandling.h: Removed.
8155        * wml/WMLEventHandlingElement.cpp: Removed.
8156        * wml/WMLEventHandlingElement.h: Removed.
8157        * wml/WMLFieldSetElement.cpp: Removed.
8158        * wml/WMLFieldSetElement.h: Removed.
8159        * wml/WMLFormControlElement.cpp: Removed.
8160        * wml/WMLFormControlElement.h: Removed.
8161        * wml/WMLGoElement.cpp: Removed.
8162        * wml/WMLGoElement.h: Removed.
8163        * wml/WMLImageElement.cpp: Removed.
8164        * wml/WMLImageElement.h: Removed.
8165        * wml/WMLImageLoader.cpp: Removed.
8166        * wml/WMLImageLoader.h: Removed.
8167        * wml/WMLInputElement.cpp: Removed.
8168        * wml/WMLInputElement.h: Removed.
8169        * wml/WMLInsertedLegendElement.cpp: Removed.
8170        * wml/WMLInsertedLegendElement.h: Removed.
8171        * wml/WMLIntrinsicEvent.cpp: Removed.
8172        * wml/WMLIntrinsicEvent.h: Removed.
8173        * wml/WMLIntrinsicEventHandler.cpp: Removed.
8174        * wml/WMLIntrinsicEventHandler.h: Removed.
8175        * wml/WMLMetaElement.cpp: Removed.
8176        * wml/WMLMetaElement.h: Removed.
8177        * wml/WMLNoopElement.cpp: Removed.
8178        * wml/WMLNoopElement.h: Removed.
8179        * wml/WMLOnEventElement.cpp: Removed.
8180        * wml/WMLOnEventElement.h: Removed.
8181        * wml/WMLOptGroupElement.cpp: Removed.
8182        * wml/WMLOptGroupElement.h: Removed.
8183        * wml/WMLOptionElement.cpp: Removed.
8184        * wml/WMLOptionElement.h: Removed.
8185        * wml/WMLPElement.cpp: Removed.
8186        * wml/WMLPElement.h: Removed.
8187        * wml/WMLPageState.cpp: Removed.
8188        * wml/WMLPageState.h: Removed.
8189        * wml/WMLPostfieldElement.cpp: Removed.
8190        * wml/WMLPostfieldElement.h: Removed.
8191        * wml/WMLPrevElement.cpp: Removed.
8192        * wml/WMLPrevElement.h: Removed.
8193        * wml/WMLRefreshElement.cpp: Removed.
8194        * wml/WMLRefreshElement.h: Removed.
8195        * wml/WMLSelectElement.cpp: Removed.
8196        * wml/WMLSelectElement.h: Removed.
8197        * wml/WMLSetvarElement.cpp: Removed.
8198        * wml/WMLSetvarElement.h: Removed.
8199        * wml/WMLTableElement.cpp: Removed.
8200        * wml/WMLTableElement.h: Removed.
8201        * wml/WMLTagNames.in: Removed.
8202        * wml/WMLTaskElement.cpp: Removed.
8203        * wml/WMLTaskElement.h: Removed.
8204        * wml/WMLTemplateElement.cpp: Removed.
8205        * wml/WMLTemplateElement.h: Removed.
8206        * wml/WMLTimerElement.cpp: Removed.
8207        * wml/WMLTimerElement.h: Removed.
8208        * wml/WMLVariables.cpp: Removed.
8209        * wml/WMLVariables.h: Removed.
8210
82112011-04-28  Sheriff Bot  <webkit.review.bot@gmail.com>
8212
8213        Unreviewed, rolling out r85233 and r85235.
8214        http://trac.webkit.org/changeset/85233
8215        http://trac.webkit.org/changeset/85235
8216        https://bugs.webkit.org/show_bug.cgi?id=59754
8217
8218        Causes issues with jsc. (Requested by dave_levin on #webkit).
8219
8220        * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
8221        * loader/icon/IconDatabase.cpp:
8222        (WebCore::IconDatabase::defaultIcon):
8223        (WebCore::IconDatabase::setIconDataForIconURL):
8224        (WebCore::IconDatabase::getOrCreateIconRecord):
8225        (WebCore::IconDatabase::readFromDatabase):
8226
82272011-04-28  Jay Civelli  <jcivelli@chromium.org>
8228
8229        Reviewed by Adam Barth.
8230
8231        Introducing a new class that allows serialization of a page back
8232        to HTML/XML with all its sub-frames and also retrieves the page's
8233        resources.
8234        Tests: unit-tests in chromium/tests/WebPageNewSerializerTest.cpp
8235        https://bugs.webkit.org/show_bug.cgi?id=58947
8236
8237        * Android.mk:
8238        * CMakeLists.txt:
8239        * GNUmakefile.list.am:
8240        * WebCore.gypi:
8241        * WebCore.pro:
8242        * WebCore.vcproj/WebCore.vcproj:
8243        * dom/Document.cpp:
8244        (WebCore::Document::suggestedMIMEType):
8245        * dom/Document.h:
8246        * editing/MarkupAccumulator.cpp:
8247        (WebCore::MarkupAccumulator::appendCustomAttributes):
8248        (WebCore::MarkupAccumulator::appendElement):
8249        * editing/MarkupAccumulator.h:
8250        * html/parser/HTMLMetaCharsetParser.cpp:
8251        (WebCore::HTMLMetaCharsetParser::processMeta):
8252        (WebCore::HTMLMetaCharsetParser::encodingFromMetaAttributes):
8253        * html/parser/HTMLMetaCharsetParser.h:
8254        * page/PageSerializer.cpp: Added.
8255        * page/PageSerializer.h: Added.
8256
82572011-04-28  Mark Pilgrim  <pilgrim@chromium.org>
8258
8259        Reviewed by Tony Chang.
8260
8261        IndexedDB createIndex should fail if name arg is null
8262        https://bugs.webkit.org/show_bug.cgi?id=58365
8263
8264        Test: storage/indexeddb/mozilla/create-index-null-name.html
8265
8266        * storage/IDBObjectStore.idl:
8267        * storage/IDBObjectStoreBackendImpl.cpp:
8268        (WebCore::IDBObjectStoreBackendImpl::createIndex):
8269
82702011-04-28  Mark Pilgrim  <pilgrim@chromium.org>
8271
8272        Reviewed by Tony Chang.
8273
8274        IndexedDB put() should fail if second (key) parameter is null
8275        https://bugs.webkit.org/show_bug.cgi?id=58613
8276
8277        If key arg is not specified, prpKey ends up as a null pointer in ::put().
8278        However, if the key arg is specified but is null, prpKey ends up as a
8279        valid IDBKey which has a null key type. As it happens, we need to be able
8280        to detect the difference between these cases (the key arg is optional but
8281        if specified must not be null).
8282
8283        Test: storage/indexeddb/mozilla/key-requirements-put-null-key.html
8284
8285        * storage/IDBObjectStoreBackendImpl.cpp:
8286        (WebCore::IDBObjectStoreBackendImpl::put):
8287
82882011-04-07  David Levin  <levin@chromium.org>
8289
8290        Reviewed by Darin Adler.
8291
8292        Add asserts to RefCounted to make sure ref/deref happens on the right thread.
8293        https://bugs.webkit.org/show_bug.cgi?id=31639
8294
8295        No new functionality exposed so no new tests. (The change is basically adding
8296        more testing.)
8297
8298        * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Added.
8299        * loader/icon/IconDatabase.cpp:
8300        (WebCore::IconDatabase::defaultIcon): Set the mutex which does the guarding of the variable.
8301        (WebCore::IconDatabase::getOrCreateIconRecord): Ditto.
8302        (WebCore::IconDatabase::setIconDataForIconURL): Ditto.
8303        (WebCore::IconDatabase::readFromDatabase): Ditto.
8304
83052011-04-28  Kenneth Russell  <kbr@google.com>
8306
8307        Unreviewed build fix for Web Audio with strict OwnPtr.
8308
8309        * platform/audio/HRTFDatabaseLoader.cpp:
8310        (WebCore::HRTFDatabaseLoader::HRTFDatabaseLoader):
8311
83122011-04-28  Dominic Cooney  <dominicc@chromium.org>
8313
8314        Reviewed by Geoffrey Garen.
8315
8316        Walk shadow hosts as well as parent nodes when finding opaque roots.
8317        https://bugs.webkit.org/show_bug.cgi?id=59571
8318
8319        Test: fast/dom/shadow/gc-shadow.html
8320
8321        * bindings/js/JSDOMBinding.h:
8322        (WebCore::root):
8323
83242011-04-28  Martin Robinson  <mrobinson@igalia.com>
8325
8326        Reviewed by Xan Lopez.
8327
8328        [GTK] Click counting logic should be shared between WebKit1 and WebKit2
8329        https://bugs.webkit.org/show_bug.cgi?id=59715
8330
8331        Added a GtkClickCounter class which is just the logic from WebKit1 pushed down
8332        into WebCore so that WebKit1 and WebKit2 can share the code.
8333
8334        No new tests. This is covered by fast/events/click-count.html.
8335
8336        * GNUmakefile.list.am: Added new files.
8337        * platform/gtk/GtkClickCounter.cpp: Added.
8338        (WebCore::GtkClickCounter::GtkClickCounter): Added.
8339        (WebCore::GtkClickCounter::reset): Added.
8340        (WebCore::GtkClickCounter::shouldProcessButtonEvent): Added.
8341        (WebCore::getEventTime): Added.
8342        (WebCore::GtkClickCounter::clickCountForGdkButtonEvent): Added.
8343        * platform/gtk/GtkClickCounter.h: Added.
8344
83452011-04-28  Dan Bernstein  <mitz@apple.com>
8346
8347        Build fix.
8348
8349        * css/CSSParser.cpp:
8350        (WebCore::cssPropertyID):
8351
83522011-04-28  Dan Bernstein  <mitz@apple.com>
8353
8354        Reviewed by Simon Fraser.
8355
8356        Allow specifying CSS property aliases in CSSPropertyNames.in files
8357        https://bugs.webkit.org/show_bug.cgi?id=59712
8358
8359        * css/CSSParser.cpp:
8360        (WebCore::cssPropertyID): Removed code to handle some aliases
8361        * css/CSSPropertyNames.in: Added aliases no longer handled in code.
8362        * css/makeprop.pl: Interpret lines of the form "alias-property-name = property-name" as
8363        defining an alias, and add an appropriate entry to the gperf file.
8364
83652011-04-28  Arno Renevier  <arno@renevier.net>
8366
8367        Reviewed by Gustavo Noronha Silva.
8368
8369        [Soup] does not load css stylesheets without content-type
8370        https://bugs.webkit.org/show_bug.cgi?id=59697
8371
8372        When sniffing content type, do not replace http Content-Type header in
8373        soup message anymore, but keep sniffed content type in a separate
8374        variable.
8375
8376        * platform/network/soup/ResourceHandleSoup.cpp:
8377        (WebCore::contentSniffedCallback):
8378        * platform/network/soup/ResourceResponse.h:
8379        (WebCore::ResourceResponse::sniffedContentType):
8380        (WebCore::ResourceResponse::setSniffedContentType):
8381        * platform/network/soup/ResourceResponseSoup.cpp:
8382        (WebCore::ResourceResponse::updateFromSoupMessage):
8383
83842011-04-28  Yael Aharon  <yael.aharon@nokia.com>
8385
8386        Reviewed by Andreas Kling.
8387
8388        Remove flag ENABLE_SYMBIAN_DIALOG_PROVIDER
8389        https://bugs.webkit.org/show_bug.cgi?id=59704
8390
8391        No new tests, just code cleanup.
8392
8393        * WebCore.pri:
8394
83952011-04-28  Pavel Podivilov  <podivilov@chromium.org>
8396
8397        Reviewed by Pavel Feldman.
8398
8399        Web Inspector: remove "Pretty print" source frame context menu item.
8400        https://bugs.webkit.org/show_bug.cgi?id=59709
8401
8402        * inspector/front-end/DebuggerPresentationModel.js:
8403        (WebInspector.DebuggerPresentationModel.prototype.setFormatSourceFiles):
8404        * inspector/front-end/ScriptsPanel.js:
8405        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
8406        * inspector/front-end/SourceFrame.js:
8407        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
8408
84092011-04-28  Satish Sampath  <satish@chromium.org>
8410
8411        Reviewed by Tony Gentilcore.
8412
8413        Speech input button layout issues with padding and border.
8414        https://bugs.webkit.org/show_bug.cgi?id=59613
8415
8416        * rendering/RenderTextControlSingleLine.cpp:
8417        (WebCore::RenderTextControlSingleLine::layout):
8418        (WebCore::RenderTextControlSingleLine::nodeAtPoint):
8419        (WebCore::RenderTextControlSingleLine::forwardEvent):
8420
84212011-04-28  Carlos Garcia Campos  <cgarcia@igalia.com>
8422
8423        Reviewed by Martin Robinson.
8424
8425        [GTK] Check whether to use native scrollbars at run time
8426        https://bugs.webkit.org/show_bug.cgi?id=59694
8427
8428        It's currently decided at build time depending on whether webkit2
8429        build is enabled or not. That makes imposible to build both
8430        webkit1 and webkit2 using the same libWebCore.
8431
8432        * GNUmakefile.am:
8433        * platform/ScrollView.cpp:
8434        (WebCore::ScrollView::wheelEvent):
8435        * platform/gtk/ScrollViewGtk.cpp:
8436        (WebCore::ScrollView::createScrollbar):
8437
84382011-04-28  Pavel Feldman  <pfeldman@google.com>
8439
8440        Reviewed by Yury Semikhatsky.
8441
8442        Web Inspector: add status bar button for pretty print.
8443        https://bugs.webkit.org/show_bug.cgi?id=59467
8444
8445        * WebCore.gypi:
8446        * inspector/front-end/Images/prettyPrintButtonGlyph.png: Added.
8447        * inspector/front-end/ScriptsPanel.js:
8448        (WebInspector.ScriptsPanel):
8449        (WebInspector.ScriptsPanel.prototype.get statusBarItems):
8450        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
8451        * inspector/front-end/WebKit.qrc:
8452        * inspector/front-end/inspector.css:
8453        (.scripts-toggle-pretty-print-status-bar-item .glyph):
8454        (.scripts-toggle-pretty-print-status-bar-item.toggled .glyph):
8455
84562011-04-28  Pavel Feldman  <pfeldman@google.com>
8457
8458        Reviewed by Yury Semikhatsky.
8459
8460        Web Inspector: add ResourceTreeModel tests.
8461        https://bugs.webkit.org/show_bug.cgi?id=59616
8462
8463        Tests: http/tests/inspector/resource-tree/resource-tree-document-url.html
8464               http/tests/inspector/resource-tree/resource-tree-frame-navigate.html
8465               http/tests/inspector/resource-tree/resource-tree-reload.html
8466
8467        * inspector/front-end/ResourceTreeModel.js:
8468        (WebInspector.ResourceTreeModel.prototype.frontendReused):
8469        (WebInspector.ResourceTreeModel.prototype._addFrame):
8470        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
8471        (WebInspector.ResourceTreeModel.prototype._frameDetached):
8472        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
8473        (WebInspector.ResourceTreeModel.prototype.forAllResources):
8474        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
8475        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
8476        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
8477        * inspector/front-end/ResourcesPanel.js:
8478        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
8479        (WebInspector.ResourcesPanel.prototype._frameAdded):
8480        (WebInspector.ResourcesPanel.prototype._frameDetached):
8481        (WebInspector.ResourcesPanel.prototype._frameNavigated):
8482        (WebInspector.FrameTreeElement):
8483        (WebInspector.FrameTreeElement.prototype.frameNavigated):
8484
84852011-04-28  Mikhail Naganov  <mnaganov@chromium.org>
8486
8487        Reviewed by Yury Semikhatsky.
8488
8489        WebInspector: [Chromium] Implement retaining paths following in detailed heap snapshots.
8490        https://bugs.webkit.org/show_bug.cgi?id=59592
8491
8492        * inspector/front-end/DetailedHeapshotGridNodes.js:
8493        (WebInspector.HeapSnapshotGridNode.prototype._populate):
8494        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
8495        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
8496        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
8497        * inspector/front-end/DetailedHeapshotView.js:
8498        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
8499        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
8500        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
8501        (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid.expandRoute):
8502        (WebInspector.DetailedHeapshotView.prototype._mouseClickInRetainmentGrid):
8503        (WebInspector.DetailedHeapshotView.prototype.changeView.sortingComplete):
8504        (WebInspector.DetailedHeapshotView.prototype.changeView):
8505        * inspector/front-end/HeapSnapshot.js:
8506        (WebInspector.HeapSnapshotPathFinder.prototype.findNext):
8507        (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter):
8508        (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath):
8509        (WebInspector.HeapSnapshotPathFinder.prototype._pathToString):
8510        (WebInspector.HeapSnapshotPathFinder.prototype._pathToRoute):
8511        * inspector/front-end/heapProfiler.css:
8512        (div.retaining-paths-view td.path-column div:hover):
8513
85142011-04-28  Mikhail Naganov  <mnaganov@chromium.org>
8515
8516        Reviewed by Yury Semikhatsky.
8517
8518        Web Inspector: [Chromium] Optimize detailed heap snapshots loading / parsing.
8519        https://bugs.webkit.org/show_bug.cgi?id=59454
8520
8521        Test: inspector/profiler/heap-snapshot-loader.html
8522
8523        * inspector/front-end/HeapSnapshot.js:
8524        (WebInspector.HeapSnapshotLoader):
8525        (WebInspector.HeapSnapshotLoader.prototype._findBalancedCurlyBrackets):
8526        (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
8527        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
8528        (WebInspector.HeapSnapshotLoader.prototype._parseStringsArray):
8529        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
8530        * inspector/front-end/HeapSnapshotProxy.js:
8531        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
8532
85332011-04-28  ojab  <ojab@ojab.ru>
8534
8535        Reviewed by David Levin.
8536
8537        Fix build with libpng-1.5.1
8538        https://bugs.webkit.org/show_bug.cgi?id=59607
8539
8540        * platform/image-decoders/png/PNGImageDecoder.cpp:
8541        (WebCore::readColorProfile):
8542
85432011-04-28  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
8544
8545        Reviewed by Nikolas Zimmermann.
8546
8547        Optimizing gaussian blur filter to ARM-neon SIMD instruction set
8548        https://bugs.webkit.org/show_bug.cgi?id=59447
8549
8550        This patch contains two sub-routines, one for speeding up
8551        alpha channel only gaussian blur (by 2.5 times) and one
8552        for speeding up all channel blur (by 4 times).
8553
8554        The common code is also redesigned to better fit for platform
8555        specific code. This means large chunks of code was moved to
8556        different files, and all platform specific files are added to
8557        all build systems.
8558
8559        * CMakeLists.txt:
8560        * GNUmakefile.am:
8561        * GNUmakefile.list.am:
8562        * WebCore.gypi:
8563        * WebCore.pro:
8564        * WebCore.vcproj/WebCore.vcproj:
8565        * WebCore.vcproj/WebCoreCommon.vsprops:
8566        * WebCore.xcodeproj/project.pbxproj:
8567        * platform/graphics/filters/FEGaussianBlur.cpp:
8568        (WebCore::FEGaussianBlur::platformApplyGeneric):
8569        (WebCore::FEGaussianBlur::apply):
8570        * platform/graphics/filters/FEGaussianBlur.h:
8571        (WebCore::FEGaussianBlur::kernelPosition):
8572        (WebCore::FEGaussianBlur::platformApply):
8573        * platform/graphics/filters/FELighting.cpp:
8574        (WebCore::FELighting::platformApplyGeneric):
8575        (WebCore::FELighting::drawLighting):
8576        * platform/graphics/filters/FELighting.h:
8577        (WebCore::FELighting::platformApply):
8578        * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp: Added.
8579        (WebCore::WTF_ALIGNED):
8580        (WebCore::feGaussianBlurConstantsForNeon):
8581        * platform/graphics/filters/arm/FEGaussianBlurNEON.h: Added.
8582        (WebCore::FEGaussianBlur::platformApplyNeon):
8583        * platform/graphics/filters/arm/FELightingNEON.cpp:
8584        (WebCore::WTF_ALIGNED):
8585        (WebCore::FELighting::getPowerCoefficients):
8586        * platform/graphics/filters/arm/FELightingNEON.h:
8587        (WebCore::FELighting::platformApplyNeon):
8588
85892011-04-28  Alexander Pavlov  <apavlov@chromium.org>
8590
8591        Reviewed by Yury Semikhatsky.
8592
8593        Web Inspector: provide a hotkey for script pause
8594        https://bugs.webkit.org/show_bug.cgi?id=59593
8595
8596        In fact, F8 works as a hotkey, but this fact was not reflected
8597        in the shortcut help popup.
8598
8599        * English.lproj/localizedStrings.js:
8600        * inspector/front-end/ScriptsPanel.js:
8601        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
8602
86032011-04-28  Adam Barth  <abarth@webkit.org>
8604
8605        Reviewed by Eric Seidel.
8606
8607        PluginStream should play nice with strict OwnPtr
8608        https://bugs.webkit.org/show_bug.cgi?id=59675
8609
8610        These failures appear when enabling strict OwnPtr on Qt.
8611
8612        * plugins/PluginStream.cpp:
8613        (WebCore::PluginStream::PluginStream):
8614        (WebCore::PluginStream::didReceiveData):
8615
86162011-04-26  Alexander Pavlov  <apavlov@chromium.org>
8617
8618        Reviewed by Pavel Feldman.
8619
8620        Web Inspector: Use CachedResource to retrieve charset-decoded stylesheet text
8621        https://bugs.webkit.org/show_bug.cgi?id=59326
8622
8623        Concrete CachedResource successors for stylesheets and scripts
8624        can decode their content better than the generic approach we use.
8625
8626        * inspector/InspectorPageAgent.cpp:
8627        (WebCore::decodeSharedBuffer):
8628        (WebCore::prepareCachedResourceBuffer):
8629        (WebCore::cachedResourceDecoded):
8630        (WebCore::InspectorPageAgent::resourceContent):
8631        (WebCore::InspectorPageAgent::resourceData):
8632        * inspector/InspectorStyleSheet.cpp:
8633        (WebCore::InspectorStyleSheet::originalStyleSheetText):
8634
86352011-04-28  Jon Lee  <jonlee@apple.com>
8636
8637        Reviewed by Simon Fraser.
8638
8639        REGRESSION: white overlay scrollbars on apple.com/startpage
8640        https://bugs.webkit.org/show_bug.cgi?id=59540
8641        <rdar://problem/9338653>
8642
8643        Now we look at the document background in addition to the <body> element,
8644        and blend those colors in with the base background of the frame view to
8645        arrive at our aggregate color. This provides a better result to determine
8646        overlay scrollbar style.
8647
8648        * page/Frame.cpp:
8649        (WebCore::Frame::getDocumentBackgroundColor): look up the colors on the html and body element, and properly composite them.
8650        * platform/graphics/Color.h: a short comment to note that blend() uses the Porter-Duff source-over equation
8651
86522011-04-27  Adam Barth  <abarth@webkit.org>
8653
8654        Reviewed by Maciej Stachowiak.
8655
8656        Fix OwnPtr issues in IndexedDB
8657        https://bugs.webkit.org/show_bug.cgi?id=59656
8658
8659        This patch is an attempt to fix the clang build.  Clang can't seem to
8660        cope with OwnPtrs to classes declared in an anonymous namespace because
8661        OwnPtr's copy constructor isn't defined (but would need to be defined
8662        in this translation unit).
8663
8664        * platform/leveldb/LevelDBDatabase.cpp:
8665
86662011-04-27  Ryuan Choi  <ryuan.choi@samsung.com>
8667
8668        Reviewed by Antonio Gomes.
8669
8670        [EFL] Change cursor to LAZY_NATIVE_CURSOR
8671        https://bugs.webkit.org/show_bug.cgi?id=59411
8672
8673        Enable LAZY_NATIVE_CURSOR on EFL build.
8674
8675        No test added because functionality is unchanged.
8676
8677        * CMakeListsEfl.txt: Add Cursor.cpp
8678        * platform/Cursor.h:
8679        (WebCore::Cursor::Cursor):
8680        * platform/efl/CursorEfl.cpp:
8681        (WebCore::Cursor::Cursor):
8682        (WebCore::Cursor::~Cursor):
8683        (WebCore::getCursorString):
8684        (WebCore::Cursor::ensurePlatformCursor):
8685        * platform/efl/WidgetEfl.cpp:
8686        (WebCore::Widget::setCursor):
8687
86882011-04-27  Adam Barth  <abarth@webkit.org>
8689
8690        Build fix from the future.  Another trival strict OwnPtr fixes.  This
8691        is the last futuristic build fix I can detect with my time traveling
8692        abilities.
8693
8694        * platform/graphics/chromium/TransparencyWin.cpp:
8695        (WebCore::TransparencyWin::initializeNewContext):
8696
86972011-04-27  Dmitry Lomov  <dslomov@google.com>
8698
8699        Reviewed by David Levin.
8700
8701        CrossThreadCopier should not have a default specialization for raw pointers
8702        https://bugs.webkit.org/show_bug.cgi?id=59234
8703        Removed the ablity to pass raw pointers cross-thread
8704        Added and applied annotations for doing that
8705
8706        * fileapi/FileReader.cpp:
8707        (WebCore::FileReader::readInternal):
8708        (WebCore::FileReader::abort):
8709        * fileapi/FileStreamProxy.cpp:
8710        (WebCore::FileStreamProxy::startOnFileThread):
8711        (WebCore::FileStreamProxy::stopOnFileThread):
8712        (WebCore::FileStreamProxy::getSize):
8713        (WebCore::FileStreamProxy::getSizeOnFileThread):
8714        (WebCore::FileStreamProxy::openForRead):
8715        (WebCore::FileStreamProxy::openForReadOnFileThread):
8716        (WebCore::FileStreamProxy::openForWrite):
8717        (WebCore::FileStreamProxy::openForWriteOnFileThread):
8718        (WebCore::FileStreamProxy::close):
8719        (WebCore::FileStreamProxy::read):
8720        (WebCore::FileStreamProxy::readOnFileThread):
8721        (WebCore::FileStreamProxy::write):
8722        (WebCore::FileStreamProxy::writeOnFileThread):
8723        (WebCore::FileStreamProxy::truncate):
8724        (WebCore::FileStreamProxy::truncateOnFileThread):
8725        * loader/WorkerThreadableLoader.cpp:
8726        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
8727        (WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
8728        (WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
8729        * page/GeolocationPositionCache.cpp:
8730        (WebCore::GeolocationPositionCache::triggerReadFromDatabase):
8731        (WebCore::GeolocationPositionCache::triggerWriteToDatabase):
8732        * platform/CrossThreadCopier.h:
8733        (WebCore::AllowCrossThreadAccessWrapper::AllowCrossThreadAccessWrapper):
8734        (WebCore::AllowCrossThreadAccessWrapper::value):
8735        (WebCore::AllowCrossThreadAccess):
8736        (WebCore::AllowExtendedLifetimeWrapper::AllowExtendedLifetimeWrapper):
8737        (WebCore::AllowExtendedLifetimeWrapper::value):
8738        (WebCore::AllowExtendedLifetime):
8739        * platform/graphics/chromium/cc/CCCompletionEvent.h:
8740        * storage/IDBObjectStoreBackendImpl.cpp:
8741        (WebCore::IDBObjectStoreBackendImpl::get):
8742        (WebCore::IDBObjectStoreBackendImpl::put):
8743        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
8744        (WebCore::IDBObjectStoreBackendImpl::clear):
8745        (WebCore::IDBObjectStoreBackendImpl::createIndex):
8746        (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
8747        (WebCore::IDBObjectStoreBackendImpl::openCursor):
8748        * storage/SQLCallbackWrapper.h:
8749        (WebCore::SQLCallbackWrapper::clear):
8750        * websockets/WorkerThreadableWebSocketChannel.cpp:
8751        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel):
8752        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
8753        (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
8754        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
8755        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
8756        (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
8757        (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
8758        (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
8759        (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
8760        * workers/WorkerMessagingProxy.cpp:
8761        (WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
8762
87632011-04-27  Adam Barth  <abarth@webkit.org>
8764
8765        Two build fixes from the future.  (Trivial strict OwnPtr fixes.)
8766
8767        * page/Frame.cpp:
8768        (WebCore::Frame::setTiledBackingStoreEnabled):
8769        * platform/audio/ReverbConvolver.cpp:
8770        (WebCore::ReverbConvolver::ReverbConvolver):
8771
87722011-04-27  Adam Barth  <abarth@webkit.org>
8773
8774        Reviewed by David Levin.
8775
8776        Fix five strict PassOwnPtr violations in WebCore
8777        https://bugs.webkit.org/show_bug.cgi?id=59640
8778
8779        * css/MediaList.cpp:
8780        (WebCore::MediaList::deleteMedium):
8781        (WebCore::MediaList::setMediaText):
8782        (WebCore::MediaList::appendMedium):
8783        * css/MediaQuery.h:
8784        * dom/MessagePort.cpp:
8785        (WebCore::MessagePort::disentanglePorts):
8786        (WebCore::MessagePort::entanglePorts):
8787        * inspector/InspectorStyleSheet.cpp:
8788        (ParsedStyleSheet::setText):
8789        * rendering/RenderTheme.cpp:
8790        (WebCore::RenderTheme::adjustStyle):
8791        (WebCore::RenderTheme::adjustMeterStyle):
8792        * rendering/RenderThemeMac.mm:
8793        (WebCore::RenderThemeMac::adjustMenuListStyle):
8794        (WebCore::RenderThemeMac::adjustSliderTrackStyle):
8795        (WebCore::RenderThemeMac::adjustSliderThumbStyle):
8796        (WebCore::RenderThemeMac::adjustSearchFieldStyle):
8797        (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
8798        (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
8799        (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
8800        (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
8801
88022011-04-27  Chris Fleizach  <cfleizach@apple.com>
8803
8804        Reviewed by Beth Dakin.
8805
8806        <rdar://problem/9315254> ARIA role attribute implemented incorrectly; does not support token list with fallbacks
8807        https://bugs.webkit.org/show_bug.cgi?id=59648
8808
8809        Test: accessibility/aria-fallback-roles.html
8810
8811        * accessibility/AccessibilityObject.cpp:
8812        (WebCore::AccessibilityObject::ariaRoleToWebCoreRole):
8813
88142011-04-27  Beth Dakin  <bdakin@apple.com>
8815
8816        Reviewed by Dan Bernstein.
8817
8818        https://bugs.webkit.org/show_bug.cgi?id=59671
8819        Race condition with scrollbar animations and closing a page can cause a crash in
8820        WebCore::FrameView::setVisibleScrollerThumbRect + 15
8821        -and corresponding-
8822        <rdar://problem/9329253>
8823
8824        It is definitely possible for Page to be null here. So we should null-check it!
8825        And we should not ASSERT.
8826        * page/FrameView.cpp:
8827        (WebCore::FrameView::didCompleteRubberBand):
8828        (WebCore::FrameView::scrollbarStyleChanged):
8829        (WebCore::FrameView::setVisibleScrollerThumbRect):
8830
88312011-04-27  Ryosuke Niwa  <rniwa@webkit.org>
8832
8833        WinCE build fix after r85143.
8834
8835        * platform/graphics/wince/FontWinCE.cpp:
8836        (WebCore::TextRunComponent::TextRunComponent):
8837
88382011-04-27  Mark Pilgrim  <pilgrim@chromium.org>
8839
8840        Reviewed by Tony Chang.
8841
8842        IndexedDB object store delete should fail if key is null
8843        https://bugs.webkit.org/show_bug.cgi?id=58614
8844
8845        Test: storage/indexeddb/mozilla/key-requirements-delete-null-key.html
8846
8847        * storage/IDBObjectStoreBackendImpl.cpp:
8848        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
8849
88502011-04-27  Eric Seidel  <eric@webkit.org>
8851
8852        Reviewed by Ryosuke Niwa.
8853
8854        Should have an easy way to construct starting BidiStatus for a paragraph root
8855        https://bugs.webkit.org/show_bug.cgi?id=59226
8856
8857        Two places try to construct BidiStatuses for a paragraph root using copy/paste code.
8858        I've made this a constructor for BidiStatus instead.
8859
8860        As part of this effort I added a direction() accessor for TextRun and got
8861        rid of the old m_rtl bool.  This is part of the generic effort in the
8862        Bidi code to replace old bool usage with the superior TextDirection enum
8863        (this generally makes the code cleaner).
8864
8865        As part of this replacement effort I found several places which were
8866        assuming LTR (by passing rtl=false) when they probably want to use
8867        the current text direction.  I suspect that LTR vs. RTL may affect
8868        string width in the case of ligatures.  It's unclear.
8869
8870        This is almost entirely a mechanical change.
8871
8872        * html/canvas/CanvasRenderingContext2D.cpp:
8873        (WebCore::CanvasRenderingContext2D::drawTextInternal):
8874        * platform/graphics/GraphicsContext.cpp:
8875        (WebCore::GraphicsContext::drawBidiText):
8876        * platform/graphics/TextRun.h:
8877        (WebCore::TextRun::TextRun):
8878        (WebCore::TextRun::direction):
8879        (WebCore::TextRun::rtl):
8880        (WebCore::TextRun::ltr):
8881        (WebCore::TextRun::setDirection):
8882        * platform/text/BidiResolver.h:
8883        (WebCore::BidiStatus::BidiStatus):
8884        * rendering/EllipsisBox.cpp:
8885        (WebCore::EllipsisBox::paint):
8886        (WebCore::EllipsisBox::selectionRect):
8887        (WebCore::EllipsisBox::paintSelection):
8888        * rendering/InlineTextBox.cpp:
8889        (WebCore::InlineTextBox::selectionRect):
8890        (WebCore::InlineTextBox::paint):
8891        (WebCore::InlineTextBox::paintSelection):
8892        (WebCore::InlineTextBox::paintCompositionBackground):
8893        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
8894        (WebCore::InlineTextBox::paintTextMatchMarker):
8895        (WebCore::InlineTextBox::computeRectForReplacementMarker):
8896        (WebCore::InlineTextBox::offsetForPosition):
8897        (WebCore::InlineTextBox::positionForOffset):
8898        * rendering/RenderBlockLineLayout.cpp:
8899        (WebCore::RenderBlock::determineStartPosition):
8900        * rendering/RenderFileUploadControl.cpp:
8901        (WebCore::RenderFileUploadControl::paintObject):
8902        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
8903        * rendering/RenderListBox.cpp:
8904        (WebCore::RenderListBox::updateFromElement):
8905        (WebCore::RenderListBox::paintItemForeground):
8906        * rendering/RenderTextControl.cpp:
8907        (WebCore::RenderTextControl::getAvgCharWidth):
8908        (WebCore::RenderTextControl::paintPlaceholder):
8909        * rendering/svg/SVGInlineTextBox.cpp:
8910        (WebCore::SVGInlineTextBox::constructTextRun):
8911        * rendering/svg/SVGTextMetrics.cpp:
8912        (WebCore::constructTextRun):
8913
89142011-04-27  Robert Hogan  <robert@webkit.org>
8915
8916        Reviewed by Adam Barth.
8917
8918        Allow shadowing of history object
8919        https://bugs.webkit.org/show_bug.cgi?id=55965
8920
8921        Tests: http/tests/history/cross-origin-replace-history-object-child.html
8922               http/tests/history/cross-origin-replace-history-object.html
8923
8924        * page/DOMWindow.idl:
8925
89262011-04-27  James Robinson  <jamesr@chromium.org>
8927
8928        Reviewed by Kenneth Russell.
8929
8930        [chromium] Ensure compositing layers are up to date before entering doComposite
8931        https://bugs.webkit.org/show_bug.cgi?id=59159
8932
8933        Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
8934        GraphicsLayerClient::paintContents() implementations).
8935
8936        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
8937        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
8938        * platform/graphics/chromium/LayerChromium.cpp:
8939        (WebCore::LayerChromium::LayerChromium):
8940        (WebCore::LayerChromium::~LayerChromium):
8941        * platform/graphics/chromium/LayerRendererChromium.cpp:
8942        (WebCore::LayerRendererChromium::updateLayers):
8943        * platform/graphics/chromium/LayerRendererChromium.h:
8944          Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents
8945
89462011-04-27  James Robinson  <jamesr@chromium.org>
8947
8948        Reviewed by Adam Barth.
8949
8950        Fix OwnPtr strict issues in chromium linux build
8951        https://bugs.webkit.org/show_bug.cgi?id=59664
8952
8953        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
8954        (WebCore::ComplexTextController::getNormalizedTextRun):
8955        * platform/graphics/skia/ImageBufferSkia.cpp:
8956        (WebCore::ImageBuffer::ImageBuffer):
8957        * platform/graphics/skia/PlatformContextSkia.cpp:
8958        (WebCore::PlatformContextSkia::PlatformContextSkia):
8959
89602011-04-27  Chris Rogers  <crogers@google.com>
8961
8962        Reviewed by Kenneth Russell.
8963
8964        Make sure to set sample-rate of created AudioBus in AudioBus::createBySampleRateConverting()
8965        https://bugs.webkit.org/show_bug.cgi?id=59641
8966
8967        No new tests since audio API is not yet implemented.
8968
8969        * platform/audio/AudioBus.cpp:
8970        (WebCore::AudioBus::createBySampleRateConverting):
8971        (WebCore::AudioBus::createByMixingToMono):
8972
89732011-04-27  Geoffrey Garen  <ggaren@apple.com>
8974
8975        Motivated by Alexey Proskuryakov.
8976
8977        * bindings/scripts/CodeGeneratorJS.pm: Tried to make this comment more
8978        informative, since it confused Alexey and me.
8979
89802011-04-27  Geoffrey Garen  <ggaren@apple.com>
8981
8982        Reviewed by Sam Weinig.
8983
8984        Fixed a small leak related to CSSValues when deallocating a DOMWrapperWorld
8985        https://bugs.webkit.org/show_bug.cgi?id=59646
8986
8987        Made the cssValueRoots map per-world, instead of a global. When we deallocate
8988        a world, we need to clear all entries in the map for that world, since
8989        the finalizers that would otherwise clear those entries don't run. The
8990        simplest way to do this is just to make the world own the map.
8991
8992        * bindings/js/DOMWrapperWorld.h:
8993        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
8994        (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
8995        * bindings/js/JSCSSValueCustom.cpp:
8996        (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
8997        (WebCore::JSCSSValueOwner::finalize):
8998        * bindings/js/JSDOMBinding.h:
8999
90002011-04-27  Adam Barth  <abarth@webkit.org>
9001
9002        Reviewed by David Levin.
9003
9004        Fix OwnPtr issues in IndexedDB
9005        https://bugs.webkit.org/show_bug.cgi?id=59656
9006
9007        I didn't do an exhaustive review of this code, but I fixed the problems
9008        caught by turning on strict OwnPtr and all their antecedents.  This
9009        patch is entirely tighter bookkeeping.  There shouldn't be any actual
9010        behavior change.
9011
9012        * platform/leveldb/LevelDBDatabase.cpp:
9013        (WebCore::LevelDBDatabase::LevelDBDatabase):
9014        (WebCore::LevelDBDatabase::open):
9015        (WebCore::LevelDBDatabase::createIterator):
9016        * platform/leveldb/LevelDBDatabase.h:
9017        * platform/leveldb/LevelDBIterator.cpp:
9018        (WebCore::LevelDBIterator::LevelDBIterator):
9019        * platform/leveldb/LevelDBIterator.h:
9020        * storage/IDBLevelDBBackingStore.cpp:
9021        (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
9022        (WebCore::IDBLevelDBBackingStore::open):
9023        (WebCore::getNewDatabaseId):
9024        (WebCore::IDBLevelDBBackingStore::getObjectStores):
9025        (WebCore::getNewObjectStoreId):
9026        (WebCore::deleteRange):
9027        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
9028        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
9029        (WebCore::IDBLevelDBBackingStore::getIndexes):
9030        (WebCore::getNewIndexId):
9031        (WebCore::findGreatestKeyLessThan):
9032        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
9033        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
9034        (WebCore::findLastIndexKeyEqualTo):
9035        * storage/IDBLevelDBBackingStore.h:
9036
90372011-04-19  MORITA Hajime  <morrita@google.com>
9038
9039        Reviewed by Tony Chang.
9040
9041        [Refactoring] DocumentMarkerController::MarkerMapVectorPair should be replaced with a list of some class.
9042        https://bugs.webkit.org/show_bug.cgi?id=58113
9043
9044        * Introduced RenderedDocumentMarker, a subclass of DocumentMarker.
9045        * Eliminated Vector<IntRect> and move the IntRect into RenderedDocumentMarker
9046        * Now MarkerMapVectorPair is no longer used.
9047
9048        No new tests, No behavior change.
9049
9050        * GNUmakefile.list.am:
9051        * WebCore.gypi:
9052        * WebCore.pro:
9053        * WebCore.vcproj/WebCore.vcproj:
9054        * WebCore.xcodeproj/project.pbxproj:
9055        * dom/DocumentMarker.h:
9056        * dom/DocumentMarkerController.cpp:
9057        (WebCore::DocumentMarkerController::addMarker):
9058        (WebCore::DocumentMarkerController::copyMarkers):
9059        (WebCore::DocumentMarkerController::removeMarkers):
9060        (WebCore::DocumentMarkerController::markerContainingPoint):
9061        (WebCore::DocumentMarkerController::markersForNode):
9062        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
9063        (WebCore::DocumentMarkerController::removeMarkersFromList):
9064        (WebCore::DocumentMarkerController::repaintMarkers):
9065        (WebCore::DocumentMarkerController::setRenderedRectForMarker):
9066        (WebCore::DocumentMarkerController::invalidateRenderedRectsForMarkersInRect):
9067        (WebCore::DocumentMarkerController::shiftMarkers):
9068        (WebCore::DocumentMarkerController::setMarkersActive):
9069        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
9070        (WebCore::DocumentMarkerController::showMarkers):
9071        * dom/DocumentMarkerController.h:
9072        * dom/RenderedDocumentMarker.h: Added.
9073        (WebCore::RenderedDocumentMarker::RenderedDocumentMarker):
9074        (WebCore::RenderedDocumentMarker::isRendered):
9075        (WebCore::RenderedDocumentMarker::contains):
9076        (WebCore::RenderedDocumentMarker::setRenderedRect):
9077        (WebCore::RenderedDocumentMarker::renderedRect):
9078        (WebCore::RenderedDocumentMarker::invalidate):
9079        (WebCore::RenderedDocumentMarker::invalidMarkerRect):
9080
90812011-04-27  James Robinson  <jamesr@chromium.org>
9082
9083        Unreviewed, rolling out r85112.
9084        http://trac.webkit.org/changeset/85112
9085        https://bugs.webkit.org/show_bug.cgi?id=59159
9086
9087        Broke mac compile
9088
9089        * page/FrameView.cpp:
9090        (WebCore::FrameView::updateCompositingLayers):
9091        * page/FrameView.h:
9092        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
9093        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
9094        * platform/graphics/chromium/LayerChromium.cpp:
9095        (WebCore::LayerChromium::LayerChromium):
9096        (WebCore::LayerChromium::~LayerChromium):
9097        * platform/graphics/chromium/LayerRendererChromium.cpp:
9098        (WebCore::LayerRendererChromium::updateLayers):
9099        * platform/graphics/chromium/LayerRendererChromium.h:
9100
91012011-04-27  Mark Rowe  <mrowe@apple.com>
9102
9103        Build fix.
9104
9105        * WebCore.xcodeproj/project.pbxproj: Make RenderLayerCompositor.h accessbile to WebKit and WebKit2.
9106
91072011-04-27  Pratik Solanki  <psolanki@apple.com>
9108
9109        Unreviewed. Fix WinCE build. The include should be guarded inside USE(CFNETWORK).
9110
9111        * platform/network/ResourceHandleClient.h:
9112
91132011-04-27  James Robinson  <jamesr@chromium.org>
9114
9115        Reviewed by Kenneth Russell.
9116
9117        [chromium] Ensure compositing layers are up to date before entering doComposite
9118        https://bugs.webkit.org/show_bug.cgi?id=59159
9119
9120        Adds some assertions to try to catch GraphicsLayer mutations at bad times (such as during
9121        GraphicsLayerClient::paintContents() implementations).
9122
9123        * page/FrameView.cpp:
9124        (WebCore::FrameView::updateCompositingLayers):
9125            Add an optional CompositingUpdateType parameter.
9126        * page/FrameView.h:
9127        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
9128        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
9129        * platform/graphics/chromium/LayerChromium.cpp:
9130        (WebCore::LayerChromium::LayerChromium):
9131        (WebCore::LayerChromium::~LayerChromium):
9132        * platform/graphics/chromium/LayerRendererChromium.cpp:
9133        (WebCore::LayerRendererChromium::updateLayers):
9134        * platform/graphics/chromium/LayerRendererChromium.h:
9135          Add a set of assertions that we aren't creating or destroying LayerChromiums during paintContents
9136        * rendering/RenderLayer.cpp:
9137        (WebCore::RenderLayer::dirtyZOrderLists):
9138        (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
9139        * rendering/RenderLayerCompositor.cpp:
9140        (WebCore::RenderLayerCompositor::updateCompositingLayers):
9141        * rendering/RenderLayerCompositor.h:
9142          Fix a typo in CompositingUpdateType Pait->Paint
9143
91442011-04-27  Pratik Solanki  <psolanki@apple.com>
9145
9146        Reviewed by Antti Koivisto.
9147
9148        Part of WebCore should use CFNetwork-based loader on Mac
9149        https://bugs.webkit.org/show_bug.cgi?id=51836
9150
9151        Add willCacheResponse method when using CFNetwork on Mac. Also put appropriate ifdefs around
9152        willCacheResponse/shouldCacheResponse.
9153
9154        * loader/EmptyClients.h:
9155        * loader/FrameLoaderClient.h:
9156        * loader/ResourceLoader.h:
9157        * loader/cf/ResourceLoaderCFNet.cpp:
9158        * loader/mac/ResourceLoaderMac.mm:
9159        (WebCore::ResourceLoader::willCacheResponse):
9160        * platform/network/ResourceHandleClient.h:
9161        (WebCore::ResourceHandleClient::willCacheResponse):
9162        (WebCore::ResourceHandleClient::shouldCacheResponse):
9163        * platform/network/cf/ResourceHandleCFNet.cpp:
9164        (WebCore::willCacheResponse):
9165
91662011-04-27  Ilya Tikhonovsky  <loislo@chromium.org>
9167
9168        Reviewed by Brian Weinstein.
9169
9170        Web Inspector: Stop on Exception state does not persist.
9171
9172        A wrong property name was used when we persist PauseOnExceptionState property to Local Storage.
9173        https://bugs.webkit.org/show_bug.cgi?id=59630
9174
9175        * inspector/front-end/ScriptsPanel.js:
9176        (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
9177        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions.callback):
9178        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
9179
91802011-04-27  Adrienne Walker  <enne@google.com>
9181
9182        [chromium] Unreviewed, rollout r85075 (scissor rect changes)
9183        https://bugs.webkit.org/show_bug.cgi?id=59020
9184
9185        * platform/graphics/chromium/LayerRendererChromium.cpp:
9186        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
9187
91882011-04-27  Darin Adler  <darin@apple.com>
9189
9190        Reviewed by David Levin.
9191
9192        Fix strict OwnPtr issues seen in about 30 more files
9193        https://bugs.webkit.org/show_bug.cgi?id=59615
9194
9195        * bindings/js/JSCallbackData.h:
9196        (WebCore::DeleteCallbackDataTask::create): Use adoptPtr.
9197        * bindings/js/JSMessageEventCustom.cpp:
9198        (WebCore::JSMessageEvent::initMessageEvent): Use adoptPtr.
9199        * css/CSSParser.cpp:
9200        (WebCore::CSSParser::updateSpecifiersWithElementName): Use OwnPtr,
9201        adoptPtr, and release.
9202        * dom/MessageEvent.cpp:
9203        (WebCore::MessageEvent::initMessageEvent): Use OwnPtr, adoptPtr,
9204        and release.
9205        * dom/MessagePortChannel.cpp:
9206        (WebCore::MessagePortChannel::EventData::create): Use adoptPtr.
9207        * dom/ScriptExecutionContext.cpp:
9208        (WebCore::ProcessMessagesSoonTask::create): Use adoptPtr.
9209        * dom/XMLDocumentParserLibxml2.cpp:
9210        (WebCore::XMLDocumentParser::doEnd): Use adoptPtr.
9211        * dom/default/PlatformMessagePortChannel.cpp:
9212        (WebCore::MessagePortChannel::create): Use adoptPtr.
9213        * html/HTMLFormControlElement.cpp:
9214        (WebCore::HTMLFormControlElement::detach): Use nullptr.
9215        * inspector/InspectorAgent.cpp:
9216        (WebCore::PostWorkerNotificationToFrontendTask::create): Use adoptPtr.
9217        * inspector/InspectorConsoleAgent.cpp:
9218        (WebCore::InspectorConsoleAgent::addMessageToConsole): Use adoptPtr.
9219        (WebCore::InspectorConsoleAgent::didReceiveResponse): Use adoptPtr.
9220        (WebCore::InspectorConsoleAgent::didFailLoading): Use adoptPtr.
9221        * inspector/InspectorController.cpp:
9222        (WebCore::InspectorController::connectFrontend): Use adoptPtr.
9223        * inspector/InspectorDOMAgent.cpp:
9224        (WebCore::InspectorDOMAgent::didInvalidateStyleAttr): Use adoptPtr.
9225        * inspector/InspectorResourceAgent.cpp:
9226        (WebCore::InspectorResourceAgent::InspectorResourceAgent): Use adoptPtr.
9227        * page/FrameActionScheduler.cpp:
9228        (WebCore::FrameActionScheduler::scheduleEvent): Use adoptPtr.
9229        * platform/graphics/ShadowBlur.cpp:
9230        (WebCore::ScratchBuffer::clearScratchBuffer): Use nullptr.
9231        * platform/graphics/ca/GraphicsLayerCA.cpp:
9232        (WebCore::GraphicsLayer::create): Use adoptPtr.
9233        (WebCore::GraphicsLayerCA::ensureCloneLayers): Use adoptPtr.
9234        (WebCore::GraphicsLayerCA::removeCloneLayers): Use nullptr.
9235        * rendering/RenderBlock.cpp:
9236        (WebCore::RenderBlock::setMaxMarginBeforeValues): Use adoptPtr.
9237        (WebCore::RenderBlock::setMaxMarginAfterValues): Use adoptPtr.
9238        (WebCore::RenderBlock::setPaginationStrut): Use adoptPtr.
9239        (WebCore::RenderBlock::setPageLogicalOffset): Use adoptPtr.
9240        * rendering/RenderLayerBacking.cpp:
9241        (WebCore::RenderLayerBacking::destroyGraphicsLayer): Use nullptr.
9242        (WebCore::RenderLayerBacking::updateClippingLayers): Use nullptr.
9243        (WebCore::RenderLayerBacking::updateForegroundLayer): Use nullptr.
9244        (WebCore::RenderLayerBacking::updateMaskLayer): Use nullptr.
9245        * rendering/RenderLayerCompositor.cpp:
9246        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers): Use nullptr.
9247        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer): Use nullptr.
9248        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer): Use nullptr.
9249        * rendering/style/StyleRareNonInheritedData.cpp:
9250        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Removed
9251        explicit initializations of OwnPtr members to 0. Use adoptPtr.
9252        * workers/SharedWorkerContext.cpp:
9253        (WebCore::createConnectEvent): Use adoptPtr.
9254        * workers/Worker.cpp:
9255        (WebCore::Worker::notifyFinished): Use nullptr.
9256
92572011-04-27  Enrica Casucci  <enrica@apple.com>
9258
9259        Reviewed by Darin Adler.
9260
9261        REGRESSION (r84311): Copy should preserve background color if specified in the body only if the entire content is selected.
9262        https://bugs.webkit.org/show_bug.cgi?id=59251
9263        <rdar://problem/9327044>
9264
9265        When we are looking for wrapping elements that are presentational, we should
9266        include elements that have a non transparent background color only if they
9267        are not blocks.
9268
9269        Test: editing/pasteboard/do-not-copy-body-color.html
9270
9271        * editing/markup.cpp:
9272        (WebCore::isElementPresentational):
9273
92742011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
9275
9276        Reviewed by Antti Koivisto.
9277
9278        Teach sub-selector chains about shadow descendants
9279        https://bugs.webkit.org/show_bug.cgi?id=58342
9280
9281        The primary change is to the logic of parsing specifiers:
9282        1) The shadow descendant selectors (those specifiers that are unknown
9283        pseudo element selectors) are always kept at the top of the chain.
9284        2) The sub-selectors after shadow descendant selectors are stashed right
9285        behind the sub-selector, but not at the end of the chain.
9286        3) Other sub-selectors are appended at the end of the chain.
9287
9288        * css/CSSGrammar.y: Changed specifier_list collection to use new
9289            CSSParser::updateSpecifier helper.
9290        * css/CSSParser.cpp:
9291        (WebCore::CSSParser::updateSpecifiersWithElementName): Added logic to
9292            look for the last ShadowDescendant relation in the chain of selectors,
9293            because the next selector after it is the one that should get the
9294            element name.
9295        (WebCore::CSSParser::updateSpecifiers): Moved and modified the logic from
9296            CSSGrammar.y. The new logic adjusts the selector chain to allow
9297            shadow descendant selectors have sub-selectors (and have multiple shadow
9298            descendants in the chain).
9299        * css/CSSParser.h: Added decl.
9300        * css/CSSParserValues.cpp:
9301        (WebCore::CSSParserSelector::insertTagHistory): Added.
9302        (WebCore::CSSParserSelector::appendTagHistory): Aded.
9303        * css/CSSParserValues.h: Added decls.
9304        * css/CSSStyleSelector.cpp:
9305        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added
9306            shadow descendant selector match check, since now there could be many
9307            of them in the selector chain.
9308
93092011-04-20  Adrienne Walker  <enne@google.com>
9310
9311        Reviewed by Kenneth Russell.
9312
9313        [chromium] Fix incorrect scissor rect for layers that render into a rendersurface
9314        https://bugs.webkit.org/show_bug.cgi?id=59020
9315
9316        mapRect is the incorrect transform here.  The parent scissor rect
9317        needs to be projected into layer space instead.
9318
9319        Test: compositing/flat-with-transformed-child.html
9320
9321        * platform/graphics/chromium/LayerRendererChromium.cpp:
9322        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
9323
93242011-04-27  Pratik Solanki  <psolanki@apple.com>
9325
9326        Reviewed by Antti Koivisto.
9327
9328        Part of WebCore should use CFNetwork-based loader on Mac
9329        https://bugs.webkit.org/show_bug.cgi?id=51836
9330
9331        * Configurations/WebCore.xcconfig: Add location of CFNetwork.framework.
9332        * platform/mac/SoftLinking.h:
9333        * platform/network/cf/CookieJarCFNet.cpp: Soft-link in CFNetwork functions on Mac.
9334
93352011-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
9336
9337        Reviewed by Antti Koivisto.
9338
9339        Cleanup CSSStyleApplyProperty.cpp
9340        https://bugs.webkit.org/show_bug.cgi?id=59623
9341
9342        As first step remove ApplyPropertyColorBase, merge it with ApplyPropertyColor, there's no need for two seperated classes.
9343        Use typedefs instead of repating the function pointer declarations in a few places.
9344
9345        * css/CSSStyleApplyProperty.cpp:
9346        (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
9347        (WebCore::ApplyPropertyColor::ApplyPropertyColor):
9348        (WebCore::ApplyPropertyColor::applyInheritValue):
9349        (WebCore::ApplyPropertyColor::applyInitialValue):
9350        (WebCore::ApplyPropertyColor::applyValue):
9351        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
9352
93532011-04-27  Dan Bernstein  <mitz@apple.com>
9354
9355        Reviewed by Anders Carlsson.
9356
9357        <rdar://problem/9335973> REGRESSION (r84341): Buttons in the Mac App store are rendered incorrectly
9358        https://bugs.webkit.org/show_bug.cgi?id=59622
9359
9360        Test: fast/borders/border-image-trumps-radius.html
9361
9362        * rendering/RenderBox.cpp:
9363        (WebCore::RenderBox::determineBackgroundBleedAvoidance): If there is a renderable, loaded border
9364        image, then border radius is ignored, so no bleed avoidance is needed.
9365        * rendering/RenderObject.cpp:
9366        (WebCore::RenderObject::borderImageIsLoadedAndCanBeRendered): Added. Moved some logic here from...
9367        (WebCore::RenderObject::mustRepaintBackgroundOrBorder): ...here.
9368        * rendering/RenderObject.h:
9369
93702011-02-03  Martin Robinson  <mrobinson@igalia.com>
9371
9372        Reviewed by Xan Lopez.
9373
9374        [GTK] editing/pasteboard/copy-standalone-image.html fails
9375        https://bugs.webkit.org/show_bug.cgi?id=53645
9376
9377        When writing an image to the clipboard, also write the URL and title
9378        into the markup and URL portion. This change also abstracts a helper
9379        imageToMarkup into markup.{cpp/h} from several different locations
9380        throughout the platform layer.
9381
9382        * editing/markup.h: Added new function definition.
9383        * editing/markup.cpp:
9384        (WebCore::imageToMarkup): Add this function which turns an image URL
9385        and element into some markup representing that image, while preserving
9386        non-src attributes.
9387        * platform/chromium/ClipboardChromium.cpp: Move the imageToMarkup helper
9388        to markup.cpp.
9389        * platform/gtk/PasteboardGtk.cpp:
9390        (WebCore::getURLForImageNode): Add this helper which gets the appropriate
9391        image URL for a variety of image tag types.
9392        (WebCore::Pasteboard::writeImage): Write the image URL and title to the
9393        markup and URL portions of the clipboard. This will ensure that images
9394        paste properly back into WebKit.
9395        * platform/win/ClipboardWin.cpp: Remove the imageToMarkup helper and the
9396        one from markup.h
9397
93982011-04-27  Steve Block  <steveblock@google.com>
9399
9400        Reviewed by David Levin.
9401
9402        Remove Android build system
9403        https://bugs.webkit.org/show_bug.cgi?id=48111
9404
9405        This is to avoid the maintenance burden until the Android port is
9406        fully upstreamed.
9407
9408        No new tests, build change only.
9409
9410        * Android.derived.jscbindings.mk: Removed.
9411        * Android.derived.mk: Removed.
9412        * Android.derived.v8bindings.mk: Removed.
9413        * Android.jscbindings.mk: Removed.
9414        * Android.mk: Removed.
9415        * Android.v8bindings.mk: Removed.
9416
94172011-04-27  Darin Adler  <darin@apple.com>
9418
9419        Reviewed by Sam Weinig.
9420
9421        Somehow about:blank gets into the icon database
9422        https://bugs.webkit.org/show_bug.cgi?id=58067
9423        rdar://problem/6751446
9424
9425        Implemented the policy Brady suggested, where only http and https URLs can
9426        be associated with and icon, guarding both on the way in to the database,
9427        and on the way out.
9428
9429        * loader/icon/IconDatabase.cpp:
9430        (WebCore::pageCanHaveIcon): Added.
9431        (WebCore::IconDatabase::synchronousIconForPageURL): Call pageCanHaveIcon
9432        instead of just checking for an empty URL.
9433        (WebCore::IconDatabase::synchronousIconURLForPageURL): Ditto.
9434        (WebCore::IconDatabase::retainIconForPageURL): Ditto.
9435        (WebCore::IconDatabase::releaseIconForPageURL): Ditto.
9436        (WebCore::IconDatabase::setIconURLForPageURL): Ditto.
9437        (WebCore::IconDatabase::getOrCreatePageURLRecord): Ditto.
9438        (WebCore::IconDatabase::importIconURLForPageURL): Broke assertion into
9439        two separate assertions and added a third.
9440        (WebCore::IconDatabase::performURLImport): Call pageCanHaveIcon.
9441
9442        * platform/KURL.cpp: Sorted includes. Moved a FIXME to the top of the file.
9443        (WebCore::isLetterMatchIgnoringCase): Renamed matchLetter to this name,
9444        overloaded it to work on both UChar and char, and added an assertion to it.
9445        Also moved this to the top of the file and made the UChar version usable
9446        in the shared code used even by Google.
9447        (WebCore::KURL::invalidate): Updated for name change.
9448        (WebCore::KURL::protocolIs): Use isLetterMatchIgnoringCase instead of
9449        toASCIILower since it's faster.
9450        (WebCore::KURL::parse): Updated for name changes.
9451        (WebCore::protocolIs):Use isLetterMatchIgnoringCase instead of toASCIILower
9452        since it's faster.
9453        (WebCore::protocolIsInHTTPFamily): Added.
9454
9455        * platform/KURL.h: Tweaked formatting. Renamed protocolInHTTPFamily
9456        to protocolIsInHTTPFamily and added a version that works on a string.
9457        Kept the old name as an inline function so we don't have to rename
9458        all the cal sites now.
9459
9460        * platform/KURLGoogle.cpp: Renamed as above.
9461        (WebCore::KURLGooglePrivate::KURLGooglePrivate): Updated for rename.
9462        (WebCore::KURLGooglePrivate::setUtf8): Ditto.
9463        (WebCore::KURLGooglePrivate::setAscii): Ditto.
9464        (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily): Ditto.
9465        (WebCore::KURLGooglePrivate::copyTo): Ditto.
9466        (WebCore::KURL::KURL): Ditto.
9467        (WebCore::KURL::protocolIsInHTTPFamily): Ditto.
9468        (WebCore::KURL::invalidate): Ditto.
9469        * platform/KURLGooglePrivate.h: Ditto.
9470
9471        * WebCore.exp.in: Updated for above changes.
9472
94732011-04-27  Yury Semikhatsky  <yurys@chromium.org>
9474
9475        Reviewed by Pavel Feldman.
9476
9477        Web Inspector: browser crash on evaluation of 'throw undefined'
9478        https://bugs.webkit.org/show_bug.cgi?id=59611
9479
9480        Test: inspector/console/console-eval-throw-undefined.html
9481
9482        * inspector/InjectedScriptSource.js: use try/catch to protect from
9483        exception during conversion of another exception to string.
9484
94852011-04-27  Pavel Feldman  <pfeldman@google.com>
9486
9487        Reviewed by Yury Semikhatsky.
9488
9489        Web Inspector: clicking bookmarklet multiplies resources panel entries.
9490        https://bugs.webkit.org/show_bug.cgi?id=59590
9491
9492        * inspector/front-end/ResourceTreeModel.js:
9493        (WebInspector.ResourceTreeModel):
9494        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
9495        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
9496        * inspector/front-end/ResourcesPanel.js:
9497        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
9498        (WebInspector.FrameTreeElement):
9499        (WebInspector.FrameTreeElement.prototype.appendResource):
9500        * inspector/front-end/inspector.js:
9501        (WebInspector.frontendReused):
9502
95032011-04-27  Pavel Feldman  <pfeldman@google.com>
9504
9505        Reviewed by Yury Semikhatsky.
9506
9507        Web Inspector: opening bookmarklet disconnects DOM agent.
9508        https://bugs.webkit.org/show_bug.cgi?id=59588
9509
9510        * inspector/InspectorDOMAgent.cpp:
9511        (WebCore::InspectorDOMAgent::setDocument):
9512
95132011-04-27  Hans Wennborg  <hans@chromium.org>
9514
9515        Reviewed by Tony Gentilcore.
9516
9517        IndexedDB: Fix compiler warnings about uninitialized variables
9518        https://bugs.webkit.org/show_bug.cgi?id=59599
9519
9520        Build fix. No new tests.
9521
9522        * storage/IDBLevelDBBackingStore.cpp:
9523        (WebCore::getNewObjectStoreId):
9524        (WebCore::getNewIndexId):
9525
95262011-04-26  Hans Wennborg  <hans@chromium.org>
9527
9528        Reviewed by Tony Gentilcore.
9529
9530        IndexedDB: Move LevelDB key coding routines to separate file
9531        https://bugs.webkit.org/show_bug.cgi?id=59452
9532
9533        Move all routines concerned with encoding, decoding and comparison of
9534        LevelDB keys from IDBLevelDBBackingStore.cpp to a separate file:
9535        IDBLevelDBCoding.cpp.
9536
9537        This makes IDBLevelDBBackingStore.cpp easier to work with, and will
9538        allow for unit testing of the coding routines.
9539
9540        No new functionality, no new tests.
9541
9542        * WebCore.gypi:
9543        * storage/IDBLevelDBBackingStore.cpp:
9544        (WebCore::getInt):
9545        (WebCore::putInt):
9546        (WebCore::getString):
9547        (WebCore::putString):
9548        (WebCore::compareKeys):
9549        (WebCore::compareIndexKeys):
9550        (WebCore::Comparator::compare):
9551        (WebCore::setUpMetadata):
9552        (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
9553        (WebCore::getNewDatabaseId):
9554        (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
9555        (WebCore::IDBLevelDBBackingStore::getObjectStores):
9556        (WebCore::getNewObjectStoreId):
9557        (WebCore::IDBLevelDBBackingStore::createObjectStore):
9558        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
9559        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
9560        (WebCore::getNewVersionNumber):
9561        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
9562        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
9563        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
9564        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
9565        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
9566        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
9567        (WebCore::IDBLevelDBBackingStore::getIndexes):
9568        (WebCore::getNewIndexId):
9569        (WebCore::IDBLevelDBBackingStore::createIndex):
9570        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
9571        (WebCore::versionExists):
9572        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
9573        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
9574        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
9575        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
9576        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
9577        * storage/IDBLevelDBCoding.cpp: Added.
9578        (WebCore::IDBLevelDBCoding::encodeByte):
9579        (WebCore::IDBLevelDBCoding::maxIDBKey):
9580        (WebCore::IDBLevelDBCoding::minIDBKey):
9581        (WebCore::IDBLevelDBCoding::encodeInt):
9582        (WebCore::IDBLevelDBCoding::decodeInt):
9583        (WebCore::IDBLevelDBCoding::encodeVarInt):
9584        (WebCore::IDBLevelDBCoding::decodeVarInt):
9585        (WebCore::IDBLevelDBCoding::encodeString):
9586        (WebCore::IDBLevelDBCoding::decodeString):
9587        (WebCore::IDBLevelDBCoding::encodeStringWithLength):
9588        (WebCore::IDBLevelDBCoding::decodeStringWithLength):
9589        (WebCore::IDBLevelDBCoding::encodeDouble):
9590        (WebCore::IDBLevelDBCoding::decodeDouble):
9591        (WebCore::IDBLevelDBCoding::encodeIDBKey):
9592        (WebCore::IDBLevelDBCoding::decodeIDBKey):
9593        (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
9594        (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
9595        (WebCore::IDBLevelDBCoding::compare):
9596        (WebCore::IDBLevelDBCoding::KeyPrefix::KeyPrefix):
9597        (WebCore::IDBLevelDBCoding::KeyPrefix::decode):
9598        (WebCore::IDBLevelDBCoding::KeyPrefix::encode):
9599        (WebCore::IDBLevelDBCoding::KeyPrefix::compare):
9600        (WebCore::IDBLevelDBCoding::KeyPrefix::type):
9601        (WebCore::IDBLevelDBCoding::SchemaVersionKey::encode):
9602        (WebCore::IDBLevelDBCoding::MaxDatabaseIdKey::encode):
9603        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::DatabaseFreeListKey):
9604        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::decode):
9605        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::encode):
9606        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::databaseId):
9607        (WebCore::IDBLevelDBCoding::DatabaseFreeListKey::compare):
9608        (WebCore::IDBLevelDBCoding::DatabaseNameKey::decode):
9609        (WebCore::IDBLevelDBCoding::DatabaseNameKey::encode):
9610        (WebCore::IDBLevelDBCoding::DatabaseNameKey::compare):
9611        (WebCore::IDBLevelDBCoding::DatabaseMetaDataKey::encode):
9612        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
9613        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::decode):
9614        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encode):
9615        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::objectStoreId):
9616        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::metaDataType):
9617        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::compare):
9618        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::IndexMetaDataKey):
9619        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::decode):
9620        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encode):
9621        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::compare):
9622        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::indexId):
9623        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
9624        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::decode):
9625        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::encode):
9626        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::objectStoreId):
9627        (WebCore::IDBLevelDBCoding::ObjectStoreFreeListKey::compare):
9628        (WebCore::IDBLevelDBCoding::IndexFreeListKey::IndexFreeListKey):
9629        (WebCore::IDBLevelDBCoding::IndexFreeListKey::decode):
9630        (WebCore::IDBLevelDBCoding::IndexFreeListKey::encode):
9631        (WebCore::IDBLevelDBCoding::IndexFreeListKey::compare):
9632        (WebCore::IDBLevelDBCoding::IndexFreeListKey::objectStoreId):
9633        (WebCore::IDBLevelDBCoding::IndexFreeListKey::indexId):
9634        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::decode):
9635        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::encode):
9636        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::compare):
9637        (WebCore::IDBLevelDBCoding::IndexNamesKey::IndexNamesKey):
9638        (WebCore::IDBLevelDBCoding::IndexNamesKey::decode):
9639        (WebCore::IDBLevelDBCoding::IndexNamesKey::encode):
9640        (WebCore::IDBLevelDBCoding::IndexNamesKey::compare):
9641        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::decode):
9642        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::encode):
9643        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::compare):
9644        (WebCore::IDBLevelDBCoding::ObjectStoreDataKey::userKey):
9645        (WebCore::IDBLevelDBCoding::ExistsEntryKey::decode):
9646        (WebCore::IDBLevelDBCoding::ExistsEntryKey::encode):
9647        (WebCore::IDBLevelDBCoding::ExistsEntryKey::compare):
9648        (WebCore::IDBLevelDBCoding::ExistsEntryKey::userKey):
9649        (WebCore::IDBLevelDBCoding::IndexDataKey::IndexDataKey):
9650        (WebCore::IDBLevelDBCoding::IndexDataKey::decode):
9651        (WebCore::IDBLevelDBCoding::IndexDataKey::encode):
9652        (WebCore::IDBLevelDBCoding::IndexDataKey::encodeMaxKey):
9653        (WebCore::IDBLevelDBCoding::IndexDataKey::compare):
9654        (WebCore::IDBLevelDBCoding::IndexDataKey::databaseId):
9655        (WebCore::IDBLevelDBCoding::IndexDataKey::objectStoreId):
9656        (WebCore::IDBLevelDBCoding::IndexDataKey::indexId):
9657        (WebCore::IDBLevelDBCoding::IndexDataKey::userKey):
9658        * storage/IDBLevelDBCoding.h: Added.
9659        (WebCore::IDBLevelDBCoding::DatabaseNameKey::origin):
9660        (WebCore::IDBLevelDBCoding::DatabaseNameKey::databaseName):
9661        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::metaDataType):
9662        (WebCore::IDBLevelDBCoding::ObjectStoreNamesKey::objectStoreName):
9663        (WebCore::IDBLevelDBCoding::IndexNamesKey::indexName):
9664
96652011-04-27  Yury Semikhatsky  <yurys@chromium.org>
9666
9667        Reviewed by Pavel Feldman.
9668
9669        Web Inspector: expose exception details when script is paused on exception
9670        https://bugs.webkit.org/show_bug.cgi?id=59591
9671
9672        When script is paused on an exception, the exception value is added as <exception>
9673        property in the local scope and the breakpoint details message says
9674        "Paused on excepion: '<exception to strin value>'."
9675
9676        * English.lproj/localizedStrings.js:
9677        * inspector/front-end/ScopeChainSidebarPane.js:
9678        (WebInspector.ScopeChainSidebarPane.prototype.update):
9679        * inspector/front-end/ScriptsPanel.js:
9680        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
9681        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
9682
96832011-04-26  Yury Semikhatsky  <yurys@chromium.org>
9684
9685        Reviewed by Pavel Feldman.
9686
9687        Web Inspector: [protocol] Paused event should expose exception value that caused it
9688        https://bugs.webkit.org/show_bug.cgi?id=58996
9689
9690        Debug.pause event now contains an optional reference to the exception
9691        object in case script execution is paused on a JavaScript exception.
9692
9693        Also JavaScript call frames are passed directly into the injected script when
9694        we need to wrap them for passing to the front-end. This change breaks cyclic
9695        dependency ScriptDebugServer->InspectorDebuggerAgent->InjectedScript->InjectedScriptHost->ScriptDebugServer
9696
9697        * bindings/js/JSInjectedScriptHostCustom.cpp:
9698        * bindings/js/ScriptDebugServer.cpp:
9699        (WebCore::ScriptDebugServer::dispatchDidPause):
9700        * bindings/js/ScriptDebugServer.h:
9701        * bindings/v8/ScriptDebugServer.cpp:
9702        (WebCore::ScriptDebugServer::breakProgram):
9703        (WebCore::ScriptDebugServer::editScriptSource):
9704        (WebCore::ScriptDebugServer::breakProgramCallback):
9705        (WebCore::ScriptDebugServer::handleV8DebugEvent):
9706        * bindings/v8/ScriptDebugServer.h:
9707        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
9708        * inspector/InjectedScript.cpp:
9709        (WebCore::InjectedScript::evaluateOnCallFrame):
9710        (WebCore::InjectedScript::wrapCallFrames):
9711        * inspector/InjectedScript.h:
9712        * inspector/InjectedScriptHost.cpp:
9713        * inspector/InjectedScriptHost.h:
9714        (WebCore::InjectedScriptHost::init):
9715        * inspector/InjectedScriptHost.idl:
9716        * inspector/InjectedScriptSource.js:
9717        (.):
9718        * inspector/Inspector.json:
9719        * inspector/InspectorAgent.cpp:
9720        (WebCore::InspectorAgent::InspectorAgent):
9721        * inspector/InspectorDebuggerAgent.cpp:
9722        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
9723        (WebCore::InspectorDebuggerAgent::currentCallFrames):
9724        (WebCore::InspectorDebuggerAgent::wrapCallFrames):
9725        (WebCore::InspectorDebuggerAgent::didPause):
9726        (WebCore::InspectorDebuggerAgent::didContinue):
9727        (WebCore::InspectorDebuggerAgent::clear):
9728        * inspector/InspectorDebuggerAgent.h:
9729        * inspector/ScriptDebugListener.h:
9730        * inspector/WorkerInspectorController.cpp:
9731        (WebCore::WorkerInspectorController::WorkerInspectorController):
9732
97332011-04-27  Pavel Feldman  <pfeldman@google.com>
9734
9735        Reviewed by Yury Semikhatsky.
9736
9737        Web Inspector: implement incremental CSS editing in the structure view.
9738        https://bugs.webkit.org/show_bug.cgi?id=59455
9739
9740        * inspector/front-end/StylesSidebarPane.js:
9741        (WebInspector.StylePropertyTreeElement.prototype):
9742
97432011-04-27  Mihai Parparita  <mihaip@chromium.org>
9744
9745        Reviewed by Eric Seidel.
9746
9747        Frame.h shouldn't include Document.h
9748        https://bugs.webkit.org/show_bug.cgi?id=59560
9749
9750        Frame can use a forward-declared Document if we move
9751        Frame::displayStringModifiedByEncoding's implementation out of the
9752        header.
9753                                Size  #includes  Size * #includes
9754        Before: page/Frame.h:   0.746       653           487.138
9755                dom/Document.h: 0.220      1306           287.320
9756
9757        After:  page/Frame.h:   0.646       653           421.838
9758                dom/Document.h: 0.220      1189           261.580
9759
9760        * WebCore.exp.in:
9761        * bindings/ScriptControllerBase.cpp:
9762        * bindings/generic/BindingSecurityBase.cpp:
9763        * bindings/v8/V8Proxy.cpp:
9764        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
9765        * dom/CharacterData.cpp:
9766        * dom/UserTypingGestureIndicator.cpp:
9767        * editing/chromium/SelectionControllerChromium.cpp:
9768        * inspector/InspectorDOMStorageResource.cpp:
9769        * inspector/InspectorInstrumentation.h:
9770        * loader/PingLoader.cpp:
9771        * loader/SubresourceLoader.cpp:
9772        * loader/appcache/DOMApplicationCache.cpp:
9773        * loader/cache/CachedResourceRequest.cpp:
9774        * page/Frame.cpp:
9775        (WebCore::Frame::displayStringModifiedByEncoding):
9776        * page/Frame.h:
9777        * page/Geolocation.cpp:
9778        * page/Location.cpp:
9779        * page/Navigator.cpp:
9780        * page/PageGroupLoadDeferrer.cpp:
9781        * page/PerformanceTiming.cpp:
9782        * xml/XSLTProcessorLibxslt.cpp:
9783
97842011-04-27  James Robinson  <jamesr@chromium.org>
9785
9786        Reviewed by Eric Seidel.
9787
9788        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
9789        https://bugs.webkit.org/show_bug.cgi?id=59377
9790
9791        This cleans up some strict OwnPtr<> violations around text and box shadow data.  ShadowData's linked list data
9792        structure now uses OwnPtr<>s to manage memory - each entry in the list has ownership of the next ShadowData.
9793
9794        * css/CSSStyleSelector.cpp:
9795        (WebCore::CSSStyleSelector::applyProperty):
9796        * page/animation/AnimationBase.cpp:
9797        (WebCore::blendFunc):
9798        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
9799        (WebCore::PropertyWrapperShadow::blend):
9800        * rendering/style/RenderStyle.cpp:
9801        (WebCore::RenderStyle::setTextShadow):
9802        (WebCore::RenderStyle::setBoxShadow):
9803        * rendering/style/RenderStyle.h:
9804        (WebCore::InheritedFlags::textShadow):
9805        * rendering/style/ShadowData.cpp:
9806        (WebCore::ShadowData::ShadowData):
9807        * rendering/style/ShadowData.h:
9808        (WebCore::ShadowData::ShadowData):
9809        (WebCore::ShadowData::next):
9810        (WebCore::ShadowData::setNext):
9811        * rendering/style/StyleRareInheritedData.cpp:
9812        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
9813        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
9814        * rendering/style/StyleRareInheritedData.h:
9815        * rendering/style/StyleRareNonInheritedData.cpp:
9816        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
9817
98182011-04-26  David Levin  <levin@chromium.org>
9819
9820        Reviewed by Eric Seidel.
9821
9822        Fix some strict PassOwnPtr issues in WebCore.
9823        https://bugs.webkit.org/show_bug.cgi?id=59563
9824
9825        * css/SVGCSSStyleSelector.cpp:
9826        (WebCore::CSSStyleSelector::applySVGProperty):
9827        * html/canvas/WebGLRenderingContext.cpp:
9828        (WebCore::WebGLRenderingContext::create):
9829        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
9830        * platform/text/TextCodecLatin1.cpp:
9831        (WebCore::newStreamingTextDecoderWindowsLatin1):
9832        * platform/text/TextCodecUTF16.cpp:
9833        (WebCore::newStreamingTextDecoderUTF16LE):
9834        (WebCore::newStreamingTextDecoderUTF16BE):
9835        * platform/text/TextCodecUserDefined.cpp:
9836        (WebCore::newStreamingTextDecoderUserDefined):
9837        * platform/text/mac/TextCodecMac.cpp:
9838        (WebCore::newTextCodecMac):
9839        * workers/Worker.cpp:
9840        (WebCore::Worker::notifyFinished):
9841
98422011-04-26  Justin Novosad  <junov@chromium.org>
9843
9844        Reviewed by Kenneth Russell.
9845
9846        [Chromium] Expose skia gpu canvas rendering as a runtime flag
9847        https://bugs.webkit.org/show_bug.cgi?id=58683
9848        Replace the SKIA_GPU compile flag by the pre-existing
9849        acceleratedDrawingEnabled flag. Most code changes are trivial:
9850        compile-time conditionals on SKIA_GPU were either replaced with
9851        a run-time check, or a compile time check on USE(SKIA)
9852
9853        No new tests. Covered by existing tests.
9854
9855        * html/canvas/CanvasRenderingContext2D.cpp:
9856        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
9857        * page/Page.cpp:
9858        (WebCore::Page::sharedGraphicsContext3D):
9859        Added check for the acceleratedDrawing flag.
9860        * platform/graphics/chromium/DrawingBufferChromium.cpp:
9861        (WebCore::DrawingBuffer::DrawingBuffer):
9862        (WebCore::DrawingBuffer::publishToPlatformLayer):
9863        * platform/graphics/gpu/DrawingBuffer.h:
9864        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
9865        (WebCore::SharedGraphicsContext3D::create):
9866        On Skia builds, this methos now receives a bool arg to turn on
9867        GPU-accelerated skia rendering
9868        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
9869        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
9870        (WebCore::SharedGraphicsContext3D::grContext):
9871        * platform/graphics/gpu/SharedGraphicsContext3D.h:
9872        * platform/graphics/skia/ImageSkia.cpp:
9873        (WebCore::computeResamplingMode):
9874        (WebCore::paintSkBitmap):
9875        (WebCore::Image::drawPattern):
9876        * platform/graphics/skia/PlatformContextSkia.cpp:
9877        (WebCore::PlatformContextSkia::PlatformContextSkia):
9878        (WebCore::PlatformContextSkia::~PlatformContextSkia):
9879        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
9880        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
9881        (WebCore::PlatformContextSkia::prepareForSoftwareDraw):
9882        (WebCore::PlatformContextSkia::prepareForHardwareDraw):
9883        (WebCore::PlatformContextSkia::syncSoftwareCanvas):
9884        (WebCore::PlatformContextSkia::markDirtyRect):
9885        * platform/graphics/skia/PlatformContextSkia.h:
9886        (WebCore::PlatformContextSkia::accelerationMode):
9887        (WebCore::PlatformContextSkia::useGPU):
9888        (WebCore::PlatformContextSkia::useSkiaGPU):
9889
98902011-04-26  Pavel Feldman  <pfeldman@chromium.org>
9891
9892        Not reviewed: restore inspector test disabled in r84913.
9893
9894        Test: http/tests/inspector-enabled/dom-storage-open.html
9895
9896        * inspector/InspectorDOMStorageAgent.cpp:
9897        (WebCore::InspectorDOMStorageAgent::clearFrontend):
9898
98992011-04-26  Kenichi Ishibashi  <bashi@chromium.org>
9900
9901        Reviewed by Tony Chang.
9902
9903        [Chromium] Vertical positions are off for some Arabic glyphs on Linux
9904        https://bugs.webkit.org/show_bug.cgi?id=59182
9905
9906        Use vertical offsets of the shaping results.
9907
9908        Test: platform/chromium-linux/fast/text/international/arabic-vertical-offset.html
9909
9910        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
9911        (WebCore::ComplexTextController::ComplexTextController):
9912        Added initialization of m_startingY.
9913        (WebCore::ComplexTextController::nextScriptRun):
9914        Followed the change in handling positions.
9915        (WebCore::ComplexTextController::deleteGlyphArrays): Ditto.
9916        (WebCore::ComplexTextController::createGlyphArrays): Ditto.
9917        (WebCore::ComplexTextController::resetGlyphArrays): Ditto.
9918        (WebCore::ComplexTextController::setGlyphPositions):
9919        Changed to use vertical offsets as same as horizontal offsets.
9920        * platform/graphics/chromium/ComplexTextControllerLinux.h:
9921        Removed m_xPositions and Added m_positions and m_startingY.
9922        (WebCore::ComplexTextController::positions): Added.
9923        * platform/graphics/chromium/FontLinux.cpp:
9924        Followed the change in ComplexTextController.
9925        (WebCore::Font::drawComplexText): Ditto.
9926        (WebCore::Font::floatWidthForComplexText): Ditto.
9927        (WebCore::glyphIndexForXPositionInScriptRun): Ditto.
9928        (WebCore::Font::offsetForPositionForComplexText): Ditto.
9929        (WebCore::Font::selectionRectForComplexText): Ditto.
9930
99312011-04-26  Levi Weintraub  <leviw@chromium.org>
9932
9933        Reviewed by Eric Seidel.
9934
9935        Root element should establish a new block formatting context
9936        https://bugs.webkit.org/show_bug.cgi?id=54573
9937
9938        Always expanding the root renderer to include overhanging floats.
9939
9940        Test: fast/block/float/float-overhangs-root.html
9941
9942        * rendering/RenderBlock.cpp:
9943        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats):
9944
99452011-04-26  Dawit Alemayehu  <adawit@kde.org>
9946
9947        Reviewed by Andreas Kling.
9948
9949        [Qt] Improper rendering of <button> tag when it contains a <br>
9950        https://bugs.webkit.org/show_bug.cgi?id=50521
9951
9952        Test: platform/qt/fast/forms/button-line-break.html
9953
9954        * platform/qt/RenderThemeQt.cpp:
9955        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
9956        (WebCore::RenderThemeQt::setButtonPadding):
9957
99582011-04-26  James Robinson  <jamesr@chromium.org>
9959
9960        Reviewed by Kenneth Russell.
9961
9962        [chromium] Only reset tiles if the LayerRendererChromium is actually changing
9963        https://bugs.webkit.org/show_bug.cgi?id=59572
9964
9965        http://trac.webkit.org/changeset/84981/ caused us to reset the tiles
9966        when LayerRendererChromium was set.  We set this pointer every frame
9967        and should only reset the tiles if the new LayerRendererChromium is
9968        different from the old one (indicating a context loss), not just reset
9969        on every frame.
9970
9971        * platform/graphics/chromium/LayerTilerChromium.cpp:
9972        (WebCore::LayerTilerChromium::setLayerRenderer):
9973        * platform/graphics/chromium/LayerTilerChromium.h:
9974
99752011-04-26  Dinesh K Garg  <dineshg@codeaurora.org>
9976
9977        Reviewed by Eric Seidel.
9978
9979        beginElement broken by setAttribute
9980        https://bugs.webkit.org/show_bug.cgi?id=26019
9981
9982        Test: svg/animations/animate-beginElementAt.svg
9983
9984        * svg/SVGAnimationElement.cpp:
9985        (WebCore::SVGAnimationElement::attributeChanged):
9986        Reset the animation state here as the rest of the code reads it and would still
9987        think we are animating when we are not.
9988
9989        * svg/animation/SVGSMILElement.h:
9990        (WebCore::SVGSMILElement::setInactive): Helper function to reset the state.
9991
99922011-04-26  Sheriff Bot  <webkit.review.bot@gmail.com>
9993
9994        Unreviewed, rolling out r84989.
9995        http://trac.webkit.org/changeset/84989
9996        https://bugs.webkit.org/show_bug.cgi?id=59566
9997
9998        REGRESSION (r84989): Lots of vertical text tests failing on
9999        windows (Requested by weinig on #webkit).
10000
10001        * platform/graphics/FontPlatformData.h:
10002        * platform/graphics/win/FontCacheWin.cpp:
10003        (WebCore::FontCache::getFontDataForCharacters):
10004        (WebCore::FontCache::createFontPlatformData):
10005        * platform/graphics/win/FontCustomPlatformData.cpp:
10006        (WebCore::FontCustomPlatformData::fontPlatformData):
10007        * platform/graphics/win/FontPlatformDataCGWin.cpp:
10008        (WebCore::FontPlatformData::FontPlatformData):
10009        * platform/graphics/win/FontPlatformDataWin.cpp:
10010        (WebCore::FontPlatformData::FontPlatformData):
10011
100122011-04-26  Sam Weinig  <sam@webkit.org>
10013
10014        Reviewed by Eric Seidel.
10015
10016        Try again:
10017            Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
10018            https://bugs.webkit.org/show_bug.cgi?id=59310
10019
10020        * bindings/js/JSDOMBinding.h:
10021        (WebCore::DOMConstructorObject::DOMConstructorObject):
10022        * bindings/js/JSDOMWrapper.h:
10023        (WebCore::JSDOMWrapper::globalObject):
10024        (WebCore::JSDOMWrapper::scriptExecutionContext):
10025        (WebCore::JSDOMWrapper::createStructure):
10026        (WebCore::JSDOMWrapper::JSDOMWrapper):
10027        * bindings/scripts/CodeGeneratorJS.pm:
10028
100292011-04-26  Sam Weinig  <sam@webkit.org>
10030
10031        Reviewed by David Hyatt.
10032
10033        Remove Datagrid from the tree
10034        https://bugs.webkit.org/show_bug.cgi?id=59543
10035
10036        * Android.derived.jscbindings.mk:
10037        * Android.derived.v8bindings.mk:
10038        * Android.jscbindings.mk:
10039        * Android.v8bindings.mk:
10040        * CMakeLists.txt:
10041        * CodeGenerators.pri:
10042        * Configurations/FeatureDefines.xcconfig:
10043        * DerivedSources.cpp:
10044        * DerivedSources.make:
10045        * GNUmakefile.am:
10046        * GNUmakefile.list.am:
10047        * UseJSC.cmake:
10048        * WebCore.gypi:
10049        * WebCore.pro:
10050        * WebCore.vcproj/WebCore.vcproj:
10051        * WebCore.xcodeproj/project.pbxproj:
10052        * bindings/js/JSBindingsAllInOne.cpp:
10053        * bindings/js/JSDataGridColumnListCustom.cpp: Removed.
10054        * bindings/js/JSDataGridDataSource.cpp: Removed.
10055        * bindings/js/JSDataGridDataSource.h: Removed.
10056        * bindings/js/JSHTMLDataGridElementCustom.cpp: Removed.
10057        * bindings/v8/V8DataGridDataSource.cpp: Removed.
10058        * bindings/v8/V8DataGridDataSource.h: Removed.
10059        * bindings/v8/custom/V8DataGridColumnListCustom.cpp: Removed.
10060        * bindings/v8/custom/V8HTMLDataGridElementCustom.cpp: Removed.
10061        * css/CSSStyleSelector.cpp:
10062        * css/CSSStyleSelector.h:
10063        * css/html.css:
10064        (input, textarea, keygen, select, button, isindex):
10065        (select:disabled, keygen:disabled, optgroup:disabled, option:disabled):
10066        * editing/htmlediting.cpp:
10067        (WebCore::canHaveChildrenForEditing):
10068        * features.pri:
10069        * html/DOMDataGridDataSource.cpp: Removed.
10070        * html/DOMDataGridDataSource.h: Removed.
10071        * html/DataGridColumn.cpp: Removed.
10072        * html/DataGridColumn.h: Removed.
10073        * html/DataGridColumn.idl: Removed.
10074        * html/DataGridColumnList.cpp: Removed.
10075        * html/DataGridColumnList.h: Removed.
10076        * html/DataGridColumnList.idl: Removed.
10077        * html/DataGridDataSource.h: Removed.
10078        * html/HTMLDataGridCellElement.cpp: Removed.
10079        * html/HTMLDataGridCellElement.h: Removed.
10080        * html/HTMLDataGridCellElement.idl: Removed.
10081        * html/HTMLDataGridColElement.cpp: Removed.
10082        * html/HTMLDataGridColElement.h: Removed.
10083        * html/HTMLDataGridColElement.idl: Removed.
10084        * html/HTMLDataGridElement.cpp: Removed.
10085        * html/HTMLDataGridElement.h: Removed.
10086        * html/HTMLDataGridElement.idl: Removed.
10087        * html/HTMLDataGridRowElement.cpp: Removed.
10088        * html/HTMLDataGridRowElement.h: Removed.
10089        * html/HTMLDataGridRowElement.idl: Removed.
10090        * html/HTMLElement.cpp:
10091        (WebCore::HTMLElement::ieForbidsInsertHTML):
10092        * html/HTMLElementsAllInOne.cpp:
10093        * html/HTMLTagNames.in:
10094        * page/DOMWindow.idl:
10095        * rendering/RenderBox.cpp:
10096        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
10097        * rendering/RenderDataGrid.cpp: Removed.
10098        * rendering/RenderDataGrid.h: Removed.
10099        * rendering/RenderingAllInOne.cpp:
10100
101012011-04-26  Chun-Lung Huang  <alvincl.huang@gmail.com>
10102
10103        Reviewed by Adele Peterson.
10104
10105        On WebKit (Windows), glyphs in vertical text tests are rotated 90
10106        degrees clockwise.  https://bugs.webkit.org/show_bug.cgi?id=48459
10107
10108        This platform dependent patch makes WebKit (Windows) show the
10109        vertical writing text correctly.  Job was done by adding a prefix '@'
10110        in front of the font family name (Windows Only). No new tests added.
10111        Some layout tests images:
10112        http://www.flickr.com/photos/burorly/sets/72157625585506341/
10113
10114        * platform/graphics/FontPlatformData.h:
10115        * platform/graphics/win/FontCacheWin.cpp:
10116        (WebCore::FontCache::getFontDataForCharacters):
10117        (WebCore::FontCache::createFontPlatformData):
10118        * platform/graphics/win/FontCustomPlatformData.cpp:
10119        (WebCore::FontCustomPlatformData::fontPlatformData):
10120        * platform/graphics/win/FontPlatformDataCGWin.cpp:
10121        (WebCore::FontPlatformData::FontPlatformData):
10122        * platform/graphics/win/FontPlatformDataWin.cpp:
10123        (WebCore::FontPlatformData::FontPlatformData):
10124
101252011-04-26  Jer Noble  <jer.noble@apple.com>
10126
10127        Reviewed by Brady Eidson.
10128
10129        HTML5 video fullscreen transition causes an audio stutter
10130        https://bugs.webkit.org/show_bug.cgi?id=59544
10131
10132        AVFoundation will momentarily stutter when you disconnect a AVPlayerLayer
10133        from its AVPlayer.  Since you shouldn't necessarily have to destroy the
10134        layer to render it invisible, instead just set the layer as hidden.
10135
10136        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
10137        (WebCore::MediaPlayerPrivateAVFoundation::setVisible): Call through to platformSetVisible().
10138        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
10139        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
10140        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
10141        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformSetVisible): Added.
10142
101432011-04-26  Christian Dywan  <christian@lanedo.com>
10144
10145        Reviewed by Eric Seidel.
10146
10147        Extra separator after Select All in context menu
10148        https://bugs.webkit.org/show_bug.cgi?id=54092
10149
10150        * page/ContextMenuController.cpp: Move separator to non-GTK+
10151            port guards since it is for the spelling options menu
10152            which the GTK+ port doesn't use.
10153
101542011-04-26  James Robinson  <jamesr@chromium.org>
10155
10156        Reviewed by Kenneth Russell.
10157
10158        [chromium] Clear out LayerTilerChromium's tiles on lost context
10159        https://bugs.webkit.org/show_bug.cgi?id=59233
10160
10161        Clears out the LayerTilerChromium's tile set when the LayerRendererChromium is reset.  In this case the tiles are
10162        no longer valid since they exist in the previous LayerRendererChromium.
10163
10164        Will be tested by a chrome test since we don't have any way to exercise the context lost case in layout tests.
10165
10166        * platform/graphics/chromium/LayerTilerChromium.h:
10167        (WebCore::LayerTilerChromium::setLayerRenderer):
10168
101692011-04-26  Martin Robinson  <mrobinson@igalia.com>
10170
10171        Reviewed by Dirk Schulze.
10172
10173        [GTK] Flash in divs with overflow: auto is not positioned and clipped properly
10174        https://bugs.webkit.org/show_bug.cgi?id=57644
10175
10176        Manual test: plugins/windowed-in-iframe-2.html
10177
10178        * manual-tests/plugins/windowed-in-iframe-2.html: Added.
10179        * platform/gtk/WidgetGtk.cpp:
10180        (WebCore::Widget::setFrameRect): Like the Qt port, we notify the widget via frameRectsChanged.
10181        * plugins/PluginView.h: Added helper method to set the allocation and clip.
10182        * plugins/gtk/PluginViewGtk.cpp:
10183        (WebCore::PluginView::setNPWindowIfNeeded):Call the helper method instead of setting
10184        the allocation immediately. Bring this method into sync with the implementation in
10185        the Qt port.
10186        (WebCore::PluginView::updateWidgetAllocationAndClip): Added.
10187        (WebCore::PluginView::plugAddedCallback): Call the new helper method.
10188
101892011-04-26  Martin Robinson  <mrobinson@igalia.com>
10190
10191        Reviewed by Eric Seidel.
10192
10193        [GTK]  fast/block/float/overhanging-tall-block.html crashes in the bots
10194        https://bugs.webkit.org/show_bug.cgi?id=58818
10195
10196        Prevent allocating scratch buffers larger than the target GdkDrawable
10197        when creating a WidgetRenderingContext. This prevents incredibly large
10198        widgets from crashing the X Server. This change also allowed greatly
10199        simplifying the way that the painting offset is calculated.
10200
10201        * platform/gtk/WidgetRenderingContext.cpp:
10202        (WebCore::WidgetRenderingContext::WidgetRenderingContext): Never allocate a pixmap
10203        larger than the target GdkDrawable.
10204        (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Calculate the offset of the
10205        blit by looking at the location of the target rect itself, rather than delaying the
10206        calculation up to this point.
10207        (WebCore::WidgetRenderingContext::calculateClipRect): Added.
10208        (WebCore::WidgetRenderingContext::gtkPaintBox): Use the new calculateClipRectHelper.
10209        (WebCore::WidgetRenderingContext::gtkPaintFlatBox): Ditto.
10210        (WebCore::WidgetRenderingContext::gtkPaintFocus): Ditto.
10211        (WebCore::WidgetRenderingContext::gtkPaintSlider): Ditto.
10212        (WebCore::WidgetRenderingContext::gtkPaintCheck): Ditto.
10213        (WebCore::WidgetRenderingContext::gtkPaintOption): Ditto.
10214        (WebCore::WidgetRenderingContext::gtkPaintShadow): Ditto.
10215        (WebCore::WidgetRenderingContext::gtkPaintArrow): Ditto.
10216        (WebCore::WidgetRenderingContext::gtkPaintVLine): Ditto.
10217        * platform/gtk/WidgetRenderingContext.h: Remove some now unused members. Add
10218        a member to store the IntSize mapping from the coordinates of the target to the coordinates
10219        of the scratch buffer.
10220
102212011-04-26  Patrick Gansterer  <paroga@webkit.org>
10222
10223        Reviewed by Adam Barth.
10224
10225        Respect charset in handleDataURL
10226        https://bugs.webkit.org/show_bug.cgi?id=47746
10227
10228        Original patch by Kwang Yul Seo <skyul@company100.net>
10229
10230        We must use TextEncoding(charset) to encode data URL again. Otherwise TextEncoding::encode()
10231        returns an empty string because encoding name is not specified.
10232
10233        Also use "US-ASCII" as fallback charset as extractCharsetFromMediaType can be empty.
10234
10235        This change fixes over 130 layout tests when running GTK port with cURL network backend.
10236
10237        * platform/network/DataURL.cpp:
10238        (WebCore::handleDataURL):
10239
102402011-04-26  Anders Carlsson  <andersca@apple.com>
10241
10242        Fix clang++ build.
10243
10244        You can never have too many casts!
10245
10246        * accessibility/mac/AccessibilityObjectWrapper.mm:
10247        (-[AccessibilityObjectWrapper position]):
10248        * editing/mac/SelectionControllerMac.mm:
10249        (WebCore::accessibilityConvertScreenRect):
10250
102512011-04-26  Chris Rogers  <crogers@google.com>
10252
10253        Reviewed by Kenneth Russell.
10254
10255        Fix web audio build on mac port
10256        https://bugs.webkit.org/show_bug.cgi?id=59355
10257
10258        No new tests since audio API is not yet implemented.
10259
10260        * WebCore.xcodeproj/project.pbxproj:
10261        * bindings/js/JSAudioContextCustom.cpp:
10262        (WebCore::JSAudioContext::visitChildren):
10263        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
10264        (WebCore::JSJavaScriptAudioNode::visitChildren):
10265        * webaudio/AudioContext.idl:
10266
102672011-04-26  Chris Rogers  <crogers@google.com>
10268
10269        Reviewed by Kenneth Russell.
10270
10271        Add FFTFrame implementation for FFmpeg
10272        https://bugs.webkit.org/show_bug.cgi?id=59408
10273
10274        No new tests since audio API is not yet implemented.
10275
10276        * WebCore.gyp/WebCore.gyp:
10277        * WebCore.gypi:
10278        * platform/audio/FFTFrame.h:
10279        * platform/audio/FFTFrameStub.cpp:
10280        * platform/audio/ffmpeg: Added.
10281        * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp: Added.
10282        (WebCore::FFTFrame::FFTFrame):
10283        (WebCore::FFTFrame::initialize):
10284        (WebCore::FFTFrame::cleanup):
10285        (WebCore::FFTFrame::~FFTFrame):
10286        (WebCore::FFTFrame::multiply):
10287        (WebCore::FFTFrame::doFFT):
10288        (WebCore::FFTFrame::doInverseFFT):
10289        (WebCore::FFTFrame::realData):
10290        (WebCore::FFTFrame::imagData):
10291        (WebCore::FFTFrame::getUpToDateComplexData):
10292        (WebCore::FFTFrame::contextForSize):
10293        * platform/audio/mac/FFTFrameMac.cpp:
10294        * webaudio/ConvolverNode.cpp:
10295
102962011-04-26  Jeff Miller  <jeffm@apple.com>
10297
10298        Add a newline at the end of SVGFEDropShadowElement.idl.
10299
10300        * svg/SVGFEDropShadowElement.idl:
10301
103022011-04-26  Mihai Parparita  <mihaip@chromium.org>
10303
10304        Reviewed by Eric Seidel.
10305
10306        InlineBox.h shouldn't include RenderBR.h
10307        https://bugs.webkit.org/show_bug.cgi?id=59480
10308
10309        Per bug 59348 RenderBR.h is a "top header" by include * size, because
10310        InlineBox.h includes it. There's no reason why it has to.
10311
10312        * rendering/InlineBox.h:
10313        * rendering/InlineTextBox.cpp:
10314        * rendering/RenderBlock.h:
10315
103162011-04-26  Sam Weinig  <sam@webkit.org>
10317
10318        Nope, roll out r84950 and r84952. Working on a laptop is clearly not something
10319        I should do.
10320
10321        * bindings/js/JSDOMBinding.h:
10322        (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
10323        (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
10324        (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
10325        (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
10326        (WebCore::DOMConstructorObject::DOMConstructorObject):
10327        * bindings/js/JSDOMWrapper.h:
10328        (WebCore::JSDOMWrapper::JSDOMWrapper):
10329        * bindings/scripts/CodeGeneratorJS.pm:
10330
103312011-04-26  Sam Weinig  <sam@webkit.org>
10332
10333        Fix build.
10334
10335        * bindings/js/JSDOMWrapper.h:
10336        (WebCore::JSDOMWrapper::globalObject):
10337
103382011-04-26  Sam Weinig  <sam@webkit.org>
10339
10340        Roll r84945 back in with infinite recursion removed.
10341
10342        * bindings/js/JSDOMBinding.h:
10343        (WebCore::DOMConstructorObject::DOMConstructorObject):
10344        * bindings/js/JSDOMWrapper.h:
10345        (WebCore::JSDOMWrapper::globalObject):
10346        (WebCore::JSDOMWrapper::scriptExecutionContext):
10347        (WebCore::JSDOMWrapper::createStructure):
10348        (WebCore::JSDOMWrapper::JSDOMWrapper):
10349        * bindings/scripts/CodeGeneratorJS.pm:
10350
103512011-04-26  Sam Weinig  <sam@webkit.org>
10352
10353        Rollout previous patch. It broke stuff.
10354
10355        * bindings/js/JSDOMBinding.h:
10356        (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
10357        (WebCore::JSDOMWrapperWithGlobalPointer::scriptExecutionContext):
10358        (WebCore::JSDOMWrapperWithGlobalPointer::createStructure):
10359        (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
10360        (WebCore::DOMConstructorObject::DOMConstructorObject):
10361        * bindings/js/JSDOMWrapper.h:
10362        (WebCore::JSDOMWrapper::JSDOMWrapper):
10363        * bindings/scripts/CodeGeneratorJS.pm:
10364
103652011-04-26  Sam Weinig  <sam@webkit.org>
10366
10367        Reviewed by Maciej Stachowiak.
10368
10369        Remove JSDOMWrapperWithGlobalPointer now that all JSDOMWrappers have global objects
10370        https://bugs.webkit.org/show_bug.cgi?id=59310
10371
10372        * bindings/js/JSDOMBinding.h:
10373        (WebCore::DOMConstructorObject::DOMConstructorObject):
10374        * bindings/js/JSDOMWrapper.h:
10375        (WebCore::JSDOMWrapper::globalObject):
10376        (WebCore::JSDOMWrapper::scriptExecutionContext):
10377        (WebCore::JSDOMWrapper::createStructure):
10378        (WebCore::JSDOMWrapper::JSDOMWrapper):
10379        Merge JSDOMWrapperWithGlobalPointer with JSDOMWrapper.
10380
10381        * bindings/scripts/CodeGeneratorJS.pm:
10382        Make JSDOMWrapper the base class.
10383
103842011-04-26  Dan Bernstein  <mitz@apple.com>
10385
10386        Reviewed by Mark Rowe.
10387
10388        Choose the compiler based on the Xcode version for Snow Leopard debug builds.
10389
10390        * Configurations/Base.xcconfig:
10391        * Configurations/CompilerVersion.xcconfig: Added.
10392
103932011-04-26  Adrienne Walker  <enne@google.com>
10394
10395        Reviewed by Geoffrey Garen.
10396
10397        Use OwnArrayPtr<T> instead of OwnPtr<T*> in ScopeTracer
10398        https://bugs.webkit.org/show_bug.cgi?id=59469
10399
10400        * platform/chromium/TraceEvent.h:
10401        (WebCore::internal::ScopeTracer::ScopeTracer):
10402
104032011-04-25  Geoffrey Garen  <ggaren@apple.com>
10404
10405        Reviewed by Oliver Hunt.
10406
10407        Nixed special finalizer handling for WebCore strings
10408        https://bugs.webkit.org/show_bug.cgi?id=59425
10409
10410        Not needed anymore, since weak handles have finalizers.
10411
10412        * WebCore.exp.in: Exports!
10413
10414        * bindings/js/DOMWrapperWorld.cpp:
10415        (WebCore::JSStringOwner::finalize):
10416        (WebCore::DOMWrapperWorld::DOMWrapperWorld): Use a weak handle finalizer,
10417        so we don't need special treatment anymore.
10418
10419        * bindings/js/DOMWrapperWorld.h:
10420        (WebCore::JSStringOwner::JSStringOwner):
10421        (WebCore::DOMWrapperWorld::stringWrapperOwner): Use a HashMap of Weak<T>
10422        instead of a WeakGCMap, so we can specify a custom finalizer.
10423
10424        * bindings/js/JSDOMBinding.cpp:
10425        (WebCore::jsStringSlowCase):
10426        * bindings/js/JSDOMBinding.h:
10427        (WebCore::jsString): Updated for string map change.
10428
104292011-04-26  David Kilzer  <ddkilzer@apple.com>
10430
10431        <http://webkit.org/b/59372> Restore user default for enabling HTTP pipelining
10432
10433        Reviewed by Antti Koivisto.
10434
10435        To enable HTTP pipelining post-SnowLeopard, use this command:
10436
10437            defaults write BUNDLE.ID WebKitEnableHTTPPipelining -bool YES
10438
10439        * platform/network/cf/ResourceRequestCFNet.cpp:
10440        (WebCore::readBooleanPreference): Re-added.  Originally added in
10441        r76756 and removed in r84120.
10442        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Enable
10443        HTTP pipelining if use default is set to true.  Added macro
10444        guards to match those in ResourceRequestMac.mm.
10445
104462011-04-26  Antti Koivisto  <antti@apple.com>
10447
10448        Reviewed by Adele Peterson.
10449
10450        Don't strip fragments from file: urls in memory cache
10451        https://bugs.webkit.org/show_bug.cgi?id=59463
10452        <rdar://problem/9231130>
10453
10454        Some clients expect file: resources to be unique based on fragment identifier.
10455        Limit the changes in http://trac.webkit.org/changeset/74107 to the HTTP protocol only
10456
10457        Test: fast/loader/file-protocol-fragment.html
10458
10459        * loader/cache/MemoryCache.cpp:
10460        (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
10461
104622011-04-26  David Levin  <levin@chromium.org>
10463
10464        Reviewed by Darin Adler.
10465
10466        Fix more strict OwnPtr in WebCore (round N).
10467        https://bugs.webkit.org/show_bug.cgi?id=59464
10468
10469        * dom/Document.cpp:
10470        (WebCore::Document::Document):
10471        (WebCore::Document::attach):
10472        * fileapi/FileReader.cpp:
10473        (WebCore::FileReader::terminate):
10474        * loader/DocumentThreadableLoader.cpp:
10475        (WebCore::DocumentThreadableLoader::preflightFailure):
10476        * workers/DefaultSharedWorkerRepository.cpp:
10477        (WebCore::SharedWorkerConnectTask::create):
10478        (WebCore::SharedWorkerScriptLoader::load):
10479
104802011-04-26  Ruben  <chromium@hybridsource.org>
10481
10482        Reviewed by Tony Chang.
10483
10484        Change linux ifdefs for Chromium to Unix instead, allowing
10485        new Unix ports to be enabled by default
10486        https://bugs.webkit.org/show_bug.cgi?id=59297
10487
10488        No new tests, just changing preprocessor defines.
10489
10490        * bindings/js/JSInspectorFrontendHostCustom.cpp:
10491        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
10492        * dom/SelectElement.cpp:
10493        * loader/cache/CachedFont.cpp:
10494        * page/EventHandler.cpp:
10495        * page/chromium/EventHandlerChromium.cpp:
10496        * platform/Scrollbar.cpp:
10497        * platform/chromium/PlatformBridge.h:
10498        * platform/graphics/chromium/FontPlatformData.h:
10499        * platform/graphics/skia/FontCustomPlatformData.cpp:
10500        * platform/graphics/skia/FontCustomPlatformData.h:
10501
105022011-04-26  Ryosuke Niwa  <rniwa@webkit.org>
10503
10504        Reviewed by Dan Bernstein.
10505
10506        [RTL] Arabic/AB - after typing a date, cursors doesn't go back
10507        https://bugs.webkit.org/show_bug.cgi?id=49111
10508
10509        Even when the offset corresponds to a position visually left of the box
10510        and there aren't any inline boxes on the left, the previous/next position
10511        may still correspond to some position in the same line.
10512
10513        The bug was caused by our ignoring such cases. Fixed the bug by comparing
10514        previous/next position's inline box to the current box. If they match,
10515        then we stay on the same position because moving to the left visually at
10516        the left edge should not result in a position on the same line.
10517
10518        Also fixed a bug that WebKit uses offsets that are not extrema when moved to
10519        the left edge or to the right edge, and a bug that WebKit could not move to
10520        the left from 12^3 CBA abc to 123 C^BA abc (there is no offset between 3 and C).
10521
10522        Test cases are added to editing/selection/move-left-right.html
10523
10524        * editing/VisiblePosition.cpp:
10525        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
10526        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
10527
105282011-04-26  Gabor Loki  <loki@webkit.org>
10529
10530        Reviewed by Csaba Osztrogonác.
10531
10532        Speeding up SVG filters with multicore (SMP) support
10533        https://bugs.webkit.org/show_bug.cgi?id=43903
10534
10535        Some SVG filters execute a huge number of pixel manipulations, which
10536        cannot be sped up by graphics accelerators, since their algorithm is
10537        too complex. Using the power of Symmetric Multi Processing (SMP) we
10538        can split up a task to smaller (data independent) tasks, which can be
10539        executed independently.
10540
10541        The ParallelJobs framework provides a simple way for distributed
10542        programming. The framework is based on WebKit's threading infrastructure,
10543        Open Multi-Processing's (OpenMP) API, and libdispatch API.
10544
10545        * ForwardingHeaders/wtf/ParallelJobs.h: Added.
10546        * platform/graphics/filters/FETurbulence.cpp:
10547        (WebCore::FETurbulence::PaintingData::PaintingData):
10548        (WebCore::FETurbulence::noise2D):
10549        (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
10550        (WebCore::FETurbulence::fillRegion):
10551        (WebCore::FETurbulence::fillRegionWorker):
10552        (WebCore::FETurbulence::apply):
10553        * platform/graphics/filters/FETurbulence.h:
10554
105552011-04-26  Pavel Feldman  <pfeldman@google.com>
10556
10557        Reviewed by Yury Semikhatsky.
10558
10559        Web Inspector: close button is off in docked mode on a mac.
10560        https://bugs.webkit.org/show_bug.cgi?id=59453
10561
10562        * inspector/front-end/inspector.css:
10563        (.toolbar-item.close-left):
10564
105652011-04-26  Pavel Feldman  <pfeldman@google.com>
10566
10567        Reviewed by Yury Semikhatsky.
10568
10569        Web Inspector: New Style is not working (UI glitch)
10570        https://bugs.webkit.org/show_bug.cgi?id=59451
10571
10572        * inspector/InspectorDOMStorageAgent.cpp:
10573        (WebCore::InspectorDOMStorageAgent::setFrontend):
10574        * inspector/front-end/AuditRules.js:
10575        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
10576        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
10577        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
10578        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
10579        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
10580        * inspector/front-end/CSSStyleModel.js:
10581        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
10582        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
10583        (WebInspector.CSSStyleModel.prototype.addRule):
10584        (WebInspector.CSSStyleModel.prototype.addRule.callback):
10585        (WebInspector.CSSStyleModel.prototype._documentElementId):
10586        * inspector/front-end/DOMAgent.js:
10587        (WebInspector.DOMNode.prototype._addAttribute):
10588        (WebInspector.DOMNode.prototype.documentElement):
10589        * inspector/front-end/ResourceTreeModel.js:
10590        (WebInspector.PageDispatcher.prototype.frameDetached):
10591        * inspector/front-end/StylesSidebarPane.js:
10592        (WebInspector.StylesSidebarPane.prototype._createNewRule):
10593
105942011-04-26  Pavel Feldman  <pfeldman@google.com>
10595
10596        Reviewed by Yury Semikhatsky.
10597
10598        Web Inspector: introduce DOMStorage::enable and disable.
10599        https://bugs.webkit.org/show_bug.cgi?id=59445
10600
10601        * inspector/Inspector.json:
10602        * inspector/InspectorAgent.cpp:
10603        (WebCore::InspectorAgent::InspectorAgent):
10604        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
10605        * inspector/InspectorDOMStorageAgent.cpp:
10606        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
10607        (WebCore::InspectorDOMStorageAgent::restore):
10608        (WebCore::InspectorDOMStorageAgent::enable):
10609        (WebCore::InspectorDOMStorageAgent::disable):
10610        * inspector/InspectorDOMStorageAgent.h:
10611        (WebCore::InspectorDOMStorageAgent::create):
10612        * inspector/front-end/DOMStorage.js:
10613        (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
10614        * inspector/front-end/ResourcesPanel.js:
10615        (WebInspector.ResourcesPanel.prototype._reset):
10616        * inspector/front-end/inspector.js:
10617
106182011-04-26  Pavel Feldman  <pfeldman@google.com>
10619
10620        Reviewed by Yury Semikhatsky.
10621
10622        Web Inspector: extract Page agent dispatcher into the ResourceTreeModel.
10623        https://bugs.webkit.org/show_bug.cgi?id=59440
10624
10625        * inspector/Inspector.json:
10626        * inspector/InspectorAgent.cpp:
10627        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
10628        * inspector/InspectorPageAgent.cpp:
10629        (WebCore::InspectorPageAgent::setFrontend):
10630        (WebCore::InspectorPageAgent::frameNavigated):
10631        * inspector/InspectorPageAgent.h:
10632        * inspector/front-end/AuditsPanel.js:
10633        (WebInspector.AuditsPanel):
10634        (WebInspector.AuditsPanel.prototype._onLoadEventFired):
10635        (WebInspector.AuditsPanel.prototype._domContentLoadedEventFired):
10636        * inspector/front-end/CSSStyleModel.js:
10637        (WebInspector.CSSStyleModelResourceBinding):
10638        (WebInspector.CSSStyleModelResourceBinding.prototype._inspectedURLChanged):
10639        * inspector/front-end/DOMBreakpointsSidebarPane.js:
10640        (WebInspector.DOMBreakpointsSidebarPane):
10641        (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):
10642        * inspector/front-end/DOMStorage.js:
10643        (WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
10644        * inspector/front-end/ExtensionServer.js:
10645        (WebInspector.ExtensionServer.prototype._inspectedURLChanged):
10646        (WebInspector.ExtensionServer.prototype.initExtensions):
10647        * inspector/front-end/NetworkPanel.js:
10648        (WebInspector.NetworkPanel):
10649        (WebInspector.NetworkPanel.prototype._onLoadEventFired):
10650        (WebInspector.NetworkPanel.prototype._domContentLoadedEventFired):
10651        (WebInspector.NetworkPanel.prototype._frameNavigated):
10652        * inspector/front-end/ResourceTreeModel.js:
10653        (WebInspector.ResourceTreeModel):
10654        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
10655        (WebInspector.ResourceTreeModel.prototype._dispatchInspectedURLChanged):
10656        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
10657        (WebInspector.ResourceTreeModel.prototype._frameDetached):
10658        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
10659        (WebInspector.PageDispatcher):
10660        (WebInspector.PageDispatcher.prototype.domContentEventFired):
10661        (WebInspector.PageDispatcher.prototype.loadEventFired):
10662        (WebInspector.PageDispatcher.prototype.frameNavigated):
10663        (WebInspector.PageDispatcher.prototype.frameDetached):
10664        * inspector/front-end/ResourcesPanel.js:
10665        (WebInspector.ResourcesPanel):
10666        (WebInspector.ResourcesPanel.prototype._onLoadEventFired):
10667        (WebInspector.ResourcesPanel.prototype._frameNavigated):
10668        * inspector/front-end/inspector.js:
10669
106702011-04-26  Csaba Osztrogonác  <ossy@webkit.org>
10671
10672        Unreviewed rollout r84877 and StyleRareInheritedData.cpp changes of r84892,
10673        because it broke transitions/multiple-text-shadow-transition.html
10674
10675        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
10676        https://bugs.webkit.org/show_bug.cgi?id=59377
10677
10678        * css/CSSStyleSelector.cpp:
10679        (WebCore::CSSStyleSelector::applyProperty):
10680        * page/animation/AnimationBase.cpp:
10681        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
10682        (WebCore::PropertyWrapperShadow::blend):
10683        * rendering/style/RenderStyle.cpp:
10684        (WebCore::RenderStyle::setTextShadow):
10685        (WebCore::RenderStyle::setBoxShadow):
10686        * rendering/style/RenderStyle.h:
10687        (WebCore::InheritedFlags::textShadow):
10688        * rendering/style/StyleRareInheritedData.cpp:
10689        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
10690        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
10691        * rendering/style/StyleRareInheritedData.h:
10692        * rendering/style/StyleRareNonInheritedData.cpp:
10693        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
10694
106952011-04-26  Mihai Parparita  <mihaip@chromium.org>
10696
10697        Reviewed by Adam Barth.
10698
10699        Turn off make built-in implicit rules for derived sources makefile
10700        https://bugs.webkit.org/show_bug.cgi?id=59418
10701
10702        We don't use any of make's built-in implicit rules, turning them off
10703        speeds up parsing of the makefile.
10704
10705        * WebCore.xcodeproj/project.pbxproj:
10706        * gyp/generate-derived-sources.sh:
10707
107082011-04-26  Leo Yang  <leo.yang@torchmobile.com.cn>
10709
10710        Reviewed by Nikolas Zimmermann.
10711
10712        ASSERT failure in SVGUseElement
10713        https://bugs.webkit.org/show_bug.cgi?id=59313
10714
10715        In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
10716        was wrong because the document may not be well-formed.
10717
10718        This patch asserts the element is not pending on resource or the
10719        document is not well-formed.
10720
10721        Test: svg/custom/use-crash-in-non-wellformed-document.svg
10722
10723        * svg/SVGUseElement.cpp:
10724        (WebCore::isWellFormedDocument):
10725        (WebCore::SVGUseElement::insertedIntoDocument):
10726
107272011-04-26  Mikhail Naganov  <mnaganov@chromium.org>
10728
10729        Reviewed by Pavel Feldman.
10730
10731        Web Inspector: [Chromium] Fix columns resizing in the detailed heap snapshot grids.
10732        https://bugs.webkit.org/show_bug.cgi?id=59438
10733
10734        * inspector/front-end/DetailedHeapshotView.js:
10735        (WebInspector.DetailedHeapshotView.prototype._changeView):
10736
107372011-04-26  David Levin  <levin@chromium.org>
10738
10739        Reviewed by Adam Barth.
10740
10741        Fix a few OwnPtr strict errors in WebCore headers.
10742        https://bugs.webkit.org/show_bug.cgi?id=59431
10743
10744        * bindings/js/ScheduledAction.cpp:
10745        (WebCore::ScheduledAction::create):
10746        * css/MediaQueryMatcher.cpp:
10747        (WebCore::MediaQueryMatcher::prepareEvaluator):
10748        * dom/NodeRareData.h:
10749        (WebCore::NodeListsNodeData::create):
10750        * dom/ScriptRunner.h:
10751        (WebCore::ScriptRunner::create):
10752        * inspector/WorkerInspectorController.cpp:
10753        (WebCore::WorkerInspectorController::connectFrontend):
10754        * loader/icon/IconDatabase.h:
10755        (WebCore::IconDatabase::create):
10756        * platform/graphics/SimpleFontData.cpp:
10757        (WebCore::SimpleFontData::verticalRightOrientationFontData):
10758        (WebCore::SimpleFontData::uprightOrientationFontData):
10759        (WebCore::SimpleFontData::brokenIdeographFontData):
10760        * rendering/style/StyleRareInheritedData.cpp:
10761        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
10762        * rendering/svg/SVGResources.h:
10763        (WebCore::SVGResources::ClipperFilterMaskerData::create):
10764        (WebCore::SVGResources::MarkerData::create):
10765        (WebCore::SVGResources::FillStrokeData::create):
10766        * storage/StorageSyncManager.cpp:
10767        (WebCore::StorageSyncManager::close):
10768        * workers/WorkerContext.cpp:
10769        (WebCore::CloseWorkerContextTask::create):
10770        * workers/WorkerMessagingProxy.cpp:
10771        (WebCore::MessageWorkerContextTask::create):
10772        (WebCore::MessageWorkerTask::create):
10773        (WebCore::WorkerExceptionTask::create):
10774        (WebCore::WorkerContextDestroyedTask::create):
10775        (WebCore::WorkerTerminateTask::create):
10776        (WebCore::WorkerThreadActivityReportTask::create):
10777        * workers/WorkerRunLoop.cpp:
10778        (WebCore::WorkerRunLoop::Task::create):
10779        * workers/WorkerThread.cpp:
10780        (WebCore::WorkerThreadStartupData::create):
10781        (WebCore::WorkerThreadShutdownFinishTask::create):
10782        (WebCore::WorkerThreadShutdownStartTask::create):
10783
107842011-04-26  Adam Klein  <adamk@chromium.org>
10785
10786        Reviewed by Adam Barth.
10787
10788        Fix last strict OwnPtr violation under svg/...
10789        https://bugs.webkit.org/show_bug.cgi?id=59429
10790
10791        * svg/SVGDocumentExtensions.cpp:
10792        (WebCore::SVGDocumentExtensions::removePendingResource):
10793
107942011-04-26  Adam Barth  <abarth@webkit.org>
10795
10796        Reviewed by David Levin.
10797
10798        Fix more strict OwnPtr violations in WebCore
10799        https://bugs.webkit.org/show_bug.cgi?id=59433
10800
10801        These manifest in the Chromium build.
10802
10803        * bindings/v8/ScriptController.cpp:
10804        (WebCore::ScriptController::ScriptController):
10805        * bindings/v8/ScriptDebugServer.cpp:
10806        (WebCore::ScriptDebugServer::editScriptSource):
10807        * bindings/v8/V8DOMMap.cpp:
10808        (WebCore::DOMDataStoreHandle::DOMDataStoreHandle):
10809        * bindings/v8/V8Proxy.cpp:
10810        (WebCore::V8Proxy::precompileScript):
10811        * bindings/v8/WorkerScriptController.cpp:
10812        (WebCore::WorkerScriptController::WorkerScriptController):
10813        * page/Page.cpp:
10814        (WebCore::Page::Page):
10815        (WebCore::Page::speechInput):
10816        * platform/PlatformGestureRecognizer.cpp:
10817        (WebCore::PlatformGestureRecognizer::create):
10818        * platform/PlatformGestureRecognizer.h:
10819        * platform/graphics/chromium/DrawingBufferChromium.cpp:
10820        (WebCore::DrawingBuffer::DrawingBuffer):
10821        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
10822        (WebCore::CCLayerImpl::CCLayerImpl):
10823        * platform/graphics/gpu/Texture.cpp:
10824        (WebCore::Texture::create):
10825        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
10826        (WebCore::BMPImageDecoder::decodeHelper):
10827        * platform/image-decoders/gif/GIFImageDecoder.cpp:
10828        (WebCore::GIFImageDecoder::decode):
10829        * platform/image-decoders/ico/ICOImageDecoder.cpp:
10830        (WebCore::ICOImageDecoder::decodeAtIndex):
10831        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
10832        (WebCore::JPEGImageDecoder::decode):
10833        * platform/image-decoders/png/PNGImageDecoder.cpp:
10834        (WebCore::PNGImageDecoder::decode):
10835        * storage/chromium/DatabaseTrackerChromium.cpp:
10836        (WebCore::DatabaseTracker::addOpenDatabase):
10837
108382011-04-25  David Levin  <levin@chromium.org>
10839
10840        Reviewed by Adam Barth.
10841
10842        Fix OwnPtr strict errors in CrossThreadTask.h
10843        https://bugs.webkit.org/show_bug.cgi?id=59427
10844
10845        * dom/CrossThreadTask.h:
10846        (WebCore::CrossThreadTask1::create):
10847        (WebCore::CrossThreadTask2::create):
10848        (WebCore::CrossThreadTask3::create):
10849        (WebCore::CrossThreadTask4::create):
10850        (WebCore::CrossThreadTask5::create):
10851        (WebCore::CrossThreadTask6::create):
10852        (WebCore::CrossThreadTask7::create):
10853        (WebCore::CrossThreadTask8::create):
10854
108552011-04-25  Mark Rowe  <mrowe@apple.com>
10856
10857        Reviewed by Dan Bernstein.
10858
10859        <rdar://problem/9330337> Leak of 'WebCore::ApplyPropertyFillLayer<WebCore::FillSize>'
10860
10861        * css/CSSStyleApplyProperty.cpp:
10862        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Don't initialize CSSPropertyWebkitMaskSize twice.
10863        * css/CSSStyleApplyProperty.h:
10864        (WebCore::CSSStyleApplyProperty::setPropertyValue): Add some asserts to catch this class of leak.
10865
108662011-04-25  Levi Weintraub  <leviw@chromium.org>
10867
10868        Reviewed by Ryosuke Niwa.
10869
10870        REGRESSION: a character appears after tab span when typing immediately before the tab span
10871        https://bugs.webkit.org/show_bug.cgi?id=58132
10872
10873        Correcting the order of operations we use to avoid inserting into invalid positions in
10874        ReplaceSelectionCommand to avoid inserting into tab-spans.
10875
10876        Test: editing/pasteboard/paste-before-tab-span.html
10877
10878        * editing/ReplaceSelectionCommand.cpp:
10879        (WebCore::ReplaceSelectionCommand::doApply): Moving positionOutsideTabSpan to after
10880        positionAvoidingPrecedingNodes, since that function could once again put our position
10881        inside a tab span.
10882
108832011-04-25  David Levin  <levin@chromium.org>
10884
10885        Reviewed by Adam Barth.
10886
10887        Fix OwnPtr strict error in ImageBuffer.h
10888        https://bugs.webkit.org/show_bug.cgi?id=59422
10889
10890        * platform/graphics/ImageBuffer.h:
10891        (WebCore::ImageBuffer::create):
10892
108932011-04-25  Adam Barth  <abarth@webkit.org>
10894
10895        Reviewed by David Levin.
10896
10897        Fix strict OwnPtr violations and whitelist known-tricky files
10898        https://bugs.webkit.org/show_bug.cgi?id=59421
10899
10900        With this patch, WebCore builds cleanly with strict OwnPtrs.
10901
10902        * dom/MessagePort.cpp:
10903        (WebCore::MessagePort::MessagePort):
10904        * dom/XMLDocumentParserLibxml2.cpp:
10905        * page/ContextMenuController.cpp:
10906        (WebCore::ContextMenuController::ContextMenuController):
10907        (WebCore::ContextMenuController::clearContextMenu):
10908        * page/PluginHalter.cpp:
10909        * platform/graphics/MediaPlayer.cpp:
10910        * platform/network/ResourceRequestBase.cpp:
10911        (WebCore::ResourceRequestBase::adopt):
10912        (WebCore::ResourceRequestBase::copyData):
10913        * svg/SVGDocumentExtensions.cpp:
10914
109152011-04-25  David Levin  <levin@chromium.org>
10916
10917        Reviewed by Adam Barth.
10918
10919        Fix OwnPtr strict errors in DatasetDOMStringMap.h.
10920        https://bugs.webkit.org/show_bug.cgi?id=59419
10921
10922        * dom/DatasetDOMStringMap.h:
10923        (WebCore::DatasetDOMStringMap::create):
10924
109252011-04-25  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
10926
10927        Reviewed by Eric Seidel.
10928
10929        KeyboardEvent.cpp should work with strict OwnPtrs.
10930        https://bugs.webkit.org/show_bug.cgi?id=59403
10931
10932        * dom/KeyboardEvent.cpp:
10933        (WebCore::KeyboardEvent::KeyboardEvent):
10934
109352011-04-25  James Robinson  <jamesr@chromium.org>
10936
10937        Reviewed by Eric Seidel.
10938
10939        Fix OwnPtr strict errors in RenderStyle and make StyleRareInheritedData::textShadow an OwnPtr
10940        https://bugs.webkit.org/show_bug.cgi?id=59377
10941
10942        * css/CSSStyleSelector.cpp:
10943        (WebCore::CSSStyleSelector::applyProperty):
10944        * page/animation/AnimationBase.cpp:
10945        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
10946        (WebCore::PropertyWrapperShadow::blend):
10947        * rendering/style/RenderStyle.cpp:
10948        (WebCore::RenderStyle::setTextShadow):
10949        (WebCore::RenderStyle::setBoxShadow):
10950        * rendering/style/RenderStyle.h:
10951        (WebCore::InheritedFlags::textShadow):
10952        * rendering/style/StyleRareInheritedData.cpp:
10953        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
10954        (WebCore::StyleRareInheritedData::~StyleRareInheritedData):
10955        * rendering/style/StyleRareInheritedData.h:
10956        * rendering/style/StyleRareNonInheritedData.cpp:
10957        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
10958
109592011-04-25  Sheriff Bot  <webkit.review.bot@gmail.com>
10960
10961        Unreviewed, rolling out r84864.
10962        http://trac.webkit.org/changeset/84864
10963        https://bugs.webkit.org/show_bug.cgi?id=59413
10964
10965        Expect result of use-crash-in-non-wellformed-document.svg is
10966        platform dependent (Requested by leoyang on #webkit).
10967
10968        * svg/SVGUseElement.cpp:
10969        (WebCore::SVGUseElement::insertedIntoDocument):
10970
109712011-04-25  Leo Yang  <leo.yang@torchmobile.com.cn>
10972
10973        Reviewed by Nikolas Zimmermann.
10974
10975        ASSERT failure in SVGUseElement
10976        https://bugs.webkit.org/show_bug.cgi?id=59313
10977
10978        In SVGUseElement::insertedIntoDocument(), ASSERT(!m_isPendingResource)
10979        was wrong because the document may not be well-formed.
10980
10981        This patch asserts the element is not pending on resource or the
10982        document is not well-formed.
10983
10984        Test: svg/custom/use-crash-in-non-wellformed-document.svg
10985
10986        * svg/SVGUseElement.cpp:
10987        (WebCore::isWellFormedDocument):
10988        (WebCore::SVGUseElement::insertedIntoDocument):
10989
109902011-04-25  Igor Oliveira  <igor.oliveira@openbossa.org>
10991
10992        Reviewed by Tony Chang.
10993
10994        Move complexity from DataTransferItemsChromium and DataTransferItemChromium for base class
10995        https://bugs.webkit.org/show_bug.cgi?id=59028
10996
10997        The DataTransferItemsChromium and DataTransferItemChromium code can be reused by other platforms.
10998        Moving the code for base class we can reduce the efforts to support DataTransferItems
10999        element in different platforms.
11000
11001        * Android.mk:
11002        * CMakeLists.txt:
11003        * GNUmakefile.list.am:
11004        * WebCore.gypi:
11005        * WebCore.pro:
11006        * WebCore.vcproj/WebCore.vcproj:
11007        * WebCore.xcodeproj/project.pbxproj:
11008        * dom/DataTransferItem.cpp:
11009        (WebCore::DataTransferItem::DataTransferItem):
11010        (WebCore::DataTransferItem::owner):
11011        (WebCore::DataTransferItem::kind):
11012        (WebCore::DataTransferItem::type):
11013        * dom/DataTransferItem.h:
11014        * dom/DataTransferItems.cpp: Copied from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
11015        (WebCore::DataTransferItems::DataTransferItems):
11016        (WebCore::DataTransferItems::length):
11017        (WebCore::DataTransferItems::item):
11018        (WebCore::DataTransferItems::deleteItem):
11019        (WebCore::DataTransferItems::clear):
11020        (WebCore::DataTransferItems::add):
11021        * dom/DataTransferItems.h:
11022        * platform/chromium/DataTransferItemChromium.cpp:
11023        (WebCore::DataTransferItem::create):
11024        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
11025        (WebCore::DataTransferItemChromium::getAsString):
11026        (WebCore::DataTransferItemChromium::getAsFile):
11027        * platform/chromium/DataTransferItemChromium.h:
11028        * platform/chromium/DataTransferItemsChromium.cpp:
11029        (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
11030        * platform/chromium/DataTransferItemsChromium.h:
11031
110322011-04-25  Chris Marrin  <cmarrin@apple.com>
11033
11034        Reviewed by Simon Fraser.
11035
11036        REGRESSION(75137): directly composited images are double-drawn sometimes
11037        https://bugs.webkit.org/show_bug.cgi?id=58632
11038
11039        Depending on the order of operations (layout, creating compositing
11040        layers and creating simple image layers) a layer can have both image
11041        content and have m_drawsContent=true. In this case 2 copies of the image
11042        are drawn in the layer. If the image has alpha, it looks wrong.
11043
11044        I added an updateDrawsContent() call after setting the image contents
11045        to make sure it's correct.
11046
11047        I couldn't create a test case that shows the problem because layerTreeAsText()
11048        doesn't emit enough info to show this level of detail. I've opened
11049        https://bugs.webkit.org/show_bug.cgi?id=59352 to fix that.
11050
11051        * rendering/RenderLayerBacking.cpp:
11052        (WebCore::RenderLayerBacking::updateImageContents):
11053
110542011-04-25  Kenneth Russell  <kbr@google.com>
11055
11056        Reviewed by David Levin.
11057
11058        Fix OwnPtr strict errors in InlineFlowBox.cpp
11059        https://bugs.webkit.org/show_bug.cgi?id=59392
11060
11061        * rendering/InlineFlowBox.cpp:
11062        (WebCore::InlineFlowBox::setLayoutOverflow):
11063        (WebCore::InlineFlowBox::setVisualOverflow):
11064
110652011-04-25  Kenneth Russell  <kbr@google.com>
11066
11067        Reviewed by David Levin.
11068
11069        Fix OwnPtr strict errors in TransformState.cpp
11070        https://bugs.webkit.org/show_bug.cgi?id=59380
11071
11072        * rendering/TransformState.cpp:
11073        (WebCore::TransformState::applyTransform):
11074
110752011-04-25  Adam Barth  <abarth@webkit.org>
11076
11077        Reviewed by James Robinson.
11078
11079        DOMWindow.cpp should work with strict OwnPtrs
11080        https://bugs.webkit.org/show_bug.cgi?id=59356
11081
11082        * page/DOMWindow.cpp:
11083        (WebCore::PostMessageTimer::fired):
11084        (WebCore::DOMWindow::postMessageTimerFired):
11085        * page/DOMWindow.h:
11086
110872011-04-25  Adam Klein  <adamk@chromium.org>
11088
11089        Reviewed by James Robinson.
11090
11091        Fix OwnPtr strict errors in some SVG classes.
11092        https://bugs.webkit.org/show_bug.cgi?id=59395
11093
11094        * rendering/style/SVGRenderStyleDefs.cpp:
11095        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
11096        * svg/SVGSVGElement.cpp:
11097        (WebCore::SVGSVGElement::SVGSVGElement):
11098        * svg/SVGStyledTransformableElement.cpp:
11099        (WebCore::SVGStyledTransformableElement::supplementalTransform):
11100        * svg/SVGTextElement.cpp:
11101        (WebCore::SVGTextElement::supplementalTransform):
11102        * svg/graphics/SVGImage.cpp:
11103        (WebCore::SVGImage::dataChanged):
11104
111052011-04-25  Adam Barth  <abarth@webkit.org>
11106
11107        Re-land changes to ValidationMessage.
11108
11109        * html/ValidationMessage.cpp:
11110        (WebCore::ValidationMessage::setMessage):
11111        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
11112        (WebCore::ValidationMessage::requestToHideMessage):
11113
111142011-04-25  Ojan Vafai  <ojan@chromium.org>
11115
11116        Reviewed by James Robinson.
11117
11118        fix OwnPtr strict error in FrameView.cpp
11119        https://bugs.webkit.org/show_bug.cgi?id=59402
11120
11121        * page/FrameView.cpp:
11122        (WebCore::FrameView::FrameView):
11123        (WebCore::FrameView::addWidgetToUpdate):
11124
111252011-04-25  Adam Klein  <adamk@chromium.org>
11126
11127        Unreviewed, rolling out r84844.
11128        http://trac.webkit.org/changeset/84844
11129        https://bugs.webkit.org/show_bug.cgi?id=59395
11130
11131        Checked in too much.
11132
11133        * rendering/style/SVGRenderStyleDefs.cpp:
11134        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
11135        * svg/SVGDocumentExtensions.cpp:
11136        (WebCore::SVGDocumentExtensions::removePendingResource):
11137        * svg/SVGSVGElement.cpp:
11138        (WebCore::SVGSVGElement::SVGSVGElement):
11139        * svg/SVGStyledTransformableElement.cpp:
11140        (WebCore::SVGStyledTransformableElement::supplementalTransform):
11141        * svg/SVGTextElement.cpp:
11142        (WebCore::SVGTextElement::supplementalTransform):
11143        * svg/graphics/SVGImage.cpp:
11144        (WebCore::SVGImage::dataChanged):
11145
111462011-04-25  Adrienne Walker  <enne@google.com>
11147
11148        Reviewed by David Levin.
11149
11150        Make ActiveDOMCallback play nice with OwnPtr strict mode
11151        https://bugs.webkit.org/show_bug.cgi?id=59398
11152
11153        * bindings/generic/ActiveDOMCallback.cpp:
11154        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
11155
111562011-04-25  Adam Klein  <adamk@chromium.org>
11157
11158        Reviewed by James Robinson.
11159
11160        Fix OwnPtr strict errors in some SVG classes.
11161        https://bugs.webkit.org/show_bug.cgi?id=59395
11162
11163        * rendering/style/SVGRenderStyleDefs.cpp:
11164        (WebCore::StyleShadowSVGData::StyleShadowSVGData):
11165        * svg/SVGSVGElement.cpp:
11166        (WebCore::SVGSVGElement::SVGSVGElement):
11167        * svg/SVGStyledTransformableElement.cpp:
11168        (WebCore::SVGStyledTransformableElement::supplementalTransform):
11169        * svg/SVGTextElement.cpp:
11170        (WebCore::SVGTextElement::supplementalTransform):
11171        * svg/graphics/SVGImage.cpp:
11172        (WebCore::SVGImage::dataChanged):
11173
111742011-04-25  James Robinson  <jamesr@chromium.org>
11175
11176        Unreviewed, rolling out r84835.
11177        http://trac.webkit.org/changeset/84835
11178        https://bugs.webkit.org/show_bug.cgi?id=59394
11179
11180        Breaks compile because Deque<OwnPtr> doesn't work
11181
11182        * dom/XMLDocumentParserLibxml2.cpp:
11183        (WebCore::PendingCallbacks::~PendingCallbacks):
11184        (WebCore::PendingCallbacks::appendStartElementNSCallback):
11185        (WebCore::PendingCallbacks::appendEndElementNSCallback):
11186        (WebCore::PendingCallbacks::appendCharactersCallback):
11187        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
11188        (WebCore::PendingCallbacks::appendCDATABlockCallback):
11189        (WebCore::PendingCallbacks::appendCommentCallback):
11190        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
11191        (WebCore::PendingCallbacks::appendErrorCallback):
11192        (WebCore::XMLDocumentParser::XMLDocumentParser):
11193        * html/ValidationMessage.cpp:
11194        (WebCore::ValidationMessage::setMessage):
11195        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
11196        (WebCore::ValidationMessage::requestToHideMessage):
11197
111982011-04-25  James Robinson  <jamesr@chromium.org>
11199
11200        Reviewed by Sam Weinig.
11201
11202        Fix OwnPtr strict mode violation in ImageBufferCG
11203        https://bugs.webkit.org/show_bug.cgi?id=59396
11204
11205        * platform/graphics/cg/ImageBufferCG.cpp:
11206        (WebCore::ImageBuffer::ImageBuffer):
11207
112082011-04-25  Huang Dongsung  <luxtella@company100.net>
11209
11210        Reviewed by Dirk Schulze.
11211
11212        [Skia] Remove an unused local variable in PlatformContextSkia::readbackHardwareToSoftware().
11213        https://bugs.webkit.org/show_bug.cgi?id=59308
11214
11215        An unused local variable is created and even allocates heap memory.
11216
11217        * platform/graphics/skia/PlatformContextSkia.cpp:
11218        (WebCore::PlatformContextSkia::readbackHardwareToSoftware):
11219
112202011-04-25  Geoffrey Garen  <ggaren@apple.com>
11221
11222        Qt build fix: Updated files not used by other ports for rename.
11223
11224        * bindings/js/JSTouchCustom.cpp:
11225        (WebCore::toJSNewlyCreated):
11226        * bindings/js/JSTouchListCustom.cpp:
11227        (WebCore::toJSNewlyCreated):
11228
112292011-04-25  Adrienne Walker  <enne@google.com>
11230
11231        Reviewed by David Levin.
11232
11233        WebCore/css/CSS* files should play nice with strict OwnPtrs
11234        https://bugs.webkit.org/show_bug.cgi?id=59382
11235
11236        * css/CSSFontFaceSource.cpp:
11237        (WebCore::CSSFontFaceSource::getFontData):
11238        * css/CSSParser.cpp:
11239        (WebCore::CSSParser::addProperty):
11240        (WebCore::CSSParser::parseValue):
11241
112422011-04-25  Adam Barth  <abarth@webkit.org>
11243
11244        Reviewed by James Robinson.
11245
11246        ValidationMessage and XMLDocumentParserLibxml2 should play nice with strict OwnPtrs
11247        https://bugs.webkit.org/show_bug.cgi?id=59394
11248
11249        * dom/XMLDocumentParserLibxml2.cpp:
11250        (WebCore::PendingCallbacks::PendingCallbacks):
11251        (WebCore::PendingCallbacks::appendStartElementNSCallback):
11252        (WebCore::PendingCallbacks::appendEndElementNSCallback):
11253        (WebCore::PendingCallbacks::appendCharactersCallback):
11254        (WebCore::PendingCallbacks::appendProcessingInstructionCallback):
11255        (WebCore::PendingCallbacks::appendCDATABlockCallback):
11256        (WebCore::PendingCallbacks::appendCommentCallback):
11257        (WebCore::PendingCallbacks::appendInternalSubsetCallback):
11258        (WebCore::PendingCallbacks::appendErrorCallback):
11259        (WebCore::XMLDocumentParser::XMLDocumentParser):
11260        * html/ValidationMessage.cpp:
11261        (WebCore::ValidationMessage::setMessage):
11262        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
11263        (WebCore::ValidationMessage::requestToHideMessage):
11264
112652011-04-25  James Robinson  <jamesr@chromium.org>
11266
11267        Reviewed by Adam Barth.
11268
11269        Fix OwnPtr strictness issues in WebCore/inspector/
11270        https://bugs.webkit.org/show_bug.cgi?id=59387
11271
11272        * inspector/InspectorAgent.cpp:
11273        (WebCore::InspectorAgent::InspectorAgent):
11274        * inspector/InspectorController.cpp:
11275        (WebCore::InspectorController::InspectorController):
11276        * inspector/InspectorStyleSheet.cpp:
11277        (WebCore::InspectorStyleSheet::ensureSourceData):
11278
112792011-04-25  Geoffrey Garen  <ggaren@apple.com>
11280
11281        Reviewed by Beth Dakin.
11282
11283        Removed XPathNamespace because it was unused
11284        https://bugs.webkit.org/show_bug.cgi?id=59381
11285
11286        This allows us to make Node::ownerDocument() non-virtual, though it has
11287        the unhappy side-effect of rebuilding the world.
11288
11289        * CMakeLists.txt:
11290        * GNUmakefile.list.am:
11291        * WebCore.gypi:
11292        * WebCore.pro:
11293        * WebCore.vcproj/WebCore.vcproj:
11294        * WebCore.xcodeproj/project.pbxproj: Bye bye dead code.
11295
11296        * dom/Node.h: Hello fast code!
11297
11298        * xml/XPathNamespace.cpp: Removed.
11299        * xml/XPathNamespace.h: Removed.
11300
113012011-04-25  Adam Barth  <abarth@webkit.org>
11302
11303        Reviewed by Darin Adler.
11304
11305        HistoryItemMac should play nice with OwnPtrs
11306        https://bugs.webkit.org/show_bug.cgi?id=59388
11307
11308        * history/mac/HistoryItemMac.mm:
11309        (WebCore::HistoryItem::setTransientProperty):
11310
113112011-04-25  David Levin  <levin@chromium.org>
11312
11313        Reviewed by Kenneth Russell.
11314
11315        Fix strict OwnPtrs in ContextMenuController.cpp
11316        https://bugs.webkit.org/show_bug.cgi?id=59375
11317
11318        * page/ContextMenuController.cpp:
11319        (WebCore::ContextMenuController::createContextMenu):
11320        (WebCore::separatorItem):
11321
113222011-04-25  Adam Barth  <abarth@webkit.org>
11323
11324        Reviewed by Darin Adler.
11325
11326        CheckedRadioButton should play nice with strict OwnPtr
11327        https://bugs.webkit.org/show_bug.cgi?id=59386
11328
11329        * dom/CheckedRadioButtons.cpp:
11330        (WebCore::CheckedRadioButtons::addButton):
11331
113322011-04-25  Adam Barth  <abarth@webkit.org>
11333
11334        Reviewed by David Levin.
11335
11336        Resource*.cpp should play nice with strict OwnPtrs
11337        https://bugs.webkit.org/show_bug.cgi?id=59383
11338
11339        * bridge/runtime_method.cpp:
11340        (JSC::RuntimeMethod::RuntimeMethod):
11341        * platform/network/ResourceHandle.cpp:
11342        (WebCore::ResourceHandle::ResourceHandle):
11343        * platform/network/ResourceResponseBase.cpp:
11344        (WebCore::ResourceResponseBase::adopt):
11345        (WebCore::ResourceResponseBase::copyData):
11346
113472011-04-25  Adam Barth  <abarth@webkit.org>
11348
11349        Reviewed by David Levin.
11350
11351        Page*.cpp and objc_runtime.mm should play nice with strict OwnPtrs
11352        https://bugs.webkit.org/show_bug.cgi?id=59374
11353
11354        * bridge/objc/objc_runtime.mm:
11355        (JSC::Bindings::callObjCFallbackObject):
11356        * page/Page.cpp:
11357        (WebCore::Page::Page):
11358        (WebCore::Page::initGroup):
11359        * page/PageGroup.cpp:
11360        (WebCore::PageGroup::addUserScriptToWorld):
11361        (WebCore::PageGroup::addUserStyleSheetToWorld):
11362        * page/mac/PageMac.cpp:
11363        (WebCore::Page::addSchedulePair):
11364
113652011-04-25  Geoffrey Garen  <ggaren@apple.com>
11366
11367        Build fix: This time for sure!
11368
11369        * dom/make_names.pl:
11370
113712011-04-25  Geoffrey Garen  <ggaren@apple.com>
11372
11373        Build fix: Let's edit the script instead of the autogenrated file. That
11374        way, our change will stand the test of time.
11375
11376        * dom/make_names.pl:
11377
113782011-04-25  Adam Barth  <abarth@webkit.org>
11379
11380        Reviewed by David Levin.
11381
11382        Fix strict OwnPtrs in HTMLMediaElement and HTTPHeaderMap
11383        https://bugs.webkit.org/show_bug.cgi?id=59368
11384
11385        * html/HTMLMediaElement.cpp:
11386        (WebCore::HTMLMediaElement::HTMLMediaElement):
11387        * platform/network/HTTPHeaderMap.cpp:
11388        (WebCore::HTTPHeaderMap::copyData):
11389
113902011-04-25  James Robinson  <jamesr@chromium.org>
11391
11392        Reviewed by Adam Barth.
11393
11394        Fix strict OwnPtr violations in Render*.cpp
11395        https://bugs.webkit.org/show_bug.cgi?id=59361
11396
11397        * rendering/RenderBlock.cpp:
11398        (WebCore::RenderBlock::RenderBlock):
11399        (WebCore::RenderBlock::finishDelayUpdateScrollInfo):
11400        * rendering/RenderBox.cpp:
11401        (WebCore::RenderBox::addLayoutOverflow):
11402        (WebCore::RenderBox::addVisualOverflow):
11403        * rendering/RenderButton.cpp:
11404        (WebCore::RenderButton::styleDidChange):
11405        * rendering/RenderLayer.cpp:
11406        (WebCore::RenderLayer::updateTransform):
11407        (WebCore::RenderLayer::paintChildLayerIntoColumns):
11408        (WebCore::RenderLayer::hitTestChildLayerColumns):
11409        (WebCore::RenderLayer::ensureBacking):
11410        * rendering/RenderTable.cpp:
11411        (WebCore::RenderTable::styleDidChange):
11412        * rendering/RenderView.cpp:
11413        (WebCore::RenderView::compositor):
11414        * rendering/style/RenderStyle.cpp:
11415        (WebCore::RenderStyle::addCachedPseudoStyle):
11416        (WebCore::RenderStyle::accessCounterDirectives):
11417        (WebCore::RenderStyle::accessAnimations):
11418        (WebCore::RenderStyle::accessTransitions):
11419        * rendering/svg/RenderSVGResourceFilter.cpp:
11420        (WebCore::RenderSVGResourceFilter::applyResource):
11421        * rendering/svg/SVGResources.cpp:
11422        (WebCore::SVGResources::SVGResources):
11423
114242011-04-25  Adam Barth  <abarth@webkit.org>
11425
11426        Attempt to fix the compile.
11427
11428        * platform/graphics/MediaPlayer.cpp:
11429        (WebCore::MediaPlayer::loadWithNextMediaEngine):
11430
114312011-04-25  Geoffrey Garen  <ggaren@apple.com>
11432
11433        Rubber-stamped by Beth Dakin.
11434
11435        Merged CREATE_DOM_NODE_WRAPPER and CREATE_DOM_OBJECT_WRAPPER into
11436        CREATE_DOM_WRAPPER because there's no meaningful difference between
11437        them anymore.
11438
11439        * bindings/js/JSCDATASectionCustom.cpp:
11440        (WebCore::toJSNewlyCreated):
11441        * bindings/js/JSCSSRuleCustom.cpp:
11442        (WebCore::toJS):
11443        * bindings/js/JSCSSValueCustom.cpp:
11444        (WebCore::toJS):
11445        * bindings/js/JSDOMBinding.h:
11446        * bindings/js/JSDocumentCustom.cpp:
11447        (WebCore::toJS):
11448        * bindings/js/JSElementCustom.cpp:
11449        (WebCore::toJSNewlyCreated):
11450        * bindings/js/JSEventCustom.cpp:
11451        (WebCore::toJS):
11452        * bindings/js/JSHTMLCollectionCustom.cpp:
11453        (WebCore::toJS):
11454        * bindings/js/JSImageDataCustom.cpp:
11455        (WebCore::toJS):
11456        * bindings/js/JSNodeCustom.cpp:
11457        (WebCore::createWrapperInline):
11458        * bindings/js/JSSVGPathSegCustom.cpp:
11459        (WebCore::toJS):
11460        * bindings/js/JSStyleSheetCustom.cpp:
11461        (WebCore::toJS):
11462        * bindings/js/JSTextCustom.cpp:
11463        (WebCore::toJSNewlyCreated):
11464        * bindings/js/JSWebKitCSSMatrixCustom.cpp:
11465        (WebCore::JSWebKitCSSMatrixConstructor::constructJSWebKitCSSMatrix):
11466        * bindings/js/JSWebSocketCustom.cpp:
11467        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
11468        * bindings/js/JSXMLHttpRequestCustom.cpp:
11469        (WebCore::JSXMLHttpRequestConstructor::constructJSXMLHttpRequest):
11470        * bindings/js/JSXSLTProcessorCustom.cpp:
11471        (WebCore::JSXSLTProcessorConstructor::constructJSXSLTProcessor):
11472
114732011-04-25  Adam Barth  <abarth@webkit.org>
11474
11475        Reviewed by James Robinson.
11476
11477        HTMLDocumentParser should play nice with OwnPtrs
11478        https://bugs.webkit.org/show_bug.cgi?id=59363
11479
11480        * html/parser/HTMLDocumentParser.cpp:
11481        (WebCore::HTMLDocumentParser::pumpTokenizer):
11482
114832011-04-25  Adam Barth  <abarth@webkit.org>
11484
11485        Reviewed by James Robinson.
11486
11487        Frame.cpp should work with strict OwnPtrs
11488        https://bugs.webkit.org/show_bug.cgi?id=59360
11489
11490        * page/Frame.cpp:
11491        (WebCore::createRegExpForLabels):
11492
114932011-04-25  Adam Barth  <abarth@webkit.org>
11494
11495        Reviewed by David Levin.
11496
11497        Fix strict OwnPtr in Element.cpp
11498        https://bugs.webkit.org/show_bug.cgi?id=59357
11499
11500        * dom/NodeRareData.h:
11501        (WebCore::NodeRareData::ensureEventTargetData):
11502
115032011-04-25  Adam Barth  <abarth@webkit.org>
11504
11505        Reviewed by David Levin.
11506
11507        Fix strict OwnPtr issues in Media*.cpp
11508        https://bugs.webkit.org/show_bug.cgi?id=59354
11509
11510        There's still a tricky case in MediaPlayer.cpp, but we'll worry about
11511        that later.
11512
11513        * css/MediaQueryMatcher.cpp:
11514        (WebCore::MediaQueryMatcher::addListener):
11515        * dom/Document.cpp:
11516        * platform/graphics/MediaPlayer.cpp:
11517        (WebCore::createNullMediaPlayer):
11518
115192011-04-25  James Robinson  <jamesr@chromium.org>
11520
11521        Reviewed by David Levin.
11522
11523        Fix strict OwnPtr violations in ListHashSet and RenderLayerCompositor
11524        https://bugs.webkit.org/show_bug.cgi?id=59353
11525
11526        * rendering/RenderLayerCompositor.cpp:
11527        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
11528
115292011-04-25  Adam Barth  <abarth@webkit.org>
11530
11531        Reviewed by James Robinson.
11532
11533        Worker*.cpp should work with strict OwnPtrs
11534        https://bugs.webkit.org/show_bug.cgi?id=59346
11535
11536        * inspector/WorkerInspectorController.cpp:
11537        (WebCore::WorkerInspectorController::WorkerInspectorController):
11538        * workers/WorkerContext.cpp:
11539        (WebCore::WorkerContext::WorkerContext):
11540        * workers/WorkerRunLoop.cpp:
11541        (WebCore::WorkerRunLoop::WorkerRunLoop):
11542        * workers/WorkerScriptLoader.cpp:
11543        (WebCore::WorkerScriptLoader::createResourceRequest):
11544
115452011-04-25  James Robinson  <jamesr@chromium.org>
11546
11547        Reviewed by Adam Barth.
11548
11549        Remove bad use of OwnPtr::set() in IconDatabase.cpp
11550        https://bugs.webkit.org/show_bug.cgi?id=59344
11551
11552        Needed for strict OwnPtr compliance.
11553
11554        * loader/icon/IconDatabase.cpp:
11555        (WebCore::readySQLiteStatement):
11556
115572011-04-25  Adam Barth  <abarth@webkit.org>
11558
11559        Reviewed by Maciej Stachowiak.
11560
11561        ImageBuffer.h should work with strict OwnPtrs
11562        https://bugs.webkit.org/show_bug.cgi?id=59341
11563
11564        This patch is to prepare for the strict OwnPtr hack-a-thon.
11565
11566        * platform/graphics/ImageBuffer.h:
11567        (WebCore::ImageBuffer::create):
11568
115692011-04-25  Steve Falkenburg  <sfalken@apple.com>
11570
11571        Reviewed by Brian Weinstein.
11572
11573        WebCore build on Windows should include windows.h in its precompiled header to speed builds
11574        https://bugs.webkit.org/show_bug.cgi?id=59339
11575
11576        windows.h is included by several of the underlying wtf headers, including Atomics.h and
11577        ThreadingPrimitives.h anyway, so include it in the WebCorePrefix.h to speed up compilation.
11578
11579        On my 8 core Mac Pro, this reduces a clean rebuild of debug WebCore from 8 minutes to 7 minutes
11580        (a 12% speedup).
11581
11582        * WebCorePrefix.h: Include windows.h
11583
115842011-04-25  Martin Robinson  <mrobinson@igalia.com>
11585
11586        Reviewed by Xan Lopez.
11587
11588        [GTK] Crash in WebCore::FrameView::notifyPageThatContentAreaWillPaint()
11589        https://bugs.webkit.org/show_bug.cgi?id=59311
11590
11591        * platform/gtk/MainFrameScrollbarGtk.cpp:
11592        (MainFrameScrollbarGtk::attachAdjustment): Before connecting an adjustment to a scrollbar
11593        disconnect any lingering signal handlers. This prevents an adjustment from controlling the
11594        active ScrollView and some zombie ScrollView.
11595
115962011-04-25  Geoffrey Garen  <ggaren@apple.com>
11597
11598        Another shot at fixing the EFL build.
11599
11600        * UseJSC.cmake:
11601        * bindings/js/JSDOMBinding.cpp:
11602
116032011-04-25  Geoffrey Garen  <ggaren@apple.com>
11604
11605        Try to fix EFL build.
11606
11607        * UseJSC.cmake: Added a missing file.
11608
116092011-04-25  Geoffrey Garen  <ggaren@apple.com>
11610
11611        Reviewed by Oliver Hunt.
11612
11613        Removed a use of markDOMObjectWrapper: ActiveDOMObjects, Workers, and MessagePorts
11614        https://bugs.webkit.org/show_bug.cgi?id=59333
11615
11616        * WebCore.xcodeproj/project.pbxproj: Added .idl files for easier editing.
11617
11618        * bindings/js/JSDOMBinding.cpp:
11619        * bindings/js/JSDOMBinding.h:
11620        * bindings/js/JSDocumentCustom.cpp:
11621        * bindings/js/JSWorkerContextCustom.cpp:
11622        (WebCore::JSWorkerContext::visitChildren): Removed now-unused functions.
11623
11624        * bindings/scripts/CodeGeneratorJS.pm: Added support for ActiveDOMObject
11625        lifetime management.
11626
11627        * dom/Document.idl: No need for a custom mark function anymore, since
11628        ActiveDOMObjets now manage their own lifetimes.
11629
11630        * dom/MessagePort.cpp:
11631        (WebCore::MessagePort::hasPendingActivity): Correctly report that we
11632        have pending activity when we're remotely entangled, instead of relying
11633        on our clients to know this about us and do the check for us.
11634
11635        * dom/MessagePort.h: FIXME!
11636
11637        * dom/MessagePort.idl:
11638        * fileapi/DOMFileSystem.idl:
11639        * fileapi/FileReader.idl:
11640        * fileapi/FileWriter.idl:
11641        * notifications/Notification.idl:
11642        * notifications/NotificationCenter.idl:
11643        * page/EventSource.idl:
11644        * storage/IDBDatabase.idl:
11645        * storage/IDBRequest.idl:
11646        * storage/IDBTransaction.idl:
11647        * webaudio/AudioContext.idl:
11648        * websockets/WebSocket.idl:
11649        * workers/AbstractWorker.idl:
11650        * workers/SharedWorker.idl:
11651        * workers/Worker.idl: Opt in to ActiveDOMObject lifetime management.
11652
11653        * workers/WorkerContext.cpp:
11654        (WebCore::WorkerContext::hasPendingActivity): No need to make up for
11655        MessagePort::hasPendingActivity being wrong anymore, since it's now right.
11656
11657        * xml/XMLHttpRequest.idl: Opt in to ActiveDOMObject lifetime management.
11658
116592011-04-25  Yury Semikhatsky  <yurys@chromium.org>
11660
11661        Reviewed by Pavel Feldman.
11662
11663        Web Inspector: worker messages should be routed to corresponding worker front-end
11664        https://bugs.webkit.org/show_bug.cgi?id=59323
11665
11666        Added WorkerManager which is responsible for routing messages between
11667        Page inspector front-end and Worker inspector front-ends.
11668
11669        * WebCore.gypi:
11670        * inspector/front-end/WebKit.qrc:
11671        * inspector/front-end/WorkerManager.js: Added.
11672        (WebInspector.WorkerManager):
11673        (WebInspector.WorkerManager.loaded.InspectorFrontendHost.sendMessageToBackend):
11674        (WebInspector.WorkerManager.loaded.InspectorFrontendHost.loaded):
11675        (WebInspector.WorkerManager.loaded):
11676        (WebInspector.WorkerFrontendStub):
11677        (WebInspector.WorkerFrontendStub.prototype._receiveMessage):
11678        (WebInspector.WorkerDispatcher):
11679        (WebInspector.WorkerDispatcher.prototype._receiveMessage):
11680        (WebInspector.WorkerDispatcher.prototype.workerCreated):
11681        (WebInspector.WorkerDispatcher.prototype.dispatchMessageFromWorker):
11682        * inspector/front-end/inspector.html:
11683        * inspector/front-end/inspector.js:
11684        (WebInspector.loaded):
11685
116862011-04-25  Annie Sullivan  <sullivan@chromium.org>
11687
11688        Reviewed by Pavel Feldman.
11689
11690        Web Inspector: [Resources panel] Should be easy to copy data.
11691        https://bugs.webkit.org/show_bug.cgi?id=45662
11692
11693        Adds context menu items to copy resource location, resource request headers, and resource response headers.
11694
11695        * inspector/front-end/NetworkPanel.js:
11696        (WebInspector.NetworkPanel.prototype._contextMenu): Add new items to context menu.
11697        (WebInspector.NetworkPanel.prototype._exportLocation): Copy resource location to clipboard.
11698        (WebInspector.NetworkPanel.prototype._exportRequestHeaders): Copy resource request headers to clipboard.
11699        (WebInspector.NetworkPanel.prototype._exportResponseHeaders): Copy resource response headers to clipboard.
11700        * inspector/front-end/Resource.js:
11701        (WebInspector.Resource.prototype.get requestHeadersText): If _requestHeadersText is undefined, generate it from requestHeaders.
11702        (WebInspector.Resource.prototype.get responseHeadersText): If _responseHeadersText is undefined, generate it form responseHeaders.
11703
117042011-04-25  Alexander Pavlov  <apavlov@chromium.org>
11705
11706        Reviewed by Yury Semikhatsky.
11707
11708        Web Inspector: CSS is parsed improperly when saved in UTF-8 with a BOM
11709        https://bugs.webkit.org/show_bug.cgi?id=59322
11710
11711        Use TextResourceDecoder to determine external stylesheet charsets correctly.
11712
11713        Test: inspector/styles/parse-utf8-bom.html
11714
11715        * inspector/InspectorStyleSheet.cpp:
11716        (WebCore::InspectorStyleSheet::originalStyleSheetText):
11717
117182011-04-25  Pavel Feldman  <pfeldman@google.com>
11719
11720        Not reviewed: Inspector.json cleanup.
11721
11722        * inspector/Inspector.json:
11723
117242011-04-25  Yury Semikhatsky  <yurys@chromium.org>
11725
11726        Reviewed by Pavel Feldman.
11727
11728        Web Inspector: introduce InspectorWorkerAgent
11729        https://bugs.webkit.org/show_bug.cgi?id=59320
11730
11731        InspectorWorkerAgent is responsible for routing inspector messages
11732        between worker context inspector agents and corresponding worker
11733        inspector front-end.
11734
11735        * CMakeLists.txt:
11736        * GNUmakefile.list.am:
11737        * WebCore.gypi:
11738        * WebCore.pro:
11739        * WebCore.vcproj/WebCore.vcproj:
11740        * WebCore.xcodeproj/project.pbxproj:
11741        * inspector/CodeGeneratorInspector.pm:
11742        * inspector/Inspector.json:
11743        * inspector/InspectorAgent.cpp:
11744        (WebCore::InspectorAgent::InspectorAgent):
11745        (WebCore::InspectorAgent::setFrontend):
11746        (WebCore::InspectorAgent::disconnectFrontend):
11747        * inspector/InspectorAgent.h:
11748        (WebCore::InspectorAgent::workerAgent):
11749        * inspector/InspectorController.cpp:
11750        (WebCore::InspectorController::connectFrontend):
11751        (WebCore::InspectorController::disconnectFrontend):
11752        * inspector/InspectorInstrumentation.cpp:
11753        (WebCore::InspectorInstrumentation::didStartWorkerContextImpl):
11754        * inspector/InspectorInstrumentation.h:
11755        (WebCore::InspectorInstrumentation::willStartWorkerContext):
11756        (WebCore::InspectorInstrumentation::didStartWorkerContext):
11757        * inspector/InspectorWorkerAgent.cpp: Added.
11758        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::WorkerFrontendChannel):
11759        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::~WorkerFrontendChannel):
11760        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::id):
11761        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::inspectorProxy):
11762        (WebCore::InspectorWorkerAgent::WorkerFrontendChannel::sendMessageToFrontend):
11763        (WebCore::InspectorWorkerAgent::create):
11764        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
11765        (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
11766        (WebCore::InspectorWorkerAgent::setFrontend):
11767        (WebCore::InspectorWorkerAgent::clearFrontend):
11768        (WebCore::InspectorWorkerAgent::dispatchMessageOnWorkerInspector):
11769        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
11770        * inspector/InspectorWorkerAgent.h: Added.
11771        * inspector/InstrumentingAgents.h:
11772        (WebCore::InstrumentingAgents::InstrumentingAgents):
11773        (WebCore::InstrumentingAgents::inspectorWorkerAgent):
11774        (WebCore::InstrumentingAgents::setInspectorWorkerAgent):
11775        * inspector/WorkerInspectorController.cpp:
11776        (WebCore::WorkerInspectorController::connectFrontend):
11777        * inspector/generate-inspector-idl:
11778        * workers/Worker.cpp:
11779        (WebCore::Worker::notifyFinished):
11780        * workers/WorkerContextInspectorProxy.h: Added. Platform-specific transport for inspector
11781        messages sent from the inspected page worker agent to the worker context inspector agents.
11782        (WebCore::WorkerContextInspectorProxy::connectFrontend):
11783        (WebCore::WorkerContextInspectorProxy::disconnectFrontend):
11784        (WebCore::WorkerContextInspectorProxy::sendMessageToWorkerContextInspector):
11785        (WebCore::WorkerContextInspectorProxy::~WorkerContextInspectorProxy):
11786        * workers/WorkerContextProxy.h:
11787        (WebCore::WorkerContextProxy::inspectorProxy):
11788
117892011-04-25  Pavel Feldman  <pfeldman@google.com>
11790
11791        Reviewed by Yury Semikhatsky.
11792
11793        Web Inspector: move Frame and Resource Tree management into the Page agent.
11794        https://bugs.webkit.org/show_bug.cgi?id=59321
11795
11796        Network agent should only handle network-related activities.
11797        Frame structure should be managed by the Page agent instead.
11798
11799        * inspector/Inspector.json:
11800        * inspector/InspectorAgent.cpp:
11801        (WebCore::InspectorAgent::InspectorAgent):
11802        * inspector/InspectorDOMAgent.cpp:
11803        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
11804        (WebCore::InspectorDOMAgent::setFrontend):
11805        (WebCore::InspectorDOMAgent::restore):
11806        (WebCore::InspectorDOMAgent::highlightFrame):
11807        * inspector/InspectorDOMAgent.h:
11808        (WebCore::InspectorDOMAgent::create):
11809        * inspector/InspectorInstrumentation.cpp:
11810        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
11811        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
11812        (WebCore::InspectorInstrumentation::frameDetachedFromParentImpl):
11813        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
11814        * inspector/InspectorPageAgent.cpp:
11815        (WebCore::InspectorPageAgent::create):
11816        (WebCore::InspectorPageAgent::resourceContent):
11817        (WebCore::InspectorPageAgent::resourceContentBase64):
11818        (WebCore::InspectorPageAgent::resourceData):
11819        (WebCore::InspectorPageAgent::cachedResource):
11820        (WebCore::InspectorPageAgent::resourceTypeString):
11821        (WebCore::InspectorPageAgent::cachedResourceType):
11822        (WebCore::InspectorPageAgent::cachedResourceTypeString):
11823        (WebCore::InspectorPageAgent::InspectorPageAgent):
11824        (WebCore::InspectorPageAgent::setFrontend):
11825        (WebCore::InspectorPageAgent::reload):
11826        (WebCore::InspectorPageAgent::open):
11827        (WebCore::InspectorPageAgent::getCookies):
11828        (WebCore::InspectorPageAgent::deleteCookie):
11829        (WebCore::InspectorPageAgent::getResourceTree):
11830        (WebCore::InspectorPageAgent::getResourceContent):
11831        (WebCore::InspectorPageAgent::restore):
11832        (WebCore::InspectorPageAgent::domContentEventFired):
11833        (WebCore::InspectorPageAgent::loadEventFired):
11834        (WebCore::InspectorPageAgent::frameNavigated):
11835        (WebCore::InspectorPageAgent::frameDetached):
11836        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
11837        (WebCore::InspectorPageAgent::mainFrame):
11838        (WebCore::pointerAsId):
11839        (WebCore::InspectorPageAgent::frameForId):
11840        (WebCore::InspectorPageAgent::frameId):
11841        (WebCore::InspectorPageAgent::loaderId):
11842        (WebCore::InspectorPageAgent::buildObjectForFrame):
11843        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
11844        * inspector/InspectorPageAgent.h:
11845        * inspector/InspectorResourceAgent.cpp:
11846        (WebCore::buildObjectForCachedResource):
11847        (WebCore::InspectorResourceAgent::willSendRequest):
11848        (WebCore::InspectorResourceAgent::didReceiveResponse):
11849        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
11850        (WebCore::InspectorResourceAgent::setInitialScriptContent):
11851        (WebCore::InspectorResourceAgent::setInitialXHRContent):
11852        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
11853        * inspector/InspectorResourceAgent.h:
11854        (WebCore::InspectorResourceAgent::create):
11855        * inspector/InspectorStyleSheet.cpp:
11856        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
11857        * inspector/front-end/NetworkManager.js:
11858        (WebInspector.NetworkManager.prototype.requestContent):
11859        * inspector/front-end/NetworkPanel.js:
11860        (WebInspector.NetworkPanel):
11861        (WebInspector.NetworkPanel.prototype.frameNavigated):
11862        * inspector/front-end/ResourceTreeModel.js:
11863        (WebInspector.ResourceTreeModel):
11864        (WebInspector.ResourceTreeModel.prototype.frontendReused):
11865        (WebInspector.ResourceTreeModel.prototype.frameNavigated):
11866        (WebInspector.ResourceTreeModel.prototype.frameDetached):
11867        * inspector/front-end/inspector.js:
11868        (WebInspector.domContentEventFired):
11869        (WebInspector.loadEventFired):
11870        (WebInspector.frameNavigated):
11871        (WebInspector.frameDetached):
11872
118732011-04-25  Pavel Feldman  <pfeldman@google.com>
11874
11875        Reviewed by Yury Semikhatsky.
11876
11877        Web Inspector: few protocol improvements.
11878        https://bugs.webkit.org/show_bug.cgi?id=59319
11879
11880        - Page domain is documented
11881        - setUserAgentOverride is moved to the Network agent
11882        - setSearchingForNode -> setInspectModeEnabled
11883        - highlightDOMNode -> highlightNode
11884        - reloadPage -> reload
11885        - openInNewWindow -> open with optional parameter
11886
11887        * inspector/Inspector.json:
11888        * inspector/InspectorDOMAgent.cpp:
11889        (WebCore::InspectorDOMAgent::setInspectModeEnabled):
11890        (WebCore::InspectorDOMAgent::highlightNode):
11891        * inspector/InspectorDOMAgent.h:
11892        (WebCore::InspectorDOMAgent::hideNodeHighlight):
11893        * inspector/InspectorInstrumentation.cpp:
11894        (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
11895        * inspector/InspectorPageAgent.cpp:
11896        (WebCore::InspectorPageAgent::clearFrontend):
11897        (WebCore::InspectorPageAgent::reload):
11898        (WebCore::InspectorPageAgent::open):
11899        * inspector/InspectorPageAgent.h:
11900        * inspector/InspectorResourceAgent.cpp:
11901        (WebCore::InspectorResourceAgent::clearFrontend):
11902        (WebCore::InspectorResourceAgent::applyUserAgentOverride):
11903        (WebCore::InspectorResourceAgent::setUserAgentOverride):
11904        * inspector/InspectorResourceAgent.h:
11905        * inspector/front-end/AuditsPanel.js:
11906        (WebInspector.AuditsPanel.prototype._reloadResources):
11907        * inspector/front-end/ElementsPanel.js:
11908        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
11909        * inspector/front-end/ExtensionServer.js:
11910        (WebInspector.ExtensionServer.prototype._onReload):
11911        * inspector/front-end/NetworkPanel.js:
11912        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
11913        * inspector/front-end/ResourcesPanel.js:
11914        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
11915        * inspector/front-end/inspector.js:
11916        (WebInspector.highlightDOMNode):
11917        (WebInspector.openResource):
11918        (WebInspector.documentKeyDown):
11919
119202011-04-25  Jon Lee  <jonlee@apple.com>
11921
11922        Reviewed by Maciej Stachowiak.
11923
11924        Overlay scroller hard to see on pages with dark background (59183)
11925        https://bugs.webkit.org/show_bug.cgi?id=59183
11926        <rdar://problem/8975367>
11927
11928        Switch the scrollbar's overlay style depending on its frame's background color.
11929        This refactors the getDocumentBackgroundColor method needed for gestures. The style
11930        is determined and set on every paint() call to the Mac scrollbar theme.
11931
11932        * WebCore.exp.in: adding method to allow changing style
11933        * page/Frame.cpp:
11934        (WebCore::Frame::getDocumentBackgroundColor): moving code from WebFrame for reuse by FrameView
11935        * page/Frame.h:
11936        * page/FrameView.cpp:
11937        (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
11938        * page/FrameView.h:
11939        * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
11940        * platform/ScrollableArea.h:
11941        (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
11942        * platform/mac/ScrollbarThemeMac.mm:
11943        (WebCore::ScrollbarThemeMac::paint):
11944        * platform/mac/WebCoreSystemInterface.h:
11945        * platform/mac/WebCoreSystemInterface.mm:
11946
119472011-04-25  Dan Bernstein  <mitz@apple.com>
11948
11949        Reviewed by Maciej Stachowiak.
11950
11951        <rdar://problem/9113516> REGRESSION (WK2): Holding down Option while dragging scrollbar thumb has no effect (should make scroll distance equal mouse translation)
11952        https://bugs.webkit.org/show_bug.cgi?id=59315
11953
11954        * platform/Scrollbar.cpp:
11955        (WebCore::Scrollbar::Scrollbar): Initialize new member variables.
11956        (WebCore::Scrollbar::moveThumb): Added a boolean draggingDocument parameter. When true, the document
11957        is scrolled a distance equal to the change in the mouse position.
11958        (WebCore::Scrollbar::mouseMoved): Check with the theme whether the mouse move event should drag
11959        the document rather than the thumb, and pass the result to moveThumb.
11960        (WebCore::Scrollbar::mouseUp): Reset m_draggingDocument.
11961        * platform/Scrollbar.h:
11962        * platform/ScrollbarTheme.h:
11963        (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb): Added. The base class implementation
11964        returns false.
11965        * platform/mac/ScrollbarThemeMac.h:
11966        * platform/mac/ScrollbarThemeMac.mm:
11967        (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb): Overridden to return true if the
11968        Option key is down.
11969
119702011-04-24  Geoffrey Garen  <ggaren@apple.com>
11971
11972        Reviewed by Sam Weinig.
11973
11974        Removed a use of markDOMObjectWrapper: WebGL, XHR, workers; plus, more autogeneration
11975        https://bugs.webkit.org/show_bug.cgi?id=59307
11976
11977        * WebCore.xcodeproj/project.pbxproj: Added Blob.idl, so it's easier to edit.
11978
11979        * bindings/js/JSCSSRuleCustom.cpp:
11980        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
11981        * bindings/js/JSCanvasRenderingContextCustom.cpp:
11982        * bindings/js/JSDOMApplicationCacheCustom.cpp: Autogenerate these instead
11983        of hand-coding them.
11984
11985        * bindings/js/JSDOMBinding.h:
11986        (WebCore::root): Moved some GC helpers here from JSNodeCustom.h, because
11987        they're reasonably generic.
11988
11989        * bindings/js/JSDOMImplementationCustom.cpp:
11990        * bindings/js/JSDOMStringMapCustom.cpp:
11991        * bindings/js/JSDOMTokenListCustom.cpp:
11992        * bindings/js/JSHTMLCollectionCustom.cpp:
11993        * bindings/js/JSMediaListCustom.cpp: Autogenerate these instead of
11994        hand-coding them.
11995
11996        * bindings/js/JSMessageChannelCustom.cpp:
11997        (WebCore::JSMessageChannel::visitChildren):
11998        * bindings/js/JSMessagePortCustom.cpp:
11999        (WebCore::JSMessagePort::visitChildren): Use addOpaqueRoot instead of
12000        markDOMObjectWrapper. This is one of the few cases where a DOM object is
12001        considered a stand-alone root. It's not as efficient as the shared root
12002        case, but workers and message ports are very rare objects, so it's no
12003        big deal.
12004
12005        * bindings/js/JSNamedNodeMapCustom.cpp: Autogenerate!
12006
12007        * bindings/js/JSNodeCustom.h: Moved to JSDOMBinding.h.
12008
12009        * bindings/js/JSSharedWorkerCustom.cpp:
12010        (WebCore::JSSharedWorker::visitChildren): Use addOpaqueRoot instead of
12011        markDOMObjectWrapper, as above. Once again, a stand-alone root.
12012
12013        * bindings/js/JSStyleSheetCustom.cpp:
12014        * bindings/js/JSStyleSheetListCustom.cpp: Autogenerate!
12015
12016        * bindings/js/JSWebGLRenderingContextCustom.cpp:
12017        (WebCore::JSWebGLRenderingContext::visitChildren): Use the opaque roots
12018        system for marking WebGL contexts and their associated satellite objects.
12019
12020        * bindings/js/JSWorkerContextCustom.cpp:
12021        (WebCore::JSWorkerContext::visitChildren):
12022        * bindings/js/JSXMLHttpRequestCustom.cpp: Use addOpaqueRoot instead of
12023        markDOMObjectWrapper, as above. Once again, stand-alone roots.
12024
12025        (WebCore::JSXMLHttpRequest::visitChildren):
12026        * bindings/js/JSXMLHttpRequestUploadCustom.cpp: No need to mark our owner
12027        XHR because it is not reachable from us.
12028
12029        * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration support for a
12030        bunch of repetitive cases of isReachableFromOpaqueRoots callbacks.
12031
12032        * css/CSSRule.idl:
12033        * css/CSSStyleDeclaration.idl:
12034        * css/MediaList.idl:
12035        * css/StyleMedia.idl:
12036        * css/StyleSheet.idl:
12037        * css/StyleSheetList.idl:
12038        * dom/DOMImplementation.idl:
12039        * dom/DOMStringMap.idl:
12040        * dom/MessagePort.idl:
12041        * dom/NamedNodeMap.idl:
12042        * fileapi/Blob.idl:
12043        * html/DOMTokenList.idl: Opt in to autogeneration.
12044
12045        * html/HTMLCanvasElement.cpp:
12046        (WebCore::HTMLCanvasElement::getContext): Standardized on PassOwnPtr/OwnPtr
12047        usage, to reduce human error and make ownership rules more obvious.
12048
12049        * html/HTMLCollection.idl:
12050        * html/canvas/ArrayBuffer.idl: Opt in to autogeneration.
12051
12052        * html/canvas/CanvasRenderingContext.cpp:
12053        * html/canvas/CanvasRenderingContext.h:
12054        (WebCore::CanvasRenderingContext::ref):
12055        (WebCore::CanvasRenderingContext::deref):
12056        * html/canvas/CanvasRenderingContext2D.h:
12057        (WebCore::CanvasRenderingContext2D::create):
12058        (WebCore::CanvasRenderingContext2D::state): Standardized on PassOwnPtr/OwnPtr
12059        usage, to reduce human error and make ownership rules more obvious.
12060
12061        Inlined some functions to match our standard idiom and to make the code
12062        in the header document itself.
12063
12064        * html/canvas/CanvasRenderingContext.idl: Opt in to autogeneration.
12065
12066        * html/canvas/OESStandardDerivatives.cpp:
12067        (WebCore::OESStandardDerivatives::OESStandardDerivatives):
12068        (WebCore::OESStandardDerivatives::create):
12069        * html/canvas/OESStandardDerivatives.h:
12070        * html/canvas/OESStandardDerivatives.idl:
12071        * html/canvas/OESTextureFloat.cpp:
12072        (WebCore::OESTextureFloat::OESTextureFloat):
12073        (WebCore::OESTextureFloat::create):
12074        * html/canvas/OESTextureFloat.h:
12075        * html/canvas/OESTextureFloat.idl:
12076        * html/canvas/OESVertexArrayObject.cpp:
12077        (WebCore::OESVertexArrayObject::OESVertexArrayObject):
12078        (WebCore::OESVertexArrayObject::create):
12079        * html/canvas/OESVertexArrayObject.h:
12080        * html/canvas/OESVertexArrayObject.idl:
12081        * html/canvas/WebGLExtension.cpp:
12082        (WebCore::WebGLExtension::WebGLExtension):
12083        * html/canvas/WebGLExtension.h:
12084        (WebCore::WebGLExtension::ref):
12085        (WebCore::WebGLExtension::deref):
12086        (WebCore::WebGLExtension::context):
12087        * html/canvas/WebGLRenderingContext.cpp:
12088        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
12089        (WebCore::WebGLRenderingContext::getExtension):
12090        * html/canvas/WebGLRenderingContext.h:
12091        * html/canvas/WebKitLoseContext.cpp:
12092        (WebCore::WebKitLoseContext::WebKitLoseContext):
12093        (WebCore::WebKitLoseContext::create):
12094        (WebCore::WebKitLoseContext::loseContext):
12095        * html/canvas/WebKitLoseContext.h:
12096        * html/canvas/WebKitLoseContext.idl: Updated the ownership model for WebGL
12097        canavs rendering contexts to match the model for 2D canvas rendering
12098        contexts. This makes garbage collection a lot more straightforward, but
12099        it also makes the behavior of these objects more reliable. (Previously,
12100        satellite objects would magically stop working when the last reference
12101        to their owner object was dropped. Now, satellite objects keep their owner
12102        alive through reference counting.)
12103
12104        * loader/appcache/DOMApplicationCache.idl:
12105        * page/BarInfo.idl:
12106        * page/Console.idl:
12107        * page/DOMSelection.idl:
12108        * page/Geolocation.idl:
12109        * page/History.idl:
12110        * page/Location.idl:
12111        * page/Navigator.idl:
12112        * page/Screen.idl:
12113        * page/WorkerNavigator.idl:
12114        * plugins/DOMMimeTypeArray.h:
12115        (WebCore::DOMMimeTypeArray::frame):
12116        * plugins/DOMMimeTypeArray.idl:
12117        * plugins/DOMPluginArray.h:
12118        (WebCore::DOMPluginArray::frame):
12119        * plugins/DOMPluginArray.idl:
12120        * storage/Storage.idl:
12121        * workers/WorkerLocation.idl: Opt in to autogeneration.
12122
12123        * xml/XMLHttpRequest.cpp:
12124        (WebCore::XMLHttpRequest::~XMLHttpRequest):
12125        * xml/XMLHttpRequest.h:
12126        * xml/XMLHttpRequestUpload.cpp:
12127        (WebCore::XMLHttpRequestUpload::scriptExecutionContext):
12128        * xml/XMLHttpRequestUpload.h:
12129        (WebCore::XMLHttpRequestUpload::create):
12130        (WebCore::XMLHttpRequestUpload::ref):
12131        (WebCore::XMLHttpRequestUpload::deref):
12132        (WebCore::XMLHttpRequestUpload::xmlHttpRequest):
12133        (WebCore::XMLHttpRequestUpload::toXMLHttpRequestUpload):
12134        * xml/XMLHttpRequestUpload.idl: Updated the ownership model for XHR and
12135        its associated upload object to match the model for canvas. This makes
12136        garbage collection a lot more straightforward, but it also makes the
12137        behavior of these objects more reliable.
12138
121392011-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>
12140
12141        Unreviewed, rolling out r84759.
12142        http://trac.webkit.org/changeset/84759
12143        https://bugs.webkit.org/show_bug.cgi?id=59306
12144
12145        Caused gc-shadow.html to start crashing in V8. (Requested by
12146        dglazkov|away on #webkit).
12147
12148        * dom/Node.cpp:
12149        (WebCore::NodeRendererFactory::createRendererAndStyle):
12150        (WebCore::Node::styleForRenderer):
12151
121522011-04-24  Maciej Stachowiak  <mjs@apple.com>
12153
12154        Reviewed by George Staikos.
12155
12156        Handling of URLs like http:/example.com/ is incorrect
12157        https://bugs.webkit.org/show_bug.cgi?id=59300
12158        <rdar://problem/9231956>
12159
12160        URLs like http:/example.com/ or http:example.com/ are now correctly
12161        canonicalized as http://example.com/
12162
12163        The code still doesn't quite match other browsers - at least some
12164        other browsers seem to base parsing behavior on whether they
12165        recongize a scheme from a fixed list, and ignore whether // is
12166        present in the URL or not.
12167
12168        * platform/KURL.cpp:
12169        (WebCore::isNonFileHierarchicalScheme): New helper function.
12170        (WebCore::KURL::parse): For a particular list of whitelisted schemes,
12171        assume they are hierarchical and need an authority even if there is no //
12172        after the :/
12173
121742011-04-24  Dan Bernstein  <mitz@apple.com>
12175
12176        LLVM Compiler build fix.
12177
12178        * page/ContentSecurityPolicy.cpp: Removed an unused function.
12179
121802011-04-24  Dominic Cooney  <dominicc@chromium.org>
12181
12182        Reviewed by Dimitri Glazkov.
12183
12184        Crash when adding a text node to a shadow root
12185        https://bugs.webkit.org/show_bug.cgi?id=59304
12186
12187        Text nodes need to consult their host element for style.
12188
12189        Test: fast/dom/shadow/append-child-text.html
12190
12191        * dom/Node.cpp:
12192        (WebCore::NodeRendererFactory::styleForRenderer):
12193        (WebCore::NodeRendererFactory::createRendererAndStyle):
12194        (WebCore::Node::styleForRenderer): forward to NodeRendererFactory
12195
121962011-04-24  Adam Barth  <abarth@webkit.org>
12197
12198        Reviewed by Eric Seidel.
12199
12200        Update Content-Security-Policy syntax to match new version of spec
12201        https://bugs.webkit.org/show_bug.cgi?id=59291
12202
12203        Brandon removed disable-xss-protection in favor of unsafe-inline and
12204        allow-eval in favor of unsafe-eval.  This change in syntax also means
12205        the options directive no longer exists.
12206
12207        * page/ContentSecurityPolicy.cpp:
12208        (WebCore::CSPSourceList::allowInline):
12209        (WebCore::CSPSourceList::allowEval):
12210        (WebCore::CSPSourceList::CSPSourceList):
12211        (WebCore::CSPSourceList::parseSource):
12212        (WebCore::CSPSourceList::addSourceUnsafeInline):
12213        (WebCore::CSPSourceList::addSourceUnsafeEval):
12214        (WebCore::CSPDirective::allowInline):
12215        (WebCore::CSPDirective::allowEval):
12216        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
12217        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
12218        (WebCore::ContentSecurityPolicy::allowInlineScript):
12219        (WebCore::ContentSecurityPolicy::allowEval):
12220        (WebCore::ContentSecurityPolicy::addDirective):
12221        * page/ContentSecurityPolicy.h:
12222
122232011-04-24  Dan Bernstein  <mitz@apple.com>
12224
12225        Reviewed by Maciej Stachowiak.
12226
12227        Manual test for <rdar://problem/9329741> Reproducible crash in WebChromeClient::invalidateContentsAndWindow() on simonscat.com
12228        https://bugs.webkit.org/show_bug.cgi?id=59299
12229
12230        * manual-tests/back-from-document-with-scrollbar.html: Added.
12231
122322011-04-24  Rik Cabanier  <cabanier@adobe.com>
12233
12234        Reviewed by Simon Fraser.
12235
12236        Tables are not rendered correctly
12237        https://bugs.webkit.org/show_bug.cgi?id=59138
12238
12239        Test: fast/table/auto-100-percent-width.html
12240
12241        * rendering/AutoTableLayout.cpp:
12242        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
12243
122442011-04-23  Simon Fraser  <simon.fraser@apple.com>
12245
12246        Fix Windows build, which complains about unreachable code.
12247
12248        * platform/ScrollableArea.cpp:
12249        (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
12250        (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
12251        (WebCore::ScrollableArea::hasLayerForScrollCorner):
12252
122532011-04-23  Simon Fraser  <simon.fraser@apple.com>
12254
12255        Reviewed by Dan Bernstein.
12256
12257        Area under composited scrollbars not repainted in WebKit2 on scrolling
12258        https://bugs.webkit.org/show_bug.cgi?id=59294
12259        <rdar://problem/9299062>
12260
12261        When computing the rect that can be copied on scrolling, we normally
12262        exclude the areas occupied by overlay scrollbars to avoid smeared scrollbars;
12263        the assumption is that other code will repaint these areas. However, when
12264        scrollbars are in their own compositing layers, we can, and should
12265        copy the entire area.
12266
12267        Not testable in DRT because it does not allow tests to use overlay scrollbars.
12268
12269        * platform/ScrollView.h:
12270        * platform/ScrollView.cpp:
12271        (WebCore::ScrollView::rectToCopyOnScroll):
12272        New method, with code moved from scrollContents and fixed to look
12273        for scrollbars in layers.
12274        (WebCore::ScrollView::scrollContents):
12275        Call rectToCopyOnScroll().
12276
12277        * platform/ScrollableArea.h:
12278        * platform/ScrollableArea.cpp:
12279        (WebCore::ScrollableArea::hasLayerForHorizontalScrollbar):
12280        (WebCore::ScrollableArea::hasLayerForVerticalScrollbar):
12281        (WebCore::ScrollableArea::hasLayerForScrollCorner):
12282        Methods we can call outside of the ACCELERATED_COMPOSITING #ifdef.
12283
122842011-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
12285
12286        Unreviewed, rolling out r84740.
12287        http://trac.webkit.org/changeset/84740
12288        https://bugs.webkit.org/show_bug.cgi?id=59290
12289
12290        change breaks apple internal builds and is incorrect
12291        (Requested by smfr on #webkit).
12292
12293        * WebCore.exp.in:
12294        * page/FrameView.cpp:
12295        * page/FrameView.h:
12296        * platform/ScrollTypes.h:
12297        * platform/ScrollableArea.h:
12298        * platform/mac/ScrollbarThemeMac.mm:
12299        (WebCore::ScrollbarThemeMac::paint):
12300        * platform/mac/WebCoreSystemInterface.h:
12301        * platform/mac/WebCoreSystemInterface.mm:
12302
123032011-04-23  Dan Bernstein  <mitz@apple.com>
12304
12305        Reviewed by Simon Fraser.
12306
12307        <rdar://problem/8970549> WebFindOptionsAtWordStarts fails with Japanese words
12308        https://bugs.webkit.org/show_bug.cgi?id=59288
12309
12310        * platform/text/mac/TextBoundaries.mm:
12311        (WebCore::wordStringTokenizer): Added this helper function.
12312        (WebCore::findNextWordFromIndex): Changed to use a CFStringTokenizer with kCFStringTokenizerUnitWord,
12313        whose behavior is not locale-dependent.
12314
123152011-04-23  Dominic Cooney  <dominicc@chromium.org>
12316
12317        Reviewed by Dimitri Glazkov.
12318
12319        [V8] Nodes in shadow DOM should not be GCed while their hosts are alive
12320        https://bugs.webkit.org/show_bug.cgi?id=59284
12321
12322        Test: fast/dom/shadow/gc-shadow.html
12323
12324        * bindings/v8/V8GCController.cpp:
12325        (WebCore::calculateGroupId): group shadow nodes with their hosts
12326
123272011-04-23  MORITA Hajime <morrita@google.com>
12328
12329        Reviewed by Dimitri Glazkov.
12330
12331        [Refactoring] NodeRenderParentDetector should be NodeRenderFactory
12332        https://bugs.webkit.org/show_bug.cgi?id=59280
12333
12334        - Rename NodeRenderParentDetector to NodeRendererFactory
12335        - move createRendererAndStyle() and createRendererIfNeeded to
12336          NodeRendererFactory
12337
12338        No new test, no behavioral change.
12339
12340        * dom/Node.cpp:
12341        (WebCore::NodeRendererFactory::NodeRendererFactory):
12342        (WebCore::NodeRendererFactory::document):
12343        (WebCore::NodeRendererFactory::nextRenderer):
12344        (WebCore::NodeRendererFactory::findVisualParent):
12345        (WebCore::NodeRendererFactory::shouldCreateRenderer):
12346        (WebCore::NodeRendererFactory::createRendererAndStyle):
12347        (WebCore::NodeRendererFactory::createRendererIfNeeded):
12348        (WebCore::Node::parentNodeForRenderingAndStyle):
12349        (WebCore::Node::createRendererIfNeeded):
12350        * dom/Node.h:
12351        * html/HTMLDetailsElement.cpp:
12352        (WebCore::DetailsSummaryElement::detailsElement): Added const_cast due to the chage on parentNodeForRenderingAndStyle()
12353
123542011-04-23  MORITA Hajime  <morrita@google.com>
12355
12356        Reviewed by Kent Tamura.
12357
12358        REGRESSION: (non-Mac) <meter>'s bar part isn't rendered for with -webkit-writing-mode: vertical-lr from r82899
12359        https://bugs.webkit.org/show_bug.cgi?id=59281
12360
12361        Styles for -webkit-meter-bar and -webkit-progress-bar missed width property, which caused unexpected layout results
12362        for vertical writing modes. This fix added a width property for each of them.
12363
12364        Tests: fast/dom/HTMLMeterElement/meter-writing-mode.html
12365               fast/dom/HTMLProgressElement/progress-writing-mode.html
12366
12367        * css/html.css:
12368        (meter::-webkit-meter-bar):
12369        (progress::-webkit-progress-bar):
12370
123712011-04-23  Kevin Ollivier  <kevino@theolliviers.com>
12372
12373        [wx] Unreviewed build fix. Added missing header.
12374
12375        * platform/graphics/filters/FEDropShadow.h:
12376
123772011-04-23  Alexey Proskuryakov  <ap@apple.com>
12378
12379        Reviewed by Maciej Stachowiak.
12380
12381        REGRESSION (r80812): window.print();window.close() doesn't work in WebKit2
12382        https://bugs.webkit.org/show_bug.cgi?id=59241
12383        <rdar://problem/9150861>
12384
12385        Covered by manual-tests/print-after-window-close.html.
12386
12387        Re-fixing <https://bugs.webkit.org/show_bug.cgi?id=51357> in a way that doesn't cause the
12388        regression.
12389
12390        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::didCancel): We shouldn't be
12391        doing complicated work while the loader is half-canceled.
12392
12393        * manual-tests/print-after-window-close.html: Extended to actually print a non-empty page,
12394        thus being more practical.
12395
12396        * page/Chrome.cpp: (WebCore::Chrome::print): Added a FIXME about a need for PageGroupLoadDeferrer.
12397        It's too scary for me to try now.
12398
12399        * page/DOMWindow.cpp:
12400        (WebCore::DOMWindow::DOMWindow):
12401        (WebCore::DOMWindow::finishedLoading):
12402        * page/DOMWindow.h:
12403        Reverted the previous fix for <https://bugs.webkit.org/show_bug.cgi?id=51357>.
12404
124052011-04-19  Vitaly Repeshko  <vitalyr@chromium.org>
12406
12407        Reviewed by Adam Barth.
12408
12409        [V8] Use implicit references for V8 listeners on DOM nodes.
12410        https://bugs.webkit.org/show_bug.cgi?id=58953
12411
12412        Instead of allocating an auxiliary V8 array referencing V8
12413        listener objects associated with a DOM node and using an extra
12414        pointer in every DOM node wrapper, we can register implicit
12415        references between nodes and their listeners during GC. This also
12416        makes V8 bindings more aligned with JSC bindings.
12417
12418        No new tests because this is a refactoring.
12419
12420        * bindings/scripts/CodeGeneratorV8.pm: Stopped generating the
12421        listener cache internal field for DOM nodes.
12422        * bindings/v8/V8AbstractEventListener.h: Exposed the lister handle
12423        to the GC.
12424        (WebCore::V8AbstractEventListener::existingListenerObjectPeristentHandle):
12425        * bindings/v8/V8GCController.cpp: Started using implicit references.
12426        (WebCore::GrouperVisitor::visitDOMWrapper):
12427        * dom/EventTarget.h: Implemented an iterator over all listeners.
12428        (WebCore::EventListenerIterator):
12429
124302011-04-22  Jon Lee  <jonlee@apple.com>
12431
12432        Reviewed by Beth Dakin.
12433
12434        Overlay scroller hard to see on pages with dark background (59183)
12435        https://bugs.webkit.org/show_bug.cgi?id=59183
12436        <rdar://problem/8975367>
12437
12438        * WebCore.exp.in: adding method to allow changing style
12439        * page/FrameView.cpp:
12440        (WebCore::FrameView::recommendedScrollbarOverlayStyle): overridden to suggest a style based on CSS background color
12441        * page/FrameView.h:
12442        * platform/ScrollTypes.h: new enum to represent different overlay scrollbar styles
12443        * platform/ScrollableArea.cpp:
12444        (WebCore::ScrollableArea::recommendedScrollbarOverlayStyle): new virtual function to return a suggested overlay style
12445        * platform/ScrollableArea.h:
12446        * platform/mac/ScrollbarThemeMac.mm:
12447        (WebCore::ScrollbarThemeMac::paint):
12448        * platform/mac/WebCoreSystemInterface.h:
12449        * platform/mac/WebCoreSystemInterface.mm:
12450
124512011-04-22  Chris Evans  <cevans@chromium.org>
12452
12453        Reviewed by Adam Barth.
12454
12455        Upgrade CSS loads from mixed content warning (displayed) to mixed
12456        content error (ran)
12457        https://bugs.webkit.org/show_bug.cgi?id=59056
12458
12459        Test: http/tests/security/mixedContent/insecure-css-in-iframe.html
12460        Test: http/tests/security/mixedContent/insecure-css-in-main-frame.html
12461
12462        * loader/cache/CachedResourceLoader.cpp:
12463        (WebCore::CachedResourceLoader::canRequest): CSS loads are running rather than displaying content.
12464
124652011-04-22  Geoffrey Garen  <ggaren@apple.com>
12466
12467        Fixed an upside-down conditional in my last check-in.
12468
12469        * bindings/js/JSDOMApplicationCacheCustom.cpp:
12470        (WebCore::isObservable):
12471
124722011-04-22  Geoffrey Garen  <ggaren@apple.com>
12473
12474        Rolled back in r84725 and r84728 with appcache crash fixed.
12475
12476        Reviewed by Oliver Hunt.
12477
12478        Removed a use of markDOMObjectWrapper: DOMWindow
12479        https://bugs.webkit.org/show_bug.cgi?id=59260
12480
12481        * bindings/js/JSDOMWindowCustom.cpp:
12482        (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
12483        we use the opaque roots system now.
12484
12485        * bindings/js/JSNavigatorCustom.cpp: Ditto.
12486
12487        * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
12488        whose opaque roots are frames.
12489
12490        * css/StyleMedia.h:
12491        (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
12492
12493        * css/StyleMedia.idl:
12494        * loader/appcache/DOMApplicationCache.idl:
12495        * page/BarInfo.idl:
12496        * page/Console.idl:
12497        * page/DOMSelection.idl:
12498        * page/Geolocation.idl:
12499        * page/History.idl:
12500        * page/Location.idl:
12501        * page/Navigator.idl:
12502        * page/Screen.idl:
12503        * storage/Storage.idl: Updated to use the opaque roots system.
12504
125052011-04-22  Nate Chapin  <japhet@chromium.org>
12506
12507        Reviewed by Adam Barth.
12508
12509        Don't use XMLTreeViewer when script is disabled (it uses Javascript
12510        to build a prettified version of the xml document).
12511        https://bugs.webkit.org/show_bug.cgi?id=59113
12512
12513        * xml/XMLTreeViewer.cpp:
12514        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
12515
125162011-04-22  Sheriff Bot  <webkit.review.bot@gmail.com>
12517
12518        Unreviewed, rolling out r84725 and r84728.
12519        http://trac.webkit.org/changeset/84725
12520        http://trac.webkit.org/changeset/84728
12521        https://bugs.webkit.org/show_bug.cgi?id=59270
12522
12523        It broke http/tests/appcache tests (Requested by Ossy on
12524        #webkit).
12525
12526        * bindings/js/JSDOMWindowCustom.cpp:
12527        (WebCore::JSDOMWindow::visitChildren):
12528        * bindings/js/JSNavigatorCustom.cpp:
12529        (WebCore::JSNavigator::visitChildren):
12530        * bindings/scripts/CodeGeneratorJS.pm:
12531        * css/StyleMedia.h:
12532        * css/StyleMedia.idl:
12533        * loader/appcache/DOMApplicationCache.idl:
12534        * page/BarInfo.idl:
12535        * page/Console.idl:
12536        * page/DOMSelection.idl:
12537        * page/DOMWindow.h:
12538        (WebCore::DOMWindow::optionalScreen):
12539        (WebCore::DOMWindow::optionalSelection):
12540        (WebCore::DOMWindow::optionalHistory):
12541        (WebCore::DOMWindow::optionalCrypto):
12542        (WebCore::DOMWindow::optionalLocationbar):
12543        (WebCore::DOMWindow::optionalMenubar):
12544        (WebCore::DOMWindow::optionalPersonalbar):
12545        (WebCore::DOMWindow::optionalScrollbars):
12546        (WebCore::DOMWindow::optionalStatusbar):
12547        (WebCore::DOMWindow::optionalToolbar):
12548        (WebCore::DOMWindow::optionalConsole):
12549        (WebCore::DOMWindow::optionalNavigator):
12550        (WebCore::DOMWindow::optionalLocation):
12551        (WebCore::DOMWindow::optionalMedia):
12552        (WebCore::DOMWindow::optionalSessionStorage):
12553        (WebCore::DOMWindow::optionalLocalStorage):
12554        (WebCore::DOMWindow::optionalPerformance):
12555        * page/Geolocation.idl:
12556        * page/History.idl:
12557        * page/Location.idl:
12558        * page/Navigator.h:
12559        (WebCore::Navigator::optionalGeolocation):
12560        * page/Navigator.idl:
12561        * page/Screen.idl:
12562        * storage/Storage.idl:
12563
125642011-04-22  Dimitri Glazkov  <dglazkov@chromium.org>
12565
12566        Reviewed by Kent Tamura.
12567
12568        Change SVG-related shadow root checks to use isSVGShadowRoot.
12569        https://bugs.webkit.org/show_bug.cgi?id=59237
12570
12571        Covered by existing tests, no behavior change.
12572
12573        * css/CSSStyleSelector.cpp:
12574        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector): Use isSVGShadowRoot.
12575        * svg/SVGUseElement.cpp:
12576        (WebCore::ShadowTreeUpdateBlocker::while): Ditto.
12577        * svg/animation/SVGSMILElement.cpp:
12578        (WebCore::SVGSMILElement::insertedIntoDocument): Ditto.
12579
125802011-04-22  Geoffrey Garen  <ggaren@apple.com>
12581
12582        Mac build fix.
12583
12584        * page/DOMWindow.h:
12585        (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
12586        which is used after all.
12587
125882011-04-22  Geoffrey Garen  <ggaren@apple.com>
12589
12590        Mac build fix.
12591
12592        * page/DOMWindow.h:
12593        (WebCore::DOMWindow::optionalApplicationCache): Restored this function,
12594        which is used after all.
12595
125962011-04-22  Geoffrey Garen  <ggaren@apple.com>
12597
12598        Reviewed by Oliver Hunt.
12599
12600        Removed a use of markDOMObjectWrapper: DOMWindow
12601        https://bugs.webkit.org/show_bug.cgi?id=59260
12602
12603        * bindings/js/JSDOMWindowCustom.cpp:
12604        (WebCore::JSDOMWindow::visitChildren): No need to mark explicitly, since
12605        we use the opaque roots system now.
12606
12607        * bindings/js/JSNavigatorCustom.cpp: Ditto.
12608
12609        * bindings/scripts/CodeGeneratorJS.pm: Added autogeneration for objects
12610        whose opaque roots are frames.
12611
12612        * css/StyleMedia.h:
12613        (WebCore::StyleMedia::frame): Added an accessor for the sake of GC.
12614
12615        * css/StyleMedia.idl:
12616        * loader/appcache/DOMApplicationCache.idl:
12617        * page/BarInfo.idl:
12618        * page/Console.idl:
12619        * page/DOMSelection.idl:
12620        * page/Geolocation.idl:
12621        * page/History.idl:
12622        * page/Location.idl:
12623        * page/Navigator.idl:
12624        * page/Screen.idl:
12625        * storage/Storage.idl: Updated to use the opaque roots system.
12626
126272011-04-22  Xiaomei Ji  <xji@chromium.org>
12628
12629        Reviewed by Ryosuke Niwa.
12630
12631        move caret by word in visual order returns wrong result when caret itself is at word boundary.
12632        https://bugs.webkit.org/show_bug.cgi?id=58504.
12633
12634        positionBeforeNextWord should take care that the current position is after current word.
12635        positionAfterPreviousWord should take care that the current positin is before current word.
12636
12637        * editing/visible_units.cpp:
12638        (WebCore::positionBeforeNextWord):
12639        (WebCore::positionAfterPreviousWord):
12640
126412011-04-19  Jer Noble  <jer.noble@apple.com>
12642
12643        Reviewed by Daniel Bates.
12644
12645        Full Screen from within an <iframe> does not cause <iframe> to resize.
12646        https://bugs.webkit.org/show_bug.cgi?id=58638
12647
12648        Tests: fullscreen/full-screen-frameset.html
12649
12650        * css/CSSStyleSelector.cpp:
12651        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Add the
12652            -webkit-full-screen pseudo class to frame elements which contain
12653            full screen elements.
12654        * css/fullscreen.css:
12655        (iframe:-webkit-full-screen): Add iframe-specific styling rules.
12656        * dom/Document.cpp:
12657        (WebCore::Document::setContainsFullScreenElementRecursively): Added.  Walk up each
12658            successive document owner element, calling setContainsFullScreenElement() if
12659            owner is a frame element.
12660        (WebCore::Document::fullScreenIsAllowedForElement): Use the new Element::isFrameElementBase
12661            call instead of checking the element's tag name.
12662        (WebCore::Document::webkitWillEnterFullScreenForElement): Mark any containing
12663            iframes as containing a full screen element.
12664        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
12665        * dom/Element.h:
12666        (WebCore::Element::isFrameElementBase): Added.
12667        * html/HTMLFrameElement.h:
12668        (WebCore::HTMLFrameElement::allowFullScreen): Disable full screen from within
12669            HTMLFrameElements.
12670        * html/HTMLFrameElementBase.cpp:
12671        (WebCore::HTMLFrameElementBase::setContainsFullScreenElement): Added.
12672        * html/HTMLFrameElementBase.h:
12673        (WebCore::HTMLFrameElementBase::containsFullScreenElement): Added.
12674        (WebCore::HTMLFrameElementBase::isFrameElementBase): Added.
12675
126762011-04-22  Michael Saboff  <msaboff@apple.com>
12677
12678        Reviewed by Maciej Stachowiak.
12679
12680        Creating copy of ContainerNode's when inserting or removing is inefficient
12681        https://bugs.webkit.org/show_bug.cgi?id=58695
12682
12683        Eliminated node copying in willRemove() and insertedIntoDocument().
12684
12685        No new tests as this is a more efficient implementation of
12686        existing code that is covered by existing tests.
12687
12688        * dom/ContainerNode.cpp:
12689        (WebCore::ContainerNode::willRemove): Changed method to use
12690        RefPtr<> to protect against modification during removal.
12691        (WebCore::ContainerNode::insertedIntoDocument): Changed method to use
12692        RefPtr<> and two other deletion checks to protect against
12693        modification during insertion.
12694
126952011-04-22  Geoffrey Garen  <ggaren@apple.com>
12696
12697        Reviewed by Sam Weinig.
12698
12699        We have an autogenerator, so use it
12700        https://bugs.webkit.org/show_bug.cgi?id=59247
12701
12702        * bindings/js/JSCSSRuleCustom.cpp:
12703        * bindings/js/JSCSSRuleListCustom.cpp:
12704        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
12705        * bindings/js/JSCSSValueCustom.cpp:
12706        * bindings/js/JSCanvasRenderingContextCustom.cpp:
12707        * bindings/js/JSDOMImplementationCustom.cpp:
12708        * bindings/js/JSDOMStringMapCustom.cpp:
12709        * bindings/js/JSHTMLCollectionCustom.cpp:
12710        * bindings/js/JSNamedNodeMapCustom.cpp:
12711        * bindings/js/JSNodeCustom.h:
12712        * bindings/js/JSNodeListCustom.cpp:
12713        * bindings/js/JSStyleSheetCustom.cpp:
12714        * bindings/js/JSStyleSheetListCustom.cpp: Removed repetitive hand-written code.
12715
12716        * bindings/scripts/CodeGeneratorJS.pm: Augmented autogenerator to do the job.
12717
12718        * css/CSSRule.idl:
12719        * css/CSSRuleList.idl:
12720        * css/CSSStyleDeclaration.idl:
12721        * css/CSSValue.idl:
12722        * css/MediaList.idl:
12723        * css/StyleSheet.idl:
12724        * css/StyleSheetList.idl:
12725        * dom/DOMImplementation.idl:
12726        * dom/DOMStringMap.idl:
12727        * dom/NamedNodeMap.idl:
12728        * dom/Node.idl:
12729        * dom/NodeList.idl:
12730        * html/DOMTokenList.idl:
12731        * html/HTMLCollection.idl:
12732        * html/canvas/CanvasRenderingContext.idl: Updated attributes to plug into
12733        the autogenerator.
12734
127352011-04-22  Beth Dakin  <bdakin@apple.com>
12736
12737        Reviewed by Maciej Stachowiak.
12738
12739        https://bugs.webkit.org/show_bug.cgi?id=59223
12740        REGRESSION (r82185): iframe not displayed after navigation back to cached page
12741
12742        Manual test added.
12743        * manual-tests/frame-layout-on-back.html: Added.
12744        * manual-tests/resources/empty-document-goes-back.html: Added.
12745        * manual-tests/resources/simple-iframe.html: Added.
12746
127472011-04-22  Yael Aharon  <yael.aharon@nokia.com>
12748
12749        Reviewed by Sam Weinig.
12750
12751        HTMLFormControlElement::labels should allow custom attributes.
12752        https://bugs.webkit.org/show_bug.cgi?id=59128
12753
12754        Cache the labels list when it is created and keep using it for future
12755        labels calls.
12756
12757        Test: fast/forms/labels-custom-property.html
12758
12759        * html/HTMLFormControlElement.cpp:
12760        (WebCore::HTMLFormControlElement::labels):
12761
127622011-04-22  Adrienne Walker  <enne@google.com>
12763
12764        Reviewed by James Robinson.
12765
12766        [chromium] Remove minimum texture size for compositor tiling
12767        https://bugs.webkit.org/show_bug.cgi?id=59236
12768
12769        This was mistakenly committed in r83915 and causes bad filtering
12770        on very small textures.
12771
12772        Tests: compositing/images/content-image-change.html
12773
12774        * platform/graphics/chromium/LayerTilerChromium.cpp:
12775        (WebCore::LayerTilerChromium::setTileSize):
12776
127772011-04-22  Beth Dakin  <bdakin@apple.com>
12778
12779        Reviewed by Maciej Stachowiak.
12780
12781        https://bugs.webkit.org/show_bug.cgi?id=59223
12782        REGRESSION (r82185): iframe not displayed after navigation back to cached page
12783        -and corresponding-
12784        <rdar://problem/9323763>
12785
12786        Cache the scroll position in Document::setInPageCache() instead of
12787        FrameView::resetScrollbarsAndClearContentsSize(), and only clear the contents size
12788        for the mainFrame(). Still resetScrollbars() for other frames, which matches pre-
12789        r82185 code.
12790        * dom/Document.cpp:
12791        (WebCore::Document::setInPageCache):
12792        * page/FrameView.cpp:
12793        (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
12794
127952011-04-22  Joseph Pecoraro  <joepeck@webkit.org>
12796
12797        Reviewed by Kent Tamura.
12798
12799        Let the RenderTheme decide if an input type should have a spinner
12800        https://bugs.webkit.org/show_bug.cgi?id=59246
12801
12802        Whether an input should have a spinner or not should
12803        be a UI decision made by the RenderTheme. Remove
12804        WebCore's default hasSpinButton values and defer
12805        to the RenderTheme.
12806
12807        No change in functionality, covered by existing tests.
12808
12809        * html/HTMLInputElement.cpp:
12810        (WebCore::HTMLInputElement::isRangeControl): expose isRangeControl
12811        for possible RenderTheme queries.
12812        * html/HTMLInputElement.h:
12813
12814        * rendering/RenderTextControlSingleLine.cpp:
12815        (WebCore::RenderTextControlSingleLine::createSubtreeIfNeeded):
12816        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
12817        For both of these ask the render theme if the input should
12818        have a spinner.
12819
12820        * rendering/RenderTheme.cpp:
12821        (WebCore::RenderTheme::shouldHaveSpinButtonForInputElement):
12822        Steppable inputs (number, date, and range) but not range
12823        should have spinners. This does not change existing behavior.
12824        * rendering/RenderTheme.h:
12825
12826        * dom/InputElement.h:
12827        * html/BaseDateAndTimeInputType.cpp: remove hasSpinButton.
12828        * html/BaseDateAndTimeInputType.h: remove hasSpinButton.
12829        * html/InputType.cpp: remove hasSpinButton.
12830        * html/InputType.h: remove hasSpinButton.
12831        * html/NumberInputType.cpp: remove hasSpinButton.
12832        * html/NumberInputType.h: remove hasSpinButton.
12833
128342011-04-22  Joseph Pecoraro  <joepeck@webkit.org>
12835
12836        Reviewed by Kent Tamura.
12837
12838        Don't rely on hasSpinButton to check if an input type can be stepped
12839        https://bugs.webkit.org/show_bug.cgi?id=59224
12840
12841        Add isSteppable to know for certain if an input type can
12842        be stepped or not. Previously we were checking if the input
12843        has a spin control or is the range input type. These are UI
12844        details, but the step functionality does not require there
12845        to be a UI.
12846
12847        No change in behavior, covered by existing tests.
12848
12849        * html/BaseDateAndTimeInputType.cpp:
12850        (WebCore::BaseDateAndTimeInputType::isSteppable):
12851        * html/BaseDateAndTimeInputType.h:
12852        * html/HTMLInputElement.cpp:
12853        (WebCore::HTMLInputElement::isSteppable):
12854        (WebCore::HTMLInputElement::stepUpFromRenderer): remove the
12855        check for a spinner and range control and instead ASSERT
12856        that the type is steppable.
12857        * html/HTMLInputElement.h:
12858        * html/InputType.cpp:
12859        (WebCore::InputType::isSteppable):
12860        * html/InputType.h:
12861        * html/NumberInputType.cpp:
12862        (WebCore::NumberInputType::isSteppable):
12863        * html/NumberInputType.h:
12864        * html/RangeInputType.cpp:
12865        (WebCore::RangeInputType::isSteppable):
12866        * html/RangeInputType.h:
12867
128682011-04-22  Adam Barth  <abarth@webkit.org>
12869
12870        Reviewed by Eric Seidel.
12871
12872        CSP frame-src is missing
12873        https://bugs.webkit.org/show_bug.cgi?id=58643
12874
12875        In this patch, I've audited all the callers to
12876        SecurityOrigin::canDisplay to make sure they all the appropriate
12877        Content-Security-Policy method as well.  I'm not sure how to test all
12878        these cases, but making this changes fixed the frame-src test.
12879
12880        * loader/SubframeLoader.cpp:
12881        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
12882        (WebCore::SubframeLoader::createJavaAppletWidget):
12883        (WebCore::SubframeLoader::loadSubframe):
12884        (WebCore::SubframeLoader::loadPlugin):
12885        * loader/SubresourceLoader.cpp:
12886        (WebCore::SubresourceLoader::create):
12887        * loader/cache/CachedResourceLoader.cpp:
12888        (WebCore::CachedResourceLoader::canRequest):
12889        (WebCore::CachedResourceLoader::requestResource):
12890            - While I was understanding this code, I fixed the FIXME here.
12891        * loader/cache/CachedResourceLoader.h:
12892
128932011-04-22  Adrienne Walker  <enne@google.com>
12894
12895        Reviewed by Simon Fraser.
12896
12897        Clear shared graphics context when destroying CanvasRenderingContext2D.
12898        https://bugs.webkit.org/show_bug.cgi?id=59212
12899
12900        * html/canvas/CanvasRenderingContext2D.cpp:
12901        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
12902
129032011-04-22  Levi Weintraub  <leviw@chromium.org>
12904
12905        Reviewed by Ryosuke Niwa.
12906
12907        End/Home keys do not work in a contentEditable element
12908        https://bugs.webkit.org/show_bug.cgi?id=50564
12909
12910        Changing logical[Start/End]OfLine to return a valid VisiblePosition for for editable contexts that are
12911        inline and share a line with non-editable content.
12912
12913        Test: editing/selection/modify-by-lineboundary-in-inline-editable-contexts.html
12914
12915        * editing/visible_units.cpp:
12916        (WebCore::logicalStartOfLine):
12917        (WebCore::logicalEndOfLine):
12918
129192011-04-22  Dimitri Glazkov  <dglazkov@chromium.org>
12920
12921        Reviewed by Kent Tamura.
12922
12923        Make showTree/showTreeForThis aware of the shadow DOM
12924        https://bugs.webkit.org/show_bug.cgi?id=52965
12925
12926        No new tests, because this code is only compiled in DEBUG.
12927
12928        * dom/Node.cpp:
12929        (WebCore::traverseTreeAndMark): Moved tree traversal logic here, adding
12930            recursive sub-traversal of the shadow tree.
12931        (WebCore::Node::showTreeAndMark): Changed to use the new tree traversal function.
12932
129332011-04-22  Sam Weinig  <sam@webkit.org>
12934
12935        Reviewed by Gavin Barraclough and Oliver Hunt.
12936
12937        Arrays should participate in global object forwarding fun
12938        https://bugs.webkit.org/show_bug.cgi?id=59215
12939
12940        Change callers of constructArray to use the new variant that takes
12941        a global object.
12942
12943        * bindings/js/JSClipboardCustom.cpp:
12944        (WebCore::JSClipboard::types):
12945        * bindings/js/JSConsoleCustom.cpp:
12946        (WebCore::JSConsole::profiles):
12947        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
12948        (WebCore::JSJavaScriptCallFrame::scopeChain):
12949        * bindings/js/JSMessageEventCustom.cpp:
12950        (WebCore::JSMessageEvent::ports):
12951        * bindings/js/JSScriptProfileNodeCustom.cpp:
12952        (WebCore::JSScriptProfileNode::children):
12953        * bindings/js/JSWebGLRenderingContextCustom.cpp:
12954        (WebCore::toJS):
12955        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
12956        (WebCore::JSWebGLRenderingContext::getSupportedExtensions):
12957
129582011-04-22  Csaba Osztrogonác  <ossy@webkit.org>
12959
12960        [Qt] Unreviewed typo fix after r84522.
12961
12962        * WebCore.pro:
12963
129642011-04-22  Daniel Bates  <dbates@rim.com>
12965
12966        Fix misspelled word in comment; tagets => targets.
12967
12968        * page/EventHandler.cpp:
12969        (WebCore::EventHandler::handleTouchEvent):
12970
129712011-04-21  Geoffrey Garen  <ggaren@apple.com>
12972
12973        Reviewed by Oliver Hunt.
12974
12975        Removed a use of markDOMObjectWrapper: Element and Document
12976        https://bugs.webkit.org/show_bug.cgi?id=59178
12977
12978        * GNUmakefile.list.am:
12979        * UseJSC.cmake:
12980        * WebCore.gypi:
12981        * WebCore.pro:
12982        * WebCore.vcproj/WebCore.vcproj:
12983        * WebCore.xcodeproj/project.pbxproj:
12984        * bindings/js/JSBindingsAllInOne.cpp: Build!
12985
12986        * bindings/js/JSDOMImplementationCustom.cpp:
12987        (WebCore::JSDOMImplementationOwner::isReachableFromOpaqueRoots):
12988        (WebCore::JSDOMImplementationOwner::finalize):
12989        (WebCore::wrapperOwner):
12990        (WebCore::wrapperContext):
12991        (WebCore::toJS): Use the opaque roots system for DOMImplementation. Also,
12992        DOMImplementation does not need to keep its document wrapper alive, since
12993        there's no DOM API for getting a DOMImplementation's document.
12994
12995        * bindings/js/JSDOMStringMapCustom.cpp:
12996        (WebCore::JSDOMStringMapOwner::isReachableFromOpaqueRoots):
12997        (WebCore::JSDOMStringMapOwner::finalize):
12998        (WebCore::wrapperOwner):
12999        (WebCore::wrapperContext):
13000        (WebCore::toJS): Use the opaque roots system for DOMStringMap.
13001
13002        * bindings/js/JSDOMTokenListCustom.cpp: Added.
13003        (WebCore::JSDOMTokenListOwner::isReachableFromOpaqueRoots):
13004        (WebCore::JSDOMTokenListOwner::finalize):
13005        (WebCore::wrapperOwner):
13006        (WebCore::wrapperContext):
13007        (WebCore::toJS): Use the opaque roots system for DOMTokenList.
13008
13009        * bindings/js/JSDocumentCustom.cpp:
13010        (WebCore::JSDocument::visitChildren):
13011        * bindings/js/JSElementCustom.cpp: No more need for explicit marking.
13012
13013        * bindings/scripts/CodeGeneratorV8.pm: Boo on whoever made this design decision.
13014
13015        * dom/DOMImplementation.cpp:
13016        (WebCore::DOMImplementation::DOMImplementation):
13017        (WebCore::DOMImplementation::createDocument):
13018        (WebCore::DOMImplementation::createHTMLDocument):
13019        * dom/DOMImplementation.h:
13020        (WebCore::DOMImplementation::create):
13021        (WebCore::DOMImplementation::ref):
13022        (WebCore::DOMImplementation::deref):
13023        (WebCore::DOMImplementation::document): Fixed the DOMImplementation
13024        ownership model to match other satellite objects in the DOM. This was
13025        necessary to fix some crashes due to incorrect reference counting.
13026
13027        * dom/DOMImplementation.idl:
13028        * dom/DOMStringMap.idl:
13029        * dom/Document.cpp:
13030        (WebCore::Document::~Document):
13031        * dom/Document.h:
13032        * dom/Element.cpp:
13033        * dom/Element.h:
13034        * dom/Element.idl:
13035        * html/DOMTokenList.idl: Updated to match changes above.
13036
130372011-04-22  Simon Fraser  <simon.fraser@apple.com>
13038
13039        Reviewed by Dan Bernstein.
13040
13041        Rounded corners don't looks smooth when background-image is a gradient
13042        https://bugs.webkit.org/show_bug.cgi?id=59213
13043
13044        Add the "shrink background" behavior to the slow background
13045        drawing code path.
13046
13047        Test: fast/backgrounds/gradient-background-leakage.html
13048
13049        * rendering/RenderBoxModelObject.cpp:
13050        (WebCore::backgroundRectAdjustedForBleedAvoidance):
13051        Utility function that returns a shrunk border rect based
13052        on the context scale.
13053        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
13054        Use backgroundRectAdjustedForBleedAvoidance() in both the fast
13055        and slow paths.
13056
130572011-04-22  Xiaomei Ji  <xji@chromium.org>
13058
13059        Reviewed by David Hyatt.
13060
13061        Local caret rectangle calculation should be relative to its containing block.
13062        https://bugs.webkit.org/show_bug.cgi?id=49508.
13063
13064        InlineBox and caret rectangle are positioned relative to its containing block.
13065        So its left and right edge value should be relative to its containing block as well.
13066
13067        Test: fast/forms/cursor-at-editable-content-boundary.html
13068
13069        * rendering/RenderText.cpp:
13070        (WebCore::RenderText::localCaretRect):
13071
130722011-04-22  Levi Weintraub  <leviw@chromium.org>
13073
13074        Reviewed by Darin Fisher.
13075
13076        REGRESSION: left property broken with position:fixed elements in RTL documents
13077        https://bugs.webkit.org/show_bug.cgi?id=59204
13078        http://code.google.com/p/chromium/issues/detail?id=80216
13079
13080        Test: fast/block/positioning/rtl-fixed-positioning.html
13081              fast/block/positioning/vertical-rl/fixed-positioning.html
13082
13083        Returning the proper scroll offsets for fixed position content in RTL documents.
13084        We regressed to X and Y offsets not updating while scrolling when we clamped to zero,
13085        but RTL documents scroll in negative space.
13086
13087        * page/FrameView.cpp:
13088        (WebCore::FrameView::scrollXForFixedPosition): Properly handling RTL documents where
13089        the scroll origin and offsets are negative.
13090        (WebCore::FrameView::scrollYForFixedPosition): Properly handling vertical writing-
13091        mode RTL documents, like above.
13092        * platform/ScrollView.h:
13093        (WebCore::ScrollView::scrollOrigin): Changing this accessor to const.
13094
130952011-04-22  Justin Schuh  <jschuh@chromium.org>
13096
13097        Reviewed by Eric Seidel.
13098
13099        Should assert on invalid type in FEComponentTransfer::apply
13100        https://bugs.webkit.org/show_bug.cgi?id=57959
13101
13102        No functional change. No new tests needed.
13103
13104        * platform/graphics/filters/FEComponentTransfer.cpp:
13105        (WebCore::FEComponentTransfer::apply):
13106
131072011-04-22  MORITA Hajime  <morrita@google.com>
13108
13109        Unreviewed crash fix.
13110
13111        * html/HTMLDetailsElement.cpp:
13112        (WebCore::DetailsSummaryElement::shouldInclude):
13113
131142011-04-22  Dan Bernstein  <mitz@apple.com>
13115
13116        Reviewed by Sam Weinig.
13117
13118        Exclude scrollbars from the dirty rect passed to the document
13119        https://bugs.webkit.org/show_bug.cgi?id=59206
13120
13121        No test added because functionality is unchanged.
13122
13123        * platform/ScrollView.cpp:
13124        (WebCore::ScrollView::paint): Compute a clip rectangle (analogous to the frame of the clip view
13125        in an NSScrollView) by subtracting non-overlay scrollbars, and intersect the document dirty rect
13126        with it. If the result is empty, avoid calling paintContents().
13127
131282011-04-22  Jer Noble  <jer.noble@apple.com>
13129
13130        Reviewed by Maciej Stachowiak.
13131
13132        Disable MediaPlayerPrivateAVFoundation when using old full screen mode.
13133        https://bugs.webkit.org/show_bug.cgi?id=59147
13134
13135        Add a new isAVFoundationEnabled setting and check it before adding
13136        MediaPlayerPrivateAVFoundationObjC to the media engine registry.
13137
13138        * WebCore.exp.in:
13139        * page/Settings.cpp:
13140        * page/Settings.h:
13141        (WebCore::Settings::setAVFoundationEnabled): Added.
13142        (WebCore::Settings::isAVFoundationEnabled): Added.
13143        * platform/graphics/MediaPlayer.cpp:
13144        (WebCore::installedMediaEngines): Check the settings added above.
13145
131462011-04-22  Sam Weinig  <sam@webkit.org>
13147
13148        Reviewed by Gavin Barraclough.
13149
13150        Remove remaining uses of deprecated version of toJS
13151        https://bugs.webkit.org/show_bug.cgi?id=59170
13152
13153        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
13154        (WebCore::toJS):
13155        (WebCore::JSCanvasRenderingContext2D::strokeStyle):
13156        (WebCore::JSCanvasRenderingContext2D::fillStyle):
13157        (WebCore::JSCanvasRenderingContext2D::createPattern):
13158        * bindings/js/JSConsoleCustom.cpp:
13159        (WebCore::JSConsole::profiles):
13160        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
13161        (WebCore::JSSQLStatementErrorCallback::handleEvent):
13162        * bindings/js/JSDOMBinding.h:
13163        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
13164        (WebCore::JSDOMMimeTypeArray::nameGetter):
13165        * bindings/js/JSDOMPluginArrayCustom.cpp:
13166        (WebCore::JSDOMPluginArray::nameGetter):
13167        * bindings/js/JSDOMPluginCustom.cpp:
13168        (WebCore::JSDOMPlugin::nameGetter):
13169        * bindings/js/JSDOMWindowCustom.cpp:
13170        (WebCore::namedItemGetter):
13171        (WebCore::JSDOMWindow::event):
13172        * bindings/js/JSEventTarget.cpp:
13173        (WebCore::toJS):
13174        * bindings/js/JSInjectedScriptHostCustom.cpp:
13175        Propagate stored global object down access chain.
13176
13177        (WebCore::InjectedScriptHost::nodeAsScriptValue):
13178        Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype.
13179
13180        (WebCore::JSInjectedScriptHost::currentCallFrame):
13181        (WebCore::JSInjectedScriptHost::inspectedNode):
13182        * bindings/js/JSNamedNodeMapCustom.cpp:
13183        (WebCore::JSNamedNodeMap::nameGetter):
13184        * bindings/js/JSNodeListCustom.cpp:
13185        (WebCore::callNodeList):
13186        (WebCore::JSNodeList::nameGetter):
13187        * bindings/js/JSScriptProfileNodeCustom.cpp:
13188        (WebCore::JSScriptProfileNode::children):
13189        * bindings/js/JSStyleSheetListCustom.cpp:
13190        (WebCore::JSStyleSheetList::nameGetter):
13191        * bindings/js/JSXSLTProcessorCustom.cpp:
13192        (WebCore::JSXSLTProcessor::transformToFragment):
13193        (WebCore::JSXSLTProcessor::transformToDocument):
13194        * bindings/scripts/CodeGeneratorJS.pm:
13195        Propagate stored global object down access chain.
13196
13197        * css/MediaQueryListListener.cpp:
13198        (WebCore::MediaQueryListListener::queryChanged):
13199        Replace use of deprecated toJS overload with explicit call to deprecatedGlobalObjectForPrototype,
13200        we will want refactor this to match other callbacks so we can remove this.
13201
132022011-04-22  Naoki Takano  <takano.naoki@gmail.com>
13203
13204        Reviewed by Eric Seidel.
13205
13206        [Chromium]Mac UI polish to add left/right padding space for autofill popup window.
13207        https://bugs.webkit.org/show_bug.cgi?id=58960
13208        http://code.google.com/p/chromium/issues/detail?id=51077
13209
13210        No new test because Chromium Autofill popup window doesn't have any test framework.
13211        This assumes only AutofillPopupMenuClient gives TexFieldPart appearance.
13212        Only if Autofill popup window has right/left padding.
13213        The code should be removed after Autofill popup window logic is separated from WebKit to Chromium.
13214
13215        * rendering/RenderThemeChromiumMac.h: Add popupInternalPaddingRight() and popupInternalPaddingLeft().
13216        * rendering/RenderThemeChromiumMac.mm:
13217        (WebCore::RenderThemeChromiumMac::popupInternalPaddingLeft): Return padding size only if TextFieldPart is specified.
13218        (WebCore::RenderThemeChromiumMac::popupInternalPaddingRight): Return padding size only if TextFieldPart is specified.
13219
132202011-04-21  Adam Roben  <aroben@apple.com>
13221
13222        Add code to enumerate all the functions imported by a particular Windows binary
13223
13224        PEImage is where all the logic starts. It represents a single Portable Executable (PE)
13225        binary. The various enumerator classes are used in conjunction with PEImage to enumerate the
13226        modules and functions imported by that image.
13227
13228        I couldn't figure out how to write a test for this. :-(
13229
13230        Part of <http://webkit.org/b/51063> <rdar://problem/8769281> REGRESSION (WebKit2): No
13231        context menu appears when right-clicking on windowless Flash plugin
13232
13233        Reviewed by Sam Weinig, and given a good once-over by Jeff Miller.
13234
13235        * WebCore.vcproj/WebCore.vcproj: Added the new files.
13236
13237        * platform/win/PEImage.cpp: Added.
13238        (WebCore::PEImage::PEImage): Checks that the module contains the expected magic numbers,
13239        then initializes m_ntHeaders using the module.
13240        (WebCore::PEImage::convertRVAToAddress): Converts a relative virtual address (RVA) to a
13241        non-relative address, which can then be dereferenced. (The PE format uses RVAs in lots of
13242        places.)
13243        (WebCore::PEImage::dataDirectoryEntryAddress): Returns the address of the data associated
13244        with the given entry in the image's DataDirectory.
13245
13246        * platform/win/PEImage.h: Added.
13247        (WebCore::PEImage::isValid): We're a valid image if the validation code in our constructor
13248        succeeded, in which case m_ntHeaders will be set.
13249
13250        * platform/win/ImportedFunctionsEnumerator.cpp: Added. This class enumerates all the
13251        functions imported by the image from a single module by walking the Import Name Table (INT)
13252        and Import Address Table (IAT).
13253        (WebCore::ImportedFunctionsEnumerator::ImportedFunctionsEnumerator): Initialize our members.
13254        (WebCore::ImportedFunctionsEnumerator::isAtEnd): The INT and IAT are both 0-terminated
13255        arrays.
13256        (WebCore::ImportedFunctionsEnumerator::next): Step to the next entries in the INT and IAT.
13257        (WebCore::ImportedFunctionsEnumerator::currentFunctionName): Gets the address of the
13258        function's name, if possible, using the INT.
13259        (WebCore::ImportedFunctionsEnumerator::addressOfCurrentFunctionPointer): Returns the address
13260        of the function pointer for the current function. This function pointer is used whenever
13261        code in m_image calls the current function. (A future patch will take advantage of this by
13262        overwriting this function pointer with another, thereby redirecting calls to that function.)
13263
13264        * platform/win/ImportedFunctionsEnumerator.h: Added.
13265
13266        * platform/win/ImportedModulesEnumeratorBase.h: Added. This base class is used by
13267        ImportedModulesEnumerator and DelayLoadedModulesEnumerator, and allows code to be written
13268        that works with either one.
13269
13270        * platform/win/ImportedModulesEnumerator.cpp: Added. This class enumerates all the
13271        non-delay-loaded modules imported by the image by walking the image's import array.
13272        (WebCore::ImportedModulesEnumerator::ImportedModulesEnumerator): Module import information
13273        is stored in the IMAGE_DIRECTORY_ENTRY_IMPORT entry of the image's DataDirectory.
13274        (WebCore::ImportedModulesEnumerator::isAtEnd): The import array is 0-terminated.
13275        (WebCore::ImportedModulesEnumerator::next): Steps along the import array.
13276        (WebCore::ImportedModulesEnumerator::currentModuleName): Gets the address of the module's
13277        name.
13278        (WebCore::ImportedModulesEnumerator::functionsEnumerator): Get's the addresses of the INT
13279        and IAT for this module and wraps them in an ImportedFunctionsEnumerator.
13280
13281        * platform/win/ImportedModulesEnumerator.h: Added.
13282
13283        * platform/win/DelayLoadedModulesEnumerator.cpp: Added. This class enumerates all the
13284        delay-loaded modules that are imported by the given PEImage by walking the image's
13285        ImageDelayDescr array.
13286        (WebCore::DelayLoadedModulesEnumerator::DelayLoadedModulesEnumerator): Delay-load
13287        information is stored in the IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT entry of the image's
13288        DataDirectory.
13289        (WebCore::DelayLoadedModulesEnumerator::isAtEnd): The delay-loaded modules array is
13290        0-terminated.
13291        (WebCore::DelayLoadedModulesEnumerator::next): Steps along the delay-loaded modules array.
13292        (WebCore::DelayLoadedModulesEnumerator::currentModuleName): Gets the address of the module's
13293        name out of the descriptor.
13294        (WebCore::DelayLoadedModulesEnumerator::functionsEnumerator): Gets the INT and IAT for the
13295        current module out of the descriptor and makes an ImportedFunctionsEnumerator from them.
13296        (WebCore::DelayLoadedModulesEnumerator::convertPotentialRVAToAddress): Pre-VC7.0 images
13297        stored non-relative addresses in the ImageDelayDescr structures, while VC7.0 and later
13298        images store RVAs. This function abstracts away the difference.
13299
13300        * platform/win/DelayLoadedModulesEnumerator.h: Added.
13301
133022011-04-21  Adam Roben  <aroben@apple.com>
13303
13304        Add a shared do-nothing window class that anyone can use
13305
13306        Fixes <http://webkit.org/b/59102> WebKit has too many dummy window classes
13307
13308        Reviewed by Anders Carlsson.
13309
13310        * WebCore.vcproj/WebCore.vcproj: Added DefWndProcWindowClass.{cpp,h}. Moved Arena.cpp out of
13311        platform/win and into platform. Let VS reorder other files.
13312
13313        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
13314        (WebCore::CACFLayerTreeHost::acceleratedCompositingAvailable): Changed to use the shared
13315        dummy window class instead of creating our own.
13316
13317        * platform/win/DefWndProcWindowClass.cpp: Added.
13318        (WebCore::registerClass): Register it!
13319        (WebCore::defWndProcWindowClassName): Register it and return it!
13320
13321        * platform/win/DefWndProcWindowClass.h: Added.
13322
133232011-04-21  MORITA Hajime  <morrita@google.com>
13324
13325        Reviewed by Dimitri Glazkov.
13326
13327        Content of <details> should be forwarded through the shadow DOM
13328        https://bugs.webkit.org/show_bug.cgi?id=59055
13329
13330        - Made ShadowContentElement abstract and added shouldInclude() pure virtual method.
13331        - Added SummaryContentElement, DetailsContentElement, DetailsSummaryElement as
13332          subclasses of ShadowContentElement.
13333        - Gave two shadow children for HTMLDetailsElement. One is DetailsContentElement, that
13334          handles non-summary contents of <details>. Another is SummaryContentElement, that
13335          handles the main summary element.
13336        - Removed most of RenderDetails custom layout mechanism, which is replaced by
13337          ShadowContentElement subclasses.
13338
13339        Tests: fast/html/details-add-child-1.html
13340               fast/html/details-add-child-2.html
13341               fast/html/details-remove-child-1.html
13342               fast/html/details-remove-child-2.html
13343
13344        * dom/ShadowRoot.cpp:
13345        (WebCore::ShadowRoot::contentContainerFor):
13346        (WebCore::ShadowRoot::hostChildrenChanged):
13347        (WebCore::ShadowRoot::hasContentElement):
13348        * dom/ShadowRoot.h:
13349        * html/HTMLDetailsElement.cpp:
13350        (WebCore::DetailsContentElement::DetailsContentElement):
13351        (WebCore::DetailsContentElement::create):
13352        (WebCore::DetailsContentElement::shouldInclude):
13353        (WebCore::DetailsSummaryElement::DetailsSummaryElement):
13354        (WebCore::DetailsSummaryElement::create):
13355        (WebCore::DetailsSummaryElement::shouldInclude):
13356        (WebCore::HTMLDetailsElement::create):
13357        (WebCore::HTMLDetailsElement::HTMLDetailsElement):
13358        (WebCore::HTMLDetailsElement::ensureShadowSubtreeOf):
13359        (WebCore::findSummaryFor):
13360        (WebCore::HTMLDetailsElement::ensureMainSummary):
13361        (WebCore::HTMLDetailsElement::refreshMainSummary):
13362        (WebCore::HTMLDetailsElement::createShadowSubtree):
13363        * html/HTMLDetailsElement.h:
13364        * html/HTMLSummaryElement.cpp:
13365        (WebCore::SummaryContentElement::SummaryContentElement):
13366        (WebCore::SummaryContentElement::shouldInclude):
13367        (WebCore::SummaryContentElement::create):
13368        (WebCore::HTMLSummaryElement::createShadowSubtree):
13369        * html/shadow/ShadowContentElement.h:
13370        * rendering/RenderDetails.cpp:
13371        (WebCore::RenderDetails::RenderDetails):
13372        (WebCore::RenderDetails::addChild):
13373        * rendering/RenderDetails.h:
13374        * rendering/RenderSummary.cpp:
13375        * rendering/RenderSummary.h:
13376
133772011-04-21  Simon Fraser  <simon.fraser@apple.com>
13378
13379        Reviewed by Dan Bernstein.
13380
13381        Extra GraphicsContext::save() in InlineTextBox::paintDecoration()
13382        https://bugs.webkit.org/show_bug.cgi?id=59109
13383
13384        Remove an extraneous GraphicsContext::save() in InlineTextBox::paintDecoration().
13385
13386        Add an assertion that fires when a GraphicsContext() is destroyed with a non-
13387        empty state stack. Fix canvas to avoid this assertion, since bad content might
13388        trigger it.
13389
13390        Also add an assertion that fires for mismatched begin/endTransparencyLayers.
13391
13392        Test: fast/text/multiple-text-shadow-alpha.html
13393
13394        * html/HTMLCanvasElement.cpp:
13395        (WebCore::HTMLCanvasElement::~HTMLCanvasElement):
13396        Make sure that the CanvasRenderingContext goes away before the ImageBuffer,
13397        so that CanvasRenderingContext2D has a chance to unwind the state stack in
13398        the ImageBuffer's GraphicsContext.
13399
13400        * html/canvas/CanvasRenderingContext2D.cpp:
13401        (WebCore::CanvasRenderingContext2D::~CanvasRenderingContext2D):
13402        Balance unmatched state saves in the canvas context.
13403
13404        * platform/graphics/GraphicsContext.cpp:
13405        (WebCore::GraphicsContext::~GraphicsContext):
13406        Assert that the stack is empty.
13407
13408        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
13409        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
13410        (WebCore::GraphicsContextPlatformPrivate::~GraphicsContextPlatformPrivate):
13411        (WebCore::GraphicsContextPlatformPrivate::beginTransparencyLayer):
13412        (WebCore::GraphicsContextPlatformPrivate::endTransparencyLayer):
13413        Changes to allow for asserting for unmatched transparency layer begin/ends.
13414
13415        * rendering/InlineTextBox.cpp:
13416        (WebCore::InlineTextBox::paintDecoration):
13417        Remove an unbalanced save().
13418
134192011-04-22  Pavel Feldman  <pfeldman@google.com>
13420
13421        Reviewed by Yury Semikhatsky.
13422
13423        Web Inspector: add Save As context menu item to the TextViewer.
13424        https://bugs.webkit.org/show_bug.cgi?id=59196
13425
13426        * inspector/front-end/ResourceView.js:
13427        (WebInspector.ResourceSourceFrame.prototype.requestContent):
13428        (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
13429        (WebInspector.RevisionSourceFrame.prototype.requestContent):
13430        (WebInspector.RevisionSourceFrame.prototype.suggestedFileName):
13431        * inspector/front-end/ScriptsPanel.js:
13432        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
13433        (WebInspector.SourceFrameDelegateForScriptsPanel):
13434        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled):
13435        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
13436        * inspector/front-end/SourceFrame.js:
13437        (WebInspector.SourceFrame.prototype._initializeTextViewer):
13438        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
13439        (WebInspector.SourceFrame.prototype.suggestedFileName):
13440        (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled):
13441        (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
13442        * inspector/front-end/TextViewer.js:
13443        (WebInspector.TextViewer.prototype._contextMenu):
13444        (WebInspector.TextViewerDelegate.prototype.cancelEditing):
13445        (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
13446        (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
13447        (WebInspector.TextViewerDelegate.prototype.suggestedFileName):
13448
134492011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
13450
13451        Reviewed by Pavel Feldman.
13452
13453        Web Inspector: [Chromium] Move detailed heap snapshots storage and processing into workers.
13454        https://bugs.webkit.org/show_bug.cgi?id=59094
13455
13456        * WebCore.gypi:
13457        * WebCore.vcproj/WebCore.vcproj:
13458        * gyp/streamline-inspector-source.sh:
13459        * inspector/front-end/DetailedHeapshotGridNodes.js:
13460        (WebInspector.HeapSnapshotGridNode.prototype.dispose):
13461        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
13462        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
13463        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
13464        (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
13465        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
13466        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
13467        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
13468        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
13469        (MixInSnapshotNodeFunctions):
13470        * inspector/front-end/DetailedHeapshotView.js:
13471        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
13472        (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
13473        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
13474        (WebInspector.HeapSnapshotRetainingPathsList.prototype.dispose):
13475        (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths):
13476        (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
13477        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
13478        (WebInspector.HeapSnapshotRetainingPathsList.prototype.searchCancelled):
13479        (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
13480        (WebInspector.DetailedHeapshotView.prototype.dispose):
13481        (WebInspector.DetailedHeapshotView.prototype.get profileWrapper):
13482        (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper):
13483        * inspector/front-end/HeapSnapshot.js:
13484        (WebInspector.HeapSnapshotLoader):
13485        (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
13486        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
13487        (WebInspector.HeapSnapshot.prototype.pushBaseIds):
13488        (WebInspector.HeapSnapshot.prototype.createDiff):
13489        (WebInspector.HeapSnapshot.prototype._parseFilter):
13490        (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
13491        (WebInspector.HeapSnapshot.prototype.createNodesProvider):
13492        (WebInspector.HeapSnapshot.prototype.createPathFinder):
13493        (WebInspector.HeapSnapshot.prototype.updateStaticData):
13494        (WebInspector.HeapSnapshotPathFinder):
13495        (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots):
13496        (WebInspector.HeapSnapshotPathFinder.prototype._reset):
13497        * inspector/front-end/HeapSnapshotProxy.js:
13498        (WebInspector.HeapSnapshotRealWorker):
13499        (WebInspector.HeapSnapshotRealWorker.prototype._messageReceived):
13500        (WebInspector.HeapSnapshotRealWorker.prototype.postMessage):
13501        (WebInspector.HeapSnapshotRealWorker.prototype.terminate):
13502        (WebInspector.HeapSnapshotFakeWorker):
13503        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
13504        (WebInspector.HeapSnapshotFakeWorker.prototype.terminate):
13505        (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
13506        (WebInspector.HeapSnapshotWorker):
13507        (WebInspector.HeapSnapshotWorker.prototype.createObject):
13508        (WebInspector.HeapSnapshotWorker.prototype.dispose):
13509        (WebInspector.HeapSnapshotWorker.prototype.disposeObject):
13510        (WebInspector.HeapSnapshotWorker.prototype.callGetter):
13511        (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod.wrapCallback):
13512        (WebInspector.HeapSnapshotWorker.prototype.callFactoryMethod):
13513        (WebInspector.HeapSnapshotWorker.prototype.callMethod):
13514        (WebInspector.HeapSnapshotWorker.prototype._findFunction):
13515        (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
13516        (WebInspector.HeapSnapshotWorker.prototype._postMessage):
13517        (WebInspector.HeapSnapshotProxyObject):
13518        (WebInspector.HeapSnapshotProxyObject.prototype._callWorker):
13519        (WebInspector.HeapSnapshotProxyObject.prototype.dispose):
13520        (WebInspector.HeapSnapshotProxyObject.prototype.disposeWorker):
13521        (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod):
13522        (WebInspector.HeapSnapshotProxyObject.prototype.callGetter):
13523        (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
13524        (WebInspector.HeapSnapshotLoaderProxy):
13525        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.callLoadCallbacks):
13526        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
13527        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
13528        (WebInspector.HeapSnapshotLoaderProxy.prototype.get loaded):
13529        (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
13530        (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
13531        (WebInspector.HeapSnapshotProxy):
13532        (WebInspector.HeapSnapshotProxy.prototype.aggregates):
13533        (WebInspector.HeapSnapshotProxy.prototype.createDiff):
13534        (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
13535        (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
13536        (WebInspector.HeapSnapshotProxy.prototype.createPathFinder):
13537        (WebInspector.HeapSnapshotProxy.prototype.dispose):
13538        (WebInspector.HeapSnapshotProxy.prototype.finishLoading):
13539        (WebInspector.HeapSnapshotProxy.prototype.get loaded):
13540        (WebInspector.HeapSnapshotProxy.prototype.get nodeCount):
13541        (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex):
13542        (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
13543        (WebInspector.HeapSnapshotProxy.prototype.get rootNodeIndex):
13544        (WebInspector.HeapSnapshotProxy.prototype.updateStaticData):
13545        (WebInspector.HeapSnapshotProxy.prototype.startLoading):
13546        (WebInspector.HeapSnapshotProxy.prototype.get totalSize):
13547        (WebInspector.HeapSnapshotProxy.prototype.get uid):
13548        (WebInspector.HeapSnapshotProviderProxy):
13549        (WebInspector.HeapSnapshotProviderProxy.prototype.isEmpty):
13550        (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems):
13551        (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
13552        (WebInspector.HeapSnapshotPathFinderProxy):
13553        (WebInspector.HeapSnapshotPathFinderProxy.prototype.findNext):
13554        (WebInspector.HeapSnapshotPathFinderProxy.prototype.updateRoots):
13555        (WebInspector.HeapSnapshotsDiffProxy):
13556        (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate):
13557        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
13558        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
13559        * inspector/front-end/HeapSnapshotWorker.js: Added.
13560        (WebInspector.UIString):
13561        (postMessageWrapper):
13562        * inspector/front-end/HeapSnapshotWorkerDispatcher.js: Added.
13563        (WebInspector.HeapSnapshotWorkerDispatcher):
13564        (WebInspector.HeapSnapshotWorkerDispatcher.prototype._findFunction):
13565        (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
13566        * inspector/front-end/ProfilesPanel.js:
13567        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
13568        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed):
13569        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
13570        * inspector/front-end/WebKit.qrc:
13571        * inspector/front-end/inspector.html:
13572
135732011-04-22  Pavel Podivilov  <podivilov@chromium.org>
13574
13575        Reviewed by Pavel Feldman.
13576
13577        Web Inspector: fix de-obfuscation of scripts inlined in html.
13578        https://bugs.webkit.org/show_bug.cgi?id=58538
13579
13580        Use html tokenizer to find script boundaries instead of relying on scriptParsed events.
13581
13582        Test: inspector/debugger/script-formatter.html
13583
13584        * WebCore.gypi:
13585        * WebCore.vcproj/WebCore.vcproj:
13586        * inspector/front-end/JavaScriptFormatter.js: Renamed from Source/WebCore/inspector/front-end/UglifyJS/JavaScriptFormatter.js.
13587        * inspector/front-end/ScriptFormatter.js:
13588        (WebInspector.ScriptFormatter):
13589        (WebInspector.ScriptFormatter.prototype.formatContent):
13590        (WebInspector.ScriptFormatter.prototype._didFormatContent):
13591        * inspector/front-end/ScriptFormatterWorker.js:
13592        (onmessage):
13593        (formatScript):
13594        (HTMLScriptFormatter):
13595        (HTMLScriptFormatter.prototype.format):
13596        (HTMLScriptFormatter.prototype.scriptStarted):
13597        (HTMLScriptFormatter.prototype.scriptEnded):
13598        (HTMLScriptFormatter.prototype.styleSheetStarted):
13599        (HTMLScriptFormatter.prototype.styleSheetEnded):
13600        * inspector/front-end/SourceFile.js:
13601        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
13602        * inspector/front-end/SourceHTMLTokenizer.js:
13603        (WebInspector.SourceHTMLTokenizer.prototype.scriptStarted):
13604        (WebInspector.SourceHTMLTokenizer.prototype.scriptEnded):
13605        (WebInspector.SourceHTMLTokenizer.prototype.styleSheetStarted):
13606        (WebInspector.SourceHTMLTokenizer.prototype.styleSheetEnded):
13607        (WebInspector.SourceHTMLTokenizer.prototype.nextToken):
13608        * inspector/front-end/SourceHTMLTokenizer.re2js:
13609        * inspector/front-end/WebKit.qrc:
13610
136112011-04-22  Andrey Kosyakov  <caseq@chromium.org>
13612
13613        Reviewed by Pavel Feldman.
13614
13615        Web Inspector: [Extensions API] misc API cleanup
13616        https://bugs.webkit.org/show_bug.cgi?id=59194
13617
13618        * inspector/front-end/ExtensionAPISchema.json:
13619        * inspector/front-end/ExtensionPanel.js:
13620        (WebInspector.ExtensionSidebarPane.prototype._setObject):
13621
136222011-04-21  Pavel Feldman  <pfeldman@google.com>
13623
13624        Reviewed by Yury Semikhatsky.
13625
13626        Web Inspector: group content scripts in the scripts panel drop down.
13627        https://bugs.webkit.org/show_bug.cgi?id=59108
13628
13629        * English.lproj/localizedStrings.js:
13630        * inspector/front-end/ScriptsPanel.js:
13631        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
13632        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
13633
136342011-04-22  Mike West  <mkwst@google.com>
13635
13636        Reviewed by Pavel Feldman.
13637
13638        Web Inspector: Tiny improvement to UI for adding an XHR breakpoint
13639        https://bugs.webkit.org/show_bug.cgi?id=59100
13640
13641        Improve web inspector UI around adding XHR breakpoints by adding
13642        a textual label to the input-like `span` used to specify which
13643        XHR requests the breakpoint ought to target.
13644
13645        * inspector/front-end/BreakpointsSidebarPane.js:
13646        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
13647        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
13648        * inspector/front-end/inspector.css:
13649        (#breakpoint-condition-input):
13650
136512011-04-22  Pavel Podivilov  <podivilov@chromium.org>
13652
13653        Reviewed by Pavel Feldman.
13654
13655        Web Inspector: js formatter should never insert new tokens or remove existing tokens and comments.
13656        https://bugs.webkit.org/show_bug.cgi?id=59191
13657
13658        * WebCore.gypi:
13659        * WebCore.vcproj/WebCore.vcproj:
13660        * inspector/front-end/ScriptFormatter.js:
13661        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
13662        (WebInspector.ScriptFormatter.prototype.formatContent):
13663        * inspector/front-end/ScriptFormatterWorker.js:
13664        (onmessage):
13665        * inspector/front-end/SourceFile.js:
13666        (WebInspector.SourceFile.prototype._loadResourceContent):
13667        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
13668        (WebInspector.FormattedSourceMapping):
13669        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
13670        (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
13671        (WebInspector.FormattedSourceMapping.prototype._convertPosition):
13672        * inspector/front-end/UglifyJS/JavaScriptFormatter.js: Added.
13673        (FormattedContentBuilder): Helper class for building formatted script content.
13674        (FormattedContentBuilder.prototype.addToken):
13675        (FormattedContentBuilder.prototype.addSpace):
13676        (FormattedContentBuilder.prototype.addNewLine):
13677        (FormattedContentBuilder.prototype.increaseNestingLevel):
13678        (FormattedContentBuilder.prototype.decreaseNestingLevel):
13679        (FormattedContentBuilder.prototype.content):
13680        (FormattedContentBuilder.prototype.mapping):
13681        (Tokenizer): Wrapper class for UglifyJS tokenizer.
13682        (Tokenizer.prototype.content):
13683        (Tokenizer.prototype.next):
13684        (Tokenizer.prototype._convertUglifyToken):
13685        (JavaScriptFormatter): New formatter based on UglifyJS tokenizer.
13686        (JavaScriptFormatter.prototype.format):
13687        * inspector/front-end/UglifyJS/process.js: Removed.
13688        * inspector/front-end/WebKit.qrc:
13689
136902011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
13691
13692        Reviewed by Pavel Feldman.
13693
13694        Web Inspector: [Chromium] Refactor code prior to moving detailed heap snapshots into workers.
13695        https://bugs.webkit.org/show_bug.cgi?id=59189
13696
13697        * WebCore.gypi:
13698        * WebCore.vcproj/WebCore.vcproj:
13699        * inspector/front-end/BinarySearch.js: Added.
13700        * inspector/front-end/DetailedHeapshotGridNodes.js:
13701        (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
13702        (WebInspector.HeapSnapshotGridNode.prototype._populate):
13703        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
13704        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
13705        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
13706        (WebInspector.HeapSnapshotGridNode.prototype.sort):
13707        (WebInspector.HeapSnapshotObjectNode):
13708        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
13709        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
13710        (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
13711        (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
13712        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
13713        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
13714        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
13715        * inspector/front-end/DetailedHeapshotView.js:
13716        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.sort):
13717        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
13718        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
13719        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
13720        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
13721        (WebInspector.HeapSnapshotContainmentDataGrid):
13722        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.setDataSource):
13723        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
13724        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
13725        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
13726        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
13727        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
13728        (WebInspector.HeapSnapshotDominatorsDataGrid):
13729        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
13730        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
13731        (WebInspector.HeapSnapshotRetainingPathsList.prototype._performSorting):
13732        (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
13733        (WebInspector.DetailedHeapshotView.prototype._changeBase):
13734        (WebInspector.DetailedHeapshotView.prototype._changeView):
13735        (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup.displayString):
13736        (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
13737        * inspector/front-end/HeapSnapshot.js:
13738        (WebInspector.HeapSnapshot.prototype.dispose):
13739        (WebInspector.HeapSnapshot.prototype.pushBaseNodeIds):
13740        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeNextItems):
13741        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
13742        (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
13743        (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
13744        (WebInspector.HeapSnapshotsDiff.prototype.calculate):
13745        (WebInspector.HeapSnapshotsDiff.prototype.pushBaseIds):
13746        (WebInspector.HeapSnapshotsDiff.prototype.pushBaseSelfSizes):
13747        * inspector/front-end/HeapSnapshotProxy.js:
13748        (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
13749        (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
13750        (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
13751        (WebInspector.HeapSnapshotProviderProxy):
13752        (WebInspector.HeapSnapshotProviderProxy.prototype.serializeNextItems):
13753        (WebInspector.HeapSnapshotProviderProxy.prototype.sortAndRewind):
13754        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
13755        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
13756        * inspector/front-end/PleaseWaitMessage.js:
13757        (WebInspector.PleaseWaitMessage.prototype.showAndWaitFor):
13758        (WebInspector.PleaseWaitMessage.prototype.unlistenAndHide):
13759        * inspector/front-end/WebKit.qrc:
13760        * inspector/front-end/inspector.html:
13761        * inspector/front-end/utilities.js:
13762
137632011-04-22  Mikhail Naganov  <mnaganov@chromium.org>
13764
13765        Unreviewed fix after r84484 -- conditional statement was inverted incorrectly.
13766
13767        * inspector/front-end/ProfilesPanel.js:
13768        (WebInspector.ProfilesPanel.prototype.handleShortcut):
13769
137702011-04-22  Annie Sullivan  <sullivan@chromium.org>
13771
13772        Reviewed by Pavel Feldman.
13773
13774        Web Inspector: Timeline is too narrow
13775        https://bugs.webkit.org/show_bug.cgi?id=58399
13776
13777        Changed Network Panel widths so that Timeline is 50%.
13778        Added titles to the values in the other columns, so that a tooltip will show the value if the column is too narrow.
13779
13780        * inspector/front-end/NetworkPanel.js:
13781        (WebInspector.NetworkPanel.prototype._createTable):  Changed column widths.
13782        (WebInspector.NetworkPanel.prototype._toggleGridMode): Changed column widths.
13783        (WebInspector.NetworkDataGridNode.prototype.refreshResource): Added titles to column values.
13784        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell): Ditto
13785        (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell): Ditto
13786        (WebInspector.NetworkDataGridNode.prototype._refreshTimeCell): Ditto
13787        * inspector/front-end/utilities.js:
13788        (Element.prototype.setTextAndTitle): Added new method to set the textContent and title of an Element at the same time, so that it can have a tooltip.
13789
137902011-04-22  Dan Bernstein  <mitz@apple.com>
13791
13792        Reviewed by Maciej Stachowiak.
13793
13794        <rdar://problem/9322486> REGRESSION (r83397): Default controls fade out when playing audio-only media
13795        https://bugs.webkit.org/show_bug.cgi?id=59180
13796
13797        Test: media/audio-controls-do-not-fade-out.html
13798
13799        * html/HTMLMediaElement.cpp:
13800        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Only start fading out the controls if there is
13801        a video track.
13802
138032011-04-22  Luke Macpherson   <macpherson@chromium.org>
13804
13805        Reviewed by Eric Seidel.
13806
13807        Add FontItalics and FontSmallCaps enums to be used instead of boolean values.
13808        https://bugs.webkit.org/show_bug.cgi?id=59080
13809
13810        No new tests as no new functionality added.
13811
13812        * css/CSSPrimitiveValueMappings.h:
13813        Add casts to/from FontItalics and FontSmallCaps
13814        * css/CSSStyleSelector.cpp:
13815        Use new casts defined in PrimitiveValueMappings.h
13816        * platform/graphics/Font.h:
13817        Use FontItalics enum.
13818        * platform/graphics/FontDescription.h:
13819        Define and use FontItalics and FontSmallCaps enums.
13820
138212011-04-21  Andrey Kosyakov  <caseq@chromium.org>
13822
13823        Reviewed by Yury Semikhatsky.
13824
13825        Web Inspector: exception in front-end when user selects resource info for resource that does not have response headers yet
13826        https://bugs.webkit.org/show_bug.cgi?id=59123
13827
13828        * inspector/front-end/ResourceCookiesView.js:
13829        (WebInspector.ResourceCookiesView):
13830        (WebInspector.ResourceCookiesView.prototype.show):
13831        (WebInspector.ResourceCookiesView.prototype.get _gotCookies):
13832        (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
13833
138342011-04-21  Beth Dakin  <bdakin@apple.com>
13835
13836        Reviewed by Dan Bernstein.
13837
13838        https://bugs.webkit.org/show_bug.cgi?id=57898
13839        REGRESSION (r82185): Scroll position not restored on navigation back to a page in
13840        the page cache
13841        -and corresponding-
13842        <rdar://problem/9226652>
13843
13844        The original fix for this change broke scroll-position restore for pages that are
13845        *not* in the page cache. This patch fixes both cached and non-cached pages by
13846        using the cachedScrollPosition() only for cached pages.
13847        * loader/HistoryController.cpp:
13848        (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
13849
138502011-04-21  Luke Macpherson   <macpherson@chromium.org>
13851
13852        Reviewed by Eric Seidel.
13853
13854        Remove redundant calls to RenderStyle::setDisplay()
13855        https://bugs.webkit.org/show_bug.cgi?id=59060
13856
13857        No new tests / no new functionality added.
13858
13859        * css/CSSStyleSelector.cpp:
13860        (WebCore::CSSStyleSelector::applyProperty):
13861        Remove redundant calls to RenderStyle::setDisplay()
13862
138632011-04-21  John Bauman  <jbauman@chromium.org>
13864
13865        Reviewed by Kenneth Russell.
13866
13867        WebGL context drawing buffer may not be cleared if FBO bound
13868        https://bugs.webkit.org/show_bug.cgi?id=58956
13869
13870        Clear the drawing buffer even if it's not currently bound, by
13871        switching between FBOs around the clear. Also, make sure that we
13872        handle depth and stencil masks properly.
13873
13874        No new tests, because testing this under DRT doesn't work.
13875
13876        * html/canvas/WebGLRenderingContext.cpp:
13877        (WebCore::WebGLRenderingContext::initializeNewContext):
13878        (WebCore::WebGLRenderingContext::clearIfComposited):
13879        (WebCore::WebGLRenderingContext::depthMask):
13880        * html/canvas/WebGLRenderingContext.h:
13881        *
138822011-04-21  Chris Fleizach  <cfleizach@apple.com>
13883
13884        Reviewed by Beth Dakin.
13885
13886        WebKit is erroneously modifying the DOM; adding 'aria-selected' to tables
13887        https://bugs.webkit.org/show_bug.cgi?id=59140
13888
13889        WebKit should not modify the DOM when the screen reader requests certain things be set. There is no
13890        specification that allows this behavior yet, but we are working on something for the future.
13891
13892        * accessibility/AccessibilityRenderObject.cpp:
13893        (WebCore::AccessibilityRenderObject::setARIAGrabbed):
13894        (WebCore::AccessibilityRenderObject::setIsExpanded):
13895        (WebCore::AccessibilityRenderObject::setSelected):
13896        (WebCore::AccessibilityRenderObject::setValue):
13897
138982011-04-21  Chris Fleizach  <cfleizach@apple.com>
13899
13900        Reviewed by Beth Dakin.
13901
13902        AX: order AccessibilityRole alphabetically
13903        https://bugs.webkit.org/show_bug.cgi?id=31524
13904
13905        * accessibility/AccessibilityObject.h:
13906
139072011-04-21  Jia Pu  <jpu@apple.com>
13908
13909        Reviewed by Maciej Stachowiak.
13910
13911        [Mac] correctionPanelTimerFired() crashes due to rangeToBeReplaced being cleared.
13912        https://bugs.webkit.org/show_bug.cgi?id=59155
13913        <rdar://problem/9261698>
13914
13915        Make sure the range isn't cleared before calling windowRectForRange() on it. Also removed unused functions in Editor.h,
13916        and fixed a typo in function name.
13917
13918        * editing/Editor.h:
13919        * editing/SpellingCorrectionController.cpp:
13920        (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
13921        (WebCore::SpellingCorrectionController::respondToChangedSelection):
13922        * editing/SpellingCorrectionController.h:
13923        (WebCore::SpellingCorrectionController::shouldStartTimerFor):
13924
139252011-04-21  Maciej Stachowiak  <mjs@apple.com>
13926
13927        Reviewed by Adam Roben.
13928
13929        Add a feature define to allow <details> and <summary> to be disabled
13930        https://bugs.webkit.org/show_bug.cgi?id=59118
13931        <rdar://problem/9257045>
13932
13933        No new tests; no behavior change.
13934
13935        * Configurations/FeatureDefines.xcconfig:
13936        * DerivedSources.make:
13937        * GNUmakefile.am:
13938        * features.pri:
13939        * html/HTMLDetailsElement.cpp:
13940        * html/HTMLSummaryElement.cpp:
13941        * html/HTMLTagNames.in:
13942        * html/shadow/DetailsMarkerControl.cpp:
13943        * rendering/RenderBlock.cpp:
13944        (WebCore::canMergeContiguousAnonymousBlocks):
13945        * rendering/RenderDetails.cpp:
13946        * rendering/RenderDetails.h:
13947        * rendering/RenderDetailsMarker.cpp:
13948        * rendering/RenderDetailsMarker.h:
13949        * rendering/RenderObject.h:
13950        * rendering/RenderSummary.cpp:
13951        * rendering/RenderSummary.h:
13952        * rendering/RenderTreeAsText.cpp:
13953        (WebCore::RenderTreeAsText::writeRenderObject):
13954
139552011-04-21  Dimitri Glazkov  <dglazkov@chromium.org>
13956
13957        Reviewed by Adele Peterson.
13958
13959        REGRESSION (r83386): Typing in WSJ.com search field doesn't clear placeholder text
13960        https://bugs.webkit.org/show_bug.cgi?id=59053
13961
13962        Turns out, the relatedTarget of an event could be also an ancestor of an event,
13963        not just its parent. Duh.
13964
13965        * dom/EventDispatcher.cpp:
13966        (WebCore::EventDispatcher::adjustToShadowBoundaries): Changed to use shadowHost
13967            explicitly.
13968
139692011-04-21  Michael Saboff  <msaboff@apple.com>
13970
13971        Reviewed by Maciej Stachowiak.
13972
13973        Qualified names used for all TagName access, yet namespace usage is rare
13974        https://bugs.webkit.org/show_bug.cgi?id=58997
13975
13976        The methods getElementsByTagName and getElementsByTagNameNS where
13977        always creating and using QualifiedNames.  QualifiedName::init
13978        was consistently in the top 3 routines when running the Dromaeo
13979        DOM-query benchmark.  Split out the functionality so that
13980        getElementsByTagName uses just the local name, an implied "*"
13981        namespace and a separate TagNodeListCache keyed by an atomic name
13982        instead of a QualifiedName.  Access to elements via
13983        getElementsByTagNameNS that have "*" namespace are forwarded to
13984        getElementsByTagName as well.  This provides ~10% speed up in that
13985        Dromaeo test.
13986
13987        No new tests added, existing tests have coverage.  The changes are
13988        an optimization of existing functionality.
13989
13990        * dom/Node.cpp:
13991        (WebCore::Node::removeCachedTagNodeList):
13992        (WebCore::Node::getElementsByTagName):
13993        (WebCore::Node::getElementsByTagNameNS):
13994        (WebCore::NodeListsNodeData::invalidateCaches):
13995        (WebCore::NodeListsNodeData::isEmpty):
13996        * dom/Node.h:
13997        * dom/NodeRareData.h:
13998        * dom/TagNodeList.cpp:
13999        (WebCore::TagNodeList::~TagNodeList):
14000
140012011-04-21  Geoffrey Garen  <ggaren@apple.com>
14002
14003        Reviewed by Oliver Hunt.
14004
14005        Removed a use of markDOMObjectWrapper: more style- and node-related stuff
14006        https://bugs.webkit.org/show_bug.cgi?id=59127
14007
14008        * bindings/js/JSCanvasRenderingContextCustom.cpp:
14009        * bindings/js/JSCanvasRenderingContextCustom.cpp:
14010        (WebCore::JSCanvasRenderingContextOwner::isReachableFromOpaqueRoots):
14011        (WebCore::JSCanvasRenderingContextOwner::finalize):
14012        (WebCore::wrapperOwner):
14013        (WebCore::wrapperContext): Use opaque roots for marking canvas rendering
14014        contexts, so JSNode isn't responsible for it.
14015
14016        * bindings/js/JSElementCustom.cpp:
14017        (WebCore::JSElement::markChildren):
14018        * bindings/js/JSHTMLCanvasElementCustom.cpp:
14019        * bindings/js/JSHTMLLinkElementCustom.cpp:
14020        * bindings/js/JSHTMLStyleElementCustom.cpp: Removed obsolete marking code.
14021
14022        * bindings/js/JSNodeCustom.cpp:
14023        (WebCore::isObservable):
14024        (WebCore::isReachableFromDOM):
14025        (WebCore::JSNodeOwner::isReachableFromOpaqueRoots): Removed a bunch of
14026        CSS object model related special cases, since the CSS object model
14027        now tracks its own lifetime through the opaque roots system. Removed
14028        canvas special case, covered above.
14029
14030        * bindings/js/JSProcessingInstructionCustom.cpp:
14031        * bindings/js/JSWebKitAnimationListCustom.cpp:
14032        * dom/ProcessingInstruction.idl:
14033        * html/HTMLCanvasElement.idl:
14034        * html/HTMLLinkElement.idl:
14035        * html/HTMLStyleElement.idl:
14036        * page/WebKitAnimationList.idl: Removed obsolete marking code.
14037
140382011-04-21  Vangelis Kokkevis  <vangelis@chromium.org>
14039
14040        Reviewed by James Robinson.
14041
14042        [chromium] Only update the contents of layers that are going to
14043        be drawn. Remove individual texture unreserves that happen
14044        after the layer draw calls with a single unreserve for all the
14045        textures in the texture manager.
14046        https://bugs.webkit.org/show_bug.cgi?id=59129
14047
14048        Tests: No new functionality.  Covered by existing layout tests.
14049
14050        * platform/graphics/chromium/ContentLayerChromium.cpp:
14051        (WebCore::ContentLayerChromium::draw):
14052        * platform/graphics/chromium/ContentLayerChromium.h:
14053        * platform/graphics/chromium/ImageLayerChromium.cpp:
14054        (WebCore::ImageLayerChromium::paintContentsIfDirty):
14055        (WebCore::ImageLayerChromium::updateCompositorResources):
14056        * platform/graphics/chromium/LayerRendererChromium.cpp:
14057        (WebCore::LayerRendererChromium::drawRootLayer):
14058        (WebCore::LayerRendererChromium::updateAndDrawLayers):
14059        (WebCore::LayerRendererChromium::updateLayers):
14060        (WebCore::LayerRendererChromium::paintLayerContents):
14061        * platform/graphics/chromium/LayerRendererChromium.h:
14062        * platform/graphics/chromium/LayerTexture.cpp:
14063        * platform/graphics/chromium/LayerTexture.h:
14064        * platform/graphics/chromium/LayerTilerChromium.cpp:
14065        * platform/graphics/chromium/LayerTilerChromium.h:
14066        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
14067        (WebCore::RenderSurfaceChromium::drawSurface):
14068        * platform/graphics/chromium/TextureManager.cpp:
14069        (WebCore::TextureManager::unprotectAllTextures):
14070        * platform/graphics/chromium/TextureManager.h:
14071        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
14072        (WebCore::CCHeadsUpDisplay::draw):
14073        * platform/graphics/chromium/cc/CCLayerImpl.h:
14074        (WebCore::CCLayerImpl::owner):
14075
140762011-04-21  Ryosuke Niwa  <rniwa@webkit.org>
14077
14078        Reviewed by Sam Weinig.
14079
14080        Add Frame* to the argument lists of canCopyCut and canPaste
14081        https://bugs.webkit.org/show_bug.cgi?id=59153
14082
14083        canCopyCut and canPaste now takes Frame* for which supportedCopyCut and supportedPaste are called.
14084        This allows editor client to grant copy/cut and paste permissions per origin.
14085
14086        * editing/EditorCommand.cpp:
14087        (WebCore::supportedCopyCut):
14088        (WebCore::supportedPaste):
14089        * loader/EmptyClients.h:
14090        (WebCore::EmptyEditorClient::canCopyCut):
14091        (WebCore::EmptyEditorClient::canPaste):
14092        * page/EditorClient.h:
14093
140942011-04-21  Oliver Hunt  <oliver@apple.com>
14095
14096        Whoops, change lost during merge
14097
14098        * bindings/js/JSEventListener.h:
14099
141002011-04-21  Geoffrey Garen  <ggaren@apple.com>
14101
14102        Reviewed by Sam Weinig.
14103
14104        Fixed a failure seen in fast/dom/prototype-inheritance-2.html due to
14105        wrong global object use.
14106
14107        * bindings/js/JSHTMLDocumentCustom.cpp:
14108        (WebCore::JSHTMLDocument::nameGetter):
14109        (WebCore::JSHTMLDocument::all):
14110        * bindings/js/JSHTMLFormElementCustom.cpp:
14111        (WebCore::JSHTMLFormElement::nameGetter): Use the right global object.
14112
141132011-04-21  Oliver Hunt  <oliver@apple.com>
14114
14115        Reviewed by Geoffrey Garen.
14116
14117        Start moving to a general visitor pattern for GC traversal
14118        https://bugs.webkit.org/show_bug.cgi?id=59141
14119
14120        This is just a rename:
14121            markChildren -> visitChildren
14122            markAggregate -> visitAggregate
14123            markStack -> visitor
14124            MarkStack -> typedef'd to SlotVisitor
14125
14126        * bindings/js/JSAttrCustom.cpp:
14127        (WebCore::JSAttr::visitChildren):
14128        * bindings/js/JSAudioConstructor.cpp:
14129        (WebCore::constructAudio):
14130        * bindings/js/JSCSSRuleCustom.cpp:
14131        (WebCore::JSCSSRule::visitChildren):
14132        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14133        (WebCore::JSCSSStyleDeclaration::visitChildren):
14134        * bindings/js/JSDOMBinding.cpp:
14135        (WebCore::visitActiveObjectsForContext):
14136        (WebCore::markDOMObjectWrapper):
14137        * bindings/js/JSDOMBinding.h:
14138        * bindings/js/JSDOMGlobalObject.cpp:
14139        (WebCore::JSDOMGlobalObject::visitChildren):
14140        * bindings/js/JSDOMGlobalObject.h:
14141        * bindings/js/JSDOMImplementationCustom.cpp:
14142        (WebCore::JSDOMImplementation::visitChildren):
14143        * bindings/js/JSDOMWindowCustom.cpp:
14144        (WebCore::JSDOMWindow::visitChildren):
14145        * bindings/js/JSDOMWindowShell.cpp:
14146        (WebCore::JSDOMWindowShell::visitChildren):
14147        * bindings/js/JSDOMWindowShell.h:
14148        * bindings/js/JSDocumentCustom.cpp:
14149        (WebCore::JSDocument::visitChildren):
14150        * bindings/js/JSElementCustom.cpp:
14151        (WebCore::JSElement::visitChildren):
14152        * bindings/js/JSEventListener.cpp:
14153        (WebCore::JSEventListener::markJSFunction):
14154        * bindings/js/JSEventListener.h:
14155        * bindings/js/JSHTMLCanvasElementCustom.cpp:
14156        (WebCore::JSHTMLCanvasElement::visitChildren):
14157        * bindings/js/JSHTMLLinkElementCustom.cpp:
14158        (WebCore::JSHTMLLinkElement::visitChildren):
14159        * bindings/js/JSHTMLStyleElementCustom.cpp:
14160        (WebCore::JSHTMLStyleElement::visitChildren):
14161        * bindings/js/JSImageConstructor.cpp:
14162        (WebCore::constructImage):
14163        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
14164        (WebCore::JSJavaScriptAudioNode::visitChildren):
14165        * bindings/js/JSMessageChannelCustom.cpp:
14166        (WebCore::JSMessageChannel::visitChildren):
14167        * bindings/js/JSMessagePortCustom.cpp:
14168        (WebCore::JSMessagePort::visitChildren):
14169        * bindings/js/JSNamedNodeMapCustom.cpp:
14170        (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots):
14171        (WebCore::JSNamedNodeMap::visitChildren):
14172        * bindings/js/JSNavigatorCustom.cpp:
14173        (WebCore::JSNavigator::visitChildren):
14174        * bindings/js/JSNodeCustom.cpp:
14175        (WebCore::isObservable):
14176        (WebCore::isReachableFromDOM):
14177        (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
14178        (WebCore::JSNode::visitChildren):
14179        * bindings/js/JSNodeCustom.h:
14180        * bindings/js/JSNodeFilterCondition.cpp:
14181        (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
14182        * bindings/js/JSNodeFilterCondition.h:
14183        * bindings/js/JSNodeFilterCustom.cpp:
14184        (WebCore::JSNodeFilter::visitChildren):
14185        * bindings/js/JSNodeIteratorCustom.cpp:
14186        (WebCore::JSNodeIterator::visitChildren):
14187        * bindings/js/JSNodeListCustom.cpp:
14188        (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
14189        * bindings/js/JSProcessingInstructionCustom.cpp:
14190        (WebCore::JSProcessingInstruction::visitChildren):
14191        * bindings/js/JSSVGElementInstanceCustom.cpp:
14192        (WebCore::JSSVGElementInstance::visitChildren):
14193        * bindings/js/JSSharedWorkerCustom.cpp:
14194        (WebCore::JSSharedWorker::visitChildren):
14195        * bindings/js/JSStyleSheetCustom.cpp:
14196        (WebCore::JSStyleSheet::visitChildren):
14197        * bindings/js/JSTreeWalkerCustom.cpp:
14198        (WebCore::JSTreeWalker::visitChildren):
14199        * bindings/js/JSWebGLRenderingContextCustom.cpp:
14200        (WebCore::JSWebGLRenderingContext::visitChildren):
14201        * bindings/js/JSWebKitAnimationListCustom.cpp:
14202        (WebCore::JSWebKitAnimationList::visitChildren):
14203        * bindings/js/JSWorkerContextCustom.cpp:
14204        (WebCore::JSWorkerContext::visitChildren):
14205        * bindings/js/JSXMLHttpRequestCustom.cpp:
14206        (WebCore::JSXMLHttpRequest::visitChildren):
14207        * bindings/js/JSXMLHttpRequestUploadCustom.cpp:
14208        (WebCore::JSXMLHttpRequestUpload::visitChildren):
14209        * bindings/scripts/CodeGeneratorJS.pm:
14210        * bridge/qt/qt_instance.cpp:
14211        (JSC::Bindings::QtRuntimeObject::visitChildren):
14212        (JSC::Bindings::QtInstance::markAggregate):
14213        * bridge/qt/qt_instance.h:
14214        * bridge/qt/qt_pixmapruntime.cpp:
14215        * bridge/qt/qt_runtime.cpp:
14216        (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
14217        * bridge/qt/qt_runtime.h:
14218        * dom/EventListener.h:
14219        (WebCore::EventListener::visitJSFunction):
14220        * dom/EventTarget.h:
14221        (WebCore::EventTarget::visitJSEventListeners):
14222        * dom/Node.h:
14223        * dom/NodeFilterCondition.h:
14224        (WebCore::NodeFilterCondition::visitAggregate):
14225        * page/DOMWindow.h:
14226        * workers/WorkerContext.h:
14227
142282011-04-21  Beth Dakin  <bdakin@apple.com>
14229
14230        Reviewed by Dan Bernstein.
14231
14232        https://bugs.webkit.org/show_bug.cgi?id=59048
14233        Need to track whether overlay scrollbar is currently visible and in lower-
14234        righthand corner
14235        -and corresponding-
14236        <rdar://problem/9211232>
14237
14238        Whenever we start a new ScrollbarPartAnimation, check if the scrollbar is vertical
14239        and showing (alpha of 1), and if so, call setVisibleScrollerThumbRect with the
14240        knob rect, otherwise with an empty rect. ScrollAnimatorMac has a local rect to
14241        track this value so that it can avoid sending messages across the ChromeClient to
14242        the UIProcess if the rect has not changed.
14243        * platform/mac/ScrollAnimatorMac.h:
14244        * platform/mac/ScrollAnimatorMac.mm:
14245        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
14246        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
14247        (WebCore::ScrollAnimatorMac::setVisibleScrollerThumbRect):
14248
14249        Plumbing for the chrome client.
14250        * page/ChromeClient.h:
14251        (WebCore::ChromeClient::notifyScrollerThumbIsVisibleInRect):
14252        * page/FrameView.cpp:
14253        (WebCore::FrameView::setVisibleScrollerThumbRect):
14254        * page/FrameView.h:
14255        * platform/ScrollableArea.h:
14256        (WebCore::ScrollableArea::setVisibleScrollerThumbRect):
14257
14258        New WebCoreSystemInterface function to get the knob rect.
14259        * WebCore.exp.in:
14260        * platform/mac/WebCoreSystemInterface.h:
14261        * platform/mac/WebCoreSystemInterface.mm:
14262
142632011-04-21  Nat Duca  <nduca@chromium.org>
14264
14265        Reviewed by James Robinson.
14266
14267        [chromium] Fix artefacts in compositor HUD when resizing
14268        https://bugs.webkit.org/show_bug.cgi?id=58969
14269
14270        HUD was using the tiler program and not setting the texture
14271        transform. The HUD would thus draw with a texture transform based
14272        on the last tile drawn, leading sometimes to distortion.
14273
14274        * platform/graphics/chromium/LayerRendererChromium.cpp:
14275        (WebCore::LayerRendererChromium::initializeSharedObjects):
14276        (WebCore::LayerRendererChromium::cleanupSharedObjects):
14277        * platform/graphics/chromium/LayerRendererChromium.h:
14278        (WebCore::LayerRendererChromium::headsUpDisplayProgram):
14279        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
14280        (WebCore::CCHeadsUpDisplay::draw):
14281        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
14282
142832011-04-21  Mike Reed  <reed@google.com>
14284
14285        Reviewed by Kenneth Russell.
14286
14287        only return false if we actually in a skia-gpu accelerated canvas for isNativeFontRenderingAllowed
14288        https://bugs.webkit.org/show_bug.cgi?id=59024
14289
14290        No new tests. The bug (and fix) depend on enabling SKIA_GPU. When that is enabled, the bug
14291        shows all text w/o lcd rendering. This is a regression from a recent CL when we switch to
14292        calling skia::SupportsPlatformPaint. This CL fixes that.
14293        There should be no change for the default builds when SKIA_GPU is not enabled.
14294
14295        * platform/graphics/skia/PlatformContextSkia.cpp:
14296        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
14297
142982011-04-21  Adrienne Walker  <enne@google.com>
14299
14300        Reviewed by James Robinson.
14301
14302        [chromium] Don't upload partially drawn tiles in the compositor
14303        https://bugs.webkit.org/show_bug.cgi?id=59112
14304
14305        Use the same set of tiles for painting as is used for updating.
14306        Before, a larger set of tiles were being uploaded, causing some to
14307        only be partially undirtied because they were not fully painted.
14308        As tiles are clear their dirty rect after being unpainted, this caused
14309        artifacts to appear when scrolling.
14310
14311        Unfortunately, no layout test can test this behavior yet because
14312        scrolling invalidations are done differently in test shell.
14313
14314        * platform/graphics/chromium/ImageLayerChromium.cpp:
14315        (WebCore::ImageLayerChromium::updateCompositorResources):
14316        * platform/graphics/chromium/LayerTilerChromium.cpp:
14317        (WebCore::LayerTilerChromium::update):
14318        (WebCore::LayerTilerChromium::uploadCanvas):
14319        (WebCore::LayerTilerChromium::updateFromPixels):
14320        * platform/graphics/chromium/LayerTilerChromium.h:
14321
143222011-04-21  Ben Taylor  <bentaylor.solx86@gmail.com>
14323
14324        Reviewed by Alexey Proskuryakov.
14325
14326        https://bugs.webkit.org/show_bug.cgi?id=58725
14327
14328        Fix a compile issue on Solaris 10 with Sun Studio 12,
14329        ternary operators (?:) must have the same types
14330
14331        * loader/DocumentLoader.cpp:
14332        (WebCore::DocumentLoader::popArchiveForSubframe):
14333        * loader/archive/ArchiveFactory.cpp:
14334        (WebCore::ArchiveFactory::create):
14335        * loader/icon/IconDatabase.cpp:
14336        (WebCore::IconDatabase::setIconDataForIconURL):
14337        * page/animation/AnimationBase.cpp:
14338        (WebCore::blendFunc):
14339        * rendering/RenderLayer.cpp:
14340        (WebCore::RenderLayer::updateScrollCornerStyle):
14341        (WebCore::RenderLayer::updateResizerStyle):
14342        * rendering/RenderScrollbar.cpp:
14343        (WebCore::RenderScrollbar::updateScrollbarPart):
14344        * rendering/RenderTextFragment.cpp:
14345        (WebCore::RenderTextFragment::RenderTextFragment):
14346
143472011-04-21  Mike Reed  <reed@google.com>
14348
14349        Reviewed by Kenneth Russell.
14350
14351        [chromium, win] Multiple failures of shadow rendering layout tests
14352        https://bugs.webkit.org/show_bug.cgi?id=58772
14353
14354        No new tests. This CL fixes a regression in the following tests
14355        fast/multicol/shadow-breaking.html
14356        fast/repaint/shadow-multiple-horizontal.html
14357        fast/repaint/shadow-multiple-strict-horizontal.html
14358        fast/repaint/shadow-multiple-strict-vertical.html
14359        fast/repaint/shadow-multiple-vertical.html
14360        fast/text/shadow-translucent-fill.html
14361        fast/transforms/shadows.html
14362        svg/css/group-with-shadow.svg
14363        svg/css/shadow-changes.svg
14364        svg/css/text-shadow-multiple.xhtml
14365        transitions/svg-text-shadow-transition.html
14366        svg/css/composite-shadow-text.svg
14367
14368
14369        * platform/graphics/skia/GraphicsContextSkia.cpp:
14370        (WebCore::GraphicsContext::setPlatformShadow):
14371
143722011-04-21  Geoffrey Garen  <ggaren@apple.com>
14373
14374        Try to fix the Qt build.
14375
14376        * UseJSC.cmake:
14377        * WebCore.pro: Use correct file name.
14378
143792011-04-21  Dirk Schulze  <krit@webkit.org>
14380
14381        Unreviewed Qt build fix.
14382
14383        SVG feDropShadow implementation of SVG Filters 1.2
14384        https://bugs.webkit.org/show_bug.cgi?id=52513
14385
14386        * CodeGenerators.pri:
14387
143882011-04-21  Adrienne Walker  <enne@google.com>
14389
14390        Reviewed by James Robinson.
14391
14392        [chromium] Clamp dirty regions on content layers to layer bounds
14393        https://bugs.webkit.org/show_bug.cgi?id=58933
14394
14395        This prevents garbage being rendered when layers are resized and a
14396        previous invalidation (now off-layer) is no longer valid.
14397
14398        * platform/graphics/chromium/ContentLayerChromium.cpp:
14399        (WebCore::ContentLayerChromium::paintContentsIfDirty):
14400
144012011-04-21  Roland Steiner  <rolandsteiner@chromium.org>
14402
14403        Reviewed by Kent Tamura.
14404
14405        Bug 59012 - Shadows should be imported along with their host nodes
14406        https://bugs.webkit.org/show_bug.cgi?id=59012
14407
14408        Copy the shadow tree of an element (even on a shallow copy!).
14409
14410        Test: fast/dom/shadow/import-shadowroot.html
14411
14412        * dom/Element.cpp:
14413        (WebCore::Element::copyNonAttributeProperties):
14414        * dom/Element.h:
14415
144162011-04-20  Geoffrey Garen  <ggaren@apple.com>
14417
14418        Reviewed by Oliver Hunt.
14419
14420        Removed a use of markDOMObjectWrapper: CSS Object Model
14421        https://bugs.webkit.org/show_bug.cgi?id=59057
14422
14423        This is 24 hours of my life I will never get back. Thank you, W3C.
14424
14425        * GNUmakefile.list.am:
14426        * WebCore.gypi:
14427        * WebCore.vcproj/WebCore.vcproj:
14428        * WebCore.xcodeproj/project.pbxproj: Build!
14429
14430        * bindings/js/JSCSSFontFaceRuleCustom.cpp:
14431        * bindings/js/JSCSSImportRuleCustom.cpp:
14432        * bindings/js/JSCSSMediaRuleCustom.cpp:
14433        * bindings/js/JSCSSPageRuleCustom.cpp:
14434        * bindings/js/JSCSSRuleCustom.cpp:
14435        (WebCore::JSCSSRuleOwner::isReachableFromOpaqueRoots):
14436        (WebCore::JSCSSRuleOwner::finalize):
14437        (WebCore::wrapperOwner):
14438        (WebCore::wrapperContext):
14439        (WebCore::JSCSSRule::markChildren):
14440        * bindings/js/JSCSSRuleListCustom.cpp:
14441        (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
14442        (WebCore::JSCSSRuleListOwner::finalize):
14443        (WebCore::wrapperOwner):
14444        (WebCore::wrapperContext):
14445        (WebCore::toJS):
14446        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
14447        (WebCore::JSCSSStyleDeclarationOwner::isReachableFromOpaqueRoots):
14448        (WebCore::JSCSSStyleDeclarationOwner::finalize):
14449        (WebCore::wrapperOwner):
14450        (WebCore::wrapperContext):
14451        (WebCore::JSCSSStyleDeclaration::markChildren): Removed custom mark functions,
14452        and replaced with use of the opaque roots system. This has the nice benefit
14453        of allowing us to eagerly recycle far more CSS wrappers and their associated
14454        DOM wrappers.
14455
14456        (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue): Made this function
14457        custom because it must maintain the sorrowful invariant that primitive
14458        values can be mapped back to objects that are reachable through the DOM.
14459        We maintain this invariant through an external hash table because
14460        making all primitive values bigger would be a too-large memory use
14461        penalty. Luckily, nobody uses this feature, so the cost of the hash table
14462        is no big deal.
14463
14464        (WebCore::toJS): We need a custom toJS so we can specify our own WeakHandleOwner.
14465
14466        * bindings/js/JSCSSStyleRuleCustom.cpp: Removed custom mark, as above.
14467
14468        * bindings/js/JSCSSValueCustom.cpp:
14469        (WebCore::cssValueRoots):
14470        (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
14471        (WebCore::JSCSSValueOwner::finalize):
14472        (WebCore::wrapperOwner):
14473        (WebCore::wrapperContext): Use the opaque roots system. Piggy-back on
14474        the external hash table filled by JSCSSStyleDeclaration::getPropertyCSSValue.
14475
14476        * bindings/js/JSDocumentCustom.cpp:
14477        (WebCore::JSDocument::markChildren): No need to mark our stylesheet list,
14478        since all style-related objects can use our opaque root to determine
14479        liveness.
14480
14481        * bindings/js/JSMediaListCustom.cpp: Added.
14482        (WebCore::JSMediaListOwner::isReachableFromOpaqueRoots):
14483        (WebCore::JSMediaListOwner::finalize):
14484        (WebCore::wrapperOwner):
14485        (WebCore::wrapperContext):
14486        (WebCore::toJS): Use the opaque roots system.
14487
14488        * bindings/js/JSNodeCustom.h:
14489        (WebCore::root): Added helpers for computing style-related roots.
14490
14491        * bindings/js/JSStyleSheetCustom.cpp:
14492        (WebCore::JSStyleSheetOwner::isReachableFromOpaqueRoots):
14493        (WebCore::JSStyleSheetOwner::finalize):
14494        (WebCore::wrapperOwner):
14495        (WebCore::wrapperContext):
14496        (WebCore::JSStyleSheet::markChildren): Use the opaque roots system instead
14497        of direct marking.
14498
14499        * bindings/js/JSStyleSheetListCustom.cpp:
14500        (WebCore::JSStyleSheetListOwner::isReachableFromOpaqueRoots):
14501        (WebCore::JSStyleSheetListOwner::finalize):
14502        (WebCore::wrapperOwner):
14503        (WebCore::wrapperContext):
14504        (WebCore::toJS): Ditto.
14505
14506        * bindings/js/JSWebKitCSSKeyframeRuleCustom.cpp:
14507        * bindings/js/JSWebKitCSSKeyframesRuleCustom.cpp:
14508        * css/CSSFontFaceRule.idl:
14509        * css/CSSImportRule.idl: No more custom mark, since we use the opaque
14510        roots system instead.
14511
14512        * css/CSSMediaRule.cpp:
14513        (WebCore::CSSMediaRule::CSSMediaRule): Fixed a bug where a media rule
14514        would incorrectly have no parent, since this got in the way of correctly
14515        computing the media rule's root.
14516
14517        * css/CSSMediaRule.idl:
14518        * css/CSSPageRule.idl:
14519        * css/CSSRuleList.idl:
14520        * css/CSSStyleDeclaration.idl:
14521        * css/CSSStyleRule.idl:
14522        * css/MediaList.idl: Match behavior changes above.
14523
14524        * css/StyleBase.cpp:
14525        (WebCore::StyleBase::node): Helper function for computing roots of the
14526        style system. This object model is pretty weird and not very well factored,
14527        but I'm pretty sure this covers all the relevant cases.
14528
14529        * css/StyleBase.h:
14530        * css/StyleSheetList.idl:
14531        * css/WebKitCSSKeyframeRule.idl:
14532        * css/WebKitCSSKeyframesRule.idl: Updated to match the behavior changes above.
14533
145342011-04-21  Dirk Schulze  <krit@webkit.org>
14535
14536        Reviewed by Nikolas Zimmermann.
14537
14538        SVG feDropShadow implementation of SVG Filters 1.2
14539        https://bugs.webkit.org/show_bug.cgi?id=52513
14540
14541        This is the implementation of feDropShadow, a shorthand filter and a combination of feGaussianBlur,
14542        feOffset, feFlood and feComposite to create a drop shadow of an input effect.
14543        Creating this new filter effect makes it possible to optimize the often used workflow. ShadowBlur, with its
14544        fast blurring algorithm, is used to blur the shadow and composite operators are responsible for combining the
14545        source with different colored shadows.
14546        Shadow color and opacity can be set with the properties flood-color and flood-opacity.
14547
14548        Tests: svg/dynamic-updates/SVGFEDropShadowElement-dom-dx-attr.html
14549               svg/dynamic-updates/SVGFEDropShadowElement-dom-dy-attr.html
14550               svg/dynamic-updates/SVGFEDropShadowElement-dom-in-attr.html
14551               svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-color-attr.html
14552               svg/dynamic-updates/SVGFEDropShadowElement-dom-shadow-opacity-attr.html
14553               svg/dynamic-updates/SVGFEDropShadowElement-dom-stdDeviation-attr.html
14554               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dx-prop.html
14555               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-dy-prop.html
14556               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-in-prop.html
14557               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-color-prop.html
14558               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-shadow-opacity-prop.html
14559               svg/dynamic-updates/SVGFEDropShadowElement-svgdom-stdDeviation-prop.html
14560               svg/filters/feDropShadow.svg
14561
14562        * Android.mk:
14563        * CMakeLists.txt:
14564        * DerivedSources.cpp:
14565        * DerivedSources.make:
14566        * GNUmakefile.list.am:
14567        * WebCore.exp.in:
14568        * WebCore.gypi:
14569        * WebCore.pro:
14570        * WebCore.vcproj/WebCore.vcproj:
14571        * WebCore.xcodeproj/project.pbxproj:
14572        * bindings/objc/DOM.mm:
14573        (WebCore::createElementClassMap):
14574        * bindings/objc/DOMSVG.h:
14575        * page/DOMWindow.idl:
14576        * platform/graphics/ShadowBlur.cpp: Added missing copyright after r84410.
14577        * platform/graphics/ShadowBlur.h: Made blurLayerImage public.
14578        * platform/graphics/filters/FEDropShadow.cpp: Added.
14579        (WebCore::FEDropShadow::FEDropShadow):
14580        (WebCore::FEDropShadow::create):
14581        (WebCore::FEDropShadow::determineAbsolutePaintRect):
14582        (WebCore::FEDropShadow::apply):
14583        (WebCore::FEDropShadow::dump):
14584        (WebCore::FEDropShadow::externalRepresentation):
14585        * platform/graphics/filters/FEDropShadow.h: Added.
14586        (WebCore::FEDropShadow::stdDeviationX):
14587        (WebCore::FEDropShadow::setStdDeviationX):
14588        (WebCore::FEDropShadow::stdDeviationY):
14589        (WebCore::FEDropShadow::setStdDeviationY):
14590        (WebCore::FEDropShadow::dx):
14591        (WebCore::FEDropShadow::setDx):
14592        (WebCore::FEDropShadow::dy):
14593        (WebCore::FEDropShadow::setDy):
14594        (WebCore::FEDropShadow::shadowColor):
14595        (WebCore::FEDropShadow::setShadowColor):
14596        (WebCore::FEDropShadow::shadowOpacity):
14597        (WebCore::FEDropShadow::setShadowOpacity):
14598        * platform/graphics/filters/FEGaussianBlur.cpp:
14599        (WebCore::FEGaussianBlur::calculateKernelSize): Make kernel calculations accessible for feDropShadow.
14600        * platform/graphics/filters/FEGaussianBlur.h:
14601        * svg/SVGAllInOne.cpp:
14602        * svg/SVGFEDropShadowElement.cpp: Added.
14603        (WebCore::SVGFEDropShadowElement::SVGFEDropShadowElement):
14604        (WebCore::SVGFEDropShadowElement::create):
14605        (WebCore::SVGFEDropShadowElement::stdDeviationXIdentifier):
14606        (WebCore::SVGFEDropShadowElement::stdDeviationYIdentifier):
14607        (WebCore::SVGFEDropShadowElement::setStdDeviation):
14608        (WebCore::SVGFEDropShadowElement::parseMappedAttribute):
14609        (WebCore::SVGFEDropShadowElement::svgAttributeChanged):
14610        (WebCore::SVGFEDropShadowElement::synchronizeProperty):
14611        (WebCore::SVGFEDropShadowElement::build):
14612        * svg/SVGFEDropShadowElement.h: Added.
14613        * svg/SVGFEDropShadowElement.idl: Added.
14614        * svg/svgtags.in:
14615
146162011-04-21  Roland Steiner  <rolandsteiner@chromium.org>
14617
14618        Reviewed by Dimitri Glazkov.
14619
14620        Bug 58704 - Decide on node type for ShadowRoot
14621        https://bugs.webkit.org/show_bug.cgi?id=58704
14622
14623        Add a new node type SHADOW_ROOT_NODE.
14624        Adapt all calling sites of nodeType().
14625
14626        Test: fast/dom/shadow/nodetype.html
14627
14628        * bindings/js/JSNodeCustom.cpp:
14629        (WebCore::createWrapperInline):
14630        * bindings/objc/DOM.mm:
14631        (kitClass):
14632        * bindings/v8/custom/V8NodeCustom.cpp:
14633        (WebCore::toV8Slow):
14634        * dom/Document.cpp:
14635        (WebCore::Document::importNode):
14636        (WebCore::Document::childTypeAllowed):
14637        (WebCore::Document::canReplaceChild):
14638        * dom/Node.cpp:
14639        (WebCore::Node::dumpStatistics):
14640        (WebCore::Node::isDefaultNamespace):
14641        (WebCore::Node::lookupPrefix):
14642        (WebCore::Node::lookupNamespaceURI):
14643        (WebCore::appendTextContent):
14644        (WebCore::Node::setTextContent):
14645        * dom/Node.h:
14646        * dom/Range.cpp:
14647        (WebCore::lengthOfContentsInNode):
14648        (WebCore::Range::processContentsBetweenOffsets):
14649        (WebCore::Range::insertNode):
14650        (WebCore::Range::checkNodeWOffset):
14651        (WebCore::Range::checkNodeBA):
14652        (WebCore::Range::selectNode):
14653        (WebCore::Range::selectNodeContents):
14654        (WebCore::Range::surroundContents):
14655        * dom/ShadowRoot.cpp:
14656        (WebCore::ShadowRoot::nodeType):
14657        * dom/Traversal.cpp:
14658        (WebCore::Traversal::acceptNode):
14659        * editing/MarkupAccumulator.cpp:
14660        (WebCore::MarkupAccumulator::appendStartMarkup):
14661        * html/parser/HTMLElementStack.cpp:
14662        (WebCore::HTMLNames::isRootNode):
14663        (WebCore::HTMLElementStack::pushRootNode):
14664        * html/parser/HTMLElementStack.h:
14665        (WebCore::isInHTMLNamespace):
14666        * xml/XPathUtil.cpp:
14667        (WebCore::XPath::isValidContextNode):
14668
146692011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
14670
14671        Reviewed by Kent Tamura.
14672
14673        REGRESSION (r75543): Styles bleed into new shadow DOM (like slider and video)
14674        https://bugs.webkit.org/show_bug.cgi?id=52917
14675
14676        In order to determine whether a rule should apply inside of a shadow DOM subtree,
14677        we collect three pieces of information:
14678
14679        1) Are we parsing UA sheets?
14680        2) Does the current tree scope allows applying author sheets?
14681        3) Does the rule explicitly reach into shadow DOM (using pseudo-elements, for example)?
14682
14683        If the answer to all of these is no, we ignore the rule.
14684
14685        Test: fast/css/shadow-dom-scope.html
14686
14687        * css/CSSStyleSelector.cpp:
14688        (WebCore::MatchingUARulesScope::MatchingUARulesScope): Added a scope helper to
14689            track whether we are currently matching UA rules.
14690        (WebCore::CSSStyleSelector::matchRulesForList): Added the check for three
14691            conditions mentioned above.
14692        (WebCore::CSSStyleSelector::SelectorChecker::SelectorChecker): Added
14693            initializer for the flag, which helps us determine whether the rule
14694            explicitly reaches into shadow DOM.
14695        (WebCore::CSSStyleSelector::matchUARules): Started using the scope helper.
14696        (WebCore::CSSStyleSelector::checkSelector): Added initializing of the
14697            flag.
14698        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector): Added setting
14699            of the flag when we encounter unknown pseudo-elements.
14700        * css/CSSStyleSelector.h: Adjusted decls.
14701        * dom/ShadowRoot.cpp:
14702        (WebCore::ShadowRoot::applyAuthorSheets): Added.
14703        * dom/ShadowRoot.h: Adjusted decls.
14704        * dom/TreeScope.cpp:
14705        (WebCore::TreeScope::applyAuthorSheets): Added.
14706        * dom/TreeScope.h: Adjusted decls.
14707
147082011-04-21  Levi Weintraub  <leviw@chromium.org>
14709
14710        Reviewed by Simon Fraser.
14711
14712        position fixed element does not render properly when dynamically updated via javascript
14713        https://bugs.webkit.org/show_bug.cgi?id=54297
14714
14715        Disabling the LayoutState fast-path for fixed-position content.
14716
14717        Tests: fast/repaint/fixed-contents-changed-after-scroll.html
14718               fast/repaint/transformed-contents-changed-after-scroll.html
14719
14720        * rendering/RenderBox.cpp:
14721        (WebCore::RenderBox::computeRectForRepaint):
14722
147232011-04-20  Matthew Delaney  <mdelaney@apple.com>
14724
14725        Reviewed by Maciej Stachowiak.
14726
14727        arc() should add a circle to the path when start and end angles are far enough apart
14728        https://bugs.webkit.org/show_bug.cgi?id=58934
14729
14730        Test: fast/canvas/canvas_arc_largeangles.html
14731
14732        * html/canvas/CanvasRenderingContext2D.cpp:
14733        (WebCore::CanvasRenderingContext2D::arc):
14734
147352011-04-20  MORITA Hajime  <morrita@google.com>
14736
14737        Reviewed by Dimitri Glazkov.
14738
14739        Content of <summary> should be forwarded through the shadow DOM
14740        https://bugs.webkit.org/show_bug.cgi?id=58914
14741
14742        - Introduced ShadowContentElement which hosts forwarded children of <summary>
14743        - Encapsulated Node::parentNodeForRenderingAndStyle() and shouldCreateRendererFor()
14744          into NodeVisualParentLookupResult class.
14745        - The parent lookup is also aware of node forwarding. If the visual parent node has
14746          a shadow root, the node is possibly forwarded to ShadowContentElement
14747        - ShadowContentElement lookup is implemented inside ShadowRoot.
14748
14749        Tests: fast/html/details-add-summary-child-1.html
14750               fast/html/details-add-summary-child-2.html
14751               fast/html/details-remove-summary-child-1.html
14752               fast/html/details-remove-summary-child-2.html
14753
14754        * GNUmakefile.list.am:
14755        * WebCore.gypi:
14756        * WebCore.vcproj/WebCore.vcproj:
14757        * WebCore.xcodeproj/project.pbxproj:
14758        * dom/Element.cpp:
14759        (WebCore::Element::childrenChanged):
14760        * dom/Node.cpp:
14761        (WebCore::NodeRenderParentDetector::NodeRenderParentDetector):
14762        (WebCore::NodeRenderParentDetector::parentNodeForRenderingAndStyle):
14763        (WebCore::NodeRenderParentDetector::findVisualParent):
14764        (WebCore::NodeRenderParentDetector::shouldCreateRenderer):
14765        (WebCore::Node::parentNodeForRenderingAndStyle):
14766        (WebCore::Node::createRendererAndStyle):
14767        * dom/ShadowRoot.cpp:
14768        (WebCore::ShadowRoot::contentContainerFor):
14769        (WebCore::ShadowRoot::hostChildrenChanged):
14770        (WebCore::ShadowRoot::firstContentElement):
14771        * dom/ShadowRoot.h:
14772        * html/HTMLSummaryElement.cpp:
14773        (WebCore::HTMLSummaryElement::createShadowSubtree):
14774        * html/HTMLSummaryElement.h:
14775        * html/shadow/ShadowContentElement.h: Copied from Source/WebCore/dom/ShadowRoot.h.
14776        (WebCore::ShadowContentElement::ShadowContentElement):
14777        (WebCore::ShadowContentElement::isShadowBoundary):
14778        (WebCore::ShadowContentElement::createRenderer):
14779        (WebCore::ShadowContentElement::create):
14780
147812011-04-21  Andrey Kosyakov  <caseq@chromium.org>
14782
14783        Reviewed by Pavel Feldman.
14784
14785        Web Inspector: fix calls to WebInspector.ObjectPropertiesSection constructor
14786        https://bugs.webkit.org/show_bug.cgi?id=59105
14787
14788        * inspector/front-end/ConsoleView.js:
14789        (WebInspector.ConsoleView.prototype._formatobject):
14790        * inspector/front-end/ExtensionPanel.js:
14791        (WebInspector.ExtensionSidebarPane.prototype._setObject):
14792        * inspector/front-end/ResourceJSONView.js:
14793        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize):
14794        * inspector/front-end/SourceFrame.js:
14795        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
14796        (WebInspector.SourceFrame.prototype._showPopup):
14797
147982011-04-21  Adam Barth  <abarth@webkit.org>
14799
14800        Remove support for CSP's frame-src.  This approach causes too many
14801        extra console messages to be logged.  I'm leaving in the test (which
14802        now shows failure).
14803
14804        * html/HTMLFrameElementBase.cpp:
14805        (WebCore::HTMLFrameElementBase::isURLAllowed):
14806
148072011-04-21  Eunsol Park  <eunsol47.park@samsung.com>
14808
14809        Reviewed by Antonio Gomes.
14810
14811        [EFL] Scroll doesn't work on tiled backing store.
14812        https://bugs.webkit.org/show_bug.cgi?id=55021
14813
14814        It was added from Changeset 72242, but it worked wrong in EFL port.
14815        The visible rect should not be returned as content rect for scrolling in EFL tiled backing store,
14816        because it works differently from QT.
14817
14818        * platform/ScrollView.cpp:
14819        (WebCore::ScrollView::visibleContentRect):
14820
148212011-04-21  Simon Fraser  <simon.fraser@apple.com>
14822
14823        Reviewed by Eric Seidel.
14824
14825        Create RIAA class for GraphicsContext::save() and restore()
14826        https://bugs.webkit.org/show_bug.cgi?id=58807
14827
14828        Use GraphicsContextStateSaver in a lot more places.
14829
14830        * html/canvas/CanvasRenderingContext2D.cpp:
14831        (WebCore::CanvasRenderingContext2D::drawImage):
14832        (WebCore::CanvasRenderingContext2D::drawTextInternal):
14833        * platform/ScrollView.cpp:
14834        (WebCore::ScrollView::wheelEvent):
14835        * platform/graphics/GeneratedImage.cpp:
14836        (WebCore::GeneratedImage::draw):
14837        * platform/graphics/GraphicsContext.h:
14838        (WebCore::GraphicsContextStateSaver::save):
14839        (WebCore::GraphicsContextStateSaver::restore):
14840        * platform/graphics/ShadowBlur.cpp:
14841        (WebCore::ShadowBlur::drawShadowBuffer):
14842        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
14843        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
14844        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
14845        (WebCore::ShadowBlur::drawRectShadowWithTiling):
14846        (WebCore::ShadowBlur::drawLayerPieces):
14847        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
14848        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint):
14849        * platform/graphics/cg/ImageCG.cpp:
14850        (WebCore::BitmapImage::draw):
14851        (WebCore::Image::drawPattern):
14852        * platform/graphics/cg/PDFDocumentImage.cpp:
14853        (WebCore::PDFDocumentImage::draw):
14854        * platform/graphics/filters/FEComposite.cpp:
14855        (WebCore::FEComposite::apply):
14856        * platform/graphics/filters/SourceAlpha.cpp:
14857        (WebCore::SourceAlpha::apply):
14858        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
14859        (WebCore::MediaPlayerPrivateQTKit::paint):
14860        * platform/mac/ScrollbarThemeMac.mm:
14861        (WebCore::ScrollbarThemeMac::paint):
14862        * platform/mac/ThemeMac.mm:
14863        (WebCore::paintCheckbox):
14864        (WebCore::paintRadio):
14865        (WebCore::paintStepper):
14866        * rendering/EllipsisBox.cpp:
14867        (WebCore::EllipsisBox::paintSelection):
14868        * rendering/InlineFlowBox.cpp:
14869        (WebCore::InlineFlowBox::paintFillLayer):
14870        (WebCore::InlineFlowBox::paintBoxDecorations):
14871        (WebCore::InlineFlowBox::paintMask):
14872        * rendering/InlineTextBox.cpp:
14873        (WebCore::InlineTextBox::paint):
14874        (WebCore::InlineTextBox::paintSelection):
14875        (WebCore::InlineTextBox::paintCompositionBackground):
14876        (WebCore::InlineTextBox::paintDecoration):
14877        (WebCore::InlineTextBox::paintTextMatchMarker):
14878        * rendering/RenderBlock.cpp:
14879        (WebCore::RenderBlock::paintColumnContents):
14880        (WebCore::RenderBlock::paintSelection):
14881        * rendering/RenderBox.cpp:
14882        (WebCore::RenderBox::paintBoxDecorationsWithSize):
14883        * rendering/RenderBoxModelObject.cpp:
14884        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
14885        (WebCore::RenderBoxModelObject::paintBorder):
14886        * rendering/RenderEmbeddedObject.cpp:
14887        (WebCore::RenderEmbeddedObject::paintReplaced):
14888        * rendering/RenderFieldset.cpp:
14889        (WebCore::RenderFieldset::paintBoxDecorations):
14890        * rendering/RenderFileUploadControl.cpp:
14891        (WebCore::RenderFileUploadControl::paintObject):
14892        * rendering/RenderLayer.cpp:
14893        (WebCore::RenderLayer::paintResizer):
14894        (WebCore::RenderLayer::paintLayer):
14895        (WebCore::RenderLayer::paintChildLayerIntoColumns):
14896        * rendering/RenderListMarker.cpp:
14897        (WebCore::RenderListMarker::paint):
14898        * rendering/RenderMediaControls.cpp:
14899        (WebCore::RenderMediaControls::paintMediaControlsPart):
14900        * rendering/RenderTableCell.cpp:
14901        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
14902        * rendering/RenderTextControl.cpp:
14903        (WebCore::RenderTextControl::paintPlaceholder):
14904        * rendering/RenderThemeMac.mm:
14905        (WebCore::RenderThemeMac::paintMenuList):
14906        (WebCore::RenderThemeMac::paintMeter):
14907        (WebCore::RenderThemeMac::paintProgressBar):
14908        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
14909        (WebCore::RenderThemeMac::paintMenuListButton):
14910        (WebCore::RenderThemeMac::paintSliderTrack):
14911        (WebCore::RenderThemeMac::paintSliderThumb):
14912        (WebCore::RenderThemeMac::paintSearchField):
14913        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
14914        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
14915        (WebCore::RenderThemeMac::paintMediaSliderTrack):
14916        (WebCore::RenderThemeMac::paintMediaCurrentTime):
14917        (WebCore::RenderThemeMac::paintMediaTimeRemaining):
14918        * rendering/mathml/RenderMathMLBlock.cpp:
14919        (WebCore::RenderMathMLBlock::paint):
14920        * rendering/mathml/RenderMathMLFraction.cpp:
14921        (WebCore::RenderMathMLFraction::paint):
14922        * rendering/mathml/RenderMathMLRoot.cpp:
14923        (WebCore::RenderMathMLRoot::paint):
14924        * rendering/mathml/RenderMathMLSquareRoot.cpp:
14925        (WebCore::RenderMathMLSquareRoot::paint):
14926        * rendering/svg/RenderSVGContainer.cpp:
14927        (WebCore::RenderSVGContainer::paint):
14928        * rendering/svg/RenderSVGForeignObject.cpp:
14929        (WebCore::RenderSVGForeignObject::paint):
14930        * rendering/svg/RenderSVGImage.cpp:
14931        (WebCore::RenderSVGImage::paint):
14932        * rendering/svg/RenderSVGPath.cpp:
14933        (WebCore::RenderSVGPath::fillAndStrokePath):
14934        (WebCore::RenderSVGPath::paint):
14935        * rendering/svg/RenderSVGResourceClipper.cpp:
14936        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
14937        * rendering/svg/RenderSVGResourceMarker.cpp:
14938        (WebCore::RenderSVGResourceMarker::draw):
14939        * rendering/svg/RenderSVGText.cpp:
14940        (WebCore::RenderSVGText::paint):
14941        * rendering/svg/SVGInlineFlowBox.cpp:
14942        (WebCore::SVGInlineFlowBox::paint):
14943        * rendering/svg/SVGInlineTextBox.cpp:
14944        (WebCore::SVGInlineTextBox::paintSelectionBackground):
14945        (WebCore::SVGInlineTextBox::paint):
14946        (WebCore::SVGInlineTextBox::paintDecorationWithStyle):
14947        * rendering/svg/SVGRootInlineBox.cpp:
14948        (WebCore::SVGRootInlineBox::paint):
14949        * svg/SVGFont.cpp:
14950        (WebCore::Font::drawTextUsingSVGFont):
14951        * svg/graphics/SVGImage.cpp:
14952        (WebCore::SVGImage::draw):
14953
149542011-04-20  Andrey Kosyakov  <caseq@chromium.org>
14955
14956        Reviewed by Pavel Feldman.
14957
14958        Web Inspector: [Extensions API] console API is not exposed to code evaluated by sidebar.setExpression()
14959        https://bugs.webkit.org/show_bug.cgi?id=59006
14960
14961        * inspector/front-end/ExtensionPanel.js:
14962        (WebInspector.ExtensionSidebarPane.prototype.setExpression):
14963
149642011-04-21  Nikolas Zimmermann  <nzimmermann@rim.com>
14965
14966        Reviewed by Dirk Schulze.
14967
14968        Split SVGGlyphIdentifier class out of SVGGlyphElement.h
14969        https://bugs.webkit.org/show_bug.cgi?id=59101
14970
14971        Move SVGGlyphIdentifier class out of SVGGlyphElement.h, place it in platform/graphics/SVGGlyph.h
14972        and rename the contained struct to SVGGlyph. It will be used in follow-up patches that will integrate SVGGlyph & GlyphPage.
14973
14974        Several utility functions are moved from SVGFont.cpp to SVGGlyph.cpp, as that's the place where they really belong to.
14975        Renamed nameLength to unicodeStringLength in the SVGGlyph struct for clarity.
14976
14977        * Android.mk: Add SVGGlyph.cpp/h to build.
14978        * CMakeLists.txt: Ditto.
14979        * GNUmakefile.list.am: Ditto.
14980        * WebCore.gypi: Ditto.
14981        * WebCore.pro: Ditto.
14982        * WebCore.vcproj/WebCore.vcproj: Ditto.
14983        * WebCore.xcodeproj/project.pbxproj: Ditto.
14984        * platform/graphics/SVGGlyph.cpp: Copied from svg/SVGFont.cpp. Removed everything except the methods listed below, that belong here.
14985        (WebCore::processArabicFormDetection):
14986        (WebCore::charactersWithArabicForm):
14987        (WebCore::isCompatibleArabicForm):
14988        (WebCore::isCompatibleGlyph):
14989        * platform/graphics/SVGGlyph.h: Copied from svg/SVGGlyphElement.h. Renamed SVGGlyphIdentifier to SVGGlyph.
14990        (WebCore::SVGGlyph::SVGGlyph):
14991        (WebCore::SVGGlyph::operator==):
14992        * platform/graphics/SimpleFontData.cpp: Adapt for SVGGlyphIdentifier -> SVGGlyph and nameLength -> unicodeStringLength rename.
14993        (WebCore::SimpleFontData::SimpleFontData):
14994        * svg/SVGFont.cpp: Ditto. Remove helper functions that are now living in SVGGlyph.cpp
14995        (WebCore::SVGTextRunWalker::walk):
14996        (WebCore::floatWidthUsingSVGFontCallback):
14997        (WebCore::drawTextUsingSVGFontCallback):
14998        (WebCore::drawTextMissingGlyphCallback):
14999        (WebCore::Font::drawTextUsingSVGFont):
15000        * svg/SVGFontElement.cpp: Ditto.
15001        (WebCore::SVGFontElement::getGlyphIdentifiersForString):
15002        * svg/SVGFontElement.h: Ditto.
15003        * svg/SVGGlyphElement.cpp: Ditto.
15004        (WebCore::parseArabicForm):
15005        (WebCore::parseOrientation):
15006        (WebCore::SVGGlyphElement::inheritUnspecifiedAttributes):
15007        (WebCore::parseSVGGlyphAttribute):
15008        (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
15009        (WebCore::SVGGlyphElement::buildGlyphIdentifier):
15010        * svg/SVGGlyphElement.h: Ditto.
15011        * svg/SVGGlyphMap.h: Ditto.
15012        (WebCore::SVGGlyphMap::add):
15013        (WebCore::SVGGlyphMap::compareGlyphPriority):
15014        (WebCore::SVGGlyphMap::get):
15015
150162011-04-21  Eric Carlson  <eric.carlson@apple.com>
15017
15018        Reviewed by Dan Bernstein.
15019
15020        Live streams won't play with AVFoundation backend
15021        https://bugs.webkit.org/show_bug.cgi?id=58961
15022        rdar://problem/9284748
15023
15024        Tested manually because we don't have any live streams to test in DRT.
15025
15026        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
15027        (WebCore::MediaPlayerPrivateAVFoundation::seek): Do nothing when asked to seek to the
15028            current time.
15029        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): If the readyState is HaveEnoughData,
15030            don't revert when the new state is "ready to play" or "buffer full".
15031        (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Use new convenience function isLiveStream.
15032        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
15033        (WebCore::MediaPlayerPrivateAVFoundation::isLiveStream): New.
15034
15035        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
15036        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Don't use AVAsset's
15037            tracksWithMediaCharacteristic because it doesn't give us what we need with live
15038            streams.
15039
150402011-04-21  Pavel Feldman  <pfeldman@google.com>
15041
15042        Reviewed by Yury Semikhatsky.
15043
15044        Web Inspector: Cookies section in empty on page re-launch.
15045        https://bugs.webkit.org/show_bug.cgi?id=59095
15046
15047        * inspector/front-end/ResourcesPanel.js:
15048        (WebInspector.ResourcesPanel.prototype._reset):
15049        (WebInspector.ResourcesPanel.prototype._frameNavigated):
15050
150512011-04-21  Pavel Feldman  <pfeldman@google.com>
15052
15053        Reviewed by Yury Semikhatsky.
15054
15055        Web Inspector: rename De-obfuscate to Pretty print.
15056        https://bugs.webkit.org/show_bug.cgi?id=59093
15057
15058        * English.lproj/localizedStrings.js:
15059        * inspector/front-end/SourceFrame.js:
15060        (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
15061
150622011-04-21  Pavel Feldman  <pfeldman@google.com>
15063
15064        Reviewed by Yury Semikhatsky.
15065
15066        Web Inspector: following Image URL link in the network panel does nothing.
15067        https://bugs.webkit.org/show_bug.cgi?id=59092
15068
15069        * inspector/front-end/ImageView.js:
15070        (WebInspector.ImageView.prototype._createContentIfNeeded.onImageLoad):
15071        (WebInspector.ImageView.prototype._createContentIfNeeded):
15072        * inspector/front-end/inspector.js:
15073        (WebInspector.linkifyURLAsNode):
15074
150752011-04-21  Pavel Feldman  <pfeldman@google.com>
15076
15077        Reviewed by Yury Semikhatsky.
15078
15079        Web Inspector: implement Go To Line for network panel.
15080        https://bugs.webkit.org/show_bug.cgi?id=59090
15081
15082        * inspector/front-end/GoToLineDialog.js:
15083        (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
15084        * inspector/front-end/NetworkItemView.js:
15085        (WebInspector.NetworkItemView.prototype._tabSelected):
15086        (WebInspector.NetworkItemView.prototype._installHighlightSupport):
15087        * inspector/front-end/NetworkPanel.js:
15088        (WebInspector.NetworkPanel):
15089        * inspector/front-end/TabbedPane.js:
15090        (WebInspector.TabbedPane.prototype.appendTab):
15091        (WebInspector.TabbedPane.prototype.selectTab):
15092        * inspector/front-end/TextViewer.js:
15093        (WebInspector.TextViewer.prototype.highlightLine):
15094
150952011-04-21  Nikolas Zimmermann  <nzimmermann@rim.com>
15096
15097        Reviewed by Dirk Schulze.
15098
15099        Split GlyphPage from GlyphPageTreeNode.h into its own header
15100        https://bugs.webkit.org/show_bug.cgi?id=59096
15101
15102        * GNUmakefile.list.am: Add GlyphPage.h to build.
15103        * WebCore.gypi: Ditto.
15104        * WebCore.vcproj/WebCore.vcproj: Ditto.
15105        * WebCore.xcodeproj/project.pbxproj: Ditto.
15106        * platform/graphics/GlyphPage.h: Copied from platform/graphics/GlyphPageTreeNode.h. Removed GlyphPageTreeNode class, leaving only GlyphPage.
15107        * platform/graphics/GlyphPageTreeNode.h: Removed GlyphPage class.
15108
151092011-04-21  Nikolas Zimmermann  <nzimmermann@rim.com>
15110
15111        Reviewed by Dirk Schulze.
15112
15113        Centralize typedef unsigned short Glyph in Glyph.h
15114        https://bugs.webkit.org/show_bug.cgi?id=59087
15115
15116        * GNUmakefile.list.am: Add Glyph.h to build.
15117        * WebCore.gypi: Ditto.
15118        * WebCore.vcproj/WebCore.vcproj: Ditto.
15119        * WebCore.xcodeproj/project.pbxproj: Ditto.
15120        * platform/graphics/Glyph.h: Added.
15121        * platform/graphics/GlyphBuffer.h: Include Glyph.h instead of duplicating the Glyph typedef.
15122        * platform/graphics/GlyphMetricsMap.h: Ditto.
15123        * platform/graphics/GlyphPageTreeNode.h: Ditto.
15124
151252011-04-21  Pavel Feldman  <pfeldman@google.com>
15126
15127        Reviewed by Yury Semikhatsky.
15128
15129        Web Inspector: toolbar background is blank on Mac Chromium port.
15130        https://bugs.webkit.org/show_bug.cgi?id=59089
15131
15132        * inspector/front-end/inspector.css:
15133        (body.detached.platform-mac-snowleopard:not(.remote) #toolbar):
15134
151352011-04-21  Pavel Feldman  <pfeldman@chromium.org>
15136
15137        Reviewed by Yury Semikhatsky.
15138
15139        Web Inspector: add support for Go To Line in Resources panel.
15140        https://bugs.webkit.org/show_bug.cgi?id=59077
15141
15142        * inspector/front-end/CallStackSidebarPane.js:
15143        (WebInspector.CallStackSidebarPane.prototype.registerShortcuts):
15144        * inspector/front-end/GoToLineDialog.js:
15145        (WebInspector.GoToLineDialog.show):
15146        (WebInspector.GoToLineDialog.createShortcut):
15147        (WebInspector.GoToLineDialog.prototype._onKeyDown):
15148        * inspector/front-end/NetworkPanel.js:
15149        (WebInspector.NetworkPanel.prototype.handleShortcut):
15150        * inspector/front-end/Panel.js:
15151        (WebInspector.Panel):
15152        (WebInspector.Panel.prototype._restoreScrollPositions):
15153        (WebInspector.Panel.prototype.handleShortcut):
15154        (WebInspector.Panel.prototype.registerShortcuts):
15155        (WebInspector.Panel.prototype._showGoToLineDialog):
15156        * inspector/front-end/ProfilesPanel.js:
15157        (WebInspector.ProfilesPanel.prototype.handleShortcut):
15158        * inspector/front-end/ResourcesPanel.js:
15159        (WebInspector.ResourcesPanel):
15160        * inspector/front-end/ScriptsPanel.js:
15161        (WebInspector.ScriptsPanel.prototype._registerShortcuts):
15162        (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
15163        * inspector/front-end/inspector.js:
15164        (WebInspector._registerShortcuts):
15165        (WebInspector.documentKeyDown):
15166
151672011-04-21  Pavel Feldman  <pfeldman@google.com>
15168
15169        Reviewed by Yury Semikhatsky.
15170
15171        Web Inspector: persist local resource history between inspector / browser launches.
15172        https://bugs.webkit.org/show_bug.cgi?id=58993
15173
15174        * inspector/front-end/Resource.js:
15175        (WebInspector.Resource.prototype._restoreRevisions):
15176
151772011-04-20  Alexander Pavlov  <apavlov@chromium.org>
15178
15179        Reviewed by Pavel Feldman.
15180
15181        Web Inspector: Metrics pane editing and visual feedback improvements
15182        https://bugs.webkit.org/show_bug.cgi?id=58992
15183
15184        Added visual feedback when hovering over the box model components of the Metrics pane
15185        and handling of the [Page]Up/Down keys when editing the box model values.
15186
15187        * inspector/DOMNodeHighlighter.cpp:
15188        (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
15189        * inspector/DOMNodeHighlighter.h:
15190        * inspector/Inspector.json:
15191        * inspector/InspectorDOMAgent.cpp:
15192        (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
15193        (WebCore::InspectorDOMAgent::highlight):
15194        (WebCore::InspectorDOMAgent::highlightDOMNode):
15195        (WebCore::InspectorDOMAgent::highlightFrame):
15196        (WebCore::InspectorDOMAgent::drawNodeHighlight):
15197        * inspector/InspectorDOMAgent.h:
15198        * inspector/front-end/CSSStyleModel.js:
15199        (WebInspector.CSSProperty.prototype.setText.callback):
15200        (WebInspector.CSSProperty.prototype.setText):
15201        (WebInspector.CSSProperty.prototype.setValue):
15202        (WebInspector.CSSProperty.prototype.setDisabled.callback):
15203        (WebInspector.CSSProperty.prototype.setDisabled):
15204        * inspector/front-end/ElementsPanel.js:
15205        (WebInspector.ElementsPanel.prototype.startEditingStyle):
15206        (WebInspector.ElementsPanel.prototype.endEditingStyle):
15207        (WebInspector.ElementsPanel.prototype._attributesUpdated):
15208        * inspector/front-end/MetricsSidebarPane.js:
15209        (WebInspector.MetricsSidebarPane):
15210        (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
15211        (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode.getBoxRectangleElement):
15212        (WebInspector.MetricsSidebarPane.prototype._update.createBoxPartElement):
15213        (WebInspector.MetricsSidebarPane.prototype._update):
15214        (WebInspector.MetricsSidebarPane.prototype.startEditing):
15215        (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
15216        (WebInspector.MetricsSidebarPane.prototype.editingEnded):
15217        (WebInspector.MetricsSidebarPane.prototype.editingCancelled):
15218        (WebInspector.MetricsSidebarPane.prototype._applyUserInput.callback):
15219        (WebInspector.MetricsSidebarPane.prototype._applyUserInput):
15220        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
15221        * inspector/front-end/StylesSidebarPane.js:
15222        (WebInspector.StylesSidebarPane.alteredFloatNumber):
15223        (WebInspector.StylesSidebarPane.alteredHexNumber):
15224        (WebInspector.StylePropertyTreeElement.prototype):
15225        (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
15226        * inspector/front-end/inspector.css:
15227        (.metrics .hovered > .label):
15228        (.metrics .position):
15229        (.metrics .margin):
15230        (.metrics .margin.hovered):
15231        (.metrics .border):
15232        (.metrics .border.hovered):
15233        (.metrics .padding):
15234        (.metrics .padding.hovered):
15235        (.metrics .content):
15236        (.metrics .content.hovered):
15237        * inspector/front-end/inspector.js:
15238        (WebInspector.highlightDOMNode):
15239
152402011-04-21  Adam Barth  <abarth@webkit.org>
15241
15242        Reviewed by Eric Seidel.
15243
15244        CSP report-uri is missing
15245        https://bugs.webkit.org/show_bug.cgi?id=58639
15246
15247        Our implementation of report-uri differs from what's currently in the
15248        spec.  I sent the working group an email explaining why.  Generally,
15249        we're using normal form encoding instead of JSON and we're sending less
15250        information to a wider set of URLs.  Specifically, we send the current
15251        document's URL as well as the directive that was violated.  The spec
15252        (currently) tells us to send the raw HTTP headers and the URL that
15253        caused the violation, but both of these pieces of data could contain
15254        information that's sensitive, so we omit them for now.
15255
15256        Test: http/tests/security/contentSecurityPolicy/report-uri.html
15257
15258        * loader/PingLoader.cpp:
15259        (WebCore::PingLoader::reportContentSecurityPolicyViolation):
15260        * loader/PingLoader.h:
15261        * page/ContentSecurityPolicy.cpp:
15262        (WebCore::CSPDirective::CSPDirective):
15263        (WebCore::CSPDirective::text):
15264        (WebCore::ContentSecurityPolicy::reportViolation):
15265        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
15266        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
15267        (WebCore::ContentSecurityPolicy::allowInlineScript):
15268        (WebCore::ContentSecurityPolicy::allowEval):
15269        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
15270        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
15271        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
15272        (WebCore::ContentSecurityPolicy::allowImageFromSource):
15273        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
15274        (WebCore::ContentSecurityPolicy::allowFontFromSource):
15275        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
15276        (WebCore::ContentSecurityPolicy::parseReportURI):
15277        (WebCore::ContentSecurityPolicy::addDirective):
15278        * page/ContentSecurityPolicy.h:
15279
152802011-04-21  Jon Lee  <jonlee@apple.com>
15281
15282        Reviewed by Maciej Stachowiak.
15283
15284        remove unneeded function from graphicscontext3d.cpp (59076)
15285        https://bugs.webkit.org/show_bug.cgi?id=59076
15286        <rdar://problem/9315681>
15287
15288        * platform/graphics/GraphicsContext3D.cpp: removing unused function unpackOneRowOfRGBA8ToRGBA8
15289
152902011-04-21  Alexey Proskuryakov  <ap@apple.com>
15291
15292        Reviewed by Dan Bernstein.
15293
15294        REGRESSION: Korean encoding alias KSC5601 does not work
15295        https://bugs.webkit.org/show_bug.cgi?id=59075
15296        <rdar://problem/9303233>
15297
15298        * platform/text/TextCodecICU.cpp: (WebCore::TextCodecICU::registerEncodingNames): Added a
15299        KSC5601 alias for KSC_5601, which effectively makes it windows-949.
15300
153012011-04-20  Dominic Cooney  <dominicc@chromium.org>
15302
15303        Reviewed by Dimitri Glazkov.
15304
15305        layoutTestController can create and destroy shadow DOM
15306        https://bugs.webkit.org/show_bug.cgi?id=59058
15307
15308        Test: fast/dom/shadow/layout-tests-can-access-shadow.html
15309
15310        * WebCore.exp.in: Mac DRT needs to see Element::ensure/removeShadowRoot
15311
153122011-04-20  Pratik Solanki  <psolanki@apple.com>
15313
15314        Reviewed by Ryosuke Niwa.
15315
15316        Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926
15317
15318        Fix assertions in Chromium builds.
15319
15320        * platform/graphics/Image.cpp:
15321        (WebCore::Image::drawTiled): Skia and Wx do not have proper implementations of
15322        BitmapImage::checkForSolidColor() so we shouldn't assert on those platforms.
15323
153242011-04-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
15325
15326        Reviewed by Eric Seidel.
15327
15328        [EFL] Add timeline to mediaControlsEfl.css
15329        https://bugs.webkit.org/show_bug.cgi?id=58865
15330
15331        Add timeline to mediaControlsEfl.css in order to show playing time of media
15332        content.
15333
15334        * css/mediaControlsEfl.css:
15335        (audio):
15336        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
15337        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
15338        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
15339        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
15340        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
15341        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
15342        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
15343        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
15344        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
15345        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
15346
153472011-04-20  Simon Fraser  <simon.fraser@apple.com>
15348
15349        Reviewed by Eric Seidel.
15350
15351        Create RIAA class for GraphicsContext::save() and restore()
15352        https://bugs.webkit.org/show_bug.cgi?id=58807
15353
15354        Make a stack-based class that can be used to save and restore
15355        the graphics state. It has conditional behavior to deal with the many cases
15356        where we decide to save/restore based on some runtime condition.
15357
15358        Change RenderBoxModelObject to use it for now; it can be used more widely
15359        once committed.
15360
15361        * platform/graphics/GraphicsContext.h:
15362        (WebCore::GraphicsContextStateSaver::GraphicsContextStateSaver):
15363        (WebCore::GraphicsContextStateSaver::~GraphicsContextStateSaver):
15364        (WebCore::GraphicsContextStateSaver::saveState):
15365        * rendering/RenderBoxModelObject.cpp:
15366        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
15367        (WebCore::RenderBoxModelObject::paintOneBorderSide):
15368        (WebCore::RenderBoxModelObject::paintBorder):
15369        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
15370        (WebCore::RenderBoxModelObject::paintBoxShadow):
15371
153722011-04-20  Adam Barth  <abarth@webkit.org>
15373
15374        Reviewed by Eric Seidel.
15375
15376        CSP frame-src is missing
15377        https://bugs.webkit.org/show_bug.cgi?id=58643
15378
15379        This is a first cut at an implementation of frame-src.  There are a
15380        couple things that will need to be improved:
15381
15382          1) I don't think we're handling in-frame navigation properly.  This
15383             patch only covers setting the src attribute of the frame, but I
15384             think the intent of the spec is to cover navigation as well.
15385
15386          2) The console message is printed twice, once when we try to load the
15387             frame and again when we attach the frame to the render tree.
15388
15389        I'll file bugs about these issues (blocking
15390        https://bugs.webkit.org/show_bug.cgi?id=53572) once this patch lands.
15391
15392        Tests: http/tests/security/contentSecurityPolicy/frame-src-allowed.html
15393               http/tests/security/contentSecurityPolicy/frame-src-blocked.html
15394
15395        * html/HTMLFrameElementBase.cpp:
15396        (WebCore::HTMLFrameElementBase::isURLAllowed):
15397        * page/ContentSecurityPolicy.cpp:
15398        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
15399        (WebCore::ContentSecurityPolicy::addDirective):
15400        * page/ContentSecurityPolicy.h:
15401
154022011-04-20  Jia Pu  <jpu@apple.com>
15403
15404        Reviewed by Maciej Stachowiak.
15405
15406        [Mac] Correction panel shows up at incorrect location after webpage is scrolled.
15407        https://bugs.webkit.org/show_bug.cgi?id=59052
15408        <rdar://problem/9312513>
15409
15410        Fixed a regression caused by interaction between patch for bug 57353 and patch for bug 55571.
15411        See bug webpage for detail.
15412
15413        * editing/Editor.cpp:
15414        (WebCore::Editor::selectionStartHasMarkerFor):
15415        * editing/SpellingCorrectionController.cpp:
15416        (WebCore::SpellingCorrectionController::windowRectForRange):
15417
154182011-04-20  Adam Barth  <abarth@webkit.org>
15419
15420        Reviewed by Eric Seidel.
15421
15422        CSP policy violations should log to the console
15423        https://bugs.webkit.org/show_bug.cgi?id=58646
15424
15425        We now log policy violations to the JavaScript console to help
15426        developers debug what's going on with their Content-Security-Policy.
15427
15428        Tests: http/tests/security/contentSecurityPolicy/inline-script-blocked-javascript-url.html
15429               http/tests/security/contentSecurityPolicy/javascript-url-allowed.html
15430               http/tests/security/contentSecurityPolicy/javascript-url-blocked.html
15431               http/tests/security/contentSecurityPolicy/object-src-none-allowed.html
15432               http/tests/security/contentSecurityPolicy/object-src-none-blocked.html
15433               http/tests/security/contentSecurityPolicy/script-src-self-blocked-01.html
15434               http/tests/security/contentSecurityPolicy/script-src-self-blocked-02.html
15435               http/tests/security/contentSecurityPolicy/script-src-self-blocked-03.html
15436
15437        * dom/Document.cpp:
15438        (WebCore::Document::initSecurityContext):
15439        * page/ContentSecurityPolicy.cpp:
15440        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
15441        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
15442        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
15443        (WebCore::ContentSecurityPolicy::allowInlineScript):
15444        (WebCore::ContentSecurityPolicy::allowEval):
15445        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
15446        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
15447        (WebCore::ContentSecurityPolicy::allowImageFromSource):
15448        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
15449        (WebCore::ContentSecurityPolicy::allowFontFromSource):
15450        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
15451        (WebCore::ContentSecurityPolicy::addDirective):
15452        * page/ContentSecurityPolicy.h:
15453        (WebCore::ContentSecurityPolicy::create):
15454
154552011-04-20  Dan Bernstein  <mitz@apple.com>
15456
15457        Reviewed by Maciej Stachowiak.
15458
15459        <rdar://problem/9095366> With a non-1 page scale, scrolling to reveal selection fails
15460        https://bugs.webkit.org/show_bug.cgi?id=59046
15461
15462        Test: fast/transforms/selection-bounds-in-transformed-view.html
15463
15464        * rendering/RenderObject.cpp:
15465        (WebCore::RenderObject::repaintUsingContainer): If the repaint container is the RenderView, and
15466        it has a composited layer that paints straight to the window, then translate from view coordinates
15467        to window coordinates here.
15468        * rendering/RenderView.cpp:
15469        (WebCore::RenderView::mapLocalToContainer): Do not apply our transform if we are the painting root.
15470        (WebCore::RenderView::computeRectForRepaint): Ditto. Applying the transform here was compensating
15471        for not applying it in RenderObject::repaintUsingContainer(), but for purposes other than repainting,
15472        such as computing selection bounds, this function was returning the wrong results.
15473
154742011-04-20  Dan Bernstein  <mitz@apple.com>
15475
15476        Reviewed by Eric Carlson.
15477
15478        <rdar://problem/9304956> media/broken-video.html crashes
15479
15480        * platform/graphics/MediaPlayer.cpp:
15481        (WebCore::nextMediaEngine): Fixed an off-by-one error.
15482
154832011-04-20  Eric Seidel  <eric@webkit.org>
15484
15485        Reviewed by Adam Barth.
15486
15487        Split out isIteratorTarget from bidiNext and bidiFirst
15488        https://bugs.webkit.org/show_bug.cgi?id=59033
15489
15490        This is the first (tiny) step of many.  When I tried to
15491        make larger changes to this function I broke stuff, so
15492        doing this in tiny pieces so we know it's right.
15493
15494        * rendering/InlineIterator.h:
15495        (WebCore::isIteratorTarget):
15496        (WebCore::bidiNext):
15497        (WebCore::bidiFirstSkippingInlines):
15498        (WebCore::bidiFirstNotSkippingInlines):
15499
155002011-04-20  Alexey Marinichev  <amarinichev@chromium.org>
15501
15502        Reviewed by Kenneth Russell.
15503
15504        Check for null m_context in WebGLLayerChromium and add resetting platform layer's context in the destructor of GraphicsContext3D.
15505        https://bugs.webkit.org/show_bug.cgi?id=59045
15506
15507        Lose context extension test might not catch this bug, more reliable
15508        way is forcing the crash of the GPU process, which is done by Chromium
15509        browser tests.
15510
15511        * platform/graphics/chromium/WebGLLayerChromium.cpp:
15512        (WebCore::WebGLLayerChromium::updateCompositorResources):
15513        (WebCore::WebGLLayerChromium::setContext):
15514        * platform/graphics/chromium/WebGLLayerChromium.h:
15515
155162011-04-20  Jia Pu  <jpu@apple.com>
15517
15518        Reviewed by Maciej Stachowiak.
15519
15520        [Mac]Regression: extending word that is already marked misspelled doesn't remove misspelling underline.
15521        https://bugs.webkit.org/show_bug.cgi?id=59032
15522        <rdar://problem/9312444>
15523
15524        This fixes a regression introduced in recent refactoring work in Editor. See bug webpage for detail.
15525
15526        manual test: Source/WebCore/manual-tests/autocorrection/remove-misspelling-marker-after-appending-letter.html
15527
15528        * editing/Editor.cpp:
15529        (WebCore::Editor::insertTextWithoutSendingTextEvent):
15530        * manual-tests/autocorrection/remove-misspelling-marker-after-appending-letter.html: Added.
15531
155322011-04-20  Chris Fleizach  <cfleizach@apple.com>
15533
15534        Reviewed by Beth Dakin.
15535
15536        CrashTracer: 301 crashes in Safari at com.apple.WebCore: WebCore::AccessibilityRenderObject::visiblePositionForPoint const + 297
15537        https://bugs.webkit.org/show_bug.cgi?id=57405
15538
15539        The offending line in this crash was a null pointer access in
15540           m_renderer->document()->topDocument()->renderer()->view()->frameView();
15541        It seems likely that one of those calls was invalid. I could not reproduce and there was no
15542        information on reproducible steps, hence the absence of a layout test.
15543
15544        * accessibility/AccessibilityRenderObject.cpp:
15545        (WebCore::AccessibilityRenderObject::topRenderer):
15546        (WebCore::AccessibilityRenderObject::topDocument):
15547        (WebCore::AccessibilityRenderObject::topDocumentFrameView):
15548        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
15549        * accessibility/AccessibilityRenderObject.h:
15550
155512011-04-20  Andy Estes  <aestes@apple.com>
15552
15553        Reviewed by Maciej Stachowiak.
15554
15555        REGRESSION (WK2): Animated GIF stops when navigating forward, back
15556        https://bugs.webkit.org/show_bug.cgi?id=59042
15557
15558        When loading the page from the b/f cache,
15559        document()->view()->isOffscreen() returns true in
15560        RenderObject::willRenderImage(), so BitmapImage::startAnimation()
15561        returns without actually kicking off the animation.
15562
15563        In WebKit1, the ScrollView is a platform widget, so
15564        ScrollView::isOffscreen() calls [NSWindow isVisible]. In WebKit2, the
15565        ScrollView isn't a platform widget so it asks the WebCore Widget
15566        whether or not it is visible. It always returns false since
15567        setParentVisible(false) was called on the old ScrollView before
15568        navigating to a new page, but setParentVisible(true) is never called
15569        when restoring it from the back/forward cache. This is probably a
15570        long-standing bug.
15571
15572        Fix this by calling setParentVisible(true) when a cached main frame is
15573        being restored.
15574
15575        Test: fast/images/animated-gif-restored-from-bfcache.html
15576
15577        * history/CachedFrame.cpp:
15578        (WebCore::CachedFrameBase::restore): If the cached frame is the main
15579        frame, call setParentVisible(true) on the frame's view.
15580
155812011-04-20  Sam Weinig  <sam@webkit.org>
15582
15583        Reviewed by Anders Carlsson.
15584
15585        WebKit2: Can't scroll page after printing on Yahoo.com and other sites
15586        <rdar://problem/9233291>
15587        https://bugs.webkit.org/show_bug.cgi?id=59049
15588
15589        * page/Frame.cpp:
15590        (WebCore::Frame::setPrinting): Match Mac WebKit1 code when ending printing,
15591        and call forceLayout() instead of forceLayoutForPagination().
15592
155932011-04-20  Kenneth Russell  <kbr@google.com>
15594
15595        Reviewed by James Robinson.
15596
15597        Reduce size of GraphicsContext3D's compiled code
15598        https://bugs.webkit.org/show_bug.cgi?id=59029
15599
15600        Changed format conversion operations to work line-by-line instead
15601        of pixel-by-pixel, and passed them as function pointers rather
15602        than template parameters. Simplified computation of source
15603        increment, since elements per row is now all that is needed.
15604
15605        These changes reduce the size of GraphicsContext3D.o in release
15606        mode on Linux from 299 KB to 53 KB.
15607
15608        No new tests. Existing layout tests cover these format conversions
15609        well, and caught one typo in the restructuring. Also ran WebGL
15610        conformance suite and other demos.
15611
15612        * platform/graphics/GraphicsContext3D.cpp:
15613        (WebCore::doUnpackingAndPacking):
15614        (WebCore::computeSourceElementsPerRow):
15615        (WebCore::doPacking):
15616        (WebCore::doFloatingPointPacking):
15617        (WebCore::GraphicsContext3D::packPixels):
15618
156192011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
15620
15621        Reviewed by Kent Tamura.
15622
15623        REGRESSION(r82376): Clicking on a label, associated with a disabled input element changes state of the element.
15624        https://bugs.webkit.org/show_bug.cgi?id=59037
15625
15626        Test: fast/events/simulated-click-disabled.html
15627
15628        * dom/EventDispatcher.cpp:
15629        (WebCore::EventDispatcher::dispatchSimulatedClick): Added check for disabled element.
15630
156312011-04-20  Eric Seidel  <eric@webkit.org>
15632
15633        Reviewed by Ryosuke Niwa.
15634
15635        Split bidiFirst into two functions
15636        https://bugs.webkit.org/show_bug.cgi?id=59025
15637
15638        I don't have a full understanding of the skipInlines case yet
15639        (hence it's not as pretty as the non-skipping case), but
15640        this is clearly a win, as both functions are much simpler
15641        than their combined version.
15642
15643        Both of these functions still have bad names.  However the
15644        bidiNext/bidiFirst names date all the way back to revision 1
15645        of the WebKit repository. :)  So I don't feel too bad keeping
15646        them for the moment.
15647
15648        * rendering/InlineIterator.h:
15649        (WebCore::bidiNext):
15650        (WebCore::bidiFirstSkippingInlines):
15651        (WebCore::bidiFirstNotSkippingInlines):
15652        * rendering/RenderBlock.cpp:
15653        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
15654        * rendering/RenderBlockLineLayout.cpp:
15655        (WebCore::RenderBlock::layoutInlineChildren):
15656        (WebCore::RenderBlock::determineStartPosition):
15657
156582011-04-20  Jia Pu  <jpu@apple.com>
15659
15660        Reviewed by Adele Peterson.
15661
15662        [Mac] Like autocorrection, other types of substitution need to respect undo.
15663        https://bugs.webkit.org/show_bug.cgi?id=59009
15664        <rdar://problem/8601537>
15665
15666        Similar to autocorrection, we use SpellingCorrectionCommand to carry out other types of text substitution, so that
15667        if user undoes the substitution, it will not be applied again. For CreateLinkCommand,  we add marker when it's undone
15668        so that we won't automatically add link again.
15669
15670        * editing/CreateLinkCommand.h:
15671        (WebCore::CreateLinkCommand::isCreateLinkCommand):
15672        * editing/EditCommand.cpp:
15673        (WebCore::EditCommand::isCreateLinkCommand):
15674        * editing/EditCommand.h:
15675        * editing/Editor.cpp:
15676        (WebCore::Editor::unappliedEditing):
15677        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
15678        * editing/SpellingCorrectionController.cpp:
15679        (WebCore::SpellingCorrectionController::respondToAppliedEditing):
15680        (WebCore::SpellingCorrectionController::respondToUnappliedEditing):
15681        * editing/SpellingCorrectionController.h:
15682        (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
15683
156842011-04-20  Steve Lacey  <sjl@chromium.org>
15685
15686        Reviewed by Eric Carlson.
15687
15688        [chromium] Move Chromium media controls into own root element.
15689        https://bugs.webkit.org/show_bug.cgi?id=59018
15690
15691        No new tests as there is no functional change
15692
15693        * WebCore.gypi:
15694        * css/mediaControlsChromium.css:
15695        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
15696        * html/shadow/MediaControlRootElementChromium.cpp: Added.
15697        Clone of html/shadow/MediaControlRootElement.cpp with all unused code removed.
15698        * html/shadow/MediaControlRootElementChromium.h: Added.
15699
157002011-04-20  Charlie Lee  <chocobo@chromium.org>
15701
15702        Reviewed by Dirk Schulze.
15703
15704        LEFilter change doesn't compile on ARM neon targets
15705        https://bugs.webkit.org/show_bug.cgi?id=58671
15706
15707        Build fix for Chromium ARM/NEON platform. Added platform/graphics/filters/arm directory to build system.
15708
15709        * WebCore.gyp/WebCore.gyp:
15710
157112011-04-20  Xiaomei Ji  <xji@chromium.org>
15712
15713        Reviewed by Ryosuke Niwa.
15714
15715        Continue (3rd) experiment with moving caret by word in visual order.
15716        https://bugs.webkit.org/show_bug.cgi?id=58294
15717
15718        This patch along with r82588 and r83483 implements moving caret by
15719        word in visual order.
15720
15721        The overall algorithm is:
15722        1. First get the InlineBox and offset of the pass-in VisiblePosition.
15723        2. Based on the position (left boundary, middle, right boundary) of the offset and the
15724           direction of the movement, look for visually adjacent word breaks.
15725        2.1 If the offset is the minimum offset of the box,
15726            return the rightmost word boundary in previous boxes if moving left.
15727            return the leftmost word boundary in box and next boxes if moving right.
15728        2.2 Similar for the case when offset is at the maximum offset of the box.
15729        2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition
15730            or nextWordPosition based on the directionality of the box. If this word break position
15731            is also inside the same box, return it. Otherwise (the nextWordPosition or
15732            previousWordPosition is not in the same box or is at the box boundary), collect all the
15733            word breaks in the box and search for the one closest to the input "offset" based on
15734            box directionality, block directionality, and movement direction. Continue search in
15735            adjacent boxes if needed.
15736
15737        Notes:
15738        1. Word boundaries are collected one box at a time. Only when a boundary that is closest to
15739           the input position (in the moving direction) is not available in current box, word
15740           boundaries in adjacent box will be collected. So, there is no need to save InlineBox in
15741           word boundaries. Instead, the word boundaries are saved as a pair
15742           (VisiblePosition, offset) to avoid recomputing VisiblePosition.
15743
15744        2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
15745           and right boundary of a word in RTL block). And word boundaries are collected using
15746           previousWordPosition() and nextWordPosition(). So when box directionality is the same as
15747           block directionality, word boundaries are collected from right to left visually in a LTR
15748           box, and word boundaries are collected from left to right visually in a RTL box. It is
15749           the other way around when box directionality is different from block directionality.
15750
15751        3. To find the right kinds of word boundaries, we must move back and forth between words
15752           in some situations. For example, if we're moving to the right in a LTR box in LTR block,
15753           we cannot simply return nextWordPosition() because it would return the right boundary
15754           of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().
15755
15756        4. When collecting word breaks inside a box, it first computes a start position, then
15757           collect the right kind of word breaks until it reaches the end of (or beyond) the box.
15758           In the meanwhile, it might need special handling on the rightmost or leftmost position
15759           based on the directionality of the box and block. These computations do not consider the
15760           box's bidi level.
15761
15762        * editing/visible_units.cpp:
15763        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
15764        (WebCore::collectWordBreaksInBox):
15765        (WebCore::previousWordBoundaryInBox):
15766        (WebCore::nextWordBoundaryInBox):
15767        (WebCore::visuallyLastWordBoundaryInBox):
15768        (WebCore::leftWordBoundary):
15769        (WebCore::rightWordBoundary):
15770        (WebCore::leftWordPosition):
15771        (WebCore::rightWordPosition):
15772
157732011-04-20  Cris Neckar  <cdn@chromium.org>
15774
15775        Reviewed by Dirk Schulze.
15776
15777        Return early when the paint rect and the source rect do not overlap as no bytes need to be copied.
15778        https://bugs.webkit.org/show_bug.cgi?id=57885
15779
15780        Test: svg/filters/svg-transform-blur-crash.xhtml
15781
15782        * platform/graphics/filters/FilterEffect.cpp:
15783        (WebCore::FilterEffect::copyImageBytes):
15784
157852011-04-20  Jian Li  <jianli@chromium.org>
15786
15787        Reviewed by Kenneth Russell.
15788
15789        Support DataView in workers
15790        https://bugs.webkit.org/show_bug.cgi?id=59014
15791
15792        Test: fast/canvas/webgl/worker-data-view-test.html
15793
15794        * workers/WorkerContext.idl: Expose DataView constructor.
15795
157962011-04-20  Chris Marrin  <cmarrin@apple.com>
15797
15798        Reviewed by Adam Roben.
15799
15800        REGRESSION (WebKit2): CSS animations on pages that use accelerated compositing stop after switching tabs
15801        https://bugs.webkit.org/show_bug.cgi?id=57868
15802
15803        Running CACFAnimations aren't remembered when layer tree is unparented and
15804        then reparented. Added a new ensureAnimationsSubmitted function to
15805        PlatformCALayer to traverse the tree and resubmit animations, setting the
15806        beginTime to the original start time of the animation. This is called in WK2
15807        when layer tree is newly parented.
15808
15809        I also consolidated currentTimeToMediaTime into PlatformCALayer so it can be shared
15810        between PlatformCALayer and GraphicsLayerCA.
15811
15812        * platform/graphics/ca/GraphicsLayerCA.cpp:
15813        * platform/graphics/ca/PlatformCAAnimation.h:
15814            Remember actual animation start time in CACFAnimation beginTime property
15815        * platform/graphics/ca/PlatformCALayer.h:
15816            New ensureAnimationsSubmitted function which traverses layers and resubmits all animations
15817        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
15818        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
15819
158202011-04-20  Eric Carlson  <eric.carlson@apple.com>
15821
15822        Reviewed by Dan Bernstein.
15823
15824        Adopt QTKit API for listing and deleting file in its media cache.
15825        <rdar://problem/9130029>
15826        https://bugs.webkit.org/show_bug.cgi?id=58795
15827
15828        Not possible to test automatically, verified manually.
15829
15830        * WebCore.exp.in: Export new media download cache functions.
15831
15832        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
15833        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
15834        (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Register cache management functions.
15835        (WebCore::MediaPlayerPrivateQTKit::getSitesInMediaCache): New, return cache origins.
15836        (WebCore::MediaPlayerPrivateQTKit::clearMediaCache): New, empty the media cache.
15837        (WebCore::MediaPlayerPrivateQTKit::clearMediaCacheForSite): New, delete files in the media
15838            cache for one origin.
15839
15840        * platform/mac/WebCoreSystemInterface.h: Add new WKSI functions.
15841        * platform/mac/WebCoreSystemInterface.mm: Ditto.
15842
158432011-04-20  Dirk Schulze  <krit@webkit.org>
15844
15845        Reviewed by Simon Fraser.
15846
15847        SVG feDropShadow implementation of SVG Filters 1.2
15848        https://bugs.webkit.org/show_bug.cgi?id=52513
15849
15850        Support different radii for horizontal and vertical blurring in ShadowBlur. This is a preperation for feDropShadow.
15851        feDropShadow is a new shorthand filter effect for the up-comming Filter 1.0 specification and will use ShadowBlur.
15852        feGaussianBlur might make use of ShadowBlur as well later (on SourceAlpha input).
15853        Added ShadowBlur to remaining platforms.
15854
15855        The changes can't be tested before the changes in feGaussianBlur or feDropShadow. Current behavior is not affected.
15856
15857        * Android.mk:
15858        * CMakeLists.txt:
15859        * GNUmakefile.list.am:
15860        * WebCore.pro:
15861        * platform/graphics/FloatSize.h:
15862        (WebCore::FloatSize::scale):
15863        * platform/graphics/ShadowBlur.cpp:
15864        (WebCore::ScratchBuffer::ScratchBuffer):
15865        (WebCore::ScratchBuffer::setLastShadowValues):
15866        (WebCore::ScratchBuffer::setLastInsetShadowValues):
15867        (WebCore::ScratchBuffer::matchesLastShadow):
15868        (WebCore::ScratchBuffer::matchesLastInsetShadow):
15869        (WebCore::ScratchBuffer::clearScratchBuffer):
15870        (WebCore::ShadowBlur::ShadowBlur):
15871        (WebCore::calculateLobes):
15872        (WebCore::ShadowBlur::blurLayerImage):
15873        (WebCore::ShadowBlur::adjustBlurRadius):
15874        (WebCore::ShadowBlur::calculateLayerBoundingRect):
15875        (WebCore::computeSliceSizesFromRadii):
15876        (WebCore::ShadowBlur::templateSize):
15877        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
15878        (WebCore::ShadowBlur::drawRectShadowWithTiling):
15879        (WebCore::ShadowBlur::drawLayerPieces):
15880        * platform/graphics/ShadowBlur.h:
15881        * platform/graphics/cg/GraphicsContextCG.cpp:
15882        (WebCore::GraphicsContext::fillRect):
15883        (WebCore::GraphicsContext::fillRoundedRect):
15884        (WebCore::GraphicsContext::fillRectWithRoundedHole):
15885
158862011-04-19  Roland Steiner  <rolandsteiner@chromium.org>
15887
15888        Reviewed by Dimitri Glazkov.
15889
15890        Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
15891        https://bugs.webkit.org/show_bug.cgi?id=52963
15892
15893        .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
15894        .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
15895        .) Merged setTreeScope() with setTreeScopeRecursively()
15896        .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
15897        .) Adapt JavaScript Node wrappers (temporary code - see https://bugs.webkit.org/show_bug.cgi?id=58704).
15898
15899        No new tests. (refactoring)
15900
15901        * bindings/js/JSNodeCustom.cpp:
15902        (WebCore::createWrapperInline):
15903        * bindings/v8/custom/V8NodeCustom.cpp:
15904        (WebCore::toV8Slow):
15905        * dom/ContainerNode.cpp:
15906        (WebCore::ContainerNode::takeAllChildrenFrom):
15907        (WebCore::ContainerNode::removeBetween):
15908        (WebCore::ContainerNode::removeChildren):
15909        (WebCore::ContainerNode::parserAddChild):
15910        * dom/Document.cpp:
15911        (WebCore::Document::Document):
15912        (WebCore::Document::~Document):
15913        (WebCore::Document::setDocType):
15914        * dom/Element.h:
15915        * dom/Node.cpp:
15916        (WebCore::Node::treeScope):
15917        (WebCore::Node::setTreeScopeRecursively):
15918        * dom/Node.h:
15919        (WebCore::Node::document):
15920        * dom/ShadowRoot.cpp:
15921        (WebCore::ShadowRoot::ShadowRoot):
15922        (WebCore::ShadowRoot::~ShadowRoot):
15923        (WebCore::ShadowRoot::nodeType):
15924        (WebCore::ShadowRoot::cloneNode):
15925        (WebCore::ShadowRoot::childTypeAllowed):
15926        * dom/ShadowRoot.h:
15927        (WebCore::toShadowRoot):
15928        * dom/TreeScope.cpp:
15929        (WebCore::TreeScope::TreeScope):
15930        (WebCore::TreeScope::setParentTreeScope):
15931        * dom/TreeScope.h:
15932        * rendering/RenderSlider.cpp:
15933
159342011-04-20  Vsevolod Vlasov  <vsevik@chromium.org>
15935
15936        Reviewed by Pavel Feldman.
15937
15938        Web Inspector: Update front-end files list in WebCore.vcproj
15939        https://bugs.webkit.org/show_bug.cgi?id=58896
15940
15941        * WebCore.vcproj/WebCore.vcproj:
15942
159432011-04-20  Dimitri Glazkov  <dglazkov@chromium.org>
15944
15945        Qt build fix after r84380.
15946
15947        * css/CSSPrimitiveValueMappings.h: Moved EBorderCollapse-related casts from under ENABLE(SVG) guard.
15948
159492011-04-20  Carlos Garcia Campos  <cgarcia@igalia.com>
15950
15951        Reviewed by Martin Robinson.
15952
15953        [GTK] Build libWebCore with the gtk sources too
15954        https://bugs.webkit.org/show_bug.cgi?id=58968
15955
15956        In some cases webcore files are compiled twice, so it improves the
15957        build time.
15958
15959        * GNUmakefile.am: Add webcore gtk sources to libWebCore sources.
15960
159612011-04-20  Luke Macpherson   <macpherson@chromium.org>
15962
15963        Reviewed by Dimitri Glazkov.
15964
15965        Allow casting between CSSPrimitiveValue and EBorderCollapse to remove special-case logic from CSSStyleSelector.
15966        https://bugs.webkit.org/show_bug.cgi?id=58964
15967
15968        No new tests as no new functionality added.
15969
15970        * css/CSSPrimitiveValueMappings.h:
15971        Support casting to/from EBorderCollapse.
15972        * css/CSSStyleSelector.cpp:
15973        Use new casting ability to simplify code.
15974        * rendering/style/RenderStyle.h:
15975        Use EBorderCollapse instead of a bool for representing border collapse member variable.
15976        * rendering/style/RenderStyleConstants.h:
15977        Added EBorderCollapse enum.
15978
159792011-04-19  Stephen White  <senorblanco@chromium.org>
15980
15981        Reviewed by Kenneth Russell.
15982
15983        Move and rename GLES2Canvas.
15984        https://bugs.webkit.org/show_bug.cgi?id=58927
15985
15986        Move GLES2Canvas to platform/graphcs/gpu, where all the other
15987        gpu-related files live, and rename it to GraphicsContextGPU to better
15988        reflect its purpose.
15989
15990        Covered by existing tests.
15991
15992        * WebCore.gypi:
15993        * platform/graphics/chromium/GLES2Canvas.cpp:
15994        * platform/graphics/chromium/GLES2Canvas.h:
15995        * platform/graphics/skia/GraphicsContextSkia.cpp:
15996        (WebCore::GraphicsContext::fillPath):
15997        (WebCore::GraphicsContext::setPlatformShadow):
15998        * platform/graphics/skia/ImageBufferSkia.cpp:
15999        * platform/graphics/skia/ImageSkia.cpp:
16000        (WebCore::drawBitmapGLES2):
16001        * platform/graphics/skia/PlatformContextSkia.cpp:
16002        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
16003        * platform/graphics/skia/PlatformContextSkia.h:
16004        (WebCore::PlatformContextSkia::gpuCanvas):
16005
160062011-04-20  Benjamin Poulain  <benjamin.poulain@nokia.com>
16007
16008        Reviewed by Andreas Kling.
16009
16010        [Qt] Clean the style of our cookie methods
16011        https://bugs.webkit.org/show_bug.cgi?id=58987
16012
16013        Got rid of the variables named "u" in favor just converting the url when needed.
16014
16015        * platform/qt/CookieJarQt.cpp:
16016        (WebCore::setCookies): The variable p was unused.
16017        The ::toAscii() depends on the default codec, use toLatin1() instead.
16018        (WebCore::cookies): foreach() should use const reference.
16019        (WebCore::cookieRequestHeaderFieldValue):
16020
160212011-04-19  Mihai Parparita  <mihaip@chromium.org>
16022
16023        Reviewed by Adam Barth.
16024
16025        ScriptController.h is included in too many places
16026        https://bugs.webkit.org/show_bug.cgi?id=58963
16027
16028        Remove ScriptController.h #includes from a bunch of .cpp files where it
16029        doesn't appear to be necessary.
16030
16031        * bindings/js/JSCustomPositionCallback.cpp:
16032        * bindings/js/JSCustomPositionErrorCallback.cpp:
16033        * bindings/js/JSCustomVoidCallback.cpp:
16034        * bindings/js/JSCustomXPathNSResolver.cpp:
16035        * bindings/js/JSDOMWindowBase.cpp:
16036        * bindings/js/JSDOMWindowShell.cpp:
16037        * bindings/js/JSDocumentCustom.cpp:
16038        * bindings/js/ScriptDebugServer.cpp:
16039        * bindings/v8/NPV8Object.cpp:
16040        * bindings/v8/ScriptCachedFrameData.cpp:
16041        * bindings/v8/V8DOMWindowShell.cpp:
16042        * bindings/v8/V8DOMWrapper.cpp:
16043        * bindings/v8/V8IsolatedContext.cpp:
16044        * bindings/v8/V8Proxy.cpp:
16045        * bindings/v8/custom/V8LocationCustom.cpp:
16046        * dom/Node.cpp:
16047        * dom/ScriptElement.cpp:
16048        * dom/XMLDocumentParser.cpp:
16049        * dom/XMLDocumentParserQt.cpp:
16050        * html/HTMLEmbedElement.cpp:
16051        * html/HTMLObjectElement.cpp:
16052        * html/HTMLPlugInElement.cpp:
16053        * html/parser/HTMLConstructionSite.cpp:
16054        * html/parser/HTMLTreeBuilder.cpp:
16055        * inspector/InspectorProfilerAgent.cpp:
16056        * loader/icon/IconDatabase.cpp:
16057        * page/Chrome.cpp:
16058        * page/Navigator.cpp:
16059        * page/Page.cpp:
16060        * plugins/PluginView.cpp:
16061        * plugins/gtk/PluginViewGtk.cpp:
16062        * plugins/qt/PluginViewQt.cpp:
16063        * plugins/symbian/PluginViewSymbian.cpp:
16064        * plugins/win/PluginViewWin.cpp:
16065        * svg/SVGDocumentExtensions.cpp:
16066        * xml/XMLTreeViewer.cpp:
16067
160682011-04-20  Pavel Feldman  <pfeldman@google.com>
16069
16070        Reviewed by Yury Semikhatsky.
16071
16072        Web Inspector: add Save As to the Resources panel context menu.
16073        https://bugs.webkit.org/show_bug.cgi?id=58983
16074
16075        * English.lproj/localizedStrings.js:
16076        * inspector/front-end/ResourcesPanel.js:
16077        (WebInspector.FrameResourceTreeElement.prototype.onattach):
16078        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent.save):
16079        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
16080        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.save):
16081        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
16082
160832011-04-20  Balazs Kelemen  <kbalazs@webkit.org>
16084
16085        Reviewed by Csaba Osztrogonác.
16086
16087        [Qt] Cleanup includepath adjustment for generated files
16088        https://bugs.webkit.org/show_bug.cgi?id=58869
16089
16090        Build cleanup, no new tests.
16091
16092        * WebCore.pri: Add the directory of generated files to the include path
16093        with absolute path to make it valid in the final build step. Remove
16094        unnecessary logic.
16095
160962011-04-20  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
16097
16098        Reviewed by Andreas Kling.
16099
16100        [EFL] Initializing m_window member field in PluginView.cpp for efl port
16101        https://bugs.webkit.org/show_bug.cgi?id=58311
16102
16103        No new tests needed: only initializing class member.
16104
16105        * plugins/PluginView.cpp:
16106        (WebCore::PluginView::PluginView):
16107
161082011-04-20  Pavel Feldman  <pfeldman@google.com>
16109
16110        Not reviewed: fix Leopard compile.
16111
16112        * inspector/InspectorFrontendClient.h:
16113        * inspector/InspectorFrontendClientLocal.h:
16114        (WebCore::InspectorFrontendClientLocal::saveAs):
16115
161162011-04-20  Pavel Feldman  <pfeldman@google.com>
16117
16118        Reviewed by Yury Semikhatsky.
16119
16120        Web Inspector: add saveAs into the InspectorFrontendHost binding.
16121        https://bugs.webkit.org/show_bug.cgi?id=58979
16122
16123        * English.lproj/localizedStrings.js:
16124        * inspector/InspectorFrontendClient.h:
16125        (WebCore::InspectorFrontendClient::saveAs):
16126        (WebCore::InspectorFrontendClient::saveSessionSetting):
16127        (WebCore::InspectorFrontendClient::loadSessionSetting):
16128        * inspector/InspectorFrontendHost.cpp:
16129        (WebCore::InspectorFrontendHost::saveAs):
16130        * inspector/InspectorFrontendHost.h:
16131        * inspector/InspectorFrontendHost.idl:
16132        * inspector/front-end/InspectorFrontendHostStub.js:
16133        (.WebInspector.InspectorFrontendHostStub.prototype.saveAs.fr.onload):
16134        (.WebInspector.InspectorFrontendHostStub.prototype.saveAs):
16135        * inspector/front-end/NetworkPanel.js:
16136        (WebInspector.NetworkPanel.prototype._contextMenu):
16137        (WebInspector.NetworkPanel.prototype._copyAll):
16138        (WebInspector.NetworkPanel.prototype._copyResource):
16139        (WebInspector.NetworkPanel.prototype._exportAll):
16140        (WebInspector.NetworkPanel.prototype._exportResource):
16141        * inspector/front-end/Settings.js:
16142        * inspector/front-end/utilities.js:
16143        ():
16144
161452011-04-20  Yury Semikhatsky  <yurys@chromium.org>
16146
16147        Reviewed by Tony Gentilcore.
16148
16149        Error event in <script> element shouldn't bubble
16150        https://bugs.webkit.org/show_bug.cgi?id=51040
16151
16152        Test: svg/dom/SVGScriptElement/script-onerror-bubbling.svg
16153
16154        * dom/ScriptElement.cpp:
16155        (WebCore::ScriptElement::dispatchErrorEvent): the method now has same implementation for all script
16156        elements, script load error event doesn' bubble.
16157        * dom/ScriptElement.h:
16158        * html/HTMLScriptElement.cpp:
16159        * html/HTMLScriptElement.h:
16160        * html/parser/HTMLScriptRunner.cpp:
16161        (WebCore::HTMLScriptRunner::executePendingScriptAndDispatchEvent):
16162        * svg/SVGScriptElement.cpp:
16163        (WebCore::SVGScriptElement::parseMappedAttribute): SVG script element now supports onerror
16164        hanlder which behaves the same way as onerror in HTML script element: it's invoked when
16165        script loading fails and the event doesn't bubble.
16166        * svg/SVGScriptElement.h:
16167
161682011-04-20  Pavel Feldman  <pfeldman@google.com>
16169
16170        Reviewed by Yury Semikhatsky.
16171
16172        Web Inspector: minor protocol cleanups (refined types).
16173        https://bugs.webkit.org/show_bug.cgi?id=58970
16174
16175        * inspector/InjectedScriptSource.js:
16176        * inspector/Inspector.json:
16177
161782011-04-20  Leo Yang  <leo.yang@torchmobile.com.cn>
16179
16180        Reviewed by Eric Seidel.
16181
16182        Leaks beneath RenderSVGShadowTreeRootContainer::updateFromElement seen on SnowLeopard Intel Leaks
16183        https://bugs.webkit.org/show_bug.cgi?id=56672
16184
16185        ~RenderSVGShadowTreeRootContainer() cleared shadow host only if
16186        the shadow root is attached. This is wrong because it will
16187        leak shadow root when the root is not attached. For example, it
16188        leaks shadow root of <use> element which is pending on resource.
16189
16190        This patch is clearing shadow host if m_shadowRoot is valid to
16191        prevent leaking.
16192
16193        Fixing leaking, no new tests.
16194
16195        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
16196        (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
16197
161982011-04-19  Maciej Stachowiak  <mjs@apple.com>
16199
16200        Reviewed by Antti Koivisto.
16201
16202        Reproducible crash two-finger zooming at multiple sites in WebCore::RenderLayer::isTransparent
16203        https://bugs.webkit.org/show_bug.cgi?id=58868
16204
16205        I could not figure out how to make a test.
16206
16207        * rendering/RenderLayer.cpp:
16208        (WebCore::RenderLayer::paintLayer): Check for existence of a
16209        parent before calling a method on it.
16210
162112011-04-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
16212
16213        Reviewed by Daniel Bates.
16214
16215        [EFL] Add current time to media control panel.
16216        https://bugs.webkit.org/show_bug.cgi?id=58866
16217
16218        Implement paintMediaCurrentTime() to show playing time of media content.
16219
16220        * platform/efl/RenderThemeEfl.cpp:
16221        (WebCore::RenderThemeEfl::RenderThemeEfl):
16222        (WebCore::RenderThemeEfl::formatMediaControlsCurrentTime):
16223        (WebCore::RenderThemeEfl::paintMediaCurrentTime):
16224        * platform/efl/RenderThemeEfl.h:
16225
162262011-04-19  Jungshik Shin  <jshin@chromium.org>
16227
16228        Reviewed by Adam Barth
16229
16230        Update the list of Unicode blocks to treat as complex scripts
16231        per Unicode 6.0. Also, make [U+02E5..U+02E9] (IPA tone marks)
16232        go through the complex script code path.
16233
16234        Test: fast/text/ipa-tone-letters.html
16235
16236        http://bugs.webkit.org/show_bug.cgi?id=39799
16237
16238        * platform/graphics/Font.cpp:
16239        (WebCore::Font::codePath):
16240
162412011-04-19  Pratik Solanki  <psolanki@apple.com>
16242
16243        Reviewed by Simon Fraser.
16244
16245        Follow on fix for https://bugs.webkit.org/show_bug.cgi?id=58926
16246
16247        Move the assert from Image::drawPattern() to Image::drawTiled() so we don't hit it when
16248        trying to paint GeneratedImages.
16249
16250        * platform/graphics/Image.cpp:
16251        (WebCore::Image::drawTiled):
16252        * platform/graphics/cg/ImageCG.cpp:
16253        (WebCore::Image::drawPattern):
16254
162552011-04-19  Simon Fraser  <simon.fraser@apple.com>
16256
16257        Fix 32-bit builds.
16258
16259        * rendering/RenderBox.cpp:
16260        (WebCore::RenderBox::determineBackgroundBleedAvoidance):
16261        * rendering/RenderBoxModelObject.cpp:
16262        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
16263
162642011-04-19  Naoki Takano  <takano.naoki@gmail.com>
16265
16266        Reviewed by Kent Tamura.
16267
16268        [Chromium]UI polishes and tweaks to Autofill dropdown menu.
16269        https://bugs.webkit.org/show_bug.cgi?id=58505
16270        http://code.google.com/p/chromium/issues/detail?id=51077
16271
16272        No new tests. Because this is autofill looking problem in Chromium.
16273        Add m_menuType as PopupMenuStyle to change popup style change.
16274        Put kLinePaddingHeight at the top and bottom of each line if m_menuType is AutofillPopup.
16275        Change separator color to #dcdcdc and remove sparatorPadding at the edge if m_menuType is AutofillPopup.
16276        Change the line height of separator as only the piece if m_menuType is AutofillPopup.
16277        Change the label font size 0.9 time smaller than regular font size if m_menuType is AutofillPopup.
16278
16279        * platform/PopupMenuStyle.h: Add enum PopupMenuType;
16280        (WebCore::PopupMenuStyle::PopupMenuStyle): Add m_menuType.
16281        (WebCore::PopupMenuStyle::menuType): Add to change the style according to the return value.
16282        * platform/chromium/PopupMenuChromium.cpp:
16283        (WebCore::PopupListBox::paintRow):Change the separator color to #dcdcdc.
16284        Change the edge padding according to menuStyle().
16285        (WebCore::PopupListBox::getRowHeight): Add kLineHeightMargin*2 for each line height.
16286
162872011-04-19  Simon Fraser  <simon.fraser@apple.com>
16288
16289        Reviewed by Dan Bernstein.
16290
16291        background color of elements with border-radius shows around outer edge of border at corners
16292        https://bugs.webkit.org/show_bug.cgi?id=21819
16293
16294        When drawing a background followed by a border with the same rounded
16295        clip, some border color leaks out because of antialiasing.
16296
16297        Fix this by using two different strategies depending on the colors.
16298        If the border is opaque on all sides, we can inset the background by
16299        a device pixel. If not, then we have to draw the unclipped background
16300        and border into a transparency layer, and then clip that.
16301
16302        A futher possible solution is mentioned in a comment in
16303        determineBackgroundBleedAvoidance() but not yet implemented.
16304
16305        Also don't try to paint shadows with zero offset, spread and blur.
16306
16307        Test: fast/backgrounds/background-leakage.html,
16308              fast/backgrounds/background-leakage-transforms.html
16309
16310        * rendering/RenderBoxModelObject.h:
16311        Add a BackgroundBleedAvoidance enum with a value for each
16312        strategy.
16313        * rendering/RenderBoxModelObject.cpp:
16314        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
16315        Pass BackgroundBleedAvoidance, bail early if the border rect is empty.
16316        If using the transparency layer solution, don't bother to clip
16317        to the rounded rect for the background. If the strategy is to
16318        shrink the background, do that.
16319        (WebCore::BorderEdge::BorderEdge):
16320        (WebCore::BorderEdge::obscuresBackgroundEdge):
16321        Helper method to determine if this border side will totally
16322        obscured by the border edge, allowing us to inset it.
16323        (WebCore::RenderBoxModelObject::paintOneBorderSide):
16324        Pass BackgroundBleedAvoidance through.
16325        (WebCore::RenderBoxModelObject::paintBorderSides):
16326        Ditto.
16327        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
16328        Ditto.
16329        (WebCore::RenderBoxModelObject::paintBorder):
16330        Fill BorderEdges using getBorderEdgeInfo now.
16331        Don't clip to the rounded border if we are using the
16332        transparency layer solution.
16333        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
16334        Pass bleedAvoidance through, and use it for double borders.
16335        (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
16336        Helper to fill in the BorderEdge array.
16337        (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
16338        Used to determine if we can use the background shrinkage solution.
16339        (WebCore::RenderBoxModelObject::paintBoxShadow):
16340        Don't paint shadows that should not be visible.
16341
16342        * rendering/RenderBox.h:
16343        * rendering/RenderBox.cpp:
16344        (WebCore::RenderBox::paintRootBoxFillLayers):
16345        Pass BackgroundBleedNone for the root box.
16346
16347        (WebCore::RenderBox::determineBackgroundBleedAvoidance):
16348        Determine which bleed strategy we can use.
16349
16350        (WebCore::RenderBox::paintBoxDecorationsWithSize):
16351        Based on the bleedAvoidance, make a transparency layer
16352        which will be clipped to the rounded border outside edge,
16353        and pass bleedAvoidance to the background and border-painting
16354        methods.
16355        (WebCore::RenderBox::paintMaskImages):
16356        Use BackgroundBleedNone.
16357        (WebCore::RenderBox::paintFillLayers):
16358        (WebCore::RenderBox::paintFillLayer):
16359        Pass bleedAvoidance through.
16360
16361        * rendering/InlineFlowBox.cpp:
16362        (WebCore::InlineFlowBox::paintFillLayer):
16363        (WebCore::InlineFlowBox::paintBoxDecorations):
16364        Pass BackgroundBleedNone. At some point we may want to do the right
16365        thing for split inlines.
16366
16367        * rendering/RenderFieldset.cpp:
16368        (WebCore::RenderFieldset::paintBoxDecorations):
16369        * rendering/RenderTableCell.cpp:
16370        (WebCore::RenderTableCell::paintBackgroundsBehindCell):
16371        Pass BackgroundBleedNone.
16372
163732011-04-19  Yuta Kitamura  <yutak@chromium.org>
16374
16375        Reviewed by Alexey Proskuryakov.
16376
16377        WebSocket: Add assertion for SocketStreamError::failingURL.
16378        https://bugs.webkit.org/show_bug.cgi?id=58765
16379
16380        No new tests, because an existing test http/tests/inspector/console-websocket-error.html should cover this.
16381
16382        * websockets/WebSocketChannel.cpp:
16383        (WebCore::WebSocketChannel::didFail): If error.failingURL() is provided, it must be the same as
16384        m_handshake.url(). failingURL may be null if SocketStreamHandle has created a SocketStreamError
16385        using zero- or one-argument constructor (which is old version but some ports are still using it).
16386        In that case, m_handshake.url() is passed to addMessage().
16387
163882011-04-19  Eric Carlson  <eric.carlson@apple.com>
16389
16390        Reviewed by Dimitri Glazkov.
16391
16392        Media controls status display should not be hidden for live streams
16393        https://bugs.webkit.org/show_bug.cgi?id=58952
16394
16395        Tested manually because we don't have any live streams to test in DRT.
16396
16397        * html/shadow/MediaControlElements.cpp:
16398        (WebCore::MediaControlStatusDisplayElement::update): Set the status to "Loading" only until
16399            there is something to display (readyState exceeds HAVE_METADATA).
16400        * html/shadow/MediaControlRootElement.cpp:
16401        (WebCore::MediaControlRootElement::loadedMetadata): Don't hide the status display for
16402            live streams.
16403
164042011-04-19  Julien Chaffraix  <jchaffraix@codeaurora.org>
16405
16406        Reviewed by Alexey Proskuryakov.
16407
16408        https://bugs.webkit.org/show_bug.cgi?id=45425
16409        HTMLLinkElement.disabled does not forward value to the Stylesheet's disabled attribute on setting
16410
16411        Test: fast/html/htmllink-disable.html
16412        Test: fast/dom/HTMLLinkElement/disabled-attribute.html
16413
16414        Match the HTML5 specification by forwarding the 'disabled' attribute to our stylesheet.
16415
16416        Based on previous work by Bijan Amirzada <bijana@codeaurora.org>.
16417
16418        * html/HTMLLinkElement.cpp:
16419        (WebCore::HTMLLinkElement::disabled): Return our stylesheet's 'disabled' value or
16420        false if we don't have a stylesheet.
16421        (WebCore::HTMLLinkElement::setDisabled): Set our stylesheet's 'disabled' value or
16422        ignore the call if we don't have a stylesheet.
16423        * html/HTMLLinkElement.h:
16424        * html/HTMLLinkElement.idl: Remove 'Reflect' as it is not a reflected attribute anymore in HTML5.
16425        This matches the way FF4, Opera and IE9 handle the attribute.
16426
164272011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
16428
16429        Reviewed by Eric Seidel.
16430
16431        Remove calls to deprecatedOffset and deprecatedNode in TypingCommand
16432        https://bugs.webkit.org/show_bug.cgi?id=58569
16433
16434        Removed all calls to deprecatedOffset and deprecatedNode.
16435
16436        * editing/TypingCommand.cpp:
16437        (WebCore::TypingCommand::insertText):
16438        (WebCore::TypingCommand::deleteKeyPressed):
16439        (WebCore::TypingCommand::forwardDeleteKeyPressed):
16440
164412011-04-19  Adrienne Walker  <enne@google.com>
16442
16443        Reviewed by Kenneth Russell.
16444
16445        [chromium] Initialize depth mask to known value before getBooleanv call
16446        https://bugs.webkit.org/show_bug.cgi?id=58948
16447
16448        This trips an assert in the GPU command buffer client code if the
16449        pointed-to value is not initialized to 0 or -1.
16450
16451        * platform/graphics/gpu/DrawingBuffer.cpp:
16452        (WebCore::DrawingBuffer::clearFramebuffer):
16453
164542011-04-19  Pratik Solanki  <psolanki@apple.com>
16455
16456        Reviewed by Simon Fraser.
16457
16458        BitmapImage::destroyMetadataAndNotify should clear m_checkedForSolidColor
16459        https://bugs.webkit.org/show_bug.cgi?id=58926
16460
16461        * platform/graphics/BitmapImage.cpp:
16462        (WebCore::BitmapImage::destroyMetadataAndNotify): Set m_checkedForSolidColor to false.
16463        * platform/graphics/BitmapImage.h:
16464        (WebCore::BitmapImage::assertNotSolidColor):
16465        * platform/graphics/cg/ImageCG.cpp:
16466        (WebCore::Image::drawPattern): Add assert to make sure this is not called for a 1x1 image.
16467
164682011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
16469
16470        Reviewed by Ojan Vafai.
16471
16472        REGRESSION(r83967): Crash in selectionExtentRespectingEditingBoundary
16473        https://bugs.webkit.org/show_bug.cgi?id=58910
16474
16475        The crash was caused by selectionExtentRespectingEditingBoundary's incorrectly assuming that
16476        targetNode always have renderer when there selection has an editable root and the target node
16477        is outside of the editable root.
16478
16479        Fixed the bug by adding an early exit when the target node is null.
16480
16481        No new tests are added since we don't have a reduction for this crash.
16482
16483        * page/EventHandler.cpp:
16484        (WebCore::selectionExtentRespectingEditingBoundary):
16485
164862011-04-19  Geoffrey Garen  <ggaren@apple.com>
16487
16488        Reviewed by Oliver Hunt.
16489
16490        Removed a use of markDOMObjectWrapper: NodeLists
16491        https://bugs.webkit.org/show_bug.cgi?id=58939
16492
16493        * bindings/js/JSDocumentCustom.cpp:
16494        (WebCore::JSDocument::markChildren): No need to mark node lists, because
16495        now they use the opaque roots system to decide their lifetimes.
16496
16497        * bindings/js/JSNamedNodeMapCustom.cpp: Removed stray newline.
16498
16499        * bindings/js/JSNodeListCustom.cpp:
16500        (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
16501        (WebCore::JSNodeListOwner::finalize):
16502        (WebCore::wrapperOwner):
16503        (WebCore::wrapperContext):
16504        (WebCore::toJS): Use the opaque roots system to avoid relying on
16505        markDOMObjectWrapper.
16506
16507        * dom/DynamicNodeList.cpp:
16508        (WebCore::DynamicNodeList::isDynamicNodeList):
16509        * dom/DynamicNodeList.h:
16510        (WebCore::DynamicNodeList::rootNode): Added the ability to get the node
16511        backing a NodeList, for use in the opaque roots system.
16512
16513        * dom/Node.cpp:
16514        * dom/Node.h:
16515        * dom/NodeList.h:
16516        (WebCore::NodeList::isDynamicNodeList): Ditto. Removed cruft related
16517        to the old way of marking NodeLists.
16518
16519        * dom/NodeList.idl: We need a custom toJS so we can specify a custom
16520        WeakHandleOwner at construction time.
16521
165222011-04-19  Antoine Labour  <piman@chromium.org>
16523
16524        Reviewed by James Robinson.
16525
16526        For invisible iframes, propagate compositing to parent instead of setting self
16527        as root.
16528        https://bugs.webkit.org/show_bug.cgi?id=58414
16529
16530        Tests: compositing/iframes/invisible-iframe.html
16531               compositing/iframes/invisible-nested-iframe-hide.html
16532               compositing/iframes/invisible-nested-iframe-show.html
16533               compositing/iframes/invisible-nested-iframe.html
16534
16535        * rendering/RenderLayerCompositor.cpp:
16536        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
16537        Propagate compositing to parent even if frame owner has no renderer.
16538
165392011-04-19  Dan Bernstein  <mitz@apple.com>
16540
16541        Reviewed by Beth Dakin.
16542
16543        <rdar://problem/9271848> Crash when the document element is removed
16544
16545        Test: fast/events/overflow-viewport-renderer-deleted.html
16546
16547        * page/FrameView.cpp:
16548        (WebCore::FrameView::calculateScrollbarModesForLayout): Reset m_viewportRenderer, in case this
16549        function takes a code path that doesn’t call applyOverflowToViewport().
16550        (WebCore::FrameView::layout): Whitespace change.
16551
165522011-04-19  Beth Dakin  <bdakin@apple.com>
16553
16554        Reviewed by Maciej Stachowiak.
16555
16556        https://bugs.webkit.org/show_bug.cgi?id=57898
16557        REGRESSION (r82185): Scroll position not restored on navigation back to a page in
16558        the page cache
16559        -and corresponding-
16560        <rdar://problem/9226652>
16561
16562        Setting the contentsSize of a ScrollView to (0, 0) necessarily causes the scroll
16563        position to be lost. (The scroll position is computed based on the
16564        visibleContentSize.) This patch provides a mechanism to cache the current scroll
16565        position, and then the HistoryController accesses only the cached position rather
16566        than calling scrollPosition() which does a computation based on the
16567        visibleContentSize.
16568
16569        * loader/HistoryController.cpp:
16570        (WebCore::HistoryController::saveScrollPositionAndViewStateToItem):
16571        * page/FrameView.cpp:
16572        (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
16573        * platform/ScrollView.h:
16574        (WebCore::ScrollView::cacheCurrentScrollPosition):
16575        (WebCore::ScrollView::cachedScrollPosition):
16576
165772011-04-19  Renata Hodovan  <reni@webkit.org>
16578
16579        Reviewed by Eric Seidel.
16580
16581        Move the alignment related macros in Vector.h to new Alignment.h.
16582        https://bugs.webkit.org/show_bug.cgi?id=56000
16583
16584        Adding the new file to the forwarding headers of WebCore.
16585
16586        * ForwardingHeaders/wtf/Alignment.h: Added.
16587
165882011-04-19  Oliver Hunt  <oliver@apple.com>
16589
16590        Reviewed by Andreas Kling.
16591
16592        [Qt] QtInstance method cache ownership rules are unclear
16593        https://bugs.webkit.org/show_bug.cgi?id=58820
16594
16595        Make the QtInstance method cache use WriteBarrier, and handle
16596        ownership properly.
16597
16598        * bridge/qt/qt_class.cpp:
16599        (JSC::Bindings::QtClass::fallbackObject):
16600        (JSC::Bindings::QtClass::fieldNamed):
16601        * bridge/qt/qt_instance.cpp:
16602        (JSC::Bindings::QtInstance::~QtInstance):
16603        (JSC::Bindings::QtInstance::removeCachedMethod):
16604        (JSC::Bindings::QtInstance::newRuntimeObject):
16605        (JSC::Bindings::QtInstance::markAggregate):
16606        * bridge/qt/qt_instance.h:
16607
166082011-04-19  David Kilzer  <ddkilzer@apple.com>
16609
16610        <http://webkit.org/b/57867> Re-order enum ResourceLoadPriority to make Unresolved value less important
16611
16612        Reviewed by Antti Koivisto.
16613
16614        * platform/network/ResourceLoadPriority.h:
16615        (enum ResourceLoadPriority): Moved Unresolved enum to the top of
16616        the list and set to -1 to emphasize the fact that this is an
16617        unresolved priority (rather than one higher than the highest
16618        priority).  Removed whitespace from the end of all enum lines.
16619
166202011-04-19  Simon Fraser  <simon.fraser@apple.com>
16621
16622        Reviewed by David Hyatt.
16623
16624        Background radius is wrong for split inline
16625        https://bugs.webkit.org/show_bug.cgi?id=58843
16626
16627        When computing the radii for a segment of a split inline, we have to
16628        constrain those radii for the current segment, while still drawing
16629        using the entire logical width.
16630
16631        Tests: fast/backgrounds/border-radius-split-background-image.html
16632               fast/backgrounds/border-radius-split-background.html
16633
16634        * rendering/InlineFlowBox.cpp:
16635        (WebCore::InlineFlowBox::paintFillLayer):
16636        Pass height and width for this box only to paintFillLayer()
16637
16638        * rendering/RenderBox.cpp:
16639        (WebCore::RenderBox::paintFillLayer):
16640        Pass 0 for unused inlineBox height and width.
16641
16642        * rendering/RenderBoxModelObject.h:
16643        * rendering/RenderBoxModelObject.cpp:
16644        (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
16645        When computing the rounded background rect, we have to take the size of
16646        this segment of the inline box into account for radius constraining.
16647        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
16648        Call getBackgroundRoundedRect() in two places.
16649
166502011-04-19  Simon Fraser  <simon.fraser@apple.com>
16651
16652        Build fix. For some reason RenderBoxModelObject.cpp
16653        was missing from my last commit.
16654
16655        * rendering/RenderBoxModelObject.cpp:
16656        (WebCore::borderWillArcInnerEdge):
16657        (WebCore::edgeFlagForSide):
16658        (WebCore::includesEdge):
16659        (WebCore::BorderEdge::BorderEdge):
16660        (WebCore::BorderEdge::hasVisibleColorAndStyle):
16661        (WebCore::BorderEdge::shouldRender):
16662        (WebCore::BorderEdge::presentButInvisible):
16663        (WebCore::BorderEdge::usedWidth):
16664        (WebCore::BorderEdge::getDoubleBorderStripeWidths):
16665        (WebCore::edgesShareColor):
16666        (WebCore::styleRequiresClipPolygon):
16667        (WebCore::borderStyleFillsBorderArea):
16668        (WebCore::borderStyleHasInnerDetail):
16669        (WebCore::borderStyleIsDottedOrDashed):
16670        (WebCore::borderStyleHasUnmatchedColorsAtCorner):
16671        (WebCore::colorsMatchAtCorner):
16672        (WebCore::willBeOverdrawn):
16673        (WebCore::borderStylesRequireMitre):
16674        (WebCore::joinRequiresMitre):
16675        (WebCore::RenderBoxModelObject::paintOneBorderSide):
16676        (WebCore::RenderBoxModelObject::paintBorderSides):
16677        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
16678        (WebCore::RenderBoxModelObject::paintBorder):
16679        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
16680        (WebCore::findInnerVertex):
16681        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
16682        (WebCore::RenderBoxModelObject::paintBoxShadow):
16683
166842011-04-19  Stephen White  <senorblanco@chromium.org>
16685
16686        Reviewed by Kenneth Russell.
16687
16688        Refactor GLES2Canvas state application out into its own function.
16689        https://bugs.webkit.org/show_bug.cgi?id=58906
16690
16691        Covered by existing tests in fast/canvas and canvas/philip.
16692
16693        * platform/graphics/chromium/GLES2Canvas.cpp:
16694        (WebCore::GLES2Canvas::applyState):
16695        New function to apply compositing and clipping state.
16696        (WebCore::GLES2Canvas::fillPath):
16697        (WebCore::GLES2Canvas::fillRect):
16698        (WebCore::GLES2Canvas::beginShadowDraw):
16699        (WebCore::GLES2Canvas::endShadowDraw):
16700        Refactor calls to applyState().
16701        * platform/graphics/chromium/GLES2Canvas.h:
16702
167032011-04-19  Simon Fraser  <simon.fraser@apple.com>
16704
16705        Reviewed by Dave Hyatt.
16706
16707        Fix multiple border rendering issues
16708        https://bugs.webkit.org/show_bug.cgi?id=58761
16709
16710        Fix various border-drawing bugs, and optimize some common cases.
16711        Also refactors a lot of the border-drawing code to be more maintainable.
16712
16713            Rounded border rendering with different border widths looks strange
16714            https://bugs.webkit.org/show_bug.cgi?id=17468
16715
16716            paintBorder in RenderObject paint two times the corners
16717            https://bugs.webkit.org/show_bug.cgi?id=20495
16718
16719            Overdraw at box corners when using RGBA colors with alpha
16720            https://bugs.webkit.org/show_bug.cgi?id=21835
16721
16722            Enable antialiasing for border drawing, when transformed
16723            https://bugs.webkit.org/show_bug.cgi?id=22746
16724
16725            Drawing border-radius from path sometimes fails to round outer border in the double style when it should
16726            https://bugs.webkit.org/show_bug.cgi?id=41301
16727
16728            Drawing border-radius from path doesn't appear to always match up border edges correctly
16729            https://bugs.webkit.org/show_bug.cgi?id=41302
16730
16731        Also fixes
16732            Should be able to create Path from RoundedIntRect
16733            https://bugs.webkit.org/show_bug.cgi?id=58809
16734
16735        Tests: fast/borders/border-radius-different-width-001.html
16736               fast/borders/border-radius-inset-outset.html
16737               fast/borders/table-borders.html
16738
16739        * platform/graphics/FloatPoint.h:
16740        * platform/graphics/FloatPoint.cpp:
16741        (WebCore::findSlope):
16742        (WebCore::findIntersection):
16743        New geometry helper functions (should eventually move into a new
16744        GeometryUtilities file).
16745
16746        * platform/graphics/Path.h:
16747        * platform/graphics/Path.cpp:
16748        (WebCore::Path::addRoundedRect):
16749        Add an overload of addRoundedRect() that takes a RoundedIntRect.
16750
16751        * platform/graphics/GraphicsContext.cpp:
16752        (WebCore::GraphicsContext::addRoundedRectClip):
16753        (WebCore::GraphicsContext::clipOutRoundedRect):
16754        (WebCore::GraphicsContext::fillRectWithRoundedHole):
16755        Can now add a RoundedIntRect to a Path directly.
16756
16757        * platform/graphics/IntRect.h:
16758        (WebCore::IntRect::minXMinYCorner):
16759        (WebCore::IntRect::maxXMinYCorner):
16760        (WebCore::IntRect::minXMaxYCorner):
16761        (WebCore::IntRect::maxXMaxYCorner):
16762        Convenience functions to get the rect corners, in a writing-mode-
16763        friendly way.
16764
16765        * platform/graphics/RoundedIntRect.h:
16766        * platform/graphics/RoundedIntRect.cpp:
16767        (WebCore::RoundedIntRect::isRenderable):
16768        We need to know when Path::addRoundedRect() will fail because
16769        the sum of the radii exceed the height or width. This method tells
16770        us that.
16771
16772        * platform/graphics/cg/GraphicsContextCG.cpp:
16773        (WebCore::GraphicsContext::fillRectWithRoundedHole):
16774        Can now add a RoundedIntRect to a Path directly.
16775
16776        * rendering/RenderBoxModelObject.h:
16777        * rendering/RenderBoxModelObject.cpp:
16778        (WebCore::borderWillArcInnerEdge):
16779        This can just to see if there are inner radii now.
16780
16781        (WebCore::edgeFlagForSide):
16782        (WebCore::includesEdge):
16783        Convenience functions for the BorderEdgeFlags bitmask.
16784
16785        (WebCore::BorderEdge::BorderEdge):
16786        (WebCore::BorderEdge::hasVisibleColorAndStyle):
16787        (WebCore::BorderEdge::shouldRender):
16788        (WebCore::BorderEdge::presentButInvisible):
16789        (WebCore::BorderEdge::usedWidth):
16790        (WebCore::BorderEdge::getDoubleBorderStripeWidths):
16791        Convenience class to hold data about how a single edge
16792        is drawn, and to contain some commonly used width-related methods.
16793
16794        (WebCore::edgesShareColor):
16795        (WebCore::styleRequiresClipPolygon):
16796        (WebCore::borderStyleFillsBorderArea):
16797        (WebCore::borderStyleHasInnerDetail):
16798        (WebCore::borderStyleIsDottedOrDashed):
16799        (WebCore::borderStyleHasUnmatchedColorsAtCorner):
16800        (WebCore::colorsMatchAtCorner):
16801        (WebCore::willBeOverdrawn):
16802        (WebCore::borderStylesRequireMitre):
16803        (WebCore::joinRequiresMitre):
16804        Functions used to make the border drawing code more readable,
16805        which are used to determine when corners need a mitre, and
16806        need antialiasing.
16807
16808        (WebCore::RenderBoxModelObject::paintOneBorderSide):
16809        Code to paint one side of a border, either via the path, or
16810        using rects/polygons, the appropriate mitres and antialiasing
16811        at the corners. includeLogicalLeftEdge and includeLogicalRightEdge need
16812        to be passed all the way down here so that when we recompute the
16813        path for double and ridge/groove borders, we correctly handle split box
16814        borders.
16815
16816        (WebCore::RenderBoxModelObject::paintBorderSides):
16817        Paints the 4 border sides (if present).
16818
16819        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
16820        Called when one or more of the borders has a non-opaque color,
16821        and uses a transparency layer for each set of same-colored
16822        sides to avoid overdraw at the corners.
16823
16824        (WebCore::RenderBoxModelObject::paintBorder):
16825        Builds an array of BorderEdge so we can iterate over them to
16826        detect different border compbinations, and optimizations. Has
16827        a fast path for all-solid borders.
16828
16829        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
16830        Moved from RenderObject, since all callers are in RenderBoxModelObject.
16831        Has the following changes:
16832          * Don't attempt to draw dashes if there is only space for a few,
16833            since it looks bad.
16834          * Handle double and groove borders on split inlines correctly,
16835            making use of includeLogicalLeftEdge, includeLogicalRightEdge
16836
16837        (WebCore::findInnerVertex):
16838        For borders with a radiused inner edge, the per-side clip polygon
16839        has to project inside the padding box to avoid clipping the inner edge.
16840        This function computes a reasonable inner corner for the clipping
16841        polygon.
16842        (WebCore::RenderBoxModelObject::clipBorderSidePolygon):
16843        Have the corner joins pass through the corners of the inner and outer
16844        border rectangles, ensure we don't clip the inside if necessary,
16845        and handle antialiasing on the two mitres.
16846
16847        (WebCore::RenderBoxModelObject::paintBoxShadow):
16848        Use RenderStyle::getRoundedInnerBorderFor() rather than computeBorderInnerRect()
16849        etc.
16850
16851        * rendering/RenderObject.h:
16852        * rendering/RenderObject.cpp:
16853        (WebCore::RenderObject::drawLineForBoxSide):
16854        Moved to RenderBoxModelObject.
16855
16856        * rendering/style/RenderStyle.h:
16857        * rendering/style/RenderStyle.cpp:
16858        (WebCore::RenderStyle::getRoundedBorderFor):
16859        (WebCore::RenderStyle::getRoundedInnerBorderFor):
16860        There was some very clumsy code that computed a rounded rect
16861        given the border rect and side widths. Cleaned this up by moving
16862        some code into RenderStyle. The overloaded getRoundedInnerBorderFor()
16863        which takes the border widths is used by the double and groove drawing
16864        code.
16865
168662011-04-19  Ryosuke Niwa  <rniwa@webkit.org>
16867
16868        Reviewed by Dimitri Glazkov.
16869
16870        REGRESSION(r74228-75294): removing nodes is 200+ times slower when selection is inside a shadow DOM
16871        https://bugs.webkit.org/show_bug.cgi?id=57061
16872
16873        The bug was caused by Range::compareNode's incorrectly returning NODE_INSIDE when the selection is inside
16874        a shadow DOM and the node is outside of the shadow DOM. This caused respondToNodeModification to call
16875        RenderView::clearSelection every time a node is removed when selection is in a shadow DOM and resulted in
16876        a significant performance regression.
16877
16878        Fixed Ranged::compareNode by making Range::compareBoundaryPoints throw a WRONG_DOCUMENT_ERR when there are
16879        no common ancestors between containerA and containerB. This will force compareNode to also throw an exception
16880        and prevents respondToNodeModification from clearing selection.
16881
16882        No new tests because this is a performance improvement and the fix in Range cannot be tested since shadow DOM
16883        isn't exposed to JavaScript.
16884
16885        * dom/Range.cpp:
16886        (WebCore::Range::setStart): Calls compareBoundaryPoints; since we ensures that the root container noes of
16887        start and end nodes are same, we should never get an exception from compareBoundaryPoints.
16888        (WebCore::Range::setEnd): Ditto.
16889        (WebCore::Range::isPointInRange): Calls compareBoundaryPoints; returns false when compareBoundaryPoints
16890        throws an exception.
16891        (WebCore::Range::comparePoint): Calls compareBoundaryPoints; exit early when an exception is thrown by
16892        compareBoundaryPoints.
16893        (WebCore::Range::compareBoundaryPoints): Throws an exception when two containers do not have a common ancestor.
16894        (WebCore::Range::boundaryPointsValid): Calls compareBoundaryPoints and checks that it didn't throw an exception.
16895        * dom/Range.h:
16896        * editing/SelectionController.cpp:
16897        (WebCore::SelectionController::respondToNodeModification):
16898        * editing/htmlediting.cpp:
16899        (WebCore::comparePositions): Calls compareBoundaryPoints.
16900        * editing/markup.cpp:
16901        (WebCore::createMarkup): Calls compareBoundaryPoints; since startNode and pastEnd are both in the same document
16902        and neither are in a shadow DOM, it should never throw an exception.
16903        * page/DOMSelection.cpp:
16904        (WebCore::DOMSelection::containsNode): Calls compareBoundaryPoints; node is fully selected only if no exception
16905        was thrown.
16906
169072011-04-19  Jungshik Shin  <jshin@chromium.org>
16908
16909        Reviewed by David Levin
16910
16911        Make U+FEFF be treated as a zero-width character in both
16912        simple script and complex script code paths. In Chromium
16913        Windows, UniscribeHelper needs a rather extensive changes
16914        summarized below.  Other ports need minor changes.
16915
16916        https://bugs.webkit.org/show_bug.cgi?id=48860
16917
16918        Test: fast/text/zero-width-characters-complex-script.html
16919
16920        * platform/graphics/Font.h:
16921        (WebCore::Font::treatAsZeroWidthSpace): U+FEFF is added to the list
16922        (WebCore::Font::treatAsZeroWidthSpaceInComplexScript): Added. Same as the above except that ZWNJ and ZWJ are excluded.
16923        * platform/graphics/GlyphPageTreeNode.cpp:
16924        (WebCore::GlyphPageTreeNode::initializePage): U+FEFF is made to have zero-width characters in simple script (fast) code path.
16925        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
16926        (WebCore::FontMap::getSpaceGlyph): Added to get the gid for space glyph to use in adjustSpaceAdvance when zero-width glyph character has a non-zero width and potentially 'visible' glyph.
16927        (WebCore::FontMap::FontData::FontData): spaceGlyph member added.
16928        (WebCore::getDerivedFontData): spaceGlyph is retrieved as well.
16929        * platform/graphics/chromium/FontUtilsChromiumWin.h:
16930        * platform/graphics/chromium/UniscribeHelper.cpp:
16931        (WebCore::UniscribeHelper::UniscribeHelper): m_spaceGlyph added.
16932        (WebCore::UniscribeHelper::shape): spaceGlyph is obtained stored for a font tried for each item.
16933        (WebCore::UniscribeHelper::adjustSpaceAdvances): For zero-width complex script characters, set the advance width to zero and replace a non-zero-width/visible glyph with a space glyph.
16934        (WebCore::UniscribeHelper::applySpacing):
16935        (WebCore::UniscribeHelper::containsMissingGlyphs): turned to a member function because it cannot work on glyphs alone any more but need to take into account a character corresponding to a glyph
16936        * platform/graphics/chromium/UniscribeHelper.h:
16937        (WebCore::UniscribeHelper::Shaping::Shaping): m_spaceGlyph is added
16938        * platform/graphics/chromium/UniscribeHelperTextRun.cpp:
16939        (WebCore::UniscribeHelperTextRun::UniscribeHelperTextRun): When calling UniscriberHelper, add a new argument for spaceGlyph.
16940
169412011-04-19  Brent Fulgham  <bfulgham@webkit.org>
16942
16943        Reviewed by Adam Roben.
16944
16945        Extend the DIBPixelData class with the facility for writing the
16946        bitmap representation to disk for debugging purposes.
16947        https://bugs.webkit.org/show_bug.cgi?id=58862.
16948
16949        * platform/graphics/win/DIBPixelData.cpp:
16950        (WebCore::DIBPixelData::writeToFile): New function.
16951        * platform/graphics/win/DIBPixelData.h:
16952
169532011-04-19  Vsevolod Vlasov  <vsevik@chromium.org>
16954
16955        Reviewed by Pavel Feldman.
16956
16957        Web Inspector: Rename lengthReceived to encodedDataLength/dataLength
16958        https://bugs.webkit.org/show_bug.cgi?id=58883
16959
16960        * fileapi/FileReaderLoader.cpp:
16961        (WebCore::FileReaderLoader::didReceiveData):
16962        * inspector/InspectorInstrumentation.cpp:
16963        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
16964        * inspector/InspectorInstrumentation.h:
16965        (WebCore::InspectorInstrumentation::didReceiveContentLength):
16966        * inspector/InspectorResourceAgent.cpp:
16967        (WebCore::InspectorResourceAgent::didReceiveContentLength):
16968        * inspector/InspectorResourceAgent.h:
16969        * inspector/front-end/NetworkManager.js:
16970        (WebInspector.NetworkDispatcher.prototype.dataReceived):
16971        * loader/DocumentThreadableLoader.cpp:
16972        (WebCore::DocumentThreadableLoader::didReceiveData):
16973        (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
16974        * loader/DocumentThreadableLoader.h:
16975        * loader/FrameLoaderClient.h:
16976        * loader/MainResourceLoader.cpp:
16977        (WebCore::MainResourceLoader::didReceiveData):
16978        * loader/MainResourceLoader.h:
16979        * loader/NetscapePlugInStreamLoader.cpp:
16980        (WebCore::NetscapePlugInStreamLoader::didReceiveData):
16981        * loader/NetscapePlugInStreamLoader.h:
16982        * loader/ResourceLoadNotifier.cpp:
16983        (WebCore::ResourceLoadNotifier::didReceiveData):
16984        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
16985        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
16986        * loader/ResourceLoadNotifier.h:
16987        * loader/ResourceLoader.cpp:
16988        (WebCore::ResourceLoader::didReceiveData):
16989        * loader/ResourceLoader.h:
16990        * loader/SubresourceLoader.cpp:
16991        (WebCore::SubresourceLoader::didReceiveData):
16992        * loader/SubresourceLoader.h:
16993        * loader/SubresourceLoaderClient.h:
16994        (WebCore::SubresourceLoaderClient::didReceiveData):
16995        (WebCore::SubresourceLoaderClient::didReceiveCachedMetadata):
16996        * loader/WorkerThreadableLoader.cpp:
16997        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
16998        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata):
16999        * loader/appcache/ApplicationCacheGroup.cpp:
17000        (WebCore::ApplicationCacheGroup::didReceiveData):
17001        * loader/appcache/ApplicationCacheGroup.h:
17002        * loader/appcache/ApplicationCacheHost.h:
17003        * notifications/Notification.cpp:
17004        (WebCore::Notification::didReceiveData):
17005        * notifications/Notification.h:
17006        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
17007        (StreamingClient::didReceiveData):
17008        * platform/network/BlobResourceHandle.cpp:
17009        * platform/network/ResourceHandleClient.h:
17010        (WebCore::ResourceHandleClient::didReceiveData):
17011        * platform/network/android/ResourceHandleAndroid.cpp:
17012        (WebCore::SyncLoader::didReceiveData):
17013        * platform/network/cf/ResourceHandleCFNet.cpp:
17014        (WebCore::WebCoreSynchronousLoaderClient::didReceiveData):
17015        * platform/network/curl/ResourceHandleCurl.cpp:
17016        * platform/network/mac/ResourceHandleMac.mm:
17017        (WebCoreSynchronousLoaderClient::didReceiveData):
17018        * platform/network/soup/ResourceHandleSoup.cpp:
17019        * platform/network/win/ResourceHandleWin.cpp:
17020        * workers/WorkerScriptLoader.h:
17021        * xml/XMLHttpRequest.h:
17022
170232011-04-19  Stephen White  <senorblanco@chromium.org>
17024
17025        Reviewed by Eric Seidel.
17026
17027        Pull framebuffer clearing out into its own function.
17028        https://bugs.webkit.org/show_bug.cgi?id=58897
17029
17030        Covered by fast/canvas and canvas/philip tests.
17031
17032        * platform/graphics/gpu/DrawingBuffer.cpp:
17033        (WebCore::DrawingBuffer::clearFramebuffer):
17034        (WebCore::DrawingBuffer::reset):
17035        * platform/graphics/gpu/DrawingBuffer.h:
17036
170372011-04-19 Brian Salomon <bsalomon@google.com>
17038
17039        Reviewed by Eric Seidel.
17040
17041        When flushing GrContext in ~PlatformContextSkia be sure correct GL context is set
17042        https://bugs.webkit.org/show_bug.cgi?id=58788
17043
17044        Chromium browser test will be added that loads canvas page and then an
17045        acclerated-composited page. Test must trigger ~PlatformContextSkia()
17046        followed by invocation of GL compositor.
17047
17048        * platform/graphics/skia/PlatformContextSkia.cpp:
17049        (WebCore::PlatformContextSkia::~PlatformContextSkia):
17050
170512011-04-19  Csaba Osztrogonác  <ossy@webkit.org>
17052
17053        [Qt] REGRESSION(84176): http/tests/xmlhttprequest/event-listener-gc.html fails
17054        https://bugs.webkit.org/show_bug.cgi?id=58871
17055
17056        Unreviewed, rolling out r84176, r84178, r84186, r84212 and r84231.
17057        http://trac.webkit.org/changeset/84176 (original patch)
17058        http://trac.webkit.org/changeset/84178 (original patch - part 2)
17059        http://trac.webkit.org/changeset/84186 (build fix)
17060        http://trac.webkit.org/changeset/84212
17061        http://trac.webkit.org/changeset/84231 (skip failing test)
17062
17063        original bugs:
17064         - https://bugs.webkit.org/show_bug.cgi?id=58718
17065         - https://bugs.webkit.org/show_bug.cgi?id=58853
17066
17067        * bridge/qt/qt_class.cpp:
17068        (JSC::Bindings::QtClass::fallbackObject):
17069        * bridge/qt/qt_instance.cpp:
17070        (JSC::Bindings::QtInstance::removeCachedMethod):
17071        (JSC::Bindings::QtInstance::markAggregate):
17072        * bridge/qt/qt_instance.h:
17073
170742011-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
17075
17076        Unreviewed, rolling out r84050.
17077        http://trac.webkit.org/changeset/84050
17078        https://bugs.webkit.org/show_bug.cgi?id=58892
17079
17080        fast/dom/HTMLKeygenElement/keygen.html is crashing on Chromium
17081        (Requested by jknotten on #webkit).
17082
17083        * dom/ContainerNode.cpp:
17084        (WebCore::ContainerNode::takeAllChildrenFrom):
17085        (WebCore::ContainerNode::removeBetween):
17086        (WebCore::ContainerNode::removeChildren):
17087        (WebCore::ContainerNode::parserAddChild):
17088        * dom/Document.cpp:
17089        (WebCore::Document::Document):
17090        (WebCore::Document::~Document):
17091        (WebCore::Document::setDocType):
17092        * dom/Element.h:
17093        * dom/Node.cpp:
17094        (WebCore::Node::treeScope):
17095        (WebCore::Node::setTreeScope):
17096        (WebCore::Node::setTreeScopeRecursively):
17097        * dom/Node.h:
17098        (WebCore::Node::document):
17099        * dom/ShadowRoot.cpp:
17100        (WebCore::ShadowRoot::ShadowRoot):
17101        * dom/ShadowRoot.h:
17102        * dom/TreeScope.cpp:
17103        (WebCore::TreeScope::TreeScope):
17104        (WebCore::TreeScope::setParentTreeScope):
17105        * dom/TreeScope.h:
17106        * rendering/RenderSlider.cpp:
17107
171082011-04-19  Kinuko Yasuda  <kinuko@chromium.org>
17109
17110        Not reviewed; windows build fix attempt.
17111
17112        * storage/StorageInfo.cpp:
17113        (WebCore::StorageInfo::~StorageInfo):
17114        * storage/StorageInfo.h:
17115
171162011-04-19  Kinuko Yasuda  <kinuko@chromium.org>
17117
17118        Reviewed by David Levin.
17119
17120        [Chromium] Enable QUOTA API at runtime if enable-quota flag is given
17121        https://bugs.webkit.org/show_bug.cgi?id=58784
17122
17123        No new tests as this does not change any functionality.
17124
17125        * bindings/generic/RuntimeEnabledFeatures.cpp:
17126        * bindings/generic/RuntimeEnabledFeatures.h:
17127        (WebCore::RuntimeEnabledFeatures::quotaEnabled):
17128        (WebCore::RuntimeEnabledFeatures::setQuotaEnabled):
17129        * page/DOMWindow.idl:
17130
171312011-04-19  John Gregg  <johnnyg@google.com>
17132
17133        Reviewed by Darin Fisher.
17134
17135        Enable folder drag-n-drop when using a "webkitdirectory" file input
17136        https://bugs.webkit.org/show_bug.cgi?id=58401
17137
17138        This uses a new ChromeClient API to enumerate the directory and
17139        return all the files, as if the user had selected that directory
17140        by clicking the control in the normal way.
17141
17142        * loader/EmptyClients.h:
17143        (WebCore::EmptyChromeClient::enumerateChosenDirectory):
17144        * page/Chrome.cpp:
17145        (WebCore::Chrome::enumerateChosenDirectory):
17146        * page/Chrome.h:
17147        * page/ChromeClient.h:
17148        * platform/network/FormData.cpp:
17149        (WebCore::FormData::appendKeyValuePairItems):
17150        * rendering/RenderFileUploadControl.cpp:
17151        (WebCore::RenderFileUploadControl::receiveDropForDirectoryUpload):
17152        (WebCore::RenderFileUploadControl::receiveDroppedFiles):
17153        * rendering/RenderFileUploadControl.h:
17154
171552011-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
17156
17157        Unreviewed, rolling out r84150.
17158        http://trac.webkit.org/changeset/84150
17159        https://bugs.webkit.org/show_bug.cgi?id=58875
17160
17161        Broken backspace in Search box of Web Inspector (Requested by
17162        apavlov on #webkit).
17163
17164        * inspector/front-end/inspector.js:
17165        (WebInspector.documentKeyDown):
17166
171672011-04-19  Andrey Adaikin  <aandrey@google.com>
17168
17169        Reviewed by Pavel Feldman.
17170
17171        Web Inspector: NPE in TextEditorModel
17172        https://bugs.webkit.org/show_bug.cgi?id=58870
17173
17174        * inspector/front-end/ResourcesPanel.js:
17175        (WebInspector.ResourcesPanel.prototype._frameAdded):
17176        * inspector/front-end/TextEditorModel.js:
17177        (WebInspector.TextEditorModel.prototype.setText):
17178
171792011-04-19  Hans Wennborg  <hans@chromium.org>
17180
17181        Reviewed by Tony Gentilcore.
17182
17183        IndexedDB: Remove accidental header include directive from LevelDB backend.
17184        https://bugs.webkit.org/show_bug.cgi?id=58872
17185
17186        No new functionality, no new tests.
17187
17188        * storage/IDBLevelDBBackingStore.cpp:
17189
171902011-04-19  Herczeg Zoltan  <zherczeg@webkit.org>
17191
17192        Build fix.
17193
17194        LEFilter change doesn't compile on ARM neon targets
17195        https://bugs.webkit.org/show_bug.cgi?id=58671
17196
17197        Thanks for Charlie Lee to fixing this.
17198
17199        * WebCore.gypi:
17200
172012011-04-19  Daniel Bates  <dbates@webkit.org>
17202
17203        Attempt to fix the Qt Linux Release Minimal build after changeset 84225
17204        <http://trac.webkit.org/changeset/84225> (https://bugs.webkit.org/show_bug.cgi?id=52788).
17205
17206        * dom/EventDispatcher.cpp:
17207        (WebCore::EventDispatcher::ensureEventAncestors): Add ENABLE(SVG) guards around call
17208        to Node::svgShadowHost() since this method is only defined when building with SVG enabled.
17209
172102011-04-18  Dominic Cooney  <dominicc@chromium.org>
17211
17212        Reviewed by Dimitri Glazkov.
17213
17214        Makes SVG shadow roots and DOM shadow roots distinct.
17215        https://bugs.webkit.org/show_bug.cgi?id=52788
17216
17217        Not a functional change. Covered by existing SVG tests.
17218
17219        * dom/EventDispatcher.cpp:
17220        (WebCore::findElementInstance):
17221        (WebCore::EventDispatcher::adjustToShadowBoundaries):
17222        (WebCore::EventDispatcher::adjustRelatedTarget):
17223        (WebCore::EventDispatcher::ensureEventAncestors):
17224        * dom/Node.cpp:
17225        (WebCore::Node::setShadowHost):
17226        (WebCore::Node::svgShadowHost):
17227        (WebCore::Node::shadowTreeRootNode):
17228        * dom/Node.h:
17229        (WebCore::Node::isSVGShadowRoot):
17230        (WebCore::Node::parentNode):
17231        (WebCore::Node::parentNodeGuaranteedHostFree):
17232        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp:
17233        (WebCore::RenderSVGShadowTreeRootContainer::~RenderSVGShadowTreeRootContainer):
17234        (WebCore::RenderSVGShadowTreeRootContainer::updateFromElement):
17235        * rendering/svg/SVGShadowTreeElements.cpp:
17236        (WebCore::SVGShadowTreeRootElement::SVGShadowTreeRootElement):
17237        (WebCore::SVGShadowTreeRootElement::create):
17238        (WebCore::SVGShadowTreeRootElement::attachElement):
17239        (WebCore::SVGShadowTreeRootElement::clearSVGShadowHost):
17240        * rendering/svg/SVGShadowTreeElements.h:
17241        (WebCore::SVGShadowTreeRootElement::isSVGShadowRoot):
17242        * svg/SVGStyledElement.cpp:
17243        (WebCore::SVGStyledElement::title):
17244
172452011-04-18  Taiju TSUIKI  <develop@tzik.jp>
17246
17247        Reviewed by Darin Fisher.
17248
17249        Vendor-prefix requestFileSystem in FileSystem API
17250        https://bugs.webkit.org/show_bug.cgi?id=58517
17251
17252        Prefix from:
17253        - window.requestFileSystem to window.webkitRequestFileSystem
17254        - window.resolveLocalFileSystemURL to window.webkitResolveLocalFileSystemURL
17255        - window.Flags to window.WebKitFlags
17256        - WorkerContext.requestFileSystem to WorkerContext.webkitRequestFileSystem
17257        - WorkerContext.resolveLocalFileSystemURL to WorkerContext.webkitResolveLocalFileSystemURL
17258        - WorkerContext.Flags to WorkerContext.WebKitFlags
17259
17260        * CMakeLists.txt:
17261        * CodeGenerators.pri:
17262        * DerivedSources.cpp:
17263        * DerivedSources.make:
17264        * GNUmakefile.list.am:
17265        * WebCore.gypi:
17266        * WebCore.pro:
17267        * WebCore.vcproj/WebCore.vcproj:
17268        * WebCore.xcodeproj/project.pbxproj:
17269        * bindings/js/JSDirectoryEntryCustom.cpp:
17270        (WebCore::JSDirectoryEntry::getFile):
17271        (WebCore::JSDirectoryEntry::getDirectory):
17272        * bindings/js/JSDirectoryEntrySyncCustom.cpp:
17273        (WebCore::getFlags):
17274        (WebCore::JSDirectoryEntrySync::getFile):
17275        (WebCore::JSDirectoryEntrySync::getDirectory):
17276        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
17277        (WebCore::V8DirectoryEntry::getDirectoryCallback):
17278        (WebCore::V8DirectoryEntry::getFileCallback):
17279        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
17280        (WebCore::getFlags):
17281        (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
17282        (WebCore::V8DirectoryEntrySync::getFileCallback):
17283        * fileapi/DOMFileSystemBase.cpp:
17284        (WebCore::DOMFileSystemBase::getFile):
17285        (WebCore::DOMFileSystemBase::getDirectory):
17286        * fileapi/DOMFileSystemBase.h:
17287        * fileapi/DirectoryEntry.cpp:
17288        (WebCore::DirectoryEntry::getFile):
17289        (WebCore::DirectoryEntry::getDirectory):
17290        * fileapi/DirectoryEntry.h:
17291        * fileapi/DirectoryEntry.idl:
17292        * fileapi/DirectoryEntrySync.cpp:
17293        (WebCore::DirectoryEntrySync::getFile):
17294        (WebCore::DirectoryEntrySync::getDirectory):
17295        * fileapi/DirectoryEntrySync.h:
17296        * fileapi/DirectoryEntrySync.idl:
17297        * fileapi/WebKitFlags.h: Renamed from Source/WebCore/fileapi/Flags.h.
17298        (WebCore::WebKitFlags::create):
17299        (WebCore::WebKitFlags::isCreate):
17300        (WebCore::WebKitFlags::setCreate):
17301        (WebCore::WebKitFlags::isExclusive):
17302        (WebCore::WebKitFlags::setExclusive):
17303        (WebCore::WebKitFlags::WebKitFlags):
17304        * fileapi/WebKitFlags.idl: Renamed from Source/WebCore/fileapi/Flags.idl.
17305        * page/DOMWindow.cpp:
17306        (WebCore::DOMWindow::webkitRequestFileSystem):
17307        (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
17308        * page/DOMWindow.h:
17309        * page/DOMWindow.idl:
17310        * workers/WorkerContext.cpp:
17311        (WebCore::WorkerContext::webkitRequestFileSystem):
17312        (WebCore::WorkerContext::webkitRequestFileSystemSync):
17313        (WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
17314        (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
17315        * workers/WorkerContext.h:
17316        * workers/WorkerContext.idl:
17317
173182011-04-18  Steve Lacey  <sjl@chromium.org>
17319
17320        Reviewed by Dimitri Glazkov.
17321
17322        Decouple media controls usage from implementation.
17323        This allows each port to implement thier own controls in a different
17324        manner to the default webkit implementation.
17325
17326        Convert media controls hooks to a client interface
17327        https://bugs.webkit.org/show_bug.cgi?id=58346
17328
17329        No new tests as there is no functional change.
17330
17331        * Android.mk:
17332        * CMakeLists.txt:
17333        * GNUmakefile.list.am:
17334        * WebCore.gypi:
17335        * WebCore.pro:
17336        * WebCore.vcproj/WebCore.vcproj:
17337        * WebCore.xcodeproj/project.pbxproj:
17338        * html/HTMLMediaElement.cpp:
17339        (WebCore::HTMLMediaElement::mediaControls):
17340        (WebCore::HTMLMediaElement::ensureMediaControls):
17341        (WebCore::HTMLMediaElement::preDispatchEventHandler):
17342        * html/HTMLMediaElement.h:
17343        * html/shadow/MediaControlElements.cpp:
17344        (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
17345        (WebCore::MediaControlPanelMuteButtonElement::create):
17346        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
17347        (WebCore::MediaControlTimelineElement::create):
17348        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
17349        (WebCore::MediaControlFullscreenButtonElement::create):
17350        * html/shadow/MediaControlElements.h:
17351        * html/shadow/MediaControlRootElement.cpp:
17352        (WebCore::MediaControlRootElement::MediaControlRootElement):
17353        (WebCore::MediaControls::create):
17354        * html/shadow/MediaControlRootElement.h:
17355        * html/shadow/MediaControls.cpp: Added.
17356        (WebCore::MediaControls::MediaControls):
17357        * html/shadow/MediaControls.h: Added.
17358        (WebCore::MediaControls::~MediaControls):
17359
173602011-04-18  Pascal Massimino  <pascal.massimino@gmail.com>
17361
17362        Reviewed by Adam Barth.
17363
17364        Add incremental decoding to WebP decoder
17365        https://bugs.webkit.org/show_bug.cgi?id=58851
17366
17367        No new tests, as it's not possible for the layout test framework to
17368        force the decoders to decode incrementally.
17369
17370        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
17371        (WebCore::WEBPImageDecoder::WEBPImageDecoder):
17372        (WebCore::WEBPImageDecoder::decode):
17373        * platform/image-decoders/webp/WEBPImageDecoder.h:
17374
173752011-04-18  Daniel Bates  <dbates@rim.com>
17376
17377        Reviewed by Adam Roben.
17378
17379        With PAN_SCROLLING, mousedown events for a mouse button aren't dispatched while
17380        pressing-and-holding another mouse button
17381        https://bugs.webkit.org/show_bug.cgi?id=58700
17382
17383        Fixes an issue where mousedown events weren't dispatched when pressing a mouse button A
17384        while pressing and holding a mouse button B, where A != B. This issue only affects builds
17385        that enable PAN_SCROLLING.
17386
17387        On mouse press with autoscroll in progress (m_autoscrollInProgress == true) we stopped
17388        the autoscroll timer, invalidated the click, and swallowed the mouse press. Instead, we
17389        should only stop the autoscroll timer.
17390
17391        Test: fast/events/fire-mousedown-while-pressing-mouse-button.html
17392
17393        * page/EventHandler.cpp:
17394        (WebCore::EventHandler::handleMousePressEvent):
17395
173962011-04-18  Jon Lee  <jonlee@apple.com>
17397
17398        Reviewed by Maciej Stachowiak.
17399
17400        With overlay scrollbars, textarea resize corner gains borders when the textarea becomes scrollable
17401        https://bugs.webkit.org/show_bug.cgi?id=58617
17402        <rdar://problem/9048012>
17403
17404        * rendering/RenderLayer.cpp:
17405        (WebCore::RenderLayer::paintResizer): Check for overlay scrollbars first, and then if the bars were created, before displaying the borders
17406
174072011-04-18  Jon Lee  <jonlee@apple.com>
17408
17409        Reviewed by Maciej Stachowiak.
17410
17411        Selected item background in list box gets rendered on top of overlay scrollbar knob (58824)
17412        https://bugs.webkit.org/show_bug.cgi?id=58824
17413        <rdar://problem/9292680>
17414
17415        * rendering/RenderListBox.cpp:
17416        (WebCore::RenderListBox::paintObject): Moving the stage of painting the scrollbars to the foreground if using overlay scrollbars
17417
174182011-04-18  John Bauman  <jbauman@chromium.org>
17419
17420        Reviewed by Kenneth Russell.
17421
17422        Don't cast BitmapImageSingleFrameSkia to BitmapImage
17423        https://bugs.webkit.org/show_bug.cgi?id=58821
17424
17425        BitmapImageSingleFrameSkia has isBitmap return true, but
17426        can't be cast to a BitmapImage. Instead of using BitmapImage,
17427        use isOpaque from SkBitmap to determine if the image has alpha.
17428
17429        No new tests.
17430
17431        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
17432        (WebCore::GraphicsContext3D::getImageData):
17433
174342011-04-18  Jessie Berlin  <jberlin@apple.com>
17435
17436        Reviewed by Steve Falkenburg.
17437
17438        If deleting the StorageTracker.db file fails, local storage is left in a strange state.
17439        https://bugs.webkit.org/show_bug.cgi?id=58805
17440
17441        * storage/StorageTracker.cpp:
17442        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
17443        When cleaning up the StorageTracker.db file, is not enough to call syncDeleteOrigin.
17444        deleteOrigin itself must be called to update the data structures that syncDeleteOrigin
17445        depends on and to prevent clashes between a theoretical web page editing local storage
17446        at the same time this method is called.
17447        (WebCore::StorageTracker::syncDeleteAllOrigins):
17448        If it is not possible to delete the StorageTracker.db file, empty it.
17449        (WebCore::StorageTracker::deleteOriginOnMainThread):
17450        Wrapper for deleteOrigin.
17451        * storage/StorageTracker.h:
17452
174532011-04-18  Geoffrey Garen  <ggaren@apple.com>
17454
17455        Build fix.
17456
17457        Added back missing #include.
17458
17459        * bindings/js/DOMWrapperWorld.cpp:
17460
174612011-04-18  Enrica Casucci  <enrica@apple.com>
17462
17463        Reviewed by Maciej Stachowiak.
17464
17465        Dropping a file in a WKView (WebKit2) doesn't load the file.
17466        https://bugs.webkit.org/show_bug.cgi?id=58842
17467        <rdar://problem/8514409>
17468
17469        The URL string for the file contains an extra %00 at the end
17470        that causes the network framework to fail to load the file.
17471
17472        * platform/win/ClipboardUtilitiesWin.cpp:
17473        (WebCore::getURL):
17474
174752011-04-18  Geoffrey Garen  <ggaren@apple.com>
17476
17477        Discovered and rubber-stamped by Stephanie Lewis.
17478
17479        Restored some code I accidentally deleted in <http://trac.webkit.org/changeset/83990>
17480
17481        * bindings/js/DOMWrapperWorld.cpp:
17482        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
17483        (WebCore::DOMWrapperWorld::clearWrappers): Do clear / destroy all our
17484        window shells when clearing / destroying ourselves. r83990 removed this
17485        behavior for documents since there are no per-document maps anymore,
17486        but removing this behavior for window shells too was a typo.
17487
174882011-04-18  Geoffrey Garen  <ggaren@apple.com>
17489
17490        Reviewed by Oliver Hunt.
17491
17492        Made DOM handle ownership customizable, and customized it for Nodes and NamedAttrMaps
17493        https://bugs.webkit.org/show_bug.cgi?id=58828
17494
17495        * WebCore.exp.in: Blah.
17496
17497        * bindings/js/DOMWrapperWorld.cpp: Moved code related to JSNode ownership
17498        to JSNodeCustom, where other custom JSNode-related code goes.
17499
17500        (WebCore::JSDOMWrapperOwner::finalize):
17501        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
17502        * bindings/js/DOMWrapperWorld.h:
17503        (WebCore::JSDOMWrapperOwner::JSDOMWrapperOwner):
17504        (WebCore::DOMWrapperWorld::defaultWrapperOwner): Renamed DOMObjectHandleOwner
17505        to JSDOMWrapperOwner, to match the name of JSDOMWrapper.
17506
17507        * bindings/js/JSArrayBufferViewHelper.h:
17508        (WebCore::toJSArrayBufferView):
17509        * bindings/js/JSCSSRuleCustom.cpp:
17510        (WebCore::toJS):
17511        * bindings/js/JSCSSValueCustom.cpp:
17512        (WebCore::toJS):
17513        * bindings/js/JSCanvasRenderingContextCustom.cpp:
17514        (WebCore::toJS): Removed "DOMObject" and "Node" from the names of wrapper-
17515        related functions, since there is no meaningful distinction between the
17516        two anymore -- they both use the same extensible interface.
17517
17518        * bindings/js/JSDOMBinding.cpp: Removed some now-unused functions.
17519
17520        * bindings/js/JSDOMBinding.h:
17521        (WebCore::getInlineCachedWrapper):
17522        (WebCore::setInlineCachedWrapper):
17523        (WebCore::clearInlineCachedWrapper):
17524        (WebCore::wrapperOwner):
17525        (WebCore::wrapperContext):
17526        (WebCore::getCachedWrapper):
17527        (WebCore::cacheWrapper):
17528        (WebCore::uncacheWrapper):
17529        (WebCore::createWrapper):
17530        (WebCore::wrap): Created a generic, extensible mechanism for creating,
17531        caching, retrieving, marking, and destroying DOM wrappers. This eliminates
17532        the difference between DOM object wrappers and DOM node wrappers, and
17533        lays the groundwork for getting rid of MarkStack::deprecatedAppend usage
17534        for marking the remainder of our DOM objects.
17535
17536        * bindings/js/JSDOMWindowCustom.cpp:
17537        (WebCore::JSDOMWindow::history):
17538        (WebCore::JSDOMWindow::location):
17539        * bindings/js/JSDataViewCustom.cpp:
17540        (WebCore::toJS):
17541        * bindings/js/JSDocumentCustom.cpp:
17542        (WebCore::JSDocument::location):
17543        (WebCore::toJS):
17544        * bindings/js/JSElementCustom.cpp:
17545        (WebCore::toJSNewlyCreated):
17546        * bindings/js/JSEventCustom.cpp:
17547        (WebCore::toJS):
17548        * bindings/js/JSHTMLCollectionCustom.cpp:
17549        (WebCore::toJS):
17550        * bindings/js/JSImageDataCustom.cpp:
17551        (WebCore::toJS): Updated for renames mentioned above.
17552
17553        * bindings/js/JSNamedNodeMapCustom.cpp:
17554        (WebCore::JSNamedNodeMapOwner::isReachableFromOpaqueRoots):
17555        (WebCore::JSNamedNodeMapOwner::finalize):
17556        (WebCore::wrapperOwner):
17557        (WebCore::wrapperContext):
17558        (WebCore::JSNamedNodeMap::markChildren):
17559        (WebCore::toJS): Updated to use our new interface for customizing wrapper
17560        lifetime management through function overloading without using
17561        MarkStack::deprecatedAppend.
17562
17563        * bindings/js/JSNodeCustom.cpp:
17564        (WebCore::isObservable):
17565        (WebCore::isReachableFromDOM):
17566        (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
17567        (WebCore::JSNodeOwner::finalize):
17568        (WebCore::createWrapperInline): Moved node-related code from JSDOMBinding
17569        to here. Removed special case marking code for JSNamedNodeMap because
17570        JSNamedNodeMap now knows how to maintain its own lifetime invariants.
17571
17572        * bindings/js/JSNodeCustom.h:
17573        (WebCore::wrapperOwner):
17574        (WebCore::wrapperContext):
17575        (WebCore::getInlineCachedWrapper):
17576        (WebCore::setInlineCachedWrapper):
17577        (WebCore::clearInlineCachedWrapper):
17578        (WebCore::toJS): Updated to use our new interface for customizing wrapper
17579        lifetime management through function overloading without using
17580        MarkStack::deprecatedAppend or special-case code for nodes.
17581
17582        * bindings/js/JSSVGPathSegCustom.cpp:
17583        (WebCore::toJS):
17584        * bindings/js/JSStyleSheetCustom.cpp:
17585        (WebCore::toJS): Updated for renames mentioned above.
17586
17587        * bindings/scripts/CodeGeneratorJS.pm: Fixed up newlines. Updated for
17588        renames mentioned above.
17589
17590        * dom/NamedNodeMap.idl: NamedNodeMap needs a custom toJS function now
17591        because it needs to provide a custom WeakHandleOwner at wrapper creation time.
17592
175932011-04-18  Jessie Berlin  <jberlin@apple.com>
17594
17595        Rubber-stamped by Sam Weinig.
17596
17597        REGRESSION (r84094): Many tests failing assertions in WebCore::localizedString on Windows.
17598        https://bugs.webkit.org/show_bug.cgi?id=58747
17599
17600        Copy the WebCore Localizable.strings file into the output directory.
17601
17602        * WebCore.vcproj/WebCoreGenerated.vcproj:
17603        * WebCore.vcproj/WebCoreGeneratedCairo.vsprops:
17604        * WebCore.vcproj/WebCoreGeneratedCommon.vsprops:
17605        * WebCore.vcproj/copyInspectorFiles.cmd: Removed.
17606        * WebCore.vcproj/copyWebCoreResourceFiles.cmd: Copied from Source/WebCore/WebCore.vcproj/copyInspectorFiles.cmd.
17607
176082011-04-18  Robert Hogan  <robert@webkit.org>
17609
17610        Reviewed by Andreas Kling.
17611
17612        [Qt] PluginViewQt needs to update geometry of plugin widget before scheduling a repaint
17613
17614        When scheduling a repaint for the plugin's widget, PluginViewQt
17615        needs to make sure the widget's geometry is up to date. Otherwise
17616        the paint event happens on the widget's old location.
17617
17618        https://bugs.webkit.org/show_bug.cgi?id=57179
17619
17620        Added a manual test.
17621
17622        * manual-tests/qt/plugin-painting.html: Added.
17623        * plugins/qt/PluginViewQt.cpp:
17624        (WebCore::PluginView::updatePluginWidget):
17625        (WebCore::PluginView::invalidateRect):
17626
176272011-04-18  Oliver Hunt  <oliver@apple.com>
17628
17629        Fix Qt build
17630
17631        * bridge/qt/qt_class.cpp:
17632        (JSC::Bindings::QtClass::fallbackObject):
17633        * bridge/qt/qt_instance.cpp:
17634        (JSC::Bindings::QtInstance::removeCachedMethod):
17635        * bridge/qt/qt_instance.h:
17636
176372011-04-18  Oliver Hunt  <oliver@apple.com>
17638
17639        Reviewed by Gavin Barraclough.
17640
17641        Remove DeprecatedPtr
17642        https://bugs.webkit.org/show_bug.cgi?id=58718
17643
17644        Replace use of DeprecatedPtr<> with Global<> as ownership rules
17645        aren't obvious, have filed bug #58820 on seeing if this is safe.
17646
17647        * bridge/qt/qt_class.cpp:
17648        (JSC::Bindings::QtClass::fallbackObject):
17649        * bridge/qt/qt_instance.cpp:
17650        (JSC::Bindings::QtInstance::removeCachedMethod):
17651        (JSC::Bindings::QtInstance::markAggregate):
17652        * bridge/qt/qt_instance.h:
17653
176542011-04-14  Matthew Delaney  <mdelaney@apple.com>
17655
17656        Reviewed by Simon Fraser.
17657
17658        [CG] Use vImage (un)premultiplyImageData functions for get/putImageData with IOSurfaces
17659        https://bugs.webkit.org/show_bug.cgi?id=58088
17660
17661        * platform/graphics/cg/ImageBufferDataCG.cpp:
17662        (WebCore::convertScanline): un/premultiplies and converts a scanline of image data from/to BGRA to/from RGBA
17663        (WebCore::unpremultitplyScanline):
17664        (WebCore::premultitplyScanline):
17665        (WebCore::ImageBufferData::getData):
17666        (WebCore::ImageBufferData::putData):
17667
176682011-04-18  Jeff Miller  <jeffm@apple.com>
17669
17670        Reviewed by Dan Bernstein.
17671
17672        Allow all log channels to be initialized from WebCoreLogLevel Windows environment variable
17673        https://bugs.webkit.org/show_bug.cgi?id=58811
17674
17675        * platform/win/LoggingWin.cpp:
17676        (WebCore::InitializeLoggingChannelsIfNecessary): Support initializing LogResourceLoading, LogProgress, and LogFileAPI from WebCoreLogLevel Windows environment variable.
17677
176782011-04-18  Andrew Scherkus  <scherkus@chromium.org>
17679
17680        Reviewed by Eric Seidel.
17681
17682        Reset fullscreen element reference when leaving fullscreen mode and some other cleanup.
17683
17684        https://bugs.webkit.org/show_bug.cgi?id=58719
17685
17686        Test: fullscreen/full-screen-cancel.html
17687
17688        * dom/Document.cpp:
17689        (WebCore::Document::Document): Remove m_isFullscreen.
17690        (WebCore::Document::webkitWillEnterFullScreenForElement):
17691        (WebCore::Document::webkitWillExitFullScreenForElement): Remove duplicate call to setAnimating().
17692        (WebCore::Document::webkitDidExitFullScreenForElement): Reset m_fullScreenElement reference.
17693        * dom/Document.h:
17694        (WebCore::Document::webkitIsFullScreen): Use m_fullScreenElement instead of m_isFullscreen.
17695        (WebCore::Document::webkitFullScreenKeyboardInputAllowed): Ditto.
17696
176972011-04-18  Dan Bernstein  <mitz@apple.com>
17698
17699        Reviewed by Eric Seidel.
17700
17701        <rdar://problem/9282486> REGRESSION (r81992): Facebook photo tags can get cut off when moving the mouse.
17702        https://bugs.webkit.org/show_bug.cgi?id=58500
17703
17704        Test: fast/repaint/text-in-relative-positioned-inline.html
17705
17706        * rendering/RenderText.cpp:
17707        (WebCore::RenderText::clippedOverflowRectForRepaint): Use the container’s repaint rect, not
17708        the containing block’s. This matters when the containing block is outside the RenderText’s
17709        enclosing layer, as is the case here.
17710
177112011-04-15  Stephen White  <senorblanco@chromium.org>
17712
17713        Reviewed by Kenneth Russell.
17714
17715        Speed up DrawingBuffer::reset().
17716        https://bugs.webkit.org/show_bug.cgi?id=58706
17717
17718        When DrawingBuffer::reset() is called, it should not reallocate
17719        the FBOs if the size has not changed.  It should just do a glClear().
17720
17721        Covered by tests in fast/canvas and canvas/philip.
17722
17723        * platform/graphics/chromium/DrawingBufferChromium.cpp:
17724        (WebCore::DrawingBuffer::DrawingBuffer):
17725        Initialize the size to -1, -1, so the size change check will work on
17726        first reset.
17727        * platform/graphics/gpu/DrawingBuffer.cpp:
17728        (WebCore::DrawingBuffer::reset):
17729        If the size hasn't changed, don't resize the FBOs.  Just clear the
17730        relevant buffers.
17731
177322011-04-18  Pavel Feldman  <pfeldman@google.com>
17733
17734        Reviewed by Yury Semikhatsky.
17735
17736        Web Inspector: group resources by type in the resources panel.
17737        https://bugs.webkit.org/show_bug.cgi?id=58796
17738
17739        * inspector/front-end/ResourcesPanel.js:
17740        (WebInspector.ResourcesPanel.prototype._frameAdded):
17741        (WebInspector.ResourcesPanel.prototype._resourceAdded):
17742        (WebInspector.BaseStorageTreeElement):
17743        (WebInspector.BaseStorageTreeElement.prototype.onattach):
17744        (WebInspector.StorageCategoryTreeElement):
17745        (WebInspector.FrameTreeElement):
17746        (WebInspector.FrameTreeElement.prototype.setTitles):
17747        (WebInspector.FrameTreeElement.prototype.set hovered):
17748        (WebInspector.FrameTreeElement.prototype.appendResource):
17749        (WebInspector.FrameTreeElement.prototype.appendChild):
17750        (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder):
17751        (WebInspector.FrameTreeElement.prototype._insertInPresentationOrder.compare):
17752
177532011-04-18  Timothy Hatcher  <timothy@apple.com>
17754
17755        Make update-webkit-localizable-strings put WebKit/win strings in WebCore
17756        now that all localized strings in WebKit/win use WEB_UI_STRING.
17757
17758        https://webkit.org/b/58747
17759
17760        Reviewed by Dan Bernstein.
17761
17762        * English.lproj/Localizable.strings: Updated with strings from WebKit/win.
17763
177642011-04-15  MORITA Hajime  <morrita@google.com>
17765
17766        Reviewed by Adam Barth.
17767
17768        REGRESSION: <progress> doesn't animate if it doesn't have value
17769        https://bugs.webkit.org/show_bug.cgi?id=58693
17770
17771        The initial value of RenderProgress::m_position is accidentally same as
17772        the indeterminate value, that makes update code on updateFromElement() skipped.
17773        This change set unique invalid value for the initial value of m_position.
17774
17775        No new tests. Testing animated bar is not possible with DRT.
17776
17777        * html/HTMLProgressElement.cpp:
17778        (WebCore::HTMLProgressElement::position):
17779        * html/HTMLProgressElement.h:
17780        * rendering/RenderProgress.cpp:
17781        (WebCore::RenderProgress::RenderProgress):
17782        (WebCore::RenderProgress::isDeterminate):
17783
177842011-04-18  MORITA Hajime  <morrita@google.com>
17785
17786        Reviewed by Eric Seidel.
17787
17788        REGRESSION: [Chromium Win] details-add-summary-1.html start crashing after r84039
17789        https://bugs.webkit.org/show_bug.cgi?id=58791
17790
17791        On refreshMainSummary(), findMainSummary() possibly releases oldSummary.
17792        We should guard it again RefPtr.
17793
17794        * html/HTMLDetailsElement.cpp:
17795        (WebCore::HTMLDetailsElement::refreshMainSummary):
17796
177972011-04-18  Antti Koivisto  <antti@apple.com>
17798
17799        Reviewed by Simon Fraser.
17800
17801        CSSSelector double frees
17802        https://bugs.webkit.org/show_bug.cgi?id=56124
17803        <rdar://problem/9119036>
17804
17805        In all stacks this is occuring when the document is kept alive by the guard ref only
17806        and the node holding it is deleted.
17807
17808        As a speculative fix, clear the document stylesheets when it turns into a guard ref zombie.
17809        This has a pretty good chance of fixing the actual bug. At minimum it will move the
17810        crash to an earlier, more easily traceble point.
17811
17812        No tests, crash stacks only, no idea how to reproduce.
17813
17814        * dom/Document.cpp:
17815        (WebCore::Document::removedLastRef):
17816
178172011-04-18  Alexander Pavlov  <apavlov@chromium.org>
17818
17819        Reviewed by Yury Semikhatsky.
17820
17821        Web Inspector: Backspace in the Console is broken
17822        https://bugs.webkit.org/show_bug.cgi?id=58764
17823
17824        * inspector/front-end/inspector.js:
17825        (WebInspector.documentKeyDown):
17826
178272011-04-18  Hans Wennborg  <hans@chromium.org>
17828
17829        Reviewed by Steve Block.
17830
17831        LevelDB backend for IndexedDB
17832        https://bugs.webkit.org/show_bug.cgi?id=57372
17833
17834        Only available behind a run-time flag. Covered by existing layout
17835        tests.
17836
17837        * Android.mk:
17838        * CMakeLists.txt:
17839        * GNUmakefile.am:
17840        * GNUmakefile.list.am:
17841        * WebCore.gyp/WebCore.gyp:
17842        * WebCore.gypi:
17843        * WebCore.pri:
17844        * WebCore.pro:
17845        * WebCore.xcodeproj/project.pbxproj:
17846        * platform/leveldb/LevelDBComparator.h: Added.
17847        (WebCore::LevelDBComparator::~LevelDBComparator):
17848        * platform/leveldb/LevelDBDatabase.cpp: Added.
17849        (WebCore::makeSlice):
17850        (WebCore::makeLevelDBSlice):
17851        (WebCore::makeVector):
17852        (WebCore::LevelDBDatabase::LevelDBDatabase):
17853        (WebCore::LevelDBDatabase::~LevelDBDatabase):
17854        (WebCore::LevelDBDatabase::open):
17855        (WebCore::LevelDBDatabase::put):
17856        (WebCore::LevelDBDatabase::remove):
17857        (WebCore::LevelDBDatabase::get):
17858        (WebCore::LevelDBDatabase::newIterator):
17859        * platform/leveldb/LevelDBDatabase.h: Added.
17860        * platform/leveldb/LevelDBIterator.cpp: Added.
17861        (WebCore::LevelDBIterator::~LevelDBIterator):
17862        (WebCore::LevelDBIterator::LevelDBIterator):
17863        (WebCore::makeSlice):
17864        (WebCore::makeLevelDBSlice):
17865        (WebCore::LevelDBIterator::isValid):
17866        (WebCore::LevelDBIterator::seekToLast):
17867        (WebCore::LevelDBIterator::seek):
17868        (WebCore::LevelDBIterator::next):
17869        (WebCore::LevelDBIterator::prev):
17870        (WebCore::LevelDBIterator::key):
17871        (WebCore::LevelDBIterator::value):
17872        * platform/leveldb/LevelDBIterator.h: Added.
17873        * platform/leveldb/LevelDBSlice.h: Added.
17874        (WebCore::LevelDBSlice::LevelDBSlice):
17875        (WebCore::LevelDBSlice::~LevelDBSlice):
17876        (WebCore::LevelDBSlice::begin):
17877        (WebCore::LevelDBSlice::end):
17878        * storage/IDBLevelDBBackingStore.cpp:
17879        (WebCore::encodeByte):
17880        (WebCore::maxIDBKey):
17881        (WebCore::minIDBKey):
17882        (WebCore::encodeInt):
17883        (WebCore::decodeInt):
17884        (WebCore::encodeVarInt):
17885        (WebCore::decodeVarInt):
17886        (WebCore::encodeString):
17887        (WebCore::decodeString):
17888        (WebCore::encodeStringWithLength):
17889        (WebCore::decodeStringWithLength):
17890        (WebCore::encodeDouble):
17891        (WebCore::decodeDouble):
17892        (WebCore::encodeIDBKey):
17893        (WebCore::decodeIDBKey):
17894        (WebCore::extractEncodedIDBKey):
17895        (WebCore::compareEncodedIDBKeys):
17896        (WebCore::getInt):
17897        (WebCore::putInt):
17898        (WebCore::getString):
17899        (WebCore::putString):
17900        (WebCore::KeyPrefix::SchemaVersionKey::encode):
17901        (WebCore::KeyPrefix::MaxDatabaseIdKey::encode):
17902        (WebCore::KeyPrefix::DatabaseFreeListKey::DatabaseFreeListKey):
17903        (WebCore::KeyPrefix::DatabaseFreeListKey::decode):
17904        (WebCore::KeyPrefix::DatabaseFreeListKey::encode):
17905        (WebCore::KeyPrefix::DatabaseFreeListKey::databaseId):
17906        (WebCore::KeyPrefix::DatabaseFreeListKey::compare):
17907        (WebCore::KeyPrefix::DatabaseNameKey::decode):
17908        (WebCore::KeyPrefix::DatabaseNameKey::encode):
17909        (WebCore::KeyPrefix::DatabaseNameKey::origin):
17910        (WebCore::KeyPrefix::DatabaseNameKey::databaseName):
17911        (WebCore::KeyPrefix::DatabaseNameKey::compare):
17912        (WebCore::KeyPrefix::DatabaseMetaDataKey::encode):
17913        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::ObjectStoreMetaDataKey):
17914        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::decode):
17915        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::encode):
17916        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::objectStoreId):
17917        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::metaDataType):
17918        (WebCore::KeyPrefix::ObjectStoreMetaDataKey::compare):
17919        (WebCore::KeyPrefix::IndexMetaDataKey::IndexMetaDataKey):
17920        (WebCore::KeyPrefix::IndexMetaDataKey::decode):
17921        (WebCore::KeyPrefix::IndexMetaDataKey::encode):
17922        (WebCore::KeyPrefix::IndexMetaDataKey::compare):
17923        (WebCore::KeyPrefix::IndexMetaDataKey::indexId):
17924        (WebCore::KeyPrefix::IndexMetaDataKey::metaDataType):
17925        (WebCore::KeyPrefix::ObjectStoreFreeListKey::ObjectStoreFreeListKey):
17926        (WebCore::KeyPrefix::ObjectStoreFreeListKey::decode):
17927        (WebCore::KeyPrefix::ObjectStoreFreeListKey::encode):
17928        (WebCore::KeyPrefix::ObjectStoreFreeListKey::objectStoreId):
17929        (WebCore::KeyPrefix::ObjectStoreFreeListKey::compare):
17930        (WebCore::KeyPrefix::IndexFreeListKey::IndexFreeListKey):
17931        (WebCore::KeyPrefix::IndexFreeListKey::decode):
17932        (WebCore::KeyPrefix::IndexFreeListKey::encode):
17933        (WebCore::KeyPrefix::IndexFreeListKey::compare):
17934        (WebCore::KeyPrefix::IndexFreeListKey::objectStoreId):
17935        (WebCore::KeyPrefix::IndexFreeListKey::indexId):
17936        (WebCore::KeyPrefix::ObjectStoreNamesKey::decode):
17937        (WebCore::KeyPrefix::ObjectStoreNamesKey::encode):
17938        (WebCore::KeyPrefix::ObjectStoreNamesKey::compare):
17939        (WebCore::KeyPrefix::ObjectStoreNamesKey::objectStoreName):
17940        (WebCore::KeyPrefix::IndexNamesKey::IndexNamesKey):
17941        (WebCore::KeyPrefix::IndexNamesKey::decode):
17942        (WebCore::KeyPrefix::IndexNamesKey::encode):
17943        (WebCore::KeyPrefix::IndexNamesKey::compare):
17944        (WebCore::KeyPrefix::IndexNamesKey::indexName):
17945        (WebCore::KeyPrefix::ObjectStoreDataKey::decode):
17946        (WebCore::KeyPrefix::ObjectStoreDataKey::encode):
17947        (WebCore::KeyPrefix::ObjectStoreDataKey::compare):
17948        (WebCore::KeyPrefix::ObjectStoreDataKey::userKey):
17949        (WebCore::KeyPrefix::ExistsEntryKey::decode):
17950        (WebCore::KeyPrefix::ExistsEntryKey::encode):
17951        (WebCore::KeyPrefix::ExistsEntryKey::compare):
17952        (WebCore::KeyPrefix::ExistsEntryKey::userKey):
17953        (WebCore::KeyPrefix::IndexDataKey::IndexDataKey):
17954        (WebCore::KeyPrefix::IndexDataKey::decode):
17955        (WebCore::KeyPrefix::IndexDataKey::encode):
17956        (WebCore::KeyPrefix::IndexDataKey::encodeMaxKey):
17957        (WebCore::KeyPrefix::IndexDataKey::compare):
17958        (WebCore::KeyPrefix::IndexDataKey::databaseId):
17959        (WebCore::KeyPrefix::IndexDataKey::objectStoreId):
17960        (WebCore::KeyPrefix::IndexDataKey::indexId):
17961        (WebCore::KeyPrefix::IndexDataKey::userKey):
17962        (WebCore::KeyPrefix::realCompare):
17963        (WebCore::KeyPrefix::compareKeys):
17964        (WebCore::KeyPrefix::compareIndexKeys):
17965        (WebCore::KeyPrefix::Comparator::compare):
17966        (WebCore::KeyPrefix::Comparator::name):
17967        (WebCore::setUpMetadata):
17968        (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
17969        (WebCore::IDBLevelDBBackingStore::open):
17970        (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
17971        (WebCore::getNewDatabaseId):
17972        (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
17973        (WebCore::IDBLevelDBBackingStore::getObjectStores):
17974        (WebCore::getNewObjectStoreId):
17975        (WebCore::IDBLevelDBBackingStore::createObjectStore):
17976        (WebCore::deleteRange):
17977        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
17978        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
17979        (WebCore::getNewVersionNumber):
17980        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
17981        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
17982        (WebCore::IDBLevelDBBackingStore::createInvalidRecordIdentifier):
17983        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
17984        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
17985        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
17986        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
17987        (WebCore::IDBLevelDBBackingStore::getIndexes):
17988        (WebCore::getNewIndexId):
17989        (WebCore::IDBLevelDBBackingStore::createIndex):
17990        (WebCore::IDBLevelDBBackingStore::deleteIndex):
17991        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
17992        (WebCore::findGreatestKeyLessThan):
17993        (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
17994        (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
17995        (WebCore::versionExists):
17996        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
17997        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
17998        (WebCore::findLastIndexKeyEqualTo):
17999        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
18000        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
18001        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
18002        (WebCore::IDBLevelDBBackingStore::createTransaction):
18003        * storage/IDBLevelDBBackingStore.h:
18004
180052011-04-18  Pavel Feldman  <pfeldman@google.com>
18006
18007        Reviewed by Yury Semikhatsky.
18008
18009        Web Inspector: add test for CSS-resource binding.
18010        https://bugs.webkit.org/show_bug.cgi?id=58786
18011
18012        Test: inspector/styles/styles-history.html
18013
18014        * inspector/InspectorCSSAgent.cpp:
18015        (WebCore::InspectorCSSAgent::setPropertyText):
18016        (WebCore::InspectorCSSAgent::toggleProperty):
18017        * inspector/InspectorStyleSheet.cpp:
18018        (WebCore::InspectorStyle::setPropertyText):
18019        (WebCore::InspectorStyle::toggleProperty):
18020        (WebCore::InspectorStyleSheet::setPropertyText):
18021        (WebCore::InspectorStyleSheet::toggleProperty):
18022        * inspector/InspectorStyleSheet.h:
18023        * inspector/front-end/CSSStyleModel.js:
18024        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.if):
18025        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.mycallback):
18026        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
18027        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
18028        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
18029        (WebInspector.CSSProperty.prototype.setText.callback):
18030        (WebInspector.CSSProperty.prototype.setText):
18031
180322011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
18033
18034        Unreviewed, rolling out r83996.
18035        http://trac.webkit.org/changeset/83996
18036        https://bugs.webkit.org/show_bug.cgi?id=58790
18037
18038        layout test editing/selection/move-by-word-visually.html is
18039        failing (Requested by jknotten on #webkit).
18040
18041        * editing/visible_units.cpp:
18042        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
18043        (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
18044        (WebCore::previousWordBreakInBox):
18045        (WebCore::leftWordBoundary):
18046        (WebCore::rightWordBoundary):
18047        (WebCore::leftWordPosition):
18048        (WebCore::rightWordPosition):
18049
180502011-04-18  Adam Bergkvist  <adam.bergkvist@ericsson.com>
18051
18052        Reviewed by Daniel Bates.
18053
18054        Modify make_names.pl to not include conditional includes unconditionally
18055        https://bugs.webkit.org/show_bug.cgi?id=53672
18056
18057        Fixed conditional includes being unconditionally included.
18058
18059        No new tests (no change in functionality)
18060
18061        * dom/make_names.pl:
18062            - Modified printJSElementIncludes() to only print unconditional element includes.
18063            - Modified printElementIncludes() to only print unconditional element includes.
18064            - Added printConditionalElementIncludes() which takes care of printing conditional element includes.
18065
180662011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
18067
18068        Unreviewed, rolling out r83803.
18069        http://trac.webkit.org/changeset/83803
18070        https://bugs.webkit.org/show_bug.cgi?id=58782
18071
18072        Caused focus rings to appear in youtube videos (Requested by
18073        inferno-sec on #webkit).
18074
18075        * rendering/RenderWidget.cpp:
18076        (WebCore::RenderWidget::paint):
18077
180782011-04-18  Alexander Pavlov  <apavlov@chromium.org>
18079
18080        Reviewed by Pavel Feldman.
18081
18082        Web Inspector: Need a workaround for bug 58422
18083        https://bugs.webkit.org/show_bug.cgi?id=58780
18084
18085        Instead of the A:before content, the link text is displayed as the A tag content.
18086
18087        * inspector/front-end/StylesSidebarPane.js:
18088        (WebInspector.StylePropertiesSection.linkifyUncopyable):
18089        (WebInspector.StylePropertiesSection):
18090        * inspector/front-end/inspector.css:
18091
180922011-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>
18093
18094        Unreviewed. Fix WebKit2 GTK build after 82465.
18095
18096        * platform/gtk/LocalizedStringsGtk.cpp:
18097        (WebCore::localizedString):
18098
180992011-04-18  Andrey Adaikin  <aandrey@google.com>
18100
18101        Reviewed by Yury Semikhatsky.
18102
18103        Web Inspector: TAB should not move focus from the text editor while live editing
18104        https://bugs.webkit.org/show_bug.cgi?id=58537
18105
18106        * inspector/front-end/TextViewer.js:
18107        (WebInspector.TextViewer.prototype._registerShortcuts):
18108        (WebInspector.TextViewer.prototype._cancelEditing):
18109        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
18110        (WebInspector.TextEditorMainPanel.prototype.handleTabKeyPress):
18111        (WebInspector.TextEditorMainPanel.prototype._setCaretLocation):
18112        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
18113        (WebInspector.TextEditorMainPanel.prototype._setText):
18114
181152011-04-18  Alexander Pavlov  <apavlov@chromium.org>
18116
18117        Reviewed by Yury Semikhatsky.
18118
18119        Web Inspector: Incorrect content area dimensions in Metrics pane for box-sizing: border-box
18120        https://bugs.webkit.org/show_bug.cgi?id=58551
18121
18122        Test: inspector/styles/metrics-box-sizing.html
18123
18124        * inspector/front-end/MetricsSidebarPane.js:
18125        (WebInspector.MetricsSidebarPane.prototype._getPropertyValueAsPx):
18126        (WebInspector.MetricsSidebarPane.prototype._getBox):
18127        (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaWidthPx):
18128        (WebInspector.MetricsSidebarPane.prototype._update.getContentAreaHeightPx):
18129        (WebInspector.MetricsSidebarPane.prototype._update):
18130        (WebInspector.MetricsSidebarPane.prototype.startEditing):
18131        (WebInspector.MetricsSidebarPane.prototype.editingCommitted.setEnabledValueCallback):
18132        (WebInspector.MetricsSidebarPane.prototype.editingCommitted):
18133
181342011-04-18  Ilya Tikhonovsky  <loislo@chromium.org>
18135
18136        Reviewed by Yury Semikhatsky.
18137
18138        Web Inspector: Database agent stops to propagate it's events after navigation.
18139        https://bugs.webkit.org/show_bug.cgi?id=58776
18140
18141        * inspector/InspectorAgent.cpp:
18142        (WebCore::InspectorAgent::InspectorAgent):
18143        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
18144        * inspector/InspectorDatabaseAgent.cpp:
18145        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
18146        (WebCore::InspectorDatabaseAgent::clearFrontend):
18147        (WebCore::InspectorDatabaseAgent::enable):
18148        (WebCore::InspectorDatabaseAgent::disable):
18149        (WebCore::InspectorDatabaseAgent::restore):
18150        * inspector/InspectorDatabaseAgent.h:
18151        (WebCore::InspectorDatabaseAgent::create):
18152
181532011-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
18154
18155        Unreviewed, rolling out r83968.
18156        http://trac.webkit.org/changeset/83968
18157        https://bugs.webkit.org/show_bug.cgi?id=58769
18158
18159        Breaks Backspace in Web Inspector console (Requested by
18160        apavlov on #webkit).
18161
18162        * inspector/front-end/inspector.js:
18163        (WebInspector.documentKeyDown):
18164
181652011-04-15  Yury Semikhatsky  <yurys@chromium.org>
18166
18167        Reviewed by Pavel Feldman.
18168
18169        Web Inspector: introduce WorkerInspectorController
18170        https://bugs.webkit.org/show_bug.cgi?id=58668
18171
18172        WorkerInspectorController will be owned by WorkerContext and will hold all inspector
18173        agents and will also manage connection to the inspector frontend.
18174
18175        * CMakeLists.txt:
18176        * GNUmakefile.list.am:
18177        * WebCore.gypi:
18178        * WebCore.pro:
18179        * WebCore.vcproj/WebCore.vcproj:
18180        * WebCore.xcodeproj/project.pbxproj:
18181        * bindings/js/ScriptState.cpp:
18182        (WebCore::scriptStateFromWorkerContext):
18183        * bindings/js/ScriptState.h:
18184        * bindings/v8/ScriptState.cpp:
18185        (WebCore::scriptStateFromWorkerContext):
18186        * bindings/v8/ScriptState.h:
18187        * inspector/InspectorState.cpp:
18188        (WebCore::InspectorState::updateCookie):
18189        * inspector/WorkerInspectorController.cpp: Added.
18190        (WebCore::WorkerInspectorController::WorkerInspectorController):
18191        (WebCore::WorkerInspectorController::~WorkerInspectorController):
18192        (WebCore::WorkerInspectorController::connectFrontend):
18193        (WebCore::WorkerInspectorController::disconnectFrontend):
18194        (WebCore::WorkerInspectorController::dispatchMessageFromFrontend):
18195        * inspector/WorkerInspectorController.h: Copied from Source/WebCore/bindings/js/ScriptState.h.
18196        * workers/WorkerContext.cpp:
18197        (WebCore::WorkerContext::WorkerContext):
18198        * workers/WorkerContext.h:
18199        (WebCore::WorkerContext::workerInspectorController):
18200
182012011-04-17  Thierry Reding  <thierry.reding@avionic-design.de>
18202
18203        Reviewed by Adam Barth.
18204
18205        Fix build with GCC 4.6.
18206
18207        * dom/make_names.pl: Execute preprocessor without the -P option. The
18208        preprocessor in GCC 4.6 eats empty lines, effectively breaking the
18209        parsing performed by this script. Dropping the -P option when invoking
18210        the preprocessor keeps the empty lines but as a side-effect also adds
18211        additional linemarkers.
18212
18213        From the cpp manpage:
18214
18215          -P  Inhibit generation of linemarkers in the output from the
18216              preprocessor. This might be useful when running the preprocessor
18217              on something that is not C code, and will be sent to a program
18218              which might be confused by the linemarkers.
18219
18220        The linemarkers are not problematic, however, because the script
18221        properly handles them by ignoring all lines starting with a #.
18222
182232011-04-17  David Kilzer  <ddkilzer@apple.com>
18224
18225        <http://webkit.org/b/58463> Switch HTTP pipelining from user default to private setting
18226        <rdar://problem/9268729>
18227
18228        Reviewed by Dan Bernstein.
18229
18230        This replaces support for the WebKitEnableHTTPPipelining user
18231        default with methods on the WebCore::ResourceRequest class in
18232        WebCore, the WebView class in WebKit1, and the WebContext class
18233        in WebKit2.  It also removes support for the
18234        WebKitForceHTTPPipeliningPriorityHigh user default which was not
18235        needed.
18236
18237        Run these commands if you set the user defaults previously,
18238        replacing "BUNDLE.ID" with your application's bundle ID:
18239
18240            defaults delete BUNDLE.ID WebKitEnableHTTPPipelining
18241            defaults delete BUNDLE.ID WebKitForceHTTPPipeliningPriorityHigh
18242
18243        * WebCore.exp.in: Export ResourceRequest::httpPipeliningEnabled()
18244        and ResourceRequest::setHTTPPipeliningEnabled().
18245
18246        * platform/network/ResourceRequestBase.h:
18247        (WebCore::isHTTPPipeliningEnabled): Removed declaration.
18248        (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed declaration.
18249
18250        * platform/network/cf/ResourceRequest.h:
18251        (WebCore::ResourceRequest::httpPipeliningEnabled): Added declaration.
18252        (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added declaration.
18253        (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added declaration.
18254
18255        * platform/network/cf/ResourceRequestCFNet.cpp:
18256        (WebCore::ResourceRequest::s_httpPipeliningEnabled): Added.
18257        (WebCore::ResourceRequest::httpPipeliningEnabled): Added.
18258        (WebCore::ResourceRequest::setHTTPPipeliningEnabled): Added.
18259        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Switched
18260        to use ResourceRequest::httpPipeliningEnabled().
18261        (WebCore::readBooleanPreference): Removed.
18262        (WebCore::isHTTPPipeliningEnabled): Removed.
18263        (WebCore::shouldForceHTTPPipeliningPriorityHigh): Removed.
18264
18265        * platform/network/mac/ResourceRequestMac.mm:
18266        (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
18267        use ResourceRequest::httpPipeliningEnabled().  Removed check for
18268        shouldForceHTTPPipeliningPriorityHigh().
18269        (WebCore::ResourceRequest::doUpdatePlatformRequest): Ditto.
18270
182712011-04-17  Dan Bernstein  <mitz@apple.com>
18272
18273        Reviewed by Maciej Stachowiak.
18274
18275        REGRESSION (r84096): <br> moved to the right in fast/block/float/032.html
18276        https://bugs.webkit.org/show_bug.cgi?id=58736
18277
18278        * rendering/RenderBlockLineLayout.cpp:
18279        (WebCore::RenderBlock::appendFloatingObjectToLastLine): It is enough to extend the float so
18280        that it touches the bottom of the previous line, since RenderBlock::markLinesDirtyInBlockRange()
18281        always dirties the line after the last one in the range.
18282
182832011-04-17  Patrick Gansterer  <paroga@webkit.org>
18284
18285        Unreviewed. Add missing include to fix build without precompiled header.
18286
18287        * rendering/RenderMediaControls.cpp:
18288
182892011-04-17  Daniel Bates  <dbates@webkit.org>
18290
18291        Attempt to fix the Chromium build after changeset 84110 <http://trac.webkit.org/changeset/84110>
18292        (https://bugs.webkit.org/show_bug.cgi?id=57842).
18293
18294        * loader/cache/CachedResourceLoader.cpp:
18295        (WebCore::CachedResourceLoader::canRequest): Rename CachedResource::LinkPrefetch to CachedResource::LinkResource.
18296
182972011-04-17  Patrick Gansterer  <paroga@webkit.org>
18298
18299        Reviewed by Eric Seidel.
18300
18301        Remove pthread dependency of GCController
18302        https://bugs.webkit.org/show_bug.cgi?id=54833
18303
18304        * bindings/js/GCController.cpp:
18305        (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
18306
183072011-04-17  Gavin Peters  <gavinp@chromium.org>
18308
18309        Reviewed by Adam Barth.
18310
18311        Add support for link rel type "subresource"
18312        https://bugs.webkit.org/show_bug.cgi?id=57842
18313
18314        Link rel=prefetch is great for cache warming for resources on
18315        subsequent pages, but it launches requests at too low a priority
18316        to use for subresources of the current page.
18317
18318        Particularly after https://bugs.webkit.org/show_bug.cgi?id=51940
18319        is implemented, a rel type that launches requests at an higher
18320        priority is going to be very useful.  This rel type is in the
18321        HTML5 spec at http://wiki.whatwg.org/wiki/RelExtensions .  An
18322        expected use case will be for servers to provide subresource hints
18323        in link headers, which will allow servers to help make the web
18324        faster.
18325
18326        This feature continues my implementation of the Link header, which
18327        we've talked about in WebKit-dev in
18328        https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html.
18329
18330        Tests: fast/dom/HTMLLinkElement/subresource.html
18331               http/tests/misc/link-rel-prefetch-and-subresource.html
18332
18333        * html/HTMLLinkElement.cpp:
18334        (WebCore::HTMLLinkElement::~HTMLLinkElement):
18335        (WebCore::HTMLLinkElement::tokenizeRelAttribute):
18336        (WebCore::HTMLLinkElement::process):
18337        (WebCore::HTMLLinkElement::onloadTimerFired):
18338        (WebCore::HTMLLinkElement::notifyFinished):
18339        * html/HTMLLinkElement.h:
18340        (WebCore::HTMLLinkElement::RelAttribute::RelAttribute):
18341        * loader/cache/CachedResource.cpp:
18342        (WebCore::defaultPriorityForResourceType):
18343        * loader/cache/CachedResource.h:
18344        (WebCore::CachedResource::isLinkResource):
18345        * loader/cache/CachedResourceLoader.cpp:
18346        (WebCore::createResource):
18347        (WebCore::CachedResourceLoader::requestLinkResource):
18348        (WebCore::CachedResourceLoader::canRequest):
18349        (WebCore::CachedResourceLoader::incrementRequestCount):
18350        (WebCore::CachedResourceLoader::decrementRequestCount):
18351        * loader/cache/CachedResourceLoader.h:
18352        * loader/cache/CachedResourceRequest.cpp:
18353        (WebCore::cachedResourceTypeToTargetType):
18354        (WebCore::CachedResourceRequest::load):
18355
183562011-04-17  Dan Bernstein  <mitz@apple.com>
18357
18358        Reviewed by Joseph Pecoraro.
18359
18360        <rdar://problem/9296211> REGRESSION (r83514): Failing fast/repaint/trailing-floats-root-line-box-overflow.html
18361        https://bugs.webkit.org/show_bug.cgi?id=58745
18362
18363        This is really a regression from r82611, but it went unnoticed due to a mistake in r73385,
18364        which was fixed in r83514.
18365
18366        * rendering/RenderBlockLineLayout.cpp:
18367        (WebCore::RenderBlock::layoutInlineChildren): Actually assign the bottom visual overflow to the
18368        variable so named, not the top layout overflow.
18369
183702011-04-17  Geoffrey Garen  <ggaren@apple.com>
18371
18372        Strongly suggested, but not necessarily reviewed, by
18373        Sam Weinig and Maciej Stachowiak.
18374
18375        Renamed DOMObject* => JSDOMWrapper*.
18376
18377        * bindings/js/DOMWrapperWorld.cpp:
18378        (WebCore::isObservable):
18379        (WebCore::DOMObjectHandleOwner::finalize):
18380        * bindings/js/DOMWrapperWorld.h:
18381        * bindings/js/JSArrayBufferViewHelper.h:
18382        (WebCore::toJSArrayBufferView):
18383        * bindings/js/JSCSSRuleCustom.cpp:
18384        (WebCore::toJS):
18385        * bindings/js/JSCSSValueCustom.cpp:
18386        (WebCore::toJS):
18387        * bindings/js/JSDOMBinding.h:
18388        (WebCore::JSDOMWrapperWithGlobalPointer::globalObject):
18389        (WebCore::JSDOMWrapperWithGlobalPointer::JSDOMWrapperWithGlobalPointer):
18390        (WebCore::DOMConstructorObject::DOMConstructorObject):
18391        (WebCore::createDOMObjectWrapper):
18392        (WebCore::getDOMObjectWrapper):
18393        * bindings/js/JSDOMWrapper.cpp:
18394        (WebCore::JSDOMWrapper::~JSDOMWrapper):
18395        * bindings/js/JSDOMWrapper.h:
18396        (WebCore::JSDOMWrapper::JSDOMWrapper):
18397        * bindings/js/JSDocumentCustom.cpp:
18398        (WebCore::JSDocument::location):
18399        (WebCore::toJS):
18400        * bindings/js/JSEventCustom.cpp:
18401        (WebCore::toJS):
18402        * bindings/js/JSHTMLCollectionCustom.cpp:
18403        (WebCore::toJS):
18404        * bindings/js/JSImageDataCustom.cpp:
18405        (WebCore::toJS):
18406        * bindings/js/JSSVGPathSegCustom.cpp:
18407        (WebCore::toJS):
18408        * bindings/js/JSStyleSheetCustom.cpp:
18409        (WebCore::toJS):
18410        * bindings/js/ScriptWrappable.h:
18411        (WebCore::ScriptWrappable::wrapper):
18412        (WebCore::ScriptWrappable::setWrapper):
18413        * bindings/scripts/CodeGeneratorJS.pm:
18414
184152011-04-17  Patrick Gansterer  <paroga@webkit.org>
18416
18417        Reviewed by Adam Barth.
18418
18419        Rename PLATFORM(CA) to USE(CA)
18420        https://bugs.webkit.org/show_bug.cgi?id=58742
18421
18422        * config.h:
18423        * platform/graphics/ca/TransformationMatrixCA.cpp:
18424        * platform/graphics/cg/ImageBufferDataCG.h:
18425        * platform/graphics/transforms/TransformationMatrix.h:
18426        * platform/mac/WebCoreSystemInterface.h:
18427        * rendering/RenderLayerBacking.cpp:
18428        (WebCore::RenderLayerBacking::containsPaintedContent):
18429        * rendering/RenderLayerCompositor.cpp:
18430        (WebCore::RenderLayerCompositor::updateBacking):
18431
184322011-04-17  Young Han Lee  <joybro@company100.net>
18433
18434        Reviewed by Benjamin Poulain.
18435
18436        [Texmap] [Qt] Improve readability by using gInVertexAttributeIndex instead of 0.
18437        https://bugs.webkit.org/show_bug.cgi?id=58739
18438
18439        gInVertexAttributeIndex is a constant variable to point the location of
18440        "InVertex" attribute of the vertex shaders.
18441
18442        * platform/graphics/opengl/TextureMapperGL.cpp:
18443        (WebCore::TextureMapperGL::drawTexture):
18444        (WebCore::TextureMapperGL::paintToTarget):
18445
184462011-04-17  Kinuko Yasuda  <kinuko@chromium.org>
18447
18448        Not reviewed: Fix copyright (I had submitted the file with wrong
18449        copyright line).
18450
18451        * storage/StorageInfo.idl:
18452
184532011-04-17  Patrick Gansterer  <paroga@webkit.org>
18454
18455        Reviewed by Adam Barth.
18456
18457        Rename PLATFORM(CG) to USE(CG)
18458        https://bugs.webkit.org/show_bug.cgi?id=58729
18459
18460        * config.h:
18461        * html/HTMLCanvasElement.cpp:
18462        (WebCore::HTMLCanvasElement::toDataURL):
18463        * html/HTMLCanvasElement.h:
18464        * html/canvas/CanvasRenderingContext2D.cpp:
18465        (WebCore::CanvasRenderingContext2D::setShadow):
18466        (WebCore::CanvasRenderingContext2D::drawTextInternal):
18467        * html/canvas/CanvasRenderingContext2D.h:
18468        * html/canvas/CanvasStyle.cpp:
18469        (WebCore::CanvasStyle::applyStrokeColor):
18470        (WebCore::CanvasStyle::applyFillColor):
18471        * loader/cache/CachedFont.cpp:
18472        * loader/cache/CachedImage.cpp:
18473        (WebCore::CachedImage::createImage):
18474        * platform/FloatConversion.h:
18475        * platform/MIMETypeRegistry.cpp:
18476        (WebCore::initializeSupportedImageMIMETypes):
18477        (WebCore::initializeSupportedImageMIMETypesForEncoding):
18478        * platform/graphics/BitmapImage.h:
18479        * platform/graphics/Color.h:
18480        * platform/graphics/DashArray.h:
18481        * platform/graphics/FloatPoint.h:
18482        * platform/graphics/FloatRect.h:
18483        * platform/graphics/FloatSize.h:
18484        * platform/graphics/FontPlatformData.h:
18485        (WebCore::FontPlatformData::FontPlatformData):
18486        (WebCore::FontPlatformData::hash):
18487        * platform/graphics/GlyphBuffer.h:
18488        (WebCore::GlyphBuffer::advanceAt):
18489        (WebCore::GlyphBuffer::add):
18490        (WebCore::GlyphBuffer::expandLastAdvance):
18491        * platform/graphics/Gradient.h:
18492        * platform/graphics/GraphicsContext.cpp:
18493        (WebCore::GraphicsContext::setLegacyShadow):
18494        * platform/graphics/GraphicsContext.h:
18495        (WebCore::GraphicsContextState::GraphicsContextState):
18496        * platform/graphics/GraphicsContext3D.h:
18497        * platform/graphics/Image.cpp:
18498        * platform/graphics/Image.h:
18499        * platform/graphics/ImageBuffer.cpp:
18500        * platform/graphics/ImageBuffer.h:
18501        * platform/graphics/ImageBufferData.h:
18502        * platform/graphics/ImageSource.h:
18503        * platform/graphics/IntPoint.h:
18504        * platform/graphics/IntRect.h:
18505        * platform/graphics/IntSize.h:
18506        * platform/graphics/Path.h:
18507        * platform/graphics/Pattern.h:
18508        * platform/graphics/SimpleFontData.h:
18509        * platform/graphics/cg/ColorCG.cpp:
18510        * platform/graphics/cg/FloatPointCG.cpp:
18511        * platform/graphics/cg/FloatRectCG.cpp:
18512        * platform/graphics/cg/FloatSizeCG.cpp:
18513        * platform/graphics/cg/ImageCG.cpp:
18514        * platform/graphics/cg/ImageSourceCG.cpp:
18515        * platform/graphics/cg/IntPointCG.cpp:
18516        * platform/graphics/cg/IntRectCG.cpp:
18517        * platform/graphics/cg/IntSizeCG.cpp:
18518        * platform/graphics/cg/PDFDocumentImage.cpp:
18519        * platform/graphics/cg/PDFDocumentImage.h:
18520        * platform/graphics/cg/PathCG.cpp:
18521        * platform/graphics/cg/TransformationMatrixCG.cpp:
18522        * platform/graphics/chromium/ImageLayerChromium.h:
18523        * platform/graphics/chromium/LayerRendererChromium.cpp:
18524        * platform/graphics/chromium/LayerRendererChromium.h:
18525        * platform/graphics/chromium/PlatformCanvas.cpp:
18526        (WebCore::PlatformCanvas::resize):
18527        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
18528        (WebCore::PlatformCanvas::Painter::Painter):
18529        * platform/graphics/chromium/PlatformCanvas.h:
18530        * platform/graphics/chromium/PlatformImage.cpp:
18531        (WebCore::PlatformImage::updateFromImage):
18532        * platform/graphics/opentype/OpenTypeUtilities.cpp:
18533        * platform/graphics/transforms/AffineTransform.h:
18534        * platform/graphics/transforms/TransformationMatrix.h:
18535        * platform/graphics/win/DIBPixelData.h:
18536        * platform/graphics/win/FontCacheWin.cpp:
18537        (WebCore::FontCache::platformInit):
18538        (WebCore::createGDIFont):
18539        (WebCore::FontCache::createFontPlatformData):
18540        * platform/graphics/win/FontPlatformDataWin.cpp:
18541        (WebCore::FontPlatformData::FontPlatformData):
18542        * platform/graphics/win/GraphicsContextWin.cpp:
18543        * platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
18544        * platform/graphics/win/SimpleFontDataWin.cpp:
18545        * platform/image-decoders/ImageDecoder.cpp:
18546        * platform/image-decoders/ImageDecoder.h:
18547        * rendering/RenderObject.h:
18548        * rendering/svg/RenderSVGResourceFilter.cpp:
18549        (WebCore::RenderSVGResourceFilter::postApplyResource):
18550        * rendering/svg/RenderSVGResourceGradient.cpp:
18551        (WebCore::RenderSVGResourceGradient::RenderSVGResourceGradient):
18552        (WebCore::RenderSVGResourceGradient::applyResource):
18553        * rendering/svg/RenderSVGResourceGradient.h:
18554        * rendering/svg/RenderSVGResourceMasker.cpp:
18555        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
18556        * rendering/svg/RenderSVGResourcePattern.cpp:
18557        (WebCore::RenderSVGResourcePattern::applyResource):
18558
185592011-04-16  Adam Barth  <abarth@webkit.org>
18560
18561        Reviewed by Sam Weinig.
18562
18563        about:blank documents in new tabs can XHR anywhere
18564        https://bugs.webkit.org/show_bug.cgi?id=58712
18565
18566        Empty security origins have supposed to be low-privilege, we should
18567        mark them as having a unique origin.
18568
18569        * manual-tests/about-blank-xhr.html: Added.
18570        * page/SecurityOrigin.cpp:
18571        (WebCore::SecurityOrigin::SecurityOrigin):
18572        * page/SecurityOrigin.h:
18573
185742011-04-16  Dan Bernstein  <mitz@apple.com>
18575
18576        Reviewed by Simon Fraser.
18577
18578        <rdar://problem/9190108> Crash when hiding a float
18579
18580        Test: fast/block/float/overhanging-tall-block.html
18581
18582        * rendering/RenderBlock.cpp:
18583        (WebCore::RenderBlock::addOverhangingFloats): Moved the call to childLogicalTop() out of the loop.
18584        Capped the logical bottom so that we get the correct maximum.
18585        * rendering/RenderBlock.h: Decleared appendFloatingObjectToLastLine().
18586        * rendering/RenderBlockLineLayout.cpp:
18587        (WebCore::RenderBlock::appendFloatingObjectToLastLine): Added. Ensures correct bookkeeping by
18588        extending the float if needed so that it touches the line.
18589        (WebCore::RenderBlock::layoutInlineChildren): Changed to call appendFloatingObjectToLastLine().
18590        (WebCore::RenderBlock::checkFloatsInCleanLine): Capped the float height so the we mark the right
18591        range of lines as dirty.
18592        * rendering/RootInlineBox.h:
18593        (WebCore::RootInlineBox::appendFloat): Replaced the floats() accessor with this function, which
18594        allows the creation of the vector to be combined with appending the first float.
18595
185962011-04-16  Sam Weinig  <sam@webkit.org>
18597
18598        Reviewed by Simon Fraser.
18599
18600        Pages in the PageCache don't have the correct visited link coloring after being restored
18601        https://bugs.webkit.org/show_bug.cgi?id=58721
18602
18603        * WebCore.exp.in:
18604        Add export of markPagesForVistedLinkStyleRecalc for use by WebKit2.
18605
18606        * history/CachedPage.cpp:
18607        (WebCore::CachedPage::CachedPage):
18608        (WebCore::CachedPage::restore):
18609        (WebCore::CachedPage::clear):
18610        * history/CachedPage.h:
18611        (WebCore::CachedPage::markForVistedLinkStyleRecalc):
18612        Add bit, set by calling markForVistedLinkStyleRecalc, which forces a visited link
18613        style recalc when being restored.
18614
18615        * history/PageCache.h:
18616        * history/PageCache.cpp:
18617        (WebCore::PageCache::markPagesForVistedLinkStyleRecalc):
18618        Mark all pages in the page cache as requiring visited link style recalc.
18619
18620        * page/PageGroup.cpp:
18621        (WebCore::PageGroup::addVisitedLink):
18622        (WebCore::PageGroup::removeVisitedLinks):
18623        (WebCore::PageGroup::removeAllVisitedLinks):
18624        Set dirty bit when changing any visited link information.
18625
18626
186272011-04-16  Leo Yang  <leoyang.webkit@gmail.com>
18628
18629        Reviewed by Nikolas Zimmermann.
18630
18631        ASSERT failure when svg <use> element changes href
18632        https://bugs.webkit.org/show_bug.cgi?id=58726
18633
18634        m_resourceId was not empty after the pending resource
18635        becomes available. This will trigger the assertion at
18636        line 509 of SVGUseElement.cpp when the <use> element's
18637        href becomes empty or invalid.
18638
18639        This patch makes m_resourceId be empty after the pending
18640        resource becomes available to avoid assertion failure.
18641
18642        Test: svg/custom/use-crash-when-href-change.svg
18643
18644        * svg/SVGUseElement.cpp:
18645        (WebCore::SVGUseElement::buildPendingResource):
18646
186472011-04-16  Patrick Gansterer  <paroga@webkit.org>
18648
18649        Reviewed by Eric Seidel.
18650
18651        Rename PLATFORM(CAIRO) to USE(CAIRO)
18652        https://bugs.webkit.org/show_bug.cgi?id=55192
18653
18654        * CMakeListsEfl.txt:
18655        * config.h:
18656        * platform/MIMETypeRegistry.cpp:
18657        (WebCore::initializeSupportedImageMIMETypesForEncoding):
18658        * platform/graphics/ContextShadow.h:
18659        * platform/graphics/DashArray.h:
18660        * platform/graphics/FloatRect.h:
18661        * platform/graphics/FontPlatformData.h:
18662        (WebCore::FontPlatformData::FontPlatformData):
18663        (WebCore::FontPlatformData::hash):
18664        (WebCore::FontPlatformData::isHashTableDeletedValue):
18665        * platform/graphics/GlyphBuffer.h:
18666        (WebCore::GlyphBuffer::glyphAt):
18667        (WebCore::GlyphBuffer::add):
18668        * platform/graphics/Gradient.cpp:
18669        * platform/graphics/Gradient.h:
18670        * platform/graphics/GraphicsContext.cpp:
18671        * platform/graphics/GraphicsContext.h:
18672        (WebCore::GraphicsContextState::GraphicsContextState):
18673        * platform/graphics/GraphicsContext3D.h:
18674        * platform/graphics/ImageBufferData.h:
18675        * platform/graphics/ImageSource.h:
18676        * platform/graphics/Path.h:
18677        * platform/graphics/Pattern.h:
18678        * platform/graphics/SimpleFontData.h:
18679        * platform/graphics/cairo/DrawErrorUnderline.h:
18680        * platform/graphics/cairo/GraphicsContextCairo.cpp:
18681        * platform/graphics/cairo/ImageCairo.cpp:
18682        * platform/graphics/gstreamer/ImageGStreamer.h:
18683        * platform/graphics/transforms/AffineTransform.h:
18684        * platform/graphics/transforms/TransformationMatrix.h:
18685        * platform/graphics/win/FontCacheWin.cpp:
18686        (WebCore::createGDIFont):
18687        (WebCore::FontCache::createFontPlatformData):
18688        * platform/graphics/win/FontPlatformDataWin.cpp:
18689        (WebCore::FontPlatformData::FontPlatformData):
18690        * platform/graphics/win/GraphicsContextWin.cpp:
18691        * plugins/win/PluginViewWin.cpp:
18692        (WebCore::PluginView::paintWindowedPluginIntoContext):
18693        * rendering/RenderObject.h:
18694
186952011-04-16  Patrick Gansterer  <paroga@webkit.org>
18696
18697        Unreviewed WinCE build fix for r84033.
18698
18699        * platform/win/LocalizedStringsWin.cpp:
18700        (WebCore::localizedString):
18701
187022011-04-16  Abhishek Arya  <inferno@chromium.org>
18703
18704        Reviewed by Nikolas Zimmermann.
18705
18706        Only allow inline child for SVG text since we cannot
18707        handle block childs.
18708        https://bugs.webkit.org/show_bug.cgi?id=58678
18709
18710        Test: svg/text/text-block-child-crash.xhtml
18711
18712        * rendering/svg/RenderSVGText.cpp:
18713        (WebCore::RenderSVGText::isChildAllowed):
18714        * rendering/svg/RenderSVGText.h:
18715
187162011-04-15  Ilya Tikhonovsky  <loislo@chromium.org>
18717
18718        Reviewed by Pavel Feldman.
18719
18720        Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
18721        https://bugs.webkit.org/show_bug.cgi?id=57833
18722
18723        * inspector/Inspector.json:
18724        * inspector/InspectorDatabaseAgent.cpp:
18725        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
18726        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
18727        (WebCore::InspectorDatabaseAgent::setFrontend):
18728        (WebCore::InspectorDatabaseAgent::clearFrontend):
18729        (WebCore::InspectorDatabaseAgent::enable):
18730        (WebCore::InspectorDatabaseAgent::disable):
18731        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
18732        (WebCore::InspectorDatabaseAgent::executeSQL):
18733        * inspector/InspectorDatabaseAgent.h:
18734        * inspector/front-end/inspector.js:
18735
187362011-04-15  Adam Barth  <abarth@webkit.org>
18737
18738        Reviewed by Eric Seidel.
18739
18740        CSP media-src is missing
18741        https://bugs.webkit.org/show_bug.cgi?id=58642
18742
18743        Yay HTMLMediaElement for having the exact hook we need!
18744
18745        Tests: http/tests/security/contentSecurityPolicy/media-src-allowed.html
18746               http/tests/security/contentSecurityPolicy/media-src-blocked.html
18747
18748        * html/HTMLMediaElement.cpp:
18749        (WebCore::HTMLMediaElement::isSafeToLoadURL):
18750            - Although it's tempting to add this branch to the previous
18751              if-block, that results in the wrong error message being logged to
18752              the console (covered by the "blocked" test).
18753        * page/ContentSecurityPolicy.cpp:
18754        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
18755        (WebCore::ContentSecurityPolicy::addDirective):
18756        * page/ContentSecurityPolicy.h:
18757            - These changes are routine.
18758
187592011-04-15  Adam Barth  <abarth@webkit.org>
18760
18761        Reviewed by Eric Seidel.
18762
18763        CSP should block string arguments to setTimeout and setInterval unless options eval-script
18764        https://bugs.webkit.org/show_bug.cgi?id=58610
18765
18766        It's somewhat sadness that the JSC and V8 code for setTimeout and
18767        setInterval are so different.  I struggled for a while with how to
18768        handle the worker case, but I decided to punt on it for now.
18769
18770        Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
18771               http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
18772               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
18773               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
18774
18775        * bindings/js/JSDOMWindowCustom.cpp:
18776        (WebCore::JSDOMWindow::setTimeout):
18777        (WebCore::JSDOMWindow::setInterval):
18778        * bindings/js/JSWorkerContextCustom.cpp:
18779        (WebCore::JSWorkerContext::setTimeout):
18780        (WebCore::JSWorkerContext::setInterval):
18781        * bindings/js/ScheduledAction.cpp:
18782        (WebCore::ScheduledAction::create):
18783        * bindings/js/ScheduledAction.h:
18784        * bindings/v8/custom/V8DOMWindowCustom.cpp:
18785        (WebCore::WindowSetTimeoutImpl):
18786        * page/ContentSecurityPolicy.cpp:
18787        (WebCore::ContentSecurityPolicy::allowEval):
18788        * page/ContentSecurityPolicy.h:
18789
187902011-04-15  Shishir Agrawal  <shishir@chromium.org>
18791
18792        Reviewed by James Robinson.
18793
18794        Add a flag to guard Page Visibility API changes.
18795        https://bugs.webkit.org/show_bug.cgi?id=58464
18796
18797        * Configurations/FeatureDefines.xcconfig:
18798
187992011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
18800
18801        Reviewed by Martin Robinson.
18802
18803        Make plugins compile during WebKit GTK Windows build.
18804        Ifdef properly relevant parts so that the PluginViewGtk compiles on Windows.
18805        https://bugs.webkit.org/show_bug.cgi?id=58580
18806
18807        * plugins/PluginView.cpp:
18808        (WebCore::PluginView::stop):
18809        * plugins/PluginView.h:
18810        * plugins/gtk/PluginViewGtk.cpp:
18811        (WebCore::PluginView::platformGetValue):
18812        (WebCore::PluginView::platformStart):
18813
188142011-04-15  MORITA Hajime  <morrita@google.com>
18815
18816        Reviewed by Simon Fraser.
18817
18818        Calls to WebCore::Document::mayCauseFlashOfUnstyledContent make frequently-run drawing methods slower
18819        https://bugs.webkit.org/show_bug.cgi?id=58512
18820
18821        Manually rolled out r72367 at which mayCauseFlashOfUnstyledContent() was introduced.
18822        This change keeps an small refactoring on
18823        FrameView::shouldUpdate(), which doesn't affect on the behavior.
18824
18825        * dom/Document.cpp:
18826        * dom/Document.h:
18827        * page/FrameView.cpp:
18828        (WebCore::FrameView::invalidateRect):
18829        (WebCore::FrameView::shouldUpdate):
18830        * rendering/RenderBlock.cpp:
18831        (WebCore::RenderBlock::paintContents):
18832        * rendering/RenderLayer.cpp:
18833        (WebCore::RenderLayer::paintLayer):
18834
188352011-04-15  Chris Rogers  <crogers@google.com>
18836
18837        Reviewed by Kenneth Russell.
18838
18839        Reduce default kernel size of SincResampler to favor better speed over quality
18840        https://bugs.webkit.org/show_bug.cgi?id=58710
18841
18842        No new tests since audio API is not yet implemented.
18843
18844        * platform/audio/SincResampler.h:
18845
188462011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
18847
18848        Reviewed by Martin Robinson.
18849
18850        Expand the ntohs, ntohl, htons and htonl defines for OS(WINDOWS)
18851        These have to be defined for Windows in general, since win32 API
18852        does not provide them.
18853        https://bugs.webkit.org/show_bug.cgi?id=58582
18854
18855        * platform/graphics/WOFFFileFormat.cpp:
18856
188572011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
18858
18859        Reviewed by Adam Barth.
18860
18861        Show a console message when X-Frame-Options blocks a load
18862        https://bugs.webkit.org/show_bug.cgi?id=39087
18863
18864        Added console message when X-Frame-Options headers block resource loading
18865
18866        * loader/MainResourceLoader.cpp:
18867        (WebCore::MainResourceLoader::didReceiveResponse):
18868
188692011-04-15  Fridrich Strba  <fridrich.strba@bluewin.ch>
18870
18871        Reviewed by Martin Robinson.
18872
18873        Evaluate PLATFORM(GTK) before the all-encompassing OS(WINDOWS)
18874        test. This allows Windows build of WebKit GTK to chose the right
18875        path.
18876        https://bugs.webkit.org/show_bug.cgi?id=58576
18877
18878        * platform/FileSystem.h:
18879
188802011-04-08  Luiz Agostini  <luiz.agostini@openbossa.org>
18881
18882        Reviewed by Kenneth Rohde Christiansen.
18883
18884        [Qt] QWebPage MIME type handling inconsistency with other web browsers
18885        https://bugs.webkit.org/show_bug.cgi?id=46968
18886
18887        Implementing mime type sniffing based on
18888        http://tools.ietf.org/html/draft-abarth-mime-sniff-06.
18889
18890        * WebCore.pro:
18891        * platform/network/MIMESniffing.cpp: Added.
18892        (MagicNumbers::dataSizeNeededForImageSniffing):
18893        (MagicNumbers::maskedCompare):
18894        (MagicNumbers::checkSpaceOrBracket):
18895        (MagicNumbers::compare):
18896        (MagicNumbers::findMIMEType):
18897        (MagicNumbers::findSimpleMIMEType):
18898        (MagicNumbers::textOrBinaryTypeSniffingProcedure):
18899        (MagicNumbers::unknownTypeSniffingProcedure):
18900        (MagicNumbers::imageTypeSniffingProcedure):
18901        (MagicNumbers::checkText):
18902        (MagicNumbers::checkRDF):
18903        (MagicNumbers::skipTag):
18904        (MagicNumbers::feedTypeSniffingProcedure):
18905        (MIMESniffer::MIMESniffer):
18906        * platform/network/MIMESniffing.h: Added.
18907        (MIMESniffer::dataSize):
18908        (MIMESniffer::sniff):
18909        (MIMESniffer::isValid):
18910        * platform/network/NetworkingContext.h:
18911        * platform/network/qt/QNetworkReplyHandler.cpp:
18912        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
18913        (WebCore::QNetworkReplyWrapper::release):
18914        (WebCore::QNetworkReplyWrapper::receiveMetaData):
18915        (WebCore::QNetworkReplyWrapper::receiveSniffedMIMEType):
18916        (WebCore::QNetworkReplyWrapper::emitMetaDataChanged):
18917        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
18918        (WebCore::QNetworkReplyHandler::sendNetworkRequest):
18919        (WebCore::QNetworkReplyHandler::start):
18920        * platform/network/qt/QNetworkReplyHandler.h:
18921        (WebCore::QNetworkReplyWrapper::advertisedMIMEType):
18922        (WebCore::QNetworkReplyWrapper::mimeType):
18923        * platform/network/qt/QtMIMETypeSniffer.cpp: Added.
18924        (QtMIMETypeSniffer::QtMIMETypeSniffer):
18925        (QtMIMETypeSniffer::sniff):
18926        (QtMIMETypeSniffer::trySniffing):
18927        * platform/network/qt/QtMIMETypeSniffer.h: Added.
18928        (QtMIMETypeSniffer::mimeType):
18929        (QtMIMETypeSniffer::isFinished):
18930
189312011-04-15  Emil A Eklund  <eae@chromium.org>
18932
18933        Reviewed by Dimitri Glazkov.
18934
18935        input field with focus makes appendChild operation ~42x slower
18936        https://bugs.webkit.org/show_bug.cgi?id=57059
18937
18938        Change ContainerNode::cloneChildNodes to only disable the
18939        deleteButtonController if the container itself (or any of its children)
18940        is being edited. Thus avoiding a reflow in cases where it's not.
18941
18942        Test: perf/clone-with-focus.html
18943
18944        * dom/ContainerNode.cpp:
18945        (WebCore::ContainerNode::cloneChildNodes):
18946
189472011-04-15  Kinuko Yasuda  <kinuko@chromium.org>
18948
18949        Reviewed by David Levin.
18950
18951        Expose unified Quota API if QUOTA build flag is enabled
18952        https://bugs.webkit.org/show_bug.cgi?id=58648
18953
18954        Test: storage/storageinfo-query-usage.html
18955
18956        * CMakeLists.txt: Added new file entries.
18957        * DerivedSources.cpp: Added new file entries.
18958        * DerivedSources.make: Added new file entries.
18959        * GNUmakefile.am: Added new file entries.
18960        * WebCore.gypi: Added new file entries.
18961        * WebCore.vcproj/WebCore.vcproj: Added new file entries.
18962        * WebCore.xcodeproj/project.pbxproj: Added new file entries.
18963        * page/DOMWindow.cpp:
18964        (WebCore::DOMWindow::webkitStorageInfo): Added.
18965        * page/DOMWindow.h:
18966        * page/DOMWindow.idl:
18967        * storage/StorageInfo.h: Added storage type enum.
18968        * storage/StorageInfo.idl: Added.
18969        * storage/StorageInfoErrorCallback.idl: Added.
18970        * storage/StorageInfoUsageCallback.idl: Added.
18971
189722011-04-15  Oliver Hunt  <oliver@apple.com>
18973
18974        GC allocate Structure
18975        https://bugs.webkit.org/show_bug.cgi?id=58483
18976
18977        Rolling r83894 r83827 r83810 r83809 r83808 back in with
18978        a workaround for the gcc bug seen by the gtk bots
18979
18980        * WebCore.exp.in:
18981        * bindings/js/JSAudioConstructor.h:
18982        (WebCore::JSAudioConstructor::createStructure):
18983        * bindings/js/JSDOMBinding.cpp:
18984        (WebCore::cacheDOMStructure):
18985        * bindings/js/JSDOMBinding.h:
18986        (WebCore::DOMObjectWithGlobalPointer::createStructure):
18987        (WebCore::DOMObjectWithGlobalPointer::DOMObjectWithGlobalPointer):
18988        (WebCore::DOMConstructorObject::createStructure):
18989        (WebCore::DOMConstructorObject::DOMConstructorObject):
18990        (WebCore::DOMConstructorWithDocument::DOMConstructorWithDocument):
18991        * bindings/js/JSDOMGlobalObject.cpp:
18992        (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
18993        (WebCore::JSDOMGlobalObject::markChildren):
18994        * bindings/js/JSDOMGlobalObject.h:
18995        (WebCore::JSDOMGlobalObject::createStructure):
18996        * bindings/js/JSDOMWindowBase.cpp:
18997        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
18998        * bindings/js/JSDOMWindowBase.h:
18999        (WebCore::JSDOMWindowBase::createStructure):
19000        * bindings/js/JSDOMWindowShell.cpp:
19001        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
19002        (WebCore::JSDOMWindowShell::setWindow):
19003        * bindings/js/JSDOMWindowShell.h:
19004        (WebCore::JSDOMWindowShell::createStructure):
19005        * bindings/js/JSDOMWrapper.h:
19006        (WebCore::DOMObject::DOMObject):
19007        * bindings/js/JSEventListener.cpp:
19008        (WebCore::JSEventListener::JSEventListener):
19009        * bindings/js/JSImageConstructor.h:
19010        (WebCore::JSImageConstructor::createStructure):
19011        * bindings/js/JSImageDataCustom.cpp:
19012        (WebCore::toJS):
19013        * bindings/js/JSOptionConstructor.h:
19014        (WebCore::JSOptionConstructor::createStructure):
19015        * bindings/js/JSWorkerContextBase.cpp:
19016        (WebCore::JSWorkerContextBase::JSWorkerContextBase):
19017        * bindings/js/JSWorkerContextBase.h:
19018        (WebCore::JSWorkerContextBase::createStructure):
19019        * bindings/js/ScriptCachedFrameData.h:
19020        * bindings/js/SerializedScriptValue.h:
19021        * bindings/js/WorkerScriptController.cpp:
19022        (WebCore::WorkerScriptController::~WorkerScriptController):
19023        (WebCore::WorkerScriptController::initScript):
19024        * bindings/scripts/CodeGeneratorJS.pm:
19025        * bridge/c/CRuntimeObject.h:
19026        (JSC::Bindings::CRuntimeObject::createStructure):
19027        * bridge/c/c_instance.cpp:
19028        (JSC::Bindings::CRuntimeMethod::createStructure):
19029        * bridge/jni/jsc/JavaInstanceJSC.cpp:
19030        (JavaRuntimeMethod::createStructure):
19031        * bridge/jni/jsc/JavaRuntimeObject.h:
19032        (JSC::Bindings::JavaRuntimeObject::createStructure):
19033        * bridge/objc/ObjCRuntimeObject.h:
19034        (JSC::Bindings::ObjCRuntimeObject::createStructure):
19035        * bridge/objc/objc_instance.mm:
19036        (ObjCRuntimeMethod::createStructure):
19037        * bridge/objc/objc_runtime.h:
19038        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
19039        * bridge/qt/qt_instance.cpp:
19040        (JSC::Bindings::QtRuntimeObject::createStructure):
19041        * bridge/qt/qt_pixmapruntime.cpp:
19042        (JSC::Bindings::QtPixmapRuntimeObject::createStructure):
19043        * bridge/qt/qt_runtime.h:
19044        (JSC::Bindings::QtRuntimeMethod::createStructure):
19045        * bridge/runtime_array.cpp:
19046        (JSC::RuntimeArray::RuntimeArray):
19047        * bridge/runtime_array.h:
19048        (JSC::RuntimeArray::createStructure):
19049        * bridge/runtime_method.cpp:
19050        (JSC::RuntimeMethod::RuntimeMethod):
19051        * bridge/runtime_method.h:
19052        (JSC::RuntimeMethod::createStructure):
19053        * bridge/runtime_object.cpp:
19054        (JSC::Bindings::RuntimeObject::RuntimeObject):
19055        * bridge/runtime_object.h:
19056        (JSC::Bindings::RuntimeObject::createStructure):
19057        * history/HistoryItem.h:
19058
190592011-04-15  Jessie Berlin  <jberlin@apple.com>
19060
19061        Reviewed by Brian Weinstein.
19062
19063        Hang underneath ApplicationCacheStorage::writeDataToUniqueFileInDirectory when loading
19064        http://www.webkit.org/demos/calendar.
19065        https://bugs.webkit.org/show_bug.cgi?id=58698
19066
19067        * platform/win/FileSystemWin.cpp:
19068        (WebCore::openFile):
19069        Add breaks to the case statement.
19070        (WebCore::directoryName):
19071        Remove any trailing slash in directoryName. After closer inspection of all callers, it
19072        appears the that callers do not need the trailing slash, and those that use the length do
19073        so only to change the direction of the slashes throughout the length of the path.
19074
190752011-04-15  Roland Steiner  <rolandsteiner@chromium.org>
19076
19077        Reviewed by Dimitri Glazkov.
19078
19079        Bug 52963 - Enable O(1) access to root from any node in shadow DOM subtree
19080        https://bugs.webkit.org/show_bug.cgi?id=52963
19081
19082        .) Change base class of ShadowRoot from DocumentFragment to TreeScope.
19083        .) Re-enable tree scope handling in Node (had ASSERT_NOT_REACHED, etc.).
19084        .) Merged setTreeScope() with setTreeScopeRecursively()
19085        .) Call setTreeScopeRecursively in DOM manipulation functions where applicable.
19086
19087        No new tests. (refactoring)
19088
19089        * dom/ContainerNode.cpp:
19090        (WebCore::ContainerNode::takeAllChildrenFrom):
19091        (WebCore::ContainerNode::removeBetween):
19092        (WebCore::ContainerNode::removeChildren):
19093        (WebCore::ContainerNode::parserAddChild):
19094        * dom/Document.cpp:
19095        (WebCore::Document::Document):
19096        (WebCore::Document::~Document):
19097        (WebCore::Document::setDocType):
19098        * dom/Element.h:
19099        * dom/Node.cpp:
19100        (WebCore::Node::treeScope):
19101        (WebCore::Node::setTreeScopeRecursively):
19102        * dom/Node.h:
19103        (WebCore::Node::document):
19104        * dom/ShadowRoot.cpp:
19105        (WebCore::ShadowRoot::ShadowRoot):
19106        (WebCore::ShadowRoot::~ShadowRoot):
19107        (WebCore::ShadowRoot::nodeType):
19108        (WebCore::ShadowRoot::cloneNode):
19109        (WebCore::ShadowRoot::childTypeAllowed):
19110        * dom/ShadowRoot.h:
19111        (WebCore::toShadowRoot):
19112        * dom/TreeScope.cpp:
19113        (WebCore::TreeScope::TreeScope):
19114        (WebCore::TreeScope::setParentTreeScope):
19115        * dom/TreeScope.h:
19116        * rendering/RenderSlider.cpp:
19117
191182011-04-15  Geoffrey Garen  <ggaren@apple.com>
19119
19120        Reviewed by Oliver Hunt.
19121
19122        DOM object handles are never removed from cache
19123        https://bugs.webkit.org/show_bug.cgi?id=58707
19124
19125        We were trying to remove hash table items by value instead of by key.
19126
19127        * bindings/js/DOMWrapperWorld.cpp:
19128        (WebCore::JSNodeHandleOwner::finalize): Changed to work more like
19129        DOMObjectHandleOwner::finalize because I'm going to merge them.
19130
19131        (WebCore::DOMObjectHandleOwner::finalize): Remove hash table items
19132        by key, not value. (Oops!) Use a helper function to make sure we get
19133        this right.
19134
19135        * bindings/js/JSDOMBinding.cpp:
19136        (WebCore::cacheDOMObjectWrapper): Store the hash table key as our weak
19137        handle context, so we can use it at destruction time.
19138
19139        * bindings/js/JSDOMBinding.h: Removed unnecessary include.
19140
19141        * bindings/js/JSNodeCustom.h:
19142        (WebCore::cacheDOMNodeWrapper): Store the hash table key as our weak
19143        handle context, so we can use it at destruction time.
19144
19145        * bindings/js/ScriptWrappable.h:
19146        (WebCore::ScriptWrappable::setWrapper): Forward context parameter, to
19147        support the above.
19148
191492011-04-15  Kenneth Russell  <kbr@google.com>
19150
19151        Unreviewed. Chromium Linux Release build fix due to unused variables.
19152
19153        * platform/audio/mkl/FFTFrameMKL.cpp:
19154        (WebCore::FFTFrame::doFFT):
19155        (WebCore::FFTFrame::doInverseFFT):
19156        (WebCore::FFTFrame::cleanup):
19157
191582011-04-15  Brent Fulgham  <bfulgham@webkit.org>
19159
19160        Unreviewed build change after r83945.
19161
19162        New 'PlatformPathCairo.cpp' was not added to the WinCairo build.
19163
19164        * WebCore.vcproj/WebCore.vcproj: Add missing file to WinCairo
19165          build.  Exclude for standard Apple build.
19166
191672011-04-15  Anders Carlsson  <andersca@apple.com>
19168
19169        Reviewed by Dan Bernstein.
19170
19171        Fade the find page overlay
19172        https://bugs.webkit.org/show_bug.cgi?id=58697
19173
19174        Add a symbol that WebKit2 needs.
19175
19176        * WebCore.exp.in:
19177
191782011-04-15  MORITA Hajime  <morrita@google.com>
19179
19180        Reviewed by Dimitri Glazkov.
19181
19182        RenderDetailsMarker should belong to shadow element.
19183        https://bugs.webkit.org/show_bug.cgi?id=58591
19184
19185        - Introduced DetailsMarkerControl element, which is a shadow element of <summary>, creates RenderDetailsMarker.
19186        - Removed custom layout code from RenderDetails, RenderDetailsMarker, which is now done by usual CSS layout.
19187          Note that marker size is given via style for -webkit-details-marker pseudo class.
19188        - Converted default summary implementation from pure-renderer style to shadow of HTMLDetailsElement.
19189          Now RenderDetails knows nothing about default summary.
19190        - Moved event handling code from HTMLDetailsElement to HTMLSummaryElement because now the marker is always child of
19191          <summary>, and the clickable area is now <summary> itself.
19192
19193        - Note that the rendering result is changed due to the conversion from custom layout code to usual CSS styling.
19194
19195        * Android.mk:
19196        * CMakeLists.txt:
19197        * GNUmakefile.list.am:
19198        * WebCore.gypi:
19199        * WebCore.pro:
19200        * WebCore.vcproj/WebCore.vcproj:
19201        * WebCore.xcodeproj/project.pbxproj:
19202        * css/html.css:
19203        (summary::-webkit-details-marker):
19204        * dom/Element.cpp:
19205        (WebCore::Element::attach):
19206        * dom/Node.cpp:
19207        (WebCore::shouldCreateRendererFor):
19208        * dom/Node.h:
19209        (WebCore::Node::canHaveLightChildRendererWithShadow):
19210        * html/HTMLDetailsElement.cpp:
19211        (WebCore::HTMLDetailsElement::findSummaryFor):
19212        (WebCore::HTMLDetailsElement::findMainSummary):
19213        (WebCore::HTMLDetailsElement::refreshMainSummary):
19214        (WebCore::HTMLDetailsElement::createShadowSubtree):
19215        (WebCore::HTMLDetailsElement::childrenChanged):
19216        (WebCore::HTMLDetailsElement::finishParsingChildren):
19217        (WebCore::HTMLDetailsElement::toggleOpen):
19218        * html/HTMLDetailsElement.h:
19219        (WebCore::HTMLDetailsElement::canHaveLightChildRendererWithShadow):
19220        * html/HTMLSummaryElement.cpp:
19221        (WebCore::HTMLSummaryElement::create):
19222        (WebCore::HTMLSummaryElement::createShadowSubtree):
19223        (WebCore::HTMLSummaryElement::detailsElement):
19224        (WebCore::HTMLSummaryElement::isMainSummary):
19225        (WebCore::HTMLSummaryElement::defaultEventHandler):
19226        * html/HTMLSummaryElement.h:
19227        (WebCore::HTMLSummaryElement::canHaveLightChildRendererWithShadow):
19228        * html/shadow/DetailsMarkerControl.cpp: Added.
19229        (WebCore::DetailsMarkerControl::DetailsMarkerControl):
19230        (WebCore::DetailsMarkerControl::createRenderer):
19231        (WebCore::DetailsMarkerControl::rendererIsNeeded):
19232        (WebCore::DetailsMarkerControl::shadowPseudoId):
19233        (WebCore::DetailsMarkerControl::summaryElement):
19234        * html/shadow/DetailsMarkerControl.h: Added.
19235        (WebCore::DetailsMarkerControl::create):
19236        * rendering/RenderDetails.cpp:
19237        (WebCore::RenderDetails::RenderDetails):
19238        (WebCore::RenderDetails::styleDidChange):
19239        (WebCore::RenderDetails::moveSummaryToContents):
19240        (WebCore::RenderDetails::checkMainSummary):
19241        (WebCore::RenderDetails::layout):
19242        * rendering/RenderDetails.h:
19243        * rendering/RenderDetailsMarker.cpp:
19244        (WebCore::RenderDetailsMarker::RenderDetailsMarker):
19245        (WebCore::RenderDetailsMarker::isOpen):
19246        (WebCore::RenderDetailsMarker::getPath):
19247        (WebCore::RenderDetailsMarker::paint):
19248        (WebCore::RenderDetailsMarker::details):
19249        * rendering/RenderDetailsMarker.h:
19250
192512011-04-15  Sam Weinig  <sam@webkit.org>
19252
19253        Reviewed by Adam Roben.
19254
19255        Implement localize strings for windows WebKit2
19256        https://bugs.webkit.org/show_bug.cgi?id=58688
19257
19258        * platform/win/LocalizedStringsWin.cpp:
19259        (WebCore::createWebKitBundle):
19260        (WebCore::webKitBundle):
19261        (WebCore::localizedString):
19262        Add implementation of localizedString for Windows.
19263
192642011-04-15  Geoffrey Garen  <ggaren@apple.com>
19265
19266        Reviewed by Oliver Hunt.
19267
19268        Some mechanical DOM wrapper cleanup
19269        https://bugs.webkit.org/show_bug.cgi?id=58689
19270
19271        * WebCore.exp.in: Export!
19272
19273        * bindings/js/DOMWrapperWorld.cpp:
19274        (WebCore::isReachableFromDOM): Inverted the inDocument test to make the
19275        relationship of the special cases to the normal case clearer.
19276
19277        * bindings/js/JSArrayBufferViewHelper.h:
19278        (WebCore::toJSArrayBufferView):
19279        * bindings/js/JSCSSRuleCustom.cpp:
19280        (WebCore::toJS):
19281        * bindings/js/JSCSSValueCustom.cpp:
19282        (WebCore::toJS):
19283        * bindings/js/JSDOMBinding.cpp:
19284        (WebCore::getCachedDOMObjectWrapper):
19285        (WebCore::cacheDOMObjectWrapper):
19286        * bindings/js/JSDOMBinding.h:
19287        (WebCore::createDOMObjectWrapper):
19288        (WebCore::getDOMObjectWrapper):
19289        (WebCore::createDOMNodeWrapper):
19290        (WebCore::getDOMNodeWrapper): Changed DOM wrapper functions to operate
19291        in terms of DOMWrapperWorlds instead of ExecStates. This is clearer,
19292        and ever-so-slightly faster.
19293
19294        Removed hasCachedXXX functions, now that they're unused.
19295
19296        * bindings/js/JSDOMWindowCustom.cpp:
19297        (WebCore::JSDOMWindow::history):
19298        (WebCore::JSDOMWindow::location):
19299        * bindings/js/JSDocumentCustom.cpp:
19300        (WebCore::JSDocument::location):
19301        (WebCore::toJS):
19302        * bindings/js/JSElementCustom.cpp:
19303        (WebCore::toJSNewlyCreated):
19304        * bindings/js/JSEventCustom.cpp:
19305        (WebCore::toJS):
19306        * bindings/js/JSHTMLCollectionCustom.cpp:
19307        (WebCore::toJS):
19308        * bindings/js/JSImageDataCustom.cpp:
19309        (WebCore::toJS):
19310        * bindings/js/JSNodeCustom.cpp:
19311        (WebCore::createWrapperInline):
19312        * bindings/js/JSNodeCustom.h:
19313        (WebCore::getCachedDOMNodeWrapper):
19314        (WebCore::cacheDOMNodeWrapper):
19315        (WebCore::toJS):
19316        * bindings/js/JSSVGPathSegCustom.cpp:
19317        (WebCore::toJS):
19318        * bindings/js/JSStyleSheetCustom.cpp:
19319        (WebCore::toJS): Updated for changes above.
19320
19321        * xml/XMLHttpRequest.cpp:
19322        (WebCore::XMLHttpRequest::dropProtection): Removed use of hasCachedDOMObjectWrapper
19323        because XHR is almost always created and used by JavaScript, so it's
19324        simpler to just always report extra cost.
19325
193262011-04-15  Andreas Kling  <kling@webkit.org>
19327
19328        Rolling out accidental part of r84010.
19329
19330        * platform/qt/RenderThemeQt.cpp:
19331        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
19332        (WebCore::RenderThemeQt::setButtonPadding):
19333
193342011-04-15  Oliver Hunt  <oliver@apple.com>
19335
19336        Forgot windows build fix.
19337
19338        * bindings/js/JSNodeFilterCondition.cpp:
19339        (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
19340
193412011-04-15  Joseph Pecoraro  <joepeck@webkit.org>
19342
19343        Reviewed by Yury Semikhatsky.
19344
19345        Frontend Part of Web Inspector: Remote Web Inspector - Cross Platform InspectorServer
19346        https://bugs.webkit.org/show_bug.cgi?id=51364
19347
19348        The front end should not use a transparent background when
19349        loaded as a web page (remote debugging) but should when loaded
19350        regularly in a custom window. This adds a "remote" style class
19351        onto the document body when the page is loaded remotely.
19352
19353        * inspector/front-end/inspector.css:
19354        (body.detached.platform-mac-snowleopard:not(.remote) #toolbar): respect the "remote" class.
19355        * inspector/front-end/inspector.js: add a "remote" class on the body when loaded remotely.
19356
193572011-04-15  Joseph Pecoraro  <joepeck@webkit.org>
19358
19359        Reviewed by David Kilzer.
19360
19361        JSLock ASSERT seen often when using the inspector for long
19362        periods of time. We should take the JSLock whenever we
19363        might allocate memory in the JavaScript Heap.
19364
19365        JSC InjectedScriptHost::nodeAsScriptValue should take JSLock before possible JavaScript Allocations
19366        https://bugs.webkit.org/show_bug.cgi?id=58674
19367
19368        * bindings/js/JSInjectedScriptHostCustom.cpp:
19369        (WebCore::InjectedScriptHost::nodeAsScriptValue): take the JSLock.
19370
193712011-04-14  Oliver Hunt  <oliver@apple.com>
19372
19373        Reviewed by Geoffrey Garen.
19374
19375        Make JSNodeFilterCondition handle its lifetime correctly
19376        https://bugs.webkit.org/show_bug.cgi?id=58622
19377
19378        Switch over to a WeakHandle and external roots to keep the
19379        condition value live.
19380
19381        * bindings/js/JSNodeFilterCondition.cpp:
19382        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
19383        (WebCore::JSNodeFilterCondition::markAggregate):
19384        (WebCore::JSNodeFilterCondition::acceptNode):
19385        (WebCore::JSNodeFilterCondition::WeakOwner::isReachableFromOpaqueRoots):
19386        * bindings/js/JSNodeFilterCondition.h:
19387        (WebCore::JSNodeFilterCondition::create):
19388        * bindings/js/JSNodeFilterCustom.cpp:
19389        (WebCore::toNodeFilter):
19390        * bindings/scripts/CodeGeneratorJS.pm:
19391
193922011-04-13  Luiz Agostini  <luiz.agostini@openbossa.org>
19393
19394        Reviewed by Andreas Kling.
19395
19396        [Qt] QNetworkReplyHandler refactoring: some adjustments
19397        https://bugs.webkit.org/show_bug.cgi?id=57092
19398
19399        - Removing flag m_redirected from QNetworkReplyHandler and using m_redirectionTargetUrl.isValid() instead.
19400        - Moving flag m_responseContainsData from QNetworkReplyHandler to the reply wrapper and removing the connection of
19401        signal metaDataChanged for m_responseContainsData to be consistent.
19402        - Using an OwnPtr to keep the reference to the QNetworkReplyWrapper.
19403
19404        * platform/network/qt/QNetworkReplyHandler.cpp:
19405        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
19406        (WebCore::QNetworkReplyWrapper::receiveMetaData):
19407        (WebCore::QNetworkReplyWrapper::didReceiveReadyRead):
19408        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
19409        (WebCore::QNetworkReplyHandler::release):
19410        (WebCore::shouldIgnoreHttpError):
19411        (WebCore::QNetworkReplyHandler::finish):
19412        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
19413        (WebCore::QNetworkReplyHandler::redirect):
19414        (WebCore::QNetworkReplyHandler::forwardData):
19415        * platform/network/qt/QNetworkReplyHandler.h:
19416        (WebCore::QNetworkReplyWrapper::responseContainsData):
19417        (WebCore::QNetworkReplyWrapper::redirected):
19418
194192011-04-15  Alexey Proskuryakov  <ap@apple.com>
19420
19421        Chromium build fix.
19422
19423        * platform/SecureTextInput.h: CARBON_SECURE_INPUT_MODE no longer exists.
19424
194252011-04-15  Mike Reed  <reed@google.com>
19426
19427        Reviewed by Darin Fisher.
19428
19429        hide unused static function when SKIA_GPU is enabled
19430        https://bugs.webkit.org/show_bug.cgi?id=58670
19431
19432        No new tests. Just fixes a warning (treated as an error) when SKIA_GPU is enabled
19433
19434        * platform/graphics/skia/ImageSkia.cpp:
19435
194362011-04-15  Simon Fraser  <simon.fraser@apple.com>
19437
19438        Reviewed by Beth Dakin.
19439
19440        Some borders with border-radius do not have rounded inner edges
19441        https://bugs.webkit.org/show_bug.cgi?id=58457
19442
19443        Improve the logic used to compute the inner radii on curved
19444        borders, to maintain borders of even thickness around the curve.
19445
19446        Tests: fast/borders/mixed-border-styles-radius.html
19447               fast/borders/mixed-border-styles.html
19448
19449        * rendering/RenderBoxModelObject.h:
19450        * rendering/RenderBoxModelObject.cpp:
19451        (WebCore::RenderBoxModelObject::computeBorderOuterRect):
19452        (WebCore::RenderBoxModelObject::computeBorderInnerRect):
19453        Two new utility functions to share some code that was in both paintBorder()
19454        and paintBoxShaadow().
19455        getRoundedInnerBorderWithBorderWidths() now takes the outer border box
19456        as well as the inner box.
19457
19458        (WebCore::RenderBoxModelObject::paintBorder): Call new methods.
19459        (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.
19460
19461        * rendering/RenderObject.cpp:
19462        (WebCore::RenderObject::drawBoxSideFromPath):
19463        getRoundedInnerBorderWithBorderWidths() now takes the outer border box
19464        as well as the inner box.
19465
19466        * rendering/style/RenderStyle.cpp:
19467        (WebCore::RenderStyle::getRoundedInnerBorderWithBorderWidths):
19468        * rendering/style/RenderStyle.h:
19469        Compute the inner radii by starting with teh radii used for the
19470        outer box, and then shrinking them down based on the border thickness.
19471
194722011-04-14  Alexey Proskuryakov  <ap@apple.com>
19473
19474        Reviewed by Dan Bernstein.
19475
19476        WebKit2: Password field input does not switch to ASCII-compatible source
19477        https://bugs.webkit.org/show_bug.cgi?id=58583
19478        <rdar://problem/9059651>
19479
19480        * platform/SecureTextInput.cpp:
19481        (WebCore::enableSecureTextInput):
19482        (WebCore::disableSecureTextInput):
19483        This is now only used by Chromium. There is no need to change TSMDocument properties in
19484        renderer process (and really, all secure text input logic in WebCore should be eliminated).
19485
194862011-04-13  Xiaomei Ji  <xji@chromium.org>
19487
19488        Reviewed by Ryosuke Niwa.
19489
19490        Continue (3rd) experiment with moving caret by word in visual order.
19491        https://bugs.webkit.org/show_bug.cgi?id=58294
19492
19493        This patch along with r82588 and r83483 implements moving caret by
19494        word in visual order.
19495
19496        The overall algorithm is:
19497        1. First get the InlineBox and offset of the pass-in VisiblePosition.
19498        2. Based on the position (left boundary, middle, right boundary) of the offset and the
19499           direction of the movement, look for visually adjacent word breaks.
19500        2.1 If the offset is the minimum offset of the box,
19501            return the rightmost word boundary in previous boxes if moving left.
19502            return the leftmost word boundary in box and next boxes if moving right.
19503        2.2 Similar for the case when offset is at the maximum offset of the box.
19504        2.3 When offset is inside the box (not at boundaries), first find the previousWordPosition
19505            or nextWordPosition based on the directionality of the box. If this word break position
19506            is also inside the same box, return it. Otherwise (the nextWordPosition or
19507            previousWordPosition is not in the same box or is at the box boundary), collect all the
19508            word breaks in the box and search for the one closest to the input "offset" based on
19509            box directionality, block directionality, and movement direction. Continue search in
19510            adjacent boxes if needed.
19511
19512        Notes:
19513        1. Word boundaries are collected one box at a time. Only when a boundary that is closest to
19514           the input position (in the moving direction) is not available in current box, word
19515           boundaries in adjacent box will be collected. So, there is no need to save InlineBox in
19516           word boundaries. Instead, the word boundaries are saved as a pair
19517           (VisiblePosition, offset) to avoid recomputing VisiblePosition.
19518
19519        2. We only collect boundaries of the right kind (i.e. left boundary of a word in LTR block
19520           and right boundary of a word in RTL block). And word boundaries are collected using
19521           previousWordPosition() and nextWordPosition(). So when box directionality is the same as
19522           block directionality, word boundaries are collected from right to left visually in a LTR
19523           box, and word boundaries are collected from left to right visually in a RTL box. It is
19524           the other way around when box directionality is different from block directionality.
19525
19526        3. To find the right kinds of word boundaries, we must move back and forth between words
19527           in some situations. For example, if we're moving to the right in a LTR box in LTR block,
19528           we cannot simply return nextWordPosition() because it would return the right boundary
19529           of a word. Instead, we return nextWordPosition()'s nextWordPosition()'s previousWordPosition().
19530
19531        4. When collecting word breaks inside a box, it first computes a start position, then
19532           collect the right kind of word breaks until it reaches the end of (or beyond) the box.
19533           In the meanwhile, it might need special handling on the rightmost or leftmost position
19534           based on the directionality of the box and block. These computations do not consider the
19535           box's bidi level.
19536
19537        * editing/visible_units.cpp:
19538        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
19539        (WebCore::collectWordBreaksInBox):
19540        (WebCore::previousWordBoundaryInBox):
19541        (WebCore::nextWordBoundaryInBox):
19542        (WebCore::visuallyLastWordBoundaryInBox):
19543        (WebCore::leftWordBoundary):
19544        (WebCore::rightWordBoundary):
19545        (WebCore::leftWordPosition):
19546        (WebCore::rightWordPosition):
19547
195482011-04-14  Zhenyao Mo  <zmo@google.com>
19549
19550        Reviewed by Kenneth Russell.
19551
19552        Use HTMLImageElement in Canvas 2D / WebGL before response is ready causes crash
19553        https://bugs.webkit.org/show_bug.cgi?id=58501
19554
19555        * html/canvas/WebGLRenderingContext.cpp:
19556        (WebCore::WebGLRenderingContext::texImage2D): Call validateHTMLImageElement().
19557        (WebCore::WebGLRenderingContext::texSubImage2D): Ditto.
19558        (WebCore::WebGLRenderingContext::validateHTMLImageElement): Make sure image is ready.
19559        * html/canvas/WebGLRenderingContext.h:
19560
195612011-04-07  MORITA Hajime  <morrita@google.com>
19562
19563        Reviewed by Ryosuke Niwa.
19564
19565        DocumentMaker::AllMarkers should not be a part of DocumentMarker::MarkerType
19566        https://bugs.webkit.org/show_bug.cgi?id=58112
19567
19568        - Converted DocumentMarker::MarkerTypes from unsigned int to a class.
19569        - Converted DocumentMarker::AllMarkers from an enum entry to a subclass of MarkerTypes.
19570        - Changed type of some MarkerType argument on DocumentMarkerController API to MarkerTypes
19571          which should allow a combination of MarkerType constansts.
19572        - Removed some MarkerType arguments on DocumentMarkerController API
19573          which only received AllMarkers.
19574
19575        No new tests, no behavior change.
19576
19577        * WebCore.exp.in:
19578        * dom/DocumentMarker.h:
19579        (WebCore::DocumentMarker::MarkerTypes::MarkerTypes):
19580        (WebCore::DocumentMarker::MarkerTypes::contains):
19581        (WebCore::DocumentMarker::MarkerTypes::intersects):
19582        (WebCore::DocumentMarker::MarkerTypes::operator==):
19583        (WebCore::DocumentMarker::MarkerTypes::add):
19584        (WebCore::DocumentMarker::MarkerTypes::remove):
19585        (WebCore::DocumentMarker::AllMarkers::AllMarkers):
19586        * dom/DocumentMarkerController.cpp:
19587        (WebCore::DocumentMarkerController::possiblyHasMarkers):
19588        (WebCore::DocumentMarkerController::addMarker):
19589        (WebCore::DocumentMarkerController::copyMarkers):
19590        (WebCore::DocumentMarkerController::removeMarkers):
19591        (WebCore::DocumentMarkerController::markerContainingPoint):
19592        (WebCore::DocumentMarkerController::markersInRange):
19593        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
19594        (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
19595        (WebCore::DocumentMarkerController::repaintMarkers):
19596        (WebCore::DocumentMarkerController::shiftMarkers):
19597        (WebCore::DocumentMarkerController::setMarkersActive):
19598        (WebCore::DocumentMarkerController::hasMarkers):
19599        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
19600        * dom/DocumentMarkerController.h:
19601
196022011-04-14  Geoffrey Garen  <ggaren@apple.com>
19603
19604        Reviewed by Oliver Hunt.
19605
19606        Complicated hash table is complicated
19607        https://bugs.webkit.org/show_bug.cgi?id=58631
19608
19609        Now that we use the opaque roots system to track node wrapper lifetime,
19610        we can remove a lot of complicated hash-tablery that used to do the same.
19611
19612        Now normal world node wrappers are just set as direct properties of
19613        ScriptWrappable, while isolated world node wrappers and other DOM object
19614        wrappers are stored in a shared, per-world hash table.
19615
19616        In addition to reducing complexity, this makes DOM wrapper allocation
19617        1.6X faster (tested with scratch-gc-dom3.html), and it reduces the memory
19618        footprint of normal world wrappers by ~2/3, and isolated world wrappers
19619        by ~1/3.
19620
19621        * WebCore.exp.in: Paying the patch tithe.
19622
19623        * bindings/js/DOMWrapperWorld.cpp:
19624        (WebCore::DOMWrapperWorld::~DOMWrapperWorld):
19625        (WebCore::DOMWrapperWorld::clearWrappers): No more per-document hash tables.
19626
19627        (WebCore::JSNodeHandleOwner::finalize): Changed to call a helper function,
19628        so the code to destroy a wrapper can live next to the code to create one.
19629
19630        * bindings/js/DOMWrapperWorld.h: No more per-document hash tables.
19631
19632        * bindings/js/JSDOMBinding.cpp:
19633        (WebCore::uncacheDOMObjectWrapper):
19634        * bindings/js/JSDOMBinding.h:
19635        (WebCore::createDOMNodeWrapper):
19636        (WebCore::getDOMNodeWrapper): No more per-document hash tables.
19637        Added uncacheDOMObjectWrapper to be symmetrical with cacheDOMObjectWrapper.
19638
19639        * bindings/js/JSDocumentCustom.cpp:
19640        (WebCore::toJS):
19641        * bindings/js/JSElementCustom.cpp:
19642        (WebCore::toJSNewlyCreated):
19643        * bindings/js/JSNodeCustom.cpp:
19644        (WebCore::createWrapperInline): Ditto.
19645
19646        * bindings/js/JSNodeCustom.h:
19647        (WebCore::getCachedDOMNodeWrapper):
19648        (WebCore::cacheDOMNodeWrapper):
19649        (WebCore::uncacheDOMNodeWrapper):
19650        (WebCore::toJS): Implemented the scheme described above.
19651
19652        * bindings/js/ScriptWrappable.h:
19653        (WebCore::ScriptWrappable::wrapper):
19654        (WebCore::ScriptWrappable::setWrapper):
19655        (WebCore::ScriptWrappable::clearWrapper): ScriptWrappable needs a handle
19656        owner now, since we don't have an extra handle living in a hash table
19657        to maintain ownership for us.
19658
19659        * dom/Document.cpp:
19660        (WebCore::Document::Document):
19661        (WebCore::Document::~Document):
19662        * dom/Document.h:
19663        * dom/Node.cpp:
19664        (WebCore::Node::setDocument): No more per-document hash tables.
19665
19666        * html/HTMLCanvasElement.cpp:
19667        (WebCore::HTMLCanvasElement::createImageBuffer): Removed call to
19668        hasCachedDOMNodeWrapperUnchecked because that was the old way of doing
19669        things, and I was in the mood for getting rid of the old way. It's
19670        debatable whether the check was ever a good idea. Even when a <canvas>
19671        doesn't have a direct JS wrapper, other JS references can still keep
19672        the <canvas> alive. So, it's probably best always to report extra cost.
19673
196742011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
19675
19676        Reviewed by Pavel Feldman.
19677
19678        Web Inspector: Rename rawRequestHeadersText and RawResponseHeadersText to requestHeadersText and responseHeadersText
19679        https://bugs.webkit.org/show_bug.cgi?id=58650
19680
19681        * inspector/Inspector.json:
19682        * inspector/InspectorResourceAgent.cpp:
19683        (WebCore::buildObjectForResourceResponse):
19684        * inspector/front-end/NetworkManager.js:
19685        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
19686        * inspector/front-end/Resource.js:
19687        (WebInspector.Resource.prototype.get requestHeadersText):
19688        (WebInspector.Resource.prototype.set requestHeadersText):
19689        (WebInspector.Resource.prototype.get requestHeadersSize):
19690        (WebInspector.Resource.prototype.get responseHeadersText):
19691        (WebInspector.Resource.prototype.set responseHeadersText):
19692        (WebInspector.Resource.prototype.get responseHeadersSize):
19693        (WebInspector.Resource.prototype._headersSize):
19694        * inspector/front-end/ResourceHeadersView.js:
19695        (WebInspector.ResourceHeadersView):
19696        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
19697        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
19698        (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
19699        (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
19700        (WebInspector.ResourceHeadersView.prototype._toggleRequestHeadersText):
19701        (WebInspector.ResourceHeadersView.prototype._toggleResponseHeadersText):
19702        (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
19703        * inspector/front-end/networkPanel.css:
19704        (.resource-headers-view .outline-disclosure li.headers-text):
19705        * platform/network/ResourceLoadInfo.h:
19706
197072011-04-15  Luke Macpherson   <macpherson@chromium.org>
19708
19709        Reviewed by Dimitri Glazkov.
19710
19711        Implement css overflow properties in CSSStyleApplyProperty
19712        https://bugs.webkit.org/show_bug.cgi?id=58633
19713
19714        No new tests required as no functionality changes.
19715
19716        * css/CSSStyleApplyProperty.cpp:
19717        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
19718        Add initializers for CSSPropertyOverflowX, CSSPropertyOverflowY and CSSPropertyOverflow.
19719        * css/CSSStyleSelector.cpp:
19720        (WebCore::CSSStyleSelector::applyProperty):
19721        Delete existing implementations.
19722
197232011-04-15  Sam Weinig  <sam@webkit.org>
19724
19725        Reviewed by Maciej Stachowiak.
19726
19727        Make mac WebKit1 use the default localization strategy
19728        https://bugs.webkit.org/show_bug.cgi?id=58628
19729
19730        * English.lproj/Localizable.strings:
19731        Update by running update-webkit-localizable-strings.
19732
19733        * platform/DefaultLocalizationStrategy.cpp:
19734        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
19735        (WebCore::DefaultLocalizationStrategy::keygenKeychainItemName):
19736        (WebCore::DefaultLocalizationStrategy::imageTitle):
19737        Match the WebKit1 versions of these functions by special casing CF platforms.
19738
197392011-04-15  Vsevolod Vlasov  <vsevik@chromium.org>
19740
19741        Reviewed by Pavel Feldman.
19742
19743        Web Inspector: No console message and headers in inspector when X-Frame-Options header blocks a load
19744        https://bugs.webkit.org/show_bug.cgi?id=58136
19745
19746        Passed response info to inspector when X-Frame-Options header blocks resource loading.
19747
19748        Test: http/tests/inspector/network/x-frame-options-deny.html
19749
19750        * inspector/InspectorInstrumentation.cpp:
19751        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDeniedImpl):
19752        * inspector/InspectorInstrumentation.h:
19753        (WebCore::InspectorInstrumentation::continueAfterXFrameOptionsDenied):
19754        * loader/MainResourceLoader.cpp:
19755        (WebCore::MainResourceLoader::didReceiveResponse):
19756
197572011-04-15  Andrey Adaikin  <aandrey@google.com>
19758
19759        Reviewed by Pavel Feldman.
19760
19761        Web Inspector: TextViewer and TextEditorModel must support both \n and \r\n as line separators
19762        https://bugs.webkit.org/show_bug.cgi?id=58449
19763
19764        Test: inspector/editor/text-editor-model.html
19765
19766        * inspector/front-end/TextEditorModel.js:
19767        (WebInspector.TextEditorModel):
19768        (WebInspector.TextEditorModel.prototype.get text):
19769        (WebInspector.TextEditorModel.prototype.setText):
19770        (WebInspector.TextEditorModel.prototype._innerSetText):
19771        (WebInspector.TextEditorModel.prototype.copyRange):
19772
197732011-04-15  Sergey Vorobyev  <sergeyvorobyev@google.com>
19774
19775        Reviewed by Yury Semikhatsky.
19776
19777        Web Inspector: Network events don't preserves,
19778        when inspector frontend closed and open again
19779        https://bugs.webkit.org/show_bug.cgi?id=58064
19780
19781        Added InspectorFrontendProxy and EventsCollector.
19782        They allow captured messages from InspectorResourceAgent
19783        to frontend (or mockFrontend if frontend disabled) and
19784        push collected data when frontend reconnect.
19785        This functionality is disabled by default.
19786
19787        * CMakeLists.txt:
19788        * GNUmakefile.list.am:
19789        * WebCore.gypi:
19790        * WebCore.pro:
19791        * WebCore.vcproj/WebCore.vcproj:
19792        * WebCore.xcodeproj/project.pbxproj:
19793        * inspector/EventsCollector.cpp: Added.
19794        (WebCore::EventsCollector::EventsCollector):
19795        (WebCore::EventsCollector::addEvent):
19796        (WebCore::EventsCollector::sendCollectedEvents):
19797        * inspector/EventsCollector.h: Added.
19798        (WebCore::EventsCollector::~EventsCollector):
19799        * inspector/Inspector.json:
19800        * inspector/InspectorFrontendProxy.cpp: Added.
19801        (WebCore::InspectorFrontendProxy::InspectorFrontendProxy):
19802        (WebCore::InspectorFrontendProxy::setInspectorFrontendChannel):
19803        (WebCore::InspectorFrontendProxy::setEventsCollector):
19804        (WebCore::InspectorFrontendProxy::sendMessageToFrontend):
19805        * inspector/InspectorFrontendProxy.h: Added.
19806        (WebCore::InspectorFrontendProxy::~InspectorFrontendProxy):
19807        * inspector/InspectorInstrumentation.cpp:
19808        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
19809        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
19810        * inspector/InspectorInstrumentation.h:
19811        (WebCore::InspectorInstrumentation::willSendRequest):
19812        (WebCore::InspectorInstrumentation::willReceiveResourceResponse):
19813        (WebCore::InspectorInstrumentation::didReceiveContentLength):
19814        (WebCore::InspectorInstrumentation::didFinishLoading):
19815        (WebCore::InspectorInstrumentation::domContentLoadedEventFired):
19816        (WebCore::InspectorInstrumentation::loadEventFired):
19817        (WebCore::InspectorInstrumentation::frameDetachedFromParent):
19818        (WebCore::InspectorInstrumentation::didCreateWebSocket):
19819        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequest):
19820        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponse):
19821        (WebCore::InspectorInstrumentation::didCloseWebSocket):
19822        * inspector/InspectorResourceAgent.cpp:
19823        (WebCore::InspectorResourceAgent::setFrontend):
19824        (WebCore::InspectorResourceAgent::resourceContent):
19825        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
19826        (WebCore::InspectorResourceAgent::didReceiveResponse):
19827        (WebCore::InspectorResourceAgent::domContentEventFired):
19828        (WebCore::InspectorResourceAgent::loadEventFired):
19829        (WebCore::InspectorResourceAgent::enabledBackgoundEventsCoollection):
19830        (WebCore::InspectorResourceAgent::enable):
19831        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
19832        * inspector/InspectorResourceAgent.h:
19833        * inspector/front-end/NetworkManager.js:
19834        (WebInspector.NetworkDispatcher.prototype.domContentEventFired):
19835        (WebInspector.NetworkDispatcher.prototype.loadEventFired):
19836        * inspector/front-end/inspector.js:
19837        (WebInspector.domContentEventFired):
19838        (WebInspector.loadEventFired):
19839
198402011-04-15  Alexis Menard  <alexis.menard@openbossa.org>
19841
19842        Reviewed by Dimitri Glazkov.
19843
19844        REGRESSION(r83397) [Qt] When clicking on the media elements they grow 2 pixels.
19845        https://bugs.webkit.org/show_bug.cgi?id=58477
19846
19847        Since r83397 the media controls elements are actual DOM elements.
19848        Therefore the global style-sheet applies to them. html.css defines
19849        input[type="button"]:active to be border-style: inset which means
19850        that when the buttons are active they grow by their border size. Therefore
19851        ports which are not using the borders must explicitly disable them in their custom
19852        stylesheet.
19853
19854        * css/mediaControlsQt.css:
19855        (audio::-webkit-media-controls-mute-button):
19856        (video::-webkit-media-controls-mute-button):
19857        (audio::-webkit-media-controls-play-button):
19858        (video::-webkit-media-controls-play-button):
19859        (video::-webkit-media-controls-fullscreen-button):
19860        * css/mediaControlsQuickTime.css:
19861        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
19862        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
19863        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
19864        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
19865        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
19866        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
19867        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
19868        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
19869        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
19870
198712011-04-15  Zelidrag Hornung  <zelidrag@chromium.org>
19872
19873        Reviewed by Darin Fisher.
19874
19875        Added enums for external file system type.
19876        https://bugs.webkit.org/show_bug.cgi?id=58456
19877
19878        * fileapi/DOMFileSystemBase.cpp:
19879        (WebCore::DOMFileSystemBase::crackFileSystemURL):
19880        * fileapi/DOMFileSystemBase.h:
19881        * fileapi/EntryBase.cpp:
19882        (WebCore::EntryBase::toURL):
19883        * page/DOMWindow.cpp:
19884        (WebCore::DOMWindow::requestFileSystem):
19885        * page/DOMWindow.h:
19886        * platform/AsyncFileSystem.h:
19887        * workers/WorkerContext.cpp:
19888        (WebCore::WorkerContext::requestFileSystem):
19889        (WebCore::WorkerContext::requestFileSystemSync):
19890        * workers/WorkerContext.h:
19891
198922011-04-15  Pavel Feldman  <pfeldman@google.com>
19893
19894        Reviewed by Yury Semikhatsky.
19895
19896        Web Inspector: make resource revisions use dedicated type (not Resource clone).
19897        https://bugs.webkit.org/show_bug.cgi?id=58659
19898
19899        * inspector/front-end/CSSStyleModel.js:
19900        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
19901        * inspector/front-end/Resource.js:
19902        (WebInspector.Resource.prototype.addRevision):
19903        (WebInspector.Resource.prototype._innerRequestContent.onResourceContent):
19904        (WebInspector.Resource.prototype._innerRequestContent):
19905        (WebInspector.ResourceRevision):
19906        (WebInspector.ResourceRevision.prototype.get resource):
19907        (WebInspector.ResourceRevision.prototype.get timestamp):
19908        (WebInspector.ResourceRevision.prototype.get content):
19909        (WebInspector.ResourceRevision.prototype.revertToThis):
19910        (WebInspector.ResourceRevision.prototype.requestContent.mycallback):
19911        (WebInspector.ResourceRevision.prototype.requestContent):
19912        * inspector/front-end/ResourceView.js:
19913        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
19914        (WebInspector.ResourceView.resourceViewForResource):
19915        (WebInspector.ResourceView.recreateResourceView):
19916        (WebInspector.ResourceView.existingResourceViewForResource):
19917        (WebInspector.RevisionSourceFrame):
19918        (WebInspector.RevisionSourceFrame.prototype.get resource):
19919        (WebInspector.RevisionSourceFrame.prototype.isContentEditable):
19920        (WebInspector.RevisionSourceFrame.prototype.requestContent):
19921        * inspector/front-end/ResourcesPanel.js:
19922        (WebInspector.ResourcesPanel.prototype._showResourceView):
19923        (WebInspector.ResourcesPanel.prototype._showRevisionView):
19924        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step1):
19925        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup.step2):
19926        (WebInspector.ResourcesPanel.prototype._fetchAndApplyDiffMarkup):
19927        (WebInspector.ResourceRevisionTreeElement):
19928        (WebInspector.ResourceRevisionTreeElement.prototype.get itemURL):
19929        (WebInspector.ResourceRevisionTreeElement.prototype.onselect):
19930        (WebInspector.ResourceRevisionTreeElement.prototype._ondragstart):
19931        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
19932        * inspector/front-end/SourceFrame.js:
19933        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
19934        (WebInspector.SourceFrame.prototype.requestContent):
19935        (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
19936        (WebInspector.SourceFrame.prototype.commitEditing):
19937
199382011-04-15  Alexander Pavlov  <apavlov@chromium.org>
19939
19940        Reviewed by Yury Semikhatsky.
19941
19942        Web Inspector: Prevent Backspace keypresses from routing into the inspected page
19943        https://bugs.webkit.org/show_bug.cgi?id=58653
19944
19945        * inspector/front-end/inspector.js:
19946        (WebInspector.documentKeyDown):
19947
199482011-04-15  Alice Boxhall  <aboxhall@chromium.org>
19949
19950        Reviewed by Ryosuke Niwa.
19951
19952        Text selection changes unexpectedly when dragging out of the <input>
19953        https://bugs.webkit.org/show_bug.cgi?id=55552
19954
19955        Tests: editing/selection/select-out-of-editable.html
19956               editing/selection/select-out-of-floated-contenteditable.html
19957               editing/selection/select-out-of-floated-input.html
19958               editing/selection/select-out-of-floated-textarea.html
19959
19960        * page/EventHandler.cpp:
19961        (WebCore::selectionExtentRespectingEditingBoundary): When dragging from an editable element, check that
19962        the endpoint is not outside the element. If it is, translate the point into a local point within
19963        the editable element.
19964        (WebCore::EventHandler::updateSelectionForMouseDrag): Call targetPositionForSelectionEndpoint() to
19965        calculate the selection endpoint.
19966
199672011-04-15  Adam Roben  <aroben@apple.com>
19968
19969        Roll out r83954
19970
19971        It was causing fast/dom/Window/timer-null-script-execution-context.html to crash on multiple
19972        bots.
19973
19974        See <http://webkit.org/b/58610>.
19975
19976        * bindings/js/JSDOMWindowCustom.cpp:
19977        (WebCore::JSDOMWindow::setTimeout):
19978        (WebCore::JSDOMWindow::setInterval):
19979        * bindings/js/JSWorkerContextCustom.cpp:
19980        (WebCore::JSWorkerContext::setTimeout):
19981        (WebCore::JSWorkerContext::setInterval):
19982        * bindings/js/ScheduledAction.cpp:
19983        (WebCore::ScheduledAction::create):
19984        * bindings/js/ScheduledAction.h:
19985        * bindings/v8/custom/V8DOMWindowCustom.cpp:
19986        (WebCore::WindowSetTimeoutImpl):
19987        * page/ContentSecurityPolicy.cpp:
19988        * page/ContentSecurityPolicy.h:
19989
199902011-04-15  Pavel Feldman  <pfeldman@google.com>
19991
19992        Reviewed by Yury Semikhatsky.
19993
19994        Web Inspector: refactor resource setContent / revisions infrastructure to get
19995        rid of onRevert callback.
19996        https://bugs.webkit.org/show_bug.cgi?id=58649
19997
19998        Instead, we will have DomainModel/Resource binding responsible for changing
19999        underlying model upon resource changes and vice versa.
20000
20001        * inspector/Inspector.json:
20002        * inspector/InspectorCSSAgent.cpp:
20003        (WebCore::InspectorCSSAgent::getStyleSheet):
20004        (WebCore::InspectorCSSAgent::getStyleSheetText):
20005        (WebCore::InspectorCSSAgent::setStyleSheetText):
20006        (WebCore::InspectorCSSAgent::setPropertyText):
20007        (WebCore::InspectorCSSAgent::toggleProperty):
20008        (WebCore::InspectorCSSAgent::setRuleSelector):
20009        (WebCore::InspectorCSSAgent::assertStyleSheetForId):
20010        * inspector/InspectorCSSAgent.h:
20011        * inspector/front-end/CSSStyleModel.js:
20012        (WebInspector.CSSStyleModel):
20013        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
20014        (WebInspector.CSSStyleModel.prototype.addRule):
20015        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback):
20016        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
20017        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
20018        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
20019        (WebInspector.CSSProperty.prototype.setText):
20020        (WebInspector.CSSProperty.prototype.setText.callback):
20021        (WebInspector.CSSProperty.prototype.setDisabled.callback):
20022        (WebInspector.CSSProperty.prototype.setDisabled):
20023        (WebInspector.CSSStyleSheet.prototype.setText):
20024        (WebInspector.CSSStyleModelResourceBinding):
20025        (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
20026        (WebInspector.CSSStyleModelResourceBinding.prototype._frameNavigated):
20027        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
20028        (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
20029        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
20030        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
20031        * inspector/front-end/DebuggerPresentationModel.js:
20032        (WebInspector.DebuggerPresentationModel):
20033        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
20034        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didReceiveSource):
20035        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
20036        (WebInspector.DebuggerPresentationModelResourceBinding):
20037        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
20038        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
20039        * inspector/front-end/Object.js:
20040        (WebInspector.Object.prototype.hasEventListeners):
20041        * inspector/front-end/Resource.js:
20042        (WebInspector.Resource):
20043        (WebInspector.Resource.registerDomainModelBinding):
20044        (WebInspector.Resource.prototype.isEditable):
20045        (WebInspector.Resource.prototype.setContent):
20046        (WebInspector.Resource.prototype.addRevision):
20047        (WebInspector.Resource.prototype.revertToThis.callback):
20048        (WebInspector.Resource.prototype.revertToThis):
20049        (WebInspector.ResourceDomainModelBinding):
20050        (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
20051        (WebInspector.ResourceDomainModelBinding.prototype.setContent):
20052        * inspector/front-end/ResourceView.js:
20053        (WebInspector.ResourceView.createResourceView):
20054        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
20055        (WebInspector.ResourceSourceFrame.prototype.isContentEditable):
20056        (WebInspector.ResourceSourceFrame.prototype.editContent):
20057        (WebInspector.ResourceSourceFrame.prototype.endEditing):
20058        (WebInspector.ResourceSourceFrame.prototype._clearIncrementalUpdateTimer):
20059        (WebInspector.ResourceSourceFrame.prototype._requestContent):
20060        * inspector/front-end/ResourcesPanel.js:
20061        (WebInspector.ResourcesPanel.prototype._resourceAdded):
20062        (WebInspector.FrameResourceTreeElement):
20063        (WebInspector.FrameResourceTreeElement.prototype._populateRevisions):
20064        (WebInspector.FrameResourceTreeElement.prototype._revisionAdded):
20065        (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
20066        * inspector/front-end/inspector.html:
20067
200682011-04-15  Andrey Kosyakov  <caseq@chromium.org>
20069
20070        Unreviewed, rolling out r83949.
20071        http://trac.webkit.org/changeset/83949
20072        https://bugs.webkit.org/show_bug.cgi?id=57960
20073
20074        broke 31 tests in chromium win & linux
20075
20076        * platform/graphics/chromium/GLES2Canvas.cpp:
20077        (WebCore::GLES2Canvas::drawTexturedRect):
20078        * platform/graphics/chromium/GLES2Canvas.h:
20079        * platform/graphics/gpu/Texture.cpp:
20080        (WebCore::copySubRect):
20081        (WebCore::Texture::load):
20082        (WebCore::Texture::updateSubRect):
20083        * platform/graphics/gpu/Texture.h:
20084        * platform/graphics/skia/ImageBufferSkia.cpp:
20085        (WebCore::getImageData):
20086        (WebCore::putImageData):
20087        (WebCore::ImageBuffer::putUnmultipliedImageData):
20088        (WebCore::ImageBuffer::putPremultipliedImageData):
20089
200902011-04-15  Ben Taylor  <bentaylor.solx86@gmail.com>
20091
20092        Reviewed by Alexey Proskuryakov.
20093
20094        Fix building with Sun Studio 12: function pointers for extern "C" are treated differently
20095        https://bugs.webkit.org/show_bug.cgi?id=58508
20096
20097        Since extern "C" makes a different type (although most compilers ignore that),
20098        we should be more careful when passing NPAPI callback functions.
20099
20100        * plugins/npapi.cpp:
20101        (NPN_PluginThreadAsyncCall):
20102
201032011-04-15  Adam Barth  <abarth@webkit.org>
20104
20105        Reviewed by Eric Seidel.
20106
20107        CSP should block string arguments to setTimeout and setInterval unless options eval-script
20108        https://bugs.webkit.org/show_bug.cgi?id=58610
20109
20110        It's somewhat sadness that the JSC and V8 code for setTimeout and
20111        setInterval are so different.  I struggled for a while with how to
20112        handle the worker case, but I decided to punt on it for now.
20113
20114        Tests: http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-allowed.html
20115               http/tests/security/contentSecurityPolicy/eval-scripts-setInterval-blocked.html
20116               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-allowed.html
20117               http/tests/security/contentSecurityPolicy/eval-scripts-setTimeout-blocked.html
20118
20119        * bindings/js/JSDOMWindowCustom.cpp:
20120        (WebCore::JSDOMWindow::setTimeout):
20121        (WebCore::JSDOMWindow::setInterval):
20122        * bindings/js/JSWorkerContextCustom.cpp:
20123        (WebCore::JSWorkerContext::setTimeout):
20124        (WebCore::JSWorkerContext::setInterval):
20125        * bindings/js/ScheduledAction.cpp:
20126        (WebCore::ScheduledAction::create):
20127        * bindings/js/ScheduledAction.h:
20128        * bindings/v8/custom/V8DOMWindowCustom.cpp:
20129        (WebCore::WindowSetTimeoutImpl):
20130        * page/ContentSecurityPolicy.cpp:
20131        (WebCore::ContentSecurityPolicy::allowEval):
20132        * page/ContentSecurityPolicy.h:
20133
201342011-04-15  Adam Barth  <abarth@webkit.org>
20135
20136        Reviewed by Eric Seidel.
20137
20138        Add support for CSP's 'self' source
20139        https://bugs.webkit.org/show_bug.cgi?id=58604
20140
20141        This change is now trivially easy.
20142
20143        Test: http/tests/security/contentSecurityPolicy/script-src-self.html
20144
20145        * page/ContentSecurityPolicy.cpp:
20146        (WebCore::CSPSourceList::addSourceSelf):
20147
201482011-04-15  Anna Cavender  <annacc@chromium.org>
20149
20150        Reviewed by Eric Carlson.
20151
20152        Renaming TRACK feature define to VIDEO_TRACK
20153        https://bugs.webkit.org/show_bug.cgi?id=53556
20154
20155        No new tests. No new functionality.
20156
20157        * CMakeLists.txt:
20158        * Configurations/FeatureDefines.xcconfig:
20159        * DerivedSources.make:
20160        * GNUmakefile.am:
20161        * features.pri:
20162        * html/HTMLTagNames.in:
20163        * html/HTMLTrackElement.cpp:
20164        * html/HTMLTrackElement.h:
20165        * html/HTMLTrackElement.idl:
20166
201672011-04-14  Andrey Adaikin  <aandrey@google.com>
20168
20169        Reviewed by Pavel Feldman.
20170
20171        Web Inspector: Ctrl+Left/Right switch panels during live editing
20172        https://bugs.webkit.org/show_bug.cgi?id=58521
20173
20174        Disable Ctrl+Left/Right keyboard shortcuts while in live edit.
20175
20176        * inspector/front-end/SourceFrame.js:
20177        (WebInspector.SourceFrame.prototype.readOnlyStateChanged):
20178        * inspector/front-end/TextViewer.js:
20179        (WebInspector.TextViewer.prototype.set readOnly):
20180        (WebInspector.TextViewer.prototype.get readOnly):
20181        (WebInspector.TextViewer.prototype._doubleClick):
20182        (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
20183        (WebInspector.TextViewer.prototype._commitEditing):
20184        (WebInspector.TextViewer.prototype._cancelEditing):
20185        (WebInspector.TextViewerDelegate.prototype.readOnlyStateChanged):
20186        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
20187        * inspector/front-end/inspector.js:
20188        (WebInspector.markBeingEdited):
20189        (WebInspector.isEditingAnyField):
20190        (WebInspector.startEditing.cleanUpAfterEditing):
20191
201922011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
20193
20194        Reviewed by Pavel Feldman.
20195
20196        Web Inspector: Enable raw HTTP headers support
20197        https://bugs.webkit.org/show_bug.cgi?id=58259
20198
20199        Added raw headers text support to inspector.
20200
20201        * English.lproj/localizedStrings.js:
20202        * inspector/Inspector.json:
20203        * inspector/InspectorResourceAgent.cpp:
20204        (WebCore::buildObjectForResourceResponse):
20205        * inspector/front-end/NetworkManager.js:
20206        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
20207        * inspector/front-end/Resource.js:
20208        (WebInspector.Resource):
20209        (WebInspector.Resource.prototype.get transferSize):
20210        (WebInspector.Resource.prototype.set requestHeaders):
20211        (WebInspector.Resource.prototype.get rawRequestHeadersText):
20212        (WebInspector.Resource.prototype.set rawRequestHeadersText):
20213        (WebInspector.Resource.prototype.get requestHeadersSize):
20214        (WebInspector.Resource.prototype.set responseHeaders):
20215        (WebInspector.Resource.prototype.get rawResponseHeadersText):
20216        (WebInspector.Resource.prototype.set rawResponseHeadersText):
20217        (WebInspector.Resource.prototype.get responseHeadersSize):
20218        (WebInspector.Resource.prototype._headersSize):
20219        * inspector/front-end/ResourceHeadersView.js:
20220        (WebInspector.ResourceHeadersView):
20221        (WebInspector.ResourceHeadersView.prototype._refreshParms):
20222        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
20223        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
20224        (WebInspector.ResourceHeadersView.prototype._refreshHeadersTitle):
20225        (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
20226        (WebInspector.ResourceHeadersView.prototype._refreshRawHeadersText):
20227        (WebInspector.ResourceHeadersView.prototype._toggleRawRequestHeadersText):
20228        (WebInspector.ResourceHeadersView.prototype._toggleRawResponseHeadersText):
20229        (WebInspector.ResourceHeadersView.prototype._createToggleButton):
20230        (WebInspector.ResourceHeadersView.prototype._createHeadersToggleButton):
20231        * inspector/front-end/networkPanel.css:
20232        (.resource-headers-view .outline-disclosure li .header-toggle):
20233        (.resource-headers-view .outline-disclosure li.expanded .header-toggle):
20234        (.resource-headers-view .outline-disclosure li .header-toggle:hover):
20235        (.resource-headers-view .outline-disclosure li.raw-headers-text):
20236        * platform/network/ResourceLoadInfo.h:
20237
202382011-04-14  Justin Novosad  <junov@chromium.org>
20239
20240        Reviewed by Kenneth Russell.
20241
20242        [Chromium] Accelerated 2D Canvas is slow to execute putImageData
20243        https://bugs.webkit.org/show_bug.cgi?id=57960
20244
20245        * platform/graphics/chromium/GLES2Canvas.cpp:
20246        (WebCore::GLES2Canvas::drawTexturedRect):
20247        Added an option for using the blend ops for alpha multiplication
20248        instead of compositing.
20249        (WebCore::GLES2Canvas::applyClipping):
20250        (WebCore::GLES2Canvas::putImageData):
20251        New method for drawing raw pixel data from memory to the canvas
20252        (WebCore::GLES2Canvas::putUnmultipliedImageData):
20253        Wrapper for putImageData
20254        (WebCore::GLES2Canvas::putPremultipliedImageData):
20255        Wrapper for putImageData
20256        * platform/graphics/chromium/GLES2Canvas.h:
20257        * platform/graphics/gpu/Texture.cpp:
20258        (WebCore::copySubRect):
20259        (WebCore::Texture::load):
20260        (WebCore::Texture::updateSubRect):
20261        Added an overload of the updateSubRect method that can receive a pixel
20262        of a size that is different from texture size. Improved the performance
20263        of updateSubrect by avoiding the allocation of a temporary buffer when
20264        not required.
20265        * platform/graphics/gpu/Texture.h:
20266        * platform/graphics/skia/ImageBufferSkia.cpp:
20267        (WebCore::getImageData):
20268        In the unmultiplied path, division by alpha now performs proper
20269        rounding in order to avoid generational degradation with putImageData
20270        (WebCore::putImageData):
20271        Alpha multiplication now performs proper rounding in order to be
20272        consistent with the hardware rendering path: OpenGL always rounds when
20273        converting to fixed point representation.
20274        (WebCore::ImageBuffer::putUnmultipliedImageData):
20275        Now supports a hardware rendering path, which eliminates the need
20276        for a readback from the GPU
20277        (WebCore::ImageBuffer::putPremultipliedImageData):
20278        Now supports a hardware rendering path, which eliminates the need
20279        for a readback from the GPU
20280
202812011-04-14  Joone Hur  <joone.hur@collabora.co.uk>
20282
20283        Reviewed by Martin Robinson.
20284
20285        Creating a CairoPath instance is not thread safe
20286        https://bugs.webkit.org/show_bug.cgi?id=58514
20287
20288        This patch allows a cairo surface to be created just one time in order to
20289        guarantee thread safety.
20290        In addition, CairoPath.{h,cpp} is renamed to PlatformPathCairo.{h,cpp} to
20291        prevent confusing them with PathCairo.cpp
20292
20293        * CMakeListsEfl.txt: Added PlatformPathCairo.cpp
20294        * GNUmakefile.list.am: Added PlatformPathCairo.{h,cpp} instead of CairoPath.h.
20295        * platform/graphics/cairo/CairoPath.h: Removed.
20296        * platform/graphics/cairo/CairoUtilities.cpp: Include PlatformPathCairo.h instead of CairoPath.h.
20297        * platform/graphics/cairo/GraphicsContextCairo.cpp: Ditto.
20298        * platform/graphics/cairo/PathCairo.cpp: Ditto.
20299        * platform/graphics/cairo/PlatformPathCairo.cpp: Added.
20300        (WebCore::getPathSurface): Getting a static cairo surface.
20301        (WebCore::CairoPath::CairoPath): Moved the implementation of the constructor
20302        into the CPP file.
20303        * platform/graphics/cairo/PlatformPathCairo.h: Renamed CairoPath.h to this.
20304        (WebCore::CairoPath::~CairoPath):
20305        (WebCore::CairoPath::context):
20306
203072011-04-14  Nat Duca  <nduca@chromium.org>
20308
20309        Reviewed by Darin Fisher.
20310
20311        [chromium] Add lowpass filter and graph to fps indicator
20312        https://bugs.webkit.org/show_bug.cgi?id=58186
20313
20314        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
20315        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
20316        (WebCore::CCHeadsUpDisplay::drawHudContents):
20317        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
20318        (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
20319        (WebCore::CCHeadsUpDisplay::onPresent):
20320        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
20321
203222011-04-14  Beth Dakin  <bdakin@apple.com>
20323
20324        Reviewed by Adele Peterson.
20325
20326        https://bugs.webkit.org/show_bug.cgi?id=58612
20327        Crash switching overlay/non-overlay scrollbar preference
20328        (WebCore::Page::setNeedsRecalcStyleInAllFrames + 9)
20329        -and corresponding-
20330        <rdar://problem/9241920>
20331
20332        Speculative fix: Page could definitely be null here.
20333        * page/FrameView.cpp:
20334        (WebCore::FrameView::scrollbarStyleChanged):
20335
203362011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
20337
20338        Reviewed by Pavel Feldman.
20339
20340        Web Inspector: ResourceResponse should have encodedDataLength field for synchronous requests transfer size
20341        https://bugs.webkit.org/show_bug.cgi?id=58447
20342
20343        FrameLoader now takes encoded data length for synchronous requests from the field with the same name.
20344
20345        * loader/FrameLoader.cpp:
20346        (WebCore::FrameLoader::loadResourceSynchronously):
20347        * platform/network/ResourceLoadInfo.h:
20348        (WebCore::ResourceLoadInfo::ResourceLoadInfo):
20349
203502011-04-14  Alok Priyadarshi  <alokp@chromium.org>
20351
20352        Reviewed by James Robinson.
20353
20354        Remove dependency on chromium skia::PlatformCanvas
20355        https://bugs.webkit.org/show_bug.cgi?id=57563
20356
20357        This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas. The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium. We will eventually define an API that every port using skia will define.
20358
20359        * platform/graphics/chromium/FontChromiumWin.cpp:
20360        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
20361        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
20362        (WebCore::Font::drawComplexText):
20363        * platform/graphics/chromium/ImageBufferDataSkia.h:
20364        * platform/graphics/chromium/LayerChromium.h:
20365        * platform/graphics/chromium/LayerRendererChromium.h:
20366        * platform/graphics/chromium/PlatformCanvas.cpp:
20367        (WebCore::PlatformCanvas::resize):
20368        * platform/graphics/chromium/PlatformCanvas.h:
20369        * platform/graphics/chromium/TransparencyWin.cpp:
20370        (WebCore::TransparencyWin::compositeTextComposite):
20371        (WebCore::TransparencyWin::makeLayerOpaque):
20372        * platform/graphics/skia/ImageBufferSkia.cpp:
20373        (WebCore::ImageBuffer::ImageBuffer):
20374        * platform/graphics/skia/ImageSkia.cpp:
20375        (WebCore::paintSkBitmap):
20376        (WebCore::Image::drawPattern):
20377        * platform/graphics/skia/PlatformContextSkia.cpp:
20378        (WebCore::PlatformContextSkia::PlatformContextSkia):
20379        (WebCore::PlatformContextSkia::setCanvas):
20380        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
20381        * platform/graphics/skia/PlatformContextSkia.h:
20382        (WebCore::PlatformContextSkia::canvas):
20383        (WebCore::PlatformContextSkia::printing):
20384        (WebCore::PlatformContextSkia::setPrinting):
20385
203862011-04-14  Eric Seidel  <eric@webkit.org>
20387
20388        Reviewed by Simon Fraser.
20389
20390        PumpSession should not call currentTime() in the constructor
20391        https://bugs.webkit.org/show_bug.cgi?id=55211
20392
20393        currentTime() is expensive.  So we avoid calling it in the constructor
20394        and instead set startTime on the first check for a yield
20395        (which in the synchronous case never happens, and in the yielding
20396        case will happen immediately after the first token due to
20397        processedTokens being set to INT_MAX).
20398
20399        This ended up being a large win on (my local copy of)
20400        peacekeeper's domDynamicCreationCreateElement:
20401
20402        Before:
20403        avg 366.3333333333333
20404        median 366
20405        stdev 2.712112747574399
20406        min 362
20407        max 377
20408
20409        After:
20410        avg 345.96666666666664
20411        median 346
20412        stdev 1.6829207415152454
20413        min 343
20414        max 349
20415
20416        * html/parser/HTMLDocumentParser.cpp:
20417        * html/parser/HTMLParserScheduler.h:
20418        (WebCore::PumpSession::PumpSession):
20419        (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
20420
204212011-04-14  Ami Fischman  <fischman@google.com>
20422
20423        Reviewed by Eric Carlson.
20424
20425        Remove unnecessary bottom margin of controls in video elements on media documents.
20426        This makes the cases of media documents and non-media documents consistent,
20427        and makes it possible to reason about the height of a rendered media document
20428        (needed e.g. for sizing iframes).
20429
20430        This change is covered by (the currently Skipped, but soon-to-be-un-Skipped)
20431        media/video-controls-in-media-document.html layouttest (see bug 54634 for
20432        the un-Skipping).
20433
20434        https://bugs.webkit.org/show_bug.cgi?id=58442
20435
20436        * css/mediaControls.css:
20437        (video:-webkit-full-page-media::-webkit-media-controls-panel):
20438        * css/mediaControlsEfl.css:
20439        (video:-webkit-full-page-media::-webkit-media-controls-panel):
20440        * css/mediaControlsQuickTime.css:
20441        (video:-webkit-full-page-media::-webkit-media-controls-panel):
20442
204432011-04-14  Geoffrey Garen  <ggaren@apple.com>
20444
20445        Reviewed by Oliver Hunt.
20446
20447        Use opaque roots instead of direct marking for nodes in the DOM
20448        https://bugs.webkit.org/show_bug.cgi?id=58624
20449
20450        A node treats the root of its tree (usually the document) as its opaque
20451        root during GC.
20452
20453        This is needed for correctness in a generational GC world, but it also
20454        happens to be a 3.5X speedup in a DOM-heavy GC test (scratch-gc-dom2.html).
20455
20456        * bindings/js/DOMWrapperWorld.cpp:
20457        (WebCore::isObservable):
20458        (WebCore::isReachableFromDOM): Moved a helper function from JSDOMBinding.
20459        We use this function to determine whether a node is observable.
20460
20461        (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots): Start using
20462        our weak handle callback to determine reachability, instead of direct
20463        marking traversal through the DOM.
20464
20465        * bindings/js/JSAttrCustom.cpp:
20466        (WebCore::JSAttr::markChildren): Updated to use the opaque roots mechanism
20467        instead of direct marking.
20468
20469        * bindings/js/JSDOMBinding.cpp:
20470        * bindings/js/JSDOMBinding.h: Moved code mentioned above. Removed
20471        markDOMNodeWrapper because it is now unused. This is a good thing because
20472        markDOMNodeWrapper used deprecatedAppend, which is not compatible
20473        with generational GC.
20474
20475        * bindings/js/JSDOMImplementationCustom.cpp:
20476        (WebCore::JSDOMImplementation::markChildren): Updated to use opaque roots.
20477
20478        * bindings/js/JSDocumentCustom.cpp:
20479        (WebCore::JSDocument::markChildren): No need to mark our child nodes directly,
20480        since they will take care of themselves through the opaque roots mechanism.
20481
20482        * bindings/js/JSNamedNodeMapCustom.cpp:
20483        (WebCore::JSNamedNodeMap::markChildren): Updated to use opaque roots.
20484
20485        * bindings/js/JSNodeCustom.cpp:
20486        (WebCore::JSNode::markChildren): No need to mark our tree or our document
20487        directly, since they will take care of themselves through the opaque
20488        roots mechanism.
20489
20490        * bindings/js/JSNodeCustom.h:
20491        (WebCore::root): Helper function for accessing the root of a node tree.
20492        This is O(1) while you're in the document, O(log(N)) when you're in a
20493        reasonably balanced disconnected tree, and O(N) in the pathological case
20494        of a disconnected tree that's shaped like a linked list. If average case
20495        O(long(N)) turns out to be too slow, we can optimize through use of
20496        rare data or an external hash table, but it is so uncommon that I have
20497        ignored it for now.
20498
20499        * bindings/js/JSSVGElementInstanceCustom.cpp:
20500        (WebCore::JSSVGElementInstance::markChildren): Updated to use opaque roots.
20501
205022011-04-14  Mike Reed  <reed@google.com>
20503
20504        Reviewed by Kenneth Russell.
20505
20506        fix shadows with gradients
20507        https://bugs.webkit.org/show_bug.cgi?id=58376
20508
20509        No new tests. Existing tests exercise this
20510        LayoutTests/fast/canvas/canvas-fillPath-gradient-shadow.html
20511
20512        * platform/graphics/skia/GraphicsContextSkia.cpp:
20513        (WebCore::GraphicsContext::setPlatformShadow):
20514
205152011-04-14  Vsevolod Vlasov  <vsevik@chromium.org>
20516
20517        Reviewed by Pavel Feldman.
20518
20519        Web Inspector: No headers information in network panel for downloads.
20520        https://bugs.webkit.org/show_bug.cgi?id=58139
20521
20522        Passed resource response to inspector for PolicyDownload and PolicyIgnore requests.
20523
20524        Test: http/tests/inspector/network/download.html
20525
20526        * inspector/InspectorInstrumentation.cpp:
20527        (WebCore::InspectorInstrumentation::didReceiveResourceResponseButCanceledImpl):
20528        (WebCore::InspectorInstrumentation::continueWithPolicyDownloadImpl):
20529        (WebCore::InspectorInstrumentation::continueWithPolicyIgnoreImpl):
20530        * inspector/InspectorInstrumentation.h:
20531        (WebCore::InspectorInstrumentation::continueWithPolicyDownload):
20532        (WebCore::InspectorInstrumentation::continueWithPolicyIgnore):
20533        * loader/MainResourceLoader.cpp:
20534        (WebCore::MainResourceLoader::continueAfterContentPolicy):
20535
205362011-04-14  Joone Hur  <joone.hur@collabora.co.uk>
20537
20538        Reviewed by Martin Robinson.
20539
20540        Convert use of raw pointers to RefPtr in using Cairo
20541        https://bugs.webkit.org/show_bug.cgi?id=57717
20542
20543        No new tests added becaue of just replacing raw pointers with smart pointers.
20544
20545        * platform/graphics/cairo/ContextShadowCairo.cpp: Use a RefPtr<cairo_surface_t> instead of raw pointer.
20546        (WebCore::purgeScratchBuffer):
20547        (WebCore::getScratchBuffer):
20548        * platform/graphics/cairo/ImageBufferCairo.cpp: Use a RefPtr<cairo_t> instead of raw pointer.
20549        (copySurface):
20550
205512011-04-14  Naoki Takano  <takano.naoki@gmail.com>
20552
20553        Reviewed by Eric Seidel.
20554
20555        [Chromium]Change menu list background fallback value to transparent to work background:none for HTML select tag.
20556        https://bugs.webkit.org/show_bug.cgi?id=57818
20557
20558        Test: fast/forms/select-background-none.html
20559
20560        This fix is only for Chromium on Linux. Chromium on Mac already works fine.
20561        But Windows has the same problem. This change doesn't include Windows part.
20562
20563        * rendering/RenderThemeChromiumLinux.cpp:
20564        (WebCore::RenderThemeChromiumLinux::paintMenuList): Change the default color to transparent.
20565
205662011-04-14  Luke Macpherson   <macpherson@chromium.org>
20567
20568        Reviewed by Dimitri Glazkov.
20569
20570        Implement border style css properties in CSSStyleApplyProperty
20571        https://bugs.webkit.org/show_bug.cgi?id=58506
20572
20573        No new functionality added.
20574
20575        * css/CSSStyleApplyProperty.cpp:
20576        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
20577        Added new property initializers.
20578
20579        * css/CSSStyleSelector.cpp:
20580        (WebCore::CSSStyleSelector::applyProperty):
20581        Removed old property handlers.
20582
205832011-04-14  Dimitri Glazkov  <dglazkov@chromium.org>
20584
20585        Reviewed by Ojan Vafai.
20586
20587        Presence of shadow DOM should suppress rendering of ordinary child nodes
20588        https://bugs.webkit.org/show_bug.cgi?id=58073
20589
20590        Test: fast/dom/shadow/no-renderers-for-light-children.html
20591
20592        * dom/Node.cpp:
20593        (WebCore::shadowRoot): Added a helper function.
20594        (WebCore::Node::setDocumentRecursively): Changed to use the helper.
20595        (WebCore::shouldCreateRendererFor): Expanded a long condition check into a helper function,
20596            added a check for children of an element with a shadow DOM.
20597        (WebCore::Node::createRendererAndStyle): Changed to use the helper.
20598
205992011-04-14  Adrienne Walker  <enne@google.com>
20600
20601        Reviewed by James Robinson.
20602
20603        [chromium] Tile content and image layers
20604        https://bugs.webkit.org/show_bug.cgi?id=57113
20605
20606        Layers tile by default if any dimension is larger than 512.  Smaller
20607        layers are contained within a single texture but still use the tiler
20608        infrastructure so that there's only one code path.
20609
20610        Remove large layer support from content layers.  Content layers no
20611        longer own a platform canvas--they own a tiler.  Refactor tiler to
20612        allow for better separation of update/upload/paint.  Add rect
20613        parameter to update and draw functions on layers for the layer-space
20614        rect of interest.  This is necessary to know which tiles need to be
20615        drawn.
20616
20617        * platform/graphics/chromium/ContentLayerChromium.cpp:
20618        (WebCore::ContentLayerChromium::ContentLayerChromium):
20619        (WebCore::ContentLayerChromium::~ContentLayerChromium):
20620        (WebCore::ContentLayerPainter::ContentLayerPainter):
20621        (WebCore::ContentLayerPainter::paint):
20622        (WebCore::ContentLayerChromium::paintContentsIfDirty):
20623        (WebCore::ContentLayerChromium::setLayerRenderer):
20624        (WebCore::ContentLayerChromium::tilingTransform):
20625        (WebCore::ContentLayerChromium::visibleLayerRect):
20626        (WebCore::ContentLayerChromium::layerBounds):
20627        (WebCore::ContentLayerChromium::updateLayerSize):
20628        (WebCore::ContentLayerChromium::draw):
20629        (WebCore::ContentLayerChromium::createTilerIfNeeded):
20630        (WebCore::ContentLayerChromium::updateCompositorResources):
20631        (WebCore::ContentLayerChromium::setTilingOption):
20632        (WebCore::ContentLayerChromium::bindContentsTexture):
20633        (WebCore::ContentLayerChromium::unreserveContentsTexture):
20634        (WebCore::ContentLayerChromium::setIsMask):
20635        (WebCore::ContentLayerChromium::dumpLayerProperties):
20636        * platform/graphics/chromium/ContentLayerChromium.h:
20637        (WebCore::ContentLayerChromium::drawsContent):
20638        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
20639        (WebCore::GraphicsLayerChromium::setMaskLayer):
20640        * platform/graphics/chromium/ImageLayerChromium.cpp:
20641        (WebCore::ImageLayerChromium::paintContentsIfDirty):
20642        (WebCore::ImageLayerChromium::updateCompositorResources):
20643        (WebCore::ImageLayerChromium::layerBounds):
20644        (WebCore::ImageLayerChromium::tilingTransform):
20645        * platform/graphics/chromium/ImageLayerChromium.h:
20646        * platform/graphics/chromium/LayerChromium.h:
20647        (WebCore::LayerChromium::invalidateRect):
20648        (WebCore::LayerChromium::paintContentsIfDirty):
20649        (WebCore::LayerChromium::setIsMask):
20650        (WebCore::LayerChromium::draw):
20651        * platform/graphics/chromium/LayerRendererChromium.cpp:
20652        (WebCore::LayerRendererChromium::drawRootLayer):
20653        (WebCore::LayerRendererChromium::drawLayers):
20654        (WebCore::LayerRendererChromium::paintContentsRecursive):
20655        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
20656        (WebCore::LayerRendererChromium::drawLayer):
20657        (WebCore::LayerRendererChromium::initializeSharedObjects):
20658        (WebCore::LayerRendererChromium::cleanupSharedObjects):
20659        * platform/graphics/chromium/LayerRendererChromium.h:
20660        * platform/graphics/chromium/LayerTilerChromium.cpp:
20661        (WebCore::LayerTilerChromium::setTileSize):
20662        (WebCore::LayerTilerChromium::getSingleTexture):
20663        (WebCore::LayerTilerChromium::invalidateRect):
20664        (WebCore::LayerTilerChromium::update):
20665        (WebCore::LayerTilerChromium::uploadCanvas):
20666        (WebCore::LayerTilerChromium::updateFromPixels):
20667        (WebCore::LayerTilerChromium::draw):
20668        (WebCore::LayerTilerChromium::unreserveTextures):
20669        * platform/graphics/chromium/LayerTilerChromium.h:
20670        (WebCore::LayerTilerChromium::setLayerRenderer):
20671        (WebCore::LayerTilerChromium::skipsDraw):
20672        * platform/graphics/chromium/PlatformCanvas.cpp:
20673        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
20674        (WebCore::PlatformCanvas::Painter::Painter):
20675        * platform/graphics/chromium/PlatformCanvas.h:
20676        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
20677        (WebCore::RenderSurfaceChromium::draw):
20678        * platform/graphics/chromium/RenderSurfaceChromium.h:
20679        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
20680        (WebCore::CCCanvasLayerImpl::draw):
20681        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
20682        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
20683        (WebCore::CCHeadsUpDisplay::draw):
20684        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
20685        (WebCore::CCLayerImpl::draw):
20686        * platform/graphics/chromium/cc/CCLayerImpl.h:
20687        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
20688        (WebCore::CCPluginLayerImpl::draw):
20689        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
20690        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
20691        (WebCore::CCVideoLayerImpl::draw):
20692        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
20693
206942011-04-14  James Robinson  <jamesr@chromium.org>
20695
20696        Reviewed by Darin Fisher.
20697
20698        [chromium] REGRESSION(83820): Composited scrollbar layers sometimes not positioned when initially creating frame
20699        https://bugs.webkit.org/show_bug.cgi?id=58575
20700
20701        Tell the RenderLayerCompositor to create/destroy composited layers for overflow controls on a FrameView when visibleContentsResized()
20702        is called, not contentsResized() so that we always update layers when adding or removing scrollbars.
20703
20704        Covered by several chromium pixel tests.
20705
20706        * page/FrameView.cpp:
20707        (WebCore::FrameView::contentsResized):
20708        (WebCore::FrameView::visibleContentsResized):
20709
207102011-04-07  David Levin  <levin@chromium.org>
20711
20712        Reviewed by Brady Eidson.
20713
20714        Fix some threading issues in IconDatabase.
20715        https://bugs.webkit.org/show_bug.cgi?id=57985
20716
20717        No functionality change so no new tests. It would be very hard to test this, but
20718        I am working on a change for bug 31639 to detect these (which makes layout tests
20719        fail for at least one of these issues).
20720
20721        * loader/icon/IconDatabase.cpp:
20722        (WebCore::IconDatabase::setIconDataForIconURL): Release imageData so that it won't get deref'ed outside of locks.
20723        (WebCore::IconDatabase::readFromDatabase): Ditto.
20724        (WebCore::IconDatabase::writeToDatabase): Acquire m_urlAndIconLock because the SharedBuffer<> data
20725        is used, and this lock seems to be the one which consistently guards it.
20726
207272011-04-14  Dmitry Titov  <dimich@chromium.org>
20728
20729        Reviewed by David Levin.
20730
20731        Simplifying Worker termination sequence (removing unnecessary mutex)
20732        https://bugs.webkit.org/show_bug.cgi?id=57090
20733
20734        No new tests. Existing Worker tests should pass.
20735
20736        * bindings/js/JSEventListener.cpp:
20737        (WebCore::JSEventListener::handleEvent):
20738        Check for Terminator-caused exception (or Terminator::shouldTerminate since sometimes
20739        JS might not run significant enough chunk to be terminated by Terminator) and set
20740        the flag to forbid future reentry into JS.
20741
20742        * bindings/js/WorkerScriptController.cpp:
20743        (WebCore::WorkerScriptController::evaluate):
20744        (WebCore::WorkerScriptController::scheduleExecutionTermination):
20745        (WebCore::WorkerScriptController::forbidExecution):
20746        (WebCore::WorkerScriptController::isExecutionForbidden):
20747        * bindings/js/WorkerScriptController.h:
20748        * bindings/v8/WorkerScriptController.cpp:
20749        (WebCore::WorkerScriptController::evaluate):
20750        (WebCore::WorkerScriptController::scheduleExecutionTermination):
20751        (WebCore::WorkerScriptController::forbidExecution):
20752        (WebCore::WorkerScriptController::isExecutionForbidden):
20753        * bindings/v8/WorkerScriptController.h:
20754        (WebCore::WorkerScriptController::proxy):
20755        Symmetrical changes to JSC and V8 WorkerScriptControllers:
20756        - remove Mutex around operations with executionForbidden flag.
20757        - set/check that flag only on Worker thread.
20758        - some renaming in attempt to better reflect what the methods do.
20759
20760        * bindings/v8/V8AbstractEventListener.cpp:
20761        (WebCore::V8AbstractEventListener::handleEvent):
20762        (WebCore::V8AbstractEventListener::invokeEventHandler):
20763        * bindings/v8/WorkerContextExecutionProxy.cpp:
20764        (WebCore::WorkerContextExecutionProxy::evaluate):
20765        Check for v8::TryCatch::CanContinue() and set forbidExecution flag.
20766        This result indicates that TerminateExecution() was in effect - we should
20767        not reenter V8 anymore after that.
20768
20769        * dom/Document.h:
20770        (WebCore::Document::isJSExecutionForbidden):
20771        * dom/MessagePort.cpp:
20772        (WebCore::MessagePort::dispatchMessages):
20773        Stop dispatching messages once the worker context started to close.
20774        Per Workers spec, once WorkerGlobalScope.Close() is called, the next
20775        JS execution does not happen, including onmessage events. Before this
20776        change, Close() was setting the forbidExecution flag, indirectly stopping
20777        events from dispatching.
20778
20779        * dom/ScriptExecutionContext.h:
20780        * workers/WorkerContext.cpp:
20781        (WebCore::WorkerContext::close):
20782        (WebCore::WorkerContext::isJSExecutionForbidden):
20783        * workers/WorkerContext.h:
20784        * workers/WorkerThread.cpp:
20785        (WebCore::WorkerThread::workerThread):
20786        (WebCore::WorkerThread::stop):
20787
207882011-04-14  Beth Dakin  <bdakin@apple.com>
20789
20790        Reviewed by Simon Fraser.
20791
20792        https://bugs.webkit.org/show_bug.cgi?id=56493
20793        Drag-scrolling overlay scrollbars thumb in overflow regions does not work
20794        -and corresponding-
20795        <rdar://problem/9112688>
20796
20797        There was an original change to fix this in the normal hit-testing case, but hit
20798        testing of transformed and/or positioned objects was still broken. The transformed
20799        case is fixed by sending an OverlayScrollbarSizeRelevancy parameter to
20800        calculateRects(). Getting positioned objects right is a little trickier. Those need
20801        to opt into using temporary clip rects during hit testing. To avoid doing that when
20802        it is not necessary, I added a new bit to ScrollView to track whether there are
20803        currently overlay scrollbars painted in the view.
20804        * platform/ScrollView.cpp:
20805        (WebCore::ScrollView::ScrollView):
20806        (WebCore::ScrollView::wheelEvent):
20807        * platform/ScrollView.h:
20808        (WebCore::ScrollView::containsScrollableAreaWithOverlayScrollbars):
20809        (WebCore::ScrollView::setContainsScrollableAreaWithOverlayScrollbars):
20810        * rendering/RenderLayer.cpp:
20811        (WebCore::RenderLayer::paintOverflowControls):
20812        (WebCore::RenderLayer::hitTestLayer):
20813        (WebCore::RenderLayer::updateClipRects):
20814        (WebCore::RenderLayer::calculateClipRects):
20815        (WebCore::RenderLayer::parentClipRects):
20816        (WebCore::RenderLayer::backgroundClipRect):
20817        (WebCore::RenderLayer::calculateRects):
20818        * rendering/RenderLayer.h:
20819
208202011-04-14  Antti Koivisto  <antti@apple.com>
20821
20822        Reviewed by Oliver Hunt.
20823
20824        REGRESSION(r74107): Including svg format in @font-face rules makes Web Fonts fail to load
20825        https://bugs.webkit.org/show_bug.cgi?id=57766
20826        <rdar://problem/9232183>
20827
20828        Move the knowledge of whether to interpret a font as SVG from CachedFont to CSSFontFaceSource. This way
20829        we can try to interpret the same cached resource in multiple ways.
20830
20831        Test: fast/css/font-face-repeated-url.html
20832
20833        * css/CSSFontFaceSource.cpp:
20834        (WebCore::CSSFontFaceSource::CSSFontFaceSource):
20835        (WebCore::CSSFontFaceSource::getFontData):
20836        * css/CSSFontFaceSource.h:
20837        (WebCore::CSSFontFaceSource::setHasExternalSVGFont):
20838        * css/CSSFontSelector.cpp:
20839        (WebCore::CSSFontSelector::addFontFaceRule):
20840        * loader/cache/CachedFont.cpp:
20841        (WebCore::CachedFont::CachedFont):
20842        (WebCore::CachedFont::ensureCustomFontData):
20843        (WebCore::CachedFont::ensureSVGFontData):
20844
20845            Use TextResourceDecoder correctly.
20846
20847        (WebCore::CachedFont::getSVGFontById):
20848        * loader/cache/CachedFont.h:
20849        * svg/SVGFontFaceUriElement.cpp:
20850        (WebCore::SVGFontFaceUriElement::loadFont):
20851
208522011-04-14  Kenneth Russell  <kbr@google.com>
20853
20854        Reviewed by Dimitri Glazkov.
20855
20856        Enable building Web Audio with MKL in Chrome-branded builds
20857        https://bugs.webkit.org/show_bug.cgi?id=58561
20858
20859        Factored out MKL support into a separate GYP file that is
20860        incorporated in Chrome-branded builds. Changed how the FFTFrame
20861        implementations are pulled in and chosen so that all files can be
20862        unconditionally compiled.
20863
20864        Tested with both Chrome-branded build (incorporating MKL) and
20865        Chromium build (building just FFTFrameStub.cpp) on Linux.
20866
20867        * WebCore.gyp/WebCore.gyp:
20868        * platform/audio/fftw/FFTFrameFFTW.cpp:
20869        * platform/audio/mkl/FFTFrameMKL.cpp:
20870
208712011-04-14  Ragner Magalhaes  <ragner.magalhaes@openbossa.org>
20872
20873        Reviewed by Antonio Gomes.
20874
20875        [Qt] Web Inspector does not highlight elements
20876        https://bugs.webkit.org/show_bug.cgi?id=35125
20877
20878        We should call drawNodeHighlight() just if a highlighted node exists
20879        to avoid do save()/restore() on the Graphics Context unnecessarily.
20880
20881        Added highlightedNode() method to check if we need to call drawNodeHighlight()
20882        and only on this case do save()/restore() on the Graphics Context.
20883
20884        * inspector/InspectorAgent.h:
20885        (WebCore::InspectorAgent::highlightedNode):
20886
208872011-04-14  Adrienne Walker  <enne@google.com>
20888
20889        Reviewed by James Robinson.
20890
20891        [chromium] TilingData should return 1 tile when tile size is texture size.
20892        https://bugs.webkit.org/show_bug.cgi?id=58364
20893
20894        * platform/graphics/gpu/TilingData.cpp:
20895        (WebCore::computeNumTiles):
20896
208972011-04-14  Andy Estes  <aestes@apple.com>
20898
20899        Reviewed by Dan Bernstein.
20900
20901        REGRESSION (r72141): Acid3 rendering is not pixel perfect.
20902        https://bugs.webkit.org/show_bug.cgi?id=55734
20903
20904        WebCore should render text with a 0px font size at 0px regardless of
20905        minimum font size settings. This is compatible with other browsers that
20906        have a minimum font size preference and ensures pixel-perfect rendering
20907        on Acid3.
20908
20909        Test: fast/text/zero-font-size.html
20910
20911        * css/CSSStyleSelector.cpp:
20912        (WebCore::CSSStyleSelector::getComputedSizeFromSpecifiedSize): If
20913        specifiedSize is 0, return specified size regardless of zoom factor or
20914        minimum font size.
20915
209162011-04-14  Matthew Delaney  <mdelaney@apple.com>
20917
20918        Reviewed by Simon Fraser.
20919
20920        Have canvas drawImageFromRect just redirect to use drawImage
20921        https://bugs.webkit.org/show_bug.cgi?id=58516
20922
20923        Test: fast/canvas/drawImageFromRect_withToDataURLAsSource.html
20924
20925        * html/canvas/CanvasRenderingContext2D.cpp:
20926        (WebCore::CanvasRenderingContext2D::drawImage):
20927        (WebCore::CanvasRenderingContext2D::drawImageFromRect):
20928        * html/canvas/CanvasRenderingContext2D.h:
20929
209302011-04-14  James Robinson  <jamesr@chromium.org>
20931
20932        Reviewed by Simon Fraser.
20933
20934        REGRESSION (r83820): Lots of compositing tests failing on Windows 7 Release (Tests)
20935        https://bugs.webkit.org/show_bug.cgi?id=58535
20936
20937        Change PLATFORM(MAC) guards to !PLATFORM(CHROMIUM) so they apply correctly to the windows build.
20938
20939        * rendering/RenderLayerBacking.cpp:
20940        (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
20941        (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
20942        (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
20943        * rendering/RenderLayerCompositor.cpp:
20944        (WebCore::shouldCompositeOverflowControls):
20945
209462011-04-14  Jian Li  <jianli@chromium.org>
20947
20948        Reviewed by Darin Fisher.
20949
20950        BlobBuilder should be vendor-prefixed
20951        https://bugs.webkit.org/show_bug.cgi?id=58518
20952
20953        Renamed BlobBuilder to WebKitBlobBuilder.
20954
20955        * Android.derived.jscbindings.mk:
20956        * Android.derived.v8bindings.mk:
20957        * CMakeLists.txt:
20958        * CodeGenerators.pri:
20959        * DerivedSources.cpp:
20960        * DerivedSources.make:
20961        * GNUmakefile.list.am:
20962        * WebCore.gypi:
20963        * WebCore.pro:
20964        * WebCore.vcproj/WebCore.vcproj:
20965        * WebCore.xcodeproj/project.pbxproj:
20966        * fileapi/WebKitBlobBuilder.cpp: Renamed from Source/WebCore/fileapi/BlobBuilder.cpp.
20967        (WebCore::WebKitBlobBuilder::WebKitBlobBuilder):
20968        (WebCore::WebKitBlobBuilder::getBuffer):
20969        (WebCore::WebKitBlobBuilder::append):
20970        (WebCore::WebKitBlobBuilder::getBlob):
20971        * fileapi/WebKitBlobBuilder.h: Renamed from Source/WebCore/fileapi/BlobBuilder.h.
20972        (WebCore::WebKitBlobBuilder::create):
20973        * fileapi/WebKitBlobBuilder.idl: Renamed from Source/WebCore/fileapi/BlobBuilder.idl.
20974        * page/DOMWindow.idl:
20975        * workers/WorkerContext.idl:
20976
209772011-04-14  Adam Barth  <abarth@webkit.org>
20978
20979        Remove some trailing whitespace.  I'm making this change to initialize
20980        the SVN credentials on a new commit-queue machine.  I'm sure there's a
20981        better way to do this, but I don't know it.
20982
20983        * dom/Document.cpp:
20984        (WebCore::Document::Document):
20985
209862011-04-14  Pratik Solanki  <psolanki@apple.com>
20987
20988        Reviewed by David Kilzer.
20989
20990        Set minimum priority for fast lane connections
20991        https://bugs.webkit.org/show_bug.cgi?id=58353
20992
20993        * WebCore.exp.in:
20994        * platform/mac/WebCoreSystemInterface.h:
20995        * platform/mac/WebCoreSystemInterface.mm:
20996        * platform/network/cf/ResourceRequestCFNet.cpp:
20997        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call
20998        wkSetHTTPPipeliningMinimumFastLanePriority to allow javascript resources to use the fast
20999        lane connections.
21000
210012011-04-14  Kenneth Russell  <kbr@google.com>
21002
21003        Reviewed by Dimitri Glazkov.
21004
21005        Fix Web Audio build on Linux Debug and with stub FFTFrame
21006        https://bugs.webkit.org/show_bug.cgi?id=58555
21007
21008        Built Chromium/Linux in Debug mode to test.
21009
21010        * platform/audio/FFTFrame.cpp:
21011        * platform/audio/FFTFrameStub.cpp:
21012        (WebCore::FFTFrame::initialize):
21013        * webaudio/AudioContext.cpp:
21014        * webaudio/DefaultAudioDestinationNode.cpp:
21015
210162011-04-14  Yury Semikhatsky  <yurys@chromium.org>
21017
21018        Reviewed by Pavel Feldman.
21019
21020        [v8] Web Inspector: add initial implementation of WorkerScriptDebugServer
21021        https://bugs.webkit.org/show_bug.cgi?id=58552
21022
21023        * bindings/v8/DebuggerScript.js:
21024        * bindings/v8/WorkerContextExecutionProxy.cpp:
21025        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): each worker context
21026        now have a debug id (similar to frame contexts).
21027        * bindings/v8/WorkerScriptDebugServer.cpp:
21028        (WebCore::retrieveWorkerContext):
21029        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
21030        (WebCore::WorkerScriptDebugServer::addListener):
21031        (WebCore::WorkerScriptDebugServer::removeListener):
21032        (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
21033        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause): run message loop until
21034        debugger command is received and execution is resumed.
21035        (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
21036        * bindings/v8/WorkerScriptDebugServer.h:
21037        * inspector/WorkerDebuggerAgent.cpp:
21038        (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
21039        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
21040
210412011-04-14  Jian Li  <jianli@chromium.org>
21042
21043        Reviewed by Darin Fisher.
21044
21045        Add webkit prefix to Blob.slice method and change its semantics to be
21046        like Array.slice
21047        https://bugs.webkit.org/show_bug.cgi?id=58496
21048
21049        Renamed Blob.slice to blob.webkitSlice and made it take start and end
21050        parameters that're like Array.slice.
21051
21052        Test: fast/files/blob-slice-test.html
21053
21054        * fileapi/Blob.cpp:
21055        (WebCore::Blob::webkitSlice):
21056        * fileapi/Blob.h:
21057        * fileapi/Blob.idl:
21058
210592011-04-14  Andreas Kling  <kling@webkit.org>
21060
21061        Reviewed by Benjamin Poulain.
21062
21063        [Qt] Height of "Ahem" font differs from all other ports.
21064        https://bugs.webkit.org/show_bug.cgi?id=57954
21065
21066        QFontMetricsF::descent() returns the actual descent minus 1,
21067        to account for the baseline. Add it back to get correct metrics
21068        for WebKit.
21069
21070        QFontMetricsF::leading() may return negative values on some
21071        platforms (those using FreeType), this breaks WebKit's assumption
21072        that lineSpacing >= (ascent + descent), so we work around this in
21073        the same fashion as SimpleFontDataFreeType and SimpleFontDataPango.
21074
21075        This is covered by thousands of layout tests.
21076
21077        * platform/graphics/qt/SimpleFontDataQt.cpp:
21078        (WebCore::SimpleFontData::platformInit):
21079
210802011-04-14  Kevin Ollivier  <kevino@theolliviers.com>
21081
21082        [wx] Unreviewed build fixes for wxMSW and wx 2.9.1.1.
21083
21084        * platform/graphics/wx/FontPlatformDataWx.cpp:
21085        (WebCore::FontPlatformData::FontPlatformData):
21086        * platform/wx/FileSystemWx.cpp:
21087        (WebCore::writeToFile):
21088
210892011-04-14  Anders Carlsson  <andersca@apple.com>
21090
21091        Fix build.
21092
21093        RuntimeApplicationChecks.h needs to be a private header so WebKit can find it.
21094
21095        * WebCore.xcodeproj/project.pbxproj:
21096
210972011-04-14  Pavel Podivilov  <podivilov@chromium.org>
21098
21099        Unreviewed, build fix for r83864.
21100
21101        * inspector/front-end/DOMAgent.js:
21102        (WebInspector.DOMAgent.prototype._childNodeRemoved):
21103
211042011-04-14  Alexander Pavlov  <apavlov@chromium.org>
21105
21106        Reviewed by Pavel Feldman.
21107
21108        Web Inspector: Content area highlight does not cover scrollbars
21109        https://bugs.webkit.org/show_bug.cgi?id=58528
21110
21111        * inspector/DOMNodeHighlighter.cpp:
21112        (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
21113
211142011-04-14  Pavel Podivilov  <podivilov@chromium.org>
21115
21116        Reviewed by Pavel Feldman.
21117
21118        Web Inspector: re-implement dom breakpoints.
21119        https://bugs.webkit.org/show_bug.cgi?id=57038
21120
21121        * WebCore.gypi:
21122        * WebCore.vcproj/WebCore.vcproj:
21123        * inspector/front-end/BreakpointManager.js: Removed.
21124        * inspector/front-end/BreakpointsSidebarPane.js:
21125        (WebInspector.NativeBreakpointsSidebarPane):
21126        (WebInspector.NativeBreakpointsSidebarPane.prototype._reset):
21127        (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
21128        * inspector/front-end/CallStackSidebarPane.js:
21129        (WebInspector.CallStackSidebarPane.prototype.update):
21130        (WebInspector.CallStackSidebarPane.prototype.setStatus):
21131        * inspector/front-end/DOMAgent.js:
21132        (WebInspector.DOMNode):
21133        (WebInspector.DOMAgent.prototype._childNodeRemoved):
21134        * inspector/front-end/DOMBreakpointsSidebarPane.js: Added.
21135        (WebInspector.DOMBreakpointsSidebarPane):
21136        (WebInspector.DOMBreakpointsSidebarPane.prototype.setInspectedURL):
21137        (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu.toggleBreakpoint):
21138        (WebInspector.DOMBreakpointsSidebarPane.prototype.populateNodeContextMenu):
21139        (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage.didPushNodeToFrontend):
21140        (WebInspector.DOMBreakpointsSidebarPane.prototype.createBreakpointHitStatusMessage):
21141        (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.formatters.s):
21142        (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage.append):
21143        (WebInspector.DOMBreakpointsSidebarPane.prototype._doCreateBreakpointHitStatusMessage):
21144        (WebInspector.DOMBreakpointsSidebarPane.prototype.nodeRemoved):
21145        (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpointsForNode):
21146        (WebInspector.DOMBreakpointsSidebarPane.prototype._setBreakpoint):
21147        (WebInspector.DOMBreakpointsSidebarPane.prototype._removeBreakpoint):
21148        (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
21149        (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu):
21150        (WebInspector.DOMBreakpointsSidebarPane.prototype._checkboxClicked):
21151        (WebInspector.DOMBreakpointsSidebarPane.prototype.highlightBreakpoint):
21152        (WebInspector.DOMBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
21153        (WebInspector.DOMBreakpointsSidebarPane.prototype._createBreakpointId):
21154        (WebInspector.DOMBreakpointsSidebarPane.prototype._saveBreakpoints):
21155        (WebInspector.DOMBreakpointsSidebarPane.prototype.restoreBreakpoints):
21156        * inspector/front-end/ElementsPanel.js:
21157        (WebInspector.ElementsPanel):
21158        (WebInspector.ElementsPanel.prototype.show):
21159        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
21160        (WebInspector.ElementsPanel.prototype.updateBreadcrumbSizes.coalesceCollapsedCrumbs):
21161        * inspector/front-end/ElementsTreeOutline.js:
21162        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
21163        * inspector/front-end/ScriptsPanel.js:
21164        (WebInspector.ScriptsPanel):
21165        (WebInspector.ScriptsPanel.prototype.show):
21166        (WebInspector.ScriptsPanel.prototype._debuggerPaused.didCreateBreakpointHitStatusMessage):
21167        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
21168        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
21169        (WebInspector.ScriptsPanel.prototype._clearInterface):
21170        * inspector/front-end/Settings.js:
21171        (WebInspector.Settings):
21172        (WebInspector.Settings.prototype._set):
21173        * inspector/front-end/WebKit.qrc:
21174        * inspector/front-end/inspector.html:
21175        * inspector/front-end/inspector.js:
21176        (WebInspector.inspectedURLChanged):
21177        * inspector/front-end/utilities.js:
21178        ():
21179
211802011-04-14  Satish Sampath  <satish@chromium.org>
21181
21182        Reviewed by Kent Tamura.
21183
21184        Disable speech input for readonly and disabled input fields.
21185        https://bugs.webkit.org/show_bug.cgi?id=58540
21186
21187        Test: fast/speech/input-readonly-and-disabled.html
21188
21189        * html/shadow/TextControlInnerElements.cpp:
21190        (WebCore::InputFieldSpeechButtonElement::defaultEventHandler):
21191        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
21192
211932011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
21194
21195        Unreviewed. Rollout r83849 and r83857.
21196
21197        * inspector/Inspector.json:
21198        * inspector/InspectorDatabaseAgent.cpp:
21199        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
21200        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
21201        (WebCore::InspectorDatabaseAgent::setFrontend):
21202        (WebCore::InspectorDatabaseAgent::clearFrontend):
21203        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
21204        (WebCore::InspectorDatabaseAgent::executeSQL):
21205        * inspector/InspectorDatabaseAgent.h:
21206        * inspector/front-end/inspector.js:
21207
212082011-04-14  Dimitri Glazkov  <dglazkov@chromium.org>
21209
21210        Unreviewed, rolling out r83847.
21211        http://trac.webkit.org/changeset/83847
21212        https://bugs.webkit.org/show_bug.cgi?id=58477
21213
21214        Chromium media controls do use button borders, so this change
21215        is incorrect.
21216
21217        * css/mediaControls.css:
21218        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
21219        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
21220        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
21221        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
21222        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
21223        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
21224        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
21225        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
21226        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
21227        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
21228        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
21229
212302011-04-14  Andrew Wason  <rectalogic@rectalogic.com>
21231
21232        Reviewed by Andreas Kling.
21233
21234        Fix GraphicsContext3DQt.cpp compilation warnings treated as errors
21235        https://bugs.webkit.org/show_bug.cgi?id=58478
21236
21237        No new tests.
21238
21239        * platform/graphics/qt/GraphicsContext3DQt.cpp:
21240        (WebCore::GraphicsContext3DInternal::getProcAddress):
21241         Do not use deprecated QString constructor to avoid warning.
21242        (WebCore::GraphicsContext3D::reshape):
21243         Use parenthesis to avoid warning.
21244
212452011-04-14  Andrey Kosyakov  <caseq@chromium.org>
21246
21247        Unreviewed. Removed ScrollableArea::paintScrollCorner() added in r83820,
21248        as it breaks chromium clang build (shadowed by RenderLayer::paintScrollCorner()
21249        with a different signature)
21250
21251        * platform/ScrollableArea.h:
21252
212532011-04-14  Mikhail Naganov  <mnaganov@chromium.org>
21254
21255        Reviewed by Pavel Feldman.
21256
21257        Web Inspector: [Chromium] Ready to move detailed heap snapshots storage and processing into workers.
21258        https://bugs.webkit.org/show_bug.cgi?id=58534
21259
21260        * inspector/front-end/DetailedHeapshotGridNodes.js:
21261        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent):
21262        (WebInspector.HeapSnapshotDiffNode):
21263        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
21264        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
21265        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
21266        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
21267        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
21268        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
21269        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
21270        * inspector/front-end/DetailedHeapshotView.js:
21271        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
21272        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
21273        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
21274        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
21275        * inspector/front-end/HeapSnapshot.js:
21276        (WebInspector.HeapSnapshot):
21277        (WebInspector.HeapSnapshot.prototype.dispose):
21278        (WebInspector.HeapSnapshot.prototype.nodeFieldValuesByIndex):
21279        (WebInspector.HeapSnapshot.prototype._numbersComparator):
21280        (WebInspector.HeapSnapshot.prototype.baseSnapshotHasNode):
21281        (WebInspector.HeapSnapshot.prototype.updateBaseNodeIds):
21282        (WebInspector.HeapSnapshotsDiff):
21283        (WebInspector.HeapSnapshotsDiff.prototype.set baseIds):
21284        (WebInspector.HeapSnapshotsDiff.prototype.set baseSelfSizes):
21285        (WebInspector.HeapSnapshotsDiff.prototype.calculate):
21286        * inspector/front-end/HeapSnapshotProxy.js:
21287        (WebInspector.HeapSnapshotProxy):
21288        (WebInspector.HeapSnapshotProxy.prototype.createDiff):
21289        (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
21290        (WebInspector.HeapSnapshotProxy.prototype.createNodesProvider):
21291        (WebInspector.HeapSnapshotProxy.prototype.dispose):
21292        (WebInspector.HeapSnapshotProxy.prototype.nodeFieldValuesByIndex):
21293        (WebInspector.HeapSnapshotProxy.prototype.pushBaseIds):
21294        (WebInspector.HeapSnapshotsDiffProxy):
21295        (WebInspector.HeapSnapshotsDiffProxy.prototype.calculate):
21296        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseIds):
21297        (WebInspector.HeapSnapshotsDiffProxy.prototype.pushBaseSelfSizes):
21298
212992011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
21300
21301        Reviewed by Pavel Feldman.
21302
21303        Web Inspector: The list of Database entries is empty if the page opens a database just before Web Inspector.
21304        https://bugs.webkit.org/show_bug.cgi?id=57833
21305
21306        * inspector/Inspector.json:
21307        * inspector/InspectorDatabaseAgent.cpp:
21308        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
21309        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
21310        (WebCore::InspectorDatabaseAgent::setFrontend):
21311        (WebCore::InspectorDatabaseAgent::enable):
21312        (WebCore::InspectorDatabaseAgent::disable):
21313        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
21314        (WebCore::InspectorDatabaseAgent::executeSQL):
21315        * inspector/InspectorDatabaseAgent.h:
21316        * inspector/front-end/inspector.js:
21317
213182011-04-14  Alexander Pavlov  <apavlov@chromium.org>
21319
21320        Reviewed by Yury Semikhatsky.
21321
21322        Web Inspector: [Chromium] "Remove Breakpoint" menu item is absent in the DOM breakpoints sidebar pane
21323        https://bugs.webkit.org/show_bug.cgi?id=58530
21324
21325        * inspector/front-end/ElementsPanel.js:
21326
213272011-04-14  Alexis Menard  <alexis.menard@openbossa.org>
21328
21329        Reviewed by Dimitri Glazkov.
21330
21331        REGRESSION(r83397) [Qt] When clicking on the media elements they
21332        grow 2 pixels.
21333        https://bugs.webkit.org/show_bug.cgi?id=58477
21334
21335        Since r83397 the media controls elements are actual DOM elements.
21336        Therefore the global style-sheet applies to them. html.css defines
21337        input[type="button"]:active to be border-style: inset which means
21338        that when the buttons are active they grow by their border size.
21339
21340        * css/mediaControls.css:
21341        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
21342        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
21343        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
21344        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
21345        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
21346        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
21347        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
21348        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
21349        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
21350        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
21351        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
21352
213532011-04-14  Diego Gonzalez  <diegohcg@webkit.org>
21354
21355        Reviewed by Kenneth Rohde Christiansen.
21356
21357        [Qt] Improve disable style for input elements in mobile theme
21358        https://bugs.webkit.org/show_bug.cgi?id=58480
21359
21360        * platform/qt/QtMobileWebStyle.cpp:
21361        (QtMobileWebStyle::drawControl):
21362        (QtMobileWebStyle::drawPrimitive):
21363        (QtMobileWebStyle::drawComplexControl):
21364
213652011-04-14  Pavel Feldman  <pfeldman@google.com>
21366
21367        Reviewed by Yury Semikhatsky.
21368
21369        Web Inspector: restore previous selection in Resources panel upon front-end reopen.
21370        https://bugs.webkit.org/show_bug.cgi?id=58533
21371
21372        * inspector/front-end/ResourceTreeModel.js:
21373        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
21374        * inspector/front-end/ResourcesPanel.js:
21375        (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
21376        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
21377        (WebInspector.ResourcesPanel.prototype._cachedResourcesLoaded):
21378        * inspector/front-end/inspector.css:
21379        (#close-button-left, #close-button-right):
21380
213812011-04-14  Pavel Feldman  <pfeldman@google.com>
21382
21383        Reviewed by Yury Semikhatsky.
21384
21385        Web Inspector: implement incremental CSS free flow editing.
21386        https://bugs.webkit.org/show_bug.cgi?id=58529
21387
21388        * inspector/front-end/CSSStyleModel.js:
21389        (WebInspector.CSSStyleSheet.prototype.setText):
21390        * inspector/front-end/Resource.js:
21391        (WebInspector.Resource.prototype.isResourceRevision):
21392        (WebInspector.Resource.prototype.setContent):
21393        * inspector/front-end/ResourceView.js:
21394        (WebInspector.CSSSourceFrame.prototype.isContentEditable):
21395        (WebInspector.CSSSourceFrame.prototype.editContent):
21396        (WebInspector.CSSSourceFrame.prototype.endEditing.commitIncrementalEdit):
21397        (WebInspector.CSSSourceFrame.prototype.endEditing):
21398        * inspector/front-end/SourceFrame.js:
21399        (WebInspector.SourceFrame.prototype.commitEditing):
21400        (WebInspector.SourceFrame.prototype.editContent):
21401
214022011-04-14  Ilya Tikhonovsky  <loislo@chromium.org>
21403
21404        Reviewed by Pavel Feldman.
21405
21406        Web Inspector:Duplicated display of storage db when running Web SQL from an iframe.
21407        https://bugs.webkit.org/show_bug.cgi?id=57830
21408
21409        There was created a new InspectorDatabaseResource entry for every didOpenDatabase event.
21410        Moreover there is new WebCore::Database for each didOpenDatabase event.
21411        I decided to change the old instance of the Database to a new one if they both use the same file.
21412
21413        * inspector/InspectorDatabaseAgent.cpp:
21414        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
21415        (WebCore::InspectorDatabaseAgent::findByFileName):
21416        * inspector/InspectorDatabaseAgent.h:
21417        * inspector/InspectorDatabaseResource.h:
21418        (WebCore::InspectorDatabaseResource::setDatabase):
21419
214202011-04-14  Zoltan Herczeg  <zherczeg@inf.u-szeged.hu>
21421
21422        Reviewed by Dirk Schulze.
21423
21424        svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg crashes in Debug build
21425        https://bugs.webkit.org/show_bug.cgi?id=58525
21426
21427        A renderer is created even for those filter primitives
21428        which parent is not a filter. A rendererIsNeeded() is
21429        added to SVGFilterPrimitiveStandardAttributes.
21430
21431        Test: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg
21432
21433        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
21434        (WebCore::SVGFilterPrimitiveStandardAttributes::rendererIsNeeded):
21435        * svg/SVGFilterPrimitiveStandardAttributes.h:
21436
214372011-04-14  Alexis Menard  <alexis.menard@openbossa.org>
21438
21439        Reviewed by Andreas Kling.
21440
21441        REGRESSION(r83397) [Qt] When the video is loading and the poster is shown
21442        all the controls are not visible except the play button.
21443        https://bugs.webkit.org/show_bug.cgi?id=58484
21444
21445        r83397 introduces a new API hasOwnDisabledStateHandlingFor to handle when
21446        the controls should be disabled. Qt port paints its own controls, we don't want
21447        the default implementation to handle the hidden/disable state for us.
21448
21449        Existing tests covers the visibility of the controls.
21450
21451        * platform/qt/RenderThemeQt.h:
21452        (WebCore::RenderThemeQt::hasOwnDisabledStateHandlingFor):
21453
214542011-04-14  Andreas Kling  <andreas.kling@nokia.com>
21455
21456        Reviewed by Kenneth Rohde Christiansen.
21457
21458        [Qt] Disabled form controls don't actually look disabled.
21459        https://bugs.webkit.org/show_bug.cgi?id=58490
21460
21461        Unsetting QStyle::State_Enabled is not enough to get the "disabled" appearance
21462        when painting controls. We must also set the QStyleOption's palette's current
21463        color group.
21464
21465        * platform/qt/RenderThemeQt.cpp:
21466        (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
21467
214682011-04-14  Nancy Piedra  <nancy.piedra@nokia.com>
21469
21470        Reviewed by Benjamin Poulain.
21471
21472        [Qt] MediaPlayerPrivateQt::supportsType does not parse codec parameter
21473        https://bugs.webkit.org/show_bug.cgi?id=58188
21474
21475        The codec parameter in MediaPlayerPrivateQt::supportsType was not parsed into
21476        a QStringList. This change parses and trims the list.
21477
21478        An additional test was added to video-can-play-type.html to test parsing of codec parameter.
21479
21480        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
21481        (WebCore::MediaPlayerPrivateQt::supportsType):
21482
214832011-04-14  Zoltan Herczeg  <zherczeg@webkit.org>
21484
21485        Reviewed by Nikolas Zimmermann.
21486
21487        Optimizing lightning filter to ARM-NEON SIMD instruction set
21488        https://bugs.webkit.org/show_bug.cgi?id=54456
21489
21490        NEON is the SIMD instruction set for ARM. This instruction set
21491        allows to speed-up the lighting filter by 4 times on ARM
21492        (on WebCore/manual-tests/svg-filter-animation.svg).
21493
21494        * WebCore.pri:
21495        * WebCore.pro:
21496        * platform/graphics/filters/FELighting.cpp:
21497        (WebCore::FELighting::drawLighting):
21498        (WebCore::getPowerCoefficients):
21499        (WebCore::FELighting::drawInteriorPixels):
21500        * platform/graphics/filters/FELighting.h:
21501        * platform/graphics/filters/arm/FELightingNEON.cpp: Added.
21502        (__attribute__):
21503        * platform/graphics/filters/arm/FELightingNEON.h: Added.
21504
215052011-04-14  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
21506
21507        Reviewed by Benjamin Poulain.
21508
21509        [Qt] GraphicsContext3D internal buffers are not freed
21510        https://bugs.webkit.org/show_bug.cgi?id=57530
21511
21512        * platform/graphics/qt/GraphicsContext3DQt.cpp:
21513        (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal):
21514
215152011-04-14  Andy Estes  <aestes@apple.com>
21516
21517        Reviewed by Maciej Stachowiak.
21518
21519        REGRESSION (r75555): Safari RSS sidebar jiggles when scrolling
21520        https://bugs.webkit.org/show_bug.cgi?id=52988
21521
21522        Safari RSS relies on synchronous dispatch of ScrollEvent to update the
21523        position of its sidebar during scrolling without producing a jiggling
21524        effect. Due to r75555, this event is no longer dispatched synchronously
21525        which results in stale repaints before the onscroll handler gets a
21526        chance to update the position of the sidebar.
21527
21528        Since it is impractical to resolve this issue in Safari RSS itself, add
21529        a quirk that restores synchronous ScrollEvent dispatch for Safari RSS.
21530
21531        No tests. This is an app-specific change that doesn't affect web
21532        content.
21533
21534        * Android.mk: Add platform/RuntimeApplicationChecks.[cpp|h]
21535        * CMakeLists.txt: Ditto.
21536        * GNUmakefile.list.am: Ditto.
21537        * WebCore.gypi: Ditto.
21538        * WebCore.pro: Ditto.
21539        * WebCore.vcproj/WebCore.vcproj: Ditto.
21540        * WebCore.xcodeproj/project.pbxproj: Ditto.
21541        * dom/EventQueue.cpp:
21542        (WebCore::shouldDispatchScrollEventSynchronously): Send ScrollEvent
21543        synchronously if the embedding application is Safari and the document's
21544        URL scheme is "feed" or "feeds".
21545        (WebCore::EventQueue::enqueueOrDispatchScrollEvent): Dispatch
21546        ScrollEvent synchronously if shouldDispatchScrollEventSynchronously()
21547        returns true.
21548        * dom/EventQueue.h:
21549        * page/EventHandler.cpp:
21550        (WebCore::EventHandler::sendScrollEvent): Call enqueueOrDispatchScrollEvent().
21551        * platform/RuntimeApplicationChecks.cpp: Added.
21552        (WebCore::mainBundleIsEqualTo): Add a helper routine for CF platforms
21553        that checks if the main bundle's identifier is equal to a given string.
21554        This function returns false for non-CF platforms.
21555        (WebCore::applicationIsSafari): Call mainBundleIsEqualTo().
21556        (WebCore::applicationIsAppleMail): Ditto.
21557        (WebCore::applicationIsMicrosoftMessenger): Ditto.
21558        (WebCore::applicationIsAdobeInstaller): Ditto.
21559        (WebCore::applicationIsAOLInstantMessenger): Ditto.
21560        (WebCore::applicationIsMicrosoftMyDay): Ditto.
21561        (WebCore::applicationIsMicrosoftOutlook): Ditto.
21562        * platform/mac/RuntimeApplicationChecks.mm: Removed. Functions moved to
21563        RuntimeApplicationChecks.cpp.
21564        * rendering/RenderLayer.cpp:
21565        (WebCore::RenderLayer::scrollTo): Call enqueueOrDispatchScrollEvent().
21566        * rendering/RenderListBox.cpp:
21567        (WebCore::RenderListBox::scrollTo): Call enqueueOrDispatchScrollEvent().
21568
215692011-04-14  John Bates  <jbates@google.com>
21570
21571        Reviewed by Kenneth Russell.
21572
21573        Fix bug with adding wrong context to LayerRendererChromium and get rid of RefPtr loop.
21574        https://bugs.webkit.org/show_bug.cgi?id=58383
21575
21576        * platform/graphics/chromium/LayerRendererChromium.cpp:
21577        (WebCore::LayerRendererChromium::addChildContext):
21578        (WebCore::LayerRendererChromium::removeChildContext):
21579        * platform/graphics/chromium/LayerRendererChromium.h:
21580
215812011-04-14  Renata Hodovan  <reni@webkit.org>
21582
21583        Reviewed by Nikolas Zimmermann.
21584
21585        CSS related SVG*Element changes doesn't require relayout
21586        https://bugs.webkit.org/show_bug.cgi?id=56906
21587
21588        The changes of some CSS related SVGFilter properties e.g. lighting_color, flood_color, flood_opacity
21589        need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
21590        we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
21591        via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
21592
21593        Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
21594               svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
21595               svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
21596               svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
21597
21598        * platform/graphics/filters/FEFlood.cpp:
21599        (WebCore::FEFlood::setFloodColor):
21600        (WebCore::FEFlood::setFloodOpacity):
21601        * platform/graphics/filters/FEFlood.h:
21602        * platform/graphics/filters/FESpecularLighting.cpp:
21603        (WebCore::FESpecularLighting::setLightingColor):
21604        * platform/graphics/filters/FESpecularLighting.h:
21605        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
21606        (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
21607        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
21608        * rendering/svg/SVGResourcesCache.cpp:
21609        (WebCore::SVGResourcesCache::clientStyleChanged):
21610        * svg/SVGFEDiffuseLightingElement.cpp:
21611        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
21612        * svg/SVGFEFloodElement.cpp:
21613        (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
21614        * svg/SVGFEFloodElement.h:
21615        * svg/SVGFESpecularLightingElement.cpp:
21616        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
21617
216182011-04-13  James Robinson  <jamesr@chromium.org>
21619
21620        Reviewed by Simon Fraser.
21621
21622        Allow setting composited backing stores for scrollbars and scroll corners
21623        https://bugs.webkit.org/show_bug.cgi?id=57202
21624
21625        This teaches ScrollableArea to manage GraphicsLayer backings for the two scrollbars and
21626        scroll corner. ScrollableArea can position the layers and route invalidation and paint calls to
21627        the correct place but depends on subclasses to manage the lifetime of the GraphicsLayers and
21628        place them into the correct place in the hierarchy.
21629
21630        FrameView and RenderLayerCompositor updated to provide layers for frames with overflow controls.
21631        that need them.  The overflow control layers are siblings of the frame's clip layer.
21632
21633        RenderLayer and RenderLayerBacking updated to provide overflow control layers for layers that
21634        need them.  Currently, layers are only created for overflow controls on layers that are already composited
21635        for other reasons and not necessarily for every RenderLayer with overflow.  Overflow control layers are siblings
21636        of the RenderLayerBacking's clipping layer if it exists, otherwise they are siblings of the layer's normal
21637        children.
21638
21639        Tested by a number of compositing/ tests that have scrollbars and by these new tests:
21640               compositing/iframes/repaint-after-losing-scrollbars.html
21641               compositing/overflow/clip-content-under-overflow-controls.html
21642               compositing/overflow/content-gains-scrollbars.html
21643               compositing/overflow/content-loses-scrollbars.html
21644               compositing/overflow/overflow-scrollbar-layers.html
21645               compositing/overflow/repaint-after-losing-scrollbars.html
21646
21647        * css/CSSStyleSelector.cpp:
21648        (WebCore::CSSStyleSelector::SelectorChecker::checkScrollbarPseudoClass):
21649        * page/FrameView.cpp:
21650        (WebCore::FrameView::layerForHorizontalScrollbar):
21651        (WebCore::FrameView::layerForVerticalScrollbar):
21652        (WebCore::FrameView::layerForScrollCorner):
21653        (WebCore::FrameView::syncCompositingStateForThisFrame):
21654        (WebCore::FrameView::contentsResized):
21655        (WebCore::FrameView::updateScrollCorner):
21656        * page/FrameView.h:
21657        * platform/ScrollView.cpp:
21658        (WebCore::ScrollView::wheelEvent):
21659        * platform/ScrollView.h:
21660        * platform/ScrollableArea.cpp:
21661        (WebCore::ScrollableArea::invalidateScrollbar):
21662        (WebCore::ScrollableArea::invalidateScrollCorner):
21663        * platform/ScrollableArea.h:
21664        (WebCore::ScrollableArea::paintScrollCorner):
21665        (WebCore::ScrollableArea::layerForHorizontalScrollbar):
21666        (WebCore::ScrollableArea::layerForVerticalScrollbar):
21667        (WebCore::ScrollableArea::layerForScrollCorner):
21668        * platform/Scrollbar.cpp:
21669        (WebCore::Scrollbar::invalidateRect):
21670        * platform/Scrollbar.h:
21671        * platform/ScrollbarThemeComposite.cpp:
21672        (WebCore::ScrollbarThemeComposite::paint):
21673        * platform/graphics/chromium/ContentLayerChromium.cpp:
21674        (WebCore::ContentLayerChromium::paintContentsIfDirty):
21675        * platform/graphics/chromium/LayerRendererChromium.cpp:
21676        (WebCore::LayerRendererChromium::create):
21677        (WebCore::LayerRendererChromium::LayerRendererChromium):
21678        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
21679        (WebCore::LayerRendererChromium::drawRootLayer):
21680        (WebCore::LayerRendererChromium::setViewport):
21681        (WebCore::LayerRendererChromium::updateAndDrawLayers):
21682        (WebCore::LayerRendererChromium::updateLayers):
21683        (WebCore::LayerRendererChromium::setRootLayer):
21684        (WebCore::LayerRendererChromium::cleanupSharedObjects):
21685        * platform/graphics/chromium/LayerRendererChromium.h:
21686        * platform/mac/ScrollAnimatorMac.mm:
21687        (-[ScrollbarPartAnimation setCurrentProgress:]):
21688        * platform/win/PopupMenuWin.h:
21689        (WebCore::PopupMenuWin::invalidateScrollCornerRect):
21690        (WebCore::PopupMenuWin::isScrollCornerVisible):
21691        (WebCore::PopupMenuWin::scrollCornerRect):
21692        * rendering/RenderLayer.cpp:
21693        (WebCore::RenderLayer::scrollCornerRect):
21694        (WebCore::RenderLayer::scrollCornerAndResizerRect):
21695        (WebCore::RenderLayer::isScrollCornerVisible):
21696        (WebCore::RenderLayer::invalidateScrollbarRect):
21697        (WebCore::RenderLayer::invalidateScrollCornerRect):
21698        (WebCore::RenderLayer::positionOverflowControls):
21699        (WebCore::RenderLayer::paintOverflowControls):
21700        (WebCore::RenderLayer::paintScrollCorner):
21701        (WebCore::RenderLayer::layerForHorizontalScrollbar):
21702        (WebCore::RenderLayer::layerForVerticalScrollbar):
21703        (WebCore::RenderLayer::layerForScrollCorner):
21704        * rendering/RenderLayer.h:
21705        (WebCore::RenderLayer::horizontalScrollbar):
21706        (WebCore::RenderLayer::verticalScrollbar):
21707        * rendering/RenderLayerBacking.cpp:
21708        (WebCore::RenderLayerBacking::~RenderLayerBacking):
21709        (WebCore::RenderLayerBacking::updateAfterWidgetResize):
21710        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
21711        (WebCore::RenderLayerBacking::updateInternalHierarchy):
21712        (WebCore::RenderLayerBacking::updateClippingLayers):
21713        (WebCore::RenderLayerBacking::requiresHorizontalScrollbarLayer):
21714        (WebCore::RenderLayerBacking::requiresVerticalScrollbarLayer):
21715        (WebCore::RenderLayerBacking::requiresScrollCornerLayer):
21716        (WebCore::RenderLayerBacking::updateOverflowControlsLayers):
21717        (WebCore::paintScrollbar):
21718        (WebCore::RenderLayerBacking::paintContents):
21719        * rendering/RenderLayerBacking.h:
21720        (WebCore::RenderLayerBacking::layerForHorizontalScrollbar):
21721        (WebCore::RenderLayerBacking::layerForVerticalScrollbar):
21722        (WebCore::RenderLayerBacking::layerForScrollCorner):
21723        * rendering/RenderLayerCompositor.cpp:
21724        (WebCore::RenderLayerCompositor::updateCompositingLayers):
21725        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
21726        (WebCore::RenderLayerCompositor::frameViewDidChangeLocation):
21727        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
21728        (WebCore::RenderLayerCompositor::rootPlatformLayer):
21729        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
21730        (WebCore::paintScrollbar):
21731        (WebCore::RenderLayerCompositor::paintContents):
21732        (WebCore::shouldCompositeOverflowControls):
21733        (WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer):
21734        (WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer):
21735        (WebCore::RenderLayerCompositor::requiresScrollCornerLayer):
21736        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
21737        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
21738        (WebCore::RenderLayerCompositor::destroyRootPlatformLayer):
21739        (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
21740        * rendering/RenderLayerCompositor.h:
21741        (WebCore::RenderLayerCompositor::layerForHorizontalScrollbar):
21742        (WebCore::RenderLayerCompositor::layerForVerticalScrollbar):
21743        (WebCore::RenderLayerCompositor::layerForScrollCorner):
21744        * rendering/RenderListBox.h:
21745        (WebCore::RenderListBox::isScrollCornerVisible):
21746        (WebCore::RenderListBox::scrollCornerRect):
21747        (WebCore::RenderListBox::invalidateScrollCornerRect):
21748
217492011-04-13  Cary Clark  <caryclark@chromium.org>
21750
21751         Reviewed by Eric Seidel.
21752
21753         [Chromium] allow concurrent Skia and CG datatypes
21754         https://bugs.webkit.org/show_bug.cgi?id=57848
21755
21756         The Chromium port is experimenting with running Skia as the WebKit rendering engine, and CoreGraphics
21757         as the UI rendering engine. This permits Chromium to unify its graphics story while leveraging OS X to
21758         draw elements like scrollbars and buttons.
21759
21760         Restructure the common graphics units, points, and rectangles, to convert to Sk-types and CG-types at
21761         the same time. This requires only adding to the existing preprocessor commands, and will have no effect
21762         on any existing platform.
21763
21764         Eventually, WTF_USE_SKIA_ON_MAC_CHROME will be defined to enable this, but for now, there's no
21765         functional change.
21766
21767         No new tests as this provides no new functionality.
21768
21769         * platform/graphics/FloatPoint.h: Add USE(SKIA_ON_MAC_CHROME) to make CG type and operators visible
21770         to a Skia-based Chrome Mac build.
21771         * platform/graphics/FloatRect.h: Ditto.
21772         * platform/graphics/FloatSize.h: Ditto.
21773         * platform/graphics/IntPoint.h: Ditto.
21774         * platform/graphics/IntRect.h: Ditto.
21775         * platform/graphics/IntSize.h: Ditto.
21776         * platform/graphics/cg/FloatPointCG.cpp: Ditto.
21777         * platform/graphics/cg/FloatRectCG.cpp: Ditto.
21778         * platform/graphics/cg/FloatSizeCG.cpp: Ditto.
21779         * platform/graphics/cg/IntPointCG.cpp: Ditto.
21780         * platform/graphics/cg/IntRectCG.cpp: Ditto.
21781         * platform/graphics/cg/IntSizeCG.cpp: Ditto.
21782
217832011-04-13  Roland Steiner  <rolandsteiner@chromium.org>
21784
21785        Reviewed by Dimitri Glazkov.
21786
21787        Bug 58460 - childTypeAllowed() should be const
21788        https://bugs.webkit.org/show_bug.cgi?id=58460
21789
21790        Made childTypeAllowed const.
21791
21792        No new tests. (minor refactoring).
21793
21794        * dom/Attr.cpp:
21795        (WebCore::Attr::childTypeAllowed):
21796        * dom/Attr.h:
21797        * dom/CDATASection.cpp:
21798        (WebCore::CDATASection::childTypeAllowed):
21799        * dom/CDATASection.h:
21800        * dom/Comment.cpp:
21801        (WebCore::Comment::childTypeAllowed):
21802        * dom/Comment.h:
21803        * dom/Document.cpp:
21804        (WebCore::Document::childTypeAllowed):
21805        * dom/Document.h:
21806        * dom/DocumentFragment.cpp:
21807        (WebCore::DocumentFragment::childTypeAllowed):
21808        * dom/DocumentFragment.h:
21809        * dom/Element.cpp:
21810        (WebCore::Element::childTypeAllowed):
21811        * dom/Element.h:
21812        * dom/Node.h:
21813        (WebCore::Node::childTypeAllowed):
21814        * dom/Notation.cpp:
21815        (WebCore::Notation::childTypeAllowed):
21816        * dom/Notation.h:
21817        * dom/ProcessingInstruction.cpp:
21818        (WebCore::ProcessingInstruction::childTypeAllowed):
21819        * dom/ProcessingInstruction.h:
21820        * dom/Text.cpp:
21821        (WebCore::Text::childTypeAllowed):
21822        * dom/Text.h:
21823
218242011-04-13  Jon Lee  <jonlee@apple.com>
21825
21826        Reviewed by Maciej Stachowiak.
21827
21828        REGRESSION(r81880): Paste menu is disabled for many edit fields (yahoo and google search, yahoo mail msg, forms, etc)
21829        https://bugs.webkit.org/show_bug.cgi?id=58284
21830        <rdar://problem/9246149>
21831
21832        * WebCore.exp.in: Exporting EditingBehavior.h for use in WebKit2
21833        * editing/EditingBehavior.h:
21834        (WebCore::EditingBehavior::shouldClearSelectionWhenLosingWebPageFocus): moving the platform-specific code out of an #ifdef and into this class for run-time instead of compile-time checking
21835
218362011-04-13  Yael Aharon  <yael.aharon@nokia.com>
21837
21838        Reviewed by Eric Seidel.
21839
21840        constructLine should take bidiRuns as a parameter
21841        https://bugs.webkit.org/show_bug.cgi?id=58458
21842
21843        Pass bidiRuns to constructLine and move reachedEndOfTextRenderer so that it is
21844        declared before constructLine.
21845
21846        No new tests as this is refactoring only.
21847
21848        * rendering/RenderBlock.h:
21849        * rendering/RenderBlockLineLayout.cpp:
21850        (WebCore::reachedEndOfTextRenderer):
21851        (WebCore::RenderBlock::constructLine):
21852        (WebCore::RenderBlock::layoutInlineChildren):
21853
218542011-04-13  Cary Clark  <caryclark@google.com>
21855
21856        Reviewed by Eric Seidel.
21857
21858        Allow CG Font support in Chrome Darwin build using Skia
21859        https://bugs.webkit.org/show_bug.cgi?id=58321
21860
21861        This allows Chrome to use Skia to do WebKit rendering, while
21862        using CoreGraphics for glyph creation and computing font metrics.
21863        It relies on an undefined platform token, WTF_USE_SKIA_ON_MAC_CHROME.
21864
21865        No new tests needed, no functionality change.
21866
21867        * loader/cache/CachedFont.cpp: Make CGFontRef functions and
21868        CG-specific font code available to Chrome builds on Darwin using Skia.
21869        * platform/graphics/FontPlatformData.h: Ditto.
21870        (WebCore::FontPlatformData::hash): Ditto.
21871        * platform/graphics/GlyphBuffer.h: Ditto.
21872        (WebCore::GlyphBuffer::advanceAt): Ditto.
21873        (WebCore::GlyphBuffer::add): Ditto.
21874        (WebCore::GlyphBuffer::expandLastAdvance): Ditto.
21875        * platform/graphics/SimpleFontData.h: Ditto.
21876
218772011-04-13  Alexis Menard  <alexis.menard@openbossa.org>
21878
21879        Reviewed by Dimitri Glazkov.
21880
21881        The timeline of the video controls is unusable if the multimedia backend returns a
21882        infinite duration.
21883        https://bugs.webkit.org/show_bug.cgi?id=58452
21884
21885        In case the underlaying media element backend returns crazy values, e.g.
21886        an infinite duration for the video we need to bail out and hide the timeline
21887        rather than in a broken state where you can't use it. The previous code was just
21888        checking if the duration was NaN.
21889
21890        We can't control from JS what the backend will return as a duration for the video
21891        so we can't make an test for it.
21892
21893        * html/shadow/MediaControlRootElement.cpp:
21894        (WebCore::MediaControlRootElement::reset):
21895
218962011-04-13  Abhishek Arya  <inferno@chromium.org>
21897
21898        Reviewed by James Robinson.
21899
21900        Draw outline for render widgets.
21901        https://bugs.webkit.org/show_bug.cgi?id=57439
21902
21903        Test: fast/frames/iframe-outline.html
21904
21905        * rendering/RenderWidget.cpp:
21906        (WebCore::RenderWidget::paint):
21907
219082011-04-13  Kent Tamura  <tkent@chromium.org>
21909
21910        Reviewed by Dimitri Glazkov.
21911
21912        Change the representation of ShadowRoot nodes in render tree dumps
21913        https://bugs.webkit.org/show_bug.cgi?id=58432
21914
21915        Show "#shadow-root" for ShadorRoot nodes instead of "#document-fragment"
21916        in DRT results.
21917
21918        No new tests. This change doesn't affect existing tests yet.
21919
21920        * dom/DocumentFragment.h:
21921          Make nodeName() protected in order that ShdowRoot can override it.
21922        * dom/ShadowRoot.cpp:
21923        (WebCore::ShadowRoot::nodeName): Returns "#shadow-root".
21924        * dom/ShadowRoot.h: Declare nodeName().
21925        * rendering/RenderTreeAsText.cpp:
21926        (WebCore::nodePosition): Don't show "child N " if the node is a shadow boundary.
21927          We don't use isShadowRoot() here because the legacy shadow root nodes
21928          return true for isShadowRoot() and we don't want to update existing
21929          test results.
21930
219312011-04-13  Ryosuke Niwa  <rniwa@webkit.org>
21932
21933        Reviewed by Eric Seidel.
21934
21935        Merge LineOffsets and LineWidth
21936        https://bugs.webkit.org/show_bug.cgi?id=58411
21937
21938        Merged lineOffsets into LineWidth.
21939
21940        After this patch, available width is updated in positionNewFloatOnLine via updateAvailableWidth and
21941        shrinkAvailableWidthForNewFloatIfNeeded instead of findNextBreak. This is correct because
21942        - LineOffsets::update and LineOffsets::shrinkWidthForNewFloatIfNeeded were only called in positionNewFloatOnLine
21943          besides LineOffsets' constructor
21944        - positionNewFloatOnLine was only called in skipLeadingWhitespace and findNextLineBreak
21945        - findNextLineBreak updates the available width whenever it calls skipLeadingWhitespace or positionNewFloatOnLine
21946
21947        * rendering/RenderBlock.h:
21948        * rendering/RenderBlockLineLayout.cpp:
21949        (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineWidth instead of LineOffset
21950        (WebCore::LineWidth::LineWidth): Takes RenderBlock* and boolean isFirstLine; call updateAvailableWidth
21951        because the initial available width was used to be computed from lineOffsets.width().
21952        (WebCore::LineWidth::computeAvailableWidthFromLeftAndRight): Added.
21953        (WebCore::LineWidth::updateAvailableWidth): Renamed from LineOffsets::update; this function now updates
21954        m_availableWidth via computeAvailableWidthFromLeftAndRight as well as m_left and m_right.
21955        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): Renamed from
21956        LineOffsets::shrinkWidthForNewFloatIfNeeded. This function also calls computeAvailableWidthFromLeftAndRight.
21957        (WebCore::LineWidth::applyOverhang): No longer takes arguments since both arguments were member variables
21958        of LineOffsets.
21959        (WebCore::LineWidth::fitBelowFloats): No longer takes isFirstLine.
21960        (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
21961        (WebCore::RenderBlock::positionNewFloatOnLine): Takes a reference to LineWidth.
21962
219632011-04-13  Ryuan Choi  <ryuan.choi@samsung.com>
21964
21965        Reviewed by Kenneth Rohde Christiansen.
21966
21967        [CMAKE] Separate DerivedSources.
21968        https://bugs.webkit.org/show_bug.cgi?id=58427
21969
21970        No new tests since these are refactoring only.
21971
21972        * CMakeLists.txt:
21973        * UseJSC.cmake:
21974
219752011-04-13  Noel Gordon  <noel.gordon@gmail.com>
21976
21977        Reviewed by Kenneth Russell.
21978
21979        [chromium] Fix canvas.toDataURL mimeType assertion
21980        https://bugs.webkit.org/show_bug.cgi?id=58425
21981
21982        Following r81213, reassert expected toDataURL() mimeType, remove an unused variable.
21983
21984        No new tests. Covered by existing tests.
21985
21986        * platform/graphics/skia/ImageBufferSkia.cpp:
21987        (WebCore::ImageToDataURL):
21988        (WebCore::ImageBuffer::toDataURL):
21989
219902011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
21991
21992        Reviewed by Andreas Kling.
21993
21994        [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
21995        https://bugs.webkit.org/show_bug.cgi?id=58375
21996
21997        As QNAM now makes actual synchronous loads there is no need for a nested event loop
21998        in ResourceHandleQt.
21999
22000        Moving the call for QNetworkReplyWrapper::synchronousLoad from
22001        ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
22002        redirections to work in synchronous requests.
22003
22004        * platform/network/qt/QNetworkReplyHandler.cpp:
22005        (WebCore::QNetworkReplyHandler::start):
22006        * platform/network/qt/QNetworkReplyHandler.h:
22007        * platform/network/qt/ResourceHandleQt.cpp:
22008        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
22009        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
22010        (WebCore::WebCoreSynchronousLoader::didReceiveData):
22011        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
22012        (WebCore::WebCoreSynchronousLoader::didFail):
22013        (WebCore::ResourceHandle::loadResourceSynchronously):
22014
220152011-04-13  Roland Steiner  <rolandsteiner@chromium.org>
22016
22017        Reviewed by David Hyatt.
22018
22019        Bug 55930 - Incorrect handling of 'display:' property within nested <ruby> tags
22020        https://bugs.webkit.org/show_bug.cgi?id=55930
22021
22022        Non-inline :before/:after generated content is now wrapped with an anonymous inline block.
22023
22024        Also, added an additional check in RenderObjectChildList::updateBeforeAfterContent()
22025        to verify that the created render object is legal under the parent.
22026
22027        Tests: fast/ruby/after-block-doesnt-crash.html
22028               fast/ruby/after-table-doesnt-crash.html
22029               fast/ruby/before-block-doesnt-crash.html
22030               fast/ruby/before-table-doesnt-crash.html
22031
22032        * rendering/RenderObjectChildList.cpp:
22033        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
22034        * rendering/RenderRuby.cpp:
22035        (WebCore::isAnonymousRubyInlineBlock):
22036        (WebCore::rubyBeforeBlock):
22037        (WebCore::rubyAfterBlock):
22038        (WebCore::createAnonymousRubyInlineBlock):
22039        (WebCore::lastRubyRun):
22040        (WebCore::RenderRubyAsInline::addChild):
22041        (WebCore::RenderRubyAsInline::removeChild):
22042        (WebCore::RenderRubyAsBlock::addChild):
22043        (WebCore::RenderRubyAsBlock::removeChild):
22044        * rendering/RenderRuby.h:
22045
220462011-04-13  Matthew Delaney  <mdelaney@apple.com>
22047
22048        Reviewed by Simon Fraser.
22049
22050        [CG] Refactor get/putImageData routines from ImageBufferCG into a (new) ImageBufferDataCG.cpp
22051        https://bugs.webkit.org/show_bug.cgi?id=58084
22052
22053        No new tests. Does not affect outward behavior.
22054
22055        * WebCore.gypi:
22056        * WebCore.vcproj/WebCore.vcproj:
22057        * WebCore.xcodeproj/project.pbxproj:
22058        * platform/graphics/ImageBuffer.h:
22059        * platform/graphics/ImageBufferData.h: Added.
22060        * platform/graphics/cairo/ImageBufferData.h: Removed.
22061        * platform/graphics/cairo/ImageBufferDataCairo.h: Added.
22062        * platform/graphics/cg/ImageBufferCG.cpp:
22063        (WebCore::ImageBuffer::getUnmultipliedImageData):
22064        (WebCore::ImageBuffer::getPremultipliedImageData):
22065        (WebCore::ImageBuffer::putUnmultipliedImageData):
22066        (WebCore::ImageBuffer::putPremultipliedImageData):
22067        * platform/graphics/cg/ImageBufferDataCG.cpp: Added.
22068        (WebCore::ImageBufferData::ImageBufferData):
22069        (WebCore::haveVImageRoundingErrorFix):
22070        (WebCore::ImageBufferData::getData):
22071        (WebCore::ImageBufferData::putData):
22072        * platform/graphics/cg/ImageBufferData.h: Removed.
22073        * platform/graphics/cg/ImageBufferDataCG.h: Added.
22074        * platform/graphics/chromium/ImageBufferData.h: Removed.
22075        * platform/graphics/chromium/ImageBufferDataSkia.h: Added.
22076        * platform/graphics/haiku/ImageBufferData.h: Removed.
22077        * platform/graphics/haiku/ImageBufferDataHaiku.h: Added.
22078        * platform/graphics/qt/ImageBufferData.h: Removed.
22079        * platform/graphics/qt/ImageBufferDataQt.h: Added.
22080        * platform/graphics/wince/ImageBufferData.h: Removed.
22081        * platform/graphics/wince/ImageBufferDataWince.h: Added.
22082        * platform/graphics/wx/ImageBufferData.h: Removed.
22083        * platform/graphics/wx/ImageBufferDataWx.h: Added.
22084
220852011-04-13  Simon Fraser  <simon.fraser@apple.com>
22086
22087        Reviewed by Dan Bernstein.
22088
22089        Remove std:: prefix on some min/max calls
22090        https://bugs.webkit.org/show_bug.cgi?id=58493
22091
22092        Remove std:: namespacing on min/max in favor of a 'using' clause.
22093
22094        * platform/graphics/RoundedIntRect.cpp:
22095        (WebCore::RoundedIntRect::Radii::expand):
22096        * rendering/style/RenderStyle.cpp:
22097        (WebCore::calcConstraintScaleFor):
22098
220992011-04-13  Alexis Menard  <alexis.menard@openbossa.org>
22100
22101        Reviewed by Andreas Kling.
22102
22103        Replace our own RenderThemeQt::getMediaElementFromRenderObject by
22104        MediaControlsElement::toParentMediaElement used by every other port.
22105
22106        * platform/qt/RenderThemeQt.cpp:
22107        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
22108        (WebCore::RenderThemeQt::paintMediaMuteButton):
22109        (WebCore::RenderThemeQt::paintMediaPlayButton):
22110        (WebCore::RenderThemeQt::paintMediaSliderTrack):
22111        * platform/qt/RenderThemeQt.h:
22112
221132011-04-13  Geoffrey Garen  <ggaren@apple.com>
22114
22115        Reviewed by Oliver Hunt.
22116
22117        Switched DOM wrappers to use HashMap of Weak<T> instead of WeakGCMap<T>
22118        https://bugs.webkit.org/show_bug.cgi?id=58482
22119
22120        This will allow wrappers to make individual decisions about their lifetimes.
22121
22122        * bindings/js/DOMWrapperWorld.cpp:
22123        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
22124        (WebCore::JSNodeHandleOwner::isReachableFromOpaqueRoots):
22125        (WebCore::JSNodeHandleOwner::finalize):
22126        (WebCore::DOMObjectHandleOwner::isReachableFromOpaqueRoots):
22127        (WebCore::DOMObjectHandleOwner::finalize):
22128        * bindings/js/DOMWrapperWorld.h:
22129        (WebCore::JSNodeHandleOwner::JSNodeHandleOwner):
22130        (WebCore::DOMObjectHandleOwner::DOMObjectHandleOwner):
22131        (WebCore::DOMWrapperWorld::jsNodeHandleOwner):
22132        (WebCore::DOMWrapperWorld::domObjectHandleOwner): Added handle owners
22133        for JSNode and DOMObject, our two hash table values. For now, the owners
22134        just take care to remove their handles from their respective hash tables.
22135
22136        Changed the hash table type to be a standard HashMap of weak pointers,
22137        instead of a WeakGCMap.
22138
22139        * bindings/js/JSDOMBinding.cpp:
22140        (WebCore::getCachedDOMObjectWrapper):
22141        (WebCore::cacheDOMObjectWrapper):
22142        (WebCore::cacheDOMNodeWrapper):
22143        (WebCore::isObservableThroughDOM):
22144        (WebCore::markDOMNodesForDocument):
22145        (WebCore::takeWrappers):
22146        (WebCore::updateDOMNodeDocument):
22147        (WebCore::markDOMObjectWrapper):
22148        (WebCore::markDOMNodeWrapper): Updated wrapper hash table access to
22149        accomodate its new data type.
22150
22151        * bindings/js/JSNodeCustom.h:
22152        (WebCore::getCachedDOMNodeWrapper): Ditto.
22153
22154        * dom/Document.h: Updated declaration to match the above.
22155
221562011-04-13  Sam Weinig  <sam@webkit.org>
22157
22158        Fix Mac builds.
22159
22160        * WebCore.exp.in:
22161
221622011-04-13  Sam Weinig  <sam@webkit.org>
22163
22164        Reviewed by Gavin Barraclough.
22165
22166        WebKit2 doesn't keep overlay scrollers shown while scroll gesture held
22167        <rdar://problem/9260518>
22168
22169        Notify the scrollbar painter controller when gesture scrolls begin and end.
22170
22171        * WebCore.exp.in:
22172        * platform/mac/ScrollAnimatorMac.h:
22173        * platform/mac/ScrollAnimatorMac.mm:
22174        (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
22175        (WebCore::ScrollAnimatorMac::didEndScrollGesture):
22176        (WebCore::ScrollAnimatorMac::beginScrollGesture):
22177        (WebCore::ScrollAnimatorMac::endScrollGesture):
22178        * platform/mac/WebCoreSystemInterface.h:
22179        * platform/mac/WebCoreSystemInterface.mm:
22180
221812011-04-13  Eric Carlson  <eric.carlson@apple.com>
22182
22183        Reviewed by Maciej Stachowiak.
22184
22185        MediaPlayerPrivateAVFoundationObjC should adopt [AVURLAsset isPlayableExtendedMIMEType:]
22186        https://bugs.webkit.org/show_bug.cgi?id=58451
22187        <rdar://problem/9278468>
22188
22189        No new tests, supported MIME types haven't changed.
22190
22191        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
22192        (WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType): Use
22193        [AVURLAsset isPlayableExtendedMIMEType] instead of just the list of types.
22194
221952011-04-13  Eric Carlson  <eric.carlson@apple.com>
22196
22197        Reviewed by Alexey Proskuryakov.
22198
22199        Media engine fallback doesn't always work
22200        https://bugs.webkit.org/show_bug.cgi?id=58462
22201
22202        No new tests, this was verified manually with the url noted in the bug.
22203
22204        * platform/graphics/MediaPlayer.cpp:
22205        (WebCore::MediaPlayer::networkStateChanged):
22206
222072011-04-13  Zhenyao Mo  <zmo@google.com>
22208
22209        Reviewed by Kenneth Russell.
22210
22211        Extension3D needs to provide a way to check if an extension is enabled
22212        https://bugs.webkit.org/show_bug.cgi?id=58410
22213
22214        * html/canvas/WebGLRenderingContext.cpp:
22215        (WebCore::WebGLRenderingContext::setupFlags): Use isEnabled() instead of supports().
22216        * platform/graphics/Extensions3D.h: Add isEnabled().
22217        * platform/graphics/chromium/Extensions3DChromium.h: Ditto.
22218        * platform/graphics/opengl/Extensions3DOpenGL.cpp: Ditto.
22219        (WebCore::Extensions3DOpenGL::isEnabled):
22220        * platform/graphics/opengl/Extensions3DOpenGL.h: Ditto.
22221        * platform/graphics/qt/Extensions3DQt.cpp: Ditto.
22222        (WebCore::Extensions3DQt::isEnabled):
22223        * platform/graphics/qt/Extensions3DQt.h: Ditto.
22224
222252011-04-13  Oliver Hunt  <oliver@apple.com>
22226
22227        Reviewed by Gavin Barraclough.
22228
22229        Make PropertyMapEntry use a WriteBarrier for specificValue
22230        https://bugs.webkit.org/show_bug.cgi?id=58407
22231
22232        Pass JSGlobalData reference on to APIs that now need them
22233
22234        * bindings/js/JSDOMWindowShell.h:
22235        (WebCore::JSDOMWindowShell::setWindow):
22236        * bindings/js/JSHTMLDocumentCustom.cpp:
22237        (WebCore::JSHTMLDocument::all):
22238
222392011-04-12  Pavel Podivilov  <podivilov@chromium.org>
22240
22241        Reviewed by Pavel Feldman.
22242
22243        Web Inspector: fix source mapping for de-obfuscated scripts.
22244        https://bugs.webkit.org/show_bug.cgi?id=58231
22245
22246        * inspector/front-end/ScriptFormatterWorker.js:
22247        (buildMapping):
22248        * inspector/front-end/SourceFile.js:
22249        (WebInspector.SourceMapping):
22250        (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
22251        (WebInspector.SourceMapping.prototype._sourceLocationToScriptLocation):
22252        (WebInspector):
22253        (WebInspector.FormattedSourceMapping):
22254        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
22255        (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
22256
222572011-04-13  Mario Sanchez Prada  <msanchez@igalia.com>
22258
22259        Reviewed by Martin Robinson.
22260
22261        [GTK] Consider editable and non editable nodes when calculating selection offsets
22262        https://bugs.webkit.org/show_bug.cgi?id=58431
22263
22264        Use firstPositionInOrBeforeNode() and lastPositionInOrAfterNode().
22265
22266        This is needed to ensure that getSelectionOffsetsForObject() works
22267        well when non editable nodes are present in the selection, since
22268        firstPositionInNode() and lastPositionInNode() don't work in those
22269        cases (they assume the node is editable).
22270
22271        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
22272        (getSelectionOffsetsForObject): Updated calls.
22273
222742011-04-13  Mario Sanchez Prada  <msanchez@igalia.com>
22275
22276        Reviewed by Martin Robinson.
22277
22278        [GTK] Missing nullchecks in GTK's a11y wrapper
22279        https://bugs.webkit.org/show_bug.cgi?id=58429
22280
22281        Add missing nullchecks for coreObject->document().
22282
22283        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
22284        (atkParentOfRootObject): Add missing nullcheck.
22285        (getPangoLayoutForAtk): Ditto.
22286        (webkit_accessible_text_get_caret_offset): Ditto.
22287        (textExtents): Ditto.
22288        (webkit_accessible_editable_text_insert_text): Ditto.
22289        (webkit_accessible_editable_text_delete_text): Ditto.
22290
222912011-04-13  Thierry Reding  <thierry.reding@avionic-design.de>
22292
22293        Gtk+ port fails to build when enabling WebGL
22294        https://bugs.webkit.org/show_bug.cgi?id=58434
22295
22296        Fix the GTK+ WebGL build after the introduction of PlatformContextCairo.
22297
22298        * platform/graphics/GraphicsContext3D.h:
22299        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
22300        (WebCore::GraphicsContext3D::paintToCanvas):
22301
223022011-04-12  Philippe Normand  <pnormand@igalia.com>
22303
22304        Reviewed by Martin Robinson.
22305
22306        REGRESSION(r83561): doesn't pause in-window playback during fullscreen playback
22307        https://bugs.webkit.org/show_bug.cgi?id=58312
22308
22309        Make sure to link the videoValve in all cases, fpsdisplaysink
22310        being used or not.
22311
22312        No new test, this patch fixes an internal feature of the player,
22313        not publicly exposed. Having two video sinks and pausing one while
22314        the other displays the fullscreen video is an implementation
22315        detail of the GStreamer player.
22316
22317        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
22318        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
22319
223202011-04-13  Ilya Tikhonovsky  <loislo@chromium.org>
22321
22322        Reviewed by Yury Semikhatsky.
22323
22324        Web Inspector: there is a problem if an optional param is not at the end of a params list.
22325        https://bugs.webkit.org/show_bug.cgi?id=58440
22326
22327        In InspectorBackend.dispatch method we are converting the message's params object into array of arguments
22328        for a callback. But in some cases the optional parameter is declared in the middle of the params list.
22329        That gets us into a problem if this param has been skipped in the message. In that case the tail of the
22330        event params will be shifted. We can slightly modify dispatcher and it will put the params in right places.
22331
22332        * inspector/CodeGeneratorInspector.pm:
22333
223342011-04-13  Ben Taylor  <bentaylor.solx86@gmail.com>
22335
22336        Reviewed by Eric Seidel.
22337
22338        https://bugs.webkit.org/show_bug.cgi?id=57337
22339
22340        Work around a bug in ternary opertions in the Solaris Studio
22341        12/12.1/12.2 compilers, using an if clause.
22342
22343        * dom/NodeRenderStyle.h:
22344        (WebCore::Node::renderStyle):
22345
223462011-04-13  Brian Salomon  <bsalomon@google.com>
22347
22348        Reviewed by Kenneth Russell.
22349
22350        Use new skia API for wrapping DrawingBuffer's FBO/Tex IDs in skia object
22351        https://bugs.webkit.org/show_bug.cgi?id=58363
22352
22353        No new tests needed, exercised by all existing canvas2d tests.
22354
22355        * platform/graphics/chromium/DrawingBufferChromium.cpp:
22356        (WebCore::DrawingBuffer::getGrPlatformSurfaceDesc):
22357        * platform/graphics/gpu/DrawingBuffer.h:
22358        * platform/graphics/skia/PlatformContextSkia.cpp:
22359        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
22360
223612011-04-13  Andrey Kosyakov  <caseq@chromium.org>
22362
22363        Unreviewed. Fix chromium clang build problem:
22364        ApplyPropertyExpandingSuppressValue::applyValue() shadows a virtual method
22365        with a different signature in base class instead of overriding it.
22366
22367        * css/CSSStyleApplyProperty.cpp:
22368        (WebCore::ApplyPropertyExpandingSuppressValue::applyValue):
22369
223702011-04-13  Kinuko Yasuda  <kinuko@chromium.org>
22371
22372        Reviewed by David Levin.
22373
22374        Add mock implementation and plumbing code for unified Quota API
22375        https://bugs.webkit.org/show_bug.cgi?id=57927
22376
22377        Added mock implementation and some plumbing code for the quota API,
22378        that is based on the discussion on public-webapps:
22379        http://lists.w3.org/Archives/Public/public-webapps/2011JanMar/0346.html
22380
22381        No new tests: tests will be added when we expose the API.
22382
22383        * CMakeLists.txt: Added new file entries.
22384        * DerivedSources.cpp: Added new file entries.
22385        * DerivedSources.make: Added new file entries.
22386        * GNUmakefile.am: Added new file entries.
22387        * WebCore.gypi: Added new file entries.
22388        * WebCore.pro: Added new file entries.
22389        * WebCore.vcproj/WebCore.vcproj: Added new file entries.
22390        * WebCore.xcodeproj/project.pbxproj: Added new file entries.
22391        * storage/StorageInfo.cpp: Added.
22392        * storage/StorageInfo.h: Added.
22393        * storage/StorageInfoErrorCallback.h: Added.
22394        * storage/StorageInfoQuotaCallback.h: Added.
22395        * storage/StorageInfoUsageCallback.h: Added.
22396
223972011-04-13  Gustavo Noronha Silva  <gns@gnome.org>
22398
22399        Reviewed by Martin Robinson.
22400
22401        [GTK] PluginPackage should check whether a plugin mixes GTK+ 2 and 3 symbols itself
22402        https://bugs.webkit.org/show_bug.cgi?id=58297
22403
22404        Make sure we do not load plugins that use symbols of a different
22405        GTK+ major version to avoid bugs and crashes.
22406
22407        * plugins/gtk/PluginPackageGtk.cpp:
22408        (WebCore::moduleMixesGtkSymbols):
22409        (WebCore::PluginPackage::load):
22410
224112011-04-13  Andrey Adaikin  <aandrey@google.com>
22412
22413        Reviewed by Pavel Feldman.
22414
22415        Web Inspector: Implement undo/redo in text editor
22416        https://bugs.webkit.org/show_bug.cgi?id=58426
22417
22418        Native undo/redo does not work because we modify DOM structure (highlights, chunks and etc.)
22419        Implement it via keyboard shortcuts for now (Cmd/Ctrl+Z and Cmd/Ctrl+Shift+Z).
22420        FIXME: Do something with the popup's Undo and Redo menu options - they invoke native's undo/redo.
22421
22422        * inspector/front-end/SourceFrame.js:
22423        (WebInspector.SourceFrame.prototype.endEditing):
22424        * inspector/front-end/TextEditorModel.js:
22425        (WebInspector.TextEditorModel.prototype.setText):
22426        (WebInspector.TextEditorModel.prototype._innerSetText):
22427        (WebInspector.TextEditorModel.prototype._pushUndoableCommand):
22428        (WebInspector.TextEditorModel.prototype.undo):
22429        (WebInspector.TextEditorModel.prototype.redo):
22430        (WebInspector.TextEditorModel.prototype._doUndo):
22431        * inspector/front-end/TextViewer.js:
22432        (WebInspector.TextViewer.prototype._textChanged):
22433        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
22434        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
22435        (WebInspector.TextViewer.prototype._registerShortcuts):
22436        (WebInspector.TextViewer.prototype._cancelEditing):
22437        (WebInspector.TextViewer.prototype._handleUndoRedo):
22438        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
22439        (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
22440        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
22441        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
22442        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
22443        (WebInspector.TextEditorMainPanel.prototype._restoreSelection):
22444        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
22445        (WebInspector.TextEditorMainPanel.prototype.textChanged):
22446        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
22447
224482011-04-13  Pavel Feldman  <pfeldman@chromium.org>
22449
22450        Reviewed by Yury Semikhatsky.
22451
22452        Web Inspector: make optional event parameter last to prevent regressions.
22453        https://bugs.webkit.org/show_bug.cgi?id=58433
22454
22455        * inspector/Inspector.json:
22456        * inspector/InspectorResourceAgent.cpp:
22457        (WebCore::InspectorResourceAgent::willSendRequest):
22458        * inspector/front-end/NetworkManager.js:
22459        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
22460
224612011-04-13  Pavel Feldman  <pfeldman@chromium.org>
22462
22463        Not reviewed: revert Inspector.json change for breaking world.
22464
22465        * inspector/Inspector.json:
22466
224672011-04-13  Pavel Feldman  <pfeldman@chromium.org>
22468
22469        Not reviewed: swap methods in the Inspector.json.
22470
22471        * inspector/Inspector.json:
22472
224732011-04-13  Csaba Osztrogonác  <ossy@webkit.org>
22474
22475        Unreviewed, rolling out r83695.
22476        http://trac.webkit.org/changeset/83695
22477        https://bugs.webkit.org/show_bug.cgi?id=58375
22478
22479        [Qt][WK2]It broke http tests
22480
22481        * platform/network/qt/QNetworkReplyHandler.cpp:
22482        (WebCore::QNetworkReplyHandler::start):
22483        (WebCore::QNetworkReplyHandler::synchronousLoad):
22484        * platform/network/qt/QNetworkReplyHandler.h:
22485        * platform/network/qt/ResourceHandleQt.cpp:
22486        (WebCore::WebCoreSynchronousLoader::resourceResponse):
22487        (WebCore::WebCoreSynchronousLoader::resourceError):
22488        (WebCore::WebCoreSynchronousLoader::data):
22489        (WebCore::WebCoreSynchronousLoader::setReplyFinished):
22490        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
22491        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
22492        (WebCore::WebCoreSynchronousLoader::didReceiveData):
22493        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
22494        (WebCore::WebCoreSynchronousLoader::didFail):
22495        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
22496        (WebCore::ResourceHandle::loadResourceSynchronously):
22497
224982011-04-13  Pavel Podivilov  <podivilov@chromium.org>
22499
22500        Reviewed by Pavel Feldman.
22501
22502        Web Inspector: inactive style sheets should be read only.
22503        https://bugs.webkit.org/show_bug.cgi?id=58423
22504
22505        * inspector/front-end/ResourceView.js:
22506        (WebInspector.CSSSourceFrame):
22507        (WebInspector.CSSSourceFrame.prototype.isContentEditable):
22508        (WebInspector.CSSSourceFrame.prototype._loadStyleSheet.didGetAllStyleSheets.didCreateForId):
22509        (WebInspector.CSSSourceFrame.prototype._loadStyleSheet):
22510
225112011-04-13  Mikhail Naganov  <mnaganov@chromium.org>
22512
22513        Reviewed by Pavel Feldman.
22514
22515        Web Inspector: [Chromium] Prepare to move detailed heap snapshots storage and processing into workers.
22516        https://bugs.webkit.org/show_bug.cgi?id=58320
22517
22518        Introduce a proxy object that emulates worker behavior and change UI code to cope with it.
22519
22520        * WebCore.gypi:
22521        * WebCore.vcproj/WebCore.vcproj:
22522        * inspector/front-end/DetailedHeapshotGridNodes.js:
22523        (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate.sorted):
22524        (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
22525        (WebInspector.HeapSnapshotGridNode.prototype._populate):
22526        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
22527        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
22528        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
22529        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort.afterPopulate):
22530        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort.afterSort):
22531        (WebInspector.HeapSnapshotGridNode.prototype.sort):
22532        (WebInspector.HeapSnapshotGenericObjectNode):
22533        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
22534        (WebInspector.HeapSnapshotGenericObjectNode.prototype._updateHasChildren):
22535        (WebInspector.HeapSnapshotObjectNode):
22536        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
22537        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
22538        (WebInspector.HeapSnapshotInstanceNode):
22539        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
22540        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
22541        (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
22542        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
22543        (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
22544        (WebInspector.HeapSnapshotDiffNode.prototype._calculateDiff):
22545        (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
22546        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
22547        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
22548        (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
22549        (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
22550        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
22551        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
22552        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
22553        (WebInspector.HeapSnapshotDominatorObjectNode):
22554        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
22555        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
22556        * inspector/front-end/DetailedHeapshotView.js:
22557        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
22558        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
22559        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
22560        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
22561        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.baseSnapshotNodeIdsReceived):
22562        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.pushBaseSnapshotNodeIds):
22563        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource.snapshotNodeIdsReceived):
22564        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
22565        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
22566        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
22567        (WebInspector.HeapSnapshotRetainingPathsList):
22568        (WebInspector.HeapSnapshotRetainingPathsList.prototype._resetPaths):
22569        (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
22570        (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
22571        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.pathFound):
22572        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching):
22573        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
22574        (WebInspector.DetailedHeapshotView.profileCallback):
22575        (WebInspector.DetailedHeapshotView):
22576        (WebInspector.DetailedHeapshotView.prototype.get profileWrapper):
22577        (WebInspector.DetailedHeapshotView.prototype.get baseProfileWrapper):
22578        (WebInspector.DetailedHeapshotView.prototype.show.profileCallback1):
22579        (WebInspector.DetailedHeapshotView.prototype.show.profileCallback2):
22580        (WebInspector.DetailedHeapshotView.prototype.show):
22581        (WebInspector.DetailedHeapshotView.prototype._changeBase.baseProfileLoaded):
22582        * inspector/front-end/HeapSnapshot.js:
22583        * inspector/front-end/HeapSnapshotProxy.js: Added.
22584        * inspector/front-end/PleaseWaitMessage.js:
22585        * inspector/front-end/ProfilesPanel.js:
22586        (WebInspector.ProfilesPanel.prototype._reset):
22587        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
22588        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
22589        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
22590        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.else.parsed):
22591        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
22592        * inspector/front-end/WebKit.qrc:
22593        * inspector/front-end/inspector.html:
22594
225952011-04-13  Alexander Pavlov  <apavlov@chromium.org>
22596
22597        Reviewed by Pavel Feldman.
22598
22599        Web Inspector: Web Page Performance auditing fails
22600        https://bugs.webkit.org/show_bug.cgi?id=58322
22601
22602        * inspector/front-end/AuditRules.js:
22603        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
22604        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
22605        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
22606        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
22607        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
22608        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
22609        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
22610        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
22611        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
22612        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
22613        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
22614
226152011-04-13  Pavel Feldman  <pfeldman@google.com>
22616
22617        Reviewed by Yury Semikhatsky.
22618
22619        Web Inspector: enumerate properties in Inspector.json using array, not object keys.
22620        https://bugs.webkit.org/show_bug.cgi?id=58418
22621
22622        * inspector/Inspector.json:
22623
226242011-04-06  Pavel Podivilov  <podivilov@chromium.org>
22625
22626        Reviewed by Pavel Feldman.
22627
22628        Web Inspector: add "De-obfuscate Source" item to source frame text area context menu.
22629        https://bugs.webkit.org/show_bug.cgi?id=57942
22630
22631        * English.lproj/localizedStrings.js:
22632        * inspector/front-end/DebuggerPresentationModel.js:
22633        (WebInspector.DebuggerPresentationModel.prototype.formatSourceFilesToggled):
22634        * inspector/front-end/ScriptsPanel.js:
22635        (WebInspector.ScriptsPanel):
22636        (WebInspector.ScriptsPanel.prototype._togglePauseOnExceptions):
22637        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
22638        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.toggleFormatSourceFiles):
22639        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.formatSourceFilesToggled):
22640        * inspector/front-end/SourceFrame.js:
22641        (WebInspector.SourceFrame.prototype._contextMenu):
22642        (WebInspector.SourceFrame.prototype._populateLineGutterContextMenu):
22643        (WebInspector.SourceFrame.prototype._populateTextAreaContextMenu):
22644        (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
22645        (WebInspector.SourceFrameDelegate.prototype.toggleFormatSourceFiles):
22646        (WebInspector.SourceFrameDelegate.prototype.formatSourceFilesToggled):
22647
226482011-04-13  Nikolas Zimmermann  <nzimmermann@rim.com>
22649
22650        Reviewed by Dirk Schulze.
22651
22652        SVGTextContentElements textLength returns 0
22653        https://bugs.webkit.org/show_bug.cgi?id=52543
22654
22655        Add proper handling of the SVGTextContentElement textLength property, according to SVG 1.1 2nd edition.
22656
22657        If the textLength attributes is not explicitely set "textContentElement.textLength.baseVal"
22658        will return the same as "textContentElement.getComputedTextLength()". If it's set the values
22659        aren't equal anymore. getComputedTextLength() ignores the textLength attributes as well as the
22660        lengthAdjust attribute. Adapt all of SVGTextQuery to ignore the lengthAdjust/textLength attributes.
22661        This is how Opera implements it, and it makes sense to a certain degree, as otherwhise getComputedTextLength()
22662        and textLength.baseVal.value would always be the same. Nor does the spec mention that textLength is honored
22663        in the SVG Text DOM API.
22664
22665        Fixes svg/custom/text-dom-01-f.svg (from SVG 1.1 2nd edition, should be moved into the new W3C-SVG-1.1-SE directory).
22666        Fixes svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg (last subtest related to textLength now passes).
22667
22668        Added new svg/dynamic-updates testcases covering dynamic changes of lengthAdjust/textLength and the synchronization
22669        with getComputedTextLength().
22670
22671        Tests: svg/W3C-SVG-1.1-SE/svgdom-over-01-f.svg
22672               svg/dynamic-updates/SVGTextElement-dom-lengthAdjust-attr.html
22673               svg/dynamic-updates/SVGTextElement-dom-textLength-attr.html
22674               svg/dynamic-updates/SVGTextElement-svgdom-lengthAdjust-prop.html
22675               svg/dynamic-updates/SVGTextElement-svgdom-textLength-prop.html
22676
22677        * rendering/svg/RenderSVGInlineText.cpp:
22678        (WebCore::RenderSVGInlineText::positionForPoint):
22679        * rendering/svg/SVGInlineFlowBox.cpp:
22680        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
22681        * rendering/svg/SVGInlineTextBox.cpp:
22682        (WebCore::SVGInlineTextBox::offsetForPositionInFragment):
22683        (WebCore::SVGInlineTextBox::selectionRect):
22684        (WebCore::SVGInlineTextBox::paintSelectionBackground):
22685        (WebCore::SVGInlineTextBox::paint):
22686        (WebCore::SVGInlineTextBox::calculateBoundaries):
22687        * rendering/svg/SVGTextChunkBuilder.cpp:
22688        (WebCore::SVGTextChunkBuilder::buildTextChunks):
22689        (WebCore::SVGTextChunkBuilder::layoutTextChunks):
22690        (WebCore::SVGTextChunkBuilder::addTextChunk):
22691        (WebCore::SVGTextChunkBuilder::processTextChunk):
22692        (WebCore::SVGTextChunkBuilder::processTextLengthSpacingCorrection):
22693        (WebCore::SVGTextChunkBuilder::processTextAnchorCorrection):
22694        * rendering/svg/SVGTextFragment.h:
22695        (WebCore::SVGTextFragment::SVGTextFragment):
22696        (WebCore::SVGTextFragment::buildFragmentTransform):
22697        (WebCore::SVGTextFragment::transformAroundOrigin):
22698        (WebCore::SVGTextFragment::buildTransformForTextOnPath):
22699        (WebCore::SVGTextFragment::buildTransformForTextOnLine):
22700        * rendering/svg/SVGTextLayoutEngine.cpp:
22701        (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
22702        (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
22703        (WebCore::dumpTextBoxes):
22704        (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
22705        (WebCore::SVGTextLayoutEngine::finishLayout):
22706        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
22707        * rendering/svg/SVGTextQuery.cpp:
22708        (WebCore::SVGTextQuery::textLengthCallback):
22709        (WebCore::SVGTextQuery::subStringLengthCallback):
22710        (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
22711        (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
22712        (WebCore::SVGTextQuery::rotationOfCharacterCallback):
22713        (WebCore::calculateGlyphBoundaries):
22714        * svg/SVGTextContentElement.cpp:
22715        (WebCore::SVGTextContentElement::SVGTextContentElement):
22716        (WebCore::SVGTextContentElement::synchronizeTextLength):
22717        (WebCore::SVGTextContentElement::textLengthAnimated):
22718        (WebCore::SVGTextContentElement::parseMappedAttribute):
22719        (WebCore::SVGTextContentElement::svgAttributeChanged):
22720        * svg/SVGTextContentElement.h:
22721        (WebCore::SVGTextContentElement::specifiedTextLength):
22722        * svg/SVGTextPathElement.cpp:
22723        (WebCore::SVGTextPathElement::svgAttributeChanged):
22724        * svg/SVGTextPositioningElement.cpp:
22725        (WebCore::SVGTextPositioningElement::svgAttributeChanged):
22726
227272011-04-13  Pavel Feldman  <pfeldman@google.com>
22728
22729        Reviewed by Yury Semikhatsky.
22730
22731        Web Inspector: requestDocument can result in race condition in DOMAgent.js
22732        https://bugs.webkit.org/show_bug.cgi?id=58415
22733
22734        * inspector/front-end/DOMAgent.js:
22735        (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
22736        (WebInspector.DOMAgent.prototype.requestDocument):
22737
227382011-04-12  Pavel Feldman  <pfeldman@google.com>
22739
22740        Reviewed by Yury Semikhatsky.
22741
22742        Web Inspector: another pass of protocol renames.
22743        https://bugs.webkit.org/show_bug.cgi?id=58340
22744
22745        * inspector/Inspector.json:
22746        * inspector/InspectorDOMAgent.cpp:
22747        (WebCore::InspectorDOMAgent::getDocument):
22748        (WebCore::InspectorDOMAgent::performSearch):
22749        (WebCore::InspectorDOMAgent::setSearchingForNode):
22750        * inspector/InspectorDOMAgent.h:
22751        * inspector/InspectorDebuggerAgent.cpp:
22752        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
22753        * inspector/InspectorDebuggerAgent.h:
22754        * inspector/InspectorRuntimeAgent.cpp:
22755        (WebCore::InspectorRuntimeAgent::evaluate):
22756        * inspector/InspectorRuntimeAgent.h:
22757        * inspector/front-end/ElementsPanel.js:
22758        (WebInspector.ElementsPanel.prototype._setSearchingForNode):
22759        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
22760
227612011-04-12  Luke Macpherson   <macpherson@chromium.org>
22762
22763        Reviewed by Dimitri Glazkov.
22764
22765        Implement remaining Background and Mask css properties in CSSStyleApplyProperty
22766        https://bugs.webkit.org/show_bug.cgi?id=58390
22767
22768        No new tests required as no functionality changed.
22769
22770        * css/CSSStyleApplyProperty.cpp:
22771        (WebCore::ApplyPropertyExpanding): Class to expand one property to 0-4 properties.
22772        (WebCore::ApplyPropertyExpandingSuppressValue): Expand properties but suppress applyValue.
22773
22774        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
22775        (WebCore::CSSStyleSelector::applyProperty): Remove implementations that have been moved to CSSStyleApplyProperty.
22776
227772011-04-12  Sergey Glazunov  <serg.glazunov@gmail.com>
22778
22779        Reviewed by Dimitri Glazkov.
22780
22781        Element::setAttribute should check the namespace of an id attribute
22782        https://bugs.webkit.org/show_bug.cgi?id=58359
22783
22784        Test: fast/dom/id-attribute-with-namespace-crash.html
22785
22786        * dom/Element.cpp:
22787        (WebCore::Element::setAttribute):
22788
227892011-04-12  Mike Lawther  <mikelawther@chromium.org>
22790
22791        Reviewed by James Robinson.
22792
22793        Update boolean operators in RenderStyle to be compatible with check-webkit-style
22794        https://bugs.webkit.org/show_bug.cgi?id=58409
22795
22796        No new functionality, so no new tests.
22797
22798        * rendering/style/RenderStyle.cpp:
22799        (WebCore::RenderStyle::operator==):
22800        (WebCore::RenderStyle::inheritedNotEqual):
22801        (WebCore::positionedObjectMoved):
22802        (WebCore::RenderStyle::diff):
22803        (WebCore::RenderStyle::applyTransform):
22804        * rendering/style/RenderStyle.h:
22805        (WebCore::InheritedFlags::isOriginalDisplayInlineType):
22806
228072011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
22808
22809        Reviewed by Andreas Kling.
22810
22811        [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
22812        https://bugs.webkit.org/show_bug.cgi?id=58375
22813
22814        As QNAM now makes actual synchronous loads there is no need for a nested event loop
22815        in ResourceHandleQt.
22816
22817        Moving the call for QNetworkReplyWrapper::synchronousLoad from
22818        ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
22819        redirections to work in synchronous requests.
22820
22821        * platform/network/qt/QNetworkReplyHandler.cpp:
22822        (WebCore::QNetworkReplyHandler::start):
22823        * platform/network/qt/QNetworkReplyHandler.h:
22824        * platform/network/qt/ResourceHandleQt.cpp:
22825        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
22826        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
22827        (WebCore::WebCoreSynchronousLoader::didReceiveData):
22828        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
22829        (WebCore::WebCoreSynchronousLoader::didFail):
22830        (WebCore::ResourceHandle::loadResourceSynchronously):
22831
228322011-04-12  Vangelis Kokkevis  <vangelis@chromium.org>
22833
22834        Reviewed by James Robinson.
22835
22836        [chromium] Move the calculation of the layer's z coordinate to the
22837        right spot so that it can be picked up by its sublayers.
22838        https://bugs.webkit.org/show_bug.cgi?id=58397
22839
22840        Test: platform/chromium/compositing/child-layer-3d-sorting.html
22841
22842        * platform/graphics/chromium/LayerRendererChromium.cpp:
22843        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
22844
228452011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
22846
22847        Reviewed by Andreas Kling.
22848
22849        [Qt] QNetworkReplyHandler refactoring: signal queue
22850        https://bugs.webkit.org/show_bug.cgi?id=57075
22851
22852        The idea is to make all signals that come from the QNetworkReply to pass through a queue and to
22853        stop that queue when loading is deferred. This way almost all the deferred logic can be removed
22854        from QNetworkReplyHandler class and encapsulated in its own class.
22855
22856        To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper
22857        methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods.
22858        This together with empting the queue at wrapper destruction time makes sure that the handler will
22859        not receive calls from a dead wrapper.
22860
22861        The new class is named QNetworkReplyHandlerCallQueue.
22862
22863        * platform/network/qt/QNetworkReplyHandler.cpp:
22864        (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue):
22865        (WebCore::QNetworkReplyHandlerCallQueue::push):
22866        (WebCore::QNetworkReplyHandlerCallQueue::lock):
22867        (WebCore::QNetworkReplyHandlerCallQueue::unlock):
22868        (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
22869        (WebCore::QNetworkReplyHandlerCallQueue::flush):
22870        (WebCore::QueueLocker::QueueLocker):
22871        (WebCore::QueueLocker::~QueueLocker):
22872        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
22873        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
22874        (WebCore::QNetworkReplyWrapper::receiveMetaData):
22875        (WebCore::QNetworkReplyWrapper::readyRead):
22876        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
22877        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
22878        (WebCore::QNetworkReplyHandler::resetState):
22879        (WebCore::QNetworkReplyHandler::release):
22880        (WebCore::QNetworkReplyHandler::finish):
22881        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
22882        (WebCore::QNetworkReplyHandler::forwardData):
22883        (WebCore::QNetworkReplyHandler::start):
22884        (WebCore::QNetworkReplyHandler::synchronousLoad):
22885        * platform/network/qt/QNetworkReplyHandler.h:
22886        (WebCore::QNetworkReplyHandlerCallQueue::deferSignals):
22887        (WebCore::QNetworkReplyHandlerCallQueue::clear):
22888        (WebCore::QNetworkReplyWrapper::synchronousLoad):
22889        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
22890        * platform/network/qt/ResourceHandleQt.cpp:
22891        (WebCore::ResourceHandle::loadResourceSynchronously):
22892
228932011-04-12  Kenichi Ishibashi  <bashi@chromium.org>
22894
22895        Reviewed by Kent Tamura.
22896
22897        Fix wrong calculation of HTMLFormElement::m_associatedElementsAfterIndex.
22898        https://bugs.webkit.org/show_bug.cgi?id=58247
22899
22900        - Increment m_associatedElementsAfterIndex when the form owner and an
22901        inserted form associated element have the same parent chain.
22902        - Always iterate over m_associatedElements to decrease indexes when a
22903        form associated element is removed. This is needed for a case that the
22904        form associated element is removed from the form element due to
22905        deleting the 'form' attribute. No behavioral change expected with this
22906        change.
22907
22908        Tests: fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail1.html
22909               fast/dom/HTMLFormElement/associated-elements-after-index-assertion-fail2.html
22910
22911        * html/HTMLFormElement.cpp:
22912        (WebCore::HTMLFormElement::formElementIndexWithFormAttribute):
22913        Incremet m_associatedElementsAfterIndex when compareDocumentPosition()
22914        returns DOCUMENT_POSITION_CONTAINED_BY.
22915        (WebCore::HTMLFormElement::removeFormElement):
22916        Always iterate m_associatedElements to adjust indexes.
22917
229182011-04-12  Diego Gonzalez  <diegohcg@webkit.org>
22919
22920        Reviewed by Kenneth Rohde Christiansen.
22921
22922        [Qt] Do not show scrollbars when use mobile theme
22923        https://bugs.webkit.org/show_bug.cgi?id=58380
22924
22925        * platform/qt/ScrollbarThemeQt.cpp:
22926        (WebCore::ScrollbarThemeQt::scrollbarThickness):
22927
229282011-04-12  Anantanarayanan G Iyengar  <ananta@chromium.org>
22929
22930        Reviewed by Alexey Proskuryakov.
22931
22932        The default backspace event handler should mark the event as handled if navigation succeeds.
22933        https://bugs.webkit.org/show_bug.cgi?id=58379
22934
22935        We should mark the event as handled only if we were able to successfully navigate backwards or forwards.
22936        These navigations can fail if there is now back/forward history. This can occur in cases like ChromeFrame
22937        where history is managed by an external browser like IE.
22938
22939        No new tests added as this scenario can occur when the history view is split across two browsers (WebKit and IE)
22940        It is non trivial to simulate this environment.
22941
22942        * page/EventHandler.cpp:
22943        (WebCore::EventHandler::defaultBackspaceEventHandler):
22944
229452011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
22946
22947        Reviewed by Eric Seidel.
22948
22949        Make availableWidth and totalOverhangWidth in findNextLineBreak member variables of LineWidth
22950        https://bugs.webkit.org/show_bug.cgi?id=58400
22951
22952        Added m_availableWidth and m_overhangWidth to LineWidth this allows us to encapsulate m_overhangWidth.
22953
22954        * rendering/RenderBlock.h:
22955        * rendering/RenderBlockLineLayout.cpp:
22956        (WebCore::LineWidth::LineWidth):
22957        (WebCore::LineWidth::fitsOnLine): Added; returns true if current width + first argument <= availableWidth.
22958        (WebCore::LineWidth::availableWidth): Added.
22959        (WebCore::LineWidth::setAvailableWidth): Added; takes LineOffsets.
22960        (WebCore::LineWidth::applyOverhang): Added; obtains the overhang width from ruby run and inflates
22961        the available width.
22962        (WebCore::LineWidth::fitBelowFloats): Moved from RenderBlock.
22963        (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
22964
229652011-04-12  Alexis Menard  <alexis.menard@openbossa.org>
22966
22967        Unreviewed warning fix.
22968
22969        MediaControlElements has been moved to html/shadow.
22970
22971        * WebCore.pro:
22972
229732011-04-12  Yael Aharon  <yael.aharon@nokia.com>
22974
22975        Reviewed by Eric Seidel.
22976
22977        Rename onEndChain and make it a static method.
22978        https://bugs.webkit.org/show_bug.cgi?id=58403
22979
22980        No new tests since this is refactoring only.
22981
22982        * rendering/InlineFlowBox.cpp:
22983        (WebCore::isLastChildForRenderer):
22984        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
22985        * rendering/InlineFlowBox.h:
22986
229872011-04-12  Eric Carlson  <eric.carlson@apple.com>
22988
22989        Not reviewed, build fix.
22990
22991        Fix non-accelerated build after r83667.
22992
22993        * html/HTMLMediaElement.cpp:
22994        (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): Guard call to
22995            mediaPlayerRenderingModeChanged with USE(ACCELERATED_COMPOSITING.
22996
229972011-04-12  Adrienne Walker  <enne@google.com>
22998
22999        Reviewed by James Robinson.
23000
23001        [chromium] TilingData mishandles very small texture sizes
23002        https://bugs.webkit.org/show_bug.cgi?id=58364
23003
23004        Use zero tiles when the texture size is too small for tiling.
23005
23006        * platform/graphics/gpu/TilingData.cpp:
23007        (WebCore::TilingData::TilingData):
23008        (WebCore::TilingData::setMaxTextureSize):
23009
230102011-04-12  Csaba Osztrogonác  <ossy@webkit.org>
23011
23012        Unreviewed, rolling out r83634 and r83659.
23013        http://trac.webkit.org/changeset/83634
23014        http://trac.webkit.org/changeset/83659
23015        https://bugs.webkit.org/show_bug.cgi?id=57075
23016
23017        It made 2 tests time out
23018
23019        * platform/network/qt/QNetworkReplyHandler.cpp:
23020        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
23021        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
23022        (WebCore::QNetworkReplyWrapper::receiveMetaData):
23023        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
23024        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
23025        (WebCore::QNetworkReplyHandler::resetState):
23026        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
23027        (WebCore::QNetworkReplyHandler::resumeDeferredLoad):
23028        (WebCore::QNetworkReplyHandler::release):
23029        (WebCore::QNetworkReplyHandler::finish):
23030        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
23031        (WebCore::QNetworkReplyHandler::forwardData):
23032        (WebCore::QNetworkReplyHandler::start):
23033        * platform/network/qt/QNetworkReplyHandler.h:
23034        * platform/network/qt/ResourceHandleQt.cpp:
23035        (WebCore::WebCoreSynchronousLoader::resourceResponse):
23036        (WebCore::WebCoreSynchronousLoader::resourceError):
23037        (WebCore::WebCoreSynchronousLoader::data):
23038        (WebCore::WebCoreSynchronousLoader::setReplyFinished):
23039        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
23040        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
23041        (WebCore::WebCoreSynchronousLoader::didReceiveData):
23042        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
23043        (WebCore::WebCoreSynchronousLoader::didFail):
23044        (WebCore::WebCoreSynchronousLoader::waitForCompletion):
23045        (WebCore::ResourceHandle::loadResourceSynchronously):
23046
230472011-04-12  Sam Weinig  <sam@webkit.org>
23048
23049        Reviewed by Simon Fraser.
23050
23051        Frames prevent scrolling containing page
23052        <rdar://problem/8990409>
23053        https://bugs.webkit.org/show_bug.cgi?id=58392
23054
23055        Also fixes:
23056        Should rubber-band on pages with no scrollbars
23057        <rdar://problem/9034280>
23058
23059        * page/FrameView.cpp:
23060        (WebCore::FrameView::FrameView):
23061        Make the main frame rubber-band horizontally and vertically always.
23062
23063        * platform/ScrollTypes.h:
23064        Add ScrollElasticity enum.
23065
23066        * platform/ScrollableArea.cpp:
23067        Default to no elasticity.
23068
23069        (WebCore::ScrollableArea::ScrollableArea):
23070        * platform/ScrollableArea.h:
23071        (WebCore::ScrollableArea::setVerticalScrollElasticity):
23072        (WebCore::ScrollableArea::verticalScrollElasticity):
23073        (WebCore::ScrollableArea::setHorizontalScrollElasticity):
23074        (WebCore::ScrollableArea::horizontalScrollElasticity):
23075        Add state for horizontal and vertical elasticity.
23076
23077        * platform/mac/ScrollAnimatorMac.mm:
23078        (WebCore::ScrollAnimatorMac::handleWheelEvent):
23079        Bail out of new scrolling behavior if we can't rubber-band. By bailing before
23080        accepting the wheel event, we allow the wheel event to be forwarded. We will
23081        need to refine this logic to allow subframe scrolling in the future.
23082
23083        (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
23084        (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
23085        Switch stretching behavior based on the ScrollableArea's elasticity.
23086
230872011-04-12  Geoffrey Garen  <ggaren@apple.com>
23088
23089        Not reviewed.
23090
23091        Try to fix the Chromium build.
23092
23093        Why have one URL when you can have two at twice the price?
23094
23095        * platform/KURL.h:
23096        (WebCore::KURL::KURL):
23097        (WebCore::KURL::isHashTableDeletedValue):
23098        * platform/KURLGoogle.cpp:
23099        (WebCore::KURLGooglePrivate::KURLGooglePrivate):
23100        * platform/KURLGooglePrivate.h: Added a GoogleURL path for KURL's hash
23101        table deleted value constructor.
23102
231032011-04-12  Stephanie Lewis  <slewis@apple.com>
23104
23105        Reviewed by Oliver Hunt.
23106        https://bugs.webkit.org/show_bug.cgi?id=58280
23107        Fix a layout test by correctly comparing enums, and not adding exceptions.
23108
23109        * bindings/js/SerializedScriptValue.cpp:
23110        (WebCore::SerializedScriptValue::create):
23111        (WebCore::SerializedScriptValue::deserialize):
23112        * bindings/js/SerializedScriptValue.h:
23113
231142011-04-12  Eric Carlson  <eric.carlson@apple.com>
23115
23116        Reviewed by Simon Fraser.
23117
23118        Apple movie trailers play only audio
23119        https://bugs.webkit.org/show_bug.cgi?id=58339
23120        <rdar://problem/9237606>
23121
23122        No new tests, covered by existing layout and manual tests.
23123
23124        * html/HTMLMediaElement.cpp:
23125        (WebCore::HTMLMediaElement::mediaPlayerEngineUpdated): Do the logging before calling any functions.
23126        (WebCore::HTMLMediaElement::mediaPlayerFirstVideoFrameAvailable): New, if still displaying the poster
23127            change the display mode to Video and force a style recalc so the video layer gets hooked
23128            up the the render tree.
23129        * html/HTMLMediaElement.h: Define new display mode, PosterWaitingForVideo, to signal that we
23130            want to stop displaying the poster as soon as the first frame of video is available.
23131
23132        * html/HTMLVideoElement.cpp:
23133        (WebCore::HTMLVideoElement::setDisplayMode): Change display mode to PosterWaitingForVideo when
23134            we want to display Video but the media engines doesn't have the first frame yet.
23135        * html/HTMLVideoElement.h:
23136        (WebCore::HTMLVideoElement::shouldDisplayPosterImage): Update to return true when display mode
23137            is PosterWaitingForVideo.
23138
23139        * manual-tests/media-elements/video-replaces-poster.html: Clean up bit-rot from patch changes.
23140
23141        * platform/graphics/MediaPlayer.cpp:
23142        (WebCore::MediaPlayer::firstVideoFrameAvailable): New, passthrough from media engien to element.
23143        * platform/graphics/MediaPlayer.h:
23144        (WebCore::MediaPlayerClient::mediaPlayerFirstVideoFrameAvailable):
23145
23146        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
23147        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation): Initialize
23148            m_haveReportedFirstVideoFrame and m_playWhenFramesAvailable.
23149        (WebCore::MediaPlayerPrivateAVFoundation::play): Don't actually start playback until the first
23150            frame of video has loaded, or audio will begin to play before we can show video.
23151        (WebCore::MediaPlayerPrivateAVFoundation::pause): Clear m_playWhenFramesAvailable.
23152        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): When first frame of video is
23153            available, inform elment and begin playback if it was previousl requested.
23154        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
23155
23156        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
23157        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
23158        (WebCore::MediaPlayerPrivateAVFoundationObjC::destroyContextVideoRenderer): Correct logging.
23159        (WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer): Ditto.
23160        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPlay): Renamed from play.
23161        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformPause): Rename from pause.
23162
231632011-04-12  Jian Li  <jianli@chromium.org>
23164
23165        Unreviewed, rolling out r83649.
23166        http://trac.webkit.org/changeset/83649
23167        https://bugs.webkit.org/show_bug.cgi?id=57563
23168
23169        This patch causes compiling errors for chromium
23170
23171        * platform/graphics/chromium/FontChromiumWin.cpp:
23172        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
23173        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
23174        (WebCore::Font::drawComplexText):
23175        * platform/graphics/chromium/ImageBufferData.h:
23176        * platform/graphics/chromium/LayerChromium.h:
23177        * platform/graphics/chromium/LayerRendererChromium.h:
23178        * platform/graphics/chromium/PlatformCanvas.cpp:
23179        (WebCore::PlatformCanvas::resize):
23180        * platform/graphics/chromium/PlatformCanvas.h:
23181        * platform/graphics/chromium/TransparencyWin.cpp:
23182        (WebCore::TransparencyWin::compositeTextComposite):
23183        (WebCore::TransparencyWin::makeLayerOpaque):
23184        * platform/graphics/skia/ImageBufferSkia.cpp:
23185        (WebCore::ImageBuffer::ImageBuffer):
23186        * platform/graphics/skia/ImageSkia.cpp:
23187        (WebCore::paintSkBitmap):
23188        (WebCore::Image::drawPattern):
23189        * platform/graphics/skia/PlatformContextSkia.cpp:
23190        (WebCore::PlatformContextSkia::PlatformContextSkia):
23191        (WebCore::PlatformContextSkia::setCanvas):
23192        (WebCore::PlatformContextSkia::isPrinting):
23193        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
23194        * platform/graphics/skia/PlatformContextSkia.h:
23195        (WebCore::PlatformContextSkia::canvas):
23196
231972011-04-12  Enrica Casucci  <enrica@apple.com>
23198
23199        Reviewed by Alexey Proskuryakov.
23200
23201        Implement non-activating clicks to allow dragging out of a background window.
23202        https://bugs.webkit.org/show_bug.cgi?id=55053
23203        <rdar://problem/9042197>
23204
23205        * WebCore.exp.in: Added new exported method.
23206
232072011-04-12  Geoffrey Garen  <ggaren@apple.com>
23208
23209        Reviewed by Geoffrey Garen.
23210
23211        Cleaned up hash traits, and added hash traits for handles
23212        https://bugs.webkit.org/show_bug.cgi?id=58381
23213
23214        * dom/QualifiedName.h: Use new SimpleClassHashTraits to avoid duplication.
23215
23216        * platform/KURL.h:
23217        (WebCore::KURL::KURL):
23218        (WebCore::KURL::isHashTableDeletedValue): Added explicit hash table
23219        deleted value constructor, to be more explicit and enable use of
23220        SimpleClassHashTraits.
23221
23222        * platform/KURLHash.h: Use new SimpleClassHashTraits to avoid duplication.
23223
23224        * platform/graphics/FontCache.cpp: Ditto.
23225        * platform/network/ProtectionSpaceHash.h: Ditto.
23226        * svg/properties/SVGAnimatedPropertyDescription.h: Ditto.
23227
232282011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
23229
23230        Reviewed by Andreas Kling.
23231
23232        [Qt] QNetworkReplyHandler refactoring: remove nested event loop.
23233        https://bugs.webkit.org/show_bug.cgi?id=58375
23234
23235        As QNAM now makes actual synchronous loads there is no need for a nested event loop
23236        in ResourceHandleQt.
23237
23238        Moving the call for QNetworkReplyWrapper::synchronousLoad from
23239        ResourceHandle::loadResourceSynchronously to QNetworkReplyHandler::start for the
23240        redirections to work in synchronous requests.
23241
23242        * platform/network/qt/QNetworkReplyHandler.cpp:
23243        (WebCore::QNetworkReplyHandler::start):
23244        * platform/network/qt/QNetworkReplyHandler.h:
23245        * platform/network/qt/ResourceHandleQt.cpp:
23246        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
23247        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
23248        (WebCore::WebCoreSynchronousLoader::didReceiveData):
23249        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
23250        (WebCore::WebCoreSynchronousLoader::didFail):
23251        (WebCore::ResourceHandle::loadResourceSynchronously):
23252
232532011-04-11  Jer Noble  <jer.noble@apple.com>
23254
23255        Reviewed by Simon Fraser.
23256
23257        REGRESSION: Vimeo fullscreen video displays incorrectly
23258        https://bugs.webkit.org/show_bug.cgi?id=58291
23259
23260        Set the RenderFullScreen's zIndex to the max.  And make sure to override
23261        a video element's specified width and height by making its full screen rules
23262        important.  Also, always show the controls when a media element is in full
23263        screen mode.
23264
23265        Test: fullscreen/video-specified-size.html
23266        Test: fullscreen/full-screen-zIndex.html
23267
23268        * css/fullscreen.css:
23269        (video:-webkit-full-screen):
23270        * html/HTMLMediaElement.cpp:
23271        (WebCore::HTMLMediaElement::controls): Always show controls in full screen mode.
23272        (WebCore::HTMLMediaElement::preDispatchEventHandler): Added. Handle the fullscreen
23273            change event and hide or show the controls accordingly.
23274        * html/HTMLMediaElement.h:
23275        * rendering/RenderFullScreen.cpp:
23276        (RenderFullScreen::createFullScreenStyle): Set the zIndex to INT_MAX and use a
23277            vertical flexbox instead of a horizontal one.
23278
232792011-04-12  Chris Marrin  <cmarrin@apple.com>
23280
23281        Reviewed by Simon Fraser.
23282
23283        Page tears and stutters in WebKit2 when page is > 2048 pixels wide
23284        https://bugs.webkit.org/show_bug.cgi?id=58330
23285
23286        Added API to GraphicsLayer to disable switching to tiled layers. This is
23287        set in the nonCompositedContentLayer in WK2, causing that layer to never
23288        switch to tiles and avoiding the asynchronous update of the content during
23289        scroll.
23290
23291        * platform/graphics/ca/GraphicsLayerCA.cpp:
23292            Implement setAllowTiledLayer() to simulate a SizeChanged action to
23293            properly switch between tiled and untiled layer.
23294        * platform/graphics/ca/GraphicsLayerCA.h:
23295
232962011-04-12  Alok Priyadarshi  <alokp@chromium.org>
23297
23298        Reviewed by James Robinson.
23299
23300        Remove dependency on chromium skia::PlatformCanvas
23301        https://bugs.webkit.org/show_bug.cgi?id=57563
23302
23303        This patch does not change any functionality, just the type of object skia::PlatformCanvas -> SkCanvas.
23304        The object is still being created by a factory method skia::CreateBitmapCanvas defined in Chromium.
23305        We will eventually define an API that every port using skia will define.
23306
23307        * platform/graphics/chromium/FontChromiumWin.cpp:
23308        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::initializeForGDI):
23309        (WebCore::TransparencyAwareFontPainter::TransparencyAwareFontPainter::~TransparencyAwareFontPainter):
23310        (WebCore::Font::drawComplexText):
23311        * platform/graphics/chromium/ImageBufferData.h:
23312        * platform/graphics/chromium/LayerChromium.h:
23313        * platform/graphics/chromium/LayerRendererChromium.h:
23314        * platform/graphics/chromium/PlatformCanvas.cpp:
23315        (WebCore::PlatformCanvas::resize):
23316        * platform/graphics/chromium/PlatformCanvas.h:
23317        * platform/graphics/chromium/TransparencyWin.cpp:
23318        (WebCore::TransparencyWin::compositeTextComposite):
23319        (WebCore::TransparencyWin::makeLayerOpaque):
23320        * platform/graphics/skia/ImageBufferSkia.cpp:
23321        (WebCore::ImageBuffer::ImageBuffer):
23322        * platform/graphics/skia/ImageSkia.cpp:
23323        (WebCore::paintSkBitmap):
23324        (WebCore::Image::drawPattern):
23325        * platform/graphics/skia/PlatformContextSkia.cpp:
23326        (WebCore::PlatformContextSkia::PlatformContextSkia):
23327        (WebCore::PlatformContextSkia::setCanvas):
23328        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
23329        * platform/graphics/skia/PlatformContextSkia.h:
23330        (WebCore::PlatformContextSkia::canvas):
23331        (WebCore::PlatformContextSkia::printing):
23332        (WebCore::PlatformContextSkia::setPrinting):
23333
233342011-04-11  Stephanie Lewis  <slewis@apple.com>
23335
23336        Reviewed by Oliver Hunt.
23337
23338        https://bugs.webkit.org/show_bug.cgi?id=58280
23339        <rdar://problem/9252824> javascript in an inconsistent state due to serialization returning an un-handled exception
23340        Currently serialization and deserialization can throw javascript exceptions.  Since SerializedScriptValue is called in
23341        several places that do not always involve direct calls into javascript have the functions return an error code and the callers
23342        decide whether or not to throw exceptions.
23343
23344        Don't allow SerializedScriptValue to attempt to serialize objects that inherit from JSNavigator.h.  Walking that object creates
23345        additional objects which eventually causes serialization to end up throwing a stack overflow error.  Instead fail immediately.
23346
23347        Untangle header includes.  SerializedScriptValue was inheriting ScriptValue.h, but not using it.  Since ScriptValue depends on
23348        SerializedScriptValue this could lead to a circular header dependency.
23349
23350        No change in functionality, covered by current tests
23351
23352        * WebCore.exp.in:
23353        * bindings/js/JSMessageEventCustom.cpp:
23354        (WebCore::JSMessageEvent::initMessageEvent):
23355        * bindings/js/ScriptValue.cpp:
23356        (WebCore::ScriptValue::serialize):
23357        (WebCore::ScriptValue::deserialize):
23358        * bindings/js/ScriptValue.h:
23359        * bindings/js/SerializedScriptValue.cpp:
23360        (WebCore::CloneSerializer::serialize):
23361        (WebCore::CloneSerializer::dumpIfTerminal):
23362        (WebCore::CloneDeserializer::deserialize):
23363        (WebCore::SerializedScriptValue::create):
23364        (WebCore::SerializedScriptValue::deserialize):
23365        (WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
23366        (WebCore::SerializedScriptValue::serializationDidCompleteSuccessfully):
23367        * bindings/js/SerializedScriptValue.h:
23368
23369        * bindings/js/JSWorkerContextBase.cpp: header include fix
23370        * loader/FrameLoader.h: header include fix
23371        * page/Frame.cpp: header include fix
23372
233732011-03-28  Adam Barth  <abarth@webkit.org>
23374
23375        Reviewed by Kenneth Russell.
23376
23377        Move libtess from WebCore/thirdparty to ThirdParty
23378        https://bugs.webkit.org/show_bug.cgi?id=57288
23379
23380        * WebCore.gyp/WebCore.gyp:
23381            - Add libtess as a legit dependency.
23382        * WebCore.gypi:
23383            - Remove libtess files from the gypi.
23384        * thirdparty/glu: Removed.
23385
233862011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
23387
23388        Reviewed by David Hyatt.
23389
23390        Bundle w and tmpW in findNextLineBreak together as a class
23391        https://bugs.webkit.org/show_bug.cgi?id=58362
23392
23393        Renamed w, tempW, and width in findNextLineBreak to committedWidth, uncommittedWidth,
23394        and availableWidth respectively. Also bundled committedWidth and uncommittedWith as a class
23395        named LineWidth.
23396
23397        * rendering/RenderBlockLineLayout.cpp:
23398        (WebCore::LineWidth::LineWidth): Added.
23399        (WebCore::LineWidth::currentWidth): Added; returns the sum of committed and uncommitted width.
23400        (WebCore::LineWidth::uncommittedWidth): Added.
23401        (WebCore::LineWidth::committedWidth): Added.
23402        (WebCore::LineWidth::addUncommittedWidth): Added; adds the specified width to the uncommitted width.
23403        (WebCore::LineWidth::commit): Added; commits the current width and clears the uncommitted width.
23404        (WebCore::RenderBlock::findNextLineBreak): Uses LineWidth.
23405
234062011-04-12  Yael Aharon  <yael.aharon@nokia.com>
23407
23408        Reviewed by Eric Seidel.
23409
23410        REGRESSION(r82419): extra border in t0805-c5519-ibrdr-r-00-a.html
23411        https://bugs.webkit.org/show_bug.cgi?id=57459
23412
23413        Slightly change the way we decide if a InlineFlowBox is the last box for its renderer.
23414        We include the border in that box under these conditions:
23415        (1) The next line was not created, or it is constructed. We check the previous line for rtl.
23416        (2) The logicallyLastRun is not a descendant of this renderer.
23417        (3) The logicallyLastRun is a descendant of this renderer, but it is the last child of this renderer and it does not wrap to the next line.
23418        I added the tests from bug 47210, because now the draw the borders correctly.
23419
23420        Tests: fast/borders/bidi-002.html
23421               fast/borders/bidi-004.html
23422               fast/borders/bidi-009a.html
23423
23424        * rendering/InlineFlowBox.cpp:
23425        (WebCore::InlineFlowBox::onEndChain):
23426        (WebCore::isAnsectorAndWithinBlock):
23427        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
23428        * rendering/InlineFlowBox.h:
23429        * rendering/RenderBlock.h:
23430        * rendering/RenderBlockLineLayout.cpp:
23431        (WebCore::RenderBlock::constructLine):
23432        (WebCore::RenderBlock::layoutInlineChildren):
23433
234342011-04-12  Geoffrey Garen  <ggaren@apple.com>
23435
23436        Reviewed by Sam Weinig.
23437
23438        Cleaned up some Vector traits, and added missing Vector traits for handles
23439        https://bugs.webkit.org/show_bug.cgi?id=58372
23440
23441        * platform/graphics/BitmapImage.h: Added a FIXME because the current
23442        Vector traits for FrameData are logically incorrect, but I couldn't find
23443        a place where this currently results in bad behavior, and it's not
23444        immediately obvious what the right solution is.
23445
234462011-04-12  Dimitri Glazkov  <dglazkov@chromium.org>
23447
23448        Reviewed by Eric Seidel.
23449
23450        Move MediaControlElements to html/shadow.
23451        https://bugs.webkit.org/show_bug.cgi?id=58347
23452
23453        Mechanical move of the files.
23454
23455        * Android.mk: Updated the build file.
23456        * CMakeLists.txt: Ditto.
23457        * GNUmakefile.list.am: Ditto.
23458        * WebCore.gypi: Ditto.
23459        * WebCore.pro: Ditto.
23460        * WebCore.vcproj/WebCore.vcproj: Ditto.
23461        * WebCore.xcodeproj/project.pbxproj: Ditto, also ran sort-XCode-project-files.
23462        * html/shadow/MediaControlElements.cpp: Copied from Source/WebCore/rendering/MediaControlElements.cpp.
23463        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
23464        * html/shadow/MediaControlElements.h: Copied from Source/WebCore/rendering/MediaControlElements.h.
23465        * rendering/MediaControlElements.cpp: Removed.
23466        * rendering/MediaControlElements.h: Removed.
23467        * rendering/RenderingAllInOne.cpp: Removed the files that were moved.
23468
234692011-04-12  Luiz Agostini  <luiz.agostini@openbossa.org>
23470
23471        Reviewed by Andreas Kling.
23472
23473        [Qt] QNetworkReplyHandler refactoring: signal queue
23474        https://bugs.webkit.org/show_bug.cgi?id=57075
23475
23476        The idea is to make all signals that come from the QNetworkReply to pass through a queue and to
23477        stop that queue when loading is deferred. This way almost all the deferred logic can be removed
23478        from QNetworkReplyHandler class and encapsulated in its own class.
23479
23480        To stop the queue during wrapper methods execution avoids stacking handler methods over wrapper
23481        methods. Because of this there is no chance for the wrapper to be destroyed inside one of its methods.
23482        This together with empting the queue at wrapper destruction time makes sure that the handler will
23483        not receive calls from a dead wrapper.
23484
23485        The new class is named QNetworkReplyHandlerCallQueue.
23486
23487        * platform/network/qt/QNetworkReplyHandler.cpp:
23488        (WebCore::QNetworkReplyHandlerCallQueue::QNetworkReplyHandlerCallQueue):
23489        (WebCore::QNetworkReplyHandlerCallQueue::push):
23490        (WebCore::QNetworkReplyHandlerCallQueue::lock):
23491        (WebCore::QNetworkReplyHandlerCallQueue::unlock):
23492        (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
23493        (WebCore::QueueLocker::QueueLocker):
23494        (WebCore::QueueLocker::~QueueLocker):
23495        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
23496        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
23497        (WebCore::QNetworkReplyWrapper::receiveMetaData):
23498        (WebCore::QNetworkReplyWrapper::readyRead):
23499        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
23500        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
23501        (WebCore::QNetworkReplyHandler::resetState):
23502        (WebCore::QNetworkReplyHandler::release):
23503        (WebCore::QNetworkReplyHandler::finish):
23504        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
23505        (WebCore::QNetworkReplyHandler::forwardData):
23506        (WebCore::QNetworkReplyHandler::start):
23507        (WebCore::QNetworkReplyHandler::synchronousLoad):
23508        * platform/network/qt/QNetworkReplyHandler.h:
23509        (WebCore::QNetworkReplyHandlerCallQueue::deferSignals):
23510        (WebCore::QNetworkReplyHandlerCallQueue::clear):
23511        (WebCore::QNetworkReplyWrapper::synchronousLoad):
23512        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
23513        * platform/network/qt/ResourceHandleQt.cpp:
23514        (WebCore::ResourceHandle::loadResourceSynchronously):
23515
235162011-04-12  David Hyatt  <hyatt@apple.com>
23517
23518        Reviewed by Dan Bernstein.
23519
23520        https://bugs.webkit.org/show_bug.cgi?id=58176
23521
23522        Inline replaced elements following positioned elements on lines are not rendered. Make sure the
23523        logic for skipping run construction in appendRunsForObject matches the new logic that I added
23524        to findNextLineBreak. If they don't match up, you risk confusing the run construction code and
23525        causing it to not make runs for objects that follow the positioned object on the line.
23526
23527        Added fast/inline/positioned-object-between-replaced-elements.html
23528
23529        * rendering/RenderBlockLineLayout.cpp:
23530        (WebCore::RenderBlock::appendRunsForObject):
23531
235322011-04-12  Alice Liu  <alice.liu@apple.com>
23533
23534        Reviewed by Sam Weinig.
23535
23536        https://bugs.webkit.org/show_bug.cgi?id=58292
23537        Provide new setting to allow site icon loading despite disabling automatic image loading in general.
23538
23539        Test: http/tests/misc/favicon-loads-with-icon-loading-override.html
23540
23541        * WebCore.exp.in: Added export symbol
23542        * loader/FrameLoader.cpp:
23543        (WebCore::FrameLoader::startIconLoader): Check new setting before deciding that site icon images shouldn't be loaded.
23544        * page/Settings.cpp:
23545        (WebCore::Settings::Settings): Add initializer for new setting
23546        (WebCore::Settings::setLoadsSiteIconsIgnoringImageLoadingSetting): Add setter for new setting.
23547        * page/Settings.h: Explain nuances regarding loadsImagesAutomatically setting.
23548        (WebCore::Settings::loadsSiteIconsIgnoringImageLoadingSetting): Added getter.
23549
235502011-04-12  Ryosuke Niwa  <rniwa@webkit.org>
23551
23552        Reviewed by Eric Seidel.
23553
23554        Move StyleChange and other global functions from ApplyStyleCommand to EditingStyle
23555        https://bugs.webkit.org/show_bug.cgi?id=55974
23556
23557        Moved StyleChange, getIdentifierValue, and legacyFontSizeFromCSSValue from ApplyStyleCommand
23558        to EditingStyle. Also moved reconcileTextDecorationProperties, getIdentifierValue,
23559        setTextDecorationProperty, isCSSValueLength, legacyFontSizeFromCSSValue, extractTextStyles,
23560        diffTextDecorations, fontWeightIsBold, getTextAlignment, and getPropertiesNotIn.
23561
23562        Because of this move, getPropertiesNotIn is no longer visible outside of EditingStyle.cpp
23563
23564        * editing/ApplyStyleCommand.cpp:
23565        * editing/ApplyStyleCommand.h:
23566        * editing/EditingStyle.cpp:
23567        (WebCore::reconcileTextDecorationProperties):
23568        (WebCore::StyleChange::StyleChange):
23569        (WebCore::setTextDecorationProperty):
23570        (WebCore::getRGBAFontColor):
23571        (WebCore::StyleChange::extractTextStyles):
23572        (WebCore::diffTextDecorations):
23573        (WebCore::fontWeightIsBold):
23574        (WebCore::getTextAlignment):
23575        (WebCore::getPropertiesNotIn):
23576        (WebCore::getIdentifierValue):
23577        (WebCore::isCSSValueLength):
23578        (WebCore::legacyFontSizeFromCSSValue):
23579        * editing/EditingStyle.h:
23580        (WebCore::StyleChange::cssStyle):
23581        (WebCore::StyleChange::applyBold):
23582        (WebCore::StyleChange::applyItalic):
23583        (WebCore::StyleChange::applyUnderline):
23584        (WebCore::StyleChange::applyLineThrough):
23585        (WebCore::StyleChange::applySubscript):
23586        (WebCore::StyleChange::applySuperscript):
23587        (WebCore::StyleChange::applyFontColor):
23588        (WebCore::StyleChange::applyFontFace):
23589        (WebCore::StyleChange::applyFontSize):
23590        (WebCore::StyleChange::fontColor):
23591        (WebCore::StyleChange::fontFace):
23592        (WebCore::StyleChange::fontSize):
23593        (WebCore::StyleChange::operator==):
23594        (WebCore::StyleChange::operator!=):
23595
235962011-04-12  Diego Gonzalez  <diegohcg@webkit.org>
23597
23598        Reviewed by Kenneth Rohde Christiansen.
23599
23600        [Qt] Better padding for inputs and comboxes in mobile theme
23601        https://bugs.webkit.org/show_bug.cgi?id=58248
23602
23603        * platform/qt/RenderThemeQt.cpp:
23604        (WebCore::RenderThemeQt::setButtonPadding):
23605        (WebCore::RenderThemeQt::adjustTextFieldStyle):
23606        (WebCore::RenderThemeQt::paintTextField):
23607        (WebCore::RenderThemeQt::adjustMenuListStyle):
23608
236092011-04-11  Abhishek Arya  <inferno@chromium.org>
23610
23611        Reviewed by Dave Hyatt.
23612
23613        Replace insertChildNode with addChild in handleRunIn's reparenting
23614        of inlineRunIn to currBlock.
23615        https://bugs.webkit.org/show_bug.cgi?id=58228
23616
23617        Use addChild instead of insertChildNode since it handles
23618        correct placement of the children, esp where we cannot insert
23619        anything before the first child. e.g. details tag requires that its
23620        first child be a summary child and won't be able to remove child if
23621        that is not the case.
23622
23623        Test: fast/runin/runin-reparent-crash.html
23624
23625        * rendering/RenderBlock.cpp:
23626        (WebCore::RenderBlock::handleRunInChild):
23627
236282011-04-12  Chris Fleizach  <cfleizach@apple.com>
23629
23630        Unreviewed. Fixing Leopard build.
23631
23632        REGRESSION: WK2: misspelled AX attributes no longer returned from text fields
23633        https://bugs.webkit.org/show_bug.cgi?id=58304
23634
23635        checkTextOfParagraph is not available on Leopard. That code needs to be conditionalized with USE(UNIFIED_TEXT_CHECKING).
23636
23637        * accessibility/mac/AccessibilityObjectWrapper.mm:
23638        (AXAttributeStringSetSpelling):
23639
236402011-04-12  Mario Sanchez Prada  <msanchez@igalia.com>
23641
23642        Unreviewed. Added missing files to GNUmakefile.list.am.
23643
23644        * GNUmakefile.list.am: Added IDBLevelDBBackingStore.[h|cpp].
23645
236462011-04-12  Cris Neckar  <cdn@chromium.org>
23647
23648        Reviewed by Nikolas Zimmermann.
23649
23650        Add handling for non-svg inline text boxes in text box lists.
23651        https://bugs.webkit.org/show_bug.cgi?id=57933
23652
23653        Test: svg/text/svg-rtl-text-crash.html
23654
23655        * rendering/svg/RenderSVGInlineText.cpp:
23656        (WebCore::RenderSVGInlineText::positionForPoint):
23657        * rendering/svg/SVGInlineFlowBox.cpp:
23658        (WebCore::SVGInlineFlowBox::computeTextMatchMarkerRectForRenderer):
23659        * rendering/svg/SVGRenderTreeAsText.cpp:
23660        (WebCore::writeSVGInlineTextBoxes):
23661        * rendering/svg/SVGRootInlineBox.cpp:
23662        (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
23663        (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
23664        * rendering/svg/SVGTextQuery.cpp:
23665        (WebCore::SVGTextQuery::collectTextBoxesInFlowBox):
23666
236672011-04-12  Mario Sanchez Prada  <msanchez@igalia.com>
23668
23669        Reviewed by Chris Fleizach.
23670
23671        [GTK] Expose menu items and menus as children of a menu bar
23672        https://bugs.webkit.org/show_bug.cgi?id=56659
23673
23674        Ensure menu items get exposed when they're children of menu bars.
23675
23676        * accessibility/AccessibilityRenderObject.cpp:
23677        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
23678        Consider menu bars as potential parent objects for menu items.
23679
236802011-04-12  Pavel Feldman  <pfeldman@google.com>
23681
23682        Reviewed by Yury Semikhatsky.
23683
23684        Web Inspector: remove scriptWorldType from the protocol.
23685        https://bugs.webkit.org/show_bug.cgi?id=58324
23686
23687        * inspector/Inspector.json:
23688        * inspector/InspectorDebuggerAgent.cpp:
23689        (WebCore::InspectorDebuggerAgent::didParseSource):
23690        * inspector/ScriptDebugListener.h:
23691        (WebCore::ScriptDebugListener::~ScriptDebugListener):
23692        * inspector/front-end/DebuggerModel.js:
23693        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
23694        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
23695        * inspector/front-end/Script.js:
23696        (WebInspector.Script):
23697        * inspector/front-end/ScriptsPanel.js:
23698        * inspector/front-end/SourceFile.js:
23699        (WebInspector.SourceFile):
23700
237012011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
23702
23703        Reviewed by Eric Carlson.
23704
23705        Should MediaControls::changedNetworkState fiddle with Fullscreen controls?
23706        https://bugs.webkit.org/show_bug.cgi?id=58163
23707
23708        Covered by existing tests and manual-tests/media-controls.html.
23709
23710        * html/shadow/MediaControls.cpp:
23711        (WebCore::MediaControls::reset): Moved fullscreen showing/hiding here.
23712        (WebCore::MediaControls::changedNetworkState): ... from here.
23713
237142011-04-12  Ilya Tikhonovsky  <loislo@chromium.org>
23715
23716        Reviewed by Pavel Feldman.
23717
23718        Web Inspector: remove unnecessary method InspectorAgent.didEvaluateForTestInFrontend.
23719        https://bugs.webkit.org/show_bug.cgi?id=58335
23720
23721        It was the method for Inspector layout tests.
23722        We can use RuntimeAgent.evaluate instead.
23723
23724        * inspector/Inspector.json:
23725        * inspector/InspectorAgent.cpp:
23726        * inspector/InspectorAgent.h:
23727        * inspector/InspectorController.cpp:
23728        (WebCore::InspectorController::connectFrontend):
23729        * inspector/front-end/TestController.js:
23730        (WebInspector.TestController.prototype.notifyDone):
23731
237322011-04-12  Philippe Normand  <pnormand@igalia.com>
23733
23734        Reviewed by Martin Robinson.
23735
23736        [GStreamer] some public callbacks remain
23737        https://bugs.webkit.org/show_bug.cgi?id=58307
23738
23739        Cleanup of the player public/private APIs. Moving the GstMessage
23740        handling code inside of the player allowed some APIs to move to
23741        the private scope of the class.
23742
23743        No new tests, this patch is a cleanup and should not affect
23744        current tests coverage.
23745
23746        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
23747        (WebCore::mediaPlayerPrivateMessageCallback):
23748        (WebCore::mediaPlayerPrivateSourceChangedCallback):
23749        (WebCore::mediaPlayerPrivateVolumeChangedCallback):
23750        (WebCore::mediaPlayerPrivateMuteChangedCallback):
23751        (WebCore::mediaPlayerPrivateRepaintCallback):
23752        (WebCore::MediaPlayerPrivateGStreamer::playbackPosition):
23753        (WebCore::MediaPlayerPrivateGStreamer::currentTime):
23754        (WebCore::MediaPlayerPrivateGStreamer::seek):
23755        (WebCore::MediaPlayerPrivateGStreamer::setRate):
23756        (WebCore::MediaPlayerPrivateGStreamer::handleMessage):
23757        (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
23758        (WebCore::MediaPlayerPrivateGStreamer::triggerRepaint):
23759        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
23760
237612011-04-12  Philippe Normand  <pnormand@igalia.com>
23762
23763        Reviewed by Martin Robinson.
23764
23765        [GStreamer] advertize HTTP Live Streaming mime-type
23766        https://bugs.webkit.org/show_bug.cgi?id=58318
23767
23768        Register the hls mime-type in the internal cache if found in the
23769        typefind factories.
23770
23771        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
23772        (WebCore::mimeTypeCache):
23773
237742011-04-11  MORITA Hajime  <morrita@google.com>
23775
23776        Reviewed by Ryosuke Niwa.
23777
23778        RenderIndicator and ShadowBlockElement are no longer used.
23779        https://bugs.webkit.org/show_bug.cgi?id=58277
23780
23781        Removed RenderIndicator and ShadowBlockElement.
23782
23783        No new tests. Just removed unused code.
23784
23785        * CMakeLists.txt:
23786        * GNUmakefile.list.am:
23787        * WebCore.gypi:
23788        * WebCore.pro:
23789        * WebCore.vcproj/WebCore.vcproj:
23790        * WebCore.xcodeproj/project.pbxproj:
23791        * rendering/RenderIndicator.cpp: Removed.
23792        * rendering/RenderIndicator.h: Removed.
23793        * rendering/RenderMeter.h:
23794        * rendering/RenderingAllInOne.cpp:
23795        * rendering/ShadowElement.cpp:
23796        * rendering/ShadowElement.h:
23797
237982011-04-12  Csaba Osztrogonác  <ossy@webkit.org>
23799
23800        Reviewed by Benjamin Poulain.
23801
23802        fast/css/dashboard-regions-attr-crash.html asserts
23803        https://bugs.webkit.org/show_bug.cgi?id=58233
23804
23805        Move DASHBOARD_SUPPORT feature detection from features.pri to CodeGenerators.pri
23806        not to generate incorrect properties into CSSPropertyNames.h.
23807
23808        * CodeGenerators.pri:
23809        * features.pri:
23810
238112011-04-12  Chris Fleizach  <cfleizach@apple.com>
23812
23813        Reviewed by Dan Bernstein.
23814
23815        REGRESSION: WK2: misspelled AX attributes no longer returned from text fields
23816        https://bugs.webkit.org/show_bug.cgi?id=58304
23817
23818        checkSpellingOfString is no longer implemented in WK2. Accessibility needs to change to use
23819        checkTextOfParagraph in order to retrieve misspelled ranges.
23820
23821        Existing tests cover this functionality.
23822
23823        * accessibility/mac/AccessibilityObjectWrapper.mm:
23824        (AXAttributeStringSetSpelling):
23825
238262011-04-12  Sergio Villar Senin  <svillar@igalia.com>
23827
23828        Reviewed by Martin Robinson.
23829
23830        [GTK] Remove m_idleHandler from ResourceHandleSoup
23831        https://bugs.webkit.org/show_bug.cgi?id=58319
23832
23833        The m_idleHandler attribute is no longer used in ResourceHandleSoup.
23834        No new tests needed, no functionality change.
23835
23836        * platform/network/ResourceHandleInternal.h:
23837        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
23838        * platform/network/soup/ResourceHandleSoup.cpp:
23839        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
23840
238412011-04-12  Andrey Adaikin  <aandrey@google.com>
23842
23843        Reviewed by Yury Semikhatsky.
23844
23845        Web Inspector: Breakpoints and execution line decoration should stay in place if the edited line is not whitespace
23846        https://bugs.webkit.org/show_bug.cgi?id=58314
23847
23848        * inspector/front-end/SourceFrame.js:
23849        (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
23850
238512011-04-11  Pavel Podivilov  <podivilov@chromium.org>
23852
23853        Reviewed by Pavel Feldman.
23854
23855        Web Inspector: move shortcut handlers from SourceFrame to TextViewer.
23856        https://bugs.webkit.org/show_bug.cgi?id=58238
23857
23858        Commit/cancel editing functionality is common for all resource types, and it deals with TextViewer state.
23859
23860        * inspector/front-end/SourceFrame.js:
23861        (WebInspector.SourceFrame):
23862        (WebInspector.SourceFrame.prototype.isContentEditable):
23863        (WebInspector.SourceFrame.prototype._createTextViewer):
23864        (WebInspector.SourceFrame.prototype.commitEditing.didEditContent):
23865        (WebInspector.SourceFrame.prototype.commitEditing):
23866        (WebInspector.SourceFrame.prototype.cancelEditing):
23867        * inspector/front-end/TextViewer.js:
23868        (WebInspector.TextViewer.prototype._doubleClick):
23869        (WebInspector.TextViewer.prototype._registerShortcuts):
23870        (WebInspector.TextViewer.prototype._handleKeyDown):
23871        (WebInspector.TextViewer.prototype._commitEditing.didCommitEditing):
23872        (WebInspector.TextViewer.prototype._commitEditing):
23873        (WebInspector.TextViewer.prototype._cancelEditing):
23874        (WebInspector.TextViewerDelegate.prototype.endEditing):
23875        (WebInspector.TextViewerDelegate.prototype.commitEditing):
23876        (WebInspector.TextViewerDelegate.prototype.cancelEditing):
23877
238782011-04-12  Pavel Feldman  <pfeldman@google.com>
23879
23880        Reviewed by Yury Semikhatsky.
23881
23882        Web Inspector: cookies view is empty even for sites with cookies.
23883        https://bugs.webkit.org/show_bug.cgi?id=58316
23884
23885        Test: http/tests/inspector/resource-tree-model.html
23886
23887        * inspector/front-end/ResourceTreeModel.js:
23888        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
23889
238902011-04-11  Stephen White  <senorblanco@chromium.org>
23891
23892        Reviewed by James Robinson.
23893
23894        [chromium] GPU-accelerated canvas-to-canvas drawImage is incorrect.
23895        https://bugs.webkit.org/show_bug.cgi?id=58258
23896
23897        When one accelerated canvas is drawn to another via drawImage(), if the
23898        prior call in the source canvas was non-accelerated, the
23899        hardware canvas is not up-to-date, and the results will be incorrect.
23900        Fixed by calling prepareForHardwareDraw() on the source context.
23901
23902        Test: fast/canvas/canvas-to-canvas.html
23903
23904        * platform/graphics/skia/ImageBufferSkia.cpp:
23905        (WebCore::ImageBuffer::draw):
23906
239072011-04-12  Mikhail Naganov  <mnaganov@chromium.org>
23908
23909        Reviewed by Pavel Feldman.
23910
23911        Web Inspector: [Chromium] Add some more tests for detailed heap snapshots UI.
23912        https://bugs.webkit.org/show_bug.cgi?id=58146
23913
23914        Tests: inspector/profiler/detailed-heapshots-comparison-expansion-preserved-when-sorting.html
23915               inspector/profiler/detailed-heapshots-comparison-show-all.html
23916               inspector/profiler/detailed-heapshots-comparison-show-next.html
23917               inspector/profiler/detailed-heapshots-comparison-shown-node-count-preserved-when-sorting.html
23918               inspector/profiler/detailed-heapshots-comparison-sorting.html
23919               inspector/profiler/detailed-heapshots-containment-shown-node-count-preserved-when-sorting.html
23920               inspector/profiler/detailed-heapshots-dominators-expansion-preserved-when-sorting.html
23921               inspector/profiler/detailed-heapshots-dominators-show-all.html
23922               inspector/profiler/detailed-heapshots-dominators-show-next.html
23923               inspector/profiler/detailed-heapshots-dominators-shown-node-count-preserved-when-sorting.html
23924               inspector/profiler/detailed-heapshots-dominators-sorting.html
23925               inspector/profiler/detailed-heapshots-summary-shown-node-count-preserved-when-sorting.html
23926
23927        * inspector/front-end/DetailedHeapshotView.js:
23928        (WebInspector.HeapSnapshotDiffDataGrid):
23929
239302011-04-12  Ilya Tikhonovsky  <loislo@chromium.org>
23931
23932        Reviewed by Yury Semikhatsky.
23933
23934        Web Inspector: there was incorrect value of id property of responses for malformed json-rpc 2.0 requests.
23935        https://bugs.webkit.org/show_bug.cgi?id=58305
23936
23937        It was 0 if the message is not a json object or it has no id property. But according to spec it must be null.
23938
23939        * inspector/CodeGeneratorInspector.pm:
23940
239412011-04-11  Pavel Podivilov  <podivilov@chromium.org>
23942
23943        Reviewed by Pavel Feldman.
23944
23945        Web Inspector: [chromium] script formatting doesn't work when chromium is built with debug_devtools=1.
23946        https://bugs.webkit.org/show_bug.cgi?id=58232
23947
23948        * WebCore.gypi:
23949
239502011-04-12  Pavel Podivilov  <podivilov@chromium.org>
23951
23952        Reviewed by Pavel Feldman.
23953
23954        Web Inspector: REGRESSION: Most resources in the Network panel show a blank panel when clicked.
23955        https://bugs.webkit.org/show_bug.cgi?id=58273
23956
23957        * inspector/front-end/SourceFrame.js:
23958        (WebInspector.SourceFrame):
23959        (WebInspector.SourceFrame.prototype.get visible):
23960        (WebInspector.SourceFrame.prototype.set visible):
23961        (WebInspector.SourceFrame.prototype.show):
23962        (WebInspector.SourceFrame.prototype.hide):
23963        (WebInspector.SourceFrame.prototype.detach):
23964        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
23965        (WebInspector.SourceFrame.prototype.markDiff):
23966        (WebInspector.SourceFrame.prototype.addMessage):
23967        (WebInspector.SourceFrame.prototype.clearMessages):
23968        (WebInspector.SourceFrame.prototype.get scrollTop):
23969        (WebInspector.SourceFrame.prototype.set scrollTop):
23970        (WebInspector.SourceFrame.prototype.highlightLine):
23971        (WebInspector.SourceFrame.prototype._clearLineHighlight):
23972        (WebInspector.SourceFrame.prototype._initializeTextViewer):
23973        (WebInspector.SourceFrame.prototype.performSearch):
23974        (WebInspector.SourceFrame.prototype.searchCanceled):
23975        (WebInspector.SourceFrame.prototype._jumpToSearchResult):
23976        (WebInspector.SourceFrame.prototype.setExecutionLine):
23977        (WebInspector.SourceFrame.prototype.clearExecutionLine):
23978        (WebInspector.SourceFrame.prototype.resize):
23979
239802011-04-12  Pavel Feldman  <pfeldman@google.com>
23981
23982        Reviewed by Yury Semikhatsky.
23983
23984        Web Inspector: document runtime agent, share remote object definition between domains.
23985        https://bugs.webkit.org/show_bug.cgi?id=58246
23986
23987        * inspector/Inspector.json:
23988
239892011-04-12  Pavel Feldman  <pfeldman@google.com>
23990
23991        Reviewed by Yury Semikhatsky.
23992
23993        Web Inspector: document console domain, support cross-domain type references.
23994        https://bugs.webkit.org/show_bug.cgi?id=58240
23995
23996        * inspector/ConsoleMessage.cpp:
23997        (WebCore::messageSourceValue):
23998        (WebCore::messageTypeValue):
23999        (WebCore::messageLevelValue):
24000        (WebCore::ConsoleMessage::addToFrontend):
24001        * inspector/Inspector.json:
24002        * inspector/ScriptCallFrame.cpp:
24003        (WebCore::ScriptCallFrame::buildInspectorObject):
24004        * inspector/front-end/ConsoleView.js:
24005        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
24006        (WebInspector.ConsoleMessage):
24007        (WebInspector.ConsoleMessage.prototype._populateStackTraceTreeElement):
24008        (WebInspector.ConsoleMessage.prototype.isEqual):
24009        * inspector/front-end/NetworkManager.js:
24010        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
24011        * inspector/generate-inspector-idl:
24012        * page/Console.h:
24013
240142011-04-06  Philippe Normand  <pnormand@igalia.com>
24015
24016        Reviewed by Martin Robinson.
24017
24018        [GStreamer] RTSP playback broken
24019        https://bugs.webkit.org/show_bug.cgi?id=56930
24020
24021        Rely on {audio,video}-changed playbin2 signals instead of the
24022        -tags-changed signals because some media don't provide tags and
24023        then can trick the media-player to not paint video, for instance.
24024
24025        Also trigger a video size calculation after the video sink
24026        negotiated its caps. This is useful in the cases where
24027        audio-changed signal is emitted but the video sink takes more time
24028        to negociate caps with its peer.
24029
24030        This patch also fixes the rtsp manual-test with a new stream url
24031        which seems to be more permanent than the previous WWDC keynote
24032        stream.
24033
24034        * manual-tests/video-rtsp.html:
24035        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
24036        (WebCore::mediaPlayerPrivateVideoChangedCallback):
24037        (WebCore::mediaPlayerPrivateAudioChangedCallback):
24038        (WebCore::mediaPlayerPrivateAudioChangeTimeoutCallback):
24039        (WebCore::mediaPlayerPrivateVideoChangeTimeoutCallback):
24040        (WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
24041        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
24042        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
24043        (WebCore::MediaPlayerPrivateGStreamer::videoChanged):
24044        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfVideo):
24045        (WebCore::MediaPlayerPrivateGStreamer::audioChanged):
24046        (WebCore::MediaPlayerPrivateGStreamer::notifyPlayerOfAudio):
24047        (WebCore::MediaPlayerPrivateGStreamer::paint):
24048        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
24049        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
24050
240512011-04-12  Vsevolod Vlasov  <vsevik@chromium.org>
24052
24053        Reviewed by Pavel Feldman.
24054
24055        Web Inspector: Failed/canceled resource requests kept showing as Pending in network panel.
24056        https://bugs.webkit.org/show_bug.cgi?id=58135
24057
24058        Added statuses for failed/canceled resource loading.
24059
24060        * English.lproj/localizedStrings.js:
24061        * inspector/Inspector.json:
24062        * inspector/InspectorResourceAgent.cpp:
24063        (WebCore::InspectorResourceAgent::didFailLoading):
24064        * inspector/front-end/NetworkManager.js:
24065        * inspector/front-end/NetworkPanel.js:
24066        * inspector/front-end/Resource.js:
24067
240682011-04-12  Steve Block  <steveblock@google.com>
24069
24070        Reviewed by Oliver Hunt.
24071
24072        Callable objects created via JavaScriptCore API cannot be used as Geolocation callbacks
24073        https://bugs.webkit.org/show_bug.cgi?id=40012
24074
24075        Covered by fast/dom/Geolocation/argument-types.html
24076
24077        * bindings/js/CallbackFunction.cpp:
24078        (WebCore::checkFunctionOnlyCallback):
24079
240802011-04-07  Philippe Normand  <pnormand@igalia.com>
24081
24082        Reviewed by Martin Robinson.
24083
24084        [GStreamer] report playback statistics
24085        https://bugs.webkit.org/show_bug.cgi?id=58033
24086
24087        Provide media playback statistics using fpsdisplaysink and
24088        position queries.
24089
24090        * manual-tests/video-statistics.html: Added.
24091        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
24092        (WebCore::MediaPlayerPrivateGStreamer::decodedFrameCount):
24093        (WebCore::MediaPlayerPrivateGStreamer::droppedFrameCount):
24094        (WebCore::MediaPlayerPrivateGStreamer::audioDecodedByteCount):
24095        (WebCore::MediaPlayerPrivateGStreamer::videoDecodedByteCount):
24096        (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
24097        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
24098        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
24099        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
24100
241012011-04-11  Philippe Normand  <pnormand@igalia.com>
24102
24103        Reviewed by Martin Robinson.
24104
24105        [GStreamer] warnings in media/video-set-rate-from-pause.html
24106        https://bugs.webkit.org/show_bug.cgi?id=58220
24107
24108        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
24109        (WebCore::MediaPlayerPrivateGStreamer::setRate): Pause the
24110        pipeline if new rate is zero, like advised in the GStreamer
24111        documentation of gst_event_new_seek().
24112
241132011-04-11  Vangelis Kokkevis  <vangelis@chromium.org>
24114
24115        Reviewed by James Robinson.
24116
24117        [chromium] Properly invalidate the contents of ImageLayerChromium's
24118        when the actual image contents change.
24119        https://bugs.webkit.org/show_bug.cgi?id=58181
24120
24121        Test: compositing/images/content-image-change.html
24122
24123        * platform/graphics/chromium/ContentLayerChromium.cpp:
24124        (WebCore::ContentLayerChromium::updateTexture):
24125        * platform/graphics/chromium/ImageLayerChromium.cpp:
24126        (WebCore::ImageLayerChromium::ImageLayerChromium):
24127        (WebCore::ImageLayerChromium::setContents):
24128        (WebCore::ImageLayerChromium::paintContentsIfDirty):
24129        * platform/graphics/chromium/ImageLayerChromium.h:
24130
241312011-04-11  Simon Fraser  <simon.fraser@apple.com>
24132
24133        Reviewed by Dan Bernstein.
24134
24135        -webkit-box-shadow:inset does not animate transform as an inset shadow
24136        https://bugs.webkit.org/show_bug.cgi?id=45176
24137
24138        Two fixes:
24139        1. Don't run transitions between different shadow styles (normal vs. inset).
24140        2. When either source or destination is null, use a default shadow with a
24141        matching style so that the transition runs.
24142
24143        Test: transitions/mismatched-shadow-styles.html
24144
24145        * page/animation/AnimationBase.cpp:
24146        (WebCore::blendFunc):
24147        (WebCore::PropertyWrapperShadow::blend):
24148
241492011-04-11  John Bates  <jbates@google.com>
24150
24151        Reviewed by Kenneth Russell.
24152
24153        chromium support for glSetLatch and glWaitLatch between 3D contexts
24154        https://bugs.webkit.org/show_bug.cgi?id=58003
24155
24156        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
24157        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
24158        (WebCore::Canvas2DLayerChromium::setDrawingBuffer):
24159        (WebCore::Canvas2DLayerChromium::setLayerRenderer):
24160        * platform/graphics/chromium/Canvas2DLayerChromium.h:
24161        * platform/graphics/chromium/Extensions3DChromium.h:
24162        * platform/graphics/chromium/GLES2Canvas.cpp:
24163        (WebCore::Cubic::Cubic):
24164        * platform/graphics/chromium/LayerRendererChromium.cpp:
24165        (WebCore::LayerRendererChromium::LayerRendererChromium):
24166        (WebCore::LayerRendererChromium::updateAndDrawLayers):
24167        (WebCore::LayerRendererChromium::updateLayers):
24168        (WebCore::LayerRendererChromium::addChildContext):
24169        (WebCore::LayerRendererChromium::removeChildContext):
24170        * platform/graphics/chromium/LayerRendererChromium.h:
24171        * platform/graphics/chromium/WebGLLayerChromium.cpp:
24172        (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
24173        (WebCore::WebGLLayerChromium::updateCompositorResources):
24174        (WebCore::WebGLLayerChromium::setContext):
24175        (WebCore::WebGLLayerChromium::setLayerRenderer):
24176        * platform/graphics/chromium/WebGLLayerChromium.h:
24177
241782011-04-11  Alexey Marinichev  <amarinichev@chromium.org>
24179
24180        Reviewed by James Robinson.
24181
24182        LayerChromium/CCLayerImpl ownership fix
24183        https://bugs.webkit.org/show_bug.cgi?id=58283
24184
24185        CCLayerImpl's m_owner field lifetime should match the lifetime of the
24186        corresponding LayerChromium.  This change moves resetting of m_owner
24187        into LayerChromium's destructor.
24188
24189        Tested similarly to bug 57577.
24190
24191        * platform/graphics/chromium/LayerChromium.cpp:
24192        (WebCore::LayerChromium::~LayerChromium):
24193        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
24194        (WebCore::CCLayerImpl::cleanupResources):
24195        * platform/graphics/chromium/cc/CCLayerImpl.h:
24196        (WebCore::CCLayerImpl::resetOwner):
24197
241982011-04-11  Daniel Bates  <dbates@rim.com>
24199
24200        Attempt to fix the GTK build after changeset 83527 <http://trac.webkit.org/changeset/83527>
24201        (https://bugs.webkit.org/show_bug.cgi?id=53556).
24202
24203        * GNUmakefile.list.am: Append files HTMLTrackElement.{h, cpp} to the list webcore_sources.
24204
242052011-04-11  Brady Eidson  <beidson@apple.com>
24206
24207        Reviewed by Maciej Stachowiak.
24208
24209        <rdar://problem/9251515> and https://bugs.webkit.org/show_bug.cgi?id=58072
24210        URLs accessed as a result of pushState/replaceState should count as "visited" and be in the global history
24211
24212        Test: fast/loader/stateobjects/state-url-sets-links-visited.html
24213
24214        * loader/HistoryController.cpp:
24215        (WebCore::HistoryController::pushState): Notify the history client and add the visited link.
24216        (WebCore::HistoryController::replaceState): Ditto.
24217
242182011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
24219
24220        Reviewed by Eric Carlson.
24221
24222        Rename MediaControls to MediaControlRootElement.
24223        https://bugs.webkit.org/show_bug.cgi?id=58250
24224
24225        Mechanical move using do-webcore-rename.
24226
242272011-04-11  Dean Jackson  <dino@apple.com>
24228
24229        Reviewed by Simon Fraser.
24230
24231        https://bugs.webkit.org/show_bug.cgi?id=58285
24232        CompositeAnimation is cleared while an AnimationBase is waiting for notification
24233
24234        Occasionally hardware animations would trigger a state where
24235        they would tell the AnimationControllerPrivate that it should notify
24236        any waiting animations that they are ready to start, even though
24237        the RenderObject had gone away and hence the CompositeAnimation
24238        had been destroyed. The fix is to zero the pointer from AnimationBase
24239        when the CompositeAnimation destructor runs (or its animations are
24240        cleared) and test the validity of the CompositeAnimation before it
24241        is used in AnimationBase.
24242
24243        * page/animation/AnimationBase.cpp:
24244        (WebCore::AnimationBase::updateStateMachine):
24245        (WebCore::AnimationBase::fireAnimationEventsIfNeeded):
24246        (WebCore::AnimationBase::updatePlayState):
24247        (WebCore::AnimationBase::freezeAtTime):
24248        (WebCore::AnimationBase::beginAnimationUpdateTime):
24249        - test that the CompositeAnimation exists
24250        * page/animation/AnimationBase.h:
24251        (WebCore::AnimationBase::clear):
24252        - rename clearRenderer() to clear() as it now also clears the CompositeAnimation
24253        * page/animation/CompositeAnimation.cpp:
24254        (WebCore::CompositeAnimation::clearRenderer):
24255        (WebCore::CompositeAnimation::updateKeyframeAnimations):
24256        - call clear() rather than clearRenderer()
24257
242582011-04-11  Justin Novosad  <junov@chromium.org>
24259
24260        Reviewed by Kenneth Russell.
24261
24262        [Chromium] Text anti-aliasing fails when rendering text with shadow
24263        https://bugs.webkit.org/show_bug.cgi?id=57584
24264
24265        * platform/graphics/chromium/FontChromiumWin.cpp:
24266        (WebCore::drawGlyphsWin): new static function, code factored-out
24267        from WebCore::Font::drawGlyphs
24268        (WebCore::Font::drawGlyphs): may separate font rendering into two
24269        passes to allow foreground glyphs to be rendered with GDI when Skia
24270        is required for rendering shadows
24271        * platform/graphics/skia/SkiaFontWin.cpp:
24272        (WebCore::windowsCanHandleDrawTextShadow):
24273        Modified method so that it does not assume a shadow is present, and
24274        returns true if there is no shadow (GDI can draw 'no shadow')
24275        (WebCore::windowsCanHandleTextDrawing):
24276        Factored out into sub methods so that the the shadow and foregound
24277        glyph properties can be tested separately independently.
24278        (WebCore::windowsCanHandleTextDrawingWithoutShadow):
24279        New method returns true if the foreground glyph only has effect
24280        that can be draw with GDI
24281        (WebCore::paintSkiaText):
24282        * platform/graphics/skia/SkiaFontWin.h:
24283
242842011-04-11  Ryosuke Niwa  <rniwa@webkit.org>
24285
24286        Unreviewed, rolling out r83515.
24287        http://trac.webkit.org/changeset/83515
24288        https://bugs.webkit.org/show_bug.cgi?id=57178
24289
24290        Broke GTK builds. nextOnLineExists and prevOnLineExists are still used in AccessibilityObjectWrapperAtk.cpp.
24291
24292        * rendering/InlineBox.cpp:
24293        (WebCore::InlineBox::nextOnLineExists):
24294        (WebCore::InlineBox::prevOnLineExists):
24295        * rendering/InlineBox.h:
24296        (WebCore::InlineBox::InlineBox):
24297
242982011-04-11  Brady Eidson  <beidson@apple.com>
24299
24300        Reverting, seeing something else still broken.  Sorry.
24301
24302        * html/HTMLTrackElement.cpp:
24303
243042011-04-11  Brady Eidson  <beidson@apple.com>
24305
24306        Fix the build.
24307
24308        * html/HTMLTrackElement.cpp: Case-sensitive, please.
24309
243102011-04-11  Alexis Menard  <alexis.menard@openbossa.org>
24311
24312        Unreviewed build fix for Mac.
24313
24314        An idl file was added in the wrong place.
24315
24316        * WebCore.xcodeproj/project.pbxproj:
24317
243182011-04-11  Chris Marrin  <cmarrin@apple.com>
24319
24320        Rubberstamped by Dan Bernstein.
24321
24322        xhr.responseType = 'arraybuffer' works on Mac but not on Windows
24323        https://bugs.webkit.org/show_bug.cgi?id=50334
24324
24325        Got rid of guards around arraybuffer logic in XHR. ArrayBuffer and friends
24326        are always turned on now, so there's not need for the guard. I reenabled the
24327        test that was Skipped on Windows and it works now.
24328
24329        * bindings/js/JSXMLHttpRequestCustom.cpp:
24330        (WebCore::JSXMLHttpRequest::markChildren):
24331        (WebCore::JSXMLHttpRequest::send):
24332        (WebCore::JSXMLHttpRequest::response):
24333        * xml/XMLHttpRequest.cpp:
24334        (WebCore::XMLHttpRequest::responseArrayBuffer):
24335        (WebCore::XMLHttpRequest::setResponseType):
24336        (WebCore::XMLHttpRequest::send):
24337        (WebCore::XMLHttpRequest::clearResponseBuffers):
24338        (WebCore::XMLHttpRequest::didReceiveData):
24339        * xml/XMLHttpRequest.h:
24340        (WebCore::XMLHttpRequest::optionalResponseArrayBuffer):
24341
243422011-04-11  Anna Cavender  <annacc@chromium.org>
24343
24344        Reviewed by Eric Carlson.
24345
24346        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
24347        https://bugs.webkit.org/show_bug.cgi?id=53556
24348
24349        No new tests. No real functionality added just yet.
24350
24351        * CMakeLists.txt:
24352        * CodeGenerators.pri:
24353        * Configurations/FeatureDefines.xcconfig:
24354        * DerivedSources.make:
24355        * GNUmakefile.am:
24356        * GNUmakefile.list.am:
24357        * WebCore.gypi:
24358        * WebCore.xcodeproj/project.pbxproj:
24359        * features.pri:
24360        * html/HTMLAttributeNames.in:
24361        * html/HTMLTagNames.in:
24362        * html/HTMLTrackElement.cpp: Added.
24363        (WebCore::HTMLTrackElement::HTMLTrackElement):
24364        (WebCore::HTMLTrackElement::create):
24365        (WebCore::HTMLTrackElement::insertedIntoTree):
24366        (WebCore::HTMLTrackElement::willRemove):
24367        (WebCore::HTMLTrackElement::src):
24368        (WebCore::HTMLTrackElement::setSrc):
24369        (WebCore::HTMLTrackElement::kind):
24370        (WebCore::HTMLTrackElement::setKind):
24371        (WebCore::HTMLTrackElement::srclang):
24372        (WebCore::HTMLTrackElement::setSrclang):
24373        (WebCore::HTMLTrackElement::label):
24374        (WebCore::HTMLTrackElement::setLabel):
24375        (WebCore::HTMLTrackElement::isDefault):
24376        (WebCore::HTMLTrackElement::setIsDefault):
24377        (WebCore::HTMLTrackElement::isURLAttribute):
24378        * html/HTMLTrackElement.h: Added.
24379        * html/HTMLTrackElement.idl: Added.
24380
243812011-04-11  Ben Taylor  <bentaylor.solx86@gmail.com>
24382
24383        Reviewed by David Levin.
24384
24385        https://bugs.webkit.org/show_bug.cgi?id=57535
24386
24387        Better compile fix for Solaris 10/Sun Studio 12 CC
24388        needing <sys/time.h>
24389
24390        * loader/icon/IconRecord.h:
24391        * page/Page.h:
24392        * platform/network/ResourceResponseBase.h:
24393
243942011-04-11  Alexey Proskuryakov  <ap@apple.com>
24395
24396        Reviewed by Maciej Stachowiak.
24397
24398        WebKit2: Cannot use Ctrl-Delete as a custom keyboard shortcut
24399        https://bugs.webkit.org/show_bug.cgi?id=58265
24400        <rdar://problem/9221468>
24401
24402        * page/EventHandler.cpp:
24403        (WebCore::EventHandler::defaultKeyboardEventHandler): Handle Backspace.
24404        (WebCore::EventHandler::defaultSpaceEventHandler): Enabled this on Mac, and added checks for
24405        other modifiers - no one wants to scroll on Ctrl+Alt+Space and such.
24406        (WebCore::EventHandler::defaultBackspaceEventHandler): Backspace goes back, Shift-backspace
24407        goes forward. All browsers do it.
24408        (WebCore::EventHandler::defaultArrowEventHandler): Assert that this function was called
24409        for a correct event.
24410        (WebCore::EventHandler::defaultTabEventHandler): Ditto.
24411
24412        * page/EventHandler.h: Added defaultBackspaceEventHandler.
24413
244142011-04-11  Matthew Delaney  <mdelaney@apple.com>
24415
24416        Reviewed by Dan Bernstein.
24417
24418        [CG] drawImage with a subimage bleeds pixel data at borders
24419        https://bugs.webkit.org/show_bug.cgi?id=58267
24420
24421        Test: fast/canvas/DrawImageSinglePixelStretch.html
24422
24423        * platform/graphics/cg/ImageCG.cpp:
24424        (WebCore::BitmapImage::draw): Any interpolation quality other than 'none' will graft out the subimage first now.
24425
244262011-04-11  Chris Marrin  <cmarrin@apple.com>
24427
24428        Reviewed by Simon Fraser.
24429
24430        iframe/compositing propagation should also work for <object> and framesets
24431        https://bugs.webkit.org/show_bug.cgi?id=39037
24432
24433        Generalized the code that handles the parenting of composited <iframe> elements
24434        to include <frame> and <object> elements. This includes forcing the parent
24435        element to be composited and constructing the layer tree in the child document
24436        and properly parenting it. Much of the change is giving the function calls more
24437        generic names (from ...IFrame... to ...Frame...)
24438
24439        Compositing tests that were done in RenderIFrame have been moved to RenderPart
24440        since this is the highest base class common to all 3 elements.
24441
24442        I also renamed several ...IFrame... functions to
24443        ...Frame... and changed them so they work on a RenderPart for determining
24444        if the renderer is composited. One other detail is that <iframe> and
24445        <object> never share style since they might be composited. I had to add
24446        <frame> to that list.
24447
24448        Tests: compositing/framesets/composited-frame-alignment.html
24449               compositing/objects/composited-object-alignment.html
24450
24451        * css/CSSStyleSelector.cpp: Add <frame> to list of element types that should never share style since it might be composited.
24452        (WebCore::CSSStyleSelector::canShareStyleWithElement):
24453        * page/FrameView.cpp:
24454        (WebCore::FrameView::hasCompositedContentIncludingDescendants):
24455        (WebCore::FrameView::setIsOverlapped):
24456        * rendering/RenderIFrame.cpp: Moved methods to RenderPart
24457        * rendering/RenderIFrame.h:
24458        * rendering/RenderLayerBacking.cpp:
24459        (WebCore::RenderLayerBacking::updateAfterWidgetResize):
24460        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
24461        (WebCore::RenderLayerBacking::paintingGoesToWindow):
24462        * rendering/RenderLayerCompositor.cpp:
24463        (WebCore::RenderLayerCompositor::updateBacking):
24464        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
24465        (WebCore::RenderLayerCompositor::frameContentsCompositor):
24466        (WebCore::RenderLayerCompositor::parentFrameContentLayers):
24467        (WebCore::RenderLayerCompositor::didMoveOnscreen):
24468        (WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames):
24469        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
24470        (WebCore::RenderLayerCompositor::enclosingFrameElement):
24471        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
24472        (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
24473        (WebCore::RenderLayerCompositor::requiresScrollLayer):
24474        (WebCore::RenderLayerCompositor::ensureRootPlatformLayer):
24475        (WebCore::RenderLayerCompositor::attachRootPlatformLayer):
24476        (WebCore::RenderLayerCompositor::detachRootPlatformLayer):
24477        * rendering/RenderLayerCompositor.h:
24478        * rendering/RenderPart.cpp: Functions moved from RenderIFrame
24479        (WebCore::RenderPart::requiresLayer):
24480        (WebCore::RenderPart::requiresAcceleratedCompositing):
24481        * rendering/RenderPart.h:
24482
244832011-04-11  Yael Aharon  <yael.aharon@nokia.com>
24484
24485        Reviewed by Eric Seidel.
24486
24487        InlineBox::prevOnline and InlineBox::prevOnlineExists() are confusing and should be renamed
24488        https://bugs.webkit.org/show_bug.cgi?id=57178
24489
24490        Remove prevOnLineExists() and nextOnLineExists() as they are not used anymore.
24491        No new tests needed because this is cleanup only.
24492
24493        * rendering/InlineBox.cpp:
24494        * rendering/InlineBox.h:
24495        (WebCore::InlineBox::InlineBox):
24496        (WebCore::InlineBox::setPrevOnLine):
24497
244982011-04-11  David Hyatt  <hyatt@apple.com>
24499
24500        Reviewed by Dan Bernstein.
24501
24502        https://bugs.webkit.org/show_bug.cgi?id=58261
24503
24504        Fix for layout regression on marketwatch.com. When I converted TrailingFloatsRootInlineBox over
24505        to the new overflow model, I messed up the math and passed a bottom value where I should have
24506        passed a height value. This patch fixes the code to be logically equivalent to the way it
24507        was prior to my changes.
24508
24509        Added fast/overflow/trailing-float-linebox.html.
24510
24511        * rendering/RenderBlockLineLayout.cpp:
24512        (WebCore::RenderBlock::layoutInlineChildren):
24513
245142011-04-11  Adrienne Walker  <enne@google.com>
24515
24516        Unreviewed, rolling out r83500.
24517        http://trac.webkit.org/changeset/83500
24518        https://bugs.webkit.org/show_bug.cgi?id=57113
24519
24520        Regresses huge-layer-rotated test
24521
24522        * platform/graphics/chromium/ContentLayerChromium.cpp:
24523        (WebCore::ContentLayerChromium::ContentLayerChromium):
24524        (WebCore::ContentLayerChromium::~ContentLayerChromium):
24525        (WebCore::ContentLayerChromium::cleanupResources):
24526        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
24527        (WebCore::ContentLayerChromium::paintContentsIfDirty):
24528        (WebCore::ContentLayerChromium::resizeUploadBuffer):
24529        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
24530        (WebCore::ContentLayerChromium::updateTexture):
24531        (WebCore::ContentLayerChromium::draw):
24532        (WebCore::ContentLayerChromium::updateCompositorResources):
24533        (WebCore::ContentLayerChromium::unreserveContentsTexture):
24534        (WebCore::ContentLayerChromium::bindContentsTexture):
24535        (WebCore::ContentLayerChromium::dumpLayerProperties):
24536        * platform/graphics/chromium/ContentLayerChromium.h:
24537        (WebCore::ContentLayerChromium::drawsContent):
24538        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
24539        (WebCore::GraphicsLayerChromium::setMaskLayer):
24540        * platform/graphics/chromium/ImageLayerChromium.cpp:
24541        (WebCore::ImageLayerChromium::paintContentsIfDirty):
24542        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
24543        * platform/graphics/chromium/ImageLayerChromium.h:
24544        * platform/graphics/chromium/LayerChromium.h:
24545        (WebCore::LayerChromium::draw):
24546        * platform/graphics/chromium/LayerRendererChromium.cpp:
24547        (WebCore::LayerRendererChromium::drawRootLayer):
24548        (WebCore::LayerRendererChromium::drawLayers):
24549        (WebCore::LayerRendererChromium::paintContentsRecursive):
24550        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
24551        (WebCore::LayerRendererChromium::drawLayer):
24552        (WebCore::LayerRendererChromium::initializeSharedObjects):
24553        (WebCore::LayerRendererChromium::cleanupSharedObjects):
24554        * platform/graphics/chromium/LayerRendererChromium.h:
24555        (WebCore::LayerRendererChromium::contentLayerProgram):
24556        * platform/graphics/chromium/LayerTilerChromium.cpp:
24557        (WebCore::LayerTilerChromium::invalidateRect):
24558        (WebCore::LayerTilerChromium::update):
24559        (WebCore::LayerTilerChromium::updateFromPixels):
24560        (WebCore::LayerTilerChromium::draw):
24561        * platform/graphics/chromium/LayerTilerChromium.h:
24562        * platform/graphics/chromium/PlatformCanvas.cpp:
24563        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
24564        (WebCore::PlatformCanvas::Painter::Painter):
24565        * platform/graphics/chromium/PlatformCanvas.h:
24566        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
24567        (WebCore::RenderSurfaceChromium::draw):
24568        * platform/graphics/chromium/RenderSurfaceChromium.h:
24569        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
24570        (WebCore::CCCanvasLayerImpl::draw):
24571        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
24572        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
24573        (WebCore::CCHeadsUpDisplay::draw):
24574        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
24575        (WebCore::CCLayerImpl::draw):
24576        * platform/graphics/chromium/cc/CCLayerImpl.h:
24577        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
24578        (WebCore::CCPluginLayerImpl::draw):
24579        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
24580        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
24581        (WebCore::CCVideoLayerImpl::draw):
24582        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
24583
245842011-04-11  Jon Honeycutt  <jhoneycutt@apple.com>
24585
24586        <rdar://problem/9267042> Assertion failure on launch in
24587        LayerChangesFlusher::setHook().
24588
24589        https://bugs.webkit.org/show_bug.cgi?id=58270
24590
24591        Reviewed by Adam Roben.
24592
24593        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
24594        (WebCore::LayerChangesFlusher::setHook):
24595        MSDN says that the HINSTANCE passed in must be null if the thread ID
24596        passed is a thread created by this process and the hook procedure is
24597        within this process.
24598
245992011-04-11  MORITA Hajime  <morrita@google.com>
24600
24601        Unreviewed build fix.
24602
24603        Changeset 83492 broke Leopard build.
24604        https://bugs.webkit.org/show_bug.cgi?id=58268
24605
24606        * editing/Editor.cpp:
24607        (WebCore::Editor::markMisspellingsAfterTypingToWord):
24608
246092011-03-25  Adrienne Walker  <enne@google.com>
24610
24611        Reviewed by James Robinson.
24612
24613        [chromium] Tile content and image layers
24614        https://bugs.webkit.org/show_bug.cgi?id=57113
24615
24616        Layers tile by default if any dimension is larger than 512.  Smaller
24617        layers are contained within a single texture but still use the tiler
24618        infrastructure so that there's only one code path.
24619
24620        Remove large layer support from content layers.  Content layers no
24621        longer own a platform canvas--they own a tiler.  Refactor tiler to
24622        allow for better separation of update/upload/paint.  Add rect
24623        parameter to update and draw functions on layers for the layer-space
24624        rect of interest.  This is necessary to know which tiles need to be
24625        drawn.
24626
24627        * platform/graphics/chromium/ContentLayerChromium.cpp:
24628        (WebCore::ContentLayerChromium::ContentLayerChromium):
24629        (WebCore::ContentLayerChromium::~ContentLayerChromium):
24630        (WebCore::ContentLayerPainter::ContentLayerPainter):
24631        (WebCore::ContentLayerPainter::paint):
24632        (WebCore::ContentLayerChromium::paintContentsIfDirty):
24633        (WebCore::ContentLayerChromium::setLayerRenderer):
24634        (WebCore::ContentLayerChromium::tilingTransform):
24635        (WebCore::ContentLayerChromium::visibleLayerRect):
24636        (WebCore::ContentLayerChromium::layerBounds):
24637        (WebCore::ContentLayerChromium::updateLayerSize):
24638        (WebCore::ContentLayerChromium::draw):
24639        (WebCore::ContentLayerChromium::createTilerIfNeeded):
24640        (WebCore::ContentLayerChromium::updateCompositorResources):
24641        (WebCore::ContentLayerChromium::setTilingOption):
24642        (WebCore::ContentLayerChromium::bindContentsTexture):
24643        (WebCore::ContentLayerChromium::unreserveContentsTexture):
24644        (WebCore::ContentLayerChromium::setIsMask):
24645        (WebCore::ContentLayerChromium::dumpLayerProperties):
24646        * platform/graphics/chromium/ContentLayerChromium.h:
24647        (WebCore::ContentLayerChromium::drawsContent):
24648        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
24649        (WebCore::GraphicsLayerChromium::setMaskLayer):
24650        * platform/graphics/chromium/ImageLayerChromium.cpp:
24651        (WebCore::ImageLayerChromium::paintContentsIfDirty):
24652        (WebCore::ImageLayerChromium::updateCompositorResources):
24653        (WebCore::ImageLayerChromium::layerBounds):
24654        (WebCore::ImageLayerChromium::tilingTransform):
24655        * platform/graphics/chromium/ImageLayerChromium.h:
24656        * platform/graphics/chromium/LayerChromium.h:
24657        (WebCore::LayerChromium::invalidateRect):
24658        (WebCore::LayerChromium::paintContentsIfDirty):
24659        (WebCore::LayerChromium::setIsMask):
24660        (WebCore::LayerChromium::draw):
24661        * platform/graphics/chromium/LayerRendererChromium.cpp:
24662        (WebCore::LayerRendererChromium::drawRootLayer):
24663        (WebCore::LayerRendererChromium::drawLayers):
24664        (WebCore::LayerRendererChromium::paintContentsRecursive):
24665        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
24666        (WebCore::LayerRendererChromium::drawLayer):
24667        (WebCore::LayerRendererChromium::initializeSharedObjects):
24668        (WebCore::LayerRendererChromium::cleanupSharedObjects):
24669        * platform/graphics/chromium/LayerRendererChromium.h:
24670        * platform/graphics/chromium/LayerTilerChromium.cpp:
24671        (WebCore::LayerTilerChromium::getSingleTexture):
24672        (WebCore::LayerTilerChromium::invalidateRect):
24673        (WebCore::LayerTilerChromium::update):
24674        (WebCore::LayerTilerChromium::uploadCanvas):
24675        (WebCore::LayerTilerChromium::updateFromPixels):
24676        (WebCore::LayerTilerChromium::draw):
24677        (WebCore::LayerTilerChromium::unreserveTextures):
24678        * platform/graphics/chromium/LayerTilerChromium.h:
24679        (WebCore::LayerTilerChromium::setLayerRenderer):
24680        (WebCore::LayerTilerChromium::skipsDraw):
24681        * platform/graphics/chromium/PlatformCanvas.cpp:
24682        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
24683        (WebCore::PlatformCanvas::Painter::Painter):
24684        * platform/graphics/chromium/PlatformCanvas.h:
24685        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
24686        (WebCore::RenderSurfaceChromium::draw):
24687        * platform/graphics/chromium/RenderSurfaceChromium.h:
24688        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
24689        (WebCore::CCCanvasLayerImpl::draw):
24690        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
24691        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
24692        (WebCore::CCHeadsUpDisplay::draw):
24693        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
24694        (WebCore::CCLayerImpl::draw):
24695        * platform/graphics/chromium/cc/CCLayerImpl.h:
24696        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
24697        (WebCore::CCPluginLayerImpl::draw):
24698        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
24699        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
24700        (WebCore::CCVideoLayerImpl::draw):
24701        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
24702
247032011-04-11  Eric Carlson  <eric.carlson@apple.com>
24704
24705        Reviewed by Simon Fraser.
24706
24707        Ignore context change callbacks when not on the main thread
24708        https://bugs.webkit.org/show_bug.cgi?id=58256
24709        <rdar://problem/9266090>
24710
24711        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp:
24712        (WebCore::WKCACFViewLayerTreeHost::contextDidChange): Do nothing when not called
24713            on the main thread. This should only happen when no changes have actually
24714            been committed to the context, eg. when a video frame has been added to an image
24715            queue, so return without triggering animations etc.
24716
247172011-04-11  Daniel Cheng  <dcheng@chromium.org>
24718
24719        Reviewed by Dmitry Titov.
24720
24721        [chromium] Implement image/png support in DataTransferItems
24722        https://bugs.webkit.org/show_bug.cgi?id=58106
24723
24724        This patch implements DataTransferItem::getAsFile() using Blobs. In
24725        addition, plumbing for image/png has been added so image paste will be
24726        supported as long as the renderer makes that data available.
24727
24728        Tests: editing/pasteboard/data-transfer-items-image-png.html
24729
24730        * dom/DataTransferItem.h:
24731        * dom/DataTransferItem.idl:
24732        * platform/chromium/ClipboardMimeTypes.cpp:
24733        * platform/chromium/ClipboardMimeTypes.h:
24734        * platform/chromium/DataTransferItemChromium.cpp:
24735        (WebCore::DataTransferItemChromium::getAsString):
24736        (WebCore::DataTransferItemChromium::getAsFile):
24737        * platform/chromium/DataTransferItemChromium.h:
24738        * platform/chromium/PlatformBridge.h:
24739
247402011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
24741
24742        Reviewed by Chris Fleizach.
24743
24744        [Gtk] Implement support for Embedded Objects
24745        https://bugs.webkit.org/show_bug.cgi?id=52148
24746
24747        Expose special OBJECT character for replaced elements, implementing
24748        AtkText and AtkHyperlink when required.
24749
24750        * accessibility/AccessibilityRenderObject.cpp:
24751        (WebCore::textIteratorBehaviorForTextRange): New helper function,
24752        to return the right behavior, depending on the platform, so it
24753        ensures that object replacement characters get emitted for GTK.
24754        (WebCore::AccessibilityRenderObject::textUnderElement): Use the
24755        new helper function textIteratorBehaviorForTextRange.
24756        (WebCore::AccessibilityRenderObject::stringValue): Ditto.
24757        (WebCore::AccessibilityRenderObject::indexForVisiblePosition):
24758        Consider replaced elements when calculating range length in GTK.
24759
24760        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
24761        (textForRenderer): Ouput the 'object replacement character' for
24762        replaced objects.
24763        (getSelectionOffsetsForObject): Consider replaced elements when
24764        calculating range length in GTK.
24765        (webkitAccessibleHypertextGetLink): Remove wrong extra check that
24766        were causing only links to be considered.
24767        (webkitAccessibleHypertextGetNLinks): Replace wrong 'isLink()'
24768        check with the right one, by checking that the right ATK interface
24769        is being implemented by the AtkObject.
24770        (getInterfaceMaskFromObject): Implement the Hyperlink interface
24771        both for links and replaced objects.
24772        (objectAndOffsetUnignored): Consider replaced elements when
24773        calculating range length in GTK.
24774
24775        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
24776        (getRangeLengthForObject): Ensure spaces are used for replaced
24777        elements when calling to TextIterator::rangeLength().
24778
24779        * editing/TextIterator.h: New value in the TextIteratorBehavior
24780        enumeration (TextIteratorEmitsObjectReplacementCharacters) and new
24781        private variable to consider that new option internally.
24782        * editing/TextIterator.cpp:
24783        (WebCore::TextIterator::TextIterator): Initialize the new private
24784        attribute m_emitsObjectReplacementCharacters in constructors.
24785        (WebCore::TextIterator::handleReplacedElement): Emit the 'object
24786        replacement character' when m_emitsObjectReplacementCharacters.
24787
247882011-04-11  Jia Pu  <jpu@apple.com>
24789
24790        Reviewed by Adele Peterson.
24791
24792        Shouldn't carry out autocorrection when start typing a new word
24793        https://bugs.webkit.org/show_bug.cgi?id=58241
24794        <rdar://problem/9264736>
24795
24796        Tests: platform/mac/editing/spelling/autocorrection-at-beginning-of-word-1.html
24797               platform/mac/editing/spelling/autocorrection-at-beginning-of-word-2.html
24798
24799        In TypingCommand::markMisspellingsAfterTyping(), we want to call Editor::markMisspellingsAfterTypingToWord()
24800        only when the typing command is an insertion command, and preceding word contains at least one non-whitespace
24801        character.
24802
24803        * editing/Editor.cpp:
24804        (WebCore::Editor::markMisspellingsAfterTypingToWord):
24805        * editing/Editor.h:
24806        * editing/TypingCommand.cpp:
24807        (WebCore::TypingCommand::markMisspellingsAfterTyping):
24808
248092011-04-11  Vsevolod Vlasov  <vsevik@chromium.org>
24810
24811        Reviewed by Pavel Feldman.
24812
24813        PerformanceTiming returns inconsistent values when timing is null.
24814        https://bugs.webkit.org/show_bug.cgi?id=58143
24815
24816        Made PerformanceTiming returned values consistent when there is no timing object.
24817
24818        * page/PerformanceTiming.cpp:
24819        (WebCore::PerformanceTiming::domainLookupStart):
24820        (WebCore::PerformanceTiming::domainLookupEnd):
24821        (WebCore::PerformanceTiming::connectStart):
24822        (WebCore::PerformanceTiming::connectEnd):
24823        (WebCore::PerformanceTiming::requestStart):
24824        (WebCore::PerformanceTiming::responseStart):
24825        (WebCore::PerformanceTiming::domLoading):
24826
248272011-04-05  Stephen White  <senorblanco@chromium.org>
24828
24829        Fix for jittering when animating a rotated image.
24830        https://bugs.webkit.org/show_bug.cgi?id=50775
24831
24832        Make GraphicsContext::roundToDevicePixels a no-op on Chrome/Mac.
24833
24834        * platform/graphics/cg/GraphicsContextCG.cpp:
24835        (WebCore::GraphicsContext::roundToDevicePixels):
24836
248372011-04-06  Xiaomei Ji  <xji@chromium.org>
24838
24839        Reviewed by Ryosuke Niwa.
24840
24841        Continue experiment with moving caret by word in visual order.
24842        https://bugs.webkit.org/show_bug.cgi?id=57806
24843
24844        This is the 2nd patch, which adds implementation when caret is inside box
24845        (not at boundaries). If the word break is inside the same box and not at the boundaries
24846        either, the word break will be returned. If need to search the adjacent boxes for word
24847        breaks, then, only the cases implemented in bug 57336 work.
24848
24849        * editing/visible_units.cpp:
24850        (WebCore::leftmostPositionInRTLBoxInLTRBlock):
24851        (WebCore::rightmostPositionInLTRBoxInRTLBlock):
24852        (WebCore::lastWordBreakInBox):
24853        (WebCore::positionIsVisuallyOrderedInBoxInBlockWithDifferentDirectionality):
24854        (WebCore::nextWordBreakInBoxInsideBlockWithDifferentDirectionality):
24855        (WebCore::WordBoundaryEntry::WordBoundaryEntry):
24856        (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
24857        (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
24858        (WebCore::greatestValueUnder):
24859        (WebCore::smallestOffsetAbove):
24860        (WebCore::positionIsInsideBox):
24861        (WebCore::positionBeforeNextWord):
24862        (WebCore::positionAfterPreviousWord):
24863        (WebCore::leftWordPosition):
24864        (WebCore::rightWordPosition):
24865
248662011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
24867
24868        Reviewed by Chris Fleizach.
24869
24870        [GTK] Unskip accessibility/input-slider.html and accessibility/media-element.html
24871        https://bugs.webkit.org/show_bug.cgi?id=58040
24872
24873        Don't expose objects of role SliderThumbRoles in GTK.
24874
24875        * accessibility/AccessibilitySlider.cpp:
24876        (WebCore::AccessibilitySlider::addChildren): Allow the platform
24877        make a final decision before including children in the hierarchy.
24878        (WebCore::AccessibilitySliderThumb::accessibilityIsIgnored):
24879        Implemented by relying on accessibilityPlatformIncludesObject().
24880
24881        * accessibility/gtk/AccessibilityObjectAtk.cpp:
24882        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
24883        Ignore accessibility objects with role SliderThumbRole.
24884
248852011-04-11  Simon Fraser  <simon.fraser@apple.com>
24886
24887        Reviewed by Dan Bernstein.
24888
24889        Divide by zero in calcColumnWidth
24890        https://bugs.webkit.org/show_bug.cgi?id=58230
24891
24892        Test: fast/multicol/huge-column-count.html
24893
24894        Make sure we have at least one column, to avoid divide by zero.
24895
24896        * rendering/RenderBlock.cpp:
24897        (WebCore::RenderBlock::calcColumnWidth):
24898
248992011-04-09  Gavin Barraclough  <barraclough@apple.com>
24900
24901        Reviewed by Sam Weinig.
24902
24903        Bug 58198 - Clean up JSValue implementation for JSVALUE64
24904
24905        JSNumberCell.h has been deprecated.
24906
24907        * ForwardingHeaders/runtime/JSNumberCell.h: Removed.
24908        * bindings/scripts/CodeGeneratorJS.pm:
24909        * bridge/c/c_instance.cpp:
24910
249112011-04-11  Dan Bernstein  <mitz@apple.com>
24912
24913        Build fix.
24914
24915        * html/canvas/CanvasRenderingContext2D.cpp:
24916        (WebCore::CanvasRenderingContext2D::State::State):
24917
249182011-04-11  Antti Koivisto  <antti@apple.com>
24919
24920        Reviewed by Tony Gentilcore.
24921
24922        Document source preload scanned repeatedly
24923        https://bugs.webkit.org/show_bug.cgi?id=58123
24924
24925        Don't clear the preload scanner after execution resumes. This would lose the current
24926        scanning point and lead to rescanning when the preload scanner would get reconstructed
24927        due to main parser blocking again.
24928
24929        Instead clear the scanner only in the specific case of receiving new data while the main
24930        parser has already reached the end of the current input.
24931
24932        Also switched to using isWaitingForScripts() instead of m_treeBuilder->isPaused() for consistency.
24933
24934        The case the clearing in resumeParsingAfterScriptExecution() was added for is covered by
24935        http/tests/loading/preload-slow-loading.php.
24936
24937        * html/parser/HTMLDocumentParser.cpp:
24938        (WebCore::HTMLDocumentParser::insert):
24939        (WebCore::HTMLDocumentParser::append):
24940        (WebCore::HTMLDocumentParser::resumeParsingAfterScriptExecution):
24941
249422011-04-11  Dan Bernstein  <mitz@apple.com>
24943
24944        Build fix.
24945
24946        * html/canvas/CanvasRenderingContext2D.cpp:
24947        (WebCore::CanvasRenderingContext2D::State::State):
24948
249492011-04-11  Dan Bernstein  <mitz@apple.com>
24950
24951        Reviewed by Alexey Proskuryakov.
24952
24953        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)
24954        https://bugs.webkit.org/show_bug.cgi?id=58229
24955
24956        * html/canvas/CanvasRenderingContext2D.cpp:
24957        (WebCore::CanvasRenderingContext2D::State::State): Added copy constructor, to register the copy with
24958        the font selector if needed.
24959        (WebCore::CanvasRenderingContext2D::State::operator=): Added assignment constructor, to handle
24960        registration with the font selector as needed.
24961        * html/canvas/CanvasRenderingContext2D.h:
24962
249632011-04-11  Mario Sanchez Prada  <msanchez@igalia.com>
24964
24965        Reviewed by Chris Fleizach.
24966
24967        [GTK] ARIA tables not exposing cells as HTML tables do
24968        https://bugs.webkit.org/show_bug.cgi?id=57463
24969
24970        Expose cells for ARIA grids consistently with HTML tables in GTK,
24971        keeping the same behaviour for the other platforms.
24972
24973        * accessibility/AccessibilityARIAGrid.cpp:
24974        (WebCore::AccessibilityARIAGrid::addChild): Add the row's children
24975        to the accessibility hierarchy when accessibility objects for rows
24976        are ignoring accessibility, otherwise add the row.
24977        (WebCore::AccessibilityARIAGrid::addChildren): Do not check at
24978        this point whether every child of the table ignores or not
24979        accessibility, letting addChild() make the proper decision later.
24980
24981        * accessibility/AccessibilityARIAGridCell.cpp:
24982        (WebCore::AccessibilityARIAGridCell::parentTable): Consider that
24983        rows could be ignoring accessibility, hence the parent could be
24984        retrieved in the first call to parentObjectUnignored().
24985        (WebCore::AccessibilityARIAGridCell::rowIndexRange): Ditto.
24986        (WebCore::AccessibilityARIAGridCell::columnIndexRange): Ditto..
24987
24988        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
24989        (atkRole): Map ColumnHeader and RowHeader to ATK_ROLE_TABLE_CELL.
24990
249912011-04-11  Sergio Villar Senin  <svillar@igalia.com>
24992
24993        Reviewed by Martin Robinson.
24994
24995        [GTK] Fix make distcheck
24996        https://bugs.webkit.org/show_bug.cgi?id=58224
24997
24998        Removed a file that is no longer in the source tree.
24999
25000        * GNUmakefile.list.am:
25001
250022011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
25003
25004        Reviewed by Martin Robinson.
25005
25006        REGRESSION(r83397): Most GTK media controls are hidden when no valid source is specified
25007        https://bugs.webkit.org/show_bug.cgi?id=58204
25008
25009        Covered by existing tests.
25010
25011        * platform/gtk/RenderThemeGtk.h:
25012        (WebCore::RenderThemeGtk::hasOwnDisabledStateHandlingFor): Let GTK handle
25013            the the state of media controls.
25014
250152011-04-11  Dimitri Glazkov  <dglazkov@chromium.org>
25016
25017        Remove obsolete comment, which was mistakenly landed in r83397.
25018
25019        Though potentially a work of art, the comment lost its functional meaning a long time ago.
25020
25021        * html/shadow/MediaControls.cpp:
25022        (WebCore::MediaControls::create): Removed comment.
25023
250242011-04-05  Hans Wennborg  <hans@chromium.org>
25025
25026        Reviewed by Steve Block.
25027
25028        IndexedDB: Introduce skeleton for LevelDB backend
25029        https://bugs.webkit.org/show_bug.cgi?id=57827
25030
25031        No new tests: no new functionality (yet).
25032
25033        * WebCore.gyp/WebCore.gyp:
25034            Add dependency on leveldb when ENABLE_LEVELDB=1 in feature_defines.
25035        * WebCore.gypi:
25036            Add new files.
25037        * storage/IDBBackingStore.h:
25038        (WebCore::IDBBackingStore::ObjectStoreRecordIdentifier::~ObjectStoreRecordIdentifier):
25039            Introduce abstract type ObjectStoreRecordIdentifier. The SQLite
25040            backend uses integers to refer to a specific row in a table, but
25041            the LevelDB backend will use something else.
25042        * storage/IDBDatabaseBackendImpl.cpp:
25043        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
25044        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
25045        (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
25046        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
25047            Change functions to pass along the database id for operations that
25048            concern object stores. We want to be able to group object stores
25049            ids per database.
25050        * storage/IDBFactoryBackendImpl.cpp:
25051        (WebCore::IDBFactoryBackendImpl::open):
25052            Decide which backend to use based on the backingStoreType
25053            parameter.
25054        * storage/IDBIndexBackendImpl.cpp:
25055        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
25056        (WebCore::IDBIndexBackendImpl::openCursorInternal):
25057        (WebCore::IDBIndexBackendImpl::getInternal):
25058        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
25059        * storage/IDBIndexBackendImpl.h:
25060        (WebCore::IDBIndexBackendImpl::create):
25061            Pass database and object store id to backend functions concerning
25062            indexes.
25063        * storage/IDBLevelDBBackingStore.cpp: Added.
25064        (WebCore::IDBLevelDBBackingStore::IDBLevelDBBackingStore):
25065        (WebCore::IDBLevelDBBackingStore::~IDBLevelDBBackingStore):
25066        (WebCore::IDBLevelDBBackingStore::open):
25067        (WebCore::IDBLevelDBBackingStore::extractIDBDatabaseMetaData):
25068        (WebCore::IDBLevelDBBackingStore::setIDBDatabaseMetaData):
25069        (WebCore::IDBLevelDBBackingStore::getObjectStores):
25070        (WebCore::IDBLevelDBBackingStore::createObjectStore):
25071        (WebCore::IDBLevelDBBackingStore::deleteObjectStore):
25072        (WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
25073        (WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
25074        (WebCore::IDBLevelDBBackingStore::clearObjectStore):
25075        (WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
25076        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
25077        (WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
25078        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
25079        (WebCore::IDBLevelDBBackingStore::getIndexes):
25080        (WebCore::IDBLevelDBBackingStore::createIndex):
25081        (WebCore::IDBLevelDBBackingStore::deleteIndex):
25082        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
25083        (WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
25084        (WebCore::IDBLevelDBBackingStore::getObjectViaIndex):
25085        (WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
25086        (WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
25087        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
25088        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
25089        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
25090        (WebCore::IDBLevelDBBackingStore::createTransaction):
25091        * storage/IDBLevelDBBackingStore.h: Added.
25092            Add an empty implementation of the LevelDB backend.
25093        * storage/IDBObjectStoreBackendImpl.cpp:
25094            Keep track of database id, use the new RecordIdentifier.
25095        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
25096        (WebCore::IDBObjectStoreBackendImpl::getInternal):
25097        (WebCore::IDBObjectStoreBackendImpl::putInternal):
25098        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
25099        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
25100        (WebCore::populateIndex):
25101        (WebCore::IDBObjectStoreBackendImpl::createIndex):
25102        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
25103        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
25104        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
25105        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
25106        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
25107        * storage/IDBObjectStoreBackendImpl.h:
25108        (WebCore::IDBObjectStoreBackendImpl::create):
25109        (WebCore::IDBObjectStoreBackendImpl::databaseId):
25110        * storage/IDBSQLiteBackingStore.cpp:
25111        (WebCore::IDBSQLiteBackingStore::open):
25112        (WebCore::IDBSQLiteBackingStore::createObjectStore):
25113        (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
25114        (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
25115        (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
25116        (WebCore::IDBSQLiteBackingStore::clearObjectStore):
25117        (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
25118        (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
25119        (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
25120        (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
25121        (WebCore::IDBSQLiteBackingStore::getIndexes):
25122        (WebCore::IDBSQLiteBackingStore::createIndex):
25123        (WebCore::IDBSQLiteBackingStore::deleteIndex):
25124        (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
25125        (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
25126        (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
25127        (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
25128        (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
25129        (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
25130        (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
25131        (WebCore::IDBSQLiteBackingStore::openIndexCursor):
25132        * storage/IDBSQLiteBackingStore.h:
25133
251342011-04-11  Alexander Pavlov  <apavlov@chromium.org>
25135
25136        Reviewed by Yury Semikhatsky.
25137
25138        Web Inspector: Duplicate CSS properties are reported for non-lowercase property names in the Styles sidebar
25139        https://bugs.webkit.org/show_bug.cgi?id=58226
25140
25141        * inspector/InspectorStyleSheet.cpp:
25142        (WebCore::InspectorStyle::populateAllProperties):
25143
251442011-04-07  Pavel Podivilov  <podivilov@chromium.org>
25145
25146        Reviewed by Pavel Feldman.
25147
25148        Web Inspector: get rid of source frame delegates for resources panel.
25149        https://bugs.webkit.org/show_bug.cgi?id=58041
25150
25151        Use TextViewer configured with a domain-specific delegate to show/edit resource contents in resources panel.
25152
25153        * inspector/front-end/ResourceView.js:
25154        (WebInspector.ResourceView.createResourceView):
25155        (WebInspector.ResourceView.resourceViewTypeMatchesResource):
25156        (WebInspector.ResourceSourceFrame):
25157        (WebInspector.ResourceSourceFrame.prototype.get resource):
25158        (WebInspector.ResourceSourceFrame.prototype.contentEditable):
25159        (WebInspector.ResourceSourceFrame.prototype._requestContent):
25160        (WebInspector.CSSSourceFrame):
25161        (WebInspector.CSSSourceFrame.prototype.contentEditable):
25162        (WebInspector.CSSSourceFrame.prototype._editContent):
25163        (WebInspector.CSSSourceFrame.prototype._editContent.handleInfos):
25164        (WebInspector.CSSSourceFrame.prototype._saveStyleSheet):
25165        * inspector/front-end/SourceFrame.js:
25166        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
25167        (WebInspector.SourceFrame.prototype._requestContent):
25168        (WebInspector.SourceFrame.prototype._handleSave):
25169        (WebInspector.SourceFrame.prototype._editContent):
25170
251712011-04-11  Alexis Menard  <alexis.menard@openbossa.org>
25172
25173        Reviewed by Andreas Kling.
25174
25175        [Qt] Regression : r83051 Oxygen's lineedits are not rendered properly
25176        https://bugs.webkit.org/show_bug.cgi?id=58076
25177
25178        State_Sunken is more generic than pressed. It is used by items such as frames or
25179        line edits because they are "sunken" frames (e.g. QLineEdit). It can be required
25180        by some style like Oxygen. Therefore only in the mobile theme we check if the object
25181        is pressed.
25182
25183        * platform/qt/RenderThemeQt.cpp:
25184        (WebCore::RenderThemeQt::paintTextField):
25185
251862011-04-11  Pavel Feldman  <pfeldman@chromium.org>
25187
25188        Reviewed by Yury Semikhatsky.
25189
25190        Web Inspector: add support for optional output parameters.
25191        https://bugs.webkit.org/show_bug.cgi?id=58207
25192
25193        Output parameters such as "redirectResponse" are optional, but
25194        do not allow specifying them as such.
25195
25196        * inspector/CodeGeneratorInspector.pm:
25197        * inspector/Inspector.json:
25198        * inspector/InspectorResourceAgent.cpp:
25199        (WebCore::buildObjectForResourceResponse):
25200        (WebCore::buildObjectForCachedResource):
25201        * inspector/front-end/NetworkManager.js:
25202        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
25203        * inspector/generate-inspector-idl:
25204
252052011-04-11  Pavel Feldman  <pfeldman@chromium.org>
25206
25207        Reviewed by Yury Semikhatsky.
25208
25209        Web Inspector: refactor / document call frames in debugger domain.
25210        https://bugs.webkit.org/show_bug.cgi?id=58187
25211
25212        Note that we are not special casing with(element) and with(document) anymore
25213        and do not tell user that it is "Event target" and "Event document". Strictly speaking,
25214        we should not have done it for with(element) not necessarily being related to an event.
25215
25216        * English.lproj/localizedStrings.js:
25217        * inspector/InjectedScriptSource.js:
25218        * inspector/Inspector.json:
25219        * inspector/front-end/ScopeChainSidebarPane.js:
25220        (WebInspector.ScopeChainSidebarPane.prototype.update):
25221
252222011-04-10  ChangSeok Oh  <shivamidow@gmail.com>
25223
25224        Reviewed by Eric Seidel.
25225
25226        Make correspondence of file name related with event to other port.
25227        https://bugs.webkit.org/show_bug.cgi?id=57416
25228
25229        Some file names are changed to make correspondence naming rule.
25230        Keyboard, mouse and wheel event file names for GTK port have been different from other ports.
25231        This has made user hard to find a specific file related with event for GTK port.
25232
25233        No test required. This patch just changes some file names.
25234
25235        * GNUmakefile.list.am:
25236        * platform/gtk/KeyEventGtk.cpp: Removed.
25237        * platform/gtk/MouseEventGtk.cpp: Removed.
25238        * platform/gtk/PlatformKeyboardEventGtk.cpp: Added.
25239        * platform/gtk/PlatformMouseEventGtk.cpp: Added.
25240        * platform/gtk/PlatformWheelEventGtk.cpp: Added.
25241        * platform/gtk/WheelEventGtk.cpp: Removed.
25242
252432011-04-10  Simon Fraser  <simon.fraser@apple.com>
25244
25245        Revert the FloatRect.cpp part of r83422, since
25246        clampToInteger() is broken for some inputs. I filed
25247        https://bugs.webkit.org/show_bug.cgi?id=58216
25248
25249        * platform/graphics/FloatRect.cpp:
25250        (WebCore::safeFloatToInt):
25251        (WebCore::enclosingIntRect):
25252
252532011-04-10  Simon Fraser  <simon.fraser@apple.com>
25254
25255        Reviewed by Maciej Stachowiak.
25256
25257        Car model dropdowns at audiusa.com lay out incorrectly with compositing enabled
25258        https://bugs.webkit.org/show_bug.cgi?id=56660
25259
25260        When overflow on an element changes, we need to inform compositing
25261        layers which create and position an "ancestor clipping" layer based
25262        on that overflow. Do this by triggering a rebuild of compositing layers
25263        when overflow changes on a layer whose stacking context has compositing
25264        descendants. (We can't just check whether the layer itself has compositing
25265        descendants, because overflow follows the render tree, but compositing
25266        follows the z-order tree.)
25267
25268        Test: compositing/geometry/ancestor-overflow-change.html
25269
25270        * rendering/RenderLayer.cpp:
25271        (WebCore::RenderLayer::styleChanged):
25272        * rendering/RenderLayer.h:
25273        * rendering/RenderLayerBacking.cpp:
25274        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
25275
252762011-04-10  Simon Fraser  <simon.fraser@apple.com>
25277
25278        Reviewed by Ariya Hidayat.
25279
25280        Allow ShadowBlur to re-use the last buffer if it already contains the correct shadow
25281        https://bugs.webkit.org/show_bug.cgi?id=58161
25282
25283        ShadowBlur already has a singleton scratch buffer that is re-used
25284        between shadows. Enhance use of this scratch buffer to avoid drawing
25285        and blurring the shadow if the results will match what is already
25286        in the buffer.
25287
25288        Cleaned up ShadowBlur code to remove beginShadowLayer() and endShadowLayer(),
25289        which ended up with little reusable code after adding the re-use logic.
25290
25291        * platform/graphics/FloatRect.cpp:
25292        (WebCore::enclosingIntRect): Replace safeFloatToInt() with the existing
25293        clampToInteger() from MathExtras.h
25294
25295        * platform/graphics/FloatSize.h:
25296        (WebCore::expandedIntSize): New method to safely ceil() the size.
25297
25298        * platform/graphics/RoundedIntRect.h:
25299        Add operator== for Radii and RoundedIntRect.
25300
25301        * platform/graphics/ShadowBlur.cpp:
25302        (WebCore::ScratchBuffer::ScratchBuffer):
25303        (WebCore::ScratchBuffer::setLastShadowValues):
25304        (WebCore::ScratchBuffer::setLastInsetShadowValues):
25305        (WebCore::ScratchBuffer::matchesLastShadow):
25306        (WebCore::ScratchBuffer::matchesLastInsetShadow):
25307        (WebCore::ScratchBuffer::clearScratchBuffer):
25308        Have the scratch buffer remember what shadow parameters were used
25309        to render the buffer contents.
25310
25311        (WebCore::ShadowBlur::drawShadowBuffer):
25312        Renamed from endShadowLayer(), and only contains the drawing
25313        logic now.
25314
25315        (WebCore::ShadowBlur::drawRectShadow):
25316        Promote some code from beginShadowLayer().
25317
25318        (WebCore::ShadowBlur::drawInsetShadow):
25319        Promote some code from beginShadowLayer().
25320
25321        (WebCore::ShadowBlur::drawRectShadowWithoutTiling):
25322        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
25323        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
25324        (WebCore::ShadowBlur::drawRectShadowWithTiling):
25325        These methods now check to see if the buffer already matches
25326        their required parameters, and avoid work if it does.
25327
25328        (WebCore::ShadowBlur::blurShadowBuffer):
25329        Factored some code into this new method.
25330
25331        (WebCore::ShadowBlur::blurAndColorShadowBuffer):
25332        Minor refactoring.
25333
25334        * platform/graphics/ShadowBlur.h:
25335
253362011-04-10  Geoffrey Garen  <ggaren@apple.com>
25337
25338        Build fix: Updated for file move.
25339
25340        * bindings/js/GCController.cpp:
25341        * bindings/js/ScriptGCEvent.cpp:
25342
253432011-04-10  Geoffrey Garen  <ggaren@apple.com>
25344
25345        Rubber-stamped by Beth Dakin.
25346
25347        Moved Heap.h and Heap.cpp to the heap folder, because anything less
25348        would be uncivilized.
25349
25350        * ForwardingHeaders/heap/Heap.h: Copied from WebCore/ForwardingHeaders/runtime/Heap.h.
25351        * ForwardingHeaders/runtime/Heap.h: Removed.
25352
253532011-04-10  Luke Macpherson   <macpherson@chromium.org>
25354
25355        Reviewed by Simon Fraser.
25356
25357        Rename CSSStyleApplyProperty::inherit,initial,value applyInheritValue,applyInitialValue,applyValue
25358        https://bugs.webkit.org/show_bug.cgi?id=58212
25359
25360        No new tests - function renaming only / no functionality changes.
25361
25362        * css/CSSStyleApplyProperty.cpp:
25363        Rename all instances of inherit, initial and value.
25364        * css/CSSStyleApplyProperty.h:
25365        Rename all instances of inherit, initial and value.
25366        * css/CSSStyleSelector.cpp:
25367        Rename all instances of inherit, initial and value.
25368
253692011-04-10  Mike Lawther  <mikelawther@chromium.org>
25370
25371        Reviewed by Ojan Vafai.
25372
25373        flex/bison tokens and grammar for CSS calc
25374        https://bugs.webkit.org/show_bug.cgi?id=54412
25375
25376        Tests: css3/calc/calc-errors.html
25377               css3/calc/lexer-regression-57581-2.html
25378               css3/calc/lexer-regression-57581-3.html
25379               css3/calc/lexer-regression-57581.html
25380               css3/calc/minmax-errors.html
25381               css3/calc/nested-rounded-corners.html
25382               css3/calc/simple-calcs.html
25383               css3/calc/simple-minmax.html
25384
25385        * css/CSSGrammar.y:
25386        * css/CSSParserValues.cpp:
25387        (WebCore::CSSParserValueList::insertValueAt):
25388        (WebCore::CSSParserValueList::extend):
25389        * css/CSSParserValues.h:
25390        * css/tokenizer.flex:
25391
253922011-04-10  Alice Boxhall  <aboxhall@chromium.org>
25393
25394        Reviewed by Ryosuke Niwa.
25395
25396        Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult only.
25397        https://bugs.webkit.org/show_bug.cgi?id=57923
25398
25399        Change EventHandler::updateSelectionForMouseDrag to take a HitTestResult
25400        rather than a Node* and an IntPoint&, as the selection may actually not
25401        extend into the Node found by the HitTest.
25402
25403        No new tests. Refactoring only.
25404
25405        * page/EventHandler.cpp:
25406        (WebCore::EventHandler::handleMouseDraggedEvent):
25407        (WebCore::EventHandler::updateSelectionForMouseDrag):
25408        * page/EventHandler.h:
25409
254102011-04-10  Kent Tamura  <tkent@chromium.org>
25411
25412        Unreviewed, rolling out r83353.
25413        http://trac.webkit.org/changeset/83353
25414        https://bugs.webkit.org/show_bug.cgi?id=58106
25415
25416        The new test doesn't pass on all Chromium platforms.
25417
25418        * dom/DataTransferItem.h:
25419        * dom/DataTransferItem.idl:
25420        * platform/chromium/ClipboardMimeTypes.cpp:
25421        * platform/chromium/ClipboardMimeTypes.h:
25422        * platform/chromium/DataTransferItemChromium.cpp:
25423        (WebCore::DataTransferItemChromium::getAsString):
25424        * platform/chromium/DataTransferItemChromium.h:
25425        * platform/chromium/PlatformBridge.h:
25426
254272011-04-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
25428
25429        Reviewed by Eric Carlson.
25430
25431        [EFL] Add seek forward / backward buttons to MediaControl UI.
25432        https://bugs.webkit.org/show_bug.cgi?id=56810
25433
25434        Add seek forward / backward buttons to media control. And, change formType name
25435        for media control.
25436
25437        * platform/efl/RenderThemeEfl.cpp:
25438        (WebCore::RenderThemeEfl::edjeGroupFromFormType):
25439        (WebCore::RenderThemeEfl::emitMediaButtonSignal):
25440        (WebCore::RenderThemeEfl::paintMediaMuteButton):
25441        (WebCore::RenderThemeEfl::paintMediaPlayButton):
25442        (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
25443        (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
25444        * platform/efl/RenderThemeEfl.h:
25445
254462011-04-10  Chris Guillory  <chris.guillory@google.com>
25447
25448        Reviewed by Eric Seidel.
25449
25450        Remove unused function declaration in PlatformContextSkia.h.
25451        https://bugs.webkit.org/show_bug.cgi?id=55983
25452
25453        * platform/graphics/skia/PlatformContextSkia.h:
25454
254552011-04-10  Patrick Gansterer  <paroga@webkit.org>
25456
25457        Unreviewed build fix for !ENABLE(XSLT) after r82562.
25458
25459        * dom/XMLDocumentParserLibxml2.cpp:
25460        (WebCore::XMLDocumentParser::doEnd):
25461
254622011-04-10  Patrick Gansterer  <paroga@webkit.org>
25463
25464        Unreviewed build fix for !ENABLE(XSLT) after r82562.
25465
25466        * xml/XMLTreeViewer.cpp: Readded #if ENABLE(XSLT).
25467
254682011-04-10  Dimitri Glazkov  <dglazkov@chromium.org>
25469
25470        Reviewed by Anders Carlsson.
25471
25472        REGRESSION(r83256): Text-decoration bleeds into shadow DOM
25473        https://bugs.webkit.org/show_bug.cgi?id=58205
25474
25475        Now that the shadow root is a never-styled element, we need to walk to
25476        parent to find out if we're inside of a shadow DOM subtree.
25477
25478        Test: media/controls-styling.html
25479
25480        * css/CSSStyleSelector.cpp:
25481        (WebCore::isAtShadowBoundary): Added helper function.
25482        (WebCore::CSSStyleSelector::adjustRenderStyle): Changed to use the helper.
25483
254842011-04-07  Dimitri Glazkov  <dglazkov@chromium.org>
25485
25486        Reviewed by Eric Carlson.
25487
25488        [Meta] Convert HTMLMediaElement to use the new shadow DOM
25489        https://bugs.webkit.org/show_bug.cgi?id=53020
25490
25491        This conversion is non-trivial, for several reasons:
25492
25493        1) Since HTMLMediaElement now hosts the shadow DOM for controls, hiding
25494        and showing controls does not result in destroying and re-creating the
25495        shadow DOM tree. Instead, the tree is created as needed and shown/hidden
25496        using inline styles.
25497
25498        2) Instead of detaching/attaching on each style change, the control parts
25499        are now using a set of higher fidelity callbacks that notify MediaControls
25500        about changes to which it should react. Each reaction results in hiding,
25501        showing, or changing the state of the control parts using inline styles
25502        and DOM APIs.
25503
25504        3) Hiding and showing controls is accomplished using inline styles, rather
25505        than wiring rendererIsNeeded, because renderers are now re-created less
25506        frequently.
25507
25508        4) Instead of constantly querying RenderTheme about visibility of a particular
25509        control part, we let the theme determine which parts are supported and
25510        which parts are visible in certain conditions.
25511
25512        5) Custom hit-testing, event forwarding, and style updates are completely
25513        removed, since they are now unnecessary.
25514
25515        6) Fading controls in/out is now done as CSS animation, since shadow DOM
25516        supports it.
25517
25518        Test: manual-tests/media-controls.html
25519
255202011-04-09  Dan Bernstein  <mitz@apple.com>
25521
25522        Reviewed by Beth Dakin.
25523
25524        <rdar://problem/9215280> Detached canvas draws with incorrect font
25525
25526        Test: fast/canvas/font-update.html
25527
25528        The existing mechanism for updating the font in a canvas 2D context was lacking in at least
25529        two ways: it neglected to update fonts in all but the topmost state in the stack, and since it
25530        was based on HTMLCanvasElemen's attach() and recalcStyle(), it did not work when the element
25531        was not attached.
25532
25533        This change takes the responsibility for font updates away from the canvas element and gives it
25534        to the canvas context and its graphics state.
25535
25536        * css/CSSFontSelector.cpp:
25537        (WebCore::CSSFontSelector::registerForInvalidationCallbacks): Added. Adds to the set of registered
25538        font selector clients.
25539        (WebCore::CSSFontSelector::unregisterForInvalidationCallbacks): Added. Removes from the set of
25540        registered font selector clients.
25541        (WebCore::CSSFontSelector::dispatchInvalidationCallbacks): Calls fontsNeedUpdate() on all registered
25542        clients and forces a style recalc on the document.
25543        (WebCore::CSSFontSelector::fontLoaded): Changed to call dispatchInvalidationCallbacks().
25544        (WebCore::CSSFontSelector::fontCacheInvalidated): Ditto.
25545        * css/CSSFontSelector.h:
25546        * html/HTMLCanvasElement.cpp: Removed overrides of attach() and recalcStyle().
25547        * html/HTMLCanvasElement.h:
25548        * html/canvas/CanvasRenderingContext2D.cpp:
25549        (WebCore::CanvasRenderingContext2D::State::~State): Added. Unregisters with the font selector.
25550        (WebCore::CanvasRenderingContext2D::State::fontsNeedUpdate): Added. Called by the font selector
25551        when its fonts need to be updated. Updates the font.
25552        (WebCore::CanvasRenderingContext2D::setFont): Registers the state with the font selector.
25553        * html/canvas/CanvasRenderingContext2D.h:
25554        * platform/graphics/FontSelector.h:
25555        (WebCore::FontSelectorClient::~FontSelectorClient):
25556
255572011-04-09  Geoffrey Garen  <ggaren@apple.com>
25558
25559        Not reviewed.
25560
25561        Try recommitting some things svn left out of my last commit.
25562
25563        * bridge/qt/qt_runtime.h:
25564
255652011-04-09  Geoffrey Garen  <ggaren@apple.com>
25566
25567        Not reviewed.
25568
25569        Try recommitting some things svn left out of my last commit.
25570
25571        * ForwardingHeaders/collector: Removed.
25572        * ForwardingHeaders/collector/handles: Removed.
25573        * ForwardingHeaders/collector/handles/Global.h: Removed.
25574
255752011-04-08  Dimitri Glazkov  <dglazkov@chromium.org>
25576
25577        Reviewed by Ojan Vafai.
25578
25579        Implement proper handling of mouseover/mouseout events in regard to shadow DOM boundaries.
25580        https://bugs.webkit.org/show_bug.cgi?id=55515
25581
25582        This implements XBL 2.0's specified handling of mouseover/mouseout events:
25583        http://dev.w3.org/2006/xbl2/Overview.html#the-mouseover-and-mouseout-events
25584
25585        To do this, we:
25586        1) calculate lowest common ancestor between relatedTarget and target, and
25587           the nearest boundaries around them: the outer (common) boundary, and the
25588           inner (specific to relatedTarget) boundary. Then, we
25589        2) ensure that events only propagate up to the common boundary (or
25590           all the way if boundary is not found), while
25591        3) updating relatedTarget be the inner boundary.
25592
25593        We also detect the most common case when no common boundary could exist
25594        and provide a fast path to short-circuit most of the boundary detection
25595        logic.
25596
25597        Test: fast/events/shadow-boundary-crossing.html
25598
25599        * dom/EventDispatcher.cpp:
25600        (WebCore::EventDispatcher::adjustToShadowBoundaries): Added a helper to determine lowest
25601            common ancestor, the boundaries around it, and compute adjustments
25602            to relatedTarget and event target ancestor chain.
25603        (WebCore::ancestorsCrossShadowBoundaries): Added.
25604        (WebCore::EventDispatcher::adjustRelatedTarget): Changed to calculate
25605            inner/outer shadow DOM boundaries and adjust ancestors chain accordingly.
25606        (WebCore::EventDispatcher::EventDispatcher): Added flag initializer
25607        (WebCore::EventDispatcher::ensureEventAncestors): Renamed from getEventAncestors,
25608            converted to use initialization flag, rather than testing for empty.
25609        * dom/EventDispatcher.h: Adjusted decls.
25610        * dom/MouseEvent.cpp:
25611        (WebCore::MouseEventDispatchMediator::dispatchEvent): Changed to send event
25612            to adjustRelatedTarget.
25613
256142011-04-08  Geoffrey Garen  <ggaren@apple.com>
25615
25616        Reviewed by Oliver Hunt.
25617
25618        A few heap-related renames and file moves.
25619
25620        WeakGCPtr<T> => Weak<T>
25621        Global<T> => Strong<T>
25622        collector/ => heap/
25623        collector/* => heap/*
25624        runtime/WeakGCPtr.h => heap/Weak.h
25625
25626        (Eventually, even more files should move into the heap directory. Like
25627        Heap.h and Heap.cpp, for example.)
25628
25629        * CMakeLists.txt:
25630        * ForwardingHeaders/collector: Removed.
25631        * ForwardingHeaders/heap: Copied from ForwardingHeaders/collector.
25632        * ForwardingHeaders/heap/Strong.h: Copied from ForwardingHeaders/collector/handles/Global.h.
25633        * ForwardingHeaders/heap/Weak.h: Copied from ForwardingHeaders/runtime/WeakGCPtr.h.
25634        * ForwardingHeaders/runtime/WeakGCPtr.h: Removed.
25635        * WebCore.vcproj/WebCore.vcproj:
25636        * WebCore.vcproj/copyForwardingHeaders.cmd:
25637        * bindings/js/JSCallbackData.h:
25638        * bindings/js/JSCustomVoidCallback.h:
25639        * bindings/js/JSDOMWindowBase.h:
25640        * bindings/js/JSDOMWindowShell.cpp:
25641        (WebCore::JSDOMWindowShell::setWindow):
25642        * bindings/js/JSDataGridDataSource.h:
25643        * bindings/js/JSEventListener.h:
25644        * bindings/js/ScheduledAction.cpp:
25645        (WebCore::ScheduledAction::ScheduledAction):
25646        * bindings/js/ScheduledAction.h:
25647        * bindings/js/ScriptCachedFrameData.cpp:
25648        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
25649        * bindings/js/ScriptCachedFrameData.h:
25650        * bindings/js/ScriptController.cpp:
25651        (WebCore::ScriptController::createWindowShell):
25652        * bindings/js/ScriptController.h:
25653        * bindings/js/ScriptObject.h:
25654        * bindings/js/ScriptState.h:
25655        * bindings/js/ScriptValue.cpp:
25656        * bindings/js/ScriptValue.h:
25657        * bindings/js/ScriptWrappable.h:
25658        * bindings/js/WorkerScriptController.cpp:
25659        (WebCore::WorkerScriptController::initScript):
25660        * bindings/js/WorkerScriptController.h:
25661        * bridge/jsc/BridgeJSC.h:
25662        * bridge/qt/qt_runtime.h:
25663        * bridge/runtime_root.h:
25664        * xml/XMLHttpRequest.cpp:
25665
256662011-04-09  Keith Kyzivat  <keith.kyzivat@nokia.com>
25667
25668        Reviewed by Laszlo Gombos.
25669
25670        [Qt] Don't link against fontconfig or X11 if embedded
25671        https://bugs.webkit.org/show_bug.cgi?id=58104
25672
25673        No functional change so no new tests.
25674
25675        * WebCore.pri: qpa=>embedded should be done very early so all cases of embedded are uniform.
25676
256772011-04-09  Csaba Osztrogonác  <ossy@webkit.org>
25678
25679        [Qt] Unreviewed trivial fix after r83344.
25680
25681        * WebCore.pro: Update HEADERS list.
25682
256832011-04-09  Jon Lee  <jonlee@apple.com>
25684
25685        Reviewed by Beth Dakin.
25686
25687        Overlay scrollbar flashes in scrollable <textarea> with each keystroke (58180)
25688        https://bugs.webkit.org/show_bug.cgi?id=58180
25689        <rdar://problem/9047984>
25690
25691        * platform/mac/ScrollAnimatorMac.mm:
25692        (WebCore::ScrollAnimatorMac::immediateScrollToPoint): Check that there is a change before submitting
25693        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaX):
25694        (WebCore::ScrollAnimatorMac::immediateScrollByDeltaY):
25695
256962011-04-09  Sreeram Ramachandran  <sreeram@google.com>
25697
25698        Reviewed by Ryosuke Niwa.
25699
25700        Gather data on modal dialogs shown during unload events
25701        https://bugs.webkit.org/show_bug.cgi?id=58115
25702
25703        Add a new method to the ChromeClient API to allow clients to receive
25704        notifications of modal dialogs dispatched during page dismissal events.
25705        The new method has a default empty definition; only chromium overrides
25706        it to keep track of histograms.
25707
25708        No tests because this is a no-op for all ports except chromium (and it's
25709        not clear how to test chromium histograms from webkit).
25710
25711        * page/Chrome.cpp:
25712        (WebCore::isDuringPageDismissal):
25713        (WebCore::willRunModalDialog):
25714        (WebCore::Chrome::runJavaScriptAlert):
25715        (WebCore::Chrome::runJavaScriptConfirm):
25716        (WebCore::Chrome::runJavaScriptPrompt):
25717        (WebCore::Chrome::willRunModalHTMLDialog):
25718        * page/Chrome.h:
25719        * page/ChromeClient.h:
25720        (WebCore::ChromeClient::willRunModalDialogDuringPageDismissal):
25721        * page/DOMWindow.cpp:
25722        (WebCore::DOMWindow::showModalDialog):
25723
257242011-04-08  David Humphrey  <david.humphrey@senecac.on.ca>
25725
25726        Reviewed by Eric Carlson.
25727
25728        Fix call order of media element muted and play(), such that setting muted before play() works.
25729        https://bugs.webkit.org/show_bug.cgi?id=57673
25730        https://code.google.com/p/chromium/issues/detail?id=70777
25731
25732        Manual test added: manual-tests/media-muted.html
25733
25734        * html/HTMLMediaElement.cpp:
25735        (WebCore::HTMLMediaElement::updatePlayState):
25736        * manual-tests/media-muted.html: Added.
25737
257382011-04-08  Nat Duca  <nduca@chromium.org>
25739
25740        Reviewed by David Levin.
25741
25742        [chromium] Fix windows assertion on ~CCThread
25743        https://bugs.webkit.org/show_bug.cgi?id=58153
25744
25745        Because ~CCThread uses waitForThreadCompletion,
25746        calling detachThread is not necessary.
25747
25748        * platform/graphics/chromium/cc/CCThread.cpp:
25749        (WebCore::CCThread::runLoop):
25750
257512011-04-08  Jian Li  <jianli@chromium.org>
25752
25753        Unreviewed, rolling out r83348.
25754        http://trac.webkit.org/changeset/83348
25755        https://bugs.webkit.org/show_bug.cgi?id=49508
25756
25757        Breaks layout tests in QT, Win7 and Chromium.
25758
25759        * rendering/RenderText.cpp:
25760        (WebCore::RenderText::localCaretRect):
25761
257622011-04-08  MORITA Hajime  <morrita@google.com>
25763
25764        Reviewed by Simon Fraser.
25765
25766        Negative spread should not make a sharp corner rounded
25767        https://bugs.webkit.org/show_bug.cgi?id=58162
25768
25769        Handled inset shadow path for rounded and non-rounded rect
25770        differently as normal shadow path is doing.
25771
25772        * rendering/RenderBoxModelObject.cpp:
25773        (WebCore::RenderBoxModelObject::paintBoxShadow):
25774
257752011-04-07  Simon Fraser  <simon.fraser@apple.com>
25776
25777        Reviewed by Martin Robinson.
25778
25779        REGRESSION (r77034-r77220): CSS box-shadow no longer renders on PowerPC
25780        https://bugs.webkit.org/show_bug.cgi?id=55180
25781
25782        The endianness #ifdef in ShadowBlur was unnecessary and harmful. The
25783        data we get back from ImageBuffer::getImageData() do not vary in
25784        endianness.
25785
25786        * platform/graphics/ShadowBlur.cpp:
25787        (WebCore::ShadowBlur::blurLayerImage):
25788
257892011-04-08  Erik Arvidsson  <arv@chromium.org>
25790
25791        Reviewed by Dimitri Glazkov.
25792
25793        IFrame is getting the focus even though it is hidden
25794        https://bugs.webkit.org/show_bug.cgi?id=55861
25795
25796        Test: fast/dom/hidden-iframe-no-focus.html
25797
25798        * html/HTMLFrameOwnerElement.cpp:
25799        (WebCore::HTMLFrameOwnerElement::isKeyboardFocusable):
25800        * html/HTMLFrameOwnerElement.h:
25801
258022011-04-08  Jeff Timanus  <twiz@chromium.org>
25803
25804        Reviewed by Kenneth Russell.
25805
25806        Fall back to software rendering for Canvas2D when requesting a DrawingBuffer larger than supported by the GL environment.
25807        https://bugs.webkit.org/show_bug.cgi?id=57768
25808
25809        * html/canvas/CanvasRenderingContext2D.cpp:
25810        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
25811        (WebCore::CanvasRenderingContext2D::reset):
25812        * platform/graphics/gpu/DrawingBuffer.cpp:
25813        (WebCore::DrawingBuffer::reset):
25814        * platform/graphics/gpu/DrawingBuffer.h:
25815
258162011-04-08  Daniel Cheng  <dcheng@chromium.org>
25817
25818        Reviewed by Dmitry Titov.
25819
25820        [chromium] Implement image/png support in DataTransferItems
25821        https://bugs.webkit.org/show_bug.cgi?id=58106
25822
25823        This patch implements DataTransferItem::getAsFile() using Blobs. In
25824        addition, plumbing for image/png has been added so image paste will be
25825        supported as long as the renderer makes that data available.
25826
25827        Tests: editing/pasteboard/data-transfer-items-image-png.html
25828
25829        * dom/DataTransferItem.h:
25830        * dom/DataTransferItem.idl:
25831        * platform/chromium/ClipboardMimeTypes.cpp:
25832        * platform/chromium/ClipboardMimeTypes.h:
25833        * platform/chromium/DataTransferItemChromium.cpp:
25834        (WebCore::DataTransferItemChromium::getAsString):
25835        (WebCore::DataTransferItemChromium::getAsFile):
25836        * platform/chromium/DataTransferItemChromium.h:
25837        * platform/chromium/PlatformBridge.h:
25838
258392011-04-08 MORITA Hajime  <morrita@google.com>
25840
25841        Unreviewed windows build fix.
25842
25843        * editing/SpellingCorrectionController.h:
25844        (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
25845
258462011-04-08  Enrica Casucci  <enrica@apple.com>
25847
25848        Reviewed by Maciej Stachowiak.
25849
25850        Improve lifetime management of nodes in ReplaceNodeWithSpanCommand.
25851        https://bugs.webkit.org/show_bug.cgi?id=57595
25852        <rdar://problem/9222122>
25853
25854        Test: editing/style/bold-with-dom-changes.html
25855
25856        * editing/ReplaceNodeWithSpanCommand.cpp:
25857        (WebCore::swapInNodePreservingAttributesAndChildren):
25858
258592011-04-07  Roland Steiner  <rolandsteiner@chromium.org>
25860
25861        Reviewed by Dimitri Glazkov.
25862
25863        Bug 58060 - Prepare access to TreeScope from Node, using NodeRareData
25864        https://bugs.webkit.org/show_bug.cgi?id=58060
25865
25866        Add a TreeScope pointer to NodeRareData to allow direct access to the containing tree scope.
25867        However, in case the containing scope is the document, this is not set, and the
25868        document pointer within Node is used instead.
25869
25870        In an object derived from TreeScope (currently Document), the tree scope pointer
25871        points to itself. Such objects also contain a parent tree scope pointer that
25872        points to the containing scope. For Document, this is 0.
25873
25874        Add new functions setTreeScope[Recursively] that replace setDocument[Recursively]
25875        in public usage. setDocument[Recursively] are now only used internally and are
25876        thererfore protected.
25877
25878        No new tests. (no new functionality)
25879
25880        * dom/ContainerNode.cpp: change DOM manipulation methods to update scope of inserted nodes
25881        (WebCore::ContainerNode::insertBefore):
25882        (WebCore::ContainerNode::replaceChild):
25883        (WebCore::ContainerNode::appendChild):
25884        * dom/Document.cpp:
25885        (WebCore::Document::~Document):
25886        (WebCore::Document::setDocType): Ditto
25887        (WebCore::Document::adoptNode): Ditto
25888        * dom/Document.h:
25889        * dom/Node.cpp:
25890        (WebCore::Node::treeScope): use NodeRareData to check if a non-Document scope is set
25891        (WebCore::Node::setTreeScope): update NodeRareData depending on whether scope is a document
25892        (WebCore::Node::setTreeScopeRecursively):
25893        (WebCore::Node::setDocumentRecursively):
25894        * dom/Node.h:
25895        * dom/NodeRareData.h: add scope pointer
25896        (WebCore::NodeRareData::NodeRareData):
25897        (WebCore::NodeRareData::treeScope):
25898        (WebCore::NodeRareData::setTreeScope):
25899        * dom/TreeScope.cpp: add parentTreeScope pointer
25900        (WebCore::TreeScope::TreeScope):
25901        (WebCore::TreeScope::setParentTreeScope):
25902        * dom/TreeScope.h:
25903        (WebCore::TreeScope::parentTreeScope):
25904
259052011-04-08  Xiaomei Ji  <xji@chromium.org>
25906
25907        Reviewed by David Hyatt.
25908
25909        Local caret rectangle calculation should be relative to its containing block.
25910        https://bugs.webkit.org/show_bug.cgi?id=49508.
25911
25912        InlineBox and caret rectangle are positioned relative to its containing block.
25913        So its left and right edge value should be relative to its containing block as well.
25914
25915        Test: fast/forms/cursor-at-editable-content-boundary.html
25916
25917        * rendering/RenderText.cpp:
25918        (WebCore::RenderText::localCaretRect):
25919
259202011-04-08  MORITA Hajime  <morrita@google.com>
25921
25922        Unreviewed build fix.
25923
25924        * editing/Editor.cpp:
25925        (WebCore::Editor::markMisspellingsAfterTypingToWord):
25926
259272011-04-08  David Hyatt  <hyatt@apple.com>
25928
25929        Reviewed by Simon Fraser.
25930
25931        https://bugs.webkit.org/show_bug.cgi?id=57971
25932
25933        Rework visited/unvisited links for before/after content. Propagate the bits earlier so that we don't lose
25934        them when we throw away the visited style. Don't throw away the visited link style for pseudo elements
25935        either, so that the styles are consistent.
25936
25937        Added fast/history/visited-generated-content-test.html
25938
25939        * css/CSSStyleSelector.cpp:
25940        (WebCore::CSSStyleSelector::styleForElement):
25941        (WebCore::CSSStyleSelector::pseudoStyleForElement):
25942
259432011-04-06  MORITA Hajime  <morrita@google.com>
25944
25945        Reviewed by Darin Adler.
25946
25947        [Refactoring] Auto correction panel should be handled by its own class.
25948        https://bugs.webkit.org/show_bug.cgi?id=55571
25949
25950        Extracted code inside SUPPORT_AUTOCORRECTION_PANEL into
25951        SpellingCorrectionController class.
25952        This change also remove some SUPPORT_AUTOCORRECTION_PANEL guard if
25953        code paths inside the never reached without autocorrection support.
25954        Removing guards reduces unintentional build breakage.
25955
25956        No new tests, no behavior chagne.
25957
25958        * CMakeLists.txt:
25959        * GNUmakefile.am:
25960        * WebCore.gypi:
25961        * WebCore.pro:
25962        * WebCore.vcproj/WebCore.vcproj:
25963        * WebCore.xcodeproj/project.pbxproj:
25964        * editing/CorrectionPanelInfo.h: Removed.
25965        * editing/EditingAllInOne.cpp:
25966        * editing/Editor.cpp:
25967        (WebCore::Editor::respondToChangedSelection):
25968        (WebCore::Editor::respondToChangedContents):
25969        (WebCore::Editor::appliedEditing):
25970        (WebCore::Editor::Editor):
25971        (WebCore::Editor::~Editor):
25972        (WebCore::Editor::insertTextWithoutSendingTextEvent):
25973        (WebCore::Editor::insertLineBreak):
25974        (WebCore::Editor::insertParagraphSeparator):
25975        (WebCore::Editor::cut):
25976        (WebCore::Editor::paste):
25977        (WebCore::Editor::pasteAsPlainText):
25978        (WebCore::Editor::isAutomaticSpellingCorrectionEnabled):
25979        (WebCore::Editor::markMisspellingsAfterTypingToWord):
25980        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
25981        (WebCore::Editor::changeBackToReplacedString):
25982        (WebCore::Editor::unappliedSpellCorrection):
25983        (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
25984        (WebCore::Editor::startCorrectionPanelTimer):
25985        (WebCore::Editor::handleCorrectionPanelResult):
25986        (WebCore::Editor::dismissCorrectionPanelAsIgnored):
25987        * editing/Editor.h:
25988        * editing/SpellingCorrectionCommand.cpp:
25989        * editing/SpellingCorrectionController.cpp: Added.
25990        (WebCore::markerTypesForAutocorrection):
25991        (WebCore::markerTypesForReplacement):
25992        (WebCore::markersHaveIdenticalDescription):
25993        (WebCore::SpellingCorrectionController::SpellingCorrectionController):
25994        (WebCore::SpellingCorrectionController::~SpellingCorrectionController):
25995        (WebCore::SpellingCorrectionController::startCorrectionPanelTimer):
25996        (WebCore::SpellingCorrectionController::stopCorrectionPanelTimer):
25997        (WebCore::SpellingCorrectionController::stopPendingCorrection):
25998        (WebCore::SpellingCorrectionController::applyPendingCorrection):
25999        (WebCore::SpellingCorrectionController::hasPendingCorrection):
26000        (WebCore::SpellingCorrectionController::isSpellingMarkerAllowed):
26001        (WebCore::SpellingCorrectionController::show):
26002        (WebCore::SpellingCorrectionController::handleCancelOperation):
26003        (WebCore::SpellingCorrectionController::dismiss):
26004        (WebCore::SpellingCorrectionController::dismissSoon):
26005        (WebCore::SpellingCorrectionController::applyCorrectionPanelInfo):
26006        (WebCore::SpellingCorrectionController::applyAutocorrectionBeforeTypingIfAppropriate):
26007        (WebCore::SpellingCorrectionController::respondToUnappliedSpellCorrection):
26008        (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
26009        (WebCore::SpellingCorrectionController::handleCorrectionPanelResult):
26010        (WebCore::SpellingCorrectionController::isAutomaticSpellingCorrectionEnabled):
26011        (WebCore::SpellingCorrectionController::windowRectForRange):
26012        (WebCore::SpellingCorrectionController::respondToChangedSelection):
26013        (WebCore::SpellingCorrectionController::respondToAppliedEditing):
26014        (WebCore::SpellingCorrectionController::client):
26015        (WebCore::SpellingCorrectionController::textChecker):
26016        (WebCore::SpellingCorrectionController::recordAutocorrectionResponseReversed):
26017        (WebCore::SpellingCorrectionController::markReversed):
26018        (WebCore::SpellingCorrectionController::markCorrection):
26019        (WebCore::SpellingCorrectionController::recordSpellcheckerResponseForModifiedCorrection):
26020        * editing/SpellingCorrectionController.h: Added.
26021        (WebCore::SpellingCorrectionController::UNLESS_ENABLED):
26022        (WebCore::SpellingCorrectionController::shouldStartTimeFor):
26023        (WebCore::SpellingCorrectionController::shouldRemoveMarkersUponEditing):
26024        * editing/TypingCommand.cpp:
26025        (WebCore::TypingCommand::insertText):
26026        (WebCore::TypingCommand::markMisspellingsAfterTyping):
26027        (WebCore::TypingCommand::deleteKeyPressed):
26028        (WebCore::TypingCommand::forwardDeleteKeyPressed):
26029        * editing/htmlediting.h:
26030        (WebCore::isAmbiguousBoundaryCharacter):
26031        * page/EditorClient.h:
26032        * page/Frame.cpp:
26033        (WebCore::Frame::setPageAndTextZoomFactors):
26034
260352011-04-08  Alpha Lam  <hclam@chromium.org>
26036
26037        Unreviewed, rolling out r83335.
26038        http://trac.webkit.org/changeset/83335
26039        https://bugs.webkit.org/show_bug.cgi?id=53556
26040
26041        GTK and QT bots are broken
26042
26043        * CMakeLists.txt:
26044        * Configurations/FeatureDefines.xcconfig:
26045        * DerivedSources.make:
26046        * GNUmakefile.am:
26047        * WebCore.gypi:
26048        * WebCore.xcodeproj/project.pbxproj:
26049        * features.pri:
26050        * html/HTMLAttributeNames.in:
26051        * html/HTMLTagNames.in:
26052        * html/HTMLTrackElement.cpp: Removed.
26053        * html/HTMLTrackElement.h: Removed.
26054        * html/HTMLTrackElement.idl: Removed.
26055
260562011-04-08  Brady Eidson  <beidson@apple.com>
26057
26058        Reviewed by Adam Roben.
26059
26060        https://bugs.webkit.org/show_bug.cgi?id=58155 and part of <rdar://problem/9251767>
26061        BitmapImage::getFirstCGImageRefOfSize fails if the frameCount hasn't been initialized from the image source.
26062
26063        * platform/graphics/cg/ImageCG.cpp:
26064        (WebCore::BitmapImage::getFirstCGImageRefOfSize): Call frameCount() instead of accessing m_frames.size() to
26065          make sure the frames are properly tallied first.
26066
260672011-04-08  Benjamin Poulain  <benjamin.poulain@nokia.com>
26068
26069        Reviewed by Andreas Kling.
26070
26071        [Qt] Dragging and dropping an image in edit mode does not work
26072        https://bugs.webkit.org/show_bug.cgi?id=19385
26073
26074        When adding an image to the clipboard, we should also include the HTML code of that image so
26075        it can be used for internal drag and drop.
26076
26077        This HTML is expected by all clients of drop events so a fragment can be moved from one browser to
26078        another, or inside the same browser.
26079
26080        * platform/qt/ClipboardQt.cpp:
26081        (WebCore::ClipboardQt::declareAndWriteDragImage):
26082
260832011-04-07  Anna Cavender  <annacc@chromium.org>
26084
26085        Reviewed by Eric Carlson.
26086
26087        Setup ENABLE(TRACK) feature define + initial HTMLTrackElement
26088        https://bugs.webkit.org/show_bug.cgi?id=53556
26089
26090        No new tests. No real functionality added just yet.
26091
26092        * CMakeLists.txt:
26093        * Configurations/FeatureDefines.xcconfig:
26094        * DerivedSources.make:
26095        * GNUmakefile.am:
26096        * WebCore.gypi:
26097        * WebCore.xcodeproj/project.pbxproj:
26098        * features.pri:
26099        * html/HTMLAttributeNames.in:
26100        * html/HTMLTagNames.in:
26101        * html/HTMLTrackElement.cpp: Added.
26102        (WebCore::HTMLTrackElement::HTMLTrackElement):
26103        (WebCore::HTMLTrackElement::create):
26104        (WebCore::HTMLTrackElement::insertedIntoTree):
26105        (WebCore::HTMLTrackElement::willRemove):
26106        (WebCore::HTMLTrackElement::src):
26107        (WebCore::HTMLTrackElement::setSrc):
26108        (WebCore::HTMLTrackElement::kind):
26109        (WebCore::HTMLTrackElement::setKind):
26110        (WebCore::HTMLTrackElement::srclang):
26111        (WebCore::HTMLTrackElement::setSrclang):
26112        (WebCore::HTMLTrackElement::label):
26113        (WebCore::HTMLTrackElement::setLabel):
26114        (WebCore::HTMLTrackElement::isDefault):
26115        (WebCore::HTMLTrackElement::setIsDefault):
26116        (WebCore::HTMLTrackElement::isURLAttribute):
26117        * html/HTMLTrackElement.h: Added.
26118        * html/HTMLTrackElement.idl: Added.
26119
261202011-04-07  Jer Noble  <jer.noble@apple.com>
26121
26122        Reviewed by Eric Carlson.
26123
26124        Logic error in HTMLMediaElement::exitFullscreen()
26125        https://bugs.webkit.org/show_bug.cgi?id=58085
26126
26127        The new full screen API case could fall through to the legacy API case
26128        unintentionally if a script calls exitFullscreen on an element which is
26129        not the current full screen element.
26130
26131        * html/HTMLMediaElement.cpp:
26132        (WebCore::HTMLMediaElement::enterFullscreen):
26133        (WebCore::HTMLMediaElement::exitFullscreen):
26134
261352011-04-08  Mike Reed  <reed@google.com>
26136
26137        Reviewed by Eric Seidel.
26138
26139        Replace SKIA_TEXT with isNativeFontRenderingAllowed() for print-preview to work
26140        https://bugs.webkit.org/show_bug.cgi?id=57782
26141
26142        No new tests. This change only affects print-preview and build option SKIA_GPU
26143
26144        * platform/graphics/skia/SkiaFontWin.cpp:
26145        (WebCore::paintSkiaText):
26146
261472011-04-08  Ryosuke Niwa  <rniwa@webkit.org>
26148
26149        Reviewed by Tony Chang, Darin Adler, and Enrica Casucci.
26150
26151        REGRESSION(r81887): Crash in SplitElement
26152        https://bugs.webkit.org/show_bug.cgi?id=57743
26153
26154        The crash was caused by ReplaceSelectionCommand::doApply's calling splitElement with computeNodeAfterPosition
26155        even when the position was after the last node in it container. Since all we are doing here is to splitting tree
26156        up until the highest ancestor with isInlineNodeWithStyle, replaced the while loop by calls to splitTreeToNode
26157        and highestEnclosingNodeOfType.
26158
26159        Also fixed a bug in splitTreeToNode not to check the difference in visible position when splitting the ancestor,
26160        which would have introduced unnecessary nodes when splitting tree and a bug in highestEnclosingNodeOfType that
26161        it incorrectly called deprecatedNode instead of containerNode.
26162
26163        Test: editing/inserting/insert-images-in-pre-x-crash.html
26164
26165        * editing/CompositeEditCommand.cpp:
26166        (WebCore::CompositeEditCommand::splitTreeToNode):
26167        * editing/ReplaceSelectionCommand.cpp:
26168        (WebCore::ReplaceSelectionCommand::doApply):
26169        * editing/htmlediting.cpp:
26170        (WebCore::highestEnclosingNodeOfType):
26171
261722011-04-08  Antti Koivisto  <antti@apple.com>
26173
26174        Reviewed by Tony Gentilcore.
26175
26176        Incoming source should be preload scanned when the parser is blocked
26177        https://bugs.webkit.org/show_bug.cgi?id=58117
26178
26179        Scan the appended source if parser is blocked.
26180
26181        Test: http/tests/loading/preload-append-scan.php
26182
26183        * html/parser/HTMLDocumentParser.cpp:
26184        (WebCore::HTMLDocumentParser::append):
26185
261862011-04-08  Martin Robinson  <mrobinson@igalia.com>
26187
26188        Reviewed by Xan Lopez.
26189
26190        [GTK] Fix the WebKit2 build for older versions of GTK+
26191        https://bugs.webkit.org/show_bug.cgi?id=58095
26192
26193        No new tests. This is just a build fix.
26194
26195        * platform/gtk/GtkVersioning.c:
26196        (gdk_window_create_similar_surface): Reimplement this method for older versions of GDK.
26197        * platform/gtk/GtkVersioning.h: Add the new method to the header.
26198
261992011-04-08  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
26200
26201        Reviewed by Laszlo Gombos.
26202
26203        [Qt] Plugin is not scrolled together with page content or jumping
26204        when content is rendered using cache (backing store).
26205        https://bugs.webkit.org/show_bug.cgi?id=56130
26206
26207        This is a Symbian portion of the fix. For Linux it looks like
26208        it's enough to call set geometry which should be addressed in
26209        https://bugs.webkit.org/show_bug.cgi?id=57179
26210
26211        No new tests required. This can be tested with manual tests from
26212        WebCore/manual-tests/qt and WebCore/manual-tests/plugins
26213
26214        * plugins/symbian/PluginViewSymbian.cpp:
26215        (WebCore::PluginView::updatePluginWidget):
26216
262172011-04-08  Abhishek Arya  <inferno@chromium.org>
26218
26219        Unreviewed. Remove accidental printf added in r83306.
26220
26221        * page/EventHandler.cpp:
26222        (WebCore::EventHandler::sendContextMenuEvent):
26223
262242011-04-08  Enrica Casucci  <enrica@apple.com>
26225
26226        Reviewed by Darin Adler.
26227
26228        Dragging text in a WebKit2 window results in a copy instead of a move.
26229        https://bugs.webkit.org/show_bug.cgi?id=56772
26230        <rdar://problem/9165140>
26231
26232        cleanupAfterSystemDrag cannot call dragEnd in WebKit2, since
26233        the call to startDrag is asynchronous.
26234
26235        * page/mac/DragControllerMac.mm:
26236        (WebCore::DragController::cleanupAfterSystemDrag):
26237
262382011-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
26239
26240        Reviewed by Darin Adler.
26241
26242        Move WheelEvent-dispatching logic into WheelEventDispatchMediator.
26243        https://bugs.webkit.org/show_bug.cgi?id=57642
26244
26245        Covered by existing tests, no functional change.
26246
26247        * dom/Event.cpp:
26248        * dom/Event.h:
26249        (WebCore::EventDispatchMediator::EventDispatchMediator): Added default
26250            constructor.
26251        (WebCore::EventDispatchMediator::event): Inlined.
26252        (WebCore::EventDispatchMediator::setEvent): Added.
26253        * dom/EventDispatcher.cpp: Removed dispatchWheelEvent.
26254        * dom/EventDispatcher.h: Updated decls.
26255        * dom/Node.cpp:
26256        (WebCore::Node::dispatchWheelEvent): Changed to use the mediator and
26257            return a bool, like other dispatch event functions.
26258        * dom/Node.h: Changed decl.
26259        * dom/WheelEvent.cpp:
26260        (WebCore::granularity): Moved from EventDispatcher.
26261        (WebCore::WheelEventDispatchMediator::WheelEventDisatchMediator): Added.
26262        (WebCore::WheelEventDispatchMediator::event): Added.
26263        (WebCore::WheelEventDispatchMediator::dispatchEvent): Added.
26264        * dom/WheelEvent.h: Updated decls.
26265        * page/EventHandler.cpp:
26266        (WebCore::EventHandler::handleWheelEvent): Changed to receive and react
26267            to the return value.
26268
262692011-04-08  Jessie Berlin  <jberlin@apple.com>
26270
26271        Windows build warning fix.
26272
26273        * WebCore.vcproj/WebCore.vcproj:
26274        Since ShadowRoot.cpp is included in the DOMAllInOne.cpp file, it should be excluded from
26275        the build.
26276
262772011-04-07  Pavel Podivilov  <podivilov@chromium.org>
26278
26279        Reviewed by Pavel Feldman.
26280
26281        Web Inspector: update breakpoints according to source frame decorations after live edit.
26282        https://bugs.webkit.org/show_bug.cgi?id=58029
26283
26284        * inspector/front-end/DebuggerPresentationModel.js:
26285        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
26286        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
26287        (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent.didEditScriptSource):
26288        (WebInspector.DebuggerPresentationModel.prototype._updateResourceContent):
26289        * inspector/front-end/SourceFile.js:
26290        (WebInspector.SourceFile.prototype.set content):
26291        * inspector/front-end/SourceFrame.js:
26292        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
26293        (WebInspector.SourceFrame.prototype._handleSave):
26294
262952011-04-08  Pavel Podivilov  <podivilov@chromium.org>
26296
26297        Reviewed by Pavel Feldman.
26298
26299        Web Inspector: fix scripts concatenation in scripts panel.
26300        https://bugs.webkit.org/show_bug.cgi?id=58138
26301
26302        When there is just one script starting at 0:0 it should not be surrounded by <script> framing.
26303
26304        * inspector/front-end/SourceFile.js:
26305        (WebInspector.SourceFile.prototype._loadResourceContent):
26306        (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
26307
263082011-04-08  Pavel Feldman  <pfeldman@chromium.org>
26309
26310        Reviewed by Yury Semikhatsky.
26311
26312        Web Inspector: use "locations" for debugger scripts, "lineNumbers" for the UI elements.
26313        https://bugs.webkit.org/show_bug.cgi?id=58118
26314
26315        This change reuses location for call frames in the protocol + structures script
26316        location <-> source lines interaction better. When we need UI columns, we will add
26317        them, but we should distinguish between script and UI terms on the type level, not naming.
26318
26319        * English.lproj/localizedStrings.js:
26320        * bindings/v8/DebuggerScript.js:
26321        * inspector/InjectedScriptSource.js:
26322        * inspector/Inspector.json:
26323        * inspector/front-end/CallStackSidebarPane.js:
26324        (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLine):
26325        (WebInspector.CallStackSidebarPane.prototype.update):
26326        * inspector/front-end/DebuggerPresentationModel.js:
26327        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestSourceMapping):
26328        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
26329        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
26330        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
26331        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
26332        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
26333        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
26334        (WebInspector.PresenationCallFrame):
26335        (WebInspector.PresenationCallFrame.prototype.sourceLine.didRequestSourceMapping):
26336        (WebInspector.PresenationCallFrame.prototype.sourceLine):
26337        * inspector/front-end/ScriptFormatter.js:
26338        (WebInspector.ScriptFormatter.locationToPosition):
26339        (WebInspector.ScriptFormatter.lineToPosition):
26340        * inspector/front-end/ScriptsPanel.js:
26341        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
26342        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
26343        (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
26344        (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
26345        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
26346        * inspector/front-end/SourceFile.js:
26347        (WebInspector.SourceMapping.prototype.scriptLocationToSourceLine):
26348        (WebInspector.SourceMapping.prototype.sourceLineToScriptLocation):
26349        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLine):
26350        (WebInspector.FormattedSourceMapping.prototype.sourceLineToScriptLocation):
26351
263522011-04-08  Pavel Podivilov  <podivilov@chromium.org>
26353
26354        Reviewed by Pavel Feldman.
26355
26356        Web Inspector: distinguish breakpoints set on de-obfuscated sources from breakponts set on original sources.
26357        https://bugs.webkit.org/show_bug.cgi?id=58133
26358
26359        * inspector/front-end/DebuggerPresentationModel.js:
26360        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
26361        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
26362        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
26363        (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
26364        (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
26365        (WebInspector.DebuggerPresentationModel.prototype._createSourceFileId):
26366        (WebInspector.DebuggerPresentationModel.prototype._reset):
26367
263682011-04-07  Pavel Podivilov  <podivilov@chromium.org>
26369
26370        Reviewed by Pavel Feldman.
26371
26372        Web Inspector: make SourceFrame TextViewer's delegate for editing operations.
26373        https://bugs.webkit.org/show_bug.cgi?id=58026
26374
26375        This is the first step of decoupling TextViewer from SourceFrame.
26376
26377        * inspector/front-end/SourceFrame.js:
26378        (WebInspector.SourceFrame):
26379        (WebInspector.SourceFrame.prototype.show):
26380        (WebInspector.SourceFrame.prototype.hide):
26381        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
26382        (WebInspector.SourceFrame.prototype.contentEditable):
26383        (WebInspector.SourceFrame.prototype.startEditing):
26384        (WebInspector.SourceFrame.prototype.endEditing):
26385        (WebInspector.SourceFrame.prototype._createTextViewer):
26386        (WebInspector.SourceFrame.prototype._handleSave):
26387        (WebInspector.SourceFrame.prototype._handleRevertEditing):
26388        * inspector/front-end/TextViewer.js:
26389        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
26390        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
26391        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
26392        (WebInspector.TextViewer.prototype._doubleClick):
26393        (WebInspector.TextViewerDelegate):
26394        (WebInspector.TextViewerDelegate.prototype.contentEditable):
26395        (WebInspector.TextViewerDelegate.prototype.startEditing):
26396        (WebInspector.TextViewerDelegate.prototype.endEditing):
26397        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
26398        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
26399        * inspector/front-end/inspector.html:
26400
264012011-04-08  Leandro Gracia Gil  <leandrogracia@chromium.org>
26402
26403        Reviewed by Steve Block.
26404
26405        Media Stream API: add the getUserMedia method and the Javascript bindings.
26406        https://bugs.webkit.org/show_bug.cgi?id=56586
26407
26408        Add the getUserMedia method to the navigator and its new Javascript types.
26409        Current specification: http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#video-conferencing-and-peer-to-peer-communication
26410
26411        Tests: fast/dom/MediaStream/argument-types.html
26412               fast/dom/MediaStream/enabled.html
26413               fast/dom/MediaStream/no-interface-object.html
26414
26415        * Android.derived.jscbindings.mk:
26416        * Android.derived.v8bindings.mk:
26417        * Android.v8bindings.mk:
26418        * CMakeLists.txt:
26419        * CodeGenerators.pri:
26420        * DerivedSources.cpp:
26421        * DerivedSources.make:
26422        * GNUmakefile.list.am:
26423        * WebCore.gypi:
26424        * WebCore.pro:
26425        * WebCore.vcproj/WebCore.vcproj:
26426        * WebCore.xcodeproj/project.pbxproj:
26427        * bindings/js/JSNavigatorCustom.cpp:
26428        (WebCore::JSNavigator::webkitGetUserMedia):
26429        * bindings/v8/custom/V8NavigatorCustom.cpp: Added.
26430        (WebCore::V8Navigator::webkitGetUserMediaCallback):
26431        * page/Navigator.cpp:
26432        (WebCore::Navigator::webkitGetUserMedia):
26433        * page/Navigator.h:
26434        * page/Navigator.idl:
26435        * page/NavigatorUserMediaError.h: Added.
26436        (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
26437        (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
26438        (WebCore::NavigatorUserMediaError::code):
26439        * page/NavigatorUserMediaError.idl: Added.
26440        * page/NavigatorUserMediaErrorCallback.h: Added.
26441        (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
26442        * page/NavigatorUserMediaErrorCallback.idl: Added.
26443        * page/NavigatorUserMediaSuccessCallback.h: Added.
26444        (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
26445        * page/NavigatorUserMediaSuccessCallback.idl: Added.
26446
264472011-04-08  Mikhail Naganov  <mnaganov@chromium.org>
26448
26449        Reviewed by Pavel Feldman.
26450
26451        Web Inspector: [Chromium] Add more tests for detailed heap snapshots UI.
26452        https://bugs.webkit.org/show_bug.cgi?id=58010
26453        https://bugs.webkit.org/show_bug.cgi?id=58011
26454
26455        Added tests for "Containment" view. Minor refactorings, bugs fixed.
26456        Split one large tests into smaller ones to avoid timing out in debug mode.
26457
26458        Tests: inspector/profiler/detailed-heapshots-containment-expansion-preserved-when-sorting.html
26459               inspector/profiler/detailed-heapshots-containment-show-all.html
26460               inspector/profiler/detailed-heapshots-containment-show-next.html
26461               inspector/profiler/detailed-heapshots-containment-sorting.html
26462               inspector/profiler/detailed-heapshots-summary-expansion-preserved-when-sorting.html
26463               inspector/profiler/detailed-heapshots-summary-show-all.html
26464               inspector/profiler/detailed-heapshots-summary-show-next.html
26465               inspector/profiler/detailed-heapshots-summary-sorting.html
26466
26467        * inspector/front-end/DetailedHeapshotGridNodes.js:
26468        (WebInspector.HeapSnapshotGridNode):
26469        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
26470        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
26471        (WebInspector.HeapSnapshotGridNode.prototype.sort):
26472        (WebInspector.HeapSnapshotGenericObjectNode):
26473        (WebInspector.HeapSnapshotObjectNode):
26474        (WebInspector.HeapSnapshotInstanceNode):
26475        (WebInspector.HeapSnapshotConstructorNode):
26476        (WebInspector.HeapSnapshotDiffNode):
26477        (WebInspector.HeapSnapshotDominatorObjectNode):
26478        * inspector/front-end/DetailedHeapshotView.js:
26479        (WebInspector.HeapSnapshotContainmentDataGrid):
26480        (WebInspector.HeapSnapshotDominatorsDataGrid):
26481
264822011-04-08  Andrey Adaikin  <aandrey@google.com>
26483
26484        Reviewed by Pavel Feldman.
26485
26486        Web Inspector: Bugs in some corner cases in the text editor
26487        https://bugs.webkit.org/show_bug.cgi?id=58025
26488
26489        This solves the following bugs:
26490        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.
26491        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.
26492
26493        * inspector/front-end/TextViewer.js:
26494        (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
26495        (WebInspector.TextEditorMainPanel.prototype._enclosingLineRowOrSelf):
26496        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
26497        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
26498        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
26499
265002011-04-07  Pavel Podivilov  <podivilov@chromium.org>
26501
26502        Reviewed by Pavel Feldman.
26503
26504        Web Inspector: add test for script formatter worker.
26505        https://bugs.webkit.org/show_bug.cgi?id=57447
26506
26507        Test: inspector/debugger/script-formatter.html
26508
26509        * GNUmakefile.am:
26510        * WebCore.xcodeproj/project.pbxproj:
26511        * gyp/streamline-inspector-source.sh:
26512        * inspector/front-end/DebuggerPresentationModel.js:
26513        (WebInspector.DebuggerPresentationModel.prototype._addScript):
26514        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
26515        (WebInspector.DebuggerPresentationModel.prototype._formatter):
26516        * inspector/front-end/ScriptFormatterWorker.js:
26517
265182011-04-08  Andrey Adaikin  <aandrey@google.com>
26519
26520        Reviewed by Pavel Feldman.
26521
26522        Web Inspector: Tweak dynamically constants for the async highlighting in text editor
26523        https://bugs.webkit.org/show_bug.cgi?id=58035
26524
26525        * inspector/front-end/TextViewer.js:
26526        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
26527        (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
26528        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
26529        (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
26530        (WebInspector.TextEditorMainPanel.prototype._adjustPaintLinesOperationsRefreshValue):
26531
265322011-04-08  Andrey Kosyakov  <caseq@chromium.org>
26533
26534        Reviewed by Yury Semikhatsky.
26535
26536        Web Inspector: HAR compliance fixes
26537        https://bugs.webkit.org/show_bug.cgi?id=58124
26538
26539        - Always provide some values for queryString and cookies, even though arrays may be empty
26540        - Always provide an empty cache object
26541        - Added entire HARLog to test
26542        - Workaround in test to avoid custom expectations (favicon.ico appears in log on certain platforms)
26543
26544        * inspector/front-end/HAREntry.js:
26545        (WebInspector.HAREntry.prototype.build):
26546        (WebInspector.HAREntry.prototype._buildRequest):
26547        (WebInspector.HAREntry.prototype._buildResponse):
26548
265492011-04-08  Adam Barth  <abarth@webkit.org>
26550
26551        Attempt to fix the Qt build.
26552
26553        * css/CSSStyleApplyProperty.cpp:
26554
265552011-04-07  Adam Barth  <abarth@webkit.org>
26556
26557        Reviewed by Eric Seidel.
26558
26559        Refactor WebCore/GNUMakefile.am to separate list of files
26560        https://bugs.webkit.org/show_bug.cgi?id=58116
26561
26562        This change is similar to the cooresponding to change to
26563        JavaScriptCore.  We hope to generate GNUmakefile.list.am automatically
26564        using GYP.
26565
26566        * GNUmakefile.am:
26567        * GNUmakefile.list.am: Added.
26568
265692011-04-07  Geoffrey Garen  <ggaren@apple.com>
26570
26571        Not reviewed.
26572
26573        Rolled out some accidentally-committed changes in my last commit.
26574
26575        * dom/EventTarget.cpp:
26576        (WebCore::EventTarget::addEventListener):
26577        (WebCore::EventTarget::removeEventListener):
26578        * dom/EventTarget.h:
26579
265802011-04-07  Julien Chaffraix  <jchaffraix@codeaurora.org>
26581
26582        Reviewed by Alexey Proskuryakov.
26583
26584        EventSource should only accept UTF-8 charset
26585        https://bugs.webkit.org/show_bug.cgi?id=56942
26586
26587        Following the discussion on bug 45372, this change implements the recommended
26588        way of handling "charset". We only accept UTF-8 but no other encoding. This matches
26589        the encoding of the EventSource and also may fix TomCat that automatically send this
26590        charset.
26591
26592        * page/EventSource.cpp:
26593        (WebCore::EventSource::didReceiveResponse): We now check the charset attribute and if it is
26594        not UTF-8, abort the connection and log the error to the console. Also we log if the MIME type
26595        is wrong to the console to help debugging (only in the case of an HTTP 200 response though).
26596
265972011-04-07  Geoffrey Garen  <ggaren@apple.com>
26598
26599        Reviewed by Maciej Stachowiak.
26600
26601        Some Handle<T> cleanup
26602        https://bugs.webkit.org/show_bug.cgi?id=58109
26603
26604        * bindings/js/ScriptValue.h:
26605        (WebCore::ScriptValue::ScriptValue): Updated for new null constructor.
26606        (WebCore::ScriptValue::hasNoValue): Updated for removal of isEmpty().
26607
266082011-04-07  Dominic Cooney  <dominicc@google.com>
26609
26610        Reviewed by Dimitri Glazkov.
26611
26612        Let shadow DOM have a list of nodes at the top level of a shadow.
26613        https://bugs.webkit.org/show_bug.cgi?id=57813
26614
26615        Adds ShadowRoot, a list of nodes, to be a parent for top-level
26616        shadow children. Forwards rendering through the root and into the
26617        host's renderer.
26618
26619        Covered by existing tests of elements that use this style of shadow.
26620
26621        * Android.mk: add ShadowRoot.h/cpp
26622        * CMakeLists.txt:
26623        * GNUmakefile.am:
26624        * WebCore.exp.in:
26625        * WebCore.gypi:
26626        * WebCore.pro:
26627        * WebCore.vcproj/WebCore.vcproj:
26628        * WebCore.xcodeproj/project.pbxproj:
26629        * css/CSSStyleSelector.cpp:
26630        (WebCore::CSSStyleSelector::initForStyleResolve): proxy style to host
26631        * dom/ContainerNode.cpp: parent nodes that are shadow roots are alive
26632        (WebCore::ContainerNode::insertBefore):
26633        (WebCore::ContainerNode::replaceChild):
26634        (WebCore::ContainerNode::removeChild):
26635        (WebCore::ContainerNode::appendChild):
26636        * dom/DocumentFragment.cpp:
26637        (WebCore::DocumentFragment::DocumentFragment):
26638        * dom/DocumentFragment.h:
26639        * dom/Element.cpp:
26640        (WebCore::Element::recalcStyle): look through ShadowRoots for host's style
26641        (WebCore::Element::shadowRoot): should be const
26642        (WebCore::Element::ensureShadowRoot): simpler than setShadowRoot
26643        * dom/Element.h:
26644        * dom/ElementRareData.h:
26645        * dom/Node.cpp:
26646        (WebCore::Node::parentNodeForRenderingAndStyle): indirection so
26647          ShadowRoot can forward to the host's renderer
26648        (WebCore::Node::createRendererAndStyle):
26649        (WebCore::Node::createRendererIfNeeded):
26650        * dom/Node.h:
26651        (WebCore::Node::isShadowBoundary): temporary, to differentiate
26652          old- and new-style, until all roots are ShadowRoot instances
26653        * dom/ShadowRoot.cpp: Added.
26654        (WebCore::ShadowRoot::ShadowRoot):
26655        (WebCore::ShadowRoot::recalcStyle): forward recalc to children
26656        * dom/ShadowRoot.h: Added.
26657        (WebCore::ShadowRoot::isShadowBoundary):
26658        (WebCore::ShadowRoot::create):
26659        * html/HTMLKeygenElement.cpp: use ensureShadowRoot
26660        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
26661        (WebCore::HTMLKeygenElement::parseMappedAttribute):
26662        (WebCore::HTMLKeygenElement::appendFormData):
26663        (WebCore::HTMLKeygenElement::reset):
26664        (WebCore::HTMLKeygenElement::shadowSelect):
26665        * html/HTMLKeygenElement.h:
26666        * html/HTMLMeterElement.cpp: use ensureShadowRoot
26667        (WebCore::HTMLMeterElement::createShadowSubtree):
26668        * html/HTMLProgressElement.cpp: use ensureShadowRoot
26669        (WebCore::HTMLProgressElement::createShadowSubtree):
26670        * html/InputType.cpp: use ensureShadowRoot
26671        (WebCore::InputType::destroyShadowSubtree):
26672        * html/RangeInputType.cpp: use ensureShadowRoot
26673        (WebCore::RangeInputType::handleMouseDownEvent):
26674        (WebCore::RangeInputType::createShadowSubtree):
26675        (WebCore::RangeInputType::valueChanged):
26676        (WebCore::RangeInputType::shadowSliderThumb):
26677        * html/RangeInputType.h:
26678        * html/ValidationMessage.cpp: use ensureShadowRoot
26679        (WebCore::ValidationMessage::buildBubbleTree):
26680        (WebCore::ValidationMessage::deleteBubbleTree):
26681        * html/shadow/SliderThumbElement.cpp:
26682        (WebCore::SliderThumbElement::setPositionFromPoint):
26683        (WebCore::SliderThumbElement::hostInput):
26684        * html/shadow/SliderThumbElement.h:
26685        * rendering/MediaControlElements.cpp: use ensureShadowRoot
26686        (WebCore::MediaControlInputElement::attach):
26687        (WebCore::MediaControlInputElement::updateStyle):
26688        * rendering/RenderSlider.cpp: use ensureShadowRoot
26689        (WebCore::RenderSlider::thumbRect):
26690        (WebCore::RenderSlider::layout):
26691        (WebCore::RenderSlider::shadowSliderThumb):
26692        (WebCore::RenderSlider::inDragMode):
26693        * rendering/RenderSlider.h:
26694
266952011-04-07  Maciej Stachowiak  <mjs@apple.com>
26696
26697        Reviewed by Simon Fraser.
26698
26699        REGRESSION (r80871): Crash when visiting http://broadband.biglobe.ne.jp/
26700        https://bugs.webkit.org/show_bug.cgi?id=56297
26701        <rdar://problem/9131597>
26702
26703        Test: fast/css-generated-content/table-row-after-no-crash.html
26704
26705        * rendering/RenderTableRow.cpp:
26706        (WebCore::RenderTableRow::styleDidChange): Factor out generation of before/after
26707        content, and only do it if the row already has a parent. For construction of
26708        anonymous cells to work correctly, the row needs to already have a parent, so
26709        in that case wait a bit.
26710        (WebCore::RenderTableRow::updateBeforeAndAfterContent): Factored out to here.
26711        * rendering/RenderTableRow.h:
26712        * rendering/RenderTableSection.cpp:
26713        (WebCore::RenderTableSection::addChild): When adding a row, update its
26714        before/after content, in case it had any.
26715
267162011-04-07  Beth Dakin  <bdakin@apple.com>
26717
26718        Reviewed by Simon Fraser.
26719
26720        Probable fix for <rdar://problem/9251443>  Crashing on exception: -
26721        [ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]: unrecognized
26722        selector sent to instance ADDRESS.
26723
26724       Need to implement new delegate method.
26725        * platform/mac/ScrollAnimatorMac.mm:
26726        (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
26727
267282011-04-07  Ian Henderson  <ianh@apple.com>
26729
26730        Reviewed by Simon Fraser.
26731
26732        Optimize filling rounded rects that are actually ellipses
26733        https://bugs.webkit.org/show_bug.cgi?id=58098
26734
26735        In CG, drawing an ellipse directly is faster than constructing and
26736        filling a rounded rect path.  Detect when the given rounded rect is
26737        actually an ellipse and draw it directly in this case.
26738
26739        * platform/graphics/cg/GraphicsContextCG.cpp:
26740        (WebCore::GraphicsContext::fillRoundedRect):
26741
267422011-04-07  Ned Holbrook  <nholbrook@apple.com>
26743
26744        Reviewed by Dan Bernstein.
26745
26746        CTLine objects should outlive their CTRuns
26747        https://bugs.webkit.org/show_bug.cgi?id=58063
26748
26749        * platform/graphics/mac/ComplexTextController.h: Add m_coreTextLines, to be destroyed after m_complexTextRuns.
26750        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
26751        (WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun): Moot m_coreTextRun.
26752        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Append line to m_coreTextLines.
26753
267542011-04-07  Nat Duca  <nduca@chromium.org>
26755
26756        Reviewed by David Levin.
26757
26758        [chromium] Compositor thread infrastructure
26759        https://bugs.webkit.org/show_bug.cgi?id=56131
26760
26761        Introduce chrome compositor thread and related
26762        infrastructure.
26763
26764        * WebCore.gypi:
26765        * platform/graphics/chromium/cc/CCMainThread.cpp: Added.
26766        (WebCore::CCMainThread::performTask):
26767        (WebCore::CCMainThread::postTask):
26768        * platform/graphics/chromium/cc/CCMainThread.h: Added.
26769        (WebCore::CCMainThread::Task::~Task):
26770        (WebCore::CCMainThread::Task::instance):
26771        (WebCore::CCMainThread::Task::Task):
26772        * platform/graphics/chromium/cc/CCMainThreadTask.h: Added.
26773        (WebCore::MainThreadTask0::create):
26774        (WebCore::MainThreadTask0::MainThreadTask0):
26775        (WebCore::MainThreadTask0::performTask):
26776        (WebCore::MainThreadTask1::create):
26777        (WebCore::MainThreadTask1::MainThreadTask1):
26778        (WebCore::MainThreadTask1::performTask):
26779        (WebCore::MainThreadTask2::create):
26780        (WebCore::MainThreadTask2::MainThreadTask2):
26781        (WebCore::MainThreadTask2::performTask):
26782        (WebCore::MainThreadTask3::create):
26783        (WebCore::MainThreadTask3::MainThreadTask3):
26784        (WebCore::MainThreadTask3::performTask):
26785        (WebCore::createMainThreadTask):
26786        * platform/graphics/chromium/cc/CCThread.cpp: Added.
26787        (WebCore::CCThread::create):
26788        (WebCore::CCThread::CCThread):
26789        (WebCore::CCThread::~CCThread):
26790        (WebCore::CCThread::postTask):
26791        (WebCore::CCThread::compositorThreadStart):
26792        (WebCore::CCThread::runLoop):
26793        * platform/graphics/chromium/cc/CCThread.h: Added.
26794        (WebCore::CCThread::Task::~Task):
26795        (WebCore::CCThread::Task::instance):
26796        (WebCore::CCThread::Task::Task):
26797        (WebCore::CCThread::threadID):
26798        (WebCore::CCCompletionEvent::CCCompletionEvent):
26799        (WebCore::CCCompletionEvent::~CCCompletionEvent):
26800        (WebCore::CCCompletionEvent::wait):
26801        (WebCore::CCCompletionEvent::signal):
26802        * platform/graphics/chromium/cc/CCThreadTask.h: Added.
26803        (WebCore::CCThreadTask0::create):
26804        (WebCore::CCThreadTask0::CCThreadTask0):
26805        (WebCore::CCThreadTask0::performTask):
26806        (WebCore::CCThreadTask1::create):
26807        (WebCore::CCThreadTask1::CCThreadTask1):
26808        (WebCore::CCThreadTask1::performTask):
26809        (WebCore::CCThreadTask2::create):
26810        (WebCore::CCThreadTask2::CCThreadTask2):
26811        (WebCore::CCThreadTask2::performTask):
26812        (WebCore::CCThreadTask3::create):
26813        (WebCore::CCThreadTask3::CCThreadTask3):
26814        (WebCore::CCThreadTask3::performTask):
26815        (WebCore::createCCThreadTask):
26816
268172011-04-07  Ryosuke Niwa  <rniwa@webkit.org>
26818
26819        Reviewed by Eric Seidel.
26820
26821        REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
26822        https://bugs.webkit.org/show_bug.cgi?id=57872
26823
26824        r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
26825        because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
26826
26827        r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
26828        avoiding the tab span.
26829
26830        Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
26831        Also reverted r46914 for the general code path because re-creating node hierarchy duplicates nodes when
26832        we're moving nodes after the paragraph separator. Instead, we now split the tree up until the start block
26833        before moving the nodes.
26834
26835        Tests: editing/inserting/insert-paragraph-after-tab-span-and-text.html
26836               editing/inserting/insert-paragraph-separator-tab-span.html
26837
26838        * editing/DeleteSelectionCommand.cpp:
26839        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Since EditingStyle's constructor avoids a tab span,
26840        no longer calls positionBeforeTabSpan on the position passed to EditingStyle's constructor.
26841        * editing/EditingStyle.cpp:
26842        (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
26843        * editing/InsertParagraphSeparatorCommand.cpp:
26844        (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
26845        separator into a paragraph separator.
26846        * editing/htmlediting.cpp:
26847        (WebCore::positionOutsideTabSpan): Renamed from positionBeforeTabSpan. Also returns the position in the parent
26848        node after the tab span if the position was at the end of the tab span.
26849        * editing/htmlediting.h:
26850
268512011-04-07  Jia Pu  <jpu@apple.com>
26852
26853        Reviewed by Darin Adler.
26854
26855        [Mac] Editor::setComposition() should not trigger correction panel timer.
26856        https://bugs.webkit.org/show_bug.cgi?id=58049
26857         <rdar://problem/9226305>
26858
26859        On Mac OS X that supports autocorrection panel, typing unconfirmed composition (i.e. unconfirmed Japanese or Chinese input)
26860        should not start autocorrection timer. We added a member variable, m_shouldPreventSpellChecking, to TypingCommand.
26861        When this value is true, markMisspellingsAfterTyping() will not be called in TypingCommand::typingAddedToOpenCommand().
26862        m_shouldPreventSpellChecking is set to true in the TypingCommand objects created by Editor::setComposition().
26863
26864        No new tests. No deterministically reproducible test case. Patch is based on static code analysis. Testing this also requires firing
26865        autocorrection panel timer, which can not be easily done in automated fashion.
26866
26867        * editing/Editor.cpp:
26868        (WebCore::Editor::deleteWithDirection):
26869        (WebCore::Editor::insertTextWithoutSendingTextEvent):
26870        (WebCore::Editor::confirmComposition):
26871        (WebCore::Editor::setComposition):
26872        * editing/EditorCommand.cpp:
26873        (WebCore::executeDelete):
26874        * editing/TypingCommand.cpp:
26875        (WebCore::TypingCommand::TypingCommand):
26876        (WebCore::TypingCommand::deleteSelection):
26877        (WebCore::TypingCommand::deleteKeyPressed):
26878        (WebCore::TypingCommand::forwardDeleteKeyPressed):
26879        (WebCore::TypingCommand::insertText):
26880        (WebCore::TypingCommand::insertLineBreak):
26881        (WebCore::TypingCommand::insertParagraphSeparator):
26882        (WebCore::TypingCommand::typingAddedToOpenCommand):
26883        * editing/TypingCommand.h:
26884        (WebCore::TypingCommand::create):
26885        (WebCore::TypingCommand::setShouldPreventSpellChecking):
26886
268872011-04-07  John Bauman  <jbauman@chromium.org>
26888
26889        Reviewed by Kenneth Russell.
26890
26891        clearIfComposited call is really slow
26892        https://bugs.webkit.org/show_bug.cgi?id=57999
26893
26894        Move getContextAttributes call after the if, so it isn't called nearly as often.
26895
26896        No new tests.
26897
26898        * html/canvas/WebGLRenderingContext.cpp:
26899        (WebCore::WebGLRenderingContext::clearIfComposited):
26900
269012011-04-07  Luke Macpherson   <macpherson@chromium.org>
26902
26903        Reviewed by Dimitri Glazkov.
26904
26905        Implement Backgroun and Mask properties in CSSStyleApplyProperty
26906        https://bugs.webkit.org/show_bug.cgi?id=57922
26907
26908        No tests added as no behavioral changes.
26909
26910        * css/CSSStyleApplyProperty.cpp:
26911        Added ApplyPropertyFillLayer test to handle Background and Mask CSS Properties.
26912        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
26913        Added constructor calls to set up:
26914          CSSPropertyBackgroundAttachment
26915          CSSPropertyBackgroundClip
26916          CSSPropertyWebkitBackgroundClip
26917          CSSPropertyWebkitBackgroundComposite
26918          CSSPropertyBackgroundOrigin
26919          CSSPropertyWebkitBackgroundOrigin
26920          CSSPropertyBackgroundSize
26921          CSSPropertyWebkitBackgroundSize
26922          CSSPropertyWebkitMaskAttachment
26923          CSSPropertyWebkitMaskClip
26924          CSSPropertyWebkitMaskComposite
26925          CSSPropertyWebkitMaskOrigin
26926          CSSPropertyWebkitMaskSize
26927        * css/CSSStyleApplyProperty.h:
26928        (WebCore::CSSStyleApplyProperty::setPropertyValue):
26929        Add function to specify an equivalent property value in the lookup table.
26930        * css/CSSStyleSelector.cpp:
26931        (WebCore::CSSStyleSelector::applyProperty):
26932        Remove sections now implemented by CSSStyleApplyProperty.
26933        * css/CSSStyleSelector.h:
26934        Make CSSStyleApplyProperty a friend class so that the mapFill* functions are accessible.
26935
269362011-04-04  Eric Seidel  <eric@webkit.org>
26937
26938        Reviewed by Ryosuke Niwa.
26939
26940        Split run storage out from BidiResolver into a new BidiRunList class
26941        https://bugs.webkit.org/show_bug.cgi?id=57764
26942
26943        Part of what makes BidiResolver and InlineIterator so difficult to understand
26944        (and bug 50912 so difficult to fix) is that BidiResolver is both a state machine
26945        for the Unicode Bidi Algorithm (UBA) as well as storage for the resulting
26946        BidiRuns from the algorithm.  This patch breaks the storage aspect off
26947        into its own class BidiRunList.
26948
26949        This patch is only a start.  It does not actually fix the problematic ownership
26950        relationship, but it does make it possible to fix such in a second patch.
26951
26952        The run pointers and addRun/prependRun, etc. were already a tightly coupled
26953        logical subset of the BidiResolver class, so moving them into their own class
26954        was both obvious and easy.  The only piece of logic I had to move was that
26955        deleteRuns() had a side-effect of setting the m_emptyRun bit on the resolver.
26956
26957        I believe this deleteRuns side-effect was only ever used for one place
26958        (right after findNextLineBreak) and that it's only needed because
26959        findNextLineBreak can sometimes create bidi runs.  Run creation appears to be
26960        an unintentional side-effect of how InlineIterator calls through to BidiResolver
26961        as part of bidiNext and not a desired effect of the code.  I have added the call
26962        to markCurrentRunEmpty to both places deleteRuns was called (where the resolver
26963        could get re-used) as a safety precaution.  We could replace both with ASSERTs
26964        in a later patch.
26965
26966        I suspect there may be a small performance win from further refactoring so that
26967        findNextLineBreak does not need to create BidiRuns.
26968
26969        As I commented in the code, callers should own their own BidiRunList which they
26970        pass to BidiResolver::createBidiRunsForLine.  I attempted to implement that in
26971        an earlier version of this patch, but it was too complicated with the current
26972        twisted dependencies between InlineIterator/bidiNext and InlineBidiResolver.
26973        raise/lowerExplicitEmbeddingLevel are called unconditionally
26974        from commitExplicitEmbedding (which is called by bidiNext) and expect to have
26975        access to a runs list even in cases where we don't want any runs (findNextLineBreak).
26976
26977        I also cleaned up some of the callers to pass around BidiRunList objects instead
26978        of InlineBidiResolvers now that they're separate objects.
26979
26980        * GNUmakefile.am:
26981        * WebCore.gypi:
26982        * WebCore.pro:
26983        * WebCore.vcproj/WebCore.vcproj:
26984        * WebCore.xcodeproj/project.pbxproj:
26985        * platform/graphics/GraphicsContext.cpp:
26986        (WebCore::GraphicsContext::drawBidiText):
26987        * platform/text/BidiResolver.h:
26988        (WebCore::BidiResolver::BidiResolver):
26989        (WebCore::BidiResolver::runs):
26990        (WebCore::BidiResolver::markCurrentRunEmpty):
26991        (WebCore::::appendRun):
26992        (WebCore::::lowerExplicitEmbeddingLevel):
26993        (WebCore::::raiseExplicitEmbeddingLevel):
26994        (WebCore::::reorderRunsFromLevels):
26995        (WebCore::::createBidiRunsForLine):
26996        * rendering/InlineIterator.h:
26997        (WebCore::InlineBidiResolver::appendRun):
26998        * rendering/RenderBlock.h:
26999        * rendering/RenderBlockLineLayout.cpp:
27000        (WebCore::createRun):
27001        (WebCore::RenderBlock::appendRunsForObject):
27002        (WebCore::reachedEndOfTextRenderer):
27003        (WebCore::RenderBlock::handleTrailingSpaces):
27004        (WebCore::RenderBlock::layoutInlineChildren):
27005
270062011-04-07  Naoki Takano  <takano.naoki@gmail.com>
27007
27008        Reviewed by Adam Barth.
27009
27010        [Chromium] Fix relocation problem of popup window which introduces autofill popup sometimes moves to screen's top left corner.
27011        https://bugs.webkit.org/show_bug.cgi?id=57911
27012        http://code.google.com/p/chromium/issues/detail?id=78073
27013
27014        Manual test added: manual-tests/autofill-popup-location.html
27015
27016        Originally only height is checked so that it introduces the bug.
27017        So I changed it to check both width and height as size.
27018
27019        * manual-tests/autofill-popup-location.html: Added.
27020        * platform/chromium/PopupMenuChromium.cpp:
27021        (WebCore::PopupContainer::refresh): Check window size between original and new before calling setFrameRect().
27022
270232011-04-07  Adam Barth  <abarth@webkit.org>
27024
27025        Reviewed by Eric Seidel.
27026
27027        Implement img-src style-src and font-src
27028        https://bugs.webkit.org/show_bug.cgi?id=58018
27029
27030        These are pretty straight forward given the rest of the infrastructure
27031        we've built so far.
27032
27033        Tests: http/tests/security/contentSecurityPolicy/image-allowed.html
27034               http/tests/security/contentSecurityPolicy/image-blocked.html
27035               http/tests/security/contentSecurityPolicy/style-allowed.html
27036               http/tests/security/contentSecurityPolicy/style-blocked.html
27037               http/tests/security/contentSecurityPolicy/xsl-allowed.php
27038               http/tests/security/contentSecurityPolicy/xsl-blocked.php
27039
27040        * loader/cache/CachedResourceLoader.cpp:
27041        (WebCore::CachedResourceLoader::canRequest):
27042        * page/ContentSecurityPolicy.cpp:
27043        (WebCore::ContentSecurityPolicy::allowImageFromSource):
27044        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
27045        (WebCore::ContentSecurityPolicy::allowFontFromSource):
27046        (WebCore::ContentSecurityPolicy::addDirective):
27047        * page/ContentSecurityPolicy.h:
27048
270492011-04-07  David Levin  <levin@chromium.org>
27050
27051        Reviewed by Darin Adler.
27052
27053        Make IconSnapshot and PageURLRecord member variables private.
27054        https://bugs.webkit.org/show_bug.cgi?id=58080
27055
27056        No change in functionality so no new tests.
27057
27058        * loader/icon/IconDatabase.cpp:
27059        (WebCore::IconDatabase::writeToDatabase): Changed to used the accessor functions.
27060        (WebCore::IconDatabase::writeIconSnapshotToSQLDatabase): Ditto.
27061        * loader/icon/IconRecord.h:
27062        (WebCore::IconSnapshot::IconSnapshot): Changed to use the new member variable names.
27063        (WebCore::IconSnapshot::iconURL): Expose the property.
27064        (WebCore::IconSnapshot::timestamp): Ditto.
27065        (WebCore::IconSnapshot::data): Ditto.
27066        * loader/icon/PageURLRecord.h:
27067        (WebCore::PageURLSnapshot::PageURLSnapshot): Changed to use the new member variable names.
27068        (WebCore::PageURLSnapshot::pageURL): Expose the property.
27069        (WebCore::PageURLSnapshot::iconURL): Ditto.
27070
270712011-04-07  Dan Bernstein  <mitz@apple.com>
27072
27073        Build fix.
27074
27075        * platform/graphics/cairo/GraphicsContextCairo.cpp:
27076        (WebCore::GraphicsContext::roundToDevicePixels):
27077
270782011-04-07  Eric Seidel  <eric@webkit.org>
27079
27080        Reviewed by Adam Barth.
27081
27082        Add stub support for generating Gtk build system from gyp
27083        https://bugs.webkit.org/show_bug.cgi?id=58086
27084
27085        This does not produce a buildable WebCore, but it
27086        does allow running gyp/configure --port=gtk and having
27087        it generate a gtk.Makefile which we can use for testing
27088        the rest of the plumbing.
27089
27090        * gyp/gtk.gyp: Added.
27091
270922011-04-07  David Hyatt  <hyatt@apple.com>
27093
27094        Reviewed by Dan Bernstein.
27095
27096        https://bugs.webkit.org/show_bug.cgi?id=57736
27097
27098        Crash on openstreetmap.org while using the map. Fix a bad interaction between the positioned movement layout
27099        optimization and the simplified layout optimization that could lead to blocks remaining marked as dirty when
27100        layout finished. This would eventually lead to an inability to properly determine the correct layout root and
27101        would cause a deleted root to be used later on.
27102
27103        Added fast/block/positioning/complex-positioned-movement.html.
27104
27105        * page/FrameView.cpp:
27106        (WebCore::FrameView::scheduleRelayoutOfSubtree):
27107        Add asserts to catch cases in the future where a layout root is set that has a dirty containing block.
27108
27109        * rendering/RenderBlock.cpp:
27110        (WebCore::RenderBlock::simplifiedLayout):
27111        Change simplified layout so that the positioned movement optimization no longer clears the other layout
27112        flags. This will ensure that we still lay out our descendants if they need it.
27113
27114        (WebCore::RenderBlock::layoutPositionedObjects):
27115        Changed to clear our layout flags now if the positioned movement is successful, since tryLayoutDoingPositionedMovementOnly
27116        no longer does the clear.
27117
27118        * rendering/RenderBox.h:
27119        (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
27120        tryLayoutDoingPositionedMovementOnly now returns a boolean indicating success or failure.  On success it no longer
27121        does setNeedsLayout(false), but instead will let the caller take care of it. This way the caller can still look at
27122        the other flags in case other kinds of layout are still needed.
27123
27124        * rendering/RenderObject.h:
27125        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
27126        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
27127        Changed these methods to only set their respective flags and not to try to be clever about avoiding propagation.
27128
271292011-04-07  Andrew Scherkus  <scherkus@chromium.org>
27130
27131        Revert ENABLE_TRACK patch due to compile failures.
27132
27133        * CMakeLists.txt:
27134        * Configurations/FeatureDefines.xcconfig:
27135        * DerivedSources.make:
27136        * GNUmakefile.am:
27137        * WebCore.gypi:
27138        * WebCore.xcodeproj/project.pbxproj:
27139        * features.pri:
27140        * html/HTMLAttributeNames.in:
27141        * html/HTMLTagNames.in:
27142        * html/HTMLTrackElement.cpp: Removed.
27143        * html/HTMLTrackElement.h: Removed.
27144        * html/HTMLTrackElement.idl: Removed.
27145
271462011-04-07  Dan Bernstein  <mitz@apple.com>
27147
27148        Reviewed by Simon Fraser.
27149
27150        <rdar://problem/9018212> Underline thickness is not uniform under non-integral scale factor
27151        https://bugs.webkit.org/show_bug.cgi?id=58083
27152
27153        Test: fast/text/decorations-transformed.html
27154
27155        * platform/graphics/GraphicsContext.h: Added a RoundingMode enum with two values. RoundAllSides
27156        is the existing rounding mode, where each side of the rectangle snaps to the nearest pixel
27157        gridline. RoundOriginAndDimensions snaps the origin to the nearest pixel gridpoint and rounds
27158        the width and the height. In this new mode, translating a rectangle in user space never changes
27159        its dimensions in device pixels.
27160        * platform/graphics/cg/GraphicsContextCG.cpp:
27161        (WebCore::GraphicsContext::roundToDevicePixels): Implemented RoundOriginAndDimensions.
27162        (WebCore::GraphicsContext::drawLineForText): Use RoundOriginAndDimensions, thus ensuring that
27163        all underlines have the same thickness in device pixels.
27164        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
27165        (WebCore::GraphicsContext::roundToDevicePixels): Added RoundingMode parameter, but did not implement it.
27166        * platform/graphics/qt/GraphicsContextQt.cpp:
27167        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
27168        * platform/graphics/skia/GraphicsContextSkia.cpp:
27169        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
27170        * platform/graphics/wince/GraphicsContextWinCE.cpp:
27171        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
27172        * platform/graphics/wx/GraphicsContextWx.cpp:
27173        (WebCore::GraphicsContext::roundToDevicePixels): Ditto.
27174        * rendering/InlineTextBox.cpp:
27175        (WebCore::InlineTextBox::paintDecoration):
27176
271772011-04-06  Vitaly Repeshko  <vitalyr@chromium.org>
27178
27179        Reviewed by Nate Chapin.
27180
27181        [V8] Remove custom DOMImplementation getter on Document.
27182        https://bugs.webkit.org/show_bug.cgi?id=57991
27183
27184        The custom getter is no longer required because DOMImplementation
27185        objects are now created per document.
27186
27187        Test: fast/dom/DOMImplementation/implementation-identity.html
27188
27189        * bindings/scripts/CodeGeneratorV8.pm:
27190        * bindings/v8/custom/V8DocumentCustom.cpp:
27191        * dom/Document.idl:
27192
271932011-04-07  Sergey Glazunov  <serg.glazunov@gmail.com>
27194
27195        Reviewed by Dimitri Glazkov.
27196
27197        setHasID() is only called for styled elements
27198        https://bugs.webkit.org/show_bug.cgi?id=57267
27199
27200        Test: fast/dom/non-styled-element-id-crash.html
27201
27202        * dom/Element.cpp:
27203        (WebCore::Element::attributeChanged):
27204        (WebCore::Element::idAttributeChanged):
27205        * dom/Element.h:
27206        * dom/StyledElement.cpp:
27207        (WebCore::StyledElement::parseMappedAttribute):
27208
272092011-04-07  Jer Noble  <jer.noble@apple.com>
27210
27211        Reviewed by Eric Carlson.
27212
27213        HTMLVideoElement::webkitEnterFullscreen does not use new Full Screen API when available.
27214        https://bugs.webkit.org/show_bug.cgi?id=58070
27215
27216        Make the HTMLMediaElement full screen functions call into the new Full Screen API when
27217        FULLSCREEN_API is enabled.
27218
27219        * html/HTMLMediaElement.cpp:
27220        (WebCore::HTMLMediaElement::enterFullscreen):
27221        (WebCore::HTMLMediaElement::exitFullscreen):
27222
272232011-04-07  Adam Barth  <abarth@webkit.org>
27224
27225        Reviewed by Eric Seidel.
27226
27227        Implement CSP's options directive
27228        https://bugs.webkit.org/show_bug.cgi?id=58014
27229
27230        This patch contains the full options parser, but we only have enough of
27231        CSP implemented to see the effects of disable-xss-protection.  Will
27232        need to do some more work before we can see eval-script in action.
27233
27234        Tests: http/tests/security/contentSecurityPolicy/inline-script-allowed.html
27235               http/tests/security/contentSecurityPolicy/inline-script-blocked-goofy.html
27236
27237        * page/ContentSecurityPolicy.cpp:
27238        (WebCore::CSPOptions::CSPOptions):
27239        (WebCore::CSPOptions::disableXSSProtection):
27240        (WebCore::CSPOptions::evalScript):
27241        (WebCore::CSPOptions::parse):
27242        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
27243        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
27244        (WebCore::ContentSecurityPolicy::allowInlineScript):
27245        (WebCore::ContentSecurityPolicy::addDirective):
27246        * page/ContentSecurityPolicy.h:
27247
272482011-04-07  Alexey Proskuryakov  <ap@apple.com>
27249
27250        Reviewed by Anders Carlsson.
27251
27252        REGRESSION (WebKit2): Reverse conversion doesn't work in Kotoeri
27253        https://bugs.webkit.org/show_bug.cgi?id=58066
27254        <rdar://problem/8965302>
27255
27256        * platform/mac/HTMLConverter.h:
27257        * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
27258        Changed editingAttributedStringFromRange: to use WebCore::Range instead of DOMRange, since
27259        it's now used in WebKit2.
27260
272612011-04-07  Andy Estes  <aestes@apple.com>
27262
27263        Reviewed by Darin Adler.
27264
27265        REGRESSION (r64712): Microsoft Outlook 2011: original message contents
27266        not included when replying to an email.
27267        https://bugs.webkit.org/show_bug.cgi?id=57794
27268
27269        * WebCore.exp.in:
27270        * loader/FrameLoader.cpp:
27271        (WebCore::FrameLoader::finishedParsing): Call Frame::injectUserScripts()
27272        before checking if the FrameLoader is parsing the initial empty document.
27273        This allows user scripts to be injected at the end of document parsing
27274        (if the setting is enabled).
27275        * page/Frame.cpp:
27276        (WebCore::Frame::injectUserScripts): Do not inject scripts if this
27277        feature is disabled on the initial empty document.
27278        * page/Settings.cpp:
27279        (WebCore::Settings::Settings):
27280        * page/Settings.h: Add a setting for injecting user scripts into the
27281        initial empty document (defaults to false).
27282        (WebCore::Settings::setInjectUserScriptsInInitialEmptyDocument):
27283        (WebCore::Settings::injectUserScriptsInInitialEmptyDocument):
27284        * platform/mac/RuntimeApplicationChecks.h:
27285        * platform/mac/RuntimeApplicationChecks.mm:
27286        (WebCore::applicationIsMicrosoftOutlook): Check if the embedding
27287        application is Microsoft Outlook.
27288
272892011-04-06  Jer Noble  <jer.noble@apple.com>
27290
27291        Reviewed by Maciej Stachowiak.
27292
27293        AVF: MediaPlayerPrivateAVFoundation never reaches playable state.
27294        https://bugs.webkit.org/show_bug.cgi?id=57962
27295
27296        Add support for a new AVPlayerItem API which will notify clients when their
27297        seek completes.  This requires a new Notification type to be passed to the main
27298        thread in MediaPlayerPrivateAVFoundation.
27299
27300        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
27301        (WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Added.
27302        (WebCore::MediaPlayerPrivateAVFoundation::scheduleMainThreadNotification): Added two new
27303            overloaded functions which take a Notification; and a Notification::Type and boolean.
27304        (WebCore::MediaPlayerPrivateAVFoundation::dispatchNotification): Support new SeekCompleted
27305            Notification type.
27306        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
27307        (WebCore::MediaPlayerPrivateAVFoundation::Notification::Notification): Added one new constructor.
27308        (WebCore::MediaPlayerPrivateAVFoundation::Notification::finished): Added ivar and accessor.
27309        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
27310        (WebCore::MediaPlayerPrivateAVFoundationObjC::seekToTime): Call new AVPlayerItem API.
27311        (-[WebCoreAVFMovieObserver seekCompleted:]): Added.
27312
273132011-04-07  Nancy Piedra  <nancy.piedra@nokia.com>
27314
27315        Reviewed by Eric Carlson.
27316
27317        Parse quotes from content type parameters
27318        https://bugs.webkit.org/show_bug.cgi?id=53275
27319
27320        This functionality is tested in video-can-play-type.html layout test
27321        where I've added codecs parameter with good and bad formatting.
27322
27323        * platform/ContentType.cpp:
27324        (WebCore::ContentType::parameter):
27325
273262011-04-07  Pavel Feldman  <pfeldman@google.com>
27327
27328        Reviewed by Yury Semikhatsky.
27329
27330        Web Inspector: remove "enabled" from the setBreakpoint protocol.
27331        https://bugs.webkit.org/show_bug.cgi?id=58047
27332
27333        * bindings/js/ScriptDebugServer.cpp:
27334        (WebCore::ScriptDebugServer::hasBreakpoint):
27335        * bindings/v8/DebuggerScript.js:
27336        ():
27337        * bindings/v8/ScriptDebugServer.cpp:
27338        (WebCore::ScriptDebugServer::setBreakpoint):
27339        * inspector/Inspector.json:
27340        * inspector/InspectorDebuggerAgent.cpp:
27341        (WebCore::buildObjectForBreakpointCookie):
27342        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
27343        (WebCore::InspectorDebuggerAgent::setBreakpoint):
27344        (WebCore::InspectorDebuggerAgent::continueToLocation):
27345        (WebCore::InspectorDebuggerAgent::didParseSource):
27346        * inspector/InspectorDebuggerAgent.h:
27347        * inspector/ScriptBreakpoint.h:
27348        (WebCore::ScriptBreakpoint::ScriptBreakpoint):
27349        * inspector/front-end/DebuggerModel.js:
27350        (WebInspector.DebuggerModel.prototype.setBreakpoint):
27351        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
27352        * inspector/front-end/DebuggerPresentationModel.js:
27353        (WebInspector.DebuggerPresentationModel):
27354        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
27355        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
27356        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.callback):
27357        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
27358        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger):
27359        (WebInspector.DebuggerPresentationModel.prototype._setBreakpointInDebugger.didRequestSourceMapping):
27360        (WebInspector.DebuggerPresentationModel.prototype._removeBreakpointFromDebugger):
27361        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled.afterUpdate):
27362        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
27363        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
27364        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
27365        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
27366        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
27367        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
27368        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
27369        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpointsFromSettings):
27370        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
27371        (WebInspector.DebuggerPresentationModel.prototype._reset):
27372        (WebInspector.PresentationBreakpoint):
27373
273742011-04-07  Dan Bernstein  <mitz@apple.com>
27375
27376        Reviewed by Adam Roben.
27377
27378        Removed a redundant line of code.
27379
27380        * rendering/RenderInline.cpp:
27381        (WebCore::RenderInline::updateAlwaysCreateLineBoxes): No need to compare line gap values, as
27382        this is covered by the earlier hasIdenticalAscentDescentAndLineGap() check.
27383
273842011-04-07  Liang Qi  <liang.qi@nokia.com>
27385
27386        Reviewed by Laszlo Gombos.
27387
27388        [Qt][Symbian] Enable webkit build with GCCE on Symbian.
27389        https://bugs.webkit.org/show_bug.cgi?id=57841
27390
27391        * WebCore.pri: Thanks for Norbert Leser  <norbert.leser@nokia.com> who checked RVCT part.
27392        --rw-base value in QMAKE_LFLAGS.ARMCC and -Tdata value in QMAKE_LFLAGS.GCCE are updated
27393        to 0x1000000 together. They need to be updated in the future when WebKit grows.
27394
273952011-04-06  Pavel Feldman  <pfeldman@google.com>
27396
27397        Reviewed by Yury Semikhatsky.
27398
27399        Web Inspector: get rid of Breakpoint.js.
27400        https://bugs.webkit.org/show_bug.cgi?id=57949
27401
27402        * WebCore.gypi:
27403        * WebCore.vcproj/WebCore.vcproj:
27404        * inspector/front-end/Breakpoint.js: Removed.
27405        * inspector/front-end/BreakpointsSidebarPane.js:
27406        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
27407        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint.didLoadSnippet):
27408        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.updateBreakpoint):
27409        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._compareBreakpoints):
27410        * inspector/front-end/DebuggerModel.js:
27411        (WebInspector.DebuggerModel):
27412        (WebInspector.DebuggerModel.prototype._debuggerWasDisabled):
27413        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
27414        (WebInspector.DebuggerModel.prototype.setBreakpoint):
27415        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
27416        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
27417        (WebInspector.DebuggerModel.prototype._breakpointResolved):
27418        (WebInspector.DebuggerModel.prototype.reset):
27419        * inspector/front-end/DebuggerPresentationModel.js:
27420        (WebInspector.DebuggerPresentationModel):
27421        (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints):
27422        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
27423        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
27424        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didSetBreakpoint):
27425        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
27426        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
27427        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
27428        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
27429        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
27430        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
27431        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
27432        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
27433        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
27434        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoint):
27435        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
27436        (WebInspector.DebuggerPresentationModel.prototype._reset):
27437        (WebInspector.PresentationBreakpoint):
27438        (WebInspector.PresentationBreakpoint.prototype.get sourceFile):
27439        (WebInspector.PresentationBreakpoint.prototype.get url):
27440        (WebInspector.PresentationBreakpoint.prototype.get resolved):
27441        (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
27442        * inspector/front-end/ResourceTreeModel.js:
27443        (WebInspector.ResourceTreeModel):
27444        (WebInspector.ResourceTreeModel.prototype._onResourceStarted):
27445        (WebInspector.ResourceTreeModel.prototype._addResourceToFrame):
27446        * inspector/front-end/ScriptsPanel.js:
27447        (WebInspector.ScriptsPanel):
27448        (WebInspector.ScriptsPanel.prototype._breakpointUpdated):
27449        (WebInspector.ScriptsPanel.prototype.reset):
27450        * inspector/front-end/WebKit.qrc:
27451        * inspector/front-end/inspector.html:
27452
274532011-04-07  Yury Semikhatsky  <yurys@chromium.org>
27454
27455        Reviewed by Pavel Feldman.
27456
27457        Web Inspector: console messages names should adhere to the common naming style
27458        https://bugs.webkit.org/show_bug.cgi?id=58042
27459
27460        * inspector/ConsoleMessage.cpp:
27461        (WebCore::ConsoleMessage::addToFrontend):
27462        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
27463        * inspector/Inspector.json:
27464        * inspector/InspectorConsoleAgent.cpp:
27465        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
27466        * inspector/front-end/ConsoleView.js:
27467        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageAdded):
27468        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messageRepeatCountUpdated):
27469        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.messagesCleared):
27470        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher):
27471
274722011-04-06  Ilya Tikhonovsky  <loislo@chromium.org>
27473
27474        Reviewed by Yury Semikhatsky.
27475
27476        Web Inspector: migrate Inspector protocol messages format to JSON-RPC.
27477        https://bugs.webkit.org/show_bug.cgi?id=57957
27478
27479        There is not a significant difference between  inspector messages spec and and JSON-RPC 2.0 messages spec.
27480        Also JSON-RPC has a pretty clear specification for error descriptions which we haven't.
27481        It was decided that we will use it.
27482
27483        the list of renames:
27484        1) type-> /dev/null
27485        2) domain + '.' + event => method // for events
27486        3) domain + '.' + command => method // for requests
27487        4) requestId => id // for responses
27488        5) arguments => params // for requests
27489        6) data => params // for events
27490        7) body => result // for responses
27491
27492        protocolErrors and error properties will be converted to JSON-RPC error format.
27493        The order of properties in messages also will be adjusted.
27494        The only thing that looks unnecessary is jsonrpc property.
27495
27496        * inspector/CodeGeneratorInspector.pm:
27497
274982011-04-07  Ryosuke Niwa  <rniwa@webkit.org>
27499
27500        Reviewed by Eric Seidel.
27501
27502        Add functions to update left and right offsets to LineOffsets
27503        https://bugs.webkit.org/show_bug.cgi?id=58028
27504
27505        Added update() and shrinkWidthForNewFloatIfNeeded(FloatingObject*) to LineOffsets,
27506        which are used to update m_left and m_right. Also added m_block and m_isFirstLine
27507        member variables to LineOffsets so that users of LineOffsets don't have to pass them around.
27508
27509        * rendering/RenderBlock.h:
27510        * rendering/RenderBlockLineLayout.cpp:
27511        (WebCore::RenderBlock::skipLeadingWhitespace): No longer passes firstLine to positionNewFloatOnLine.
27512        (WebCore::LineOffsets::LineOffsets): Takes RenderBlock* and isFirstLine instead of left and right offsets.
27513        (WebCore::LineOffsets::update): Extracted from findNextLineBreak and positionNewFloatOnLine.
27514        (WebCore::LineOffsets::shrinkWidthForNewFloatIfNeeded): Extracted from positionNewFloatOnLine.
27515        (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
27516        (WebCore::RenderBlock::positionNewFloatOnLine): Calls shrinkWidthForNewFloatIfNeeded and update and
27517        no longer passes firstLine around.
27518
275192011-04-06  Pavel Feldman  <pfeldman@google.com>
27520
27521        Reviewed by Yury Semikhatsky.
27522
27523        Web Inspector: migrate debugger domain to the unified breakpoint location notion.
27524        https://bugs.webkit.org/show_bug.cgi?id=57928
27525
27526        * inspector/Inspector.json:
27527        * inspector/InspectorDebuggerAgent.cpp:
27528        (WebCore::buildObjectForBreakpointCookie):
27529        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
27530        (WebCore::InspectorDebuggerAgent::setBreakpoint):
27531        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
27532        (WebCore::InspectorDebuggerAgent::didParseSource):
27533        * inspector/InspectorDebuggerAgent.h:
27534        * inspector/front-end/Breakpoint.js:
27535        (WebInspector.Breakpoint):
27536        * inspector/front-end/DebuggerModel.js:
27537        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
27538        (WebInspector.DebuggerModel.prototype._breakpointResolved):
27539
275402011-04-07  Andreas Kling  <andreas.kling@nokia.com>
27541
27542        Reviewed by Benjamin Poulain.
27543
27544        [Qt] Mask the QStyle::State_Horizontal hint for vertical scrollbars.
27545
27546        When initializing a QStyleOptionSlider from a widget, the State_Horizontal
27547        hint may get set depending on how that widget is laid out in its parent.
27548        If this happens when drawing a vertical scrollbar, the hint is never
27549        cleared and we end up painting a vertical scrollbar with horizontal arrows.
27550
27551        Covered by pixel tests which should no longer paint silly scrollbars.
27552
27553        * platform/qt/ScrollbarThemeQt.cpp:
27554        (WebCore::styleOptionSlider):
27555
275562011-04-07  Adam Barth  <abarth@webkit.org>
27557
27558        Reviewed by Eric Seidel.
27559
27560        script-src should block inline script
27561        https://bugs.webkit.org/show_bug.cgi?id=58012
27562
27563        Block inline scripts at the ScriptElement layer.  This should catch
27564        exactly the scripts we want to catch.
27565
27566        Test: http/tests/security/contentSecurityPolicy/inline-script-blocked.html
27567
27568        * dom/Document.cpp:
27569        (WebCore::Document::processHttpEquiv):
27570            - This patch also adds the ability to supply a CSP policy via a
27571              <meta> tag.  We'll update the name of the header once we've
27572              finished implementing the spec.
27573        * dom/ScriptElement.cpp:
27574        (WebCore::ScriptElement::executeScript):
27575        * page/ContentSecurityPolicy.cpp:
27576        (WebCore::ContentSecurityPolicy::allowInlineScript):
27577        * page/ContentSecurityPolicy.h:
27578
275792011-04-07  Alice Boxhall  <aboxhall@chromium.org>
27580
27581        Reviewed by Ryosuke Niwa.
27582
27583        Move the MouseEventWithHitTestResults::targetNode() method on to EventHandler.
27584        https://bugs.webkit.org/show_bug.cgi?id=57921
27585
27586        Moves the MouseEventWithHitTestResults::targetNode() method on to EventHandler, so
27587        that the same logic can be used for a HitTestResult.
27588
27589        No visible changes, just cleanup, so no tests.
27590
27591        * page/EventHandler.cpp:
27592        (WebCore::EventHandler::selectClosestWordFromMouseEvent):
27593        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
27594        (WebCore::EventHandler::handleMousePressEventTripleClick):
27595        (WebCore::EventHandler::handleMousePressEventSingleClick):
27596        (WebCore::EventHandler::handleMousePressEvent):
27597        (WebCore::EventHandler::handleMouseDraggedEvent):
27598        (WebCore::EventHandler::handleMouseReleaseEvent):
27599        (WebCore::EventHandler::subframeForHitTestResult):
27600        Made public static member, so that it can access targetNode(), and be accessed by
27601        webkitwebview in gtk.
27602        (WebCore::EventHandler::selectCursor):
27603        (WebCore::EventHandler::targetNode):
27604        (WebCore::EventHandler::handleMouseDoubleClickEvent):
27605        (WebCore::EventHandler::handleMouseMoveEvent):
27606        (WebCore::EventHandler::updateDragAndDrop):
27607        (WebCore::EventHandler::sendContextMenuEvent):
27608        * page/EventHandler.h:
27609        * page/MouseEventWithHitTestResults.cpp:
27610        (WebCore::MouseEventWithHitTestResults::MouseEventWithHitTestResults):
27611        * page/MouseEventWithHitTestResults.h:
27612        * page/android/EventHandlerAndroid.cpp:
27613        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
27614        * page/brew/EventHandlerBrew.cpp:
27615        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
27616        * page/chromium/EventHandlerChromium.cpp:
27617        (WebCore::EventHandler::passMousePressEventToSubframe):
27618        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
27619        * page/efl/EventHandlerEfl.cpp:
27620        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
27621        * page/gtk/EventHandlerGtk.cpp:
27622        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
27623        * page/haiku/EventHandlerHaiku.cpp:
27624        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
27625        * page/mac/EventHandlerMac.mm:
27626        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
27627        (WebCore::EventHandler::passSubframeEventToSubframe):
27628        * page/wx/EventHandlerWx.cpp:
27629        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
27630
276312011-04-07  Pavel Podivilov  <podivilov@chromium.org>
27632
27633        Reviewed by Pavel Feldman.
27634
27635        Web Inspector: build mapping for formatted scripts based on keywords positions.
27636        https://bugs.webkit.org/show_bug.cgi?id=57936
27637
27638        Mapping based on [\$\.\w]+ was not accurate because string literals representation
27639        may be different in original and formatted scripts.
27640
27641        * inspector/front-end/ScriptFormatterWorker.js:
27642        (buildMapping.regexp.b):
27643        (buildMapping):
27644
276452011-04-07  Kent Tamura  <tkent@chromium.org>
27646
27647        Reviewed by Dimitri Glazkov.
27648
27649        Spinbuttons become unclickable if right padding is large.
27650        https://bugs.webkit.org/show_bug.cgi?id=56298
27651
27652        An inner-spin-button is put on the right border and ignores right
27653        padding in RenderTextControlSingleLine::layout(), but forwardEvent()
27654        checks if a point is in an area just right of an internal text block.
27655        This inconsistency caused a bug that an inner-spin-button with large
27656        padding didn't receive mouse events.
27657
27658        To fix this bug, we render spin buttons as layers, and remove manual
27659        event forwarding code.
27660
27661        Test: fast/forms/input-number-large-padding.html
27662
27663        * css/html.css: Add "position:relative" to make a spin-button a layer.
27664        (input::-webkit-inner-spin-button):
27665        (input::-webkit-outer-spin-button):
27666        * rendering/RenderTextControlSingleLine.cpp:
27667        (WebCore::RenderTextControlSingleLine::forwardEvent):
27668          Remove manual event forwarding code.
27669
276702011-04-06  Adam Barth  <abarth@webkit.org>
27671
27672        Reviewed by Eric Seidel.
27673
27674        CSP object-src should block plugin loads
27675        https://bugs.webkit.org/show_bug.cgi?id=57283
27676
27677        This change is pretty straight-forward.  It's slighly unclear to me
27678        whether this patch is correct w.r.t. the code in DocumentWriter.  I've
27679        added a FIXME comment, and I'll investigate that case more in the future.
27680
27681        Test: http/tests/security/contentSecurityPolicy/object-src-none.html
27682
27683        * loader/DocumentWriter.cpp:
27684        (WebCore::DocumentWriter::begin):
27685        * loader/SubframeLoader.cpp:
27686        (WebCore::SubframeLoader::requestPlugin):
27687        * page/ContentSecurityPolicy.cpp:
27688        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
27689        (WebCore::ContentSecurityPolicy::addDirective):
27690        * page/ContentSecurityPolicy.h:
27691
276922011-04-06  Beth Dakin  <bdakin@apple.com>
27693
27694        Reviewed by Dan Bernstein.
27695
27696        https://bugs.webkit.org/show_bug.cgi?id=58009
27697        Frame::scalePage() results in visual artifacts with scale factors less than 1
27698        -and corresponding-
27699        <rdar://problem/8683230>
27700
27701        Fall into the case where we fill with a background base color when there is a page
27702        scale factor that is less than 1.
27703        * rendering/RenderView.cpp:
27704        (WebCore::RenderView::paintBoxDecorations):
27705
277062011-04-06  Jer Noble  <jer.noble@apple.com>
27707
27708        Reviewed by Darin Adler.
27709
27710        AVF: MediaPlayerPrivateAVFoundationObjC should not use -[AVPlayerItem isPlaybackBufferEmpty]
27711        https://bugs.webkit.org/show_bug.cgi?id=57982
27712
27713        Query our cached loaded time array instead of asking AVPlayerItem if its buffer is empty.
27714
27715        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
27716        (WebCore::MediaPlayerPrivateAVFoundationObjC::playerItemStatus):
27717
277182011-04-06  Jer Noble  <jer.noble@apple.com>
27719
27720        Reviewed by Eric Carlson.
27721
27722        MediaPlayerPrivateAVFoundation does not change rate due to setRate().
27723        https://bugs.webkit.org/show_bug.cgi?id=57919
27724
27725        Test: media/video-set-rate-from-pause.html
27726
27727        The base class of MediaPlayerPrivateAVFoundation does not actually change the rate
27728        of the media; instead a subclass must do that work.  So when setRate() is called,
27729        inform a subclass through a new pure virtual updateRate() function that there's
27730        work to be done.
27731
27732        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
27733        (WebCore::MediaPlayerPrivateAVFoundation::setRate): Call updateRate()
27734        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
27735        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
27736        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
27737        (WebCore::MediaPlayerPrivateAVFoundationObjC::updateRate): Added.  Set the requested rate.
27738
277392011-04-06  Dai Mikurube  <dmikurube@chromium.org>
27740
27741        Reviewed by David Levin.
27742
27743        Add QUOTA build flag for unified quota API
27744        https://bugs.webkit.org/show_bug.cgi?id=57918
27745
27746        * Configurations/FeatureDefines.xcconfig: Added QUOTA build flag
27747        * GNUmakefile.am: Added QUOTA build flag
27748        * WebCore.pri: Added QUOTA build flag
27749
277502011-04-06  Stephanie Lewis  <slewis@apple.com>
27751
27752        Reviewed by Darin Adler.
27753
27754        https://bugs.webkit.org/show_bug.cgi?id=57997
27755        <rdar://problem/9187856> REGRESSION(r75555): ~5-7 MB increase in memory between iBench runs
27756        Navigating away from a Scrolled page which queues a scroll event that is never dispatched.
27757        Cancel all enqueued events when detaching the Document the events cannot keep the Document
27758        alive.
27759
27760        No change in functionality so no new tests.
27761
27762        * dom/Document.cpp:
27763        (WebCore::Document::detach):
27764        * dom/EventQueue.cpp:
27765        (WebCore::EventQueue::cancelQueuedEvents):
27766        * dom/EventQueue.h:
27767
277682011-04-06  Dan Bernstein  <mitz@apple.com>
27769
27770        Reviewed by Darin Adler.
27771
27772        <rdar://problem/9084761> REGRESSION (r73993): Default Arabic line spacing has gotten very loose when the specified font is not Arabic
27773        https://bugs.webkit.org/show_bug.cgi?id=58002
27774
27775        * platform/graphics/mac/SimpleFontDataMac.mm:
27776        (WebCore::SimpleFontData::platformInit): The version of Geeza Pro in Snow Leopard
27777        does not require the vertical metrics tweaks that were needed in Leopard. That the
27778        tweaks were being applied went mostly unnoticed until r73993, because until then it
27779        only affected cases where Geeza Pro was specified, not when it occurred as a fallback
27780        font.
27781
277822011-04-06  Roland Steiner  <rolandsteiner@chromium.org>
27783
27784        Reviewed by Dimitri Glazkov.
27785
27786        Bug 57994 - Move guardRef functionality back to Document
27787        https://bugs.webkit.org/show_bug.cgi?id=57994
27788
27789        Move the relevant code parts from TreeScope back into Document.
27790
27791        No new tests. (no new functionality)
27792
27793        * dom/Document.cpp:
27794        (WebCore::Document::removedLastRef):
27795        * dom/Document.h:
27796        * dom/TreeScope.cpp:
27797        (WebCore::TreeScope::destroyTreeScopeData):
27798        * dom/TreeScope.h:
27799
278002011-04-06  Ian Henderson  <ianh@apple.com>
27801
27802        Reviewed by Simon Fraser, Antti Koivisto.
27803
27804        Fast path for parsing simple CSS values
27805        https://bugs.webkit.org/show_bug.cgi?id=57964
27806
27807        Add functions to parse simple color or dimension values, skipping the
27808        overhead of full CSS parsing.
27809
27810        Change parseValue to a static method to avoid unnecessary allocation
27811        of a CSSParser in the fast case.
27812
27813        * css/CSSMutableStyleDeclaration.cpp:
27814        (WebCore::CSSMutableStyleDeclaration::setProperty):
27815        Changed to use the new, static parseValue method.
27816        * css/CSSParser.cpp:
27817        (WebCore::isColorPropertyID):
27818        (WebCore::parseColorValue):
27819        Parses any color accepted by the existing parseColor() static method.
27820        We must handle color identifiers separately, since parseColor() will
27821        change 'red' into 'rgb(255, 0, 0)'.
27822        (WebCore::isSimpleLengthPropertyID):
27823        (WebCore::parseSimpleLengthValue):
27824        Parses a value of the form 'NNpx', 'NN%', or 'NN' (when strict is
27825        false, or 'NN' is '0').  Returns false to fall back to the slow path.
27826        (WebCore::CSSParser::parseValue):
27827        * css/CSSParser.h:
27828        * css/WebKitCSSMatrix.cpp:
27829        (WebCore::WebKitCSSMatrix::setMatrixValue):
27830        Changed to use the new, static parseValue method.
27831
278322011-04-06  Kevin Ollivier  <kevino@theolliviers.com>
27833
27834        Reviewed by Darin Adler.
27835
27836        Make sure JS_EXPORT_PRIVATE is an empty define when we aren't using the export macros.
27837
27838        https://bugs.webkit.org/show_bug.cgi?id=27551
27839
27840        * config.h:
27841
278422011-04-06  Simon Fraser  <simon.fraser@apple.com>
27843
27844        Reviewed by Antti Koivisto.
27845
27846        Some minor style resolution optimizations
27847        https://bugs.webkit.org/show_bug.cgi?id=57996
27848
27849        A couple of minor optimizations to style-related code.
27850
27851        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
27852        (WebCore::isCSSPropertyName):
27853        (WebCore::JSCSSStyleDeclaration::putDelegate):
27854        Avoid calling cssPropertyName() twice when setting style on an element.
27855
27856        * css/CSSStyleSelector.cpp:
27857        (WebCore::useSVGZoomRules):
27858        (WebCore::CSSStyleSelector::applyProperty):
27859        Avoid calling isSVGElement() for every property, since only a two properties
27860        care about it.
27861
278622011-04-06  Ian Henderson  <ianh@apple.com>
27863
27864        Reviewed by Antti Koivisto.
27865
27866        Unnecessary string allocation in CSSStyleDeclaration::setProperty
27867        https://bugs.webkit.org/show_bug.cgi?id=57995
27868
27869        Pass the bool representing the property's importance directly instead
27870        of constructing a string.
27871
27872        * css/CSSStyleDeclaration.cpp:
27873        (WebCore::CSSStyleDeclaration::setProperty):
27874
278752011-04-06  Leandro Gracia Gil  <leandrogracia@chromium.org>
27876
27877        Reviewed by Steve Block.
27878
27879        Make the style of createFunctionOnlyCallback in V8 consistent with the JavaScriptCore version.
27880        https://bugs.webkit.org/show_bug.cgi?id=57963
27881
27882        No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
27883
27884        * bindings/v8/V8Utilities.h:
27885        (WebCore::createFunctionOnlyCallback):
27886        * bindings/v8/custom/V8GeolocationCustom.cpp:
27887        (WebCore::V8Geolocation::getCurrentPositionCallback):
27888        (WebCore::V8Geolocation::watchPositionCallback):
27889
278902011-04-06  Brian Weinstein  <bweinstein@apple.com>
27891
27892        Reviewed by Adam Roben.
27893
27894        WebKit2: Support Windows 7 Gestures
27895        https://bugs.webkit.org/show_bug.cgi?id=49824
27896        <rdar://problem/8689728>
27897
27898        Move WindowTouch.h from WebKit/win, so it can be used in both WebKit and WebKit2.
27899
27900        * WebCore.vcproj/WebCore.vcproj:
27901        * platform/win/WindowsTouch.h: Copied from WebKit/win/WindowsTouch.h.
27902
279032011-04-06  Alexis Menard  <alexis.menard@openbossa.org>
27904
27905        Reviewed by Andreas Kling.
27906
27907        [Qt] We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
27908        https://bugs.webkit.org/show_bug.cgi?id=57974
27909
27910        We should use USE(QT_MULTIMEDIA) rather than ENABLE(QT_MULTIMEDIA).
27911
27912        No new tests needed, just a config flag rename.
27913
27914        * features.pri:
27915
279162011-04-06  Tyler Close  <tjclose@chromium.org>
27917
27918        Reviewed by Nate Chapin.
27919
27920        run-bindings-tests reference files out of sync with CodeGenerator*.pm
27921        https://bugs.webkit.org/show_bug.cgi?id=57967
27922
27923        * bindings/scripts/test/V8/V8TestCallback.cpp:
27924
279252011-04-06  Asanka Herath  <asanka@chromium.org>
27926
27927        Reviewed by Darin Fisher.
27928
27929        Add new TargetType: TargetIsFavicon
27930
27931        https://bugs.webkit.org/show_bug.cgi?id=57659
27932
27933        No new functionality added, so no additional tests.
27934
27935        * platform/network/ResourceRequestBase.h:
27936
279372011-04-06  David Hyatt  <hyatt@apple.com>
27938
27939        Reviewed by Simon Fraser.
27940
27941        https://bugs.webkit.org/show_bug.cgi?id=57981
27942
27943        Update the column count and width computation algorithm for CSS3 multi-column layout
27944        to match the revised pseudo-algorithm in the latest draft of the spec.
27945
27946        * rendering/RenderBlock.cpp:
27947        (WebCore::RenderBlock::calcColumnWidth):
27948
279492011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
27950
27951        Reviewed by Eric Seidel.
27952
27953        borderPaddingMarginStart and borderPaddingMarginEnd should take RenderInline
27954        https://bugs.webkit.org/show_bug.cgi?id=57965
27955
27956        Changed the argument types of borderPaddingMarginStart and borderPaddingMarginEnd
27957        from RenderBoxModelObject to RenderInline since they call marginStart and marginEnd
27958        instead of marginStartForChild and marginEndForChild respectively.
27959
27960        Calling these two functions on RenderInline is okay because writing-mode cannot differ
27961        from that of the containing block.
27962
27963        * rendering/RenderBlockLineLayout.cpp:
27964        (WebCore::borderPaddingMarginStart):
27965        (WebCore::borderPaddingMarginEnd):
27966        (WebCore::inlineLogicalWidth):
27967
279682011-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
27969
27970        Unreviewed, rolling out r83039.
27971        http://trac.webkit.org/changeset/83039
27972        https://bugs.webkit.org/show_bug.cgi?id=57978
27973
27974        introduced a new regression in conjunction to
27975        ReplaceSelectionCommand (Requested by rniwa on #webkit).
27976
27977        * editing/EditingStyle.cpp:
27978        (WebCore::EditingStyle::init):
27979        * editing/InsertParagraphSeparatorCommand.cpp:
27980        (WebCore::InsertParagraphSeparatorCommand::doApply):
27981
279822011-04-06  Naoki Takano  <takano.naoki@gmail.com>
27983
27984        Reviewed by David Levin.
27985
27986        Webkit ignores PgUp/PgDown/Home/End in SELECT tag objects
27987        https://bugs.webkit.org/show_bug.cgi?id=27658
27988
27989        Test: fast/events/select-element.html
27990
27991        * dom/SelectElement.cpp:
27992        (WebCore::nextValidIndex): Moved from elsewhere in the file to be used by other routines.
27993        (WebCore::nextSelectableListIndexPageAway): Returns a selectable index one page away from the given index.
27994        (WebCore::nextSelectableListIndex): Implemented with nextValidIndex.
27995        And converted to a normal static function from a private function of SelectElement.
27996        (WebCore::previousSelectableListIndex): Implemented with nextValidIndex.
27997        And converted to a normal static function from a private function of SelectElement.
27998        (WebCore::firstSelectableListIndex): Returns the first selectable index.
27999        (WebCore::lastSelectableListIndex): Returns the last selectable index.
28000        (WebCore::SelectElement::menuListDefaultEventHandler): Converted from C cast to C++ cast.
28001        (WebCore::SelectElement::listBoxDefaultEventHandler): Adds support for PageUp/PageDown/Home/End with both single and multiple selection.
28002
28003        * dom/SelectElement.h:
28004        (WebCore::SelectElement::): Remove nextSelectableListIndex() and previousSelectableListIndex().
28005
28006        * rendering/RenderListBox.h: Makes RenderListBox::size public so that PageUp/PageDown behavior can use the actual list size rather than that specified in HTML.
28007        They can differ due to the minimum size imposed by RenderListBox.
28008
280092011-04-06  David Hyatt  <hyatt@apple.com>
28010
28011        Reviewed by Dan Bernstein.
28012
28013        https://bugs.webkit.org/show_bug.cgi?id=57975
28014
28015        The "More..." link for line clamping no longer shows up in Safari RSS. Fix the isLink() check
28016        to just look at the style, so that it can find the InlineTextBox and not care that it's a child
28017        of the link element and not the line box for the link element itself (since that line box got
28018        culled).
28019
28020        * rendering/RenderFlexibleBox.cpp:
28021        (WebCore::RenderFlexibleBox::applyLineClamp):
28022
280232011-04-06  Brady Eidson  <beidson@apple.com>
28024
28025        Reviewed by Anders Carlsson.
28026
28027        https://bugs.webkit.org/show_bug.cgi?id=57973 and https://bugs.webkit.org/show_bug.cgi?id=57973
28028        WK2 icon database should be able to get a CGImage of a specific size
28029
28030        * platform/graphics/BitmapImage.h:
28031        * platform/graphics/Image.h:
28032        (WebCore::Image::getFirstCGImageRefOfSize):
28033
28034        * platform/graphics/cg/ImageCG.cpp:
28035        (WebCore::BitmapImage::getFirstCGImageRefOfSize): Walk the frames of the image until reaching the
28036          first frame of the requested size.
28037
280382011-04-06  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
28039
28040        Reviewed by Kevin Ollivier.
28041
28042        [wx] Fix cursor handling so that we always call the chrome to set it.
28043
28044        https://bugs.webkit.org/show_bug.cgi?id=57972
28045
28046        * platform/wx/WidgetWx.cpp:
28047        (WebCore::Widget::setCursor):
28048
280492011-04-06  David Hyatt  <hyatt@apple.com>
28050
28051        Reviewed by Dan Bernstein.
28052
28053        https://bugs.webkit.org/show_bug.cgi?id=41445
28054
28055        Visited links painting with black background. Make sure that if the visited style has
28056        the initial background color (transparent) set that we just use the unvisited color.
28057
28058        Added fast/history/visited-link-background-color.html
28059
28060        * rendering/style/RenderStyle.cpp:
28061        (WebCore::RenderStyle::visitedDependentColor):
28062
280632011-04-06  Csaba Osztrogonác  <ossy@webkit.org>
28064
28065        Unreviewed Qt buildfix after r83079.
28066
28067        * WebCore.pro:
28068
280692011-04-06  Dean Jackson  <dino@apple.com>
28070
28071        Reviewed by Chris Marrin.
28072
28073        https://bugs.webkit.org/show_bug.cgi?id=56936
28074        Crash in ImplicitAnimation::~ImplicitAnimation
28075
28076        Make sure the style and start time waiting lists
28077        are cleared in the CompositeAnimation destructor. This
28078        way, no running transitions can be left in a state
28079        where they are destroyed as the AnimationControllerPrivate
28080        cleans up.
28081
28082        * page/animation/CompositeAnimation.cpp:
28083        (WebCore::CompositeAnimation::~CompositeAnimation):
28084
280852011-04-06  Robert Sesek  <rsesek@chromium.org>
28086
28087        Reviewed by Alexey Proskuryakov.
28088
28089        Move code duplicated between the WebKit/mac and WebKit2 down to WebCore because Chromium will need it too
28090        https://bugs.webkit.org/show_bug.cgi?id=54969
28091
28092        No change in behavior; no new tests.
28093
28094        * editing/TextIterator.cpp:
28095        (WebCore::TextIterator::locationAndLengthFromRange): New method from duplicated code in WebKits
28096        * editing/TextIterator.h:
28097        * page/Frame.cpp:
28098        (WebCore::Frame::rangeForPoint): New method from duplicated code in WebKits
28099
281002011-04-06  Leandro Gracia Gil  <leandrogracia@chromium.org>
28101
28102        Reviewed by Steve Block.
28103
28104        Factoring the creation of 'FunctionOnly' callbacks in JavaScriptCore.
28105        https://bugs.webkit.org/show_bug.cgi?id=57770
28106
28107        Create a template from an existing functionality in JSGeolocationCustom.cpp
28108        to be used by the custom bindings of both Geolocation and the Media Stream API.
28109        V8 version of this bug: https://bugs.webkit.org/show_bug.cgi?id=57760
28110
28111        No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
28112
28113        * Android.jscbindings.mk:
28114        * CMakeLists.txt:
28115        * GNUmakefile.am:
28116        * WebCore.gypi:
28117        * WebCore.pro:
28118        * WebCore.vcproj/WebCore.vcproj:
28119        * WebCore.xcodeproj/project.pbxproj:
28120        * bindings/js/CallbackFunction.cpp: Added.
28121        (WebCore::checkFunctionOnlyCallback):
28122        * bindings/js/CallbackFunction.h: Added.
28123        (WebCore::createFunctionOnlyCallback):
28124        * bindings/js/JSBindingsAllInOne.cpp:
28125        * bindings/js/JSGeolocationCustom.cpp:
28126        (WebCore::JSGeolocation::getCurrentPosition):
28127        (WebCore::JSGeolocation::watchPosition):
28128
281292011-04-06  Alexis Menard  <alexis.menard@openbossa.org>
28130
28131        Reviewed by Andreas Kling.
28132
28133        [Qt] Implement fullscreen playback for the GStreamer backend.
28134        https://bugs.webkit.org/show_bug.cgi?id=56826
28135
28136        Implement support for fullscreen playback when building the
28137        Qt port with the GStreamer backend (DEFINES+=USE_GSTREAMER=1).
28138        The implementation is done in FullScreenVideoQt alongside with
28139        the Qt Multimedia support.
28140
28141        No new tests because layout tests cover it. They are not yet activated
28142        but will be any time soon.
28143
28144        * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
28145        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
28146        (FullScreenVideoWindow::FullScreenVideoWindow):
28147        (FullScreenVideoWindow::setVideoElement):
28148        (FullScreenVideoWindow::closeEvent):
28149        (FullScreenVideoWindow::keyPressEvent):
28150        (FullScreenVideoWindow::event):
28151        (FullScreenVideoWindow::showFullScreen):
28152        (FullScreenVideoWindow::hideCursor):
28153        (FullScreenVideoWindow::showCursor):
28154
281552011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
28156
28157        Reviewed by Dimitri Glazkov.
28158
28159        Bundle lineLeftOffset and lineRightOffset as a class
28160        https://bugs.webkit.org/show_bug.cgi?id=57851
28161
28162        Added a new class LineOffsets that encapsulates lineLeftOffset and lineRightOffset.
28163        The patch makes clear that lineLeftOffset and lineRightOffset are never read individually
28164        and only the difference is used to compute the width.
28165
28166        * rendering/RenderBlock.h:
28167        * rendering/RenderBlockLineLayout.cpp:
28168        (WebCore::RenderBlock::skipLeadingWhitespace): Takes LineOffsets instead of two integers.
28169        (WebCore::LineOffsets::LineOffsets): Added.
28170        (WebCore::LineOffsets::width): Added.
28171        (WebCore::LineOffsets::setLeft): Added.
28172        (WebCore::LineOffsets::setRight): Added.
28173        (WebCore::RenderBlock::findNextLineBreak): Calls skipLeadingWhitespace and positionNewFloatOnLine.
28174        (WebCore::RenderBlock::positionNewFloatOnLine): Takes LineOffsets instead of two integers.
28175
281762011-04-06  David Hyatt  <hyatt@apple.com>
28177
28178        Reviewed by Dan Bernstein.
28179
28180        https://bugs.webkit.org/show_bug.cgi?id=57916
28181
28182        Implement an optimization to the line box tree to cull out most of the intermediate
28183        line boxes that can occur between the root line box and the leaves of the tree (images
28184        and text).
28185
28186        RenderInlines now have a boolean member, m_alwaysCreateLineBoxes,
28187        that starts off as false. Only if it gets flipped to true will there be any line boxes
28188        created for that RenderInline.
28189
28190        * page/FocusController.cpp:
28191        (WebCore::FocusController::advanceFocusDirectionally):
28192        Adjust the ordering of updateLayout calls to make sure rects aren't queried unless layout
28193        is up to date.
28194
28195        * page/SpatialNavigation.cpp:
28196        (WebCore::hasOffscreenRect):
28197        (WebCore::nodeRectInAbsoluteCoordinates):
28198        Add asserts in spatial navigation code to catch any future bad queries that might be made
28199        for rectangles without layout being up to date.
28200
28201        * platform/graphics/FloatRect.cpp:
28202        (WebCore::FloatRect::uniteIfNonZero):
28203        * platform/graphics/FloatRect.h:
28204        * platform/graphics/IntRect.cpp:
28205        (WebCore::IntRect::uniteIfNonZero):
28206        * platform/graphics/IntRect.h:
28207        Add a new unite function that is useful for the render tree to FloatRect and IntRect.  This
28208        version allows rect unites to happen if either width or height is nonzero.
28209
28210        * rendering/HitTestResult.cpp:
28211        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
28212        Make sure rect-based hit testing properly adds in culled inline ancestors to the set of nodes
28213        if content inside those inlines is hit.
28214
28215        * rendering/InlineBox.h:
28216        (WebCore::InlineBox::logicalFrameRect):
28217        Fix a bug in this function for obtaining the logical frame rect of an inline box.
28218
28219        * rendering/InlineFlowBox.cpp:
28220        (WebCore::InlineFlowBox::addToLine):
28221        addToLine now also checks line gap in the line box tree optimization checks.
28222
28223        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
28224        (WebCore::InlineFlowBox::computeOverflow):
28225        * rendering/InlineFlowBox.h:
28226        Rewritten to add the text box overflow to the text box itself.
28227
28228         * rendering/InlineTextBox.cpp:
28229        (WebCore::InlineTextBox::destroy):
28230        Destroy has been changed to call a helper function to remove and destroy the line boxes that
28231        is now called from one additional spot.
28232
28233        (WebCore::InlineTextBox::logicalOverflowRect):
28234        (WebCore::InlineTextBox::setLogicalOverflowRect):
28235        Text boxes now cache their own overflow in a global hash table.
28236
28237        (WebCore::InlineTextBox::baselinePosition):
28238        (WebCore::InlineTextBox::lineHeight):
28239        Changed to not assume that the parent line box's renderer is the RenderText's immediate
28240        parent, since intermediate line boxes may have been culled.
28241
28242        (WebCore::InlineTextBox::paint):
28243        Paint now properly checks only the text box overflow instead of the parent line box's overflow.
28244
28245        * rendering/InlineTextBox.h:
28246        (WebCore::InlineTextBox::logicalTopVisualOverflow):
28247        (WebCore::InlineTextBox::logicalBottomVisualOverflow):
28248        (WebCore::InlineTextBox::logicalLeftVisualOverflow):
28249        (WebCore::InlineTextBox::logicalRightVisualOverflow):
28250        New accessors to obtain overflow for inline text boxes.
28251
28252        * rendering/RenderBlock.cpp:
28253        (WebCore::RenderBlock::updateFirstLetter):
28254        updateFirstLetter now removes text boxes from the line box tree before it destroys them, since those
28255        text boxes may not have anything in between them and the block that contains the inline first letter
28256        container.
28257
28258        * rendering/RenderBlockLineLayout.cpp:
28259        (WebCore::RenderBlock::createLineBoxes):
28260        The culling optimization is done here.  Only if the RenderInline says that boxes are allowed will they
28261        be created.
28262
28263        (WebCore::RenderBlock::layoutInlineChildren):
28264        The state of the RenderInline is updated here, in case it is discovered that line boxes are now needed.
28265        This is done before any lines are built.
28266
28267        * rendering/RenderInline.cpp:
28268        (WebCore::RenderInline::RenderInline):
28269        The new m_alwaysCreateLineBoxes flag has been added to the constructor.
28270
28271        (WebCore::RenderInline::styleDidChange):
28272        An initial update of the m_alwaysCreateLineBoxes happens here for things that can be checked immediately
28273        (like having a layer, borders, padding, margins or backgrounds).  Some checks that depend on examining
28274        the RenderInline's parent (including first line styles) happen later in layoutInlineChildren.
28275
28276        (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
28277        The function called by layoutInlineChildren to check parent and child style differences (e.g., font,
28278        vertical alignment, line height, etc.).
28279
28280        (WebCore::RenderInline::absoluteRects):
28281        (WebCore::RenderInline::culledInlineAbsoluteRects):
28282        absoluteRects calls culledInlineAbsoluteRects when m_alwaysCreateLineBoxes is false.
28283
28284        (WebCore::RenderInline::absoluteQuads):
28285        (WebCore::RenderInline::culledInlineAbsoluteQuads):
28286        absoluteQuads calls culledInlineAbsoluteQuads when m_alwaysCreateLineBoxes is false.
28287
28288        (WebCore::RenderInline::offsetLeft):
28289        (WebCore::RenderInline::offsetTop):
28290        offsetLeft and offsetTop now check descendant renderers when m_alwaysCreateLineBoxes is false.
28291
28292        (WebCore::RenderInline::linesBoundingBox):
28293        (WebCore::RenderInline::culledInlineBoundingBox):
28294        lineBoundingBox calls culledInlineBoundingBox when m_alwaysCreateLineBoxes is false.
28295
28296        (WebCore::RenderInline::culledInlineFirstLineBox):
28297        (WebCore::RenderInline::culledInlineLastLineBox):
28298        Helpers that return the first and last line box descendants. Used by firstLineBoxIncludingCulling and
28299        lastLineBoxIncludingCulling (which are in turn called by offsetLeft and offsetTop).
28300
28301        (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
28302        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
28303        linesVisualOverflowBoundingBox calls culledInlineVisualOverflowBoundingBox when m_alwaysCreateLineBoxes is false.
28304
28305        (WebCore::RenderInline::clippedOverflowRectForRepaint):
28306        The initial bailout check is now done using firstLineBoxIncludingCulling instead of just firstLineBox.
28307
28308        (WebCore::RenderInline::dirtyLineBoxes):
28309        dirtyLineBoxes now crawls into descendants to figure out which root lines to dirty when
28310        m_alwaysCreateLineBoxes is false.
28311
28312        (WebCore::RenderInline::createAndAppendInlineFlowBox):
28313        Clear the m_alwaysCreateLineBoxes if a box gets added anyway. This happens for leaf inline flows and also
28314        when line-box-contain is set to an unusual value.
28315
28316        (WebCore::RenderInline::addFocusRingRects):
28317        Used culledInlineAbsoluteRects in place of the line box walk when m_alwaysCreateLineBoxes is false.
28318
28319        * rendering/RenderInline.h:
28320        (WebCore::RenderInline::firstLineBoxIncludingCulling):
28321        (WebCore::RenderInline::lastLineBoxIncludingCulling):
28322        Helpers used in a few places (like offsetLeft and offsetTop), mostly in places where the existence of a box
28323        is all that needs checking.
28324
28325        (WebCore::RenderInline::alwaysCreateLineBoxes):
28326        (WebCore::RenderInline::setAlwaysCreateLineBoxes):
28327        Functions for getting and setting the m_alwaysCreateLineBoxes flag.
28328
28329        * rendering/RenderLineBoxList.cpp:
28330        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
28331        Modified to use firstLineBoxIncludingCulling and lastLineBoxIncludingCulling to ensure the right set of
28332        lines get dirtied.
28333
28334        * rendering/RenderText.cpp:
28335        (WebCore::RenderText::removeAndDestroyTextBoxes):
28336        New helper invoked by destroy and also from updateFirstLetter.
28337
28338        (WebCore::RenderText::destroy):
28339        Changed to call removeAndDestroyTextBoxes.
28340
28341        (WebCore::RenderText::absoluteRects):
28342        Fixed to be properly physical instead of logical.
28343
28344        (WebCore::RenderText::linesVisualOverflowBoundingBox):
28345        New implementation for RenderText that gives the bounding box of the text boxes including overflow from
28346        shadows, glyphs, text-stroke, etc.  Used by RenderInline::culledInlineVisualOverflowBoundingBox.
28347
28348        * rendering/RenderText.h:
28349        * rendering/svg/RenderSVGInline.cpp:
28350        (WebCore::RenderSVGInline::RenderSVGInline):
28351        RenderSVGInline always sets m_alwaysCreateLineBoxes to true so that SVG is unaffected by this optimization.
28352
28353        * rendering/svg/SVGRootInlineBox.cpp:
28354        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
28355        (WebCore::SVGRootInlineBox::layoutChildBoxes):
28356        Move the isInlineFlowBox asserts to after the generated content skips, since the generated content boxes are
28357        now InlineTextBoxes (the enclosing InlineFlowBoxes got culled).
28358
283592011-04-05  Enrica Casucci  <enrica@apple.com>
28360
28361        Reviewed by Darin Adler.
28362
28363        REGRESSION: Drag & Drop Gmail Attachments doesn't work.
28364        https://bugs.webkit.org/show_bug.cgi?id=57909
28365        <rdar://problem/9103220>
28366
28367        In WebKit2 we cannot rely on the value returned by platformData() that
28368        on Mac returns an NSDraggingInfo object. This is available only in the UI
28369        process. Therefore we should use m_pasteboard instead.
28370        We cannot change what platformData() returns on Mac, since there are
28371        delegate methods that receive a NSDraggingInfo object (only in WebKit).
28372
28373        * platform/DragData.h:
28374        (WebCore::DragData::pasteboard): Added.
28375        * platform/mac/ClipboardMac.mm:
28376        (WebCore::Clipboard::create): Changed to use pasteboard() instead of platformData().
28377        * platform/mac/DragDataMac.mm:
28378        (WebCore::DragData::asColor): Replaced references to m_platformData with m_pasteboard.
28379        (WebCore::DragData::asURL): Same as above.
28380
283812011-04-06  Benjamin Poulain  <benjamin.poulain@nokia.com>
28382
28383        Reviewed by Darin Adler.
28384
28385        ClipboardWin has unused variables "ExceptionCode ec"
28386        https://bugs.webkit.org/show_bug.cgi?id=57952
28387
28388        Remove the unused variable.
28389
28390        * platform/win/ClipboardWin.cpp:
28391        (WebCore::ClipboardWin::declareAndWriteDragImage):
28392        (WebCore::ClipboardWin::writePlainText):
28393
283942011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
28395
28396        Reviewed by Dimitri Glazkov.
28397
28398        Split getBorderPaddingMargin into two functions
28399        https://bugs.webkit.org/show_bug.cgi?id=57947
28400
28401        * rendering/RenderBlockLineLayout.cpp:
28402        (WebCore::borderPaddingMarginStart): Extracted from getBorderPaddingMargin.
28403        (WebCore::borderPaddingMarginEnd): Ditto.
28404        (WebCore::inlineLogicalWidth): Calls borderPaddingMarginStart and borderPaddingMarginEnd.
28405        (WebCore::RenderBlock::findNextLineBreak): Ditto.
28406
284072011-04-06  MORITA Hajime  <morrita@google.com>
28408
28409        Reviewed by Dimitri Glazkov.
28410
28411        [Refactoring] <progress> should not have manual layout code.
28412        https://bugs.webkit.org/show_bug.cgi?id=57801
28413
28414        - Simplified RenderProgress, removing its custom layout code
28415        - Introducing ProgressValueElement and ProgressBarElement, replacing
28416          ProgressBarValueElement.
28417
28418        Now the structure is almost identical to <meter>,
28419        other than:
28420        - RenderProgress has animated painting, thus manages its own timer.
28421        - Both ProgressValueElement and ProgressBarElement has pseudo classes
28422          which don't changes during its lifetime.
28423
28424        * Android.mk:
28425        * CMakeLists.txt:
28426        * GNUmakefile.am:
28427        * WebCore.gypi:
28428        * WebCore.pro:
28429        * WebCore.vcproj/WebCore.vcproj:
28430        * WebCore.xcodeproj/project.pbxproj:
28431        * css/html.css:
28432        (progress):
28433        (progress::-webkit-progress-bar):
28434        (progress::-webkit-progress-value):
28435        * html/HTMLProgressElement.cpp:
28436        (WebCore::HTMLProgressElement::~HTMLProgressElement):
28437        (WebCore::HTMLProgressElement::create):
28438        (WebCore::HTMLProgressElement::attach):
28439        (WebCore::HTMLProgressElement::didElementStateChange):
28440        (WebCore::HTMLProgressElement::createShadowSubtree):
28441        * html/HTMLProgressElement.h:
28442        * html/shadow/ProgressShadowElement.cpp: Copied from Source/WebCore/html/shadow/ProgressBarValueElement.h.
28443        (WebCore::ProgressShadowElement::ProgressShadowElement):
28444        (WebCore::ProgressShadowElement::progressElement):
28445        (WebCore::ProgressShadowElement::rendererIsNeeded):
28446        (WebCore::ProgressBarElement::shadowPseudoId):
28447        (WebCore::ProgressValueElement::shadowPseudoId):
28448        (WebCore::ProgressValueElement::setWidthPercentage):
28449        * html/shadow/ProgressShadowElement.h: Renamed from Source/WebCore/html/shadow/ProgressBarValueElement.h.
28450        (WebCore::ProgressBarElement::ProgressBarElement):
28451        (WebCore::ProgressBarElement::create):
28452        (WebCore::ProgressValueElement::ProgressValueElement):
28453        (WebCore::ProgressValueElement::create):
28454        * rendering/RenderProgress.cpp:
28455        (WebCore::RenderProgress::RenderProgress):
28456        (WebCore::RenderProgress::updateFromElement):
28457        (WebCore::RenderProgress::animationTimerFired):
28458        * rendering/RenderProgress.h:
28459        (WebCore::RenderProgress::requiresForcedStyleRecalcPropagation):
28460        (WebCore::RenderProgress::canHaveChildren):
28461
284622011-04-06  Mario Sanchez Prada  <msanchez@igalia.com>
28463
28464        Reviewed by Chris Fleizach.
28465
28466        [GTK] Do not reference AccessibilityRenderObject from platform dependent code
28467        https://bugs.webkit.org/show_bug.cgi?id=57955
28468
28469        Do not reference AccessibilityRenderObject from platform specific code
28470
28471        Added new virtual functions to AccessibilityObject.h and removed
28472        explicit references to AccessibilityRenderObject from GTK code.
28473
28474        * accessibility/AccessibilityObject.h:
28475        (WebCore::AccessibilityObject::renderer): New virtual method,
28476        returning 0 by default. Overriden by AccessibilityRenderObject.
28477        (WebCore::AccessibilityObject::correspondingLabelForControlElement):
28478        New virtual method, returning 0 by default. It complements the
28479        already present method correspondingControlForLabelElement().
28480
28481        * accessibility/AccessibilityRenderObject.h:
28482        (WebCore::AccessibilityRenderObject::renderer): Made virtual.
28483
28484        * accessibility/gtk/AXObjectCacheAtk.cpp:
28485        (WebCore::emitTextChanged): Reference  AccessibilityObject,
28486        instead of AccessibilityRenderObject.
28487        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
28488        Ditto.
28489
28490        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
28491        (webkit_accessible_get_name): Do not reference
28492        AccessibilityRenderObject.
28493        (webkit_accessible_get_description): Ditto.
28494        (setAtkRelationSetFromCoreObject): Ditto.
28495        (optionFromList): Ditto.
28496        (optionFromSelection): Ditto.
28497        (webkit_accessible_selection_clear_selection): Ditto.
28498        (webkit_accessible_selection_get_selection_count): Ditto.
28499        (webkit_accessible_selection_select_all_selection): Ditto.
28500        (textForObject): Ditto.
28501        (webkit_accessible_text_get_text): Ditto.
28502        (getPangoLayoutForAtk): Ditto.
28503        (webkit_accessible_text_get_caret_offset): Ditto.
28504        (baselinePositionForRenderObject): Ditto.
28505        (getAttributeSetForAccessibilityObject): Ditto.
28506        (accessibilityObjectLength): Ditto.
28507        (getSelectionOffsetsForObject): Ditto.
28508        (webkit_accessible_text_set_selection): Ditto.
28509        (webkit_accessible_text_set_caret_offset): Ditto.
28510        (webkit_accessible_table_get_caption): Ditto.
28511        (getInterfaceMaskFromObject): Ditto.
28512
28513        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
28514        (getRangeLengthForObject): Ditto.
28515
28516        Removed unused renderer() method from AccessibilityMenuList.
28517
28518        * accessibility/AccessibilityMenuList.h: Removed unused method.
28519        * accessibility/AccessibilityMenuList.cpp: Removed unused method.
28520
285212011-04-06  Alexander Pavlov  <apavlov@chromium.org>
28522
28523        Reviewed by Pavel Feldman.
28524
28525        Web Inspector: Javascipt warning link expand and overlap with icons in js console
28526        https://bugs.webkit.org/show_bug.cgi?id=57939
28527
28528        * inspector/front-end/inspector.js:
28529        (WebInspector.linkifyURLAsNode):
28530
285312011-04-06  Alexander Pavlov  <apavlov@chromium.org>
28532
28533        Reviewed by Pavel Feldman.
28534
28535        Web Inspector: Beautify parameter names in Inspector.json (CSS domain)
28536        https://bugs.webkit.org/show_bug.cgi?id=57931
28537
28538        * inspector/Inspector.json:
28539
285402011-04-06  Jia Pu  <jpu@apple.com>
28541
28542        Reviewed by Darin Adler.
28543
28544        [Mac] WebCore need to notify AppKit spell checker after user has modified autocorrected text.
28545        https://bugs.webkit.org/show_bug.cgi?id=57665
28546        <rdar://problem/7350477>
28547
28548        We need to track how user modified an autocorrected word. If he changed it back to original
28549        text, we want to record AutocorrectionReverted response. And if he changed it to something
28550        else, we want to record AutocorrectionEdited response.
28551
28552        To achieve this, we need to distringuish between text replacement caused by autocorrection
28553        from that due to other causes, such as reversion, text substitution, etc. So we added a new
28554        marker type "Autocorrected". We also need to be able to check for correction, even when we
28555        don't intend to actually carry out replacement. For this, we introduced a new TextCheckingOption
28556        value, "CheckForCorrection".
28557
28558        We also added DocumentMarkerController::markersInRange() to retrieve a vector of markers in
28559        specified range, and of specified type.
28560
28561        * dom/DocumentMarker.h:
28562        * dom/DocumentMarkerController.cpp:
28563        (WebCore::DocumentMarkerController::markersInRange):
28564        (WebCore::DocumentMarkerController::hasMarkers):
28565        * dom/DocumentMarkerController.h:
28566        * editing/Editor.cpp:
28567        (WebCore::markerTypesForAutocorrection):
28568        (WebCore::markersHaveIdenticalDescription):
28569        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
28570        (WebCore::Editor::recordSpellcheckerResponseForModifiedCorrection):
28571        (WebCore::Editor::changeBackToReplacedString):
28572        (WebCore::Editor::markMisspellingsAndBadGrammar):
28573        (WebCore::Editor::applyCorrectionPanelInfo):
28574        (WebCore::Editor::unappliedSpellCorrection):
28575        (WebCore::Editor::textCheckingTypeMaskFor):
28576        * editing/Editor.h:
28577        * editing/SpellingCorrectionCommand.cpp:
28578        (WebCore::SpellingCorrectionCommand::doApply):
28579
285802011-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
28581
28582        Unreviewed, rolling out r83045.
28583        http://trac.webkit.org/changeset/83045
28584        https://bugs.webkit.org/show_bug.cgi?id=57953
28585
28586        Broke win layout tests (Requested by podivilov on #webkit).
28587
28588        * GNUmakefile.am:
28589        * inspector/front-end/DebuggerPresentationModel.js:
28590        (WebInspector.DebuggerPresentationModel.prototype._addScript):
28591        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
28592
285932011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
28594
28595        Moved the declaration of positionNewFloatOnLine in RenderBlock.h after r83042.
28596
28597        * rendering/RenderBlock.h:
28598
285992011-03-27  Diego Gonzalez  <diegohcg@webkit.org>
28600
28601        Reviewed by Kenneth Rohde Christiansen.
28602
28603        [Qt] Re-draw the <input> fields for Qt Mobile Theme to do not override elements already styled.
28604        https://bugs.webkit.org/show_bug.cgi?id=57007
28605
28606        * CodeGenerators.pri:
28607        * css/themeQtMobile.css: Removed.
28608        * platform/qt/QtMobileWebStyle.cpp:
28609        (drawRectangularControlBackground):
28610        (QtMobileWebStyle::drawPrimitive):
28611        (QtMobileWebStyle::drawComplexControl):
28612        * platform/qt/QtMobileWebStyle.h:
28613        * platform/qt/RenderThemeQt.cpp:
28614        (WebCore::RenderThemeQt::isControlStyled):
28615        (WebCore::RenderThemeQt::paintTextField):
28616
286172011-04-06  Jia Pu  <jpu@apple.com>
28618
28619        Reviewed by Darin Adler.
28620
28621        [Mac] When autocorrection occurs without showing correction panel, WebCore need to post accessibility notification.
28622        https://bugs.webkit.org/show_bug.cgi?id=57800
28623        <rdar://problem/9218223>
28624
28625        Defined a new accessibility notification type, AXAutocorrectionOccured. Editor::markAllMisspellingsAndBadGrammarInRanges()
28626        now posts said notification when any autocorrection or text replacement (e.g. replacing "(c)" with copyright mark) takes place.
28627
28628        * accessibility/AXObjectCache.h:
28629        * accessibility/chromium/AXObjectCacheChromium.cpp:
28630        (WebCore::AXObjectCache::postPlatformNotification):
28631        * accessibility/mac/AXObjectCacheMac.mm:
28632        (WebCore::AXObjectCache::postPlatformNotification):
28633        * editing/Editor.cpp:
28634        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
28635
286362011-04-06  Martin Robinson  <mrobinson@igalia.com>
28637
28638        Build fix for debug Cairo builds.
28639
28640        * platform/graphics/cairo/PlatformContextCairo.cpp:
28641        (WebCore::PlatformContextCairo::pushImageMask): Update the reference to m_maskInformation.
28642
286432011-04-06  Diego Gonzalez  <diegohcg@webkit.org>
28644
28645        Reviewed by Antonio Gomes.
28646
28647        [Qt] Style fix for QtMobileWebStyle.h
28648        https://bugs.webkit.org/show_bug.cgi?id=57708
28649
28650        * platform/qt/QtMobileWebStyle.h:
28651
286522011-04-06  Andras Becsi  <abecsi@webkit.org>
28653
28654        Reviewed by Darin Adler.
28655
28656        Invalid color #{predefined colorName} is accepted by the CSS parser.
28657        https://bugs.webkit.org/show_bug.cgi?id=15360
28658
28659        Test: fast/css/invalid-predefined-color.html
28660
28661        * css/CSSGrammar.y: Remove superfluous hexcolor production.
28662        * css/tokenizer.flex: A hexadecimal number should consist of [a-fA-F0-9] values ({h}).
28663
286642011-03-30  Pavel Podivilov  <podivilov@chromium.org>
28665
28666        Reviewed by Pavel Feldman.
28667
28668        Web Inspector: add test for script formatter worker.
28669        https://bugs.webkit.org/show_bug.cgi?id=57447
28670
28671        Test: inspector/debugger/script-formatter.html
28672
28673        * GNUmakefile.am:
28674        * inspector/front-end/DebuggerPresentationModel.js:
28675        (WebInspector.DebuggerPresentationModel):
28676        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
28677
286782011-04-06  Martin Robinson  <mrobinson@igalia.com>
28679
28680        Reviewed by Xan Lopez.
28681
28682        [Cairo] Hide the details of image masking in PlatformContextCairo
28683        https://bugs.webkit.org/show_bug.cgi?id=57878
28684
28685        No new tests. This is just a refactor.
28686
28687        * platform/graphics/GraphicsContext.h:
28688        * platform/graphics/cairo/GraphicsContextCairo.cpp:
28689        (WebCore::GraphicsContext::savePlatformState): Call into PlatformContextCairo now to
28690        do the actual cairo_save. Remove information about image masking.
28691        (WebCore::GraphicsContext::restorePlatformState): Call into PlatformContextCairo now to
28692        do the actual cairo_restore. Remove information about image masking.
28693        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h:
28694        * platform/graphics/cairo/ImageBufferCairo.cpp:
28695        (WebCore::ImageBuffer::clip): Use PlatformContextCairo here now.
28696        * platform/graphics/cairo/PlatformContextCairo.cpp:
28697        (WebCore::PlatformContextCairo::restore): Added.
28698        (WebCore::PlatformContextCairo::save): Added.
28699        (WebCore::PlatformContextCairo::pushImageMask): Added.
28700        * platform/graphics/cairo/PlatformContextCairo.h:
28701        (WebCore::ImageMaskInformation::update): Moved from GraphicsContextPlatformPrivateCairo.h.
28702        (WebCore::ImageMaskInformation::isValid): Ditto.
28703        (WebCore::ImageMaskInformation::maskSurface): Ditto.
28704        (WebCore::ImageMaskInformation::maskRect): Ditto.
28705
287062011-04-02  Diego Gonzalez  <diegohcg@webkit.org>
28707
28708        Reviewed by Csaba Osztrogonác.
28709
28710        [Qt] Radio buttons are showing wrong with mobile theme
28711        https://bugs.webkit.org/show_bug.cgi?id=57706
28712
28713        * platform/qt/QtMobileWebStyle.cpp:
28714        (QtMobileWebStyle::drawRadio):
28715
287162011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
28717
28718        Reviewed by Eric Seidel.
28719
28720        Move RenderBlock::positionNewFloatOnLine to RenderBlockLineLayout.cpp
28721        https://bugs.webkit.org/show_bug.cgi?id=57943
28722
28723        * rendering/RenderBlock.cpp: Removed positionNewFloatOnLine.
28724        * rendering/RenderBlockLineLayout.cpp:
28725        (WebCore::RenderBlock::positionNewFloatOnLine): Moved from RenderBlock.cpp
28726
287272011-04-05  Diego Gonzalez  <diegohcg@webkit.org>
28728
28729        Buildfix after r82125.
28730
28731        [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
28732        https://bugs.webkit.org/show_bug.cgi?id=57087
28733
28734        * platform/qt/QtMobileWebStyle.cpp:
28735        (QtMobileWebStyle::findChecker):
28736        (QtMobileWebStyle::findRadio):
28737        (QtMobileWebStyle::findComboButton):
28738
287392011-04-06  Pavel Podivilov  <podivilov@chromium.org>
28740
28741        Reviewed by Yury Semikhatsky.
28742
28743        Web Inspector: inline script imports in ScriptFormatterWorker.js so it works in Safari release.
28744        https://bugs.webkit.org/show_bug.cgi?id=57641
28745
28746        * WebCore.xcodeproj/project.pbxproj:
28747        * gyp/streamline-inspector-source.sh:
28748        * inspector/combine-javascript-resources.pl: Renamed from Source/WebCore/combine-javascript-resources.
28749        * inspector/inline-javascript-imports.py: Added.
28750
287512011-04-06  Ryosuke Niwa  <rniwa@webkit.org>
28752
28753        Reviewed by Eric Seidel.
28754
28755        REGRESSION (r46914, r48764): When typing in Mail, line wrapping frequently occurs in the middle of words
28756        https://bugs.webkit.org/show_bug.cgi?id=57872
28757
28758        r46914 initially introduced a regression by replacing calls to styleAtPosition by editingStyleAtPosition
28759        because editingStyleAtPosition did not avoid tab span to obtain the computed style unlike styleAtPosition.
28760
28761        r46914 also introduced a regression by cloning hierarchy under new block at the insertion position without
28762        avoiding the tab span.
28763
28764        Fixed the both regressions by avoiding tab spans when computing the editing style and when cloning hierarchy.
28765
28766        Test: editing/inserting/insert-paragraph-separator-tab-span.html
28767
28768        * editing/EditingStyle.cpp:
28769        (WebCore::EditingStyle::init): Always avoid a tab span when computing the editing style.
28770        * editing/InsertParagraphSeparatorCommand.cpp:
28771        (WebCore::InsertParagraphSeparatorCommand::doApply): Avoid cloning tab spans and inserting a paragraph
28772        separator into a paragraph separator.
28773
287742011-04-06  Levi Weintraub  <leviw@chromium.org>
28775
28776        Reviewed by Ryosuke Niwa.
28777
28778        Add member functions for determining line/paragraph separation to InlineIterator
28779        https://bugs.webkit.org/show_bug.cgi?id=57938
28780
28781        Adding atTextParagraphSeparator and atParagraphSeparator inline convenience functions to
28782        InlineIterator, where it makes far more sense for them to be. Also moving
28783        shouldPreserveNewline to RenderObject and renaming it preservesNewline.
28784
28785        No new tests as this provides no new functionality.
28786
28787        * rendering/InlineIterator.h:
28788        (WebCore::InlineIterator::atTextParagraphSeparator):
28789        (WebCore::InlineIterator::atParagraphSeparator):
28790        * rendering/RenderBlockLineLayout.cpp:
28791        (WebCore::RenderBlock::requiresLineBox):
28792        (WebCore::RenderBlock::findNextLineBreak):
28793        * rendering/RenderObject.h:
28794        (WebCore::RenderObject::preservesNewline):
28795
287962011-04-05  Alexander Pavlov  <apavlov@chromium.org>
28797
28798        Reviewed by Pavel Feldman.
28799
28800        Web Inspector: Range insertNode function does not update content in the inspector
28801        https://bugs.webkit.org/show_bug.cgi?id=57829
28802
28803        * inspector/InspectorDOMAgent.cpp:
28804        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
28805        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
28806
288072011-04-06  Alejandro G. Castro  <alex@igalia.com>
28808
28809        Fix GTK3 compilation after r82962.
28810
28811        * platform/gtk/RenderThemeGtk3.cpp:
28812        (WebCore::paintToggle):
28813        (WebCore::renderButton):
28814        (WebCore::RenderThemeGtk::paintMenuList):
28815        (WebCore::RenderThemeGtk::paintTextField):
28816        (WebCore::RenderThemeGtk::paintSliderTrack):
28817        (WebCore::RenderThemeGtk::paintSliderThumb):
28818        (WebCore::RenderThemeGtk::paintProgressBar):
28819        (WebCore::paintSpinArrowButton):
28820        * platform/gtk/ScrollbarThemeGtk3.cpp:
28821        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
28822        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
28823        (WebCore::ScrollbarThemeGtk::paintThumb):
28824        (WebCore::ScrollbarThemeGtk::paintButton):
28825
288262011-04-06  Andrey Kosyakov  <caseq@chromium.org>
28827
28828        Reviewed by Yury Semikhatsky.
28829
28830        Web Inspector: [Extensions API] remove inspectedPage.* events
28831        https://bugs.webkit.org/show_bug.cgi?id=57763
28832
28833        - Removed webInspector.inspectedPage.* events
28834        - moved onNavigated to webInspector.resources
28835
28836        * inspector/front-end/ExtensionAPI.js:
28837        (WebInspector.injectedExtensionAPI):
28838        (WebInspector.injectedExtensionAPI.InspectedWindow):
28839        * inspector/front-end/ExtensionAPISchema.json:
28840        * inspector/front-end/ExtensionServer.js:
28841        (WebInspector.ExtensionServer.prototype.notifyInspectedURLChanged):
28842        * inspector/front-end/inspector.js:
28843        (WebInspector.domContentEventFired):
28844        (WebInspector.loadEventFired):
28845        (WebInspector.inspectedURLChanged):
28846
288472011-04-06  Joseph Pecoraro  <joepeck@webkit.org>
28848
28849        Reviewed by Antti Koivisto.
28850
28851        Add <head> to the simpleUserAgentStyleSheet
28852        https://bugs.webkit.org/show_bug.cgi?id=57915
28853
28854        * css/CSSStyleSelector.cpp:
28855        (WebCore::elementCanUseSimpleDefaultStyle): add head to the
28856        simple stylesheet, display:none.
28857
288582011-04-05  Mikhail Naganov  <mnaganov@chromium.org>
28859
28860        Reviewed by Pavel Feldman.
28861
28862        Web Inspector: [Chromium] Add layout test for Summary view of detailed heap snapshots.
28863        https://bugs.webkit.org/show_bug.cgi?id=57856
28864
28865        Test: inspector/profiler/detailed-heapshots-summary.html
28866
28867        * inspector/front-end/DataGrid.js:
28868        (WebInspector.DataGrid):
28869        * inspector/front-end/DetailedHeapshotGridNodes.js:
28870        (WebInspector.HeapSnapshotGridNode.prototype._populate.doPopulate):
28871        (WebInspector.HeapSnapshotGridNode.prototype._populate):
28872        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
28873        (WebInspector.HeapSnapshotGridNode.prototype.sort.doSort):
28874        (WebInspector.HeapSnapshotGridNode.prototype.sort):
28875        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
28876        * inspector/front-end/DetailedHeapshotView.js:
28877        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
28878        * inspector/front-end/ProfilesPanel.js:
28879        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
28880        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
28881
288822011-04-06  Anders Bakken  <agbakken@gmail.com>
28883
28884        Reviewed by David Levin.
28885
28886        [Qt] SmartReplaceQt.cpp has coding-style errors
28887        https://bugs.webkit.org/show_bug.cgi?id=40261
28888
28889        This patch does not require new test cases.
28890
28891        * editing/qt/SmartReplaceQt.cpp:
28892        (WebCore::isCharacterSmartReplaceExempt):
28893
288942011-04-06  Naoki Takano  <takano.naoki@gmail.com>
28895
28896        Reviewed by Ryosuke Niwa.
28897
28898        REGRESSION(r81328): Null pointer crash in canAppendNewLineFeed when selection isn't inside an editable element
28899        https://bugs.webkit.org/show_bug.cgi?id=57755
28900
28901        Test: editing/execCommand/insert-line-break-onload.html
28902
28903        * editing/TypingCommand.cpp:
28904        (WebCore::canAppendNewLineFeed): Added null pointer check for rootEditableElement().
28905
289062011-04-05  Antti Koivisto  <antti@apple.com>
28907
28908        Reviewed by Cameron Zwarich.
28909
28910        Avoid calling currentTime() from FrameView::adjustedDeferredRepaintDelay() when repaints are deferred
28911        https://bugs.webkit.org/show_bug.cgi?id=57914
28912
28913        Don't call adjustedDeferredRepaintDelay unnecessarily.
28914
28915        * page/FrameView.cpp:
28916        (WebCore::FrameView::repaintContentRectangle):
28917        (WebCore::FrameView::adjustedDeferredRepaintDelay):
28918
289192011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
28920
28921        Reviewed by David Levin.
28922
28923        Update call to SkAdvancedTypefaceMetrics to new API.
28924        https://bugs.webkit.org/show_bug.cgi?id=57887
28925
28926        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
28927        (WebCore::FontPlatformData::emSizeInFontUnits):
28928
289292011-04-05  Alexey Proskuryakov  <ap@apple.com>
28930
28931        Reviewed by Darin Adler.
28932
28933        Rename event dispatching functions after form event removal
28934        https://bugs.webkit.org/show_bug.cgi?id=57908
28935
28936        * dom/InputElement.cpp:
28937        (WebCore::InputElement::setValueFromRenderer):
28938        * dom/Node.cpp:
28939        (WebCore::Node::dispatchChangeEvent):
28940        (WebCore::Node::dispatchInputEvent):
28941        (WebCore::Node::defaultEventHandler):
28942        * dom/Node.h:
28943        * html/HTMLFormControlElement.cpp:
28944        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent):
28945        (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent):
28946        (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
28947        Renamed "events" to "event", since there is only one event to dispatch now.
28948
289492011-04-05  Anders Bakken  <agbakken@gmail.com>
28950
28951        Reviewed by David Levin.
28952
28953        [Qt] DragControllerQt.cpp has coding-style errors
28954        https://bugs.webkit.org/show_bug.cgi?id=40258
28955
28956        This patch does not require new test cases.
28957
28958        * page/qt/DragControllerQt.cpp:
28959        (WebCore::DragController::dragOperation):
28960
289612011-04-05  Steve VanDeBogart  <vandebo@chromium.org>
28962
28963        Reviewed by David Levin.
28964
28965        Update deprecated include: platform_canvas_win.h to platform_canvas.h.
28966        https://bugs.webkit.org/show_bug.cgi?id=57896
28967
28968        * platform/graphics/chromium/FontChromiumWin.cpp:
28969
289702011-04-05  Darin Adler  <darin@apple.com>
28971
28972        Try to fix Leopard bots.
28973
28974        * platform/mac/HTMLConverter.mm: Fix #if back the way Alexey seems
28975        to have intended it.
28976
289772011-04-05  Darin Adler  <darin@apple.com>
28978
28979        Try to fix Leopard bots.
28980
28981        * platform/mac/HTMLConverter.mm: Move declarations of new functions
28982        inside the appropriate #if.
28983
289842011-04-05  Adrienne Walker  <enne@google.com>
28985
28986        Reviewed by Tony Chang.
28987
28988        Correctly set color when using skia's fillRoundedRect.
28989        https://bugs.webkit.org/show_bug.cgi?id=57907
28990
28991        * platform/graphics/skia/GraphicsContextSkia.cpp:
28992        (WebCore::GraphicsContext::fillRoundedRect):
28993
289942011-04-05  Alexey Proskuryakov  <ap@apple.com>
28995
28996        Reviewed by Darin Adler.
28997
28998        Move attributedStringFromRange down to WebCore
28999        https://bugs.webkit.org/show_bug.cgi?id=57905
29000
29001        No change in behavior, so no new tests.
29002
29003        Also tweaked HTMLConverter to not use methods defined in WebKit.
29004
29005        * WebCore.exp.in:
29006        * WebCore.xcodeproj/project.pbxproj:
29007        * platform/mac/HTMLConverter.h:
29008        * platform/mac/HTMLConverter.mm:
29009        (-[WebHTMLConverter _newTabForElement:]):
29010        (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
29011        (+[WebHTMLConverter editingAttributedStringFromRange:]):
29012        (fileWrapperForURL):
29013        (fileWrapperForElement):
29014        * platform/mac/PasteboardMac.mm:
29015        (WebCore::Pasteboard::writeSelection):
29016        * platform/mac/WebNSAttributedStringExtras.h: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.h.
29017        * platform/mac/WebNSAttributedStringExtras.mm: Copied from Source/WebKit/mac/Misc/WebNSAttributedStringExtras.mm.
29018        (WebCore::attributedStringByStrippingAttachmentCharacters):
29019
290202011-04-05  Simon Fraser  <simon.fraser@apple.com>
29021
29022        Reviewed by Darin Adler.
29023
29024        Rename variables in border drawing code for readability
29025        https://bugs.webkit.org/show_bug.cgi?id=57894
29026
29027        * rendering/RenderObject.cpp:
29028        (WebCore::RenderObject::drawLineForBoxSide):
29029        (WebCore::RenderObject::drawBoxSideFromPath):
29030        (WebCore::RenderObject::drawArcForBoxSide):
29031
290322011-04-05  Antti Koivisto  <antti@apple.com>
29033
29034        Reviewed by Darin Adler.
29035
29036        Defer repaints during style recalc
29037        https://bugs.webkit.org/show_bug.cgi?id=57886
29038
29039        This reduces the need to do (often expensive) platform surface invalidation.
29040        We already do this during layout but style recalculation may trigger
29041        invalidation as well.
29042
29043        * dom/Document.cpp:
29044        (WebCore::Document::recalcStyle):
29045
290462011-04-05  Jer Noble  <jer.noble@apple.com>
29047
29048        Reviewed by Darin Adler.
29049
29050        HTML5 Player Has no Fullscreen Mode
29051        https://bugs.webkit.org/show_bug.cgi?id=57795
29052
29053        * html/HTMLVideoElement.cpp:
29054        (WebCore::HTMLVideoElement::supportsFullscreen): Call the new ChromeClient API
29055            supportsFullScreenForElement() before the old supportsFullScreenForNode() API.
29056
290572011-04-05  Vsevolod Vlasov  <vsevik@chromium.org>
29058
29059        Reviewed by Pavel Feldman.
29060
29061        Web Inspector: fix data url's status and timing the network panel.
29062        https://bugs.webkit.org/show_bug.cgi?id=53066
29063
29064        Added data url support for status of network resources.
29065
29066        * English.lproj/localizedStrings.js:
29067        * inspector/front-end/NetworkPanel.js:
29068        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
29069        * inspector/front-end/Resource.js:
29070        (WebInspector.Resource.prototype.isDataURL):
29071
290722011-04-04  Vitaly Repeshko  <vitalyr@chromium.org>
29073
29074        Reviewed by Adam Barth.
29075
29076        [V8] Keep dirty primitive CSS values alive.
29077        https://bugs.webkit.org/show_bug.cgi?id=57810
29078
29079        * bindings/v8/V8GCController.cpp:
29080        (WebCore::GrouperVisitor::visitDOMWrapper):
29081
290822011-04-05  Simon Fraser  <simon.fraser@apple.com>
29083
29084        Reviewed by Adele Peterson.
29085
29086        Add a fast path for simple color backgrounds
29087        https://bugs.webkit.org/show_bug.cgi?id=57773
29088
29089        Add a fast path for drawing simple color backgrounds. It's
29090        faster to fill a path or rect than it is to set up a clip,
29091        and then paint the rect.
29092
29093        No visible behavior change so no new tests.
29094
29095        * rendering/RenderBoxModelObject.cpp:
29096        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
29097
290982011-04-05  Patrick Gansterer  <paroga@webkit.org>
29099
29100        Unreviewed EFL build fix for r82962.
29101
29102        * CMakeListsEfl.txt:
29103
291042011-04-05  Chris Rogers  <crogers@google.com>
29105
29106        Reviewed by Kenneth Russell.
29107
29108        Add support for offline audio rendering to AudioContext API
29109        https://bugs.webkit.org/show_bug.cgi?id=57676
29110
29111        No new tests since audio API is not yet implemented.
29112
29113        * DerivedSources.make:
29114        * WebCore.gypi:
29115        * WebCore.xcodeproj/project.pbxproj:
29116        * bindings/js/JSAudioContextCustom.cpp:
29117        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
29118        * bindings/js/JSEventCustom.cpp:
29119        (WebCore::toJS):
29120        * bindings/js/JSEventTarget.cpp:
29121        (WebCore::toJS):
29122        * bindings/v8/V8DOMWrapper.cpp:
29123        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
29124        * bindings/v8/custom/V8AudioContextCustom.cpp:
29125        (WebCore::V8AudioContext::constructorCallback):
29126        * bindings/v8/custom/V8EventCustom.cpp:
29127        (WebCore::toV8):
29128        * dom/Event.cpp:
29129        (WebCore::Event::isOfflineAudioCompletionEvent):
29130        * dom/Event.h:
29131        * dom/EventTarget.cpp:
29132        (WebCore::EventTarget::toAudioContext):
29133        * dom/EventTarget.h:
29134        * platform/audio/HRTFDatabaseLoader.cpp:
29135        (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
29136        * platform/audio/HRTFDatabaseLoader.h:
29137        (WebCore::HRTFDatabaseLoader::loader):
29138        * webaudio/AudioContext.cpp:
29139        (WebCore::AudioContext::createOfflineContext):
29140        (WebCore::AudioContext::AudioContext):
29141        (WebCore::AudioContext::constructCommon):
29142        (WebCore::AudioContext::document):
29143        (WebCore::AudioContext::scriptExecutionContext):
29144        (WebCore::AudioContext::toAudioContext):
29145        (WebCore::AudioContext::startRendering):
29146        (WebCore::AudioContext::fireCompletionEvent):
29147        * webaudio/AudioContext.h:
29148        (WebCore::AudioContext::isOfflineContext):
29149        (WebCore::AudioContext::eventTargetData):
29150        (WebCore::AudioContext::ensureEventTargetData):
29151        (WebCore::AudioContext::refEventTarget):
29152        (WebCore::AudioContext::derefEventTarget):
29153        * webaudio/AudioContext.idl:
29154        * webaudio/AudioDestinationNode.cpp:
29155        (WebCore::AudioDestinationNode::AudioDestinationNode):
29156        * webaudio/AudioDestinationNode.h:
29157        (WebCore::AudioDestinationNode::reset):
29158        (WebCore::AudioDestinationNode::numberOfChannels):
29159        * webaudio/ConvolverNode.cpp:
29160        (WebCore::ConvolverNode::setBuffer):
29161        * webaudio/DefaultAudioDestinationNode.cpp: Added.
29162        (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
29163        (WebCore::DefaultAudioDestinationNode::~DefaultAudioDestinationNode):
29164        (WebCore::DefaultAudioDestinationNode::initialize):
29165        (WebCore::DefaultAudioDestinationNode::uninitialize):
29166        (WebCore::DefaultAudioDestinationNode::startRendering):
29167        * webaudio/DefaultAudioDestinationNode.h: Added.
29168        (WebCore::DefaultAudioDestinationNode::create):
29169        (WebCore::DefaultAudioDestinationNode::sampleRate):
29170        * webaudio/OfflineAudioCompletionEvent.cpp: Added.
29171        (WebCore::OfflineAudioCompletionEvent::create):
29172        (WebCore::OfflineAudioCompletionEvent::OfflineAudioCompletionEvent):
29173        (WebCore::OfflineAudioCompletionEvent::~OfflineAudioCompletionEvent):
29174        (WebCore::OfflineAudioCompletionEvent::isOfflineAudioCompletionEvent):
29175        * webaudio/OfflineAudioCompletionEvent.h: Added.
29176        (WebCore::OfflineAudioCompletionEvent::renderedBuffer):
29177        * webaudio/OfflineAudioCompletionEvent.idl: Added.
29178        * webaudio/OfflineAudioDestinationNode.cpp: Added.
29179        (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
29180        (WebCore::OfflineAudioDestinationNode::~OfflineAudioDestinationNode):
29181        (WebCore::OfflineAudioDestinationNode::initialize):
29182        (WebCore::OfflineAudioDestinationNode::uninitialize):
29183        (WebCore::OfflineAudioDestinationNode::startRendering):
29184        (WebCore::OfflineAudioDestinationNode::renderEntry):
29185        (WebCore::OfflineAudioDestinationNode::render):
29186        (WebCore::OfflineAudioDestinationNode::notifyCompleteDispatch):
29187        (WebCore::OfflineAudioDestinationNode::notifyComplete):
29188        * webaudio/OfflineAudioDestinationNode.h: Added.
29189        (WebCore::OfflineAudioDestinationNode::create):
29190        (WebCore::OfflineAudioDestinationNode::sampleRate):
29191
291922011-04-05  Martin Robinson  <mrobinson@igalia.com>
29193
29194        Reviewed by Eric Seidel.
29195
29196        [Cairo] Better separate the concerns of GraphicsContextCairo
29197        https://bugs.webkit.org/show_bug.cgi?id=55150
29198
29199        Add a PlatformContextCairo which right now stores the cairo_t* for a
29200        GraphicsContextCairo. Later patches will move logic for tracking ContextShadow
29201        and image masking layers into this PlatformContextCairo class.
29202
29203        No new tests. This patch is only a code cleanup.
29204
29205        * GNUmakefile.am:
29206        * platform/graphics/GraphicsContext.h: The platform context is no longer a
29207        cairo_t, but our new class the PlatformContextCairo.
29208        * platform/graphics/cairo/ContextShadowCairo.cpp: Updated to reflect new class.j
29209        * platform/graphics/cairo/FontCairo.cpp: Ditto.
29210        * platform/graphics/cairo/GradientCairo.cpp: Ditto.
29211        * platform/graphics/cairo/GraphicsContextCairo.cpp: Mostly mechanical
29212        changes which now reference platformContext()->cr() to get the cairo_t.
29213        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Now hold the
29214        PlatformContextCairo instead of the cairo_t.
29215        * platform/graphics/cairo/ImageBufferCairo.cpp: Update to reflect new class.
29216        * platform/graphics/cairo/ImageCairo.cpp: Ditto.
29217        * platform/graphics/cairo/PathCairo.cpp: Ditto.
29218        * platform/graphics/cairo/PlatformContextCairo.cpp: Added.
29219        * platform/graphics/cairo/PlatformContextCairo.h: Added.
29220        * platform/graphics/gtk/FontGtk.cpp: Update to reflect new class.
29221        * platform/graphics/gtk/IconGtk.cpp: Ditto.
29222        * platform/graphics/win/GraphicsContextCairoWin.cpp: Now fill out
29223        m_data with a private section containing the platform context instead of
29224        just a cairo_t.
29225        * platform/gtk/RenderThemeGtk.cpp: Update to reflect new class.
29226        * platform/gtk/WidgetRenderingContext.cpp: Ditto.
29227        (WebCore::WidgetRenderingContext::~WidgetRenderingContext): Ditto.
29228        * plugins/gtk/PluginViewGtk.cpp: Ditto.
29229
292302011-04-05  David Dorwin  <ddorwin@chromium.org>
29231
29232        Reviewed by David Levin.
29233
29234        Fullscreen code assumes all layers use GPU compositing when USE(ACCELERATED_COMPOSITING)
29235        https://bugs.webkit.org/show_bug.cgi?id=57400
29236
29237        Check whether the full screen renderer layer is being composited by the GPU before assuming that the backing is valid.
29238        Accelerated compositing may be compiled in but disabled at runtime or for some elements.
29239
29240        Tests: Fullscreen layout tests on Chromium.
29241
29242        * dom/Document.cpp:
29243        (WebCore::Document::webkitWillEnterFullScreenForElement):
29244        (WebCore::Document::webkitDidEnterFullScreenForElement):
29245        (WebCore::Document::webkitWillExitFullScreenForElement):
29246
292472011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
29248
29249        Reviewed by Dirk Schulze.
29250
29251        Regression: Invalid write in SVGTextLayoutEngine
29252        https://bugs.webkit.org/show_bug.cgi?id=57721
29253
29254        Properly stop layout if all metrics object refer to zero-width/height characters,
29255        which can happen for instance when using <text font-size="0">.
29256
29257        Test: svg/text/font-size-null-assertion.svg
29258
29259        * rendering/svg/SVGTextLayoutEngine.cpp:
29260        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
29261        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
29262
292632011-04-04 MORITA Hajime  <morrita@google.com>
29264
29265        Reviewed by Ryosuke Niwa.
29266
29267        [Refactoring] SpellCheckingResult should be replaced with TextCheckingResult
29268        https://bugs.webkit.org/show_bug.cgi?id=56085
29269
29270        Removed WebCore::SpellCheckingResult and replaced it with TextCheckingResult.
29271        This change also added TextCheckerClient::requestCheckingOfString() should have
29272        TextCheckingTypeMask as a parameter to control text checking type.
29273
29274        * WebCore.exp.in:
29275        * editing/Editor.cpp:
29276        (WebCore::Editor::replaceSelectionWithFragment):
29277        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
29278        (WebCore::Editor::textCheckingTypeMaskFor): Extracted from markAllMisspellingsAndBadGrammarInRanges()
29279        * editing/SpellChecker.cpp:
29280        (WebCore::SpellChecker::requestCheckingFor): Added a parameter.
29281        (WebCore::SpellChecker::markAt): Extracted from didCheck(), Added a check for the GrammarDetail object.
29282        (WebCore::SpellChecker::didCheck):
29283        * editing/SpellChecker.h:
29284        * loader/EmptyClients.h:
29285        (WebCore::EmptyTextCheckerClient::checkTextOfParagraph):
29286        (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
29287        * platform/text/TextCheckerClient.h:
29288
292892011-04-04  Antti Koivisto  <antti@apple.com>
29290
29291        Reviewed by Sam Weinig.
29292
29293        Print stylesheet on nytimes.com loads too early
29294        https://bugs.webkit.org/show_bug.cgi?id=57814
29295
29296        Don't load resources with Very Low priority until there are no other resources to
29297        load for the host (or until document is complete enough that we stop limiting requests).
29298
29299        No tests, this is  difficult to observe reliably with our current testing infrastructure.
29300        Verified working with Wireshark.
29301
29302        * loader/ResourceLoadScheduler.cpp:
29303        (WebCore::ResourceLoadScheduler::servePendingRequests):
29304        (WebCore::ResourceLoadScheduler::HostInformation::limitRequests):
29305        * loader/ResourceLoadScheduler.h:
29306
293072011-04-04  Steve Block  <steveblock@google.com>
29308
29309        Reviewed by Dimitri Glazkov.
29310
29311        JavaInstance should be a pure interface
29312        https://bugs.webkit.org/show_bug.cgi?id=55383
29313
29314        This patch fixes JavaInstance for V8 only.
29315
29316        It factors out a JavaInstance interface which does not use JNI
29317        types. This will allow the Java bridge to be used with objects
29318        that don't use JNI directly. The existing jobject-backed
29319        implementation is moved to a new JavaInstanceJobject class which
29320        implements the interface.
29321
29322        No new tests, refactoring only.
29323
29324        * Android.v8bindings.mk:
29325        * WebCore.gypi:
29326        * bridge/jni/JobjectWrapper.h:
29327        * bridge/jni/v8/JNIUtilityPrivate.cpp:
29328        (JSC::Bindings::jvalueToJavaValue):
29329        (JSC::Bindings::javaValueToJvalue):
29330        * bridge/jni/v8/JavaInstanceJobjectV8.cpp:
29331        (JavaInstanceJobject::JavaInstanceJobject):
29332        (JavaInstanceJobject::~JavaInstanceJobject):
29333        (JavaInstanceJobject::begin):
29334        (JavaInstanceJobject::end):
29335        (JavaInstanceJobject::getClass):
29336        (JavaInstanceJobject::invokeMethod):
29337        (JavaInstanceJobject::getField):
29338        * bridge/jni/v8/JavaInstanceJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaInstanceV8.h.
29339        (JSC::Bindings::JavaInstanceJobject::javaInstance):
29340        * bridge/jni/v8/JavaInstanceV8.h:
29341        (JSC::Bindings::JavaInstance::~JavaInstance):
29342
293432011-04-05  Dimitri Glazkov  <dglazkov@chromium.org>
29344
29345       Reviewed by Darin Adler.
29346
29347        Move MouseEvent-dispatching logic into MouseEventDispatchMediator.
29348        https://bugs.webkit.org/show_bug.cgi?id=57639
29349
29350        Refactoring, covered by existing tests.
29351
29352        * dom/EventDispatcher.cpp:
29353        (WebCore::EventDispatcher::dispatchEvent): Moved useful assertion here
29354            from dispatchMouseEvent.
29355        (WebCore::EventDispatcher::adjustRelatedTarget): Converted into a method.
29356        * dom/EventDispatcher.h: Adjusted decls.
29357        (WebCore::EventDispatcher::node): Added.
29358        * dom/MouseEvent.cpp:
29359        (WebCore::MouseEvent::create): Moved useful assertion here from
29360            dispatchMouseEvent.
29361        (WebCore::MouseEventDispatchMediator::MouseEventDispatchMediator): Added.
29362        (WebCore::MouseEventDispatchMediator::event): Added.
29363        (WebCore::MouseEventDispatchMediator::dispatchEvent): Added.
29364        * dom/MouseEvent.h:
29365        (WebCore::MouseEvent::setRelatedTarget): Added.
29366        * dom/Node.cpp:
29367        (WebCore::Node::dispatchMouseEvent): Changed to use MouseEventDispatchMediator.
29368
293692011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
29370
29371        Reviewed by Adam Roben & Dirk Schulze.
29372
29373        text-tspan-02-b.svg from SVG 1.1 2nd edition fails
29374        https://bugs.webkit.org/show_bug.cgi?id=57831
29375
29376        We were not spanning rotation values correcty accross text children, which resulted in text-span-02-b.svg misrendering.
29377        While rewriting the rotation specific code, it came apparent that the LayoutScope concept is flawed in general and
29378        should be replaced by a global list of x/y/dx/dy/rotate values for the whole text subtree. This makes it much simpler
29379        to implement the demand that the last rotation value spans the whole scope. A follow-up patch will optimize the
29380        required memory.
29381
29382        Example:
29383        <text rotate="10,20,999,50">AB<tspan rotate="30">CDE</>FGH</text>
29384
29385        text:   A  B  C  D  E  F  G  H
29386        rotate="10 20 30 30 30 50 50 50"
29387
29388        Tests: svg/W3C-SVG-1.1-SE/text-tspan-02-b.svg
29389               svg/text/text-midpoint-split-bug.svg
29390
29391        * rendering/RenderBlockLineLayout.cpp:     Move SVG specific midpoint creation after the non-SVG specific code that may mutate the midpoints. otherwhise we end up in an
29392        (WebCore::RenderBlock::findNextLineBreak): inconsistent state. We were intereferring with the ignoreSpaces code resulting in wrong truncations - covered by new testcase.
29393        * rendering/svg/SVGTextLayoutAttributes.cpp:
29394        (WebCore::SVGTextLayoutAttributes::reserveCapacity): Also reserveCapacity for the text metrics list (minor optimization).
29395        (WebCore::SVGTextLayoutAttributes::fillWithEmptyValue): Added helper function for use from SVGTextLayoutAttributesBuilder.
29396        (WebCore::SVGTextLayoutAttributes::appendEmptyValue): Ditto.
29397        (WebCore::safeValueAtPosition): Ditto. (Inline helper)
29398        (WebCore::SVGTextLayoutAttributes::appendSingleValueFromAttribute): Ditto.
29399        * rendering/svg/SVGTextLayoutAttributes.h: Ditto.
29400        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Rewrite code, see explaination above.
29401        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree):
29402        (WebCore::processRenderSVGInlineText):
29403        (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
29404        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForAllCharacters):
29405        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
29406        (WebCore::fillListAtPosition):
29407        (WebCore::SVGTextLayoutAttributesBuilder::fillAttributesAtPosition):
29408        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
29409        (WebCore::SVGTextLayoutAttributesBuilder::TextPosition::TextPosition):
29410
294112011-04-05  Levi Weintraub  <leviw@chromium.org>
29412
29413        Reviewed by Ryosuke Niwa.
29414
29415        DeleteButtonController is given invalid style
29416        https://bugs.webkit.org/show_bug.cgi?id=57853
29417
29418        DeleteButtonController was assigned an invalid style that can lead to assertions
29419        in debug builds. This matches up the code with its intent.
29420
29421        No new tests as this changes nothing on release builds.
29422
29423        * editing/DeleteButtonController.cpp:
29424        (WebCore::DeleteButtonController::createDeletionUI):
29425
294262011-04-05  Anders Bakken  <agbakken@gmail.com>
29427
29428        Reviewed by Laszlo Gombos.
29429
29430        [Qt] EditorQt.cpp has coding-style errors
29431        https://bugs.webkit.org/show_bug.cgi?id=40260
29432
29433        This patch does not require new test cases.
29434
29435        * editing/qt/EditorQt.cpp:
29436
294372011-04-05  Pavel Podivilov  <podivilov@chromium.org>
29438
29439        Reviewed by Pavel Feldman.
29440
29441        Web Inspector: go to line dialog highlights wrong line.
29442        https://bugs.webkit.org/show_bug.cgi?id=57845
29443
29444        * inspector/front-end/GoToLineDialog.js:
29445        (WebInspector.GoToLineDialog.prototype._highlightSelectedLine):
29446
294472011-04-05  Luke Macpherson   <macpherson@chromium.org>
29448
29449        Reviewed by Dimitri Glazkov.
29450
29451        Implement CSSPropertyDirection in CSSStyleApplyProperty
29452        https://bugs.webkit.org/show_bug.cgi?id=57608
29453
29454        No new tests required as no new functionality introduced.
29455
29456        * css/CSSStyleApplyProperty.cpp:
29457        Add implementation class for CSSPropertyDirection
29458        * css/CSSStyleSelector.cpp:
29459        Remove existing implementation for CSSPropertyDirection
29460        * css/CSSStyleSelector.h:
29461        Add getter for element
29462
294632011-04-05  Leandro Gracia Gil  <leandrogracia@chromium.org>
29464
29465        Reviewed by Steve Block.
29466
29467        Factoring the creation of 'FunctionOnly' callbacks in V8.
29468        https://bugs.webkit.org/show_bug.cgi?id=57760
29469
29470        This method creates a template from an existing functionality in V8GeolocationCustom.cpp
29471        to V8Utilities to be used by the custom bindings of both Geolocation and the Media Stream API.
29472
29473        No new tests. LayoutTests/fast/dom/Geolocation/argument-types.html
29474
29475        * bindings/v8/V8Utilities.cpp:
29476        (WebCore::throwTypeMismatchException):
29477        * bindings/v8/V8Utilities.h:
29478        (WebCore::createFunctionOnlyCallback):
29479        * bindings/v8/custom/V8GeolocationCustom.cpp:
29480        (WebCore::V8Geolocation::getCurrentPositionCallback):
29481        (WebCore::V8Geolocation::watchPositionCallback):
29482
294832011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
29484
29485        Reviewed by Andreas Kling.
29486
29487        Switch from Vector<UChar> to StringBuilder in bindings/
29488        https://bugs.webkit.org/show_bug.cgi?id=57838
29489
29490        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
29491        (WebCore::cssPropertyName):
29492        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
29493        (WebCore::cssPropertyInfo):
29494
294952011-04-05  Nikolas Zimmermann  <nzimmermann@rim.com>
29496
29497        Reviewed by Andreas Kling.
29498
29499        Switch from Vector<UChar> to StringBuilder in accessibility/
29500        https://bugs.webkit.org/show_bug.cgi?id=57837
29501
29502        * accessibility/AccessibilityObject.cpp:
29503        (WebCore::AccessibilityObject::listMarkerTextForNodeAndPosition):
29504        (WebCore::AccessibilityObject::stringForVisiblePositionRange):
29505        * accessibility/AccessibilityRenderObject.cpp:
29506        (WebCore::AccessibilityRenderObject::accessibilityDescriptionForElements):
29507
295082011-04-05  Andrey Adaikin  <aandrey@google.com>
29509
29510        Reviewed by Pavel Feldman.
29511
29512        Web Inspector: Scripts with syntax errors are cropped in the UI
29513        https://bugs.webkit.org/show_bug.cgi?id=57828
29514
29515        * inspector/front-end/SourceFrame.js:
29516        (WebInspector.SourceFrame.prototype.addMessageToSource):
29517
295182011-04-05  Alexey Proskuryakov  <ap@apple.com>
29519
29520        Reviewed by Darin Adler.
29521
29522        Remove onformchange and onforminput events/event handlers
29523        https://bugs.webkit.org/show_bug.cgi?id=55755
29524        <rdar://problem/9087969>
29525
29526        Covered by existing tests.
29527
29528        * dom/Document.h:
29529        * dom/Document.idl:
29530        * dom/Element.h:
29531        * dom/Element.idl:
29532        * dom/Event.cpp:
29533        (WebCore::Event::fromUserGesture):
29534        * dom/EventNames.h:
29535        * html/FormAssociatedElement.h:
29536        * html/HTMLAttributeNames.in:
29537        * html/HTMLElement.cpp:
29538        (WebCore::HTMLElement::parseMappedAttribute):
29539        * html/HTMLElement.h:
29540        * html/HTMLFormControlElement.h:
29541        (WebCore::HTMLFormControlElement::isEnumeratable):
29542        * html/HTMLFormElement.cpp:
29543        * html/HTMLFormElement.h:
29544        * html/HTMLFormElement.idl:
29545        * html/HTMLInputElement.h:
29546        * html/HTMLKeygenElement.h:
29547        * html/HTMLObjectElement.h:
29548        (WebCore::HTMLObjectElement::isEnumeratable):
29549        * html/HTMLOutputElement.h:
29550        (WebCore::HTMLOutputElement::isEnumeratable):
29551        * html/HTMLSelectElement.h:
29552        (WebCore::HTMLSelectElement::isEnumeratable):
29553        * html/HTMLTextAreaElement.h:
29554        (WebCore::HTMLTextAreaElement::isEnumeratable):
29555        * page/DOMWindow.h:
29556        * page/DOMWindow.idl:
29557
295582011-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
29559
29560        Unreviewed, rolling out r82915.
29561        http://trac.webkit.org/changeset/82915
29562        https://bugs.webkit.org/show_bug.cgi?id=57825
29563
29564        Broke 270 chromium tests on win and linux (Requested by
29565        podivilov on #webkit).
29566
29567        * rendering/RenderThemeChromiumSkia.cpp:
29568        (WebCore::RenderThemeChromiumSkia::defaultGUIFont):
29569
295702011-04-05  James Simonsen  <simonjam@chromium.org>
29571
29572        Reviewed by Adam Barth.
29573
29574        Stop preload scanning CSS when it&apos;s impossible to have another @import.
29575        https://bugs.webkit.org/show_bug.cgi?id=57664
29576
29577        @import statements are only allowed at the beginning of a CSS file.
29578        Only comments or @charset can precede them. After seeing anything else,
29579        abort early so that we:
29580        - don't have to parse the rest of the CSS.
29581        - don't preload something that the regular parser won't load.
29582
29583        * html/parser/CSSPreloadScanner.cpp:
29584        (WebCore::CSSPreloadScanner::scan): Terminate early if we're done with @imports.
29585        (WebCore::CSSPreloadScanner::tokenize): Terminate early if we see a {} or any style rule.
29586        (WebCore::CSSPreloadScanner::emitRule): Only @charset or @import are allowed to precede @import.
29587        * html/parser/CSSPreloadScanner.h: Add DoneParsingImportRules state.
29588
295892011-04-05  Takayoshi Kochi <kochi@chromium.org>
29590
29591        Reviewed by Tony Chang.
29592
29593        [chromium] Specify 'sans-serif' as a fallback to the default UI font
29594        'Arial' for non-latin UI scripts (e.g. CJK).
29595        https://bugs.webkit.org/show_bug.cgi?id=55035
29596
29597        No new tests, because it may still fail if the system is not configured
29598        properly to resolve 'sans-serif' to existing real font file, thus even
29599        manual test is hard to systematically tell it is working properly.
29600
29601        * rendering/RenderThemeChromiumSkia.cpp
29602
296032011-04-05  Kent Tamura  <tkent@chromium.org>
29604
29605        Reviewed by Dimitri Glazkov.
29606
29607        Setting defaultValue on a textarea with a modified value still clobbers the value
29608        https://bugs.webkit.org/show_bug.cgi?id=57636
29609
29610        If the dirty flag is true, we shouldn't update the value when the
29611        defaultValue is updated
29612
29613        Test: fast/forms/textarea-set-defaultvalue-after-value.html
29614
29615        * html/HTMLTextAreaElement.cpp:
29616        (WebCore::HTMLTextAreaElement::childrenChanged):
29617        (WebCore::HTMLTextAreaElement::setDefaultValue):
29618
296192011-04-04  Kent Tamura  <tkent@chromium.org>
29620
29621        Add a case label which was unexpectedly removed in r82899.
29622        https://bugs.webkit.org/show_bug.cgi?id=50661
29623
29624        * css/CSSSelector.cpp:
29625        (WebCore::CSSSelector::extractPseudoType):
29626
296272011-04-04  Dan Bernstein  <mitz@apple.com>
29628
29629        Reviewed by Simon Fraser.
29630
29631        <rdar://problem/7709452> Implement Default Ruby Overhang Behavior
29632        https://bugs.webkit.org/show_bug.cgi?id=49334
29633
29634        Tests: fast/ruby/overhang-horizontal.html
29635               fast/ruby/overhang-vertical.html
29636
29637        This is a first cut at ruby overhang. It allows ruby text to hang over other
29638        text of equal or smaller size. Two notable omissions are that max preferred
29639        width computation was not patched, so it will overshoot, and that overhang
29640        ignores the width of the adjoining text runs.
29641
29642        * rendering/RenderBlock.h:
29643        * rendering/RenderBlockLineLayout.cpp:
29644        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust margins
29645        of ruby runs for overhang.
29646        (WebCore::RenderBlock::fitBelowFloats): Maintain the increase in line width to
29647        compensate for overhang.
29648        (WebCore::RenderBlock::findNextLineBreak): When encountering
29649        a ruby run, increase the line width to account for the fact that overhang will be
29650        collapsed.
29651        * rendering/RenderRubyRun.cpp:
29652        (WebCore::RenderRubyRun::getOverhang): Added. Allows ruby to overhang if
29653        the adjoining renderer is text with equal or smaller font size.
29654        * rendering/RenderRubyRun.h:
29655        (WebCore::toRenderRubyRun):
29656
296572011-04-04  David Kilzer  <ddkilzer@apple.com>
29658
29659        <http://webkit.org/b/57384> CFNetwork and WebCore load priorities should match
29660
29661        Reviewed by Alexey Proskuryakov.
29662
29663        * WebCore.exp.in: Export wkSetHTTPPipeliningMaximumPriority().
29664        * platform/mac/WebCoreSystemInterface.h:
29665        (wkSetHTTPPipeliningMaximumPriority): Added function pointer
29666        declaration.
29667        * platform/mac/WebCoreSystemInterface.mm:
29668        (wkSetHTTPPipeliningMaximumPriority): Added function pointer.
29669        * platform/network/cf/ResourceRequestCFNet.cpp:
29670        (WebCore::initializeMaximumHTTPConnectionCountPerHost): Call
29671        wkSetHTTPPipeliningMaximumPriority() to set the maximum HTTP
29672        pipelining priority.
29673        * platform/network/cf/ResourceRequestCFNet.h:
29674        (WebCore::toResourceLoadPriority): Renamed from
29675        mapHTTPPipeliningPriorityToResourceLoadPriority().  Updated to
29676        to handle Unresolved case.
29677        (WebCore::toHTTPPipeliningPriority): Renamed from
29678        mapResourceLoadPriorityToHTTPPipeliningPriority().  Updated to
29679        handle Unresolved case.
29680        * platform/network/mac/ResourceRequestMac.mm:
29681        (WebCore::ResourceRequest::doUpdateResourceRequest): Switched to
29682        use toResourceLoadPriority().
29683        (WebCore::ResourceRequest::doUpdatePlatformRequest): Switched to
29684        use toHTTPPipeliningPriority().  Moved
29685        shouldForceHTTPPipeliningPriorityHigh() check into the argument
29686        of toHTTPPipeliningPriority() instead of hard-coding a
29687        now-incorrect value.
29688
296892011-04-04  MORITA Hajime  <morrita@google.com>
29690
29691        Reviewed by Kent Tamura.
29692
29693        Convert <meter> shadow DOM to a DOM-based shadow.
29694        https://bugs.webkit.org/show_bug.cgi?id=50661
29695
29696        Eliminated a large part of <meter> custom layout code,
29697        which is replaced by a shadow tree.
29698        Note that the shadow tree is created on construction time and
29699        will remain during the host HTMLMeterElement lifecycle.
29700
29701        * Android.mk:
29702        * CMakeLists.txt:
29703        * GNUmakefile.am:
29704        * WebCore.gypi:
29705        * WebCore.pro:
29706        * WebCore.vcproj/WebCore.vcproj:
29707        * WebCore.xcodeproj/project.pbxproj:
29708        * css/CSSMutableStyleDeclaration.cpp:
29709        (WebCore::CSSMutableStyleDeclaration::setProperty):
29710        * css/CSSMutableStyleDeclaration.h:
29711        * css/CSSSelector.cpp:
29712        (WebCore::CSSSelector::pseudoId):
29713        (WebCore::nameToPseudoTypeMap):
29714        (WebCore::CSSSelector::extractPseudoType):
29715        * css/CSSSelector.h:
29716        * css/html.css:
29717        (meter):
29718        (meter::-webkit-meter-bar):
29719        (meter::-webkit-meter-optimum-value):
29720        (meter::-webkit-meter-suboptimum-value):
29721        (meter::-webkit-meter-even-less-good-value):
29722        * html/HTMLMeterElement.cpp:
29723        (WebCore::HTMLMeterElement::~HTMLMeterElement):
29724        (WebCore::HTMLMeterElement::parseMappedAttribute):
29725        (WebCore::HTMLMeterElement::attach):
29726        (WebCore::HTMLMeterElement::valueRatio):
29727        (WebCore::HTMLMeterElement::didElementStateChange):
29728        (WebCore::HTMLMeterElement::createShadowSubtree):
29729        * html/HTMLMeterElement.h:
29730        * html/shadow/MeterShadowElement.cpp: Added.
29731        (WebCore::MeterShadowElement::MeterShadowElement):
29732        (WebCore::MeterShadowElement::meterElement):
29733        (WebCore::MeterShadowElement::rendererIsNeeded):
29734        (WebCore::MeterBarElement::shadowPseudoId):
29735        (WebCore::MeterValueElement::shadowPseudoId):
29736        (WebCore::MeterValueElement::setWidthPercentage):
29737        * html/shadow/MeterShadowElement.h: Added.
29738        (WebCore::MeterBarElement::MeterBarElement):
29739        (WebCore::MeterBarElement::create):
29740        (WebCore::MeterValueElement::MeterValueElement):
29741        (WebCore::MeterValueElement::create):
29742        * rendering/RenderMeter.cpp:
29743        (WebCore::RenderMeter::RenderMeter):
29744        (WebCore::RenderMeter::~RenderMeter):
29745        (WebCore::RenderMeter::valueRatio):
29746        * rendering/RenderMeter.h:
29747        (WebCore::RenderMeter::renderName):
29748        (WebCore::RenderMeter::isMeter):
29749        (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
29750        (WebCore::RenderMeter::canHaveChildren):
29751
297522011-04-04  Dimitri Glazkov  <dglazkov@chromium.org>
29753
29754        Reviewed by Adam Barth.
29755
29756        Introduce EventDispatchMediator abstraction, which encapsulate all
29757        non-trivial logic around firing a specific type of an event.
29758        https://bugs.webkit.org/show_bug.cgi?id=57562
29759
29760        Refactoring, covered by existing tests.
29761
29762        * dom/Event.cpp:
29763        (WebCore::EventDispatchMediator::EventDispatchMediator): Added.
29764        (WebCore::EventDispatchMediator::~EventDispatchMediator): Added.
29765        (WebCore::EventDispatchMediator::dispatchEvent): Added.
29766        (WebCore::EventDispatchMediator::event): Added.
29767        * dom/Event.h: Added decl.
29768        * dom/EventDispatcher.cpp:
29769        (WebCore::EventDispatcher::dispatchEvent): Changed to use EventDispatchMediator.
29770        * dom/EventDispatcher.h: Updated decls.
29771        * dom/KeyboardEvent.cpp:
29772        (WebCore::KeyboardEventDispatchMediator::KeyboardEventDispatchMediator): Added.
29773        (WebCore::KeyboardEventDispatchMediator::dispatchEvent): Added.
29774        * dom/KeyboardEvent.h: Updated decls
29775        * dom/Node.cpp:
29776        (WebCore::Node::dispatchEvent): Changed to use EventDispatchMediator.
29777        (WebCore::Node::dispatchKeyEvent): Changed to use KeyboardEventDispatchMediator.
29778
297792011-04-04  Martin Robinson  <mrobinson@igalia.com>
29780
29781        Reviewed by Xan Lopez.
29782
29783        [Cairo] Memory leak in RefPtrCairo
29784        https://bugs.webkit.org/show_bug.cgi?id=57758
29785
29786        No new tests. This just fixes a memory leak.
29787
29788        * platform/graphics/cairo/RefPtrCairo.cpp:
29789        (WTF::derefIfNotNull): Deref should unref the cairo_font_fact_t, not reference it.
29790
297912011-04-04  Adrienne Walker  <enne@google.com>
29792
29793        Unreviewed, rolling out r82880.
29794        http://trac.webkit.org/changeset/82880
29795        https://bugs.webkit.org/show_bug.cgi?id=50661
29796
29797        Meter elements not rendered in Chromium Linux layout tests
29798
29799        * Android.mk:
29800        * CMakeLists.txt:
29801        * GNUmakefile.am:
29802        * WebCore.gypi:
29803        * WebCore.pro:
29804        * WebCore.vcproj/WebCore.vcproj:
29805        * WebCore.xcodeproj/project.pbxproj:
29806        * css/CSSMutableStyleDeclaration.cpp:
29807        * css/CSSMutableStyleDeclaration.h:
29808        * css/CSSSelector.cpp:
29809        (WebCore::CSSSelector::pseudoId):
29810        (WebCore::nameToPseudoTypeMap):
29811        (WebCore::CSSSelector::extractPseudoType):
29812        * css/CSSSelector.h:
29813        * css/html.css:
29814        (meter):
29815        (meter::-webkit-meter):
29816        (meter::-webkit-meter-bar):
29817        (meter::-webkit-meter-optimum-value):
29818        (meter::-webkit-meter-suboptimal-value):
29819        (meter::-webkit-meter-even-less-good-value):
29820        * html/HTMLMeterElement.cpp:
29821        (WebCore::HTMLMeterElement::create):
29822        (WebCore::HTMLMeterElement::parseMappedAttribute):
29823        (WebCore::HTMLMeterElement::attach):
29824        * html/HTMLMeterElement.h:
29825        * html/shadow/MeterShadowElement.cpp: Removed.
29826        * html/shadow/MeterShadowElement.h: Removed.
29827        * rendering/RenderMeter.cpp:
29828        (WebCore::RenderMeter::RenderMeter):
29829        (WebCore::RenderMeter::~RenderMeter):
29830        (WebCore::RenderMeter::createPart):
29831        (WebCore::RenderMeter::updateFromElement):
29832        (WebCore::RenderMeter::layoutParts):
29833        (WebCore::RenderMeter::styleDidChange):
29834        (WebCore::RenderMeter::shouldHaveParts):
29835        (WebCore::RenderMeter::valueRatio):
29836        (WebCore::RenderMeter::barPartRect):
29837        (WebCore::RenderMeter::valuePartRect):
29838        (WebCore::RenderMeter::valuePseudoId):
29839        (WebCore::RenderMeter::barPseudoId):
29840        (WebCore::RenderMeter::detachShadows):
29841        (WebCore::RenderMeter::updateShadows):
29842        * rendering/RenderMeter.h:
29843        (WebCore::RenderMeter::renderName):
29844        (WebCore::RenderMeter::isMeter):
29845        (WebCore::RenderMeter::shadowAttached):
29846
298472011-04-04  Chang Shu  <cshu@webkit.org>
29848
29849        Reviewed by Ryosuke Niwa.
29850
29851        setContentEditable with true/false/inherit string is not working properly
29852        https://bugs.webkit.org/show_bug.cgi?id=52058
29853
29854        Move isContentEditable from HTMLElement to Node. Thus, Node provides two functions for
29855        checking editability: rendererIsEditable and isContentEdiable. The former is a fast path,
29856        which does NOT trigger layout and only checks the render style of usermodify. The latter
29857        updates the layout first to make sure the render style syncs with DOM contenteditable
29858        attribute. Certain call sites that need to call isContentEditable rather than rendererIsEditable
29859        are also updated in the patch. But a complete fix will follow up in bug 57244.
29860
29861        This patch fixes all the failed layout tests related to set contenteditable.
29862
29863        * accessibility/AccessibilityRenderObject.cpp:
29864        (WebCore::AccessibilityRenderObject::isReadOnly):
29865        * dom/Node.cpp:
29866        (WebCore::Node::isContentEditable):
29867        (WebCore::Node::shouldUseInputMethod):
29868        * dom/Node.h:
29869        * html/HTMLElement.cpp:
29870        * html/HTMLElement.h:
29871
298722011-04-04  Roland Steiner  <rolandsteiner@chromium.org>
29873
29874        Reviewed by Dimitri Glazkov.
29875
29876        Bug 57689 - Extract scoping functionality from Document
29877        https://bugs.webkit.org/show_bug.cgi?id=57689
29878
29879        Moved selfOnlyRef (renamed to guardRef), element ID, image map
29880        and accesss key functionalities from Document to a new base
29881        class TreeScope.
29882
29883        TreeShared: made removedLastRef protected
29884
29885        No new tests. (refactoring)
29886
29887        * Android.mk:
29888        * CMakeLists.txt:
29889        * GNUmakefile.am:
29890        * WebCore.gypi:
29891        * WebCore.pro:
29892        * WebCore.vcproj/WebCore.vcproj:
29893        * WebCore.xcodeproj/project.pbxproj:
29894        * dom/Document.cpp:
29895        (WebCore::Document::Document):
29896        (WebCore::Document::destroyScope):
29897        (WebCore::Document::getElementById):
29898        (WebCore::Document::childrenChanged):
29899        (WebCore::Document::scheduleStyleRecalc):
29900        (WebCore::Document::attach):
29901        (WebCore::Document::detach):
29902        * dom/Document.h:
29903        (WebCore::Node::Node):
29904        * dom/DocumentOrderedMap.cpp:
29905        (WebCore::DocumentOrderedMap::get):
29906        (WebCore::DocumentOrderedMap::getElementById):
29907        (WebCore::DocumentOrderedMap::getElementByMapName):
29908        (WebCore::DocumentOrderedMap::getElementByLowercasedMapName):
29909        * dom/DocumentOrderedMap.h:
29910        * dom/DOMAllInOne.cpp:
29911        * dom/Node.cpp:
29912        (WebCore::Node::~Node):
29913        (WebCore::Node::setDocument):
29914        * dom/Node.h:
29915        * dom/TreeScope.cpp: Added.
29916        * dom/TreeScope.h: Added.
29917        * platform/TreeShared.h:
29918        (WebCore::TreeShared::removedLastRef): made protected
29919
299202011-04-04  MORITA Hajime  <morrita@google.com>
29921
29922        Reviewed by Dimitri Glazkov.
29923
29924        Convert <meter> shadow DOM to a DOM-based shadow.
29925        https://bugs.webkit.org/show_bug.cgi?id=50661
29926
29927        Eliminated a large part of <meter> custom layout code,
29928        which is replaced by a shadow tree.
29929        Note that the shadow tree is created on construction time and
29930        will remain during the host HTMLMeterElement lifecycle.
29931
29932        * Android.mk:
29933        * CMakeLists.txt:
29934        * GNUmakefile.am:
29935        * WebCore.gypi:
29936        * WebCore.pro:
29937        * WebCore.vcproj/WebCore.vcproj:
29938        * WebCore.xcodeproj/project.pbxproj:
29939        * css/CSSMutableStyleDeclaration.cpp:
29940        (WebCore::CSSMutableStyleDeclaration::setProperty):
29941        * css/CSSMutableStyleDeclaration.h:
29942        * css/CSSSelector.cpp:
29943        (WebCore::CSSSelector::pseudoId):
29944        (WebCore::nameToPseudoTypeMap):
29945        (WebCore::CSSSelector::extractPseudoType):
29946        * css/CSSSelector.h:
29947        * css/html.css:
29948        (meter):
29949        (meter::-webkit-meter-bar):
29950        (meter::-webkit-meter-optimum-value):
29951        (meter::-webkit-meter-suboptimum-value):
29952        (meter::-webkit-meter-even-less-good-value):
29953        * html/HTMLMeterElement.cpp:
29954        (WebCore::HTMLMeterElement::~HTMLMeterElement):
29955        (WebCore::HTMLMeterElement::parseMappedAttribute):
29956        (WebCore::HTMLMeterElement::attach):
29957        (WebCore::HTMLMeterElement::valueRatio):
29958        (WebCore::HTMLMeterElement::didElementStateChange):
29959        (WebCore::HTMLMeterElement::createShadowSubtree):
29960        * html/HTMLMeterElement.h:
29961        * html/shadow/MeterShadowElement.cpp: Added.
29962        (WebCore::MeterShadowElement::MeterShadowElement):
29963        (WebCore::MeterShadowElement::meterElement):
29964        (WebCore::MeterShadowElement::rendererIsNeeded):
29965        (WebCore::MeterBarElement::shadowPseudoId):
29966        (WebCore::MeterValueElement::shadowPseudoId):
29967        (WebCore::MeterValueElement::setWidthPercentage):
29968        * html/shadow/MeterShadowElement.h: Added.
29969        (WebCore::MeterBarElement::MeterBarElement):
29970        (WebCore::MeterBarElement::create):
29971        (WebCore::MeterValueElement::MeterValueElement):
29972        (WebCore::MeterValueElement::create):
29973        * rendering/RenderMeter.cpp:
29974        (WebCore::RenderMeter::RenderMeter):
29975        (WebCore::RenderMeter::~RenderMeter):
29976        (WebCore::RenderMeter::valueRatio):
29977        * rendering/RenderMeter.h:
29978        (WebCore::RenderMeter::renderName):
29979        (WebCore::RenderMeter::isMeter):
29980        (WebCore::RenderMeter::requiresForcedStyleRecalcPropagation):
29981        (WebCore::RenderMeter::canHaveChildren):
29982
299832011-04-04  Martin Robinson  <mrobinson@igalia.com>
29984
29985        Reviewed by Gustavo Noronha Silva.
29986
29987        [GTK] WebGL support
29988        https://bugs.webkit.org/show_bug.cgi?id=31517
29989
29990        Add WebGL support for the GTK+ bits of WebCore.
29991
29992        No new tests. This will be covered by the existing WebGL tests once
29993        the bots are capable of running WebGL tests.
29994
29995        * GNUmakefile.am: Added new files required for WebGL support.
29996        * html/HTMLCanvasElement.cpp:
29997        (WebCore::HTMLCanvasElement::getContext): Extend #ifdef to cover GTK+ as well, which does not
29998        yet support accelerated compositing.
29999        * platform/graphics/ANGLEWebKitBridge.h: Update to reflect the fact that ANGLE isn't compiled as
30000        a framework for GTK+.
30001        * platform/graphics/GraphicsContext3D.h:
30002        (WebCore::GraphicsContext3D::platformTexture): Added a declaration of this method for Cairo.
30003        (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer): Ditto.
30004        * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Added.
30005        (WebCore::GraphicsContext3D::getImageData): Added.
30006        (WebCore::GraphicsContext3D::paintToCanvas): Added.
30007        * platform/graphics/cairo/OpenGLShims.cpp: Added. This file controls loading of GL extension
30008        functions dynamically. They have different names across the different vendors' GL implementations.
30009        (WebCore::lookupOpenGLFunctionAddress): Added
30010        (WebCore::openGLFunctionTable): Added
30011        (WebCore::initializeOpenGLShims): Added
30012        * platform/graphics/cairo/OpenGLShims.h: Added.
30013        * platform/graphics/gtk/DrawingBufferGtk.cpp: Added.
30014        (WebCore::DrawingBuffer::DrawingBuffer): Very generic implementation for Cairo.
30015        (WebCore::DrawingBuffer::~DrawingBuffer): Ditto.
30016        (WebCore::DrawingBuffer::didReset): Ditto.
30017        (WebCore::DrawingBuffer::platformColorBuffer): Ditto.
30018        * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Added.
30019        (WebCore::GraphicsContext3D::create): Initial implementation.
30020        (WebCore::GraphicsContext3D::GraphicsContext3D): Ditto.
30021        (WebCore::GraphicsContext3D::~GraphicsContext3D): Ditto.
30022        (WebCore::GraphicsContext3D::makeContextCurrent): Ditto.
30023        (WebCore::GraphicsContext3D::platformGraphicsContext3D): Ditto.
30024        (WebCore::GraphicsContext3D::isGLES2Compliant): Ditto.
30025        * platform/graphics/gtk/GraphicsContext3DInternal.cpp: Added.
30026        (sharedDisplay): Added this shared display which is required by some
30027        display drivers.
30028        (WebCore::activeGraphicsContexts): This method keeps track of all active GraphicsContext3D
30029        contexts, in order to clean them up at exit. This prevents crashes on certain OpenGL drivers.
30030        (WebCore::GraphicsContext3DInternal::addActiveGraphicsContext): Ditto.
30031        (WebCore::GraphicsContext3DInternal::removeActiveGraphicsContext): Ditto.
30032        (WebCore::GraphicsContext3DInternal::cleanupActiveContextsAtExit): Ditto.
30033        (WebCore::GraphicsContext3DInternal::create): Figure out the best way to create an OpenGL
30034        context given the current environment.
30035        (WebCore::GraphicsContext3DInternal::createPbufferContext): Pbuffer context initializer.
30036        (WebCore::GraphicsContext3DInternal::createPixmapContext): Pixmap context initializer.
30037        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal): Initial implementation.
30038        (WebCore::GraphicsContext3DInternal::~GraphicsContext3DInternal): Ditto.
30039        (WebCore::GraphicsContext3DInternal::makeContextCurrent): Ditto.
30040        * platform/graphics/gtk/GraphicsContext3DInternal.h: Added.
30041        * platform/graphics/opengl/Extensions3DOpenGL.cpp: Added generic implementation.
30042        (WebCore::Extensions3DOpenGL::ensureEnabled): Ditto.
30043        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
30044        (WebCore::GraphicsContext3D::reshape): Test for the context using the public API rather than
30045        the private bits that are specific to the Apple port.
30046
300472011-04-04  Alexey Proskuryakov  <ap@apple.com>
30048
30049        Reviewed by Dan Bernstein.
30050
30051        REGRESSION (WebKit2): Caps-Lock indicator sometimes doesn't appear in WebKit2
30052        https://bugs.webkit.org/show_bug.cgi?id=51230
30053        <rdar://problem/8780989>
30054
30055        <rdar://problem/9015250> REGRESSION (WebKit2): Key events not fired for modifier keys
30056
30057        * page/EventHandler.cpp: (WebCore::EventHandler::keyEvent): Moved Caps Lock handling from
30058        WebKits to WebCore, because WebKit shouldn't be smart.
30059
300602011-04-04  Steve Falkenburg  <sfalken@apple.com>
30061
30062        Fix Windows build warning.
30063
30064        * WebCore.vcproj/WebCore.vcproj: Exclude EventQueue.cpp in Debug_All build.
30065
300662011-04-04  Adam Roben  <aroben@apple.com>
30067
30068        Attempted Mac build fix, part III
30069
30070        * WebCore.exp.in: Export PlatformCALayer::setGeometryFlipped. Also resorted some symbols.
30071
300722011-04-04  Andy Estes  <aestes@apple.com>
30073
30074        Fix the Mac build.
30075
30076        * WebCore.exp.in:
30077
300782011-04-04  David Dorwin  <ddorwin@chromium.org>
30079
30080        Reviewed by David Levin.
30081
30082        Chromium Mac crashes when entering fullscreen
30083        https://bugs.webkit.org/show_bug.cgi?id=57483
30084
30085        Override extraFullScreenStyleSheet in RenderThemeChromiumMac to avoid hitting the ASSERT_NOT_REACHED in RenderThemeMac.
30086
30087        * WebCore.gyp/WebCore.gyp:
30088        * rendering/RenderThemeChromiumMac.h:
30089        * rendering/RenderThemeChromiumMac.mm:
30090        (WebCore::RenderThemeChromiumMac::extraFullScreenStyleSheet):
30091
300922011-04-04  Adam Roben  <aroben@apple.com>
30093
30094        Attempted Mac build fix, part II
30095
30096        * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayerClient.h and
30097        PlatformCAAnimation.h as private so that WebKit2 can #include them (transitively).
30098
300992011-04-04  Steve Falkenburg  <sfalken@apple.com>
30100
30101        Reviewed by Adam Roben.
30102
30103        Remove unused AnalyzeWithLargeStack code from Windows build files
30104        https://bugs.webkit.org/show_bug.cgi?id=57771
30105
30106        This was used for us to build with prefast automatically,
30107        but it is out-of-date and hasn't been used for some time.
30108        Removing completely for now.
30109
30110        * WebCore.vcproj/WebCore.vcproj:
30111        * WebCore.vcproj/WebCorePreBuild.cmd:
30112
301132011-04-01  Matthew Delaney  <mdelaney@apple.com>
30114
30115        Reviewed by Simon Fraser.
30116
30117        [CG] Do not accelerate small canvases
30118        https://bugs.webkit.org/show_bug.cgi?id=57596
30119
30120        No new tests. No outward behavior changes.
30121
30122        * platform/graphics/cg/ImageBufferCG.cpp:
30123
301242011-04-04  Adam Roben  <aroben@apple.com>
30125
30126        Attempted Mac build fix
30127
30128        * WebCore.xcodeproj/project.pbxproj: Marked PlatformCALayer.h and GraphicsLayerCA.h private
30129        so that WebKit can #include them.
30130
301312011-04-04  Malcolm MacLeod  <mmacleod@webmail.co.za>
30132
30133        Reviewed by Kevin Ollivier.
30134
30135        [wx] Implement support for temporary files.
30136
30137        https://bugs.webkit.org/show_bug.cgi?id=57772
30138
30139        * platform/FileSystem.h:
30140        * platform/wx/FileSystemWx.cpp:
30141        (WebCore::getFileModificationTime):
30142        (WebCore::openTemporaryFile):
30143        (WebCore::closeFile):
30144        (WebCore::writeToFile):
30145
301462011-04-01  Oliver Hunt  <oliver@apple.com>
30147
30148        Reviewed by Geoffrey Garen.
30149
30150        Make StructureChain GC allocated
30151        https://bugs.webkit.org/show_bug.cgi?id=56695
30152
30153        Update for new Structure marking function
30154
30155        * bindings/js/JSDOMGlobalObject.cpp:
30156        (WebCore::JSDOMGlobalObject::markChildren):
30157
301582011-04-04  Pavel Feldman  <pfeldman@google.com>
30159
30160        Reviewed by Yury Semikhatsky.
30161
30162        Web Inspector: add support for the enumerated types in the protocol.
30163        https://bugs.webkit.org/show_bug.cgi?id=57761
30164
30165        * inspector/Inspector.json:
30166        * inspector/InspectorDebuggerAgent.cpp:
30167        (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
30168        * inspector/InspectorDebuggerAgent.h:
30169        * inspector/InspectorInstrumentation.cpp:
30170        (WebCore::InspectorInstrumentation::resourceRetrievedByXMLHttpRequestImpl):
30171        (WebCore::InspectorInstrumentation::scriptImportedImpl):
30172        * inspector/InspectorResourceAgent.cpp:
30173        (WebCore::cachedResourceTypeString):
30174        (WebCore::InspectorResourceAgent::didReceiveResponse):
30175        (WebCore::InspectorResourceAgent::setInitialScriptContent):
30176        (WebCore::InspectorResourceAgent::setInitialXHRContent):
30177        * inspector/InspectorResourceAgent.h:
30178        * inspector/front-end/ScriptsPanel.js:
30179        * inspector/generate-inspector-idl:
30180
301812011-04-04  Yury Semikhatsky  <yurys@chromium.org>
30182
30183        Reviewed by Pavel Feldman.
30184
30185        Web Inspector: InspectorRuntimeAgent should not depend on Page
30186        https://bugs.webkit.org/show_bug.cgi?id=57759
30187
30188        Descendants of InspectorRuntimeAgent should implement a method providing access to the default
30189        inspected state used for console evaluations.
30190
30191        * inspector/InspectorAgent.cpp:
30192        (WebCore::InspectorAgent::InspectorAgent): runtime agent is created and deleted along with other agents.
30193        (WebCore::InspectorAgent::setFrontend):
30194        * inspector/InspectorAgent.h:
30195        * inspector/InspectorRuntimeAgent.cpp:
30196        (WebCore::InspectorRuntimeAgent::create):
30197        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
30198        (WebCore::InspectorRuntimeAgent::evaluate):
30199        * inspector/InspectorRuntimeAgent.h:
30200        (WebCore::InspectorRuntimeAgent::InspectedStateProvider::~InspectedStateProvider):
30201
302022011-04-04  Yong Li  <yoli@rim.com>
30203
30204        Reviewed by Antonio Gomes.
30205
30206        https://bugs.webkit.org/show_bug.cgi?id=55969
30207        Fix the issue that document state is not saved when
30208        going backward and ending up with error page.
30209
30210        Test: platform/qt/fast/history/back-to-unreachable-url-then-forward.html
30211
30212        (For manual test, load a non-existent html first, then load
30213        fast/history/resources/check-scroll-position.html, then go
30214        back and go forward. If it doesn't show "SUCCESS" at the bottom
30215        of the page, your browser has failed the test)
30216
30217        * loader/FrameLoader.cpp:
30218        (WebCore::FrameLoader::load):
30219
302202011-04-04  Sergio Villar Senin  <svillar@igalia.com>
30221
30222        Reviewed by Martin Robinson.
30223
30224        [GTK] Fix make distcheck for 1.4.0
30225        https://bugs.webkit.org/show_bug.cgi?id=57750
30226
30227        Added a missing header file to the Makefile
30228
30229        * GNUmakefile.am:
30230
302312011-04-04  Martin Robinson  <mrobinson@igalia.com>
30232
30233        Reviewed by Xan Lopez.
30234
30235        [GTK] http/tests/plugins/post-url-file.html fails on GTK+
30236        https://bugs.webkit.org/show_bug.cgi?id=55826
30237
30238        Correct the implementation of handlePostReadFile which uses GIO APIs and
30239        actually resizes the buffer to fit the entire size of the file data. This
30240        was likely leading to memory corruption until now.
30241
30242        * plugins/gtk/PluginViewGtk.cpp:
30243        (WebCore::PluginView::handlePostReadFile): Fix this method.
30244
302452011-04-04  Andrey Kosyakov  <caseq@chromium.org>
30246
30247        Reviewed by Yury Semikhatsky.
30248
30249        Web Inspector: [Extensions API] add notifications on panels shown/hidden
30250        https://bugs.webkit.org/show_bug.cgi?id=57752
30251
30252        * inspector/front-end/ExtensionAPI.js:
30253        (WebInspector.injectedExtensionAPI.PanelImpl):
30254        * inspector/front-end/ExtensionServer.js:
30255        (WebInspector.ExtensionServer.prototype.notifyPanelShown):
30256        (WebInspector.ExtensionServer.prototype.notifyPanelHidden):
30257        * inspector/front-end/Panel.js:
30258        (WebInspector.Panel.prototype.show):
30259        (WebInspector.Panel.prototype.hide):
30260
302612011-04-04  Pavel Podivilov  <podivilov@chromium.org>
30262
30263        Reviewed by Yury Semikhatsky.
30264
30265        Web Inspector: search in resources panel is broken.
30266        https://bugs.webkit.org/show_bug.cgi?id=57631
30267
30268        Search in resources panel should trigger source frame content load.
30269
30270        * inspector/front-end/Panel.js:
30271        (WebInspector.Panel.prototype.jumpToNextSearchResult):
30272        (WebInspector.Panel.prototype.jumpToPreviousSearchResult):
30273        * inspector/front-end/ResourcesPanel.js:
30274        * inspector/front-end/SearchController.js:
30275        (WebInspector.SearchController.prototype.handleShortcut):
30276        (WebInspector.SearchController.prototype.focusSearchField):
30277        * inspector/front-end/SourceFrame.js:
30278        (WebInspector.SourceFrame.prototype.show):
30279        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
30280        (WebInspector.SourceFrame.prototype.performSearch):
30281
302822011-04-03  Eric Seidel  <eric@webkit.org>
30283
30284        Reviewed by Ryosuke Niwa.
30285
30286        Split out UnicodeBidi enum into its own header (to allow use in platform)
30287        https://bugs.webkit.org/show_bug.cgi?id=57722
30288
30289        unicode-bidi is a CSS concept.  However the same concept is really needed throughout
30290        the bidi code in platform as well.  So I'm moving the enum to platform.
30291        The only part of the enum which doesn't make much sense to platform/ is "normal".
30292
30293        * WebCore.xcodeproj/project.pbxproj:
30294        * css/CSSPrimitiveValueMappings.h:
30295        * platform/text/UnicodeBidi.h: Added.
30296        * rendering/style/RenderStyle.h:
30297        * rendering/style/RenderStyleConstants.h:
30298
302992011-04-04  Andrey Adaikin  <aandrey@google.com>
30300
30301        Reviewed by Yury Semikhatsky.
30302
30303        Web Inspector: Highlighted search tokens would not be shown on long lines in the text viewer
30304        https://bugs.webkit.org/show_bug.cgi?id=57749
30305
30306        * inspector/front-end/TextViewer.js:
30307        (WebInspector.TextEditorMainPanel.prototype.markAndRevealRange):
30308        (WebInspector.TextEditorMainPanel.prototype._paintLine):
30309
303102011-04-04  Alexander Pavlov  <apavlov@chromium.org>
30311
30312        Reviewed by Yury Semikhatsky.
30313
30314        Web Inspector: Incorrectly reports warning on missing/incorrect content-type for 304s
30315        https://bugs.webkit.org/show_bug.cgi?id=48525
30316
30317        * inspector/front-end/Resource.js:
30318        (WebInspector.Resource.prototype._mimeTypeIsConsistentWithType):
30319
303202011-04-01  Alexander Pavlov  <apavlov@chromium.org>
30321
30322        Reviewed by Yury Semikhatsky.
30323
30324        Web Inspector: appropriateSelectorForNode() invokes the "localName" getter on DOMNode rather than function
30325        https://bugs.webkit.org/show_bug.cgi?id=57632
30326
30327        Moved the affected method onto the DOMNode.prototype as "appropriateSelectorFor".
30328
30329        * inspector/front-end/DOMAgent.js:
30330        (WebInspector.DOMNode.prototype.appropriateSelectorFor):
30331        * inspector/front-end/EventListenersSidebarPane.js:
30332        ():
30333        * inspector/front-end/StylesSidebarPane.js:
30334        (WebInspector.StylesSidebarPane.prototype.addBlankSection):
30335        * inspector/front-end/utilities.js:
30336
303372011-04-04  Andrey Kosyakov  <caseq@chromium.org>
30338
30339        Unreviewed. Followup to an incomplete commit in r82806.
30340
30341        * inspector/front-end/ExtensionAPI.js:
30342        (WebInspector.injectedExtensionAPI.PanelWithSidebarImpl.prototype.createSidebarPane):
30343        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl):
30344        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setHeight):
30345        (WebInspector.injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
30346        (WebInspector.injectedExtensionAPI):
30347        * inspector/front-end/ExtensionPanel.js:
30348        (WebInspector.ExtensionSidebarPane):
30349        (WebInspector.ExtensionSidebarPane.prototype.setPage):
30350        (WebInspector.ExtensionSidebarPane.prototype._setObject):
30351        * inspector/front-end/ExtensionServer.js:
30352        (WebInspector.ExtensionServer):
30353        (WebInspector.ExtensionServer.prototype.notifyExtensionSidebarUpdated):
30354        (WebInspector.ExtensionServer.prototype._onCreatePanel):
30355        (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
30356        (WebInspector.ExtensionServer.prototype.createClientIframe):
30357        (WebInspector.ExtensionServer.prototype._onSetSidebarContent):
30358
303592011-04-04  Yury Semikhatsky  <yurys@chromium.org>
30360
30361        Unreviewed. Fix Qt minimal build.
30362
30363        * inspector/InspectorFrontendChannel.h:
30364
303652011-04-01  Sergey Vorobyev  <sergeyvorobyev@google.com>
30366
30367        Reviewed by Yury Semikhatsky.
30368
30369        Web Inspector: Separate sendMessageToFrontend function
30370        from InspectorClient to individual interface.
30371        https://bugs.webkit.org/show_bug.cgi?id=57548
30372
30373        Refactoring - covered with existing inspector tests.
30374
30375        * GNUmakefile.am:
30376        * WebCore.gypi:
30377        * WebCore.vcproj/WebCore.vcproj:
30378        * WebCore.xcodeproj/project.pbxproj:
30379        * inspector/CodeGeneratorInspector.pm:
30380        * inspector/InspectorClient.h:
30381        * inspector/InspectorFrontendChannel.h: Added.
30382        (WebCore::InspectorFrontendChannel::~InspectorFrontendChannel):
30383
303842011-04-04  Nico Weber  <thakis@chromium.org>
30385
30386        Reviewed by Eric Seidel.
30387
30388        Prefer a using directive over qualified names in LocalizedNumberICU.cpp
30389        https://bugs.webkit.org/show_bug.cgi?id=57742
30390
30391        Requested by ap in https://bugs.webkit.org/show_bug.cgi?id=57715
30392
30393        * platform/text/LocalizedNumberICU.cpp:
30394        (WebCore::createFormatterForCurrentLocale):
30395        (WebCore::numberFormatter):
30396        (WebCore::parseLocalizedNumber):
30397        (WebCore::formatLocalizedNumber):
30398
303992011-04-04  Andrey Adaikin  <aandrey@google.com>
30400
30401        Reviewed by Yury Semikhatsky.
30402
30403        Web Inspector: Breakpoints in the gutter stay static while editing the text
30404        https://bugs.webkit.org/show_bug.cgi?id=57616
30405
30406        * inspector/front-end/SourceFrame.js:
30407        (WebInspector.SourceFrame):
30408        (WebInspector.SourceFrame.prototype._saveViewerState):
30409        (WebInspector.SourceFrame.prototype._restoreViewerState):
30410        (WebInspector.SourceFrame.prototype._endEditing):
30411        (WebInspector.SourceFrame.prototype._lineNumberAfterEditing):
30412        (WebInspector.SourceFrame.prototype.addBreakpoint):
30413        (WebInspector.SourceFrame.prototype.removeBreakpoint):
30414        * inspector/front-end/TextViewer.js:
30415        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
30416        (WebInspector):
30417        (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
30418        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
30419        (WebInspector.TextEditorChunkedPanel.prototype._splitChunkOnALine):
30420        (WebInspector.TextEditorMainPanel.prototype._splitChunkOnALine):
30421
304222011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
30423
30424        Reviewed by Yury Semikhatsky.
30425
30426        Web Inspector: remove obsolete doc generating code from CodeGenerator.
30427        https://bugs.webkit.org/show_bug.cgi?id=57748
30428
30429        * inspector/CodeGeneratorInspector.pm:
30430
304312011-04-04  Andrey Kosyakov  <caseq@chromium.org>
30432
30433        Reviewed by Yury Semikhatsky.
30434
30435        Web Inspector: [Extensions API] Merge WatchExpressionSidebarPane into ExtensionSidebarPane
30436        https://bugs.webkit.org/show_bug.cgi?id=57622
30437
30438        Merged WatchExpressionSidebarPane into ExtensionSidebarPane, added setPage(url).
30439        Fixed wrong getter in schema (scripts -> elements)
30440
30441        * inspector/front-end/ExtensionAPI.js:
30442        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setObject):
30443        (WebInspector.injectedExtensionAPI.WatchExpressionSidebarPaneImpl.prototype.setPage):
30444        * inspector/front-end/ExtensionAPISchema.json:
30445        * inspector/front-end/ExtensionServer.js:
30446        (WebInspector.ExtensionServer.prototype._onSetSidebarPage):
30447
304482011-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
30449
30450        Reviewed by Pavel Feldman.
30451
30452        Web Inspector: introduce support of 'optional' flag for command arguments.
30453        https://bugs.webkit.org/show_bug.cgi?id=57698
30454
30455        * inspector/CodeGeneratorInspector.pm:
30456        * inspector/Inspector.json:
30457        * inspector/InspectorDebuggerAgent.cpp:
30458        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
30459        (WebCore::InspectorDebuggerAgent::setBreakpoint):
30460        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
30461        * inspector/InspectorDebuggerAgent.h:
30462        * inspector/InspectorPageAgent.cpp:
30463        (WebCore::InspectorPageAgent::reloadPage):
30464        * inspector/InspectorPageAgent.h:
30465        * inspector/InspectorResourceAgent.cpp:
30466        (WebCore::InspectorResourceAgent::getResourceContent):
30467        * inspector/InspectorResourceAgent.h:
30468        * inspector/InspectorRuntimeAgent.cpp:
30469        (WebCore::InspectorRuntimeAgent::evaluate):
30470        * inspector/InspectorRuntimeAgent.h:
30471        * inspector/generate-inspector-idl:
30472
304732011-04-04  Yury Semikhatsky  <yurys@chromium.org>
30474
30475        Reviewed by Pavel Feldman.
30476
30477        Web Inspector: InjectedScriptManager should not try to access inspected window in case of workers
30478        https://bugs.webkit.org/show_bug.cgi?id=57637
30479
30480        * bindings/js/JSInjectedScriptManager.cpp:
30481        (WebCore::InjectedScriptManager::injectedScriptFor):
30482        * bindings/v8/custom/V8InjectedScriptManager.cpp:
30483        (WebCore::InjectedScriptManager::injectedScriptFor):
30484        * inspector/InjectedScript.cpp:
30485        (WebCore::InjectedScript::InjectedScript):
30486        (WebCore::InjectedScript::canAccessInspectedWindow):
30487        * inspector/InjectedScript.h:
30488        * inspector/InjectedScriptManager.cpp:
30489        (WebCore::InjectedScriptManager::createForPage):
30490        (WebCore::InjectedScriptManager::createForWorker):
30491        (WebCore::InjectedScriptManager::InjectedScriptManager): access check function is passed as a parameter to the constructor
30492        and it depends on which type of context we're inspecting(worker or page).
30493        (WebCore::InjectedScriptManager::canAccessInspectedWorkerContext):
30494        * inspector/InjectedScriptManager.h:
30495        * inspector/InspectorController.cpp:
30496        (WebCore::InspectorController::InspectorController):
30497
304982011-04-04  Ryuan Choi  <ryuan.choi@samsung.com>
30499
30500        Reviewed by Eric Seidel.
30501
30502        V8StringCallback.cpp requires V8Binding.h
30503        https://bugs.webkit.org/show_bug.cgi?id=57699
30504
30505        No new tests required because of just adding header file.
30506
30507        * bindings/scripts/CodeGeneratorV8.pm:
30508
305092011-04-03  Ryuan Choi  <ryuan.choi@samsung.com>
30510
30511        Reviewed by Eric Seidel.
30512
30513        [CMAKE] Clean duplicated files in WebCore_Sources
30514        https://bugs.webkit.org/show_bug.cgi?id=57741
30515
30516        No new tests, Only duplicated files were removed.
30517
30518        * CMakeLists.txt:
30519
305202011-04-03  Luke Macpherson   <macpherson@chromium.org>
30521
30522        Reviewed by Darin Adler.
30523
30524        Fix 2-space indentation introduced in bug 54706.
30525        https://bugs.webkit.org/show_bug.cgi?id=57740
30526
30527        No new tests - whitespace changes only.
30528
30529        * css/CSSStyleSelector.cpp:
30530        (WebCore::CSSStyleSelector::applyProperty):
30531        Convert 2-space indentation to 4-space indentation.
30532
305332011-04-03  Luke Macpherson   <macpherson@chromium.org>
30534
30535        Reviewed by Dimitri Glazkov.
30536
30537        Make CSSStyleApplyProperty non-copyable
30538        https://bugs.webkit.org/show_bug.cgi?id=57738
30539
30540        No new functionality added so no new tests required.
30541
30542        * css/CSSStyleApplyProperty.h:
30543        Added WTF_MAKE_NONCOPYABLE(CSSStyleApplyProperty) to ensure singleton stays single.
30544
305452011-04-03  Dan Bernstein  <mitz@apple.com>
30546
30547        Reviewed by Maciej Stachowiak.
30548
30549        fast/images/extra-image-in-image-document.html crashes when run after embed-image.html
30550        https://bugs.webkit.org/show_bug.cgi?id=57733
30551
30552        The crash happens because resetting the page scale as part of preparing the WebView for the
30553        next test triggered layout, which in turn caused a plug-in to make a resource request, and
30554        DumpRenderTree's delegate to be dispatched. The delegate doesn’t expect to be called between
30555        tests, and it references the layout test controller, which is null.
30556
30557        * page/Frame.cpp:
30558        (WebCore::Frame::scalePage): Avoid an unnecessary layout if the page scale isn’t changing. This
30559        is more efficient, and has the side effect of avoiding the crash in DumpRenderTree, although
30560        DumpRenderTree could still crash when after a test with disabled plug-ins and a non-1 page scale.
30561        I think there are currently no such tests, so I am not fixing DumpRenderTree.
30562
305632011-04-03  Eric Seidel  <eric@webkit.org>
30564
30565        Reviewed by Ryosuke Niwa.
30566
30567        Teach InlineIterator how to work from any root, not just a RenderBlock
30568        https://bugs.webkit.org/show_bug.cgi?id=57726
30569
30570        For implementing bidi-unicode: isolate, we need to be able to run the
30571        bidi algorithm over a subtree of inlines, not just from a block root.
30572        This is the first step in making this possible.
30573
30574        * rendering/InlineIterator.h:
30575        (WebCore::InlineIterator::InlineIterator):
30576        (WebCore::InlineIterator::root):
30577        (WebCore::bidiNext):
30578        (WebCore::bidiFirst):
30579        (WebCore::InlineIterator::increment):
30580        (WebCore::InlineBidiResolver::appendRun):
30581        * rendering/RenderBlockLineLayout.cpp:
30582        (WebCore::RenderBlock::findNextLineBreak):
30583
305842011-04-03  Eric Seidel  <eric@webkit.org>
30585
30586        Reviewed by Dan Bernstein.
30587
30588        Split out handling of trailing spaces from layoutInlineChildren
30589        https://bugs.webkit.org/show_bug.cgi?id=57432
30590
30591        There is much more we could split out from this function, but this is a start.
30592
30593        I suspect this is very hot code.  Hopefully the compiler will do the right thing.
30594        If it doesn't the Chromium PLT bots will tell us.
30595
30596        * rendering/RenderBlock.h:
30597        * rendering/RenderBlockLineLayout.cpp:
30598        (WebCore::RenderBlock::handleTrailingSpaces):
30599        (WebCore::RenderBlock::layoutInlineChildren):
30600
306012011-03-21  Ryosuke Niwa  <rniwa@webkit.org>
30602
30603        Reviewed by Eric Seidel.
30604
30605        editing commands shouldn't run when there's no body
30606        https://bugs.webkit.org/show_bug.cgi?id=56771
30607
30608        The bug was caused by WebKit's not checking the existence of root editable element
30609        in enabled* functions. Although isContentEditable returns true whenever we're in design mode,
30610        we should not run editing commands in a document without a body element editable because
30611        doing so results in appending a non-body element to the document node.
30612
30613        Fixed the bug by modifying various enabled* functions to ensure we have a root editable element.
30614        New behavior tries to match that of Firefox except StyleWithCSS, which Firefox seems to ignore
30615        when there are no body element. Since StyleWithCSS is a document's state or property, we allow
30616        execCommand('StyleWithCSS') even in a document without a body element.
30617
30618        WebKit's and Firefox's behaviors also deviate in insert-image-with-selecting-document.html.
30619        Whereas WebKit respects selection set by script and ignores execCommand, Firefox modifies
30620        the selection when document.write("x") is ran and successfully inserts image.
30621
30622        Thus, empty-document-delete.html and empty-document-justify-right.html both pass on Firefox
30623        while empty-document-stylewithcss.html and insert-image-with-selecting-document.html both fail.
30624
30625        Since Internet Explorer does not allow execCommand to run under design mode properly, we could
30626        not test its behavior.
30627
30628        Tests: editing/editability/empty-document-delete.html
30629               editing/editability/empty-document-justify-right.html
30630               editing/editability/empty-document-stylewithcss.html
30631               editing/execCommand/insert-image-with-selecting-document.html
30632
30633        * editing/Editor.cpp:
30634        (WebCore::Editor::canEdit): Verify that the root editable element exists
30635        instead of just checking that selection endpoints are editable because
30636        selection endpoints could be document node without a body element in design mode
30637        and we don't want to consider such a document editable.
30638        (WebCore::Editor::canDelete): Ditto.
30639        * editing/EditorCommand.cpp:
30640        (WebCore::enabledInEditableText): Ditto.
30641        (WebCore::enabledInRichlyEditableText): Ditto.
30642        (WebCore::enabledDelete): Call enabledCut and enabledInEditableText instead
30643        of duplicating the code in order to fix the same bug.
30644
306452011-04-02  Dan Bernstein  <mitz@apple.com>
30646
30647        Reviewed by Maciej Stachowiak.
30648
30649        REGRESSION (r82786): Media controls render incorrectly on GTK and Qt
30650        https://bugs.webkit.org/show_bug.cgi?id=57719
30651
30652        r82786 exposed an incorrect assumption inRenderMediaControlTimeDisplay::layout()
30653        that the timeline container is the parent of the time display. This is not true
30654        with the GTK media style, where the current time display is an inline box, and
30655        thus wrapped in an anonymous flexible box. The code was incorrectly considering
30656        the width of the anonymous box and deciding to hide the time display. Prior to
30657        r82786, this mistake was corrected by the call to computeLogicalWidth() in line layout.
30658
30659        * rendering/MediaControlElements.cpp:
30660        (WebCore::RenderMediaControlTimeDisplay::layout): Changed to skip past anonymous ancestors.
30661
306622011-04-02  Nico Weber  <thakis@chromium.org>
30663
30664        Reviewed by Adam Barth.
30665
30666        Explicitly use icu namespace for ports building with U_USING_ICU_NAMESPACE=0
30667
30668        By default, ICU includes |using namespace icu;| in its header files
30669        for backwards compatibility. Clients can define
30670        U_USING_ICU_NAMESPACE=0 to tell ICU to not do this. Prefixing all ICU
30671        classes with |icu::| makes this file compile no matter what
30672        U_USING_ICU_NAMESPACE is set to.
30673
30674        https://bugs.webkit.org/show_bug.cgi?id=57715
30675
30676        * platform/text/LocalizedNumberICU.cpp:
30677        (WebCore::createFormatterForCurrentLocale):
30678        (WebCore::numberFormatter):
30679        (WebCore::parseLocalizedNumber):
30680        (WebCore::formatLocalizedNumber):
30681
306822011-04-02  Dan Bernstein  <mitz@apple.com>
30683
30684        Reviewed by Dave Hyatt.
30685
30686        Remove an unnecessary extra computeLogicalWidth() from line layout
30687        https://bugs.webkit.org/show_bug.cgi?id=57711
30688
30689        Changes in behavior (MathML progression) covered by existing layout tests.
30690
30691        * rendering/RenderBlockLineLayout.cpp:
30692        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
30693        call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
30694        actually prevents MathML rows from reverting to an incorrect width.
30695
306962011-04-02  Dan Bernstein  <mitz@apple.com>
30697
30698        Reviewed by Beth Dakin.
30699
30700        <details> marker loses its margin
30701        https://bugs.webkit.org/show_bug.cgi?id=57713
30702
30703        * rendering/RenderDetails.cpp:
30704        (WebCore::RenderDetails::computePreferredLogicalWidths): Override to update
30705        the marker location.
30706        * rendering/RenderDetails.h:
30707        (WebCore::RenderDetails::renderName): Made private.
30708        (WebCore::RenderDetails::isDetails): Ditto.
30709        * rendering/RenderDetailsMarker.cpp:
30710        (WebCore::RenderDetailsMarker::computePreferredLogicalWidths): Set the margins
30711        in the style, like RenderListMarker does.
30712        (WebCore::RenderDetailsMarker::layout): Set the margins from the style.
30713
307142011-04-02  Andy Estes  <aestes@apple.com>
30715
30716        Reviewed by Oliver Hunt.
30717
30718        REGRESSION (r69237): Black border around map elements while using an image map on Mac platform
30719        https://bugs.webkit.org/show_bug.cgi?id=52518
30720
30721        Test: fast/images/imagemap-focus-ring-zero-outline-width.html
30722
30723        * rendering/RenderImage.cpp:
30724        (WebCore::RenderImage::paintAreaElementFocusRing): Return early if outlineWidth is 0.
30725
307262011-04-02  Beth Dakin  <bdakin@apple.com>
30727
30728        Reviewed by Sam Weinig.
30729
30730        https://bugs.webkit.org/show_bug.cgi?id=57605
30731        Frame::pageScaleFactor() should not affect getBoundingClientRect() or
30732        getClientRects()
30733        -and corresponding-
30734        <rdar://problem/9194541>
30735
30736        New functions adjust*ForPageScale() are analogous to adjust*ForAbsoluteZoom().
30737        * dom/Element.cpp:
30738        (WebCore::Element::getClientRects):
30739        (WebCore::Element::getBoundingClientRect):
30740        * dom/Range.cpp:
30741        (WebCore::adjustFloatQuadsForScrollAndAbsoluteZoomAndPageScale):
30742        (WebCore::Range::getBorderAndTextQuads):
30743        * rendering/RenderObject.h:
30744        (WebCore::adjustFloatPointForPageScale):
30745        (WebCore::adjustFloatQuadForPageScale):
30746        (WebCore::adjustFloatRectForPageScale):
30747
307482011-04-02  Dan Bernstein  <mitz@apple.com>
30749
30750        Reverted r82775 due to changes in <details> test results, which are
30751        likely progressions.
30752
30753        * rendering/RenderBlockLineLayout.cpp:
30754        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
30755
307562011-04-02  Dan Bernstein  <mitz@apple.com>
30757
30758        Reviewed by Dave Hyatt.
30759
30760        Remove an unnecessary extra computeLogicalWidth() from line layout
30761        https://bugs.webkit.org/show_bug.cgi?id=57711
30762
30763        Changes in behavior (MathML progression) covered by existing layout tests.
30764
30765        * rendering/RenderBlockLineLayout.cpp:
30766        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Removed a
30767        call to computeLogicalWidth(). Because of <http://webkit.org/b/57700>, this
30768        actually prevents MathML rows from reverting to an incorrect width.
30769
307702011-04-02  Ryuan Choi  <ryuan.choi@samsung.com>
30771
30772        Reviewed by Martin Robinson.
30773
30774        [GTK] Fix leaked pointer in FontGtk.cpp
30775        https://bugs.webkit.org/show_bug.cgi?id=57307
30776
30777        Fix a memory leak.
30778
30779        No new functionality, so no new tests.
30780
30781        * platform/graphics/gtk/FontGtk.cpp:
30782        (WebCore::utf16ToUtf8): Rename utf16_to_utf8 and fix indentation.
30783        (WebCore::convertUniCharToUTF8):
30784
307852011-04-02  Ilya Tikhonovsky  <loislo@chromium.org>
30786
30787        Reviewed by Pavel Feldman.
30788
30789        Web Inspector: we should be able to have in and out arguments of a command with same name.
30790        https://bugs.webkit.org/show_bug.cgi?id=57701
30791
30792        * inspector/CodeGeneratorInspector.pm:
30793        * inspector/Inspector.json:
30794
307952011-04-01  Ilya Tikhonovsky  <loislo@chromium.org>
30796
30797        Not reviewed trivial change.
30798
30799        Web Inspector: The page agent should be enabled even if JAVASCRIPT_DEBUGGER is off.
30800        Followup change for r82281.
30801        https://bugs.webkit.org/show_bug.cgi?id=57327
30802
30803        * inspector/InspectorPageAgent.cpp:
30804        * inspector/InspectorPageAgent.h:
30805
308062011-04-01  Michael Saboff  <msaboff@apple.com>
30807
30808        Reviewed by Darin Adler.
30809
30810        Cached Resource Overhead Space Usage and Accounting Inaccurate
30811        https://bugs.webkit.org/show_bug.cgi?id=57488
30812
30813        Fixed windows test failures.
30814        Changed the fixed overhead value for ResourceResponse to 3800 bytes.
30815        Modified ResourceResponse::platformLazyInit() to handle "base" level
30816        attributes or all attributes.  The base attributes, like URL, status
30817        code, mime type and a few header fields (mostly cache related) are
30818        suitable for most resources.  This reduces the per resource memory
30819        needs by over 1K bytes per resource thus saving memory in the cache.
30820        Collectively, these two changes bring the overhead memory calculation
30821        in line with reality.
30822
30823        No new tests added due to existing tests cover areas of change and
30824        there is no functional change.  The change is limited to reducing
30825        memory usage along existing paths.
30826
30827        * loader/cache/CachedResource.cpp:
30828        (WebCore::CachedResource::canUseCacheValidator):
30829        * platform/network/ResourceResponseBase.cpp:
30830        (WebCore::ResourceResponseBase::adopt):
30831        (WebCore::ResourceResponseBase::isHTTP):
30832        (WebCore::ResourceResponseBase::url):
30833        (WebCore::ResourceResponseBase::setURL):
30834        (WebCore::ResourceResponseBase::mimeType):
30835        (WebCore::ResourceResponseBase::setMimeType):
30836        (WebCore::ResourceResponseBase::expectedContentLength):
30837        (WebCore::ResourceResponseBase::setExpectedContentLength):
30838        (WebCore::ResourceResponseBase::textEncodingName):
30839        (WebCore::ResourceResponseBase::setTextEncodingName):
30840        (WebCore::ResourceResponseBase::suggestedFilename):
30841        (WebCore::ResourceResponseBase::setSuggestedFilename):
30842        (WebCore::ResourceResponseBase::httpStatusCode):
30843        (WebCore::ResourceResponseBase::setHTTPStatusCode):
30844        (WebCore::ResourceResponseBase::httpStatusText):
30845        (WebCore::ResourceResponseBase::setHTTPStatusText):
30846        (WebCore::ResourceResponseBase::httpHeaderField):
30847        (WebCore::ResourceResponseBase::setHTTPHeaderField):
30848        (WebCore::ResourceResponseBase::httpHeaderFields):
30849        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
30850        (WebCore::ResourceResponseBase::hasCacheValidatorFields):
30851        (WebCore::ResourceResponseBase::date):
30852        (WebCore::ResourceResponseBase::age):
30853        (WebCore::ResourceResponseBase::expires):
30854        (WebCore::ResourceResponseBase::lastModified):
30855        (WebCore::ResourceResponseBase::isAttachment):
30856        (WebCore::ResourceResponseBase::setLastModifiedDate):
30857        (WebCore::ResourceResponseBase::lastModifiedDate):
30858        (WebCore::ResourceResponseBase::wasCached):
30859        (WebCore::ResourceResponseBase::connectionReused):
30860        (WebCore::ResourceResponseBase::setConnectionReused):
30861        (WebCore::ResourceResponseBase::connectionID):
30862        (WebCore::ResourceResponseBase::setConnectionID):
30863        (WebCore::ResourceResponseBase::resourceLoadTiming):
30864        (WebCore::ResourceResponseBase::setResourceLoadTiming):
30865        (WebCore::ResourceResponseBase::resourceLoadInfo):
30866        (WebCore::ResourceResponseBase::setResourceLoadInfo):
30867        (WebCore::ResourceResponseBase::lazyInit):
30868        * platform/network/ResourceResponseBase.h:
30869        (WebCore::ResourceResponseBase::platformLazyInit):
30870        * platform/network/cf/ResourceResponse.h:
30871        (WebCore::ResourceResponse::ResourceResponse):
30872        (WebCore::ResourceResponse::memoryUsage):
30873        * platform/network/cf/ResourceResponseCFNet.cpp:
30874        (WebCore::ResourceResponse::platformLazyInit):
30875        * platform/network/mac/ResourceResponseMac.mm:
30876        (WebCore::ResourceResponse::platformLazyInit):
30877
308782011-04-01  Anantanarayanan G Iyengar  <ananta@chromium.org>
30879
30880        Reviewed by Adam Barth.
30881
30882        https://bugs.webkit.org/show_bug.cgi?id=45855
30883        Windowless plugins added dynamically to the DOM should receive paint events.
30884        This is done by ensuring that the plugin widget is marked for painting when
30885        it is added.
30886
30887        Test: plugins/windowless_plugin_paint_test.html
30888
30889        * rendering/RenderWidget.cpp:
30890        (WebCore::RenderWidget::setWidget):
30891
308922011-04-01  Mike Reed  <reed@google.com>
30893
30894        Reviewed by James Robinson.
30895
30896        always use native font rendering on skia_gpu
30897        fixes a crash when SKIA_GPU is enabled, as we can't call getTopPlatformDevice()
30898        https://bugs.webkit.org/show_bug.cgi?id=57663
30899
30900        No new tests. existing rendering tests will exercise this
30901
30902        * platform/graphics/skia/PlatformContextSkia.cpp:
30903        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
30904
309052011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
30906
30907        Unreviewed, rolling out r82712, r82729, and r82746.
30908        http://trac.webkit.org/changeset/82712
30909        http://trac.webkit.org/changeset/82729
30910        http://trac.webkit.org/changeset/82746
30911        https://bugs.webkit.org/show_bug.cgi?id=57682
30912
30913        fast/frames/frame-programmatic-noresize.html is failing on
30914        Windows bots. Will look into this offline. (Requested by dydx
30915        on #webkit).
30916
30917        * html/HTMLFrameElement.cpp:
30918        (WebCore::HTMLFrameElement::HTMLFrameElement):
30919        (WebCore::HTMLFrameElement::attach):
30920        (WebCore::HTMLFrameElement::parseMappedAttribute):
30921        * html/HTMLFrameElement.h:
30922        (WebCore::HTMLFrameElement::noResize):
30923        * rendering/RenderFrame.cpp:
30924        * rendering/RenderFrame.h:
30925        * rendering/RenderFrameSet.cpp:
30926        * rendering/RenderFrameSet.h:
30927
309282011-04-01  Adam Barth  <abarth@webkit.org>
30929
30930        Reviewed by Tony Chang.
30931
30932        Valgrind error in _ZN7WebCore8Document11updateTitleERKNS_19StringWithDirectionE
30933        https://bugs.webkit.org/show_bug.cgi?id=57656
30934
30935        We should initialize memory when constructing objects.
30936
30937        * platform/text/StringWithDirection.h:
30938        (WebCore::StringWithDirection::StringWithDirection):
30939
309402011-04-01  Jer Noble  <jer.noble@apple.com>
30941
30942        Reviewed by Darin Adler.
30943
30944        WebKit2: Link from PDF opens in a new tab instead of in the same tab
30945        https://bugs.webkit.org/show_bug.cgi?id=57528
30946
30947        * WebCore.exp.in: Export MouseEvent::create().
30948
309492011-04-01  John Bauman  <jbauman@chromium.org>
30950
30951        Reviewed by Kenneth Russell.
30952
30953        Avoid decoding images twice in texImage2D
30954        https://bugs.webkit.org/show_bug.cgi?id=51498
30955
30956        Make sure to redecode the image only if it's not opaque and texImage2D
30957        wouldn't premultiply it anyway.
30958
30959        * platform/graphics/BitmapImage.h:
30960        * platform/graphics/cg/GraphicsContext3DCG.cpp:
30961        (WebCore::GraphicsContext3D::getImageData):
30962        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
30963        (WebCore::GraphicsContext3D::getImageData):
30964
309652011-04-01  Alexey Proskuryakov  <ap@apple.com>
30966
30967        32-bit Mac build fix.
30968
30969        * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Use 0U to index a String
30970        to avoid ambiguity.
30971
309722011-04-01  Alexey Proskuryakov  <ap@apple.com>
30973
30974        Reviewed by Darin Adler.
30975
30976        Make WebKit2 text input handling more like WebKit1
30977        https://bugs.webkit.org/show_bug.cgi?id=57649
30978
30979        * dom/KeyboardEvent.h: (WebCore::KeypressCommand::KeypressCommand): Put back the assertions
30980        we used to have. It is dangerous to confuse editor commands and selector names - besides the
30981        presence of a semicolon, they sometimes have different names, and WebKit2 failed to map those.
30982
309832011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
30984
30985        Unreviewed, rolling out r82711.
30986        http://trac.webkit.org/changeset/82711
30987        https://bugs.webkit.org/show_bug.cgi?id=57657
30988
30989        Made every test crash on XP and Win7 (Requested by
30990        abarth|gardening on #webkit).
30991
30992        * loader/cache/CachedResource.cpp:
30993        (WebCore::CachedResource::canUseCacheValidator):
30994        * platform/network/ResourceResponseBase.cpp:
30995        (WebCore::ResourceResponseBase::adopt):
30996        (WebCore::ResourceResponseBase::isHTTP):
30997        (WebCore::ResourceResponseBase::url):
30998        (WebCore::ResourceResponseBase::setURL):
30999        (WebCore::ResourceResponseBase::mimeType):
31000        (WebCore::ResourceResponseBase::setMimeType):
31001        (WebCore::ResourceResponseBase::expectedContentLength):
31002        (WebCore::ResourceResponseBase::setExpectedContentLength):
31003        (WebCore::ResourceResponseBase::textEncodingName):
31004        (WebCore::ResourceResponseBase::setTextEncodingName):
31005        (WebCore::ResourceResponseBase::suggestedFilename):
31006        (WebCore::ResourceResponseBase::setSuggestedFilename):
31007        (WebCore::ResourceResponseBase::httpStatusCode):
31008        (WebCore::ResourceResponseBase::setHTTPStatusCode):
31009        (WebCore::ResourceResponseBase::httpStatusText):
31010        (WebCore::ResourceResponseBase::setHTTPStatusText):
31011        (WebCore::ResourceResponseBase::httpHeaderField):
31012        (WebCore::ResourceResponseBase::setHTTPHeaderField):
31013        (WebCore::ResourceResponseBase::httpHeaderFields):
31014        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
31015        (WebCore::ResourceResponseBase::date):
31016        (WebCore::ResourceResponseBase::age):
31017        (WebCore::ResourceResponseBase::expires):
31018        (WebCore::ResourceResponseBase::lastModified):
31019        (WebCore::ResourceResponseBase::isAttachment):
31020        (WebCore::ResourceResponseBase::setLastModifiedDate):
31021        (WebCore::ResourceResponseBase::lastModifiedDate):
31022        (WebCore::ResourceResponseBase::wasCached):
31023        (WebCore::ResourceResponseBase::connectionReused):
31024        (WebCore::ResourceResponseBase::setConnectionReused):
31025        (WebCore::ResourceResponseBase::connectionID):
31026        (WebCore::ResourceResponseBase::setConnectionID):
31027        (WebCore::ResourceResponseBase::resourceLoadTiming):
31028        (WebCore::ResourceResponseBase::setResourceLoadTiming):
31029        (WebCore::ResourceResponseBase::resourceLoadInfo):
31030        (WebCore::ResourceResponseBase::setResourceLoadInfo):
31031        (WebCore::ResourceResponseBase::lazyInit):
31032        * platform/network/ResourceResponseBase.h:
31033        (WebCore::ResourceResponseBase::platformLazyInit):
31034        * platform/network/cf/ResourceResponse.h:
31035        (WebCore::ResourceResponse::ResourceResponse):
31036        (WebCore::ResourceResponse::memoryUsage):
31037        * platform/network/cf/ResourceResponseCFNet.cpp:
31038        (WebCore::ResourceResponse::platformLazyInit):
31039        * platform/network/mac/ResourceResponseMac.mm:
31040        (WebCore::ResourceResponse::platformLazyInit):
31041
310422011-04-01  Matthew Delaney  <mdelaney@apple.com>
31043
31044        Reviewed by Simon Fraser.
31045
31046        Behavior of isAccelerated() for a IOSurface-backed canvas should be consistent with accelerated status of its ImageBuffer
31047        https://bugs.webkit.org/show_bug.cgi?id=57651
31048
31049        No new tests. This patch does not affect outward behavior.
31050
31051        * html/canvas/CanvasRenderingContext2D.cpp:
31052        (WebCore::CanvasRenderingContext2D::isAccelerated):
31053        * platform/graphics/ImageBuffer.h:
31054        (WebCore::ImageBuffer::isAccelerated):
31055
310562011-04-01  Daniel Bates  <dbates@rim.com>
31057
31058        Reviewed by Darin Adler.
31059
31060        Frame's noResize attribute can not be set by JavaScript
31061        https://bugs.webkit.org/show_bug.cgi?id=14845
31062
31063        Tests: fast/frames/frame-inherit-noresize-from-frameset.html
31064               fast/frames/frame-programmatic-noresize.html
31065               fast/frames/frame-with-noresize-can-be-resized-after-removal-of-noresize.html
31066               fast/frames/frame-with-noresize-can-be-resized-after-setting-noResize-to-false.html
31067
31068        Implements support to programmatically allow and disallow frame resizing.
31069
31070        Currently, HTMLFrameElement::parseMappedAttribute() is hardcoded to disallow frame resize (i.e.
31071        m_noResize = true) when either the noresize DOM attribute is specified (or existed at some
31072        point in time) or the value of the noResize attribute is modified. Instead we should allow/disallow
31073        frame resize depending on the presence of the noresize DOM attribute/the value of the noResize
31074        attribute.
31075
31076        * html/HTMLFrameElement.cpp:
31077        (WebCore::HTMLFrameElement::HTMLFrameElement):
31078        (WebCore::HTMLFrameElement::noResize): Made this a non-inline function since this
31079        code path isn't performance critical.
31080        (WebCore::HTMLFrameElement::attach): Removed code to inherit noresize attribute from
31081        parent <frameset> since this functionality is part of RenderFrameSet::computeEdgeInfo().
31082        (WebCore::HTMLFrameElement::parseMappedAttribute):
31083        * html/HTMLFrameElement.h:
31084        * rendering/RenderFrame.cpp:
31085        (WebCore::RenderFrame::updateFromElement): Added.
31086        * rendering/RenderFrame.h:
31087        * rendering/RenderFrameSet.cpp:
31088        (WebCore::RenderFrameSet::notifyFrameEdgeInfoChanged): Added.
31089        * rendering/RenderFrameSet.h:
31090
310912011-04-01  Michael Saboff  <msaboff@apple.com>
31092
31093        Reviewed by Darin Adler.
31094
31095        Cached Resource Overhead Space Usage and Accounting Inaccurate
31096        https://bugs.webkit.org/show_bug.cgi?id=57488
31097
31098        Changed the fixed overhead value for ResourceResponse to 3800 bytes.
31099        Modified ResourceResponse::platformLazyInit() to handle "base" level
31100        attributes or all attributes.  The base attributes, like URL, status
31101        code, mime type and a few header fields (mostly cache related) are
31102        suitable for most resources.  This reduces the per resource memory
31103        needs by over 1K bytes per resource thus saving memory in the cache.
31104        Collectively, these two changes bring the overhead memory calculation
31105        in line with reality.
31106
31107        No new tests added due to existing tests cover areas of change and
31108        there is no functional change.  The change is limited to reducing
31109        memory usage along existing paths.
31110
31111        * loader/cache/CachedResource.cpp:
31112        (WebCore::CachedResource::canUseCacheValidator):
31113        * platform/network/ResourceResponseBase.cpp:
31114        (WebCore::ResourceResponseBase::isHTTP):
31115        (WebCore::ResourceResponseBase::url):
31116        (WebCore::ResourceResponseBase::setURL):
31117        (WebCore::ResourceResponseBase::mimeType):
31118        (WebCore::ResourceResponseBase::setMimeType):
31119        (WebCore::ResourceResponseBase::expectedContentLength):
31120        (WebCore::ResourceResponseBase::setExpectedContentLength):
31121        (WebCore::ResourceResponseBase::textEncodingName):
31122        (WebCore::ResourceResponseBase::setTextEncodingName):
31123        (WebCore::ResourceResponseBase::suggestedFilename):
31124        (WebCore::ResourceResponseBase::setSuggestedFilename):
31125        (WebCore::ResourceResponseBase::httpStatusCode):
31126        (WebCore::ResourceResponseBase::setHTTPStatusCode):
31127        (WebCore::ResourceResponseBase::httpHeaderField):
31128        (WebCore::ResourceResponseBase::setHTTPHeaderField):
31129        (WebCore::ResourceResponseBase::parseCacheControlDirectives):
31130        (WebCore::ResourceResponseBase::hasCacheValidatorFields):
31131        (WebCore::ResourceResponseBase::date):
31132        (WebCore::ResourceResponseBase::age):
31133        (WebCore::ResourceResponseBase::expires):
31134        (WebCore::ResourceResponseBase::lastModified):
31135        (WebCore::ResourceResponseBase::lazyInit):
31136        * platform/network/ResourceResponseBase.h:
31137        (WebCore::ResourceResponseBase::platformLazyInit):
31138        * platform/network/cf/ResourceResponse.h:
31139        (WebCore::ResourceResponse::ResourceResponse):
31140        (WebCore::ResourceResponse::memoryUsage):
31141        * platform/network/cf/ResourceResponseCFNet.cpp:
31142        * platform/network/mac/ResourceResponseMac.mm:
31143        (WebCore::ResourceResponse::platformLazyInit):
31144
311452011-04-01  Timothy Hatcher  <timothy@apple.com>
31146
31147        Make momentum scroll event latching work in WebKit2 on Mac.
31148
31149        <rdar://problem/8751861>
31150
31151        Reviewed by Darin Adler.
31152
31153        * WebCore.exp.in: Remove _wkIsLatchingWheelEvent, add _wkGetNSEventMomentumPhase.
31154        * page/EventHandler.cpp:
31155        (WebCore::EventHandler::handleWheelEvent): Set m_useLatchedWheelEventNode based on the
31156        event's momentumPhase.
31157        * page/mac/EventHandlerMac.mm:
31158        (WebCore::EventHandler::wheelEvent): Remove the setting of m_useLatchedWheelEventNode.
31159        It is now done in EventHandler::handleWheelEvent.
31160        * platform/mac/WebCoreSystemInterface.h: Remove wkIsLatchingWheelEvent, add wkGetNSEventMomentumPhase.
31161        * platform/mac/WebCoreSystemInterface.mm: Ditto.
31162        * platform/mac/WheelEventMac.mm:
31163        (WebCore::momentumPhaseForEvent): Return a phase on older Mac system by using wkGetNSEventMomentumPhase.
31164
311652011-04-01  Steve Block  <steveblock@google.com>
31166
31167        Reviewed by Jeremy Orlow.
31168
31169        JavaClass should be an interface and free of JNI types
31170        https://bugs.webkit.org/show_bug.cgi?id=57533
31171
31172        This patch fixes JavaClass for V8 only.
31173
31174        It factors out a JavaClass interface which does not use JNI types.
31175        This will allow the Java bridge to be used with objects that
31176        don't use JNI directly. The existing jobject-backed
31177        implementation is moved to a new JavaClassJobject class which
31178        implements the interface.
31179
31180        No new tests, refactoring only.
31181
31182        * Android.v8bindings.mk:
31183        * WebCore.gypi:
31184        * bridge/jni/v8/JavaClassJobjectV8.cpp:
31185        (JavaClassJobject::JavaClassJobject):
31186        (JavaClassJobject::~JavaClassJobject):
31187        (JavaClassJobject::methodsNamed):
31188        (JavaClassJobject::fieldNamed):
31189        * bridge/jni/v8/JavaClassJobjectV8.h: Copied from Source/WebCore/bridge/jni/v8/JavaClassV8.h.
31190        * bridge/jni/v8/JavaClassV8.h:
31191        (JSC::Bindings::JavaClass::~JavaClass):
31192        * bridge/jni/v8/JavaInstanceV8.cpp:
31193        (JavaInstance::getClass):
31194
311952011-04-01  Jaehun Lim  <ljaehun.lim@samsung.com>
31196
31197        Unreviewed build fix.
31198
31199        Fix build break when font backend is Pango.
31200        Pango is missed in changeset 80589.
31201
31202        https://bugs.webkit.org/show_bug.cgi?id=57609
31203
31204        * platform/graphics/pango/FontPlatformData.h:
31205        (WebCore::FontPlatformData::setOrientation):
31206
312072011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
31208
31209        Unreviewed, rolling out r82687.
31210        http://trac.webkit.org/changeset/82687
31211        https://bugs.webkit.org/show_bug.cgi?id=57643
31212
31213        This patch broke accessibility aria-treegrid test in Mac
31214        (Requested by msanchez on #webkit).
31215
31216        * accessibility/AccessibilityARIAGrid.cpp:
31217        * accessibility/AccessibilityARIAGrid.h:
31218        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
31219        (atkRole):
31220        * accessibility/mac/AccessibilityObjectWrapper.mm:
31221
312222011-03-31  Abhishek Arya  <inferno@chromium.org>
31223
31224        Reviewed by Andreas Kling.
31225
31226        Whenever a relayout is trigger for SVGPath, make sure
31227        to clear its previous marker layout info. This helps
31228        to prevent removed markers from being used.
31229        https://bugs.webkit.org/show_bug.cgi?id=57492
31230
31231        Test: svg/dom/path-marker-removed-crash.svg
31232
31233        * rendering/svg/RenderSVGPath.cpp:
31234        (WebCore::RenderSVGPath::layout):
31235        * rendering/svg/SVGMarkerLayoutInfo.cpp:
31236        (WebCore::SVGMarkerLayoutInfo::clear):
31237        * rendering/svg/SVGMarkerLayoutInfo.h:
31238
312392011-04-01  Rob Buis  <rwlbuis@gmail.com>
31240
31241        Reviewed by Nikolas Zimmermann.
31242
31243        https://bugs.webkit.org/show_bug.cgi?id=55750
31244        SVG <image> referenced by <use> is displayed incorrectly
31245
31246        Reintroduce old behaviour for valid base URI, for invalid
31247        keep using document base URI.
31248        Fixes regression of W3C-SVG-1.1/struct-image-07-t.svg.
31249
31250        Test: svg/custom/image-base-uri.svg
31251
31252        * svg/SVGImageLoader.cpp:
31253        (WebCore::SVGImageLoader::sourceURI):
31254
312552011-04-01  Mario Sanchez Prada  <msanchez@igalia.com>
31256
31257        Reviewed by Chris Fleizach.
31258
31259        ARIA Grid tables should return GridRole in roleValue() method
31260        https://bugs.webkit.org/show_bug.cgi?id=57614
31261
31262        This change does not need any test since it doesn't change anything
31263        from the point of view of the consumers (Assistive Technoglogies).
31264        It's just an internal change to simplify identifying HTML and ARIA
31265        tables by calling to the AccessibilityObject::roleValue method.
31266
31267        * accessibility/AccessibilityARIAGrid.h:
31268        * accessibility/AccessibilityARIAGrid.cpp:
31269        (WebCore::AccessibilityARIAGrid::roleValue): Return GridRole.
31270
31271        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
31272        (atkRole): Removed unneeded comment.
31273
31274        * accessibility/mac/AccessibilityObjectWrapper.mm: Map GridRole to
31275        NSAccessibilityTableRole, to keep the same behaviour.
31276
312772011-04-01  MORITA Hajime  <morrita@google.com>
31278
31279        Reviewed by Dimitri Glazkov.
31280
31281        <meter> can only support horizontal indicator
31282        https://bugs.webkit.org/show_bug.cgi?id=56001
31283
31284        - Removed code which deals with the direction and
31285          left the horizontal path.
31286        - Removed "horizontal" from related names which is now
31287          redundant.
31288
31289        * css/CSSSelector.cpp:
31290        (WebCore::CSSSelector::pseudoId):
31291        (WebCore::nameToPseudoTypeMap):
31292        (WebCore::CSSSelector::extractPseudoType):
31293        * css/CSSSelector.h:
31294        * css/html.css:
31295        (meter::-webkit-meter-bar):
31296        (meter::-webkit-meter-optimum-value):
31297        (meter::-webkit-meter-suboptimal-value):
31298        (meter::-webkit-meter-even-less-good-value):
31299        * rendering/RenderMeter.cpp:
31300        (WebCore::RenderMeter::~RenderMeter):
31301        (WebCore::RenderMeter::createPart):
31302        (WebCore::RenderMeter::updateFromElement):
31303        (WebCore::RenderMeter::layoutParts):
31304        (WebCore::RenderMeter::styleDidChange):
31305        (WebCore::RenderMeter::shouldHaveParts):
31306        (WebCore::RenderMeter::valuePartRect):
31307        (WebCore::RenderMeter::valuePseudoId):
31308        (WebCore::RenderMeter::barPseudoId):
31309        (WebCore::RenderMeter::detachShadows):
31310        (WebCore::RenderMeter::updateShadows):
31311        * rendering/RenderMeter.h:
31312        (WebCore::RenderMeter::shadowAttached):
31313        * rendering/RenderTheme.cpp:
31314        (WebCore::RenderTheme::supportsMeter):
31315        * rendering/RenderTheme.h:
31316        * rendering/RenderThemeMac.h:
31317        * rendering/RenderThemeMac.mm:
31318        (WebCore::RenderThemeMac::paintMeter):
31319        (WebCore::RenderThemeMac::supportsMeter):
31320        * rendering/style/RenderStyleConstants.h:
31321
313222011-03-23  Pavel Podivilov  <podivilov@chromium.org>
31323
31324        Reviewed by Pavel Feldman.
31325
31326        Web Inspector: fix reveal line in formatted script.
31327        https://bugs.webkit.org/show_bug.cgi?id=56941
31328
31329        * inspector/front-end/BreakpointsSidebarPane.js:
31330        (WebInspector.JavaScriptBreakpointsSidebarPane):
31331        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
31332        * inspector/front-end/DebuggerPresentationModel.js:
31333        (WebInspector.DebuggerPresentationModel.prototype.sourceFileForScriptURL):
31334        * inspector/front-end/NetworkPanel.js:
31335        (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
31336        (WebInspector.NetworkPanel.prototype.showAnchorLocation):
31337        * inspector/front-end/Panel.js:
31338        (WebInspector.Panel.prototype.canShowAnchorLocation):
31339        (WebInspector.Panel.prototype.showAnchorLocation):
31340        * inspector/front-end/ResourcesPanel.js:
31341        (WebInspector.ResourcesPanel.prototype.canShowAnchorLocation):
31342        (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
31343        (WebInspector.ResourcesPanel.prototype.showResource):
31344        * inspector/front-end/ScriptsPanel.js:
31345        (WebInspector.ScriptsPanel):
31346        (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
31347        (WebInspector.ScriptsPanel.prototype.showAnchorLocation):
31348        (WebInspector.ScriptsPanel.prototype._showSourceLine):
31349        * inspector/front-end/SourceFrame.js:
31350        (WebInspector.SourceFrame.prototype.highlightLine):
31351        (WebInspector.SourceFrame.prototype._createTextViewer):
31352        * inspector/front-end/inspector.js:
31353        (WebInspector.documentClick.followLink):
31354        (WebInspector.documentClick):
31355        (WebInspector._showAnchorLocation):
31356
313572011-04-01  Pavel Podivilov  <podivilov@chromium.org>
31358
31359        Reviewed by Yury Semikhatsky.
31360
31361        Web Inspector: make editScriptSource a Script's method.
31362        https://bugs.webkit.org/show_bug.cgi?id=57615
31363
31364        * inspector/front-end/DebuggerModel.js:
31365        (WebInspector.DebuggerModel.prototype.editScriptSource):
31366        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
31367        * inspector/front-end/Script.js:
31368        (WebInspector.Script.prototype.requestSource):
31369        (WebInspector.Script.prototype.editSource):
31370
313712011-04-01  Pavel Feldman  <pfeldman@google.com>
31372
31373        Reviewed by Yury Semikhatsky.
31374
31375        Web Inspector: event should have "data" attribute, not "body"
31376        https://bugs.webkit.org/show_bug.cgi?id=57628
31377
31378        * inspector/CodeGeneratorInspector.pm:
31379
313802011-04-01  Pavel Podivilov  <podivilov@chromium.org>
31381
31382        Reviewed by Yury Semikhatsky.
31383
31384        Web Inspector: checkboxes are broken in xhr breakpoints sidebar pane.
31385        https://bugs.webkit.org/show_bug.cgi?id=57610
31386
31387        * inspector/front-end/BreakpointsSidebarPane.js:
31388        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
31389
313902011-04-01  Alexander Pavlov  <apavlov@chromium.org>
31391
31392        Reviewed by Yury Semikhatsky.
31393
31394        Web Inspector: up/down keys are not treating hex numbers properly while editing styles.
31395        https://bugs.webkit.org/show_bug.cgi?id=40522
31396
31397        Drive-by: fix inc/dec for numbers like ".5"
31398
31399        Test: inspector/styles/up-down-numerics-and-colors.html
31400
31401        * inspector/front-end/StylesSidebarPane.js:
31402        (WebInspector.StylePropertyTreeElement.prototype):
31403
314042011-03-30  Pavel Podivilov  <podivilov@chromium.org>
31405
31406        Reviewed by Pavel Feldman.
31407
31408        Web Inspector: remove dead code from Script.js.
31409        https://bugs.webkit.org/show_bug.cgi?id=57454
31410
31411        * inspector/front-end/DebuggerModel.js:
31412        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
31413        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
31414        * inspector/front-end/Script.js:
31415        (WebInspector.Script):
31416        (WebInspector.Script.prototype.requestSource.didGetScriptSource):
31417        (WebInspector.Script.prototype.requestSource):
31418
314192011-04-01  Sheriff Bot  <webkit.review.bot@gmail.com>
31420
31421        Unreviewed, rolling out r82667.
31422        http://trac.webkit.org/changeset/82667
31423        https://bugs.webkit.org/show_bug.cgi?id=57612
31424
31425        Breaks Leopard layout tests (Requested by podivilov on
31426        #webkit).
31427
31428        * GNUmakefile.am:
31429        * inspector/front-end/DebuggerPresentationModel.js:
31430        (WebInspector.DebuggerPresentationModel):
31431        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
31432
314332011-03-30  Pavel Podivilov  <podivilov@chromium.org>
31434
31435        Reviewed by Pavel Feldman.
31436
31437        Web Inspector: remove unused SourceFrameContent class.
31438        https://bugs.webkit.org/show_bug.cgi?id=57453
31439
31440        * WebCore.gypi:
31441        * WebCore.vcproj/WebCore.vcproj:
31442        * inspector/front-end/ResourceView.js:
31443        (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent):
31444        * inspector/front-end/ScriptsPanel.js:
31445        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
31446        * inspector/front-end/SourceFrame.js:
31447        (WebInspector.SourceFrame.prototype._createTextViewer):
31448        * inspector/front-end/SourceFrameContent.js: Removed.
31449        * inspector/front-end/WebKit.qrc:
31450        * inspector/front-end/inspector.html:
31451
314522011-03-30  Pavel Podivilov  <podivilov@chromium.org>
31453
31454        Reviewed by Pavel Feldman.
31455
31456        Web Inspector: add test for script formatter worker.
31457        https://bugs.webkit.org/show_bug.cgi?id=57447
31458
31459        Test: inspector/debugger/script-formatter.html
31460
31461        * GNUmakefile.am:
31462        * inspector/front-end/DebuggerPresentationModel.js:
31463        (WebInspector.DebuggerPresentationModel):
31464        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
31465
314662011-03-30  Pavel Podivilov  <podivilov@chromium.org>
31467
31468        Reviewed by Pavel Feldman.
31469
31470        Web Inspector: [chromium] script formatting doesn't work when all scripts are concatenated.
31471        https://bugs.webkit.org/show_bug.cgi?id=57446
31472
31473        * inspector/front-end/ScriptFormatterWorker.js:
31474
314752011-04-01  Pavel Podivilov  <podivilov@chromium.org>
31476
31477        Reviewed by Pavel Feldman.
31478
31479        Web Inspector: allow file access from inspector page so inspector can use workers.
31480        https://bugs.webkit.org/show_bug.cgi?id=57339
31481
31482        * inspector/InspectorFrontendClientLocal.cpp:
31483        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
31484
314852011-03-31  Yury Semikhatsky  <yurys@chromium.org>
31486
31487        Reviewed by Pavel Feldman.
31488
31489        Web Inspector: inspected page crashes on attempt to log object with broken .toString
31490        https://bugs.webkit.org/show_bug.cgi?id=57557
31491
31492        If ScriptValue.toString causes a JavaScript exception, the exception is cleared
31493        before returning from the toString method.
31494
31495        Test: inspector/console/console-log-toString-object.html
31496
31497        * bindings/js/ScriptValue.cpp:
31498        (WebCore::ScriptValue::toString):
31499        * bindings/js/ScriptValue.h:
31500        * bindings/v8/ScriptValue.cpp:
31501        (WebCore::ScriptValue::toString):
31502
315032011-03-31  Andrey Kosyakov  <caseq@chromium.org>
31504
31505        Reviewed by Pavel Feldman.
31506
31507        - removed documentWide parameter to querySelector[All]() (user document node id instead)
31508        - factor out document request logic within DOMAgent into separate method
31509        - add querySelector() and querySelectorAll() to DOMAgent.js, assure we have document before calling back-end
31510        - use the above wrappers for querySelector() and querySelectorAll(), do not call backend directly
31511        - minor style fixes in Inspector.json
31512        - more error logging
31513
31514        Web Inspector: provide front-end wrappers for DOMAgent.querySelector[All]() that take care of fetching the document
31515        https://bugs.webkit.org/show_bug.cgi?id=57466
31516
31517        * inspector/Inspector.json:
31518        * inspector/InspectorDOMAgent.cpp:
31519        (WebCore::InspectorDOMAgent::querySelector):
31520        (WebCore::InspectorDOMAgent::querySelectorAll):
31521        * inspector/InspectorDOMAgent.h:
31522        * inspector/front-end/AuditRules.js:
31523        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
31524        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
31525        * inspector/front-end/CSSStyleModel.js:
31526        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
31527        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
31528        (WebInspector.CSSStyleModel.prototype.addRule.callback):
31529        (WebInspector.CSSStyleModel.prototype.addRule):
31530        * inspector/front-end/DOMAgent.js:
31531        (WebInspector.DOMAgent.prototype.requestDocument.onDocumentAvailable):
31532        (WebInspector.DOMAgent.prototype.requestDocument):
31533        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
31534        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
31535        (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
31536        (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
31537        (WebInspector.DOMAgent.prototype.cancelSearch):
31538        (WebInspector.DOMAgent.prototype.querySelector):
31539        (WebInspector.DOMAgent.prototype.querySelectorAll):
31540
315412011-04-01  Kent Tamura  <tkent@chromium.org>
31542
31543        Apply sort-Xcode-project-file.
31544
31545        * WebCore.xcodeproj/project.pbxproj:
31546
315472011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
31548
31549        Unreviewed, rolling out r82652.
31550        http://trac.webkit.org/changeset/82652
31551        https://bugs.webkit.org/show_bug.cgi?id=57603
31552
31553        Test still fails (Requested by abarth|gardener on #webkit).
31554
31555        * rendering/RenderWidget.cpp:
31556        (WebCore::RenderWidget::setWidget):
31557
315582011-03-31  Naoki Takano  <takano.naoki@gmail.com>
31559
31560        Reviewed by Kent Tamura.
31561
31562        REGRESSION (r64712): Safari removes the first blank line in a textarea
31563        https://bugs.webkit.org/show_bug.cgi?id=56434
31564
31565        Test: fast/forms/textarea-newline.html
31566
31567        A linefeed removal after a textarea tag is originally processed in WebCore::HTMLTextAreaElement::defaultValue().
31568        But HTML5 tree builder now removes the linefeed. It means linefeed removal happens twice.
31569        And devalutValue() removal is not needed anymore.
31570
31571        * html/HTMLTextAreaElement.cpp:
31572        (WebCore::HTMLTextAreaElement::setDefaultValue): Remove an extra linefeed insertion at the beginning.
31573        (WebCore::HTMLTextAreaElement::defaultValue): Remove linefeed removal check in default value creation function.
31574
315752011-03-31  Luke Macpherson   <macpherson@chromium.org>
31576
31577        Reviewed by Dimitri Glazkov.
31578
31579        Remove refcounting of CSSStyleApplyProperty singleton
31580        https://bugs.webkit.org/show_bug.cgi?id=57592
31581
31582        No new tests required as no functionality changes.
31583
31584        * css/CSSStyleApplyProperty.h:
31585
315862011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
31587
31588        Reviewed by Adam Barth.
31589
31590        https://bugs.webkit.org/show_bug.cgi?id=45855
31591        Windowless plugins added dynamically to the DOM should receive paint events.
31592        This is done by ensuring that the plugin widget is marked for painting when
31593        it is added.
31594
31595        Test: plugins/windowless_plugin_paint_test.html
31596
31597        * rendering/RenderWidget.cpp:
31598        (WebCore::RenderWidget::setWidget):
31599
316002011-03-31  Adam Roben  <aroben@apple.com>
31601
31602        Add a new AbstractCACFLayerTreeHost base class
31603
31604        This class exposes the interface that LayerChangesFlusher and PlatformCALayer rely on.
31605        CACFLayerTreeHost now derives from AbstractCACFLayerTreeHost. In the future, WebKit2's
31606        LayerTreeHostCA will also derive from it (on Windows).
31607
31608        This should cause no change in behavior.
31609
31610        Fixes <http://webkit.org/b/57598> Coupling between CACFLayerTreeHost and other CACF-related
31611        code is too high
31612
31613        Reviewed by Anders Carlsson.
31614
31615        * WebCore.vcproj/WebCore.vcproj: Added AbstractCACFLayerTreeHost, and let VS reorder files.
31616
31617        * platform/graphics/ca/win/AbstractCACFLayerTreeHost.h: Added.
31618
31619        * platform/graphics/ca/win/CACFLayerTreeHost.h: Changed to derive from
31620        AbstractCACFLayerTreeHost, and annotated the overrides of its functions.
31621        AbstractCACFLayerTreeHost also allows us to get rid of the friend relationship with
31622        PlatformCALayer.
31623
31624        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
31625        (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
31626        (WebCore::LayerChangesFlusher::cancelPendingFlush):
31627        (WebCore::LayerChangesFlusher::hookFired):
31628        * platform/graphics/ca/win/LayerChangesFlusher.h:
31629        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
31630        (layerTreeHostForLayer):
31631        (PlatformCALayer::rootLayer):
31632        (PlatformCALayer::setNeedsCommit):
31633        (PlatformCALayer::addAnimationForKey):
31634        (PlatformCALayer::removeAnimationForKey):
31635        Changed to use AbstractCACFLayerTreeHost instead of using CACFLayerTreeHost directly.
31636
316372011-03-31  Andy Estes  <aestes@apple.com>
31638
31639        Reviewed by Alexey Proskuryakov.
31640
31641        REGRESSION: Java applet fails to load when <object> has a classid attribute.
31642        https://bugs.webkit.org/show_bug.cgi?id=52703
31643
31644        Java applets embedded with the object element sometimes use classid to
31645        specify their main resource. When this is done, the classid is prefixed
31646        with "java:". Treat these as supported classids in WebKit.
31647
31648        Test: java/embedding-java-with-object.html
31649
31650        * html/HTMLObjectElement.cpp:
31651        (WebCore::HTMLObjectElement::hasValidClassId): If the MIME type is a
31652        Java Applet type and the classid starts with "java:", the classid
31653        should be considered valid.
31654
316552011-03-31  Brent Fulgham  <bfulgham@webkit.org>
31656
31657        Reviewed Adam Roben.
31658
31659        [WinCairo] Implement Missing drawWindowsBitmap method.
31660        https://bugs.webkit.org/show_bug.cgi?id=57409
31661
31662        * WebCore.vcproj/WebCore.vcproj: Add new DIBPixelData files.
31663        * platform/graphics/GraphicsContext.h:
31664        (WebCore::GraphicsContext::WindowsBitmap::buffer):
31665        (WebCore::GraphicsContext::WindowsBitmap::bufferLength):
31666        (WebCore::GraphicsContext::WindowsBitmap::size):
31667        (WebCore::GraphicsContext::WindowsBitmap::bytesPerRow):
31668        (WebCore::GraphicsContext::WindowsBitmap::bitsPerPixel):
31669        (WebCore::GraphicsContext::WindowsBitmap::windowsDIB):
31670        * platform/graphics/win/GraphicsContextCGWin.cpp:
31671        (WebCore::CGContextWithHDC):
31672        (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
31673        new common routines.
31674        * platform/graphics/win/GraphicsContextCairoWin.cpp:
31675        (WebCore::drawBitmapToContext): New common drawing implementation.
31676        (WebCore::GraphicsContext::releaseWindowsContext): Modified to use
31677        new common routines.
31678        (WebCore::GraphicsContext::drawWindowsBitmap):
31679        * platform/graphics/win/GraphicsContextWin.cpp:
31680        (WebCore::GraphicsContext::WindowsBitmap::WindowsBitmap): Modified
31681        to use new DIBPixelData data type.
31682        * platform/graphics/win/DIBPixelData.cpp: Added.
31683        (WebCore::DIBPixelData::DIBPixelData):
31684        (WebCore::DIBPixelData::initialize):
31685        * platform/graphics/win/DIBPixelData.h: Added.
31686        (WebCore::DIBPixelData::DIBPixelData):
31687        (WebCore::DIBPixelData::buffer):
31688        (WebCore::DIBPixelData::bufferLength):
31689        (WebCore::DIBPixelData::size):
31690        (WebCore::DIBPixelData::bytesPerRow):
31691        (WebCore::DIBPixelData::bitsPerPixel):
31692
316932011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
31694
31695        Unreviewed, rolling out r81849.
31696        http://trac.webkit.org/changeset/81849
31697        https://bugs.webkit.org/show_bug.cgi?id=57588
31698
31699        CSS Parsing broke with -webkit-calc and introduced crashes
31700        (Requested by inferno-sec on #webkit).
31701
31702        * css/CSSGrammar.y:
31703        * css/CSSParserValues.cpp:
31704        * css/CSSParserValues.h:
31705        * css/tokenizer.flex:
31706
317072011-03-31  Adam Roben  <aroben@apple.com>
31708
31709        Don't ref CACFLayerTreeHosts when telling them to flush layer changes
31710
31711        LayerChangesFlusher was reffing CACFLayerTreeHosts before calling out to them. This would
31712        have protected us if calling out to one CACFLayerTreeHost could cause a different
31713        CACFLayerTreeHost to be destroyed. But that isn't possible; each CACFLayerTreeHost is
31714        associated with its own page, and flushing layer changes doesn't touch any other page. So it
31715        isn't possible for a CACFLayerTreeHost to be deleted while another one is flushing layer
31716        changes.
31717
31718        One benefit of this change is that it will make it easier to make LayerChangesFlusher
31719        interact with a forthcoming abstract base class, rather than with CACFLayerTreeHost itself.
31720
31721        This should cause no change in behavior.
31722
31723        Fixes <http://webkit.org/b/57590> LayerChangesFlusher unnecessarily refs CACFLayerTreeHost
31724        before calling out to it
31725
31726        Reviewed by Darin Adler.
31727
31728        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
31729        (WebCore::LayerChangesFlusher::hookFired): Just store bare pointers to the
31730        CACFLayerTreeHosts.
31731
317322011-03-31  Antti Koivisto  <antti@apple.com>
31733
31734        Reviewed by Oliver Hunt.
31735
31736        https://bugs.webkit.org/show_bug.cgi?id=57574
31737        Preload scanner fails to pick up resources from document.write() output
31738
31739        - Scan script inserted source using a separate preload scanner.
31740        - Make the main preload scanner correctly process the remaining source if script execution blocked the parser.
31741
31742        Tests: fast/preloader/document-write-2.html
31743               fast/preloader/document-write.html
31744
31745        * html/parser/HTMLDocumentParser.cpp:
31746        (WebCore::HTMLDocumentParser::insert):
31747        (WebCore::HTMLDocumentParser::appendCurrentInputStreamToPreloadScannerAndScan):
31748        * html/parser/HTMLDocumentParser.h:
31749        (WebCore::HTMLDocumentParser::hasPreloadScanner):
31750        * html/parser/HTMLScriptRunner.cpp:
31751        (WebCore::HTMLScriptRunner::execute):
31752        * html/parser/HTMLScriptRunnerHost.h:
31753
317542011-03-31  Tony Gentilcore  <tonyg@chromium.org>
31755
31756        Build fix: Add missing include
31757        https://bugs.webkit.org/show_bug.cgi?id=57587
31758
31759        * loader/cache/CachedResourceLoader.cpp:
31760
317612011-03-31  Tony Gentilcore  <tonyg@chromium.org>
31762
31763        Reviewed by Antti Koivisto.
31764
31765        PreloadScanner doesn&apos;t find image while executing script in head
31766        https://bugs.webkit.org/show_bug.cgi?id=45072
31767
31768        Previously, while parsing the head, no resources in the body would be
31769        preloaded. After this patch, we will preload scripts and styles in the
31770        body, although we continue to hold off on all images until the page is
31771        first rendered.
31772
31773        To evaluate this change, I've recorded a sampling of 45 of alexa's top
31774        sites and replayed them under simulated bandwidth conditions, loading
31775        each 5-15 times until stddev is small enough.
31776
31777        Time to the load event improved at the overall average by 3%.
31778        Most sites are unchanged, but sites with certain blocking patterns had
31779        big wins -- ebay 19% (331ms), microsoft 15% (226ms), conduit 15% (277ms)
31780        nytimes 7% (182ms).
31781
31782        Time to DOM content loaded event improved by 6% with some even bigger
31783        individual wins.
31784
31785        First paint time held steady.
31786
31787        Note that I originally wanted to allow preloading of images while in the
31788        head, but that regressed first paint time (even though it was better for
31789        overall load time).
31790
31791        Test: fast/preloader/scan-body-from-head.html
31792
31793        * loader/cache/CachedResourceLoader.cpp:
31794        (WebCore::CachedResourceLoader::preload):
31795
317962011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
31797
31798        Unreviewed, rolling out r82616.
31799        http://trac.webkit.org/changeset/82616
31800        https://bugs.webkit.org/show_bug.cgi?id=57585
31801
31802        New test does not pass on Gtk, chromium-mac, chromium-linux
31803        and possibly elsewhere (Requested by abarth|gardener on
31804        #webkit).
31805
31806        * rendering/RenderWidget.cpp:
31807        (WebCore::RenderWidget::setWidget):
31808
318092011-03-31  Adrienne Walker  <enne@google.com>
31810
31811        Reviewed by James Robinson.
31812
31813        [chromium] Fix ownership semantics for LayerChromium/CCLayerImpl
31814        https://bugs.webkit.org/show_bug.cgi?id=57577
31815
31816        LayerRendererChromium now uses a RefPtr to preserve ownership of all
31817        of the CCLayerImpl layers that it is using during the update/draw
31818        pass.  Addtionally, when a LayerChromium is destroyed, the weak
31819        owner pointer from its CCLayerImpl is correctly unset.
31820
31821        * platform/graphics/chromium/LayerRendererChromium.cpp:
31822        (WebCore::LayerRendererChromium::compareLayerZ):
31823        (WebCore::LayerRendererChromium::updateAndDrawLayers):
31824        (WebCore::LayerRendererChromium::updateLayers):
31825        (WebCore::LayerRendererChromium::drawLayers):
31826        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
31827        (WebCore::LayerRendererChromium::drawLayer):
31828        * platform/graphics/chromium/LayerRendererChromium.h:
31829        * platform/graphics/chromium/RenderSurfaceChromium.h:
31830        * platform/graphics/chromium/VideoLayerChromium.cpp:
31831        (WebCore::VideoLayerChromium::updateCompositorResources):
31832        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
31833        (WebCore::CCLayerImpl::drawsContent):
31834        (WebCore::CCLayerImpl::cleanupResources):
31835
318362011-03-31  Sam Weinig  <sam@webkit.org>
31837
31838        Reviewed by Anders Carlsson.
31839
31840        Rename WebCore's UI_STRING to WEB_UI_STRING to not overlap with WebKit API
31841        https://bugs.webkit.org/show_bug.cgi?id=57582
31842
31843        * platform/DefaultLocalizationStrategy.cpp:
31844        * platform/LocalizedStrings.h:
31845
318462011-03-31  Eric Seidel  <eric@webkit.org>
31847
31848        Reviewed by Ryosuke Niwa.
31849
31850        Rename BidiResolver::lastBeforeET to m_lastBeforeET to match modern style
31851        https://bugs.webkit.org/show_bug.cgi?id=57550
31852
31853        * platform/text/BidiResolver.h:
31854        (WebCore::::createBidiRunsForLine):
31855
318562011-03-31  Anantanarayanan G Iyengar  <ananta@chromium.org>
31857
31858        Reviewed by James Robinson.
31859
31860        https://bugs.webkit.org/show_bug.cgi?id=45855
31861        Windowless plugins added dynamically to the DOM should receive paint events.
31862        This is done by ensuring that the plugin widget is marked for painting when
31863        it is added.
31864
31865        Test: plugins/windowless_plugin_paint_test.html
31866
31867        * rendering/RenderWidget.cpp:
31868        (WebCore::RenderWidget::setWidget):
31869
318702011-03-31  Stephen White  <senorblanco@chromium.org>
31871
31872        Reviewed by Kenneth Russell.
31873
31874        Speed up accelerated path drawing.
31875        https://bugs.webkit.org/show_bug.cgi?id=57371
31876        This CL does three things:  re-uses the same vertex and index buffer
31877        for all path draws, converts all vertex layouts from vec3 to vec2, and
31878        does a convexity check for polygons before passing them to the
31879        tesselator.
31880
31881        Covered by canvas/philip/tests/2d.path.bezierCurveTo.*, and others.
31882
31883        * platform/graphics/chromium/GLES2Canvas.cpp:
31884        Replace the Vector<double> for interpolated curves with a
31885        Vector<FloatPoint>.
31886        (WebCore::Cubic::evaluate):
31887        Inline the evaluation function (as Quadratic does).
31888        (WebCore::GLES2Canvas::GLES2Canvas):
31889        Initialize the m_pathIndexBuffer.
31890        (WebCore::GLES2Canvas::~GLES2Canvas):
31891        Delete the path vertex and index buffers on destruction.
31892        (WebCore::interpolateQuadratic):
31893        (WebCore::interpolateCubic):
31894        Interpolate directly to a Vector<FloatPoint>, rather than
31895        Vector<double>.
31896        (WebCore::PolygonData::PolygonData):
31897        (WebCore::combineData):
31898        Replace the DoubleVector with a FloatPointVector.
31899        (WebCore::GLES2Canvas::tesselateAndFillPath):
31900        Move curve drawing into this function, and rename it to reflect the
31901        new behaviour.  Re-use the common vertex and index buffers.  If the
31902        curve consists of a single convex polygon, draw the curve as a single
31903        triangle fan.  Otherwise, convert it to doubles and pass it to the
31904        tesselator.
31905        (WebCore::GLES2Canvas::fillPathInternal):
31906        * platform/graphics/chromium/GLES2Canvas.h:
31907        Rename createVertexBufferFromPath() -> tesselateAndFillPath().
31908        Add a persistent index buffer for all path draws.
31909        * platform/graphics/gpu/BicubicShader.cpp:
31910        (WebCore::BicubicShader::create):
31911        (WebCore::BicubicShader::use):
31912        * platform/graphics/gpu/ConvolutionShader.cpp:
31913        (WebCore::ConvolutionShader::create):
31914        (WebCore::ConvolutionShader::use):
31915        Use vec2s instead of vec3s for all vertex data.
31916        * platform/graphics/gpu/LoopBlinnMathUtils.cpp:
31917        (WebCore::LoopBlinnMathUtils::convexCompare):
31918        (WebCore::LoopBlinnMathUtils::convexCross):
31919        (WebCore::LoopBlinnMathUtils::convexCheckTriple):
31920        (WebCore::LoopBlinnMathUtils::isConvex):
31921        * platform/graphics/gpu/LoopBlinnMathUtils.h:
31922        Implement a convexity check, based on the code in Graphics Gems IV.
31923        * platform/graphics/gpu/Shader.cpp:
31924        (WebCore::Shader::generateVertex):
31925        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
31926        (WebCore::SharedGraphicsContext3D::useQuadVertices):
31927        * platform/graphics/gpu/SolidFillShader.cpp:
31928        (WebCore::SolidFillShader::use):
31929        * platform/graphics/gpu/TexShader.cpp:
31930        (WebCore::TexShader::use):
31931        Use vec2s instead of vec3s for all vertex data.
31932
319332011-03-31  David Hyatt  <hyatt@apple.com>
31934
31935        Reviewed by Simon Fraser.
31936
31937        https://bugs.webkit.org/show_bug.cgi?id=57565
31938
31939        Optimize overflow computations on lines to avoid allocating RenderOverflows in nearly all cases and to avoid even having
31940        to check the line for overflow in the first place.
31941
31942        For the purposes of overflow computation, an inline object's default containment box for overflow is now assumed to extend
31943        all the way from lineTop to lineBottom instead of snugly fitting the inline object's own block dimensions. This allows
31944        replaced objects to be inside spans without triggering overflow allocation.
31945
31946        The overflow accessors on InlineFlowBox have been changed to require passing in the lineTop and lineBottom so that the block
31947        dimensions can be forced to those values. Because these values are checked during painting and hit testing of lines, the
31948        lineTop and lineBottom are now passed as arguments to the painting and hit testing functions to avoid repeatedly crawling
31949        back up to the root box to fetch them.
31950
31951        Added a new boolean flag to all InlineBoxes, knownToHaveNoOverflow(), and optimized for common cases where no overflow can
31952        possibly be present.  When the bit is set, computeOverflow will just immediately return.
31953
31954        This change speeds up line layout by ~10%.
31955
31956        * rendering/EllipsisBox.cpp:
31957        (WebCore::EllipsisBox::paint):
31958        (WebCore::EllipsisBox::nodeAtPoint):
31959        * rendering/EllipsisBox.h:
31960        * rendering/InlineBox.cpp:
31961        (WebCore::InlineBox::paint):
31962        (WebCore::InlineBox::nodeAtPoint):
31963        (WebCore::InlineBox::clearKnownToHaveNoOverflow):
31964        * rendering/InlineBox.h:
31965        (WebCore::InlineBox::InlineBox):
31966        (WebCore::InlineBox::logicalFrameRect):
31967        (WebCore::InlineBox::knownToHaveNoOverflow):
31968        * rendering/InlineFlowBox.cpp:
31969        (WebCore::InlineFlowBox::addToLine):
31970        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
31971        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
31972        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
31973        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
31974        (WebCore::InlineFlowBox::addReplacedChildOverflow):
31975        (WebCore::InlineFlowBox::computeOverflow):
31976        (WebCore::InlineFlowBox::setLayoutOverflow):
31977        (WebCore::InlineFlowBox::setVisualOverflow):
31978        (WebCore::InlineFlowBox::setOverflowFromLogicalRects):
31979        (WebCore::InlineFlowBox::nodeAtPoint):
31980        (WebCore::InlineFlowBox::paint):
31981        * rendering/InlineFlowBox.h:
31982        (WebCore::InlineFlowBox::layoutOverflowRect):
31983        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
31984        (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
31985        (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
31986        (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
31987        (WebCore::InlineFlowBox::logicalLayoutOverflowRect):
31988        (WebCore::InlineFlowBox::visualOverflowRect):
31989        (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
31990        (WebCore::InlineFlowBox::logicalRightVisualOverflow):
31991        (WebCore::InlineFlowBox::logicalTopVisualOverflow):
31992        (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
31993        (WebCore::InlineFlowBox::logicalVisualOverflowRect):
31994        (WebCore::InlineFlowBox::frameRectIncludingLineHeight):
31995        (WebCore::InlineFlowBox::logicalFrameRectIncludingLineHeight):
31996        * rendering/InlineTextBox.cpp:
31997        (WebCore::InlineTextBox::nodeAtPoint):
31998        (WebCore::InlineTextBox::paint):
31999        * rendering/InlineTextBox.h:
32000        * rendering/RenderBlock.cpp:
32001        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
32002        (WebCore::RenderBlock::paintEllipsisBoxes):
32003        (WebCore::RenderBlock::adjustLinePositionForPagination):
32004        * rendering/RenderBlock.h:
32005        * rendering/RenderBlockLineLayout.cpp:
32006        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
32007        (WebCore::RenderBlock::layoutInlineChildren):
32008        (WebCore::RenderBlock::determineStartPosition):
32009        (WebCore::RenderBlock::matchedEndLine):
32010        (WebCore::RenderBlock::addOverflowFromInlineChildren):
32011        * rendering/RenderBox.h:
32012        (WebCore::RenderBox::hasRenderOverflow):
32013        * rendering/RenderBoxModelObject.cpp:
32014        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
32015        * rendering/RenderInline.cpp:
32016        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
32017        * rendering/RenderLineBoxList.cpp:
32018        (WebCore::RenderLineBoxList::anyLineIntersectsRect):
32019        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
32020        (WebCore::RenderLineBoxList::paint):
32021        (WebCore::RenderLineBoxList::hitTest):
32022        * rendering/RenderListItem.cpp:
32023        (WebCore::RenderListItem::positionListMarker):
32024        * rendering/RootInlineBox.cpp:
32025        (WebCore::RootInlineBox::paintEllipsisBox):
32026        (WebCore::RootInlineBox::addHighlightOverflow):
32027        (WebCore::RootInlineBox::paint):
32028        (WebCore::RootInlineBox::nodeAtPoint):
32029        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
32030        * rendering/RootInlineBox.h:
32031        (WebCore::RootInlineBox::logicalTopVisualOverflow):
32032        (WebCore::RootInlineBox::logicalBottomVisualOverflow):
32033        (WebCore::RootInlineBox::logicalTopLayoutOverflow):
32034        (WebCore::RootInlineBox::logicalBottomLayoutOverflow):
32035        * rendering/svg/SVGInlineFlowBox.cpp:
32036        (WebCore::SVGInlineFlowBox::paint):
32037        * rendering/svg/SVGInlineFlowBox.h:
32038        * rendering/svg/SVGInlineTextBox.cpp:
32039        (WebCore::SVGInlineTextBox::paint):
32040        * rendering/svg/SVGInlineTextBox.h:
32041        * rendering/svg/SVGRootInlineBox.cpp:
32042        (WebCore::SVGRootInlineBox::paint):
32043        * rendering/svg/SVGRootInlineBox.h:
32044
320452011-03-31  Pavel Feldman  <pfeldman@chromium.org>
32046
32047        Reviewed by Yury Semikhatsky.
32048
32049        Web Inspector: disable properties abbreviation.
32050        https://bugs.webkit.org/show_bug.cgi?id=57525
32051
32052        * inspector/InjectedScript.cpp:
32053        (WebCore::InjectedScript::getProperties):
32054        * inspector/InjectedScript.h:
32055        * inspector/InjectedScriptSource.js:
32056        (.):
32057        ():
32058        * inspector/Inspector.json:
32059        * inspector/InspectorRuntimeAgent.cpp:
32060        (WebCore::InspectorRuntimeAgent::getProperties):
32061        * inspector/InspectorRuntimeAgent.h:
32062        * inspector/front-end/ConsoleView.js:
32063        (WebInspector.ConsoleView.prototype.completions.evaluated):
32064        (WebInspector.ConsoleView.prototype._formatarray):
32065        * inspector/front-end/ObjectPropertiesSection.js:
32066        (WebInspector.ObjectPropertiesSection.prototype.update.callback):
32067        (WebInspector.ObjectPropertiesSection.prototype.update):
32068        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
32069        (WebInspector.ObjectPropertyTreeElement.prototype.update):
32070        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
32071        * inspector/front-end/PropertiesSidebarPane.js:
32072        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
32073        * inspector/front-end/RemoteObject.js:
32074        (WebInspector.RemoteObject.prototype.getOwnProperties):
32075        (WebInspector.RemoteObject.prototype.getAllProperties):
32076        (WebInspector.RemoteObject.prototype._getProperties):
32077        (WebInspector.LocalJSONObject.prototype.getOwnProperties):
32078        (WebInspector.LocalJSONObject.prototype.getAllProperties):
32079        * inspector/front-end/inspector.css:
32080        (.console-formatted-string, .console-formatted-regexp):
32081
320822011-03-31  Adam Roben  <aroben@apple.com>
32083
32084        Update WKCACFViewLayerTreeHost for changes to WKCACFView API
32085
32086        This should not result in any change in behavior.
32087
32088        Fixes <http://webkit.org/b/57560> WKCACFViewLayerTreeHost needs to tell WKCACFView where to
32089        render
32090
32091        Reviewed by Darin Adler.
32092
32093        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Updated API declarations.
32094        (WebCore::WKCACFViewLayerTreeHost::WKCACFViewLayerTreeHost): Tell WKCACFView it should
32095        render into the window we give it.
32096
320972011-03-31  Marius Storm-Olsen  <marius.storm-olsen@nokia.com>
32098
32099        Reviewed by Kenneth Rohde Christiansen.
32100
32101        [Qt] Properly detect phonon include, and avoid double qtLibraryTarget() call
32102        https://bugs.webkit.org/show_bug.cgi?id=57017
32103
32104        Build fix. No new tests.
32105
32106        * WebCore.pri:
32107
321082011-03-31  Vsevolod Vlasov  <vsevik@chromium.org>
32109
32110        Reviewed by Pavel Feldman.
32111
32112        XML viewer is not shown when frame has non-null opener
32113        https://bugs.webkit.org/show_bug.cgi?id=56384
32114
32115        Removed opener check in XML viewer
32116
32117        Test: http/tests/xmlviewer/extensions-api.html
32118
32119        * xml/XMLTreeViewer.cpp:
32120        (WebCore::XMLTreeViewer::hasNoStyleInformation):
32121        * xml/XMLViewer.js:
32122
321232011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
32124
32125        Unreviewed, rolling out r82589.
32126        http://trac.webkit.org/changeset/82589
32127        https://bugs.webkit.org/show_bug.cgi?id=57564
32128
32129        This patch requires many more updated results than it contains
32130        (Requested by abarth|gardener on #webkit).
32131
32132        * css/CSSSelector.cpp:
32133        (WebCore::CSSSelector::pseudoId):
32134        (WebCore::nameToPseudoTypeMap):
32135        (WebCore::CSSSelector::extractPseudoType):
32136        * css/CSSSelector.h:
32137        * css/html.css:
32138        (meter::-webkit-meter-horizontal-bar):
32139        (meter::-webkit-meter-vertical-bar):
32140        (meter::-webkit-meter-horizontal-optimum-value):
32141        (meter::-webkit-meter-horizontal-suboptimal-value):
32142        (meter::-webkit-meter-horizontal-even-less-good-value):
32143        (meter::-webkit-meter-vertical-optimum-value):
32144        (meter::-webkit-meter-vertical-suboptimal-value):
32145        (meter::-webkit-meter-vertical-even-less-good-value):
32146        * rendering/RenderMeter.cpp:
32147        (WebCore::MeterPartElement::MeterPartElement):
32148        (WebCore::MeterPartElement::createForPart):
32149        (WebCore::MeterPartElement::hide):
32150        (WebCore::MeterPartElement::restoreVisibility):
32151        (WebCore::MeterPartElement::updateStyleForPart):
32152        (WebCore::MeterPartElement::saveVisibility):
32153        (WebCore::RenderMeter::~RenderMeter):
32154        (WebCore::RenderMeter::createPart):
32155        (WebCore::RenderMeter::updateFromElement):
32156        (WebCore::RenderMeter::layoutParts):
32157        (WebCore::RenderMeter::shouldHaveParts):
32158        (WebCore::RenderMeter::valuePartRect):
32159        (WebCore::RenderMeter::orientation):
32160        (WebCore::RenderMeter::valuePseudoId):
32161        (WebCore::RenderMeter::barPseudoId):
32162        * rendering/RenderMeter.h:
32163        (WebCore::RenderMeter::shadowAttached):
32164        * rendering/RenderTheme.cpp:
32165        (WebCore::RenderTheme::supportsMeter):
32166        * rendering/RenderTheme.h:
32167        * rendering/RenderThemeMac.h:
32168        * rendering/RenderThemeMac.mm:
32169        (WebCore::RenderThemeMac::paintMeter):
32170        (WebCore::RenderThemeMac::supportsMeter):
32171        * rendering/style/RenderStyleConstants.h:
32172
321732011-03-31  Xan Lopez  <xlopez@igalia.com>
32174
32175        Reviewed by Martin Robinson.
32176
32177        [GTK] Link explicitly with XRender on Linux/Unix
32178        https://bugs.webkit.org/show_bug.cgi?id=57558
32179
32180        * GNUmakefile.am: add XRender CFLAGS.
32181
321822011-03-31  Eric Seidel  <eric@webkit.org>
32183
32184        Reviewed by Ryosuke Niwa.
32185
32186        Rename BidiResolver::emptyRun to m_emtpyRun to match modern style
32187        https://bugs.webkit.org/show_bug.cgi?id=57549
32188
32189        * platform/text/BidiResolver.h:
32190        (WebCore::BidiResolver::BidiResolver):
32191        (WebCore::::appendRun):
32192        (WebCore::::lowerExplicitEmbeddingLevel):
32193        (WebCore::::raiseExplicitEmbeddingLevel):
32194        (WebCore::::deleteRuns):
32195        (WebCore::::createBidiRunsForLine):
32196        * rendering/InlineIterator.h:
32197        (WebCore::InlineBidiResolver::appendRun):
32198
321992011-03-31  Tom Sepez  <tsepez@chromium.org>
32200
32201        Reviewed by Eric Seidel.
32202
32203        Make ContainerNode::insertIntoDocument() collect all nodes before
32204        operating on any of them.  Add small helper function and use it
32205        througout the file where this action is already taking place.
32206        https://bugs.webkit.org/show_bug.cgi?id=57265
32207
32208        Test: svg/dom/range-delete.html
32209
32210        * dom/ContainerNode.cpp:
32211        (WebCore::collectNodes):
32212        (WebCore::collectTargetNodes):
32213        (WebCore::ContainerNode::takeAllChildrenFrom):
32214        (WebCore::willRemoveChildren):
32215        (WebCore::ContainerNode::insertedIntoDocument):
32216
322172011-03-31  Satish Sampath  <satish@chromium.org>
32218
32219        Reviewed by Steve Block.
32220
32221        While drawing a speech input button, validate that the node is really a speech input button.
32222        https://bugs.webkit.org/show_bug.cgi?id=57469
32223
32224        Test: fast/speech/speech-style-on-non-speech-elements.html
32225
32226        * dom/Element.h:
32227        (WebCore::Element::isInputFieldSpeechButtonElement):
32228        * html/shadow/TextControlInnerElements.h:
32229        (WebCore::InputFieldSpeechButtonElement::isInputFieldSpeechButtonElement):
32230        (WebCore::toInputFieldSpeechButtonElement):
32231        * rendering/RenderInputSpeech.cpp:
32232        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
32233
322342011-03-31  Ryosuke Niwa  <rniwa@webkit.org>
32235
32236        Build fix after r82588. Reverted unintentional change.
32237
32238        * editing/SelectionController.cpp:
32239        (WebCore::SelectionController::modifyMovingLeft):
32240
322412011-03-31  Mario Sanchez Prada  <msanchez@igalia.com>
32242
32243        Reviewed by Xan Lopez.
32244
32245        [GTK] Warnings happening because of unhandled switch cases in AccessibilityObjectWrapperAtk
32246        https://bugs.webkit.org/show_bug.cgi?id=57534
32247
32248        Fix compilation warnings.
32249
32250        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
32251        (getAttributeSetForAccessibilityObject): Add unhandled cases.
32252
322532011-03-30  Pavel Podivilov  <podivilov@chromium.org>
32254
32255        Reviewed by Pavel Feldman.
32256
32257        Web Inspector: remove unnecessary newBody output parameter from editScriptSource protocol method.
32258        https://bugs.webkit.org/show_bug.cgi?id=57444
32259
32260        * bindings/js/ScriptDebugServer.cpp:
32261        (WebCore::ScriptDebugServer::editScriptSource):
32262        * bindings/js/ScriptDebugServer.h:
32263        * bindings/v8/ScriptDebugServer.cpp:
32264        (WebCore::ScriptDebugServer::editScriptSource):
32265        * bindings/v8/ScriptDebugServer.h:
32266        * inspector/Inspector.json:
32267        * inspector/InspectorDebuggerAgent.cpp:
32268        (WebCore::InspectorDebuggerAgent::editScriptSource):
32269        * inspector/InspectorDebuggerAgent.h:
32270        * inspector/front-end/DebuggerModel.js:
32271        (WebInspector.DebuggerModel.prototype.editScriptSource):
32272        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
32273        * inspector/front-end/DebuggerPresentationModel.js:
32274        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
32275        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
32276        * inspector/front-end/SourceFrame.js:
32277        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
32278        (WebInspector.SourceFrame.prototype._handleSave):
32279
322802011-03-30  MORITA Hajime <morrita@google.com>
32281
32282        Reviewed by Dimitri Glazkov.
32283
32284        <meter> can only support horizontal indicator
32285        https://bugs.webkit.org/show_bug.cgi?id=56001
32286
32287        - Removed code which deals with the direction and
32288          left the horizontal path.
32289        - Removed "horizontal" from related names which is now
32290          redundant.
32291
32292        * css/CSSSelector.cpp:
32293        (WebCore::CSSSelector::pseudoId):
32294        (WebCore::nameToPseudoTypeMap):
32295        (WebCore::CSSSelector::extractPseudoType):
32296        * css/CSSSelector.h:
32297        * css/html.css:
32298        (meter::-webkit-meter-bar):
32299        (meter::-webkit-meter-optimum-value):
32300        (meter::-webkit-meter-suboptimal-value):
32301        (meter::-webkit-meter-even-less-good-value):
32302        * rendering/RenderMeter.cpp:
32303        (WebCore::RenderMeter::~RenderMeter):
32304        (WebCore::RenderMeter::createPart):
32305        (WebCore::RenderMeter::updateFromElement):
32306        (WebCore::RenderMeter::layoutParts):
32307        (WebCore::RenderMeter::styleDidChange):
32308        (WebCore::RenderMeter::shouldHaveParts):
32309        (WebCore::RenderMeter::valuePartRect):
32310        (WebCore::RenderMeter::valuePseudoId):
32311        (WebCore::RenderMeter::barPseudoId):
32312        (WebCore::RenderMeter::detachShadows):
32313        (WebCore::RenderMeter::updateShadows):
32314        * rendering/RenderMeter.h:
32315        (WebCore::RenderMeter::shadowAttached):
32316        * rendering/RenderTheme.cpp:
32317        (WebCore::RenderTheme::supportsMeter):
32318        * rendering/RenderTheme.h:
32319        * rendering/RenderThemeMac.h:
32320        * rendering/RenderThemeMac.mm:
32321        (WebCore::RenderThemeMac::paintMeter):
32322        (WebCore::RenderThemeMac::supportsMeter):
32323        * rendering/style/RenderStyleConstants.h:
32324
323252011-03-30  Xiaomei Ji  <xji@chromium.org>
32326
32327        Reviewed by Ryosuke Niwa.
32328
32329        Experiment with moving caret by word in visual order.
32330        https://bugs.webkit.org/show_bug.cgi?id=57336
32331
32332        Follow Firefox's convention in Windows,
32333        In LTR block, word break visually moves cursor to the left boundary of words,
32334        In RTL block, word break visually moves cursor to the right boundary of words.
32335
32336        This is the 1st version of implementing "move caret by word in visual order".
32337        It only works in the following situation:
32338        1. For a LTR box in a LTR block or a RTL box in RTL block,
32339        when caret is at the left boundary of the box and we are looking for
32340        the word boundary in right.
32341        2. For a LTR or RTL box in a LTR block, when caret is at the left boundary
32342        of the box and we are looking for the word boundary in left and
32343        previous box is a LTR box.
32344        3. For a LTR or RTL box in a RTL block, when the caret is at the right
32345        boundary of the box and we are looking for the word boundary in right and next box is RTL box.
32346
32347        An experimental granularity is introduced, as a side effect, functions having switch statements
32348        to handle those granularities have to add more one case to handle this new granularity.
32349        The experimental granularity is exposed though JS by '-webkit-visual-word".
32350
32351        The overall algorithm is looping through inline boxes visually and looking
32352        for the visually nearest word break position.
32353
32354        Test: editing/selection/move-by-word-visually.html
32355
32356        * editing/SelectionController.cpp:
32357        (WebCore::SelectionController::modifyExtendingRight):
32358        (WebCore::SelectionController::modifyExtendingForward):
32359        (WebCore::SelectionController::modifyMovingRight):
32360        (WebCore::SelectionController::modifyMovingForward):
32361        (WebCore::SelectionController::modifyExtendingLeft):
32362        (WebCore::SelectionController::modifyExtendingBackward):
32363        (WebCore::SelectionController::modifyMovingLeft):
32364        (WebCore::SelectionController::modifyMovingBackward):
32365        * editing/TextGranularity.h:
32366        * editing/VisibleSelection.cpp:
32367        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
32368        * editing/visible_units.cpp:
32369        (WebCore::previousWordBreakInBoxInsideBlockWithSameDirectionality):
32370        (WebCore::wordBoundaryInBox):
32371        (WebCore::wordBoundaryInAdjacentBoxes):
32372        (WebCore::leftWordBoundary):
32373        (WebCore::rightWordBoundary):
32374        (WebCore::leftWordPosition):
32375        (WebCore::rightWordPosition):
32376        * editing/visible_units.h:
32377        * page/DOMSelection.cpp:
32378        (WebCore::DOMSelection::modify):
32379
323802011-03-31  Dimitri Glazkov  <dglazkov@chromium.org>
32381
32382        Reviewed by Darin Adler.
32383
32384        Move coordinate-computing logic into MouseRelatedEvent.
32385        https://bugs.webkit.org/show_bug.cgi?id=57521
32386
32387        Refactoring, covered by existing tests.
32388
32389        * dom/EventDispatcher.cpp:
32390        (WebCore::EventDispatcher::dispatchWheelEvent): Yank calculation of
32391            coordinates out.
32392        (WebCore::EventDispatcher::dispatchMouseEvent): Ditto.
32393        * dom/MouseEvent.cpp:
32394        (WebCore::MouseEvent::create): Add coordinate-computing logic.
32395        * dom/MouseEvent.h: Adjust decl to reflect new meaning of params.
32396        * dom/MouseRelatedEvent.cpp:
32397        (WebCore::MouseRelatedEvent::MouseRelatedEvent): Ditto.
32398        * page/EventHandler.cpp:
32399        (WebCore::EventHandler::dispatchDragEvent): Ditto.
32400
324012011-03-30  Alexander Pavlov  <apavlov@chromium.org>
32402
32403        Reviewed by Pavel Feldman.
32404
32405        Web Inspector: document CSS agent.
32406        https://bugs.webkit.org/show_bug.cgi?id=57435
32407
32408        * inspector/Inspector.json:
32409
324102011-03-31  Andrey Kosyakov  <caseq@chromium.org>
32411
32412        Reviewed by Yury Semikhatsky.
32413
32414        Web Inspector: remove periods at the end of error messages
32415        https://bugs.webkit.org/show_bug.cgi?id=57544
32416
32417        * inspector/InjectedScript.cpp:
32418        (WebCore::InjectedScript::getProperties):
32419        (WebCore::InjectedScript::makeObjectCall):
32420        * inspector/InspectorCSSAgent.cpp:
32421        (WebCore::InspectorCSSAgent::elementForId):
32422        (WebCore::InspectorCSSAgent::styleSheetForId):
32423        * inspector/InspectorDOMAgent.cpp:
32424        (WebCore::InspectorDOMAgent::assertNode):
32425        (WebCore::InspectorDOMAgent::assertElement):
32426        (WebCore::InspectorDOMAgent::assertHTMLElement):
32427        (WebCore::InspectorDOMAgent::querySelector):
32428        (WebCore::InspectorDOMAgent::querySelectorAll):
32429        (WebCore::InspectorDOMAgent::setAttribute):
32430        (WebCore::InspectorDOMAgent::removeAttribute):
32431        (WebCore::InspectorDOMAgent::removeNode):
32432        (WebCore::InspectorDOMAgent::setNodeValue):
32433        * inspector/InspectorDebuggerAgent.cpp:
32434        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
32435        * inspector/InspectorResourceAgent.cpp:
32436        (WebCore::InspectorResourceAgent::resourceContent):
32437        (WebCore::InspectorResourceAgent::resourceContentBase64):
32438        (WebCore::InspectorResourceAgent::getResourceContent):
32439        * inspector/InspectorRuntimeAgent.cpp:
32440        (WebCore::InspectorRuntimeAgent::setPropertyValue):
32441
324422011-03-31  Evan Martin  <evan@chromium.org>
32443
32444        Reviewed by Eric Seidel.
32445
32446        <title> should support dir attribute
32447        https://bugs.webkit.org/show_bug.cgi?id=50961
32448
32449        Introduce a new StringWithDirection object that carries a String along
32450        with the TextDirection associated with the String.  Use this object for
32451        document titles used within WebCore, because in HTML the direction of
32452        a title can be set with the 'dir' attribute.
32453
32454        Put FIXMEs at the WebKit level to expose the new direction information
32455        to clients.
32456
32457        No behavioral change intended, so no new tests.  A follow-up will expose
32458        the title direction and hopefully can be accompanied by tests that
32459        verify it is correct.
32460
32461        * dom/Document.cpp:
32462        (WebCore::Document::Document):
32463        (WebCore::Document::updateTitle):
32464        (WebCore::Document::setTitle):
32465        (WebCore::Document::removeTitle):
32466        * dom/Document.h:
32467        (WebCore::Document::title):
32468        * html/HTMLTitleElement.cpp:
32469        (WebCore::HTMLTitleElement::HTMLTitleElement):
32470        (WebCore::HTMLTitleElement::childrenChanged):
32471        (WebCore::HTMLTitleElement::text):
32472        (WebCore::HTMLTitleElement::textWithDirection):
32473        * html/HTMLTitleElement.h:
32474        * loader/DocumentLoader.cpp:
32475        (WebCore::DocumentLoader::setTitle):
32476        * loader/DocumentLoader.h:
32477        (WebCore::DocumentLoader::title):
32478        * loader/EmptyClients.h:
32479        (WebCore::EmptyFrameLoaderClient::dispatchDidReceiveTitle):
32480        (WebCore::EmptyFrameLoaderClient::setTitle):
32481        * loader/FrameLoader.cpp:
32482        (WebCore::FrameLoader::receivedFirstData):
32483        (WebCore::FrameLoader::commitProvisionalLoad):
32484        (WebCore::FrameLoader::setTitle):
32485        * loader/FrameLoader.h:
32486        * loader/FrameLoaderClient.h:
32487        * loader/HistoryController.cpp:
32488        (WebCore::HistoryController::updateForBackForwardNavigation):
32489        (WebCore::HistoryController::updateForReload):
32490        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
32491        (WebCore::HistoryController::updateForClientRedirect):
32492        (WebCore::HistoryController::updateForCommit):
32493        (WebCore::HistoryController::setCurrentItemTitle):
32494        (WebCore::HistoryController::initializeItem):
32495        * loader/HistoryController.h:
32496        * platform/text/StringWithDirection.h: Added.
32497        (WebCore::StringWithDirection::StringWithDirection):
32498        (WebCore::StringWithDirection::operator==):
32499        (WebCore::StringWithDirection::operator!=):
32500        * svg/SVGTitleElement.cpp:
32501        (WebCore::SVGTitleElement::insertedIntoDocument):
32502        (WebCore::SVGTitleElement::childrenChanged):
32503
325042011-03-31  Alexander Pavlov  <apavlov@chromium.org>
32505
32506        Reviewed by Yury Semikhatsky.
32507
32508        Web Inspector: CSS domain - make a "range" object, get rid of "properties" object for Style objects
32509        https://bugs.webkit.org/show_bug.cgi?id=57538
32510
32511        * inspector/InspectorStyleSheet.cpp:
32512        (WebCore::buildSourceRangeObject):
32513        (WebCore::InspectorStyle::buildObjectForStyle):
32514        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
32515        * inspector/front-end/AuditRules.js:
32516        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
32517        * inspector/front-end/CSSStyleModel.js:
32518        (WebInspector.CSSStyleDeclaration):
32519
325202011-03-31  Sheriff Bot  <webkit.review.bot@gmail.com>
32521
32522        Unreviewed, rolling out r82565.
32523        http://trac.webkit.org/changeset/82565
32524        https://bugs.webkit.org/show_bug.cgi?id=57541
32525
32526        Caused assertion failures. (Requested by bbandix on #webkit).
32527
32528        * platform/graphics/filters/FEFlood.cpp:
32529        (WebCore::FEFlood::setFloodColor):
32530        (WebCore::FEFlood::setFloodOpacity):
32531        * platform/graphics/filters/FEFlood.h:
32532        * platform/graphics/filters/FESpecularLighting.cpp:
32533        (WebCore::FESpecularLighting::setLightingColor):
32534        * platform/graphics/filters/FESpecularLighting.h:
32535        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
32536        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
32537        * rendering/svg/SVGResourcesCache.cpp:
32538        (WebCore::SVGResourcesCache::clientStyleChanged):
32539        * svg/SVGFEDiffuseLightingElement.cpp:
32540        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
32541        * svg/SVGFEFloodElement.cpp:
32542        * svg/SVGFEFloodElement.h:
32543        * svg/SVGFESpecularLightingElement.cpp:
32544        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
32545
325462011-03-31  Renata Hodovan  <reni@webkit.org>
32547
32548        Reviewed by Dirk Schulze.
32549
32550        CSS related SVG*Element changes doesn't require relayout
32551        https://bugs.webkit.org/show_bug.cgi?id=56906
32552
32553        The changes of some CSS related SVGFilter properties e.g. lighting-color, flood-color, flood-opacity
32554        need only repaint. To avoid the default invalidation of filters in SVGResourceCache::clientStyleChange()
32555        we need an early return. So RenderSVGResourceFilterPrimitive::styleDidChange() can handle these properties
32556        via RenderSVGResourceFilter::primitiveAttributeChanged() the same way like we do it for the other SVGAttributes.
32557
32558        Tests: svg/dynamic-updates/SVGFEDiffuseLightingElement-inherit-lighting-color-css-prop.html
32559               svg/dynamic-updates/SVGFEFloodElement-inherit-flood-color.html
32560               svg/dynamic-updates/SVGFESpecularLightingElement-inherit-lighting-color-css-prop.html
32561               svg/dynamic-updates/SVGFESpecularLightingElement-lighting-color-css-prop.html
32562
32563        * platform/graphics/filters/FEFlood.cpp:
32564        (WebCore::FEFlood::setFloodColor):
32565        (WebCore::FEFlood::setFloodOpacity):
32566        * platform/graphics/filters/FEFlood.h:
32567        * platform/graphics/filters/FESpecularLighting.cpp:
32568        (WebCore::FESpecularLighting::setLightingColor):
32569        * platform/graphics/filters/FESpecularLighting.h:
32570        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
32571        (WebCore::RenderSVGResourceFilterPrimitive::styleDidChange):
32572        * rendering/svg/RenderSVGResourceFilterPrimitive.h:
32573        * rendering/svg/SVGResourcesCache.cpp:
32574        (WebCore::SVGResourcesCache::clientStyleChanged):
32575        * svg/SVGFEDiffuseLightingElement.cpp:
32576        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
32577        * svg/SVGFEFloodElement.cpp:
32578        (WebCore::SVGFEFloodElement::setFilterEffectAttribute):
32579        * svg/SVGFEFloodElement.h:
32580        * svg/SVGFESpecularLightingElement.cpp:
32581        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
32582
325832011-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
32584
32585        Reviewed by Pavel Feldman.
32586
32587        XML Viewer: declared namespaces are not rendered.
32588        https://bugs.webkit.org/show_bug.cgi?id=56262
32589
32590        XML viewer rewritten on javascript.
32591
32592        * CMakeLists.txt:
32593        * DerivedSources.make:
32594        * GNUmakefile.am:
32595        * WebCore.gyp/WebCore.gyp:
32596        * WebCore.gypi:
32597        * WebCore.vcproj/WebCore.vcproj:
32598        * WebCore.xcodeproj/project.pbxproj:
32599        * dom/XMLDocumentParserLibxml2.cpp:
32600        (WebCore::XMLDocumentParser::doEnd):
32601        * xml/XMLTreeViewer.cpp:
32602        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
32603        * xml/XMLViewer.css: Added.
32604        * xml/XMLViewer.js: Added.
32605        * xml/XMLViewer.xsl: Removed.
32606        * xml/XSLStyleSheet.h:
32607
326082011-03-31  Jaehun Lim  <ljaehun.lim@samsung.com>
32609
32610        Unreviewed build fix.
32611
32612        Fix build break after rolling out r82496
32613        https://bugs.webkit.org/show_bug.cgi?id=57536
32614
32615        * platform/efl/RenderThemeEfl.cpp:
32616
326172011-03-31  Andrey Adaikin  <aandrey@google.com>
32618
32619        Reviewed by Pavel Feldman.
32620
32621        Web Inspector: execution line is displayed incorrectly after source editing.
32622        https://bugs.webkit.org/show_bug.cgi?id=57229
32623
32624        * inspector/front-end/SourceFrame.js:
32625        (WebInspector.SourceFrame.prototype._saveViewerState):
32626        (WebInspector.SourceFrame.prototype._restoreViewerState):
32627        (WebInspector.SourceFrame.prototype._startEditing):
32628        (WebInspector.SourceFrame.prototype._endEditing):
32629        (WebInspector.SourceFrame.prototype._createTextViewer):
32630        (WebInspector.SourceFrame.prototype.setExecutionLine):
32631        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
32632        (WebInspector.SourceFrame.prototype._handleSave):
32633        (WebInspector.SourceFrame.prototype._handleRevertEditing):
32634        * inspector/front-end/TextViewer.js:
32635        (WebInspector.TextEditorChunkedPanel.prototype.addDecoration):
32636        (WebInspector.TextEditorChunkedPanel.prototype.removeDecoration):
32637        (WebInspector.TextEditorMainPanel.prototype.makeLineAChunk):
32638        (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
32639
326402011-03-30  Alexander Pavlov  <apavlov@chromium.org>
32641
32642        Reviewed by Pavel Feldman.
32643
32644        Web Inspector: Make the CSStyle "shorthandValues" name-value map an array
32645        https://bugs.webkit.org/show_bug.cgi?id=57452
32646
32647        No new tests, as this is a refactoring.
32648
32649        * inspector/InspectorCSSAgent.cpp:
32650        * inspector/InspectorStyleSheet.cpp:
32651        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
32652        * inspector/front-end/CSSStyleModel.js:
32653        (WebInspector.CSSStyleDeclaration):
32654        (WebInspector.CSSStyleDeclaration.buildShorthandValueMap):
32655
326562011-03-30  Steve Block  <steveblock@google.com>
32657
32658        Reviewed by Jeremy Orlow.
32659
32660        JavaField should not expose JavaString in its API
32661        https://bugs.webkit.org/show_bug.cgi?id=55766
32662
32663        This patch fixes JavaField for V8 only.
32664        - Factors out a JavaField interface which does not use JNI types.
32665          This will allow the Java bridge to be used with objects that
32666          don't use JNI directly. The existing jobject-backed
32667          implementation is moved to a new JavaFieldJobject class which
32668          implements the interface.
32669        - Use WTF::String in place of JavaString in the API, as JavaString
32670          exposes JNI types in its interface.
32671
32672        No new tests, refactoring only.
32673
32674        * Android.v8bindings.mk:
32675        * WebCore.gypi:
32676        * bridge/jni/JavaMethod.h:
32677        (JSC::Bindings::JavaMethod::~JavaMethod):
32678        * bridge/jni/JobjectWrapper.h:
32679        * bridge/jni/v8/JavaClassV8.cpp:
32680        (JavaClass::JavaClass):
32681        * bridge/jni/v8/JavaFieldJobjectV8.cpp:
32682        (JavaFieldJobject::JavaFieldJobject):
32683        * bridge/jni/v8/JavaFieldJobjectV8.h:
32684        (JSC::Bindings::JavaFieldJobject::name):
32685        (JSC::Bindings::JavaFieldJobject::typeClassName):
32686        (JSC::Bindings::JavaFieldJobject::type):
32687        * bridge/jni/v8/JavaFieldV8.h:
32688        (JSC::Bindings::JavaField::~JavaField):
32689        * bridge/jni/v8/JavaInstanceV8.cpp:
32690        (JavaInstance::getField):
32691
326922011-03-31  Levi Weintraub  <leviw@chromium.org>
32693
32694        Reviewed by Ryosuke Niwa.
32695
32696        Clean up from r82447.
32697        https://bugs.webkit.org/attachment.cgi?bugid=57532
32698
32699        No new tests since this doesn't change behavior.
32700
32701        * rendering/RenderBlock.cpp: Removing unnecessary visible_units.h include.
32702        * rendering/RootInlineBox.cpp:
32703        (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Making const.
32704        (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
32705        * rendering/RootInlineBox.h:
32706
327072011-03-31  Benjamin Kalman  <kalman@chromium.org>
32708
32709        Reviewed by Ojan Vafai.
32710
32711        DeleteSelectionCommand::removeNode tries to insert block placeholder in non-editable table cell positions
32712        https://bugs.webkit.org/show_bug.cgi?id=57079
32713
32714        Test: editing/execCommand/delete-table-with-empty-contents.html
32715
32716        This bug results in an ASSERT fail in CompositeEditCommand::insertNodeAt, so is only observable in debug builds
32717        of WebKit.
32718
32719        * editing/DeleteSelectionCommand.cpp:
32720        (WebCore::firstEditablePositionInNode):
32721        (WebCore::DeleteSelectionCommand::removeNode): Use firstEditablePositionInNode rather than firstPositionInNode
32722        to find anchor node for the placeholder's position, if any.
32723
327242011-03-30  Ojan Vafai  <ojan@chromium.org>
32725
32726        Reviewed by Adam Roben.
32727
32728        REGRESSION (r82400): Leaks seen beneath CSSParser::createFloatingVectorSelector when parsing UA stylesheet
32729        https://bugs.webkit.org/show_bug.cgi?id=57478
32730
32731        * css/CSSGrammar.y:
32732        * css/CSSParser.cpp:
32733        (WebCore::CSSParser::sinkFloatingSelectorVector):
32734        * css/CSSParser.h:
32735
327362011-03-30  Dominic Cooney  <dominicc@google.com>
32737
32738        Reviewed by Dimitri Glazkov.
32739
32740        Adds layoutTestController.shadowRoot accessor to Mac DRT.
32741        https://bugs.webkit.org/show_bug.cgi?id=57415
32742
32743        * WebCore.exp.in: DRT needs to link WebCore::Element::shadowRoot
32744
327452011-03-30  Kent Tamura  <tkent@chromium.org>
32746
32747        Reviewed by Dimitri Glazkov.
32748
32749        Simplify HTMLFormElement::validateInteractively() for asynchronous scroll event
32750        https://bugs.webkit.org/show_bug.cgi?id=57424
32751
32752        r75555 made 'scroll' event asynchronous. So we don't need to worry about
32753        deleting or moving a target node in scrollIntoViewIfNeeded().
32754
32755        * html/HTMLFormElement.cpp:
32756        (WebCore::HTMLFormElement::validateInteractively): Remove unnecessary code.
32757
327582011-03-30  Kent Tamura  <tkent@chromium.org>
32759
32760        Reviewed by Darin Adler.
32761
32762        REGRESSION (r74895): Crash if input.type = 'file' twice
32763        https://bugs.webkit.org/show_bug.cgi?id=57343
32764
32765        * html/HTMLInputElement.cpp:
32766        (WebCore::HTMLInputElement::updateType):
32767          Don't call setAttribute() if the type is not changed.
32768
327692011-03-30  Jia Pu  <jpu@apple.com>
32770
32771        Reviewed by Darin Adler.
32772
32773        Autocorrection panel isn't positioned correctly in Safari (mac) when the zooming is not 1x.
32774        https://bugs.webkit.org/show_bug.cgi?id=57353
32775        <rdar://problem/9163983>
32776
32777        We use Range::textQuads() instead of Range::boundingRect() to compute the position of correction
32778        panel. The latter function compensates for zooming, which we don't need in this case. We also
32779        dismiss correction panel when zooming factor is changed. This is done in Frame::setPageAndTextZoomFactors().
32780
32781        * WebCore.exp.in:
32782        * dom/Range.cpp:
32783        (WebCore::Range::textQuads):
32784        * dom/Range.h:
32785        * editing/Editor.cpp:
32786        (WebCore::Editor::windowRectForRange):
32787        * editing/Editor.h:
32788        * page/Frame.cpp:
32789        (WebCore::Frame::setPageAndTextZoomFactors):
32790
327912011-03-30  Chris Guillory  <chris.guillory@google.com>
32792
32793        Reviewed by Dimitri Glazkov.
32794
32795        Render fonts using skia when requested by platform context.
32796        https://bugs.webkit.org/show_bug.cgi?id=56441
32797
32798        * platform/graphics/skia/PlatformContextSkia.cpp:
32799        (WebCore::PlatformContextSkia::isNativeFontRenderingAllowed):
32800        * platform/graphics/skia/PlatformContextSkia.h:
32801        * platform/graphics/skia/SkiaFontWin.cpp:
32802        (WebCore::windowsCanHandleTextDrawing):
32803        (WebCore::skiaDrawText):
32804        (WebCore::setupPaintForFont):
32805        (WebCore::paintSkiaText):
32806
328072011-03-30  Dan Bernstein  <mitz@apple.com>
32808
32809        Reviewed by Darin Adler.
32810
32811        <rdar://problem/9199518> Crash when focusing a styled editable element
32812
32813        Test: editing/deleting/delete-button-background-image-none.html
32814
32815        * editing/DeleteButtonController.cpp:
32816        (WebCore::isDeletableElement): Check all background layers for background images.
32817        * rendering/style/RenderStyle.h: Removed backgroundImage() as it was only used, incorrectly,
32818        in the above function.
32819
328202011-03-30  Martin Robinson  <mrobinson@igalia.com>
32821
32822        Try once more to fix the EFL build.
32823
32824        * platform/efl/RenderThemeEfl.cpp:
32825
328262011-03-30  Chris Fleizach  <cfleizach@apple.com>
32827
32828        Reviewed by Darin Adler.
32829
32830        Regression: VO cursor doesn't follow KB focus back into HTML view
32831        https://bugs.webkit.org/show_bug.cgi?id=57509
32832
32833        In WK2, because the web area never believes focus leave the area, sending the initial
32834        focus change when moving back into the web area, does not trigger a notification.
32835
32836        That behavior needs to be overridden by explicitly posting a focused UI element change
32837        at the appropriate time. This is only used in WK2, hence the absence of a layout test for now.
32838
32839        * page/FocusController.cpp:
32840        (WebCore::FocusController::setInitialFocus):
32841
328422011-03-30  MORITA Hajime  <morrita@google.com>
32843
32844        Reviewed by Simon Fraser.
32845
32846        box-shadow radii stays the same regardless of any spread set
32847        https://bugs.webkit.org/show_bug.cgi?id=49726
32848
32849        - Removed special shadowSpread handling path
32850        - Fixed broken multple inset shadow border computation.
32851
32852        Test: fast/box-shadow/spread-multiple-inset.html
32853
32854        * rendering/RenderBoxModelObject.cpp:
32855        (WebCore::RenderBoxModelObject::paintBoxShadow):
32856
328572011-03-29  Matthew Delaney  <mdelaney@apple.com>
32858
32859        Reviewed by Simon Fraser.
32860
32861        Use the Accelerate vImage vectorized (un)premultiplyImageData functions for ImageBufferCG
32862
32863        https://bugs.webkit.org/show_bug.cgi?id=53134
32864
32865        Test: fast/canvas/getPutImageDataPairTest.html
32866
32867        * platform/graphics/cg/ImageBufferCG.cpp:
32868
328692011-03-30  Steve Falkenburg  <sfalken@apple.com>
32870
32871        Reviewed by Adam Roben.
32872
32873        Share most vsprops between Release and Production builds in releaseproduction.vsprops
32874        https://bugs.webkit.org/show_bug.cgi?id=57508
32875
32876        * WebCore.vcproj/QTMovieWinProduction.vsprops:
32877        * WebCore.vcproj/QTMovieWinRelease.vsprops:
32878        * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops:
32879        * WebCore.vcproj/WebCoreProduction.vsprops:
32880        * WebCore.vcproj/WebCoreRelease.vsprops:
32881        * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops:
32882
328832011-03-30  Timur Iskhodzhanov  <timurrrr@google.com>
32884
32885        Reviewed by Alexey Proskuryakov.
32886
32887        Add some dynamic annotations to JavaScriptCore/wtf
32888        https://bugs.webkit.org/show_bug.cgi?id=53747
32889
32890        By using these annotations we can improve the precision of finding
32891        WebKit errors using dynamic analysis tools like ThreadSanitizer and Valgrind.
32892        These annotations don't affect the compiled binaries unless USE(DYNAMIC_ANNOTATIONS) is "1".
32893
32894        These files don't add new functionality, so don't need extra tests.
32895
32896        * ForwardingHeaders/wtf/DynamicAnnotations.h: Added.
32897
328982011-03-30  Abhishek Arya  <inferno@chromium.org>
32899
32900        Reviewed by Simon Fraser.
32901
32902        Fix wrong type assumptions in editing code. Move code
32903        from ASSERTs to hard checks.
32904        https://bugs.webkit.org/show_bug.cgi?id=57348
32905
32906        Test: editing/execCommand/remove-format-non-html-element-crash.html
32907
32908        * css/CSSStyleSelector.cpp:
32909        (WebCore::CSSStyleSelector::applyProperty):
32910        * editing/ApplyStyleCommand.cpp:
32911        (WebCore::getRGBAFontColor):
32912        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
32913        * editing/DeleteButtonController.cpp:
32914        (WebCore::enclosingDeletableElement):
32915        * editing/EditingStyle.cpp:
32916        (WebCore::EditingStyle::textDirection):
32917        (WebCore::EditingStyle::prepareToApplyAt):
32918        * editing/Editor.cpp:
32919        (WebCore::Editor::textDirectionForSelection):
32920        * editing/FormatBlockCommand.cpp:
32921        (WebCore::FormatBlockCommand::elementForFormatBlockCommand):
32922
329232011-03-30  Stephen White  <senorblanco@chromium.org>
32924
32925        Reviewed by Kenneth Russell.
32926
32927        Speed up clipping in accelerated 2D canvas.
32928        https://bugs.webkit.org/show_bug.cgi?id=57464
32929
32930        Instead of clearing the entire stencil buffer when removing clipping paths, we erase the path with a DECR stencil operation.
32931        Covered by canvas/philip/tests/2d.path.clip.intersect.html, and others.
32932
32933        * platform/graphics/chromium/GLES2Canvas.cpp:
32934        (WebCore::PathAndTransform::PathAndTransform):
32935        New structure to keep track of the CTM at the time the clipping path was added.
32936        (WebCore::GLES2Canvas::State::State):
32937        Replace m_clippingEnabled with a count of total clipping paths.
32938        (WebCore::GLES2Canvas::clearRect):
32939        Check the total clipping path count, instead of m_clippingEnabled.
32940        (WebCore::GLES2Canvas::fillPath):
32941        (WebCore::GLES2Canvas::fillRect):
32942        Perform state application after doing shadows.  This is necessary
32943        since restore() may now leave clipping enabled.
32944        (WebCore::GLES2Canvas::clipPath):
32945        Explicitly specify the stencil operation as INCR.  Store the current
32946        transformation when saving clipping paths.
32947        (WebCore::GLES2Canvas::restore):
32948        Don't clear the stencil buffer and re-draw active paths on each restore.
32949        Erase the old paths with DECR.
32950        (WebCore::GLES2Canvas::drawTexturedRect):
32951        Check m_numClippingPaths instead of m_clippingEnabled.
32952        (WebCore::GLES2Canvas::beginShadowDraw):
32953        Perform state application when drawing hard shadows.
32954        (WebCore::GLES2Canvas::endShadowDraw):
32955        Check m_numClippingPaths instead of m_clippingEnabled.
32956        (WebCore::GLES2Canvas::beginStencilDraw):
32957        Make the stencil op a parameter to beginShadowDraw().
32958        (WebCore::GLES2Canvas::applyClipping):
32959        Compare against the total number of stencil paths, not just the ones in
32960        the current state.
32961        * platform/graphics/chromium/GLES2Canvas.h:
32962        Make the stencil op a parameter to beginShadowDraw().
32963
329642011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
32965
32966        Reviewed by Darin Adler.
32967
32968        Move factory-like things in EventDispatcher::dispatchMouseEvent to a factory, clean up names and ordering.
32969        https://bugs.webkit.org/show_bug.cgi?id=57419
32970
32971        Refactoring, covered by existing tests.
32972
32973        * dom/EventDispatcher.cpp:
32974        (WebCore::EventDispatcher::dispatchMouseEvent): Reordered and clarified names.
32975        * dom/MouseEvent.cpp:
32976        (WebCore::MouseEvent::create): Added a new factory method that takes PlatformMouseEvent.
32977        * dom/MouseEvent.h: Added decl.
32978
329792011-03-30  Erik Arvidsson  <arv@chromium.org>
32980
32981        Reviewed by Alexey Proskuryakov.
32982
32983        Missing DOM bindings for a ping
32984        https://bugs.webkit.org/show_bug.cgi?id=51955
32985
32986        Test: fast/dom/ping-attribute-dom-binding.html
32987
32988        * html/HTMLAnchorElement.idl:
32989        * html/HTMLAreaElement.idl:
32990
329912011-03-30  Patrick Gansterer  <paroga@webkit.org>
32992
32993        Unreviewed WinCE build fix for r82465.
32994
32995        * CMakeListsWinCE.txt:
32996
329972011-03-30  Steve Falkenburg  <sfalken@apple.com>
32998
32999        Reviewed by Adam Roben.
33000
33001        Update Windows production build logic for new production configurations
33002        https://bugs.webkit.org/show_bug.cgi?id=57494
33003
33004        * WebCore.vcproj/QTMovieWinProduction.vsprops:
33005        * WebCore.vcproj/WebCore.make:
33006        * WebCore.vcproj/WebCoreProduction.vsprops:
33007
330082011-03-30  Sam Weinig  <sam@webkit.org>
33009
33010        Reviewed by Brady Eidson.
33011
33012        WebKit2: Attempting to view css file from url causes it to download
33013        <rdar://problem/9102611>
33014        https://bugs.webkit.org/show_bug.cgi?id=57501
33015
33016        * WebCore.exp.in:
33017        * platform/MIMETypeRegistry.cpp:
33018        (WebCore::initializeUnsupportedTextMIMETypes):
33019        (WebCore::initializeMIMETypeRegistry):
33020        (WebCore::MIMETypeRegistry::isUnsupportedTextMIMEType):
33021        (WebCore::MIMETypeRegistry::getUnsupportedTextMIMETypes):
33022        * platform/MIMETypeRegistry.h:
33023        Add set of unsupported text MIME types, taken from WebKit/mac.
33024
330252011-03-30  Brian Weinstein  <bweinstein@apple.com>
33026
33027        Reviewed by Darin Adler.
33028
33029        Crash when closing "Add Bookmark" dialog using the Enter Key
33030        https://bugs.webkit.org/show_bug.cgi?id=57294
33031        <rdar://problem/9044756>
33032
33033        Protect the FrameView in EventHandler::keyEvent, like we do in other EventHandler
33034        functions that could destroy the frame.
33035
33036        * page/EventHandler.cpp:
33037        (WebCore::EventHandler::keyEvent):
33038
330392011-03-30  Sheriff Bot  <webkit.review.bot@gmail.com>
33040
33041        Unreviewed, rolling out r82463.
33042        http://trac.webkit.org/changeset/82463
33043        https://bugs.webkit.org/show_bug.cgi?id=57482
33044
33045        Assertion failure in Node::rendererIsEditable on multiple
33046        editing tests (Requested by aroben|meeting on #webkit).
33047
33048        * css/CSSParser.cpp:
33049        (WebCore::CSSParser::parseValue):
33050        * css/CSSPrimitiveValueMappings.h:
33051        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
33052        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
33053        * css/CSSValueKeywords.in:
33054        * rendering/style/RenderStyle.h:
33055        * rendering/style/RenderStyleConstants.h:
33056
330572011-03-24  Luiz Agostini  <luiz.agostini@openbossa.org>
33058
33059        Reviewed by Kenneth Rohde Christiansen.
33060
33061        [Qt] QNetworkReplyHandler refactoring: signal sequence.
33062        https://bugs.webkit.org/show_bug.cgi?id=57049
33063
33064        This is the first step in QNetworkReplyHandler. The main objective here is to create simple invariants:
33065
33066            1 - that the signals metadatachanged, readyRead and finished will come in this order.
33067            2 - that signals metadatachanged and finished will be called exactly once.
33068
33069        Having these invariants further simplifications will be possible and will come in future patches.
33070
33071        Class QNetworkReplyWrapper was created to handle QNetworkReply object. To connect to the signals of it
33072        instead of connecting to the signals of QNetworkReply is what guarantees the sequence of the signals.
33073        QNetworkReplyWrapper will be used in future to perform mime type sniffing before sending
33074        metadatachanged signal.
33075
33076        * platform/network/qt/QNetworkReplyHandler.cpp:
33077        (WebCore::QNetworkReplyWrapper::QNetworkReplyWrapper):
33078        (WebCore::QNetworkReplyWrapper::~QNetworkReplyWrapper):
33079        (WebCore::QNetworkReplyWrapper::release):
33080        (WebCore::QNetworkReplyWrapper::resetConnections):
33081        (WebCore::QNetworkReplyWrapper::receiveMetaData):
33082        (WebCore::QNetworkReplyWrapper::didReceiveFinished):
33083        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
33084        (WebCore::QNetworkReplyHandler::resetState):
33085        (WebCore::QNetworkReplyHandler::release):
33086        (WebCore::QNetworkReplyHandler::finish):
33087        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
33088        (WebCore::QNetworkReplyHandler::redirect):
33089        (WebCore::QNetworkReplyHandler::forwardData):
33090        (WebCore::QNetworkReplyHandler::sendNetworkRequest):
33091        (WebCore::QNetworkReplyHandler::start):
33092        * platform/network/qt/QNetworkReplyHandler.h:
33093        (WebCore::QNetworkReplyWrapper::reply):
33094        (WebCore::QNetworkReplyWrapper::redirectionTargetUrl):
33095        (WebCore::QNetworkReplyWrapper::encoding):
33096        (WebCore::QNetworkReplyWrapper::advertisedMimeType):
33097        (WebCore::QNetworkReplyHandler::reply):
33098
330992011-03-30  Steve Falkenburg  <sfalken@apple.com>
33100
33101        Reviewed by Adam Roben.
33102
33103        Rename Windows configuration Release_LTCG to Production for clarity
33104        https://bugs.webkit.org/show_bug.cgi?id=57465
33105
33106        * WebCore.vcproj/QTMovieWin.vcproj:
33107        * WebCore.vcproj/QTMovieWinProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops.
33108        * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Removed.
33109        * WebCore.vcproj/WebCore.sln:
33110        * WebCore.vcproj/WebCore.submit.sln:
33111        * WebCore.vcproj/WebCore.vcproj:
33112        * WebCore.vcproj/WebCoreGenerated.vcproj:
33113        * WebCore.vcproj/WebCoreProduction.vsprops: Copied from Source/WebCore/WebCore.vcproj/WebCoreReleaseLTCG.vsprops.
33114        * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Removed.
33115
331162011-03-30  Brian Weinstein  <bweinstein@apple.com>
33117
33118        Reviewed by Anders Carlsson.
33119
33120        ASSERT(cookieStorageAdapter) when calling stopObservingCookieChanges after WebProcess has crashed
33121        https://bugs.webkit.org/show_bug.cgi?id=57477
33122        <rdar://problem/9178751>
33123
33124        If someone has called startObservingCookieChanges, and the WebProcess crashes and restarts, the UIProcess
33125        will call stopObservingCookieChanges when cookieStorageAdapter is nil.
33126
33127        The assert is wrong when the web process crashes, and there is no harm in dispatching a message to nil,
33128        so remove the assert.
33129
33130        * platform/network/mac/CookieStorageMac.mm:
33131        (WebCore::stopObservingCookieChanges):
33132
331332011-03-30  Sam Weinig  <sam@webkit.org>
33134
33135        Fix Leopard build.
33136
33137        * platform/DefaultLocalizationStrategy.cpp:
33138        (WebCore::DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary):
33139
331402011-03-30  Sam Weinig  <sam@webkit.org>
33141
33142        Reviewed by Anders Carlsson.
33143
33144        Add default localization strategy that can be shared by WebKit1 and WebKit2
33145        https://bugs.webkit.org/show_bug.cgi?id=57406
33146
33147        Currently, only WebKit2 uses this default strategy, but WebKit1 should be able
33148        to adopt it soon.
33149
33150        * platform/DefaultLocalizationStrategy.cpp: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp.
33151        (WebCore::DefaultLocalizationStrategy::DefaultLocalizationStrategy):
33152        * platform/DefaultLocalizationStrategy.h: Copied from Source/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.h.
33153        Copy the implementation of the Localization strategy from WebKit2 into a shared default strategy.
33154
33155        * platform/LocalizedStrings.cpp:
33156        (WebCore::localizedString):
33157        Add default implementation of localization bottleneck function.
33158
33159        * platform/LocalizedStrings.h:
33160        Add localization macros here, instead of defining them in the above layer.
33161
33162        * platform/PlatformStrategies.cpp:
33163        (WebCore::PlatformStrategies::createLocalizationStrategy):
33164        * platform/PlatformStrategies.h:
33165        Add default implementation of strategy creation function which creates the default strategy.
33166
33167        * platform/win/LocalizedStringsWin.cpp: Copied from Source/WebCore/platform/mac/LocalizedStringsMac.mm.
33168        (WebCore::localizedString):
33169        Add stub for windows, this will be update to pull from the bundle in a follow up patch.
33170
33171        * Android.mk:
33172        * CMakeLists.txt:
33173        * GNUmakefile.am:
33174        * WebCore.exp.in:
33175        * WebCore.gypi:
33176        * WebCore.pro:
33177        * WebCore.vcproj/WebCore.vcproj:
33178        * WebCore.xcodeproj/project.pbxproj:
33179        Add new files.
33180
331812011-03-30  Andras Becsi  <abecsi@webkit.org>
33182
33183        Reviewed by Darin Adler.
33184
33185        CSS: Slow parsing of rgb() with percent values
33186        https://bugs.webkit.org/show_bug.cgi?id=16708
33187
33188        Implement fast-path parsing for percentage color values.
33189
33190        Gain ~30% speedup on  http://canvex.lazyilluminati.com/misc/3d.html
33191
33192        Relanding with rounding fix after it was rolled out in r82315.
33193
33194        * css/CSSParser.cpp:
33195        (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
33196        (WebCore::parseDouble): Function for parsing double values if they are valid.
33197        (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
33198        (WebCore::parseAlphaValue): Use the new functions.
33199        (WebCore::CSSParser::parseColor): Ditto.
33200
332012011-03-30  Ofri Wolfus  <ofri@dhcp-172-28-40-178.tlv.corp.google.com>
33202
33203        Reviewed by Eric Seidel.
33204
33205        Add support for parsing unicode-bidi: -webkit-plaintext.
33206        https://bugs.webkit.org/show_bug.cgi?id=57457
33207
33208        Test: css3/unicode-bidi-plaintext-parse.html
33209
33210        * css/CSSParser.cpp:
33211        (WebCore::CSSParser::parseValue):
33212        * css/CSSPrimitiveValueMappings.h:
33213        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
33214        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
33215        * css/CSSValueKeywords.in:
33216        * rendering/style/RenderStyle.h:
33217        * rendering/style/RenderStyleConstants.h:
33218
332192011-03-30  Andreas Kling  <kling@webkit.org>
33220
33221        Reviewed by Benjamin Poulain.
33222
33223        [Qt] Remove unused variables in GraphicsContext::fillRect()
33224
33225        * platform/graphics/qt/GraphicsContextQt.cpp:
33226        (WebCore::GraphicsContext::fillRect):
33227
332282011-03-30  Yael Aharon  <yael.aharon@nokia.com>
33229
33230        Reviewed by Eric Seidel.
33231
33232        REGRESSION(r82419): New pixel test failure fast/box-shadow/basic-shadows.html
33233        https://bugs.webkit.org/show_bug.cgi?id=57442
33234
33235        When checking the position of the inline iterator in the logicallyLastRun, we should not consider BR as text.
33236
33237        No new tests as existing test covers this case.
33238
33239        * rendering/RenderBlockLineLayout.cpp:
33240        (WebCore::reachedEndOfTextRenderer):
33241
332422011-03-30  Mario Sanchez Prada  <msanchez@igalia.com>
33243
33244        Reviewed by Chris Fleizach.
33245
33246        AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
33247        https://bugs.webkit.org/show_bug.cgi?id=47636
33248
33249        Define new roles in WebCore and map them to ATK accordingly.
33250
33251        Test: platform/gtk/accessibility/aria-roles-unignored.html
33252
33253        * accessibility/AccessibilityObject.h: Added new roles to
33254        represent paragraphs, labels, forms and div sections.
33255        * accessibility/AccessibilityRenderObject.cpp:
33256        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
33257        Return ParagraphRole, LabelRole, FormRole and DivRole when needed
33258        for the GTK platform only.
33259        * accessibility/gtk/AccessibilityObjectAtk.cpp:
33260        (WebCore::AccessibilityObject::allowsTextRanges): Consider the new
33261        roles now that those kind of nodes won't return true to isGroup().
33262        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
33263        (atkRole): Map new WebCore roles to ATK Roles.
33264        (webkit_accessible_get_role): Remove code to define roles for
33265        paragraphs, labels, forms and divs based on node's tag name.
33266
33267        Update mappings for the Mac platform.
33268
33269        * accessibility/mac/AccessibilityObjectWrapper.mm:
33270        (createAccessibilityRoleMap): Add explicit mappings from the new
33271        roles introduced to NSAccessibilityGroupRole.
33272
332732011-03-30  Yury Semikhatsky  <yurys@chromium.org>
33274
33275        Unreviewed. Build fix for Efl and Qt Win.
33276
33277        * inspector/PageDebuggerAgent.cpp: removed ENABLE(WORKERS) guard from code that has nothing to do with workers.
33278
332792011-03-30  Andrey Kosyakov  <caseq@chromium.org>
33280
33281        Reviewed by Pavel Feldman.
33282
33283        Web Inspector: audit run never completes, fails in DOMAgent.js
33284        https://bugs.webkit.org/show_bug.cgi?id=57349
33285
33286        - assure document is present before calling DOMAgent.querySelectAll()
33287
33288        * inspector/front-end/AuditRules.js:
33289        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
33290
332912011-03-30  Yury Semikhatsky  <yurys@chromium.org>
33292
33293        Unreviewed. Build fix.
33294
33295        * UseJSC.cmake: fix typo PageDebugServer -> PageScriptDebugServer
33296
332972011-03-30  Yury Semikhatsky  <yurys@chromium.org>
33298
33299        Reviewed by Pavel Feldman.
33300
33301        Web Inspector: split debugger agent into Page and Worker-specific ones
33302        https://bugs.webkit.org/show_bug.cgi?id=57345
33303
33304        ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
33305        for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
33306        and Page/WorkerDebuggerAgent.
33307
33308        * CMakeLists.txt:
33309        * GNUmakefile.am:
33310        * UseJSC.cmake:
33311        * WebCore.gypi:
33312        * WebCore.pro:
33313        * WebCore.vcproj/WebCore.vcproj:
33314        * WebCore.xcodeproj/project.pbxproj:
33315        * bindings/js/JSBindingsAllInOne.cpp:
33316        * bindings/js/JSInjectedScriptHostCustom.cpp:
33317        (WebCore::JSInjectedScriptHost::currentCallFrame):
33318        * bindings/js/PageScriptDebugServer.cpp: Added.
33319        (WebCore::toPage):
33320        (WebCore::PageScriptDebugServer::shared):
33321        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
33322        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
33323        (WebCore::PageScriptDebugServer::addListener):
33324        (WebCore::PageScriptDebugServer::removeListener):
33325        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
33326        (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
33327        (WebCore::PageScriptDebugServer::didPause):
33328        (WebCore::PageScriptDebugServer::didContinue):
33329        (WebCore::PageScriptDebugServer::didRemoveLastListener):
33330        (WebCore::PageScriptDebugServer::setJavaScriptPaused):
33331        * bindings/js/PageScriptDebugServer.h: Added.
33332        * bindings/js/ScriptDebugServer.cpp:
33333        (WebCore::ScriptDebugServer::ScriptDebugServer):
33334        (WebCore::ScriptDebugServer::sourceParsed):
33335        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
33336        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
33337        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
33338        (WebCore::ScriptDebugServer::pauseIfNeeded):
33339        * bindings/js/ScriptDebugServer.h:
33340        * bindings/js/WorkerScriptDebugServer.cpp: Added.
33341        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
33342        (WebCore::WorkerScriptDebugServer::addListener):
33343        (WebCore::WorkerScriptDebugServer::removeListener):
33344        * bindings/js/WorkerScriptDebugServer.h: Added.
33345        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
33346        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
33347        (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
33348        (WebCore::WorkerScriptDebugServer::didPause):
33349        (WebCore::WorkerScriptDebugServer::didContinue):
33350        * bindings/v8/PageScriptDebugServer.cpp: Added.
33351        (WebCore::retrieveFrame):
33352        (WebCore::PageScriptDebugServer::shared):
33353        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
33354        (WebCore::PageScriptDebugServer::addListener):
33355        (WebCore::PageScriptDebugServer::removeListener):
33356        (WebCore::PageScriptDebugServer::setClientMessageLoop):
33357        (WebCore::PageScriptDebugServer::getDebugListenerForContext):
33358        (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
33359        (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
33360        * bindings/v8/PageScriptDebugServer.h: Added.
33361        (WebCore::PageScriptDebugServer::setEnabled):
33362        (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
33363        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
33364        * bindings/v8/ScriptDebugServer.cpp:
33365        (WebCore::ScriptDebugServer::ScriptDebugServer):
33366        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
33367        (WebCore::ScriptDebugServer::breakProgram):
33368        (WebCore::ScriptDebugServer::continueProgram):
33369        (WebCore::ScriptDebugServer::stepIntoStatement):
33370        (WebCore::ScriptDebugServer::stepOverStatement):
33371        (WebCore::ScriptDebugServer::stepOutOfFunction):
33372        (WebCore::ScriptDebugServer::editScriptSource):
33373        (WebCore::toScriptDebugServer):
33374        (WebCore::ScriptDebugServer::breakProgramCallback):
33375        (WebCore::ScriptDebugServer::v8DebugEventCallback):
33376        (WebCore::ScriptDebugServer::handleV8DebugEvent):
33377        (WebCore::ScriptDebugServer::isPaused):
33378        * bindings/v8/ScriptDebugServer.h:
33379        * bindings/v8/WorkerScriptDebugServer.cpp: Added.
33380        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
33381        (WebCore::WorkerScriptDebugServer::addListener):
33382        (WebCore::WorkerScriptDebugServer::removeListener):
33383        * bindings/v8/WorkerScriptDebugServer.h: Added.
33384        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
33385        (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
33386        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
33387        (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
33388        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
33389        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
33390        * inspector/InjectedScriptHost.h:
33391        (WebCore::InjectedScriptHost::init):
33392        (WebCore::InjectedScriptHost::debuggerAgent):
33393        * inspector/InspectorAgent.cpp:
33394        (WebCore::InspectorAgent::InspectorAgent):
33395        * inspector/InspectorDebuggerAgent.cpp:
33396        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
33397        (WebCore::InspectorDebuggerAgent::enable):
33398        (WebCore::InspectorDebuggerAgent::disable):
33399        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
33400        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
33401        (WebCore::InspectorDebuggerAgent::continueToLocation):
33402        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
33403        (WebCore::InspectorDebuggerAgent::editScriptSource):
33404        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
33405        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
33406        (WebCore::InspectorDebuggerAgent::resume):
33407        (WebCore::InspectorDebuggerAgent::stepOver):
33408        (WebCore::InspectorDebuggerAgent::stepInto):
33409        (WebCore::InspectorDebuggerAgent::stepOut):
33410        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
33411        (WebCore::InspectorDebuggerAgent::didPause):
33412        (WebCore::InspectorDebuggerAgent::breakProgram):
33413        * inspector/InspectorDebuggerAgent.h:
33414        * inspector/InspectorProfilerAgent.cpp:
33415        (WebCore::InspectorProfilerAgent::disable):
33416        (WebCore::InspectorProfilerAgent::enable):
33417        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
33418        * inspector/PageDebuggerAgent.cpp: Added.
33419        (WebCore::PageDebuggerAgent::create):
33420        (WebCore::PageDebuggerAgent::PageDebuggerAgent):
33421        (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
33422        (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
33423        (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
33424        (WebCore::PageDebuggerAgent::scriptDebugServer):
33425        * inspector/PageDebuggerAgent.h: Added.
33426        * inspector/WorkerDebuggerAgent.cpp: Added.
33427        (WebCore::WorkerDebuggerAgent::create):
33428        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
33429        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
33430        (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
33431        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
33432        (WebCore::WorkerDebuggerAgent::scriptDebugServer):
33433        * inspector/WorkerDebuggerAgent.h: Added.
33434
334352011-03-30  Levi Weintraub  <leviw@chromium.org>
33436
33437        Reviewed by Ryosuke Niwa.
33438
33439        Clicking below last line of right-to-left editable text that puts caret in the wrong place
33440        https://bugs.webkit.org/show_bug.cgi?id=38087
33441
33442        Moving getLogical[Start/End]BoxWithNode to RootInlineBox and using it in positionForPointWithInlineChildren
33443        instead of lastLeafChild, which wasn't correct in the RTL case.
33444
33445        Test: editing/selection/click-below-rtl-text.html
33446
33447        * editing/visible_units.cpp:
33448        (WebCore::logicalStartPositionForLine): Moved to RootInlineBox.
33449        (WebCore::logicalEndPositionForLine): Ditto.
33450        * editing/visible_units.h:
33451        * rendering/RenderBlock.cpp:
33452        (WebCore::RenderBlock::positionForPointWithInlineChildren): Useing getLogicalEndBoxWithNode instead
33453        of lastLeafChild.
33454        * rendering/RootInlineBox.cpp:
33455        (WebCore::RootInlineBox::getLogicalStartBoxWithNode): Moved and refactored.
33456        (WebCore::RootInlineBox::getLogicalEndBoxWithNode): Ditto.
33457        * rendering/RootInlineBox.h:
33458
334592011-03-30  Yury Semikhatsky  <yurys@chromium.org>
33460
33461        Unreviewed. Rollout r82438 and r82436.
33462
33463        * CMakeLists.txt:
33464        * GNUmakefile.am:
33465        * UseJSC.cmake:
33466        * WebCore.gypi:
33467        * WebCore.pro:
33468        * WebCore.vcproj/WebCore.vcproj:
33469        * WebCore.xcodeproj/project.pbxproj:
33470        * bindings/js/JSBindingsAllInOne.cpp:
33471        * bindings/js/JSInjectedScriptHostCustom.cpp:
33472        (WebCore::JSInjectedScriptHost::currentCallFrame):
33473        * bindings/js/PageScriptDebugServer.cpp: Removed.
33474        * bindings/js/PageScriptDebugServer.h: Removed.
33475        * bindings/js/ScriptDebugServer.cpp:
33476        (WebCore::ScriptDebugServer::shared):
33477        (WebCore::ScriptDebugServer::ScriptDebugServer):
33478        (WebCore::ScriptDebugServer::addListener):
33479        (WebCore::ScriptDebugServer::removeListener):
33480        (WebCore::ScriptDebugServer::hasListenersInterestedInPage):
33481        (WebCore::toPage):
33482        (WebCore::ScriptDebugServer::sourceParsed):
33483        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
33484        (WebCore::ScriptDebugServer::setJavaScriptPaused):
33485        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
33486        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
33487        (WebCore::ScriptDebugServer::pauseIfNeeded):
33488        (WebCore::ScriptDebugServer::recompileAllJSFunctions):
33489        (WebCore::ScriptDebugServer::didAddListener):
33490        (WebCore::ScriptDebugServer::didRemoveListener):
33491        * bindings/js/ScriptDebugServer.h:
33492        * bindings/js/WorkerScriptDebugServer.cpp: Removed.
33493        * bindings/js/WorkerScriptDebugServer.h: Removed.
33494        * bindings/v8/PageScriptDebugServer.cpp: Removed.
33495        * bindings/v8/PageScriptDebugServer.h: Removed.
33496        * bindings/v8/ScriptDebugServer.cpp:
33497        (WebCore::retrieveFrame):
33498        (WebCore::ScriptDebugServer::shared):
33499        (WebCore::ScriptDebugServer::ScriptDebugServer):
33500        (WebCore::ScriptDebugServer::addListener):
33501        (WebCore::ScriptDebugServer::removeListener):
33502        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
33503        (WebCore::ScriptDebugServer::breakProgram):
33504        (WebCore::ScriptDebugServer::continueProgram):
33505        (WebCore::ScriptDebugServer::stepIntoStatement):
33506        (WebCore::ScriptDebugServer::stepOverStatement):
33507        (WebCore::ScriptDebugServer::stepOutOfFunction):
33508        (WebCore::ScriptDebugServer::editScriptSource):
33509        (WebCore::ScriptDebugServer::setEnabled):
33510        (WebCore::ScriptDebugServer::breakProgramCallback):
33511        (WebCore::ScriptDebugServer::v8DebugEventCallback):
33512        (WebCore::ScriptDebugServer::handleV8DebugEvent):
33513        (WebCore::ScriptDebugServer::didResume):
33514        * bindings/v8/ScriptDebugServer.h:
33515        (WebCore::ScriptDebugServer::pageCreated):
33516        (WebCore::ScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
33517        (WebCore::ScriptDebugServer::setClientMessageLoop):
33518        * bindings/v8/WorkerScriptDebugServer.cpp: Removed.
33519        * bindings/v8/WorkerScriptDebugServer.h: Removed.
33520        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
33521        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
33522        * inspector/InjectedScriptHost.h:
33523        (WebCore::InjectedScriptHost::init):
33524        * inspector/InspectorAgent.cpp:
33525        (WebCore::InspectorAgent::InspectorAgent):
33526        * inspector/InspectorDebuggerAgent.cpp:
33527        (WebCore::InspectorDebuggerAgent::create):
33528        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
33529        (WebCore::InspectorDebuggerAgent::enable):
33530        (WebCore::InspectorDebuggerAgent::disable):
33531        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
33532        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
33533        (WebCore::InspectorDebuggerAgent::continueToLocation):
33534        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
33535        (WebCore::InspectorDebuggerAgent::editScriptSource):
33536        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
33537        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
33538        (WebCore::InspectorDebuggerAgent::resume):
33539        (WebCore::InspectorDebuggerAgent::stepOver):
33540        (WebCore::InspectorDebuggerAgent::stepInto):
33541        (WebCore::InspectorDebuggerAgent::stepOut):
33542        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
33543        (WebCore::InspectorDebuggerAgent::didPause):
33544        (WebCore::InspectorDebuggerAgent::breakProgram):
33545        * inspector/InspectorDebuggerAgent.h:
33546        * inspector/InspectorProfilerAgent.cpp:
33547        (WebCore::InspectorProfilerAgent::disable):
33548        (WebCore::InspectorProfilerAgent::enable):
33549        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
33550        * inspector/PageDebuggerAgent.cpp: Removed.
33551        * inspector/PageDebuggerAgent.h: Removed.
33552        * inspector/WorkerDebuggerAgent.cpp: Removed.
33553        * inspector/WorkerDebuggerAgent.h: Removed.
33554
335552011-03-30  Yury Semikhatsky  <yurys@chromium.org>
33556
33557        Unreviewed. Fix compilation on Windows and EFL.
33558
33559        * CMakeLists.txt:
33560        * bindings/js/JSBindingsAllInOne.cpp:
33561
335622011-03-30  Yury Semikhatsky  <yurys@chromium.org>
33563
33564        Reviewed by Pavel Feldman.
33565
33566        Web Inspector: split debugger agent into Page and Worker-specific ones
33567        https://bugs.webkit.org/show_bug.cgi?id=57345
33568
33569        ScriptDebugServer and InspectorDebuggerAgent contain only functionality common
33570        for Worker and Page debugger. All specifics is moved into Page/WorkerScriptDebugServer
33571        and Page/WorkerDebuggerAgent.
33572
33573        * GNUmakefile.am:
33574        * UseJSC.cmake:
33575        * WebCore.gypi:
33576        * WebCore.pro:
33577        * WebCore.vcproj/WebCore.vcproj:
33578        * WebCore.xcodeproj/project.pbxproj:
33579        * bindings/js/JSInjectedScriptHostCustom.cpp:
33580        (WebCore::JSInjectedScriptHost::currentCallFrame):
33581        * bindings/js/PageScriptDebugServer.cpp: Added.
33582        (WebCore::toPage):
33583        (WebCore::PageScriptDebugServer::shared):
33584        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
33585        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
33586        (WebCore::PageScriptDebugServer::addListener):
33587        (WebCore::PageScriptDebugServer::removeListener):
33588        (WebCore::PageScriptDebugServer::recompileAllJSFunctions):
33589        (WebCore::PageScriptDebugServer::getListenersForGlobalObject):
33590        (WebCore::PageScriptDebugServer::didPause):
33591        (WebCore::PageScriptDebugServer::didContinue):
33592        (WebCore::PageScriptDebugServer::didRemoveLastListener):
33593        (WebCore::PageScriptDebugServer::setJavaScriptPaused):
33594        * bindings/js/PageScriptDebugServer.h: Added.
33595        * bindings/js/ScriptDebugServer.cpp:
33596        (WebCore::ScriptDebugServer::ScriptDebugServer):
33597        (WebCore::ScriptDebugServer::sourceParsed):
33598        (WebCore::ScriptDebugServer::dispatchFunctionToListeners):
33599        (WebCore::ScriptDebugServer::createCallFrameAndPauseIfNeeded):
33600        (WebCore::ScriptDebugServer::updateCallFrameAndPauseIfNeeded):
33601        (WebCore::ScriptDebugServer::pauseIfNeeded):
33602        * bindings/js/ScriptDebugServer.h:
33603        * bindings/js/WorkerScriptDebugServer.cpp: Added.
33604        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
33605        (WebCore::WorkerScriptDebugServer::addListener):
33606        (WebCore::WorkerScriptDebugServer::removeListener):
33607        * bindings/js/WorkerScriptDebugServer.h: Added.
33608        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
33609        (WebCore::WorkerScriptDebugServer::recompileAllJSFunctions):
33610        (WebCore::WorkerScriptDebugServer::getListenersForGlobalObject):
33611        (WebCore::WorkerScriptDebugServer::didPause):
33612        (WebCore::WorkerScriptDebugServer::didContinue):
33613        * bindings/v8/PageScriptDebugServer.cpp: Added.
33614        (WebCore::retrieveFrame):
33615        (WebCore::PageScriptDebugServer::shared):
33616        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
33617        (WebCore::PageScriptDebugServer::addListener):
33618        (WebCore::PageScriptDebugServer::removeListener):
33619        (WebCore::PageScriptDebugServer::setClientMessageLoop):
33620        (WebCore::PageScriptDebugServer::getDebugListenerForContext):
33621        (WebCore::PageScriptDebugServer::runMessageLoopOnPause):
33622        (WebCore::PageScriptDebugServer::quitMessageLoopOnPause):
33623        * bindings/v8/PageScriptDebugServer.h: Added.
33624        (WebCore::PageScriptDebugServer::setEnabled):
33625        (WebCore::PageScriptDebugServer::ClientMessageLoop::~ClientMessageLoop):
33626        (WebCore::PageScriptDebugServer::~PageScriptDebugServer):
33627        * bindings/v8/ScriptDebugServer.cpp:
33628        (WebCore::ScriptDebugServer::ScriptDebugServer):
33629        (WebCore::ScriptDebugServer::setPauseOnNextStatement):
33630        (WebCore::ScriptDebugServer::breakProgram):
33631        (WebCore::ScriptDebugServer::continueProgram):
33632        (WebCore::ScriptDebugServer::stepIntoStatement):
33633        (WebCore::ScriptDebugServer::stepOverStatement):
33634        (WebCore::ScriptDebugServer::stepOutOfFunction):
33635        (WebCore::ScriptDebugServer::editScriptSource):
33636        (WebCore::toScriptDebugServer):
33637        (WebCore::ScriptDebugServer::breakProgramCallback):
33638        (WebCore::ScriptDebugServer::v8DebugEventCallback):
33639        (WebCore::ScriptDebugServer::handleV8DebugEvent):
33640        (WebCore::ScriptDebugServer::isPaused):
33641        * bindings/v8/ScriptDebugServer.h:
33642        * bindings/v8/WorkerScriptDebugServer.cpp: Added.
33643        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
33644        (WebCore::WorkerScriptDebugServer::addListener):
33645        (WebCore::WorkerScriptDebugServer::removeListener):
33646        * bindings/v8/WorkerScriptDebugServer.h: Added.
33647        (WebCore::WorkerScriptDebugServer::~WorkerScriptDebugServer):
33648        (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
33649        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
33650        (WebCore::WorkerScriptDebugServer::quitMessageLoopOnPause):
33651        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
33652        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
33653        * inspector/InjectedScriptHost.h:
33654        (WebCore::InjectedScriptHost::init):
33655        (WebCore::InjectedScriptHost::debuggerAgent):
33656        * inspector/InspectorAgent.cpp:
33657        (WebCore::InspectorAgent::InspectorAgent):
33658        * inspector/InspectorDebuggerAgent.cpp:
33659        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
33660        (WebCore::InspectorDebuggerAgent::enable):
33661        (WebCore::InspectorDebuggerAgent::disable):
33662        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
33663        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
33664        (WebCore::InspectorDebuggerAgent::continueToLocation):
33665        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
33666        (WebCore::InspectorDebuggerAgent::editScriptSource):
33667        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
33668        (WebCore::InspectorDebuggerAgent::cancelPauseOnNextStatement):
33669        (WebCore::InspectorDebuggerAgent::resume):
33670        (WebCore::InspectorDebuggerAgent::stepOver):
33671        (WebCore::InspectorDebuggerAgent::stepInto):
33672        (WebCore::InspectorDebuggerAgent::stepOut):
33673        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
33674        (WebCore::InspectorDebuggerAgent::didPause):
33675        (WebCore::InspectorDebuggerAgent::breakProgram):
33676        * inspector/InspectorDebuggerAgent.h:
33677        * inspector/InspectorProfilerAgent.cpp:
33678        (WebCore::InspectorProfilerAgent::disable):
33679        (WebCore::InspectorProfilerAgent::enable):
33680        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
33681        * inspector/PageDebuggerAgent.cpp: Added.
33682        (WebCore::PageDebuggerAgent::create):
33683        (WebCore::PageDebuggerAgent::PageDebuggerAgent):
33684        (WebCore::PageDebuggerAgent::~PageDebuggerAgent):
33685        (WebCore::PageDebuggerAgent::startListeningScriptDebugServer):
33686        (WebCore::PageDebuggerAgent::stopListeningScriptDebugServer):
33687        (WebCore::PageDebuggerAgent::scriptDebugServer):
33688        * inspector/PageDebuggerAgent.h: Added.
33689        * inspector/WorkerDebuggerAgent.cpp: Added.
33690        (WebCore::WorkerDebuggerAgent::create):
33691        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
33692        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
33693        (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
33694        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
33695        (WebCore::WorkerDebuggerAgent::scriptDebugServer):
33696        * inspector/WorkerDebuggerAgent.h: Added.
33697
336982011-03-30  Alexander Pavlov  <apavlov@chromium.org>
33699
33700        Reviewed by Pavel Feldman.
33701
33702        Web Inspector: Make the getStylesForNode result "styleAttributes" value an array rather than a map
33703        https://bugs.webkit.org/show_bug.cgi?id=57440
33704
33705        * inspector/InspectorCSSAgent.cpp:
33706        (WebCore::InspectorCSSAgent::getStylesForNode):
33707        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
33708        * inspector/InspectorCSSAgent.h:
33709        * inspector/front-end/CSSStyleModel.js:
33710        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
33711
337122011-03-30  Evan Martin  <evan@chromium.org>
33713
33714        Reviewed by Ryosuke Niwa.
33715
33716        Fix a last-second ASSERT in previous change that was wrong.
33717
33718        * dom/Document.cpp:
33719        (WebCore::Document::setTitle):
33720
337212011-03-30  Levi Weintraub  <leviw@chromium.org>
33722
33723        Reviewed by Eric Seidel.
33724
33725        RTL:  Directionality always reset on hard line break
33726        https://bugs.webkit.org/show_bug.cgi?id=23124
33727
33728        No longer clearing all BidiContexts when we hit a hard line break.
33729        Instead, directionality applied by DOM elements is preserved by
33730        reconstructing the context stack ignoring those that didn't come
33731        from the DOM.
33732
33733        Test: fast/text/international/bidi-br-as-paragraph-separator.html
33734
33735        * platform/text/BidiContext.cpp:
33736        (WebCore::BidiContext::createUncached):
33737        (WebCore::BidiContext::create):
33738        (WebCore::copyContextAndRebaselineLevel): Helper to make a copy of a context
33739        and recalculate its bidi level.
33740        (WebCore::BidiContext::copyStackRemovingUnicodeEmbeddingContexts): Returns the top of
33741        a BidiContext stack that's equivalent but without contexts from Unicode directional
33742        characters.
33743        (WebCore::operator==): Now takes into account embedding source.
33744        * platform/text/BidiContext.h:
33745        (WebCore::BidiContext::source): Enum to specify whether an embedded
33746        bidirectional control came from the DOM/Style or Unicode characters
33747        (WebCore::BidiContext::BidiContext):
33748        * platform/text/BidiResolver.h:
33749        (WebCore::BidiEmbedding::BidiEmbedding): An embedding is now a direction
33750        and a hint about where it came from so we can differentiate DOM directions
33751        from unicode direction control characters.
33752        (WebCore::BidiEmbedding::direction):
33753        (WebCore::BidiEmbedding::source):
33754        (WebCore::::embed): Now takes a source as well as a direction.
33755        (WebCore::::commitExplicitEmbedding):
33756        (WebCore::::createBidiRunsForLine):
33757        * rendering/InlineIterator.h:
33758        (WebCore::bidiNext):
33759        (WebCore::bidiFirst):
33760        * rendering/RenderBlockLineLayout.cpp:
33761        (WebCore::RenderBlock::determineStartPosition):
33762
337632011-03-30  Steve Block  <steveblock@google.com>
33764
33765        Reviewed by Jeremy Orlow.
33766
33767        JavaMethod should not expose JavaString in its API
33768        https://bugs.webkit.org/show_bug.cgi?id=55765
33769
33770        - Factors out a JavaMethod interface which does not use JNI types.
33771          This will allow the Java bridge to be used with objects that
33772          don't use JNI directly. The existing jobject-backed
33773          implementation is moved to a new JavaMethodJobject class which
33774          implements the interface.
33775        - Use WTF::String in place of JavaString in the API, as JavaString
33776          exposes JNI types in its interface.
33777        - Remove the method ID as it uses JNI types.
33778
33779        No new tests, refactoring only.
33780
33781        * Android.jscbindings.mk:
33782        * Android.v8bindings.mk:
33783        * GNUmakefile.am:
33784        * WebCore.gypi:
33785        * WebCore.xcodeproj/project.pbxproj:
33786        * bridge/jni/JavaMethod.h:
33787        * bridge/jni/JavaMethodJobject.cpp:
33788        (JavaMethodJobject::JavaMethodJobject):
33789        (JavaMethodJobject::~JavaMethodJobject):
33790        (appendClassName):
33791        (JavaMethodJobject::signature):
33792        * bridge/jni/JavaMethodJobject.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h.
33793        (JSC::Bindings::JavaMethodJobject::name):
33794        (JSC::Bindings::JavaMethodJobject::returnTypeClassName):
33795        (JSC::Bindings::JavaMethodJobject::parameterAt):
33796        (JSC::Bindings::JavaMethodJobject::returnType):
33797        (JSC::Bindings::JavaMethodJobject::isStatic):
33798        (JSC::Bindings::JavaMethodJobject::numParameters):
33799        * bridge/jni/jsc/JavaClassJSC.cpp:
33800        (JavaClass::JavaClass):
33801        * bridge/jni/jsc/JavaInstanceJSC.cpp:
33802        (JavaInstance::invokeMethod):
33803        * bridge/jni/v8/JavaClassV8.cpp:
33804        (JavaClass::JavaClass):
33805        * bridge/jni/v8/JavaInstanceV8.cpp:
33806        (JavaInstance::invokeMethod):
33807
338082011-03-30  Evan Martin  <evan@chromium.org>
33809
33810        Reviewed by Ryosuke Niwa.
33811
33812        clean up Document's handling of title changes
33813        https://bugs.webkit.org/show_bug.cgi?id=57433
33814
33815        Document::setTitle has two entry points:
33816        1) from DOM bindings, like document.title="foo"
33817        2) from title tags, like <title>foo</title> in HTML
33818
33819        Split these two code paths to make the code easier to follow.
33820        Also, replace the repeated pattern of
33821            m_rawTitle = "foo"; updateTitle();
33822        with
33823            updateTitle("foo");
33824
33825        * dom/Document.cpp:
33826        (WebCore::Document::updateTitle):
33827        (WebCore::Document::setTitle):
33828        (WebCore::Document::setTitleElement):
33829        (WebCore::Document::removeTitle):
33830        * dom/Document.h:
33831        * html/HTMLTitleElement.cpp:
33832        (WebCore::HTMLTitleElement::insertedIntoDocument):
33833        (WebCore::HTMLTitleElement::childrenChanged):
33834        * svg/SVGTitleElement.cpp:
33835        (WebCore::SVGTitleElement::insertedIntoDocument):
33836        (WebCore::SVGTitleElement::childrenChanged):
33837
338382011-03-30  Levi Weintraub  <leviw@chromium.org>
33839
33840        Reviewed by Ryosuke Niwa.
33841
33842        BreakBlockQuoteCommand assumes all li tags have list item renderers
33843        https://bugs.webkit.org/show_bug.cgi?id=57253
33844
33845        Checking that the renderers of li nodes are actually RenderListItems
33846        before treating them as such.
33847
33848        Test: editing/execCommand/crash-breaking-blockquote-with-list.html
33849
33850        * editing/BreakBlockquoteCommand.cpp:
33851        (WebCore::BreakBlockQuoteCommand::doApply):
33852
338532011-03-30  Pavel Feldman  <pfeldman@chromium.org>
33854
33855        Not reviewed: fixing typo in the inspector front-end.
33856
33857        Web Inspector: REGRESSION: Broken live edit errors handling
33858        https://bugs.webkit.org/show_bug.cgi?id=57436
33859
33860        * inspector/front-end/DebuggerModel.js:
33861        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
33862
338632011-03-30  Yael Aharon  <yael.aharon@nokia.com>
33864
33865        Reviewed by Eric Seidel.
33866
33867        Left/Right borders/padding/margins are not always added correctly when rendering multiline inline boxes with bidi elements
33868        https://bugs.webkit.org/show_bug.cgi?id=9272
33869
33870
33871        Also fixes https://bugs.webkit.org/show_bug.cgi?id=47210 and https://bugs.webkit.org/show_bug.cgi?id=8392.
33872
33873        Change how we decide if an InlineFlowBox is the last one for its renderer. Use the position of resolver's logicallyLastRun
33874        to decide if there is more text in the next line.
33875
33876        Tests: fast/borders/rtl-border-01.html
33877               fast/borders/rtl-border-02.html
33878               fast/borders/rtl-border-03.html
33879               fast/borders/rtl-border-04.html
33880               fast/borders/rtl-border-05.html
33881
33882        * rendering/InlineFlowBox.cpp:
33883        (WebCore::isAnsectorAndWithinBlock):
33884        (WebCore::InlineFlowBox::determineSpacingForFlowBoxes):
33885        * rendering/InlineFlowBox.h:
33886        * rendering/RenderBlock.h:
33887        * rendering/RenderBlockLineLayout.cpp:
33888        (WebCore::RenderBlock::constructLine):
33889        (WebCore::reachedEndOfTextRenderer):
33890        (WebCore::RenderBlock::layoutInlineChildren):
33891
338922011-03-29  Nikolas Zimmermann  <nzimmermann@rim.com>
33893
33894        Reviewed by Eric Seidel.
33895
33896        REGRESSION (r68976): Incorrect bidi rendering in SVG text
33897        https://bugs.webkit.org/show_bug.cgi?id=53980
33898
33899        Deconvolute SVGTextLayoutEngine code, which was confusing due to the simultaneous processing of the rendered text
33900        in visual and logical order. Added several helper methods to make the code more readable.
33901
33902        Fix Unicode directional formatting characters support, now works as expected.
33903
33904        Test: svg/text/bidi-embedded-direction.svg
33905
33906        * editing/visible_units.cpp: Refactor getLeafBoxesInLogicalOrder(), move to InlineFlowBox.
33907        (WebCore::getLogicalStartBoxAndNode): Use new collectLeafBoxesInLogicalOrder() method in InlineFlowBox.
33908        (WebCore::getLogicalEndBoxAndNode): Ditto.
33909        * rendering/InlineFlowBox.cpp: Add new helper function, that returns a list of all leaf boxes in logical order.
33910        (WebCore::InlineFlowBox::collectLeafBoxesInLogicalOrder):
33911        * rendering/InlineFlowBox.h:
33912        * rendering/svg/RenderSVGText.cpp: Actually trigger reordering the x/y/dx/dy/rotate value lists, if needed.
33913        (WebCore::RenderSVGText::RenderSVGText):
33914        (WebCore::RenderSVGText::layout):
33915        * rendering/svg/RenderSVGText.h: Ditto.
33916        (WebCore::RenderSVGText::layoutAttributes):
33917        (WebCore::RenderSVGText::needsReordering):
33918        * rendering/svg/SVGRootInlineBox.cpp: Use new InlineFlowBox::collectLeafBoxesINLogicalOrder(), with a custom "inline box reverse" implementation,
33919                                              which not only reverses the order of InlineBoxes, but also the order of the x/y/dx/dy/rotate value lists, if needed.
33920        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
33921        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
33922        (WebCore::swapItems):
33923        (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
33924        (WebCore::SVGRootInlineBox::reorderValueLists):
33925        * rendering/svg/SVGRootInlineBox.h:
33926        * rendering/svg/SVGTextLayoutAttributes.cpp: Store RenderSVGInlineText* pointer, where we belong to.
33927        (WebCore::SVGTextLayoutAttributes::SVGTextLayoutAttributes):
33928        (WebCore::SVGTextLayoutAttributes::dump):
33929        * rendering/svg/SVGTextLayoutAttributes.h:
33930        (WebCore::SVGTextLayoutAttributes::context):
33931        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp: Pass RenderSVGInlineText* object when creating SVGTextLayoutAttributes.
33932        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextSubtree):
33933        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
33934        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
33935        * rendering/svg/SVGTextLayoutEngine.cpp: Rewrite & cleanup the main layout algorithm, to be less confusing.
33936        (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
33937        (WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded):
33938        (WebCore::SVGTextLayoutEngine::recordTextFragment):
33939        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
33940        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
33941        (WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
33942        (WebCore::SVGTextLayoutEngine::advanceToNextLogicalCharacter):
33943        (WebCore::SVGTextLayoutEngine::advanceToNextVisualCharacter):
33944        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
33945        * rendering/svg/SVGTextLayoutEngine.h:
33946
339472011-03-30  Ilya Tikhonovsky  <loislo@chromium.org>
33948
33949        Not reviewed trivial change.
33950
33951        Web Inspector: Remove unnecessary function arguments after r82281.
33952        https://bugs.webkit.org/show_bug.cgi?id=57327
33953
33954        * inspector/InspectorAgent.cpp:
33955        (WebCore::InspectorAgent::didCommitLoad):
33956        (WebCore::InspectorAgent::domContentLoadedEventFired):
33957        * inspector/InspectorAgent.h:
33958        * inspector/InspectorInstrumentation.cpp:
33959        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
33960        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
33961
339622011-03-30  Kent Tamura  <tkent@chromium.org>
33963
33964        Reviewed by Ojan Vafai.
33965
33966        H1 element should have different default style if it is in HTML5 sectioning elements.
33967        https://bugs.webkit.org/show_bug.cgi?id=52693
33968
33969        Test: fast/css/h1-in-section-elements.html
33970
33971        * css/html.css: Add font-size and margin declarations to follow HTML5 specification.
33972        (:-webkit-any(article,aside,nav,section) h1):
33973        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
33974        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
33975        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
33976        (:-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) :-webkit-any(article,aside,nav,section) h1):
33977
339782011-03-29  Beth Dakin  <bdakin@apple.com>
33979
33980        Reviewed by Maciej Stachowiak.
33981
33982        Fix for https://bugs.webkit.org/show_bug.cgi?id=57408
33983        webkit-min-device-pixel-ratio media query doesn't work post-SnowLeopard
33984        -and corresponding-
33985        <rdar://problem/8665411>
33986
33987        * platform/mac/PlatformScreenMac.mm:
33988        (WebCore::windowScaleFactor):
33989        (WebCore::toUserSpace):
33990        (WebCore::toDeviceSpace):
33991
339922011-03-29  Eric Seidel  <eric@webkit.org>
33993
33994        Reviewed by Dimitri Glazkov.
33995
33996        Rename BidiResolver::eor and sor to m_eor and m_sor to match modern style
33997        https://bugs.webkit.org/show_bug.cgi?id=57369
33998
33999        I considered renaming these to m_endOfRun and m_startOfRun but decided
34000        that was too verbose for now (given how often they're used).  I suspect
34001        with a bit more refactoring we'll find they're not used very often and can be renamed
34002        if so desired.
34003
34004        * platform/text/BidiResolver.h:
34005        (WebCore::::appendRun):
34006        (WebCore::::checkDirectionInLowerRaiseEmbeddingLevel):
34007        (WebCore::::lowerExplicitEmbeddingLevel):
34008        (WebCore::::raiseExplicitEmbeddingLevel):
34009        (WebCore::::createBidiRunsForLine):
34010        * rendering/InlineIterator.h:
34011        (WebCore::InlineBidiResolver::appendRun):
34012
340132011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
34014
34015        Reviewed by Pavel Feldman.
34016
34017        Web Inspector: [Chromium] Remove exact retained size request in detailed heap snapshots.
34018        https://bugs.webkit.org/show_bug.cgi?id=57351
34019
34020        * bindings/js/ScriptHeapSnapshot.h:
34021        * bindings/v8/ScriptHeapSnapshot.cpp:
34022        * bindings/v8/ScriptHeapSnapshot.h:
34023        * inspector/Inspector.json:
34024        * inspector/InspectorProfilerAgent.cpp:
34025        * inspector/InspectorProfilerAgent.h:
34026        * inspector/front-end/DetailedHeapshotGridNodes.js:
34027        (WebInspector.HeapSnapshotGenericObjectNode):
34028        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
34029        * inspector/front-end/DetailedHeapshotView.js:
34030        (WebInspector.DetailedHeapshotView.prototype._mouseClickInContainmentGrid):
34031
340322011-03-29  Eric Seidel  <eric@webkit.org>
34033
34034        Reviewed by Ryosuke Niwa.
34035
34036        Split more logic out from createBidiRunsForLine for readability
34037        https://bugs.webkit.org/show_bug.cgi?id=57341
34038
34039        I marked reorderRunsFromLevels inline, but it probably doesn't actually need to (or want to) be.
34040        This lops another large hunk off of reorderRunsFromLevels further reducing the size and complexity.
34041
34042        * platform/text/BidiResolver.h:
34043        (WebCore::::reorderRunsFromLevels):
34044        (WebCore::::createBidiRunsForLine):
34045
340462011-03-29  Kent Tamura  <tkent@chromium.org>
34047
34048        Reviewed by Dimitri Glazkov.
34049
34050        Make validation message bubble testable
34051        https://bugs.webkit.org/show_bug.cgi?id=57290
34052
34053        Introduce a setting for validation message timer so that we can configure
34054        how long we show a validation message bubble.
34055
34056        Test: fast/forms/validation-message-appearance.html
34057
34058        * html/ValidationMessage.cpp:
34059        (WebCore::ValidationMessage::setMessageDOMAndStartTimer):
34060          Don't set a timer if the timer magnification value is 0 or negative.
34061          Otherwise, hides the bubble length * magnification / 1000 seconds.
34062        * page/Settings.cpp:
34063        (WebCore::Settings::Settings): Initialize the timer magnification value.
34064        * page/Settings.h:
34065        (WebCore::Settings::setValidationMessageTimerMagnification): Added.
34066        (WebCore::Settings::validationMessageTimerMaginification): Added.
34067
340682011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
34069
34070        Remove the extraneous declaration I accidentally added in r82376.
34071
34072        * dom/MouseEvent.h: Removed createSimulated decl.
34073
340742011-03-29  James Robinson  <jamesr@chromium.org>
34075
34076        Reviewed by Kenneth Russell.
34077
34078        [chromium] Compositor crash with show-layer-borders flag
34079        https://bugs.webkit.org/show_bug.cgi?id=57292
34080
34081        Synchronize the debug border color/width with other properties to ensure the appropriate
34082        CCLayerImpl exists.  Code is only exercised with a debugging command line flag so no layout
34083        test.
34084
34085        * platform/graphics/chromium/LayerChromium.cpp:
34086        (WebCore::LayerChromium::pushPropertiesTo):
34087        (WebCore::LayerChromium::setBorderColor):
34088        (WebCore::LayerChromium::setBorderWidth):
34089        * platform/graphics/chromium/LayerChromium.h:
34090
340912011-03-29  Tony Gentilcore  <tonyg@chromium.org>
34092
34093        Reviewed by Adam Barth.
34094
34095        Teach the preload scanner about &lt;input type=image&gt;
34096        https://bugs.webkit.org/show_bug.cgi?id=57404
34097
34098        I did a very rough sample of the top 50 web pages to see how many of each
34099        HTML resource type they include:
34100        img src: 1,359
34101        script src: 276
34102        link href: 256
34103        iframe src: 104
34104        input src: 50
34105        embed src: 37
34106        @import: 13
34107        object data: 11
34108
34109        Based on this, it seems worthwhile to preload inputs and iframes (possibly embed).
34110        This patch only does inputs.
34111
34112        Test: fast/preloader/input.html
34113
34114        * html/parser/HTMLPreloadScanner.cpp:
34115        (WebCore::HTMLNames::PreloadTask::PreloadTask):
34116        (WebCore::HTMLNames::PreloadTask::processAttributes):
34117        (WebCore::HTMLNames::PreloadTask::inputTypeAttributeIsImage):
34118        (WebCore::HTMLNames::PreloadTask::preload):
34119
341202011-03-29  Luke Macpherson   <macpherson@chromium.org>
34121
34122        Reviewed by David Levin.
34123
34124        Improve the massive switch statement in CSSStyleSelector::applyProperty.
34125        https://bugs.webkit.org/show_bug.cgi?id=56288
34126
34127        No new tests are needed because no new functionality exposed.
34128
34129        * css/CSSStyleSelector.cpp:
34130        (WebCore::CSSStyleSelector::applyProperty):
34131        Asserted that cases implemented in the CSSStyleApplyProperty lookup table are unreachable.
34132        Updated comment.
34133
341342011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
34135
34136        Reviewed by Darin Adler.
34137
34138        Introduce SimulatedMouseEvent and teach EventDispatcher how to use it.
34139        https://bugs.webkit.org/show_bug.cgi?id=57402
34140
34141        No functional changes, covered by existing tests.
34142
34143        * dom/EventDispatcher.cpp:
34144        (WebCore::EventDispatcher::dispatchSimulatedClick): Changed to use SimulatedMouseEvent.
34145        (WebCore::EventDispatcher::dispatchMouseEvent): Combined two dispatchMouseEvent methods
34146            into one, now that simulated-click events don't need one.
34147        * dom/EventDispatcher.h: Updated decls.
34148        * dom/MouseEvent.cpp:
34149        (WebCore::SimulatedMouseEvent::create): Added.
34150        (WebCore::SimulatedMouseEvent::~SimulatedMouseEvent): Added.
34151        (WebCore::SimulatedMouseEvent::SimulatedMouseEvent): Added.
34152        * dom/MouseEvent.h: Made constructor protected.
34153
341542011-03-29  Anders Carlsson  <andersca@apple.com>
34155
34156        Fix build.
34157
34158        * WebCore.exp.in:
34159
341602011-03-29  Steve Block  <steveblock@google.com>
34161
34162        Reviewed by Jeremy Orlow.
34163
34164        JavaInstance should not use jvalue in its API
34165        https://bugs.webkit.org/show_bug.cgi?id=57019
34166
34167        This change updates JavaInstance for V8 to use JavaValue, rather than
34168        jvalue, in its API. This will allow us to create an API for
34169        JavaInstance that is independent of JNI, to allow it to be
34170        implemented on platforms that do not use JNI directly.
34171
34172        Refactoring only, no new tests.
34173
34174        * bridge/jni/v8/JavaInstanceV8.cpp:
34175        (JavaInstance::invokeMethod):
34176        (JavaInstance::getField):
34177        * bridge/jni/v8/JavaInstanceV8.h:
34178        * bridge/jni/v8/JavaNPObjectV8.cpp:
34179        (JSC::Bindings::JavaNPObjectInvoke):
34180        (JSC::Bindings::JavaNPObjectGetProperty):
34181        * bridge/jni/v8/JavaValueV8.h:
34182
341832011-03-29  Eric Seidel  <eric@webkit.org>
34184
34185        Reviewed by Dimitri Glazkov.
34186
34187        Rename BidiResolver::last to m_last to match modern style
34188        https://bugs.webkit.org/show_bug.cgi?id=57367
34189
34190        * platform/text/BidiResolver.h:
34191        (WebCore::::lowerExplicitEmbeddingLevel):
34192        (WebCore::::raiseExplicitEmbeddingLevel):
34193        (WebCore::::createBidiRunsForLine):
34194
341952011-03-29  Justin Schuh  <jschuh@chromium.org>
34196
34197        Reviewed by Maciej Stachowiak.
34198
34199        SVGComponentTransferFunctionElement should validate type
34200        https://bugs.webkit.org/show_bug.cgi?id=56960
34201
34202        Test: svg/filters/feComponentTransfer-style-crash.xhtml
34203
34204        * svg/SVGComponentTransferFunctionElement.cpp:
34205        (WebCore::SVGComponentTransferFunctionElement::svgAttributeChanged):
34206        * svg/SVGComponentTransferFunctionElement.h:
34207
342082011-03-29  Thomas Klausner  <tk@giga.or.at>
34209
34210        Reviewed by David Levin.
34211
34212        png-1.5 fixes
34213        https://bugs.webkit.org/show_bug.cgi?id=54406
34214
34215        Fix compilation with png-1.5: struct members were hidden, and
34216        a new API to terminate data processing was added (especially for
34217        WebKit).
34218
34219        Compilation fixes, so no new tests.
34220
34221        * platform/image-decoders/png/PNGImageDecoder.cpp:
34222        (WebCore::PNGImageDecoder::headerAvailable):
34223        (WebCore::PNGImageDecoder::rowAvailable):
34224
342252011-03-29  Gavin Peters  <gavinp@chromium.org>
34226
34227        Reviewed by Tony Gentilcore.
34228
34229        Add beforeload to icon and prefetch link rel types
34230        https://bugs.webkit.org/show_bug.cgi?id=56424
34231
34232        Over in https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html , a webkit-dev
34233        thread, I've discussed my hopes for the link element, and adding the link header.  This
34234        change helps improve the link header by making it participate in the beforeload event in
34235        two more important cases.
34236
34237        Tests: fast/dom/HTMLLinkElement/prefetch-beforeload.html
34238               http/tests/misc/link-rel-icon-beforeload.html
34239               webarchive/test-link-rel-icon-beforeload.html
34240
34241        * html/HTMLLinkElement.cpp:
34242        (WebCore::HTMLLinkElement::checkBeforeLoadEvent):
34243        (WebCore::HTMLLinkElement::process):
34244        * html/HTMLLinkElement.h:
34245
342462011-03-29  Eric Seidel  <eric@webkit.org>
34247
34248        Reviewed by Dimitri Glazkov.
34249
34250        Rename BidiResolver::current to BidiResolver::m_current to match modern style
34251        https://bugs.webkit.org/show_bug.cgi?id=57363
34252
34253        I was very confused by current until I realized it was a member variable.
34254        I also did m_reachedEndOfLine since that was small.
34255
34256        * platform/text/BidiResolver.h:
34257        (WebCore::BidiResolver::position):
34258        (WebCore::BidiResolver::setPosition):
34259        (WebCore::BidiResolver::increment):
34260        (WebCore::::createBidiRunsForLine):
34261
342622011-03-29  Geoff Pike  <gpike@chromium.org>
34263
34264        Reviewed by Dimitri Glazkov.
34265
34266        In HitTestResult objects, initialize the ListHashSet<RefPtr<Node> >
34267        lazily.  In my informal testing it seems to be used hardly at all, so
34268        it's wasteful to create it eagerly.  Initializing a ListHashSet
34269        is expensive because a ListHashSet initially has space for 256
34270        elements, and that space is memset to 0.
34271
34272        This change should improve performance but have no impact on
34273        correctness.  On x86-64, for example, the change cuts the
34274        cost of HitTestResult(IntPoint()) in EventHandler::mouseMoved()
34275        from ~1700 cycles to ~300 cycles.
34276
34277        * rendering/HitTestResult.cpp:
34278        (WebCore::HitTestResult::HitTestResult): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
34279        (WebCore::HitTestResult::operator=): copy *m_rectBasedTestResult if m_rectBasedTestResult isn't 0
34280        (WebCore::HitTestResult::addNodeToRectBasedTestResult): use mutableRectBasedTestResult() rather than m_rectBasedTestResult
34281        (WebCore::HitTestResult::append): append *(other.m_rectBasedTestResult) if other.m_rectBasedTestResult isn't 0
34282        * rendering/HitTestResult.h:
34283        (WebCore::HitTestResult::rectBasedTestResult): Add a typedef for ListHashSet<RefPtr<Node> > to ease readability.  Change m_rectBasedTestResult from ListHashSet<RefPtr<Node> > to an OwnPtr of same.  Modify rectBasedTestResult() and add mutableRectBasedTestResult().
34284
342852011-03-29  Timothy Hatcher  <timothy@apple.com>
34286
34287        Update the order of the context menu to better match AppKit on Mac.
34288
34289        <rdar://problem/9054893>
34290
34291        Reviewed by John Sullivan.
34292
34293        * English.lproj/Localizable.strings: Updated.
34294        * page/ContextMenuController.cpp:
34295        (WebCore::ContextMenuController::populate): Update the order of items on Mac.
34296        * platform/LocalizationStrategy.h:
34297        * platform/LocalizedStrings.cpp:
34298        (WebCore::contextMenuItemTagLookUpInDictionary): Added argument for selected string.
34299        * platform/LocalizedStrings.h:
34300        * platform/android/LocalizedStringsAndroid.cpp:
34301        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34302        * platform/brew/LocalizedStringsBrew.cpp:
34303        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34304        * platform/efl/LocalizedStringsEfl.cpp:
34305        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34306        * platform/gtk/LocalizedStringsGtk.cpp:
34307        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34308        * platform/haiku/LocalizedStringsHaiku.cpp:
34309        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34310        * platform/wx/LocalizedStringsWx.cpp:
34311        (WebCore::contextMenuItemTagLookUpInDictionary): Ditto.
34312
343132011-03-29  Dean Jackson  <dino@apple.com>
34314
34315        Reviewed by Chris Marrin and Ken Russell.
34316
34317        https://bugs.webkit.org/show_bug.cgi?id=57248
34318        Occlusion issues with WebGL in Safari
34319
34320        The depth buffer on Safari ports was being set up with a
34321        maximum of 16 bits. Now we use a combined 24/8 depth/stencil
34322        buffer on Mac ports.
34323
34324        No new tests as this is the setting for a particular port. Other
34325        ports may use different defaults.
34326
34327        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
34328        (WebCore::GraphicsContext3D::validateAttributes):
34329        - use Extensions3D to test for depth and multisample extensions
34330          rather than querying OpenGL directly.
34331        (WebCore::GraphicsContext3D::reshape):
34332        - use a 24bit depth buffer when the extension is enabled.
34333
343342011-03-29  Dimitri Glazkov  <dglazkov@chromium.org>
34335
34336        Sorted XCode project. It's gotten quite out of sorts.
34337
34338        * WebCore.xcodeproj/project.pbxproj: Ran sort-XCode-project-file.
34339
343402011-03-29  Emil A Eklund  <eae@chromium.org>
34341
34342        Reviewed by Dimitri Glazkov.
34343
34344        DatasetDOMStringMap::item and ::contains copies attribute name string
34345        https://bugs.webkit.org/show_bug.cgi?id=55645
34346
34347        Change propertyNameMatchesAttributeName to match without creating a copy
34348        of the string.
34349
34350        * dom/DatasetDOMStringMap.cpp:
34351        (WebCore::propertyNameMatchesAttributeName):
34352
343532011-03-29  Csaba Osztrogonác  <ossy@webkit.org>
34354
34355        Unreviewed rollout r82282, part of r82288, r82298.
34356
34357        * css/CSSParser.cpp:
34358        (WebCore::parseColorInt):
34359        (WebCore::isValidDouble):
34360        (WebCore::parseAlphaValue):
34361        (WebCore::CSSParser::parseColor):
34362
343632011-03-25  Brent Fulgham  <bfulgham@webkit.org>
34364
34365        Reviewed by Dave Hyatt.
34366
34367        https://bugs.webkit.org/show_bug.cgi?id=55981
34368        Second round of clean-ups, aimed at supporting GTK with the
34369        same unified FontPlatformData header.  This version removes
34370        some unneeded WinCairo code, and aligns the WinCairo and
34371        GTK ports to reduce code duplication.
34372
34373        * WebCore.vcproj/WebCore.vcproj: Get rid of a dangling reference
34374          to an old WinCairo file.
34375        * platform/graphics/FontPlatformData.h: Remove unneeded member
34376          for m_fontFace, which is a member of m_scaledFont.  Switch to
34377          standard Cairo hashing.
34378        (WebCore::FontPlatformData::FontPlatformData):
34379        (WebCore::FontPlatformData::font):
34380        (WebCore::FontPlatformData::scaledFont):
34381        (WebCore::FontPlatformData::hash):
34382        (WebCore::FontPlatformData::isHashTableDeletedValue):
34383        (WebCore::FontPlatformData::hashTableDeletedFontValue):
34384        * platform/graphics/win/FontCacheWin.cpp: Update to no longer use
34385          the unnecessary fontFace() accessor.
34386        (WebCore::FontCache::createFontPlatformData):
34387        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
34388        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
34389        (WebCore::FontPlatformData::platformDataInit):
34390        (WebCore::FontPlatformData::FontPlatformData):
34391        (WebCore::FontPlatformData::~FontPlatformData):
34392        (WebCore::FontPlatformData::platformDataAssign):
34393        (WebCore::FontPlatformData::platformIsEqual):
34394        * platform/graphics/win/FontPlatformDataWin.cpp:
34395        (WebCore::FontPlatformData::FontPlatformData):
34396
343972011-03-29  Jian Li  <jianli@chromium.org>
34398
34399        Reviewed by Adam Barth.
34400
34401        Inline worker powered by blob URL does not work with files URL even if
34402        allowFileAccessFromFileURLs is enabled
34403        https://bugs.webkit.org/show_bug.cgi?id=56063
34404
34405        Test: fast/files/workers/inline-worker-via-blob-url.html
34406
34407        * fileapi/BlobURL.cpp: Removed unneeded getOrigin() method.
34408        * fileapi/BlobURL.h: Removed unneeded getOrigin() method.
34409        * page/SecurityOrigin.cpp:
34410        (WebCore::SecurityOrigin::SecurityOrigin): Extended the logic to handle
34411        filesystem URL also to blob URL. Also fixed the problem that m_isUnique
34412        is incorrectly set for blob and filesystem URLs.
34413        (WebCore::SecurityOrigin::create): Removed the special logic for blob URL
34414        since we use the same logic in SecurityOrigin constructor as filesystem
34415        URL.
34416        (WebCore::SecurityOrigin::canRequest): Removed the special logic for blob
34417        URL since it is not needed with the fix in SecurityOrigin constructor.
34418
344192011-03-29  Timothy Hatcher  <timothy@apple.com>
34420
34421        Update WebCore Localizable.strings to contain WebCore, WebKit/mac and WebKit2 strings.
34422
34423        https://webkit.org/b/57354
34424
34425        Reviewed by Sam Weinig.
34426
34427        * English.lproj/Localizable.strings: Updated.
34428        * StringsNotToBeLocalized.txt: Removed. To hard to maintain in WebCore.
34429        * platform/network/cf/LoaderRunLoopCF.h: Remove a single quote in an #error so
34430        extract-localizable-strings does not complain about unbalanced single quotes.
34431
344322011-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
34433
34434        Unreviewed, rolling out r82295 and r82300.
34435        http://trac.webkit.org/changeset/82295
34436        http://trac.webkit.org/changeset/82300
34437        https://bugs.webkit.org/show_bug.cgi?id=57380
34438
34439        This patch breaks compile on Chromium (Requested by
34440        abarth|gardener on #webkit).
34441
34442        * accessibility/AccessibilityObject.h:
34443        * accessibility/AccessibilityRenderObject.cpp:
34444        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
34445        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
34446        (atkRole):
34447        (webkit_accessible_get_role):
34448        * accessibility/mac/AccessibilityObjectWrapper.mm:
34449
344502011-03-29  Anders Carlsson  <andersca@apple.com>
34451
34452        Fix clang build.
34453
34454        * platform/text/BidiResolver.h:
34455        (WebCore::::createBidiRunsForLine):
34456
344572011-03-29  Steve Falkenburg  <sfalken@apple.com>
34458
34459        Reviewed by Adam Roben.
34460
34461        Use per-configuration vsprops in WebCore to avoid WebKitVSPropsRedirectionDir removal by MSVC IDE
34462        https://bugs.webkit.org/show_bug.cgi?id=57378
34463
34464        Visual Studio's IDE was removing instances of $(WebKitVSPropsRedirectionDir) from
34465        InheritedPropertySheet rules in our vcproj files when the vcproj was edited from within
34466        the IDE. To avoid this, add a separate vsprops file for each project configuration that
34467        contains the required inherited property sheets.
34468
34469        * WebCore.vcproj/QTMovieWin.vcproj:
34470        * WebCore.vcproj/QTMovieWinDebug.vsprops: Added.
34471        * WebCore.vcproj/QTMovieWinDebugAll.vsprops: Added.
34472        * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops: Added.
34473        * WebCore.vcproj/QTMovieWinRelease.vsprops: Added.
34474        * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops: Added.
34475        * WebCore.vcproj/QTMovieWinReleaseLTCG.vsprops: Added.
34476        * WebCore.vcproj/WebCore.vcproj:
34477        * WebCore.vcproj/WebCoreDebug.vsprops: Added.
34478        * WebCore.vcproj/WebCoreDebugAll.vsprops: Added.
34479        * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops: Added.
34480        * WebCore.vcproj/WebCoreRelease.vsprops: Added.
34481        * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops: Added.
34482        * WebCore.vcproj/WebCoreReleaseLTCG.vsprops: Added.
34483
344842011-03-29  David Hyatt  <hyatt@apple.com>
34485
34486        Reviewed by Simon Fraser.
34487
34488        <rdar://problem/9194927> REGRESSION (r81691): Page at www.mondaynote.com lays out incorrectly
34489
34490        Back out the optimization that stopped when it hit the first float. This was an incorrect optimization
34491        and can't be done without more work.
34492
34493        Added fast/block/float/float-forced-below-other-floats.html
34494
34495        * rendering/RenderBlock.cpp:
34496        (WebCore::RenderBlock::logicalLeftOffsetForLine):
34497        (WebCore::RenderBlock::logicalRightOffsetForLine):
34498
344992011-03-29  Eric Seidel  <eric@webkit.org>
34500
34501        Reviewed by Ryosuke Niwa.
34502
34503        Start to clean up BidiResolver::createBidiRunsForLine so that mere mortals can understand it
34504        https://bugs.webkit.org/show_bug.cgi?id=57338
34505
34506        I'm attempting to break createBidiRunsForLine into understandable pieces
34507        so that we can tell what it's actually doing.  Our implementation of the
34508        unicode bidi algorithm is slightly different from the spec in that we
34509        run it per-line (instead of over the entire paragraph at once).  This is
34510        great for performance (our implementation is resumable), but it makes
34511        things a bit tricky to understand.  Splitting createBidiRunsForLine into
34512        pieces should help make our UBA implementation more readable.
34513
34514        * platform/text/BidiResolver.h:
34515        (WebCore::::updateStatusLastFromCurrentDirection):
34516        (WebCore::::createBidiRunsForLine):
34517
345182011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
34519
34520        Reviewed by Martin Robinson.
34521
34522        [Gtk] Consistent crash from Google/ARIA combobox click
34523        https://bugs.webkit.org/show_bug.cgi?id=55883
34524
34525        Do not call to firstChild() to avoid entering into infinite loops.
34526
34527        This would happen when current item is a WebCore Group and some of
34528        its children have either role 'option' or 'menuitem'. Other than
34529        that the logic behind that call to firstChild() seems to be no
34530        longer needed so it's safe to remove it.
34531
34532        Test: platform/gtk/accessibility/aria-options-and-menuitems-crash.html
34533
34534        * accessibility/gtk/AccessibilityObjectAtk.cpp:
34535        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
34536        Remove call to firsChild, which was leading to crashes sometimes.
34537
345382011-03-29  Mario Sanchez Prada  <msanchez@igalia.com>
34539
34540        Reviewed by Chris Fleizach.
34541
34542        AX: GTK: ARIA role is not respected on <p> <label> <div> and <form>
34543        https://bugs.webkit.org/show_bug.cgi?id=47636
34544
34545        Define new roles in WebCore and map them to ATK accordingly.
34546
34547        Test: platform/gtk/accessibility/aria-roles-unignored.html
34548
34549        * accessibility/AccessibilityObject.h: Added new roles to
34550        represent paragraphs, labels, forms and div sections.
34551        * accessibility/AccessibilityRenderObject.cpp:
34552        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
34553        Return ParagraphRole, LabelRole, FormRole and DivRole when needed.
34554        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
34555        (atkRole): Map new WebCore roles to ATK Roles.
34556        (webkit_accessible_get_role): Remove code to define roles for
34557        paragraphs, labels, forms and divs based on node's tag name.
34558
34559        Update mappings for the Mac platform.
34560
34561        * accessibility/mac/AccessibilityObjectWrapper.mm:
34562        (createAccessibilityRoleMap): Add explicit mappings from the new
34563        roles introduced to NSAccessibilityGroupRole.
34564
345652011-03-29  Philippe Normand  <pnormand@igalia.com>
34566
34567        Unreviewed build fix. Remove ASSERT hitting consitently on GTK.
34568
34569        * rendering/InlineIterator.h:
34570        (WebCore::InlineIterator::moveToStartOf):
34571
345722011-03-29  Darin Adler  <darin@apple.com>
34573
34574        Fix some just-introduced build failures.
34575
34576        * WebCore.pro: Correct spelling of filename.
34577
34578        * css/CSSParser.cpp:
34579        (WebCore::parseColorIntOrPercentage): Fix double/int conversion that fails to compile
34580        on Leopard. Also renamed one local variabel.
34581
34582        * inspector/InspectorAgent.cpp:
34583        (WebCore::InspectorAgent::didCommitLoad): Removed unused argument names to avoid warning.
34584        (WebCore::InspectorAgent::domContentLoadedEventFired): Ditto.
34585
345862011-03-29  Andras Becsi  <abecsi@webkit.org>
34587
34588        Reviewed by Darin Adler.
34589
34590        CSS: Slow parsing of rgb() with percent values
34591        https://bugs.webkit.org/show_bug.cgi?id=16708
34592
34593        Implement fast-path parsing for percentage color values.
34594
34595        Gain ~30% speedup on http://canvex.lazyilluminati.com/misc/3d.html.
34596
34597        * css/CSSParser.cpp:
34598        (WebCore::checkForValidDouble): Extend to return the number of characters forming a valid double.
34599        (WebCore::parseDouble): Function for parsing double values if they are valid.
34600        (WebCore::parseColorIntOrPercentage): Extend parseColorInt to deal with percentage values.
34601        (WebCore::parseAlphaValue): Use the new functions.
34602        (WebCore::CSSParser::parseColor): Ditto.
34603
346042011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
34605
34606        Reviewed by Pavel Feldman.
34607
34608        Web Inspector: extract InspectorPageAgent from InspectorAgent.
34609        https://bugs.webkit.org/show_bug.cgi?id=57327
34610
34611        There are page related methods and inspector related methods in InspectorAgent.
34612        It would be nice to extract page specific methods for future usage the rest of methods in workers debugger.
34613
34614        * GNUmakefile.am:
34615        * WebCore.gypi:
34616        * inspector/CodeGeneratorInspector.pm:
34617        * inspector/Inspector.json:
34618        * inspector/InspectorAgent.cpp:
34619        (WebCore::InspectorAgent::InspectorAgent):
34620        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
34621        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
34622        (WebCore::InspectorAgent::setFrontend):
34623        (WebCore::InspectorAgent::disconnectFrontend):
34624        (WebCore::InspectorAgent::didCommitLoad):
34625        (WebCore::InspectorAgent::domContentLoadedEventFired):
34626        * inspector/InspectorAgent.h:
34627        (WebCore::InspectorAgent::pageAgent):
34628        * inspector/InspectorPageAgent.cpp: Added.
34629        (WebCore::InspectorPageAgent::create):
34630        (WebCore::InspectorPageAgent::InspectorPageAgent):
34631        (WebCore::InspectorPageAgent::setFrontend):
34632        (WebCore::InspectorPageAgent::clearFrontend):
34633        (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
34634        (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
34635        (WebCore::InspectorPageAgent::reloadPage):
34636        (WebCore::InspectorPageAgent::openInInspectedWindow):
34637        (WebCore::InspectorPageAgent::setUserAgentOverride):
34638        (WebCore::buildObjectForCookie):
34639        (WebCore::buildArrayForCookies):
34640        (WebCore::InspectorPageAgent::getCookies):
34641        (WebCore::InspectorPageAgent::deleteCookie):
34642        (WebCore::InspectorPageAgent::inspectedURLChanged):
34643        (WebCore::InspectorPageAgent::restore):
34644        (WebCore::InspectorPageAgent::didCommitLoad):
34645        (WebCore::InspectorPageAgent::domContentEventFired):
34646        (WebCore::InspectorPageAgent::loadEventFired):
34647        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
34648        (WebCore::InspectorPageAgent::applyUserAgentOverride):
34649        * inspector/InspectorPageAgent.h: Added.
34650        * inspector/InspectorController.cpp:
34651        (WebCore::InspectorController::connectFrontend):
34652        * inspector/InspectorInstrumentation.cpp:
34653        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
34654        (WebCore::InspectorInstrumentation::applyUserAgentOverrideImpl):
34655        (WebCore::InspectorInstrumentation::domContentLoadedEventFiredImpl):
34656        (WebCore::InspectorInstrumentation::loadEventFiredImpl):
34657        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
34658        (WebCore::InspectorInstrumentation::retrievePageAgent):
34659        * inspector/InspectorInstrumentation.h:
34660        * inspector/InstrumentingAgents.h:
34661        (WebCore::InstrumentingAgents::InstrumentingAgents):
34662        (WebCore::InstrumentingAgents::inspectorPageAgent):
34663        (WebCore::InstrumentingAgents::setInspectorPageAgent):
34664        * inspector/front-end/AuditsPanel.js:
34665        (WebInspector.AuditsPanel.prototype._reloadResources):
34666        * inspector/front-end/CookieItemsView.js:
34667        (WebInspector.CookieItemsView.prototype._deleteCookie):
34668        (WebInspector.Cookies.getCookiesAsync):
34669        * inspector/front-end/ExtensionServer.js:
34670        (WebInspector.ExtensionServer.prototype._onReload):
34671        * inspector/front-end/NetworkPanel.js:
34672        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
34673        * inspector/front-end/ResourcesPanel.js:
34674        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
34675        * inspector/front-end/WorkersSidebarPane.js:
34676        (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
34677        * inspector/front-end/inspector.js:
34678        (WebInspector.openResource):
34679        (WebInspector.documentKeyDown):
34680
346812011-03-29  David Hyatt  <hyatt@apple.com>
34682
34683        Reviewed by Darin Adler.
34684
34685        https://bugs.webkit.org/show_bug.cgi?id=57276
34686
34687        Add optimizations to make the vertical placement of boxes much faster. Whenever a box is added
34688        to a line, compare it with the parent box. If we can determine that the child box has the exact
34689        same height and baseline position as the parent box, then we keep a boolean flag set called
34690        descendantsHaveSameLineHeightAndBaseline(). If the box is different for any reason then we clear the
34691        flag up the line box parent chain.
34692
34693        When it comes time to do computeLogicalboxHeights, we can avoid recurring into the children of
34694        a box whose descendants all have the same position. When we do placeBoxesInBlockDirection, we
34695        can do a simplified recursion that just calls adjustBlockDirectionPosition to offset the boxes
34696        without doing anything else.
34697
34698        Because of the quirks mode rule of only shrinking boxes with no immediate text children, we need
34699        to track whether a box has text descendants now as well.  When we avoid doing the recursion
34700        this flag tells us whether the collection of boxes should have an effect on the ascent and descent
34701        of the line in quirks mode.
34702
34703        * rendering/InlineFlowBox.cpp:
34704        (WebCore::InlineFlowBox::addToLine):
34705        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
34706        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
34707        (WebCore::InlineFlowBox::nodeAtPoint):
34708        (WebCore::InlineFlowBox::paintBoxDecorations):
34709        (WebCore::InlineFlowBox::paintMask):
34710        * rendering/InlineFlowBox.h:
34711        (WebCore::InlineFlowBox::InlineFlowBox):
34712        (WebCore::InlineFlowBox::hasTextDescendants):
34713        (WebCore::InlineFlowBox::descendantsHaveSameLineHeightAndBaseline):
34714        (WebCore::InlineFlowBox::clearDescendantsHaveSameLineHeightAndBaseline):
34715        * rendering/RenderBlock.h:
34716        * rendering/RenderBlockLineLayout.cpp:
34717        (WebCore::RenderBlock::createLineBoxes):
34718        (WebCore::RenderBlock::constructLine):
34719        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
34720
347212011-03-29  Eric Seidel  <eric@webkit.org>
34722
34723        Reviewed by Ryosuke Niwa.
34724
34725        Remove a bunch of duplicate code by adding some InlineIterator helper methods
34726        https://bugs.webkit.org/show_bug.cgi?id=57326
34727
34728        Once I started adding these it became clear how much crazy duplicated code
34729        we had due to treating InlineIterator as a struct and accessing its
34730        members directly.  We can't quite make the members private yet since
34731        findNextLineBreak still splits out the members.  But this change
34732        makes the code much cleaner.
34733
34734        * rendering/InlineIterator.h:
34735        (WebCore::InlineIterator::clear):
34736        (WebCore::InlineIterator::moveToStartOf):i
34737        (WebCore::InlineIterator::moveTo):
34738        (WebCore::InlineIterator::increment):
34739        * rendering/RenderBlockLineLayout.cpp:
34740        (WebCore::tryHyphenating):
34741        (WebCore::RenderBlock::findNextLineBreak):
34742
347432011-03-29  Eric Seidel  <eric@webkit.org>
34744
34745        Reviewed by Ryosuke Niwa.
34746
34747        Clean up bidiNext by abstracting repeated code
34748        https://bugs.webkit.org/show_bug.cgi?id=57335
34749
34750        I also added a comment to explain what bidiNext is actually doing.
34751        This whole area of code is confusing but need not be.
34752
34753        * rendering/InlineIterator.h:
34754        (WebCore::embedCharFromDirection):
34755        (WebCore::notifyResolverEnteredObject):
34756        (WebCore::notifyResolverWillExitObject):
34757        (WebCore::bidiNext):
34758        (WebCore::bidiFirst):
34759
347602011-03-29  Alexander Pavlov  <apavlov@chromium.org>
34761
34762        Reviewed by Yury Semikhatsky.
34763
34764        Web Inspector: Support external CSS stylesheet freeflow text editing
34765        https://bugs.webkit.org/show_bug.cgi?id=54397
34766
34767        In this implementation, Ctrl/Cmd-S commits the current changes into the model.
34768
34769        * inspector/front-end/ResourceView.js:
34770        (WebInspector.ResourceView.createResourceView):
34771        (WebInspector.CSSSourceFrameDelegateForResourcesPanel):
34772        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.canEditScriptSource):
34773        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource):
34774        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype.editScriptSource.handleInfos):
34775        (WebInspector.CSSSourceFrameDelegateForResourcesPanel.prototype._saveStyleSheet):
34776        * inspector/front-end/ResourcesPanel.js:
34777        (WebInspector.ResourcesPanel.prototype._applyDiffMarkup):
34778        (WebInspector.FrameResourceTreeElement.prototype._contentChanged):
34779        * inspector/front-end/SourceFrame.js:
34780        (WebInspector.SourceFrame.prototype._createTextViewer):
34781
347822011-03-29  Eric Carlson  <eric.carlson@apple.com>
34783
34784        Reviewed by Dan Bernstein.
34785
34786        playbackRate should not be set to defaultPlaybackRate in play()
34787        https://bugs.webkit.org/show_bug.cgi?id=55943
34788
34789        Test: media/video-playbackrate.html
34790
34791        * html/HTMLMediaElement.cpp:
34792        (WebCore::HTMLMediaElement::playbackRate): No need to ask the media engine for the current
34793            rate, we already have the current value cached.
34794        (WebCore::HTMLMediaElement::playInternal): Don't reset the engine's playback rate to
34795            the default rate.
34796        (WebCore::HTMLMediaElement::togglePlayState): Do reset the engine's playback rate to
34797            the default rate before triggering playback.
34798        * manual-tests/media-default-playback-rate.html: Added.
34799
348002011-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
34801
34802        Reviewed by Eric Seidel.
34803
34804        Remove specialization of EventDispatcher with inversion of control.
34805        https://bugs.webkit.org/show_bug.cgi?id=57285
34806
34807        Since some events have extra logic around their dispatch, allow them
34808        to dispatch themselves and specialize the logic. This change only
34809        converts KeyboardEvent to this model.
34810
34811        No functional change, covered by existing tests.
34812
34813        * dom/Event.cpp:
34814        (WebCore::Event::dispatch): Added.
34815        * dom/Event.h: Updated decls.
34816        * dom/EventDispatcher.cpp:
34817        (WebCore::EventDispatcher::dispatchEvent): Changed to ask event to dispatch
34818            itself.
34819        * dom/EventDispatcher.h: Updated decls.
34820        * dom/KeyboardEvent.cpp:
34821        (WebCore::KeyboardEvent::dispatch): Added, moving code from EventDispatcher.
34822        * dom/KeyboardEvent.h: Updated decls.
34823        * dom/Node.cpp:
34824        (WebCore::Node::dispatchKeyEvent): Changed to use the new ways.
34825
348262011-03-29  Ilya Tikhonovsky  <loislo@chromium.org>
34827
34828        Reviewed by Yury Semikhatsky.
34829
34830        Web Inspector: InspectorDOMAgent has unnecessary dependency from InspectorAgent.
34831        https://bugs.webkit.org/show_bug.cgi?id=57329
34832
34833        * inspector/InspectorAgent.cpp:
34834        (WebCore::InspectorAgent::InspectorAgent):
34835        (WebCore::InspectorAgent::setFrontend):
34836        * inspector/InspectorAgent.h:
34837        * inspector/InspectorController.cpp:
34838        (WebCore::InspectorController::inspect):
34839        * inspector/InspectorDOMAgent.cpp:
34840        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
34841        (WebCore::InspectorDOMAgent::setFrontend):
34842        (WebCore::InspectorDOMAgent::handleMousePress):
34843        (WebCore::InspectorDOMAgent::inspect):
34844        (WebCore::InspectorDOMAgent::focusNode):
34845        (WebCore::InspectorDOMAgent::highlight):
34846        (WebCore::InspectorDOMAgent::hideHighlight):
34847        * inspector/InspectorDOMAgent.h:
34848        (WebCore::InspectorDOMAgent::create):
34849
348502011-03-29  Eric Seidel  <eric@webkit.org>
34851
34852        Reviewed by Nikolas Zimmermann.
34853
34854        Rename InlineIterator::pos to m_pos to match modern style
34855        https://bugs.webkit.org/show_bug.cgi?id=57342
34856
34857        Somehow I failed to upload this one earlier, no wonder later patches didn't apply.
34858
34859        * rendering/InlineIterator.h:
34860        (WebCore::InlineIterator::InlineIterator):
34861        (WebCore::operator==):
34862        (WebCore::operator!=):
34863        (WebCore::InlineIterator::increment):
34864        (WebCore::InlineIterator::current):
34865        (WebCore::InlineBidiResolver::appendRun):
34866        * rendering/RenderBlockLineLayout.cpp:
34867        (WebCore::checkMidpoints):
34868        (WebCore::RenderBlock::appendRunsForObject):
34869        (WebCore::RenderBlock::layoutInlineChildren):
34870        (WebCore::RenderBlock::matchedEndLine):
34871        (WebCore::tryHyphenating):
34872        (WebCore::RenderBlock::findNextLineBreak):
34873
348742011-03-29  Pavel Feldman  <pfeldman@chromium.org>
34875
34876        Reviewed by Yury Semikhatsky.
34877
34878        Web Inspector: document BrowserDebugger agent.
34879        https://bugs.webkit.org/show_bug.cgi?id=57331
34880
34881        * inspector/Inspector.json:
34882
348832011-03-29  Alexander Pavlov  <apavlov@chromium.org>
34884
34885        Reviewed by Pavel Feldman.
34886
34887        Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
34888        https://bugs.webkit.org/show_bug.cgi?id=56310
34889
34890        Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
34891        "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
34892        by CSSAgent.getStyleSheet() anymore.
34893
34894        Test: inspector/styles/get-set-stylesheet-text.html
34895
34896        * inspector/Inspector.json:
34897        * inspector/InspectorCSSAgent.cpp:
34898        (WebCore::InspectorCSSAgent::getAllStyleSheets):
34899        * inspector/InspectorCSSAgent.h:
34900        * inspector/InspectorStyleSheet.cpp:
34901        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
34902        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
34903        * inspector/InspectorStyleSheet.h:
34904        * inspector/front-end/AuditRules.js:
34905        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
34906        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
34907        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
34908        * inspector/front-end/CSSStyleModel.js:
34909        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
34910        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
34911        (WebInspector.CSSStyleModel.prototype._onRevert):
34912        (WebInspector.CSSStyleSheet):
34913        (WebInspector.CSSStyleSheet.prototype.setText):
34914
349152011-03-29  Jeremy Moskovich  <jeremy@chromium.org>
34916
34917        Reviewed by Eric Seidel.
34918
34919        Implement text-align:match-parent as -webkit-match-parent.
34920        https://bugs.webkit.org/show_bug.cgi?id=50951
34921
34922        Add support to the CSS parser.
34923
34924        Tests: fast/css/text-align-webkit-match-parent-parse.html
34925               fast/css/text-align-webkit-match-parent.html
34926
34927        * css/CSSParser.cpp:
34928        (WebCore::CSSParser::parseValue):
34929        * css/CSSStyleSelector.cpp:
34930        (WebCore::CSSStyleSelector::applyProperty):
34931        * css/CSSValueKeywords.in:
34932
349332011-03-29  Eric Seidel  <eric@webkit.org>
34934
34935        Reviewed by Ryosuke Niwa.
34936
34937        Rename InlineIterator::nextBreakablePosition to m_nextBreakablePosition to match modern style
34938        https://bugs.webkit.org/show_bug.cgi?id=57323
34939
34940        All of these m_nextBreakablePosition = -1 could probably be replaced with
34941        some new methods.  But I'll do that in a separate change.  Clearly
34942        m_nextBreakablePosition is just a cached value which should be cleared
34943        at the right times.  I suspect we may even fail to clear it sometimes when
34944        we should due to the current used of direct access instead of smarter functions.
34945
34946        * rendering/InlineIterator.h:
34947        (WebCore::InlineIterator::InlineIterator):
34948        (WebCore::InlineIterator::increment):
34949        * rendering/RenderBlockLineLayout.cpp:
34950        (WebCore::tryHyphenating):
34951        (WebCore::RenderBlock::findNextLineBreak):
34952
349532011-03-29  Jeff Miller  <jeffm@apple.com>
34954
34955        Reviewed by Jon Honeycutt.
34956
34957        Add WebCore::copyCertificateToData() on Windows
34958        https://bugs.webkit.org/show_bug.cgi?id=57296
34959
34960        Create a new win directory in platform/cf and add CertificateCFWin.cpp and CertificateCFWin.h to it.
34961
34962        * WebCore.vcproj/WebCore.vcproj: Added CertificateCFWin.cpp and CertificateCFWin.h.
34963        * WebCore.vcproj/copyForwardingHeaders.cmd: Copy all header files in \platform\cf\win\.
34964        * platform/cf/win: Added.
34965        * platform/cf/win/CertificateCFWin.cpp: Added.
34966        (WebCore::deallocCertContext): Added.
34967        (WebCore::createCertContextDeallocator): Added.
34968        (WebCore::copyCertificateToData): Added.
34969        * platform/cf/win/CertificateCFWin.h: Added.
34970
349712011-03-29  Eric Seidel  <eric@webkit.org>
34972
34973        Reviewed by Ryosuke Niwa.
34974
34975        Rename InlineIterator::block to m_block to match modern style
34976        https://bugs.webkit.org/show_bug.cgi?id=57321
34977
34978        I could have made m_block private, since it's only accessed in
34979        one place outside of InlineIterator (for an ASSERT).  But I chose
34980        not to do so in this change.
34981
34982        * rendering/InlineIterator.h:
34983        (WebCore::InlineIterator::InlineIterator):
34984        (WebCore::InlineIterator::increment):
34985        (WebCore::InlineBidiResolver::appendRun):
34986        * rendering/RenderBlockLineLayout.cpp:
34987        (WebCore::RenderBlock::findNextLineBreak):
34988
349892011-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
34990
34991        Reviewed by Nikolas Zimmermann.
34992
34993        Incorrect offset of svg <use> element which is in <symbol> element
34994        https://bugs.webkit.org/show_bug.cgi?id=57318
34995
34996        When webkit expanded a svg <symbol> element in the shadow tree it
34997        would clone the children of the <symbol>. The children may contain
34998        SVGShadowTreeContainerElement which was expanded from svg <use>
34999        element. But the clone operation would clone a
35000        SVGShadowTreeContainerElement as a svg <g> element. This resulted
35001        that updateContainerOffset wouldn't update offset for those elements
35002        which were expand from <use> elements.
35003
35004        This patch implements cloneElementWithoutAttributesAndChildren for
35005        SVGShadowTreeContainerElement to make the container clone itself
35006        correctly.
35007
35008        Test: svg/custom/use-in-symbol-with-offset.svg
35009
35010        * rendering/svg/SVGShadowTreeElements.cpp:
35011        (WebCore::SVGShadowTreeContainerElement::cloneElementWithoutAttributesAndChildren):
35012        * rendering/svg/SVGShadowTreeElements.h:
35013
350142011-03-29  Eric Seidel  <eric@webkit.org>
35015
35016        Reviewed by Ryosuke Niwa.
35017
35018        Rename InlineIterator::obj to m_obj to match modern style
35019        https://bugs.webkit.org/show_bug.cgi?id=57319
35020
35021        I started this rename after confusion in InlineBidiResolver::appendRun.
35022        (Which uses an "obj" local in InlineIterator.h.  It's not actually
35023        masking m_obj because it's a separate class, but I didn't realize
35024        that at the time because it's in InlineIterator.h which is itself confusing!)
35025
35026        * rendering/InlineIterator.h:
35027        (WebCore::InlineIterator::InlineIterator):
35028        (WebCore::operator==):
35029        (WebCore::operator!=):
35030        (WebCore::InlineIterator::increment):
35031        (WebCore::InlineIterator::atEnd):
35032        (WebCore::InlineIterator::current):
35033        (WebCore::InlineIterator::direction):
35034        (WebCore::InlineBidiResolver::appendRun):
35035        * rendering/RenderBlockLineLayout.cpp:
35036        (WebCore::checkMidpoints):
35037        (WebCore::RenderBlock::appendRunsForObject):
35038        (WebCore::RenderBlock::layoutInlineChildren):
35039        (WebCore::RenderBlock::matchedEndLine):
35040        (WebCore::skipNonBreakingSpace):
35041        (WebCore::RenderBlock::requiresLineBox):
35042        (WebCore::RenderBlock::skipTrailingWhitespace):
35043        (WebCore::RenderBlock::skipLeadingWhitespace):
35044        (WebCore::tryHyphenating):
35045        (WebCore::RenderBlock::findNextLineBreak):
35046
350472011-03-29  Pavel Feldman  <pfeldman@chromium.org>
35048
35049        Reviewed by Yury Semikhatsky.
35050
35051        Web Inspector: document Timeline domain, make timeline event types of type string.
35052        https://bugs.webkit.org/show_bug.cgi?id=57299
35053
35054        * inspector/Inspector.json:
35055        * inspector/InspectorTimelineAgent.cpp:
35056        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
35057        (WebCore::InspectorTimelineAgent::start):
35058        (WebCore::InspectorTimelineAgent::stop):
35059        (WebCore::InspectorTimelineAgent::willCallFunction):
35060        (WebCore::InspectorTimelineAgent::didCallFunction):
35061        (WebCore::InspectorTimelineAgent::willDispatchEvent):
35062        (WebCore::InspectorTimelineAgent::didDispatchEvent):
35063        (WebCore::InspectorTimelineAgent::willLayout):
35064        (WebCore::InspectorTimelineAgent::didLayout):
35065        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
35066        (WebCore::InspectorTimelineAgent::didRecalculateStyle):
35067        (WebCore::InspectorTimelineAgent::willPaint):
35068        (WebCore::InspectorTimelineAgent::didPaint):
35069        (WebCore::InspectorTimelineAgent::willWriteHTML):
35070        (WebCore::InspectorTimelineAgent::didWriteHTML):
35071        (WebCore::InspectorTimelineAgent::didInstallTimer):
35072        (WebCore::InspectorTimelineAgent::didRemoveTimer):
35073        (WebCore::InspectorTimelineAgent::willFireTimer):
35074        (WebCore::InspectorTimelineAgent::didFireTimer):
35075        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
35076        (WebCore::InspectorTimelineAgent::didChangeXHRReadyState):
35077        (WebCore::InspectorTimelineAgent::willLoadXHR):
35078        (WebCore::InspectorTimelineAgent::didLoadXHR):
35079        (WebCore::InspectorTimelineAgent::willEvaluateScript):
35080        (WebCore::InspectorTimelineAgent::didEvaluateScript):
35081        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
35082        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
35083        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
35084        (WebCore::InspectorTimelineAgent::didReceiveResourceData):
35085        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
35086        (WebCore::InspectorTimelineAgent::didReceiveResourceResponse):
35087        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
35088        (WebCore::InspectorTimelineAgent::didMarkTimeline):
35089        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
35090        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
35091        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
35092        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
35093        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
35094        * inspector/InspectorTimelineAgent.h:
35095        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
35096        * inspector/front-end/TimelineAgent.js:
35097        * inspector/front-end/TimelinePanel.js:
35098        (WebInspector.TimelinePanel.prototype.get _recordStyles):
35099        (WebInspector.TimelinePanel.prototype._createEventDivider):
35100        (WebInspector.TimelinePanel.prototype._findParentRecord):
35101        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
35102        (WebInspector.TimelineDispatcher.prototype.started):
35103        (WebInspector.TimelineDispatcher.prototype.stopped):
35104        (WebInspector.TimelineDispatcher.prototype.eventRecorded):
35105        (WebInspector.TimelinePanel.FormattedRecord):
35106        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
35107        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
35108
351092011-03-29  Andrey Adaikin  <aandrey@google.com>
35110
35111        Reviewed by Pavel Feldman.
35112
35113        Web Inspector: Fixing live edits tests on chromium.
35114        https://bugs.webkit.org/show_bug.cgi?id=57316
35115
35116        * inspector/front-end/ScriptsPanel.js:
35117        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
35118        * inspector/front-end/SourceFrame.js:
35119        (WebInspector.SourceFrame.prototype._handleSave.didEditScriptSource):
35120        (WebInspector.SourceFrame.prototype._handleSave):
35121        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
35122
351232011-03-29  Pavel Podivilov  <podivilov@chromium.org>
35124
35125        Reviewed by Yury Semikhatsky.
35126
35127        Web Inspector: fix call frames positions in formatted scripts.
35128        https://bugs.webkit.org/show_bug.cgi?id=57036
35129
35130        Introduce PresentationCallFrame class that encapsulates source mapping details from UI components.
35131
35132        * inspector/front-end/CallStackSidebarPane.js:
35133        (WebInspector.CallStackSidebarPane.prototype.update.didGetSourceLocation):
35134        (WebInspector.CallStackSidebarPane.prototype.update):
35135        (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
35136        (WebInspector.CallStackSidebarPane.prototype._placardSelected):
35137        (WebInspector.CallStackSidebarPane.prototype._contextMenu):
35138        (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
35139        * inspector/front-end/DebuggerModel.js:
35140        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
35141        (WebInspector.DebuggerModel.prototype.get debuggerPausedDetails):
35142        (WebInspector.DebuggerModel.prototype._pausedScript):
35143        * inspector/front-end/DebuggerPresentationModel.js:
35144        (WebInspector.DebuggerPresentationModel):
35145        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
35146        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
35147        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
35148        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
35149        (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
35150        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
35151        (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
35152        (WebInspector.DebuggerPresentationModel.prototype._reset):
35153        (WebInspector.PresenationCallFrame): Call frame wrapper for UI.
35154        * inspector/front-end/ScriptsPanel.js:
35155        (WebInspector.ScriptsPanel):
35156        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
35157        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetSourceLocation):
35158        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
35159        (WebInspector.ScriptsPanel.prototype._debuggerResumed):
35160        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
35161        (WebInspector.ScriptsPanel.prototype._callFrameSelected.didGetSourceLocation):
35162        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
35163        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.evaluateInSelectedCallFrame):
35164        * inspector/front-end/SourceFile.js:
35165        (WebInspector.SourceFile.prototype.get content):
35166        * inspector/front-end/SourceFrame.js:
35167        (WebInspector.SourceFrame.prototype._createTextViewer):
35168        (WebInspector.SourceFrame.prototype.setExecutionLine):
35169        (WebInspector.SourceFrame.prototype.clearExecutionLine):
35170        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
35171        (WebInspector.SourceFrame.prototype._showPopup):
35172
351732011-03-29  Emil A Eklund  <eae@chromium.org>
35174
35175        Reviewed by Darin Adler.
35176
35177        Fix for execCommand("Delete") with an empty selection.
35178        https://bugs.webkit.org/show_bug.cgi?id=56652
35179
35180        Test: editing/execCommand/delete-empty-container.html
35181
35182        * editing/TypingCommand.cpp:
35183        (WebCore::TypingCommand::makeEditableRootEmpty): Add check for root element.
35184
351852011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
35186
35187        Reviewed by Pavel Feldman.
35188
35189        Web Inspector: [Chromium] Refactor HeapSnapshot-related code to
35190        make sure we don't return big amounts of data to forms.
35191        https://bugs.webkit.org/show_bug.cgi?id=57227
35192
35193        * inspector/front-end/DetailedHeapshotGridNodes.js:
35194        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
35195        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _countPercent):
35196        (WebInspector.HeapSnapshotObjectNode):
35197        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
35198        (WebInspector.HeapSnapshotInstanceNode):
35199        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
35200        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
35201        (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
35202        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
35203        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
35204        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
35205        * inspector/front-end/DetailedHeapshotView.js:
35206        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
35207        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource):
35208        * inspector/front-end/HeapSnapshot.js:
35209        (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
35210        (WebInspector.HeapSnapshotNode.prototype.get retainers):
35211        (WebInspector.HeapSnapshot):
35212        (WebInspector.HeapSnapshot.prototype.get _allNodes):
35213        (WebInspector.HeapSnapshot.prototype.get nodeCount):
35214        (WebInspector.HeapSnapshot.prototype.get rootNodeIndex):
35215        (WebInspector.HeapSnapshot.prototype.hasId):
35216        (WebInspector.HeapSnapshot.prototype.get nodeIds):
35217        (WebInspector.HeapSnapshot.prototype._retainersForNode):
35218        (WebInspector.HeapSnapshot.prototype._buildRetainers):
35219        (WebInspector.HeapSnapshot.prototype._buildAggregates):
35220        (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes):
35221        (WebInspector.HeapSnapshot.prototype._buildIdsList):
35222        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
35223        (WebInspector.HeapSnapshotFilteredOrderedIterator):
35224        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.next):
35225        (WebInspector.HeapSnapshotEdgesProvider):
35226        (WebInspector.HeapSnapshotNodesProvider):
35227
352282011-03-29  Mikhail Naganov  <mnaganov@chromium.org>
35229
35230        Reviewed by Pavel Feldman.
35231
35232        Web Inspector: [Chromium] Fix detailed heap snapshots UI.
35233        https://bugs.webkit.org/show_bug.cgi?id=57235
35234
35235        Fix two problems:
35236          1. Text color of grid cells under selection needs to be white, otherwise it's unreadable for some colors;
35237          2. Long strings need to be truncated in grid, their contents can be shown on hover.
35238
35239        * inspector/front-end/DetailedHeapshotView.js:
35240        (WebInspector.DetailedHeapshotView.prototype._getHoverAnchor):
35241        (WebInspector.DetailedHeapshotView.prototype._showStringContentPopup):
35242        * inspector/front-end/heapProfiler.css:
35243        (.detailed-heapshot-view .console-formatted-string):
35244        (.detailed-heapshot-view .data-grid tr.selected *):
35245        (.detailed-heapshot-view .data-grid:focus tr.selected *):
35246
352472011-03-29  Andrey Adaikin  <aandrey@google.com>
35248
35249        Reviewed by Yury Semikhatsky.
35250
35251        Web Inspector: Highlight visible lines first
35252        https://bugs.webkit.org/show_bug.cgi?id=57013
35253
35254        * inspector/front-end/TextViewer.js:
35255        (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleChunkNumber):
35256        (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks):
35257        (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber.compareLineRowOffsetTops):
35258        (WebInspector.TextEditorChunkedPanel.prototype._findFirstVisibleLineNumber):
35259        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
35260        (WebInspector.TextEditorMainPanel.prototype._paintLines):
35261        (WebInspector.TextEditorMainPanel.prototype._paintLineChunks):
35262        (WebInspector.TextEditorMainPanel.prototype._paintLine):
35263        (WebInspector.TextEditorMainChunk.prototype.set expanded):
35264
352652011-03-29  Emil A Eklund  <eae@chromium.org>
35266
35267        Reviewed by Dimitri Glazkov.
35268
35269        Relative mouse coordinates recalculated for each target
35270        https://bugs.webkit.org/show_bug.cgi?id=57130
35271
35272        Calculate relative coordinates lazily for mouse events instead of doing
35273        it for each target. Speeds up dispatching of mouse events in deep dom
35274        structures significantly, O(n^2) to O(n).
35275
35276        Also fixes https://bugs.webkit.org/show_bug.cgi?id=34973
35277
35278        Tests: fast/events/mouse-relative-position.html
35279               perf/mouse-event.html
35280
35281        * dom/Event.cpp:
35282        (WebCore::Event::setTarget):
35283        * dom/MouseRelatedEvent.cpp:
35284        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
35285        (WebCore::MouseRelatedEvent::initCoordinates):
35286        (WebCore::pageZoomFactor):
35287        (WebCore::MouseRelatedEvent::receivedTarget):
35288        (WebCore::MouseRelatedEvent::computeRelativePosition):
35289        (WebCore::MouseRelatedEvent::layerX):
35290        (WebCore::MouseRelatedEvent::layerY):
35291        (WebCore::MouseRelatedEvent::offsetX):
35292        (WebCore::MouseRelatedEvent::offsetY):
35293        * dom/MouseRelatedEvent.h:
35294        * dom/UIEvent.cpp:
35295        (WebCore::UIEvent::layerX):
35296        (WebCore::UIEvent::layerY):
35297        * dom/UIEvent.h:
35298
352992011-03-29  Emil A Eklund  <eae@chromium.org>
35300
35301        Reviewed by Darin Adler.
35302
35303        getComputedStyle counterIncrement crash @ WebCore::counterToCSSValue
35304        https://bugs.webkit.org/show_bug.cgi?id=57266
35305
35306        Add null check to counterToCSSValue.
35307
35308        Test: fast/css/getComputedStyle/counterIncrement-without-counter.html
35309
35310        * css/CSSComputedStyleDeclaration.cpp:
35311        (WebCore::counterToCSSValue):
35312
353132011-03-29  Gavin Peters  <gavinp@chromium.org>
35314
35315        Reviewed by Tony Gentilcore.
35316
35317        Implement onerror events for <link rel=prefetch>
35318        https://bugs.webkit.org/show_bug.cgi?id=57182
35319
35320        These events are equired on link elements, see
35321        http://dev.w3.org/html5/spec/Overview.html#the-link-element
35322
35323        After a discussion in WebKit-dev about the direction of prefetch in the loader, and about a path
35324        to adding the Link header, we decided to look at making onerror, onload and onbeforeload events
35325        more uniformly supported.  See the thread at
35326        https://lists.webkit.org/pipermail/webkit-dev/2011-February/016034.html .
35327
35328        It turned out that part of adding onerror for link prefetch was to make the top CachedResource less
35329        abstract.  It was pure virtual until prefetch became the first consumer to use an unspecialised
35330        implementation, and this CL continues that by adding a default checkNotify method to it.  As it
35331        happens there were already two subclasses using what amounted to the generic checkNotify, so I
35332        also removed those, buying us some code cleanup with the change.
35333
35334        Test: fast/dom/HTMLLinkElement/prefetch-onerror.html
35335
35336        * html/HTMLLinkElement.cpp:
35337        (WebCore::HTMLLinkElement::parseMappedAttribute):
35338        (WebCore::HTMLLinkElement::onloadTimerFired):
35339        (WebCore::HTMLLinkElement::notifyFinished):
35340        * loader/cache/CachedImage.cpp:
35341        * loader/cache/CachedImage.h:
35342        * loader/cache/CachedResource.cpp:
35343        (WebCore::CachedResource::checkNotify):
35344        (WebCore::CachedResource::data):
35345        (WebCore::CachedResource::error):
35346        * loader/cache/CachedResource.h:
35347        * loader/cache/CachedScript.cpp:
35348        * loader/cache/CachedScript.h:
35349
353502011-03-29  Eric Seidel  <eric@webkit.org>
35351
35352        Reviewed by Ryosuke Niwa.
35353
35354        Add support for parsing unicode-bidi: -webkit-isolate
35355        https://bugs.webkit.org/show_bug.cgi?id=57181
35356
35357        Test: css3/unicode-bidi-insolate-parse.html
35358
35359        * WebCore.xcodeproj/project.pbxproj:
35360        * css/CSSParser.cpp:
35361        (WebCore::CSSParser::parseValue):
35362        * css/CSSPrimitiveValueMappings.h:
35363        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
35364        (WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
35365        * css/CSSValueKeywords.in:
35366        * rendering/style/RenderStyleConstants.h:
35367
353682011-03-29  Patrick Gansterer  <paroga@webkit.org>
35369
35370        Unreviewed WinCE build fix for r82193.
35371
35372        * platform/wince/FileSystemWinCE.cpp:
35373        (WebCore::openTemporaryFile):
35374
353752011-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
35376
35377        Unreviewed, rolling out r82198.
35378        http://trac.webkit.org/changeset/82198
35379        https://bugs.webkit.org/show_bug.cgi?id=57304
35380
35381        Broke Chromium Win build. (Requested by dave_levin on
35382        #webkit).
35383
35384        * platform/image-decoders/png/PNGImageDecoder.cpp:
35385        (WebCore::PNGImageDecoder::headerAvailable):
35386        (WebCore::PNGImageDecoder::rowAvailable):
35387
353882011-03-28  Ofri Wolfus  <ofri@google.com>
35389
35390        Reviewed by Eric Seidel.
35391
35392        RTL: Select elements with a size attribute are always left aligned.
35393        https://bugs.webkit.org/show_bug.cgi?id=50928
35394
35395        Added support for alignment in RenderListBox.
35396
35397        Test: fast/forms/listbox-bidi-align.html
35398
35399        * rendering/RenderListBox.cpp:
35400        (WebCore::itemOffsetForAlignment):
35401        (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality.
35402
354032011-03-28  Kwang Yul Seo  <skyul@company100.net>
35404
35405        Reviewed by Benjamin Poulain.
35406
35407        [Qt] Change TextureMapperVideoLayer to TextureMapperMediaLayer
35408        https://bugs.webkit.org/show_bug.cgi?id=57142
35409
35410        TextureMapperMediaLayer is a better name here because both video and plugins use this layer.
35411        Remove ENABLE(VIDEO) guard.
35412
35413        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
35414        * platform/graphics/qt/MediaPlayerPrivateQt.h:
35415        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
35416        (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
35417        * platform/graphics/texmap/TextureMapperNode.h:
35418        * platform/graphics/texmap/TextureMapperPlatformLayer.h:
35419        (WebCore::TextureMapperMediaLayer::layerType):
35420
354212011-03-28  Thomas Klausner  <tk@giga.or.at>
35422
35423        Reviewed by David Levin.
35424
35425        png-1.5 fixes
35426        https://bugs.webkit.org/show_bug.cgi?id=54406
35427
35428        Fix compilation with png-1.5: struct members were hidden, and
35429        a new API to terminate data processing was added (especially for
35430        WebKit).
35431
35432        Compilation fixes, so no new tests.
35433
35434        * platform/image-decoders/png/PNGImageDecoder.cpp:
35435        (WebCore::PNGImageDecoder::headerAvailable):
35436        (WebCore::PNGImageDecoder::rowAvailable):
35437
354382011-03-28  Kwang Yul Seo  <skyul@company100.net>
35439
35440        Reviewed by Adam Barth.
35441
35442        Replace fprintf(stderr, ...) with LOG_ERROR
35443        https://bugs.webkit.org/show_bug.cgi?id=57216
35444
35445        LOG_ERROR is a better choice here.
35446
35447        * bridge/jni/v8/JavaClassV8.cpp:
35448        (JavaClass::JavaClass):
35449
354502011-03-28  Steve Block  <steveblock@google.com>
35451
35452        Reviewed by Jeremy Orlow.
35453
35454        Add a new JavaValue to type to represent a Java value in the Java bridge
35455        https://bugs.webkit.org/show_bug.cgi?id=57022
35456
35457        This change introduces a new JavaValue type and uses it in place of jvalue
35458        in the conversions to and from JavaNPObject used in the V8 Java bridge.
35459
35460        Refactoring only, no new tests.
35461
35462        * WebCore.gypi:
35463        * bridge/jni/JNIUtility.cpp:
35464        (JSC::Bindings::javaTypeFromClassName):
35465        (JSC::Bindings::signatureFromJavaType):
35466        (JSC::Bindings::getJNIField):
35467        (JSC::Bindings::callJNIMethod):
35468        * bridge/jni/JavaType.h:
35469        * bridge/jni/v8/JNIUtilityPrivate.cpp:
35470        (JSC::Bindings::convertNPVariantToJavaValue):
35471        (JSC::Bindings::convertJavaValueToNPVariant):
35472        (JSC::Bindings::jvalueToJavaValue):
35473        (JSC::Bindings::javaValueToJvalue):
35474        * bridge/jni/v8/JNIUtilityPrivate.h:
35475        * bridge/jni/v8/JavaNPObjectV8.cpp:
35476        (JSC::Bindings::JavaNPObjectInvoke):
35477        (JSC::Bindings::JavaNPObjectGetProperty):
35478        * bridge/jni/v8/JavaValueV8.h: Added.
35479        (JSC::Bindings::JavaValue::JavaValue):
35480
354812011-03-28  Patrick Gansterer  <paroga@webkit.org>
35482
35483        Reviewed by Darin Adler.
35484
35485        Use String instead of CString as return value of openTemporaryFile
35486        https://bugs.webkit.org/show_bug.cgi?id=55332
35487
35488        We usually store all paths as UTF-16. Do this for temporary files too.
35489
35490        * WebCore.exp.in
35491        * platform/FileSystem.h:
35492        * platform/android/FileSystemAndroid.cpp:
35493        * platform/brew/FileSystemBrew.cpp:
35494        * platform/efl/FileSystemEfl.cpp:
35495        * platform/gtk/FileSystemGtk.cpp:
35496        * platform/haiku/FileSystemHaiku.cpp:
35497        * platform/mac/FileSystemMac.mm:
35498        * platform/qt/FileSystemQt.cpp:
35499        * platform/win/FileSystemWin.cpp:
35500        * platform/wince/FileSystemWinCE.cpp:
35501        * platform/wx/FileSystemWx.cpp:
35502        * plugins/PluginStream.cpp:
35503        (WebCore::PluginStream::destroyStream):
35504        * plugins/PluginStream.h:
35505
355062011-03-28  Jeff Johnson  <opendarwin@lapcatsoftware.com>
35507
35508        Reviewed by Pavel Feldman.
35509
35510        Web Inspector: empty, non-functional window
35511        https://bugs.webkit.org/show_bug.cgi?id=56354
35512
35513        Check whether DOM local storage is enabled
35514        before attempting to access window.localStorage.
35515
35516        No new tests.
35517
35518        * inspector/front-end/Settings.js:
35519        (WebInspector.Settings.prototype.findSettingForAllProjects):
35520        (WebInspector.Settings.prototype._get):
35521        (WebInspector.Settings.prototype._set):
35522
355232011-03-28  Beth Dakin  <bdakin@apple.com>
35524
35525        Reviewed by Darin Adler.
35526
35527        Fix for https://bugs.webkit.org/show_bug.cgi?id=57286 Alternative fix for:
35528        Horizontal scroller stops appearing after going Forward
35529        -and corresponding-
35530        <rdar://problem/9026946>
35531
35532        This patch rolls out revision 79053 and fixes the same bug in a  better way.
35533
35534        New function resetScrollbarsAndClearContentsSize() calls resetScrollbars() and then
35535        sets the contents size to 0. This is called when a document is going into the page
35536        cache.
35537        * dom/Document.cpp:
35538        (WebCore::Document::setInPageCache):
35539        (WebCore::FrameView::resetScrollbarsAndClearContentsSize):
35540
35541        Roll-out of 79053.
35542        * history/CachedFrame.cpp:
35543        (WebCore::CachedFrameBase::restore):
35544        * page/FrameView.cpp:
35545        (WebCore::FrameView::FrameView):
35546        (WebCore::FrameView::reset):
35547        (WebCore::FrameView::layout):
35548        * page/FrameView.h:
35549
355502011-03-28  Ojan Vafai  <ojan@chromium.org>
35551
35552        Reviewed by Antti Koivisto.
35553
35554        fix style sharing with :any and sibling selectors
35555        https://bugs.webkit.org/show_bug.cgi?id=57211
35556
35557        Test: fast/css/sibling-selectors.html
35558
35559        * css/CSSStyleSelector.cpp:
35560        (WebCore::collectFeaturesFromList):
35561
355622011-03-27  Ojan Vafai  <ojan@chromium.org>
35563
35564        Reviewed by Antti Koivisto.
35565
35566        fix :-webkit-any(:last-child)
35567        https://bugs.webkit.org/show_bug.cgi?id=57207
35568
35569        We were passing the wrong arguments to checkSelector. Also, we were not
35570        passing through the encounteredLink bool.
35571
35572        * css/CSSStyleSelector.cpp:
35573        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
35574        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
35575        * css/CSSStyleSelector.h:
35576
355772011-03-27  Ojan Vafai  <ojan@chromium.org>
35578
35579        Reviewed by Antti Koivisto.
35580
35581        fix :-webkit-any(:last-child)
35582        https://bugs.webkit.org/show_bug.cgi?id=57207
35583
35584        We were passing the wrong arguments to checkSelector. Also, we were not
35585        passing through the encounteredLink bool.
35586
35587        * css/CSSStyleSelector.cpp:
35588        (WebCore::CSSStyleSelector::SelectorChecker::checkSelector):
35589        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
35590        * css/CSSStyleSelector.h:
35591
355922011-03-28  Maciej Stachowiak  <mjs@apple.com>
35593
35594        Reviewed by Darin Adler.
35595
35596        REGRESSION(r82152): fast/dom/HTMLAnchorElement/set-href-attribute-pathname.html
35597        https://bugs.webkit.org/show_bug.cgi?id=57291
35598
35599        * platform/KURL.cpp:
35600        (WebCore::KURL::parse): Instead of considering URLs with
35601        credentials but no host invalid, consider them to have a host
35602        ending in @ (which fails down the line)/
35603
356042011-03-28  Kent Tamura  <tkent@chromium.org>
35605
35606        Reviewed by Dimitri Glazkov.
35607
35608        Fix some problems of the appearance of form validation message bubble.
35609        https://bugs.webkit.org/show_bug.cgi?id=57208
35610
35611        No new tests. Validation message bubble appearance is not testable
35612        because it depends on a timer.
35613
35614        * css/html.css:
35615        (::-webkit-validation-bubble):
35616        (::-webkit-validation-bubble-message):
35617        (::-webkit-validation-bubble-arrow):
35618        (::-webkit-validation-bubble-arrow-clipper):
35619          - Explicitly set margin, padding, and color.
35620          - Make the shadow darker.
35621          - Make the background color darker.
35622          - Make opacity larger.
35623          - Make the border color lighter.
35624          - Add inset shadows
35625          - Change the implementation of an arrow.
35626            Stop making a right triangle by the border trick.
35627            Use -webkit-transform instead.
35628          - Make min-width workable by changing display property of
35629            -webkit-validation-bubble to "inline-block".
35630        * html/ValidationMessage.cpp:
35631        (WebCore::ValidationMessage::buildBubbleTree):
35632          Change the node structure. Before this change, -webkit-validation-bubble
35633          had three DIVs inside. After this change, it has two DIVs;
35634          -webkit-validation-bubble-arrow-clipper and
35635          -webkit-validation-bubble-message, and
35636          -webkit-validation-bubble-arrow-clipper contains
35637          -webkit-validation-bubble-arrow.
35638
356392011-03-28  Enrica Casucci  <enrica@apple.com>
35640
35641        Reviewed by Sam Weinig.
35642
35643        REGRESSION: Can't enter pasted with context or Edit menu text in search or address field in the browser.
35644        https://bugs.webkit.org/show_bug.cgi?id=57275
35645        <rdar://problem/8246691>
35646
35647        We need to classify cut and paste actions as user typing actions even when
35648        the action is triggered by a context menu selection to
35649        allow the propagation of the textDidChangeInTextField event.
35650
35651        * editing/EditorCommand.cpp:
35652        The following methods have been modified to properly set up
35653        the UserTypingGestureAction when the command source is the
35654        menu or a key binding sequence.
35655        (WebCore::executeCut):
35656        (WebCore::executePaste):
35657        (WebCore::executePasteAndMatchStyle):
35658        (WebCore::executePasteAsPlainText):
35659        (WebCore::executeDelete):
35660        * page/ContextMenuController.cpp:
35661        (WebCore::ContextMenuController::contextMenuItemSelected): Changed to
35662        call execute command instead of referring to the specific method in
35663        the editor class.
35664
356652011-03-28  Oliver Hunt  <oliver@apple.com>
35666
35667        Reviewed by Geoffrey Garen.
35668
35669        instanceof Array test fails when using iframes
35670        https://bugs.webkit.org/show_bug.cgi?id=17250
35671
35672        Update for new function and date apis
35673
35674        Test: fast/js/js-constructors-use-correct-global.html
35675
35676        * WebCore.xcodeproj/project.pbxproj:
35677        * bindings/js/JSDOMBinding.cpp:
35678        (WebCore::jsDateOrNull):
35679        * bindings/js/JSLazyEventListener.cpp:
35680        (WebCore::JSLazyEventListener::initializeJSFunction):
35681
356822011-03-28  Beth Dakin  <bdakin@apple.com>
35683
35684        Reviewed by Darin Adler.
35685
35686        Fix for https://bugs.webkit.org/show_bug.cgi?id=57124 When the scroller style is
35687        changed via delegate method, the page needs a full relayout and repaint
35688        -and corresponding-
35689        <rdar://problem/9059129>
35690
35691        Call into WebKitSystemInterface to associate the new painter with the existing
35692        painter controller. Reset the scrollbar frame rects to the new thickness -- normally
35693        this only happens when a scrollbar is created, so we have to reset the thickness
35694        here to pick up the new theme thickness. Finally, force a full relayout and style
35695        recall with setNeedsRecalcStyleInAllFrames()
35696        * platform/mac/ScrollAnimatorMac.mm:
35697        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
35698
35699        setNeedsRecalcStyleInAllFrames() used to be a static method in Settings.cpp. This
35700        patch moves it to be a member function on Page so that it can be called from
35701        FrameView when the scrollbar style changes.
35702        * page/FrameView.cpp:
35703        (WebCore::FrameView::setNeedsRecalcStyleInAllFrames):
35704        * page/FrameView.h:
35705        * page/Page.cpp:
35706        (WebCore::Page::setNeedsRecalcStyleInAllFrames):
35707        * page/Page.h:
35708        * page/Settings.cpp:
35709        (WebCore::Settings::setStandardFontFamily):
35710        (WebCore::Settings::setFixedFontFamily):
35711        (WebCore::Settings::setSerifFontFamily):
35712        (WebCore::Settings::setSansSerifFontFamily):
35713        (WebCore::Settings::setCursiveFontFamily):
35714        (WebCore::Settings::setFantasyFontFamily):
35715        (WebCore::Settings::setMinimumFontSize):
35716        (WebCore::Settings::setMinimumLogicalFontSize):
35717        (WebCore::Settings::setDefaultFontSize):
35718        (WebCore::Settings::setDefaultFixedFontSize):
35719        (WebCore::Settings::setTextAreasAreResizable):
35720        (WebCore::Settings::setAuthorAndUserStylesEnabled):
35721        (WebCore::Settings::setFontRenderingMode):
35722        (WebCore::Settings::setAcceleratedCompositingEnabled):
35723        (WebCore::Settings::setShowDebugBorders):
35724        (WebCore::Settings::setShowRepaintCounter):
35725        * platform/ScrollableArea.h:
35726        (WebCore::ScrollableArea::setNeedsRecalcStyleInAllFrames):
35727
357282011-03-28  Dirk Pranke  <dpranke@chromium.org>
35729
35730        RS=Tony Chang.
35731
35732        r81977 moved FontPlatformData.h from
35733        WebCore/platform/graphics/cocoa to platform/graphics. This
35734        change updates the chromium build accordingly.
35735
35736        https://bugs.webkit.org/show_bug.cgi?id=57281
35737
35738        * platform/graphics/chromium/CrossProcessFontLoading.mm:
35739
357402011-03-28  Jer Noble  <jer.noble@apple.com>
35741
35742        Reviewed by Darin Adler.
35743
35744        MediaPlayerPrivateAVFoundation should report that it supportsFullScreen()
35745        https://bugs.webkit.org/show_bug.cgi?id=57249
35746
35747        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
35748        (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen):
35749        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
35750
357512011-03-28  Jer Noble  <jer.noble@apple.com>
35752
35753        Reviewed by Darin Adler.
35754
35755        AVFoundation can indeed support full screen.
35756
35757        MediaPlayerPrivateAVFoundation should report that it supportsFullScreen()
35758        https://bugs.webkit.org/show_bug.cgi?id=57249
35759
35760        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
35761        (WebCore::MediaPlayerPrivateAVFoundation::supportsFullscreen): Return true if using
35762            the new full screen APIs.
35763        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
35764
357652011-03-28  Eric Carlson  <eric.carlson@apple.com>
35766
35767        Reviewed by Darin Adler.
35768
35769        http streams don't always display video with AVFoundation backend
35770        https://bugs.webkit.org/show_bug.cgi?id=57203
35771
35772        No new tests, we don't currently have tests for http live streams. Changes verified manually.
35773
35774        * platform/graphics/MediaPlayer.cpp:
35775        (WebCore::MediaPlayer::MediaPlayer): Initialize m_shouldPrepareToRender.
35776        (WebCore::MediaPlayer::loadWithNextMediaEngine): Call prepareForRendering on new engine
35777            if m_shouldPrepareToRender is set.
35778        (WebCore::MediaPlayer::prepareForRendering): Set m_shouldPrepareToRender.
35779        * platform/graphics/MediaPlayer.h:
35780
35781        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
35782        (WebCore::MediaPlayerPrivateAVFoundation::isReadyForVideoSetup): Don't return true until
35783            m_isAllowedToRender has been set.
35784        (WebCore::MediaPlayerPrivateAVFoundation::prepareForRendering): Always call setUpVideoRendering,
35785            it has logic to figure out when setup is required.
35786        (WebCore::MediaPlayerPrivateAVFoundation::updateStates): Call setUpVideoRendering when we aren't
35787            using the preferred rendering mode because if we get a file's metadata between the
35788            time supportsAcceleratedRendering() and paint() are called, we will allocate a software
35789            renderer even when we prefer a layer backed renderer.
35790        (WebCore::MediaPlayerPrivateAVFoundation::movieLoadType): Return "unknown" until we have metadata.
35791
35792        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
35793        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
35794        (WebCore::MediaPlayerPrivateAVFoundationObjC::cancelLoad): Use itemKVOProperties() instead of
35795            an explicit list of key path names.
35796        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL): Ditto.
35797        (WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): metadataKeyNames renamed
35798            to assetMetadataKeyNames, return an NSArray instead of a CFArrayRef since that is what the
35799            callers need.
35800        (WebCore::MediaPlayerPrivateAVFoundationObjC::platformDuration): Return the duration of the
35801            player item, not the asset, because AVAsset.duration always returns an indefinite time
35802            for all streaming files.
35803        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetStatus): metadataKeyNames renamed
35804            to assetMetadataKeyNames.
35805        (WebCore::MediaPlayerPrivateAVFoundationObjC::paintCurrentFrameInContext): Do nothing until
35806            metadata is available.
35807        (WebCore::MediaPlayerPrivateAVFoundationObjC::paint): Ditto.
35808        (WebCore::MediaPlayerPrivateAVFoundationObjC::tracksChanged): Split size calculation logic off
35809            into sizeChanged().
35810        (WebCore::MediaPlayerPrivateAVFoundationObjC::sizeChanged): New. Use AVPlayerItem.presentationSize
35811            until tracks is non-NULL so we have a size as early as possible.
35812        (WebCore::MediaPlayerPrivateAVFoundationObjC::assetMetadataKeyNames): Renamed from metadataKeyNames.
35813        (WebCore::MediaPlayerPrivateAVFoundationObjC::itemKVOProperties): New, return an array of
35814            KVO observable properties.
35815        (-[WebCoreAVFMovieObserver observeValueForKeyPath:ofObject:change:context:]): Respond to
35816            presentationSize change.
35817
358182011-03-28  Anders Carlsson  <andersca@apple.com>
35819
35820        Reviewed by Sam Weinig.
35821
35822        Search field focus ring is missing
35823        https://bugs.webkit.org/show_bug.cgi?id=57270
35824        <rdar://problem/8765555>
35825
35826        Add an _automaticFocusRingDisabled method which returns YES.
35827
35828        * platform/mac/ThemeMac.mm:
35829        (-[WebCoreFlippedView _automaticFocusRingDisabled]):
35830
358312011-03-28  Dimitri Glazkov  <dglazkov@chromium.org>
35832
35833        Reviewed by Darin Adler.
35834
35835        Move more events to EventDispatcher.
35836        https://bugs.webkit.org/show_bug.cgi?id=57247
35837
35838        No functional changes, covered by existing tests.
35839
35840        * dom/EventDispatcher.cpp:
35841        (WebCore::eventTargetRespectingSVGTargetRules): Made a static function,
35842            since it's not used anywhere outside of the EventDispatcher.
35843        (WebCore::EventDispatcher::dispatchScopedEvent): Moved from Node.cpp.
35844        (WebCore::EventDispatcher::dispatchKeyEvent): Ditto.
35845        (WebCore::EventDispatcher::dispatchWheelEvent): Ditto.
35846        (WebCore::EventDispatcher::dispatchEvent): Changed to use eventTargetRespectingSVGTargetRules
35847            as a static function.
35848        * dom/EventDispatcher.h: Updated decls.
35849        * dom/Node.cpp:
35850        (WebCore::Node::dispatchScopedEvent): Replaced with calling EventDispatcher.
35851        (WebCore::Node::dispatchKeyEvent): Ditto.
35852        (WebCore::Node::dispatchWheelEvent): Ditto.
35853
358542011-03-28  Adele Peterson  <adele@apple.com>
35855
35856        Reviewed by Eric Seidel.
35857
35858        Fix for <rdar://problem/9112694> REGRESSION (r79411): "Check grammar with spelling" context menu doesn't check as you type
35859        https://bugs.webkit.org/show_bug.cgi?id=57173
35860
35861        Test: editing/spelling/grammar.html
35862
35863        * WebCore.exp.in: Add symbol for new selectionStartHasMarkerFor method.
35864        * editing/Editor.cpp:
35865        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): Every use of paragraph is specific to spelling or grammar,
35866         so to avoid confusion, we should explicitly use spellingParagraph or grammarParagraph.  In the case of this bug,
35867         when we're consider ambiguous boundary characters (characters that could indicate word boundaries, but are used
35868         in the middle of words too, like apostrophes), we should use the use the spellingParagraph since the spellingParagraph
35869         is the only one operated on when this information is used.
35870         (WebCore::Editor::selectionStartHasMarkerFor): Changed from selectionStartHasSpellingMarkerFor so it can check for grammar as well as spelling.
35871        * editing/Editor.h:
35872
358732011-03-28  Dan Bernstein  <mitz@apple.com>
35874
35875        Reviewed by Darin Adler.
35876
35877        <rdar://problem/8895977> REGRESSION: multicol crashes with positioned elements
35878        https://bugs.webkit.org/show_bug.cgi?id=48983
35879
35880        Test: fast/multicol/paginated-layer-crash.html
35881
35882        * rendering/RenderLayer.cpp:
35883        (WebCore::RenderLayer::paintPaginatedChildLayer): Bring the logic for finding pagintating layers
35884        into sync with updatePagination() after r68069.
35885        (WebCore::RenderLayer::hitTestPaginatedChildLayer): Ditto.
35886
358872011-03-28  Maciej Stachowiak  <mjs@apple.com>
35888
35889        Reviewed by Darin Adler' .
35890
35891        URLSs with non-empty username but empty hostname treat first path segment as hostname, potentially enabling XSS
35892        https://bugs.webkit.org/show_bug.cgi?id=57220
35893
35894        Test: http/tests/uri/username-with-no-hostname.html
35895
35896        * platform/KURL.cpp:
35897        (WebCore::hostPortIsEmptyButUserPassIsNot):
35898        (WebCore::KURL::parse):
35899
359002011-03-28  Adam Barth  <abarth@webkit.org>
35901
35902        Reviewed by Eric Seidel.
35903
35904        script-src should block inline event handlers
35905        https://bugs.webkit.org/show_bug.cgi?id=57212
35906
35907        I considered wrapping this into the canExecute check, but that approach
35908        would require passing that function a bunch of context information to
35909        behave correctly once we add support for the "options" directive that
35910        re-enables these features.
35911
35912        Test: http/tests/security/contentSecurityPolicy/script-src-none-inline-event.html
35913
35914        * bindings/js/JSLazyEventListener.cpp:
35915        (WebCore::JSLazyEventListener::initializeJSFunction):
35916            - This function was a mess.  I couldn't resist cleaning it up a
35917              bunch.  Notice that we ASSERT at the beginning of the function
35918              that scriptExecutionContext is a document and that both ways of
35919              getting the global object are the same when document->frame() is
35920              non-zero because the document must be active and there is a
35921              one-to-one relation between Frames and active Documents.
35922        * bindings/v8/V8LazyEventListener.cpp:
35923        (WebCore::V8LazyEventListener::prepareListenerObject):
35924        * page/ContentSecurityPolicy.cpp:
35925        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
35926        * page/ContentSecurityPolicy.h:
35927
359282011-03-28  Jeff Miller  <jeffm@apple.com>
35929
35930        Reviewed by Adam Roben.
35931
35932        ResourceError::certificate() should return a PCCERT_CONTEXT
35933        https://bugs.webkit.org/show_bug.cgi?id=57262
35934
35935        * platform/network/cf/ResourceError.h: certificate() now returns a PCCERT_CONTEXT.
35936        * platform/network/cf/ResourceErrorCF.cpp:
35937        (WebCore::ResourceError::certificate): Added.
35938
359392011-03-28  David Hyatt  <hyatt@apple.com>
35940
35941        Reviewed by Simon Fraser and Darin Adler.
35942
35943        https://bugs.webkit.org/show_bug.cgi?id=57221, memory corruption/crashes when positioned objects
35944        occur at the end of a line.
35945
35946        The old code and new code for dealing with a trailing space object midpoint manipulated a raw
35947        array instead of the Vector. Otherwise this corruption would have been caught prior to check-in.
35948
35949        I have patched the code to only go through the Vector and to make it handle the case that led to
35950        the corruption. Trailing positioned objects can occur both prior to and following the trailing space
35951        object's midpoint, so we have to be prepared to deal with both cases.
35952
35953        This is already tested by fast/block/positioning/052.html, and that test now properly progresses
35954        like the other positioning tests did.
35955
35956        * rendering/RenderBlockLineLayout.cpp:
35957        (WebCore::RenderBlock::findNextLineBreak):
35958
359592011-03-28  Andrei Popescu  <andreip@google.com>
35960
35961        Reviewed by Steve Block.
35962
35963        V8IDBKeyCustom.cpp does not compile with INDEXED_DATABASE disabled
35964        https://bugs.webkit.org/show_bug.cgi?id=57100
35965
35966        Close the ENABLE guard and the namespace in the right order.
35967
35968        No new tests, just cleanup.
35969
35970        * bindings/v8/custom/V8IDBAnyCustom.cpp:
35971        * bindings/v8/custom/V8IDBKeyCustom.cpp:
35972
359732011-03-28  Jeff Miller  <jeffm@apple.com>
35974
35975        Reviewed by Adam Roben.
35976
35977        Include certificate when sending a WebCore::ResourceError to UI process on Windows
35978        https://bugs.webkit.org/show_bug.cgi?id=57195
35979
35980        Add support for tracking the certificate in WebCore::ResourceError.
35981
35982        * platform/network/ResourceErrorBase.cpp:
35983        (WebCore::ResourceErrorBase::copy): Call platformCopy() to copy platform-specific fields.
35984        * platform/network/ResourceErrorBase.h:
35985        (WebCore::ResourceErrorBase::platformCopy): Added.
35986        * platform/network/cf/ResourceError.h: Added constructor that takes certificate data, shadowed platformCopy, added m_certificate.
35987        (WebCore::ResourceError::certificate): Added.
35988        * platform/network/cf/ResourceErrorCF.cpp:
35989        (WebCore::ResourceError::ResourceError): Added constructor that takes certificate data.
35990        (WebCore::ResourceError::platformLazyInit): Read any certificate from the userInfo dictionary.
35991        (WebCore::ResourceError::platformCopy): Copy m_certificate.
35992        (WebCore::ResourceError::cfError): Add any certificate data to the userInfo dictionary in the CFErrorRef.
35993
359942011-03-28  Jessie Berlin  <jberlin@apple.com>
35995
35996        Rubber-stamped by Adam Roben.
35997
35998        Add an extra newline to the end of the generated Inspector.idl file so that it does not
35999        trigger the Windows "no newline at at end of file" warning.
36000
36001        * inspector/generate-inspector-idl:
36002
360032011-03-28  Csaba Osztrogonác  <ossy@webkit.org>
36004
36005        Buildfix after r82125.
36006
36007        [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
36008        https://bugs.webkit.org/show_bug.cgi?id=57087
36009
36010        * platform/graphics/qt/MediaPlayerPrivateQt.cpp: Convert all char* to QString explicitly.
36011        (WebCore::MediaPlayerPrivateQt::getSupportedTypes):
36012        (WebCore::MediaPlayerPrivateQt::commitLoad):
36013
360142011-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
36015
36016        Unreviewed, rolling out r82099.
36017        http://trac.webkit.org/changeset/82099
36018        https://bugs.webkit.org/show_bug.cgi?id=57245
36019
36020        Breaks live edits tests on chromium. (Requested by pfeldman on
36021        #webkit).
36022
36023        * inspector/front-end/ScriptsPanel.js:
36024        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
36025        * inspector/front-end/SourceFrame.js:
36026        (WebInspector.SourceFrame.prototype._handleSave):
36027        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
36028
360292011-03-28  Pavel Feldman  <pfeldman@chromium.org>
36030
36031        Reviewed by Yury Semikhatsky.
36032
36033        Web Inspector: brush up and rename debugger domain functions.
36034        https://bugs.webkit.org/show_bug.cgi?id=57240
36035
36036        * inspector/Inspector.json:
36037        * inspector/InspectorAgent.cpp:
36038        (WebCore::InspectorAgent::setFrontend):
36039        (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
36040        * inspector/InspectorDebuggerAgent.cpp:
36041        (WebCore::InspectorDebuggerAgent::setBreakpointsActive):
36042        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
36043        (WebCore::InspectorDebuggerAgent::setBreakpoint):
36044        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
36045        (WebCore::InspectorDebuggerAgent::editScriptSource):
36046        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
36047        (WebCore::InspectorDebuggerAgent::didParseSource):
36048        (WebCore::InspectorDebuggerAgent::failedToParseSource):
36049        (WebCore::InspectorDebuggerAgent::didPause):
36050        (WebCore::InspectorDebuggerAgent::didContinue):
36051        * inspector/InspectorDebuggerAgent.h:
36052        * inspector/front-end/DebuggerModel.js:
36053        (WebInspector.DebuggerModel.prototype.setBreakpoint):
36054        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
36055        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
36056        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
36057        (WebInspector.DebuggerDispatcher.prototype.paused):
36058        (WebInspector.DebuggerDispatcher.prototype.resumed):
36059        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
36060        (WebInspector.DebuggerDispatcher.prototype.scriptFailedToParse):
36061        (WebInspector.DebuggerDispatcher.prototype.breakpointResolved):
36062        * inspector/front-end/ScriptsPanel.js:
36063        (WebInspector.ScriptsPanel.prototype.toggleBreakpointsClicked):
36064        * inspector/front-end/inspector.js:
36065        (WebInspector.didCreateWorker):
36066        (WebInspector.didDestroyWorker):
36067
360682011-03-28  David Kilzer  <ddkilzer@apple.com>
36069
36070        <http://webkit.org/b/57239> Use forward class declaration instead of including header
36071
36072        Reviewed by Dan Bernstein.
36073
36074        Adding a "using namespace WebCore;" statement in a header may
36075        cause issues when <WebCore/Length.h> is included before
36076        <CoreText/CoreText.h>.
36077
36078        Length.h defines the LengthType enum with a 'Fixed' value.
36079        CoreText.h includes MacTypes.h, which has a
36080        "typedef SInt32 Fixed;" statement, and then CoreText.h includes
36081        other headers that also use 'Fixed', but expect the typedef to
36082        be defined, not the enum.  If another header includes
36083        "using namespace WebCore;" before CoreText.h, the
36084        following compiler errors result (paths abbreviated):
36085
36086            CoreText.framework/Headers/SFNTLayoutTypes.h:689: error: reference to 'Fixed' is ambiguous
36087            MacTypes.h:184: error: candidates are: typedef SInt32 Fixed
36088            Length.h:37: error:                 WebCore::LengthType WebCore::Fixed
36089            SFNTLayoutTypes.h:689: error: 'Fixed' does not name a type
36090
36091        * platform/mac/HTMLConverter.h: Use forward declaration of
36092        DocumentLoader class instead of including header.  Remove the
36093        unused "using namespace WebCore;" statement.
36094
360952011-03-26  Dimitri Glazkov  <dglazkov@chromium.org>
36096
36097        Reviewed by Eric Seidel.
36098
36099        Introduce EventDispatcher, the new common way to fire events.
36100        https://bugs.webkit.org/show_bug.cgi?id=57168
36101
36102        The goal here is two-fold:
36103        1) reduce the need to randomly sprinkle guards around the dispatch code
36104        by creating a well-scoped abstraction for dispatching events.
36105        2) create a place where fiddly event-related things like creating event
36106        contexts for ancestors can be done lazily.
36107
36108        Additionally, with all the free-standing static functions, this code was
36109        just begging to come out of Node.cpp.
36110
36111        The first step is a near-mechanical extraction of mouse-related events
36112        from Node.cpp to EventDispatcher. For now, the call sites are just
36113        replaced with invoking EventDispatcher. Later, we can remove these methods
36114        from Node.
36115
36116        Refactoring, no functional changes.
36117
36118        * Android.mk: Added EventDispatcher to build system.
36119        * CMakeLists.txt: Ditto.
36120        * GNUmakefile.am: Ditto.
36121        * WebCore.gypi: Ditto.
36122        * WebCore.pro: Ditto.
36123        * WebCore.vcproj/WebCore.vcproj: Ditto.
36124        * WebCore.xcodeproj/project.pbxproj: Ditto.
36125        * dom/DOMAllInOne.cpp: Ditto.
36126        * dom/EventDispatcher.cpp: Added.
36127        * dom/EventDispatcher.h: Added.
36128        * dom/Node.cpp:
36129        (WebCore::Node::dispatchScopedEvent): Replaced to use EventDispatcher.
36130        (WebCore::Node::dispatchEvent): Ditto.
36131        (WebCore::Node::dispatchMouseEvent): Ditto.
36132        (WebCore::Node::dispatchSimulatedClick): Ditto.
36133        * dom/Node.h: Updated decls.
36134
361352011-03-28  Dan Bernstein  <mitz@apple.com>
36136
36137        Reviewed by Maciej Stachowiak.
36138
36139        <rdar://problem/9003382> Incomplete repaint of overflow in flipped lines writing modes
36140        https://bugs.webkit.org/show_bug.cgi?id=57197
36141
36142        Tests: fast/repaint/overflow-flipped-writing-mode-block.html
36143               fast/repaint/overflow-flipped-writing-mode-table.html
36144
36145        * rendering/RenderBlock.cpp:
36146        (WebCore::RenderBlock::paint): Flip the overflow rect before testing for intersection
36147        with the damage rect.
36148        * rendering/RenderTable.cpp:
36149        (WebCore::RenderTable::paint): Made the intersection check more like the one in
36150        RenderBlock::paint().
36151
361522011-03-28  Xiaomei Ji  <xji@chromium.org>
36153
36154        Reviewed by Ryosuke Niwa.
36155
36156        move directionOfEnclosingBlock() to be global so that it could be reused.
36157        https://bugs.webkit.org/show_bug.cgi?id=57233.
36158
36159        Provide global function directionOfEnclosingBlock(Node*) so that it could be
36160        reused in SelectionController and other functionalities that need enclosing
36161        block's direcionality, such as moving caret by word in visual order.
36162
36163        No new functionality, so no new tests.
36164
36165        * editing/SelectionController.cpp:
36166        (WebCore::SelectionController::directionOfEnclosingBlock):
36167        * editing/htmlediting.cpp:
36168        (WebCore::directionOfEnclosingBlock):
36169        * editing/htmlediting.h:
36170
361712011-03-28  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
36172
36173        Reviewed by Benjamin Poulain.
36174
36175        [Qt] fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html fails
36176        https://bugs.webkit.org/show_bug.cgi?id=56825
36177
36178        Fixes for context attribute handling:
36179        - Initialize depth and stencil buffer depending on whether they
36180        are enabled in context attributes.
36181        - Always enable depth buffer when stencil buffer is enabled.
36182        - Disable stencil buffer on OpenGL ES 2.0
36183        - Cleaned up clutter code from initialization. Made code paths
36184        more sane.
36185        - Clear mask is now set correctly in reshape().
36186
36187        Tests: fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
36188
36189        * platform/graphics/qt/GraphicsContext3DQt.cpp:
36190        (WebCore::GraphicsContext3DInternal::isValid):
36191        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
36192        (WebCore::GraphicsContext3DInternal::reshape):
36193        (WebCore::GraphicsContext3DInternal::paint):
36194        (WebCore::GraphicsContext3DInternal::getProcAddress):
36195        (WebCore::GraphicsContext3D::GraphicsContext3D):
36196        (WebCore::GraphicsContext3D::reshape):
36197        (WebCore::GraphicsContext3D::bindFramebuffer):
36198
361992011-03-28  Pavel Feldman  <pfeldman@chromium.org>
36200
36201        Reviewed by Yury Semikhatsky.
36202
36203        Web Inspector: rename network domain events from didHappenSomething to somethingHappened.
36204        https://bugs.webkit.org/show_bug.cgi?id=57226
36205
36206        * inspector/Inspector.json:
36207        * inspector/InspectorResourceAgent.cpp:
36208        (WebCore::InspectorResourceAgent::willSendRequest):
36209        (WebCore::InspectorResourceAgent::markResourceAsCached):
36210        (WebCore::InspectorResourceAgent::didReceiveResponse):
36211        (WebCore::InspectorResourceAgent::didReceiveContentLength):
36212        (WebCore::InspectorResourceAgent::didFinishLoading):
36213        (WebCore::InspectorResourceAgent::didFailLoading):
36214        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
36215        (WebCore::InspectorResourceAgent::setInitialContent):
36216        (WebCore::InspectorResourceAgent::didCommitLoad):
36217        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
36218        (WebCore::InspectorResourceAgent::didCreateWebSocket):
36219        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
36220        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
36221        (WebCore::InspectorResourceAgent::didCloseWebSocket):
36222        * inspector/front-end/NetworkManager.js:
36223        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
36224        (WebInspector.NetworkDispatcher.prototype.resourceMarkedAsCached):
36225        (WebInspector.NetworkDispatcher.prototype.responseReceived):
36226        (WebInspector.NetworkDispatcher.prototype.dataReceived):
36227        (WebInspector.NetworkDispatcher.prototype.loadingFinished):
36228        (WebInspector.NetworkDispatcher.prototype.loadingFailed):
36229        (WebInspector.NetworkDispatcher.prototype.resourceLoadedFromMemoryCache):
36230        (WebInspector.NetworkDispatcher.prototype.frameDetached):
36231        (WebInspector.NetworkDispatcher.prototype.initialContentSet):
36232        (WebInspector.NetworkDispatcher.prototype.frameNavigated):
36233        (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
36234        (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
36235        (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
36236        (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
36237
362382011-03-28  Mikhail Naganov  <mnaganov@chromium.org>
36239
36240        Reviewed by Pavel Feldman.
36241
36242        WebInspector: [Chromium] Delete native CPU profiles and heap snapshots on binding disposal.
36243        https://bugs.webkit.org/show_bug.cgi?id=57099
36244
36245        * bindings/v8/ScriptHeapSnapshot.cpp:
36246        (WebCore::ScriptHeapSnapshot::~ScriptHeapSnapshot):
36247        * bindings/v8/ScriptHeapSnapshot.h:
36248        * bindings/v8/ScriptProfile.cpp:
36249        (WebCore::ScriptProfile::~ScriptProfile):
36250        * bindings/v8/ScriptProfile.h:
36251        * inspector/InspectorProfilerAgent.cpp:
36252        (WebCore::InspectorProfilerAgent::resetState):
36253
362542011-03-24  Pavel Podivilov  <podivilov@chromium.org>
36255
36256        Reviewed by Yury Semikhatsky.
36257
36258        Web Inspector: fix console messages positions in formatted scripts.
36259        https://bugs.webkit.org/show_bug.cgi?id=57010
36260
36261        * inspector/front-end/DebuggerPresentationModel.js:
36262        (WebInspector.DebuggerPresentationModel):
36263        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
36264        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage.didRequestMapping):
36265        (WebInspector.DebuggerPresentationModel.prototype.addConsoleMessage):
36266        (WebInspector.DebuggerPresentationModel.prototype.clearConsoleMessages):
36267        (WebInspector.DebuggerPresentationModel.prototype._reset):
36268        * inspector/front-end/ResourceTreeModel.js:
36269        (WebInspector.ResourceTreeModel.prototype.addConsoleMessage):
36270        * inspector/front-end/ScriptsPanel.js:
36271        (WebInspector.ScriptsPanel):
36272        (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
36273        (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
36274        (WebInspector.ScriptsPanel.prototype._consoleMessageAdded):
36275        (WebInspector.ScriptsPanel.prototype.reset):
36276        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
36277        * inspector/front-end/SourceFile.js:
36278        (WebInspector.SourceFile):
36279        * inspector/front-end/SourceFrame.js:
36280        (WebInspector.SourceFrame.prototype.addMessage):
36281        (WebInspector.SourceFrame.prototype._addExistingMessagesToSource):
36282        (WebInspector.SourceFrame.prototype.addMessageToSource):
36283
362842011-03-27  Pavel Feldman  <pfeldman@chromium.org>
36285
36286        Reviewed by Yury Semikhatsky.
36287
36288        Web Inspector: refactor ResourceTreeModel to remove poor dependencies.
36289        https://bugs.webkit.org/show_bug.cgi?id=57186
36290
36291        - ResourceTreeModel is now event target (Object)
36292        - There is no ResourceTreeModel -> UI dependencies
36293        - NetworkManager -> ResourceTreeModel dependencies has been removed
36294        - NetworkManager is no longer dealing with the resources tree, it is only responsible for network events
36295        - ResourceTreeModel requests tree structure from the backend separately
36296        - Cached resources tree payload is now limited to url and type (no headers involved)
36297        - Resources tree is being rendered lazily upon request from the panel.
36298
36299        * inspector/Inspector.json:
36300        * inspector/InspectorResourceAgent.cpp:
36301        (WebCore::InspectorResourceAgent::resourceContent):
36302        (WebCore::InspectorResourceAgent::resourceContentBase64):
36303        (WebCore::buildObjectForFrameTree):
36304        (WebCore::InspectorResourceAgent::enable):
36305        (WebCore::InspectorResourceAgent::getCachedResources):
36306        (WebCore::InspectorResourceAgent::getResourceContent):
36307        * inspector/InspectorResourceAgent.h:
36308        * inspector/InspectorStyleSheet.cpp:
36309        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
36310        * inspector/front-end/InspectorFrontendHostStub.js:
36311        (.WebInspector.InspectorFrontendHostStub.prototype.sendMessageToBackend):
36312        (.WebInspector.InspectorFrontendHostStub.prototype.loadSessionSetting):
36313        * inspector/front-end/NetworkManager.js:
36314        (WebInspector.NetworkManager):
36315        (WebInspector.NetworkManager.prototype.frontendReused):
36316        (WebInspector.NetworkManager.prototype.requestContent):
36317        (WebInspector.NetworkDispatcher):
36318        (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
36319        (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
36320        (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent):
36321        (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
36322        * inspector/front-end/NetworkPanel.js:
36323        (WebInspector.NetworkPanel):
36324        (WebInspector.NetworkPanel.prototype._updateSummaryBar):
36325        (WebInspector.NetworkPanel.prototype._onFrameCommitLoad):
36326        * inspector/front-end/ResourceTreeModel.js:
36327        (WebInspector.ResourceTreeModel):
36328        (WebInspector.ResourceTreeModel.prototype.frontendReused):
36329        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
36330        (WebInspector.ResourceTreeModel.prototype._addOrUpdateFrame):
36331        (WebInspector.ResourceTreeModel.prototype.frames):
36332        (WebInspector.ResourceTreeModel.prototype.subframes):
36333        (WebInspector.ResourceTreeModel.prototype.resources):
36334        (WebInspector.ResourceTreeModel.prototype._onCommitLoad):
36335        (WebInspector.ResourceTreeModel.prototype._onFrameDetachedFromParent):
36336        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
36337        (WebInspector.ResourceTreeModel.prototype._addResourceToFrame):
36338        (WebInspector.ResourceTreeModel.prototype.resourceForURL):
36339        (WebInspector.ResourceTreeModel.prototype._bindResourceURL):
36340        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
36341        (WebInspector.ResourceTreeModel.prototype._clearResources):
36342        (WebInspector.ResourceTreeModel.prototype._callForFrameResources):
36343        (WebInspector.ResourceTreeModel.prototype._unbindResourceURL):
36344        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
36345        (WebInspector.ResourceTreeModel.prototype._createResource):
36346        * inspector/front-end/ResourcesPanel.js:
36347        (WebInspector.ResourcesPanel):
36348        (WebInspector.ResourcesPanel.prototype.show):
36349        (WebInspector.ResourcesPanel.prototype._populateResourceTree.populateFrame):
36350        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
36351        (WebInspector.ResourcesPanel.prototype._frameAdded):
36352        (WebInspector.ResourcesPanel.prototype._frameDetached):
36353        (WebInspector.ResourcesPanel.prototype._resourceAdded):
36354        (WebInspector.ResourcesPanel.prototype._frameNavigated):
36355        (WebInspector.FrameTreeElement.prototype.setTitles):
36356        * inspector/front-end/inspector.js:
36357        (WebInspector.frontendReused):
36358
363592011-03-27  Ryosuke Niwa  <rniwa@webkit.org>
36360
36361        Reviewed by Eric Seidel.
36362
36363        WebKit's behavior for text-align inherit differs from other browsers
36364        https://bugs.webkit.org/show_bug.cgi?id=56377
36365
36366        The bug was caused by WebKit's resolving text-align: start and text-align: end too early.
36367        As discussed on the bug, when text-align: start and text-align: end are inherited by descendent nodes,
36368        the alignment of the text in those nodes should be determined based on the directionality of the text,
36369        not by the directionality of the ancestor node from which text-align property is inherited.
36370
36371        Fixed the bug by introducing new enum values to ETextAlign: TASTART and TAEND. These two values will
36372        align text to the left in a LTR context and to the right in a RTL context respectively.
36373
36374        * css/CSSPrimitiveValueMappings.h:
36375        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added the support for TASTART and TAEND.
36376        (WebCore::CSSPrimitiveValue::operator ETextAlign): Ditto.
36377        * css/CSSStyleSelector.cpp:
36378        (WebCore::CSSStyleSelector::applyProperty): No longer processes CSSValueStart and CSSValueEnd.
36379        * rendering/RenderBlock.cpp:
36380        (WebCore::RenderBlock::localCaretRect): Added the support for TASTART and TAEND.
36381        * rendering/RenderBlockLineLayout.cpp:
36382        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Added the support for TASTART and TAEND.
36383        * rendering/RenderText.cpp:
36384        (WebCore::RenderText::localCaretRect): Ditto.
36385        * rendering/style/RenderStyle.h: ETextAlign now has 10 values and requires 4 bits.
36386        * rendering/style/RenderStyleConstants.h: Added TASTART and TAEND to ETextAlign.
36387
363882011-03-28  Pavel Podivilov  <podivilov@chromium.org>
36389
36390        Reviewed by Yury Semikhatsky.
36391
36392        Web Inspector: fix breakpoints positions in formatted scripts.
36393        https://bugs.webkit.org/show_bug.cgi?id=56931
36394
36395        Add async requestMapping method to SourceFile interface as required for populating
36396        breakpoints sidebar pane when in "format all scripts" mode.
36397
36398        * inspector/front-end/DebuggerPresentationModel.js:
36399        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
36400        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint.didRequestSourceMapping):
36401        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
36402        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded.didRequestSourceMapping):
36403        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
36404        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.didRequestSourceMapping):
36405        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
36406        (WebInspector.PresentationBreakpoint): Breakpoint wrapper for UI.
36407        (WebInspector.PresentationBreakpoint.prototype.get sourceFileId):
36408        (WebInspector.PresentationBreakpoint.prototype.get lineNumber):
36409        (WebInspector.PresentationBreakpoint.prototype.get condition):
36410        (WebInspector.PresentationBreakpoint.prototype.get enabled):
36411        (WebInspector.PresentationBreakpoint.prototype.get url):
36412        (WebInspector.PresentationBreakpoint.prototype.get resolved):
36413        (WebInspector.PresentationBreakpoint.prototype.loadSnippet):
36414        * inspector/front-end/ScriptFormatter.js:
36415        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
36416        (WebInspector.ScriptFormatter.prototype.formatContent):
36417        * inspector/front-end/SourceFile.js:
36418        (WebInspector.SourceFile.prototype.requestSourceMapping):
36419        (WebInspector.FormattedSourceFile.prototype.requestSourceMapping):
36420        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
36421        (WebInspector.SourceMapping):
36422        (WebInspector.SourceMapping.prototype.scriptLocationToSourceLocation):
36423        (WebInspector.SourceMapping.prototype.sourceLocationToScriptLocation):
36424        (WebInspector.FormattedSourceMapping):
36425        (WebInspector.FormattedSourceMapping.prototype.scriptLocationToSourceLocation):
36426        (WebInspector.FormattedSourceMapping.prototype.sourceLocationToScriptLocation):
36427        (WebInspector.FormattedSourceMapping.prototype._convertPosition):
36428
364292011-03-28  Nancy Piedra  <nancy.piedra@nokia.com>
36430
36431        Reviewed by Csaba Osztrogonác.
36432
36433        This patch fixes linking errors on Qt Webkit Windows MinGW builds.
36434        This patch sets the BUILDING_WEBKIT & QT_MAKEDLL macros so that
36435        QWEBKIT_EXPORT is defined as follows:
36436        #define QWEBKIT_EXPORT Q_DECL_EXPORT
36437
36438        No new tests needed since only changing .pro file.
36439
36440        * WebCore.pro:
36441
364422011-03-28  Andrey Adaikin  <aandrey@google.com>
36443
36444        Reviewed by Yury Semikhatsky.
36445
36446        Web Inspector: source frame should show the error to user when live edit is failed
36447        https://bugs.webkit.org/show_bug.cgi?id=57002
36448
36449        * inspector/front-end/ScriptsPanel.js:
36450        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
36451        * inspector/front-end/SourceFrame.js:
36452        (WebInspector.SourceFrame.prototype._handleSave.didSaveScriptSource):
36453        (WebInspector.SourceFrame.prototype._handleSave):
36454        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
36455
364562011-03-26  Mario Sanchez Prada  <msanchez@igalia.com>
36457
36458        Reviewed by Martin Robinson.
36459
36460        [GTK] Expose the AtkValue interface for WAI-ARIA sliders
36461        https://bugs.webkit.org/show_bug.cgi?id=56655
36462
36463        Implement AtkValue interface for WAI-ARIA sliders.
36464
36465        Test: platform/gtk/accessibility/aria-slider-required-attributes.html
36466
36467        * accessibility/gtk/AXObjectCacheAtk.cpp:
36468        (WebCore::AXObjectCache::postPlatformNotification): Emit the
36469        'property-change::accessible-value' signal when needed.
36470
36471        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
36472        (core): New, returns a core object from an AtkValue.
36473        (webkitAccessibleValueGetCurrentValue): New, implements AtkValue.
36474        (webkitAccessibleValueGetMaximumValue): Ditto.
36475        (webkitAccessibleValueGetMinimumValue): Ditto.
36476        (webkitAccessibleValueSetCurrentValue): Ditto.
36477        (webkitAccessibleValueGetMinimumIncrement): Ditto.
36478        (atkValueInterfaceInit): Ditto.
36479        (GetAtkInterfaceTypeFromWAIType): Add ATK_TYPE_VALUE.
36480        (getInterfaceMaskFromObject): Set the WAI_VALUE bit for sliders.
36481
364822011-03-28  Maciej Stachowiak  <mjs@apple.com>
36483
36484        Reviewed by Dan Bernstein.
36485
36486        Assigning location.path to something that doesn't start with / mangles the authority
36487        https://bugs.webkit.org/show_bug.cgi?id=57209
36488        <rdar://problem/9195132>
36489
36490        Tests: http/tests/uri/assign-path-with-leading-slash.html
36491               http/tests/uri/assign-path-without-leading-slash.html
36492
36493        * platform/KURL.cpp:
36494        (WebCore::KURL::setPath): If the new path does not have a leading slash, add one.
36495
364962011-03-28  Ryosuke Niwa  <rniwa@webkit.org>
36497
36498        Reviewed by Eric Seidel.
36499
36500        Extract functions to update logical width from computeInlineDirectionPositionsForLine
36501        https://bugs.webkit.org/show_bug.cgi?id=57213
36502
36503        Extracted updateLogicalWidthForLeftAlignedBlock, updateLogicalWidthForRightAlignedBlock,
36504        and updateLogicalWidthForCenterAlignedBlock from computeInlineDirectionPositionsForLine.
36505
36506        They are used to update logical widths, logical left, and total logical width for left,
36507        right, and center aligned blocks.
36508
36509        * rendering/RenderBlockLineLayout.cpp:
36510        (WebCore::updateLogicalWidthForLeftAlignedBlock):
36511        (WebCore::updateLogicalWidthForRightAlignedBlock):
36512        (WebCore::updateLogicalWidthForCenterAlignedBlock):
36513        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
36514
365152011-03-28  Evan Martin  <evan@chromium.org>
36516
36517        Reviewed by Ryosuke Niwa.
36518
36519        Refactor duplicate code in HTMLTextElement
36520        https://bugs.webkit.org/show_bug.cgi?id=57215
36521
36522        * html/HTMLTitleElement.cpp:
36523        (WebCore::HTMLTitleElement::childrenChanged):
36524        This method did an equivalent loop to the text() method on
36525        the same object.
36526
365272011-03-27  Fumitoshi Ukai  <ukai@chromium.org>
36528
36529        Reviewed by Alexey Proskuryakov.
36530
36531        Don't call WebSocket::didClose() more than once.
36532        https://bugs.webkit.org/show_bug.cgi?id=57081
36533
36534        If WebSocket close() is called, and connection is established, then
36535        it will call didClose() that resets m_channel to 0.
36536        After that, when connection is closed, WebSocketChannel will call
36537        didClose for the WebSocket instance.
36538
36539        Call WebSocketChannel::disconnect() before m_channel = 0 to make sure
36540        WebSocketChannel suppress the second didClose().
36541
36542        Test: http/tests/websocket/tests/close-unref-websocket.html
36543
36544        * websockets/WebSocket.cpp:
36545        (WebCore::WebSocket::didClose):
36546
365472011-03-27  Adam Barth  <abarth@webkit.org>
36548
36549        Reviewed by Eric Seidel.
36550
36551        Fix script-src redirect handling
36552        https://bugs.webkit.org/show_bug.cgi?id=57196
36553
36554        Resource-loading requirements in CSP apply to each hop in the redirect
36555        chain.  To make that work properly, we need to move enforcement into
36556        the loader.  Fortunately, we already have a choke-point in the loader
36557        for enforcing this kind of policy.
36558
36559        * dom/ScriptElement.cpp:
36560        (WebCore::ScriptElement::requestScript):
36561        * html/parser/HTMLDocumentParser.cpp:
36562        * html/parser/HTMLDocumentParser.h:
36563        * html/parser/HTMLScriptRunnerHost.h:
36564        * loader/cache/CachedResourceLoader.cpp:
36565        (WebCore::CachedResourceLoader::canRequest):
36566        * page/ContentSecurityPolicy.cpp:
36567        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
36568        * page/ContentSecurityPolicy.h:
36569
365702011-03-27  Jer Noble  <jer.noble@apple.com>
36571
36572        Reviewed by Maciej Stachowiak.
36573
36574        Full Screen: disable keyboard access by default
36575        https://bugs.webkit.org/show_bug.cgi?id=56684
36576
36577        Pass whether keyboard access was requested up to ChromeClient when asking
36578        if fullscreen mode is supported.
36579
36580        * dom/Document.cpp:
36581        (WebCore::Document::webkitRequestFullScreenForElement):
36582        * page/ChromeClient.h:
36583        (WebCore::ChromeClient::supportsFullscreenForElement):
36584
365852011-03-27  Patrick Gansterer  <paroga@webkit.org>
36586
36587        Reviewed by Andreas Kling.
36588
36589        [CMake] Generate WebKitVersion.h
36590        https://bugs.webkit.org/show_bug.cgi?id=57128
36591
36592        This file will be used for the user agent string by the CMake based ports.
36593
36594        * CMakeLists.txt:
36595
365962011-03-27  Ben Taylor  <bentaylor.solx86@gmail.com>
36597
36598        Reviewed by Alexey Proskuryakov.
36599
36600        https://bugs.webkit.org/show_bug.cgi?id=57170  Fix last elements
36601        in an enum to remove a trailing comma. Sun Studio 12 CC errors out.
36602
36603        Compile fix only, no actual code change.
36604
36605        * dom/ExceptionCode.h:
36606        * editing/EditorInsertAction.h:
36607        * loader/FrameLoaderTypes.h:
36608        * platform/PlatformKeyboardEvent.h:
36609        * platform/ScrollTypes.h:
36610        * platform/graphics/BitmapImage.h:
36611        * platform/image-decoders/ImageDecoder.h:
36612        * platform/network/ProtectionSpace.h:
36613        * platform/network/ResourceHandleClient.h:
36614        * platform/network/ResourceRequestBase.h:
36615        * platform/text/TextCodec.h:
36616
366172011-03-27  Rob Buis  <rwlbuis@gmail.com>
36618
36619        Reviewed by Nikolas Zimmermann.
36620
36621        Text on path positioning at zero startOffset
36622        https://bugs.webkit.org/show_bug.cgi?id=56245
36623
36624        Since for length 0 no previous point is set, choose epsilon
36625        length to get normal at starting point of the path.
36626
36627        Test: svg/text/text-path-middle-align.svg
36628
36629        * platform/graphics/Path.cpp:
36630        (WebCore::Path::normalAngleAtLength):
36631
366322011-03-27  Ben Taylor  <bentaylor.solx86@gmail.com>
36633
36634        Reviewed by Oliver Hunt.
36635
36636        https://bugs.webkit.org/show_bug.cgi?id=57151, patch derived from set
36637        created by Thiago Macieria in bug https://bugs.webkit.org/show_bug.cgi?id=24932
36638
36639        Fix compile issue on Solaris 10/Sun Studio 12 regarding ambiguity on ?: functions
36640
36641        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
36642        (WebCore::JSJavaScriptCallFrame::thisObject):
36643
366442011-03-26  Jer Noble  <jer.noble@apple.com>
36645
36646        Unreviewed build fix.
36647
36648        Fix a bug which was causing the "skip back" button to be missing, causing
36649        the media layout tests to fail.
36650
36651        * rendering/RenderThemeMac.mm:
36652        (WebCore::RenderThemeMac::shouldRenderMediaControlPart):
36653
366542011-03-26  Dan Bernstein  <mitz@apple.com>
36655
36656        Reviewed by Maciej Stachowiak.
36657
36658        <rdar://problem/9180716> REGRESSION (r80582): Angle bracket rendered upright in vertical mode
36659        https://bugs.webkit.org/show_bug.cgi?id=57169
36660
36661        Test: fast/blockflow/fallback-orientation.html
36662
36663        * platform/graphics/FontFastPath.cpp:
36664        (WebCore::Font::glyphDataForCharacter): If the font has vertical glyphs, use it, rather
36665        than continuing down the fallback list.
36666
366672011-03-26  Maciej Stachowiak  <mjs@apple.com>
36668
36669        Reviewed by Darin Adler.
36670
36671        Follow-up fix for crash with giant inline stylesheets - actually don't crash, and add test
36672        https://bugs.webkit.org/show_bug.cgi?id=56150
36673
36674        Test: fast/css/giant-stylesheet-crash.html
36675
36676        * dom/StyleElement.cpp:
36677        (WebCore::StyleElement::process):
36678
366792011-03-22  Jer Noble  <jer.noble@apple.com>
36680
36681        Reviewed by Eric Carlson.
36682
36683        Media controls must use full screen style when in new full screen mode.
36684        https://bugs.webkit.org/show_bug.cgi?id=56851
36685
36686        Add new full screen styles for the full screen media elements.
36687
36688        * DerivedSources.make: Add fullScreenQuickTime.css.
36689        * WebCore.xcodeproj/project.pbxproj: Ditto.
36690        * css/CSSStyleSelector.cpp: Removed loadFullScreenRulesIfNeeded().
36691        (WebCore::CSSStyleSelector::CSSStyleSelector): Ditto.
36692        (WebCore::CSSStyleSelector::styleForElement): Load full screen rules
36693            if needed.
36694        * css/fullscreenQuickTime.css: Added.
36695        * css/mediaControls.css:
36696        * html/shadow/MediaControls.cpp:
36697        (WebCore::isFullScreen): Added.
36698        (WebCore::MediaControls::create): Add new full screen volume controls.
36699        (WebCore::MediaControls::updateStyle): Ditto.
36700        (WebCore::MediaControls::update): Ditto.
36701        (WebCore::MediaControls::updateVolumeSliderContainer): Ditto.
36702        (WebCore::MediaControls::forwardEvent): Ditto.
36703        * rendering/MediaControlElements.cpp:
36704        (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement): Added.
36705        (WebCore::MediaControlFullscreenVolumeSliderElement::create): Added.
36706        (WebCore::MediaControlFullscreenVolumeSliderElement::shadowPseudoId): Added.
36707        (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement): Addet
36708        (WebCore::MediaControlFullscreenVolumeMinButtonElement::create): Added.
36709        (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler): Added.
36710        (WebCore::MediaControlFullscreenVolumeMinButtonElement::shadowPseudoId): Added.
36711        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement): Added.
36712        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create): Added.
36713        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler): Added.
36714        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::shadowPseudoId): Added.
36715        * rendering/MediaControlElements.h:
36716            Added m_overridePosition.
36717        (WebCore::MediaControlVolumeSliderContainerElement::setOverridesPosition): Added.
36718        * rendering/MediaControlElements.h:
36719        (WebCore::MediaControlVolumeSliderContainerElement::overridesPosition): Added.
36720        * rendering/RenderTheme.h:
36721        (WebCore::RenderTheme::extraFullScreenStyleSheet): Added.
36722        * rendering/RenderThemeMac.h:
36723        * rendering/RenderThemeMac.mm:
36724        (WebCore::RenderThemeMac::extraFullScreenStyleSheet): Added.
36725        (WebCore::RenderThemeMac::shouldRenderMediaControlPart): Render seek forward and backward
36726            buttons.
36727
367282011-03-26  Jer Noble  <jer.noble@apple.com>
36729
36730        Reviewed by Dan Bernstein.
36731
36732        RenderMedia should obey the view's flattening bit.
36733        https://bugs.webkit.org/show_bug.cgi?id=57156
36734
36735        Paint the current frame in software when the associated FrameView
36736        has its flattening bit set.
36737
36738        * rendering/RenderVideo.cpp:
36739        (WebCore::RenderVideo::paintReplaced):
36740
367412011-03-26  Patrick Gansterer  <paroga@webkit.org>
36742
36743        Unreviewed build fix for !ENABLE(DOM_STORAGE).
36744
36745        * storage/StorageTracker.cpp:
36746            Added #if ENABLE(DOM_STORAGE) like in the other storage files.
36747
367482011-03-26  Kwang Yul Seo  <skyul@company100.net>
36749
36750        Reviewed by Benjamin Poulain.
36751
36752        [Qt] Remove GraphicsLayerTextureMapper::nativeLayer
36753        https://bugs.webkit.org/show_bug.cgi?id=57141
36754
36755        GraphicsLayer::nativeLayer was removed in r73380.
36756
36757        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
36758        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
36759
367602011-03-26  Adam Barth  <abarth@webkit.org>
36761
36762        Reviewed by Eric Seidel.
36763
36764        Teach Content Security Policy how to parse source-list
36765        https://bugs.webkit.org/show_bug.cgi?id=54799
36766
36767        This patch is larger than I would like, but I wasn't sure how to make
36768        it any smaller while still being reasonably testable.  I've left out
36769        some features (such as host wildcarding and 'self') so I can add them
36770        in later patches with tests.
36771
36772        Test: http/tests/security/contentSecurityPolicy/source-list-parsing.html
36773
36774        * bindings/ScriptControllerBase.cpp:
36775        * dom/ScriptElement.cpp:
36776        * html/parser/HTMLDocumentParser.cpp:
36777        * loader/FrameLoader.cpp:
36778            - Add include explicitly now that we're not spamming the include
36779              everywhere.
36780        * dom/Document.cpp:
36781        (WebCore::Document::initSecurityContext):
36782            - We need to pass the SecurityOrigin object to
36783              ContentSecurityPolicy so that it can resolve implicit parts of
36784              source patterns, such as the scheme.
36785        * dom/Document.h:
36786            - Forward declare ContentSecurityPolicy rather than including the
36787              header.  Technically this could be a separate change, but I was
36788              getting annoyed at the world re-builds.
36789        * page/ContentSecurityPolicy.cpp:
36790        (WebCore::skipExactly):
36791        (WebCore::skipUtil):
36792        (WebCore::skipWhile):
36793            - Clean up these parser helper functions.  We might consider moving
36794              them to a more general location.  They're very helpful for
36795              writing secure HTTP header parsers.
36796        (WebCore::CSPSource::CSPSource):
36797            - New class to represent one source in a source-list.
36798        (WebCore::CSPSource::matches):
36799        (WebCore::CSPSource::schemeMatches):
36800        (WebCore::CSPSource::hostMatches):
36801        (WebCore::CSPSource::portMatches):
36802        (WebCore::CSPSource::isSchemeOnly):
36803            - Currently we represent scheme-only sources using with an empty
36804              m_host.  Another approach I considered was using another bool,
36805              but that seemed slighly messier.
36806        (WebCore::CSPSourceList::CSPSourceList):
36807            - CSPSourceList doesn't need to ref SecurityOrigin because
36808              CSPSourceList is owned by ContentSecurityPolicy, which holds a
36809              ref.
36810        (WebCore::CSPSourceList::parse):
36811        (WebCore::CSPSourceList::matches):
36812        (WebCore::CSPSourceList::parseSource):
36813        (WebCore::CSPSourceList::parseScheme):
36814        (WebCore::CSPSourceList::parseHost):
36815        (WebCore::CSPSourceList::parsePort):
36816            - A basic "segment and recurse" parser.  This parser causes us to
36817              take more branches than we need, but I don't think we need to
36818              squeeze every last ouch of performance out of this parser.  This
36819              approach is more simple than some of the other approaches I
36820              tried.
36821        (WebCore::CSPSourceList::addSourceSelf):
36822        (WebCore::CSPDirective::CSPDirective):
36823        (WebCore::CSPDirective::allows):
36824        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
36825        (WebCore::ContentSecurityPolicy::parse):
36826        (WebCore::ContentSecurityPolicy::parseDirective):
36827        (WebCore::ContentSecurityPolicy::addDirective):
36828            - I couldn't resist re-writing this parser to use the helper
36829              functions and to match the style of the source-list parser.
36830        * page/ContentSecurityPolicy.h:
36831        (WebCore::ContentSecurityPolicy::create):
36832            - Accept a SecurityOrigin context object.
36833
368342011-03-26  Patrick Gansterer  <paroga@webkit.org>
36835
36836        Unreviewed EFL and WinCE build fix for r81977.
36837
36838        * platform/graphics/FontPlatformData.h:
36839
368402011-03-26  Patrick Gansterer  <paroga@webkit.org>
36841
36842        Unreviewed WinCE build fix for r82000.
36843
36844        * platform/wince/FileSystemWinCE.cpp:
36845        (WebCore::openFile): Added missing function.
36846
368472011-03-25  Kevin Ollivier  <kevino@theolliviers.com>
36848
36849        [wx] Build fix, don't use the new FPD implementation yet, until we can merge ours with it.
36850
36851        * platform/graphics/FontPlatformData.h:
36852
368532011-03-25  Jer Noble  <jer.noble@apple.com>
36854
36855        Reviewed by Eric Carlson.
36856
36857        MediaPlayerPrivateQuickTimeVisualContext should use the Application Cache during load.
36858        https://bugs.webkit.org/show_bug.cgi?id=57047
36859
36860        No new tests.
36861
36862        When loading a URL, checkk osee if the Appplication Cache has a version of that URL
36863        stored; if so, use the local path to that cached media instead of the remote URL.
36864
36865        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
36866        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::loadInternal):
36867        * platform/graphics/win/QTMovie.cpp:
36868        (QTMovie::loadPath):
36869        * platform/graphics/win/QTMovie.h:
36870
368712011-03-25  Dan Bernstein  <mitz@apple.com>
36872
36873        Reviewed by Darin Adler.
36874
36875        <rdar://problem/9134330> Missing expansion before ideograph at the beginning or end of a text run
36876        https://bugs.webkit.org/show_bug.cgi?id=57106
36877
36878        Test: fast/text/justify-ideograph-leading-expansion.html
36879
36880        * platform/graphics/TextRun.h:
36881        Replaced TrailingExpansionBehavior enum with ExpansionBehavior flags.
36882        (WebCore::TextRun::TextRun): Constructors now take an expansionBehavior parameter.
36883        (WebCore::TextRun::allowsLeadingExpansion): Added this accessor.
36884        (WebCore::TextRun::allowsTrailingExpansion): Changed to use the m_expansionBehavior member.
36885        * platform/graphics/WidthIterator.cpp:
36886        (WebCore::WidthIterator::WidthIterator): Initialize m_isAfterExpansion from the TextRun, allowing
36887        leading expansion when appropriate.
36888        (WebCore::WidthIterator::advance): Moved the last-glyph-in-run check to only apply to expansion
36889        after the glyph, not expansion before the glyph, since that is not trailing expansion. Added code
36890        to handle expansion before the first glyph.
36891        * platform/graphics/mac/ComplexTextController.cpp:
36892        (WebCore::ComplexTextController::ComplexTextController): Initialize m_afterExpansion from the
36893        TextRun, allowing leading expansion when appropriate. Set m_runWidthSoFar to the leading expansion.
36894        (WebCore::ComplexTextController::offsetForPosition): Account for leading expansion.
36895        (WebCore::ComplexTextController::adjustGlyphsAndAdvances): Similar to WidthIterator::advance()
36896        * platform/graphics/mac/ComplexTextController.h: Added m_leadingExpansion member variable.
36897        * rendering/InlineBox.h:
36898        (WebCore::InlineBox::InlineBox): Renamed m_hasSelectedChildren to m_hasSelectedChildrenOrCanHaveLeadingExpansion
36899        to reflect the use of this bit by InlineTextBox.
36900        * rendering/InlineTextBox.cpp:
36901        (WebCore::InlineTextBox::selectionRect): Replaced calls to trailingExpansionBehavior() with expansionBehavior().
36902        (WebCore::InlineTextBox::paint): Ditto.
36903        (WebCore::InlineTextBox::paintSelection): Ditto.
36904        (WebCore::InlineTextBox::paintCompositionBackground): Ditto.
36905        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker): Ditto.
36906        (WebCore::InlineTextBox::paintTextMatchMarker): Ditto.
36907        (WebCore::InlineTextBox::computeRectForReplacementMarker): Ditto.
36908        (WebCore::InlineTextBox::offsetForPosition): Ditto.
36909        (WebCore::InlineTextBox::positionForOffset): Ditto.
36910        * rendering/InlineTextBox.h:
36911        (WebCore::InlineTextBox::canHaveLeadingExpansion): Added this accessor.
36912        (WebCore::InlineTextBox::setCanHaveLeadingExpansion): Ditto.
36913        (WebCore::InlineTextBox::expansionBehavior): Replaced trailingExpansionBehavior() with this function,
36914        which also considers canHaveLeadingExpansion().
36915        * rendering/RenderBlockLineLayout.cpp:
36916        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Call setCanHaveLeadingExpansion() on
36917        text boxes that can have leading expansion. Avoid negative expansion.
36918        * rendering/RootInlineBox.cpp:
36919        * rendering/RootInlineBox.h:
36920        (WebCore::RootInlineBox::hasSelectedChildren): Updated for renaming of the flag.
36921        (WebCore::RootInlineBox::setHasSelectedChildren): Ditto.
36922
369232011-03-23  Jer Noble  <jer.noble@apple.com>
36924
36925        Reviewed by Maciej Stachowiak.
36926
36927        MediaPlayerPrivateAVFoundation should use the Application Cache during load.
36928        https://bugs.webkit.org/show_bug.cgi?id=56997
36929
36930        No new tests.
36931
36932        When loading a URL, check to see if the Application Cache has a version of that URL
36933        stored; if so, use the local path to that cached media instead of the remote URL.
36934
36935        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
36936        (WebCore::MediaPlayerPrivateAVFoundation::prepareToPlay): Check to see if the media should be loaded
36937            from the application cache.
36938        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
36939        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h:
36940        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
36941        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForURL):
36942        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerForCacheResource): Added.
36943        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer): Split out from createAVPlayerForURL.
36944
369452011-03-25  Ben Taylor  <bentaylor.solx86@gmail.com>
36946
36947        Reviewed by Darin Adler.
36948
36949        https://bugs.webkit.org/show_bug.cgi?id=57122. Solaris 10/SunStudio 12 expect
36950        both sides of a ?: operation to have the same types.  Extracted from original
36951        https://bugs.webkit.org/show_bug.cgi?id=24932, patch 13 of 17, and originally
36952        created by Thiago Macieira.
36953
36954        fixes a compile issue on Solaris 10/SunStudio 12
36955
36956        * loader/DocumentLoader.h:
36957        (WebCore::DocumentLoader::serverRedirectSourceForHistory):
36958        * loader/FrameLoader.cpp:
36959        (WebCore::FrameLoader::load):
36960        (WebCore::FrameLoader::loadWithNavigationAction):
36961
369622011-02-03  Jer Noble  <jer.noble@apple.com>
36963
36964        Reviewed by Maciej Stachowiak.
36965
36966        MediaPlayerPrivateQTKit should use the Application Cache during load.
36967        https://bugs.webkit.org/show_bug.cgi?id=53818
36968
36969        No new tests.
36970
36971        When loading a URL, check to see if the Application Cache has a version of that URL
36972        stored; if so, use that data instead of the remote URL.
36973
36974        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
36975        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
36976        (WebCore::MediaPlayerPrivateQTKit::commonMovieAttributes):
36977        (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
36978        (WebCore::MediaPlayerPrivateQTKit::loadInternal):
36979
369802011-03-25  James Robinson  <jamesr@chromium.org>
36981
36982        Reviewed by Kenneth Russell.
36983
36984        [chromium] Move draw implementations to CCLayerImpl for everything except content layers
36985        https://bugs.webkit.org/show_bug.cgi?id=56793
36986
36987        Moves the implementation of the layer's draw() function from LayerChromium subclasses to CCLayerImpl subclasses for
36988        all layer types except content layers.  This gets us closer to decoupling the composite step itself from updating the layers.
36989
36990        The biggest change in this patch is adding a set of CCLayerImpl subclasses to implement the different drawing routines
36991        and moving the code from each XXXLayerChromium to CCXXXLayerImpl.  In order to render from the CCLayerImpl side all state
36992        needed at draw time also has to be synchronized, which is performed in pushPropertiesTo().
36993
36994        On the LayerRendererChromium side there are a few changes.  I've split the updateContents calls on LayerChromiums into two operations
36995        tentatively named 'paintContentsIfNeeded' and 'updateCompositorResources'.  paintContents() is used for any code that calls into WebKit in order to generate
36996        new pixel data.  It's expected that this call may take a long period of time and may involve "odd" side effects.  updateCompositorResources() is used for
36997        code that needs to update the compositor's texture data or other state.  It is not expected that this callback will take long (since it's just inserting
36998        commands into the GL command stream, ideally) and this call is expected to have access to the compositor's context, unlike paintContents().
36999
37000        The updateAndDrawLayers cycle now looks like this:
37001        1.) update the root content layer
37002        2.) update the root layer scrollbars
37003        3.) for each LayerChromium in tree order:
37004          a.) ensure a CCLayerImpl of the correct type exists for this layer
37005          b.) push all draw time properties from the LayerChromium to the CCLayerImpl
37006          c.) construct the appropriate draw transforms, render surfaces and render surface z-order sublayer lists
37007        4.) for each LayerChromium in tree order, paint the layer's contents
37008        5.) for each LayerChromium in tree order, update the associate compositor resources (textures, etc)
37009        6.) draw the root layer and its scrollbars
37010        7.) for each CCLayerImpl in render surface order, draw it
37011
37012        Step 3 should really happen after step 5, but right now painting a content layer requires knowledge of the render surface properties and draw transforms
37013        in order to paint.  We also currently push layer properties from LayerChromium->CCLayerImpls twice now - once at 3.b and once after 5 so we can pick
37014        up any texture updates.  This will also get fixed when the paint dependency on render surfaces is resolved.
37015
37016        I haven't modified the root layer or content layers in order to minimize conflicts with the other pending work in that area.
37017
37018        Tests: compositing/
37019
37020        * WebCore.gypi:
37021        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
37022        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
37023        * platform/graphics/chromium/Canvas2DLayerChromium.h:
37024        * platform/graphics/chromium/CanvasLayerChromium.cpp:
37025        (WebCore::CanvasLayerChromium::createCCLayerImpl):
37026        (WebCore::CanvasLayerChromium::pushPropertiesTo):
37027        * platform/graphics/chromium/CanvasLayerChromium.h:
37028        * platform/graphics/chromium/ContentLayerChromium.cpp:
37029        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
37030        (WebCore::ContentLayerChromium::paintContentsIfDirty):
37031        (WebCore::ContentLayerChromium::updateCompositorResources):
37032        (WebCore::ContentLayerChromium::bindContentsTexture):
37033        * platform/graphics/chromium/ContentLayerChromium.h:
37034        * platform/graphics/chromium/ImageLayerChromium.cpp:
37035        (WebCore::ImageLayerChromium::paintContentsIfDirty):
37036        * platform/graphics/chromium/ImageLayerChromium.h:
37037        * platform/graphics/chromium/LayerChromium.cpp:
37038        (WebCore::LayerChromium::LayerChromium):
37039        (WebCore::LayerChromium::cleanupResources):
37040        (WebCore::LayerChromium::setLayerRenderer):
37041        (WebCore::LayerChromium::setName):
37042        (WebCore::LayerChromium::pushPropertiesTo):
37043        (WebCore::LayerChromium::dumpLayer):
37044        (WebCore::LayerChromium::createCCLayerImpl):
37045        (WebCore::LayerChromium::createCCLayerImplIfNeeded):
37046        (WebCore::LayerChromium::ccLayerImpl):
37047        (WebCore::LayerChromium::layerRenderer):
37048        * platform/graphics/chromium/LayerChromium.h:
37049        (WebCore::LayerChromium::paintContentsIfDirty):
37050        (WebCore::LayerChromium::updateCompositorResources):
37051        * platform/graphics/chromium/LayerRendererChromium.cpp:
37052        (WebCore::LayerRendererChromium::updateLayers):
37053        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
37054        (WebCore::LayerRendererChromium::paintContentsRecursive):
37055        (WebCore::LayerRendererChromium::updateCompositorResourcesRecursive):
37056        (WebCore::LayerRendererChromium::drawLayer):
37057        (WebCore::LayerRendererChromium::initializeSharedObjects):
37058        * platform/graphics/chromium/LayerRendererChromium.h:
37059        (WebCore::LayerRendererChromium::canvasLayerProgram):
37060        (WebCore::LayerRendererChromium::pluginLayerProgram):
37061        (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
37062        (WebCore::LayerRendererChromium::videoLayerYUVProgram):
37063        * platform/graphics/chromium/PluginLayerChromium.cpp:
37064        (WebCore::PluginLayerChromium::createCCLayerImpl):
37065        (WebCore::PluginLayerChromium::setTextureId):
37066        (WebCore::PluginLayerChromium::pushPropertiesTo):
37067        * platform/graphics/chromium/PluginLayerChromium.h:
37068        (WebCore::PluginLayerChromium::textureId):
37069        * platform/graphics/chromium/VideoLayerChromium.cpp:
37070        (WebCore::VideoLayerChromium::createCCLayerImpl):
37071        (WebCore::VideoLayerChromium::updateCompositorResources):
37072        (WebCore::VideoLayerChromium::pushPropertiesTo):
37073        * platform/graphics/chromium/VideoLayerChromium.h:
37074        * platform/graphics/chromium/WebGLLayerChromium.cpp:
37075        (WebCore::WebGLLayerChromium::updateCompositorResources):
37076        * platform/graphics/chromium/WebGLLayerChromium.h:
37077        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp.
37078        (WebCore::CCCanvasLayerImpl::CCCanvasLayerImpl):
37079        (WebCore::CCCanvasLayerImpl::~CCCanvasLayerImpl):
37080        (WebCore::CCCanvasLayerImpl::draw):
37081        (WebCore::CCCanvasLayerImpl::dumpLayerProperties):
37082        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
37083        (WebCore::CCCanvasLayerImpl::create):
37084        (WebCore::CCCanvasLayerImpl::setTextureId):
37085        (WebCore::CCCanvasLayerImpl::setPremultipliedAlpha):
37086        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
37087        (WebCore::CCLayerImpl::descendantsDrawsContent):
37088        (WebCore::CCLayerImpl::updateCompositorResources):
37089        (WebCore::CCLayerImpl::writeIndent):
37090        * platform/graphics/chromium/cc/CCLayerImpl.h:
37091        (WebCore::CCLayerImpl::setAnchorPoint):
37092        (WebCore::CCLayerImpl::setAnchorPointZ):
37093        (WebCore::CCLayerImpl::setMasksToBounds):
37094        (WebCore::CCLayerImpl::setOpacity):
37095        (WebCore::CCLayerImpl::setPosition):
37096        (WebCore::CCLayerImpl::setPreserves3D):
37097        (WebCore::CCLayerImpl::setSublayerTransform):
37098        (WebCore::CCLayerImpl::setTransform):
37099        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp.
37100        (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
37101        (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
37102        (WebCore::CCPluginLayerImpl::draw):
37103        (WebCore::CCPluginLayerImpl::dumpLayerProperties):
37104        * platform/graphics/chromium/cc/CCPluginLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
37105        (WebCore::CCPluginLayerImpl::create):
37106        (WebCore::CCPluginLayerImpl::setTextureId):
37107        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp: Added.
37108        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
37109        (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
37110        (WebCore::CCVideoLayerImpl::setTexture):
37111        (WebCore::CCVideoLayerImpl::draw):
37112        (WebCore::CCVideoLayerImpl::drawYUV):
37113        (WebCore::CCVideoLayerImpl::drawRGBA):
37114        (WebCore::CCVideoLayerImpl::dumpLayerProperties):
37115        * platform/graphics/chromium/cc/CCVideoLayerImpl.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
37116        (WebCore::CCVideoLayerImpl::create):
37117        (WebCore::CCVideoLayerImpl::setSkipsDraw):
37118        (WebCore::CCVideoLayerImpl::setFrameFormat):
37119
371202011-03-25  Oliver Hunt  <oliver@apple.com>
37121
37122        Reviewed by Darin Adler.
37123
37124        Allow defineOwnProperty to work on DOMObjects
37125        https://bugs.webkit.org/show_bug.cgi?id=57129
37126
37127        As other engines are allowing defineOwnProperty to be applied
37128        to host objects there's no reason for us to retain this
37129        restriction.
37130
37131        * bindings/js/JSDOMWrapper.cpp:
37132        * bindings/js/JSDOMWrapper.h:
37133
371342011-03-25  Andy Estes  <aestes@apple.com>
37135
37136        Reviewed by Adele Peterson.
37137
37138        REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
37139        https://bugs.webkit.org/show_bug.cgi?id=49016
37140
37141        AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the
37142        QuickTime plug-in in web pages. r70748 removed our mapping of classids
37143        to MIME types, which causes WebKit to fall back from the object to the
37144        embed tag when QuickTime is embedded by this script. The script emits
37145        the following embed tag to embed a QuickTime movie with a poster frame:
37146
37147        <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov">
37148
37149        The expectation is that a QuickTime plug-in is instantiated to display the
37150        poster frame, since QuickTime registers for many common image MIME
37151        types. This is how Gecko behaves for embed. However, WebKit prefers to
37152        use its native image rendering for image embeds, in which case no movie
37153        is played when the poster frame is clicked.
37154
37155        Fix this by changing embed to check for a plug-in that can handle the
37156        image type before rendering the image natively. This matches Gecko.
37157
37158        Test: plugins/embed-prefers-plugins-for-images.html
37159
37160        * html/HTMLEmbedElement.cpp:
37161        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
37162        * html/HTMLObjectElement.cpp:
37163        (WebCore::HTMLObjectElement::HTMLObjectElement):
37164        (WebCore::HTMLObjectElement::parametersForPlugin):
37165        * html/HTMLPlugInImageElement.cpp:
37166        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
37167        (WebCore::HTMLPlugInImageElement::isImageType):
37168        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
37169        * html/HTMLPlugInImageElement.h:
37170        (WebCore::HTMLPlugInImageElement::shouldPreferPlugInsForImages):
37171        * loader/EmptyClients.h:
37172        (WebCore::EmptyFrameLoaderClient::objectContentType):
37173        * loader/FrameLoader.cpp:
37174        (WebCore::FrameLoader::defaultObjectContentType):
37175        * loader/FrameLoader.h:
37176        * loader/FrameLoaderClient.h:
37177        * loader/SubframeLoader.cpp:
37178        (WebCore::SubframeLoader::resourceWillUsePlugin):
37179        (WebCore::SubframeLoader::requestPlugin):
37180        (WebCore::SubframeLoader::requestObject):
37181        (WebCore::SubframeLoader::shouldUsePlugin):
37182        * loader/SubframeLoader.h:
37183
371842011-03-23  Jer Noble  <jer.noble@apple.com>
37185
37186        Reviewed by Eric Carlson.
37187
37188        Application Cache should save audio/ and video/ mime types as flat files
37189        https://bugs.webkit.org/show_bug.cgi?id=53784
37190        <rdar://problem/8932473>
37191
37192        No new tests, as this behavior is not possible to test without changes to the MediaPlayer engines.
37193
37194        Store certain mime types as flat files alongside the Application Cache database.
37195        This requires plumbing the saved file path from ApplicationCacheStorage through
37196        to ApplicationCacheResource.
37197
37198        (WebCore::ApplicationCacheStorage::openDatabase): Modify the CacheResourceData schema and
37199            add a new DeletedCacheResources table, add a new CacheResourceDataDeleted trigger.
37200        (WebCore::ApplicationCacheStorage::store): Add the new path data when adding new rows in
37201            CacheResourceData, and store media resources as flat files.
37202        (WebCore::ApplicationCacheStorage::loadCache): Pull the "path" column from CacheResourceData
37203            when loading cache items.
37204        (WebCore::ApplicationCacheStorage::remove): Call checkForDeletedResources.
37205        (WebCore::ApplicationCacheStorage::empty): Ditto.
37206        (WebCore::ApplicationCacheStorage::storeCopyOfCache): Ditto.
37207        (WebCore::ApplicationCacheStorage::deleteCacheGroup): Ditto.
37208        (WebCore::ApplicationCacheStorage::checkForDeletedResources): Walk through DeletedCacheResourceData
37209            looking for entries with non-empty "path" columns; if found, delete.
37210        (WebCore::ApplicationCacheStorage::flatFileAreaSize): Walk through CacheResourceData rows
37211            and sum the file size of those rows with flat file storage.
37212        (WebCore::ApplicationCacheStorage::verifySchemaVersion): Call deleteTables() instead of
37213            clearAllTables() directly.
37214        (WebCore::ApplicationCacheStorage::deleteTables): Call empty() before deleting the tables,
37215            so that flat files get deleted.
37216        (WebCore::ApplicationCacheStorage::shouldStoreResourceAsFlatFile): Added.
37217        (WebCore::ApplicationCacheStorage::writeDataToUniqueFileInDirectory): Added.
37218        * loader/appcache/ApplicationCacheStorage.h:
37219        * platform/win/FileSystemWin.cpp:
37220        (WebCore::openFile): Implement openFile on Windows.
37221
372222011-03-24  David Hyatt  <hyatt@apple.com>
37223
37224        Reviewed by Dan Bernstein.
37225
37226        https://bugs.webkit.org/show_bug.cgi?id=56909
37227
37228        Add a simplified normal flow layout path optimization for overflow recomputation
37229        and for positioned objects inside relative positioned containers.
37230
37231        Currently there is an optimized code path for positioned objects, but as soon as
37232        we encounter a normal flow object in the containing block chain, we lose the
37233        optimization.
37234
37235        This patch adds a new type of style difference called SimplifiedLayout that is
37236        returned when only overflow needs to be recomputed. Whenever a transform changes,
37237        this is the hint returned now instead of a full layout.
37238
37239        In addition, when positioned objects need layout and start marking up the
37240        containing block chain, we now propagate the fact that the layout is simplified
37241        all the way up to the root, even when we encounter normal flow containing
37242        blocks.
37243
37244        The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout()
37245        and is now used for all of these cases (in addition to what it handled before).
37246
37247        The simplified layout optimization (even in ToT) did not work correctly when
37248        static distances needed to be recomputed. In order to make static distance
37249        computations work with simplified layout, positioned objects now always compute
37250        their static offsets, even if they explicitly specify left/top.  That way normal
37251        flow layout never has to re-run when the positioned object moves.  This makes
37252        movement of a positioned object along a single non-auto axis much faster when the
37253        other axis is auto. Because this code kicked in more often for absolutely positioned
37254        objects whose original display was inline, I went ahead and fixed the trailing space
37255        issue with those objects.  This causes a bunch of layout tests to progress.
37256
37257        Added fast/block/positioning/static-inline-position-dynamic.html and trailing-space-test.html.
37258
37259        * rendering/RenderBlock.cpp:
37260        (WebCore::RenderBlock::layoutBlock):
37261        (WebCore::RenderBlock::adjustPositionedBlock):
37262        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
37263        (WebCore::RenderBlock::simplifiedLayout):
37264        * rendering/RenderBlock.h:
37265        * rendering/RenderBlockLineLayout.cpp:
37266        (WebCore::setStaticPositions):
37267        (WebCore::RenderBlock::findNextLineBreak):
37268        * rendering/RenderBox.cpp:
37269        (WebCore::RenderBox::styleDidChange):
37270        (WebCore::RenderBox::positionLineBox):
37271        * rendering/RenderBoxModelObject.cpp:
37272        (WebCore::RenderBoxModelObject::styleWillChange):
37273        * rendering/RenderFlexibleBox.cpp:
37274        (WebCore::RenderFlexibleBox::layoutBlock):
37275        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
37276        (WebCore::RenderFlexibleBox::layoutVerticalBox):
37277        * rendering/RenderObject.cpp:
37278        (WebCore::RenderObject::RenderObject):
37279        (WebCore::RenderObject::adjustStyleDifference):
37280        (WebCore::RenderObject::setStyle):
37281        (WebCore::RenderObject::styleDidChange):
37282        * rendering/RenderObject.h:
37283        (WebCore::RenderObject::needsLayout):
37284        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
37285        (WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
37286        (WebCore::RenderObject::setNeedsLayout):
37287        (WebCore::RenderObject::setChildNeedsLayout):
37288        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
37289        (WebCore::RenderObject::markContainingBlocksForLayout):
37290        * rendering/RenderTable.cpp:
37291        (WebCore::RenderTable::layout):
37292        * rendering/style/RenderStyle.cpp:
37293        (WebCore::RenderStyle::diff):
37294        * rendering/style/RenderStyleConstants.h:
37295        * rendering/svg/RenderSVGText.cpp:
37296        (WebCore::RenderSVGText::layout):
37297
372982011-03-25  Martin Robinson  <mrobinson@igalia.com>
37299
37300        Fix the GTK+ build until we can implement the new cross-platform
37301        FontPlatformData.h bits.
37302
37303        * platform/graphics/FontPlatformData.h: Include the proper old font headers.
37304        (WebCore::FontPlatformData::FontPlatformData): Eliminate GTK+ specific bits of this file
37305        which reference our obsolete font implementation.
37306        (WebCore::FontPlatformData::hash): Ditto.
37307
373082011-03-25  Steve Falkenburg  <sfalken@apple.com>
37309
37310        Reviewed by Brian Weinstein.
37311
37312        Microsoft Windows Presentation Foundation (WPF) plug-in complains about missing xpcom.dll
37313        https://bugs.webkit.org/show_bug.cgi?id=57119
37314        <rdar://problem/9054148>
37315
37316        This plug-in from Microsoft links against xpcom.dll, which is a Firefox-specific DLL
37317        not available in WebKit. The plug-in is fairly widespread, since it was included in
37318        a Windows Update push at one point.
37319
37320        * plugins/win/PluginPackageWin.cpp:
37321        (WebCore::PluginPackage::isPluginBlacklisted): Blacklist npwpf.dll.
37322
373232011-03-25  Tony Chang  <tony@chromium.org>
37324
37325        Try to fix the chromium mac build.
37326        We used the mac FontPlatformData on chromium mac.
37327
37328        * WebCore.gyp/WebCore.gyp:
37329        * WebCore.gypi:
37330        * platform/graphics/FontPlatformData.h:
37331
373322011-03-25  Tony Chang  <tony@chromium.org>
37333
37334        Build fix:
37335        have chromium and qt use the correct FontPlatformData.h
37336        https://bugs.webkit.org/show_bug.cgi?id=57115
37337
37338        * platform/graphics/FontPlatformData.h:
37339
373402011-03-25  Beth Dakin  <bdakin@apple.com>
37341
37342        Reviewed by Dave Hyatt.
37343
37344        Fix for https://bugs.webkit.org/show_bug.cgi?id=57057 Overlay scrollbars in overflow
37345        areas paint behind positive z-index content
37346        -and corresponding-
37347        <rdar://problem/9070500>
37348
37349        Since overlay scrollbars don't clip the scrollable content like other scrollbars do,
37350        the only way to get them to paint on top of all possible scrollable content is to
37351        make them paint on top of everything. To do this, this patch adds a second trip
37352        through the layer tree if it contains overlay scrollbars that need painting.
37353
37354        After calling paint() on the rootLayer, call paintOverlayScrollers() if
37355        containsDirtyOverlayScrollbars() is true.
37356        * page/FrameView.cpp:
37357        (WebCore::FrameView::paintContents):
37358
37359        RenderLayer has two new member variable. m_containsDirtyOverlayScrollbars is a bool
37360        that is set on the root layer when it has child layers that need overlay scrollbars
37361        to be painted. m_cachedOverlayScrollbarOffset is an IntPoint to cache the tx and ty
37362        of the overlay scrollbars on the first (normal) pass through the layer tree. This
37363        prevents us from having to re-enter the render tree during the second (overlay-only)
37364        pass. Finally, there is also a new paint flag: PaintLayerPaintingOverlayScrollbars.
37365        * rendering/RenderLayer.h:
37366        (WebCore::RenderLayer::containsDirtyOverlayScrollbars):
37367        (WebCore::RenderLayer::setContainsDirtyOverlayScrollbars):
37368        * rendering/RenderLayer.cpp:
37369        (WebCore::RenderLayer::RenderLayer):
37370        (WebCore::RenderLayer::paintOverflowControls):
37371        (WebCore::RenderLayer::paintOverlayScrollbars):
37372        (WebCore::RenderLayer::paintLayer):
37373
373742011-03-25  Jessie Berlin  <jberlin@apple.com>
37375
37376        Reviewed by Sam Weinig.
37377
37378        WebKit2: Need to be able to set and get the Cookie Storage Policy.
37379        https://bugs.webkit.org/show_bug.cgi?id=50780
37380
37381        * platform/network/cf/CookieStorageCFNet.cpp:
37382        (WebCore::privateCookieStorage):
37383        Rename privateBrowsingCookieStorage to privateCookieStorage.
37384        (WebCore::currentCookieStorage):
37385        Ditto.
37386        (WebCore::setCurrentCookieStorage):
37387        Ditto.
37388        (WebCore::setCookieStoragePrivateBrowsingEnabled):
37389        Ditto.
37390        (WebCore::defaultCookieStorage):
37391        Return the default cookie storage.
37392        (WebCore::privateBrowsingCookieStorage):
37393        Return privateCookieStorage().get()
37394        * platform/network/cf/CookieStorageCFNet.h:
37395
373962011-03-25  Emil A Eklund  <eae@chromium.org>
37397
37398        Reviewed by Dimitri Glazkov.
37399
37400        Text field "onchange" event is triggered if actual value unchanged
37401        https://bugs.webkit.org/show_bug.cgi?id=36314
37402
37403        Change RenderTextControl::subtreeHasChanged to only return true if the
37404        subtree has changed since the last event was triggered.
37405
37406        * html/HTMLFormControlElement.cpp:
37407        (WebCore::HTMLTextFormControlElement::insertedIntoDocument):
37408        (WebCore::HTMLTextFormControlElement::dispatchFormControlChangeEvent):
37409        * html/HTMLFormControlElement.h:
37410        (WebCore::HTMLTextFormControlElement::setTextAsOfLastFormControlChangeEvent):
37411        * html/HTMLInputElement.cpp:
37412        (WebCore::HTMLInputElement::setChecked):
37413        (WebCore::HTMLInputElement::setValue):
37414        * html/HTMLTextAreaElement.cpp:
37415        (WebCore::HTMLTextAreaElement::setValue):
37416        (WebCore::HTMLTextAreaElement::setNonDirtyValue):
37417
374182011-03-25  Brent Fulgham  <bfulgham@webkit.org>
37419
37420        Reviewed by David Hyatt.
37421
37422        Clean up FontPlatformData structure so that a single implementation
37423        is used across all ports.  This first patch works for the Windows
37424        build (both CG and WinCairo), and Cocoa.
37425
37426        * WebCore.vcproj/WebCore.vcproj:
37427        * platform/graphics/FontPlatformData.cpp: Added.
37428        (WebCore::FontPlatformData::FontPlatformData):
37429        (WebCore::FontPlatformData::operator=):
37430        * platform/graphics/FontPlatformData.h: Added.
37431        (WebCore::toCTFontRef):
37432        (WebCore::FontPlatformData::FontPlatformData):
37433        (WebCore::FontPlatformData::hfont):
37434        (WebCore::FontPlatformData::useGDI):
37435        (WebCore::FontPlatformData::font):
37436        (WebCore::FontPlatformData::cgFont):
37437        (WebCore::FontPlatformData::size):
37438        (WebCore::FontPlatformData::setSize):
37439        (WebCore::FontPlatformData::syntheticBold):
37440        (WebCore::FontPlatformData::syntheticOblique):
37441        (WebCore::FontPlatformData::isColorBitmapFont):
37442        (WebCore::FontPlatformData::orientation):
37443        (WebCore::FontPlatformData::textOrientation):
37444        (WebCore::FontPlatformData::widthVariant):
37445        (WebCore::FontPlatformData::setOrientation):
37446        (WebCore::FontPlatformData::scaledFont):
37447        (WebCore::FontPlatformData::fontFace):
37448        (WebCore::FontPlatformData::hash):
37449        (WebCore::FontPlatformData::operator==):
37450        (WebCore::FontPlatformData::isHashTableDeletedValue):
37451        (WebCore::FontPlatformData::hashTableDeletedFontValue):
37452        * platform/graphics/cg/FontPlatformData.h: Removed.
37453        * platform/graphics/cocoa/FontPlatformData.h: Removed.
37454        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
37455        (WebCore::~FontPlatformData):
37456        (WebCore::FontPlatformData::platformDataInit):
37457        (WebCore::FontPlatformData::platformDataAssign):
37458        * platform/graphics/win/FontPlatformDataCGWin.cpp:
37459        (WebCore::FontPlatformData::FontPlatformData):
37460        (WebCore::FontPlatformData::~FontPlatformData):
37461        (WebCore::FontPlatformData::platformDataInit):
37462        (WebCore::FontPlatformData::platformDataAssign):
37463        * platform/graphics/win/FontPlatformDataCairoWin.cpp:
37464        (WebCore::FontPlatformData::FontPlatformData):
37465        (WebCore::FontPlatformData::~FontPlatformData):
37466        (WebCore::FontPlatformData::platformDataInit):
37467        (WebCore::FontPlatformData::platformDataAssign):
37468        * platform/graphics/win/FontPlatformDataWin.cpp:
37469        (WebCore::FontPlatformData::FontPlatformData):
37470        * platform/graphics/win/cairo/FontPlatformData.h: Removed.
37471
374722011-03-25  Enrica Casucci  <enrica@apple.com>
37473
37474        Reviewed by Oliver Hunt.
37475
37476        Pasteboard data's RTF data doesn't always include URLs via NSLinkAttributeName.
37477        https://bugs.webkit.org/show_bug.cgi?id=57107
37478        <rdar://problem/9084267>
37479
37480        If the selection is at the beginning of content inside an anchor tag
37481        we move the selection start to include the anchor.
37482
37483        * platform/mac/PasteboardMac.mm:
37484        (WebCore::Pasteboard::writeSelection): Modified to change the selection
37485        start according to the new rule.
37486
374872011-03-25  Pavel Feldman  <pfeldman@chromium.org>
37488
37489        Reviewed by Yury Semikhatsky.
37490
37491        Web Inspector: refactor Network domain's frame tree API
37492        https://bugs.webkit.org/show_bug.cgi?id=57103
37493
37494        * inspector/Inspector.json:
37495        * inspector/InspectorResourceAgent.cpp:
37496        (WebCore::buildObjectForFrameResource):
37497        (WebCore::buildObjectForCachedResource):
37498        (WebCore::InspectorResourceAgent::willSendRequest):
37499        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
37500        (WebCore::buildObjectForFrame):
37501        (WebCore::buildObjectForFrameTree):
37502        (WebCore::InspectorResourceAgent::didCommitLoad):
37503        (WebCore::InspectorResourceAgent::enable):
37504        * inspector/front-end/NetworkManager.js:
37505        (WebInspector.NetworkManager.prototype.requestContent):
37506        (WebInspector.NetworkDispatcher):
37507        (WebInspector.NetworkDispatcher.prototype.willSendRequest):
37508        (WebInspector.NetworkDispatcher.prototype.didReceiveResponse):
37509        (WebInspector.NetworkDispatcher.prototype.didLoadResourceFromMemoryCache):
37510        (WebInspector.NetworkDispatcher.prototype.frameDetachedFromParent):
37511        (WebInspector.NetworkDispatcher.prototype.didCommitLoadForFrame):
37512        (WebInspector.NetworkDispatcher.prototype.didCreateWebSocket):
37513        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
37514        (WebInspector.NetworkDispatcher.prototype._addFramesRecursively):
37515        (WebInspector.NetworkDispatcher.prototype._createResource):
37516        * inspector/front-end/ResourceTreeModel.js:
37517        (WebInspector.ResourceTreeModel.prototype.addOrUpdateFrame):
37518        (WebInspector.ResourceTreeModel.prototype.didCommitLoadForFrame):
37519        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
37520        (WebInspector.ResourceTreeModel.prototype._clearResources):
37521        * inspector/front-end/ResourcesPanel.js:
37522        (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame):
37523        (WebInspector.ResourcesPanel.prototype.addResourceToFrame):
37524
375252011-03-25  Dave Hyatt  <hyatt@apple.com>
37526
37527        Reviewed by Adele Peterson.
37528
37529        REGRESSION(r77257): Only first page of a document is printed
37530        https://bugs.webkit.org/show_bug.cgi?id=56958
37531
37532        Test: printing/page-count-layout-overflow.html
37533
37534        * page/FrameView.cpp:
37535        (WebCore::FrameView::forceLayoutForPagination): Moved clearing of overflow
37536            to the right place.
37537
375382011-03-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
37539
37540        Reviewed by Andreas Kling.
37541
37542        [Qt] QtWebKit will not compile with QT_ASCII_CAST_WARNINGS enabled
37543        https://bugs.webkit.org/show_bug.cgi?id=57087
37544
37545        Use explicit conversion for string to avoid depending on the default codec
37546        installed by the user code.
37547
37548        * bridge/qt/qt_pixmapruntime.cpp:
37549        (JSC::Bindings::QtPixmapToDataUrlMethod::invoke):
37550        (JSC::Bindings::QtPixmapInstance::valueOf):
37551        * platform/qt/LanguageQt.cpp:
37552        (WebCore::platformDefaultLanguage):
37553        * platform/qt/PasteboardQt.cpp:
37554        (WebCore::Pasteboard::writeSelection):
37555        * plugins/qt/PluginPackageQt.cpp:
37556        (WebCore::initializeGtk):
37557        * plugins/qt/PluginViewQt.cpp:
37558        (WebCore::getPluginDisplay):
37559
375602011-03-25  Chang Shu  <cshu@webkit.org>
37561
37562        Reviewed by Ryosuke Niwa.
37563
37564        rename Node::isContentEditable and all call sites to rendererIsEditable
37565        https://bugs.webkit.org/show_bug.cgi?id=54290
37566
37567        This is part of the effort to separate JS API HTMLElement isContentEditable from
37568        internal Node::rendererIsEditable.
37569
37570        Code refactoring. No new tests.
37571
37572        * accessibility/AccessibilityRenderObject.cpp:
37573        (WebCore::AccessibilityRenderObject::isReadOnly):
37574        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
37575        * dom/Document.cpp:
37576        (WebCore::acceptsEditingFocus):
37577        * dom/Node.cpp:
37578        (WebCore::Node::rendererIsEditable):
37579        (WebCore::Node::shouldUseInputMethod):
37580        (WebCore::Node::canStartSelection):
37581        (WebCore::Node::rootEditableElement):
37582        * dom/Node.h:
37583        (WebCore::Node::isContentEditable):
37584        (WebCore::Node::rendererIsEditable):
37585        (WebCore::Node::rendererIsRichlyEditable):
37586        * dom/Position.cpp:
37587        (WebCore::nextRenderedEditable):
37588        (WebCore::previousRenderedEditable):
37589        (WebCore::Position::atEditingBoundary):
37590        (WebCore::Position::parentEditingBoundary):
37591        (WebCore::Position::upstream):
37592        (WebCore::Position::downstream):
37593        (WebCore::Position::isCandidate):
37594        * dom/PositionIterator.cpp:
37595        (WebCore::PositionIterator::isCandidate):
37596        * editing/AppendNodeCommand.cpp:
37597        (WebCore::AppendNodeCommand::AppendNodeCommand):
37598        (WebCore::AppendNodeCommand::doApply):
37599        (WebCore::AppendNodeCommand::doUnapply):
37600        * editing/ApplyStyleCommand.cpp:
37601        (WebCore::containsNonEditableRegion):
37602        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
37603        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
37604        (WebCore::ApplyStyleCommand::surroundNodeRangeWithElement):
37605        * editing/CompositeEditCommand.cpp:
37606        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
37607        * editing/DeleteButtonController.cpp:
37608        (WebCore::isDeletableElement):
37609        (WebCore::enclosingDeletableElement):
37610        * editing/DeleteFromTextNodeCommand.cpp:
37611        (WebCore::DeleteFromTextNodeCommand::doApply):
37612        (WebCore::DeleteFromTextNodeCommand::doUnapply):
37613        * editing/DeleteSelectionCommand.cpp:
37614        (WebCore::DeleteSelectionCommand::removeNode):
37615        * editing/Editor.cpp:
37616        (WebCore::Editor::canDeleteRange):
37617        (WebCore::Editor::markMisspellingsOrBadGrammar):
37618        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
37619        * editing/EditorCommand.cpp:
37620        (WebCore::verticalScrollDistance):
37621        * editing/FormatBlockCommand.cpp:
37622        (WebCore::enclosingBlockToSplitTreeTo):
37623        * editing/IndentOutdentCommand.cpp:
37624        (WebCore::IndentOutdentCommand::outdentParagraph):
37625        * editing/InsertIntoTextNodeCommand.cpp:
37626        (WebCore::InsertIntoTextNodeCommand::doApply):
37627        (WebCore::InsertIntoTextNodeCommand::doUnapply):
37628        * editing/InsertNodeBeforeCommand.cpp:
37629        (WebCore::InsertNodeBeforeCommand::InsertNodeBeforeCommand):
37630        (WebCore::InsertNodeBeforeCommand::doApply):
37631        (WebCore::InsertNodeBeforeCommand::doUnapply):
37632        * editing/JoinTextNodesCommand.cpp:
37633        (WebCore::JoinTextNodesCommand::doApply):
37634        (WebCore::JoinTextNodesCommand::doUnapply):
37635        * editing/MergeIdenticalElementsCommand.cpp:
37636        (WebCore::MergeIdenticalElementsCommand::doApply):
37637        (WebCore::MergeIdenticalElementsCommand::doUnapply):
37638        * editing/RemoveNodeCommand.cpp:
37639        (WebCore::RemoveNodeCommand::doApply):
37640        (WebCore::RemoveNodeCommand::doUnapply):
37641        * editing/ReplaceSelectionCommand.cpp:
37642        (WebCore::ReplacementFragment::ReplacementFragment):
37643        * editing/SelectionController.cpp:
37644        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
37645        (WebCore::SelectionController::setSelectionFromNone):
37646        * editing/SplitElementCommand.cpp:
37647        (WebCore::SplitElementCommand::executeApply):
37648        (WebCore::SplitElementCommand::doUnapply):
37649        * editing/SplitTextNodeCommand.cpp:
37650        (WebCore::SplitTextNodeCommand::doApply):
37651        (WebCore::SplitTextNodeCommand::doUnapply):
37652        (WebCore::SplitTextNodeCommand::doReapply):
37653        * editing/SplitTextNodeContainingElementCommand.cpp:
37654        (WebCore::SplitTextNodeContainingElementCommand::doApply):
37655        * editing/VisiblePosition.cpp:
37656        (WebCore::VisiblePosition::canonicalPosition):
37657        * editing/WrapContentsInDummySpanCommand.cpp:
37658        (WebCore::WrapContentsInDummySpanCommand::doUnapply):
37659        (WebCore::WrapContentsInDummySpanCommand::doReapply):
37660        * editing/htmlediting.cpp:
37661        (WebCore::highestEditableRoot):
37662        (WebCore::lowestEditableAncestor):
37663        (WebCore::isEditablePosition):
37664        (WebCore::isRichlyEditablePosition):
37665        (WebCore::firstEditablePositionAfterPositionInRoot):
37666        (WebCore::extendRangeToWrappingNodes):
37667        (WebCore::enclosingNodeWithTag):
37668        (WebCore::enclosingNodeOfType):
37669        (WebCore::highestEnclosingNodeOfType):
37670        (WebCore::canMergeLists):
37671        * editing/visible_units.cpp:
37672        (WebCore::previousLeafWithSameEditability):
37673        (WebCore::previousLinePosition):
37674        (WebCore::nextLeafWithSameEditability):
37675        (WebCore::nextLinePosition):
37676        (WebCore::startOfParagraph):
37677        (WebCore::endOfParagraph):
37678        * html/HTMLAnchorElement.cpp:
37679        (WebCore::HTMLAnchorElement::supportsFocus):
37680        (WebCore::HTMLAnchorElement::defaultEventHandler):
37681        (WebCore::HTMLAnchorElement::setActive):
37682        (WebCore::HTMLAnchorElement::canStartSelection):
37683        (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
37684        * html/HTMLBodyElement.cpp:
37685        (WebCore::HTMLBodyElement::supportsFocus):
37686        * html/HTMLElement.cpp:
37687        (WebCore::HTMLElement::supportsFocus):
37688        (WebCore::HTMLElement::isContentEditable):
37689        (WebCore::HTMLElement::contentEditable):
37690        * html/HTMLElement.h:
37691        * page/DragController.cpp:
37692        (WebCore::DragController::operationForLoad):
37693        (WebCore::DragController::canProcessDrag):
37694        * page/EventHandler.cpp:
37695        (WebCore::EventHandler::handleMouseReleaseEvent):
37696        (WebCore::EventHandler::selectCursor):
37697        * page/FocusController.cpp:
37698        (WebCore::relinquishesEditingFocus):
37699        * rendering/HitTestResult.cpp:
37700        (WebCore::HitTestResult::isContentEditable):
37701        * rendering/RenderBlock.cpp:
37702        (WebCore::positionForPointRespectingEditingBoundaries):
37703        (WebCore::RenderBlock::hasLineIfEmpty):
37704        * rendering/RenderBlockLineLayout.cpp:
37705        (WebCore::RenderBlock::addOverflowFromInlineChildren):
37706        * rendering/RenderBox.cpp:
37707        (WebCore::RenderBox::canBeProgramaticallyScrolled):
37708        * rendering/RenderObject.cpp:
37709        (WebCore::RenderObject::createVisiblePosition):
37710        * rendering/RootInlineBox.cpp:
37711        (WebCore::isEditableLeaf):
37712        * svg/SVGAElement.cpp:
37713        (WebCore::SVGAElement::supportsFocus):
37714
377152011-03-25  Maciej Stachowiak  <mjs@apple.com>
37716
37717        Reviewed by Antti Koivisto.
37718
37719        Crash when a wbr element is inserted inside mroot
37720        https://bugs.webkit.org/show_bug.cgi?id=56352
37721
37722        Test: mathml/wbr-in-mroot-crash.html
37723
37724        * rendering/mathml/RenderMathMLRoot.cpp:
37725        (WebCore::RenderMathMLRoot::layout): Look for the first box model child of the first
37726        child, instead of just assuming.
37727
377282011-03-25  Vsevolod Vlasov  <vsevik@chromium.org>
37729
37730        Reviewed by Pavel Feldman.
37731
37732        XML Viewer: extensions can't render original XML
37733        https://bugs.webkit.org/show_bug.cgi?id=56263
37734
37735        Added source xml to transformed document, renamed onload function.
37736
37737        * xml/XMLTreeViewer.cpp:
37738        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
37739        * xml/XMLViewer.xsl:
37740
377412011-03-25  Benjamin Poulain  <benjamin.poulain@nokia.com>
37742
37743        Reviewed by Andreas Kling.
37744
37745        [Qt] Get rid of the invalid string conversion with ::fromAscii()
37746        https://bugs.webkit.org/show_bug.cgi?id=57102
37747
37748        Replace ::fromAscii() with ::fromLatin1() to make sure the codec does not depend on the user code.
37749
37750        * platform/network/qt/QNetworkReplyHandler.cpp:
37751        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
37752        * platform/qt/CookieJarQt.cpp:
37753        (WebCore::cookies):
37754        (WebCore::cookieRequestHeaderFieldValue):
37755
377562011-03-25  Sheriff Bot  <webkit.review.bot@gmail.com>
37757
37758        Unreviewed, rolling out r81953.
37759        http://trac.webkit.org/changeset/81953
37760        https://bugs.webkit.org/show_bug.cgi?id=57096
37761
37762        "inspector test breakage: part 2/2" (Requested by apavlov on
37763        #webkit).
37764
37765        * inspector/Inspector.json:
37766        * inspector/InspectorCSSAgent.cpp:
37767        (WebCore::InspectorCSSAgent::getAllStyles):
37768        * inspector/InspectorCSSAgent.h:
37769        * inspector/InspectorStyleSheet.cpp:
37770        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
37771        * inspector/InspectorStyleSheet.h:
37772        * inspector/front-end/AuditRules.js:
37773        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
37774        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
37775        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
37776        * inspector/front-end/CSSStyleModel.js:
37777        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
37778        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
37779        (WebInspector.CSSStyleModel.prototype._onRevert):
37780        (WebInspector.CSSStyleSheet):
37781        (WebInspector.CSSStyleSheet.prototype.setText):
37782
377832011-03-15  Alexander Pavlov  <apavlov@chromium.org>
37784
37785        Reviewed by Pavel Feldman.
37786
37787        Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
37788        https://bugs.webkit.org/show_bug.cgi?id=56310
37789
37790        Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
37791        "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
37792        by CSSAgent.getStyleSheet() anymore.
37793
37794        Test: inspector/styles/get-set-stylesheet-text.html
37795
37796        * inspector/Inspector.json:
37797        * inspector/InspectorCSSAgent.cpp:
37798        (WebCore::InspectorCSSAgent::getAllStyleSheets):
37799        * inspector/InspectorCSSAgent.h:
37800        * inspector/InspectorStyleSheet.cpp:
37801        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
37802        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
37803        * inspector/InspectorStyleSheet.h:
37804        * inspector/front-end/AuditRules.js:
37805        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
37806        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
37807        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
37808        * inspector/front-end/CSSStyleModel.js:
37809        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
37810        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
37811        (WebInspector.CSSStyleModel.prototype._onRevert):
37812        (WebInspector.CSSStyleSheet):
37813        (WebInspector.CSSStyleSheet.prototype.setText):
37814
378152011-03-25  Pavel Feldman  <pfeldman@chromium.org>
37816
37817        Reviewed by Yury Semikhatsky.
37818
37819        Web Inspector: extension server should not convert all resources to HAR when there are no extensions.
37820        https://bugs.webkit.org/show_bug.cgi?id=57044
37821
37822        * inspector/front-end/ExtensionServer.js:
37823        (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
37824        (WebInspector.ExtensionServer.prototype._hasSubscribers):
37825
378262011-03-25  Leo Yang  <leo.yang@torchmobile.com.cn>
37827
37828        Reviewed by Nikolas Zimmermann.
37829
37830        SVG <use> element performance improvement
37831        https://bugs.webkit.org/show_bug.cgi?id=57077
37832
37833        SVG <use> element was expanding nesting <use> and <symbol> elements
37834        in an inefficient way. After it expanded an <use> or a <symbol>
37835        element it would restart expanding from the shadow tree root.
37836        This behavior was leading about 160 millions of calls to
37837        expandUseElementInShadowTree or expandSymbolElementInShadowTree for
37838        a single shadow tree which is illustrated by
37839        http://upload.wikimedia.org/wikipedia/commons/4/4e/Sierpinski_carpet_6.svg.
37840        But the effective calls, which really expand <use> or <symbol>
37841        elements, were about 5200; others were passing-by calls, which are
37842        recursively down to the children.
37843
37844        This patch is altering the expanding path to reduce the passing-by
37845        calls. It will expand elements in sibling chain where there is an
37846        effective call, because the effective call replaces element which is
37847        expanded and the replacement results lose of the sibling chain of
37848        the replaced on the upper recursion stack. With this patch the
37849        passing-by calls are reduced from about 160 millions to about 30
37850        thousands.
37851
37852        No functionality change, no new tests.
37853
37854        * svg/SVGUseElement.cpp:
37855        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
37856        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
37857        * svg/SVGUseElement.h:
37858
378592011-03-25  Dominic Cooney  <dominicc@google.com>
37860
37861        Reviewed by Kent Tamura.
37862
37863        Makes keygen support autofocus attribute.
37864        https://bugs.webkit.org/show_bug.cgi?id=57091
37865
37866        Test: fast/forms/autofocus-keygen.html
37867
37868        * html/HTMLFormControlElement.cpp:
37869        (WebCore::HTMLFormControlElement::attach):
37870
378712011-03-24  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
37872
37873        Reviewed by Antonio Gomes.
37874
37875        [EFL] Add sound / mute button to MediaControl UI
37876        https://bugs.webkit.org/show_bug.cgi?id=56726
37877
37878        Add sound / mute button to MediaControl UI.
37879
37880        * platform/efl/RenderThemeEfl.cpp:
37881        (WebCore::RenderThemeEfl::edjeGroupFromFormType):
37882        (WebCore::RenderThemeEfl::emitMediaButtonSignal):
37883        (WebCore::RenderThemeEfl::paintMediaMuteButton):
37884        * platform/efl/RenderThemeEfl.h:
37885
378862011-03-24  Nikolas Zimmermann  <nzimmermann@rim.com>
37887
37888        Reviewed by Darin Adler.
37889
37890        Introduce WTF HexNumber.h
37891        https://bugs.webkit.org/show_bug.cgi?id=56099
37892
37893        Introduce a set of functions that ease converting from a bye or a number to a hex string,
37894        replacing several of these conversions and String::format("%x") usages all over WebCore.
37895
37896        * ForwardingHeaders/wtf/HexNumber.h: Added.
37897        * css/CSSOMUtils.cpp:
37898        (WebCore::serializeCharacterAsCodePoint):
37899        * css/CSSParser.cpp:
37900        (WebCore::quoteCSSString):
37901        * inspector/InspectorResourceAgent.cpp:
37902        (WebCore::createReadableStringFromBinary):
37903        * platform/FileSystem.cpp:
37904        (WebCore::encodeForFileName):
37905        * platform/KURL.cpp:
37906        (WebCore::appendEscapedChar):
37907        * platform/UUID.cpp:
37908        (WebCore::createCanonicalUUIDString):
37909        * platform/graphics/Color.cpp:
37910        (WebCore::Color::serialized):
37911        * platform/network/FormDataBuilder.cpp:
37912        (WebCore::FormDataBuilder::encodeStringAsFormData):
37913        * rendering/RenderTreeAsText.cpp:
37914        (WebCore::quoteAndEscapeNonPrintables):
37915
379162011-03-24  Stephanie Lewis  <slewis@apple.com>
37917
37918        Reviewed by Geoff Garen.
37919
37920        <rdar://problem/9146716> REGRESSION: ~10 MB increase in memory under CachedScripts
37921        Add back a call to destroy decoded data after access.  Keep the SourceProviderCache
37922        around as long as their are still clients to use it.
37923
37924        No new tests because there is no change in behavior.  Current tests pass.
37925
37926        * loader/cache/CachedScript.cpp:
37927        (WebCore::CachedScript::script):
37928        (WebCore::CachedScript::destroyDecodedData):
37929
379302011-03-24  Stephanie Lewis  <slewis@apple.com>
37931
37932        Reviewed by Geoff Garen.
37933
37934        https://bugs.webkit.org/show_bug.cgi?id=57073
37935        Rework the AtomicHTMLConstructor to reserve space for attributes based on the size of the attribute list.
37936        Saves 1.5 MB on Membuster.
37937
37938        No new tests because there was no change in behavior.  Current tests pass.
37939
37940        * html/parser/HTMLToken.h:
37941        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
37942        (WebCore::AtomicHTMLToken::initializeAttributes):
37943
379442011-03-24  Sheriff Bot  <webkit.review.bot@gmail.com>
37945
37946        Unreviewed, rolling out r81916 and r81917.
37947        http://trac.webkit.org/changeset/81916
37948        http://trac.webkit.org/changeset/81917
37949        https://bugs.webkit.org/show_bug.cgi?id=57071
37950
37951        broke a test on platforms that do not have QuickTime installed
37952        (Requested by estes on #webkit).
37953
37954        * html/HTMLEmbedElement.cpp:
37955        (WebCore::HTMLEmbedElement::HTMLEmbedElement):
37956        * html/HTMLObjectElement.cpp:
37957        (WebCore::HTMLObjectElement::HTMLObjectElement):
37958        (WebCore::HTMLObjectElement::parametersForPlugin):
37959        * html/HTMLPlugInImageElement.cpp:
37960        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
37961        (WebCore::HTMLPlugInImageElement::isImageType):
37962        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
37963        * html/HTMLPlugInImageElement.h:
37964        * loader/EmptyClients.h:
37965        (WebCore::EmptyFrameLoaderClient::objectContentType):
37966        * loader/FrameLoader.cpp:
37967        (WebCore::FrameLoader::defaultObjectContentType):
37968        * loader/FrameLoader.h:
37969        * loader/FrameLoaderClient.h:
37970        * loader/SubframeLoader.cpp:
37971        (WebCore::SubframeLoader::resourceWillUsePlugin):
37972        (WebCore::SubframeLoader::requestObject):
37973        (WebCore::SubframeLoader::shouldUsePlugin):
37974        * loader/SubframeLoader.h:
37975
379762011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
37977
37978        Reviewed by Darin Adler.
37979
37980        Eliminate Node::dispatchGenericEvent.
37981        https://bugs.webkit.org/show_bug.cgi?id=57045
37982
37983        No functional change, covered by existing tests.
37984
37985        * dom/Node.cpp:
37986        (WebCore::Node::dispatchEvent): Combined with the body of dispatchGenericEvent,
37987            removed unnecessary extra refs and a stale comment.
37988        * dom/Node.h:
37989        * page/DOMWindow.cpp:
37990        (WebCore::DOMWindow::dispatchLoadEvent): Changed to use dispatchEvent.
37991        * svg/SVGElement.cpp:
37992        (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
37993        * svg/SVGElementInstance.cpp:
37994        (WebCore::SVGElementInstance::dispatchEvent): Ditto. The code here still
37995            works thanks to SVG-aware retargeting in Node.
37996
379972011-03-24  Chris Rogers  <crogers@google.com>
37998
37999        Reviewed by Kenneth Russell.
38000
38001        web audio: Properly sample-rate convert audio assets in chromium port
38002        https://bugs.webkit.org/show_bug.cgi?id=56980
38003
38004        No new tests since audio API is not yet implemented.
38005
38006        * WebCore.gypi:
38007        * platform/audio/AudioBus.cpp:
38008        (WebCore::AudioBus::createBySampleRateConverting):
38009        (WebCore::AudioBus::createByMixingToMono):
38010        * platform/audio/AudioBus.h:
38011        * platform/audio/HRTFKernel.cpp:
38012        (WebCore::extractAverageGroupDelay):
38013        (WebCore::HRTFKernel::HRTFKernel):
38014        * platform/audio/SincResampler.cpp:
38015        * platform/audio/chromium/AudioBusChromium.cpp:
38016        (WebCore::AudioBus::loadPlatformResource):
38017        (WebCore::createBusFromInMemoryAudioFile):
38018
380192011-03-24  Rik Cabanier  <cabanier@adobe.com>
38020
38021        Reviewed by David Hyatt.
38022
38023        REGRESSION (r81625): fast/css/percentage-non-integer.html fails on Windows
38024        https://bugs.webkit.org/show_bug.cgi?id=56829
38025
38026        Test: fast/css/percentage-non-integer.html
38027
38028        * platform/Length.h:
38029        (WebCore::Length::calcValue):
38030        (WebCore::Length::calcMinValue):
38031        (WebCore::Length::calcFloatValue):
38032
380332011-03-24  Mihai Parparita  <mihaip@chromium.org>
38034
38035        Reviewed by James Robinson.
38036
38037        [Chromium] Vertical Japanese text is not displayed on Snow Leopard
38038        https://bugs.webkit.org/show_bug.cgi?id=56962
38039
38040        Make Snow Leopard check added by r80740 into a runtime check for
38041        Chromium, since it uses the same binary on both Leopard and Snow Leopard.
38042
38043        * platform/graphics/mac/FontMac.mm:
38044        (WebCore::hasBrokenCTFontGetVerticalTranslationsForGlyphs):
38045        (WebCore::showGlyphsWithAdvances):
38046
380472011-03-24  Brady Eidson  <beidson@apple.com>
38048
38049        Reviewed by Sam Weinig.
38050
38051        https://bugs.webkit.org/show_bug.cgi?id=57058
38052        Hookup the UIProcess WebIconDatabase to a WebCore::IconDatabase as its implementation
38053
38054        * loader/icon/IconDatabase.cpp:
38055        (WebCore::IconDatabase::synchronousLoadDecisionForIconURL): Only add the DocumentLoader to the set if it's non-zero.
38056        (WebCore::IconDatabase::IconDatabase): Add more logging.
38057        (WebCore::IconDatabase::performURLImport): Dispatch the "didFinishURLImport" client callback using the following 3 methods.
38058        (WebCore::FinishedURLImport::FinishedURLImport):
38059        (WebCore::FinishedURLImport::performWork):
38060        (WebCore::IconDatabase::dispatchDidFinishURLImportOnMainThread):
38061
38062        * loader/icon/IconDatabase.h:
38063        (WebCore::IconDatabase::create): Expose a PassOwnPtr<> creator.
38064
38065        * WebCore.exp.in:
38066
380672011-03-23  Jer Noble  <jer.noble@apple.com>
38068
38069        Reviewed by Maciej Stachowiak.
38070
38071        Application Cache should save audio/ and video/ mime types as flat files
38072        https://bugs.webkit.org/show_bug.cgi?id=53784
38073        <rdar://problem/8932473>
38074
38075        No new tests.
38076
38077        ApplicationCacheResource::create() now takes an additional "path" parameter.  To facilitate
38078        extracting this path information, two functions in ApplicationCacheHost have been made public.
38079
38080        * loader/appcache/ApplicationCacheGroup.cpp:
38081        (WebCore::ApplicationCacheGroup::didReceiveResponse): Pass along new "path" parameter.
38082        (WebCore::ApplicationCacheGroup::didFail): Ditto.
38083        * loader/appcache/ApplicationCacheHost.h:
38084        (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache): Made public.
38085        (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource): Made public.
38086        * loader/appcache/ApplicationCacheResource.cpp:
38087        (WebCore::ApplicationCacheResource::ApplicationCacheResource): Add new "path" parameter.
38088        * loader/appcache/ApplicationCacheResource.h:
38089        (WebCore::ApplicationCacheResource::create): Ditto.
38090        (WebCore::ApplicationCacheResource::path): New accessor.
38091
380922011-03-24  Andy Estes  <aestes@apple.com>
38093
38094        Reviewed by Darin Adler.
38095
38096        REGRESSION (r70748): latest nightly builds kills AC_QuickTime.js
38097        https://bugs.webkit.org/show_bug.cgi?id=49016
38098
38099        AC_QuickTime.js uses the common <object>/<embed> paradigm to embed the
38100        QuickTime plug-in in web pages. r70748 removed our mapping of classids
38101        to MIME types, which causes WebKit to fall back from the object to the
38102        embed tag when QuickTime is embedded by this script. The script emits
38103        the following embed tag to embed a QuickTime movie with a poster frame:
38104
38105        <embed src="poster-frame.png" target="quicktimeplayer" href="movie.mov">
38106
38107        The expectation is that a QuickTime plug-in is instantiated to display the
38108        poster frame, since QuickTime registers for many common image MIME
38109        types. This is how Gecko behaves for embed. However, WebKit prefers to
38110        use its native image rendering for image embeds, in which case no movie
38111        is played when the poster frame is clicked.
38112
38113        Fix this by changing embed to check for a plug-in that can handle the
38114        image type before rendering the image natively. This matches Gecko.
38115
38116        Test: fast/images/embed-image-plugins-disabled.html
38117
38118        * html/HTMLObjectElement.cpp:
38119        (WebCore::HTMLObjectElement::parametersForPlugin):
38120        * html/HTMLPlugInImageElement.cpp:
38121        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
38122        (WebCore::HTMLPlugInImageElement::isImageType):
38123        (WebCore::HTMLPlugInImageElement::wouldLoadAsNetscapePlugin):
38124        * html/HTMLPlugInImageElement.h:
38125        (WebCore::HTMLPlugInImageElement::preferPluginsForImages):
38126        * loader/EmptyClients.h:
38127        (WebCore::EmptyFrameLoaderClient::objectContentType):
38128        * loader/FrameLoader.cpp:
38129        (WebCore::FrameLoader::defaultObjectContentType):
38130        * loader/FrameLoader.h:
38131        * loader/FrameLoaderClient.h:
38132        * loader/SubframeLoader.cpp:
38133        (WebCore::SubframeLoader::resourceWillUsePlugin):
38134        (WebCore::SubframeLoader::requestPlugin):
38135        (WebCore::SubframeLoader::requestObject):
38136        (WebCore::SubframeLoader::shouldUsePlugin):
38137        * loader/SubframeLoader.h:
38138
381392011-03-24  Mike Reed  <reed@google.com>
38140
38141        Reviewed by James Robinson.
38142
38143        Move lifetime management of grContext from a global to being
38144        per-SharedGraphicsContext3D, which correctly is 1:1 with the
38145        underlying opengl context.
38146        https://bugs.webkit.org/show_bug.cgi?id=54330
38147
38148        No new tests. Existing <canvas> tests exercise this:
38149
38150        * platform/graphics/chromium/DrawingBufferChromium.cpp:
38151        (WebCore::DrawingBuffer::DrawingBuffer):
38152        (WebCore::DrawingBuffer::~DrawingBuffer):
38153        (WebCore::DrawingBuffer::publishToPlatformLayer):
38154        (WebCore::DrawingBuffer::setGrContext):
38155        * platform/graphics/gpu/DrawingBuffer.h:
38156        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
38157        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
38158        (WebCore::SharedGraphicsContext3D::~SharedGraphicsContext3D):
38159        (WebCore::SharedGraphicsContext3D::getGrContext):
38160        * platform/graphics/gpu/SharedGraphicsContext3D.h:
38161        * platform/graphics/skia/PlatformContextSkia.cpp:
38162        (WebCore::PlatformContextSkia::~PlatformContextSkia):
38163        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
38164
381652011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
38166
38167        Reviewed by Darin Adler.
38168
38169        Untangle dependency between event ancestor chain computation and InspectorDOMAgent.
38170        https://bugs.webkit.org/show_bug.cgi?id=57050
38171
38172        Inspector's list of event listeners does not need to invoke Node::getEventListeners,
38173        because it simply wants to collect all ancestors and never uses EventContext bits.
38174
38175        No functional change, covered by existing tests.
38176
38177        * dom/Node.cpp:
38178        (WebCore::getEventAncestors): Converted into a static function.
38179        (WebCore::Node::dispatchGenericEvent): Changed to pass node to getEventAncestors.
38180        * dom/Node.h: Removed decl, moved EventDispatchBehavior enum inside.
38181        * inspector/InspectorDOMAgent.cpp:
38182        (WebCore::InspectorDOMAgent::getEventListenersForNode): Replaced the call
38183            to getEventAncestors with a simple ancestor traversal loop.
38184
381852011-03-24  Adam Klein  <adamk@chromium.org>
38186
38187        Reviewed by David Levin.
38188
38189        [fileapi] Make FileError and FileException accessible from WorkerContext
38190        https://bugs.webkit.org/show_bug.cgi?id=57041
38191
38192        * workers/WorkerContext.idl:
38193
381942011-03-24  Sam Weinig  <sam@webkit.org>
38195
38196        Reviewed by Anders Carlsson.
38197
38198        Remove legacy version of findPlainText.
38199        https://bugs.webkit.org/show_bug.cgi?id=57056
38200
38201        * editing/TextIterator.cpp:
38202        * editing/TextIterator.h:
38203        Remove legacy overload of findPlainText that doesn't
38204        take an options parameter.
38205
382062011-03-24  Geoffrey Garen  <ggaren@apple.com>
38207
38208        Reviewed by Oliver Hunt.
38209
38210        Ensure that all compilation takes place within a dynamic global object scope
38211        https://bugs.webkit.org/show_bug.cgi?id=57054
38212
38213        * bindings/js/JSErrorHandler.cpp:
38214        (WebCore::JSErrorHandler::handleEvent):
38215        * bindings/js/JSEventListener.cpp:
38216        (WebCore::JSEventListener::handleEvent): Updated for signature change.
38217
382182011-03-24  John Bauman  <jbauman@chromium.org>
38219
38220        Reviewed by Kenneth Russell.
38221
38222        preserveDrawingBuffer=true is ignored
38223        https://bugs.webkit.org/show_bug.cgi?id=56987
38224
38225        Add code to the V8 and JSC bindings to support grabbing the value of
38226        preserveDrawingBuffer from the input context attributes. Also, in
38227        WebGLRenderingContext use the WebGLContextAttributes that were input
38228        directly, not those from the GraphicsContext3D which could have been
38229        changed.
38230
38231        No new tests, as this can't be tested with DRT. However, this works
38232        when tested manually.
38233
38234        * bindings/js/JSHTMLCanvasElementCustom.cpp:
38235        (WebCore::JSHTMLCanvasElement::getContext):
38236        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
38237        (WebCore::V8HTMLCanvasElement::getContextCallback):
38238        * html/canvas/WebGLRenderingContext.cpp:
38239        (WebCore::WebGLRenderingContext::clearIfComposited):
38240        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
38241
382422011-03-24  Enrica Casucci  <enrica@apple.com>
38243
38244        Reviewed by Alexey Proskuryakov.
38245
38246        WebKit2:Services menu item to convert selected Simplified/Traditional Chinese Text is not working.
38247        https://bugs.webkit.org/show_bug.cgi?id=56975
38248        <rdar://problem/8915066>
38249
38250        Adding support in WebCore to implement readSelectionFromPasteboard
38251        to support Mac OS X services from WebKit2.
38252
38253        * WebCore.exp.in:
38254        * editing/Editor.h:
38255        * editing/mac/EditorMac.mm:
38256        (WebCore::Editor::readSelectionFromPasteboard): Added entry point
38257        to call the paste functions with the specified pasteboard.
38258
382592011-03-24  Vsevolod Vlasov  <vsevik@chromium.org>
38260
38261        Reviewed by Pavel Feldman.
38262
38263        Web Inspector: Inspector does not show correct transfer size for synchronous requests
38264        https://bugs.webkit.org/show_bug.cgi?id=56951
38265
38266        Fixed transfer size for synchronous load.
38267
38268        Test: http/tests/inspector/network/network-size-sync.html
38269
38270        * loader/FrameLoader.cpp:
38271        (WebCore::FrameLoader::willLoadMediaElementURL):
38272        (WebCore::FrameLoader::commitProvisionalLoad):
38273        (WebCore::FrameLoader::loadResourceSynchronously):
38274        (WebCore::FrameLoader::loadedResourceFromMemoryCache):
38275        * loader/ResourceLoadNotifier.cpp:
38276        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
38277        * loader/ResourceLoadNotifier.h:
38278
382792011-03-24  Brady Eidson  <beidson@apple.com>
38280
38281        Reviewed by Adam Roben.
38282
38283        https://bugs.webkit.org/show_bug.cgi?id=57030
38284        REGRESSION (r81782): http/tests/inspector/extensions-resources-redirect.html sometimes crashes WebKit2's
38285        web process while handling a WebIconDatabaseProxy::ReceivedIconLoadDecision message
38286
38287        The callback objects had some bogus ASSERTs and missed a relevant null check. If a callback was waiting on
38288        a message back from the UIProcess, but was invalidated from within the WebProcess in the meantime, it's
38289        perfectly valid to attempt to performCallback() after the callback function pointer has been cleared.
38290
38291        * loader/icon/IconDatabaseBase.h:
38292        (WebCore::EnumCallback::performCallback):
38293        (WebCore::EnumCallback::invalidate):
38294        (WebCore::EnumCallback::EnumCallback):
38295        (WebCore::ObjectCallback::performCallback):
38296        (WebCore::ObjectCallback::invalidate):
38297        (WebCore::ObjectCallback::ObjectCallback):
38298
382992011-03-24  Sam Weinig  <sam@webkit.org>
38300
38301        Reviewed by Darin Adler.
38302
38303        Dictionary text extraction is not correctly detecting word boundaries on bing.com
38304        <rdar://problem/9078569>
38305        https://bugs.webkit.org/show_bug.cgi?id=56995
38306
38307        * WebCore.exp.in:
38308        Add some editing related exports needed by WebKit2.
38309
383102011-03-24  Andy Estes  <aestes@apple.com>
38311
38312        Reviewed by Eric Seidel.
38313
38314        REGRESSION (r80231): Bad cast in HTMLTreeBuilder with closed </form> tags
38315        https://bugs.webkit.org/show_bug.cgi?id=56836
38316
38317        During fragment parsing, HTMLConstructionSite holds a reference to the
38318        fragment context's closest form ancestor. If a misnested form end tag is
38319        then encountered as the first node of the fragment, we will check to see
38320        if a corresponding form start tag is in scope even though no such tag
38321        exists. This led to isScope() walking the HTMLElementStack all the way
38322        to the root DocumentFragment and attempting to cast it to Element*.
38323
38324        Fix this by ensuring that the inScope() family of functions operate in
38325        terms of ContainerNodes to account for the fragment case.
38326
38327        Test: fast/parser/fragment-closest-form-ancestor.html
38328
38329        * html/parser/HTMLElementStack.cpp:
38330        (WebCore::HTMLNames::isRootNode):
38331        (WebCore::HTMLNames::isScopeMarker):
38332        (WebCore::HTMLNames::isTableScopeMarker):
38333        (WebCore::HTMLNames::isTableBodyScopeMarker):
38334        (WebCore::HTMLNames::isTableRowScopeMarker):
38335        (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
38336        (WebCore::HTMLElementStack::inScope):
38337
383382011-03-24  Enrica Casucci  <enrica@apple.com>
38339
38340        Reviewed by Darin Adler.
38341
38342        Repeated copy and paste-in-place operation results in increasingly verbose HTML.
38343        <rdar://problem/8690506>
38344        https://bugs.webkit.org/show_bug.cgi?id=56874
38345
38346        When we calculate the style to apply at the insertion point we compare the initial
38347        style at the insertion point against the style calculated at the span we wrap the
38348        copied markup fragment with. We could end up with a series of unnecessary spans
38349        to remove the initial style that simply grow our markup.
38350        The consists in moving the insertion point outside any inline element that could
38351        affect the fragment being inserted when we are not pasting and matching the style.
38352
38353        Test: editing/pasteboard/paste-text-with-style.html
38354
38355        * editing/ReplaceSelectionCommand.cpp:
38356        (WebCore::isInlineNodeWithStyle): Added.
38357        (WebCore::ReplaceSelectionCommand::doApply): Added logic to change the insertion
38358        point according to the new rules.
38359
383602011-03-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
38361
38362        Reviewed by Kenneth Rohde Christiansen.
38363
38364        [Qt] When we render WebGL offscreen, color conversion cost a lot of CPU cycles
38365        https://bugs.webkit.org/show_bug.cgi?id=40884
38366
38367        The software fallback is now only needed for corner cases like a manual rendering
38368        of the page to QImage.
38369
38370        Keeping the image with the last pixel values is no longer needed. Removing it reduce the
38371        performance for real-time rendering on software surface, but this case should no longer be
38372        supported.
38373
38374        The conversion from OpenGL color space and coordinates is done manually for performance. This
38375        also fix the bug of the inverted X axis due to the transformation.
38376
38377        The tests and benchmarks are done through Qt API tests.
38378
38379        * platform/graphics/qt/GraphicsContext3DQt.cpp:
38380        (WebCore::swapBgrToRgb):
38381        (WebCore::GraphicsContext3DInternal::paint):
38382        (WebCore::GraphicsContext3D::reshape):
38383
383842011-03-24  Nat Duca  <nduca@chromium.org>
38385
38386        Reviewed by James Robinson.
38387
38388        [chromium] Remove bool that forces compositor HUD to always be enabled
38389        https://bugs.webkit.org/show_bug.cgi?id=57034
38390
38391        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
38392        (WebCore::CCHeadsUpDisplay::enabled):
38393
383942011-03-24  Nat Duca  <nduca@chromium.org>
38395
38396        Reviewed by Kenneth Russell.
38397
38398        [chromium] Add traceEvents to compositor
38399        https://bugs.webkit.org/show_bug.cgi?id=56965
38400
38401        * WebCore.gypi:
38402        * platform/chromium/TraceEvent.h: Added.
38403        (WebCore::internal::ScopeTracer::ScopeTracer):
38404        (WebCore::internal::ScopeTracer::~ScopeTracer):
38405        * platform/graphics/chromium/LayerRendererChromium.cpp:
38406        (WebCore::LayerRendererChromium::updateRootLayerContents):
38407        (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
38408        (WebCore::LayerRendererChromium::updateLayers):
38409        (WebCore::LayerRendererChromium::drawLayers):
38410        (WebCore::LayerRendererChromium::finish):
38411        (WebCore::LayerRendererChromium::present):
38412        * platform/graphics/chromium/LayerTilerChromium.cpp:
38413        (WebCore::LayerTilerChromium::update):
38414
384152011-03-24  Pavel Feldman  <pfeldman@chromium.org>
38416
38417        Reviewed by Yury Semikhatsky.
38418
38419        Web Inspector: render XHRs matching JSON regex as JSON.
38420        https://bugs.webkit.org/show_bug.cgi?id=57035
38421
38422        * English.lproj/localizedStrings.js:
38423        * WebCore.gypi:
38424        * WebCore.vcproj/WebCore.vcproj:
38425        * inspector/front-end/NetworkItemView.js:
38426        (WebInspector.NetworkItemView):
38427        * inspector/front-end/RemoteObject.js:
38428        (WebInspector.LocalJSONObject.prototype.get description.switch.case):
38429        (WebInspector.LocalJSONObject.prototype.get description):
38430        (WebInspector.LocalJSONObject.prototype._concatenate):
38431        (WebInspector.LocalJSONObject.prototype.getProperties):
38432        (WebInspector.LocalJSONObject.prototype._children):
38433        * inspector/front-end/ResourceJSONView.js: Added.
38434        (WebInspector.ResourceJSONView):
38435        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.hasContent):
38436        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.show):
38437        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype._initialize):
38438        * inspector/front-end/WebKit.qrc:
38439        * inspector/front-end/inspector.css:
38440        (.resource-view.json):
38441        * inspector/front-end/inspector.html:
38442
384432011-03-24  Dimitri Glazkov  <dglazkov@chromium.org>
38444
38445        Reviewed by Darin Adler.
38446
38447        Move media controls subtree creation into one method.
38448        https://bugs.webkit.org/show_bug.cgi?id=56969
38449
38450        Mechanical move, no changes in functionality.
38451
38452        The purpose of this patch is to align existing code closer with its
38453        future version, when MediaControls is an element whose tree is created
38454        at the instantiation.
38455
38456        * html/shadow/MediaControls.cpp:
38457        (WebCore::MediaControls::create): Added, consolidating all subtree generation logic into one place.
38458        (WebCore::MediaControls::update): Replaced methods with one call.
38459        * html/shadow/MediaControls.h: Updated decls.
38460        * rendering/MediaControlElements.cpp:
38461        (WebCore::MediaControlTimelineElement::create): Moved setting of attributes here.
38462        (WebCore::MediaControlVolumeSliderElement::create): Ditto.
38463
384642011-03-24  Steve Falkenburg  <sfalken@apple.com>
38465
38466        Reviewed by Darin Adler.
38467
38468        Use proper string method to generate webloc string.
38469        https://bugs.webkit.org/show_bug.cgi?id=57028
38470        <rdar://problem/9181955>
38471
38472        * platform/win/ClipboardUtilitiesWin.cpp:
38473        (WebCore::getWebLocData):
38474
384752011-03-24  Ben Taylor  <bentaylor.solx86@gmail.com>
38476
38477        Reviewed by Alexey Proskuryakov.
38478
38479        https://bugs.webkit.org/show_bug.cgi?id=32821
38480        Fix conditionals which had an int for one case and a pointer for another.
38481        Fix is similar to https://bugs.webkit.org/show_bug.cgi?id=56198
38482
38483        No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++
38484
38485        * css/CSSComputedStyleDeclaration.cpp:
38486        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
38487
384882011-03-24  Pavel Podivilov  <podivilov@chromium.org>
38489
38490        Reviewed by Yury Semikhatsky.
38491
38492        Web Inspector: provide live edit callback to source frame delegate.
38493        https://bugs.webkit.org/show_bug.cgi?id=57003
38494
38495        * inspector/front-end/DebuggerModel.js:
38496        (WebInspector.DebuggerModel.prototype.editScriptSource):
38497        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
38498        * inspector/front-end/DebuggerPresentationModel.js:
38499        (WebInspector.DebuggerPresentationModel):
38500        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
38501        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource.didEditScriptSource):
38502        (WebInspector.DebuggerPresentationModel.prototype.editScriptSource):
38503        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
38504        (WebInspector.DebuggerPresentationModel.prototype._scriptForSourceFileId):
38505        * inspector/front-end/ScriptsPanel.js:
38506        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
38507        (WebInspector.SourceFrameDelegateForScriptsPanel):
38508        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.canEditScriptSource):
38509        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.editScriptSource):
38510
385112011-03-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
38512
38513        Reviewed by Andreas Kling.
38514
38515        Regression: WebKit does not build with Python 3 following 56807
38516        https://bugs.webkit.org/show_bug.cgi?id=56923
38517
38518        The module string does not have the function replace in Python 3. The str.replace function
38519        can do the same operation in this case and works with the versions 2 and 3.
38520
38521        * inspector/generate-inspector-idl:
38522
385232011-03-24  Pavel Feldman  <pfeldman@chromium.org>
38524
38525        Reviewed by Yury Semikhatsky.
38526
38527        Web Inspector: brush up Network agent API.
38528        https://bugs.webkit.org/show_bug.cgi?id=57001
38529
38530        * inspector/Inspector.json:
38531        * inspector/InspectorInstrumentation.cpp:
38532        (WebCore::InspectorInstrumentation::willSendRequestImpl):
38533        * inspector/InspectorInstrumentation.h:
38534        (WebCore::InspectorInstrumentation::willSendRequest):
38535        * inspector/InspectorResourceAgent.cpp:
38536        (WebCore::buildObjectForResourceRequest):
38537        (WebCore::buildObjectForResourceResponse):
38538        (WebCore::buildObjectForCachedResource):
38539        (WebCore::InspectorResourceAgent::willSendRequest):
38540        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
38541        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
38542        (WebCore::InspectorResourceAgent::setExtraHeaders):
38543        * inspector/InspectorResourceAgent.h:
38544        * inspector/TimelineRecordFactory.cpp:
38545        (WebCore::TimelineRecordFactory::createResourceReceiveResponseData):
38546        * inspector/front-end/NetworkManager.js:
38547        (WebInspector.NetworkDispatcher.prototype._updateResourceWithRequest):
38548        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
38549        (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
38550        (WebInspector.NetworkDispatcher.prototype.willSendRequest):
38551        (WebInspector.NetworkDispatcher.prototype.didReceiveWebSocketHandshakeResponse):
38552        (WebInspector.NetworkDispatcher.prototype.didCloseWebSocket):
38553        * inspector/front-end/Resource.js:
38554        * inspector/front-end/TimelinePanel.js:
38555        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
38556        * loader/ResourceLoadNotifier.cpp:
38557        (WebCore::ResourceLoadNotifier::assignIdentifierToInitialRequest):
38558        (WebCore::ResourceLoadNotifier::dispatchWillSendRequest):
38559        * loader/appcache/ApplicationCacheGroup.cpp:
38560        (WebCore::ApplicationCacheGroup::createResourceHandle):
38561
385622011-03-11  Steve Block  <steveblock@google.com>
38563
38564        Reviewed by Jeremy Orlow.
38565
38566        JNIType is not specific to JNI so should be renamed
38567        https://bugs.webkit.org/show_bug.cgi?id=56197
38568
38569        This patch renames JNIType to JavaType, renames the values of
38570        the enum, and moves it out of JNIUtility.h to its own file.
38571        Also renames the corresponding JavaField and JavaMethod getters.
38572
38573        No new tests, refactoring only.
38574
38575        * GNUmakefile.am:
38576        * WebCore.gypi:
38577        * WebCore.xcodeproj/project.pbxproj:
38578        * bridge/jni/JNIUtility.cpp:
38579        (JSC::Bindings::javaTypeFromClassName):
38580        (JSC::Bindings::signatureFromJavaType):
38581        (JSC::Bindings::javaTypeFromPrimitiveType):
38582        (JSC::Bindings::getJNIField):
38583        (JSC::Bindings::callJNIMethod):
38584        * bridge/jni/JNIUtility.h:
38585        * bridge/jni/JavaMethod.cpp:
38586        (JavaMethod::JavaMethod):
38587        (JavaMethod::signature):
38588        * bridge/jni/JavaMethod.h:
38589        (JSC::Bindings::JavaMethod::returnTypeClassName):
38590        (JSC::Bindings::JavaMethod::returnType):
38591        * bridge/jni/JavaType.h: Copied from Source/WebCore/bridge/jni/JavaMethod.h.
38592        * bridge/jni/jni_jsobject.mm:
38593        (JavaJSObject::toString):
38594        * bridge/jni/jni_objc.mm:
38595        (JSC::Bindings::dispatchJNICall):
38596        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
38597        (JSC::Bindings::convertArrayInstanceToJavaArray):
38598        (JSC::Bindings::convertValueToJValue):
38599        * bridge/jni/jsc/JNIUtilityPrivate.h:
38600        * bridge/jni/jsc/JavaArrayJSC.cpp:
38601        (JavaArray::setValueAt):
38602        (JavaArray::valueAt):
38603        * bridge/jni/jsc/JavaClassJSC.cpp:
38604        * bridge/jni/jsc/JavaFieldJSC.cpp:
38605        (JavaField::JavaField):
38606        (JavaField::dispatchValueFromInstance):
38607        (JavaField::valueFromInstance):
38608        (JavaField::dispatchSetValueToInstance):
38609        (JavaField::setValueToInstance):
38610        * bridge/jni/jsc/JavaFieldJSC.h:
38611        (JSC::Bindings::JavaField::typeClassName):
38612        (JSC::Bindings::JavaField::type):
38613        * bridge/jni/jsc/JavaInstanceJSC.cpp:
38614        (JavaInstance::invokeMethod):
38615        * bridge/jni/v8/JNIUtilityPrivate.cpp:
38616        (JSC::Bindings::convertNPVariantToJValue):
38617        (JSC::Bindings::convertJValueToNPVariant):
38618        * bridge/jni/v8/JNIUtilityPrivate.h:
38619        * bridge/jni/v8/JavaFieldV8.cpp:
38620        (JavaField::JavaField):
38621        * bridge/jni/v8/JavaFieldV8.h:
38622        (JSC::Bindings::JavaField::typeClassName):
38623        (JSC::Bindings::JavaField::type):
38624        * bridge/jni/v8/JavaInstanceV8.cpp:
38625        (JavaInstance::invokeMethod):
38626        (JavaInstance::getField):
38627        * bridge/jni/v8/JavaNPObjectV8.cpp:
38628        (JSC::Bindings::JavaNPObjectInvoke):
38629        (JSC::Bindings::JavaNPObjectGetProperty):
38630
386312011-03-24  Ojan Vafai  <ojan@chromium.org>
38632
38633        Was being a little braindead when I committed this.
38634        Only simple selectors are allowed, but sibling selectors
38635        are sibling selectors.
38636
38637        * css/CSSStyleSelector.cpp:
38638        (WebCore::collectFeaturesFromList):
38639
386402011-03-23  MORITA Hajime  <morrita@google.com>
38641
38642        Reviewed by Kent Tamura.
38643
38644        Spellcheck feature specific symbols should be defined.
38645        https://bugs.webkit.org/show_bug.cgi?id=56818
38646
38647        * Introduced USE(UNIFIED_TEXT_CHECKING), USE(GRAMMAR_CHECKING) and USE(AUTOMATIC_TEXT_REPLACEMENT)
38648        * Replaced a part of of BUILDING_ON_* conditionals with them.
38649
38650        Note that small amount of code path on Editor.cpp is now compiled under USE(GRAMMAR_CHECKING)
38651        because these code path is already built under non-Mac ports and
38652        Keeping them buildable for such platforms reduces the build breakage risk.
38653        These path is guarded by Settings thus should never get reached.
38654
38655        No new tests. No behavioral change.
38656
38657        * WebCore.gypi:
38658        * WebCore.pro:
38659        * WebCore.vcproj/WebCore.vcproj:
38660        * WebCore.xcodeproj/project.pbxproj:
38661        * editing/Editor.cpp:
38662        (WebCore::Editor::advanceToNextMisspelling):
38663        (WebCore::Editor::isSelectionUngrammatical):
38664        (WebCore::Editor::guessesForUngrammaticalSelection):
38665        (WebCore::Editor::guessesForMisspelledOrUngrammaticalSelection):
38666        (WebCore::Editor::markMisspellingsAfterTypingToWord):
38667        (WebCore::Editor::markMisspellingsOrBadGrammar):
38668        (WebCore::Editor::markBadGrammar):
38669        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
38670        (WebCore::Editor::changeBackToReplacedString):
38671        (WebCore::Editor::markMisspellingsAndBadGrammar):
38672        * editing/Editor.h:
38673        * editing/TextCheckingHelper.cpp:
38674        (WebCore::TextCheckingHelper::findFirstMisspellingOrBadGrammar):
38675        (WebCore::TextCheckingHelper::findFirstGrammarDetail):
38676        (WebCore::TextCheckingHelper::findFirstBadGrammar):
38677        (WebCore::TextCheckingHelper::isUngrammatical):
38678        (WebCore::TextCheckingHelper::guessesForMisspelledOrUngrammaticalRange):
38679        (WebCore::TextCheckingHelper::markAllBadGrammar):
38680        * loader/EmptyClients.h:
38681        * platform/text/TextCheckerClient.h:
38682        * platform/text/TextChecking.h: Added.
38683
386842011-03-23  Kent Tamura  <tkent@chromium.org>
38685
38686        Reviewed by Dimitri Glazkov.
38687
38688        [Chromium] Force to make validation bubble DIV position:absolute
38689        https://bugs.webkit.org/show_bug.cgi?id=56901
38690
38691        Test: fast/forms/interactive-validation-crash-by-style-override.html
38692
38693        * html/ValidationMessage.cpp:
38694        (WebCore::ValidationMessage::buildBubbleTree): Add position:absolute
38695          because we need to move the validation message to a good position.
38696        * rendering/RenderMenuList.cpp:
38697        (WebCore::RenderMenuList::addChild):
38698
386992011-03-23  Mike Lawther  <mikelawther@chromium.org>
38700
38701        Reviewed by Ojan Vafai.
38702
38703        flex/bison tokens and grammar for CSS calc
38704        https://bugs.webkit.org/show_bug.cgi?id=54412
38705
38706        Tests: css3/calc/calc-errors.html
38707               css3/calc/minmax-errors.html
38708               css3/calc/simple-calcs.html
38709               css3/calc/simple-minmax.html
38710
38711        * css/CSSGrammar.y:
38712        * css/CSSParserValues.cpp:
38713        (WebCore::CSSParserValueList::insertValueAt):
38714        (WebCore::CSSParserValueList::extend):
38715        * css/CSSParserValues.h:
38716        * css/tokenizer.flex:
38717
387182011-03-23  Adam Klein  <adamk@chromium.org>
38719
38720        Reviewed by David Levin.
38721
38722        Fix resolveLocalFileSystemURL (and sync version) error codes to match the spec
38723        https://bugs.webkit.org/show_bug.cgi?id=56961
38724
38725        See error code listing in the Files & Directories spec:
38726        http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#widl-LocalFileSystemSync-resolveLocalFileSystemSyncURL
38727
38728        Note that the spec currently only specifies errors for the sync
38729        version; I've used the same codes for the async version.
38730
38731        * page/DOMWindow.cpp:
38732        (WebCore::DOMWindow::resolveLocalFileSystemURL):
38733        * workers/WorkerContext.cpp:
38734        (WebCore::WorkerContext::resolveLocalFileSystemURL):
38735        (WebCore::WorkerContext::resolveLocalFileSystemSyncURL):
38736
387372011-03-23  Jia Pu  <jpu@apple.com>
38738
38739        Reviewed by Darin Adler.
38740
38741        Hook up new AppKit autocorrection UI with WK2.
38742        https://bugs.webkit.org/show_bug.cgi?id=56055
38743        <rdar://problem/8947463>
38744
38745        This patch is to enable WK2 to utilize autocorrection UI on Mac OS X. It contains following
38746        major changes:
38747
38748        1. All but one autocorrection related message is synchronous. Since dismissing autocorrection
38749        panel can potentially cause editing to occur, a synchronous dismissCorrectionPanelSoon() function
38750        is introduced to ensure all editing commands occur in correct order.
38751
38752        2. Additional condition variable is needed to implement dismissCorrectionPanelSoon().
38753        To improve maintainability, CorrectionPanel class is introduced to manage the
38754        internal state related to correction panel. This change is applied to both WK1 and WK2.
38755
38756        3. EditorClient::isShowingCorrectionPanel() has been removed. The original purpose is to allow
38757        editor to know when to handle ESC key event. Now this is handled internally in AppKit, so
38758        EditorClient::isShowingCorrectionPanel() isn't necessary anymore.
38759
38760        4. The Editor* argument in EditorClient::showCorrectionPanel() has been removed, since we can
38761        access object via WebView or WKView.
38762
38763        * editing/Editor.cpp:
38764        (WebCore::Editor::markMisspellingsAfterTypingToWord):
38765        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
38766        (WebCore::Editor::correctionPanelTimerFired):
38767        (WebCore::Editor::dismissCorrectionPanel):
38768        (WebCore::Editor::dismissCorrectionPanelSoon):
38769        (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate):
38770        * editing/Editor.h:
38771        * editing/EditorCommand.cpp:
38772        (WebCore::createCommandMap):
38773        * loader/EmptyClients.h:
38774        (WebCore::EmptyEditorClient::showCorrectionPanel):
38775        (WebCore::EmptyEditorClient::dismissCorrectionPanelSoon):
38776        * manual-tests/autocorrection/close-window-when-correction-is-shown.html: Added.
38777        * page/EditorClient.h:
38778
387792011-03-22  Ojan Vafai  <ojan@chromium.org>
38780
38781        Reviewed by Antti Koivisto.
38782
38783        move :not over to using selectorList instead of simpleSelector
38784        https://bugs.webkit.org/show_bug.cgi?id=56894
38785
38786        Saves memory and simplifies code.
38787
38788        No new tests since existing tests cover this code.
38789
38790        * css/CSSGrammar.y:
38791        Also removed extranenous calls to updateLastSelectorLineAndPosition in
38792        simple_selector_list. These happened to work, but are only actually
38793        needed in selector_list.
38794        * css/CSSParserValues.h:
38795        * css/CSSSelector.cpp:
38796        (WebCore::CSSSelector::specificityForOneSelector):
38797        Removed null-check. The parser null-checks, I don't see why we need to here.
38798        (WebCore::CSSSelector::selectorText):
38799        Ditto.
38800        (WebCore::CSSSelector::setArgument):
38801        (WebCore::CSSSelector::isSimple):
38802        * css/CSSSelector.h:
38803        * css/CSSSelectorList.cpp:
38804        (WebCore::forEachTagSelector):
38805        * css/CSSStyleSelector.cpp:
38806        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
38807        (WebCore::collectFeaturesFromSelector):
38808        (WebCore::collectFeaturesFromList):
38809
388102011-03-23  Carol Szabo  <carol.szabo@nokia.com>
38811
38812        Reviewed by David Hyatt.
38813
38814        Made sure that renderers displaying counters are invalidated upon
38815        counter destruction.
38816
38817        Assertion and incorrect rendering of counters.
38818        https://bugs.webkit.org/show_bug.cgi?id=56896
38819
38820        Test: fast/css/counters/2displays.html
38821
38822        * rendering/CounterNode.cpp:
38823        (WebCore::CounterNode::~CounterNode):
38824        Added to make sure that its display renderers are always reset when
38825        the node is deleted.
38826        (WebCore::CounterNode::resetRenderers):
38827        Fixed bug that would prevent reset of second and subsequent
38828        display renderers.
38829        * rendering/CounterNode.h:
38830        * rendering/RenderCounter.cpp:
38831        (WebCore::destroyCounterNodeWithoutMapRemoval):
38832        removed unnecessary calls to resetRenderers() as the CounterNode
38833        destructor takes care of that now.
38834
388352011-03-23  Brian Weinstein  <bweinstein@apple.com>
38836
38837        Reviewed by Maciej Stachowiak.
38838
38839        WebKit2: Need API to manage the Media Cache
38840        https://bugs.webkit.org/show_bug.cgi?id=56878
38841        <rdar://problem/9082503>
38842
38843        Add functions that need to be exported.
38844
38845        * WebCore.exp.in:
38846
388472011-03-23  Robert Kroeger  <rjkroege@chromium.org>
38848
38849        Reviewed by James Robinson.
38850
38851        Correct use of ENABLE() Macro
38852
38853        In http://trac.webkit.org/changeset/81618, I mis-used the ENABLE()
38854        macro. This patch corrects.
38855
38856        https://bugs.webkit.org/show_bug.cgi?id=56964
38857
38858        * page/EventHandler.cpp:
38859        (WebCore::EventHandler::EventHandler):
38860        (WebCore::EventHandler::handleTouchEvent):
38861        * page/EventHandler.h:
38862
388632011-03-23  Jer Noble  <jer.noble@apple.com>
38864
38865        Reviewed by Simon Fraser.
38866
38867        Scrubbing <video> with HTTP Live Stream resizes element to 0x0
38868        https://bugs.webkit.org/show_bug.cgi?id=55702
38869
38870        QTKit will occasionally set the natural size of a QTMovie to 0x0 while scrubbing
38871        an HTTP Live Stream.  So we will cache the last valid value returned by QTKit
38872        and use that as our naturalSize until a new valid value is returned.
38873
38874        Unfortunately, QTKit will also fail to generate a notification when the natural size
38875        changes, so we are forced to cache the natural size from within naturalSize(), which
38876        is a const function, necessitating a const_cast to set m_cachedNaturalSize.
38877
38878        * platform/graphics/mac/MediaPlayerPrivateQTKit.h: Added m_cachedNaturalSize.
38879        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
38880        (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): Initialize m_cachedNaturalSize.
38881        (WebCore::MediaPlayerPrivateQTKit::naturalSize):
38882
388832011-03-23  Alexey Proskuryakov  <ap@apple.com>
38884
38885        Build fix.
38886
38887        * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
38888        Removed a stray parenthesis.
38889
388902011-03-23  Alexey Proskuryakov  <ap@apple.com>
38891
38892        Reviewed by Maciej Stachowiak.
38893
38894        REGRESSION: Infinite recursion in recursiveCheckLoadComplete()/checkLoadCompleteForThisFrame()/stopLoading()
38895        https://bugs.webkit.org/show_bug.cgi?id=56978
38896        <rdar://problem/9041670>
38897
38898        No new tests, because there is no known way to reproduce.
38899
38900        Removed strange code that was trying to stop a non-loading provisional document loader and
38901        even its subframes (?!). Added assertions to catch it if we can actually be loading here in
38902        some sense.
38903        Rewrote a condition for clarity - starting with r43148, it was acting as an opposite of a
38904        recursion guard (but that didn't cause immediate problems then).
38905
38906        * loader/FrameLoader.cpp: (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
38907
389082011-03-23  Brady Eidson  <beidson@apple.com>
38909
38910        Attempt to fix the build for platforms that have the icon database
38911        disabled but still provide settings API for it...?
38912
38913        * loader/icon/IconDatabase.h:
38914        (WebCore::IconDatabase::defaultDatabaseFilename):
38915
389162011-03-23  Mark Rowe  <mrowe@apple.com>
38917
38918        Fix the build.
38919
38920        * WebCore.exp.in: Export the new version of IconDatabase::open.
38921
389222011-03-23  Brady Eidson  <beidson@apple.com>
38923
38924        Reviewed by Sam Weinig.
38925
38926        Change IconDatabase opening to allow for arbitrary filenames
38927        https://bugs.webkit.org/show_bug.cgi?id=56977
38928
38929        * WebCore.exp.in:
38930        * loader/icon/IconDatabase.cpp:
38931        (WebCore::IconDatabase::open):
38932        * loader/icon/IconDatabase.h:
38933        * loader/icon/IconDatabaseBase.cpp:
38934        (WebCore::IconDatabaseBase::open):
38935        * loader/icon/IconDatabaseBase.h:
38936        * loader/icon/IconDatabaseClient.h:
38937
389382011-03-23  Kenneth Russell  <kbr@google.com>
38939
38940        Reviewed by James Robinson.
38941
38942        [chromium] WebGLRenderingContext and other DOMWindow properties should remain if WebGL is disabled
38943        https://bugs.webkit.org/show_bug.cgi?id=56947
38944
38945        Removed the RuntimeEnabledFeatures setting for WebGL and the
38946        EnabledAtRuntime extended attribute from the WebGL-related
38947        properties on the DOMWindow. WebGL support is now controlled
38948        exclusively through the page's Settings.
38949
38950        No new tests; tested manually in Chromium with --disable-webgl
38951        command line argument and blacklist.
38952
38953        * bindings/generic/RuntimeEnabledFeatures.cpp:
38954        * bindings/generic/RuntimeEnabledFeatures.h:
38955        * page/DOMWindow.idl:
38956
389572011-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
38958
38959        Unreviewed, rolling out r81802.
38960        http://trac.webkit.org/changeset/81802
38961        https://bugs.webkit.org/show_bug.cgi?id=56963
38962
38963        Broke a layout test, and this fix is not trivial. (Requested
38964        by dhyatt on #webkit).
38965
38966        * rendering/RenderBlock.cpp:
38967        (WebCore::RenderBlock::layoutBlock):
38968        (WebCore::RenderBlock::layoutOnlyPositionedObjects):
38969        * rendering/RenderBlock.h:
38970        * rendering/RenderBox.cpp:
38971        (WebCore::RenderBox::styleDidChange):
38972        * rendering/RenderBoxModelObject.cpp:
38973        (WebCore::RenderBoxModelObject::styleWillChange):
38974        * rendering/RenderFlexibleBox.cpp:
38975        (WebCore::RenderFlexibleBox::layoutBlock):
38976        * rendering/RenderObject.cpp:
38977        (WebCore::RenderObject::RenderObject):
38978        (WebCore::RenderObject::adjustStyleDifference):
38979        (WebCore::RenderObject::setStyle):
38980        (WebCore::RenderObject::styleDidChange):
38981        * rendering/RenderObject.h:
38982        (WebCore::RenderObject::needsLayout):
38983        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
38984        (WebCore::RenderObject::setNeedsLayout):
38985        (WebCore::RenderObject::setChildNeedsLayout):
38986        (WebCore::RenderObject::markContainingBlocksForLayout):
38987        * rendering/RenderTable.cpp:
38988        (WebCore::RenderTable::layout):
38989        * rendering/style/RenderStyle.cpp:
38990        (WebCore::RenderStyle::diff):
38991        * rendering/style/RenderStyleConstants.h:
38992        * rendering/svg/RenderSVGText.cpp:
38993        (WebCore::RenderSVGText::layout):
38994
389952011-03-23  Luiz Agostini  <luiz.agostini@openbossa.org>
38996
38997        Reviewed by David Hyatt.
38998
38999        REGRESSION(81035): crash in RenderDetails::removeChild
39000        https://bugs.webkit.org/show_bug.cgi?id=56773
39001
39002        Test: fast/html/details-children-merge-crash.html
39003
39004        Preventing merging of RenderDetails's anonymous children.
39005
39006        * rendering/RenderBlock.cpp:
39007        (WebCore::canMergeContiguousAnonymousBlocks):
39008
39009        Fixing RenderDetails::removeChild and cleaning m_marker in RenderDetails::destroy.
39010
39011        * rendering/RenderDetails.cpp:
39012        (WebCore::RenderDetails::destroy):
39013        (WebCore::RenderDetails::removeChild):
39014
390152011-03-23  Xiaomei Ji  <xji@chromium.org>
39016
39017        Reviewed by David Hyatt.
39018
39019        Preserve unicode-bidi:bidi-override in anonymous block.
39020        https://bugs.webkit.org/show_bug.cgi?id=21440
39021
39022        unicode-bidi:bidi-override should be preserved in anonymous block
39023        according to http://www.w3.org/TR/CSS21/visuren.html#propdef-unicode-bidi.
39024
39025        Introduce a helper function RenderStyle()::createAnonymousStyle() which
39026        creates a default RenderStyle, inherits the inherited style from parent,
39027        and inherit unicode-bidi:bidi-override from parent.
39028        And replace the style creation when anonymous block is created.
39029
39030        Note: the TABLE releated anonymous blocks are untouched, including:
39031        TABLE, TABLE_CELL, TABLE_ROW, TABLE_ROW_GROUP anonymous blocks created in
39032        RenderObject, RenderTable, RenderTableRow, and RenderTableSection,
39033        due to the expected behavior is not clear.
39034        Please refer to https://bugs.webkit.org/show_bug.cgi?id=56594.
39035
39036        Test: fast/css/bidi-override-in-anonymous-block.html
39037
39038        * rendering/RenderBlock.cpp:
39039        (WebCore::RenderBlock::styleDidChange):
39040        (WebCore::RenderBlock::removeChild):
39041        (WebCore::RenderBlock::createAnonymousBlock):
39042        (WebCore::RenderBlock::createAnonymousColumnsBlock):
39043        (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
39044        * rendering/RenderInline.cpp:
39045        (WebCore::RenderInline::addChildIgnoringContinuation):
39046        * rendering/RenderRubyRun.cpp:
39047        (WebCore::RenderRubyRun::createRubyBase):
39048        (WebCore::RenderRubyRun::staticCreateRubyRun):
39049        * rendering/style/RenderStyle.cpp:
39050        (WebCore::RenderStyle::createAnonymousStyle):
39051        * rendering/style/RenderStyle.h:
39052
390532011-03-23  David Hyatt  <hyatt@apple.com>
39054
39055        Reviewed by Dan Bernstein.
39056
39057        https://bugs.webkit.org/show_bug.cgi?id=56909
39058
39059        Add a simplified normal flow layout path optimization for overflow recomputation
39060        and for positioned objects inside relative positioned containers.
39061
39062        Currently there is an optimized code path for positioned objects, but as soon as
39063        we encounter a normal flow object in the containing block chain, we lose the
39064        optimization.
39065
39066        This patch adds a new type of style difference called SimplifiedLayout that is
39067        returned when only overflow needs to be recomputed. Whenever opacity changes or
39068        a transform changes, this is the hint returned now instead of a full layout.
39069
39070        In addition, when positioned objects need layout and start marking up the
39071        containing block chain, we now propagate the fact that the layout is simplified
39072        all the way up to the root, even when we encounter normal flow containing
39073        blocks.
39074
39075        The layoutOnlyPositionedObjects function has been renamed to simplifiedLayout()
39076        and is now used for all of these cases (in addition to what it handled before).
39077
39078        No new tests, since existing tests covered this very well (especially the opacity
39079        and transforms repaint tests in fast/repaint).
39080
39081        * rendering/RenderBlock.cpp:
39082        (WebCore::RenderBlock::layoutBlock):
39083        (WebCore::RenderBlock::simplifiedNormalFlowLayout):
39084        (WebCore::RenderBlock::simplifiedLayout):
39085        * rendering/RenderBlock.h:
39086        * rendering/RenderBox.cpp:
39087        (WebCore::RenderBox::styleDidChange):
39088        * rendering/RenderBoxModelObject.cpp:
39089        (WebCore::RenderBoxModelObject::styleWillChange):
39090        * rendering/RenderFlexibleBox.cpp:
39091        (WebCore::RenderFlexibleBox::layoutBlock):
39092        * rendering/RenderObject.cpp:
39093        (WebCore::RenderObject::RenderObject):
39094        (WebCore::RenderObject::adjustStyleDifference):
39095        (WebCore::RenderObject::setStyle):
39096        (WebCore::RenderObject::styleDidChange):
39097        * rendering/RenderObject.h:
39098        (WebCore::RenderObject::needsLayout):
39099        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
39100        (WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
39101        (WebCore::RenderObject::setNeedsLayout):
39102        (WebCore::RenderObject::setChildNeedsLayout):
39103        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
39104        (WebCore::RenderObject::markContainingBlocksForLayout):
39105        * rendering/RenderTable.cpp:
39106        (WebCore::RenderTable::layout):
39107        * rendering/style/RenderStyle.cpp:
39108        (WebCore::RenderStyle::diff):
39109        * rendering/style/RenderStyleConstants.h:
39110        * rendering/svg/RenderSVGText.cpp:
39111        (WebCore::RenderSVGText::layout):
39112
391132011-03-23  Tyler Close  <tjclose@chromium.org>
39114
39115        Reviewed by Jeremy Orlow.
39116
39117        Fix ambiguous method call in V8 IDL generated code for DOMStringList callback parameter
39118        https://bugs.webkit.org/show_bug.cgi?id=56950
39119
39120        * bindings/scripts/CodeGeneratorV8.pm:
39121        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
39122        (WebDOMTestCallback::callbackWithStringList):
39123        * bindings/scripts/test/CPP/WebDOMTestCallback.h:
39124        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
39125        (webkit_dom_test_callback_callback_with_string_list):
39126        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
39127        * bindings/scripts/test/JS/JSTestCallback.cpp:
39128        (WebCore::JSTestCallback::callbackWithStringList):
39129        * bindings/scripts/test/JS/JSTestCallback.h:
39130        * bindings/scripts/test/ObjC/DOMTestCallback.h:
39131        * bindings/scripts/test/ObjC/DOMTestCallback.mm:
39132        (-[DOMTestCallback callbackWithStringList:]):
39133        * bindings/scripts/test/TestCallback.idl:
39134        * bindings/scripts/test/V8/V8TestCallback.cpp:
39135        (WebCore::V8TestCallback::callbackWithStringList):
39136        * bindings/scripts/test/V8/V8TestCallback.h:
39137
391382011-03-23  Cris Neckar  <cdn@chromium.org>
39139
39140        Reviewed by Eric Seidel.
39141
39142        Add refptr for widget. Mutations can happen within the event handler.
39143        https://bugs.webkit.org/show_bug.cgi?id=56774
39144
39145        Test: plugins/change-widget-and-click-crash.html
39146
39147        * html/HTMLPlugInElement.cpp:
39148        (WebCore::HTMLPlugInElement::defaultEventHandler):
39149
391502011-03-23  Abhishek Arya  <inferno@chromium.org>
39151
39152        Reviewed by Dave Hyatt.
39153
39154        Add combine text cast checks since style property is insufficient
39155        in telling object types.
39156        https://bugs.webkit.org/show_bug.cgi?id=56358
39157
39158        Test: fast/text/input-box-text-fragment-combine-text-crash.html
39159
39160        * rendering/InlineTextBox.cpp:
39161        (WebCore::InlineTextBox::paint):
39162        * rendering/RenderBlock.cpp:
39163        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
39164        * rendering/RenderBlockLineLayout.cpp:
39165        (WebCore::RenderBlock::findNextLineBreak):
39166        * rendering/RenderText.cpp:
39167        (WebCore::RenderText::widthFromCache):
39168
391692011-03-23  Andreas Kling  <kling@webkit.org>
39170
39171        Reviewed by Kenneth Rohde Christiansen.
39172
39173        [Qt] "Unwavering" HTML5 game freezes the web page.
39174        https://bugs.webkit.org/show_bug.cgi?id=56944
39175
39176        For canvas's getImageData() API, we don't want to make a deep-copy of
39177        the pixels, which is the case on Qt's "raster" graphics system.
39178
39179        To work around this, we trick QPixmap::toImage() into giving us the
39180        QPixmap's backing QImage by temporarily pointing the paint engine to
39181        a null paint device.
39182
39183        * platform/graphics/qt/ImageBufferData.h:
39184        * platform/graphics/qt/ImageBufferQt.cpp:
39185        (WebCore::ImageBufferData::toQImage): Added, returns the
39186        ImageBufferData as a QImage, avoiding a backend deep-copy if possible.
39187        (WebCore::ImageBuffer::platformTransformColorSpace):
39188        (WebCore::getImageData):
39189
391902011-03-23  Viet-Trung Luu  <viettrungluu@chromium.org>
39191
39192        Reviewed by Tony Chang.
39193
39194        [chromium] Add FormatPlainText to WebClipboard::Format enumeration.
39195        https://bugs.webkit.org/show_bug.cgi?id=56868
39196
39197        Chromium's WebClipboard::isFormatAvailable() will be correspondingly
39198        extended.
39199
39200        * platform/chromium/PasteboardPrivate.h: Add corresponding enum entry.
39201            This part of the change is inert and should have no effect.
39202
392032011-03-23  Tyler Close  <tjclose@chromium.org>
39204
39205        Reviewed by Jeremy Orlow.
39206
39207        run-bindings-tests reference files are out of sync with CodeGenerator*.pm
39208        https://bugs.webkit.org/show_bug.cgi?id=56934
39209
39210        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
39211        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
39212        * bindings/scripts/test/JS/JSTestInterface.cpp:
39213        (WebCore::JSTestInterfaceConstructor::createStructure):
39214        (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
39215        (WebCore::JSTestInterface::createPrototype):
39216        * bindings/scripts/test/JS/JSTestInterface.h:
39217        (WebCore::JSTestInterface::createStructure):
39218        (WebCore::JSTestInterfacePrototype::createStructure):
39219        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
39220        (WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
39221        (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
39222        (WebCore::JSTestMediaQueryListListener::createPrototype):
39223        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
39224        (WebCore::JSTestMediaQueryListListener::createStructure):
39225        (WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
39226        * bindings/scripts/test/JS/JSTestObj.cpp:
39227        (WebCore::JSTestObjConstructor::createStructure):
39228        (WebCore::JSTestObjConstructor::JSTestObjConstructor):
39229        (WebCore::JSTestObj::createPrototype):
39230        * bindings/scripts/test/JS/JSTestObj.h:
39231        (WebCore::JSTestObj::createStructure):
39232        (WebCore::JSTestObjPrototype::createStructure):
39233        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
39234        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
39235        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
39236        (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
39237        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
39238        (WebCore::JSTestSerializedScriptValueInterface::createStructure):
39239        (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
39240        * bindings/scripts/test/V8/V8TestCallback.cpp:
39241        * bindings/scripts/test/V8/V8TestInterface.cpp:
39242        (WebCore::V8TestInterface::wrapSlow):
39243        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
39244        (WebCore::V8TestMediaQueryListListener::wrapSlow):
39245        * bindings/scripts/test/V8/V8TestObj.cpp:
39246        (WebCore::V8TestObj::wrapSlow):
39247        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
39248        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
39249
392502011-03-23  Daniel Bates  <dbates@rim.com>
39251
39252        Reviewed by Antonio Gomes.
39253
39254        Clean up: Rename HTMLFrameSetElement::{noresize, frameborder, and frameBorderSet}
39255        to conform to the WebKit Code style guidelines
39256        https://bugs.webkit.org/show_bug.cgi?id=56871
39257
39258        No functionality changed. So, no new tests.
39259
39260        * html/HTMLFrameSetElement.cpp:
39261        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
39262        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
39263        (WebCore::HTMLFrameSetElement::attach):
39264        (WebCore::HTMLFrameSetElement::defaultEventHandler):
39265        * html/HTMLFrameSetElement.h:
39266        (WebCore::HTMLFrameSetElement::hasFrameBorder):
39267        (WebCore::HTMLFrameSetElement::noResize):
39268
392692011-03-23  Abhishek Arya  <inferno@chromium.org>
39270
39271        Reviewed by Dan Bernstein.
39272
39273        Replace height with logicalHeight when removing items from
39274        gPercentHeightDescendantMap so that it is writing mode aware.
39275        https://bugs.webkit.org/show_bug.cgi?id=56902
39276
39277        Test: fast/block/percent-height-descendant-not-removed-crash.html
39278
39279        * rendering/RenderBox.cpp:
39280        (WebCore::RenderBox::destroy):
39281        (WebCore::RenderBox::styleDidChange):
39282        * rendering/RenderWidget.cpp:
39283        (WebCore::RenderWidget::destroy):
39284
392852011-03-23  Anders Carlsson  <andersca@apple.com>
39286
39287        Fix clang build.
39288
39289        * inspector/DOMNodeHighlighter.cpp:
39290        Remove an unused function.
39291
392922011-03-22  Brady Eidson  <beidson@apple.com>
39293
39294        Reviewed by Sam Weinig.
39295
39296        Add asynchronous load decision call to WebKit2 IconDatabase
39297        https://bugs.webkit.org/show_bug.cgi?id=56887
39298
39299        Clear the callback when it's made:
39300        * loader/DocumentLoader.cpp:
39301        (WebCore::DocumentLoader::continueIconLoadWithDecision):
39302
39303        Don't load icons when using new-style icon database if in private browsing:
39304        * loader/FrameLoader.cpp:
39305        (WebCore::FrameLoader::continueIconLoadWithDecision):
39306
39307        Enhance the IconDatabase callbacks to have an ID and inherit from a common base:
39308        * loader/icon/IconDatabaseBase.h:
39309        (WebCore::CallbackBase::~CallbackBase):
39310        (WebCore::CallbackBase::callbackID):
39311        (WebCore::CallbackBase::CallbackBase):
39312        (WebCore::CallbackBase::context):
39313        (WebCore::CallbackBase::generateCallbackID):
39314        (WebCore::EnumCallback::performCallback):
39315        (WebCore::EnumCallback::EnumCallback):
39316        (WebCore::ObjectCallback::performCallback):
39317        (WebCore::ObjectCallback::ObjectCallback):
39318
393192011-03-21  Pavel Podivilov  <podivilov@chromium.org>
39320
39321        Reviewed by Yury Semikhatsky.
39322
39323        Web Inspector: move scripts concatenation logic to SourceFile.
39324        https://bugs.webkit.org/show_bug.cgi?id=56756
39325
39326        * inspector/front-end/ScriptsPanel.js:
39327        * inspector/front-end/SourceFile.js:
39328        (WebInspector.SourceFile.prototype._requestContent):
39329        (WebInspector.SourceFile.prototype._loadResourceContent):
39330        (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
39331        (WebInspector.SourceFile.prototype._concatenateScriptsContent):
39332
393332011-03-23  Leandro Gracia Gil  <leandrogracia@chromium.org>
39334
39335        Reviewed by Steve Block.
39336
39337        Media Stream API: add a flag to RuntimeEnabledFeatures.
39338        https://bugs.webkit.org/show_bug.cgi?id=56921
39339
39340        Add a flag to RuntimeEnabledFeatures to check if the Media Stream API is enabled at runtime.
39341
39342        Tests for the Media Stream API will be provided by the bug 56587.
39343
39344        * bindings/generic/RuntimeEnabledFeatures.cpp:
39345        * bindings/generic/RuntimeEnabledFeatures.h:
39346        (WebCore::RuntimeEnabledFeatures::mediaStreamEnabled):
39347        (WebCore::RuntimeEnabledFeatures::setMediaStreamEnabled):
39348        (WebCore::RuntimeEnabledFeatures::webkitGetUserMediaEnabled):
39349
393502011-03-23  Carol Szabo  <carol.szabo@nokia.com>
39351
39352        Reviewed by David Hyatt.
39353
39354        Modified RenderCounter::originalText() to correctly attach
39355        the created counter to the before/after container even when
39356        that is not the RenderCounter's direct parent.
39357
39358        CSS 2.1 failure: various before-after-* tests fail
39359        https://bugs.webkit.org/show_bug.cgi?id=47207
39360
39361        Test: fast/css/counters/complex-before.html
39362
39363        * rendering/RenderCounter.cpp:
39364        (WebCore::RenderCounter::originalText):
39365
393662011-03-23  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
39367
39368        Reviewed by Antonio Gomes.
39369
39370        [EFL] Add play / pause button to media control
39371        https://bugs.webkit.org/show_bug.cgi?id=55463
39372
39373        Add play|pause button to media control.
39374
39375        * platform/efl/RenderThemeEfl.cpp:
39376        (WebCore::RenderThemeEfl::edjeGroupFromFormType):
39377        (WebCore::RenderThemeEfl::emitMediaButtonSignal): Added.
39378        (WebCore::RenderThemeEfl::paintMediaPlayButton):
39379        * platform/efl/RenderThemeEfl.h:
39380
393812011-03-23  Aparna Nandyal  <aparna.nand@wipro.com>
39382
39383        Reviewed by Andreas Kling.
39384
39385        [Qt] QtWebKit rendering problem when maximizing and doing a back
39386        https://bugs.webkit.org/show_bug.cgi?id=56669
39387
39388        Contents of the page are not re-sized on going back after
39389        maximizing. ContentsResized() is not getting called. Hence old
39390        document width and height are used. Corrected this behaviour by
39391        calling setBoundsSize() which calls contentsSize().
39392
39393        * loader/FrameLoader.cpp:
39394        (WebCore::FrameLoader::open):
39395
393962011-03-21  Pavel Podivilov  <podivilov@chromium.org>
39397
39398        Reviewed by Yury Semikhatsky.
39399
39400        Web Inspector: add support for formating source files in debugger presentation model.
39401        https://bugs.webkit.org/show_bug.cgi?id=56558
39402
39403        * inspector/front-end/DebuggerModel.js:
39404        (WebInspector.DebuggerModel.prototype.reset):
39405        (WebInspector.DebuggerModel.prototype.get scripts):
39406        * inspector/front-end/DebuggerPresentationModel.js:
39407        (WebInspector.DebuggerPresentationModel):
39408        (WebInspector.DebuggerPresentationModel.prototype._addScript):
39409        (WebInspector.DebuggerPresentationModel.prototype._refreshBreakpoints):
39410        (WebInspector.DebuggerPresentationModel.prototype.toggleFormatSourceFiles):
39411        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
39412        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
39413        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
39414        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
39415        (WebInspector.DebuggerPresentationModel.prototype._sourceFileForScript):
39416        (WebInspector.DebuggerPresentationModel.prototype._reset):
39417        * inspector/front-end/ScriptFormatter.js:
39418        (WebInspector.ScriptFormatter.prototype.formatContent.didFormatChunks):
39419        (WebInspector.ScriptFormatter.prototype.formatContent):
39420        * inspector/front-end/ScriptsPanel.js:
39421        (WebInspector.ScriptsPanel):
39422        (WebInspector.ScriptsPanel.prototype.reset):
39423        (WebInspector.ScriptsPanel.prototype._toggleFormatSourceFiles):
39424        * inspector/front-end/Settings.js:
39425        * inspector/front-end/SourceFile.js:
39426        (WebInspector.SourceFile.prototype.scriptLocationToSourceLocation):
39427        (WebInspector.SourceFile.prototype.sourceLocationToScriptLocation):
39428        (WebInspector.FormattedSourceFile):
39429        (WebInspector.FormattedSourceFile.prototype.scriptLocationToSourceLocation):
39430        (WebInspector.FormattedSourceFile.prototype.sourceLocationToScriptLocation):
39431        (WebInspector.FormattedSourceFile.prototype._didRequestContent):
39432
394332011-03-23  Yury Semikhatsky  <yurys@chromium.org>
39434
39435        Reviewed by Pavel Feldman.
39436
39437        Web Inspector: use unsigned char instead of char when storing script source
39438        https://bugs.webkit.org/show_bug.cgi?id=56920
39439
39440        * bindings/v8/DebuggerScript.js:
39441        * bindings/v8/ScriptDebugServer.cpp:
39442        (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
39443        * inspector/InjectedScriptManager.cpp:
39444        (WebCore::InjectedScriptManager::injectedScriptSource):
39445        * inspector/InjectedScriptSource.js: whitespace change to trigger compilation
39446        * inspector/xxd.pl:
39447        * xml/XMLViewer.xsl:
39448
394492011-03-23  Ilya Tikhonovsky  <loislo@chromium.org>
39450
39451        Reviewed by Yury Semikhatsky.
39452
39453        Web Inspector: move node searching and node highlight related methods from InspectorAgent to InspectorDOMAgent.
39454        https://bugs.webkit.org/show_bug.cgi?id=56912
39455
39456        The next functions were moved:
39457            setSearchingForNode
39458            highlightDOMNode
39459            hideDOMNodeHighlight
39460            highlightFrame
39461            hideFrameHighlight
39462            mouseDidMoveOverElement
39463            handleMousePress
39464
39465        The code which does real highlight in Graphic context was moved to new files DOMNodeHighlighter.*
39466
39467        * CMakeLists.txt:
39468        * GNUmakefile.am:
39469        * WebCore.gypi:
39470        * WebCore.pro:
39471        * WebCore.vcproj/WebCore.vcproj:
39472        * WebCore.xcodeproj/project.pbxproj:
39473        * inspector/DOMNodeHighlighter.cpp: Added.
39474        (WebCore::DOMNodeHighlighter::DrawNodeHighlight):
39475        * inspector/DOMNodeHighlighter.h: Added.
39476        * inspector/Inspector.json:
39477        * inspector/InspectorAgent.cpp:
39478        (WebCore::InspectorAgent::InspectorAgent):
39479        (WebCore::InspectorAgent::~InspectorAgent):
39480        (WebCore::InspectorAgent::inspectedPageDestroyed):
39481        (WebCore::InspectorAgent::disconnectFrontend):
39482        * inspector/InspectorAgent.h:
39483        * inspector/InspectorController.cpp:
39484        (WebCore::InspectorController::drawNodeHighlight):
39485        (WebCore::InspectorController::hideHighlight):
39486        * inspector/InspectorDOMAgent.cpp:
39487        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
39488        (WebCore::InspectorDOMAgent::~InspectorDOMAgent):
39489        (WebCore::InspectorDOMAgent::clearFrontend):
39490        (WebCore::InspectorDOMAgent::handleMousePress):
39491        (WebCore::InspectorDOMAgent::mouseDidMoveOverElement):
39492        (WebCore::InspectorDOMAgent::searchingForNodeInPage):
39493        (WebCore::InspectorDOMAgent::setSearchingForNode):
39494        (WebCore::InspectorDOMAgent::highlight):
39495        (WebCore::InspectorDOMAgent::highlightDOMNode):
39496        (WebCore::InspectorDOMAgent::highlightFrame):
39497        (WebCore::InspectorDOMAgent::hideHighlight):
39498        (WebCore::InspectorDOMAgent::drawNodeHighlight):
39499        * inspector/InspectorDOMAgent.h:
39500        (WebCore::InspectorDOMAgent::hideDOMNodeHighlight):
39501        (WebCore::InspectorDOMAgent::hideFrameHighlight):
39502        * inspector/InspectorInstrumentation.cpp:
39503        (WebCore::InspectorInstrumentation::mouseDidMoveOverElementImpl):
39504        (WebCore::InspectorInstrumentation::handleMousePressImpl):
39505        * inspector/InstrumentingAgents.h:
39506        (WebCore::InstrumentingAgents::InstrumentingAgents):
39507        (WebCore::InstrumentingAgents::inspectorAgent):
39508        (WebCore::InstrumentingAgents::setInspectorAgent):
39509        * inspector/front-end/ElementsPanel.js:
39510        (WebInspector.ElementsPanel.prototype.setSearchingForNode):
39511        * inspector/front-end/ResourcesPanel.js:
39512        (WebInspector.FrameTreeElement.prototype.onselect):
39513        (WebInspector.FrameTreeElement.prototype.set hovered):
39514        * inspector/front-end/inspector.js:
39515        (WebInspector.highlightDOMNode):
39516
395172011-03-23  Yury Semikhatsky  <yurys@chromium.org>
39518
39519        Unreviewed. Rollout r81768 which broke compilation on Win.
39520
39521        * xml/XMLTreeViewer.cpp:
39522        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
39523        * xml/XMLViewer.xsl:
39524
395252011-03-23  Yury Semikhatsky  <yurys@chromium.org>
39526
39527        Reviewed by Pavel Feldman.
39528
39529        Web Inspector: remove unnecessary reinterpret_cast in XMLTreeViewer
39530        https://bugs.webkit.org/show_bug.cgi?id=56919
39531
39532        * xml/XMLTreeViewer.cpp:
39533        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
39534        * xml/XMLViewer.xsl: whitespace change to trigger compilation.
39535
395362011-03-21  Pavel Podivilov  <podivilov@chromium.org>
39537
39538        Reviewed by Yury Semikhatsky.
39539
39540        Web Inspector: move content loading logic to a new SourceFile class.
39541        https://bugs.webkit.org/show_bug.cgi?id=56748
39542
39543        * WebCore.gypi:
39544        * WebCore.vcproj/WebCore.vcproj:
39545        * inspector/front-end/DebuggerPresentationModel.js:
39546        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
39547        (WebInspector.DebuggerPresentationModel.prototype._addScript.contentChanged):
39548        (WebInspector.DebuggerPresentationModel.prototype._addScript):
39549        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
39550        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
39551        * inspector/front-end/SourceFile.js: Added.
39552        (WebInspector.SourceFile):
39553        (WebInspector.SourceFile.prototype.addScript):
39554        (WebInspector.SourceFile.prototype.requestContent):
39555        (WebInspector.SourceFile.prototype.forceLoadContent):
39556        (WebInspector.SourceFile.prototype.reload):
39557        (WebInspector.SourceFile.prototype._requestContent):
39558        (WebInspector.SourceFile.prototype._loadResourceContent):
39559        (WebInspector.SourceFile.prototype._loadScriptContent):
39560        (WebInspector.SourceFile.prototype._loadAndConcatenateScriptsContent):
39561        (WebInspector.SourceFile.prototype._didRequestContent):
39562        (WebInspector.SourceFile.prototype._hasPendingResource):
39563        * inspector/front-end/WebKit.qrc:
39564        * inspector/front-end/inspector.html:
39565
395662011-03-23  Pavel Podivilov  <podivilov@chromium.org>
39567
39568        Unreviewed, fix compilation broken by r81758.
39569
39570        * xml/XMLTreeViewer.cpp:
39571        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
39572
395732011-03-23  Pavel Feldman  <pfeldman@chromium.org>
39574
39575        Reviewed by Yury Semikhatsky.
39576
39577        Web Inspector: define array types properly in the Inspector.json
39578        https://bugs.webkit.org/show_bug.cgi?id=56915
39579
39580        * inspector/Inspector.json:
39581        * inspector/generate-inspector-idl:
39582
395832011-03-23  Yury Semikhatsky  <yurys@chromium.org>
39584
39585        Reviewed by Pavel Feldman.
39586
39587        [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h
39588        https://bugs.webkit.org/show_bug.cgi?id=56843
39589
39590        * inspector/front-end/WebKit.qrc:
39591
395922011-03-23  Andrey Adaikin  <aandrey@google.com>
39593
39594        Reviewed by Yury Semikhatsky.
39595
39596        Web Inspector: Add a star while editing a source code
39597        https://bugs.webkit.org/show_bug.cgi?id=56743
39598
39599        * inspector/front-end/ScriptsPanel.js:
39600        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
39601        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setScriptSourceIsBeingEdited):
39602        * inspector/front-end/SourceFrame.js:
39603        (WebInspector.SourceFrame.prototype._startEditing):
39604        (WebInspector.SourceFrame.prototype._registerShortcuts):
39605        (WebInspector.SourceFrame.prototype._handleSave):
39606        (WebInspector.SourceFrame.prototype._handleRevertEditing):
39607        (WebInspector.SourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
39608
396092011-03-23  Andrey Adaikin  <aandrey@google.com>
39610
39611        Reviewed by Yury Semikhatsky.
39612
39613        Web Inspector: Scrolling and navigation is not smooth on a script with many long lines
39614        https://bugs.webkit.org/show_bug.cgi?id=56559
39615
39616        * inspector/front-end/TextViewer.js:
39617        (WebInspector.TextEditorChunkedPanel.prototype._expandChunks):
39618        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
39619        (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
39620        (WebInspector.TextEditorMainPanel.prototype._schedulePaintLines):
39621        (WebInspector.TextEditorMainPanel.prototype._paintScheduledLines):
39622        (WebInspector.TextEditorMainPanel.prototype._restorePaintLinesOperationsCredit):
39623        (WebInspector.TextEditorMainPanel.prototype._paintLines):
39624        (WebInspector.TextEditorMainPanel.prototype._paintLine):
39625        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
39626
396272011-03-22  Yury Semikhatsky  <yurys@chromium.org>
39628
39629        Reviewed by Pavel Feldman.
39630
39631        [V8] Web Inspector: compile DebuggerScript.js into DebuggerScriptSource.h
39632        https://bugs.webkit.org/show_bug.cgi?id=56843
39633
39634        DebuggerScript.js is now translated into a char[] array before inspector compilation.
39635
39636        * WebCore.gyp/WebCore.gyp:
39637        * WebCore.gypi:
39638        * bindings/v8/ScriptDebugServer.cpp:
39639        (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
39640        * bindings/v8/ScriptDebugServer.h:
39641        * inspector/InjectedScriptManager.cpp:
39642        (WebCore::InjectedScriptManager::injectedScriptSource):
39643        * inspector/InjectedScriptSource.js: whitespace change to trigger InjectedScriptSource.h generation.
39644        * inspector/xxd.pl:
39645
396462011-03-23  Mark Rowe  <mrowe@apple.com>
39647
39648        Fix the 32-bit build.
39649
39650        * html/canvas/WebGLRenderingContext.cpp:
39651        (WebCore::WebGLRenderingContext::initializeNewContext):
39652
396532011-03-22  Noel Gordon  <noel.gordon@gmail.com>
39654
39655        Reviewed by Ojan Vafai.
39656
39657        [chromium] skia image encoders should use <wtf/Vector.h>
39658        https://bugs.webkit.org/show_bug.cgi?id=56893
39659
39660        No new tests. Covered by existing canvas.toDataURL tests.
39661
39662        * platform/image-encoders/skia/JPEGImageEncoder.h:
39663        * platform/image-encoders/skia/PNGImageEncoder.h:
39664
396652011-03-22  David Hyatt  <hyatt@apple.com>
39666
39667        Reviewed by Beth Dakin.
39668
39669        Move the cellWidthChanged bit out of RenderObject and back down into RenderTableCell in order to
39670        free up a bit for another performance optimization I have planned.
39671
39672        * rendering/RenderObject.cpp:
39673        (WebCore::RenderObject::RenderObject):
39674        * rendering/RenderObject.h:
39675        (WebCore::RenderObject::setHasColumns):
39676        * rendering/RenderTableCell.cpp:
39677        (WebCore::RenderTableCell::RenderTableCell):
39678        * rendering/RenderTableCell.h:
39679        (WebCore::RenderTableCell::cellWidthChanged):
39680        (WebCore::RenderTableCell::setCellWidthChanged):
39681
396822011-03-22  David Hyatt  <hyatt@apple.com>
39683
39684        Reviewed by Dan Bernstein.
39685
39686        https://bugs.webkit.org/show_bug.cgi?id=56892
39687
39688        Adding floats to an empty block is O(n^2).
39689
39690        If you just add floats back to back to an empty block, the addition is essentially O(n^2)
39691        once the floats move below your current line position.  This is because we repeatedly ask for the
39692        available width for the line from scratch every time we add a float, regardless of whether the
39693        float even vertically intersected our current line position.
39694
39695        Change positionNewFloatOnLine to update left and right line offsets intelligently and to only
39696        do it based off the single new float that just got added.
39697
39698        This fix cuts the IE MazeSolver time in half.
39699
39700        * rendering/RenderBlock.cpp:
39701        (WebCore::RenderBlock::positionNewFloatOnLine):
39702        * rendering/RenderBlock.h:
39703        * rendering/RenderBlockLineLayout.cpp:
39704        (WebCore::RenderBlock::skipLeadingWhitespace):
39705        (WebCore::RenderBlock::findNextLineBreak):
39706
397072011-03-22  Beth Dakin  <bdakin@apple.com>
39708
39709        Reviewed by Sam Weinig.
39710
39711        Fix for https://bugs.webkit.org/show_bug.cgi?id=56890 It is possible to calculate a
39712        NaN value for "value" in ScrollbarThemeMac::paint()
39713        -and corresponding-
39714        <rdar://problem/9160621>
39715
39716        * platform/mac/ScrollbarThemeMac.mm:
39717        (WebCore::ScrollbarThemeMac::paint):
39718
397192011-03-17  Ojan Vafai  <ojan@chromium.org>
39720
39721        Reviewed by Antti Koivisto.
39722
39723        webkit should implement -moz-any selector (as -webkit-any obviously)
39724        https://bugs.webkit.org/show_bug.cgi?id=38095
39725
39726        For now, match the Mozilla implementation with respect to specificity
39727        and only allowing simple selectors. Both of these are likely to change
39728        pending discussion on www-style@.
39729
39730        Tests: fast/css/pseudo-any.html
39731               fast/dom/SelectorAPI/unknown-pseudo.html
39732
39733        * css/CSSGrammar.y:
39734        Create simple_selector_list. This is exactly like selector_list
39735        except it only allows simple selectors and creates a new vector
39736        instead of a reusable one since there can be multiple in one rule.
39737        * css/CSSParser.cpp:
39738        (WebCore::CSSParser::~CSSParser):
39739        (WebCore::CSSParser::lex):
39740        (WebCore::CSSParser::createFloatingSelectorVector):
39741        (WebCore::CSSParser::sinkFloatingSelectorVector):
39742        * css/CSSParser.h:
39743        * css/CSSParserValues.cpp:
39744        (WebCore::CSSParserSelector::adoptSelectorVector):
39745        * css/CSSParserValues.h:
39746        * css/CSSSelector.cpp:
39747        (WebCore::CSSSelector::specificityForOneSelector):
39748        (WebCore::CSSSelector::pseudoId):
39749        (WebCore::nameToPseudoTypeMap):
39750        (WebCore::CSSSelector::extractPseudoType):
39751        (WebCore::CSSSelector::selectorText):
39752        (WebCore::CSSSelector::setSelectorList):
39753        (WebCore::CSSSelector::RareData::RareData):
39754        (WebCore::CSSSelector::RareData::~RareData):
39755        These need to be moved into the cpp file so that we can
39756        have an OwnPtr<CSSSelectorList> in CSSSelector::RareData.
39757        * css/CSSSelector.h:
39758        (WebCore::CSSSelector::selectorList):
39759        * css/CSSSelectorList.cpp:
39760        (WebCore::forEachTagSelector):
39761        * css/CSSStyleSelector.cpp:
39762        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
39763        (WebCore::collectFeaturesFromSelector):
39764        * css/tokenizer.flex:
39765
397662011-03-22  John Bauman  <jbauman@chromium.org>
39767
39768        Reviewed by Kenneth Russell.
39769
39770        Add support for preserveDrawingBuffer context creation attribute
39771        https://bugs.webkit.org/show_bug.cgi?id=56431
39772
39773        For the accelerated compositing case, only prepare the texture if it
39774        has been updated since the last composite. For the non-accelerated case, make sure to
39775        grab a copy of the image buffer and paint from that if the backbuffer
39776        would be cleared.
39777
39778        In both cases, make sure to clear the context's backbuffer before the
39779        first operation that uses it.
39780
39781        No new tests. It seems to be difficult/impossible to trigger an early
39782        compositing operation in DumpRenderTree, making this hard to
39783        test automatically. However, Chromium and Safari (Mac) have been
39784        tested manually on the webgl conformance test for this.
39785
39786        * html/HTMLCanvasElement.cpp:
39787        (WebCore::HTMLCanvasElement::paint):
39788        (WebCore::HTMLCanvasElement::makePresentationCopy):
39789        (WebCore::HTMLCanvasElement::clearPresentationCopy):
39790        * html/HTMLCanvasElement.h:
39791        * html/canvas/WebGLContextAttributes.cpp:
39792        (WebCore::WebGLContextAttributes::preserveDrawingBuffer):
39793        (WebCore::WebGLContextAttributes::setPreserveDrawingBuffer):
39794        * html/canvas/WebGLContextAttributes.h:
39795        * html/canvas/WebGLContextAttributes.idl:
39796        * html/canvas/WebGLRenderingContext.cpp:
39797        (WebCore::WebGLRenderingContext::initializeNewContext):
39798        (WebCore::WebGLRenderingContext::markContextChanged):
39799        (WebCore::WebGLRenderingContext::clearIfComposited):
39800        (WebCore::WebGLRenderingContext::markLayerComposited):
39801        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
39802        (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
39803        (WebCore::WebGLRenderingContext::clear):
39804        (WebCore::WebGLRenderingContext::clearColor):
39805        (WebCore::WebGLRenderingContext::clearDepth):
39806        (WebCore::WebGLRenderingContext::clearStencil):
39807        (WebCore::WebGLRenderingContext::colorMask):
39808        (WebCore::WebGLRenderingContext::disable):
39809        (WebCore::WebGLRenderingContext::drawArrays):
39810        (WebCore::WebGLRenderingContext::drawElements):
39811        (WebCore::WebGLRenderingContext::enable):
39812        (WebCore::WebGLRenderingContext::readPixels):
39813        * html/canvas/WebGLRenderingContext.h:
39814        * platform/graphics/GraphicsContext3D.h:
39815        (WebCore::GraphicsContext3D::Attributes::Attributes):
39816        * platform/graphics/chromium/WebGLLayerChromium.cpp:
39817        (WebCore::WebGLLayerChromium::updateContentsIfDirty):
39818        (WebCore::WebGLLayerChromium::textureUpdated):
39819        (WebCore::WebGLLayerChromium::setContext):
39820        * platform/graphics/chromium/WebGLLayerChromium.h:
39821        * platform/graphics/mac/GraphicsContext3DMac.mm
39822        (WebCore::GraphicsContext3D::GraphicsContext3D):
39823        (WebCore::GraphicsContext3D::~GraphicsContext3D):
39824        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
39825        (WebCore::GraphicsContext3D::reshape):
39826        (WebCore::GraphicsContext3D::prepareTexture):
39827        (WebCore::GraphicsContext3D::activeTexture):
39828        (WebCore::GraphicsContext3D::bindTexture):
39829        (WebCore::GraphicsContext3D::markContextChanged):
39830        (WebCore::GraphicsContext3D::markLayerComposited):
39831        (WebCore::GraphicsContext3D::layerComposited):
39832        * platform/graphics/qt/GraphicsContext3DQt.cpp:
39833        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
39834        (WebCore::GraphicsContext3D::markLayerComposited):
39835        (WebCore::GraphicsContext3D::markContextChanged):
39836        (WebCore::GraphicsContext3D::layerComposited):
39837
398382011-03-22  Sam Weinig  <sam@webkit.org>
39839
39840        Reviewed by Mark Rowe.
39841
39842        Remove USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER.
39843        <rdar://problem/8944718>
39844
39845        * DerivedSources.make:
39846        Remove generation of HeaderDetection.h.
39847
39848        * WebCore.xcodeproj/project.pbxproj:
39849        Remove HeaderDetection.h.
39850
39851        * platform/mac/ScrollAnimatorMac.h:
39852        * platform/mac/ScrollAnimatorMac.mm:
39853        * platform/mac/ScrollbarThemeMac.h:
39854        * platform/mac/ScrollbarThemeMac.mm:
39855        Replace use of USE_WK_SCROLLBAR_PAINTER_AND_CONTROLLER with USE(WK_SCROLLBAR_PAINTER).
39856
398572011-03-22  Victoria Kirst  <vrk@google.com>
39858
39859        Reviewed by Kenneth Russell.
39860
39861        [chromium] Properly reset VideoLayerChromium textures after lost renderer context
39862        https://bugs.webkit.org/show_bug.cgi?id=56514
39863
39864        The VideoLayerChromium textures were still mapped to the old
39865        renderer's context when LayerRendererChromium was being recreated
39866        i.e. when GPU process is killed. This patch allows VideoLayerChromium
39867        it recreate textures in the new context when the old renderer is lost.
39868        Patch also does a bit of refactoring and code clean-up.
39869
39870        * platform/graphics/chromium/VideoLayerChromium.cpp:
39871        (WebCore::VideoLayerChromium::~VideoLayerChromium):
39872        (WebCore::VideoLayerChromium::cleanupResources):
39873        (WebCore::VideoLayerChromium::updateContentsIfDirty):
39874        (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
39875        (WebCore::VideoLayerChromium::computeVisibleSize):
39876        (WebCore::VideoLayerChromium::drawYUV):
39877        (WebCore::VideoLayerChromium::drawRGBA):
39878        (WebCore::VideoLayerChromium::resetFrameParameters):
39879        (WebCore::VideoLayerChromium::saveCurrentFrame):
39880        * platform/graphics/chromium/VideoLayerChromium.h:
39881
398822011-03-22  Adam Barth  <abarth@webkit.org>
39883
39884        Reviewed by Eric Seidel.
39885
39886        WebCore GYP build should export the headers needed by WebKit
39887        https://bugs.webkit.org/show_bug.cgi?id=56883
39888
39889        * WebCore.gypi:
39890        * gyp/WebCore.gyp:
39891            - Export a couple more headers.
39892            - Remove FIXME comments for things we've already fixed.
39893
398942011-03-22  Anton D'Auria  <adauria@apple.com>
39895
39896        Reviewed by Alexey Proskuryakov.
39897
39898        Add +[WebApplicationCache getOriginsWithCache]
39899        https://bugs.webkit.org/show_bug.cgi?id=56722
39900
39901        Added test that exercises WebCore API to get origins with application cache.
39902
39903        Test: http/tests/appcache/origins-with-appcache.html
39904
39905        * loader/appcache/ApplicationCacheStorage.cpp:
39906        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
39907        * loader/appcache/ApplicationCacheStorage.h:
39908
399092011-03-22  Carol Szabo  <carol.szabo@nokia.com>
39910
39911        Reviewed by David Hyatt.
39912
39913        Introduced double linkage between a CounterNode and its display renderer.
39914
39915        use of freed pointer in WebCore::RenderCounter::originalText()
39916        https://bugs.webkit.org/show_bug.cgi?id=56065
39917
39918        No new tests. This bug could only be reproduced manually by
39919        refreshing the page during load at a critical point.
39920        See bug attachment for testing.
39921
39922        * rendering/CounterNode.cpp:
39923        Introduced new member "m_owner" to store the renderer that has the
39924        style directives that produce the CounterNode.
39925        Repurposed m_renderer to reffer to the RenderCounter that shows the
39926        CounterNode.
39927        (WebCore::CounterNode::CounterNode):
39928        Updated member initialization.
39929        (WebCore::CounterNode::create):
39930        (WebCore::CounterNode::addRenderer):
39931        (WebCore::CounterNode::removeRenderer):
39932        Introduced to manage the renderer list associated wit this CounterNode.
39933        (WebCore::CounterNode::resetRenderers):
39934        This is the old resetRenderer. Renamed to take into account that there may be
39935        more than one renderer to a CounterNode.
39936        (WebCore::CounterNode::resetThisAndDescendantsRenderers):
39937        This is the old resetRenderers renamed for clarity.
39938        (WebCore::CounterNode::recount):
39939        (WebCore::CounterNode::insertAfter):
39940        (WebCore::CounterNode::removeChild):
39941        No functional changes.
39942        (WebCore::showTreeAndMark):
39943        Added flushing to ensure that the output is complete.
39944        * rendering/CounterNode.h:
39945        (WebCore::CounterNode::owner):
39946        Renamed from renderer()
39947        * rendering/RenderCounter.cpp:
39948        (WebCore::findPlaceForCounter):
39949        Fixed comments. No functional changes.
39950        (WebCore::RenderCounter::~RenderCounter):
39951        Made sure that the CounterNode that this renderers displays is
39952        detached from this.
39953        (WebCore::RenderCounter::originalText):
39954        (WebCore::RenderCounter::invalidate):
39955        Changed to maintain the bidirectional relationship with the displayed CounterNode.
39956        Also made "invalidate" private as it should be used only by CounterNode.
39957        (WebCore::destroyCounterNodeWithoutMapRemoval):
39958        (WebCore::RenderCounter::destroyCounterNodes):
39959        (WebCore::RenderCounter::destroyCounterNode):
39960        (WebCore::updateCounters):
39961        No change, just kept code in line with the changes above.
39962        (showCounterRendererTree):
39963        Added fflush to ensure complete display.
39964        * rendering/RenderCounter.h:
39965        * rendering/RenderObjectChildList.cpp:
39966        * rendering/RenderObjectChildList.h:
39967        Removed unneeded invalidateCounters related functions.
39968
399692011-03-22  Dean Jackson  <dino@apple.com>
39970
39971        Reviewed by Simon Fraser.
39972
39973        https://bugs.webkit.org/show_bug.cgi?id=56242
39974        Interrupted accelerated animations/transitions were causing
39975        subsequent animations to not start (because they were stuck
39976        waiting for a response from the compositing layer). I renamed
39977        the instance variable that indicates whether or not to
39978        notify animations of start time, from m_waitingForStartTimeResponse
39979        to m_waitingForAsyncStartNotification, so that it makes more sense.
39980        The actual bug fix was changing the logic so that the flag is reset
39981        when the list of waiting animations becomes empty. I mistakenly committed
39982        the bad logic in r81613.
39983
39984        * page/animation/AnimationBase.cpp:
39985        (WebCore::AnimationBase::updateStateMachine):
39986        - Always set paused time as we enter the paused state
39987        * page/animation/AnimationController.cpp:
39988        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
39989        (WebCore::AnimationControllerPrivate::endAnimationUpdate):
39990        (WebCore::AnimationControllerPrivate::receivedStartTimeResponse):
39991        (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
39992        (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse):
39993        - reset the waiting flag when the list is empty (rather than not empty)
39994        (WebCore::AnimationControllerPrivate::startTimeResponse):
39995        * page/animation/AnimationControllerPrivate.h:
39996        - rename m_waitingForStartTimeResponse to m_waitingForAsyncStartNotification
39997
399982011-03-22  Brady Eidson  <beidson@apple.com>
39999
40000        Reviewed by Sam Weinig.
40001
40002        <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56876
40003        WK2 Icon DB: Expand IconDatabaseClient interface and move it to the main thread
40004
40005        * loader/icon/IconDatabase.cpp:
40006        Add a dummy client implementation for non-Mac, non-Win ports:
40007        (WebCore::DefaultIconDatabaseClient::performImport):
40008        (WebCore::DefaultIconDatabaseClient::didImportIconURLForPageURL):
40009        (WebCore::DefaultIconDatabaseClient::didImportIconDataForPageURL):
40010        (WebCore::DefaultIconDatabaseClient::didChangeIconForPageURL):
40011        (WebCore::DefaultIconDatabaseClient::didRemoveAllIcons):
40012        (WebCore::DefaultIconDatabaseClient::didFinishURLImport):
40013        (WebCore::defaultClient):
40014
40015        Either call the client directly when on the main thread, or use the dispatch functions below
40016        if on the background thread:
40017        (WebCore::IconDatabase::setIconDataForIconURL):
40018        (WebCore::IconDatabase::setIconURLForPageURL):
40019        (WebCore::IconDatabase::performURLImport):
40020        (WebCore::IconDatabase::readFromDatabase):
40021        (WebCore::IconDatabase::removeAllIconsOnThread):
40022
40023        Add a very targeted WorkItem interface for dispatching client calls on the main thread:
40024        (WebCore::ClientWorkItem::ClientWorkItem):
40025        (WebCore::ClientWorkItem::~ClientWorkItem):
40026        (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
40027        (WebCore::ImportedIconURLForPageURLWorkItem::~ImportedIconURLForPageURLWorkItem):
40028        (WebCore::ImportedIconURLForPageURLWorkItem::performWork):
40029        (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
40030        (WebCore::ImportedIconDataForPageURLWorkItem::~ImportedIconDataForPageURLWorkItem):
40031        (WebCore::ImportedIconDataForPageURLWorkItem::performWork):
40032        (WebCore::RemovedAllIconsWorkItem::RemovedAllIconsWorkItem):
40033        (WebCore::RemovedAllIconsWorkItem::performWork):
40034        (WebCore::performWorkItem):
40035
40036        Use the client WorkItem interface to perform these callbacks on the main thread:
40037        (WebCore::IconDatabase::dispatchDidImportIconURLForPageURLOnMainThread):
40038        (WebCore::IconDatabase::dispatchDidImportIconDataForPageURLOnMainThread):
40039        (WebCore::IconDatabase::dispatchDidRemoveAllIconsOnMainThread):
40040        * loader/icon/IconDatabase.h:
40041        * loader/icon/IconDatabaseClient.h:
40042
400432011-03-22  David Hyatt  <hyatt@apple.com>
40044
40045        Reviewed by Simon Fraser.
40046
40047        https://bugs.webkit.org/show_bug.cgi?id=56869
40048
40049        Make horizontal writing mode a bit on RenderObject with a fast inlined method for access. This should be
40050        a little faster than having to access the information from the RenderStyle's sub-structure.
40051
40052        * rendering/RenderBlock.cpp:
40053        (WebCore::RenderBlock::layoutBlock):
40054        (WebCore::RenderBlock::addOverflowFromChildren):
40055        (WebCore::RenderBlock::computeOverflow):
40056        (WebCore::RenderBlock::adjustPositionedBlock):
40057        (WebCore::RenderBlock::setLogicalLeftForChild):
40058        (WebCore::RenderBlock::setLogicalTopForChild):
40059        (WebCore::RenderBlock::layoutPositionedObjects):
40060        (WebCore::RenderBlock::paintColumnRules):
40061        (WebCore::RenderBlock::paintColumnContents):
40062        (WebCore::RenderBlock::flipFloatForWritingMode):
40063        (WebCore::blockDirectionOffset):
40064        (WebCore::inlineDirectionOffset):
40065        (WebCore::RenderBlock::logicalRectToPhysicalRect):
40066        (WebCore::RenderBlock::inlineSelectionGaps):
40067        (WebCore::RenderBlock::addOverhangingFloats):
40068        (WebCore::RenderBlock::addIntrudingFloats):
40069        (WebCore::RenderBlock::hitTestColumns):
40070        (WebCore::positionForPointRespectingEditingBoundaries):
40071        (WebCore::RenderBlock::positionForPointWithInlineChildren):
40072        (WebCore::RenderBlock::positionForPoint):
40073        (WebCore::RenderBlock::columnRectAt):
40074        (WebCore::RenderBlock::adjustPointToColumnContents):
40075        (WebCore::RenderBlock::adjustRectForColumns):
40076        (WebCore::RenderBlock::flipForWritingModeIncludingColumns):
40077        (WebCore::RenderBlock::adjustForColumns):
40078        (WebCore::RenderBlock::lastLineBoxBaseline):
40079        (WebCore::RenderBlock::nextPageLogicalTop):
40080        (WebCore::RenderBlock::adjustForUnsplittableChild):
40081        (WebCore::RenderBlock::adjustLinePositionForPagination):
40082        (WebCore::RenderBlock::collapsedMarginBeforeForChild):
40083        (WebCore::RenderBlock::collapsedMarginAfterForChild):
40084        (WebCore::RenderBlock::marginStartForChild):
40085        (WebCore::RenderBlock::marginEndForChild):
40086        (WebCore::RenderBlock::setMarginStartForChild):
40087        (WebCore::RenderBlock::setMarginEndForChild):
40088        (WebCore::RenderBlock::marginValuesForChild):
40089        * rendering/RenderBlock.h:
40090        (WebCore::RenderBlock::logicalWidthForChild):
40091        (WebCore::RenderBlock::logicalHeightForChild):
40092        (WebCore::RenderBlock::logicalTopForChild):
40093        (WebCore::RenderBlock::logicalRightOffsetForContent):
40094        (WebCore::RenderBlock::logicalLeftOffsetForContent):
40095        (WebCore::RenderBlock::logicalTopForFloat):
40096        (WebCore::RenderBlock::logicalBottomForFloat):
40097        (WebCore::RenderBlock::logicalLeftForFloat):
40098        (WebCore::RenderBlock::logicalRightForFloat):
40099        (WebCore::RenderBlock::logicalWidthForFloat):
40100        (WebCore::RenderBlock::setLogicalTopForFloat):
40101        (WebCore::RenderBlock::setLogicalLeftForFloat):
40102        (WebCore::RenderBlock::setLogicalHeightForFloat):
40103        (WebCore::RenderBlock::setLogicalWidthForFloat):
40104        (WebCore::RenderBlock::xPositionForFloatIncludingMargin):
40105        (WebCore::RenderBlock::yPositionForFloatIncludingMargin):
40106        * rendering/RenderBlockLineLayout.cpp:
40107        (WebCore::RenderBlock::createLineBoxes):
40108        (WebCore::RenderBlock::layoutInlineChildren):
40109        (WebCore::RenderBlock::checkFloatsInCleanLine):
40110        (WebCore::setStaticPositions):
40111        (WebCore::RenderBlock::findNextLineBreak):
40112        (WebCore::RenderBlock::beforeSideVisualOverflowForLine):
40113        (WebCore::RenderBlock::afterSideVisualOverflowForLine):
40114        (WebCore::RenderBlock::beforeSideLayoutOverflowForLine):
40115        (WebCore::RenderBlock::afterSideLayoutOverflowForLine):
40116        * rendering/RenderBox.cpp:
40117        (WebCore::RenderBox::marginStart):
40118        (WebCore::RenderBox::marginEnd):
40119        (WebCore::RenderBox::setMarginStart):
40120        (WebCore::RenderBox::setMarginEnd):
40121        (WebCore::RenderBox::styleDidChange):
40122        (WebCore::RenderBox::logicalScroll):
40123        (WebCore::RenderBox::computeLogicalWidth):
40124        (WebCore::RenderBox::computeLogicalHeight):
40125        (WebCore::RenderBox::availableLogicalHeightUsing):
40126        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
40127        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
40128        (WebCore::RenderBox::computePositionedLogicalWidth):
40129        (WebCore::computeLogicalLeftPositionedOffset):
40130        (WebCore::RenderBox::computePositionedLogicalHeight):
40131        (WebCore::computeLogicalTopPositionedOffset):
40132        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
40133        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
40134        (WebCore::RenderBox::addLayoutOverflow):
40135        (WebCore::RenderBox::flipForWritingMode):
40136        * rendering/RenderBoxModelObject.cpp:
40137        (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
40138        * rendering/RenderObject.cpp:
40139        (WebCore::RenderObject::RenderObject):
40140        (WebCore::RenderObject::styleWillChange):
40141        * rendering/RenderObject.h:
40142        (WebCore::RenderObject::isHorizontalWritingMode):
40143        (WebCore::RenderObject::setHorizontalWritingMode):
40144        * rendering/RenderTableCell.cpp:
40145        (WebCore::RenderTableCell::paddingTop):
40146        (WebCore::RenderTableCell::paddingBottom):
40147        (WebCore::RenderTableCell::paddingLeft):
40148        (WebCore::RenderTableCell::paddingRight):
40149        (WebCore::RenderTableCell::scrollbarsChanged):
40150        * rendering/RootInlineBox.cpp:
40151        (WebCore::RootInlineBox::RootInlineBox):
40152        (WebCore::RootInlineBox::lineSelectionGap):
40153        (WebCore::RootInlineBox::verticalPositionForBox):
40154
401552011-03-22  Simon Fraser  <simon.fraser@apple.com>
40156
40157        Reviewed by Beth Dakin.
40158
40159        Incorrect rendering of composited element with negative z-index child
40160        https://bugs.webkit.org/show_bug.cgi?id=56846
40161
40162        When a composited element has a child with negative z-index, we make
40163        a separate layer for that element's foreground content. This layer
40164        was positioned incorrectly (but the content happened to paint at
40165        the right location), resulting in right/bottom clipping.
40166
40167        Fix this, remove the little-used graphicsLayerToContentsCoordinates()
40168        contentsToGraphicsLayerCoordinates() methods, and optimize incremental
40169        repaints in the foreground and mask layers.
40170
40171        Tests: compositing/geometry/foreground-layer.html
40172               compositing/geometry/repaint-foreground-layer.html
40173
40174        * platform/graphics/ca/GraphicsLayerCA.cpp:
40175        (WebCore::GraphicsLayerCA::setNeedsDisplayInRect): Cull repaints
40176        which fall outside the layer bounds, so callers don't have to,
40177        and to avoid unnecessary layer commits.
40178
40179        * rendering/RenderLayerBacking.cpp:
40180        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): If
40181        we have a foreground layer inside a clipping layer, the foreground
40182        layer's offset is zero, since the clipping layer is its parent.
40183
40184        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Use
40185        offsetFromRenderer() directly instead of contentsToGraphicsLayerCoordinates().
40186        Also do incremental repaints of the foreground and mask layers.
40187
40188        (WebCore::RenderLayerBacking::paintContents): It was incorrect to always
40189        use compositedBounds() to compute the painting offset, since that's
40190        per-RenderLayerBacking, but a single RenderLayerBacking can have different
40191        GraphicsLayers with different offsets (e.g. the foreground layer).
40192        Instead, use offsetFromRenderer(), which gives has the correct offset.
40193
40194        * rendering/RenderLayerBacking.h: Remove unused methods.
40195
401962011-03-22  Chris Rogers  <crogers@google.com>
40197
40198        Reviewed by Kenneth Russell.
40199
40200        Use default-output instead of default-input to get hardware sample-rate
40201        https://bugs.webkit.org/show_bug.cgi?id=56858
40202
40203        No new tests since audio API is not yet implemented.
40204
40205        * platform/audio/mac/AudioDestinationMac.cpp:
40206        (WebCore::AudioDestination::hardwareSampleRate):
40207
402082011-03-22  Pratik Solanki  <psolanki@apple.com>
40209
40210        Reviewed by David Kilzer.
40211
40212        Implement -connection:didReceiveDataArray: NSURLConnection delegate method
40213        https://bugs.webkit.org/show_bug.cgi?id=56838
40214
40215        Add experimental support for the didReceiveDataArray callback on
40216        NSURLConnection. A RessourceHandleClient indicates its ability to
40217        handle this callback by returning true from supportsDataArray() method.
40218        Currently only SubresourceLoader uses this so we get the benefit for
40219        CSS, JS and image loads. For other clients we call didReceiveData with
40220        the CFData contents as before.
40221
40222        * WebCore.xcodeproj/project.pbxproj:
40223        * loader/ResourceLoader.h:
40224        * loader/SubresourceLoader.h:
40225        (WebCore::SubresourceLoader::supportsDataArray):
40226        * loader/cf/SubresourceLoaderCF.cpp: Added.
40227        (WebCore::SubresourceLoader::didReceiveDataArray):
40228        * loader/mac/ResourceLoaderMac.mm:
40229        (WebCore::ResourceLoader::didReceiveDataArray):
40230        * platform/SharedBuffer.cpp:
40231        (WebCore::SharedBuffer::clear):
40232        (WebCore::SharedBuffer::buffer):
40233        * platform/SharedBuffer.h:
40234        * platform/cf/SharedBufferCF.cpp:
40235        (WebCore::SharedBuffer::append):
40236        (WebCore::SharedBuffer::copyDataArrayAndClear):
40237        * platform/network/ResourceHandleClient.h:
40238        (WebCore::ResourceHandleClient::supportsDataArray):
40239        (WebCore::ResourceHandleClient::didReceiveDataArray):
40240        * platform/network/mac/ResourceHandleMac.mm:
40241        (-[WebCoreResourceHandleAsDelegate connection:didReceiveDataArray:]):
40242
402432011-03-22  Eric Seidel  <eric@webkit.org>
40244
40245        Reviewed by Adam Barth.
40246
40247        Make it possible to build JavaScriptCore and WebCore gyp builds outside of Source
40248        https://bugs.webkit.org/show_bug.cgi?id=56867
40249
40250        This should make it possible to build the gyp-generated WebCore.xcodeproj
40251        from a WebCore directory outside of Source.
40252
40253        * gyp/WebCore.gyp:
40254        * gyp/run-if-exists.sh: Added.
40255        * gyp/update-info-plist.sh: Added.
40256
402572011-03-22  Anders Carlsson  <andersca@apple.com>
40258
40259        Fix WebKit2 build.
40260
40261        * WebCore.exp.in:
40262        Export a symbol needed by WebKit2.
40263
402642011-03-22  Adam Barth  <abarth@webkit.org>
40265
40266        Reviewed by Eric Seidel.
40267
40268        Add the remaining steps to WebCore GYP build
40269        https://bugs.webkit.org/show_bug.cgi?id=56864
40270
40271        These steps match the normal build.  After this patch, I believe the
40272        WebCore GYP build is complete.
40273
40274        * WebCore.gypi:
40275        * gyp/WebCore.gyp:
40276        * gyp/copy-inspector-resources.sh: Added.
40277
402782011-03-22  Beth Dakin  <bdakin@apple.com>
40279
40280        Reviewed by Simon Fraser.
40281
40282        Fix for https://bugs.webkit.org/show_bug.cgi?id=56856 RenderListBox needs to be
40283        added to Page::scrollableAreaSet()
40284
40285        * rendering/RenderListBox.cpp:
40286        (WebCore::RenderListBox::RenderListBox):
40287        (WebCore::RenderListBox::~RenderListBox):
40288        * rendering/RenderListBox.h:
40289        (WebCore::RenderListBox::disconnectFromPage):
40290
402912011-03-22  Chris Rogers  <crogers@google.com>
40292
40293        Reviewed by Kenneth Russell.
40294
40295        Add high-quality band-limited audio resampling algorithm
40296        https://bugs.webkit.org/show_bug.cgi?id=56692
40297
40298        No new tests since audio API is not yet implemented.
40299
40300        * platform/audio/SincResampler.cpp: Added.
40301        (WebCore::SincResampler::SincResampler):
40302        (WebCore::SincResampler::initializeKernel):
40303        (WebCore::SincResampler::consumeSource):
40304        (WebCore::SincResampler::process):
40305        * platform/audio/SincResampler.h: Added.
40306
403072011-03-22  Adam Barth  <abarth@webkit.org>
40308
40309        Reviewed by Eric Seidel.
40310
40311        WebCore GYP build should build without help from normal WebCore build
40312        https://bugs.webkit.org/show_bug.cgi?id=56860
40313
40314        Before this patch, the WebCore GYP build wasn't generating the derived
40315        sources quite right because the ENABLE macros were not being
40316        communicated to the "Derived Sources" target.
40317
40318        This patch also adds the "Copy Forwarding and ICU Headers" as well as
40319        the "Streamline Inspector Source" steps, which are present in the
40320        normal build.  Unlike the normal build, these steps occur in a new
40321        target, called "WebCore Support", which is less than aesthetically
40322        beautiful.  Hopefully we'll be able to move them into the WebCore
40323        target proper in the future, but that will likely require some GYP
40324        changes.
40325
40326        This patch probably could have been broken down into a couple smaller
40327        patches, but that doesn't seem necessary.
40328
40329        * WebCore.gypi:
40330            - This file appears to no longer exist.
40331        * gyp/WebCore.gyp:
40332        * gyp/copy-forwarding-and-icu-headers.sh: Added.
40333        * gyp/streamline-inspector-source.sh: Added.
40334
403352011-03-22  David Hyatt  <hyatt@apple.com>
40336
40337        Reviewed by Simon Fraser.
40338
40339        https://bugs.webkit.org/show_bug.cgi?id=56859
40340
40341        Floats in the floating object list occur in the order that they are positioned. This means
40342        that for a given vertical offset, the last left object in the list that intersects that offset
40343        will be the rightmost float. There is no need to check any previous floats, since they have to be
40344        further left than that rightmost float. The same rules hold true for right-aligned floats.
40345
40346        Change logicalLeft/RightOffsetForLine to iterate backwards instead of forwards and to stop the moment
40347        they encounter a float that intersects the vertical range.
40348
40349        This cuts the maze solving time for a 20x20 maze in the IE MazeSolver test in half.
40350
40351        * rendering/RenderBlock.cpp:
40352        (WebCore::RenderBlock::logicalLeftOffsetForLine):
40353        (WebCore::RenderBlock::logicalRightOffsetForLine):
40354
403552011-03-22  Justin Schuh  <jschuh@chromium.org>
40356
40357        Reviewed by Dirk Schulze.
40358
40359        SVG displacement map should validate channel selections
40360        https://bugs.webkit.org/show_bug.cgi?id=56794
40361
40362        Test: svg/filters/feDisplacementMap-crash-test.xhtml
40363
40364        * svg/SVGFEDisplacementMapElement.cpp:
40365        (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
40366
403672011-03-22  Huahui Wu  <mediadependent@gmail.com>
40368
40369        Reviewed by Steve Block.
40370
40371        [Android] Update PlatformTouchEvent for android so it can pass IDs and states around.
40372        https://bugs.webkit.org/show_bug.cgi?id=56763
40373
40374        No new tests as no new functionality is exposed.
40375
40376        * platform/PlatformTouchEvent.h:
40377        * platform/android/PlatformTouchEventAndroid.cpp:
40378        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
40379
403802011-03-22  David Hyatt  <hyatt@apple.com>
40381
40382        Reviewed by Simon Fraser.
40383
40384        Implement the CSS3 line-box-contain property. This property provides authors with more control over spacing between lines. For example,
40385        you can fix the height of lines and cause all line contents to be ignored. You can make lines fit to glyphs. You can ignore leading and
40386        fit to the font size. You can ignore replaced elements, etc.
40387
40388        Refactor the code in computeLogicalBoxHeights into helper methods on RootInlineBox. verticalPositionForBox moved over to RootInlineBox
40389        so that it could be called from RenderBlockLineLayout. ascentAndDescentForBox is the new method that computes the appropriate box
40390        height based off the block's line-box-contain value.
40391
40392        GlyphOverflow can now have a computeBounds parameter set, in which case glyph bounds will be computed and stored in the overflow struct.
40393
40394        RenderInline no longer returns 0 margins in the block direction, since line-box-contain can size around the margin box.
40395
40396        Added new tests in fast/block/lineboxcontain
40397
40398        * GNUmakefile.am:
40399        * WebCore.gypi:
40400        * WebCore.pro:
40401        * WebCore.vcproj/WebCore.vcproj:
40402        * WebCore.xcodeproj/project.pbxproj:
40403        * css/CSSComputedStyleDeclaration.cpp:
40404        (WebCore::createLineBoxContainValue):
40405        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
40406        * css/CSSLineBoxContainValue.cpp: Added.
40407        (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
40408        (WebCore::CSSLineBoxContainValue::cssText):
40409        * css/CSSLineBoxContainValue.h: Added.
40410        (WebCore::CSSLineBoxContainValue::create):
40411        (WebCore::CSSLineBoxContainValue::value):
40412        (WebCore::CSSLineBoxContainValue::isCSSLineBoxContainValue):
40413        * css/CSSParser.cpp:
40414        (WebCore::CSSParser::parseValue):
40415        (WebCore::CSSParser::parseLineBoxContain):
40416        * css/CSSParser.h:
40417        * css/CSSPropertyNames.in:
40418        * css/CSSStyleSelector.cpp:
40419        (WebCore::CSSStyleSelector::applyProperty):
40420        * css/CSSValue.h:
40421        (WebCore::CSSValue::isCSSLineBoxContainValue):
40422        * css/CSSValueKeywords.in:
40423        * platform/graphics/Font.cpp:
40424        (WebCore::Font::width):
40425        * platform/graphics/Font.h:
40426        (WebCore::GlyphOverflow::GlyphOverflow):
40427        * platform/graphics/FontFastPath.cpp:
40428        (WebCore::Font::floatWidthForSimpleText):
40429        * platform/graphics/mac/FontComplexTextMac.cpp:
40430        (WebCore::Font::floatWidthForComplexText):
40431        * platform/graphics/win/FontWin.cpp:
40432        (WebCore::Font::floatWidthForComplexText):
40433        * rendering/InlineFlowBox.cpp:
40434        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
40435        * rendering/InlineFlowBox.h:
40436        * rendering/RenderBlock.h:
40437        * rendering/RenderBlockLineLayout.cpp:
40438        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
40439        (WebCore::RenderBlock::layoutInlineChildren):
40440        * rendering/RenderInline.cpp:
40441        (WebCore::RenderInline::marginLeft):
40442        (WebCore::RenderInline::marginRight):
40443        (WebCore::RenderInline::marginTop):
40444        (WebCore::RenderInline::marginBottom):
40445        (WebCore::RenderInline::marginBefore):
40446        (WebCore::RenderInline::marginAfter):
40447        * rendering/RenderInline.h:
40448        * rendering/RenderText.cpp:
40449        (WebCore::RenderText::widthFromCache):
40450        (WebCore::RenderText::width):
40451        * rendering/RootInlineBox.cpp:
40452        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
40453        (WebCore::setAscentAndDescent):
40454        (WebCore::RootInlineBox::ascentAndDescentForBox):
40455        (WebCore::RootInlineBox::verticalPositionForBox):
40456        (WebCore::RootInlineBox::includeLeadingForBox):
40457        (WebCore::RootInlineBox::includeFontForBox):
40458        (WebCore::RootInlineBox::includeGlyphsForBox):
40459        (WebCore::RootInlineBox::includeMarginForBox):
40460        (WebCore::RootInlineBox::fitsToGlyphs):
40461        (WebCore::RootInlineBox::includesRootLineBoxFontOrLeading):
40462        * rendering/RootInlineBox.h:
40463        * rendering/style/RenderStyle.cpp:
40464        (WebCore::RenderStyle::diff):
40465        * rendering/style/RenderStyle.h:
40466        (WebCore::InheritedFlags::lineBoxContain):
40467        (WebCore::InheritedFlags::setLineBoxContain):
40468        (WebCore::InheritedFlags::initialLineBoxContain):
40469        * rendering/style/StyleRareInheritedData.cpp:
40470        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
40471        (WebCore::StyleRareInheritedData::operator==):
40472        * rendering/style/StyleRareInheritedData.h:
40473
404742011-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
40475
40476        Unreviewed, rolling out r81653.
40477        http://trac.webkit.org/changeset/81653
40478        https://bugs.webkit.org/show_bug.cgi?id=56839
40479
40480        Breaks fast/text/drawBidiText.html on Chromium. (Requested by
40481        pfeldman on #webkit).
40482
40483        * rendering/RenderListBox.cpp:
40484        (WebCore::RenderListBox::paintItemForeground):
40485
404862011-03-22  Pavel Feldman  <pfeldman@chromium.org>
40487
40488        Not reviewed. Rolling out 81657, 81654, 81651 for breaking tests on chromium.
40489
40490        * inspector/Inspector.json:
40491        * inspector/InspectorDatabaseResource.cpp:
40492        (WebCore::InspectorDatabaseResource::bind):
40493        * inspector/front-end/Database.js:
40494        (WebInspector.DatabaseDispatcher.prototype.addDatabase):
40495
404962011-03-21  Pavel Podivilov  <podivilov@chromium.org>
40497
40498        Reviewed by Yury Semikhatsky.
40499
40500        Web Inspector: [REGRESSION] scripts panel is broken when frontend is reopened.
40501        https://bugs.webkit.org/show_bug.cgi?id=56747
40502
40503        Debugger should be enabled on front-end side to guarantee initialization sequence (resources come before scripts).
40504
40505        * inspector/Inspector.json:
40506        * inspector/InspectorAgent.cpp:
40507        (WebCore::InspectorAgent::showProfilesPanel):
40508        * inspector/InspectorAgent.h:
40509        * inspector/InspectorController.cpp:
40510        (WebCore::InspectorController::InspectorController):
40511        (WebCore::InspectorController::connectFrontend):
40512        (WebCore::InspectorController::showAndEnableDebugger):
40513        * inspector/InspectorController.h:
40514        * inspector/InspectorDebuggerAgent.cpp:
40515        (WebCore::InspectorDebuggerAgent::setFrontend):
40516        (WebCore::InspectorDebuggerAgent::clearFrontend):
40517        * inspector/InspectorDebuggerAgent.h:
40518
405192011-03-22  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
40520
40521        Reviewed by Benjamin Poulain.
40522
40523        [Qt] WebGL: renderbufferStorage() fails with internal format GL_RGBA4
40524        https://bugs.webkit.org/show_bug.cgi?id=56824
40525
40526        On desktop OpenGL substitute in renderbufferStorage:
40527        - GL_DEPTH24_STENCIL8 for GL_DEPTH_STENCIL
40528        - GL_DEPTH_COMPONENT for GL_DEPTH_COMPONENT16
40529        - GL_RGBA for GL_RGBA4 and GL_RGBA565
40530        - GL_RGB for RGB5_A1.
40531
40532        Tests: fast/canvas/webgl/uninitialized-test.html
40533
40534        * platform/graphics/qt/GraphicsContext3DQt.cpp:
40535        (WebCore::GraphicsContext3D::renderbufferStorage):
40536
405372011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
40538
40539        Reviewed by Eric Seidel.
40540
40541        Move volume slider positioning logic to a custom renderer.
40542        https://bugs.webkit.org/show_bug.cgi?id=56498
40543
40544        No functional change, covered by existing tests.
40545
40546        * html/shadow/MediaControls.cpp:
40547        (WebCore::MediaControls::updateVolumeSliderContainer): Removed positioning logic.
40548        * rendering/MediaControlElements.cpp:
40549        (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer): Added.
40550        (WebCore::RenderMediaVolumeSliderContainer::layout): Added.
40551        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement): Removed storing of coordinates.
40552        (WebCore::MediaControlVolumeSliderContainerElement::createRenderer): Added.
40553        (WebCore::MediaControlVolumeSliderContainerElement::styleForElement): Removed setting of coordinates.
40554        * rendering/MediaControlElements.h: Changed corresponding decls.
40555
405562011-03-22  Andrew Wason  <rectalogic@rectalogic.com>
40557
40558        Reviewed by Benjamin Poulain.
40559
40560        [Qt] QWebPage with WebGL content crashes when rendering if no QWebView parent
40561        https://bugs.webkit.org/show_bug.cgi?id=54138
40562
40563        * platform/graphics/qt/GraphicsContext3DQt.cpp:
40564        (WebCore::GraphicsContext3DInternal::getViewportGLWidget):
40565         Check if we actually have a QWebPageClient before dereferencing it.
40566
405672011-03-22  Pavel Feldman  <pfeldman@chromium.org>
40568
40569        Reviewed by Yury Semikhatsky.
40570
40571        Web Inspector: document DOM domain types and protocol methods.
40572        https://bugs.webkit.org/show_bug.cgi?id=56807
40573
40574        * inspector/InjectedScript.cpp:
40575        (WebCore::InjectedScript::wrapNode):
40576        * inspector/InjectedScript.h:
40577        * inspector/Inspector.json:
40578        * inspector/InspectorBrowserDebuggerAgent.cpp:
40579        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
40580        * inspector/InspectorDOMAgent.cpp:
40581        (WebCore::InspectorDOMAgent::removeNode):
40582        (WebCore::InspectorDOMAgent::setNodeValue):
40583        * inspector/InspectorDOMAgent.h:
40584        * inspector/front-end/ElementsTreeOutline.js:
40585        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
40586        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
40587        * inspector/front-end/EventListenersSidebarPane.js:
40588        * inspector/front-end/PropertiesSidebarPane.js:
40589        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
40590        * inspector/front-end/RemoteObject.js:
40591        (WebInspector.RemoteObject.resolveNode):
40592
405932011-03-22  Adam Barth  <abarth@webkit.org>
40594
40595        Reviewed by Eric Seidel.
40596
40597        Production configuration in GYP isn&apos;t set up correctly
40598        https://bugs.webkit.org/show_bug.cgi?id=56786
40599
40600        Update WebCore.gyp with information mined from WebCore.xcodeproj.
40601
40602        * WebCore.gypi:
40603        * gyp/WebCore.gyp:
40604
406052011-03-22  Ofri Wolfus  <ofri@google.com>
40606
40607        Reviewed by Eric Seidel.
40608
40609        RTL: Select elements with a size attribute are always left aligned.
40610        https://bugs.webkit.org/show_bug.cgi?id=50928
40611
40612        Added support for alignment in RenderListBox.
40613
40614        Test: fast/forms/listbox-bidi-align.html
40615
40616        * rendering/RenderListBox.cpp:
40617        (WebCore::RenderListBox::paintItemForeground): Add support for alignment and directionality.
40618
406192011-03-22  Ilya Sherman  <isherman@chromium.org>
40620
40621        Reviewed by Kent Tamura.
40622
40623        Clear autofilled flag when reseting a form
40624        In service of https://code.google.com/p/chromium/issues/detail?id=70037
40625        https://bugs.webkit.org/show_bug.cgi?id=56802
40626
40627        Test: fast/forms/reset-autofilled.html
40628
40629        * html/HTMLInputElement.cpp:
40630        (WebCore::HTMLInputElement::reset): Clear the autofilled flag.
40631
406322011-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
40633
40634        Reviewed by Yury Semikhatsky.
40635
40636        Web Inspector: protocol cleanup. DatabaseAgent.
40637        https://bugs.webkit.org/show_bug.cgi?id=56815
40638
40639        see protocol metabug:
40640        - All events should use notification wording, not command wording:
40641
40642        addDatabase was renamed to DatabaseOpened.
40643
40644        Test: inspector/protocol/database-agent.html
40645
40646        * inspector/Inspector.json:
40647        * inspector/InspectorDatabaseResource.cpp:
40648        (WebCore::InspectorDatabaseResource::bind):
40649        * inspector/front-end/Database.js:
40650        (WebInspector.DatabaseDispatcher.prototype.DatabaseOpened):
40651
406522011-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
40653
40654        Reviewed by Yury Semikhatsky.
40655
40656        Web Inspector: protocol cleanup. ConsoleAgent.
40657        https://bugs.webkit.org/show_bug.cgi?id=56806
40658
40659        renamed method: void setConsoleMessagesEnabled(in boolean enabled, out boolean newState); => void enable(out long expiredMessagesCount);
40660        new method: disable()
40661        deleted method: [event] void consoleMessageExpiredCountUpdate(out unsigned long count); delete it. The counter will be transfered as out argument of enable command.
40662
40663        * inspector/ConsoleMessage.cpp:
40664        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
40665        * inspector/Inspector.json:
40666        * inspector/InspectorConsoleAgent.cpp:
40667        (WebCore::InspectorConsoleAgent::enable):
40668        (WebCore::InspectorConsoleAgent::disable):
40669        * inspector/InspectorConsoleAgent.h:
40670        * inspector/front-end/ConsoleView.js:
40671        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdated):
40672        (WebInspector.ConsoleView.prototype.setConsoleMessageExpiredCount):
40673        * inspector/front-end/inspector.js:
40674
406752011-03-22  Kent Tamura  <tkent@chromium.org>
40676
40677        Reviewed by Eric Seidel.
40678
40679        REGRESSION(r80096): Number type input unexpectedly rounds fractional values
40680        https://bugs.webkit.org/show_bug.cgi?id=56367
40681
40682        Because the default value of the maximum fractional digits of NSNumberFormatter
40683        and ICU NumberFormat is 3, the value 0.55555 is rounded to 0.556 in a
40684        localized representation. This bug affects only in Mac and Chromium.
40685
40686        To fix this bug,
40687         - Add "maximum fractional digits" parameter to formatLocalizedNumber(), and
40688         - NumberInputType::visibleValue uses parseToDoubleForNumberTypeWithDecimalPlaces()
40689          instead of parseToDoubleForNumberType().
40690
40691        No automated tests because the behavior is locale-dependent. This change
40692        updates a manual test.
40693
40694        * html/NumberInputType.cpp:
40695        (WebCore::NumberInputType::visibleValue):
40696          Use parseToDoubleForNumberTypeWithDecimalPlaces() and passing fractional
40697          part length to formatLocalizedNumber().
40698        * manual-tests/input-number-localization.html:
40699          Update the test to cover this change.
40700        * platform/text/LocalizedNumber.h: Add a parameter to formatLocalizedNumber().
40701        * platform/text/LocalizedNumberICU.cpp:
40702        (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits().
40703        * platform/text/LocalizedNumberNone.cpp:
40704        (WebCore::formatLocalizedNumber):
40705        * platform/text/mac/LocalizedNumberMac.mm:
40706        (WebCore::formatLocalizedNumber): Call setMaximumFractionalDigits().
40707
407082011-03-21  Abhishek Arya  <inferno@chromium.org>
40709
40710        Reviewed by Eric Seidel.
40711
40712        Anonymous blocks need isRenderBlock cast check. Also, need
40713        to allow display BOX for flexible boxes.
40714        https://bugs.webkit.org/show_bug.cgi?id=56709
40715
40716        Test: accessibility/anchor-linked-anonymous-block-crash.html
40717
40718        * rendering/RenderBlock.cpp:
40719        (WebCore::canMergeContiguousAnonymousBlocks): remove specific
40720        fix in r81088 which is no longer needed.
40721        * rendering/RenderObject.h:
40722        (WebCore::RenderObject::isAnonymousBlock): Add isRenderBlock cast
40723        check.
40724
407252011-03-21  Abhishek Arya  <inferno@chromium.org>
40726
40727        Reviewed by Eric Seidel.
40728
40729        Revert small change made in r78846 of replacing move with positionLineBox
40730        in the adjusting position function for inline box.
40731        https://bugs.webkit.org/show_bug.cgi?id=56300
40732
40733        The change in r78846 caused positioning line boxes during the step of adjusting
40734        position for inline box, thereby causing line boxes to be nuked. This happens as
40735        part of aligning boxes in block direction in RenderBlock::computeBlockDirectionPositionsForLine.
40736        Later on, we do the positioning of line boxes again later in that function. This
40737        causes use of removed inline box leading to crash. Also, it is unnecessary to do
40738        this twice.
40739
40740        Tests: fast/inline/inline-box-adjust-position-crash.html
40741               fast/inline/inline-box-adjust-position-crash2.html
40742
40743        * rendering/InlineBox.cpp:
40744        (WebCore::InlineBox::adjustPosition):
40745
407462011-03-21  Adam Klein  <adamk@chromium.org>
40747
40748        Reviewed by David Levin.
40749
40750        [fileapi] Add URI resolution support to WorkerContext
40751        https://bugs.webkit.org/show_bug.cgi?id=55644
40752
40753        Tests: http/tests/filesystem/workers/resolve-url-sync.html
40754               http/tests/filesystem/workers/resolve-url.html
40755
40756        * fileapi/LocalFileSystem.cpp:
40757        (WebCore::LocalFileSystem::readFileSystem):
40758        Add support for workers.
40759        * fileapi/LocalFileSystem.h:
40760        * workers/WorkerContext.cpp:
40761        (WebCore::WorkerContext::resolveLocalFileSystemURL):
40762        (WebCore::WorkerContext::resolveLocalFileSystemSyncURL):
40763        * workers/WorkerContext.h:
40764        * workers/WorkerContext.idl:
40765
407662011-03-21  David Levin  <levin@chromium.org>
40767
40768        Reviewed by Adam Barth.
40769
40770        XHR in Workers doesn't set the referrer correctly.
40771        https://bugs.webkit.org/show_bug.cgi?id=24683
40772
40773        Tests: http/tests/xmlhttprequest/workers/referer.html
40774               http/tests/xmlhttprequest/workers/shared-worker-referer.html
40775
40776        * loader/DocumentThreadableLoader.cpp:
40777        (WebCore::DocumentThreadableLoader::loadResourceSynchronously): Fill in empty string for the outgoing referrer.
40778        (WebCore::DocumentThreadableLoader::create): Added the ability to set the outgoing referrer.
40779        (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): Ditto.
40780        (WebCore::DocumentThreadableLoader::loadRequest): Ditto.
40781        * loader/DocumentThreadableLoader.h: Ditto.
40782        * loader/ResourceLoadScheduler.cpp:
40783        (WebCore::ResourceLoadScheduler::scheduleSubresourceLoad): Ditto.
40784        * loader/ResourceLoadScheduler.h: Ditto.
40785        * loader/SubresourceLoader.cpp:
40786        (WebCore::SubresourceLoader::create): Fixed bug (caught by the test) in last minute change done in previous check-in.
40787        * loader/WorkerThreadableLoader.cpp:
40788        (WebCore::WorkerThreadableLoader::WorkerThreadableLoader): Fill in the outgoing referrer.
40789        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge): Plumbing for the outgoing referrer.
40790        (WebCore::WorkerThreadableLoader::MainThreadBridge::mainThreadCreateLoader): Plumbing for the outgoing referrer.
40791        * loader/WorkerThreadableLoader.h:
40792
407932011-03-21  Nate Chapin  <japhet@chromium.org>
40794
40795        Reviewed by Brady Eidson.
40796
40797        Do not check the DocumentLoader's request cache policy
40798        in determining whether we should force revalidation of a cached
40799        subresource. If the main resource received headers telling it not
40800        to cache, that policy will be propagated to subresources.
40801
40802        The previous behavior is left in behind a flag in Settings, since
40803        QuickLook depends on it.
40804
40805        https://bugs.webkit.org/show_bug.cgi?id=38690
40806
40807        Tests: http/tests/cache/post-redirect-get.php
40808               http/tests/cache/post-with-cached-subresources.php
40809
40810        * loader/FrameLoader.cpp:
40811        (WebCore::FrameLoader::subresourceCachePolicy):
40812        (WebCore::FrameLoader::loadPostRequest):
40813        * page/Settings.cpp:
40814        (WebCore::Settings::Settings):
40815        * page/Settings.h:
40816        (WebCore::Settings::setUseQuickLookResourceCachingQuirks):
40817        (WebCore::Settings::useQuickLookResourceCachingQuirks):
40818
408192011-03-21  Rik Cabanier  <cabanier@adobe.com>
40820
40821        Reviewed by James Robinson.
40822
40823        bug 56052: percentages are incorrectly rounded in WebKit
40824        https://bugs.webkit.org/show_bug.cgi?id=56052
40825
40826        test: fast/css/percentage-non-integer.html
40827
40828        * css/CSSStyleSelector.cpp:
40829        (WebCore::CSSStyleSelector::applyProperty):
40830        * page/PrintContext.cpp:
40831        (WebCore::PrintContext::pageProperty):
40832        * platform/Length.h:
40833        (WebCore::Length::Length):
40834        (WebCore::Length::operator*=):
40835        (WebCore::Length::value):
40836        (WebCore::Length::percent):
40837        (WebCore::Length::setValue):
40838        (WebCore::Length::calcValue):
40839        (WebCore::Length::calcMinValue):
40840        (WebCore::Length::isUndefined):
40841        (WebCore::Length::isZero):
40842        (WebCore::Length::isPositive):
40843        (WebCore::Length::isNegative):
40844        * rendering/AutoTableLayout.cpp:
40845        (WebCore::AutoTableLayout::recalcColumn):
40846        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
40847        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
40848        (WebCore::AutoTableLayout::layout):
40849        * rendering/FixedTableLayout.cpp:
40850        (WebCore::FixedTableLayout::calcWidthArray):
40851        (WebCore::FixedTableLayout::layout):
40852        * rendering/RenderTableSection.cpp:
40853        (WebCore::RenderTableSection::addCell):
40854        (WebCore::RenderTableSection::layoutRows):
40855        * rendering/style/BorderData.h:
40856        (WebCore::BorderData::hasBorderRadius):
40857
408582011-03-21  Adam Barth  <abarth@webkit.org>
40859
40860        Reviewed by Eric Seidel.
40861
40862        Add WebCoreExportFileGenerator to WebCore GYP build
40863        https://bugs.webkit.org/show_bug.cgi?id=56778
40864
40865        This target mirrors the eponymous target from WebCore.xcodeproj.
40866
40867        * WebCore.gypi:
40868        * gyp/WebCore.gyp:
40869        * generate-webcore-export-file-generator.sh: Added.
40870
408712011-03-21  Adam Barth  <abarth@webkit.org>
40872
40873        Reviewed by Dimitri Glazkov.
40874
40875        WebCore GYP build shouldn&apos;t crash on startup
40876        https://bugs.webkit.org/show_bug.cgi?id=56776
40877
40878        Debug builds shouldn't define NDEBUG.  This same logic exists in the
40879        project.pbxproj file.
40880
40881        * gyp/WebCore.gyp:
40882
408832011-03-21  Daniel Cheng  <dcheng@chromium.org>
40884
40885        Reviewed by Tony Chang.
40886
40887        [chromium] Implement glue between DataTransferItems and the pasteboard.
40888        https://bugs.webkit.org/show_bug.cgi?id=56330
40889
40890        Support retrieving clipboard data in a paste through DataTransferItems.
40891
40892        Test: editing/pasteboard/data-transfer-items.html
40893
40894        * platform/chromium/ClipboardChromium.cpp:
40895        (WebCore::ClipboardChromium::items):
40896        * platform/chromium/DataTransferItemChromium.cpp:
40897        (WebCore::DataTransferItemChromium::createFromPasteboard):
40898        (WebCore::DataTransferItemChromium::create):
40899        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
40900        (WebCore::DataTransferItemChromium::getAsString):
40901        * platform/chromium/DataTransferItemChromium.h:
40902        * platform/chromium/DataTransferItemsChromium.cpp:
40903        (WebCore::DataTransferItemsChromium::addPasteboardItem):
40904        * platform/chromium/DataTransferItemsChromium.h:
40905
409062011-03-21  Chris Fleizach  <cfleizach@apple.com>
40907
40908        Reviewed by Darin Adler.
40909
40910        AX: showContextMenu not working in WK2
40911        https://bugs.webkit.org/show_bug.cgi?id=56734
40912
40913        WebKit2 is not able to directly open a context menu because the UI is in the other process.
40914        Instead the chrome client should be used. This also means implementing showContextMenu() in WebKit1
40915        code.
40916
40917        * accessibility/mac/AccessibilityObjectWrapper.mm:
40918        (-[AccessibilityObjectWrapper accessibilityShowContextMenu]):
40919
409202011-03-21  Robert Kroeger  <rjkroege@chromium.org>
40921
40922        Reviewed by Antonio Gomes.
40923
40924        Add Support to WebCore to optionally call a platform-specific gesture recognizer
40925        https://bugs.webkit.org/show_bug.cgi?id=49345
40926
40927        Added an ability for the EventHandler to invoke an optional platform
40928        specific gesture recognizer.
40929
40930        No tests added because the change should be functionally invisible.
40931
40932        * WebCore.gypi:
40933        * page/EventHandler.cpp:
40934        (WebCore::EventHandler::EventHandler):
40935        (WebCore::EventHandler::handleTouchEvent):
40936        * page/EventHandler.h:
40937        * platform/PlatformGestureRecognizer.cpp: Added.
40938        (WebCore::PlatformGestureRecognizer::PlatformGestureRecognizer):
40939        (WebCore::PlatformGestureRecognizer::~PlatformGestureRecognizer):
40940        (WebCore::PlatformGestureRecognizer::create):
40941        * platform/PlatformGestureRecognizer.h: Added.
40942
409432011-03-21  Dean Jackson  <dino@apple.com>
40944
40945        Reviewed by Chris Marrin and Simon Fraser.
40946
40947        https://bugs.webkit.org/show_bug.cgi?id=56325
40948        ASSERTION FAILED: paused() in AnimationBase::updateStateMachine()
40949
40950        AnimationBase had a custom linked-list/self-pointer for keeping
40951        track of animations that needed to be notified of style updates
40952        and start progress. This caused problems when AnimationBase was
40953        destroyed, since the pointer wasn't managed in any way. I replaced
40954        these pointers with HashSets and moved the code that removes animations
40955        from the sets into AnimationControllerPrivate, where it belongs.
40956        CompositeAnimation is also more careful to tell AnimationControllerPrivate
40957        when it no longer needs to keep track of waiting animations.
40958
40959        This should stop the style updates being called on non-active animations
40960        (which was the cause of the state machine error here) and should also
40961        stop a few of the related flakey test failures and occasional crashes.
40962
40963        Test: animations/body-removal-crash.html
40964
40965        * page/animation/AnimationBase.cpp:
40966        (WebCore::AnimationBase::AnimationBase):
40967        (WebCore::AnimationBase::updateStateMachine):
40968        * page/animation/AnimationBase.h:
40969        (WebCore::AnimationBase::~AnimationBase):
40970        - Remove the linked-list
40971        * page/animation/AnimationController.cpp:
40972        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
40973        (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStyle):
40974        (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStyle):
40975        (WebCore::AnimationControllerPrivate::styleAvailable):
40976        (WebCore::AnimationControllerPrivate::addToAnimationsWaitingForStartTimeResponse):
40977        (WebCore::AnimationControllerPrivate::removeFromAnimationsWaitingForStartTimeResponse):
40978        (WebCore::AnimationControllerPrivate::startTimeResponse):
40979        (WebCore::AnimationControllerPrivate::animationWillBeRemoved):
40980        - New method to remove animations from the waiting lists
40981        * page/animation/AnimationControllerPrivate.h:
40982        - use a HashSet rather than an AnimationBase* pointer.
40983        * page/animation/CompositeAnimation.cpp:
40984        (WebCore::CompositeAnimation::~CompositeAnimation):
40985        (WebCore::CompositeAnimation::clearRenderer):
40986        (WebCore::CompositeAnimation::updateTransitions):
40987        (WebCore::CompositeAnimation::updateKeyframeAnimations):
40988        - remove the animations and transitions from the lists when we know
40989          they are no longer active (rather than waiting for the AnimationBase
40990          to do it when destructing)
40991
409922011-03-21  Justin Schuh  <jschuh@chromium.org>
40993
40994        Reviewed by James Robinson.
40995
40996        Stop inserting when the parent is removed
40997        https://bugs.webkit.org/show_bug.cgi?id=56690
40998
40999        Tests: fast/dom/insertedIntoDocument-child.html
41000               fast/dom/insertedIntoDocument-iframe.html
41001               fast/dom/insertedIntoDocument-sibling.html
41002
41003        * dom/ContainerNode.cpp:
41004        (WebCore::ContainerNode::insertedIntoDocument):
41005        * html/HTMLEmbedElement.cpp:
41006        (WebCore::HTMLEmbedElement::insertedIntoDocument):
41007        * html/HTMLObjectElement.cpp:
41008        (WebCore::HTMLObjectElement::insertedIntoDocument):
41009
410102011-03-07  David Levin  <levin@chromium.org>
41011
41012        Reviewed by Adam Barth.
41013
41014        SubresourceLoader should expose a way to set the outgoing referer/origin
41015        https://bugs.webkit.org/show_bug.cgi?id=55903
41016
41017        No new tests as no new functionality is exposed.
41018
41019        * loader/SubresourceLoader.cpp:
41020        (WebCore::SubresourceLoader::create):
41021        * loader/SubresourceLoader.h:
41022
410232011-03-21  Daniel Sievers  <sievers@google.com>
41024
41025        Reviewed by Simon Fraser.
41026
41027        [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline
41028        https://bugs.webkit.org/show_bug.cgi?id=56139
41029
41030        * WebCore.exp.in:
41031        * WebCore.order:
41032        * page/Frame.cpp:
41033        (WebCore::Frame::layerTreeAsText):
41034        * page/Frame.h:
41035        * rendering/RenderLayerCompositor.cpp:
41036        (WebCore::RenderLayerCompositor::layerTreeAsText):
41037        * rendering/RenderLayerCompositor.h:
41038
410392011-03-21  Chang Shu  <cshu@webkit.org>
41040
41041        Reviewed by Alexey Proskuryakov.
41042
41043        REGRESSION (r79953): Can't type in MS Outlook 2011
41044        https://bugs.webkit.org/show_bug.cgi?id=56665
41045
41046        r79953 removed the WebView level editablity which is persistent no matter whether
41047        underlying document itself is changed and editability gets lost. The resolution is to
41048        set this WebView editable value to WebCore. This avoids the callback from WebCore to
41049        WebKit which was the main goal in r79953 to improve performance.
41050
41051        * WebCore.exp.in:
41052        * accessibility/AccessibilityRenderObject.cpp:
41053        (WebCore::AccessibilityRenderObject::isReadOnly):
41054        * dom/Node.cpp:
41055        (WebCore::Node::isContentEditable):
41056        * editing/SelectionController.cpp:
41057        (WebCore::SelectionController::setSelectionFromNone):
41058        * page/DragController.cpp:
41059        (WebCore::DragController::operationForLoad):
41060        * page/Page.cpp:
41061        (WebCore::Page::Page):
41062        * page/Page.h:
41063        (WebCore::Page::setEditable):
41064        (WebCore::Page::isEditable):
41065
410662011-03-21  Eric Uhrhane <ericu@chromium.org>
41067
41068        Reviewed by David Levin.
41069
41070        [fileapi/chromium] Fetch platform path using GetMetadata before creating File from FileEntry*
41071        https://bugs.webkit.org/show_bug.cgi?id=56704
41072
41073        * fileapi/DOMFileSystemSync.cpp
41074        (DOMFileSystemSync::createFile)
41075        (class GetPathHelper): Added, to look up path before creating File.
41076        * fileapi/DOMFileSystem.cpp
41077        (DOMFileSystem::createFile)
41078        (GetPathCallback): Added, to look up path before creating File.
41079        * platform/FileMetadata.h
41080        (struct FileMetadata): Added new field platformPath.
41081
410822011-03-21  Dominic Cooney  <dominicc@google.com>
41083
41084        Reviewed by Jeremy Orlow.
41085
41086        Establishes a V8 context before executing MediaQueryList callbacks.
41087        https://bugs.webkit.org/show_bug.cgi?id=56166
41088
41089        MediaQueryList listener callbacks didn't establish a V8 context
41090        before running script, causing crashes on C++-only
41091        callstacks (such as user resizing, printing, etc.) I believe this
41092        could also be contrived to execute media query list listener
41093        callbacks across domain.
41094
41095        Test: fast/media/media-query-list-callback.html
41096
41097        * css/MediaQueryListListener.cpp:
41098        (WebCore::MediaQueryListListener::queryChanged):
41099
411002011-03-21  Andreas Kling  <kling@webkit.org>
41101
41102        Reviewed by Tor Arne Vestbø.
41103
41104        [Qt] Add QNetworkReplyHandler::wasAborted()
41105
41106        Instead of checking if the ResourceHandle is null everywhere,
41107        use a wasAborted() method to make the code readable.
41108
41109        * platform/network/qt/QNetworkReplyHandler.h:
41110        (WebCore::QNetworkReplyHandler::wasAborted):
41111        * platform/network/qt/QNetworkReplyHandler.cpp:
41112        (WebCore::QNetworkReplyHandler::finish):
41113        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
41114        (WebCore::QNetworkReplyHandler::redirect):
41115        (WebCore::QNetworkReplyHandler::forwardData):
41116        (WebCore::QNetworkReplyHandler::uploadProgress):
41117
411182011-03-21  Christian Dywan  <christian@lanedo.com>
41119
41120        Reviewed by Martin Robinson.
41121
41122        WebKitIconDatabase may trigger crash in cairoImageSurfaceToGdkPixbuf
41123        https://bugs.webkit.org/show_bug.cgi?id=56201
41124
41125        * platform/graphics/gtk/ImageGtk.cpp: Don't attempt to make a pixbuf
41126            if there is no image.
41127
411282011-03-21  Mario Sanchez Prada  <msanchez@igalia.com>
41129
41130        Reviewed by Martin Robinson.
41131
41132        [GTK] [Stable] AtkHypertext exposes wrong offsets for links placed inside <span> nodes
41133        https://bugs.webkit.org/show_bug.cgi?id=56737
41134
41135        Only consider parent objects not ignoring accessibility.
41136
41137        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
41138        (webkitAccessibleHyperlinkGetStartIndex): Look for the parent
41139        object not ignoring accessibility for the current hyperlink.
41140        (webkitAccessibleHyperlinkGetEndIndex): Ditto.
41141
411422011-03-21  Andreas Kling  <kling@webkit.org>
41143
41144        Reviewed by Benjamin Poulain.
41145
41146        [Qt] Remove handling of QNetworkAccessManager::UnknownOperation
41147
41148        Now that Qt 4.7 is required we never have to fall back to UnknownOperation.
41149        Custom verb requests are using CustomOperation already, so this was dead code.
41150
41151        * platform/network/qt/QNetworkReplyHandler.cpp:
41152        (WebCore::QNetworkReplyHandler::start):
41153
411542011-03-21  Adam Roben  <aroben@apple.com>
41155
41156        Fix multiple-definition linker warnings on Windows
41157
41158        * WebCore.vcproj/WebCore.vcproj: Exclude RenderSVGPath.cpp from the build, since it is
41159        already being compiled via RenderingAllInOne.cpp. Let VS have its way with the rest of the
41160        file.
41161
411622011-03-21  Andreas Kling  <kling@webkit.org>
41163
41164        Reviewed by Benjamin Poulain.
41165
41166        [Qt] Clean up QNetworkReplyHandler::release()
41167
41168        Since QNetworkReplyHandler no longer uses queued connections to
41169        the QNetworkReply, it's not necessary to mess with the event
41170        queue when releasing a reply.
41171
41172        * platform/network/qt/QNetworkReplyHandler.cpp:
41173        (WebCore::QNetworkReplyHandler::abort):
41174        (WebCore::QNetworkReplyHandler::release):
41175
411762011-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
41177
41178        Reviewed by Pavel Feldman.
41179
41180        Web Inspector: Inspector does not always show correct transfer size (for compressed/chunked data)
41181        https://bugs.webkit.org/show_bug.cgi?id=56691
41182
41183        Added transfer size support in inspector for compressed data.
41184
41185        Test: http/tests/inspector/network/network-size-chunked.html
41186
41187        * inspector/Inspector.idl:
41188        * inspector/InspectorInstrumentation.cpp:
41189        (WebCore::InspectorInstrumentation::didReceiveContentLengthImpl):
41190        * inspector/InspectorInstrumentation.h:
41191        (WebCore::InspectorInstrumentation::didReceiveContentLength):
41192        * inspector/InspectorResourceAgent.cpp:
41193        (WebCore::InspectorResourceAgent::didReceiveResponse):
41194        (WebCore::InspectorResourceAgent::didReceiveContentLength):
41195        * inspector/InspectorResourceAgent.h:
41196        * inspector/front-end/NetworkManager.js:
41197        (WebInspector.NetworkDispatcher.prototype.didReceiveContentLength):
41198        * inspector/front-end/Resource.js:
41199        (WebInspector.Resource.prototype.get transferSize):
41200        (WebInspector.Resource.prototype.increaseTransferSize):
41201        * loader/ResourceLoadNotifier.cpp:
41202        (WebCore::ResourceLoadNotifier::didReceiveData):
41203        (WebCore::ResourceLoadNotifier::dispatchDidReceiveContentLength):
41204        (WebCore::ResourceLoadNotifier::sendRemainingDelegateMessages):
41205        * loader/ResourceLoadNotifier.h:
41206        * loader/appcache/ApplicationCacheGroup.cpp:
41207        (WebCore::ApplicationCacheGroup::didReceiveData):
41208        * platform/network/mac/ResourceHandleMac.mm:
41209        (-[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]):
41210        * platform/network/qt/QNetworkReplyHandler.cpp:
41211        (WebCore::QNetworkReplyHandler::forwardData):
41212        * platform/network/soup/ResourceHandleSoup.cpp:
41213        (WebCore::gotChunkCallback):
41214        * platform/network/win/ResourceHandleWin.cpp:
41215        (WebCore::ResourceHandle::onRequestComplete):
41216        (WebCore::ResourceHandle::fileLoadTimer):
41217
412182011-03-21  Leo Yang  <leo.yang@torchmobile.com.cn>
41219
41220        Reviewed by Dirk Schulze.
41221
41222        symbol display <use> at wrong scale
41223        https://bugs.webkit.org/show_bug.cgi?id=54538
41224
41225        SVG spec: http://www.w3.org/TR/SVG/struct.html#UseElement
41226        Quotation for referenced <symbol>: "If attributes 'width'
41227        and/or 'height' are provided on the 'use' element, then
41228        these attributes will be transferred to the generated 'svg'."
41229        Quotation for referenced <svg>: "If attributes 'width'
41230        and/or 'height' are provided on the 'use' element, then
41231        these values will override the corresponding attributes
41232        on the 'svg' in the generated tree."
41233        For above quotations, we should treat 'use' element as referencing
41234        'use' element, just like Firefox 3.6 and Opera 11, instead of
41235        corrensponding 'use' element.
41236
41237        Tests: svg/custom/use-transfer-width-height-properties-to-svg.svg
41238               svg/custom/use-transfer-width-height-properties-to-svg1.svg
41239               svg/custom/use-transfer-width-height-properties-to-svg2.svg
41240               svg/custom/use-transfer-width-height-properties-to-symbol.svg
41241               svg/custom/use-transfer-width-height-properties-to-symbol1.svg
41242               svg/custom/use-transfer-width-height-properties-to-symbol2.svg
41243
41244        * svg/SVGElementInstance.cpp:
41245        (WebCore::SVGElementInstance::SVGElementInstance):
41246        * svg/SVGElementInstance.h:
41247        (WebCore::SVGElementInstance::create):
41248        (WebCore::SVGElementInstance::correspondingUseElement):
41249        (WebCore::SVGElementInstance::directUseElement):
41250        (WebCore::SVGElementInstance::clearUseElements):
41251        * svg/SVGUseElement.cpp:
41252        (WebCore::updateContainerSize):
41253        (WebCore::SVGUseElement::updateContainerSizes):
41254        (WebCore::dumpInstanceTree):
41255        (WebCore::SVGUseElement::detachInstance):
41256        (WebCore::SVGUseElement::buildInstanceTree):
41257
412582011-03-21  Jaehun Lim  <ljaehun.lim@samsung.com>
41259
41260        Reviewed by Pavel Feldman.
41261
41262        Fix build break when inspector is enabled.
41263        https://bugs.webkit.org/show_bug.cgi?id=56735
41264
41265        * loader/FrameLoader.cpp:
41266        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy): Add ENABLE(INSPECTOR).
41267
412682011-03-21  Philippe Normand  <pnormand@igalia.com>
41269
41270        Unreviewed, GTK distcheck build fix.
41271
41272        * GNUmakefile.am:
41273
412742011-03-21  Julien Chaffraix  <jchaffraix@webkit.org>
41275
41276        Reviewed by Eric Seidel.
41277
41278        Bug 51465 - chrome.dll!WebCore::RenderLayer::currentTransform
41279        ReadAV@NULL (8968fc97874fa23b6799ff8f09c142e4)
41280
41281        Test: fast/css/webkit-empty-transform-preserve3d-crash.html
41282
41283        * rendering/RenderBox.cpp:
41284        (WebCore::RenderBox::layoutOverflowRectForPropagation): Mimicked the
41285        rest of the code and check that the RenderBox has a layer to avoid
41286        crashing on the layer() call.
41287
412882011-03-21  Pavel Feldman  <pfeldman@chromium.org>
41289
41290        Reviewed by Yury Semikhatsky.
41291
41292        Web Inspector: move cookie processing and appcache from DOMAgent.js
41293        https://bugs.webkit.org/show_bug.cgi?id=56713
41294
41295        * inspector/front-end/ApplicationCacheItemsView.js:
41296        (WebInspector.ApplicationCacheDispatcher):
41297        (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
41298        (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
41299        (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
41300        * inspector/front-end/CookieItemsView.js:
41301        (WebInspector.Cookies.getCookiesAsync):
41302        (WebInspector.Cookies.buildCookiesFromString):
41303        (WebInspector.Cookies.cookieMatchesResourceURL):
41304        (WebInspector.Cookies.cookieDomainMatchesResourceDomain):
41305        * inspector/front-end/DOMAgent.js:
41306        (WebInspector.DOMNode.prototype.eventListeners):
41307        * inspector/front-end/EventListenersSidebarPane.js:
41308        (WebInspector.EventListenersSidebarPane.prototype.update):
41309
413102011-03-21  Pavel Feldman  <pfeldman@chromium.org>
41311
41312        Reviewed by Yury Semikhatsky.
41313
41314        Web Inspector: migrate Inspector.json to valid JSON types.
41315        https://bugs.webkit.org/show_bug.cgi?id=56651
41316
41317        This change migrates inspector from long to int as
41318        dom, storage, database and other id types.
41319
41320        * inspector/InjectedScriptHost.cpp:
41321        (WebCore::InjectedScriptHost::inspectedNode):
41322        (WebCore::InjectedScriptHost::databaseIdImpl):
41323        (WebCore::InjectedScriptHost::storageIdImpl):
41324        (WebCore::InjectedScriptHost::didCreateWorker):
41325        (WebCore::InjectedScriptHost::didDestroyWorker):
41326        * inspector/InjectedScriptHost.h:
41327        * inspector/InjectedScriptHost.idl:
41328        * inspector/Inspector.json:
41329        * inspector/InspectorAgent.cpp:
41330        (WebCore::InspectorAgent::highlightDOMNode):
41331        * inspector/InspectorAgent.h:
41332        * inspector/InspectorBrowserDebuggerAgent.cpp:
41333        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
41334        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
41335        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
41336        (WebCore::InspectorBrowserDebuggerAgent::hasBreakpoint):
41337        * inspector/InspectorBrowserDebuggerAgent.h:
41338        * inspector/InspectorCSSAgent.cpp:
41339        (WebCore::InspectorCSSAgent::getStylesForNode):
41340        (WebCore::InspectorCSSAgent::getInlineStyleForNode):
41341        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
41342        (WebCore::InspectorCSSAgent::setPropertyText):
41343        (WebCore::InspectorCSSAgent::toggleProperty):
41344        (WebCore::InspectorCSSAgent::addRule):
41345        (WebCore::InspectorCSSAgent::elementForId):
41346        * inspector/InspectorCSSAgent.h:
41347        * inspector/InspectorConsoleAgent.cpp:
41348        (WebCore::InspectorConsoleAgent::count):
41349        (WebCore::InspectorConsoleAgent::addInspectedNode):
41350        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
41351        * inspector/InspectorConsoleAgent.h:
41352        * inspector/InspectorDOMAgent.cpp:
41353        (WebCore::InspectorDOMAgent::bind):
41354        (WebCore::InspectorDOMAgent::unbind):
41355        (WebCore::InspectorDOMAgent::assertNode):
41356        (WebCore::InspectorDOMAgent::assertElement):
41357        (WebCore::InspectorDOMAgent::assertHTMLElement):
41358        (WebCore::InspectorDOMAgent::nodeToSelectOn):
41359        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
41360        (WebCore::InspectorDOMAgent::nodeForId):
41361        (WebCore::InspectorDOMAgent::getChildNodes):
41362        (WebCore::InspectorDOMAgent::querySelector):
41363        (WebCore::InspectorDOMAgent::querySelectorAll):
41364        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
41365        (WebCore::InspectorDOMAgent::boundNodeId):
41366        (WebCore::InspectorDOMAgent::setAttribute):
41367        (WebCore::InspectorDOMAgent::removeAttribute):
41368        (WebCore::InspectorDOMAgent::removeNode):
41369        (WebCore::InspectorDOMAgent::setNodeName):
41370        (WebCore::InspectorDOMAgent::getOuterHTML):
41371        (WebCore::InspectorDOMAgent::setOuterHTML):
41372        (WebCore::InspectorDOMAgent::setNodeValue):
41373        (WebCore::InspectorDOMAgent::getEventListenersForNode):
41374        (WebCore::InspectorDOMAgent::resolveNode):
41375        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
41376        (WebCore::InspectorDOMAgent::buildObjectForNode):
41377        (WebCore::InspectorDOMAgent::loadEventFired):
41378        (WebCore::InspectorDOMAgent::didInsertDOMNode):
41379        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
41380        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
41381        (WebCore::InspectorDOMAgent::characterDataModified):
41382        (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
41383        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
41384        (WebCore::InspectorDOMAgent::copyNode):
41385        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
41386        * inspector/InspectorDOMAgent.h:
41387        * inspector/InspectorDOMStorageAgent.cpp:
41388        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
41389        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
41390        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
41391        (WebCore::InspectorDOMStorageAgent::storageId):
41392        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
41393        * inspector/InspectorDOMStorageAgent.h:
41394        * inspector/InspectorDOMStorageResource.cpp:
41395        * inspector/InspectorDOMStorageResource.h:
41396        (WebCore::InspectorDOMStorageResource::id):
41397        * inspector/InspectorDatabaseAgent.cpp:
41398        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
41399        (WebCore::InspectorDatabaseAgent::executeSQL):
41400        (WebCore::InspectorDatabaseAgent::databaseId):
41401        (WebCore::InspectorDatabaseAgent::databaseForId):
41402        * inspector/InspectorDatabaseAgent.h:
41403        * inspector/InspectorDatabaseResource.cpp:
41404        * inspector/InspectorDatabaseResource.h:
41405        (WebCore::InspectorDatabaseResource::id):
41406        * inspector/InspectorDebuggerAgent.cpp:
41407        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsState):
41408        * inspector/InspectorDebuggerAgent.h:
41409        * inspector/InspectorProfilerAgent.cpp:
41410        (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize):
41411        * inspector/InspectorProfilerAgent.h:
41412        * inspector/InspectorResourceAgent.cpp:
41413        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
41414        (WebCore::InspectorResourceAgent::willSendRequest):
41415        (WebCore::InspectorResourceAgent::markResourceAsCached):
41416        (WebCore::InspectorResourceAgent::didReceiveResponse):
41417        (WebCore::InspectorResourceAgent::didReceiveContentLength):
41418        (WebCore::InspectorResourceAgent::didFinishLoading):
41419        (WebCore::InspectorResourceAgent::didFailLoading):
41420        (WebCore::InspectorResourceAgent::setInitialContent):
41421        (WebCore::InspectorResourceAgent::didCreateWebSocket):
41422        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
41423        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
41424        (WebCore::InspectorResourceAgent::didCloseWebSocket):
41425        * inspector/generate-inspector-idl:
41426
414272011-03-21  Pavel Feldman  <pfeldman@chromium.org>
41428
41429        Reviewed by Yury Semikhatsky.
41430
41431        Web Inspector: make frameId in network agent of type string, not unsigned long.
41432        https://bugs.webkit.org/show_bug.cgi?id=56708
41433
41434        * inspector/Inspector.json:
41435        * inspector/InspectorAgent.cpp:
41436        (WebCore::InspectorAgent::highlightFrame):
41437        * inspector/InspectorAgent.h:
41438        * inspector/InspectorResourceAgent.cpp:
41439        (WebCore::pointerAsId):
41440        (WebCore::buildObjectForDocumentLoader):
41441        (WebCore::buildObjectForFrame):
41442        (WebCore::InspectorResourceAgent::frameDetachedFromParent):
41443        (WebCore::InspectorResourceAgent::frameForId):
41444        (WebCore::InspectorResourceAgent::resourceContent):
41445        * inspector/InspectorResourceAgent.h:
41446        * inspector/front-end/ResourcesPanel.js:
41447        (WebInspector.ResourcesPanel.prototype.addOrUpdateFrame):
41448
414492011-03-21  Pavel Feldman  <pfeldman@chromium.org>
41450
41451        Reviewed by Yury Semikhatsky.
41452
41453        Web Inspector: expose object id as string, not JSON struct in the protocol.
41454        https://bugs.webkit.org/show_bug.cgi?id=56681
41455
41456        * bindings/js/JSInjectedScriptHostCustom.cpp:
41457        (WebCore::JSInjectedScriptHost::inspect):
41458        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
41459        (WebCore::V8InjectedScriptHost::inspectCallback):
41460        * inspector/InjectedScript.cpp:
41461        (WebCore::InjectedScript::evaluateOn):
41462        (WebCore::InjectedScript::evaluateOnCallFrame):
41463        (WebCore::InjectedScript::getProperties):
41464        (WebCore::InjectedScript::nodeForObjectId):
41465        (WebCore::InjectedScript::setPropertyValue):
41466        (WebCore::InjectedScript::releaseObject):
41467        * inspector/InjectedScript.h:
41468        * inspector/InjectedScriptHost.cpp:
41469        (WebCore::InjectedScriptHost::inspectImpl):
41470        * inspector/InjectedScriptHost.h:
41471        * inspector/InjectedScriptManager.cpp:
41472        (WebCore::InjectedScriptManager::injectedScriptForObjectId):
41473        (WebCore::InjectedScriptManager::releaseObjectGroup):
41474        * inspector/InjectedScriptManager.h:
41475        * inspector/InjectedScriptSource.js:
41476        * inspector/Inspector.json:
41477        * inspector/InspectorConsoleAgent.cpp:
41478        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
41479        * inspector/InspectorDOMAgent.cpp:
41480        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
41481        * inspector/InspectorDOMAgent.h:
41482        * inspector/InspectorDebuggerAgent.cpp:
41483        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
41484        * inspector/InspectorDebuggerAgent.h:
41485        * inspector/InspectorRuntimeAgent.cpp:
41486        (WebCore::InspectorRuntimeAgent::evaluateOn):
41487        (WebCore::InspectorRuntimeAgent::getProperties):
41488        (WebCore::InspectorRuntimeAgent::setPropertyValue):
41489        (WebCore::InspectorRuntimeAgent::releaseObject):
41490        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
41491        * inspector/InspectorRuntimeAgent.h:
41492        * inspector/front-end/ConsoleView.js:
41493        (WebInspector.ConsoleView.prototype.completions.evaluatedProperties):
41494        (WebInspector.ConsoleView.prototype.completions):
41495        * inspector/front-end/PropertiesSidebarPane.js:
41496        * inspector/front-end/ScriptsPanel.js:
41497        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.releaseEvaluationResult):
41498        * inspector/front-end/WatchExpressionsSidebarPane.js:
41499        (WebInspector.WatchExpressionsSection.prototype.update):
41500        * inspector/front-end/inspector.js:
41501        (WebInspector.inspect):
41502
415032011-03-20  Bill Budge  <bbudge@chromium.org>
41504
41505        Reviewed by Adam Barth.
41506
41507        Rename ThreadSafeShared to ThreadSafeRefCounted
41508        https://bugs.webkit.org/show_bug.cgi?id=56714
41509
41510        No new tests. Exposes no new functionality.
41511
41512        * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Copied from ForwardingHeaders/wtf/ThreadSafeShared.h.
41513        * ForwardingHeaders/wtf/ThreadSafeShared.h: Removed.
41514        * bindings/v8/SerializedScriptValue.h:
41515        * dom/Document.cpp:
41516        * dom/default/PlatformMessagePortChannel.h:
41517        * fileapi/FileThread.h:
41518        * loader/ThreadableLoaderClientWrapper.h:
41519        (WebCore::ThreadableLoaderClientWrapper::create):
41520        (WebCore::ThreadableLoaderClientWrapper::clearClient):
41521        (WebCore::ThreadableLoaderClientWrapper::done):
41522        (WebCore::ThreadableLoaderClientWrapper::didSendData):
41523        (WebCore::ThreadableLoaderClientWrapper::didReceiveResponse):
41524        (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
41525        (WebCore::ThreadableLoaderClientWrapper::didReceiveCachedMetadata):
41526        (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
41527        (WebCore::ThreadableLoaderClientWrapper::didFail):
41528        (WebCore::ThreadableLoaderClientWrapper::didFailRedirectCheck):
41529        (WebCore::ThreadableLoaderClientWrapper::didReceiveAuthenticationCancellation):
41530        (WebCore::ThreadableLoaderClientWrapper::ThreadableLoaderClientWrapper):
41531        * page/SecurityOrigin.h:
41532        * platform/CrossThreadCopier.h:
41533        * platform/network/BlobData.h:
41534        * platform/network/cf/SocketStreamHandle.h:
41535        * storage/AbstractDatabase.h:
41536        * storage/DatabaseAuthorizer.h:
41537        * storage/DatabaseCallback.h:
41538        * storage/DatabaseThread.h:
41539        * storage/IDBCallbacks.h:
41540        * storage/IDBCursorBackendInterface.h:
41541        * storage/IDBDatabaseBackendInterface.h:
41542        * storage/IDBFactoryBackendInterface.h:
41543        * storage/IDBIndexBackendInterface.h:
41544        * storage/IDBKey.h:
41545        * storage/IDBKeyRange.h:
41546        * storage/IDBObjectStoreBackendInterface.h:
41547        * storage/IDBRequest.h:
41548        * storage/IDBTransactionBackendInterface.h:
41549        * storage/SQLError.h:
41550        * storage/SQLResultSet.h:
41551        * storage/SQLStatement.h:
41552        * storage/SQLStatementCallback.h:
41553        * storage/SQLStatementErrorCallback.h:
41554        * storage/SQLTransaction.h:
41555        * storage/SQLTransactionCallback.h:
41556        * storage/SQLTransactionErrorCallback.h:
41557        * websockets/ThreadableWebSocketChannelClientWrapper.h:
41558        * workers/DefaultSharedWorkerRepository.cpp:
41559
415602011-03-20  Andreas Kling  <kling@webkit.org>
41561
41562        Reviewed by Kenneth Rohde Christiansen.
41563
41564        [Qt] Clean up redirection logic in QNetworkReplyHandler
41565        https://bugs.webkit.org/show_bug.cgi?id=56717
41566
41567        * platform/network/qt/QNetworkReplyHandler.cpp:
41568        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
41569        Use resetState() when constructing QNRH as well.
41570
41571        (WebCore::QNetworkReplyHandler::resetState):
41572        Delete (deferred) the m_reply if one exists (only when redirecting.)
41573
41574        (WebCore::QNetworkReplyHandler::finish):
41575        Return early when redirecting.
41576
41577        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
41578        (WebCore::QNetworkReplyHandler::redirect):
41579        Move the redirection logic from sendResponseIfNeeded() into a
41580        separate redirect() method.
41581
415822011-03-19  Andreas Kling  <kling@webkit.org>
41583
41584        Reviewed by Benjamin Poulain.
41585
41586        [Qt] Rename ignoreHttpError() to shouldIgnoreHttpError()
41587
41588        The function doesn't ignore anything, thus it shouldn't have an imperative name.
41589
41590        * platform/network/qt/QNetworkReplyHandler.cpp:
41591        (WebCore::shouldIgnoreHttpError):
41592        (WebCore::QNetworkReplyHandler::finish):
41593        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
41594
415952011-03-19  Andreas Kling  <kling@webkit.org>
41596
41597        Reviewed by Benjamin Poulain.
41598
41599        [Qt] Kill layer violation FIXME in ResourceHandleQt.
41600
41601        We were including qwebframe_p.h from WebKit/qt for no reason.
41602
41603        * platform/network/qt/ResourceHandleQt.cpp:
41604
416052011-03-19  Andreas Kling  <kling@webkit.org>
41606
41607        Reviewed by Benjamin Poulain.
41608
41609        [Qt] Refactor handling of deferred loads
41610        https://bugs.webkit.org/show_bug.cgi?id=56715
41611
41612        Split QNetworkReplyHandler's "load mode" into two parameters
41613        instead of trying to fit the deferral mechanism into it.
41614
41615        Loads are now AsynchronousLoad (default) or SynchronousLoad (for sync XHR.)
41616
41617        * platform/network/qt/QNetworkReplyHandler.cpp:
41618        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
41619        (WebCore::QNetworkReplyHandler::setLoadingDeferred):
41620        (WebCore::QNetworkReplyHandler::resumeDeferredLoad):
41621        (WebCore::QNetworkReplyHandler::finish):
41622        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
41623        (WebCore::QNetworkReplyHandler::forwardData):
41624        (WebCore::QNetworkReplyHandler::start):
41625        (WebCore::QNetworkReplyHandler::resetState):
41626        * platform/network/qt/QNetworkReplyHandler.h:
41627        * platform/network/qt/ResourceHandleQt.cpp:
41628        (WebCore::ResourceHandle::start):
41629        (WebCore::ResourceHandle::loadResourceSynchronously):
41630        (WebCore::ResourceHandle::platformSetDefersLoading):
41631
416322011-03-19  Anton D'Auria  <adauria@apple.com>
41633
41634        Reviewed by Alexey Proskuryakov.
41635
41636        ApplicationCacheGroup is not obsolete after being deleted via ApplicationCacheStorage::deleteEntriesForOrigin
41637        https://bugs.webkit.org/show_bug.cgi?id=56415
41638
41639        To delete all Application Cache for an origin, we must obsolete all
41640        in-memory cache groups for that origin. If a cache group isn't in memory,
41641        then it must be deleted from disk. The previous implementation correctly
41642        removed on-disk cache groups, but did not mark in-memory cache groups as obsolete.
41643        This caused an assertion failure in ApplicationCacheStorage::cacheGroupDestroyed()
41644        when the DocumentLoader was destroyed.
41645
41646        Test: http/tests/appcache/origin-delete.html
41647
41648        * WebCore.exp.in:
41649        * WebCore.xcodeproj/project.pbxproj:
41650        * loader/appcache/ApplicationCache.cpp:
41651        (WebCore::ApplicationCache::clearStorageID):
41652        (WebCore::ApplicationCache::deleteCacheForOrigin):
41653        * loader/appcache/ApplicationCache.h:
41654        * loader/appcache/ApplicationCacheStorage.cpp:
41655        (WebCore::ApplicationCacheStorage::findInMemoryCacheGroup):
41656        * loader/appcache/ApplicationCacheStorage.h:
41657
416582011-03-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
41659
41660        Reviewed by Antonio Gomes.
41661
41662        [EFL] Add dummy GeolocationServiceEfl. cpp | h
41663        https://bugs.webkit.org/show_bug.cgi?id=56710
41664
41665        Add dummy GeolocationServiceEfl.cpp | h to platform/efl.
41666
41667        * CMakeListsEfl.txt:
41668        * platform/efl/GeolocationServiceEfl.cpp: Added.
41669        (WebCore::GeolocationServiceEfl::create):
41670        (WebCore::GeolocationServiceEfl::GeolocationServiceEfl):
41671        (WebCore::GeolocationServiceEfl::~GeolocationServiceEfl):
41672        (WebCore::GeolocationServiceEfl::startUpdating):
41673        (WebCore::GeolocationServiceEfl::stopUpdating):
41674        (WebCore::GeolocationServiceEfl::suspend):
41675        (WebCore::GeolocationServiceEfl::resume):
41676        (WebCore::GeolocationServiceEfl::lastPosition):
41677        (WebCore::GeolocationServiceEfl::lastError):
41678        * platform/efl/GeolocationServiceEfl.h: Added.
41679
416802011-03-19  Patrick Gansterer  <paroga@webkit.org>
41681
41682        Unreviewed, rolling out r81551.
41683        http://trac.webkit.org/changeset/81551
41684        https://bugs.webkit.org/show_bug.cgi?id=55336
41685
41686        Broke some storage tests on Win32.
41687
41688        * platform/win/FileSystemWin.cpp:
41689        (WebCore::statFile):
41690        (WebCore::getFileSize):
41691        (WebCore::getFileModificationTime):
41692        (WebCore::fileExists):
41693
416942011-03-19  Andreas Kling  <kling@webkit.org>
41695
41696        Reviewed by Benjamin Poulain.
41697
41698        [Qt] Remove support for Qt 4.6
41699        https://bugs.webkit.org/show_bug.cgi?id=56712
41700
41701        * platform/graphics/qt/FontPlatformDataQt.cpp:
41702        (WebCore::FontPlatformData::FontPlatformData):
41703        * platform/graphics/qt/FontQt.cpp:
41704        (WebCore::drawTextCommon):
41705        (WebCore::Font::drawSimpleText):
41706        (WebCore::Font::floatWidthForSimpleText):
41707        (WebCore::Font::offsetForPositionForSimpleText):
41708        (WebCore::Font::selectionRectForSimpleText):
41709        * platform/graphics/qt/GraphicsContext3DQt.cpp:
41710        (WebCore::GraphicsContext3DInternal::paint):
41711        * platform/graphics/qt/ImageBufferQt.cpp:
41712        (WebCore::getImageData):
41713        * platform/graphics/qt/ImageDecoderQt.cpp:
41714        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
41715        * platform/graphics/qt/PathQt.cpp:
41716        (WebCore::Path::transform):
41717        * platform/network/qt/DnsPrefetchHelper.h:
41718        (WebCore::DnsPrefetchHelper::DnsPrefetchHelper):
41719        (WebCore::DnsPrefetchHelper::lookup):
41720        * platform/network/qt/NetworkStateNotifierPrivate.h:
41721        * platform/network/qt/NetworkStateNotifierQt.cpp:
41722        * platform/network/qt/QNetworkReplyHandler.cpp:
41723        (WebCore::QNetworkReplyHandler::httpMethod):
41724        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
41725        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
41726        (WebCore::QNetworkReplyHandler::start):
41727        * platform/network/qt/ResourceRequestQt.cpp:
41728        (WebCore::ResourceRequest::toNetworkRequest):
41729        * platform/qt/RenderThemeQt.cpp:
41730        (WebCore::RenderThemeQt::paintMediaSliderTrack):
41731
417322011-03-19  Patrick Gansterer  <paroga@webkit.org>
41733
41734        Reviewed by Adam Roben.
41735
41736        Use Win32 API to get file information
41737        https://bugs.webkit.org/show_bug.cgi?id=55336
41738
41739        Use GetFileInformationByHandle() in favour over _wstat64(), GetFileSizeEx()
41740        and GetFileAttributesEx() so we can share the code with WinCE.
41741
41742        * platform/win/FileSystemWin.cpp:
41743        (WebCore::createFileHandle):
41744        (WebCore::getFileInformation):
41745        (WebCore::getFileSize):
41746        (WebCore::getFileModificationTime):
41747        (WebCore::fileExists):
41748
417492011-03-19  Xan Lopez  <xlopez@igalia.com>
41750
41751        Reviewed by Martin Robinson.
41752
41753        [GTK] Simplify GObjectEventListener
41754        https://bugs.webkit.org/show_bug.cgi?id=56698
41755
41756        Get rid of special case for DOMWindow, since it's also an
41757        EventTarget.
41758
41759        * bindings/gobject/GObjectEventListener.cpp:
41760        (WebCore::GObjectEventListener::GObjectEventListener): remove
41761        DOMWindow special casing.
41762        (WebCore::GObjectEventListener::~GObjectEventListener): ditto.
41763        (WebCore::GObjectEventListener::gobjectDestroyed):
41764        * bindings/gobject/GObjectEventListener.h:
41765        (WebCore::GObjectEventListener::addEventListener): ditto.
41766        (WebCore::GObjectEventListener::removeEventListener): ditto.
41767
417682011-03-19  Ben Taylor  <bentaylor.solx86@gmail.com>
41769
41770        Reviewed by Nikolas Zimmermann.
41771
41772        https://bugs.webkit.org/show_bug.cgi?id=56195
41773        Fix conditional which had an int for one case and a pointer for another.
41774        Similar fix as https://bugs.webkit.org/show_bug.cgi?id=56198
41775
41776        No new tests. Fix compilation on Solaris 10 with Sun Studio C++
41777
41778        * svg/SVGElement.cpp:
41779        (WebCore::SVGElement::sendSVGLoadEventIfPossible):
41780
417812011-03-19  Patrick Gansterer  <paroga@webkit.org>
41782
41783        Reviewed by Darin Adler.
41784
41785        Rename WTF::StringHasher methods
41786        https://bugs.webkit.org/show_bug.cgi?id=53532
41787
41788        Rename createHash to computeHash and createBlobHash to hashMemory.
41789        Also add a using WTF::StringHasher in the header file.
41790
41791        * dom/Document.cpp:
41792        (WebCore::FormElementKeyHash::hash):
41793        * dom/QualifiedName.h:
41794        (WebCore::hashComponents):
41795        * dom/StyledElement.cpp:
41796        (WebCore::MappedAttributeHash::hash):
41797        * loader/appcache/ApplicationCacheStorage.cpp:
41798        (WebCore::urlHostHash):
41799        * page/SecurityOriginHash.h:
41800        (WebCore::SecurityOriginHash::hash):
41801        * platform/LinkHash.cpp:
41802        (WebCore::visitedLinkHashInline):
41803        * platform/cf/BinaryPropertyList.cpp:
41804        (WebCore::IntegerArrayHash::hash):
41805        * platform/cf/SchedulePair.h:
41806        (WebCore::SchedulePairHash::hash):
41807        * platform/graphics/FontCache.cpp:
41808        (WebCore::computeHash):
41809        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
41810        (WebCore::FontPlatformData::RefCountedHFONT::hash):
41811        * platform/graphics/cocoa/FontPlatformData.h:
41812        (WebCore::FontPlatformData::hash):
41813        * platform/graphics/pango/FontPlatformData.h:
41814        (WebCore::FontPlatformData::hash):
41815        * platform/graphics/wince/FontPlatformData.cpp:
41816        (WebCore::FixedSizeFontDataKeyHash::hash):
41817        * platform/graphics/wx/FontPlatformDataWx.cpp:
41818        (WebCore::FontPlatformData::computeHash):
41819        * platform/network/ProtectionSpaceHash.h:
41820        (WebCore::ProtectionSpaceHash::hash):
41821        * plugins/PluginPackage.cpp:
41822        (WebCore::PluginPackage::hash):
41823        * plugins/win/PluginPackageWin.cpp:
41824        (WebCore::PluginPackage::hash):
41825        * svg/properties/SVGAnimatedPropertyDescription.h:
41826        (WebCore::SVGAnimatedPropertyDescriptionHash::hash):
41827
418282011-03-18  David Kilzer  <ddkilzer@apple.com>
41829
41830        <http://webkit.org/b/56688> Fix clang static analyzer warning in WebCoreViewFactory.m
41831
41832        Reviewed by Anders Carlsson.
41833
41834        Fixes the following static analyzer warning:
41835
41836            Source/WebCore/page/mac/WebCoreViewFactory.m:45:5: warning: Returning 'self' while it is not set to the result of '[(super or self) init...]'
41837                 return self;
41838                 ^
41839
41840        * page/mac/WebCoreViewFactory.m:
41841        (-[WebCoreViewFactory init]): Assign the result of [super init]
41842        to self.
41843
418442011-03-18  Adam Barth  <abarth@webkit.org>
41845
41846        Reviewed by Dimitri Glazkov.
41847
41848        WebCore GYP build should build
41849        https://bugs.webkit.org/show_bug.cgi?id=56696
41850
41851        After this patch, the WebCore GYP build successfully compiles and
41852        links.  I haven't trying executing it yet.
41853
41854        * WebCore.gypi:
41855            - DOMMouseEvent should be included as part of the Objective-C bindings.
41856        * WebCore.xcodeproj/project.pbxproj:
41857            - RenderSVGPath.cpp was mistakenly included directly in the project
41858              instead of being built by RenderSVGAllInOne.
41859        * gyp/WebCore.gyp:
41860            - Exclude some more files from the build.  These files are absent
41861              in the normal build.  I didn't see them earlier because the dead
41862              code stripping was hiding them.  (They're probably unreferenced.)
41863            - Switch to using RenderSVGAllInOne.  I'm not entirely sure if this
41864              part of the patch is necessary, but it matches the normal build
41865              more closely.
41866        * platform/mac/WebCoreObjCExtras.mm:
41867            - The normal build passes the -Wdeprecated-declarations flag when
41868              compiling this file.  The GYP folks explicitly do not want to add
41869              that feature to GYP, and there does not appear to be a way to
41870              remove the deprecated call from this file.
41871        * rendering/svg/RenderSVGAllInOne.cpp:
41872            - Add RenderSVGPath.cpp, which was missing previously.
41873
418742011-03-18  Adam Barth  <abarth@webkit.org>
41875
41876        Reviewed by Dimitri Glazkov.
41877
41878        WebCore GYP build should (almost!) link
41879        https://bugs.webkit.org/show_bug.cgi?id=56689
41880
41881        This patch is a grab-bag of small changes to bring the WebCore GYP
41882        build down to two link errors or one compile error (take your pick).
41883        We might need a GYP change to get this last file to compile, however.
41884
41885        * WebCore.gypi:
41886        * gyp/WebCore.gyp:
41887
418882011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
41889
41890        Reviewed by Ojan Vafai.
41891
41892        Add a test for r81266 and fix HTML Editing for fallback contents in object element
41893        https://bugs.webkit.org/show_bug.cgi?id=56505
41894
41895        The bug was caused by canHaveChildrenForEditing's always returning false even when
41896        object element used fallback content. Fixed the bug by adding a check.
41897
41898        Test: editing/editability/ignored-content.html
41899
41900        * editing/htmlediting.cpp:
41901        (WebCore::canHaveChildrenForEditing):
41902
419032011-03-18  Andy Estes  <aestes@apple.com>
41904
41905        Reviewed by Eric Seidel.
41906
41907        REGRESSION (r80231): Bad cast in HTMLTreeBuilder::processStartTag
41908        https://bugs.webkit.org/show_bug.cgi?id=56380
41909
41910        Fix two issues with parsing a fragment that has a foreign content
41911        element as its context element. The first issue is that the parser will
41912        initially be in the InForeignContentMode insertion mode when processing
41913        the first tag in the fragment in this case so one call site needs to
41914        change from currentElement() to currentNode(). The second issue is that
41915        when we changed fragments from using a fake HTML root element to a
41916        DocumentFragment we broke checks that assumed the root element was in
41917        the HTML namespace. Fix this by claiming that the DocumentFragment is
41918        also in the HTML namespace.
41919
41920        Test: fast/parser/fragment-foreign-content-context.html
41921
41922        * html/parser/HTMLElementStack.cpp:
41923        (WebCore::HTMLNames::isForeignContentScopeMarker):
41924        (WebCore::HTMLElementStack::hasOnlyHTMLElementsInScope):
41925        * html/parser/HTMLElementStack.h:
41926        (WebCore::isInHTMLNamespace):
41927        * html/parser/HTMLTreeBuilder.cpp:
41928        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
41929        (WebCore::HTMLTreeBuilder::processStartTag):
41930        (WebCore::HTMLTreeBuilder::processEndTag):
41931
419322011-03-18  James Robinson  <jamesr@chromium.org>
41933
41934        Reviewed by Dimitri Glazkov.
41935
41936        REGRESSION(78846) [chromium] Justified text renders at incorrect offsets on windows
41937        https://bugs.webkit.org/show_bug.cgi?id=56629
41938
41939        Preserves offsets as absolute floating point offsets and rounds to
41940        advances at the last possible second.  I can't prove to myself that
41941        this is sound but it seems to work on the test cases I've constructed.
41942
41943        Will probably change the pixel tests on chromium windows given that we
41944        were horribly broken before this patch.
41945
41946        * platform/graphics/chromium/FontChromiumWin.cpp:
41947        (WebCore::Font::drawGlyphs):
41948        (WebCore::Font::drawComplexText):
41949
419502011-03-18  Ryosuke Niwa  <rniwa@webkit.org>
41951
41952        Reviewed by Eric Seidel.
41953
41954        REGRESSION(81374, 81384): editing/deleting/5206311-1.html hits assertion on non-Mac platforms
41955        https://bugs.webkit.org/show_bug.cgi?id=56599
41956
41957        Debug build fix.
41958
41959        * dom/Position.cpp:
41960        (WebCore::Position::parentAnchoredEquivalent): If the original position was a position before a node,
41961        then we can't necessarily instantiate a position inside the node.
41962        * editing/VisibleSelection.cpp:
41963        (WebCore::VisibleSelection::toNormalizedRange): Even if s and e were not null, container nodes of s and e
41964        could be null. Exit early in those cases as well.
41965
419662011-03-18  Adam Barth  <abarth@webkit.org>
41967
41968        Reviewed by Eric Seidel.
41969
41970        Add ObjC bindings to the WebCore GYP build
41971        https://bugs.webkit.org/show_bug.cgi?id=56671
41972
41973        It turns out we generate a bunch of ObjC bindings files that we don't
41974        actually build.  I've manually synced the list of ObjC derived source
41975        files to match the existing list.  This brings us down to 19 link
41976        errors.
41977
41978        * WebCore.gypi:
41979        * gyp/WebCore.gyp:
41980
419812011-03-18  Ryuan Choi  <ryuan.choi@samsung.com>
41982
41983        Reviewed by Eric Seidel.
41984
41985        [CMAKE] Split JSC related configurations from WebCore/CMakeLists.txt
41986        https://bugs.webkit.org/show_bug.cgi?id=56624
41987
41988        No new tests, just splitting jsc related configuration.
41989
41990        * CMakeLists.txt:
41991        * UseJSC.cmake: Added.
41992
419932011-03-16  Stephen White  <senorblanco@chromium.org>
41994
41995        Reviewed by Kenneth Russell.
41996
41997        Implement GPU-accelerated shadows.
41998        https://bugs.webkit.org/show_bug.cgi?id=56476
41999
42000        For hard shadows, we simply offset the CTM and draw in the shadow
42001        color.  For soft shadows, we use a separable Gaussian convolution,
42002        with a bilinear downsample and Mitchell-Netravali upsample in order to
42003        preserve quality.
42004
42005        * WebCore.gypi:
42006        Add BicubicShader and ConvolutionShader to the build.
42007        * platform/graphics/chromium/GLES2Canvas.cpp:
42008        (WebCore::GLES2Canvas::State::State):
42009        Add shadow-related members to the GLES2Canvas::State
42010        (WebCore::GLES2Canvas::State::shadowActive):
42011        Add a helper function to know if shadows are active.
42012        (WebCore::GLES2Canvas::clearRect):
42013        (WebCore::GLES2Canvas::scissorClear):
42014        Refactor the scissor clearing function out of clearRect().
42015        (WebCore::GLES2Canvas::fillPath):
42016        Add hook for shadow rendering in paths.  Bind framebuffer at this level.
42017        (WebCore::GLES2Canvas::fillRect):
42018        Add hook for shadow rendering in rects.  Bind framebuffer at this level.
42019        (WebCore::GLES2Canvas::fillRectInternal):
42020        Rename fillRect() -> fillRectInternal(), which does bind its vertex
42021        buffer, but does not bind the framebuffer.
42022        (WebCore::GLES2Canvas::setShadowColor):
42023        (WebCore::GLES2Canvas::setShadowOffset):
42024        (WebCore::GLES2Canvas::setShadowBlur):
42025        (WebCore::GLES2Canvas::setShadowsIgnoreTransforms):
42026        Implement graphicsContext-style setters for shadow parameters.
42027        (WebCore::GLES2Canvas::clipPath):
42028        Call fillPathInternal(), not fillPath().
42029        (WebCore::GLES2Canvas::restore):
42030        (WebCore::GLES2Canvas::drawTexturedRect):
42031        Bind the framebuffer at this level.  Do not bind vertices here (will
42032        be done in drawTexturedQuad).
42033        (WebCore::GLES2Canvas::drawTexturedRectTile):
42034        drawQuad() -> drawTexturedQuad().
42035        (WebCore::GLES2Canvas::convolveRect):
42036        Implement one pass of a convolution filter (X or Y).
42037        (WebCore::gauss):
42038        (WebCore::buildKernel):
42039        Some helper functions to build a Gaussian convolution kernel.
42040        (WebCore::GLES2Canvas::drawTexturedQuad):
42041        Rename drawQuad() -> drawTexturedQuad(), to be more clear.  Do not
42042        bind the framebuffer at this level (it will be done higher).
42043        (WebCore::GLES2Canvas::drawTexturedQuadMitchell):
42044        Implement Mitchell-Netravali bicubic sampling, using BicubicShader.
42045        (WebCore::GLES2Canvas::fillPathInternal):
42046        Rename fillPath() -> fillPathInternal(), which does use quad vertices,
42047        but does not bind the framebuffer or set the compositing mode.
42048        (WebCore::GLES2Canvas::flipRect):
42049        Implement a helper function to flip a rectangle in Y within the canvas.
42050        (WebCore::GLES2Canvas::clearBorders):
42051        Implement a helper function to clear an n-pixel border around a rect.
42052        (WebCore::GLES2Canvas::beginShadowDraw):
42053        Setup before drawing a primitive's shadow:  for hard shadows, just
42054        offset the CTM by the shadow offset.  For soft shadows, bind to an
42055        offscreen DrawingBuffer.
42056        (WebCore::GLES2Canvas::endShadowDraw):
42057        Tear-down after drawing a primitive's shadow:  for hard shadows, just
42058        restore the CTM.  For soft shadows, downsample (if necessary), then
42059        blur in X, blur in Y, upsample if necessary).
42060        * platform/graphics/chromium/GLES2Canvas.h:
42061        * platform/graphics/gpu/BicubicShader.cpp: Added.
42062        (WebCore::BicubicShader::BicubicShader):
42063        (WebCore::BicubicShader::create):
42064        (WebCore::BicubicShader::use):
42065        * platform/graphics/gpu/BicubicShader.h: Added.
42066        Implement a bicubic image filtering shader.
42067        * platform/graphics/gpu/ConvolutionShader.cpp: Added.
42068        (WebCore::ConvolutionShader::ConvolutionShader):
42069        (WebCore::ConvolutionShader::create):
42070        (WebCore::ConvolutionShader::use):
42071        * platform/graphics/gpu/ConvolutionShader.h: Added.
42072        Implement a 1-dimensional convolution shader.  In order to minimize
42073        texture samples, this shader is parameterized at compile time by the
42074        width of the convolution kernel.
42075        * platform/graphics/gpu/DrawingBuffer.h:
42076        (WebCore::DrawingBuffer::colorBuffer):
42077        Add an accessor to retrieve a DrawingBuffer's texture ID.
42078        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
42079        (WebCore::SharedGraphicsContext3D::create):
42080        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
42081        (WebCore::SharedGraphicsContext3D::useBicubicProgram):
42082        (WebCore::SharedGraphicsContext3D::useConvolutionProgram):
42083        Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for
42084        each possible kernel width).
42085        (WebCore::SharedGraphicsContext3D::getOffscreenBuffer):
42086        Implement a simple cache of offscreen DrawingBuffers, integer-indexed.
42087        This is done to minimize the VRAM usage:  only 2 buffers are used for
42088        all canvases.
42089        * platform/graphics/gpu/SharedGraphicsContext3D.h:
42090        Add bicubic and convolution shader members, and useXXX() functions.
42091        * platform/graphics/skia/GraphicsContextSkia.cpp:
42092        (WebCore::GraphicsContext::setPlatformShadow):
42093        Hook into GraphicsContextSkia's platform shadow setters to set
42094        parameters on GLES2Canvas.
42095        * platform/graphics/skia/PlatformContextSkia.cpp:
42096        (WebCore::PlatformContextSkia::canAccelerate):
42097        Remove shadows (loopers) from the list of things we can't accelerate.
42098
420992011-03-18  Andreas Kling  <kling@webkit.org>
42100
42101        Reviewed by Darin Adler.
42102
42103        Remove unused method FontFallbackList::fontDataForCharacters()
42104        https://bugs.webkit.org/show_bug.cgi?id=56657
42105
42106        * platform/graphics/Font.h:
42107        * platform/graphics/FontFallbackList.cpp:
42108        * platform/graphics/FontFallbackList.h:
42109
421102011-03-18  Andreas Kling  <kling@webkit.org>
42111
42112        Reverting accidental changes in r81498.
42113
421142011-03-18  Ilya Tikhonovsky  <loislo@chromium.org>
42115
42116        Reviewed by Yury Semikhatsky.
42117
42118        Web Inspector: rename console agent events.
42119        https://bugs.webkit.org/show_bug.cgi?id=56646
42120
42121        addConsoleMessage -> consoleMessage
42122        updateConsoleMessageExpiredCount -> consoleMessageExpiredCountUpdate
42123        updateConsoleMessageRepeatCount -> consoleMessageRepeatCountUpdate
42124
42125        * inspector/ConsoleMessage.cpp:
42126        (WebCore::ConsoleMessage::addToFrontend):
42127        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
42128        * inspector/Inspector.json:
42129        * inspector/InspectorConsoleAgent.cpp:
42130        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
42131        * inspector/front-end/ConsoleView.js:
42132        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessage):
42133        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageExpiredCountUpdate):
42134        (WebInspector.ConsoleView.prototype._registerConsoleDomainDispatcher.dispatcher.consoleMessageRepeatCountUpdate):
42135
421362011-03-18  Sheriff Bot  <webkit.review.bot@gmail.com>
42137
42138        Unreviewed, rolling out r81487.
42139        http://trac.webkit.org/changeset/81487
42140        https://bugs.webkit.org/show_bug.cgi?id=56662
42141
42142        "Breaks inspector/styles/styles-add-blank-property.html"
42143        (Requested by apavlov on #webkit).
42144
42145        * inspector/Inspector.json:
42146        * inspector/InspectorCSSAgent.cpp:
42147        (WebCore::InspectorCSSAgent::getAllStyles):
42148        * inspector/InspectorCSSAgent.h:
42149        * inspector/InspectorStyleSheet.cpp:
42150        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
42151        * inspector/InspectorStyleSheet.h:
42152        * inspector/front-end/AuditRules.js:
42153        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
42154        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
42155        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
42156        * inspector/front-end/CSSStyleModel.js:
42157        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
42158        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
42159        (WebInspector.CSSStyleModel.prototype._onRevert):
42160        (WebInspector.CSSStyleSheet):
42161        (WebInspector.CSSStyleSheet.prototype.setText):
42162
421632011-03-18  Justin Novosad  <junov@chromium.org>
42164
42165        Reviewed by Kenneth Russell.
42166
42167        [Chromium] Canvas shadow is not working with drawImage
42168        https://bugs.webkit.org/show_bug.cgi?id=55506
42169
42170        Patch also fixes shadow blur quality and color.
42171        Affects Chromium win/linux. Also fixes the following bugs:
42172        https://bugs.webkit.org/show_bug.cgi?id=50112
42173        https://bugs.webkit.org/show_bug.cgi?id=51989
42174        https://bugs.webkit.org/show_bug.cgi?id=55410
42175        No tests were added, impact is already covered by multiple layout tests.
42176
42177        * platform/graphics/skia/GraphicsContextSkia.cpp:
42178        (WebCore::GraphicsContext::setPlatformShadow):
42179        * platform/graphics/skia/ImageSkia.cpp:
42180        (WebCore::paintSkBitmap):
42181
421822011-03-15  Alexander Pavlov  <apavlov@chromium.org>
42183
42184        Reviewed by Pavel Feldman.
42185
42186        Web Inspector: Fix handling of the CSSAgent.setStyleSheetText() results in CSSStyleModel.js
42187        https://bugs.webkit.org/show_bug.cgi?id=56310
42188
42189        Instead of stylesheet ids, CSSAgent.getAllStyleSheets() now returns metainfo objects containing
42190        "styleSheetId", "sourceURL", "disabled", and "title" fields. The latter three are not returned
42191        by CSSAgent.getStyleSheet() anymore.
42192
42193        Test: inspector/styles/get-set-stylesheet-text.html
42194
42195        * inspector/Inspector.json:
42196        * inspector/InspectorCSSAgent.cpp:
42197        (WebCore::InspectorCSSAgent::getAllStyleSheets):
42198        * inspector/InspectorCSSAgent.h:
42199        * inspector/InspectorStyleSheet.cpp:
42200        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
42201        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
42202        * inspector/InspectorStyleSheet.h:
42203        * inspector/front-end/AuditRules.js:
42204        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
42205        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
42206        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
42207        * inspector/front-end/CSSStyleModel.js:
42208        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
42209        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
42210        (WebInspector.CSSStyleModel.prototype._onRevert):
42211        (WebInspector.CSSStyleSheet):
42212        (WebInspector.CSSStyleSheet.prototype.setText):
42213
422142011-03-18  David Keijser  <keijser@gmail.com> and Xan Lopez <xlopez@igalia.com>
42215
42216        Reviewed by Martin Robinson.
42217
42218        [GTK] On-demand event-listeners for DOM event signals
42219        https://bugs.webkit.org/show_bug.cgi?id=49649
42220
42221        Add explicit EventTarget API to add/remove event listeners instead
42222        of using GSignal, which due to internal limitations in glib makes
42223        us preemptively add listeners for all event types.
42224
42225        * bindings/gobject/GObjectEventListener.cpp: add new
42226        addEventListener/removeEventListener methods, and small
42227        refactoring to store an EventTarget internally instead of a DOM
42228        node, which is more generic and can be reused in more cases.
42229        * bindings/gobject/GObjectEventListener.h: ditto.
42230        * bindings/gobject/WebKitDOMEventTarget.cpp:
42231        (webkit_dom_event_target_add_event_listener): new iface method to
42232        add an event listener.
42233        (webkit_dom_event_target_remove_event_listener): new iface method
42234        to remove an event listener.
42235        * bindings/gobject/WebKitDOMEventTarget.h: add new iface methods.
42236        * bindings/scripts/CodeGeneratorGObject.pm: change code generation
42237        accordingly.
42238
422392011-03-18  Brady Eidson  <beidson@apple.com>
42240
42241        Reviewed by Sam Weinig.
42242
42243        https://bugs.webkit.org/show_bug.cgi?id=56425
42244        More groundwork for WebKit2 IconDatabase
42245
42246        -Update the synchronous method names to be prefixed with "synchronous."
42247        -Call asynchronous versions of the appropriate methods if the IconDatabase supports them.
42248
42249        Update icon database calls to be prefixed with "synchronous":
42250        * loader/archive/cf/LegacyWebArchive.cpp:
42251        (WebCore::LegacyWebArchive::create):
42252        * loader/icon/IconDatabaseBase.h:
42253        (WebCore::IconDatabaseBase::synchronousIconDataKnownForIconURL):
42254        (WebCore::IconDatabaseBase::synchronousLoadDecisionForIconURL):
42255        (WebCore::IconDatabaseBase::synchronousIconForPageURL):
42256        * loader/icon/IconDatabase.cpp:
42257        (WebCore::IconDatabase::synchronousIconForPageURL):
42258        (WebCore::IconDatabase::readIconForPageURLFromDisk):
42259        (WebCore::IconDatabase::synchronousIconURLForPageURL):
42260        (WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
42261        (WebCore::IconDatabase::synchronousIconDataKnownForIconURL):
42262        * loader/icon/IconDatabase.h:
42263        * loader/icon/IconDatabaseBase.cpp:
42264        (WebCore::IconDatabaseBase::synchronousIconURLForPageURL):
42265
42266        Add nascent support for an asynchronous icon database mode:
42267        * loader/icon/IconDatabaseBase.h:
42268        (WebCore::EnumCallback::create):
42269        (WebCore::EnumCallback::~EnumCallback):
42270        (WebCore::EnumCallback::performCallback):
42271        (WebCore::EnumCallback::invalidate):
42272        (WebCore::EnumCallback::EnumCallback):
42273        (WebCore::ObjectCallback::create):
42274        (WebCore::ObjectCallback::~ObjectCallback):
42275        (WebCore::ObjectCallback::performCallback):
42276        (WebCore::ObjectCallback::invalidate):
42277        (WebCore::ObjectCallback::ObjectCallback):
42278        (WebCore::IconDatabaseBase::supportsAsynchronousMode):
42279        (WebCore::IconDatabaseBase::loadDecisionForIconURL):
42280        (WebCore::IconDatabaseBase::iconDataForIconURL):
42281
42282        Add interfaces to use the asynchronous versions of certain IconDatabase calls:
42283        * loader/DocumentLoader.cpp:
42284        (WebCore::DocumentLoader::~DocumentLoader):
42285        (WebCore::DocumentLoader::iconLoadDecisionAvailable):
42286        (WebCore::iconLoadDecisionCallback):
42287        (WebCore::DocumentLoader::getIconLoadDecisionForIconURL):
42288        (WebCore::DocumentLoader::continueIconLoadWithDecision):
42289        (WebCore::iconDataCallback):
42290        (WebCore::DocumentLoader::getIconDataForIconURL):
42291        * loader/DocumentLoader.h:
42292
42293        Break "startIconLoader" into two pieces so it can be used from both the synchronous and asynchronous
42294        icon database modes:
42295        * loader/FrameLoader.cpp:
42296        (WebCore::FrameLoader::iconLoadDecisionReceived):
42297        (WebCore::FrameLoader::startIconLoader):
42298        (WebCore::FrameLoader::continueIconLoadWithDecision):
42299        * loader/FrameLoader.h:
42300
42301        * WebCore.exp.in:
42302
423032011-03-18  Pavel Feldman  <pfeldman@chromium.org>
42304
42305        Not reviewed: add missing brace to the generated Inspector.idl.
42306
42307        * inspector/generate-inspector-idl:
42308
423092011-03-18  Pavel Feldman  <pfeldman@chromium.org>
42310
42311        Reviewed by Yury Semikhatsky.
42312
42313        Web Inspector: migrate from Inspector.idl to InspectorAPI.json for protocol schema definition meta bug.
42314        https://bugs.webkit.org/show_bug.cgi?id=56294
42315
42316        * CMakeLists.txt:
42317        * CodeGenerators.pri:
42318        * DerivedSources.make:
42319        * GNUmakefile.am:
42320        * WebCore.gyp/WebCore.gyp:
42321        * inspector/Inspector.idl: Removed.
42322        * inspector/Inspector.json: Added.
42323        * inspector/generate-inspector-idl: Added.
42324
423252011-03-18  Pavel Podivilov  <podivilov@chromium.org>
42326
42327        Reviewed by Yury Semikhatsky.
42328
42329        Web Inspector: implement inspector session storage.
42330        https://bugs.webkit.org/show_bug.cgi?id=56643
42331
42332        We would like to enable debugger/profiler from frontend side only.
42333        However, when user clicks "Start Debugging JavaScript" in Safari, we
42334        need to enable debugger when frontend is opened or re-opened for the
42335        same page. The idea is to store debugger-enabled setting in session
42336        storage and check it on frontend load.
42337
42338        * inspector/InspectorFrontendClient.h:
42339        (WebCore::InspectorFrontendClient::saveSessionSetting):
42340        (WebCore::InspectorFrontendClient::loadSessionSetting):
42341        * inspector/InspectorFrontendHost.cpp:
42342        (WebCore::InspectorFrontendHost::saveSessionSetting):
42343        (WebCore::InspectorFrontendHost::loadSessionSetting):
42344        * inspector/InspectorFrontendHost.h:
42345        * inspector/InspectorFrontendHost.idl:
42346
423472011-03-18  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
42348
42349        Reviewed by Kenneth Rohde Christiansen.
42350
42351        [Qt] Enable GraphicsContext3D only when the window surface support OpenGL
42352        https://bugs.webkit.org/show_bug.cgi?id=56555
42353
42354        Allow creation of WebGLRenderingContext in the HTMLCanvasElement
42355        only if accelerated compositing is enabled. In GraphicsContext3D,
42356        while blitting the surface check that viewport hasn't changed from
42357        creation and painter is associated to the viewport.
42358
42359        * html/HTMLCanvasElement.cpp:
42360        (WebCore::HTMLCanvasElement::getContext):
42361        * platform/graphics/qt/GraphicsContext3DQt.cpp:
42362        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
42363        (WebCore::GraphicsContext3DInternal::getViewportGLWidget):
42364        (WebCore::GraphicsContext3DInternal::paint):
42365
423662011-03-17  Pavel Podivilov  <podivilov@chromium.org>
42367
42368        Reviewed by Pavel Feldman.
42369
42370        Web Inspector: extract content loading logic from scripts panel.
42371        https://bugs.webkit.org/show_bug.cgi?id=55237
42372
42373        Encapsulate source files creation logic in debugger presentation model
42374        to support source mappings in a pluggable way.
42375
42376        * inspector/front-end/DebuggerPresentationModel.js:
42377        (WebInspector.DebuggerPresentationModel.prototype.sourceFile):
42378        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource):
42379        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
42380        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
42381        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
42382        (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished):
42383        (WebInspector.DebuggerPresentationModel.prototype._addScript):
42384        (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded):
42385        (WebInspector.DebuggerPresentationModel.prototype._resourceForURL):
42386        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
42387        (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded):
42388        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
42389        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
42390        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
42391        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
42392        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
42393        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
42394        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
42395        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
42396        (WebInspector.DebuggerPresentationModel.prototype.reset):
42397        * inspector/front-end/ScriptsPanel.js:
42398        (WebInspector.ScriptsPanel):
42399        (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
42400        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
42401        (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
42402        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
42403        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
42404
424052011-03-18  Yury Semikhatsky  <yurys@chromium.org>
42406
42407        Reviewed by Pavel Feldman.
42408
42409        Web Inspector: console doesn&apos;t scroll when multiline expression is being evaluated
42410        https://bugs.webkit.org/show_bug.cgi?id=56639
42411
42412        Always scoll in the console when command result is received.
42413
42414        * inspector/front-end/ConsoleView.js:
42415        (WebInspector.ConsoleView.prototype.addMessage):
42416
424172011-03-18  Adam Roben  <aroben@apple.com>
42418
42419        Fix a CFNumber leak seen on the leaks bot
42420
42421        Reviewed by Gavin Barraclough.
42422
42423        * platform/network/mac/FormDataStreamMac.mm:
42424        (WebCore::advanceCurrentStream): Use a RetainPtr to cause the CFNumber we allocate to be
42425        released.
42426
424272011-03-17  Adam Barth  <abarth@webkit.org>
42428
42429        Reviewed by Eric Seidel.
42430
42431        Add some of the remaining platform/mac files to WebCore GYP build
42432        https://bugs.webkit.org/show_bug.cgi?id=56616
42433
42434        These files used to be hard, but are now magically easy.  76 link errors.
42435
42436        * gyp/WebCore.gyp:
42437
424382011-03-17  Adam Klein  <adamk@chromium.org>
42439
42440        Reviewed by Adam Barth.
42441
42442        [filesystem] Rename toURI->toURL, resolveLocalFileSystemURI->resolveLocalFileSystemURL
42443        https://bugs.webkit.org/show_bug.cgi?id=56502
42444
42445        * fileapi/Entry.idl:
42446        * fileapi/EntryBase.cpp:
42447        (WebCore::EntryBase::toURL):
42448        * fileapi/EntryBase.h:
42449        * fileapi/EntrySync.idl:
42450        * page/DOMWindow.cpp:
42451        (WebCore::DOMWindow::resolveLocalFileSystemURL):
42452        * page/DOMWindow.h:
42453        * page/DOMWindow.idl:
42454
424552011-03-17  Adam Barth  <abarth@webkit.org>
42456
42457        Reviewed by Eric Seidel.
42458
42459        Update CSP directive parser to match spec
42460        https://bugs.webkit.org/show_bug.cgi?id=56582
42461
42462        Brandon updated the CSP spec.  I've updated our implementation to
42463        match.  In the process, I found a couple bugs in the spec, which I've
42464        sent to the working group.  This patch assumes that the bugs will be
42465        fixed in the way I suggested.  If they get fixed a different way, we
42466        might need to update the parser again.
42467
42468        Test: http/tests/security/contentSecurityPolicy/directive-parsing.html
42469
42470        * page/ContentSecurityPolicy.cpp:
42471        (WebCore::isDirectiveNameCharacter):
42472        (WebCore::isDirectiveValueCharacter):
42473        (WebCore::advanceUntil):
42474        (WebCore::ContentSecurityPolicy::parse):
42475        (WebCore::ContentSecurityPolicy::parseDirective):
42476        * page/ContentSecurityPolicy.h:
42477
424782011-03-17  Adam Barth  <abarth@webkit.org>
42479
42480        Reviewed by Eric Seidel.
42481
42482        WebCore GYP build should have PrivateHeaders
42483        https://bugs.webkit.org/show_bug.cgi?id=56604
42484
42485        I've manually verified that this produces the correct set of
42486        PrivateHeaders (modulo the ForwardingHeaders and icu issue).
42487        Unforunately, this patch breakes compile slightly, but I'll fix that
42488        in a followup patch.
42489
42490        * WebCore.gyp/WebCore.gyp:
42491        * WebCore.gypi:
42492        * gyp/WebCore.gyp:
42493
424942011-03-17  Victoria Kirst  <vrk@google.com>
42495
42496        Reviewed by Kenneth Russell.
42497
42498        [chromium] Video colors have wrong brightness/contrast
42499        https://bugs.webkit.org/show_bug.cgi?id=56598
42500
42501        This patch changes the YUV to RGB color conversion matrix
42502        to have brighter whites and darker blacks in accordance to
42503        the BT.601 standard.
42504
42505        * platform/graphics/chromium/ShaderChromium.cpp:
42506        (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
42507        (WebCore::FragmentShaderYUVVideo::init):
42508        (WebCore::FragmentShaderYUVVideo::getShaderString):
42509        * platform/graphics/chromium/ShaderChromium.h:
42510        (WebCore::FragmentShaderYUVVideo::yuvAdjLocation):
42511        * platform/graphics/chromium/VideoLayerChromium.cpp:
42512        (WebCore::VideoLayerChromium::drawYUV):
42513        * platform/graphics/chromium/VideoLayerChromium.h:
42514
425152011-03-17  Zhenyao Mo  <zmo@google.com>
42516
42517        Reviewed by Adam Barth.
42518
42519        RequestAnimationFrame callbacks prevent Document from being released on detach
42520        https://bugs.webkit.org/show_bug.cgi?id=56607
42521
42522        * dom/Document.cpp:
42523        (WebCore::Document::removedLastRef): Remove RequestAnimationFrame callbacks.
42524        (WebCore::Document::detach): Ditto.
42525
425262011-03-17  Beth Dakin  <bdakin@apple.com>
42527
42528        Reviewed by Darin Adler.
42529
42530        Fix for https://bugs.webkit.org/show_bug.cgi?id=56596 Overlay scrollbars sometimes
42531        fail to appear
42532        -and corresponding-
42533        <rdar://problem/8953779>
42534
42535        * platform/mac/ScrollAnimatorMac.mm:
42536        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
42537
425382011-03-17  Dan Bernstein  <mitz@apple.com>
42539
42540        Reviewed by Beth Dakin.
42541
42542        <rdar://problem/9052166> Emphasis marks appear over combined text rather than beside it
42543        https://bugs.webkit.org/show_bug.cgi?id=56480
42544
42545        Test: fast/text/emphasis-combined-text.html
42546
42547        * rendering/InlineTextBox.cpp:
42548        (WebCore::rotation): Added this helper.
42549        (WebCore::InlineTextBox::paint): Paint a single emphasis mark beside the combined text,
42550        centered vertically.
42551
425522011-03-17  Jian Li  <jianli@chromium.org>
42553
42554        Reviewed by Adam Barth.
42555
42556        Blob URL should not be allow to get created from the code running from data URI
42557        https://bugs.webkit.org/show_bug.cgi?id=56600
42558
42559        Test: http/tests/fileapi/create-blob-url-from-data-url.html
42560
42561        * dom/ScriptExecutionContext.cpp:
42562        (WebCore::ScriptExecutionContext::createPublicBlobURL):
42563        * fileapi/BlobURL.cpp:
42564        (WebCore::BlobURL::createBlobURL):
42565        * fileapi/EntryBase.cpp:
42566        (WebCore::EntryBase::toURI):
42567        * fileapi/FileReaderLoader.cpp:
42568        (WebCore::FileReaderLoader::start):
42569
425702011-03-17  Jeff Miller  <jeffm@apple.com>
42571
42572        Use a consistent set of file patterns in the svn:ignore property for all .xcodeproj directories, specifically:
42573
42574        *.mode*
42575        *.pbxuser
42576        *.perspective*
42577        project.xcworkspace
42578        xcuserdata
42579
42580        * WebCore.xcodeproj: Modified property svn:ignore.
42581        * manual-tests/NPN_Invoke/NPN_Invoke.xcodeproj: Modified property svn:ignore.
42582
425832011-03-17  Sam Weinig  <sam@webkit.org>
42584
42585        Fix Mac build.
42586
42587        * WebCore.exp.in:
42588        Add missing symbol.
42589
425902011-03-17  Ryosuke Niwa  <rniwa@webkit.org>
42591
42592        Reviewed by Adele Peterson and Enrica Casucci.
42593
42594        Assert that editing does not ignore position's anchorNode if position is an offset in anchor
42595        https://bugs.webkit.org/show_bug.cgi?id=56027
42596
42597        Debug build fix.
42598
42599        * dom/Element.cpp:
42600        (WebCore::Element::updateFocusAppearance): "this" can be an input element so can't always instantiate
42601        a position inside the node. Call firstPositionInOrBeforeNode instead.
42602        * editing/ReplaceSelectionCommand.cpp:
42603        (WebCore::positionAvoidingPrecedingNodes): Exit early when a node's content is ignored by editing instead
42604        of just when the node is br.
42605        * editing/htmlediting.cpp:
42606        (WebCore::lastEditablePositionBeforePositionInRoot): The shadow ancestor node is usually an input element
42607        so don't instantiate a position inside it. Call firstPositionInOrBeforeNode instead.
42608
426092011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
42610
42611        Unreviewed, rolling out r81369.
42612        http://trac.webkit.org/changeset/81369
42613        https://bugs.webkit.org/show_bug.cgi?id=56579
42614
42615        breaks debugger test (Requested by podivilov on #webkit).
42616
42617        * inspector/front-end/DebuggerPresentationModel.js:
42618        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
42619        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
42620        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
42621        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
42622        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
42623        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
42624        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
42625        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
42626        (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
42627        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
42628        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
42629        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
42630        (WebInspector.DebuggerPresentationModel.prototype.reset):
42631        * inspector/front-end/ScriptsPanel.js:
42632        (WebInspector.ScriptsPanel):
42633        (WebInspector.ScriptsPanel.prototype._parsedScriptSource):
42634        (WebInspector.ScriptsPanel.prototype._failedToParseScriptSource):
42635        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
42636        (WebInspector.ScriptsPanel.prototype._addScript):
42637        (WebInspector.ScriptsPanel.prototype._resourceForURL):
42638        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
42639        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded):
42640        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
42641        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
42642        (WebInspector.ScriptsPanel.prototype._sourceFileIdForScript):
42643        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
42644        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
42645
426462011-03-17  Ryosuke Niwa  <rniwa@webkit.org>
42647
42648        Reviewed by Justin Garcia.
42649
42650        Assert that editing does not ignore position's anchorNode if position is an offset in anchor
42651        https://bugs.webkit.org/show_bug.cgi?id=56027
42652
42653        Added the assertion in Position::Position and Position::moveToPosition. This assertion catches
42654        places where we instantiate positions inside a node on which editingIgnoresContent returns true.
42655
42656        Test: editing/execCommand/button.html
42657
42658        * dom/Position.cpp:
42659        (WebCore::Position::Position): Added an assertion.
42660        (WebCore::Position::moveToPosition): Ditto.
42661        * dom/PositionIterator.cpp:
42662        (WebCore::PositionIterator::operator Position): Avoid creating a position immediately below
42663        a node whose content is ignored by editing. While this does not avoid creation of positions
42664        inside ignored contents completely, it works in most cases. Filed the bug 56027 to resolve
42665        the underlying problem. Without this change, the assertion hits in existing layout tests.
42666        cannot be tested directly.
42667        * editing/ApplyStyleCommand.cpp:
42668        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Call firstPositionInOrBeforeNode
42669        instead of firstPositionInNode because startNode may as well be a br element. Without this change,
42670        the assertion hits in existing layout tests.
42671        * editing/htmlediting.cpp:
42672        (WebCore::canHaveChildrenForEditing): button is editable so content is not ignored. Added a test
42673        for this.
42674        * editing/visible_units.cpp:
42675        (WebCore::previousBoundary): Added a FIXME.
42676        (WebCore::startPositionForLine): Because br can also have an inline text box, checking that
42677        startBox is an inline text box isn't an adequate to instantiate a position inside startNode.
42678        Call startNode->isTextNode() instead. Without this change, the assertion hits in existing layout
42679        tests.
42680
426812011-03-17  Pavel Podivilov  <podivilov@chromium.org>
42682
42683        Reviewed by Pavel Feldman.
42684
42685        Web Inspector: extract content loading logic from scripts panel.
42686        https://bugs.webkit.org/show_bug.cgi?id=55237
42687
42688        Encapsulate source files creation logic in debugger presentation model
42689        to support source mappings in a pluggable way.
42690
42691        * inspector/front-end/DebuggerPresentationModel.js:
42692        (WebInspector.DebuggerPresentationModel.prototype.sourceFile):
42693        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent.else.didRequestSource):
42694        (WebInspector.DebuggerPresentationModel.prototype.requestSourceFileContent):
42695        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
42696        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
42697        (WebInspector.DebuggerPresentationModel.prototype._addScript.else.resourceFinished):
42698        (WebInspector.DebuggerPresentationModel.prototype._addScript):
42699        (WebInspector.DebuggerPresentationModel.prototype._ensureSourceFileAdded):
42700        (WebInspector.DebuggerPresentationModel.prototype._resourceForURL):
42701        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
42702        (WebInspector.DebuggerPresentationModel.prototype._sourceFileAdded):
42703        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
42704        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
42705        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
42706        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
42707        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
42708        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
42709        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
42710        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
42711        (WebInspector.DebuggerPresentationModel.prototype.reset):
42712        * inspector/front-end/ScriptsPanel.js:
42713        (WebInspector.ScriptsPanel):
42714        (WebInspector.ScriptsPanel.prototype._sourceFileAdded):
42715        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
42716        (WebInspector.ScriptsPanel.prototype._sourceFileChanged):
42717        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
42718        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.requestContent):
42719
427202011-03-17  Pavel Feldman  <pfeldman@chromium.org>
42721
42722        Reviewed by Yury Semikhatsky.
42723
42724        Web Inspector: add types markup to the IDL, remove Value types from the protocol.
42725        https://bugs.webkit.org/show_bug.cgi?id=56562
42726
42727        * inspector/ConsoleMessage.cpp:
42728        (WebCore::ConsoleMessage::addToFrontend):
42729        * inspector/InjectedScript.cpp:
42730        (WebCore::InjectedScript::evaluate):
42731        (WebCore::InjectedScript::evaluateOn):
42732        (WebCore::InjectedScript::evaluateOnCallFrame):
42733        (WebCore::InjectedScript::getProperties):
42734        (WebCore::InjectedScript::setPropertyValue):
42735        (WebCore::InjectedScript::callFrames):
42736        (WebCore::InjectedScript::makeCall):
42737        (WebCore::InjectedScript::makeObjectCall):
42738        * inspector/InjectedScript.h:
42739        * inspector/InjectedScriptSource.js:
42740        (.):
42741        * inspector/Inspector.idl:
42742        * inspector/InspectorApplicationCacheAgent.cpp:
42743        (WebCore::InspectorApplicationCacheAgent::getApplicationCaches):
42744        * inspector/InspectorApplicationCacheAgent.h:
42745        * inspector/InspectorCSSAgent.cpp:
42746        (WebCore::InspectorCSSAgent::getStylesForNode):
42747        (WebCore::InspectorCSSAgent::getInlineStyleForNode):
42748        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
42749        (WebCore::InspectorCSSAgent::getStyleSheet):
42750        (WebCore::InspectorCSSAgent::setPropertyText):
42751        (WebCore::InspectorCSSAgent::toggleProperty):
42752        (WebCore::InspectorCSSAgent::setRuleSelector):
42753        (WebCore::InspectorCSSAgent::addRule):
42754        * inspector/InspectorCSSAgent.h:
42755        * inspector/InspectorDOMAgent.cpp:
42756        (WebCore::InspectorDOMAgent::resolveNode):
42757        * inspector/InspectorDOMAgent.h:
42758        * inspector/InspectorDebuggerAgent.cpp:
42759        (WebCore::InspectorDebuggerAgent::editScriptSource):
42760        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
42761        (WebCore::InspectorDebuggerAgent::currentCallFrames):
42762        * inspector/InspectorDebuggerAgent.h:
42763        * inspector/InspectorResourceAgent.cpp:
42764        (WebCore::InspectorResourceAgent::identifierForInitialRequest):
42765        * inspector/InspectorRuntimeAgent.cpp:
42766        (WebCore::InspectorRuntimeAgent::evaluate):
42767        (WebCore::InspectorRuntimeAgent::evaluateOn):
42768        (WebCore::InspectorRuntimeAgent::getProperties):
42769        (WebCore::InspectorRuntimeAgent::setPropertyValue):
42770        * inspector/InspectorRuntimeAgent.h:
42771        * inspector/ScriptCallStack.cpp:
42772        (WebCore::ScriptCallStack::buildInspectorArray):
42773        * inspector/ScriptCallStack.h:
42774        * inspector/TimelineRecordFactory.cpp:
42775        (WebCore::TimelineRecordFactory::createGenericRecord):
42776        * inspector/front-end/NetworkManager.js:
42777        (WebInspector.NetworkDispatcher.prototype._createResource):
42778
427792011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
42780
42781        Unreviewed, rolling out r81350.
42782        http://trac.webkit.org/changeset/81350
42783        https://bugs.webkit.org/show_bug.cgi?id=56560
42784
42785        "Breaks twenty Chromium Webkit Win builder webkit_gpu_tests"
42786        (Requested by apavlov on #webkit).
42787
42788        * WebCore.gypi:
42789        * platform/graphics/chromium/GLES2Canvas.cpp:
42790        (WebCore::GLES2Canvas::State::State):
42791        (WebCore::GLES2Canvas::clearRect):
42792        (WebCore::GLES2Canvas::fillPath):
42793        (WebCore::GLES2Canvas::fillRect):
42794        (WebCore::GLES2Canvas::clipPath):
42795        (WebCore::GLES2Canvas::restore):
42796        (WebCore::GLES2Canvas::drawTexturedRect):
42797        (WebCore::GLES2Canvas::drawTexturedRectTile):
42798        (WebCore::GLES2Canvas::drawQuad):
42799        * platform/graphics/chromium/GLES2Canvas.h:
42800        * platform/graphics/gpu/BicubicShader.cpp: Removed.
42801        * platform/graphics/gpu/BicubicShader.h: Removed.
42802        * platform/graphics/gpu/ConvolutionShader.cpp: Removed.
42803        * platform/graphics/gpu/ConvolutionShader.h: Removed.
42804        * platform/graphics/gpu/DrawingBuffer.h:
42805        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
42806        (WebCore::SharedGraphicsContext3D::create):
42807        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
42808        * platform/graphics/gpu/SharedGraphicsContext3D.h:
42809        * platform/graphics/skia/GraphicsContextSkia.cpp:
42810        (WebCore::GraphicsContext::setPlatformShadow):
42811        * platform/graphics/skia/PlatformContextSkia.cpp:
42812        (WebCore::PlatformContextSkia::canAccelerate):
42813
428142011-03-17  Mikhail Naganov  <mnaganov@chromium.org>
42815
42816        Reviewed by Yury Semikhatsky.
42817
42818        Web Inspector: Clean up Inspector strings.
42819        https://bugs.webkit.org/show_bug.cgi?id=56557
42820
42821        * English.lproj/localizedStrings.js:
42822
428232011-03-14  Pavel Podivilov  <podivilov@chromium.org>
42824
42825        Reviewed by Yury Semikhatsky.
42826
42827        Web Inspector: refactor event listener breakpoints.
42828        https://bugs.webkit.org/show_bug.cgi?id=56305
42829
42830        - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints
42831        - store event listener breakpoints in a separate separate setting
42832        - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane
42833
42834        Test: inspector/debugger/event-listener-breakpoints.html
42835
42836        * inspector/Inspector.idl:
42837        * inspector/InspectorAgent.cpp:
42838        (WebCore::InspectorAgent::setFrontend):
42839        * inspector/InspectorBrowserDebuggerAgent.cpp:
42840        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
42841        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
42842        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
42843        (WebCore::InspectorBrowserDebuggerAgent::clear):
42844        * inspector/InspectorBrowserDebuggerAgent.h:
42845        * inspector/InspectorInstrumentation.cpp:
42846        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
42847        * inspector/front-end/BreakpointManager.js:
42848        (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint):
42849        (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint):
42850        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
42851        (WebInspector.BreakpointManager.prototype._projectChanged):
42852        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
42853        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
42854        (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
42855        * inspector/front-end/BreakpointsSidebarPane.js:
42856        (WebInspector.EventListenerBreakpointsSidebarPane):
42857        (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
42858        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
42859        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
42860        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
42861        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
42862        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
42863        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
42864        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint):
42865        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
42866        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
42867        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints):
42868        * inspector/front-end/CallStackSidebarPane.js:
42869        (WebInspector.CallStackSidebarPane.prototype.update):
42870        (WebInspector.CallStackSidebarPane.prototype.setStatus):
42871        (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit):
42872        * inspector/front-end/ScriptsPanel.js:
42873        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
42874        (WebInspector.ScriptsPanel.prototype._clearInterface):
42875        * inspector/front-end/Settings.js:
42876        (WebInspector.Settings):
42877
428782011-03-16  Stephen White  <senorblanco@chromium.org>
42879
42880        Reviewed by Kenneth Russell.
42881
42882        Implement GPU-accelerated shadows.
42883        https://bugs.webkit.org/show_bug.cgi?id=56476
42884
42885        For hard shadows, we simply offset the CTM and draw in the shadow
42886        color.  For soft shadows, we use a separable Gaussian convolution,
42887        with a bilinear downsample and Mitchell-Netravali upsample in order to
42888        preserve quality.
42889
42890        * WebCore.gypi:
42891        Add BicubicShader and ConvolutionShader to the build.
42892        * platform/graphics/chromium/GLES2Canvas.cpp:
42893        (WebCore::GLES2Canvas::State::State):
42894        Add shadow-related members to the GLES2Canvas::State
42895        (WebCore::GLES2Canvas::State::shadowActive):
42896        Add a helper function to know if shadows are active.
42897        (WebCore::GLES2Canvas::clearRect):
42898        (WebCore::GLES2Canvas::scissorClear):
42899        Refactor the scissor clearing function out of clearRect().
42900        (WebCore::GLES2Canvas::fillPath):
42901        Add hook for shadow rendering in paths.  Bind framebuffer at this level.
42902        (WebCore::GLES2Canvas::fillRect):
42903        Add hook for shadow rendering in rects.  Bind framebuffer at this level.
42904        (WebCore::GLES2Canvas::fillRectInternal):
42905        Rename fillRect() -> fillRectInternal(), which does bind its vertex
42906        buffer, but does not bind the framebuffer.
42907        (WebCore::GLES2Canvas::setShadowColor):
42908        (WebCore::GLES2Canvas::setShadowOffset):
42909        (WebCore::GLES2Canvas::setShadowBlur):
42910        (WebCore::GLES2Canvas::setShadowsIgnoreTransforms):
42911        Implement graphicsContext-style setters for shadow parameters.
42912        (WebCore::GLES2Canvas::clipPath):
42913        Call fillPathInternal(), not fillPath().
42914        (WebCore::GLES2Canvas::restore):
42915        (WebCore::GLES2Canvas::drawTexturedRect):
42916        Bind the framebuffer at this level.  Do not bind vertices here (will
42917        be done in drawTexturedQuad).
42918        (WebCore::GLES2Canvas::drawTexturedRectTile):
42919        drawQuad() -> drawTexturedQuad().
42920        (WebCore::GLES2Canvas::convolveRect):
42921        Implement one pass of a convolution filter (X or Y).
42922        (WebCore::gauss):
42923        (WebCore::buildKernel):
42924        Some helper functions to build a Gaussian convolution kernel.
42925        (WebCore::GLES2Canvas::drawTexturedQuad):
42926        Rename drawQuad() -> drawTexturedQuad(), to be more clear.  Do not
42927        bind the framebuffer at this level (it will be done higher).
42928        (WebCore::GLES2Canvas::drawTexturedQuadMitchell):
42929        Implement Mitchell-Netravali bicubic sampling, using BicubicShader.
42930        (WebCore::GLES2Canvas::fillPathInternal):
42931        Rename fillPath() -> fillPathInternal(), which does use quad vertices,
42932        but does not bind the framebuffer or set the compositing mode.
42933        (WebCore::GLES2Canvas::flipRect):
42934        Implement a helper function to flip a rectangle in Y within the canvas.
42935        (WebCore::GLES2Canvas::clearBorders):
42936        Implement a helper function to clear an n-pixel border around a rect.
42937        (WebCore::GLES2Canvas::beginShadowDraw):
42938        Setup before drawing a primitive's shadow:  for hard shadows, just
42939        offset the CTM by the shadow offset.  For soft shadows, bind to an
42940        offscreen DrawingBuffer.
42941        (WebCore::GLES2Canvas::endShadowDraw):
42942        Tear-down after drawing a primitive's shadow:  for hard shadows, just
42943        restore the CTM.  For soft shadows, downsample (if necessary), then
42944        blur in X, blur in Y, upsample if necessary).
42945        * platform/graphics/chromium/GLES2Canvas.h:
42946        * platform/graphics/gpu/BicubicShader.cpp: Added.
42947        (WebCore::BicubicShader::BicubicShader):
42948        (WebCore::BicubicShader::create):
42949        (WebCore::BicubicShader::use):
42950        * platform/graphics/gpu/BicubicShader.h: Added.
42951        Implement a bicubic image filtering shader.
42952        * platform/graphics/gpu/ConvolutionShader.cpp: Added.
42953        (WebCore::ConvolutionShader::ConvolutionShader):
42954        (WebCore::ConvolutionShader::create):
42955        (WebCore::ConvolutionShader::use):
42956        * platform/graphics/gpu/ConvolutionShader.h: Added.
42957        Implement a 1-dimensional convolution shader.  In order to minimize
42958        texture samples, this shader is parameterized at compile time by the
42959        width of the convolution kernel.
42960        * platform/graphics/gpu/DrawingBuffer.h:
42961        (WebCore::DrawingBuffer::colorBuffer):
42962        Add an accessor to retrieve a DrawingBuffer's texture ID.
42963        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
42964        (WebCore::SharedGraphicsContext3D::create):
42965        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
42966        (WebCore::SharedGraphicsContext3D::useBicubicProgram):
42967        (WebCore::SharedGraphicsContext3D::useConvolutionProgram):
42968        Create BicubicShader and cMaxKernelWidth ConvolutionShader's (one for
42969        each possible kernel width).
42970        (WebCore::SharedGraphicsContext3D::getOffscreenBuffer):
42971        Implement a simple cache of offscreen DrawingBuffers, integer-indexed.
42972        This is done to minimize the VRAM usage:  only 2 buffers are used for
42973        all canvases.
42974        * platform/graphics/gpu/SharedGraphicsContext3D.h:
42975        Add bicubic and convolution shader members, and useXXX() functions.
42976        * platform/graphics/skia/GraphicsContextSkia.cpp:
42977        (WebCore::GraphicsContext::setPlatformShadow):
42978        Hook into GraphicsContextSkia's platform shadow setters to set
42979        parameters on GLES2Canvas.
42980        * platform/graphics/skia/PlatformContextSkia.cpp:
42981        (WebCore::PlatformContextSkia::canAccelerate):
42982        Remove shadows (loopers) from the list of things we can't accelerate.
42983
429842011-03-17  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
42985
42986        Reviewed by Andreas Kling.
42987
42988        Tiled backing store should only request repaint for updated areas
42989        https://bugs.webkit.org/show_bug.cgi?id=56464
42990
42991        Reuse updateBackBuffer's dirty rectangle calculations to only
42992        invalidate the necessary parts of the window.
42993
42994        * platform/graphics/Tile.h:
42995        * platform/graphics/TiledBackingStore.cpp:
42996        (WebCore::TiledBackingStore::updateTileBuffers):
42997        * platform/graphics/qt/TileQt.cpp:
42998        (WebCore::Tile::updateBackBuffer):
42999
430002011-03-17  Mikhail Naganov  <mnaganov@chromium.org>
43001
43002        Reviewed by Pavel Feldman.
43003
43004        Web Inspector: [Chromium] Reduce memory consumption by detailed heap snapshots indexes.
43005        https://bugs.webkit.org/show_bug.cgi?id=56395
43006
43007        * inspector/front-end/DetailedHeapshotGridNodes.js:
43008        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
43009        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
43010        * inspector/front-end/HeapSnapshot.js:
43011        (WebInspector.HeapSnapshotRetainerEdge): Added
43012        (WebInspector.HeapSnapshotRetainerEdgeIterator): Added
43013        (WebInspector.HeapSnapshotNode.prototype.get retainers):
43014        (WebInspector.HeapSnapshot.prototype.dispose):
43015        (WebInspector.HeapSnapshot.prototype.hasId):
43016        (WebInspector.HeapSnapshot.prototype.retainers):
43017        (WebInspector.HeapSnapshot.prototype._buildRetainers):
43018        (WebInspector.HeapSnapshot.prototype._buildIdsList):
43019        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
43020        (WebInspector.HeapSnapshot.prototype._findNodePositionInIndex):
43021        (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
43022        (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
43023        (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
43024        (WebInspector.HeapSnapshot.prototype._numbersComparator):
43025        (WebInspector.HeapSnapshotPathFinder.prototype.get _lastEdge):
43026        (WebInspector.HeapSnapshotPathFinder.prototype._nextEdgeIter):
43027        (WebInspector.HeapSnapshotPathFinder.prototype._buildNextPath):
43028        (WebInspector.HeapSnapshotPathFinder.prototype._pathToString):
43029
430302011-03-17  Sheriff Bot  <webkit.review.bot@gmail.com>
43031
43032        Unreviewed, rolling out r81243.
43033        http://trac.webkit.org/changeset/81243
43034        https://bugs.webkit.org/show_bug.cgi?id=56471
43035
43036        Breaks GTK 64-bit Debug tests (Requested by podivilov on
43037        #webkit).
43038
43039        * inspector/Inspector.idl:
43040        * inspector/InspectorAgent.cpp:
43041        (WebCore::InspectorAgent::setFrontend):
43042        * inspector/InspectorBrowserDebuggerAgent.cpp:
43043        (WebCore::InspectorBrowserDebuggerAgent::setFrontend):
43044        (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
43045        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
43046        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
43047        (WebCore::InspectorBrowserDebuggerAgent::discardBindings):
43048        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
43049        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
43050        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
43051        (WebCore::InspectorBrowserDebuggerAgent::clear):
43052        * inspector/InspectorBrowserDebuggerAgent.h:
43053        * inspector/InspectorInstrumentation.cpp:
43054        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
43055        * inspector/front-end/BreakpointManager.js:
43056        (WebInspector.BreakpointManager.prototype.createEventListenerBreakpoint):
43057        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpoint):
43058        (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
43059        (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
43060        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
43061        (WebInspector.BreakpointManager.prototype._projectChanged):
43062        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
43063        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
43064        (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
43065        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
43066        (WebInspector.EventListenerBreakpoint):
43067        (WebInspector.EventListenerBreakpoint.prototype._enable):
43068        (WebInspector.EventListenerBreakpoint.prototype._disable):
43069        (WebInspector.EventListenerBreakpoint.prototype._serializeToJSON):
43070        (WebInspector.EventListenerBreakpointView):
43071        (WebInspector.EventListenerBreakpointView.eventNameForUI):
43072        (WebInspector.EventListenerBreakpointView.prototype.get eventName):
43073        (WebInspector.EventListenerBreakpointView.prototype.compareTo):
43074        (WebInspector.EventListenerBreakpointView.prototype.populateLabelElement):
43075        (WebInspector.EventListenerBreakpointView.prototype.populateStatusMessageElement):
43076        (WebInspector.EventListenerBreakpointView.prototype._uiEventName):
43077        * inspector/front-end/BreakpointsSidebarPane.js:
43078        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
43079        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
43080        (WebInspector.EventListenerBreakpointsSidebarPane):
43081        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
43082        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
43083        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
43084        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointAdded):
43085        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointHitStateChanged):
43086        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointRemoved):
43087        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
43088        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._projectChanged):
43089        * inspector/front-end/CallStackSidebarPane.js:
43090        (WebInspector.CallStackSidebarPane.prototype.update):
43091        (WebInspector.CallStackSidebarPane.prototype._scriptBreakpointHit):
43092        (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
43093        (WebInspector.CallStackSidebarPane.prototype._nativeBreakpointHit):
43094        * inspector/front-end/ScriptsPanel.js:
43095        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
43096        (WebInspector.ScriptsPanel.prototype._clearInterface):
43097        * inspector/front-end/Settings.js:
43098        (WebInspector.Settings):
43099
431002011-03-17  Adam Barth  <abarth@webkit.org>
43101
43102        Reviewed by Eric Seidel.
43103
43104        Add more ObjC++ files to the build
43105        https://bugs.webkit.org/show_bug.cgi?id=56548
43106
43107        96 link errors.
43108
43109        * WebCore.gypi:
43110        * gyp/WebCore.gyp:
43111
431122011-03-17  Adam Barth  <abarth@webkit.org>
43113
43114        Reviewed by Eric Seidel.
43115
43116        Add a few Objective-C++ files to the WebCore GYP build
43117        https://bugs.webkit.org/show_bug.cgi?id=56547
43118
43119        464 link errors.
43120
43121        * gyp/WebCore.gyp:
43122
431232011-03-17  Yuta Kitamura  <yutak@chromium.org>
43124
43125        Unreviewed build fix.
43126
43127        Non-ASCII characters in XMLTreeViewer.{cpp,h}
43128        https://bugs.webkit.org/show_bug.cgi?id=56549
43129
43130        * xml/XMLTreeViewer.cpp: Replace non-ASCII characters with ASCII equivalents.
43131        * xml/XMLTreeViewer.h: Ditto.
43132
431332011-03-17  Adam Barth  <abarth@webkit.org>
43134
43135        Reviewed by Eric Seidel.
43136
43137        Add plugins and bridge to the WebCore GYP build
43138        https://bugs.webkit.org/show_bug.cgi?id=56546
43139
43140        506 link errors.
43141
43142        * gyp/WebCore.gyp:
43143
431442011-03-16  Jeff Johnson  <github@lapcatsoftware.com>
43145
43146        Reviewed by Alexey Proskuryakov.
43147
43148        Logic error in -[WebHTMLView close]
43149        https://bugs.webkit.org/show_bug.cgi?id=56445
43150
43151        The function setDraggingImageURL() is no longer called and can be deleted.
43152
43153        No new tests. Deleting dead code.
43154
43155        * page/DragController.h:
43156
431572011-03-16  Naoki Takano  <takano.naoki@gmail.com>
43158
43159        Reviewed by Ryosuke Niwa.
43160
43161        Textarea maxlength doesn't account for newlines
43162        https://bugs.webkit.org/show_bug.cgi?id=54443
43163
43164        When a user presses a return key, TypingCommand::insertLineBreak() is called.
43165        So before append a new line, check if we can add the new line.
43166
43167        * editing/TypingCommand.cpp:
43168        (WebCore::canAppendNewLineFeed): Implement new helper function to check if we can add new line.
43169        (WebCore::TypingCommand::insertLineBreak): Added check logic before adding the new line.
43170        (WebCore::TypingCommand::insertParagraphSeparator): Added check logic before adding the new line.
43171
431722011-03-16  Adam Barth  <abarth@webkit.org>
43173
43174        Reviewed by Eric Seidel.
43175
43176        WebCore GYP build should build more derived sources
43177        https://bugs.webkit.org/show_bug.cgi?id=56529
43178
43179        This patch brings us down to 597 link errors.
43180
43181        * gyp/WebCore.gyp:
43182
431832011-03-16  Adam Barth  <abarth@webkit.org>
43184
43185        Reviewed by Eric Seidel.
43186
43187        WebCore GYP should build (most) remaining source files
43188        https://bugs.webkit.org/show_bug.cgi?id=56515
43189
43190        We're still not building all the files and we have 1305 link errors,
43191        but this patch is progress.
43192
43193        * WebCore.gypi:
43194        * gyp/WebCore.gyp:
43195        * plugins/PluginStream.cpp:
43196
431972011-03-16  Dan Bernstein  <mitz@apple.com>
43198
43199        Reviewed by Alexey Proskuryakov.
43200
43201        Update the default navigator.vendor value
43202        https://bugs.webkit.org/show_bug.cgi?id=56449
43203
43204        * page/NavigatorBase.cpp: Updated the default value of
43205        WEBCORE_NAVIGATOR_VENDOR.
43206
432072011-03-16  John Bauman  <jbauman@chromium.org>
43208
43209        Reviewed by James Robinson.
43210
43211        texImage2D gets old contents of canvas
43212        https://bugs.webkit.org/show_bug.cgi?id=56414
43213
43214        Always update the canvas contents in copiedImage, as there's no reason
43215        to ask for an out-of-date image.
43216
43217        * html/HTMLCanvasElement.cpp:
43218        (WebCore::HTMLCanvasElement::copiedImage):
43219
432202011-03-16  Adam Barth  <abarth@webkit.org>
43221
43222        Reviewed by James Robinson.
43223
43224        Remove USE(BUILTIN_UTF8_CODEC)
43225        https://bugs.webkit.org/show_bug.cgi?id=56508
43226
43227        * platform/text/TextCodecICU.cpp:
43228        (WebCore::TextCodecICU::registerEncodingNames):
43229        * platform/text/TextEncodingRegistry.cpp:
43230        (WebCore::buildBaseTextCodecMaps):
43231
432322011-03-16  Joseph Pecoraro  <joepeck@webkit.org>
43233
43234        Reviewed by Kenneth Rohde Christiansen.
43235
43236        Viewport no longer allows an auto value for "user-scalable"
43237        https://bugs.webkit.org/show_bug.cgi?id=55416
43238
43239        This restores our behavior before r67376 the default "user-scalable"
43240        behavior can be defined by a WebKit client if a value was not
43241        explicitly provided in web content (via the viewport <meta> tag).
43242        Here, all WebKit ports default to "yes" after computing
43243        viewport arguments. However, in the future they may consider
43244        changing the default user-scalable value based on the type
43245        of the document being viewed, a user preference, or other reasons.
43246
43247        Covered by existing tests. Should be no changes.
43248
43249        * dom/ViewportArguments.cpp:
43250        (WebCore::computeViewportAttributes): be explicit about 0.
43251        (WebCore::findUserScalableValue): convert to return a float, the instance variable type.
43252        * dom/ViewportArguments.h:
43253        (WebCore::ViewportArguments::ViewportArguments): convert the boolean back to a float to
43254        allow for 3 states. Explicit no, explicit yes, and ValueAuto to be defined by the
43255        WebKit client.
43256
432572011-03-16  David Levin  <levin@chromium.org>
43258
43259        Reviewed by Dmitry Titov.
43260
43261        REGRESSION(r81289): Fix valgrind error (and crashes) when running the chromium unit test "test_shell_test".
43262
43263        Conditional jump or move depends on uninitialised value(s)
43264            WebCore::RenderLayerCompositor::RenderLayerCompositor(WebCore::RenderView*) (third_party/WebKit/Source/WebCore/rendering/RenderLayerCompositor.cpp:117)
43265
43266        * page/Settings.cpp:
43267        (WebCore::Settings::Settings):
43268
432692011-03-16  Beth Dakin  <bdakin@apple.com>
43270
43271        Reviewed by Darin Adler.
43272
43273        Fix for https://bugs.webkit.org/show_bug.cgi?id=56493 Drag-scrolling overlay
43274        scrollbars thumb in overflow regions does not work
43275        -and corresponding-
43276        <rdar://problem/9112688> Drag-scrolling overlay scrollbars thumb in overflow
43277        regions does not work
43278
43279        Up until now, overlay scrollbars have always been treated in the Render Tree as if
43280        they have a thickness of 0 because they should not affect layout. However, it is
43281        important to consider their size when hit-testing because otherwise, we have this
43282        bug! This patch adds a boolean parameter to overflowClipRect(),
43283        RenderLayer::verticalScrollbarWidth(), and
43284        RenderLayer::horizontalScrollbarHeight(). This bool indicates whether to include
43285        the actual overlay scrollbar thickness. It defaults to false and is only sent is
43286        as true from RenderBloc::nodeAtPoint().
43287
43288        * rendering/RenderBlock.cpp:
43289        (WebCore::RenderBlock::nodeAtPoint):
43290        * rendering/RenderBox.cpp:
43291        (WebCore::RenderBox::overflowClipRect):
43292        * rendering/RenderBox.h:
43293        * rendering/RenderLayer.cpp:
43294        (WebCore::RenderLayer::verticalScrollbarWidth):
43295        (WebCore::RenderLayer::horizontalScrollbarHeight):
43296        * rendering/RenderLayer.h:
43297        * rendering/RenderTable.cpp:
43298        (WebCore::RenderTable::overflowClipRect):
43299        * rendering/RenderTable.h:
43300
433012011-03-16  Keith Kyzivat  <keith.kyzivat@nokia.com>
43302
43303        Reviewed by Andreas Kling.
43304
43305        [Qt] Fix std::swap not found issue on mobile Qt devices.
43306        https://bugs.webkit.org/show_bug.cgi?id=56463
43307
43308        Include <algorithm> in TextBreakIteratorQt.cpp so std::swap is found
43309        on some Qt mobile devices.
43310
43311        No new tests: No tests needed - compilation verified manually.
43312
43313        * platform/text/qt/TextBreakIteratorQt.cpp:
43314        (WebCore::acquireLineBreakIterator):
43315
433162011-03-16  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
43317
43318        Reviewed by Kenneth Rohde Christiansen.
43319
43320        [Qt] WebGL content not shown when accelerated compositing is enabled
43321        https://bugs.webkit.org/show_bug.cgi?id=56339
43322
43323        Removed all previously implemented WebGL code from GraphicsLayerQt
43324        because API has changed. GraphicsContext3D provides PlatformLayer
43325        that is added as a child of GraphicsLayer and is therefore painted
43326        through QGraphicsView pipeline.
43327
43328        * platform/graphics/GraphicsContext3D.h:
43329        * platform/graphics/qt/GraphicsContext3DQt.cpp:
43330        (WebCore::GraphicsContext3DInternal::GraphicsContext3DInternal):
43331        (WebCore::GraphicsContext3DInternal::paint):
43332        (WebCore::GraphicsContext3DInternal::boundingRect):
43333        (WebCore::GraphicsContext3D::platformLayer):
43334        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
43335        (WebCore::GraphicsContext3D::reshape):
43336        * platform/graphics/qt/GraphicsLayerQt.cpp:
43337        (WebCore::GraphicsLayerQtImpl::GraphicsLayerQtImpl):
43338        (WebCore::GraphicsLayerQtImpl::paint):
43339        (WebCore::GraphicsLayerQtImpl::flushChanges):
43340        (WebCore::GraphicsLayerQt::setContentsToCanvas):
43341        * platform/graphics/qt/GraphicsLayerQt.h:
43342
433432011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
43344
43345        Reviewed by Tony Chang.
43346
43347        Get rid of nearestMailBlockquote
43348        https://bugs.webkit.org/show_bug.cgi?id=56439
43349
43350        Removed nearestMailBlockquote and replaced the calls to the function by calls
43351        to enclosingNodeOfType and highestEnclosingNodeOfType.
43352
43353        Also fixed a bug in BreakBlockquoteCommand and DeleteSelectionCommand not to
43354        respect editing boundaries.  Added a test for the former command.
43355
43356        Test: editing/execCommand/break-non-editable-blockquote.html
43357
43358        * editing/BreakBlockquoteCommand.cpp:
43359        (WebCore::BreakBlockquoteCommand::doApply): No longer crosses editing boundary
43360        when looking for a Mail blockquote.
43361        * editing/DeleteSelectionCommand.cpp:
43362        (WebCore::DeleteSelectionCommand::saveTypingStyleState): Ditto.
43363        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
43364        * editing/ReplaceSelectionCommand.cpp:
43365        (WebCore::hasMatchingQuoteLevel):
43366        (WebCore::handleStyleSpansBeforeInsertion):
43367        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
43368        (WebCore::ReplaceSelectionCommand::doApply):
43369        * editing/htmlediting.cpp:
43370        (WebCore::enclosingNodeOfType): Check rule upfront to improve the performance.
43371        (WebCore::highestEnclosingNodeOfType): Ditto; also add the missing check.
43372        * editing/htmlediting.h:
43373        (WebCore::firstPositionInOrBeforeNode): Added a null pointer check.
43374        (WebCore::lastPositionInOrAfterNode): Ditto.
43375        * editing/markup.cpp:
43376        (WebCore::highestAncestorToWrapMarkup):
43377        (WebCore::createMarkup):
43378
433792011-03-16  Jer Noble  <jer.noble@apple.com>
43380
43381        Reviewed by Beth Dakin.
43382
43383        RenderFullScreen::createFullScreenStyle() leaks
43384        https://bugs.webkit.org/show_bug.cgi?id=53384
43385
43386        Two problems: a) not calling release() on the style returned in setFullScreenRenderer
43387        causes an unnecessary ref/deref, and b) the fullscreen renderer needs to be destroyed,
43388        not just detached, when it is no longer needed.
43389
43390        * dom/Document.cpp:
43391        (WebCore::Document::setFullScreenRenderer): Destroy the current renderer when a new one is set.
43392        * rendering/RenderFullScreen.cpp:
43393        (RenderFullScreen::createFullScreenStyle): release() the return value.
43394
433952011-03-16  Mike Reed  <reed@google.com>
43396
43397        Reviewed by James Robinson.
43398
43399        Reestablish typeface/size/encoding when drawing stroked text
43400        https://bugs.webkit.org/show_bug.cgi?id=56481
43401
43402        No new tests. LayoutTests/svg/css/composite-shadow-text.svg
43403
43404        * platform/graphics/skia/SkiaFontWin.cpp:
43405        (WebCore::paintSkiaText):
43406
434072011-03-16  Daniel Sievers  <sievers@google.com>
43408
43409        Reviewed by James Robinson.
43410
43411        Add setting to always force compositing mode
43412        https://bugs.webkit.org/show_bug.cgi?id=56156
43413
43414        No new tests needed as this defaults to disabled (and is unfeasible
43415        to be tested through property overriding at runtime).
43416
43417        * page/Settings.h:
43418        (WebCore::Settings::setForceCompositingMode):
43419        (WebCore::Settings::forceCompositingMode):
43420        * rendering/RenderLayerCompositor.cpp:
43421        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
43422        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
43423        * rendering/RenderLayerCompositor.h:
43424
434252011-03-16  Vangelis Kokkevis  <vangelis@chromium.org>
43426
43427        Reviewed by Kenneth Russell.
43428
43429        [chromium] Fixing backface visibility for transformed layers.
43430        https://bugs.webkit.org/show_bug.cgi?id=56237
43431
43432        Test: platform/chromium/compositing/backface-visibility-transformed.html
43433
43434        * platform/graphics/chromium/LayerRendererChromium.cpp:
43435        (WebCore::LayerRendererChromium::drawLayer):
43436
434372011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
43438
43439        Reviewed by Darin Adler.
43440
43441        REGRESSION(r76147): Dragging slider thumb is impossible or results in drawing artifacts.
43442        https://bugs.webkit.org/show_bug.cgi?id=56469
43443
43444        Technically, this is not a regression, but rather uncovering of an old
43445        problem. When the RenderSlider::layout was written, the layout state was
43446        pushed with a wrong offset. However, since the whole slider track was
43447        always repainted, the problem didn't manifest itself until we actually
43448        started being more precise in our repaints.
43449
43450        Test: fast/repaint/slider-thumb-float.html
43451
43452        * rendering/RenderSlider.cpp:
43453        (WebCore::RenderSlider::layout): Changed to pass actual thumb offset
43454        to the LayoutStateMaintainer, rather than thumb size.
43455
434562011-03-16  Dimitri Glazkov  <dglazkov@chromium.org>
43457
43458        Reviewed by Eric Carlson.
43459
43460        Add play state callbacks to MediaControls, kill timeUpdate timer.
43461        https://bugs.webkit.org/show_bug.cgi?id=56473
43462
43463        No change in behavior, covered by existing tests.
43464
43465        * html/HTMLMediaElement.cpp:
43466        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Added a call to
43467            media controls.
43468        (WebCore::HTMLMediaElement::updatePlayState): Ditto.
43469        * html/shadow/MediaControls.cpp:
43470        (WebCore::MediaControls::MediaControls): Removed initialization of the timer.
43471        (WebCore::MediaControls::playbackProgressed): Added.
43472        (WebCore::MediaControls::playbackStarted): Added, for now routing to just
43473            call playbackProgressed.
43474        (WebCore::MediaControls::playbackStopped): Ditto.
43475        (WebCore::MediaControls::update): Removed the code to start/stop the
43476            timer that's now gone.
43477        * html/shadow/MediaControls.h: Removed timer decls.
43478
434792011-03-16  Bill Budge  <bbudge@chromium.org>
43480
43481        Reviewed by David Levin.
43482
43483        DocumentThreadableLoaderClient needs a protected default Constructor
43484        https://bugs.webkit.org/show_bug.cgi?id=56479
43485
43486        No new tests. Exposes no new functionality.
43487
43488        * loader/DocumentThreadableLoaderClient.h:
43489        (WebCore::DocumentThreadableLoaderClient::DocumentThreadableLoaderClient):
43490
434912011-03-16  David Levin  <levin@chromium.org>
43492
43493        Chromium Leopard build fix attempt #2.
43494
43495        Same error as before.
43496        * bindings/v8/V8GCController.cpp:
43497
434982011-03-16  David Levin  <levin@chromium.org>
43499
43500        Chromium Leopard build fix attempt.
43501
43502        The error was 'WebCore::GrouperVisitor' has a field 'WebCore::GrouperVisitor::m_grouper' whose type uses the anonymous namespace.
43503
43504        * bindings/v8/V8GCController.cpp:
43505
435062011-03-16  Ryosuke Niwa  <rniwa@webkit.org>
43507
43508        Reviewed by Dimitri Glazkov and Darin Adler.
43509
43510        Node::isContentEditable should always call parentNode() instead of parentOrHostNode()
43511        https://bugs.webkit.org/show_bug.cgi?id=56472
43512
43513        Replaced the call to parentOrHostNode() in Node::isContentEditable by a call to parentNode().
43514        Node::isContentEditable now calls parentNode() on all nodes.
43515
43516        No tests are added since this behavior change is not visible to scripts at the moment.
43517
43518        * dom/Node.cpp:
43519        (WebCore::Node::isContentEditable):
43520
435212011-03-16  Chris Fleizach  <cfleizach@apple.com>
43522
43523        Reviewed by Darin Adler.
43524
43525        WK2: Need to propagate enhanced accessibility flag from UI -> web process
43526        https://bugs.webkit.org/show_bug.cgi?id=56379
43527
43528        Allow the enhanced accessibility flag to be toggleable.
43529
43530        * accessibility/AXObjectCache.h:
43531        (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
43532
435332011-03-16  Csaba Osztrogonác  <ossy@webkit.org>
43534
43535        [Qt] Buildfix after r81230.
43536
43537        * WebCore.pri: Missing include path added.
43538
435392011-03-15  Oliver Hunt  <oliver@apple.com>
43540
43541        Reviewed by Geoffrey Garen.
43542
43543        Make Structure creation require a JSGlobalData
43544        https://bugs.webkit.org/show_bug.cgi?id=56438
43545
43546        Mechanical change to make all structure creation use GlobalData
43547
43548        * bindings/js/JSAudioConstructor.cpp:
43549        (WebCore::JSAudioConstructor::JSAudioConstructor):
43550        * bindings/js/JSAudioConstructor.h:
43551        (WebCore::JSAudioConstructor::createStructure):
43552        * bindings/js/JSDOMBinding.h:
43553        (WebCore::DOMObjectWithGlobalPointer::createStructure):
43554        (WebCore::DOMConstructorObject::createStructure):
43555        (WebCore::getDOMStructure):
43556        * bindings/js/JSDOMGlobalObject.h:
43557        (WebCore::JSDOMGlobalObject::createStructure):
43558        * bindings/js/JSDOMWindowBase.h:
43559        (WebCore::JSDOMWindowBase::createStructure):
43560        * bindings/js/JSDOMWindowShell.cpp:
43561        (WebCore::JSDOMWindowShell::JSDOMWindowShell):
43562        (WebCore::JSDOMWindowShell::setWindow):
43563        * bindings/js/JSDOMWindowShell.h:
43564        (WebCore::JSDOMWindowShell::createStructure):
43565        * bindings/js/JSImageConstructor.cpp:
43566        (WebCore::JSImageConstructor::JSImageConstructor):
43567        * bindings/js/JSImageConstructor.h:
43568        (WebCore::JSImageConstructor::createStructure):
43569        * bindings/js/JSImageDataCustom.cpp:
43570        (WebCore::toJS):
43571        * bindings/js/JSOptionConstructor.cpp:
43572        (WebCore::JSOptionConstructor::JSOptionConstructor):
43573        * bindings/js/JSOptionConstructor.h:
43574        (WebCore::JSOptionConstructor::createStructure):
43575        * bindings/js/JSWorkerContextBase.h:
43576        (WebCore::JSWorkerContextBase::createStructure):
43577        * bindings/js/WorkerScriptController.cpp:
43578        (WebCore::WorkerScriptController::initScript):
43579        * bindings/scripts/CodeGeneratorJS.pm:
43580        * bridge/c/CRuntimeObject.h:
43581        (JSC::Bindings::CRuntimeObject::createStructure):
43582        * bridge/c/c_instance.cpp:
43583        (JSC::Bindings::CRuntimeMethod::createStructure):
43584        * bridge/jni/jsc/JavaInstanceJSC.cpp:
43585        (JavaRuntimeMethod::createStructure):
43586        * bridge/jni/jsc/JavaRuntimeObject.h:
43587        (JSC::Bindings::JavaRuntimeObject::createStructure):
43588        * bridge/objc/ObjCRuntimeObject.h:
43589        (JSC::Bindings::ObjCRuntimeObject::createStructure):
43590        * bridge/objc/objc_instance.mm:
43591        (ObjCRuntimeMethod::createStructure):
43592        * bridge/objc/objc_runtime.h:
43593        (JSC::Bindings::ObjcFallbackObjectImp::createStructure):
43594        * bridge/runtime_array.h:
43595        (JSC::RuntimeArray::createStructure):
43596        * bridge/runtime_method.h:
43597        (JSC::RuntimeMethod::createStructure):
43598        * bridge/runtime_object.h:
43599        (JSC::Bindings::RuntimeObject::createStructure):
43600
436012011-03-16  Pratik Solanki  <psolanki@apple.com>
43602
43603        Reviewed by Alexey Proskuryakov.
43604
43605        REGRESSION: Crash in adjustMIMETypeIfNecessary since r81001
43606        https://bugs.webkit.org/show_bug.cgi?id=56345
43607
43608        Add NULL check for Content-Type header field.
43609
43610        Test: http/tests/xmlhttprequest/xmlhttprequest-no-content-type.html
43611
43612        * platform/network/mac/WebCoreURLResponse.mm:
43613        (WebCore::adjustMIMETypeIfNecessary):
43614
436152011-03-15  Levi Weintraub  <leviw@chromium.org>
43616
43617        Reviewed by Ryosuke Niwa.
43618
43619        REGRESSION (r81165): Assert running editing/style/iframe-onload-crash.html with non-Mac editing behavior
43620        https://bugs.webkit.org/show_bug.cgi?id=56407
43621
43622        Fixing the creation of incorrect ranges from TextIterator due to passing node/offset pairs that
43623        weren't parent-anchored. Also changing canHaveChildrenForEditing to properly handle nodes that
43624        have had children appended to them that editing wouldn't normally allow.
43625
43626        Tests: editing/style/iframe-onload-crash-mac.html
43627               editing/style/iframe-onload-crash-unix.html
43628               editing/style/iframe-onload-crash-win.html
43629
43630        * editing/TextIterator.cpp:
43631        (WebCore::TextIterator::rangeFromLocationAndLength): Passing parent-anchored values to range.
43632        * editing/htmlediting.cpp:
43633        (WebCore::canHaveChildrenForEditing): Adding a condition that the nodes don't already have children
43634        for hr and datagrid, as you can append any node to another using javascript.
43635
436362011-03-16  Mikhail Naganov  <mnaganov@chromium.org>
43637
43638        Reviewed by Pavel Feldman.
43639
43640        [Chromium] Report object groups and single DOM-related objects
43641        to the new heap profiler.
43642        https://bugs.webkit.org/show_bug.cgi?id=53659
43643
43644        * Android.v8bindings.mk:
43645        * WebCore.gypi:
43646        * WebCore.pro:
43647        * bindings/scripts/CodeGeneratorV8.pm:
43648        * bindings/v8/RetainedDOMInfo.cpp: Added.
43649        (WebCore::RetainedDOMInfo::RetainedDOMInfo):
43650        * bindings/v8/RetainedDOMInfo.h: Added.
43651        * bindings/v8/RetainedObjectInfo.h: Added.
43652        * bindings/v8/ScriptProfiler.cpp:
43653        (WebCore::retainedDOMInfo):
43654        (WebCore::ScriptProfiler::initialize):
43655        * bindings/v8/ScriptProfiler.h:
43656        * bindings/v8/V8DOMWindowShell.cpp:
43657        (WebCore::V8DOMWindowShell::initContextIfNeeded):
43658        * bindings/v8/V8GCController.cpp:
43659        (WebCore::GroupId::GrouperItem::GrouperItem):
43660        (WebCore::GroupId::GrouperItem::groupId):
43661        (WebCore::GroupId::GrouperItem::createRetainedObjectInfo):
43662        (WebCore::calculateGroupId):
43663        (WebCore::GrouperVisitor::visitDOMWrapper):
43664        (WebCore::GrouperVisitor::applyGrouping):
43665        * bindings/v8/WrapperTypeInfo.h:
43666        * inspector/front-end/DetailedHeapshotGridNodes.js:
43667        (WebInspector.HeapSnapshotConstructorNode):
43668        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
43669        (WebInspector.HeapSnapshotDiffNode):
43670        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
43671        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
43672        * inspector/front-end/DetailedHeapshotView.js:
43673        (WebInspector.HeapSnapshotRetainingPathsList.prototype.setDataSource):
43674        (WebInspector.HeapSnapshotRetainingPathsList.prototype.refresh):
43675        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext.startSearching):
43676        (WebInspector.HeapSnapshotRetainingPathsList.prototype.showNext):
43677        (WebInspector.HeapSnapshotRetainingPathsList.prototype._setRootChildrenForFinder):
43678        (WebInspector.DetailedHeapshotView.prototype._changeRetainingPathsRoot):
43679        (WebInspector.DetailedHeapshotView.prototype.get isTracingToWindowObjects):
43680        * inspector/front-end/HeapSnapshot.js:
43681        (WebInspector.HeapSnapshotNode.prototype.get className):
43682        (WebInspector.HeapSnapshot.prototype._buildAggregates):
43683        (WebInspector.HeapSnapshotPathFinder.prototype.updateRoots):
43684        (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren):
43685        * inspector/front-end/heapProfiler.css:
43686        (.detailed-heapshot-view .retaining-paths-view .title > span):
43687        (.detailed-heapshot-view .retaining-paths-to-windows):
43688
436892011-03-16  Sam Weinig  <sam@webkit.org>
43690
43691        Reviewed by Adam Roben.
43692
43693        Add WebKit2 API to figure out if an input or textarea was edited
43694        https://bugs.webkit.org/show_bug.cgi?id=56474
43695
43696        Add HTMLInputElement::lastChangeWasUserEdit and HTMLTextAreaElement::lastChangeWasUserEdit
43697        and use them to implement -[DOMHTMLInputElement _isEdited] and -[DOMHTMLTextAreaElement _isEdited]
43698        as well as API in WebKit2.
43699
43700        * WebCore.exp.in:
43701        * bindings/objc/DOMHTML.mm:
43702        (-[DOMHTMLInputElement _isEdited]):
43703        (-[DOMHTMLTextAreaElement _isEdited]):
43704        * html/HTMLInputElement.cpp:
43705        (WebCore::HTMLInputElement::lastChangeWasUserEdit):
43706        * html/HTMLInputElement.h:
43707        * html/HTMLTextAreaElement.cpp:
43708        (WebCore::HTMLTextAreaElement::lastChangeWasUserEdit):
43709        * html/HTMLTextAreaElement.h:
43710
437112011-03-15  Pavel Feldman  <pfeldman@chromium.org>
43712
43713        Reviewed by Yury Semikhatsky.
43714
43715        Web Inspector: ASSERTION FAILED: !HashTranslator::equal(KeyTraits::emptyValue(), key)
43716        https://bugs.webkit.org/show_bug.cgi?id=56376
43717
43718        * inspector/InspectorBrowserDebuggerAgent.cpp:
43719        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
43720        * inspector/front-end/DOMAgent.js:
43721        (WebInspector.DOMAgent.prototype._setDocument):
43722
437232011-03-16  Dan Bernstein  <mitz@apple.com>
43724
43725        Reviewed by Simon Fraser.
43726
43727        text-combine text retains compressed font after adding characters to it
43728        https://bugs.webkit.org/show_bug.cgi?id=56448
43729
43730        Test: fast/dynamic/text-combine.html
43731
43732        * css/CSSStyleSelector.cpp:
43733        (WebCore::CSSStyleSelector::applyProperty): Allow styles with text-combine to be shared, since
43734        only the clones on the RenderCombineText will be mutated.
43735        * rendering/RenderCombineText.cpp:
43736        (WebCore::RenderCombineText::styleDidChange): Clone the style, to avoid mutating the parent’s
43737        style.
43738        (WebCore::RenderCombineText::combineText): Start off with the original font; restore it if
43739        the text cannot be combined.
43740        * rendering/RenderCombineText.h:
43741        (WebCore::RenderCombineText::originalFont): Added. Returns the parent’s font.
43742
437432011-03-14  Pavel Podivilov  <podivilov@chromium.org>
43744
43745        Reviewed by Yury Semikhatsky.
43746
43747        Web Inspector: refactor event listener breakpoints.
43748        https://bugs.webkit.org/show_bug.cgi?id=56305
43749
43750        - restore event listener breakpoints one by one instead of using setAllBrowserBreakpoints
43751        - store event listener breakpoints in a separate separate setting
43752        - move presentation-related code from BreakpointManager to EventListenerBreakpointsSidebarPane
43753
43754        Test: inspector/debugger/event-listener-breakpoints.html
43755
43756        * inspector/Inspector.idl:
43757        * inspector/InspectorAgent.cpp:
43758        (WebCore::InspectorAgent::setFrontend):
43759        * inspector/InspectorBrowserDebuggerAgent.cpp:
43760        (WebCore::InspectorBrowserDebuggerAgent::setEventListenerBreakpoint):
43761        (WebCore::InspectorBrowserDebuggerAgent::removeEventListenerBreakpoint):
43762        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
43763        (WebCore::InspectorBrowserDebuggerAgent::clear):
43764        * inspector/InspectorBrowserDebuggerAgent.h:
43765        * inspector/InspectorInstrumentation.cpp:
43766        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
43767        * inspector/front-end/BreakpointManager.js:
43768        (WebInspector.BreakpointManager.prototype.setEventListenerBreakpoint):
43769        (WebInspector.BreakpointManager.prototype.removeEventListenerBreakpoint):
43770        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
43771        (WebInspector.BreakpointManager.prototype._projectChanged):
43772        (WebInspector.BreakpointManager.prototype._saveBreakpoints):
43773        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
43774        (WebInspector.BreakpointManager.prototype._createDOMBreakpointId):
43775        * inspector/front-end/BreakpointsSidebarPane.js:
43776        (WebInspector.EventListenerBreakpointsSidebarPane):
43777        (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
43778        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._createCategory):
43779        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._categoryCheckboxClicked):
43780        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
43781        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
43782        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
43783        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._updateCategoryCheckbox):
43784        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.highlightBreakpoint):
43785        (WebInspector.EventListenerBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
43786        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._saveBreakpoints):
43787        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._restoreBreakpoints):
43788        * inspector/front-end/CallStackSidebarPane.js:
43789        (WebInspector.CallStackSidebarPane.prototype.update):
43790        (WebInspector.CallStackSidebarPane.prototype.setStatus):
43791        (WebInspector.CallStackSidebarPane.prototype._domBreakpointHit):
43792        * inspector/front-end/ScriptsPanel.js:
43793        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
43794        (WebInspector.ScriptsPanel.prototype._clearInterface):
43795        * inspector/front-end/Settings.js:
43796        (WebInspector.Settings):
43797
437982011-03-16  David Kilzer  <ddkilzer@apple.com>
43799
43800        Minor clean-up after r81156, r81172
43801
43802        Follow-up for:
43803        <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++
43804
43805        * platform/graphics/GraphicsLayer.h: Removed unused @class
43806        WebLayer declaration.
43807        * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef
43808        struct CAPropertyAnimation to class declaration.
43809
438102011-03-16  Andrey Adaikin  <aandrey@google.com>
43811
43812        Reviewed by Yury Semikhatsky.
43813
43814        Web Inspector: Remove live-edit code
43815        https://bugs.webkit.org/show_bug.cgi?id=56177
43816
43817        * inspector/front-end/Settings.js:
43818        * inspector/front-end/SourceFrame.js:
43819        (WebInspector.SourceFrame):
43820        (WebInspector.SourceFrame.prototype._doubleClick):
43821        * inspector/front-end/TextViewer.js:
43822        (WebInspector.TextEditorMainPanel):
43823        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
43824
438252011-03-16  Alexis Menard  <alexis.menard@openbossa.org>
43826
43827        Reviewed by Martin Robinson.
43828
43829        [GStreamer] There is no need to set the state of the pipeline to playing, HTMLMediaElement will do it.
43830        https://bugs.webkit.org/show_bug.cgi?id=56403
43831
43832        In case of a seek on a live pipeline there is no need to call gst_element_set_state(m_playBin, GST_STATE_PLAYING);
43833        As soon as HTMLMediaElement::updatePlayState() is called (like when the data comes in) the playback will be relaunched
43834        i.e the pause() made when beginScrubbing is done is just internal.
43835
43836        No new tests: Verified manually.
43837
43838        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
43839        (WebCore::MediaPlayerPrivateGStreamer::updateStates):
43840
438412011-03-16  Adam Barth  <abarth@webkit.org>
43842
43843        Reviewed by Eric Seidel.
43844
43845        WebCore GYP build should build platform/
43846        https://bugs.webkit.org/show_bug.cgi?id=56430
43847
43848        Adding platform/ to the GYP build required disabling
43849        ALWAYS_SEARCH_USER_PATHS, which in turn required fixing some latent
43850        style issues.  I suspect we'll end up excluding some of these files
43851        from the build in the final analysis, but we might as well fix the
43852        style errors while we're here.
43853
43854        * bindings/js/JSMainThreadExecState.h:
43855        * bindings/js/ScheduledAction.h:
43856        * css/CSSPrimitiveValueCache.cpp:
43857        * gyp/WebCore.gyp:
43858        * platform/KillRingNone.cpp:
43859        (WebCore::KillRing::append):
43860        (WebCore::KillRing::prepend):
43861        * platform/graphics/ContextShadow.h:
43862        * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
43863        (WebCore::LoopBlinnPathProcessor::buildContours):
43864        (WebCore::TessellationState::combineCallback):
43865        * platform/graphics/gpu/PODRedBlackTree.h:
43866        (WebCore::PODRedBlackTree::updateNode):
43867        (WebCore::PODRedBlackTree::logIfVerbose):
43868        * platform/graphics/opengl/TextureMapperGL.cpp:
43869        * platform/graphics/opengl/TextureMapperGL.h:
43870        * platform/graphics/texmap/TextureMapper.h:
43871        (WebCore::BitmapTexture::save):
43872        (WebCore::TextureMapper::paintToTarget):
43873        * platform/graphics/texmap/TextureMapperNode.h:
43874
438752011-03-15  Philippe Normand  <pnormand@igalia.com>
43876
43877        Reviewed by Eric Carlson.
43878
43879        [GStreamer] http/tests/media/video-play-stall-before-meta-data.html fails
43880        https://bugs.webkit.org/show_bug.cgi?id=56370
43881
43882        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
43883        (WebCore::mediaPlayerPrivateMessageCallback): Let the
43884        mediaPlayerClient handle the stream error, in this case the
43885        HTMLMediaElement will emit a stalled event.
43886
438872011-03-10  Philippe Normand  <pnormand@igalia.com>
43888
43889        Reviewed by Martin Robinson.
43890
43891        [GStreamer] Frame accurate seeking isn't always accurate
43892        https://bugs.webkit.org/show_bug.cgi?id=55217
43893
43894        Attempt to build the seek GstClockTime position by converting the
43895        float time value to a GTimeVal value rounded at microsecond
43896        precision. Additionally perform the seek with the ACCURATE seek
43897        flag. These modifications at least fix this manual-test:
43898        http://www.massive-interactive.nl/html5_video/smpte_test_universal.html
43899
43900        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
43901        (WebCore::MediaPlayerPrivateGStreamer::currentTime):
43902        (WebCore::MediaPlayerPrivateGStreamer::seek):
43903        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
43904
439052011-03-15  Yury Semikhatsky  <yurys@chromium.org>
43906
43907        Reviewed by Pavel Feldman.
43908
43909        Web Inspector: split InspectorAgent.populateScriptObjects into more granular agent-specific requests
43910        https://bugs.webkit.org/show_bug.cgi?id=56389
43911
43912        Instead of sending one big request populateScriptObjects each agent requests
43913        for initial data in its constructor.
43914
43915        * inspector/Inspector.idl:
43916        * inspector/InspectorAgent.cpp:
43917        (WebCore::InspectorAgent::InspectorAgent):
43918        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
43919        (WebCore::InspectorAgent::setFrontend):
43920        (WebCore::InspectorAgent::pushDataCollectedOffline):
43921        (WebCore::InspectorAgent::getPreferredPanel):
43922        * inspector/InspectorAgent.h:
43923        * inspector/InspectorDOMAgent.cpp:
43924        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
43925        (WebCore::InspectorDOMAgent::setFrontend):
43926        (WebCore::InspectorDOMAgent::restore):
43927        * inspector/InspectorDOMAgent.h:
43928        (WebCore::InspectorDOMAgent::create):
43929        * inspector/InspectorDebuggerAgent.cpp:
43930        (WebCore::InspectorDebuggerAgent::setFrontend):
43931        * inspector/InspectorDebuggerAgent.h:
43932        * inspector/InspectorProfilerAgent.h:
43933        (WebCore::InspectorProfilerAgent::isEnabled):
43934        * inspector/front-end/ProfilesPanel.js:
43935        (WebInspector.ProfilesPanel):
43936        * inspector/front-end/ScriptsPanel.js:
43937        (WebInspector.ScriptsPanel):
43938        * inspector/front-end/inspector.js:
43939
439402011-03-15  Ryosuke Niwa  <rniwa@webkit.org>
43941
43942        Reviewed by Darin Adler.
43943
43944        Devirtualize isContentEditable and isRichlyContentEditable
43945        https://bugs.webkit.org/show_bug.cgi?id=56421
43946
43947        Rewrote Node::isContentEditable as a non-recursive non-virtual function.
43948
43949        * dom/Document.cpp: Removed isContentEditable and isContentRichlyEditable.
43950        * dom/Document.h: Ditto.
43951        * dom/Node.cpp:
43952        (WebCore::Node::isContentEditable): Rewritten.
43953        * dom/Node.h:
43954        (WebCore::Node::isContentEditable): Calls isContentEditable(Editable).
43955        (WebCore::Node::isContentRichlyEditable): Calls isContentEditable(RichlyEditable).
43956        * html/HTMLElement.cpp: Removed isContentEditable and isContentRichlyEditable.
43957        * html/HTMLElement.h: Ditto.
43958
439592011-03-15  Adam Barth  <abarth@webkit.org>
43960
43961        Reviewed by Eric Seidel.
43962
43963        WebCore GYP build should build inspector/ loader/ mathml/ notifications/ and page/
43964        https://bugs.webkit.org/show_bug.cgi?id=56412
43965
43966        Yay for smooth sailing.
43967
43968        * gyp/WebCore.gyp:
43969
439702011-03-15  Dimitri Glazkov  <dglazkov@chromium.org>
43971
43972        Reviewed by Kent Tamura.
43973
43974        REGRESSION(r76147): A slider thumb that is styled cannot be programmatically moved
43975        https://bugs.webkit.org/show_bug.cgi?id=56059
43976
43977        Test: fast/dom/HTMLInputElement/input-slider-update-styled.html
43978
43979        * html/RangeInputType.cpp:
43980        (WebCore::RangeInputType::valueChanged): Changed to use setPositionFromValue.
43981        * html/shadow/SliderThumbElement.cpp:
43982        (WebCore::SliderThumbElement::setPositionFromValue): Added.
43983        (WebCore::SliderThumbElement::dragFrom): Changed to use setPositionFromPoint.
43984        (WebCore::SliderThumbElement::setPositionFromPoint): Ditto.
43985        (WebCore::SliderThumbElement::defaultEventHandler): Ditto.
43986        * html/shadow/SliderThumbElement.h: Added decls.
43987
439882011-03-15  David Levin  <levin@chromium.org>
43989
43990        Attempted build fix following r81213. Same song second verse.
43991
43992        * platform/image-encoders/skia/PNGImageEncoder.cpp:
43993        (WebCore::encodePixels):
43994
439952011-03-15  David Levin  <levin@chromium.org>
43996
43997        Attempted build fix for Chromium OSX release build following r81213.
43998
43999        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
44000        (WebCore::encodePixels): Change scoping of |pixels| to be after setjmp call.
44001
440022011-03-15  John Bauman  <jbauman@chromium.org>
44003
44004        Reviewed by Kenneth Russell.
44005
44006        Non-premultiplied-alpha canvas attribute is ignore for toDataURL, drawImage, texImage2D
44007        https://bugs.webkit.org/show_bug.cgi?id=56238
44008
44009       Attempt to get an ImageData (non-premultiplied) from a WebGL canvas
44010       instead of getting an ImageBuffer, so there's a chance the data can be
44011       passed straight through to the consumer with no premultiplication
44012       necessary. Fixes Chromium and Safari.
44013
44014        Test: fast/canvas/webgl/premultiplyalpha-test.html
44015
44016        * html/HTMLCanvasElement.cpp:
44017        (WebCore::HTMLCanvasElement::toDataURL):
44018        (WebCore::HTMLCanvasElement::getImageData):
44019        * html/HTMLCanvasElement.h:
44020        * html/canvas/WebGLRenderingContext.cpp:
44021        (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
44022        (WebCore::WebGLRenderingContext::texImage2D):
44023        (WebCore::WebGLRenderingContext::texSubImage2D):
44024        * html/canvas/WebGLRenderingContext.h:
44025        * platform/graphics/GraphicsContext3D.h:
44026        * platform/graphics/ImageBuffer.h:
44027        * platform/graphics/cg/ImageBufferCG.cpp:
44028        (WebCore::CGImageToDataURL):
44029        (WebCore::ImageBuffer::toDataURL):
44030        (WebCore::ImageDataToDataURL):
44031        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
44032        (WebCore::GraphicsContext3D::validateAttributes):
44033        (WebCore::GraphicsContext3D::readRenderingResults):
44034        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
44035        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
44036        * platform/graphics/qt/GraphicsContext3DQt.cpp:
44037        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
44038        * platform/graphics/skia/ImageBufferSkia.cpp:
44039        (WebCore::ImageToDataURL):
44040        (WebCore::ImageBuffer::toDataURL):
44041        (WebCore::ImageDataToDataURL):
44042        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
44043        (WebCore::preMultipliedBGRAtoRGB):
44044        (WebCore::RGBAtoRGB):
44045        (WebCore::encodePixels):
44046        (WebCore::JPEGImageEncoder::encode):
44047        * platform/image-encoders/skia/JPEGImageEncoder.h:
44048        * platform/image-encoders/skia/PNGImageEncoder.cpp:
44049        (WebCore::preMultipliedBGRAtoRGBA):
44050        (WebCore::encodePixels):
44051        (WebCore::PNGImageEncoder::encode):
44052        * platform/image-encoders/skia/PNGImageEncoder.h:
44053
440542011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
44055
44056        [wx] Build fix, only compile the methods when the INDEXED_DATABASE feature is enabled.
44057
44058        * storage/IDBDatabaseCallbacksImpl.cpp:
44059
440602011-03-15  Brady Eidson  <beidson@apple.com>
44061
44062        Build fix after r81208 for https://bugs.webkit.org/show_bug.cgi?id=56425
44063
44064        * loader/icon/IconDatabaseBase.h: #include instead of forward declare.
44065
440662011-03-15  Beth Dakin  <bdakin@apple.com>
44067
44068        Reviewed by Darin Adler.
44069
44070        Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to
44071        send notifications appropriate times (showing up, resizing)
44072        -and corresponding-
44073        https://bugs.webkit.org/show_bug.cgi?id=56067
44074
44075        The general strategy here is to add a HashSet of ScrollableAreas to the page that
44076        can be accessed when necessary to send notifications to all ScrollableAreas. In
44077        turn, all of the ScrollableArea classes that add themselves to the HashSet must
44078        keep a weak pointer to Page so that they can remove themselves without relying on
44079        Frames or Renderers to still have references.
44080
44081        Find layers for relevant node and if the layers are in the Page's ScrollableArea
44082        set, then send the relevant notification.
44083        * page/EventHandler.cpp:
44084        (WebCore::layerForNode):
44085        (WebCore::EventHandler::mouseMoved):
44086        (WebCore::EventHandler::updateMouseEventTargetNode):
44087
44088        When the page is set active or not active, iterate through the Page's
44089        ScrollableAreas to send hide/show notifications.
44090        * page/FocusController.cpp:
44091        (WebCore::FocusController::setActive):
44092
44093        When a FrameView is created, add it to the ScrollableArea set. When it's
44094        destroyed, remove it.
44095        * page/FrameView.cpp:
44096        (WebCore::FrameView::FrameView):
44097        (WebCore::FrameView::~FrameView):
44098
44099        Iterate through the Page's ScrollableAreas to send the paint notification.
44100        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
44101        * page/FrameView.h:
44102        (WebCore::FrameView::disconnectFromPage):
44103
44104        Add the new ScrollableArea set.
44105        * page/Page.cpp:
44106        (WebCore::Page::~Page):
44107        (WebCore::Page::addScrollableArea):
44108(WebCore::Page::removeScrollableArea):
44109        (WebCore::Page::containsScrollableArea):
44110        * page/Page.h:
44111        (WebCore::Page::scrollableAreaSet):
44112
44113        notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
44114        * platform/ScrollView.cpp:
44115        (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
44116
44117        Call notifyPageThatContentAreaWillPaint() instead of calling
44118        contentAreaWillPaint() just for the ScrollView.
44119        (WebCore::ScrollView::paint):
44120        * platform/ScrollView.h:
44121
44122        Add/remove ScrollableAreas to the set. Add new disconnectFromPage().
44123        * platform/ScrollableArea.h:
44124        (WebCore::ScrollableArea::disconnectFromPage):
44125        * rendering/RenderDataGrid.cpp:
44126        (WebCore::RenderDataGrid::RenderDataGrid):
44127        (WebCore::RenderDataGrid::~RenderDataGrid):
44128        * rendering/RenderDataGrid.h:
44129        (WebCore::RenderDataGrid::disconnectFromPage):
44130        * rendering/RenderLayer.cpp:
44131        (WebCore::RenderLayer::RenderLayer):
44132        (WebCore::RenderLayer::~RenderLayer):
44133        * rendering/RenderLayer.h:
44134        (WebCore::RenderLayer::disconnectFromPage):
44135        * rendering/RenderListBox.cpp:
44136        (WebCore::RenderListBox::RenderListBox):
44137        (WebCore::RenderListBox::~RenderListBox):
44138        * rendering/RenderListBox.h:
44139        (WebCore::RenderListBox::disconnectFromPage):
44140
44141        Should have implemented this ScrollableArea-interface function a while ago.
44142        (WebCore::RenderLayer::currentMousePosition):
44143
441442011-03-15  Brady Eidson  <beidson@apple.com>
44145
44146        Reviewed by Sam Weinig.
44147
44148        https://bugs.webkit.org/show_bug.cgi?id=56425
44149        WebKit2 icon database.
44150
44151        * WebCore.exp.in:
44152
441532011-03-15  Adam Barth  <abarth@webkit.org>
44154
44155        Reviewed by Dimitri Glazkov.
44156
44157        WebCore GYP build should build editing, fileapi, history, and html
44158        https://bugs.webkit.org/show_bug.cgi?id=56411
44159
44160        These all went smoothly.
44161
44162        * gyp/WebCore.gyp:
44163
441642011-03-15  Adam Barth  <abarth@webkit.org>
44165
44166        Reviewed by Eric Seidel.
44167
44168        WebCore GYP build should build dom/
44169        https://bugs.webkit.org/show_bug.cgi?id=56409
44170
44171        * gyp/WebCore.gyp:
44172
441732011-03-15  Adam Barth  <abarth@webkit.org>
44174
44175        Reviewed by Eric Seidel.
44176
44177        WebCore GYP build should build css/
44178        https://bugs.webkit.org/show_bug.cgi?id=56408
44179
44180        CSSParser.cpp #includes tokenizer.cpp, which we haven't included in the
44181        build yet.  I've punted on that problem for now, but we'll come back to
44182        it.
44183
44184        * gyp/WebCore.gyp:
44185
441862011-03-15  Adam Barth  <abarth@webkit.org>
44187
44188        Reviewed by Dimitri Glazkov.
44189
44190        WebCore GYP build should build bindings/
44191        https://bugs.webkit.org/show_bug.cgi?id=56406
44192
44193        I wanted to include bindings/objc in this patch, but they were somewhat
44194        complicated.  It looks like they include headers from the output
44195        directory (via PrivateHeaders), but we haven't wired up the
44196        PrivateHeaders yet.
44197
44198        * gyp/WebCore.gyp:
44199
442002011-03-15  James Simonsen  <simonjam@chromium.org>
44201
44202        Reviewed by Tony Gentilcore.
44203
44204        Need different behavior for ensuring execution order of dynamically loaded scripts
44205        https://bugs.webkit.org/show_bug.cgi?id=50115
44206
44207        Dynamically added scripts with async=false will load in parallel, but execute in order.
44208        See: http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#force-async
44209
44210        Tests: fast/dom/HTMLScriptElement/script-async-attr.html
44211               http/tests/misc/script-async-load-execute-in-order.html
44212
44213        * Android.mk: Rename AsyncScriptRunner -> ScriptRunner.
44214        * CMakeLists.txt: Ditto.
44215        * GNUmakefile.am: Ditto.
44216        * WebCore.gypi: Ditto.
44217        * WebCore.pro: Ditto.
44218        * WebCore.vcproj/WebCore.vcproj: Ditto.
44219        * WebCore.xcodeproj/project.pbxproj: Ditto.
44220        * dom/DOMAllInOne.cpp: Ditto.
44221        * dom/Document.cpp:
44222        (WebCore::Document::Document): Ditto.
44223        (WebCore::Document::~Document): Ditto.
44224        * dom/Document.h:
44225        (WebCore::Document::scriptRunner): Ditto.
44226        * dom/ScriptElement.cpp:
44227        (WebCore::ScriptElement::ScriptElement): Added forceAsync and willExecuteInOrder.
44228        (WebCore::ScriptElement::handleAsyncAttribute): Called by HTMLScriptElement when async attribute changes.
44229        (WebCore::ScriptElement::prepareScript): Added support for forceAsync.
44230        (WebCore::ScriptElement::notifyFinished): Tell ScriptRunner to execute in order if needed.
44231        * dom/ScriptElement.h:
44232        (WebCore::ScriptElement::forceAsync): Added.
44233        * dom/ScriptRunner.cpp: Renamed from Source/WebCore/dom/AsyncScriptRunner.cpp.
44234        (WebCore::ScriptRunner::ScriptRunner): Added in-order script queue.
44235        (WebCore::ScriptRunner::~ScriptRunner): Ditto.
44236        (WebCore::ScriptRunner::executeScriptSoon):
44237        (WebCore::ScriptRunner::queueScriptForInOrderExecution): Added.
44238        (WebCore::ScriptRunner::suspend):
44239        (WebCore::ScriptRunner::resume):
44240        (WebCore::ScriptRunner::timerFired): Execute in-order scripts if ready.
44241        * dom/ScriptRunner.h: Renamed from Source/WebCore/dom/AsyncScriptRunner.h.
44242        (WebCore::ScriptRunner::create):
44243        (WebCore::ScriptRunner::hasPendingScripts): Check for in-order scripts too.
44244        * html/HTMLScriptElement.cpp:
44245        (WebCore::HTMLScriptElement::attributeChanged): Notify ScriptElement when async changes.
44246        (WebCore::HTMLScriptElement::setAsync): Ditto.
44247        (WebCore::HTMLScriptElement::async): Include forceAsync in calculation.
44248        * html/HTMLScriptElement.h:
44249        * html/HTMLScriptElement.idl: Removed Reflect from async for custom behavior.
44250        * page/PageGroupLoadDeferrer.cpp:
44251        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer): Rename AsyncScriptRunner -> ScriptRunner.
44252        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer): Ditto.
44253
442542011-03-15  Tony Chang  <tony@chromium.org>
44255
44256        Reviewed by Adam Barth.
44257
44258        pngcrush images used by inspector
44259        https://bugs.webkit.org/show_bug.cgi?id=56426
44260
44261        This saves 120k in WebCore and 8k in WebKit/chromium.  I ran
44262        pngcrush -brute, so none of the meta data (ancillary chunks)
44263        are modified.
44264
44265        No new tests, just compressing png files.
44266
44267        * inspector/front-end/Images/applicationCache.png:
44268        * inspector/front-end/Images/auditsIcon.png:
44269        * inspector/front-end/Images/back.png:
44270        * inspector/front-end/Images/breakpointBorder.png:
44271        * inspector/front-end/Images/breakpointConditionalBorder.png:
44272        * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
44273        * inspector/front-end/Images/breakpointCounterBorder.png:
44274        * inspector/front-end/Images/breakpointsActivateButtonGlyph.png:
44275        * inspector/front-end/Images/breakpointsDeactivateButtonGlyph.png:
44276        * inspector/front-end/Images/checker.png:
44277        * inspector/front-end/Images/clearConsoleButtonGlyph.png:
44278        * inspector/front-end/Images/closeButtons.png:
44279        * inspector/front-end/Images/consoleButtonGlyph.png:
44280        * inspector/front-end/Images/consoleIcon.png:
44281        * inspector/front-end/Images/cookie.png:
44282        * inspector/front-end/Images/database.png:
44283        * inspector/front-end/Images/databaseTable.png:
44284        * inspector/front-end/Images/debuggerContinue.png:
44285        * inspector/front-end/Images/debuggerPause.png:
44286        * inspector/front-end/Images/debuggerStepInto.png:
44287        * inspector/front-end/Images/debuggerStepOut.png:
44288        * inspector/front-end/Images/debuggerStepOver.png:
44289        * inspector/front-end/Images/disclosureTriangleSmallDown.png:
44290        * inspector/front-end/Images/disclosureTriangleSmallDownBlack.png:
44291        * inspector/front-end/Images/disclosureTriangleSmallDownWhite.png:
44292        * inspector/front-end/Images/disclosureTriangleSmallRight.png:
44293        * inspector/front-end/Images/disclosureTriangleSmallRightBlack.png:
44294        * inspector/front-end/Images/disclosureTriangleSmallRightDown.png:
44295        * inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png:
44296        * inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png:
44297        * inspector/front-end/Images/disclosureTriangleSmallRightWhite.png:
44298        * inspector/front-end/Images/dockButtonGlyph.png:
44299        * inspector/front-end/Images/elementsIcon.png:
44300        * inspector/front-end/Images/enableOutlineButtonGlyph.png:
44301        * inspector/front-end/Images/enableSolidButtonGlyph.png:
44302        * inspector/front-end/Images/errorIcon.png:
44303        * inspector/front-end/Images/errorMediumIcon.png:
44304        * inspector/front-end/Images/errorRedDot.png:
44305        * inspector/front-end/Images/excludeButtonGlyph.png:
44306        * inspector/front-end/Images/focusButtonGlyph.png:
44307        * inspector/front-end/Images/forward.png:
44308        * inspector/front-end/Images/frame.png:
44309        * inspector/front-end/Images/garbageCollectButtonGlyph.png:
44310        * inspector/front-end/Images/gearButtonGlyph.png:
44311        * inspector/front-end/Images/glossyHeader.png:
44312        * inspector/front-end/Images/glossyHeaderPressed.png:
44313        * inspector/front-end/Images/glossyHeaderSelected.png:
44314        * inspector/front-end/Images/glossyHeaderSelectedPressed.png:
44315        * inspector/front-end/Images/goArrow.png:
44316        * inspector/front-end/Images/graphLabelCalloutLeft.png:
44317        * inspector/front-end/Images/graphLabelCalloutRight.png:
44318        * inspector/front-end/Images/helpButtonGlyph.png:
44319        * inspector/front-end/Images/largerResourcesButtonGlyph.png:
44320        * inspector/front-end/Images/localStorage.png:
44321        * inspector/front-end/Images/networkIcon.png:
44322        * inspector/front-end/Images/nodeSearchButtonGlyph.png:
44323        * inspector/front-end/Images/paneAddButtons.png:
44324        * inspector/front-end/Images/paneBottomGrow.png:
44325        * inspector/front-end/Images/paneBottomGrowActive.png:
44326        * inspector/front-end/Images/paneGrowHandleLine.png:
44327        * inspector/front-end/Images/paneSettingsButtons.png:
44328        * inspector/front-end/Images/pauseOnExceptionButtonGlyph.png:
44329        * inspector/front-end/Images/percentButtonGlyph.png:
44330        * inspector/front-end/Images/popoverArrows.png:
44331        * inspector/front-end/Images/popoverBackground.png:
44332        * inspector/front-end/Images/profileGroupIcon.png:
44333        * inspector/front-end/Images/profileIcon.png:
44334        * inspector/front-end/Images/profileSmallIcon.png:
44335        * inspector/front-end/Images/profilesIcon.png:
44336        * inspector/front-end/Images/profilesSilhouette.png:
44337        * inspector/front-end/Images/programCounterBorder.png:
44338        * inspector/front-end/Images/radioDot.png:
44339        * inspector/front-end/Images/recordButtonGlyph.png:
44340        * inspector/front-end/Images/recordToggledButtonGlyph.png:
44341        * inspector/front-end/Images/reloadButtonGlyph.png:
44342        * inspector/front-end/Images/resourceCSSIcon.png:
44343        * inspector/front-end/Images/resourceDocumentIcon.png:
44344        * inspector/front-end/Images/resourceDocumentIconSmall.png:
44345        * inspector/front-end/Images/resourceJSIcon.png:
44346        * inspector/front-end/Images/resourcePlainIcon.png:
44347        * inspector/front-end/Images/resourcePlainIconSmall.png:
44348        * inspector/front-end/Images/resourcesIcon.png:
44349        * inspector/front-end/Images/resourcesSizeGraphIcon.png:
44350        * inspector/front-end/Images/resourcesTimeGraphIcon.png:
44351        * inspector/front-end/Images/scriptsIcon.png:
44352        * inspector/front-end/Images/scriptsSilhouette.png:
44353        * inspector/front-end/Images/searchSmallBlue.png:
44354        * inspector/front-end/Images/searchSmallBrightBlue.png:
44355        * inspector/front-end/Images/searchSmallGray.png:
44356        * inspector/front-end/Images/searchSmallWhite.png:
44357        * inspector/front-end/Images/segment.png:
44358        * inspector/front-end/Images/segmentEnd.png:
44359        * inspector/front-end/Images/segmentHover.png:
44360        * inspector/front-end/Images/segmentHoverEnd.png:
44361        * inspector/front-end/Images/segmentSelected.png:
44362        * inspector/front-end/Images/segmentSelectedEnd.png:
44363        * inspector/front-end/Images/sessionStorage.png:
44364        * inspector/front-end/Images/splitviewDimple.png:
44365        * inspector/front-end/Images/splitviewDividerBackground.png:
44366        * inspector/front-end/Images/statusbarButtons.png:
44367        * inspector/front-end/Images/statusbarMenuButton.png:
44368        * inspector/front-end/Images/statusbarMenuButtonSelected.png:
44369        * inspector/front-end/Images/statusbarResizerHorizontal.png:
44370        * inspector/front-end/Images/statusbarResizerVertical.png:
44371        * inspector/front-end/Images/successGreenDot.png:
44372        * inspector/front-end/Images/thumbActiveHoriz.png:
44373        * inspector/front-end/Images/thumbActiveVert.png:
44374        * inspector/front-end/Images/thumbHoriz.png:
44375        * inspector/front-end/Images/thumbHoverHoriz.png:
44376        * inspector/front-end/Images/thumbHoverVert.png:
44377        * inspector/front-end/Images/thumbVert.png:
44378        * inspector/front-end/Images/timelineBarBlue.png:
44379        * inspector/front-end/Images/timelineBarGray.png:
44380        * inspector/front-end/Images/timelineBarGreen.png:
44381        * inspector/front-end/Images/timelineBarOrange.png:
44382        * inspector/front-end/Images/timelineBarPurple.png:
44383        * inspector/front-end/Images/timelineBarRed.png:
44384        * inspector/front-end/Images/timelineBarYellow.png:
44385        * inspector/front-end/Images/timelineCheckmarks.png:
44386        * inspector/front-end/Images/timelineDots.png:
44387        * inspector/front-end/Images/timelineHollowPillBlue.png:
44388        * inspector/front-end/Images/timelineHollowPillGray.png:
44389        * inspector/front-end/Images/timelineHollowPillGreen.png:
44390        * inspector/front-end/Images/timelineHollowPillOrange.png:
44391        * inspector/front-end/Images/timelineHollowPillPurple.png:
44392        * inspector/front-end/Images/timelineHollowPillRed.png:
44393        * inspector/front-end/Images/timelineHollowPillYellow.png:
44394        * inspector/front-end/Images/timelineIcon.png:
44395        * inspector/front-end/Images/timelinePillBlue.png:
44396        * inspector/front-end/Images/timelinePillGray.png:
44397        * inspector/front-end/Images/timelinePillGreen.png:
44398        * inspector/front-end/Images/timelinePillOrange.png:
44399        * inspector/front-end/Images/timelinePillPurple.png:
44400        * inspector/front-end/Images/timelinePillRed.png:
44401        * inspector/front-end/Images/timelinePillYellow.png:
44402        * inspector/front-end/Images/toolbarItemSelected.png:
44403        * inspector/front-end/Images/trackHoriz.png:
44404        * inspector/front-end/Images/trackVert.png:
44405        * inspector/front-end/Images/treeDownTriangleBlack.png:
44406        * inspector/front-end/Images/treeDownTriangleWhite.png:
44407        * inspector/front-end/Images/treeRightTriangleBlack.png:
44408        * inspector/front-end/Images/treeRightTriangleWhite.png:
44409        * inspector/front-end/Images/treeUpTriangleBlack.png:
44410        * inspector/front-end/Images/treeUpTriangleWhite.png:
44411        * inspector/front-end/Images/undockButtonGlyph.png:
44412        * inspector/front-end/Images/userInputIcon.png:
44413        * inspector/front-end/Images/userInputPreviousIcon.png:
44414        * inspector/front-end/Images/userInputResultIcon.png:
44415        * inspector/front-end/Images/warningIcon.png:
44416        * inspector/front-end/Images/warningMediumIcon.png:
44417        * inspector/front-end/Images/warningOrangeDot.png:
44418        * inspector/front-end/Images/warningsErrors.png:
44419
444202011-03-15  Ryosuke Niwa  <rniwa@webkit.org>
44421
44422        Reviewed by Tony Chang.
44423
44424        Crash in ReplaceSelectionCommand::doApply when inserting a node under a document node
44425        https://bugs.webkit.org/show_bug.cgi?id=56372
44426
44427        The bug was caused by insertNodeAfter's calling parentElement on document's child.
44428        Fixed this by changing the node that AppendNodeCommand takes.
44429
44430        There was also a bug that document node always returned false for isContentEditable
44431        and isContentRichlyEditable because they never overrode Node's default implementation.
44432        Fixed this by overriding them in Document.
44433
44434        Test: editing/execCommand/append-node-under-document.html
44435
44436        * dom/Document.cpp:
44437        (WebCore::Document::isContentEditable): Added.
44438        (WebCore::Document::isContentRichlyEditable): Added.
44439        * dom/Document.h:
44440        * editing/AppendNodeCommand.cpp:
44441        (WebCore::AppendNodeCommand::AppendNodeCommand): Takes ContainerNode instead of Element.
44442        * editing/AppendNodeCommand.h:
44443        (WebCore::AppendNodeCommand::create): Ditto.
44444        * editing/CompositeEditCommand.cpp:
44445        (WebCore::CompositeEditCommand::appendNode): Ditto.
44446        (WebCore::CompositeEditCommand::insertNodeAfter): Calls parentNode instead of parentElement.
44447        * editing/CompositeEditCommand.h:
44448
444492011-03-15  David Grogan  <dgrogan@chromium.org>
44450
44451        Reviewed by Jeremy Orlow.
44452
44453        Fix crash caused by Invalid call to destroyActiveDOMObject during stopActiveDOMObjects
44454        https://bugs.webkit.org/show_bug.cgi?id=56350
44455
44456        When a frame is unloaded, ScriptExecutionContext::stopActiveDOMObjects
44457        calls stop() on each ActiveDOMObject.
44458
44459        Calling IDBDatabase::stop() can cause IDBDatabase to be destroyed:
44460        * IDBDatabase::stop() causes the chrome message dispatcher to remove
44461        its reference to IDBDatabase, which it has as type
44462        IDBDatabaseCallbacks.
44463        * If that reference is the last one, the IDBDatabase is destroyed.
44464        * Destroying an ActiveDOMObject while they are being iterated over causes
44465        a defensive crash.
44466
44467        This change creates a separate IDBDatabaseCallbacks object that is not
44468        an ActiveDOMObject, so it can be destroyed by
44469        ScriptExecutionContext::stopActiveDOMObjects.
44470
44471        Because the chrome message dispatcher is only used in multi-process
44472        chromium, that's the only platform affected.  Chromium browser tests
44473        forthcoming.
44474
44475        * WebCore.gypi:
44476        * storage/IDBDatabase.cpp:
44477        (WebCore::IDBDatabase::IDBDatabase):
44478        (WebCore::IDBDatabase::~IDBDatabase):
44479        (WebCore::IDBDatabase::setVersion):
44480        (WebCore::IDBDatabase::close):
44481        (WebCore::IDBDatabase::open):
44482        * storage/IDBDatabase.h:
44483        * storage/IDBDatabaseCallbacks.h:
44484        (WebCore::IDBDatabaseCallbacks::unRegisterDatabase):
44485        * storage/IDBDatabaseCallbacksImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
44486        (WebCore::IDBDatabaseCallbacksImpl::create):
44487        (WebCore::IDBDatabaseCallbacksImpl::IDBDatabaseCallbacksImpl):
44488        (WebCore::IDBDatabaseCallbacksImpl::onVersionChange):
44489        (WebCore::IDBDatabaseCallbacksImpl::unRegisterDatabase):
44490        * storage/IDBDatabaseCallbacksImpl.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
44491        (WebCore::IDBDatabaseCallbacksImpl::~IDBDatabaseCallbacksImpl):
44492
444932011-03-15  Adam Barth  <abarth@webkit.org>
44494
44495        Reviewed by Dimitri Glazkov.
44496
44497        accessibility should build in WebCore GYP build
44498        https://bugs.webkit.org/show_bug.cgi?id=56405
44499
44500        This patch changes our include/exclude strategy to more closely match
44501        the strategy used by the Chromium GYP build system.  Ideally, we'd find
44502        a way to share more of these patterns.  In the meantime, I'm going to
44503        slowly increase the number of translation units in the project and
44504        adjust the include/exclude filters appropriately.
44505
44506        * gyp/WebCore.gyp:
44507
445082011-03-15  Alexey Proskuryakov  <ap@apple.com>
44509
44510        Reviewed by Darin Adler.
44511
44512        REGRESSION (WebKit2): keygen element doesn't work
44513        https://bugs.webkit.org/show_bug.cgi?id=56402
44514        <rdar://problem/9006545>
44515
44516        Covered by existing regresison tests.
44517
44518        * English.lproj/Localizable.strings:
44519
44520        * WebCore.exp.in: Removed WebCoreKeyGenerator, which no longer exists. Added
44521        _wkSignedPublicKeyAndChallengeString, so that this WKSI function could be used in WebCore.
44522
44523        * platform/mac/SSLKeyGeneratorMac.mm: Removed.
44524        * platform/mac/WebCoreKeyGenerator.h: Removed.
44525        * platform/mac/WebCoreKeyGenerator.m: Removed.
44526        * platform/mac/WebCoreSystemInterface.h:
44527        * platform/mac/WebCoreSystemInterface.mm:
44528        * WebCore.xcodeproj/project.pbxproj:
44529        Renamed SSLKeyGeneratorMac.mm to .cpp, as it doesn't use any Objective C any more.
44530        Removed WebCoreKeyGenerator, as we no longer need an interface to WebKit.
44531
44532        * platform/LocalizationStrategy.h:
44533        * platform/LocalizedStrings.cpp:
44534        (WebCore::keygenMenuItem512):
44535        (WebCore::keygenMenuItem1024):
44536        (WebCore::keygenMenuItem2048):
44537        (WebCore::keygenKeychainItemName):
44538        * platform/LocalizedStrings.h:
44539        Added strings used by keygen element, now that the code using them is in WebCore.
44540
44541        * platform/mac/SSLKeyGeneratorMac.cpp: Copied from Source/WebCore/platform/mac/SSLKeyGeneratorMac.mm.
44542        (WebCore::getSupportedKeySizes):
44543        (WebCore::signedPublicKeyAndChallengeString):
44544        Moved the code from WebKit. There is never any need to provide implementation at runtime,
44545        like old code was doing.
44546
44547        * platform/win/SSLKeyGeneratorWin.cpp: (WebCore::WebCore::getSupportedKeySizes):
44548        Added a FIXME about localization. Note that Safari for Windows doesn't support keygen.
44549
445502011-03-15  Anders Carlsson  <andersca@apple.com>
44551
44552        Fix clang build.
44553
44554        * platform/graphics/GraphicsContext3D.h:
44555        * platform/graphics/GraphicsLayer.h:
44556
445572011-03-15  Simon Fraser  <simon.fraser@apple.com>
44558
44559        Fix Lion build after r81161.
44560
44561        Pass the PlatformCALayer down into drawLayerContents()
44562        so we can use its acceleratesDrawing() method.
44563
44564        * platform/graphics/mac/WebLayer.h:
44565        * platform/graphics/mac/WebLayer.mm:
44566        (drawLayerContents):
44567        (-[WebLayer drawInContext:]):
44568        * platform/graphics/mac/WebTiledLayer.mm:
44569        (-[WebTiledLayer drawInContext:]):
44570
445712011-03-15  Alok priyadarshi  <alokp@chromium.org>
44572
44573        Reviewed by James Robinson.
44574
44575        Valgrind error due to uninitialized PluginLayerChromium::m_textureId
44576        https://bugs.webkit.org/show_bug.cgi?id=56390
44577
44578        * platform/graphics/chromium/PluginLayerChromium.cpp:
44579        (WebCore::PluginLayerChromium::PluginLayerChromium):
44580        * platform/graphics/chromium/PluginLayerChromium.h:
44581        (WebCore::PluginLayerChromium::textureId):
44582
445832011-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>
44584
44585        Reviewed by Dirk Schulze.
44586
44587        REGRESSION (r68976): Incorrect bidi rendering in SVG text
44588        https://bugs.webkit.org/show_bug.cgi?id=53980
44589
44590        rework the test engine or SVG "text-intro" tests so we can turn them back on
44591        https://bugs.webkit.org/show_bug.cgi?id=6524
44592
44593        svg/W3C-SVG-1.1/text-intro-0*.svg fail when MS Office fonts are present
44594        https://bugs.webkit.org/show_bug.cgi?id=11662
44595
44596        svg/batik/text/textBiDi.svg failing
44597        https://bugs.webkit.org/show_bug.cgi?id=17392
44598
44599        SVG bidi examples at w3C I18N WG tutorials are not rendered correctly.
44600        https://bugs.webkit.org/show_bug.cgi?id=24374
44601
44602        Implement proper bidirectionality support for SVG text.
44603
44604        BiDi didn't work properly until now, because the x/y/dx/dy/rotate value lists are stored in logical order (aka. in
44605        the order the characters appear in the markup), and when laying out bidi text, we associated the current character
44606        in visual order with the current x/y/dx/dy/rotate value in logical order, messing up RTL text layout.
44607        The BiDi algorithm itself, inherited by RenderBlockLineLayout, works just fine, the inline box tree is correct.
44608
44609        Long story:
44610        Before the inline box tree is created, SVGTextLayoutAttributesBuilder builds a list of x/y/dx/dy/rotate/<text metrics>
44611        for each RenderSVGInlineText* object, called SVGTextLayoutAttributes. This happens in logical order, as specified in
44612        the markup. <text x="10 20" y="10">abcdef</text> creates a SVGTextLayoutAttributes object in the renderer associated with
44613        "abcdef" that contains (10, 20) for x, (10) for y, the dx/dy/rotate lists are empty, and the SVGTextMetrics list holds 6
44614        width/height values for each of the glyphs (and some other infromation, see SVGTextMetrics class).
44615        The SVGTextLayoutAttributes object is _used by_ RenderBlockLineLayout when applying the BiDi algorithm as SVG demands
44616        that BiDi reordering does not happen across text chunks (a text chunk is defined by an absolute position, eg. x="10").
44617
44618        To summarize: SVGTextLayoutAttributes are stored in all RenderSVGInlineText renderers, caching the metrics of all
44619        characters, their position based on the DOM attributes x/y/dx/dy/rotate. Using that information it's possible to
44620        determine whether a position starts a new text chunk, and that's used by RenderBlockLineLayout to create the
44621        inline box tree, in _visual order_, as it will appear on screen.
44622
44623        After the inline box tree is created, the SVGRootInlineBox traverses its children in visual order and feeds the
44624        found text boxes to SVGTextLayoutEngine, which lays out the text on a line or a path, according to SVG text layout
44625        rules. For each character of the passed in InlineTextBox, it determines the x/y/dx/dy/rotate value, and the position
44626        in the <text metrics> list of the renderer. The problem here is that the passed in text boxes are in visual order,
44627        the x/y/.. lists are all in logical order.
44628
44629        Example: <text direction="rtl" unicde-bidi="bidi-override" x="10 20">abcdef</text>, reverse the text direction:
44630                 the visual order now is: "fedcba", where 'f' should be associated with x="10" and 'e' with x="20".
44631
44632        Fix that problem, by computing a list of text boxes in _logical_ order in advance and pass it to SVGTextLayoutEngine,
44633        before it starts processing the boxes in visual order, fed by SVGRootInlineBox. When laying oout text, we can now
44634        process text in visual order, but grab the x/y/.. coordinates from the renderer in logical order.
44635
44636        Some more work was needed to truly fix Arabic. The SVGTextLayoutAttributesBuilder measured all characters isolated,
44637        which is not a problem with latin text, but results in wrong advances for Arabic text, as isolated forms, instead of
44638        shaped forms are measured. This broke text-anchor support, text queries on Arabic text etc. Fixed now, covered by
44639        dozens of new tests.
44640
44641        Tests: svg/W3C-I18N/g-dirLTR-ubNone.svg
44642               svg/W3C-I18N/g-dirLTR-ubOverride.svg
44643               svg/W3C-I18N/g-dirRTL-ubNone.svg
44644               svg/W3C-I18N/g-dirRTL-ubOverride.svg
44645               svg/W3C-I18N/text-anchor-dirLTR-anchorEnd.svg
44646               svg/W3C-I18N/text-anchor-dirLTR-anchorMiddle.svg
44647               svg/W3C-I18N/text-anchor-dirLTR-anchorStart.svg
44648               svg/W3C-I18N/text-anchor-dirNone-anchorEnd.svg
44649               svg/W3C-I18N/text-anchor-dirNone-anchorMiddle.svg
44650               svg/W3C-I18N/text-anchor-dirNone-anchorStart.svg
44651               svg/W3C-I18N/text-anchor-dirRTL-anchorEnd.svg
44652               svg/W3C-I18N/text-anchor-dirRTL-anchorMiddle.svg
44653               svg/W3C-I18N/text-anchor-dirRTL-anchorStart.svg
44654               svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorEnd.svg
44655               svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorMiddle.svg
44656               svg/W3C-I18N/text-anchor-inherited-dirLTR-anchorStart.svg
44657               svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorEnd.svg
44658               svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorMiddle.svg
44659               svg/W3C-I18N/text-anchor-inherited-dirRTL-anchorStart.svg
44660               svg/W3C-I18N/text-anchor-no-markup.svg
44661               svg/W3C-I18N/text-dirLTR-ubNone.svg
44662               svg/W3C-I18N/text-dirLTR-ubOverride.svg
44663               svg/W3C-I18N/text-dirRTL-ubNone.svg
44664               svg/W3C-I18N/text-dirRTL-ubOverride.svg
44665               svg/W3C-I18N/tspan-dirLTR-ubEmbed-in-rtl-context.svg
44666               svg/W3C-I18N/tspan-dirLTR-ubNone-in-rtl-context.svg
44667               svg/W3C-I18N/tspan-dirLTR-ubOverride-in-default-context.svg
44668               svg/W3C-I18N/tspan-dirLTR-ubOverride-in-ltr-context.svg
44669               svg/W3C-I18N/tspan-dirLTR-ubOverride-in-rtl-context.svg
44670               svg/W3C-I18N/tspan-dirNone-ubOverride-in-default-context.svg
44671               svg/W3C-I18N/tspan-dirNone-ubOverride-in-ltr-context.svg
44672               svg/W3C-I18N/tspan-dirNone-ubOverride-in-rtl-context.svg
44673               svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-default-context.svg
44674               svg/W3C-I18N/tspan-dirRTL-ubEmbed-in-ltr-context.svg
44675               svg/W3C-I18N/tspan-dirRTL-ubNone-in-default-context.svg
44676               svg/W3C-I18N/tspan-dirRTL-ubNone-in-ltr-context.svg
44677               svg/W3C-I18N/tspan-dirRTL-ubOverride-in-default-context.svg
44678               svg/W3C-I18N/tspan-dirRTL-ubOverride-in-ltr-context.svg
44679               svg/W3C-I18N/tspan-dirRTL-ubOverride-in-rtl-context.svg
44680               svg/W3C-I18N/tspan-direction-ltr.svg
44681               svg/W3C-I18N/tspan-direction-rtl.svg
44682               svg/W3C-SVG-1.1-SE/text-intro-02-b.svg
44683               svg/W3C-SVG-1.1-SE/text-intro-05-t.svg
44684               svg/W3C-SVG-1.1-SE/text-intro-09-b.svg
44685               svg/W3C-SVG-1.1/text-align-08-b.svg
44686               svg/W3C-SVG-1.1/text-fonts-03-t.svg
44687               svg/W3C-SVG-1.1/text-intro-01-t.svg
44688               svg/W3C-SVG-1.1/text-intro-02-b.svg
44689               svg/W3C-SVG-1.1/text-intro-03-b.svg
44690               svg/W3C-SVG-1.1/text-intro-04-t.svg
44691               svg/text/bidi-reorder-value-lists.svg
44692               svg/text/bidi-text-anchor-direction.svg
44693               svg/text/bidi-text-query.svg
44694               svg/text/bidi-tspans.svg
44695
44696        * rendering/RenderBlockLineLayout.cpp: Remove hack that forced LTR support when unicode-bidi="normal" and handling SVG text.
44697        (WebCore::RenderBlock::determineStartPosition):
44698        * rendering/svg/SVGInlineTextBox.cpp: s/fragment.positionListOffset/fragment.characterOffset/
44699        (WebCore::SVGInlineTextBox::offsetForPositionInFragment):
44700        (WebCore::SVGInlineTextBox::constructTextRun):
44701        (WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):
44702        * rendering/svg/SVGRenderTreeAsText.cpp: Ditto.
44703        (WebCore::writeSVGInlineTextBox):
44704        * rendering/svg/SVGRootInlineBox.cpp: Add new buildTextBoxListInLogicalOrder(), collecting all text boxes recursively in logical order (aka. as specified in markup).
44705                                              This is needed as we have to process x/y/dx/dy/rotate value lists of text/tspan/.. elements in logical order, not in visual
44706                                              order as the characters are presented on screen.
44707        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
44708        (WebCore::SVGRootInlineBox::buildTextBoxListInLogicalOrder):
44709        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
44710        * rendering/svg/SVGRootInlineBox.h:
44711        * rendering/svg/SVGTextChunk.cpp: Cleanup code, minimize SVGTextChunks memory consumption.
44712        (WebCore::SVGTextChunk::SVGTextChunk): A text chunk now know whether its base progress direction is left-to-right or right-to-left.
44713        (WebCore::SVGTextChunk::calculateLength):
44714        (WebCore::SVGTextChunk::calculateTextAnchorShift): Make text-anchor direction aware. text-anchor="start/end" meaning depends on the context (ltr vs. rtl).
44715        * rendering/svg/SVGTextChunk.h: Adapt code, merging three members into a bitfield.
44716        (WebCore::SVGTextChunk::isVerticalText):
44717        (WebCore::SVGTextChunk::hasDesiredTextLength):
44718        (WebCore::SVGTextChunk::hasTextAnchor):
44719        (WebCore::SVGTextChunk::hasLengthAdjustSpacing):
44720        (WebCore::SVGTextChunk::hasLengthAdjustSpacingAndGlyphs):
44721        * rendering/svg/SVGTextChunkBuilder.cpp: Adapt to SVGTextChunk code changes.
44722        (WebCore::SVGTextChunkBuilder::addTextChunk):
44723        (WebCore::SVGTextChunkBuilder::processTextChunk):
44724        * rendering/svg/SVGTextFragment.h: Add metricsListOffset, needed only while laying out text.
44725        (WebCore::SVGTextFragment::SVGTextFragment): Rename positionListOffset to characterOffset, as it describes an offset in the textRenderer->characters() array.
44726        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp
44727        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): Fix measuring Arabic text in LTR/RTL modes. Assure that each SVGTextMetrics object
44728                                                                              that we cache, refers to the _rendered_ character. For Arabic text that means, that we're
44729                                                                              measuring the shaped width of the glyph, not the glyph in its isolated form. Without that
44730                                                                              fix reordering boxes containing Arabic is wrong.
44731        * rendering/svg/SVGTextLayoutEngine.cpp: SVGTextLayoutEngine is fed with text boxes to be laid out in _visual_ order, left-to-right, after the BiDi algorithm
44732                                                 has been applied by RenderBlockLineLayout to create the inline box tree. The coordinates lists x/y/dx/dy/rotate have
44733                                                 to be processed in _logical_ order. SVGRootInlineBox now passes a list of text boxes in logical order to SVGTextLayoutEngine,
44734                                                 to assure it grabs the coordinates from the correct InlineTextBox. See examples at the top of the ChangeLog.
44735        (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
44736        (WebCore::SVGTextLayoutEngine::recordTextFragment): No need to measure text here anymore, SVGTextLayoutAttributesBuilder now provides exact advances for each glyph.
44737                                                            The width of a SVGTextFragment is always equal to the sum of each glyph advance. (This was not the case for
44738                                                            Arabic until now.)
44739        (WebCore::SVGTextLayoutEngine::finalizeTransformMatrices):
44740        (WebCore::SVGTextLayoutEngine::nextLogicalBoxAndOffset): Computes the next logical box and the offset to the next coordinate value in its position list.
44741        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
44742        * rendering/svg/SVGTextLayoutEngine.h: Add CharacterRange helper struct.
44743        (WebCore::SVGTextLayoutEngine::CharacterRange::CharacterRange):
44744        * rendering/svg/SVGTextMetrics.cpp: Remove unused measureAllCharactersIndividually() method.
44745        (WebCore::constructTextRun): Pass direction and unicode-bidi="override" values to the TextRun, otherwhise LTR is always asumed.
44746        * rendering/svg/SVGTextMetrics.h:
44747        (WebCore::SVGTextMetrics::setWidth): Add private setter, only SVGTextLayoutAttributesBuilder is allowed to modify the metrics (to fix up glyph widths for Arabic).
44748        * rendering/svg/SVGTextQuery.cpp: s/fragment.positionListOffset/fragment.characterOffset/
44749        (WebCore::SVGTextQuery::subStringLengthCallback):
44750        (WebCore::SVGTextQuery::startPositionOfCharacterCallback):
44751        (WebCore::SVGTextQuery::endPositionOfCharacterCallback):
44752        (WebCore::calculateGlyphBoundaries):
44753
447542011-03-15  Sergio Villar Senin  <svillar@igalia.com>
44755
44756        Reviewed by Xan Lopez.
44757
44758        [GTK] Fix make distcheck for 1.3.13 release
44759        https://bugs.webkit.org/show_bug.cgi?id=56371
44760
44761        No new tests as this is a build fix.
44762
44763        * GNUmakefile.am: added a couple of missing files.
44764
447652011-03-08  Levi Weintraub  <leviw@chromium.org>
44766
44767        Reviewed by Ryosuke Niwa.
44768
44769        Get rid of firstDeepEditingPositionForNode and lastDeepEditingPositionForNode
44770        https://bugs.webkit.org/show_bug.cgi?id=52642
44771
44772        Replacing calls to first/lastDeepEditingPositionForNode with calls to their analogous
44773        functions that create new positions. Also fixing various parts of editing code that
44774        incorrectly handled the new positions now being created.
44775
44776        No new tests as this is refactoring/cleanup.
44777
44778        * accessibility/AccessibilityRenderObject.cpp:
44779        (WebCore::AccessibilityRenderObject::visiblePositionRange):
44780        * dom/Position.cpp:
44781        (WebCore::Position::parentAnchoredEquivalent):
44782        (WebCore::Position::previous):
44783        (WebCore::Position::next):
44784        (WebCore::Position::atFirstEditingPositionForNode):
44785        (WebCore::Position::atLastEditingPositionForNode):
44786        (WebCore::Position::upstream):
44787        (WebCore::Position::isCandidate):
44788        (WebCore::Position::getInlineBoxAndOffset):
44789        * dom/Position.h:
44790        (WebCore::operator==):
44791        * dom/PositionIterator.cpp:
44792        (WebCore::PositionIterator::operator Position):
44793        * editing/ApplyBlockElementCommand.cpp:
44794        (WebCore::ApplyBlockElementCommand::rangeForParagraphSplittingTextNodesIfNeeded):
44795        * editing/CompositeEditCommand.cpp:
44796        (WebCore::CompositeEditCommand::positionAvoidingSpecialElementBoundary):
44797        * editing/DeleteSelectionCommand.cpp:
44798        (WebCore::isTableCellEmpty):
44799        (WebCore::DeleteSelectionCommand::removeNode):
44800        * editing/InsertLineBreakCommand.cpp:
44801        (WebCore::InsertLineBreakCommand::doApply):
44802        * editing/InsertListCommand.cpp:
44803        (WebCore::InsertListCommand::unlistifyParagraph):
44804        * editing/ReplaceSelectionCommand.cpp:
44805        (WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent):
44806        * editing/TypingCommand.cpp:
44807        (WebCore::TypingCommand::forwardDeleteKeyPressed):
44808        * editing/VisibleSelection.cpp:
44809        (WebCore::VisibleSelection::selectionFromContentsOfNode):
44810        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries):
44811        * editing/htmlediting.cpp:
44812        (WebCore::firstEditablePositionAfterPositionInRoot):
44813        (WebCore::lastEditablePositionBeforePositionInRoot):
44814        (WebCore::enclosingEmptyListItem):
44815        * editing/htmlediting.h:
44816        * editing/visible_units.cpp:
44817        (WebCore::startOfParagraph):
44818        (WebCore::endOfParagraph):
44819        (WebCore::startOfEditableContent):
44820        (WebCore::endOfEditableContent):
44821        * rendering/RenderBox.cpp:
44822        (WebCore::RenderBox::positionForPoint):
44823
448242011-03-15  Beth Dakin  <bdakin@apple.com>
44825
44826        Attempted build fix.
44827
44828        * platform/mac/ScrollAnimatorMac.mm:
44829        (WebCore::ScrollAnimatorMac::cancelAnimations):
44830
448312011-03-15  David Hyatt  <hyatt@apple.com>
44832
44833        Reviewed by Dave Levin.
44834
44835        https://bugs.webkit.org/show_bug.cgi?id=56329
44836
44837        Fix FontCache problems on Linux.  Make sure not to mutate the platform data passed in to SimpleFontData's
44838        constructor.  Change this code to match Mac and to set the new m_hasVerticalGlyphs boolean instead of
44839        mutating orientation.
44840
44841        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
44842        (WebCore::SimpleFontData::platformInit):
44843
448442011-03-15  Simon Fraser  <simon.fraser@apple.com>
44845
44846        Reviewed by Dan Bernstein.
44847
44848        Disable ShadowBlur shadow drawing in accelerated contexts
44849        https://bugs.webkit.org/show_bug.cgi?id=56392
44850
44851        When drawing into a graphics context that is accelerated, don't use
44852        ShadowBlur, because it may be slower.
44853
44854        * platform/graphics/GraphicsContext.h:
44855        * platform/graphics/cg/GraphicsContextCG.cpp:
44856        (WebCore::GraphicsContext::fillRect):
44857        (WebCore::GraphicsContext::fillRoundedRect):
44858        (WebCore::GraphicsContext::fillRectWithRoundedHole):
44859        (WebCore::GraphicsContext::setIsCALayerContext):
44860        (WebCore::GraphicsContext::isCALayerContext):
44861        (WebCore::GraphicsContext::setIsAcceleratedContext):
44862        (WebCore::GraphicsContext::isAcceleratedContext):
44863        * platform/graphics/cg/GraphicsContextPlatformPrivateCG.h:
44864        (WebCore::GraphicsContextPlatformPrivate::GraphicsContextPlatformPrivate):
44865        * platform/graphics/mac/WebLayer.mm:
44866        (drawLayerContents):
44867
448682011-03-15  Beth Dakin  <bdakin@apple.com>
44869
44870        Reviewed by Simon Fraser.
44871
44872        Fix for <rdar://problem/9075624> Overlay scrollbars slow down PLT by 6%
44873
44874        Tell the ScrollAnimator to cancelAnimations() since we are navigating to a new
44875        page.
44876        * loader/FrameLoader.cpp:
44877        (WebCore::FrameLoader::transitionToCommitted):
44878
44879        Scroll animations should be suspended if the FrameLoadState is anything but
44880        complete.
44881        * page/FrameView.cpp:
44882        (WebCore::FrameView::shouldSuspendScrollAnimations):
44883        * page/FrameView.h:
44884        * platform/ScrollableArea.h:
44885        (WebCore::ScrollableArea::shouldSuspendScrollAnimations):
44886        * rendering/RenderDataGrid.cpp:
44887        (WebCore::RenderDataGrid::shouldSuspendScrollAnimations):
44888        * rendering/RenderDataGrid.h:
44889        * rendering/RenderLayer.cpp:
44890        (WebCore::RenderLayer::shouldSuspendScrollAnimations):
44891        * rendering/RenderLayer.h:
44892        * rendering/RenderListBox.cpp:
44893        (WebCore::RenderListBox::shouldSuspendScrollAnimations):
44894        * rendering/RenderListBox.h:
44895
44896        New virtual function cancelAnimations() is only needed on the Mac, so the base
44897        class is empty.
44898        * platform/ScrollAnimator.h:
44899        (WebCore::ScrollAnimator::cancelAnimations):
44900
44901        ScrollAnimatorMac needs to keep track of whether the page has been scrolled since
44902        it started loading. If so, we will override optimizations that wait for the
44903        FrameLoadState to be complete before animating scrollbars.
44904        * platform/mac/ScrollAnimatorMac.h:
44905        (WebCore::ScrollAnimatorMac::haveScrolledSincePageLoad):
44906
44907        If the scrollbar animations should be suspended, we start a timer to make sure
44908        that we do flash the scrollbars. Animating the scrollbars is expensive, so this is
44909        both a performance optimization and a UI enhancement since the scrollbar won't
44910        jump around nearly as much on a page load.
44911        * platform/mac/ScrollAnimatorMac.mm:
44912        (-[ScrollbarPainterDelegate cancelAnimations]):
44913        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
44914        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
44915        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
44916        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
44917        (WebCore::ScrollAnimatorMac::scroll):
44918        (WebCore::ScrollAnimatorMac::handleWheelEvent):
44919        (WebCore::ScrollAnimatorMac::cancelAnimations):
44920        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
44921        (WebCore::ScrollAnimatorMac::beginScrollGesture):
44922        (WebCore::ScrollAnimatorMac::startScrollbarPaintTimer):
44923        (WebCore::ScrollAnimatorMac::scrollbarPaintTimerIsActive):
44924        (WebCore::ScrollAnimatorMac::stopScrollbarPaintTimer):
44925        (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
44926
44927        New WebCoreSystemInterface function to force the scrollbars to flash
44928        * WebCore.exp.in:
44929        * platform/mac/WebCoreSystemInterface.h:
44930        * platform/mac/WebCoreSystemInterface.mm:
44931
449322011-03-15  Dimitri Glazkov  <dglazkov@chromium.org>
44933
44934        Reviewed by Adam Barth.
44935
44936        Remove stale comment at RenderStyle::diff.
44937        https://bugs.webkit.org/show_bug.cgi?id=56387
44938
44939        * rendering/style/RenderStyle.cpp: Removed comment.
44940
449412011-03-15  David Kilzer  <ddkilzer@apple.com>
44942
44943        <http://webkit.org/b/56381> Objective-C classes should be typedef-ed as structs (not void*) in C++
44944
44945        Reviewed by Simon Fraser.
44946
44947        Typedef-ing Objective-C classes as void* for pure C++ makes it
44948        easier for bugs to creep in because compilers can't do any type
44949        checking for void pointers.
44950
44951        * platform/graphics/GraphicsContext3D.h: Changed typedef
44952        declarations for CALayer and WebGLLayer from void* to structs.
44953        (WebCore::GraphicsContext3D::platformLayer): Changed
44954        static_cast<CALayer*> to reinterpret_cast<CALayer*> now that
44955        CALayer and WebGLLayer are not void pointers.
44956        * platform/graphics/GraphicsLayer.h: Changed typedef declaration
44957        for PlatformLayer from void* to struct CALayer.
44958        * platform/graphics/ca/PlatformCAAnimation.h: Changed typedef
44959        declaration for CAPropertyAnimation from void* to a struct.
44960        Extracted typdef for PlatformAnimationRef.
44961
449622011-03-15  Ilya Sherman  <isherman@chromium.org>
44963
44964        Reviewed by Tony Chang.
44965
44966        Autofilled form elements are assigned fixed background color but not text color
44967        https://bugs.webkit.org/show_bug.cgi?id=48382
44968
44969        Test: fast/forms/input-autofilled.html
44970
44971        * css/html.css:
44972        (input:-webkit-autofill): Added foreground color: #000000
44973        * css/wml.css:
44974        (input:-webkit-autofill): Added foreground color: #000000
44975
449762011-03-15  Alexis Menard  <alexis.menard@openbossa.org>
44977
44978        Reviewed by Eric Carlson.
44979
44980        HTMLMediaElement::mediaPlayerPlaybackStateChanged should not change the "public" state of the element
44981        if it's an internal pause for example.
44982        https://bugs.webkit.org/show_bug.cgi?id=56374
44983
44984        In case of an internal pause, the callback from the mediaplayer should be ignored to avoid reflecting the
44985        change into the DOM.
44986
44987        No new tests: Verified manually.
44988
44989        * html/HTMLMediaElement.cpp:
44990        (WebCore::HTMLMediaElement::mediaPlayerPlaybackStateChanged):
44991
449922011-03-12  Pavel Podivilov  <podivilov@chromium.org>
44993
44994        Reviewed by Yury Semikhatsky.
44995
44996        Web Inspector: re-implement xhr breakpoints.
44997        https://bugs.webkit.org/show_bug.cgi?id=56252
44998
44999        - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints
45000        - store xhr breakpoints in a separate setting
45001        - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane
45002
45003        Test: inspector/debugger/xhr-breakpoints.html
45004
45005        * inspector/InspectorBrowserDebuggerAgent.cpp:
45006        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
45007        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
45008        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
45009        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
45010        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
45011        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
45012        (WebCore::InspectorBrowserDebuggerAgent::clear):
45013        * inspector/InspectorBrowserDebuggerAgent.h:
45014        * inspector/front-end/BreakpointManager.js:
45015        (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
45016        (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
45017        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
45018        (WebInspector.BreakpointManager.prototype._projectChanged):
45019        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
45020        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
45021        * inspector/front-end/BreakpointsSidebarPane.js:
45022        (WebInspector.XHRBreakpointsSidebarPane):
45023        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
45024        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
45025        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
45026        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
45027        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
45028        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
45029        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
45030        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing):
45031        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
45032        (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint):
45033        (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
45034        (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
45035        (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
45036        (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged):
45037        * inspector/front-end/CallStackSidebarPane.js:
45038        (WebInspector.CallStackSidebarPane.prototype.update):
45039        (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
45040        * inspector/front-end/ScriptsPanel.js:
45041        (WebInspector.ScriptsPanel):
45042        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
45043        (WebInspector.ScriptsPanel.prototype._clearInterface):
45044        * inspector/front-end/Settings.js:
45045        (WebInspector.Settings):
45046        * inspector/front-end/inspector.js:
45047        (WebInspector.resetFocusElement):
45048        (WebInspector.set attached):
45049
450502011-03-15  Kevin Ollivier  <kevino@theolliviers.com>
45051
45052        Reviewed by Darin Adler.
45053
45054        Introduce WTF_USE_EXPORT_MACROS, which will allow us to put shared library import/export
45055        info into the headers rather than in export symbol definition files, but disable it on
45056        all platforms initially so we can deal with port build issues one port at a time.
45057
45058        https://bugs.webkit.org/show_bug.cgi?id=27551
45059
45060        * config.h:
45061        * platform/mac/LoggingMac.mm:
45062
450632011-03-15  Ilya Tikhonovsky  <loislo@chromium.org>
45064
45065        Unreviewed build fix.
45066
45067        Chromium: shared lib linux build are failing.
45068
45069        Two exclude rules for LocalizedNumberNone and TextEncodingDetectorNone were added to the wrong library.
45070        It was webcore_remaining instead of webcore_platform.
45071
45072        * WebCore.gyp/WebCore.gyp:
45073
450742011-03-15  Yury Semikhatsky  <yurys@chromium.org>
45075
45076        Reviewed by Pavel Feldman.
45077
45078        Web Inspector: expanding/collapsing object shouldn&apos;t affect outer console.group expansion state
45079        https://bugs.webkit.org/show_bug.cgi?id=56373
45080
45081        * inspector/front-end/Section.js:
45082        (WebInspector.Section):
45083        (WebInspector.Section.prototype.toggleExpanded):
45084        (WebInspector.Section.prototype.handleClick): stop click even propagation if it was handled by this section.
45085
450862011-03-15  Pavel Feldman  <pfeldman@chromium.org>
45087
45088        Reviewed by Yury Semikhatsky.
45089
45090        Web Inspector: crash upon "//html//@id" search in elements panel.
45091        https://bugs.webkit.org/show_bug.cgi?id=56334
45092
45093        * inspector/InspectorDOMAgent.cpp:
45094        * inspector/front-end/ElementsTreeOutline.js:
45095
450962011-03-15  Andrey Kosyakov  <caseq@chromium.org>
45097
45098        Reviewed by Yury Semikhatsky.
45099
45100        Web Inspector: further extension API cleanup (removed inspectedPage, add experimental prefix)
45101        https://bugs.webkit.org/show_bug.cgi?id=56327
45102
45103        * inspector/front-end/ExtensionAPI.js:
45104        (WebInspector.injectedExtensionAPI):
45105        * inspector/front-end/ExtensionAPISchema.json:
45106
451072011-03-15  Yury Semikhatsky  <yurys@chromium.org>
45108
45109        Reviewed by Pavel Feldman.
45110
45111        Web Inspector: when console.groupEnd calls twice
45112        https://bugs.webkit.org/show_bug.cgi?id=56114
45113
45114        Test: inspector/console/console-nested-group.html
45115
45116        * inspector/ConsoleMessage.h:
45117        (WebCore::ConsoleMessage::type):
45118        * inspector/InspectorConsoleAgent.cpp:
45119        (WebCore::InspectorConsoleAgent::addConsoleMessage): do not coalesce adjacent EndGroup messages.
45120
451212011-03-15  Chris Mumford  <chris.mumford@palm.com>
45122
45123        Reviewed by Adam Barth.
45124
45125        Initializing several member variables that were not initialized in
45126        their constructors. These values were all read prior to initialization
45127        as reported by Valgrind.
45128
45129        No new tests: No feature additions/removals.
45130
45131        * accessibility/AccessibilityImageMapLink.cpp:
45132        (WebCore::AccessibilityImageMapLink::AccessibilityImageMapLink):
45133        * editing/DeleteSelectionCommand.cpp:
45134        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
45135        * html/HTMLCanvasElement.cpp:
45136        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
45137        * xml/XPathResult.cpp:
45138        (WebCore::XPathResult::XPathResult):
45139
451402011-03-15  Ben Taylor  <bentaylor.solx86@gmail.com>
45141
45142        Reviewed by Adam Barth.
45143
45144        https://bugs.webkit.org/show_bug.cgi?id=56255
45145        Fix build on Solaris 10/Sun Studio 12 C++
45146
45147        No new tests. This is to fix compilation on Solaris 10 with Sun Studio 12 C++
45148
45149        * bridge/runtime_array.h:
45150        (JSC::RuntimeArray::getConcreteArray):
45151
451522011-03-14  Sam Weinig  <sam@webkit.org>
45153
45154        Reviewed by Adam Roben
45155
45156        about:blank fake responses don't get serialized when sent the UIProcess
45157        <rdar://problem/9108119>
45158        https://bugs.webkit.org/show_bug.cgi?id=56357
45159
45160        Test: AboutBlankLoad
45161
45162        * platform/network/cf/ResourceResponse.h:
45163        * platform/network/cf/ResourceResponseCFNet.cpp:
45164        (WebCore::ResourceResponse::cfURLResponse):
45165        Create a CFURLResponseRef if one does not exist yet as we do for
45166        NSURLResponses on the mac.
45167
451682011-03-14  Alexis Menard  <alexis.menard@openbossa.org>
45169
45170        Reviewed by Kenneth Rohde Christiansen.
45171
45172        [Qt] Seeking videos using the timeline bar does not work properly and stop the video playback.
45173        https://bugs.webkit.org/show_bug.cgi?id=56145
45174
45175        We do not need seekTimeout and queuedSeekTimeout anymore. setPosition on QMediaPlayer is good enough.
45176        positionChanged() will be emitted when the data is buffered. On Linux the signal was not emitted because
45177        of a bug in QtMultimedia.
45178
45179        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
45180        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
45181        (WebCore::MediaPlayerPrivateQt::seek):
45182        (WebCore::MediaPlayerPrivateQt::stateChanged):
45183        (WebCore::MediaPlayerPrivateQt::positionChanged):
45184        * platform/graphics/qt/MediaPlayerPrivateQt.h:
45185
451862011-03-14  Alexey Proskuryakov  <ap@apple.com>
45187
45188        Reviewed by Adam Roben.
45189
45190        https://bugs.webkit.org/show_bug.cgi?id=44138
45191        Crash beneath SocketStreamHandle::readStreamCallback when running websocket/tests/workers/worker-handshake-challenge-randomness.html
45192
45193        https://bugs.webkit.org/show_bug.cgi?id=55375
45194        http/tests/websocket/tests/reload-crash.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows
45195
45196        https://bugs.webkit.org/show_bug.cgi?id=56185
45197        http/tests/websocket/tests/url-with-credential.html sometimes crashes beneath SocketStreamHandle::readStreamCallback on Windows
45198
45199        * platform/network/cf/SocketStreamHandle.h: Made SocketStreamHandle ThreadSafeShared, so that
45200        a pointer can be passed across threads when wrapped in a RefPtr.
45201
45202        * platform/network/cf/SocketStreamHandleCFNet.cpp: Make sure that an object still exists
45203        when executing a method on main thread by using RefPtr.
45204
452052011-03-14  Sam Weinig  <sam@webkit.org>
45206
45207        Mac build fix. Part 1 of N.
45208
45209        * WebCore.exp.in:
45210
452112011-03-14  Joseph Pecoraro  <joepeck@webkit.org>
45212
45213        Reviewed by Eric Carlson.
45214
45215        Stalled media elements don't stop delaying the load event
45216        https://bugs.webkit.org/show_bug.cgi?id=56316
45217
45218        We should stop delaying the load event when the load has
45219        stalled naturally, or if we require a user gesture to
45220        continue the load.
45221
45222        Test: http/tests/media/video-play-stall-before-meta-data.html
45223
45224        * html/HTMLMediaElement.cpp:
45225        (WebCore::HTMLMediaElement::setNetworkState): when suspending, stop delaying.
45226        (WebCore::HTMLMediaElement::progressEventTimerFired): when stalling, stop delaying.
45227
452282011-03-13  MORITA Hajime  <morrita@google.com>
45229
45230        Reviewed by Tony Chang.
45231
45232        Crash when dragging and dropping in a document with an invalid XHTML header
45233        https://bugs.webkit.org/show_bug.cgi?id=48799
45234
45235        DragController tried to dispatch textInput event even when the
45236        drag destination is not the editable area.
45237        This change skips the event dispatching on that case.
45238
45239        Test: editing/pasteboard/drop-file-svg.html
45240
45241        * page/DragController.cpp:
45242        (WebCore::DragController::dispatchTextInputEventFor):
45243        (WebCore::DragController::concludeEditDrag):
45244
452452011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
45246
45247        Unreviewed, rolling out r81094.
45248        http://trac.webkit.org/changeset/81094
45249        https://bugs.webkit.org/show_bug.cgi?id=56355
45250
45251        Broke the chromium DRT related build. (Requested by dave_levin
45252        on #webkit).
45253
45254        * WebCore.exp.in:
45255        * WebCore.order:
45256        * page/Frame.cpp:
45257        (WebCore::Frame::layerTreeAsText):
45258        * page/Frame.h:
45259        * rendering/RenderLayerCompositor.cpp:
45260        (WebCore::RenderLayerCompositor::layerTreeAsText):
45261        * rendering/RenderLayerCompositor.h:
45262
452632011-03-14  Adam Barth  <abarth@webkit.org>
45264
45265        Apparently we need to exclude DefaultSharedWorkerRepository.cpp from
45266        the Chromium build, otherwise the objects visible in the global scope
45267        change.
45268
45269        * WebCore.gyp/WebCore.gyp:
45270
452712011-03-14  Adam Barth  <abarth@webkit.org>
45272
45273        Attempted Chromium build fix.  Exclude AllInOne harder.
45274
45275        * WebCore.gyp/WebCore.gyp:
45276
452772011-03-14  Ryosuke Niwa  <rniwa@webkit.org>
45278
45279        Reviewed by Darin Adler.
45280
45281        EventHandler calls shouldChangeSelection needlessly
45282        https://bugs.webkit.org/show_bug.cgi?id=56324
45283
45284        Extracted setSelectionIfNeeded and setNonDirectionalSelectionIfNeeded and
45285        avoided calling shouldChangeSelection and setSelection when the existing
45286        selection is identical to that of new selection.
45287
45288        * page/EventHandler.cpp:
45289        (WebCore::setSelectionIfNeeded): Extracted.
45290        (WebCore::setNonDirectionalSelectionIfNeeded): Extracted.
45291        (WebCore::EventHandler::selectClosestWordFromMouseEvent): Calls a helper function above.
45292        (WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
45293        (WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
45294        (WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
45295        (WebCore::EventHandler::updateSelectionForMouseDrag): Ditto.
45296        (WebCore::EventHandler::handleMouseReleaseEvent): Ditto.
45297
452982011-03-14  Daniel Sievers  <sievers@google.com>
45299
45300        Reviewed by Simon Fraser.
45301
45302        [Chromium] Make RenderAsTextBehavior and LayerTreeAsTextBehavior tweakable from the DumpRenderTree commandline
45303        https://bugs.webkit.org/show_bug.cgi?id=56139
45304
45305        * WebCore.exp.in:
45306        * WebCore.order:
45307        * page/Frame.cpp:
45308        (WebCore::Frame::layerTreeAsText):
45309        * page/Frame.h:
45310        * rendering/RenderLayerCompositor.cpp:
45311        (WebCore::RenderLayerCompositor::layerTreeAsText):
45312        * rendering/RenderLayerCompositor.h:
45313
453142011-03-14  Adam Barth  <abarth@webkit.org>
45315
45316        Reviewed by Dimitri Glazkov.
45317
45318        Add remaining files to WebCore.gypi
45319        https://bugs.webkit.org/show_bug.cgi?id=56351
45320
45321        Adding the remaining files to WebCore.gypi required updating the
45322        include/exclude lists in WebCore.gyp.  These lists aren't overly
45323        elegant, but we can try to improve them in the future.
45324
45325        * WebCore.gyp/WebCore.gyp:
45326        * WebCore.gypi:
45327        * bindings/v8/ScriptCachedFrameData.cpp:
45328            - Added ifdefs to this file to match the header.
45329        * platform/graphics/WOFFFileFormat.cpp:
45330            - Fixed build error when compiling without ENABLE(OPENTYPE_SANITIZER).
45331
453322011-03-14  Anton Muhin  <antonm@chromium.org>
45333
45334        Reviewed by Adam Barth.
45335
45336        [v8] Rework object group building.
45337        https://bugs.webkit.org/show_bug.cgi?id=55399
45338
45339        Instead of going top-down (from owner to owned elements), go up---from objects
45340        to their group ids.  That fits better to v8's object grouping model and guarantees
45341        that each wrapper belongs to the single group.
45342
45343        Alas, this cannot be implemented for one kind of objects---CSSProperties.
45344
45345        Part of core GC algorithm and tested extensively by exisiting layout tests.
45346
45347        * bindings/scripts/CodeGeneratorV8.pm:
45348        * bindings/scripts/test/V8/V8TestInterface.cpp:
45349        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
45350        * bindings/scripts/test/V8/V8TestObj.cpp:
45351        * bindings/v8/V8GCController.cpp:
45352        (WebCore::calculateGroupId):
45353        (WebCore::calculateRootStyleSheet):
45354        (WebCore::GrouperVisitor::visitDOMWrapper):
45355        (WebCore::GrouperVisitor::applyGrouping):
45356        (WebCore::V8GCController::gcPrologue):
45357        * bindings/v8/WrapperTypeInfo.h:
45358        (WebCore::WrapperTypeInfo::isSubclass):
45359        * css/CSSRuleList.h:
45360        (WebCore::CSSRuleList::styleList):
45361        * css/StyleSheetList.h:
45362        (WebCore::StyleSheetList::document):
45363
453642011-03-14  Kent Tamura  <tkent@chromium.org>
45365
45366        Reviewed by James Robinson.
45367
45368        Assertion failure by form validation message for <select required> with float:left
45369        https://bugs.webkit.org/show_bug.cgi?id=55995
45370
45371        Test: fast/forms/interactive-validation-select-crash.html
45372
45373        * rendering/RenderBlock.cpp:
45374        (WebCore::canMergeContiguousAnonymousBlocks):
45375          isAnonymousBlock() doesn't mean it is a RenderBlock. We need to check isRenderBlock().
45376
453772011-03-14  Balazs Kelemen  <kbalazs@webkit.org>
45378
45379        Reviewed by Adam Roben.
45380
45381        [Qt][WK2]Unbreak InjectedBundle on Qt
45382        https://bugs.webkit.org/show_bug.cgi?id=54109
45383
45384        No code changes so no new tests.
45385
45386        Revert the changes that were needed to use KURL
45387        in WebKitTestRunner.
45388
45389        * Configurations/WebCore.xcconfig:
45390        * WebCore.exp.in:
45391
453922011-03-14  Jarkko Sakkinen  <jarkko.j.sakkinen@gmail.com>
45393
45394        Reviewed by Kenneth Rohde Christiansen.
45395
45396        [Qt] Compilation fails with --3d-canvas
45397        https://bugs.webkit.org/show_bug.cgi?id=55964
45398
45399        * WebCore.pro:
45400        * platform/graphics/qt/Extensions3DQt.cpp:
45401
454022011-03-14  Brian Weinstein  <bweinstein@apple.com>
45403
45404        Reviewed by Adam Roben and Gavin Barraclough.
45405
45406        FileSystemWin.cpp needs listDirectory() implementation
45407        https://bugs.webkit.org/show_bug.cgi?id=56331
45408        <rdar://problem/9126635>
45409
45410        Move PathWalker from an inline class in WebKit2 to its own class in WebCore,
45411        so it can be used from both WebCore and WebKit2.
45412
45413        Implement FileSystemWin::listDirectory using PathWalker to populate the Vector
45414        of paths matching the passed in pattern.
45415
45416        * WebCore.vcproj/WebCore.vcproj:
45417        * platform/win/FileSystemWin.cpp:
45418        (WebCore::listDirectory): Call through to PathWalker.
45419        * platform/win/PathWalker.cpp: Added.
45420        (WebCore::PathWalker::PathWalker): Moved from WebKit2. Added a second argument
45421            for the pattern to pass to the Windows File APIs.
45422        (WebCore::PathWalker::~PathWalker): Moved from WebKit2.
45423        (WebCore::PathWalker::isValid): Ditto.
45424        (WebCore::PathWalker::data): Ditto.
45425        (WebCore::PathWalker::step): Ditto.
45426        * platform/win/PathWalker.h: Added.
45427
454282011-03-14  Brady Eidson  <beidson@apple.com>
45429
45430        Reviewed by Anders Carlsson.
45431
45432        https://bugs.webkit.org/show_bug.cgi?id=56320
45433        Remove HistoryItem::icon() and the WebCore dependency on "IconDatabaseBase::defaultIcon()"
45434
45435        Remove HistoryItem::icon():
45436        * history/HistoryItem.cpp:
45437        * history/HistoryItem.h:
45438        * WebCore.exp.in:
45439
45440        * loader/icon/IconDatabaseBase.h:
45441        (WebCore::IconDatabaseBase::defaultIcon):
45442
454432011-03-14  Andy Estes  <aestes@apple.com>
45444
45445        Reviewed by Darin Adler.
45446
45447        Timer-based events should inherit the user gesture state of their
45448        originating event in certain cases.
45449        https://bugs.webkit.org/show_bug.cgi?id=55104
45450
45451        If a timer is installed by a gesture-originated event and will fire
45452        within one second, the timer-initiated event should behave as if it
45453        were also initiated by a user gesture. Multi-shot timers should only
45454        get this behavior on their first execution. Nested timers should not
45455        get this behavior. This makes us compatible with Gecko when handling
45456        popups and file chooser dialogs created from timer events.
45457
45458        Test: fast/events/popup-blocking-timers.html
45459
45460        * page/DOMTimer.cpp:
45461        (WebCore::timeoutId): Create a helper function so that m_timeoutId can
45462        be initialized in the data member initialization list.
45463        (WebCore::shouldForwardUserGesture): Ditto, but for
45464        m_shouldForwardUserGesture.
45465        (WebCore::DOMTimer::DOMTimer): Move initialization of data members from
45466        the ctor body to the data member initialization list. Also rename the
45467        argument 'timeout' to 'interval'.
45468        (WebCore::DOMTimer::fired): Create a UserGestureIndicator and set its
45469        state based on the value of m_shouldForwardUserGesture.
45470        (WebCore::DOMTimer::adjustMinimumTimerInterval): m_originalTimeout was
45471        renamed to m_originalInterval.
45472        * page/DOMTimer.h: Add m_shouldForwardUserGesture and rename
45473        m_originalTimeout to m_originalInterval.
45474
454752011-03-09  Levi Weintraub  <leviw@chromium.org>
45476
45477        Reviewed by Ryosuke Niwa.
45478
45479        Deleting content directly following a button inserts an unnecessary placeholder
45480        https://bugs.webkit.org/show_bug.cgi?id=56053
45481
45482        Fixing a use of Node's enclosingBlockFlowElement with enclosingBlock htmlediting's
45483        enclosingBlock, as enclosingBlockFlowElement would return inline-block elements despite
45484        DeleteSelectionCommand treating them as blockflow.
45485
45486        Test: editing/deleting/delete-inserts-br-after-button.html
45487
45488        * editing/DeleteSelectionCommand.cpp:
45489        (WebCore::DeleteSelectionCommand::mergeParagraphs):
45490
454912011-03-14  David Hyatt  <hyatt@apple.com>
45492
45493        Reviewed by Dan Bernstein.
45494
45495        https://bugs.webkit.org/show_bug.cgi?id=45164
45496
45497        REGRESSION: <a><img align=top></a> Clickable area too large
45498
45499        Make sure to clamp hit testing of quirky inline flow boxes the same way we already clamped
45500        painting.
45501
45502        * rendering/InlineFlowBox.cpp:
45503        (WebCore::InlineFlowBox::nodeAtPoint):
45504
455052011-03-14  Chris Marrin  <cmarrin@apple.com>
45506
45507        Reviewed by Adam Roben.
45508
45509        REGRESSION (r75138-r75503): Animations on Apple HTML5 Gallery demo are wrong
45510        https://bugs.webkit.org/show_bug.cgi?id=52845
45511
45512        The lastCommitTime() value in CACFLayerTreeHost was returning as the time
45513        the render previous to this one happened. That often made it seem like
45514        animations started more in the past than they did, breaking many animations.
45515        The startAnimations() call actually fires from a CACF callback after all the
45516        WebKit content has been rendered. So sending currentTime as the start time
45517        to the animations is close enough for proper synchronization.
45518
45519        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
45520        (WebCore::CACFLayerTreeHost::notifyAnimationsStarted):
45521
455222011-03-11  Ryosuke Niwa  <rniwa@webkit.org>
45523
45524        Reviewed by Tony Chang.
45525
45526        Selection uses first mousemove's localRect instead of that of mousedown
45527        https://bugs.webkit.org/show_bug.cgi?id=56213
45528
45529        Fixed the bug by adding an extra call to updateSelectionForMouseDrag in handleMouseDraggedEvent
45530        using the mouse coordinates of the mousedown event that started the drag.
45531
45532        Test: editing/selection/drag-select-rapidly.html
45533
45534        * page/EventHandler.cpp:
45535        (WebCore::EventHandler::handleMouseDraggedEvent):
45536
455372011-03-14  Mark Rowe  <mrowe@apple.com>
45538
45539        Reviewed by Timothy Hatcher.
45540
45541        Apply a large, blunt object directly to the skull of the Leopard build.
45542
45543        * Configurations/Base.xcconfig: Disable the generation of debugging symbols when
45544        building the Debug configuration on Leopard. This should cut the size of the object
45545        files that the linker needs to process by over 85%. This will hopefully allow them
45546        to fit in to the 32-bit address space of the Leopard linker.
45547
455482011-03-14  David Hyatt  <hyatt@apple.com>
45549
45550        Reviewed by Beth Dakin.
45551
45552        https://bugs.webkit.org/show_bug.cgi?id=56246
45553
45554        Add support for relative positioning to table cells.   Back out the code that hacked around the lack of support
45555        for offsetLeft, and add new tests to demonstrate that relative positioning works.
45556
45557        * css/CSSStyleSelector.cpp:
45558        (WebCore::CSSStyleSelector::adjustRenderStyle):
45559        * rendering/RenderObject.cpp:
45560        (WebCore::RenderObject::offsetParent):
45561        * rendering/RenderObject.h:
45562        (WebCore::RenderObject::isRelPositioned):
45563        * rendering/RenderTableCell.h:
45564        * rendering/style/RenderStyle.h:
45565        * rendering/style/StyleRareNonInheritedData.cpp:
45566        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
45567        (WebCore::StyleRareNonInheritedData::operator==):
45568        * rendering/style/StyleRareNonInheritedData.h:
45569
455702011-03-14  David Hyatt  <hyatt@apple.com>
45571
45572        Reviewed by Beth Dakin.
45573
45574        Partial backout of https://bugs.webkit.org/show_bug.cgi?id=56230.  Go back to repainting the root
45575        layer, since first layouts and printing mess up otherwise.
45576
45577        * page/FrameView.cpp:
45578        (WebCore::FrameView::layout):
45579
455802011-03-11  David Hyatt  <hyatt@apple.com>
45581
45582        Reviewed by Simon Fraser.
45583
45584        Clean up full repainting of layers during layout and at other times.  Platforms that did not do an invalidation on
45585        size changes were incorrectly relying on the DoFullRepaint case of RenderLayer::updateLayerPositions to invalidate
45586        for them. However this code is now wrong, since it assumed that the outermost layer was a RenderView that encompassed
45587        all of the child layers.  This is no longer the case since the overflow changes that tightened up visual overflow
45588        and limited that overflow only to content that the layer painted.
45589
45590        Eliminate the DoFullRepaint flag and actually make no repainting of any kind happen from the layer code if FrameView's
45591        m_doFullRepaint boolean is set.  This will flush out any ports that aren't just invalidating the world on their
45592        own in response to view resizes or fixed layout size changes and force them to fix things to be consistent with
45593        the other ports.
45594
45595        Make the two dynamic calls to updateLayerPositions still do a full repaint by setting the repaint flag on the layer.
45596        I'm suspicious as to the correctness of the repainting in both of these cases (both before and after this patch),
45597        but the behavior should be the same.
45598
45599        No new tests, since this is untestable on ports that invalidate on a resize.
45600
45601        * page/FrameView.cpp:
45602        (WebCore::FrameView::layout):
45603        * rendering/RenderBoxModelObject.cpp:
45604        (WebCore::RenderBoxModelObject::styleDidChange):
45605        * rendering/RenderLayer.cpp:
45606        (WebCore::RenderLayer::updateLayerPositions):
45607        (WebCore::RenderLayer::removeOnlyThisLayer):
45608        * rendering/RenderLayer.h:
45609
456102011-03-11  Oliver Hunt  <oliver@apple.com>
45611
45612        Reviewed by Gavin Barraclough.
45613
45614        Ensure all values are correctly tagged in the registerfile
45615        https://bugs.webkit.org/show_bug.cgi?id=56214
45616
45617        Make sure everything builds still.
45618
45619        * bridge/c/c_class.cpp:
45620        * bridge/c/c_runtime.cpp:
45621        * bridge/jni/JavaMethod.cpp:
45622        * plugins/PluginViewNone.cpp:
45623
456242011-03-14  Luiz Agostini  <luiz.agostini@openbossa.org>
45625
45626        Unreviewed build fix for r81035.
45627
45628        * html/HTMLDetailsElement.cpp:
45629        (WebCore::HTMLDetailsElement::defaultEventHandler):
45630        * rendering/RenderDetailsMarker.cpp:
45631        (WebCore::createDownArrowPath):
45632        (WebCore::createUpArrowPath):
45633        (WebCore::createLeftArrowPath):
45634        (WebCore::createRightArrowPath):
45635
456362011-03-13  Jer Noble  <jer.noble@apple.com>
45637
45638        FullScreen: Handle entering full screen security restrictions
45639        https://bugs.webkit.org/show_bug.cgi?id=56264
45640
45641        Tests: fullscreen/full-screen-iframe-allowed.html
45642               fullscreen/full-screen-iframe-not-allowed.html
45643
45644        Disable full screen documents in the following conditions:
45645        1) requesting element is in an iframe which does not have a
45646        webkitallowfullscreen attribute.
45647        2) page is not processing a user gesture.
45648
45649        * dom/Document.cpp:
45650        (WebCore::Document::fullScreenIsAllowedForElement): Added.  Checks
45651            to see if elements contained in IFRAMES are allowed to
45652            enter full screen.
45653        (WebCore::Document::webkitRequestFullScreenForElement): Checks
45654            if page is currently processing a user gesture.
45655        * dom/Document.h:
45656        * html/HTMLAttributeNames.in: Added webkitallowfullscreenAttr.
45657        * html/HTMLFrameElementBase.cpp:
45658        (WebCore::HTMLFrameElementBase::allowFullScreen): Added.
45659        * html/HTMLFrameElementBase.h:
45660
456612011-03-14  Anton D'Auria  <adauria@apple.com>
45662
45663        Reviewed by David Levin.
45664
45665        REGRESSION(r80892): Use of uninitialized variable "m_syncCloseDatabase" in StorageAreaSync::sync
45666        https://bugs.webkit.org/show_bug.cgi?id=56303
45667
45668        Initialized m_syncCloseDatabase to false in the StorageAreaSync constructor.
45669
45670        * storage/StorageAreaSync.cpp:
45671        (WebCore::StorageAreaSync::StorageAreaSync):
45672
456732011-03-14  Steve Block  <steveblock@google.com>
45674
45675        Reviewed by Oliver Hunt.
45676
45677        JavaMethod.cpp does not compile with V8
45678        https://bugs.webkit.org/show_bug.cgi?id=56306
45679
45680        Moved the ScopeChain.h include to JavaStringJSC.
45681
45682        No new tests, build fix only.
45683
45684        * bridge/jni/JavaMethod.cpp:
45685        * bridge/jni/jsc/JavaStringJSC.h
45686
456872011-02-28  Luiz Agostini  <luiz.agostini@openbossa.org>
45688
45689        Reviewed by Dave Hyatt.
45690
45691        HTML5 <details> and <summary>: rendering
45692        https://bugs.webkit.org/show_bug.cgi?id=51071
45693
45694        Tests: fast/html/details-add-summary-1-and-click.html
45695               fast/html/details-add-summary-1.html
45696               fast/html/details-add-summary-10-and-click.html
45697               fast/html/details-add-summary-10.html
45698               fast/html/details-add-summary-2-and-click.html
45699               fast/html/details-add-summary-2.html
45700               fast/html/details-add-summary-3-and-click.html
45701               fast/html/details-add-summary-3.html
45702               fast/html/details-add-summary-4-and-click.html
45703               fast/html/details-add-summary-4.html
45704               fast/html/details-add-summary-5-and-click.html
45705               fast/html/details-add-summary-5.html
45706               fast/html/details-add-summary-6-and-click.html
45707               fast/html/details-add-summary-6.html
45708               fast/html/details-add-summary-7-and-click.html
45709               fast/html/details-add-summary-7.html
45710               fast/html/details-add-summary-8-and-click.html
45711               fast/html/details-add-summary-8.html
45712               fast/html/details-add-summary-9-and-click.html
45713               fast/html/details-add-summary-9.html
45714               fast/html/details-mouse-click.html
45715               fast/html/details-no-summary1.html
45716               fast/html/details-no-summary2.html
45717               fast/html/details-no-summary3.html
45718               fast/html/details-no-summary4.html
45719               fast/html/details-open-javascript.html
45720               fast/html/details-open1.html
45721               fast/html/details-open2.html
45722               fast/html/details-open3.html
45723               fast/html/details-open4.html
45724               fast/html/details-open5.html
45725               fast/html/details-open6.html
45726               fast/html/details-position.html
45727               fast/html/details-remove-summary-1-and-click.html
45728               fast/html/details-remove-summary-1.html
45729               fast/html/details-remove-summary-2-and-click.html
45730               fast/html/details-remove-summary-2.html
45731               fast/html/details-remove-summary-3-and-click.html
45732               fast/html/details-remove-summary-3.html
45733               fast/html/details-remove-summary-4-and-click.html
45734               fast/html/details-remove-summary-4.html
45735               fast/html/details-remove-summary-5-and-click.html
45736               fast/html/details-remove-summary-5.html
45737               fast/html/details-remove-summary-6-and-click.html
45738               fast/html/details-remove-summary-6.html
45739               fast/html/details-writing-mode.html
45740
45741        http://www.w3.org/TR/html5/interactive-elements.html#the-details-element
45742
45743        The main <summary> element is the first <summary> element of a <details> element.
45744        All other childs of the <details> element are rendered only if the attribute 'open' is set.
45745        Click event toggles the 'open' attribute.
45746
45747        * html/HTMLDetailsElement.cpp:
45748        (WebCore::HTMLDetailsElement::HTMLDetailsElement):
45749        (WebCore::HTMLDetailsElement::findMainSummary):
45750        (WebCore::HTMLDetailsElement::childrenChanged):
45751        (WebCore::HTMLDetailsElement::finishParsingChildren):
45752        (WebCore::HTMLDetailsElement::parseMappedAttribute):
45753        (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
45754        (WebCore::HTMLDetailsElement::defaultEventHandler):
45755        * html/HTMLDetailsElement.h:
45756        (WebCore::HTMLDetailsElement::mainSummary):
45757
45758        Method createRenderer added to class HTMLSummaryElement.
45759
45760        * html/HTMLSummaryElement.cpp:
45761        (WebCore::HTMLSummaryElement::createRenderer):
45762        * html/HTMLSummaryElement.h:
45763
45764        The first <summary> element is positioned at the top of its <details> parent.
45765        The area occupied by this main <summary> element is the interactive area of the
45766        <details> element. If the <details> tag has no <summary> child an OwnedSummaryRenderer
45767        is created and added to the corresponding RenderDetails object.
45768
45769        * rendering/RenderDetails.cpp:
45770        (WebCore::RenderDetails::RenderDetails):
45771        (WebCore::RenderDetails::destroy):
45772        (WebCore::RenderDetails::summaryBlock):
45773        (WebCore::RenderDetails::contentBlock):
45774        (WebCore::RenderDetails::addChild):
45775        (WebCore::RenderDetails::removeChild):
45776        (WebCore::RenderDetails::setMarkerStyle):
45777        (WebCore::RenderDetails::styleDidChange):
45778        (WebCore::RenderDetails::getRenderPosition):
45779        (WebCore::RenderDetails::markerDestroyed):
45780        (WebCore::RenderDetails::summaryDestroyed):
45781        (WebCore::RenderDetails::moveSummaryToContents):
45782        (WebCore::RenderDetails::createSummaryStyle):
45783        (WebCore::RenderDetails::replaceMainSummary):
45784        (WebCore::RenderDetails::createDefaultSummary):
45785        (WebCore::RenderDetails::checkMainSummary):
45786        (WebCore::RenderDetails::layout):
45787        (WebCore::RenderDetails::isOpen):
45788        (WebCore::RenderDetails::getParentOfFirstLineBox):
45789        (WebCore::RenderDetails::firstNonMarkerChild):
45790        (WebCore::RenderDetails::updateMarkerLocation):
45791        * rendering/RenderDetails.h:
45792        (WebCore::RenderDetails::interactiveArea):
45793        (WebCore::RenderDetails::removeLeftoverAnonymousBlock):
45794        (WebCore::RenderDetails::createsAnonymousWrapper):
45795        (WebCore::RenderDetails::requiresForcedStyleRecalcPropagation):
45796
45797        A marker is added to the main <summary> element to indicate the current value of the 'open'
45798        attribute of the <details> element.
45799
45800        * rendering/RenderDetailsMarker.cpp:
45801        (WebCore::RenderDetailsMarker::RenderDetailsMarker):
45802        (WebCore::RenderDetailsMarker::destroy):
45803        (WebCore::RenderDetailsMarker::lineHeight):
45804        (WebCore::RenderDetailsMarker::baselinePosition):
45805        (WebCore::RenderDetailsMarker::computePreferredLogicalWidths):
45806        (WebCore::RenderDetailsMarker::layout):
45807        (WebCore::RenderDetailsMarker::getRelativeMarkerRect):
45808        (WebCore::RenderDetailsMarker::isOpen):
45809        (WebCore::createPath):
45810        (WebCore::createDownArrowPath):
45811        (WebCore::createUpArrowPath):
45812        (WebCore::createLeftArrowPath):
45813        (WebCore::createRightArrowPath):
45814        (WebCore::RenderDetailsMarker::orientation):
45815        (WebCore::RenderDetailsMarker::getCanonicalPath):
45816        (WebCore::RenderDetailsMarker::getPath):
45817        (WebCore::RenderDetailsMarker::paint):
45818        * rendering/RenderDetailsMarker.h:
45819        (WebCore::toRenderDetailsMarker):
45820
45821        * rendering/RenderSummary.cpp:
45822        (WebCore::RenderSummary::RenderSummary):
45823        (WebCore::RenderSummary::destroy):
45824        (WebCore::RenderSummary::parentDetails):
45825        (WebCore::RenderSummary::styleDidChange):
45826        * rendering/RenderSummary.h:
45827
45828        * rendering/RenderTreeAsText.cpp:
45829        (WebCore::RenderTreeAsText::writeRenderObject):
45830
458312011-03-14  Brady Eidson  <beidson@apple.com>
45832
45833        Reviewed by Sam Weinig.
45834
45835        https://bugs.webkit.org/show_bug.cgi?id=56296
45836        Clean up IconDatabaseBase header.
45837
45838        -Get rid of the "PlatformString.h" include and replace it with a forward declaration.
45839        -Group methods by which are used in WebCore directly and which are used in WebKit ports.
45840
45841        This'll make it easier to use in external frameworks (like WebKit2).
45842
45843        * loader/icon/IconDatabase.h:
45844        * loader/icon/IconDatabaseBase.h:
45845        (WebCore::IconDatabaseBase::retainIconForPageURL):
45846        (WebCore::IconDatabaseBase::releaseIconForPageURL):
45847        (WebCore::IconDatabaseBase::iconForPageURL):
45848        (WebCore::IconDatabaseBase::setIconURLForPageURL):
45849        (WebCore::IconDatabaseBase::setIconDataForIconURL):
45850        (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
45851        (WebCore::IconDatabaseBase::loadDecisionForIconURL):
45852        (WebCore::IconDatabaseBase::importIconURLForPageURL):
45853        (WebCore::IconDatabaseBase::importIconDataForIconURL):
45854        (WebCore::IconDatabaseBase::open):
45855
458562011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
45857
45858        Unreviewed, rolling out r81026.
45859        http://trac.webkit.org/changeset/81026
45860        https://bugs.webkit.org/show_bug.cgi?id=56313
45861
45862        Breaks gtk 64-bit tests (Requested by podivilov on #webkit).
45863
45864        * inspector/InspectorBrowserDebuggerAgent.cpp:
45865        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
45866        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
45867        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
45868        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
45869        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
45870        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
45871        (WebCore::InspectorBrowserDebuggerAgent::clear):
45872        * inspector/InspectorBrowserDebuggerAgent.h:
45873        * inspector/front-end/BreakpointManager.js:
45874        (WebInspector.BreakpointManager.prototype.createXHRBreakpoint):
45875        (WebInspector.BreakpointManager.prototype._createXHRBreakpoint):
45876        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
45877        (WebInspector.BreakpointManager.prototype._projectChanged):
45878        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
45879        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
45880        (WebInspector.BreakpointManager.prototype._createXHRBreakpointId):
45881        (WebInspector.XHRBreakpoint):
45882        (WebInspector.XHRBreakpoint.prototype._enable):
45883        (WebInspector.XHRBreakpoint.prototype._disable):
45884        (WebInspector.XHRBreakpoint.prototype._serializeToJSON):
45885        (WebInspector.XHRBreakpointView):
45886        (WebInspector.XHRBreakpointView.prototype.compareTo):
45887        (WebInspector.XHRBreakpointView.prototype.populateEditElement):
45888        (WebInspector.XHRBreakpointView.prototype.populateLabelElement):
45889        (WebInspector.XHRBreakpointView.prototype.populateStatusMessageElement):
45890        * inspector/front-end/BreakpointsSidebarPane.js:
45891        (WebInspector.XHRBreakpointsSidebarPane.addButtonClicked):
45892        (WebInspector.XHRBreakpointsSidebarPane):
45893        (WebInspector.XHRBreakpointsSidebarPane.prototype.addBreakpointItem):
45894        (WebInspector.XHRBreakpointsSidebarPane.prototype._startEditingBreakpoint):
45895        (WebInspector.XHRBreakpointsSidebarPane.prototype._hideEditBreakpointDialog):
45896        * inspector/front-end/CallStackSidebarPane.js:
45897        (WebInspector.CallStackSidebarPane.prototype.update):
45898        * inspector/front-end/ScriptsPanel.js:
45899        (WebInspector.ScriptsPanel):
45900        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
45901        (WebInspector.ScriptsPanel.prototype._clearInterface):
45902        * inspector/front-end/Settings.js:
45903        (WebInspector.Settings):
45904        * inspector/front-end/inspector.js:
45905        (WebInspector.resetFocusElement):
45906        (WebInspector.createXHRBreakpointsSidebarPane.breakpointAdded):
45907        (WebInspector.createXHRBreakpointsSidebarPane):
45908        (WebInspector.set attached):
45909
459102011-03-14  Mikhail Naganov  <mnaganov@chromium.org>
45911
45912        Reviewed by Pavel Feldman.
45913
45914        Web Inspector: Factor out binary search algo from the insertionIndexForObjectInListSortedByFunction function.
45915        https://bugs.webkit.org/show_bug.cgi?id=56312
45916
45917        Test: inspector/utilities.html
45918
45919        * inspector/front-end/utilities.js:
45920
459212011-03-12  Pavel Podivilov  <podivilov@chromium.org>
45922
45923        Reviewed by Yury Semikhatsky.
45924
45925        Web Inspector: re-implement xhr breakpoints.
45926        https://bugs.webkit.org/show_bug.cgi?id=56252
45927
45928        - restore xhr breakpoints one by one instead of using setAllBrowserBreakpoints
45929        - store xhr breakpoints in a separate setting
45930        - move presentation-related code from BreakpointManager to XHRBreakpointsSidebarPane
45931
45932        Test: inspector/debugger/xhr-breakpoints.html
45933
45934        * inspector/InspectorBrowserDebuggerAgent.cpp:
45935        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
45936        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
45937        (WebCore::InspectorBrowserDebuggerAgent::restoreStickyBreakpoint):
45938        (WebCore::InspectorBrowserDebuggerAgent::setXHRBreakpoint):
45939        (WebCore::InspectorBrowserDebuggerAgent::removeXHRBreakpoint):
45940        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
45941        (WebCore::InspectorBrowserDebuggerAgent::clear):
45942        * inspector/InspectorBrowserDebuggerAgent.h:
45943        * inspector/front-end/BreakpointManager.js:
45944        (WebInspector.BreakpointManager.prototype.setXHRBreakpoint):
45945        (WebInspector.BreakpointManager.prototype.removeXHRBreakpoint):
45946        (WebInspector.BreakpointManager.prototype.breakpointViewForEventData):
45947        (WebInspector.BreakpointManager.prototype._projectChanged):
45948        (WebInspector.BreakpointManager.prototype._validateBreakpoints):
45949        (WebInspector.BreakpointManager.prototype._createEventListenerBreakpointId):
45950        * inspector/front-end/BreakpointsSidebarPane.js:
45951        (WebInspector.XHRBreakpointsSidebarPane):
45952        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked.finishEditing):
45953        (WebInspector.XHRBreakpointsSidebarPane.prototype._addButtonClicked):
45954        (WebInspector.XHRBreakpointsSidebarPane.prototype._setBreakpoint):
45955        (WebInspector.XHRBreakpointsSidebarPane.prototype._removeBreakpoint):
45956        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu.removeBreakpoint):
45957        (WebInspector.XHRBreakpointsSidebarPane.prototype._contextMenu):
45958        (WebInspector.XHRBreakpointsSidebarPane.prototype._checkboxClicked):
45959        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked.finishEditing):
45960        (WebInspector.XHRBreakpointsSidebarPane.prototype._labelClicked):
45961        (WebInspector.XHRBreakpointsSidebarPane.prototype.highlightBreakpoint):
45962        (WebInspector.XHRBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
45963        (WebInspector.XHRBreakpointsSidebarPane.prototype._saveBreakpoints):
45964        (WebInspector.XHRBreakpointsSidebarPane.prototype._restoreBreakpoints):
45965        (WebInspector.XHRBreakpointsSidebarPane.prototype._projectChanged):
45966        * inspector/front-end/CallStackSidebarPane.js:
45967        (WebInspector.CallStackSidebarPane.prototype.update):
45968        (WebInspector.CallStackSidebarPane.prototype._xhrBreakpointHit):
45969        * inspector/front-end/ScriptsPanel.js:
45970        (WebInspector.ScriptsPanel):
45971        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
45972        (WebInspector.ScriptsPanel.prototype._clearInterface):
45973        * inspector/front-end/Settings.js:
45974        (WebInspector.Settings):
45975        * inspector/front-end/inspector.js:
45976        (WebInspector.resetFocusElement):
45977        (WebInspector.set attached):
45978
459792011-03-14  Pavel Podivilov  <podivilov@chromium.org>
45980
45981        Reviewed by Pavel Feldman.
45982
45983        Web Inspector: move breakpoints restoring to debugger presentation model.
45984        https://bugs.webkit.org/show_bug.cgi?id=56123
45985
45986        DebuggerModel's "breakpoint-added" and "breakpoint-removed" events are gone since
45987        setBreakpoint/removeBreakpoint are now called from DPM only.
45988
45989        * inspector/InspectorDebuggerAgent.cpp:
45990        (WebCore::InspectorDebuggerAgent::disable):
45991        (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown):
45992        * inspector/front-end/DebuggerModel.js:
45993        (WebInspector.DebuggerModel.prototype.enableDebugger):
45994        (WebInspector.DebuggerModel.prototype._debuggerWasEnabled):
45995        (WebInspector.DebuggerModel.prototype._debuggerWasDisabled):
45996        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
45997        (WebInspector.DebuggerModel.prototype.setBreakpoint):
45998        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
45999        (WebInspector.DebuggerModel.prototype.removeBreakpoint):
46000        (WebInspector.DebuggerModel.prototype._breakpointResolved):
46001        (WebInspector.DebuggerModel.prototype.reset):
46002        (WebInspector.DebuggerDispatcher.prototype.debuggerWasEnabled):
46003        (WebInspector.DebuggerDispatcher.prototype.debuggerWasDisabled):
46004        * inspector/front-end/DebuggerPresentationModel.js:
46005        (WebInspector.DebuggerPresentationModel):
46006        (WebInspector.DebuggerPresentationModel.prototype._debuggerWasEnabled):
46007        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
46008        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
46009        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
46010        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
46011        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
46012        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
46013        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
46014        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
46015        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
46016        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
46017        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
46018        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
46019        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
46020        (WebInspector.DebuggerPresentationModel.prototype._saveBreakpoints):
46021        (WebInspector.DebuggerPresentationModel.prototype.reset):
46022        * inspector/front-end/ScriptsPanel.js:
46023        (WebInspector.ScriptsPanel):
46024        (WebInspector.ScriptsPanel.prototype._debuggerWasEnabled):
46025        (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
46026
460272011-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
46028
46029        Unreviewed, rolling out r81015.
46030        http://trac.webkit.org/changeset/81015
46031        https://bugs.webkit.org/show_bug.cgi?id=56308
46032
46033        A Similar patch landed in r76960 (Requested by philn-tp on
46034        #webkit).
46035
46036        * GNUmakefile.am:
46037
460382011-03-14  Pavel Feldman  <pfeldman@chromium.org>
46039
46040        Reviewed by Yury Semikhatsky.
46041
46042        Web Inspector: don't use innerText, use textContent instead.
46043        https://bugs.webkit.org/show_bug.cgi?id=56307
46044
46045        * inspector/front-end/AuditFormatters.js:
46046        (WebInspector.AuditFormatters.snippet):
46047        * inspector/front-end/ElementsTreeOutline.js:
46048        * inspector/front-end/GoToLineDialog.js:
46049        * inspector/front-end/HelpScreen.js:
46050        (WebInspector.HelpScreen):
46051        * inspector/front-end/ShortcutsHelp.js:
46052        (WebInspector.ShortcutsSection.prototype.renderSection):
46053        (WebInspector.ShortcutsSection.prototype._renderHeader):
46054
460552011-03-14  Andrey Adaikin  <aandrey@google.com>
46056
46057        Reviewed by Pavel Feldman.
46058
46059        Web Inspector: [Text editor] Disable live-edit in favor of the text editor
46060        https://bugs.webkit.org/show_bug.cgi?id=56176
46061
46062        * inspector/front-end/Settings.js:
46063
460642011-03-14  Andrey Adaikin  <aandrey@google.com>
46065
46066        Reviewed by Pavel Feldman.
46067
46068        Web Inspector: [REGRESSION] scroll does not work in source frame when mouse is inside the gutter
46069        https://bugs.webkit.org/show_bug.cgi?id=56095
46070
46071        * inspector/front-end/TextViewer.js:
46072        (WebInspector.TextViewer):
46073
460742011-03-11  Pavel Podivilov  <podivilov@chromium.org>
46075
46076        Reviewed by Pavel Feldman.
46077
46078        Web Inspector: move breakpoints restoring after live edit to debugger presentation model.
46079        https://bugs.webkit.org/show_bug.cgi?id=56179
46080
46081        Presentation model should move breakpoints based on text diff as required by "revert to revision" action in resources panel.
46082
46083        * inspector/front-end/DebuggerModel.js:
46084        (WebInspector.DebuggerModel):
46085        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
46086        (WebInspector.DebuggerModel.prototype.setBreakpoint):
46087        (WebInspector.DebuggerModel.prototype.reset):
46088        (WebInspector.DebuggerModel.prototype.editScriptSource.didEditScriptSource):
46089        (WebInspector.DebuggerModel.prototype.editScriptSource):
46090        (WebInspector.DebuggerModel.prototype.get callFrames):
46091        (WebInspector.DebuggerModel.prototype._pausedScript):
46092        (WebInspector.DebuggerModel.prototype._resumedScript):
46093        * inspector/front-end/DebuggerPresentationModel.js:
46094        (WebInspector.DebuggerPresentationModel):
46095        (WebInspector.DebuggerPresentationModel.prototype._scriptSourceChanged):
46096        * inspector/front-end/ScriptsPanel.js:
46097        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
46098
460992011-03-10  Alexander Pavlov  <apavlov@chromium.org>
46100
46101        Reviewed by Pavel Feldman.
46102
46103        Web Inspector: Optimize backend-frontend data transfer volume for CSS styles
46104        https://bugs.webkit.org/show_bug.cgi?id=56111
46105
46106        This change reduces the getStylesForNode() payload more than twice for BODY elements.
46107
46108        * inspector/InspectorStyleSheet.cpp:
46109        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
46110        * inspector/front-end/CSSStyleModel.js:
46111        (WebInspector.CSSProperty.parsePayload):
46112
461132011-03-14  John Knottenbelt  <jknotten@chromium.org>
46114
46115        Reviewed by Steve Block.
46116
46117        Detach Geolocation from Frame when Page destroyed.
46118        https://bugs.webkit.org/show_bug.cgi?id=52877
46119
46120        On Page destruction, any outstanding Geolocation permission
46121        requests should be cancelled, because the Geolocation can only
46122        access the client indirectly via m_frame->page().
46123
46124        Page destruction is signalled by a call to the
46125        Frame::pageDestroyed() method. This explictly calls
46126        DOMWindow::resetGeolocation which ultimately calls Geolocation::reset.
46127
46128        Geolocation::reset() detaches from the GeolocationController,
46129        cancels requests, watches and single shots, and sets the
46130        permission state back to Unknown.
46131
46132        Frame::pageDestroyed() is also called by FrameLoader even though
46133        the page is not destroyed. We should still cancel permission
46134        requests, because the GeolocationClient will become inaccessible
46135        to the Geolocation object after this call.
46136
46137        Frame::transferChildFrameToNewDocument also indirectly calls
46138        Geolocation::reset when the frame is reparented between
46139        pages. Ideally we would like the Geolocation's activities to
46140        continue after reparenting, see bug
46141        https://bugs.webkit.org/show_bug.cgi?id=55577
46142
46143        Since GeolocationController is owned by Page, and all Geolocation
46144        objects will now unsubscribe from the GeolocationController on
46145        pageDetached(), we no longer need to call stopUpdating() from the
46146        GeolocationController's destructor. Instead we can simply assert
46147        that there should be no no observers. See related bug
46148        https://bugs.webkit.org/show_bug.cgi?id=52216 .
46149
46150        Introduced new method 'numberOfPendingPermissionRequests' on
46151        GeolocationClientMock to count the number of outstanding pending
46152        permission requests. This provides a reusable implementation for
46153        client-based implementations of the LayoutTestController's
46154        numberOfPendingGeolocationPermissionRequests method.
46155
46156        Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html
46157
46158        * page/DOMWindow.cpp:
46159        (WebCore::DOMWindow::resetGeolocation):
46160        * page/DOMWindow.h:
46161        * page/Frame.cpp:
46162        (WebCore::Frame::pageDestroyed):
46163        (WebCore::Frame::transferChildFrameToNewDocument):
46164        * page/Geolocation.cpp:
46165        (WebCore::Geolocation::~Geolocation):
46166        (WebCore::Geolocation::page):
46167        (WebCore::Geolocation::reset):
46168        (WebCore::Geolocation::disconnectFrame):
46169        (WebCore::Geolocation::lastPosition):
46170        (WebCore::Geolocation::requestPermission):
46171        (WebCore::Geolocation::startUpdating):
46172        (WebCore::Geolocation::stopUpdating):
46173        * page/Geolocation.h:
46174        * page/GeolocationController.cpp:
46175        (WebCore::GeolocationController::~GeolocationController):
46176        * page/Navigator.cpp:
46177        (WebCore::Navigator::resetGeolocation):
46178        * page/Navigator.h:
46179        * platform/mock/GeolocationClientMock.cpp:
46180        (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
46181        * platform/mock/GeolocationClientMock.h:
46182
461832011-03-14  Andrey Adaikin  <aandrey@google.com>
46184
46185        Reviewed by Pavel Feldman.
46186
46187        Web Inspector: REGRESSION: Messed up with the tabIndex for text editor
46188        https://bugs.webkit.org/show_bug.cgi?id=56183
46189
46190        * inspector/front-end/SourceFrame.js:
46191        (WebInspector.SourceFrame.prototype._handleKeyDown):
46192        (WebInspector.SourceFrame.prototype._handleSave):
46193        (WebInspector.SourceFrame.prototype._handleRevertEditing):
46194        * inspector/front-end/TextViewer.js:
46195        (WebInspector.TextEditorMainPanel):
46196        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
46197
461982011-03-14  Chris Rogers  <crogers@google.com>
46199
46200        Reviewed by Xan Lopez.
46201
46202        Add all web audio auto-generated files to GTK make system
46203        https://bugs.webkit.org/show_bug.cgi?id=50497
46204
46205        No new tests since these are build-system tweaks.
46206
46207        * GNUmakefile.am:
46208
462092011-03-14  Pavel Feldman  <pfeldman@chromium.org>
46210
46211        Reviewed by Yury Semikhatsky.
46212
46213        Web Inspector: make DOMAgent event target, remove dependency from ElementsPanel.
46214        https://bugs.webkit.org/show_bug.cgi?id=56268
46215
46216        * inspector/Inspector.idl:
46217        * inspector/InspectorDOMAgent.cpp:
46218        (WebCore::InspectorDOMAgent::reset):
46219        (WebCore::InspectorDOMAgent::performSearch):
46220        (WebCore::InspectorDOMAgent::cancelSearch):
46221        (WebCore::InspectorDOMAgent::onMatchJobsTimer):
46222        (WebCore::InspectorDOMAgent::reportNodesAsSearchResults):
46223        * inspector/InspectorDOMAgent.h:
46224        * inspector/front-end/DOMAgent.js:
46225        (WebInspector.DOMAgent.prototype.requestDocument.mycallback):
46226        (WebInspector.DOMAgent.prototype.requestDocument):
46227        (WebInspector.DOMAgent.prototype._attributesUpdated):
46228        (WebInspector.DOMAgent.prototype._characterDataModified):
46229        (WebInspector.DOMAgent.prototype._documentUpdated):
46230        (WebInspector.DOMAgent.prototype._setDocument):
46231        (WebInspector.DOMAgent.prototype._childNodeCountUpdated):
46232        (WebInspector.DOMAgent.prototype._childNodeInserted):
46233        (WebInspector.DOMAgent.prototype._childNodeRemoved):
46234        (WebInspector.DOMAgent.prototype._removeBreakpoints):
46235        (WebInspector.DOMAgent.prototype.performSearch):
46236        (WebInspector.DOMAgent.prototype.cancelSearch):
46237        (WebInspector.DOMDispatcher.prototype.searchResults):
46238        * inspector/front-end/ElementsPanel.js:
46239        (WebInspector.ElementsPanel):
46240        (WebInspector.ElementsPanel.prototype._reset):
46241        (WebInspector.ElementsPanel.prototype._documentUpdated):
46242        (WebInspector.ElementsPanel.prototype.searchCanceled):
46243        (WebInspector.ElementsPanel.prototype.performSearch):
46244        (WebInspector.ElementsPanel.prototype._addNodesToSearchResult):
46245        (WebInspector.ElementsPanel.prototype._attributesUpdated):
46246        (WebInspector.ElementsPanel.prototype._characterDataModified):
46247        (WebInspector.ElementsPanel.prototype._nodeInserted):
46248        (WebInspector.ElementsPanel.prototype._nodeRemoved):
46249        (WebInspector.ElementsPanel.prototype._childNodeCountUpdated):
46250        (WebInspector.ElementsPanel.prototype.updateModifiedNodes):
46251
462522011-03-14  Pavel Feldman  <pfeldman@chromium.org>
46253
46254        Reviewed by Yury Semikhatsky.
46255
46256        Web Inspector: add tests for edit dom operations.
46257        https://bugs.webkit.org/show_bug.cgi?id=56248
46258
46259        Test: inspector/elements/edit-dom-actions.html
46260
46261        * inspector/Inspector.idl:
46262        * inspector/InspectorDOMAgent.cpp:
46263        (WebCore::InspectorDOMAgent::assertNode):
46264        (WebCore::InspectorDOMAgent::assertElement):
46265        (WebCore::InspectorDOMAgent::assertHTMLElement):
46266        (WebCore::InspectorDOMAgent::nodeToSelectOn):
46267        (WebCore::InspectorDOMAgent::querySelector):
46268        (WebCore::InspectorDOMAgent::querySelectorAll):
46269        (WebCore::InspectorDOMAgent::setAttribute):
46270        (WebCore::InspectorDOMAgent::removeAttribute):
46271        (WebCore::InspectorDOMAgent::getOuterHTML):
46272        (WebCore::InspectorDOMAgent::setOuterHTML):
46273        * inspector/InspectorDOMAgent.h:
46274        * inspector/front-end/DOMAgent.js:
46275        (WebInspector.DOMNode.prototype.setAttribute):
46276        (WebInspector.DOMNode.prototype.removeAttribute):
46277        * inspector/front-end/inspector.js:
46278        (WebInspector.startEditing.defaultFinishHandler):
46279
462802011-03-14  Brady Eidson  <beidson@apple.com>
46281
46282        Reviewed by Dan Bernstein.
46283
46284        <rdar://problem/8762095> and https://bugs.webkit.org/show_bug.cgi?id=55172
46285        Need WK2 API to view/manage origins with LocalStorage
46286
46287        * storage/StorageTracker.cpp:
46288        (WebCore::StorageTracker::initializeTracker): Make sure the TextEncoding map is initialized on the main thread
46289          before the StorageTracker thread can do it on the background thread.
46290
462912011-03-13  Anton D'Auria  <adauria@apple.com>
46292
46293        Reviewed by Brady Eidson and David Levin, landed by Brady Eidson.
46294
46295        Fixed lock-taking order to prevent deadlock, added lock for m_client,
46296        removed premature return in syncImportOriginIdentifiers when tracker
46297        db does not exist because that prevented syncFileSystemAndTrackerDatabase()
46298        from running until next LocalStorage db creation, cleaned up
46299        StorageTracker::scheduleTask() code for readability.
46300
46301        https://bugs.webkit.org/show_bug.cgi?id=56285
46302
46303        * storage/StorageTracker.cpp:
46304        (WebCore::StorageTracker::trackerDatabasePath):
46305        (WebCore::StorageTracker::syncImportOriginIdentifiers): If tracker db isn't
46306        optionally opened (as in the case when it doesn't exist on disk), don't
46307        exit early and call syncFileSystemAndTrackerDatabase(), which will create
46308        a tracker db if localstorage db files are found on disk by calling setOriginDetails.
46309        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
46310        (WebCore::StorageTracker::setOriginDetails):
46311        (WebCore::StorageTracker::scheduleTask): readability changes.
46312        (WebCore::StorageTracker::syncSetOriginDetails):
46313        (WebCore::StorageTracker::syncDeleteAllOrigins):
46314        (WebCore::StorageTracker::syncDeleteOrigin):
46315        (WebCore::StorageTracker::cancelDeletingOrigin): order lock-taking consistently to avoid deadlock.
46316        (WebCore::StorageTracker::setClient):
46317        * storage/StorageTracker.h:
46318
463192011-03-13  Anton D'Auria  <adauria@apple.com>
46320
46321        Reviewed and landed by Brady Eidson.
46322
46323        Invalid assertion in StorageTracker - PageGroup::numberOfPageGroups() == 1
46324        https://bugs.webkit.org/show_bug.cgi?id=56240
46325
46326        This assertion is invalid until LocalStorage is either global or is isolated by PageGroup.
46327
46328        * storage/StorageTracker.cpp:
46329        (WebCore::StorageTracker::origins):
46330        (WebCore::StorageTracker::deleteAllOrigins):
46331        (WebCore::StorageTracker::deleteOrigin):
46332
463332011-03-13  Pratik Solanki  <psolanki@apple.com>
46334
46335        Reviewed by Dan Bernstein.
46336
46337        Make adjustMIMETypeIfNecessary use CFNetwork directly
46338        https://bugs.webkit.org/show_bug.cgi?id=55912
46339
46340        Follow up fix for Layout Test failure. Fix typo - it should be text/plain, not test/plain.
46341
46342        * platform/network/mac/WebCoreURLResponse.mm:
46343        (WebCore::adjustMIMETypeIfNecessary):
46344
463452011-03-13  Dan Bernstein  <mitz@apple.com>
46346
46347        Reviewed by Sam Weinig.
46348
46349        Include hyphenation information in text representation of render tree
46350        https://bugs.webkit.org/show_bug.cgi?id=56287
46351
46352        (WebCore::writeTextRun): If the text box is hyphenated, output the hyphenation
46353        string.
46354
463552011-03-13  David Levin  <levin@chromium.org>
46356
46357        Improve my hasitly added build fix and added a bug https://bugs.webkit.org/show_bug.cgi?id=56288
46358        above addressing this FIXME.
46359
46360        * css/CSSStyleSelector.cpp:
46361        (WebCore::CSSStyleSelector::applyProperty):
46362
463632011-03-13  David Levin  <levin@chromium.org>
46364
46365        Build fix adding remaining enum values to switch statement.
46366
46367        * css/CSSStyleSelector.cpp:
46368        (WebCore::CSSStyleSelector::applyProperty):
46369
463702011-03-13  Sam Weinig  <sam@webkit.org>
46371
46372        Fix windows build.
46373
46374        * platform/network/cf/ResourceErrorCF.cpp:
46375        (WebCore::ResourceError::ResourceError):
46376        Add missing constructor.
46377
463782011-03-13  David Sosby  <dsosby@rim.com>
46379
46380        Reviewed by Dan Bernstein.
46381
46382        REGRESSION: Soft hyphen is not always rendered
46383        https://bugs.webkit.org/show_bug.cgi?id=56017
46384
46385        The check to flag a text block as hyphenated was only
46386        occurring at break points in the line. If no break points
46387        were found after the soft hyphen then the line would not
46388        be flagged hyphenated. Adding a check for soft hyphen at
46389        the end of the text run resolves the issue.
46390
46391        Test: fast/text/soft-hyphen-4.html
46392
46393        * rendering/RenderBlockLineLayout.cpp:
46394        (WebCore::RenderBlock::findNextLineBreak):
46395
463962011-03-13  Dan Bernstein  <mitz@apple.com>
46397
46398        Reviewed by Mark Rowe.
46399
46400        REGRESSION (r80438): fast/text/hyphenate-character failing in pixel mode
46401        https://bugs.webkit.org/show_bug.cgi?id=56280
46402
46403        * rendering/RenderBlockLineLayout.cpp:
46404        (WebCore::tryHyphenating): Avoid subtracting 1 from an unsigned 0.
46405
464062011-03-13  Sam Weinig  <sam@webkit.org>
46407
46408        Reviewed by Anders Carlsson.
46409
46410        Add ability to create a WKErrorRef
46411        <rdar://problem/9115768>
46412        https://bugs.webkit.org/show_bug.cgi?id=56279
46413
46414        * WebCore.exp.in:
46415        Add new exports.
46416
46417        * platform/network/cf/ResourceError.h:
46418        * platform/network/cf/ResourceErrorCF.cpp:
46419        (WebCore::ResourceError::platformCompare):
46420        (WebCore::ResourceError::cfError):
46421        (WebCore::ResourceError::operator CFErrorRef):
46422        (WebCore::ResourceError::ResourceError):
46423        (WebCore::ResourceError::cfStreamError):
46424        (WebCore::ResourceError::operator CFStreamError):
46425        * platform/network/mac/ResourceErrorMac.mm:
46426        (WebCore::ResourceError::ResourceError):
46427        (WebCore::ResourceError::platformCompare):
46428        (WebCore::ResourceError::nsError):
46429        (WebCore::ResourceError::operator NSError *):
46430        (WebCore::ResourceError::cfError):
46431        (WebCore::ResourceError::operator CFErrorRef):
46432        Clean up ResourceError a bit and add ability to create a ResourceError from a CFErrorRef
46433        regardless of whether CFNetwork is being used.
46434
464352011-03-13  Pratik Solanki  <psolanki@apple.com>
46436
46437        Reviewed by Brady Eidson.
46438
46439        Make adjustMIMETypeIfNecessary use CFNetwork directly
46440        https://bugs.webkit.org/show_bug.cgi?id=55912
46441
46442        Convert category method [NSURLResponse adjustMIMETypeIfNecessary] to C function
46443        WebCore::adjustMIMETypeIfNecessary() that takes a CFURLResponseRef and is functionally
46444        identical.
46445
46446        Testing is covered by existing LayoutTests.
46447
46448        * WebCore.exp.in:
46449        * platform/mac/WebCoreSystemInterface.h:
46450        * platform/mac/WebCoreSystemInterface.mm:
46451        * platform/network/mac/ResourceHandleMac.mm:
46452        (-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):
46453        * platform/network/mac/WebCoreURLResponse.h:
46454        * platform/network/mac/WebCoreURLResponse.mm:
46455        (WebCore::createBinaryExtensionsSet):
46456        (WebCore::createExtensionToMIMETypeMap):
46457        (WebCore::mimeTypeFromUTITree):
46458        (WebCore::adjustMIMETypeIfNecessary):
46459
464602011-03-13  Jeremy Moskovich  <jeremy@chromium.org>
46461
46462        Reviewed by Dimitri Glazkov.
46463
46464        Update comment in CSSValueKeywords.in
46465        https://bugs.webkit.org/show_bug.cgi?id=56266
46466
46467        The enums the comment refers to were moved from RenderStyle.h to RenderStyleConstants.h
46468        in r36579 but it appears that the comment in CSSValueKeywords.in wasn't updated.
46469
46470        No tests - just updating a comment.
46471
46472        * css/CSSValueKeywords.in:
46473
464742011-03-13  Anton D'Auria  <adauria@apple.com>
46475
46476        Reviewed by Alice Liu.
46477
46478        StorageTracker constructor shouldn't have initialization code and isMainThread() assertion
46479        https://bugs.webkit.org/show_bug.cgi?id=56259
46480
46481        Move all StorageTracker initialization to
46482        StorageTracker::initializeTracker. This also removes the
46483        requirement that the StorageTracker constructor isn't run
46484        on the main thread.
46485
46486        * storage/StorageTracker.cpp:
46487        (WebCore::StorageTracker::initializeTracker):
46488        (WebCore::StorageTracker::tracker):
46489        (WebCore::StorageTracker::StorageTracker):
46490
464912011-03-13  Rob Buis  <rwlbuis@gmail.com>
46492
46493        Reviewed by Dave Hyatt.
46494
46495        REGRESSION (r61383): Navigation menu laid out incorrectly on aboardtheworld.com
46496        https://bugs.webkit.org/show_bug.cgi?id=53470
46497
46498        Prefer !important over normal properties when dealing with duplicate properties in style rules.
46499
46500        Test: fast/css/duplicate-property-in-rule-important.html
46501
46502        * css/CSSMutableStyleDeclaration.cpp:
46503        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
46504
465052011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
46506
46507        Unreviewed, rolling out r80895.
46508        http://trac.webkit.org/changeset/80895
46509        https://bugs.webkit.org/show_bug.cgi?id=56261
46510
46511        Causing crashes in several tests including
46512        t1202-counters-16-c.html (see
46513        http://build.webkit.org/results/SnowLeopard%20Intel%20Leaks/r80956%20(15528)/results.html)
46514        (Requested by dave_levin on #webkit).
46515
46516        * rendering/CounterNode.cpp:
46517        (WebCore::CounterNode::CounterNode):
46518        (WebCore::CounterNode::create):
46519        (WebCore::CounterNode::resetRenderer):
46520        (WebCore::CounterNode::resetRenderers):
46521        (WebCore::CounterNode::recount):
46522        (WebCore::CounterNode::insertAfter):
46523        (WebCore::CounterNode::removeChild):
46524        (WebCore::showTreeAndMark):
46525        * rendering/CounterNode.h:
46526        (WebCore::CounterNode::renderer):
46527        * rendering/RenderCounter.cpp:
46528        (WebCore::findPlaceForCounter):
46529        (WebCore::RenderCounter::~RenderCounter):
46530        (WebCore::RenderCounter::originalText):
46531        (WebCore::RenderCounter::invalidate):
46532        (WebCore::destroyCounterNodeWithoutMapRemoval):
46533        (WebCore::RenderCounter::destroyCounterNodes):
46534        (WebCore::RenderCounter::destroyCounterNode):
46535        (WebCore::updateCounters):
46536        (showCounterRendererTree):
46537        * rendering/RenderCounter.h:
46538        * rendering/RenderObjectChildList.cpp:
46539        (WebCore::invalidateCountersInContainer):
46540        (WebCore::RenderObjectChildList::invalidateCounters):
46541        * rendering/RenderObjectChildList.h:
46542
465432011-03-12  Darin Adler  <darin@apple.com>
46544
46545        Reviewed by Dan Bernstein.
46546
46547        REGRESSION (r76474): IntegerArray hash hashes only 1/4 of the array
46548        https://bugs.webkit.org/show_bug.cgi?id=56258
46549
46550        No tests because the wrong hashing is mostly harmless. The only symptom
46551        we have seen is an occasional assertion in debug builds about the size
46552        not being a multiple of two. But a worse hash is worse for performance too.
46553
46554        * platform/cf/BinaryPropertyList.cpp:
46555        (WebCore::IntegerArrayHash::hash): Pass in the size in bytes rather
46556        than the number of array entries.
46557
465582011-03-12  Cameron Zwarich  <zwarich@apple.com>
46559
46560        Not reviewed.
46561
46562        Fix the build with newer GCCs and remove some extra whitespae.
46563
46564        * bindings/js/SerializedScriptValue.cpp:
46565        (WebCore::uint8_t):
46566
465672011-03-12  Cameron Zwarich  <zwarich@apple.com>
46568
46569        Rubber-stamped by Oliver Hunt.
46570
46571        Removed unused ARMv5 code. The ARMv5 case now falls under the general
46572        unaligned accessed case.
46573
46574        * bindings/js/SerializedScriptValue.cpp:
46575        (WebCore::CloneDeserializer::readLittleEndian):
46576        (WebCore::CloneDeserializer::readString):
46577
465782011-03-12  Cameron Zwarich  <zwarich@apple.com>
46579
46580        Reviewed by Oliver Hunt.
46581
46582        WebCore fails to build with Clang on ARM
46583        https://bugs.webkit.org/show_bug.cgi?id=56257
46584
46585        Add an explicit instantiation of writeLittleEndian for uint8_t and move it to
46586        namespace scope, since explicit specializations are not allowed at class scope.
46587
46588        * bindings/js/SerializedScriptValue.cpp:
46589        (WebCore::writeLittleEndian):
46590
465912011-03-11  Darin Adler  <darin@apple.com>
46592
46593        Reviewed by Sam Weinig.
46594
46595        Dragging image to desktop gives webloc instead of image file in WebKit2
46596        https://bugs.webkit.org/show_bug.cgi?id=56193
46597
46598        * WebCore.exp.in: Added some additional exports. Re-sorted.
46599
466002011-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
46601
46602        Unreviewed, rolling out r80919.
46603        http://trac.webkit.org/changeset/80919
46604        https://bugs.webkit.org/show_bug.cgi?id=56251
46605
46606        all windows bots failed to compile this change (Requested by
46607        loislo on #webkit).
46608
46609        * bridge/c/c_class.cpp:
46610        * bridge/c/c_runtime.cpp:
46611        * bridge/jni/JavaMethod.cpp:
46612        * plugins/PluginViewNone.cpp:
46613
466142011-03-12  Patrick Gansterer  <paroga@webkit.org>
46615
46616        Unreviewed WinCE build fix for r80900.
46617
46618        * CMakeListsWinCE.txt: Removed IconDatabaseNone.cpp.
46619
466202011-03-12  Andras Becsi  <abecsi@webkit.org>
46621
46622        Unreviewed typo fix.
46623
46624        No new tests needed.
46625
46626        * WebCore.pro: Fix typo in header name.
46627
466282011-03-12  Pavel Feldman  <pfeldman@chromium.org>
46629
46630        Not reviewed: Inspect Element action regression fix.
46631
46632        * inspector/front-end/inspector.js:
46633        (WebInspector.inspect):
46634
466352011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
46636
46637        Unreviewed. One line fix for inspector/dom-breakpoints.html
46638
46639        * inspector/front-end/BreakpointManager.js:
46640        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
46641
466422011-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
46643
46644        Unreviewed build fix.
46645
46646        Almost all inspector tests are crashing after r80928.
46647
46648        * inspector/front-end/inspector.js:
46649
466502011-03-11  Pavel Feldman  <pfeldman@chromium.org>
46651
46652        Reviewed by Yury Semikhatsky.
46653
46654        Web Inspector: follow up to error reporting, fixing multiple regressions.
46655        https://bugs.webkit.org/show_bug.cgi?id=56243
46656
46657        * inspector/InjectedScript.cpp:
46658        (WebCore::InjectedScript::setPropertyValue):
46659        * inspector/InjectedScript.h:
46660        * inspector/Inspector.idl:
46661        * inspector/InspectorDOMAgent.cpp:
46662        (WebCore::InspectorDOMAgent::getChildNodes):
46663        (WebCore::InspectorDOMAgent::getOuterHTML):
46664        (WebCore::InspectorDOMAgent::getEventListenersForNode):
46665        * inspector/InspectorDOMAgent.h:
46666        * inspector/InspectorRuntimeAgent.cpp:
46667        (WebCore::InspectorRuntimeAgent::setPropertyValue):
46668        * inspector/InspectorRuntimeAgent.h:
46669        * inspector/front-end/DOMAgent.js:
46670        (WebInspector.DOMNode.prototype.setNodeName):
46671        (WebInspector.DOMNode.prototype.setNodeValue):
46672        (WebInspector.DOMNode.prototype.getChildNodes):
46673        (WebInspector.DOMNode.prototype.getOuterHTML):
46674        (WebInspector.DOMNode.prototype.setOuterHTML):
46675        (WebInspector.DOMNode.prototype.removeNode):
46676        (WebInspector.DOMNode.prototype.copyNode):
46677        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
46678        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
46679        (WebInspector.EventListeners.getEventListenersForNode):
46680        * inspector/front-end/DOMStorage.js:
46681        (WebInspector.DOMStorage.prototype.getEntries):
46682        (WebInspector.DOMStorage.prototype.setItem):
46683        (WebInspector.DOMStorage.prototype.removeItem):
46684        * inspector/front-end/DOMStorageItemsView.js:
46685        (WebInspector.DOMStorageItemsView.prototype.update):
46686        (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
46687        * inspector/front-end/ElementsTreeOutline.js:
46688        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
46689        (WebInspector.ElementsTreeElement.prototype.updateChildren):
46690        ():
46691        * inspector/front-end/EventListenersSidebarPane.js:
46692        (WebInspector.EventListenersSidebarPane.prototype.update.callback):
46693        (WebInspector.EventListenersSidebarPane.prototype.update):
46694        * inspector/front-end/ObjectPropertiesSection.js:
46695        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression.callback):
46696        (WebInspector.ObjectPropertyTreeElement.prototype.applyExpression):
46697        * inspector/front-end/PropertiesSidebarPane.js:
46698        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
46699        * inspector/front-end/RemoteObject.js:
46700        (WebInspector.RemoteObject.prototype.setPropertyValue):
46701        (WebInspector.RemoteObject.prototype.evaluate):
46702        * inspector/front-end/inspector.js:
46703
467042011-03-12  Jer Noble  <jer.noble@apple.com>
46705
46706        Unreviewed build fix.
46707
46708        Fix GTK+ builds by wrapping sections of full screen code in USE(ACCELERATED_COMPOSITING)
46709        checks.
46710
46711        * dom/Document.cpp:
46712        (WebCore::Document::webkitWillEnterFullScreenForElement):
46713        (WebCore::Document::webkitDidEnterFullScreenForElement):
46714        (WebCore::Document::webkitWillExitFullScreenForElement):
46715        (WebCore::Document::webkitDidExitFullScreenForElement):
46716
467172011-03-12  Ryuan Choi  <ryuan.choi@samsung.com>
46718
46719        Unreviewed build fix.
46720
46721        [EFL] Fix build break because of several reason.
46722        https://bugs.webkit.org/show_bug.cgi?id=56244
46723
46724        * CMakeLists.txt: Add missing files.
46725        * platform/posix/FileSystemPOSIX.cpp: Add PLATFORM(EFL).
46726
467272011-03-11  Yury Semikhatsky  <yurys@chromium.org>
46728
46729        Reviewed by Pavel Feldman.
46730
46731        Web Inspector: move profiler related methods from inspector agent to profiler agent
46732        https://bugs.webkit.org/show_bug.cgi?id=56204
46733
46734        * inspector/Inspector.idl:
46735        * inspector/InspectorAgent.cpp:
46736        (WebCore::InspectorAgent::InspectorAgent):
46737        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
46738        (WebCore::InspectorAgent::setFrontend):
46739        (WebCore::InspectorAgent::disconnectFrontend):
46740        (WebCore::InspectorAgent::populateScriptObjects):
46741        (WebCore::InspectorAgent::showProfilesPanel):
46742        * inspector/InspectorAgent.h:
46743        * inspector/InspectorController.cpp:
46744        (WebCore::InspectorController::enableProfiler):
46745        (WebCore::InspectorController::disableProfiler):
46746        (WebCore::InspectorController::profilerEnabled):
46747        (WebCore::InspectorController::startUserInitiatedProfiling):
46748        (WebCore::InspectorController::stopUserInitiatedProfiling):
46749        (WebCore::InspectorController::isRecordingUserInitiatedProfile):
46750        * inspector/InspectorInstrumentation.cpp:
46751        (WebCore::InspectorInstrumentation::profilerEnabledImpl):
46752        * inspector/InspectorProfilerAgent.cpp:
46753        (WebCore::InspectorProfilerAgent::create):
46754        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
46755        (WebCore::InspectorProfilerAgent::enable):
46756        (WebCore::InspectorProfilerAgent::disable):
46757        (WebCore::InspectorProfilerAgent::setFrontend):
46758        (WebCore::InspectorProfilerAgent::clearFrontend):
46759        (WebCore::InspectorProfilerAgent::restore):
46760        (WebCore::InspectorProfilerAgent::restoreEnablement):
46761        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
46762        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
46763        * inspector/InspectorProfilerAgent.h:
46764        (WebCore::InspectorProfilerAgent::start):
46765        (WebCore::InspectorProfilerAgent::stop):
46766        * inspector/front-end/ProfileView.js:
46767        (WebInspector.CPUProfileType.prototype.buttonClicked):
46768        * inspector/front-end/ProfilesPanel.js:
46769        (WebInspector.ProfilesPanel):
46770        (WebInspector.ProfilesPanel.prototype._registerProfileType):
46771        (WebInspector.ProfilesPanel.prototype._toggleProfiling):
46772        * inspector/front-end/inspector.js:
46773        (WebInspector._createPanels):
46774
467752011-03-11  Jer Noble  <jer.noble@apple.com>
46776
46777        Reviewed by Anders Carlsson.
46778
46779        WebCore::Document should notify ChromeClient when the full screen renderer's backing changes.
46780        https://bugs.webkit.org/show_bug.cgi?id=56226
46781
46782        * dom/Document.cpp:
46783        (WebCore::Document::webkitWillEnterFullScreenForElement): Call setRootFullScreenLayer().
46784        (WebCore::Document::webkitDidEnterFullScreenForElement): Ditto.
46785        (WebCore::Document::webkitWillExitFullScreenForElement): Ditto.
46786        (WebCore::Document::webkitDidExitFullScreenForElement): Ditto.
46787        (WebCore::Document::setFullScreenRendererSize): Layout after setting the renderer's size.
46788
467892011-03-11  Jer Noble  <jer.noble@apple.com>
46790
46791        Reviewed by Anders Carlsson.
46792
46793        Create new interface stubs to support full screen mode in WebKit2.
46794
46795        WebKit2: Plumb new full screen animation APIs through WebKit2.
46796        https://bugs.webkit.org/show_bug.cgi?id=55993
46797
46798        * page/ChromeClient.h:
46799        (WebCore::ChromeClient::setRootFullScreenLayer): Added.
46800
468012011-03-11  Oliver Hunt  <oliver@apple.com>
46802
46803        Reviewed by Gavin Barraclough.
46804
46805        Ensure all values are correctly tagged in the registerfile
46806        https://bugs.webkit.org/show_bug.cgi?id=56214
46807
46808        Make sure everything builds still.
46809
46810        * bridge/c/c_class.cpp:
46811        * bridge/c/c_runtime.cpp:
46812        * bridge/jni/JavaMethod.cpp:
46813        * plugins/PluginViewNone.cpp:
46814
468152011-03-11  Mark Rowe  <mrowe@apple.com>
46816
46817        Fix the 32-bit build.
46818
46819        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
46820        (WebCore::MediaPlayerPrivateAVFoundation::MediaPlayerPrivateAVFoundation):
46821
468222011-03-11  Mark Rowe  <mrowe@apple.com>
46823
46824        Rubber-stamped by Eric Carlsson.
46825
46826        <rdar://problem/9124537> Crashes during layout tests due to overrelease of AVFoundation objects.
46827
46828        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm:
46829        (WebCore::MediaPlayerPrivateAVFoundationObjC::createContextVideoRenderer):
46830        (WebCore::MediaPlayerPrivateAVFoundationObjC::setAsset):
46831
468322011-03-11  Chris Marrin  <cmarrin@apple.com>
46833
46834        Unreviewed.
46835
46836        Fixes an error with the checkin for https://bugs.webkit.org/show_bug.cgi?id=52468
46837
46838        * platform/graphics/ca/GraphicsLayerCA.cpp:
46839        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
46840
468412011-03-11  Brady Eidson  <beidson@apple.com>
46842
46843        Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
46844
46845        * loader/icon/IconDatabase.h: Make this guy public.
46846
468472011-03-11  Brady Eidson  <beidson@apple.com>
46848
46849        Attempted Qt build fix for https://bugs.webkit.org/show_bug.cgi?id=56216
46850
46851        * loader/icon/IconDatabase.h:
46852        (WebCore::IconDatabase::delayDatabaseCleanup): Maybe Qt has Icon Database disabled, so we need to define this here?
46853
468542011-03-11  Brady Eidson  <beidson@apple.com>
46855
46856        https://bugs.webkit.org/show_bug.cgi?id=56216
46857        Fix the Qt build following the same pattern of the patch.
46858
46859        * loader/icon/IconDatabase.h:
46860        * loader/icon/IconDatabaseBase.cpp:
46861        (WebCore::IconDatabaseBase::databasePath): Added to the virtual base.
46862        * loader/icon/IconDatabaseBase.h:
46863        (WebCore::IconDatabaseBase::isOpen): Ditto.
46864
468652011-03-11  Ben Taylor  <bentaylor.solx86@gmail.com>
46866
46867        Reviewed by Alexey Proskuryakov.
46868
46869        https://bugs.webkit.org/show_bug.cgi?id=56198
46870        Fix conditional which had an int for one case and a pointer for another.
46871
46872        No new tests. Fix compilation on Solaris 10 with SunStudio 12 C++
46873
46874        * loader/appcache/ApplicationCacheGroup.cpp:
46875        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
46876
468772011-03-11  Brady Eidson  <beidson@apple.com>
46878
46879        Windows build fix.
46880
46881        * history/HistoryItem.cpp:
46882        * loader/icon/IconDatabaseBase.cpp:
46883
468842011-03-11  Brady Eidson  <beidson@apple.com>
46885
46886        Reviewed by Sam Weinig.
46887
46888        <rdar://problem/8648311> and https://bugs.webkit.org/show_bug.cgi?id=56216
46889        Rework disabled IconDatabase builds while allowing for a pluggable icon database implementation.
46890
46891        Project file stuff:
46892        * Android.mk:
46893        * CMakeLists.txt:
46894        * GNUmakefile.am:
46895        * WebCore.gyp/WebCore.gyp:
46896        * WebCore.gypi:
46897        * WebCore.pro:
46898        * WebCore.xcodeproj/project.pbxproj:
46899        * WebCore.vcproj/WebCore.vcproj:
46900
46901        * loader/icon/IconDatabase.cpp:
46902        * loader/icon/IconDatabase.h: Inherit from IconDatabaseBase.
46903
46904        * loader/icon/IconDatabaseBase.cpp: Added.
46905        (WebCore::IconDatabaseBase::iconURLForPageURL):
46906        (WebCore::iconDatabase):
46907        (WebCore::setGlobalIconDatabase):
46908        * loader/icon/IconDatabaseBase.h: Added.
46909        (WebCore::IconDatabaseBase::IconDatabaseBase):
46910        (WebCore::IconDatabaseBase::~IconDatabaseBase):
46911        (WebCore::IconDatabaseBase::setEnabled):
46912        (WebCore::IconDatabaseBase::isEnabled):
46913        (WebCore::IconDatabaseBase::defaultIcon):
46914        (WebCore::IconDatabaseBase::retainIconForPageURL):
46915        (WebCore::IconDatabaseBase::releaseIconForPageURL):
46916        (WebCore::IconDatabaseBase::iconForPageURL):
46917        (WebCore::IconDatabaseBase::setIconURLForPageURL):
46918        (WebCore::IconDatabaseBase::setIconDataForIconURL):
46919        (WebCore::IconDatabaseBase::iconDataKnownForIconURL):
46920        (WebCore::IconDatabaseBase::loadDecisionForIconURL):
46921        (WebCore::IconDatabaseBase::pageURLMappingCount):
46922        (WebCore::IconDatabaseBase::retainedPageURLCount):
46923        (WebCore::IconDatabaseBase::iconRecordCount):
46924        (WebCore::IconDatabaseBase::iconRecordCountWithData):
46925        (WebCore::IconDatabaseBase::importIconURLForPageURL):
46926        (WebCore::IconDatabaseBase::importIconDataForIconURL):
46927        (WebCore::IconDatabaseBase::shouldStopThreadActivity):
46928        (WebCore::IconDatabaseBase::open):
46929        (WebCore::IconDatabaseBase::close):
46930        (WebCore::IconDatabaseBase::removeAllIcons):
46931        (WebCore::IconDatabaseBase::setPrivateBrowsingEnabled):
46932        (WebCore::IconDatabaseBase::setClient):
46933
46934        * loader/icon/IconDatabaseNone.cpp: Removed.
46935
469362011-03-11  Brady Eidson  <beidson@apple.com>
46937
46938        Attempt at a build-fix for https://bugs.webkit.org/show_bug.cgi?id=51878
46939
46940        * page/PageGroup.h: Declare this method, even if the definition will end up being empty.
46941
469422011-03-11  Michael Nordman  <michaeln@google.com>
46943
46944        Reviewed by Dmitry Titov.
46945
46946        Adding the '~' to the dtor (duh).
46947
46948        No new tests.
46949
46950        * storage/SQLCallbackWrapper.h:
46951        (WebCore::SQLCallbackWrapper::~SQLCallbackWrapper):
46952
469532011-03-11  Carol Szabo  <carol.szabo@nokia.com>
46954
46955        Reviewed by David Hyatt.
46956
46957        Introduced double linkage between a CounterNode and its display renderer.
46958
46959        use of freed pointer in WebCore::RenderCounter::originalText()
46960        https://bugs.webkit.org/show_bug.cgi?id=56065
46961
46962        No new tests. This bug could only be reproduced manually by
46963        refreshing the page during load at a critical point.
46964        See bug attachment for testing.
46965
46966        * rendering/CounterNode.cpp:
46967        Introduced new member "m_owner" to store the renderer that has the
46968        style directives that produce the CounterNode.
46969        Repurposed m_renderer to reffer to the RenderCounter that shows the
46970        CounterNode.
46971        (WebCore::CounterNode::CounterNode):
46972        Updated member initialization.
46973        (WebCore::CounterNode::create):
46974        (WebCore::CounterNode::resetRenderer):
46975        (WebCore::CounterNode::resetRenderers):
46976        (WebCore::CounterNode::recount):
46977        (WebCore::CounterNode::removeChild):
46978        (WebCore::CounterNode::insertAfter):
46979        No functional changes.
46980        (WebCore::showTreeAndMark):
46981        Added flushing to ensure that the output is complete.
46982        * rendering/CounterNode.h:
46983        (WebCore::CounterNode::owner):
46984        Renamed from renderer()
46985        (WebCore::CounterNode::renderer):
46986        (WebCore::CounterNode::setRenderer):
46987        Added new accessors for the display renderer.
46988        * rendering/RenderCounter.cpp:
46989        (WebCore::findPlaceForCounter):
46990        Fixed comments. No functional changes.
46991        (WebCore::RenderCounter::~RenderCounter):
46992        Made sure that the CounterNode that this renderers displays is
46993        detached from this.
46994        (WebCore::RenderCounter::originalText):
46995        (WebCore::RenderCounter::invalidate):
46996        Added code to update m_renderer on the displayed CounterNode.
46997        (WebCore::destroyCounterNodeWithoutMapRemoval):
46998        (WebCore::RenderCounter::destroyCounterNodes):
46999        (WebCore::RenderCounter::destroyCounterNode):
47000        (WebCore::updateCounters):
47001        No change, just kept code in line with the changes above.
47002        (showCounterRendererTree):
47003        Added fflush to ensure complete display.
47004        * rendering/RenderCounter.h:
47005        * rendering/RenderObjectChildList.cpp:
47006        * rendering/RenderObjectChildList.h:
47007        Removed unneeded invalidateCounters related functions.
47008
470092011-03-11  Luke Macpherson   <macpherson@chromium.org>
47010
47011        Reviewed by Eric Seidel.
47012
47013        Introduce lookup-table based approach for applying CSS properties.
47014        The aim is to be a starting point for refactoring
47015        CSSStyleSelector::applyProperty() into more readable, maintainable code.
47016        https://bugs.webkit.org/show_bug.cgi?id=54707
47017
47018        No new behavior / covered by existing tests.
47019
47020        * css/CSSStyleApplyProperty.cpp: Added.
47021        (WebCore::ApplyPropertyNull):
47022        Class that provides empty implementations of inherit, initial, value.
47023        (WebCore::ApplyPropertyDefault::ApplyPropertyDefault):
47024        Class that calls the appropriate RenderStyle setters directly.
47025        (WebCore::ApplyPropertyColorBase::ApplyPropertyColorBase):
47026        Class for handling CSSProperty*Color.
47027        (WebCore::ApplyPropertyColor::ApplyPropertyColor):
47028        Class for handling CSSPropertyColor.
47029        (WebCore::CSSStyleApplyProperty::sharedCSSStyleApplyProperty):
47030        Singleton initializer.
47031        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
47032        Constructor that bulds up the map from property id to apply-er objects.
47033        * css/CSSStyleApplyProperty.h: Added.
47034        (WebCore::CSSStyleApplyProperty::inherit):
47035        Handle the inherit case for a given property.
47036        (WebCore::CSSStyleApplyProperty::initial):
47037        Handle the initial case for a given property.
47038        (WebCore::CSSStyleApplyProperty::value):
47039        Apply a value to a given property.
47040        (WebCore::CSSStyleApplyProperty::implements):
47041        Returns true if the provided property id is implemented.
47042        (WebCore::CSSStyleApplyProperty::index):
47043        Private function to determine the index of a property the property map.
47044        (WebCore::CSSStyleApplyProperty::valid):
47045        Function to determine that a given property id is valid.
47046        (WebCore::CSSStyleApplyProperty::setPropertyValue):
47047        (WebCore::CSSStyleApplyProperty::propertyValue):
47048        * css/CSSStyleSelector.cpp:
47049        (WebCore::CSSStyleSelector::CSSStyleSelector):
47050        Get reference to the CSSStyleApplyProperty singleton.
47051        (WebCore::CSSStyleSelector::applyProperty):
47052        Now calls into CSSStyleApplyProperty for implemented property ids.
47053        Deleted color-related methods from the property id switch.
47054        * css/CSSStyleSelector.h:
47055        (WebCore::CSSStyleSelector::style):
47056        Made public to allow access from CSSStyleApplyProperty.
47057        (WebCore::CSSStyleSelector::parentStyle):
47058        Made public to allow access from CSSStyleApplyProperty.
47059        * rendering/style/RenderStyle.h:
47060        Made CSSStyleApplyProperty a friend class. Necessary because it needs
47061        to access the private getters and setters on this clsass.
47062
470632011-03-11  Anton D'Auria  <adauria@apple.com>
47064
47065        Reviewed and landed by Brady Eidson.
47066
47067        Add WebKit1 API to view and delete local storage
47068        https://bugs.webkit.org/show_bug.cgi?id=51878
47069
47070        Created StorageTracker as a central point for tracking and deleting LocalStorage per origin.
47071        StorageTracker maintains its own database of origin identifiers and backing db paths,
47072        and this allows it to contain more relational data in the future, like variable quotas per origin.
47073
47074        On initialization, StorageTracker syncs its database with LocalStorage files on disk. It adds
47075        an origin entry when StorageAreaSync performs a first sync for an origin.
47076
47077        All StorageTracker file operations are performed on one background thread with a task queue.
47078
47079        Tests: storage/domstorage/localstorage/storagetracker/storage-tracker-1-prepare.html
47080               storage/domstorage/localstorage/storagetracker/storage-tracker-2-create.html
47081               storage/domstorage/localstorage/storagetracker/storage-tracker-3-delete-all.html
47082               storage/domstorage/localstorage/storagetracker/storage-tracker-4-create.html
47083               storage/domstorage/localstorage/storagetracker/storage-tracker-5-delete-one.html
47084
47085        * GNUmakefile.am:
47086        * WebCore.exp.in:
47087        * WebCore.gypi:
47088        * WebCore.pro:
47089        * WebCore.vcproj/WebCore.vcproj:
47090        * WebCore.xcodeproj/project.pbxproj:
47091        * page/PageGroup.cpp:
47092        (WebCore::PageGroup::clearLocalStorageForAllOrigins):
47093        (WebCore::PageGroup::clearLocalStorageForOrigin):
47094        (WebCore::PageGroup::syncLocalStorage):
47095        (WebCore::PageGroup::numberOfPageGroups):
47096        * page/PageGroup.h:
47097        * platform/chromium/FileSystemChromium.cpp:
47098        (WebCore::listDirectory):
47099        * platform/posix/FileSystemPOSIX.cpp:
47100        (WebCore::listDirectory):
47101        * storage/LocalStorageTask.cpp:
47102        (WebCore::LocalStorageTask::LocalStorageTask):
47103        (WebCore::LocalStorageTask::performTask):
47104        * storage/LocalStorageTask.h:
47105        (WebCore::LocalStorageTask::createOriginIdentifiersImport):
47106        (WebCore::LocalStorageTask::createSetOriginDetails):
47107        (WebCore::LocalStorageTask::createDeleteOrigin):
47108        (WebCore::LocalStorageTask::createDeleteAllOrigins):
47109        * storage/StorageAreaImpl.cpp:
47110        (WebCore::StorageAreaImpl::clearForOriginDeletion):
47111        (WebCore::StorageAreaImpl::sync):
47112        * storage/StorageAreaImpl.h:
47113        * storage/StorageAreaSync.cpp:
47114        (WebCore::StorageAreaSync::scheduleCloseDatabase):
47115        (WebCore::StorageAreaSync::openDatabase):
47116        (WebCore::StorageAreaSync::sync):
47117        (WebCore::StorageAreaSync::deleteEmptyDatabase):
47118        (WebCore::StorageAreaSync::scheduleSync):
47119        * storage/StorageAreaSync.h:
47120        * storage/StorageNamespace.h:
47121        * storage/StorageNamespaceImpl.cpp:
47122        (WebCore::StorageNamespaceImpl::clearOriginForDeletion):
47123        (WebCore::StorageNamespaceImpl::clearAllOriginsForDeletion):
47124        (WebCore::StorageNamespaceImpl::sync):
47125        * storage/StorageNamespaceImpl.h:
47126        * storage/StorageTracker.cpp: Added.
47127        (WebCore::StorageTracker::initializeTracker):
47128        (WebCore::StorageTracker::tracker):
47129        (WebCore::StorageTracker::StorageTracker):
47130        (WebCore::StorageTracker::setStorageDirectoryPath):
47131        (WebCore::StorageTracker::trackerDatabasePath):
47132        (WebCore::StorageTracker::openTrackerDatabase):
47133        (WebCore::StorageTracker::importOriginIdentifiers):
47134        (WebCore::StorageTracker::syncImportOriginIdentifiers):
47135        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
47136        (WebCore::StorageTracker::setOriginDetails):
47137        (WebCore::StorageTracker::scheduleTask):
47138        (WebCore::StorageTracker::syncSetOriginDetails):
47139        (WebCore::StorageTracker::origins):
47140        (WebCore::StorageTracker::deleteAllOrigins):
47141        (WebCore::StorageTracker::syncDeleteAllOrigins):
47142        (WebCore::StorageTracker::deleteOrigin):
47143        (WebCore::StorageTracker::syncDeleteOrigin):
47144        (WebCore::StorageTracker::willDeleteAllOrigins):
47145        (WebCore::StorageTracker::willDeleteOrigin):
47146        (WebCore::StorageTracker::canDeleteOrigin):
47147        (WebCore::StorageTracker::cancelDeletingOrigin):
47148        (WebCore::StorageTracker::setClient):
47149        (WebCore::StorageTracker::syncLocalStorage):
47150        * storage/StorageTracker.h: Added.
47151        * storage/StorageTrackerClient.h: Added.
47152        (WebCore::StorageTrackerClient::~StorageTrackerClient):
47153
471542011-03-11  Steve Block  <steveblock@google.com>
47155
47156        Reviewed by Jeremy Orlow.
47157
47158        JavaMethod does not correctly check for a null jstring for the method name
47159        https://bugs.webkit.org/show_bug.cgi?id=56187
47160
47161        No new tests, simple typo fix.
47162
47163        * bridge/jni/JavaMethod.cpp:
47164        (JavaMethod::JavaMethod):
47165
471662011-03-11  Adrienne Walker  <enne@google.com>
47167
47168        Reviewed by James Robinson.
47169
47170        [chromium] Compositor uses too much texture memory for scrollbars
47171        https://bugs.webkit.org/show_bug.cgi?id=56212
47172
47173        Compositor invalidations can be off the page (and very large), but
47174        scrollbars only need to care about the invalidation that's visible.
47175        The large invalidation was causing the tiler layer size to grow
47176        needlessly larger than the scrollbar.
47177
47178        * platform/graphics/chromium/LayerRendererChromium.cpp:
47179        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
47180
471812011-03-11  David Hyatt  <hyatt@apple.com>
47182
47183        Reviewed by Simon Fraser.
47184
47185        https://bugs.webkit.org/show_bug.cgi?id=52987
47186
47187        REGRESSION: Overflowing columns not repainted correctly
47188
47189        Make sure to add in column overflow as visual overflow as well.  It was only propagating layout overflow, which is obviously not
47190        sufficient, since blocks paint their own columns.
47191
47192        Added fast/multicol/scrolling-overflow.html
47193
47194        * rendering/RenderBlock.cpp:
47195        (WebCore::RenderBlock::addOverflowFromChildren):
47196
471972011-03-11  Matthew Delaney  <mdelaney@apple.com>
47198
47199        Reviewed by Simon Fraser.
47200
47201        Set canvasUsesAcceleratedDrawing setting to be off(false) by default
47202        https://bugs.webkit.org/show_bug.cgi?id=56215
47203
47204        No new tests. Does not affect behavior. Just keeping the setting off by default.
47205
47206        * page/Settings.cpp:
47207        (WebCore::Settings::Settings):
47208
472092011-03-11  Andy Estes  <aestes@apple.com>
47210
47211        Reviewed by David Hyatt.
47212
47213        Table cells with dynamically added percentage height descendants do not
47214        grow in size if the table has already been laid out.
47215        https://bugs.webkit.org/show_bug.cgi?id=56174
47216
47217        Table cells ignore their specified size and collapse to fit their
47218        children. When a descendent with percentage height is present before
47219        the table is first laid out, the descendent is sized based on the
47220        specified size of the table cell. However, when the child isn't present
47221        when the table is first laid out, the table cell ignores its specified
47222        size and collapses down to 0. Then, when the child div is added in a
47223        separate run loop iteration, it is sized to be 100% of the collapsed
47224        cell height instead of 100% of the cell's specified height. We should
47225        not get different layouts depending on the timing of tree construction.
47226
47227        Fix this by clearing intrinsic padding before calculating the table
47228        cell's override height when we detect a child that should flex the
47229        table cell.
47230
47231        Test: fast/table/dynamic-descendant-percentage-height.html
47232
47233        * rendering/RenderTableCell.cpp:
47234        (WebCore::RenderTableCell::setOverrideSizeFromRowHeight): clear
47235        intrinsic padding before setting the override size.
47236        * rendering/RenderTableCell.h:
47237        * rendering/RenderTableSection.cpp:
47238        (WebCore::RenderTableSection::layoutRows): Call
47239        setOverrideSizeFromRowHeight() instead of setOverrideSize().
47240
472412011-03-11  Michael Nordman  <michaeln@google.com>
47242
47243        Reviewed by David Levin.
47244
47245        Add SQLCallbackWrapper
47246        Instead of directly holding RefPtrs to the Callback objects in SQLStatement and SQLTransaction, hold a wrapper objects
47247        which holds those references whose dtors will schedule the release of those references on the ScriptExecution thread.
47248        https://bugs.webkit.org/show_bug.cgi?id=55919
47249
47250        No new tests, existing tests apply.
47251
47252        * GNUmakefile.am:
47253        * WebCore.gypi:
47254        * WebCore.pro:
47255        * WebCore.vcproj/WebCore.vcproj:
47256        * WebCore.xcodeproj/project.pbxproj:
47257        * storage/SQLCallbackWrapper.h: Added.
47258        (WebCore::SQLCallbackWrapper::SQLCallbackWrapper):
47259        (WebCore::SQLCallbackWrapper::clear):
47260        (WebCore::SQLCallbackWrapper::unwrap):
47261        (WebCore::SQLCallbackWrapper::hasCallback):
47262        (WebCore::SQLCallbackWrapper::safeRelease):
47263        * storage/SQLStatement.cpp:
47264        (WebCore::SQLStatement::create):
47265        (WebCore::SQLStatement::SQLStatement):
47266        (WebCore::SQLStatement::performCallback):
47267        * storage/SQLStatement.h:
47268        (WebCore::SQLStatement::hasStatementCallback):
47269        (WebCore::SQLStatement::hasStatementErrorCallback):
47270        * storage/SQLTransaction.cpp:
47271        (WebCore::SQLTransaction::SQLTransaction):
47272        (WebCore::SQLTransaction::executeSQL):
47273        (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
47274        (WebCore::SQLTransaction::deliverTransactionCallback):
47275        (WebCore::SQLTransaction::deliverStatementCallback):
47276        (WebCore::SQLTransaction::postflightAndCommit):
47277        (WebCore::SQLTransaction::deliverSuccessCallback):
47278        (WebCore::SQLTransaction::handleTransactionError):
47279        (WebCore::SQLTransaction::deliverTransactionErrorCallback):
47280        * storage/SQLTransaction.h:
47281
472822011-03-11  Eric Carlson  <eric.carlson@apple.com>
47283
47284        Reviewed by Sam Weinig.
47285
47286        <rdar://problem/8955589> Adopt AVFoundation media back end on Lion.
47287
47288        No new tests, existing media tests cover this.
47289
47290        * WebCore.xcodeproj/project.pbxproj:
47291        * platform/graphics/MediaPlayer.cpp:
47292        (WebCore::installedMediaEngines): Register MediaPlayerPrivateAVFoundationObjC.
47293        (WebCore::bestMediaEngineForTypeAndCodecs): Kill some whitespace.
47294        (WebCore::MediaPlayer::loadWithNextMediaEngine): Ditto.
47295        (WebCore::MediaPlayer::inMediaDocument): Ditto.
47296        * platform/graphics/MediaPlayer.h:
47297
47298        * platform/graphics/avfoundation: Added.
47299        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp: Added.
47300        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h: Added.
47301
47302        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.h: Added.
47303        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundationObjC.mm: Added.
47304
473052011-03-11  Dean Jackson  <dino@apple.com>
47306
47307        Reviewed by Simon Fraser.
47308
47309        https://bugs.webkit.org/show_bug.cgi?id=56205
47310        m_restrictions needs to allow multiple values (a bitfield)
47311
47312        HTMLMediaElement::m_restrictions needs to hold multiple values, so
47313        change BehaviorRestrictions to an unsigned typedef and rename the
47314        existing enum BehaviorRestrictionFlags.
47315
47316        * html/HTMLMediaElement.h:
47317        (WebCore::HTMLMediaElement::setBehaviorRestrictions):
47318
473192011-03-11  David Hyatt  <hyatt@apple.com>
47320
47321        Reviewed by Dan Bernstein.
47322
47323        https://bugs.webkit.org/show_bug.cgi?id=47206
47324
47325        Table rows don't support ::before/::after.  Add support to RenderTableRow::styleDidChange so that ::before/::after content gets
47326        properly constructed.
47327
47328        Added fast/css-generated-content/table-row-before-after.html
47329
47330        * rendering/RenderTableRow.cpp:
47331        (WebCore::RenderTableRow::styleDidChange):
47332        * rendering/RenderTableRow.h:
47333
473342011-03-11  James Robinson  <jamesr@chromium.org>
47335
47336        Reviewed by Kenneth Russell.
47337
47338        [chromium] Avoid updating a composited layer&apos;s contents if the layer has nonpositive dimensions
47339        https://bugs.webkit.org/show_bug.cgi?id=56209
47340
47341        This matches the behavior prior to r80482.  No test since the only changes in
47342        behavior are avoiding work on invisible layers, which is unobservable,
47343        and fixing a crash due to bug 56153.
47344
47345        * platform/graphics/chromium/LayerRendererChromium.cpp:
47346        (WebCore::LayerRendererChromium::updateContentsRecursive):
47347
473482011-03-11  David Hyatt  <hyatt@apple.com>
47349
47350        Reviewed by Simon Fraser.
47351
47352        https://bugs.webkit.org/show_bug.cgi?id=47159
47353
47354        CSS2.1 failures in background position parsing.
47355
47356        Rewrite background position component parsing to match the spec.  Our old parsing would allow "100% left" to be valid
47357        when it should not have.  Rename parseFillPositionXY to parseFillPositionComponent and pass in enough information for
47358        it to understand what the first component was.
47359
47360        For individual property parsing using background-position-x/y, I added new functions that just handle that without
47361        worrying about the other component.
47362
47363        In order to pass the CSS2.1 test, I also had to fix multiple background parsing.  The number of layers in multiple
47364        backgrounds is determined solely by the background-image property and not by any of the other properties.  cullEmptyLayers
47365        has been changed to always consider a layer empty if it has no image set, even if other properties are set.
47366
47367        A number of layout tests had to be patched as they were invalid.  A couple of them relied on incorrect background-position
47368        parsing (e.g., "50 left") and another relied on incorrect multiple background parsing.  It's not clear if the computed style
47369        should actually include the additional values when no image is set though, so that should perhaps be the subject of a
47370        follow-up bug.
47371
47372        Added fast/backgrounds/background-position-parsing.html
47373
47374        * css/CSSParser.cpp:
47375        (WebCore::CSSParser::parseFillPositionX):
47376        (WebCore::CSSParser::parseFillPositionY):
47377        (WebCore::CSSParser::parseFillPositionComponent):
47378        (WebCore::CSSParser::parseFillPosition):
47379        (WebCore::CSSParser::parseFillProperty):
47380        (WebCore::CSSParser::parseTransformOrigin):
47381        (WebCore::CSSParser::parsePerspectiveOrigin):
47382        * css/CSSParser.h:
47383        * rendering/style/FillLayer.cpp:
47384        (WebCore::FillLayer::fillUnsetProperties):
47385        (WebCore::FillLayer::cullEmptyLayers):
47386
473872011-03-11  Vangelis Kokkevis  <vangelis@chromium.org>
47388
47389        Reviewed by James Robinson.
47390
47391        [chromium] Allow large layers with non-identity transforms to be drawn
47392        as long as their visible portion is smaller than the largest supported
47393        texture size. This code will soon be replaced by tiled layers.
47394        https://bugs.webkit.org/show_bug.cgi?id=55984
47395
47396        Test: platform/chromium/compositing/huge-layer-rotated.html
47397
47398        * platform/graphics/chromium/ContentLayerChromium.cpp:
47399        (WebCore::ContentLayerChromium::updateContentsIfDirty):
47400        (WebCore::ContentLayerChromium::draw):
47401        * platform/graphics/chromium/ContentLayerChromium.h:
47402
474032011-03-09  Chris Marrin  <cmarrin@apple.com>
47404
47405        Reviewed by Adam Roben.
47406
47407        REGRESSION (5.0.3-ToT): Scrolling text doesn&apos;t scroll in Star Wars intro animation
47408        https://bugs.webkit.org/show_bug.cgi?id=52468
47409
47410        Added WIN32 to the ifdef controlling whether animations are applied in normal or
47411        reverse order. On Mac, animations used to be applied in reverse, but
47412        <rdar://problem/7095638> fixed this in the release after Snow Leopard.
47413        But that patch has not be applied to the Safari Windows SDK yet. For now
47414        I've made Windows use the reverse order logig. <rdar://problem/9112233> is
47415        tracking the inclusion of the patch on Windows.
47416
47417        * platform/graphics/ca/GraphicsLayerCA.cpp:
47418        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
47419
474202011-03-11  Tony Gentilcore  <tonyg@chromium.org>
47421
47422        Reviewed by Eric Seidel.
47423
47424        Let the parser yield for layout before running scripts
47425        https://bugs.webkit.org/show_bug.cgi?id=54355
47426
47427        Prior to this patch, the parser would yield to perform a layout/paint before running a
47428        script only if the script or a stylesheet blocking the script is not loaded yet. Since we
47429        don't preload scan into the body while parsing the head, typically we'll block on a script
47430        early in the body that causes us to yield to do the first paint within a reasonable time.
47431
47432        However, I'm planning to change the PreloadScanner to scan into the body from the head.
47433        That significantly improves overall load time, but would hurt first paint time because
47434        fewer scripts would be blocked during parsing and thus wouldn't yield.
47435
47436        This change causes us to yield before running scripts if we haven't painted yet (regardless
47437        of whether or not the script is loaded). In addition to allowing the above mentioned
47438        PreloadScanner change to be implemented without regressing first paint time, this also
47439        improves first paint time by itself.
47440
47441        I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
47442        bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
47443        6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
47444        signifcant change in page load time.
47445
47446        Within the pages tested, 33 had no statistically significant change in time to first paint,
47447        12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
47448        are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
47449
47450        * html/parser/HTMLDocumentParser.cpp:
47451        (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
47452        (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
47453        means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
47454        the right thing whether we are just before a token or waiting for a script. Now that we may
47455        yield before a token or before a script, this may be called while paused.
47456        * html/parser/HTMLParserScheduler.cpp:
47457        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
47458        * page/FrameView.h:
47459        (WebCore::FrameView::hasEverPainted): Added.
47460
474612011-03-11  Dimitri Glazkov  <dglazkov@chromium.org>
47462
47463        Fix crashes in dom/html/level2/html/HTMLInputElement*.
47464
47465        * css/CSSStyleSelector.cpp:
47466        (WebCore::CSSStyleSelector::adjustRenderStyle): Added a null-check for e,
47467            because e can certainly be a null.
47468
474692011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
47470
47471        Reviewed by David Hyatt.
47472
47473        Choke text-decoration when entering shadow DOM subtree.
47474        https://bugs.webkit.org/show_bug.cgi?id=56044
47475
47476        No new tests, because the functionality can't be tested yet.
47477
47478        * css/CSSStyleSelector.cpp:
47479        (WebCore::CSSStyleSelector::adjustRenderStyle): Added a check for shadow DOM root.
47480
474812011-03-08  Dimitri Glazkov  <dglazkov@chromium.org>
47482
47483        Reviewed by Eric Carlson.
47484
47485        Convert MediaControlTimeDisplayElement to use standard layout with a custom renderer.
47486        https://bugs.webkit.org/show_bug.cgi?id=55972
47487
47488        Instead of poking at the time display elements all the way from RenderMedia,
47489        let the standard layout cycle take care of things. Move the logic of calculating
47490        when to collapse the time display elements into a custom renderer, since
47491        this is not something that can be accomplished with CSS.
47492
47493        Also, the logic of keeping the timeline slider at least 100px needed refreshing,
47494        since it didn't actually keep it at 100px.
47495
47496        * html/shadow/MediaControls.cpp: Moved the logic of determining visibility
47497            of time display elements to RenderMediaControlTimeDisplay, eliminating
47498            updateTimeDisplayVisibility method.
47499        * html/shadow/MediaControls.h: Removed decl.
47500        * rendering/MediaControlElements.cpp:
47501        (WebCore::RenderMediaControlTimeDisplay::RenderMediaControlTimeDisplay):
47502            Added new renderer class.
47503        (WebCore::RenderMediaControlTimeDisplay::layout): Simplified (and corrected)
47504            size-sensing logic, still using hard-coded values.
47505        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
47506            Removed m_isVisible member, which is no longer necessary.
47507        (WebCore::MediaControlTimeDisplayElement::createRenderer): Added to
47508            return the new renderer.
47509        * rendering/MediaControlElements.h: Adjusted decls.
47510        * rendering/RenderMedia.cpp:
47511        (WebCore::RenderMedia::layout): Remove the now-unnecessary poking at
47512            media controls in layout.
47513
475142011-03-09  Dimitri Glazkov  <dglazkov@chromium.org>
47515
47516        Reviewed by Eric Carlson.
47517
47518        Start focusing updates to media controls, away from always updating everything.
47519        https://bugs.webkit.org/show_bug.cgi?id=56038
47520
47521        For now, the new methods just call generic MediaControls::update.
47522
47523        Covered by existing tests.
47524
47525        * html/HTMLMediaElement.cpp:
47526        (WebCore::HTMLMediaElement::attributeChanged): Changed to use MediaControls::reset.
47527        (WebCore::HTMLMediaElement::setMuted): Changed to use MediaControls::changedMute.
47528        (WebCore::HTMLMediaElement::updateVolume): Changed to use MediaControls::changedVolume.
47529        (WebCore::HTMLMediaElement::defaultEventHandler): Changed to use the new mediaControls
47530            accessor.
47531        (WebCore::HTMLMediaElement::setClosedCaptionsVisible): Changed to use
47532            MediaControls::changedClosedCaptionsVisibility.
47533        (WebCore::HTMLMediaElement::mediaControls): Added.
47534        (WebCore::HTMLMediaElement::hasMediaControls): Added.
47535        * html/HTMLMediaElement.h: Added decls.
47536        * html/shadow/MediaControls.cpp:
47537        (WebCore::MediaControls::reset): Added.
47538        (WebCore::MediaControls::changedMute): Added.
47539        (WebCore::MediaControls::changedVolume): Added.
47540        (WebCore::MediaControls::changedClosedCaptionsVisibility): Added.
47541        * html/shadow/MediaControls.h: Added decls.
47542
475432011-03-11  Alexis Menard  <alexis.menard@openbossa.org>
47544
47545        Reviewed by Martin Robinson.
47546
47547        [GStreamer] When seeking webKitWebSrcStop release the frame but should not.
47548        https://bugs.webkit.org/show_bug.cgi?id=55703
47549
47550        When calling webKitWebSrcStop in case of a seeking, the frame should not
47551        be reset (the source hasn't change). The frame may be used to get the network
47552        context. Some network stack (like Qt) are relaying on the network context
47553        to work.
47554
47555        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
47556        (webKitWebSrcStop):
47557
475582011-03-11  Dean Jackson  <dino@apple.com>
47559
47560        Unreviewed.
47561
47562        Build fixes for GTK and Leopard.
47563
47564        * bindings/gobject/GNUmakefile.am:
47565        - add missing WebKitAnimation* generated bindings
47566        * page/WebKitAnimation.idl:
47567        - use double in place of float (the core values are double anyway)
47568
475692011-03-11  Dean Jackson  <dino@apple.com>
47570
47571        Unreviewed build fix for QT.
47572
47573        * WebCore.pro:
47574
475752011-03-11  Dean Jackson  <dino@apple.com>
47576
47577        Reviewed by Simon Fraser and Chris Marrin.
47578
47579        https://bugs.webkit.org/show_bug.cgi?id=54151
47580        Implement an API to play/pause/scrub animations
47581
47582        This is Part 1. Adds the new WebKitAnimation and WebKitAnimationList
47583        APIs, exposed via Element.getWebKitAnimations(). This first pass
47584        is a read-only API - a subsequent commit will add the ability
47585        to scrub animations.
47586
47587        Test: animations/animation-api-1.html
47588
47589        * Android.derived.jscbindings.mk:
47590        * Android.derived.v8bindings.mk:
47591        * Android.mk:
47592        * Android.v8bindings.mk:
47593        * CMakeLists.txt:
47594        * CodeGenerators.pri:
47595        * DerivedSources.cpp:
47596        * DerivedSources.make:
47597        * GNUmakefile.am:
47598        * WebCore.gypi:
47599        * WebCore.pro:
47600        * WebCore.vcproj/WebCore.vcproj:
47601        * WebCore.xcodeproj/project.pbxproj:
47602        - All build settings updated for new files
47603        * bindings/js/JSBindingsAllInOne.cpp:
47604        - Include new custom files
47605        * bindings/js/JSWebKitAnimationCustom.cpp: Added.
47606        (WebCore::JSWebKitAnimation::iterationCount):
47607        - Custom property getter so that we can return INFINITY
47608        * bindings/js/JSWebKitAnimationListCustom.cpp: Added.
47609        (WebCore::JSWebKitAnimationList::markChildren):
47610        - Make sure WebKitAnimations are marked
47611        * bindings/v8/custom/V8WebKitAnimationCustom.cpp: Added.
47612        (WebCore::V8WebkitAnimation::iterationCountAccessorGetter):
47613        - Custom property getter so that we can return INFINITY
47614        * dom/Element.cpp:
47615        (WebCore::Element::webkitGetAnimations):
47616        * dom/Element.h:
47617        * dom/Element.idl:
47618        - New API entry point
47619        * page/DOMWindow.idl:
47620        - Constructor definitions for WebKitAnimation and WebKitAnimationList
47621        * page/animation/AnimationBase.cpp:
47622        (WebCore::AnimationBase::~AnimationBase):
47623        - Since AnimationBase can now live longer (if a WebKitAnimation is
47624        held in Javascript) we need to guard for the renderer having disappeared.
47625        (WebCore::AnimationBase::setElapsedTime):
47626        (WebCore::AnimationBase::play):
47627        (WebCore::AnimationBase::pause):
47628        - Stub implementations at present
47629        * page/animation/AnimationBase.h:
47630        (WebCore::AnimationBase::animation):
47631        - Expose the Animation properties
47632        * page/animation/AnimationController.cpp:
47633        (WebCore::AnimationControllerPrivate::animationsForRenderer):
47634        (WebCore::AnimationController::animationsForRenderer):
47635        - Builds the list of WebKitAnimations
47636        * page/animation/AnimationController.h:
47637        * page/animation/AnimationControllerPrivate.h:
47638        * page/animation/CompositeAnimation.cpp:
47639        (WebCore::CompositeAnimation::updateKeyframeAnimations):
47640        - Make sure we clear the renderer if we are removing the animation
47641        (WebCore::CompositeAnimation::animations):
47642        * page/animation/CompositeAnimation.h:
47643        * page/WebKitAnimation.cpp: Added.
47644        (WebCore::WebKitAnimation::WebKitAnimation):
47645        (WebCore::WebKitAnimation::name):
47646        (WebCore::WebKitAnimation::duration):
47647        (WebCore::WebKitAnimation::elapsedTime):
47648        (WebCore::WebKitAnimation::setElapsedTime):
47649        (WebCore::WebKitAnimation::delay):
47650        (WebCore::WebKitAnimation::iterationCount):
47651        (WebCore::WebKitAnimation::paused):
47652        (WebCore::WebKitAnimation::ended):
47653        (WebCore::WebKitAnimation::direction):
47654        (WebCore::WebKitAnimation::fillMode):
47655        (WebCore::WebKitAnimation::pause):
47656        (WebCore::WebKitAnimation::play):
47657        - The implementation of the new API. All the read-only parts are
47658        done, but elapsedTime, play() and pause() are stubs.
47659        * page/WebKitAnimation.h: Added.
47660        (WebCore::WebKitAnimation::create):
47661        (WebCore::WebKitAnimation::~WebKitAnimation):
47662        * page/WebKitAnimation.idl: Added.
47663        * page/WebKitAnimationList.cpp: Added.
47664        * page/WebKitAnimationList.h: Added.
47665        * page/WebKitAnimationList.idl: Added.
47666        - Copies NodeList implementation
47667
476682011-03-11  Ilya Tikhonovsky  <loislo@chromium.org>
47669
47670        Reviewed by Yury Semikhatsky.
47671
47672        Web Inspector: introduce error argument for all the callbacks on frontend.
47673        https://bugs.webkit.org/show_bug.cgi?id=56100
47674
47675        * inspector/CodeGeneratorInspector.pm:
47676        * inspector/front-end/AuditRules.js:
47677        (WebInspector.AuditRules.evaluateInTargetWindow):
47678        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
47679        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
47680        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
47681        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
47682        * inspector/front-end/CSSStyleModel.js:
47683        (WebInspector.CSSStyleModel.prototype.getStylesAsync):
47684        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
47685        (WebInspector.CSSStyleModel.prototype.getInlineStyleAsync):
47686        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
47687        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
47688        (WebInspector.CSSStyleModel.prototype.addRule):
47689        (WebInspector.CSSStyleModel.prototype.addRule.callback):
47690        (WebInspector.CSSStyleModel.prototype._styleSheetChanged.callback):
47691        (WebInspector.CSSStyleModel.prototype._styleSheetChanged):
47692        (WebInspector.CSSStyleModel.prototype._onRevert):
47693        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
47694        (WebInspector.CSSProperty.prototype.setText.callback):
47695        (WebInspector.CSSProperty.prototype.setText):
47696        (WebInspector.CSSProperty.prototype.setDisabled.callback):
47697        (WebInspector.CSSProperty.prototype.setDisabled):
47698        (WebInspector.CSSStyleSheet.createForId):
47699        (WebInspector.CSSStyleSheet.prototype.setText):
47700        * inspector/front-end/ConsoleView.js:
47701        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
47702        * inspector/front-end/DOMAgent.js:
47703        (WebInspector.DOMNode.prototype.setNodeName):
47704        (WebInspector.DOMNode.prototype.setNodeValue):
47705        (WebInspector.DOMNode.prototype.setAttribute):
47706        (WebInspector.DOMNode.prototype.removeAttribute):
47707        (WebInspector.DOMNode.prototype.childNodes.mycallback):
47708        (WebInspector.DOMNode.prototype.childNodes):
47709        (WebInspector.DOMNode.prototype.outerHTML):
47710        (WebInspector.DOMNode.prototype.setOuterHTML):
47711        (WebInspector.DOMNode.prototype.removeNode):
47712        (WebInspector.DOMNode.prototype.copyNode):
47713        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
47714        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
47715        (WebInspector.DOMAgent.prototype._documentUpdated):
47716        (WebInspector.ApplicationCacheDispatcher.getApplicationCachesAsync):
47717        (WebInspector.Cookies.getCookiesAsync):
47718        (WebInspector.EventListeners.getEventListenersForNodeAsync):
47719        * inspector/front-end/DOMStorage.js:
47720        (WebInspector.DOMStorage.prototype.getEntries):
47721        (WebInspector.DOMStorage.prototype.setItem):
47722        (WebInspector.DOMStorage.prototype.removeItem):
47723        * inspector/front-end/Database.js:
47724        (WebInspector.Database.prototype.getTableNames):
47725        (WebInspector.Database.prototype.executeSql):
47726        * inspector/front-end/DebuggerModel.js:
47727        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
47728        (WebInspector.DebuggerModel.prototype.setBreakpoint):
47729        (WebInspector.DebuggerModel.prototype.setBreakpointBySourceId):
47730        (WebInspector.DebuggerModel.prototype.editScriptSource):
47731        * inspector/front-end/ElementsPanel.js:
47732        (WebInspector.ElementsPanel.prototype._setSearchingForNode):
47733        * inspector/front-end/ElementsTreeOutline.js:
47734        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
47735        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
47736        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
47737        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
47738        ():
47739        * inspector/front-end/ExtensionPanel.js:
47740        (WebInspector.ExtensionWatchSidebarPane.prototype._onEvaluate):
47741        * inspector/front-end/ExtensionServer.js:
47742        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
47743        * inspector/front-end/NetworkManager.js:
47744        (WebInspector.NetworkManager.prototype.requestContent):
47745        (WebInspector.NetworkManager.prototype._processCachedResources):
47746        * inspector/front-end/ProfileView.js:
47747        (WebInspector.CPUProfileView.profileCallback):
47748        (WebInspector.CPUProfileView):
47749        * inspector/front-end/ProfilesPanel.js:
47750        * inspector/front-end/RemoteObject.js:
47751        (WebInspector.RemoteObject.resolveNode):
47752        (WebInspector.RemoteObject.prototype.getProperties.remoteObjectBinder):
47753        (WebInspector.RemoteObject.prototype.getProperties):
47754        (WebInspector.RemoteObject.prototype.setPropertyValue):
47755        (WebInspector.RemoteObject.prototype.evaluate):
47756        * inspector/front-end/Script.js:
47757        (WebInspector.Script.prototype.requestSource.didGetScriptSource):
47758        (WebInspector.Script.prototype.requestSource):
47759        * inspector/front-end/ScriptsPanel.js:
47760        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
47761        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
47762        (WebInspector.ScriptsPanel.prototype._setPauseOnExceptions):
47763        * inspector/front-end/inspector.js:
47764        ():
47765        (WebInspector.doLoadedDone.onPopulateScriptObjects):
47766        (WebInspector.doLoadedDone.propertyNamesCallback):
47767        (WebInspector.doLoadedDone):
47768
477692011-03-11  Yury Semikhatsky  <yurys@chromium.org>
47770
47771        Reviewed by Pavel Feldman.
47772
47773        Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
47774        https://bugs.webkit.org/show_bug.cgi?id=56173
47775
47776        Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
47777
47778        * CMakeLists.txt:
47779        * GNUmakefile.am:
47780        * WebCore.gypi:
47781        * WebCore.pro:
47782        * WebCore.vcproj/WebCore.vcproj:
47783        * WebCore.xcodeproj/project.pbxproj:
47784        * bindings/js/JSInjectedScriptHostCustom.cpp:
47785        * bindings/js/JSInjectedScriptManager.cpp: Added.
47786        (WebCore::InjectedScriptManager::createInjectedScript):
47787        (WebCore::InjectedScriptManager::discardInjectedScript):
47788        (WebCore::InjectedScriptManager::injectedScriptFor):
47789        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
47790        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
47791        * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
47792        (WebCore::WeakReferenceCallback):
47793        (WebCore::createInjectedScriptHostV8Wrapper):
47794        (WebCore::InjectedScriptManager::createInjectedScript):
47795        (WebCore::InjectedScriptManager::discardInjectedScript):
47796        (WebCore::InjectedScriptManager::injectedScriptFor):
47797        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
47798        * inspector/ConsoleMessage.cpp:
47799        (WebCore::ConsoleMessage::addToFrontend):
47800        * inspector/ConsoleMessage.h:
47801        * inspector/InjectedScript.cpp:
47802        (WebCore::InjectedScript::canAccessInspectedWindow):
47803        * inspector/InjectedScript.h:
47804        * inspector/InjectedScriptHost.cpp:
47805        (WebCore::InjectedScriptHost::create):
47806        (WebCore::InjectedScriptHost::InjectedScriptHost):
47807        (WebCore::InjectedScriptHost::~InjectedScriptHost):
47808        (WebCore::InjectedScriptHost::disconnect):
47809        (WebCore::InjectedScriptHost::inspectImpl):
47810        (WebCore::InjectedScriptHost::clearConsoleMessages):
47811        (WebCore::InjectedScriptHost::databaseIdImpl):
47812        (WebCore::InjectedScriptHost::storageIdImpl):
47813        * inspector/InjectedScriptHost.h:
47814        (WebCore::InjectedScriptHost::init):
47815        (WebCore::InjectedScriptHost::setFrontend):
47816        (WebCore::InjectedScriptHost::clearFrontend):
47817        * inspector/InjectedScriptManager.cpp: Added.
47818        (WebCore::InjectedScriptManager::create):
47819        (WebCore::InjectedScriptManager::InjectedScriptManager):
47820        (WebCore::InjectedScriptManager::~InjectedScriptManager):
47821        (WebCore::InjectedScriptManager::disconnect):
47822        (WebCore::InjectedScriptManager::injectedScriptHost):
47823        (WebCore::InjectedScriptManager::injectedScriptForId):
47824        (WebCore::InjectedScriptManager::injectedScriptForObjectId):
47825        (WebCore::InjectedScriptManager::discardInjectedScripts):
47826        (WebCore::InjectedScriptManager::releaseObjectGroup):
47827        (WebCore::InjectedScriptManager::injectedScriptSource):
47828        (WebCore::InjectedScriptManager::injectScript):
47829        * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
47830        * inspector/Inspector.idl:
47831        * inspector/InspectorAgent.cpp:
47832        (WebCore::InspectorAgent::InspectorAgent):
47833        (WebCore::InspectorAgent::inspectedPageDestroyed):
47834        (WebCore::InspectorAgent::focusNode):
47835        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
47836        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
47837        (WebCore::InspectorAgent::didCommitLoad):
47838        (WebCore::InspectorAgent::domContentLoadedEventFired):
47839        * inspector/InspectorAgent.h:
47840        * inspector/InspectorBrowserDebuggerAgent.cpp:
47841        * inspector/InspectorConsoleAgent.cpp:
47842        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
47843        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
47844        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
47845        (WebCore::InspectorConsoleAgent::addInspectedNode):
47846        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
47847        (WebCore::InspectorConsoleAgent::addConsoleMessage):
47848        * inspector/InspectorConsoleAgent.h:
47849        * inspector/InspectorController.cpp:
47850        (WebCore::InspectorController::InspectorController):
47851        (WebCore::InspectorController::connectFrontend):
47852        (WebCore::InspectorController::disconnectFrontend):
47853        * inspector/InspectorController.h:
47854        * inspector/InspectorDOMAgent.cpp:
47855        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
47856        (WebCore::InspectorDOMAgent::discardBindings):
47857        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
47858        (WebCore::InspectorDOMAgent::resolveNode):
47859        * inspector/InspectorDOMAgent.h:
47860        (WebCore::InspectorDOMAgent::create):
47861        * inspector/InspectorDebuggerAgent.cpp:
47862        (WebCore::InspectorDebuggerAgent::create):
47863        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
47864        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
47865        (WebCore::InspectorDebuggerAgent::currentCallFrames):
47866        * inspector/InspectorDebuggerAgent.h:
47867        * inspector/InspectorRuntimeAgent.cpp:
47868        (WebCore::InspectorRuntimeAgent::create):
47869        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
47870        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
47871        (WebCore::InspectorRuntimeAgent::evaluate):
47872        (WebCore::InspectorRuntimeAgent::evaluateOn):
47873        (WebCore::InspectorRuntimeAgent::getProperties):
47874        (WebCore::InspectorRuntimeAgent::setPropertyValue):
47875        (WebCore::InspectorRuntimeAgent::releaseObject):
47876        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
47877        * inspector/InspectorRuntimeAgent.h:
47878        * inspector/front-end/ElementsPanel.js:
47879        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
47880        (WebInspector.ElementsPanel):
47881
478822011-03-11  Anton Muhin  <antonm@chromium.org>
47883
47884        Reviewed by Adam Barth.
47885
47886        [v8] Change the way group id for CSS objects is calculated
47887        https://bugs.webkit.org/show_bug.cgi?id=56117
47888
47889        Do not treat CSSStyleDeclarations under not CSSRule as belonging to the same object group
47890        as they should not be reachable in JavaScript.
47891
47892        Covered by existing layout tests.  Fact of absence of retention is not trivial to prove.
47893
47894        * bindings/v8/V8GCController.cpp:
47895        (WebCore::calculateGroupId):
47896        (WebCore::DOMObjectGrouperVisitor::visitDOMWrapper):
47897
478982011-03-11  Alexander Pavlov  <apavlov@chromium.org>
47899
47900        Reviewed by Yury Semikhatsky.
47901
47902        Web Inspector: hover over elements in Elements panel does not highlight nodes
47903        https://bugs.webkit.org/show_bug.cgi?id=56121
47904
47905        In DOM trees with a comment and/or doctype preceding the HTML tag, the tree container right boundary
47906        is 16px apart from the OL right boundary, and we miss the relevant LI by 4px. The fix is to compensate
47907        for these 16px when computing the test point coordinates.
47908
47909        * inspector/front-end/ElementsTreeOutline.js:
47910        (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
47911
479122011-03-11  Yury Semikhatsky  <yurys@chromium.org>
47913
47914        Unreviewed. Roll out r80837.
47915
47916        * CMakeLists.txt:
47917        * GNUmakefile.am:
47918        * WebCore.gypi:
47919        * WebCore.pro:
47920        * WebCore.vcproj/WebCore.vcproj:
47921        * WebCore.xcodeproj/project.pbxproj:
47922        * bindings/js/JSInjectedScriptHostCustom.cpp:
47923        (WebCore::InjectedScriptHost::createInjectedScript):
47924        (WebCore::InjectedScriptHost::discardInjectedScript):
47925        (WebCore::InjectedScriptHost::injectedScriptFor):
47926        (WebCore::InjectedScriptHost::canAccessInspectedWindow):
47927        * bindings/js/JSInjectedScriptManager.cpp: Removed.
47928        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
47929        (WebCore::WeakReferenceCallback):
47930        (WebCore::createInjectedScriptHostV8Wrapper):
47931        (WebCore::InjectedScriptHost::createInjectedScript):
47932        (WebCore::InjectedScriptHost::discardInjectedScript):
47933        (WebCore::InjectedScriptHost::injectedScriptFor):
47934        (WebCore::InjectedScriptHost::canAccessInspectedWindow):
47935        * bindings/v8/custom/V8InjectedScriptManager.cpp: Removed.
47936        * inspector/ConsoleMessage.cpp:
47937        (WebCore::ConsoleMessage::addToFrontend):
47938        * inspector/ConsoleMessage.h:
47939        * inspector/InjectedScript.cpp:
47940        (WebCore::InjectedScript::canAccessInspectedWindow):
47941        * inspector/InjectedScript.h:
47942        * inspector/InjectedScriptHost.cpp:
47943        (WebCore::InjectedScriptHost::InjectedScriptHost):
47944        (WebCore::InjectedScriptHost::~InjectedScriptHost):
47945        (WebCore::InjectedScriptHost::inspectImpl):
47946        (WebCore::InjectedScriptHost::clearConsoleMessages):
47947        (WebCore::InjectedScriptHost::databaseIdImpl):
47948        (WebCore::InjectedScriptHost::storageIdImpl):
47949        (WebCore::InjectedScriptHost::injectedScriptForId):
47950        (WebCore::InjectedScriptHost::injectedScriptForObjectId):
47951        (WebCore::InjectedScriptHost::injectedScriptForMainFrame):
47952        (WebCore::InjectedScriptHost::discardInjectedScripts):
47953        (WebCore::InjectedScriptHost::releaseObjectGroup):
47954        (WebCore::InjectedScriptHost::frontend):
47955        (WebCore::InjectedScriptHost::injectedScriptSource):
47956        (WebCore::InjectedScriptHost::injectScript):
47957        * inspector/InjectedScriptHost.h:
47958        (WebCore::InjectedScriptHost::create):
47959        (WebCore::InjectedScriptHost::inspectorAgent):
47960        (WebCore::InjectedScriptHost::disconnectController):
47961        * inspector/InjectedScriptManager.cpp: Removed.
47962        * inspector/InjectedScriptManager.h: Removed.
47963        * inspector/Inspector.idl:
47964        * inspector/InspectorAgent.cpp:
47965        (WebCore::InspectorAgent::InspectorAgent):
47966        (WebCore::InspectorAgent::inspectedPageDestroyed):
47967        (WebCore::InspectorAgent::focusNode):
47968        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
47969        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
47970        (WebCore::InspectorAgent::didCommitLoad):
47971        (WebCore::InspectorAgent::domContentLoadedEventFired):
47972        * inspector/InspectorAgent.h:
47973        (WebCore::InspectorAgent::injectedScriptHost):
47974        * inspector/InspectorBrowserDebuggerAgent.cpp:
47975        * inspector/InspectorConsoleAgent.cpp:
47976        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
47977        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
47978        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
47979        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
47980        (WebCore::InspectorConsoleAgent::addConsoleMessage):
47981        * inspector/InspectorConsoleAgent.h:
47982        * inspector/InspectorController.cpp:
47983        (WebCore::InspectorController::InspectorController):
47984        (WebCore::InspectorController::connectFrontend):
47985        (WebCore::InspectorController::disconnectFrontend):
47986        * inspector/InspectorController.h:
47987        * inspector/InspectorDOMAgent.cpp:
47988        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
47989        (WebCore::InspectorDOMAgent::discardBindings):
47990        (WebCore::InspectorDOMAgent::addInspectedNode):
47991        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
47992        (WebCore::InspectorDOMAgent::resolveNode):
47993        * inspector/InspectorDOMAgent.h:
47994        (WebCore::InspectorDOMAgent::create):
47995        * inspector/InspectorDebuggerAgent.cpp:
47996        (WebCore::InspectorDebuggerAgent::create):
47997        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
47998        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
47999        (WebCore::InspectorDebuggerAgent::currentCallFrames):
48000        * inspector/InspectorDebuggerAgent.h:
48001        * inspector/InspectorRuntimeAgent.cpp:
48002        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
48003        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
48004        (WebCore::InspectorRuntimeAgent::evaluate):
48005        (WebCore::InspectorRuntimeAgent::evaluateOn):
48006        (WebCore::InspectorRuntimeAgent::getProperties):
48007        (WebCore::InspectorRuntimeAgent::setPropertyValue):
48008        (WebCore::InspectorRuntimeAgent::releaseObject):
48009        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
48010        * inspector/InspectorRuntimeAgent.h:
48011        (WebCore::InspectorRuntimeAgent::create):
48012        * inspector/front-end/ElementsPanel.js:
48013        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
48014        (WebInspector.ElementsPanel):
48015
480162011-03-11  Yury Semikhatsky  <yurys@chromium.org>
48017
48018        Reviewed by Pavel Feldman.
48019
48020        Web Inspector: split InjectedScriptHost into InjectedScriptManager and InjectedScriptHost
48021        https://bugs.webkit.org/show_bug.cgi?id=56173
48022
48023        Moved all injected script managing logic into InjectedScriptManager which is owned by InspectorController.
48024
48025        * CMakeLists.txt:
48026        * GNUmakefile.am:
48027        * WebCore.gypi:
48028        * WebCore.pro:
48029        * WebCore.vcproj/WebCore.vcproj:
48030        * WebCore.xcodeproj/project.pbxproj:
48031        * bindings/js/JSInjectedScriptHostCustom.cpp:
48032        * bindings/js/JSInjectedScriptManager.cpp: Added.
48033        (WebCore::InjectedScriptManager::createInjectedScript):
48034        (WebCore::InjectedScriptManager::discardInjectedScript):
48035        (WebCore::InjectedScriptManager::injectedScriptFor):
48036        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
48037        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
48038        * bindings/v8/custom/V8InjectedScriptManager.cpp: Copied from Source/WebCore/bindings/v8/custom/V8InjectedScriptHostCustom.cpp.
48039        (WebCore::WeakReferenceCallback):
48040        (WebCore::createInjectedScriptHostV8Wrapper):
48041        (WebCore::InjectedScriptManager::createInjectedScript):
48042        (WebCore::InjectedScriptManager::discardInjectedScript):
48043        (WebCore::InjectedScriptManager::injectedScriptFor):
48044        (WebCore::InjectedScriptManager::canAccessInspectedWindow):
48045        * inspector/ConsoleMessage.cpp:
48046        (WebCore::ConsoleMessage::addToFrontend):
48047        * inspector/ConsoleMessage.h:
48048        * inspector/InjectedScript.cpp:
48049        (WebCore::InjectedScript::canAccessInspectedWindow):
48050        * inspector/InjectedScript.h:
48051        * inspector/InjectedScriptHost.cpp:
48052        (WebCore::InjectedScriptHost::create):
48053        (WebCore::InjectedScriptHost::InjectedScriptHost):
48054        (WebCore::InjectedScriptHost::~InjectedScriptHost):
48055        (WebCore::InjectedScriptHost::disconnect):
48056        (WebCore::InjectedScriptHost::inspectImpl):
48057        (WebCore::InjectedScriptHost::clearConsoleMessages):
48058        (WebCore::InjectedScriptHost::databaseIdImpl):
48059        (WebCore::InjectedScriptHost::storageIdImpl):
48060        * inspector/InjectedScriptHost.h:
48061        (WebCore::InjectedScriptHost::init):
48062        (WebCore::InjectedScriptHost::setFrontend):
48063        (WebCore::InjectedScriptHost::clearFrontend):
48064        * inspector/InjectedScriptManager.cpp: Added.
48065        (WebCore::InjectedScriptManager::create):
48066        (WebCore::InjectedScriptManager::InjectedScriptManager):
48067        (WebCore::InjectedScriptManager::~InjectedScriptManager):
48068        (WebCore::InjectedScriptManager::disconnect):
48069        (WebCore::InjectedScriptManager::injectedScriptHost):
48070        (WebCore::InjectedScriptManager::injectedScriptForId):
48071        (WebCore::InjectedScriptManager::injectedScriptForObjectId):
48072        (WebCore::InjectedScriptManager::discardInjectedScripts):
48073        (WebCore::InjectedScriptManager::releaseObjectGroup):
48074        (WebCore::InjectedScriptManager::injectedScriptSource):
48075        (WebCore::InjectedScriptManager::injectScript):
48076        * inspector/InjectedScriptManager.h: Copied from Source/WebCore/inspector/InjectedScriptHost.h.
48077        * inspector/Inspector.idl:
48078        * inspector/InspectorAgent.cpp:
48079        (WebCore::InspectorAgent::InspectorAgent):
48080        (WebCore::InspectorAgent::inspectedPageDestroyed):
48081        (WebCore::InspectorAgent::focusNode):
48082        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
48083        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
48084        (WebCore::InspectorAgent::didCommitLoad):
48085        (WebCore::InspectorAgent::domContentLoadedEventFired):
48086        * inspector/InspectorAgent.h:
48087        * inspector/InspectorBrowserDebuggerAgent.cpp:
48088        * inspector/InspectorConsoleAgent.cpp:
48089        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
48090        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
48091        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
48092        (WebCore::InspectorConsoleAgent::addInspectedNode):
48093        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
48094        (WebCore::InspectorConsoleAgent::addConsoleMessage):
48095        * inspector/InspectorConsoleAgent.h:
48096        * inspector/InspectorController.cpp:
48097        (WebCore::InspectorController::InspectorController):
48098        (WebCore::InspectorController::connectFrontend):
48099        (WebCore::InspectorController::disconnectFrontend):
48100        * inspector/InspectorController.h:
48101        * inspector/InspectorDOMAgent.cpp:
48102        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
48103        (WebCore::InspectorDOMAgent::discardBindings):
48104        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
48105        (WebCore::InspectorDOMAgent::resolveNode):
48106        * inspector/InspectorDOMAgent.h:
48107        (WebCore::InspectorDOMAgent::create):
48108        * inspector/InspectorDebuggerAgent.cpp:
48109        (WebCore::InspectorDebuggerAgent::create):
48110        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
48111        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
48112        (WebCore::InspectorDebuggerAgent::currentCallFrames):
48113        * inspector/InspectorDebuggerAgent.h:
48114        * inspector/InspectorRuntimeAgent.cpp:
48115        (WebCore::InspectorRuntimeAgent::create):
48116        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
48117        (WebCore::InspectorRuntimeAgent::~InspectorRuntimeAgent):
48118        (WebCore::InspectorRuntimeAgent::evaluate):
48119        (WebCore::InspectorRuntimeAgent::evaluateOn):
48120        (WebCore::InspectorRuntimeAgent::getProperties):
48121        (WebCore::InspectorRuntimeAgent::setPropertyValue):
48122        (WebCore::InspectorRuntimeAgent::releaseObject):
48123        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
48124        * inspector/InspectorRuntimeAgent.h:
48125        * inspector/front-end/ElementsPanel.js:
48126        (WebInspector.ElementsPanel.this.treeOutline.focusedNodeChanged):
48127        (WebInspector.ElementsPanel):
48128
481292011-03-09  Hans Wennborg  <hans@chromium.org>
48130
48131        Reviewed by Jeremy Orlow.
48132
48133        IndexedDB: Make IDBBackingStore abstract
48134        https://bugs.webkit.org/show_bug.cgi?id=56013
48135
48136        Make IDBBackingStore abstract to allow for multiple implementations.
48137        Move the SQLite implementation to IDBSQLiteBackingStore.
48138
48139        No new tests: refactoring only.
48140
48141        * WebCore.gypi:
48142        * storage/IDBBackingStore.h:
48143        (WebCore::IDBBackingStore::~IDBBackingStore):
48144        * storage/IDBFactoryBackendImpl.cpp:
48145        (WebCore::IDBFactoryBackendImpl::open):
48146        * storage/IDBSQLiteBackingStore.cpp:
48147        (WebCore::IDBSQLiteBackingStore::IDBSQLiteBackingStore):
48148        (WebCore::IDBSQLiteBackingStore::~IDBSQLiteBackingStore):
48149        (WebCore::runCommands):
48150        (WebCore::createTables):
48151        (WebCore::createMetaDataTable):
48152        (WebCore::getDatabaseSchemaVersion):
48153        (WebCore::migrateDatabase):
48154        (WebCore::IDBSQLiteBackingStore::open):
48155        (WebCore::IDBSQLiteBackingStore::extractIDBDatabaseMetaData):
48156        (WebCore::IDBSQLiteBackingStore::setIDBDatabaseMetaData):
48157        (WebCore::IDBSQLiteBackingStore::getObjectStores):
48158        (WebCore::IDBSQLiteBackingStore::createObjectStore):
48159        (WebCore::doDelete):
48160        (WebCore::IDBSQLiteBackingStore::deleteObjectStore):
48161        (WebCore::whereSyntaxForKey):
48162        (WebCore::bindKeyToQuery):
48163        (WebCore::lowerCursorWhereFragment):
48164        (WebCore::upperCursorWhereFragment):
48165        (WebCore::IDBSQLiteBackingStore::getObjectStoreRecord):
48166        (WebCore::bindKeyToQueryWithNulls):
48167        (WebCore::IDBSQLiteBackingStore::putObjectStoreRecord):
48168        (WebCore::IDBSQLiteBackingStore::clearObjectStore):
48169        (WebCore::IDBSQLiteBackingStore::deleteObjectStoreRecord):
48170        (WebCore::IDBSQLiteBackingStore::nextAutoIncrementNumber):
48171        (WebCore::IDBSQLiteBackingStore::keyExistsInObjectStore):
48172        (WebCore::IDBSQLiteBackingStore::forEachObjectStoreRecord):
48173        (WebCore::IDBSQLiteBackingStore::getIndexes):
48174        (WebCore::IDBSQLiteBackingStore::createIndex):
48175        (WebCore::IDBSQLiteBackingStore::deleteIndex):
48176        (WebCore::IDBSQLiteBackingStore::putIndexDataForRecord):
48177        (WebCore::IDBSQLiteBackingStore::deleteIndexDataForRecord):
48178        (WebCore::IDBSQLiteBackingStore::getObjectViaIndex):
48179        (WebCore::keyFromQuery):
48180        (WebCore::IDBSQLiteBackingStore::getPrimaryKeyViaIndex):
48181        (WebCore::IDBSQLiteBackingStore::keyExistsInIndex):
48182        (WebCore::IDBSQLiteBackingStore::openObjectStoreCursor):
48183        (WebCore::IDBSQLiteBackingStore::openIndexKeyCursor):
48184        (WebCore::IDBSQLiteBackingStore::openIndexCursor):
48185        (WebCore::IDBSQLiteBackingStore::createTransaction):
48186        * storage/IDBSQLiteBackingStore.h: Added.
48187
481882011-03-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
48189
48190        Unreviewed build error fix.
48191
48192        [EFL] Fix build break when SHARED_CORE is ON
48193        https://bugs.webkit.org/show_bug.cgi?id=56155
48194
48195        * platform/efl/ContextMenuEfl.cpp:
48196        (WebCore::ContextMenu::ContextMenu):
48197        * platform/efl/ContextMenuItemEfl.cpp:
48198        (WebCore::ContextMenuItem::nativeMenuItem):
48199        (WebCore::ContextMenuItem::ContextMenuItem):
48200        (WebCore::ContextMenuItem::~ContextMenuItem):
48201
482022011-03-11  Andrey Kosyakov  <caseq@chromium.org>
48203
48204        Reviewed by Pavel Feldman.
48205
48206        Web Inspector: resource load cancellation is reported to console as an error
48207        https://bugs.webkit.org/show_bug.cgi?id=55764
48208
48209        - mark interruptionForPolicyChangeError as cancellation
48210        - do not log resource cancelation as an error
48211        - always push resource to front-end before console message, so front-end can use resource info while formatting message.
48212
48213        * inspector/InspectorConsoleAgent.cpp:
48214        (WebCore::InspectorConsoleAgent::didFailLoading):
48215        * inspector/InspectorInstrumentation.cpp:
48216        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
48217        (WebCore::InspectorInstrumentation::didFailLoadingImpl):
48218        * loader/MainResourceLoader.cpp:
48219        (WebCore::MainResourceLoader::stopLoadingForPolicyChange):
48220
482212011-03-10  Alexander Pavlov  <apavlov@chromium.org>
48222
48223        Reviewed by Yury Semikhatsky.
48224
48225        Web Inspector: Get rid of has/add/removeStyleClass() methods on Element.prototype - Step 1
48226        https://bugs.webkit.org/show_bug.cgi?id=56096
48227
48228        No new tests, as this is a refactoring.
48229
48230        * inspector/front-end/BreakpointsSidebarPane.js:
48231        (WebInspector.EventListenerBreakpointsSidebarPane):
48232        * inspector/front-end/DetailedHeapshotView.js:
48233        * inspector/front-end/ResourcesPanel.js:
48234        (WebInspector.ResourcesPanel):
48235        (WebInspector.BaseStorageTreeElement):
48236        (WebInspector.BaseStorageTreeElement.prototype.onattach):
48237        (WebInspector.StorageCategoryTreeElement):
48238        (WebInspector.FrameTreeElement):
48239        (WebInspector.FrameResourceTreeElement):
48240        (WebInspector.DatabaseTreeElement):
48241        (WebInspector.DatabaseTableTreeElement):
48242        (WebInspector.DOMStorageTreeElement):
48243        (WebInspector.CookieTreeElement):
48244        (WebInspector.ApplicationCacheTreeElement):
48245        (WebInspector.ResourceRevisionTreeElement):
48246        * inspector/front-end/utilities.js:
48247        (Element.prototype.removeStyleClass):
48248        (Element.prototype.addStyleClass):
48249        (Element.prototype.hasStyleClass):
48250
482512011-03-11  Brian Salomon  <bsalomon@google.com>
48252
48253        Reviewed by Kenneth Russell.
48254
48255        Adds GrContext flush call to PlatformContextSkia destructor.
48256Calls GrContext flush with int parameter instead of bool due to skia
48257revision.
48258
48259        No new tests needed.
48260
48261        * platform/graphics/chromium/DrawingBufferChromium.cpp:
48262        (WebCore::DrawingBuffer::publishToPlatformLayer):
48263        * platform/graphics/skia/PlatformContextSkia.cpp:
48264        (WebCore::PlatformContextSkia::~PlatformContextSkia):
48265        (WebCore::PlatformContextSkia::setSharedGraphicsContext3D):
48266
482672011-03-10  Chris Guillory  <chris.guillory@google.com>
48268
48269        Reviewed by James Robinson.
48270
48271        Fix for Coverity discovered NO_EFFECT (self-assign) defect.
48272        https://bugs.webkit.org/show_bug.cgi?id=54143
48273
48274        * platform/graphics/gpu/TilingData.cpp:
48275        (WebCore::TilingData::setMaxTextureSize):
48276
482772011-03-10  Emil A Eklund  <eae@chromium.org>
48278
48279        Reviewed by Alexey Proskuryakov.
48280
48281        The web colours palevioletred and mediumpurple are incorrect
48282        https://bugs.webkit.org/show_bug.cgi?id=46658
48283
48284        Changed value for the palevioletred and mediumpurple colors to match
48285        the css3 specification.
48286
48287        Test: fast/css/named-colors.html
48288
48289        * inspector/front-end/Color.js:
48290        * platform/ColorData.gperf:
48291
482922011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
48293
48294        Unreviewed build fix.
48295
48296        [WML] Fix build error
48297        https://bugs.webkit.org/show_bug.cgi?id=56078
48298
48299        * wml/WMLInputElement.cpp:
48300        (WebCore::WMLInputElement::defaultEventHandler):
48301
483022011-03-10  Jeremy Moskovich  <jeremy@chromium.org>
48303
48304        Reviewed by Darin Adler.
48305
48306        Fix navigation menus on a bunch of sites in WebKit.
48307        https://bugs.webkit.org/show_bug.cgi?id=52535
48308
48309        WebKit doesn't support position:relative for several table elements and
48310        overwrites the style internally when position:relative is encountered.
48311        Unfortunately position:relative affects the choice of nodes returned by
48312        offsetParent.
48313
48314        This CL adds a bit to RenderStyle to track whether position:relative was
48315        overwritten.  The value is then consulted in offsetParent which makes us
48316        match FF/IE.
48317
48318        Tests: fast/block/positioning/offsetLeft-relative-iframe.html
48319               fast/block/positioning/offsetLeft-relative-td.html
48320
48321        * css/CSSStyleSelector.cpp:
48322        (WebCore::CSSStyleSelector::adjustRenderStyle):
48323        * rendering/RenderObject.cpp:
48324        (WebCore::RenderObject::isOriginallyRelPositioned):
48325        (WebCore::RenderObject::offsetParent):
48326        * rendering/RenderObject.h:
48327        * rendering/style/RenderStyle.h: Add a bit to track the original value of position:relative.
48328        (WebCore::InheritedFlags::positionWasRelative):
48329        (WebCore::InheritedFlags::setPositionWasRelative):
48330        * rendering/style/StyleRareNonInheritedData.cpp:
48331        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
48332        (WebCore::StyleRareNonInheritedData::operator==):
48333        * rendering/style/StyleRareNonInheritedData.h:
48334
483352011-03-10  Adam Barth  <abarth@webkit.org>
48336
48337        Reviewed by Darin Adler.
48338
48339        REGRESSION (r66428/r71892): Crash after assertion failure (!m_reachedTerminalState) in ResourceLoader::didCancel()
48340        https://bugs.webkit.org/show_bug.cgi?id=51357
48341
48342        Previously, we would try to print from a callstack that didn't want a
48343        nested event loop, leading to re-entrancy problems.  In this patch, we
48344        complete the print call asynchronously, giving us a clean stack on
48345        which to run the nested event loop.
48346
48347        Test: printing/print-close-crash.html
48348
48349        * page/DOMWindow.cpp:
48350        (WebCore::DOMWindow::DOMWindow):
48351        (WebCore::DOMWindow::print):
48352        (WebCore::DOMWindow::printTimerFired):
48353        * page/DOMWindow.h:
48354
483552011-03-11  Roland Steiner  <rolandsteiner@chromium.org>
48356
48357        Reviewed by Ryosuke Niwa.
48358
48359        Bug 55570 - Remove dependency of dom/InputElement.cpp on html/ and wml/
48360        https://bugs.webkit.org/show_bug.cgi?id=55570
48361
48362        Add a virtual function toInputElement() to Node that has a default
48363        implementation of returning 0.
48364        For HTMLInputElement and WMLInputElement (which derive from InputElement)
48365        override this to return the object.
48366        Change all calling sites of the old toInputElement to use the new member
48367        function. This also allows us to save some casts.
48368
48369        No new tests. (refactoring)
48370
48371        * WebCore.exp.in:
48372        * accessibility/AXObjectCache.cpp:
48373        (WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
48374        * accessibility/AccessibilityRenderObject.cpp:
48375        (WebCore::AccessibilityRenderObject::isPasswordField):
48376        (WebCore::AccessibilityRenderObject::isIndeterminate):
48377        (WebCore::AccessibilityRenderObject::isNativeCheckboxOrRadio):
48378        (WebCore::AccessibilityRenderObject::isChecked):
48379        * css/CSSStyleSelector.cpp:
48380        (WebCore::CSSStyleSelector::canShareStyleWithElement):
48381        (WebCore::CSSStyleSelector::SelectorChecker::checkOneSelector):
48382        * dom/CheckedRadioButtons.cpp:
48383        (WebCore::CheckedRadioButtons::removeButton):
48384        * dom/InputElement.cpp:
48385        * dom/InputElement.h:
48386        * dom/Node.cpp:
48387        (WebCore::Node::toInputElement):
48388        * dom/Node.h:
48389        * html/HTMLInputElement.h:
48390        (WebCore::HTMLInputElement::toInputElement):
48391        * rendering/RenderTextControlSingleLine.cpp:
48392        (WebCore::RenderTextControlSingleLine::inputElement):
48393        * rendering/RenderTheme.cpp:
48394        (WebCore::RenderTheme::isChecked):
48395        (WebCore::RenderTheme::isIndeterminate):
48396        * wml/WMLInputElement.h:
48397        (WebCore::WMLInputElement::toInputElement):
48398
483992011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
48400
48401        Reviewed by Kenneth Rohde Christiansen.
48402
48403        [EFL] New mediaControl css file for EFL
48404        https://bugs.webkit.org/show_bug.cgi?id=55460
48405
48406        Add new mediaControl css file for html5 video UI.
48407
48408        * CMakeLists.txt:
48409        * CMakeListsEfl.txt:
48410        * css/mediaControlsEfl.css: Added.
48411        (audio):
48412        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
48413        (video:-webkit-full-page-media::-webkit-media-controls-panel):
48414        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
48415        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
48416        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
48417        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
48418        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
48419        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
48420        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
48421        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
48422        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
48423        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
48424        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
48425        (audio::-webkit-media-controls-rewind-button, video::-webkit-media-controls-rewind-button):
48426        (audio::-webkit-media-controls-return-to-realtime-button, video::-webkit-media-controls-return-to-realtime-button):
48427        (audio::-webkit-media-controls-toggle-closed-captions-button, video::-webkit-media-controls-toggle-closed-captions-button):
48428        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
48429        * platform/efl/RenderThemeEfl.cpp:
48430        (WebCore::RenderThemeEfl::extraMediaControlsStyleSheet):
48431
484322011-03-10  Emil A Eklund  <eae@chromium.org>
48433
48434        Reviewed by Dimitri Glazkov.
48435
48436        style.display affecting the initial selectedIndex value of a <select> when its multiple attribute is set programatically
48437        https://bugs.webkit.org/show_bug.cgi?id=53860
48438
48439        Preserve selection when changing between multi-select and single-select
48440        for <select> boxes even if it has not yet been rendered.
48441
48442        Test: fast/dom/HTMLSelectElement/change-multiple-preserve-selection.html
48443
48444        * html/HTMLSelectElement.cpp:
48445        (WebCore::HTMLSelectElement::setMultiple):
48446
484472011-03-10  Ojan Vafai  <ojan@chromium.org>
48448
48449        Reviewed by Tony Chang.
48450
48451        update comment to reference new DOM Core spec
48452        https://bugs.webkit.org/show_bug.cgi?id=56079
48453
48454        I'm excising all instances of WRONG_DOCUMENT_ERR from WebKit.
48455        This is the only one that's actually specified to fire
48456        in the latest DOM Core spec.
48457
48458        * dom/DOMImplementation.cpp:
48459        (WebCore::DOMImplementation::createDocument):
48460
484612011-03-10  Rik Cabanier  <cabanier@gmail.com>
48462
48463        Reviewed by Tony Gentilcore.
48464
48465        Fix that allows fixed length values to be floating point
48466        https://bugs.webkit.org/show_bug.cgi?id=52699
48467
48468        * WebCore.xcodeproj/project.pbxproj:
48469        * css/CSSStyleSelector.cpp:
48470        (WebCore::convertToLength):
48471        (WebCore::convertToIntLength):
48472        (WebCore::convertToFloatLength):
48473        (WebCore::CSSStyleSelector::applyProperty):
48474        (WebCore::CSSStyleSelector::createTransformOperations):
48475        * platform/Length.h:
48476        (WebCore::Length::Length):
48477        (WebCore::Length::operator==):
48478        (WebCore::Length::operator!=):
48479        (WebCore::Length::rawValue):
48480        (WebCore::Length::type):
48481        (WebCore::Length::quirk):
48482        (WebCore::Length::setValue):
48483        (WebCore::Length::calcFloatValue):
48484        (WebCore::Length::isZero):
48485        (WebCore::Length::blend):
48486        (WebCore::Length::getIntValue):
48487        (WebCore::Length::getFloatValue):
48488        * rendering/AutoTableLayout.cpp:
48489        (WebCore::AutoTableLayout::recalcColumn):
48490        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
48491        * rendering/FixedTableLayout.cpp:
48492        (WebCore::FixedTableLayout::calcWidthArray):
48493
484942011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
48495
48496        Unreviewed, rolling out r80800.
48497        http://trac.webkit.org/changeset/80800
48498        https://bugs.webkit.org/show_bug.cgi?id=56163
48499
48500        Caused hundreds of tests to crash on Windows 7 (Requested by
48501        rniwa on #webkit).
48502
48503        * page/EventHandler.cpp:
48504        (WebCore::EventHandler::mouseMoved):
48505        (WebCore::EventHandler::updateMouseEventTargetNode):
48506        * page/FocusController.cpp:
48507        (WebCore::FocusController::setActive):
48508        * page/FrameView.cpp:
48509        (WebCore::FrameView::FrameView):
48510        (WebCore::FrameView::~FrameView):
48511        * page/FrameView.h:
48512        * page/Page.cpp:
48513        * page/Page.h:
48514        * platform/ScrollView.cpp:
48515        (WebCore::ScrollView::wheelEvent):
48516        * platform/ScrollView.h:
48517        * rendering/RenderDataGrid.cpp:
48518        (WebCore::RenderDataGrid::RenderDataGrid):
48519        (WebCore::RenderDataGrid::~RenderDataGrid):
48520        * rendering/RenderLayer.cpp:
48521        (WebCore::RenderLayer::RenderLayer):
48522        (WebCore::RenderLayer::~RenderLayer):
48523        * rendering/RenderLayer.h:
48524        * rendering/RenderListBox.cpp:
48525        (WebCore::RenderListBox::RenderListBox):
48526        (WebCore::RenderListBox::~RenderListBox):
48527
485282011-03-10  Alice Boxhall  <aboxhall@chromium.org>
48529
48530        Reviewed by Dimitri Glazkov.
48531
48532        NULL pointer crash when using :empty and :first-line pseudoclass selectors together
48533        https://bugs.webkit.org/show_bug.cgi?id=53316
48534
48535        :empty is calculated for each element during parsing, but then not
48536        recalculated after any child elements are attached. Force style
48537        re-calculation on elements which have :empty in their style when
48538        their children are changed.
48539
48540        Test: fast/css/empty-first-line-crash.html
48541
48542        * dom/Element.cpp:
48543        (WebCore::checkForEmptyStyleChange): Pull out empty style checking
48544        logic from checkForSiblingStyleChanges().
48545        (WebCore::checkForSiblingStyleChanges): Use new checkForEmptyStyleChanges()
48546        method.
48547        (WebCore::Element::childrenChanged):  Call checkForEmptyStyleChanges() when
48548        called with changedByParser = true.
48549
485502011-03-10  Emil A Eklund  <eae@chromium.org>
48551
48552        Unreviewed build fix.
48553
48554        Fix Leopard Release build broken by r80797.
48555
48556        * html/CollectionCache.h:
48557
485582011-03-10  Beth Dakin  <bdakin@apple.com>
48559
48560        Reviewed by Darin Adler.
48561
48562        Fix for <rdar://problem/8944558> Overlay scrollers in overflow areas need to
48563        send notifications appropriate times (showing up, resizing)
48564        -and corresponding-
48565        https://bugs.webkit.org/show_bug.cgi?id=56067
48566
48567        The general strategy here is to add a HashSet of ScrollableAreas to the page that
48568        can be accessed when necessary to send notifications to all ScrollableAreas.
48569
48570        Find layers for relevant node and if the layers are in the Page's ScrollableArea
48571        set, then send the relevant notification.
48572        * page/EventHandler.cpp:
48573        (WebCore::EventHandler::mouseMoved):
48574        (WebCore::EventHandler::updateMouseEventTargetNode):
48575
48576        When the page is set active or not active, iterate through the Page's
48577        ScrollableAreas to send hide/show notifications.
48578        * page/FocusController.cpp:
48579        (WebCore::FocusController::setActive):
48580
48581        When a FrameView is created, add it to the ScrollableArea set. When it's
48582        destroyed, remove it.
48583        * page/FrameView.cpp:
48584        (WebCore::FrameView::FrameView):
48585        (WebCore::FrameView::~FrameView):
48586
48587        Iterate through the Page's ScrollableAreas to send the paint notification.
48588        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
48589        * page/FrameView.h:
48590
48591        Add the new ScrollableArea set.
48592        * page/Page.cpp:
48593        (WebCore::Page::addScrollableArea):
48594        (WebCore::Page::removeScrollableArea):
48595        (WebCore::Page::pageContainsScrollableArea):
48596        * page/Page.h:
48597        (WebCore::Page::scrollableAreaSet):
48598
48599        notifyPageThatContentAreaWillPaint() is a dummy function implemented in FrameView.
48600        * platform/ScrollView.cpp:
48601        (WebCore::ScrollView::notifyPageThatContentAreaWillPaint):
48602
48603        Call notifyPageThatContentAreaWillPaint() instead of calling
48604        contentAreaWillPaint() just for the ScrollView.
48605        (WebCore::ScrollView::paint):
48606        * platform/ScrollView.h:
48607
48608        Add/remove ScrollableAreas to the set.
48609        * rendering/RenderDataGrid.cpp:
48610        (WebCore::RenderDataGrid::RenderDataGrid):
48611        (WebCore::RenderDataGrid::~RenderDataGrid):
48612        * rendering/RenderListBox.cpp:
48613        (WebCore::RenderListBox::RenderListBox):
48614        (WebCore::RenderListBox::~RenderListBox):
48615        * rendering/RenderLayer.cpp:
48616        (WebCore::RenderLayer::RenderLayer):
48617        (WebCore::RenderLayer::~RenderLayer):
48618
48619        Should have implemented this ScrollableArea-interface function a while ago.
48620        (WebCore::RenderLayer::currentMousePosition):
48621        * rendering/RenderLayer.h:
48622
486232011-03-10  takano takumi  <takano@apple.com>
48624
48625        Reviewed by David Hyatt.
48626
48627        Crash in RenderCombineText::combineText when running fast/text/international/text-combine-parser-test.html on Windows with full page heap enabled
48628        https://bugs.webkit.org/show_bug.cgi?id=55069
48629
48630        No new tests. If the test above runs without crash, the fix should be okay.
48631
48632        * dom/Node.cpp:
48633        (WebCore::Node::diff):
48634        - Changed to return Detach when textCombine style was changed.
48635        * rendering/RenderCombineText.cpp:
48636        (WebCore::RenderCombineText::styleDidChange):
48637        (WebCore::RenderCombineText::setTextInternal):
48638        (WebCore::RenderCombineText::width):
48639        (WebCore::RenderCombineText::adjustTextOrigin):
48640        (WebCore::RenderCombineText::charactersToRender):
48641        (WebCore::RenderCombineText::combineText):
48642        - Added assertions to ensure the passed object is RenderCombineText.
48643        * rendering/RenderCombineText.h:
48644        (WebCore::RenderCombineText::isCombineText):
48645        - Added to distinguish plain RenderText and RenderCombineText.
48646        (WebCore::toRenderCombineText):
48647        - Added assertions to ensure the passed object is RenderCombineText.
48648        * rendering/RenderObject.h:
48649        (WebCore::RenderObject::isCombineText):
48650        - Added to distinguish plain RenderText and RenderCombineText.
48651
486522011-03-10  Emil A Eklund  <eae@chromium.org>
48653
48654        Reviewed by Darin Adler.
48655
48656        Collection cache not reset when moving base node between documents
48657        https://bugs.webkit.org/show_bug.cgi?id=55446
48658
48659        Fix bug where HTMLCollection::resetCollectionInfo does not reset the
48660        cache when the base node is moved to a different document by making sure
48661        that the DOMVersion is updated and that it's unique across documents.
48662
48663        Tests: fast/dom/HTMLFormElement/invalid-form-field.html
48664               fast/dom/HTMLFormElement/move-option-between-documents.html
48665               fast/dom/collection-nameditem-move-between-documents.html
48666
48667        * dom/Document.cpp:
48668        (WebCore::Document::Document):
48669        * dom/Document.h:
48670        (WebCore::Document::incDOMTreeVersion):
48671        (WebCore::Document::domTreeVersion):
48672        * dom/Node.cpp:
48673        (WebCore::Node::setDocumentRecursively):
48674        * html/FormAssociatedElement.cpp:
48675        (WebCore::FormAssociatedElement::resetFormOwner):
48676        * html/HTMLCollection.cpp:
48677        (WebCore::HTMLCollection::resetCollectionInfo):
48678        * xml/XPathResult.h:
48679
486802011-03-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
48681
48682        Unreviewed build fix.
48683
48684        [EFL] Fix build break when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
48685        https://bugs.webkit.org/show_bug.cgi?id=56005
48686
48687        There are build breaks when CROSS_PLATFORM_CONTEXT_MENUS is disabled.
48688
48689        * platform/efl/ContextMenuEfl.cpp:
48690        (WebCore::ContextMenu::ContextMenu):
48691        * platform/efl/ContextMenuItemEfl.cpp:
48692
486932011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
48694
48695        Reviewed by Tony Chang.
48696
48697        startOfBlock and endOfBlock may return a position inside hr
48698        https://bugs.webkit.org/show_bug.cgi?id=56025
48699
48700        Replaced calls to enclosingBlockFlowElement in startOfBlock and endOfBlock by
48701        calls to enclosingBlock. Added EditingBoundaryCrossingRule to the argument lists
48702        of startOfBlock, endOfBlock, and enclosingBlock. Also replaced the last boolean
48703        argument variable of enclosingNodeOfType by EditingBoundaryCrossingRule.
48704
48705        Also replaced calls to enclosingBlockFlowElement in inSameBlock by calls to
48706        enclosingBlock to be consitent with startOfBlock and endOfBlock.
48707
48708        This patch also replaced calls to deprecatedNode in startOfBlock, endOfBlock,
48709        and inSameBlock by calls to containerNode because the enclosing block of a position
48710        should never be before or after the position.
48711
48712        No tests are added because this change only affects WebCore internally.
48713
48714        * editing/DeleteSelectionCommand.cpp:
48715        (WebCore::DeleteSelectionCommand::initializePositionData): Calls enclosingNodeOfType.
48716        Pass CanCrossEditingBoundary instead of false.
48717        * editing/htmlediting.cpp:
48718        (WebCore::unsplittableElementForPosition): Ditto.
48719        (WebCore::enclosingBlock): Takes EditingBoundaryCrossingRule and passes it to
48720        enclosingNodeOfType.
48721        (WebCore::enclosingNodeOfType): Takes EditingBoundaryCrossingRule instead of boolean.
48722        Fixed a bug that it stops walking the tree when it reached the root editable node
48723        even when the editing boundary crossing rule is CanCrossEditingBoundary.
48724        * editing/htmlediting.h: Prototype changes.
48725        * editing/visible_units.cpp:
48726        (WebCore::startOfBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
48727        Also added an early exit when there's no enclosing block.
48728        (WebCore::endOfBlock): Ditto. The early exist in this case prevents crash in
48729        lastPositionInNode.
48730        (WebCore::inSameBlock): Calls enclosingBlock instead of enclosingBlockFlowElement.
48731        (WebCore::isStartOfBlock): Calls startOfBlock with CanCrossEditingBoundary because
48732        we don't care where the start of block is when we're comparing against the given position.
48733        (WebCore::isEndOfBlock): Ditto.
48734        * editing/visible_units.h:
48735
487362011-03-10  Alexey Proskuryakov  <ap@apple.com>
48737
48738        Reviewed by Dan Bernstein.
48739
48740        Backspace deletes all non-BMP symbols at once, and then some
48741        https://bugs.webkit.org/show_bug.cgi?id=55971
48742        <rdar://problem/8725312>
48743
48744        Test: platform/mac/editing/input/insert-delete-smp-symbol.html
48745
48746        * rendering/RenderText.cpp:
48747        (WebCore::isMark): This matches what Core Foundation does for all characters that I tested.
48748        (WebCore::RenderText::previousOffsetForBackwardDeletion): Changed to use isMark().
48749
487502011-03-10  Chris Evans  <cevans@chromium.org>
48751
48752        Reviewed by Adam Barth.
48753
48754        Error in StyleElement::process with large nodesets
48755        https://bugs.webkit.org/show_bug.cgi?id=56150
48756
48757        Test: none due to excessive runtime and CRASH() vs. real crash.
48758
48759        * dom/StyleElement.cpp:
48760        (WebCore::StyleElement::process): Handle large node sets better.
48761
487622011-03-10  David Hyatt  <hyatt@apple.com>
48763
48764        Reviewed by Simon Fraser.
48765
48766        https://bugs.webkit.org/show_bug.cgi?id=47151
48767
48768        Percentage heights should skip anonymous containing blocks when computing the used value.
48769
48770        Added fast/block/basic/percentage-height-inside-anonymous-block.html
48771
48772        * rendering/RenderBox.cpp:
48773        (WebCore::RenderBox::computePercentageLogicalHeight):
48774
487752011-03-10  Nat Duca  <nduca@chromium.org>
48776
48777        Reviewed by James Robinson.
48778
48779        [chromium] Make updateAndDrawLayers argumentless.
48780        https://bugs.webkit.org/show_bug.cgi?id=55985
48781
48782        Made the TilePainters and viewport parameters for
48783        LayerRendererChromium member variables instead of arguments on
48784        updateAndDrawLayers. In a future change, this will allows us to
48785        draw the layer tree without the WebView's assistance.
48786
48787        * platform/graphics/chromium/LayerRendererChromium.cpp:
48788        (WebCore::LayerRendererChromium::create):
48789        (WebCore::LayerRendererChromium::LayerRendererChromium):
48790        (WebCore::LayerRendererChromium::verticalScrollbarRect):
48791        (WebCore::LayerRendererChromium::horizontalScrollbarRect):
48792        (WebCore::LayerRendererChromium::invalidateRootLayerRect):
48793        (WebCore::LayerRendererChromium::updateRootLayerContents):
48794        (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
48795        (WebCore::LayerRendererChromium::drawRootLayer):
48796        (WebCore::LayerRendererChromium::setViewport):
48797        (WebCore::LayerRendererChromium::updateAndDrawLayers):
48798        (WebCore::LayerRendererChromium::updateLayers):
48799        (WebCore::LayerRendererChromium::drawLayers):
48800        (WebCore::LayerRendererChromium::setRootLayer):
48801        (WebCore::LayerRendererChromium::getFramebufferPixels):
48802        (WebCore::LayerRendererChromium::cleanupSharedObjects):
48803        * platform/graphics/chromium/LayerRendererChromium.h:
48804        (WebCore::LayerRendererChromium::viewportSize):
48805        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
48806        (WebCore::CCHeadsUpDisplay::draw):
48807
488082011-01-25  Martin Robinson  <mrobinson@igalia.com>
48809
48810        Reviewed by Xan Lopez.
48811
48812        [GTK] Implement spin buttons for GTK+ 2.x
48813        https://bugs.webkit.org/show_bug.cgi?id=53098
48814
48815        Implement spin buttons for GTK+ 2.x. This allows proper render and functioning
48816        for input type=number. The implementation is based on the one in gtkspinbutton.c
48817        from the GTK+ sources.
48818
48819        * platform/gtk/RenderThemeGtk.h: Added new members and getters.
48820        * platform/gtk/RenderThemeGtk2.cpp:
48821        (WebCore::RenderThemeGtk::platformInit): Initialize spin button widget.
48822        (WebCore::RenderThemeGtk::adjustRepaintRect): We need to draw outside the
48823        spin button area to have proper rendering. There doesn't seem to be any other
48824        clean way of having spin buttons that are the size of the text input frame.
48825        (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle): Added implementation.
48826        (WebCore::RenderThemeGtk::paintInnerSpinButton): Ditto.
48827        (WebCore::RenderThemeGtk::gtkSpinButton): Added.
48828
488292011-03-10  Levi Weintraub  <leviw@chromium.org>
48830
48831        Reviewed by Ryosuke Niwa.
48832
48833        InsertUnorderedList over a non-editable region and multiple lines enters an infinite loop
48834        https://bugs.webkit.org/show_bug.cgi?id=53409
48835
48836        Fixing broken handling of mixed-editability content for InsertListCommand. Previously, if the selection
48837        spanned non-contenteditable regions, it would get stuck endlessly iterating the same region as the algorithm
48838        didn't skip the editable boundary.
48839
48840        Test: editing/execCommand/insert-list-with-noneditable-content.html
48841
48842        * editing/CompositeEditCommand.cpp:
48843        (WebCore::CompositeEditCommand::cleanupAfterDeletion): Changed signature to take the destination
48844        position for the active editing command. Without this, there are cases when the destination happens
48845        to be a placeholder, and we remove it.
48846        (WebCore::CompositeEditCommand::moveParagraphs):
48847        * editing/CompositeEditCommand.h:
48848        * editing/InsertListCommand.cpp:
48849        (WebCore::InsertListCommand::doApply): Added logic to the paragraph iteration loop to handle pockets of
48850        non-editable content in an editable context. Previously, this could cause an infinite loop.
48851        * editing/visible_units.cpp:
48852        (WebCore::startOfParagraph): Added a mode of operation where we'll jump across non-editable
48853        content in the same paragraph to reach the actual editable paragraph start.
48854        (WebCore::endOfParagraph): Ditto.
48855        (WebCore::startOfNextParagraph): Now uses the aforementioned non-editable content skipping mode of
48856        endOfParagraph.
48857
488582011-03-10  Berend-Jan Wever  <skylined@chromium.org>
48859
48860        Reviewed by Darin Adler.
48861
48862        Calling focus() on an area element not in a document should not cause a NULL ptr crash
48863        https://bugs.webkit.org/show_bug.cgi?id=54877
48864
48865        Test: fast/dom/HTMLAreaElement/area-islink-focus-null-ptr-crash.html
48866
48867        * dom/Element.cpp:
48868        (WebCore::Element::focus): Check element is in the document before allowing focus
48869        * html/HTMLAreaElement.cpp:
48870        (WebCore::HTMLAreaElement::imageElement): Check element has a parent before checking if its parent is a map
48871
488722011-03-10  Xiyuan Xia  <xiyuan@chromium.org>
48873
48874        Reviewed by Tony Chang.
48875
48876        [Chromium] Fix default single selection select's popup background on chromium/linux
48877        https://bugs.webkit.org/show_bug.cgi?id=56023
48878
48879        Test: fast/html/select-dropdown-consistent-background-color.html
48880
48881        * css/themeChromiumLinux.css:
48882
488832011-03-10  Kris Jordan  <krisjordan@gmail.com>
48884
48885        Reviewed by Alexey Proskuryakov.
48886
48887        Improve default Accept header to give preference to HTML over XML.
48888        https://bugs.webkit.org/show_bug.cgi?id=27267
48889
48890        * loader/FrameLoader.cpp:Changed default accept header to match
48891        FireFox' as per bug 27267.
48892
488932011-03-10  Martin Robinson  <mrobinson@igalia.com>
48894
48895        Reviewed by Xan Lopez.
48896
48897        [GTK] [Webkit2] There are no scrollbars visible in the MiniBrowser
48898        https://bugs.webkit.org/show_bug.cgi?id=56125
48899
48900        No new tests. This functionality will be tested once we have TestRunner
48901        implementation for WebKit2 with pixel dumping support.
48902
48903        * GNUmakefile.am: Add a new define with tracks whether or not we are using
48904        our specialized GTK+ ScrollView.
48905        * platform/ScrollView.cpp: Only use the GTK+-specific ScrollView if we are compiling
48906        WebKit1.
48907        (WebCore::ScrollView::wheelEvent):
48908        * platform/gtk/ScrollViewGtk.cpp: Ditto.
48909
489102011-03-10  Kent Tamura  <tkent@chromium.org>
48911
48912        Reviewed by Dimitri Glazkov.
48913
48914        Assertion fails by validating a form twice very quickly
48915        https://bugs.webkit.org/show_bug.cgi?id=56069
48916
48917        If the interactive validation is invoked when a form control is in
48918        needsLayout() state, an assertion in isFocusable() fails. To avoid it,
48919        Add a call to updateLayoutIgnorePendingStylesheets() before isFocusable().
48920
48921        Test: fast/forms/interactive-validation-assertion-by-validate-twice.html
48922
48923        * html/HTMLFormElement.cpp:
48924        (WebCore::HTMLFormElement::validateInteractively):
48925          Calls updateLayoutIgnorePendingStylesheets().
48926
489272011-03-10  David Hyatt  <hyatt@apple.com>
48928
48929        Reviewed by Beth Dakin.
48930
48931        https://bugs.webkit.org/show_bug.cgi?id=47143
48932
48933        Static distance computation is wrong when an ancestor is also positioned.  We need to go up the container()
48934        chain (after initially starting with the parent()) when doing this computation, so that we properly skip
48935        intermediate boxes between two positioned blocks.
48936
48937        Added fast/block/positioning/static-distance-with-positioned-ancestor.html.
48938
48939        * rendering/RenderBox.cpp:
48940        (WebCore::computeInlineStaticDistance):
48941        (WebCore::computeBlockStaticDistance):
48942
489432011-03-10  Adrienne Walker  <enne@google.com>
48944
48945        Reviewed by Kenneth Russell.
48946
48947        [chromium] Make tiled compositor data structure more efficient.
48948        https://bugs.webkit.org/show_bug.cgi?id=54133
48949
48950        Previously, the compositor had a sparse 2D array of tiles for the
48951        whole page, most of which were null.  The tiles were implicitly
48952        located based on their position in the array. This was inefficient
48953        when the page grew (e.g. infinite scrolling) and caused some bugs
48954        (e.g. width * height > MAX_INT).  This change modifies tiles to have
48955        explicit positions so they can be stored in a hash map.
48956
48957        Tests: LayoutTests/compositing/
48958
48959        * platform/graphics/chromium/LayerTilerChromium.cpp:
48960        (WebCore::LayerTilerChromium::reset):
48961        (WebCore::LayerTilerChromium::createTile):
48962        (WebCore::LayerTilerChromium::invalidateTiles):
48963        (WebCore::LayerTilerChromium::contentRectToTileIndices):
48964        (WebCore::LayerTilerChromium::tileAt):
48965        (WebCore::LayerTilerChromium::tileContentRect):
48966        (WebCore::LayerTilerChromium::tileLayerRect):
48967        (WebCore::LayerTilerChromium::invalidateRect):
48968        (WebCore::LayerTilerChromium::invalidateEntireLayer):
48969        (WebCore::LayerTilerChromium::update):
48970        (WebCore::LayerTilerChromium::updateFromPixels):
48971        (WebCore::LayerTilerChromium::draw):
48972        (WebCore::LayerTilerChromium::growLayerToContain):
48973        * platform/graphics/chromium/LayerTilerChromium.h:
48974        (WebCore::LayerTilerChromium::Tile::Tile):
48975        (WebCore::LayerTilerChromium::Tile::i):
48976        (WebCore::LayerTilerChromium::Tile::j):
48977        (WebCore::LayerTilerChromium::Tile::moveTo):
48978        (WebCore::LayerTilerChromium::TileMapKeyTraits::emptyValue):
48979        (WebCore::LayerTilerChromium::TileMapKeyTraits::constructDeletedValue):
48980        (WebCore::LayerTilerChromium::TileMapKeyTraits::isDeletedValue):
48981
489822011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
48983
48984        Unreviewed build fix for r80752; Negated the boolean logic.
48985
48986        * editing/VisiblePosition.cpp:
48987        (WebCore::VisiblePosition::next):
48988        (WebCore::VisiblePosition::previous):
48989
489902011-03-10  David Hyatt  <hyatt@apple.com>
48991
48992        Reviewed by Adam Roben.
48993
48994        Make the same change to xheight on Windows for CG.
48995
48996        * platform/graphics/win/SimpleFontDataCGWin.cpp:
48997        (WebCore::SimpleFontData::platformInit):
48998
489992011-03-10  David Hyatt  <hyatt@apple.com>
49000
49001        Reviewed by Simon Fraser.
49002
49003        https://bugs.webkit.org/show_bug.cgi?id=47147
49004
49005        Fix for repaint issues when the root element is a table and needs to paint a background that
49006        covers the entire canvas.  Remove paintRootBoxDecorations and replace with paintRootBoxFillLayers,
49007        so that it can be called only for fill layer painting.  Make tables and normal boxes both
49008        call this new method.  Fix the dirty check at the start of RenderTable paint to not happen if
49009        the table is the root of the document (this same check exists in RenderBlock painting already).
49010
49011        * rendering/RenderBox.cpp:
49012        (WebCore::RenderBox::paintRootBoxFillLayers):
49013        (WebCore::RenderBox::paintBoxDecorations):
49014        (WebCore::RenderBox::paintBoxDecorationsWithSize):
49015        * rendering/RenderBox.h:
49016        * rendering/RenderLayerCompositor.cpp:
49017        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
49018        * rendering/RenderTable.cpp:
49019        (WebCore::RenderTable::paint):
49020        (WebCore::RenderTable::paintBoxDecorations):
49021
490222011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
49023
49024        Unreviewed, rolling out r80749.
49025        http://trac.webkit.org/changeset/80749
49026        https://bugs.webkit.org/show_bug.cgi?id=56143
49027
49028        "Caused at least 3 media tests to be flaky" (Requested by
49029        tonyg-cr on #webkit).
49030
49031        * html/parser/HTMLDocumentParser.cpp:
49032        (WebCore::HTMLDocumentParser::canTakeNextToken):
49033        (WebCore::HTMLDocumentParser::pumpTokenizer):
49034        * html/parser/HTMLParserScheduler.cpp:
49035        * html/parser/HTMLParserScheduler.h:
49036        (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
49037        * page/FrameView.h:
49038
490392011-03-10  Sam Weinig  <sam@webkit.org>
49040
49041        Reviewed by David Hyatt.
49042
49043        Regression: Content not drawn when scrolling horizontally in an RTL page
49044        https://bugs.webkit.org/show_bug.cgi?id=55077
49045
49046        * platform/ScrollView.cpp:
49047        (WebCore::ScrollView::overhangAmount):
49048        (WebCore::ScrollView::calculateOverhangAreasForPainting):
49049        Take the scroll origin into account when calculating overhang.
49050
49051        * platform/ScrollView.h:
49052        * rendering/RenderLayer.h:
49053        * platform/ScrollableArea.h:
49054        (WebCore::ScrollableArea::scrollOrigin):
49055        Move identical scroll origin member from ScrollView and RenderLayer
49056        to shared base ScrollableArea. This is also needed so that the animator
49057        can access it.
49058
49059        * platform/mac/ScrollAnimatorMac.mm:
49060        (WebCore::ScrollAnimatorMac::pinnedInDirection):
49061        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
49062        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
49063        Account for a scroll origin when doing calculating scroll offsets.
49064
490652011-03-09  Matthew Delaney  <mdelaney@apple.com>
49066
49067        Reviewed by Simon Fraser.
49068
49069        Plumb through settings for accelerated drawing for canvas
49070        https://bugs.webkit.org/show_bug.cgi?id=56039
49071
49072        No new tests. Doesn't affect behavior, just adding a switch to toggle canvas backends.
49073
49074        * WebCore.exp.in:
49075        * html/HTMLCanvasElement.cpp:
49076        * html/canvas/CanvasRenderingContext2D.cpp:
49077        * page/Settings.cpp:
49078        * page/Settings.h:
49079
490802011-03-10  David Hyatt  <hyatt@apple.com>
49081
49082        Reviewed by Simon Fraser.
49083
49084        https://bugs.webkit.org/show_bug.cgi?id=47157
49085
49086        CSS2.1 test suite failures because the ex unit is broken with the Ahem font.
49087
49088        Remove the code that tries to also include the maxX of the glyph bounds for the
49089        'x' glyph, since it just causes the x-height to be way too large in cases where the 'x' glyph extends
49090        below the baseline.
49091
49092        Remove the Apple Symbol hack for ex units, since the person who added that was confused by another
49093        issue, namely that CGFontGetXHeight wasn't being properly multiplied by the pointSize.  That's why
49094        the value was too small.  Patched the code to just multiply by pointSize and took out the hack.
49095
49096        Fix causes many tests in the css2.1 directory to progress, so no new tests required.  Many other
49097        layout tests change because the xHeight for Lucida Grande gets smaller by a little bit, and radio
49098        buttons use ex horizontal margins by default.
49099
49100        * platform/graphics/mac/SimpleFontDataMac.mm:
49101        (WebCore::SimpleFontData::platformInit):
49102
491032011-03-10  Ryosuke Niwa  <rniwa@webkit.org>
49104
49105        Reviewed by Tony Chang.
49106
49107        VisiblePosition's next and previous should take an enum instead of a boolean
49108        https://bugs.webkit.org/show_bug.cgi?id=56135
49109
49110        Changed the argument type of VisiblePosition::next and VisiblePosition::previous
49111        from bool to EditingBoundaryCrossingRule. Also got rid of StayInEditableContent enum
49112        in VisibleSelection and replaced it by EditingBoundaryCrossingRule because the enum
49113        was only used in VisiblePosition::isAll and subsequently in SelectionController::isAll
49114        to call VisiblePosition::next and VisiblePosition::previous.
49115
49116        * WebCore.exp.in:
49117        * dom/Position.cpp:
49118        (WebCore::Position::trailingWhitespacePosition):
49119        * editing/ApplyBlockElementCommand.cpp:
49120        (WebCore::ApplyBlockElementCommand::doApply):
49121        * editing/CompositeEditCommand.cpp:
49122        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
49123        * editing/InsertListCommand.cpp:
49124        (WebCore::InsertListCommand::doApply):
49125        (WebCore::InsertListCommand::listifyParagraph):
49126        * editing/ReplaceSelectionCommand.cpp:
49127        (WebCore::ReplaceSelectionCommand::shouldMergeStart):
49128        (WebCore::ReplaceSelectionCommand::shouldMergeEnd):
49129        (WebCore::ReplaceSelectionCommand::doApply):
49130        * editing/SelectionController.cpp:
49131        (WebCore::SelectionController::modifyExtendingRight):
49132        (WebCore::SelectionController::modifyExtendingForward):
49133        (WebCore::SelectionController::modifyMovingForward):
49134        (WebCore::SelectionController::modifyExtendingLeft):
49135        (WebCore::SelectionController::modifyExtendingBackward):
49136        (WebCore::SelectionController::modifyMovingBackward):
49137        * editing/SelectionController.h:
49138        (WebCore::SelectionController::isAll):
49139        * editing/TypingCommand.cpp:
49140        (WebCore::TypingCommand::deleteKeyPressed):
49141        (WebCore::TypingCommand::forwardDeleteKeyPressed):
49142        * editing/VisiblePosition.cpp:
49143        (WebCore::VisiblePosition::next):
49144        (WebCore::VisiblePosition::previous):
49145        * editing/VisiblePosition.h:
49146        * editing/VisibleSelection.cpp:
49147        (WebCore::VisibleSelection::isAll):
49148        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
49149        * editing/VisibleSelection.h:
49150        * editing/htmlediting.cpp:
49151        (WebCore::selectionForParagraphIteration):
49152        * editing/visible_units.cpp:
49153        (WebCore::startOfNextParagraph):
49154
491552011-03-10  Mihai Parparita  <mihaip@chromium.org>
49156
49157        Reviewed by Tony Gentilcore.
49158
49159        Remove CRASH() calls added to track down bug 53045
49160        https://bugs.webkit.org/show_bug.cgi?id=56137
49161
49162        Remove CRASH() calls added by r76575 and re-label ones added by r80155
49163        and r80269 as being associated with bug 56124 (which may still be
49164        happening).
49165
49166        * css/CSSImageValue.cpp:
49167        (WebCore::CSSImageValue::cachedImage):
49168        * css/CSSSelector.h:
49169        * css/CSSSelectorList.cpp:
49170        (WebCore::CSSSelectorList::deleteSelectors):
49171        * loader/cache/CachedResource.cpp:
49172        (WebCore::CachedResource::CachedResource):
49173        (WebCore::CachedResource::~CachedResource):
49174        * loader/cache/CachedResource.h:
49175
491762011-03-10  Tony Gentilcore  <tonyg@chromium.org>
49177
49178        Reviewed by Eric Seidel.
49179
49180        Let the parser yield for layout before running scripts
49181        https://bugs.webkit.org/show_bug.cgi?id=54355
49182
49183        Prior to this patch, the parser would yield to perform a layout/paint before running a
49184        script only if the script or a stylesheet blocking the script is not loaded yet. Since we
49185        don't preload scan into the body while parsing the head, typically we'll block on a script
49186        early in the body that causes us to yield to do the first paint within a reasonable time.
49187
49188        However, I'm planning to change the PreloadScanner to scan into the body from the head.
49189        That significantly improves overall load time, but would hurt first paint time because
49190        fewer scripts would be blocked during parsing and thus wouldn't yield.
49191
49192        This change causes us to yield before running scripts if we haven't painted yet (regardless
49193        of whether or not the script is loaded). In addition to allowing the above mentioned
49194        PreloadScanner change to be implemented without regressing first paint time, this also
49195        improves first paint time by itself.
49196
49197        I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
49198        bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
49199        6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
49200        signifcant change in page load time.
49201
49202        Within the pages tested, 33 had no statistically significant change in time to first paint,
49203        12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
49204        are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
49205
49206        * html/parser/HTMLDocumentParser.cpp:
49207        (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
49208        (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
49209        means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
49210        the right thing whether we are just before a token or waiting for a script. Now that we may
49211        yield before a token or before a script, this may be called while paused.
49212        * html/parser/HTMLParserScheduler.cpp:
49213        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
49214        * page/FrameView.h:
49215        (WebCore::FrameView::hasEverPainted): Added.
49216
492172011-03-10  Alejandro G. Castro  <alex@igalia.com>
49218
49219        Reviewed by Martin Robinson.
49220
49221        Some Gtk code uses defined(USE_FREETYPE) instead of just USE(FREETYPE)
49222        https://bugs.webkit.org/show_bug.cgi?id=55996
49223
49224        Use the macre USE instead of defined fro WTF_USE_FREETYPE and
49225        WTF_USE_PANGO.
49226
49227        * GNUmakefile.am:
49228        * platform/graphics/cairo/OwnPtrCairo.cpp:
49229        * platform/graphics/cairo/OwnPtrCairo.h:
49230        * platform/graphics/cairo/RefPtrCairo.cpp:
49231        * platform/graphics/cairo/RefPtrCairo.h:
49232        * platform/graphics/gtk/FontGtk.cpp:
49233        (WebCore::setPangoAttributes):
49234        (WebCore::Font::drawComplexText):
49235        (WebCore::Font::floatWidthForComplexText):
49236        (WebCore::Font::offsetForPositionForComplexText):
49237        (WebCore::Font::selectionRectForComplexText):
49238
492392011-03-10  Geoffrey Garen  <ggaren@apple.com>
49240
49241        Reviewed by Oliver Hunt.
49242
49243        Rolled back in 80277 and 80280 with event handler layout test failures fixed.
49244        https://bugs.webkit.org/show_bug.cgi?id=55653
49245
49246        The failures were caused by a last minute typo: assigning to currentEvent
49247        instead of m_currentEvent.
49248
49249        * WebCore.xcodeproj/project.pbxproj:
49250        * bindings/js/JSDOMGlobalObject.cpp:
49251        * bindings/js/JSDOMGlobalObject.h:
49252        * bindings/js/JSDOMWindowBase.cpp:
49253        * bindings/js/JSDOMWindowBase.h:
49254        * bindings/js/JSDOMWindowCustom.h:
49255        * bindings/js/JSWorkerContextBase.cpp:
49256
492572011-03-10  David Hyatt  <hyatt@apple.com>
49258
49259        Reviewed by Dan Bernstein.
49260
49261        https://bugs.webkit.org/show_bug.cgi?id=56129, vertical text broken on Lion and Leopard.
49262
49263        Add Snow Leopard ifdefs for the scaling by point size and then the division by unitsPerEm to the
49264        translationsTransform applied to the results from CTFontGetVerticalTranslationsForGlyphs, since
49265        this is done already on Lion and Leopard.
49266
49267        * platform/graphics/mac/FontMac.mm:
49268        (WebCore::showGlyphsWithAdvances):
49269
492702011-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
49271
49272        Unreviewed, rolling out r80701.
49273        http://trac.webkit.org/changeset/80701
49274        https://bugs.webkit.org/show_bug.cgi?id=56126
49275
49276        fast/dom/Geolocation/window-close-crash.html fails on Snow
49277        Leopard release builds (Requested by mihaip on #webkit).
49278
49279        * page/DOMWindow.cpp:
49280        * page/DOMWindow.h:
49281        * page/Frame.cpp:
49282        (WebCore::Frame::pageDestroyed):
49283        (WebCore::Frame::transferChildFrameToNewDocument):
49284        * page/Geolocation.cpp:
49285        (WebCore::Geolocation::~Geolocation):
49286        (WebCore::Geolocation::disconnectFrame):
49287        (WebCore::Geolocation::lastPosition):
49288        (WebCore::Geolocation::requestPermission):
49289        (WebCore::Geolocation::startUpdating):
49290        (WebCore::Geolocation::stopUpdating):
49291        * page/Geolocation.h:
49292        * page/GeolocationController.cpp:
49293        (WebCore::GeolocationController::~GeolocationController):
49294        * page/Navigator.cpp:
49295        * page/Navigator.h:
49296        * platform/mock/GeolocationClientMock.cpp:
49297        * platform/mock/GeolocationClientMock.h:
49298
492992011-03-10  Pratik Solanki  <psolanki@apple.com>
49300
49301        Reviewed by Alexey Proskuryakov.
49302
49303        ASSERT_NOT_REACHED triggered in WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority
49304        https://bugs.webkit.org/show_bug.cgi?id=56075
49305
49306        Map priority value 3, which means no priority, to ResourceLoadPriorityUnresolved.
49307
49308        * platform/network/cf/ResourceRequestCFNet.h:
49309        (WebCore::mapHTTPPipeliningPriorityToResourceLoadPriority):
49310        (WebCore::mapResourceLoadPriorityToHTTPPipeliningPriority):
49311
493122011-03-10  Andrey Adaikin  <aandrey@google.com>
49313
49314        Reviewed by Pavel Feldman.
49315
49316        Web Inspector: [Text editor] Substitute live-edit mode activation by double-click
49317        https://bugs.webkit.org/show_bug.cgi?id=56084
49318
49319        Also fixed a regression: console was not opening/closing on ESC key press because tabIndex="0" attribute was preserved for a readOnly viewer.
49320
49321        * inspector/front-end/SourceFrame.js:
49322        (WebInspector.SourceFrame):
49323        (WebInspector.SourceFrame.prototype._startEditing):
49324        (WebInspector.SourceFrame.prototype._registerShortcuts):
49325        (WebInspector.SourceFrame.prototype._handleKeyDown):
49326        (WebInspector.SourceFrame.prototype._handleSave):
49327        (WebInspector.SourceFrame.prototype._handleRevertEditing):
49328        (WebInspector.SourceFrame.prototype._doubleClick):
49329        * inspector/front-end/TextEditorModel.js:
49330        (WebInspector.TextEditorModel.prototype.get text):
49331        * inspector/front-end/TextViewer.js:
49332        (WebInspector.TextViewer.prototype.get readOnly):
49333        (WebInspector.TextEditorMainPanel):
49334        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
49335        (WebInspector.TextEditorMainPanel.prototype.get readOnly):
49336
493372011-03-10  Greg Simon  <gregsimon@chromium.org>
49338
49339        Reviewed by Pavel Feldman.
49340
49341        Web Inspector: Need new graphic icon for garbage collect button.
49342        https://bugs.webkit.org/show_bug.cgi?id=55794
49343
49344        No new tests: gc tests are flaky due to non-determinisic
49345        behavior of collection APIs (more notes in bug)
49346
49347        * English.lproj/localizedStrings.js:
49348        * WebCore.gypi:
49349        * bindings/js/ScriptProfiler.cpp:
49350        (WebCore::ScriptProfiler::collectGarbage):
49351        * bindings/js/ScriptProfiler.h:
49352        * bindings/v8/ScriptProfiler.cpp:
49353        (WebCore::ScriptProfiler::collectGarbage):
49354        * bindings/v8/ScriptProfiler.h:
49355        * inspector/Inspector.idl:
49356        * inspector/InspectorProfilerAgent.cpp:
49357        (WebCore::InspectorProfilerAgent::collectGarbage):
49358        * inspector/InspectorProfilerAgent.h:
49359        * inspector/front-end/Images/garbageCollectButtonGlyph.png: Added.
49360        * inspector/front-end/TimelinePanel.js:
49361        (WebInspector.TimelinePanel.prototype.get statusBarItems):
49362        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
49363        (WebInspector.TimelinePanel.prototype._garbageCollectButtonClicked):
49364        * inspector/front-end/inspector.css:
49365        (.garbage-collect-status-bar-item .glyph):
49366
493672011-03-10  Andrey Kosyakov  <caseq@chromium.org>
49368
49369        Web Inspector: better names for HAR export commands
49370        https://bugs.webkit.org/show_bug.cgi?id=56097
49371
49372        Rename Export to HAR to Copy entry/network log as HAR
49373        Expose Copy as HAR unconditionally, remove related settings entry.
49374
49375        * English.lproj/localizedStrings.js:
49376        * inspector/front-end/NetworkPanel.js:
49377        (WebInspector.NetworkPanel.prototype._contextMenu):
49378        * inspector/front-end/Settings.js:
49379
493802011-03-10  Qi Zhang  <qi.2.zhang@nokia.com>
49381
49382        Reviewed by Laszlo Gombos.
49383
49384        [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
49385        https://bugs.webkit.org/show_bug.cgi?id=48636
49386
49387        Fix a typo in features.pri that turns on this feature on mobile
49388        devices by default.
49389
49390        * features.pri:
49391
493922011-03-10  Alexander Pavlov  <apavlov@chromium.org>
49393
49394        Reviewed by Pavel Feldman.
49395
49396        Web Inspector: Invalid expected parameter list in CSSAgent.setSelectorText() callback (CSSStyleModel.js)
49397        https://bugs.webkit.org/show_bug.cgi?id=56092
49398
49399        * inspector/front-end/CSSStyleModel.js:
49400        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
49401
494022011-03-10  Pavel Feldman  <pfeldman@chromium.org>
49403
49404        Not reviewed: rolling out r80478 and its follow ups for breaking
49405        inspector and engadget.com.
49406        https://bugs.webkit.org/show_bug.cgi?id=49401
49407
49408        * dom/Document.cpp:
49409        (WebCore::Document::Document):
49410        (WebCore::performTask):
49411        (WebCore::Document::postTask):
49412        * dom/Document.h:
49413        * loader/FrameLoader.cpp:
49414        (WebCore::FrameLoader::setDefersLoading):
49415        * manual-tests/database-callback-deferred.html: Removed.
49416        * page/PageGroupLoadDeferrer.cpp:
49417        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
49418        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
49419
494202011-03-10  Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk>
49421
49422        Reviewed by Kenneth Rohde Christiansen.
49423
49424        Tiled backing store's delegated scroll request uses incorrect convention
49425        https://bugs.webkit.org/show_bug.cgi?id=56011
49426
49427        Use a point instead of delta, when relaying the scroll request from
49428        ScrollView::setScrollPosition.
49429
49430        * loader/EmptyClients.h:
49431        (WebCore::EmptyChromeClient::delegatedScrollRequested):
49432        * page/Chrome.cpp:
49433        (WebCore::Chrome::delegatedScrollRequested):
49434        * page/Chrome.h:
49435        * page/ChromeClient.h:
49436        * platform/HostWindow.h:
49437        * platform/ScrollView.cpp:
49438        (WebCore::ScrollView::setScrollPosition):
49439
494402011-03-10  Pavel Feldman  <pfeldman@chromium.org>
49441
49442        Reviewed by Yury Semikhatsky.
49443
49444        Web Inspector: brush up DOM agent API.
49445        https://bugs.webkit.org/show_bug.cgi?id=56093
49446
49447        * inspector/Inspector.idl:
49448        * inspector/InspectorDOMAgent.cpp:
49449        (WebCore::InspectorDOMAgent::childNodes):
49450        (WebCore::InspectorDOMAgent::setNodeName):
49451        (WebCore::InspectorDOMAgent::outerHTML):
49452        (WebCore::InspectorDOMAgent::setNodeValue):
49453        * inspector/InspectorDOMAgent.h:
49454        * inspector/front-end/DOMAgent.js:
49455        (WebInspector.DOMNode):
49456        (WebInspector.DOMNode.prototype.hasAttributes):
49457        (WebInspector.DOMNode.prototype.nodeType):
49458        (WebInspector.DOMNode.prototype.nodeName):
49459        (WebInspector.DOMNode.prototype.setNodeName):
49460        (WebInspector.DOMNode.prototype.localName):
49461        (WebInspector.DOMNode.prototype.nodeValue):
49462        (WebInspector.DOMNode.prototype.setNodeValue):
49463        (WebInspector.DOMNode.prototype.setAttribute):
49464        (WebInspector.DOMNode.prototype.attributes):
49465        (WebInspector.DOMNode.prototype.removeAttribute):
49466        (WebInspector.DOMNode.prototype.childNodes.mycallback):
49467        (WebInspector.DOMNode.prototype.childNodes):
49468        (WebInspector.DOMNode.prototype.outerHTML):
49469        (WebInspector.DOMNode.prototype.setOuterHTML):
49470        (WebInspector.DOMNode.prototype.removeNode):
49471        (WebInspector.DOMNode.prototype.copyNode):
49472        (WebInspector.DOMNode.prototype.path):
49473        (WebInspector.DOMNode.prototype._setAttributesPayload):
49474        (WebInspector.DOMNode.prototype._addAttribute):
49475        (WebInspector.DOMAgent.prototype._characterDataModified):
49476        * inspector/front-end/ElementsPanel.js:
49477        (WebInspector.ElementsPanel.prototype.updateBreadcrumb):
49478        (WebInspector.ElementsPanel.prototype.decorateNodeLabel):
49479        (WebInspector.ElementsPanel.prototype.handleCopyEvent):
49480        * inspector/front-end/ElementsTreeOutline.js:
49481        (WebInspector.ElementsTreeOutline.prototype.findTreeElement):
49482        (WebInspector.ElementsTreeElement):
49483        (WebInspector.ElementsTreeElement.prototype.updateChildren):
49484        (WebInspector.ElementsTreeElement.prototype._updateChildren):
49485        (WebInspector.ElementsTreeElement.prototype._startEditingTarget):
49486        (WebInspector.ElementsTreeElement.prototype._startEditing):
49487        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
49488        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.moveToNextAttributeIfNeeded):
49489        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
49490        (WebInspector.ElementsTreeElement.prototype._textNodeEditingCommitted):
49491        (WebInspector.ElementsTreeElement.prototype._attributeHTML):
49492        ():
49493        * inspector/front-end/EventListenersSidebarPane.js:
49494        ():
49495        * inspector/front-end/MetricsSidebarPane.js:
49496        * inspector/front-end/StylesSidebarPane.js:
49497        * inspector/front-end/utilities.js:
49498
494992011-03-09  Alexander Pavlov  <apavlov@chromium.org>
49500
49501        Reviewed by Pavel Feldman.
49502
49503        Web Inspector: [STYLES] Editing a property value adds a word for any property value that uses a paren
49504        https://bugs.webkit.org/show_bug.cgi?id=56002
49505
49506        * inspector/front-end/StylesSidebarPane.js: Introduce an additional check.
49507
495082011-03-09  Pavel Podivilov  <podivilov@chromium.org>
49509
49510        Reviewed by Pavel Feldman.
49511
49512        Web Inspector: use DebuggerPresentation instead of DebuggerModel in source frame delegate.
49513        https://bugs.webkit.org/show_bug.cgi?id=56034
49514
49515        * inspector/front-end/DebuggerPresentationModel.js:
49516        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
49517        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
49518        (WebInspector.DebuggerPresentationModel.prototype.updateBreakpoint):
49519        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
49520        (WebInspector.DebuggerPresentationModel.prototype._sourceLocationToActualLocation):
49521        * inspector/front-end/ScriptsPanel.js:
49522        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
49523        (WebInspector.SourceFrameDelegateForScriptsPanel):
49524        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.setBreakpoint):
49525        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.updateBreakpoint):
49526        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.removeBreakpoint):
49527        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.findBreakpoint):
49528        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.continueToLine):
49529        * inspector/front-end/SourceFrame.js:
49530        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
49531        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
49532        (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled):
49533        (WebInspector.SourceFrame.prototype._contextMenu):
49534        (WebInspector.SourceFrame.prototype._mouseDown):
49535        (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
49536        (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
49537
495382011-03-09  Alexander Pavlov  <apavlov@chromium.org>
49539
49540        Reviewed by Pavel Feldman.
49541
49542        Web Inspector: elements dom tree - word wrap toggle
49543        https://bugs.webkit.org/show_bug.cgi?id=44311
49544
49545        A "Word Wrap" option is now shown in a context menu for the entire DOM tree content area
49546        and persisted into application settings.
49547
49548        * English.lproj/localizedStrings.js:
49549        * inspector/front-end/ElementsPanel.js:
49550        (WebInspector.ElementsPanel.prototype._contextMenuEventFired):
49551        (WebInspector.ElementsPanel.prototype._contextMenuEventFired.toggleWordWrap):
49552        * inspector/front-end/ElementsTreeOutline.js:
49553        (WebInspector.ElementsTreeOutline):
49554        (WebInspector.ElementsTreeOutline.prototype._treeElementFromEvent):
49555        (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
49556        (WebInspector.ElementsTreeElement.prototype.onreveal):
49557        * inspector/front-end/Settings.js:
49558        (WebInspector.Settings):
49559        * inspector/front-end/inspector.css:
49560        (#elements-content.nowrap):
49561        (#elements-content > ol):
49562
495632011-03-09  Pavel Podivilov  <podivilov@chromium.org>
49564
49565        Reviewed by Pavel Feldman.
49566
49567        Web Inspector: re-implement breakpoints sidebar pane based on debugger presentation model.
49568        https://bugs.webkit.org/show_bug.cgi?id=55823
49569
49570        * inspector/front-end/BreakpointsSidebarPane.js:
49571        (WebInspector.JavaScriptBreakpointsSidebarPane):
49572        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didLoadSnippet):
49573        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
49574        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.removeBreakpoint):
49575        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
49576        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.clearBreakpointHighlight):
49577        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
49578        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
49579        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
49580        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
49581        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.reset):
49582        * inspector/front-end/DebuggerPresentationModel.js:
49583        (WebInspector.DebuggerPresentationModel):
49584        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
49585        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
49586        (WebInspector.DebuggerPresentationModel.prototype._revealHiddenBreakpoints):
49587        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceFileId):
49588        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointEnabled):
49589        (WebInspector.DebuggerPresentationModel.prototype.removeBreakpoint):
49590        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
49591        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
49592        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
49593        (WebInspector.DebuggerPresentationModel.prototype.reset):
49594        * inspector/front-end/ScriptsPanel.js:
49595        (WebInspector.ScriptsPanel):
49596        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
49597        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
49598        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
49599        (WebInspector.ScriptsPanel.prototype.reset):
49600        (WebInspector.ScriptsPanel.prototype._clearInterface):
49601
496022011-03-10  Andrey Adaikin  <aandrey@google.com>
49603
49604        Reviewed by Pavel Feldman.
49605
49606        Web Inspector: Highlighter refactoring
49607        https://bugs.webkit.org/show_bug.cgi?id=56015
49608
49609        * inspector/front-end/TextEditorHighlighter.js:
49610        (WebInspector.TextEditorHighlighter):
49611        (WebInspector.TextEditorHighlighter.prototype.set mimeType):
49612        (WebInspector.TextEditorHighlighter.prototype.highlight):
49613        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
49614        (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
49615        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
49616        (WebInspector.TextEditorHighlighter.prototype._selectHighlightState):
49617        (WebInspector.TextEditorHighlighter.prototype._clearHighlightState):
49618        * inspector/front-end/TextViewer.js:
49619        (WebInspector.TextEditorMainPanel.prototype._buildChunks):
49620        (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
49621
496222011-03-05  Pavel Podivilov  <podivilov@chromium.org>
49623
49624        Reviewed by Pavel Feldman.
49625
49626        Web Inspector: move breakpoint column adjustment to debugger model.
49627        https://bugs.webkit.org/show_bug.cgi?id=55821
49628
49629        Test: inspector/debugger/debug-inlined-scripts.html
49630
49631        * inspector/front-end/DebuggerModel.js:
49632        (WebInspector.DebuggerModel.prototype.setBreakpoint.didSetBreakpoint):
49633        (WebInspector.DebuggerModel.prototype.setBreakpoint):
49634        * inspector/front-end/SourceFrameContent.js:
49635        (WebInspector.SourceFrameContent.prototype.sourceFrameLineNumberToActualLocation):
49636
496372011-01-21  John Knottenbelt  <jknotten@chromium.org>
49638
49639        Reviewed by Dmitry Titov.
49640
49641        Detach Geolocation from Frame when Page destroyed.
49642        https://bugs.webkit.org/show_bug.cgi?id=52877
49643
49644        On Page destruction, any outstanding Geolocation permission
49645        requests should be cancelled, because the Geolocation can only
49646        access the client indirectly via m_frame->page().
49647
49648        Page destruction is signalled by a call to the
49649        Frame::pageDestroyed() method. This explictly calls
49650        DOMWindow::resetGeolocation which ultimately calls Geolocation::reset.
49651
49652        Geolocation::reset() detaches from the GeolocationController,
49653        cancels requests, watches and single shots, and sets the
49654        permission state back to Unknown.
49655
49656        Frame::pageDestroyed() is also called by FrameLoader even though
49657        the page is not destroyed. We should still cancel permission
49658        requests, because the GeolocationClient will become inaccessible
49659        to the Geolocation object after this call.
49660
49661        Frame::transferChildFrameToNewDocument also indirectly calls
49662        Geolocation::reset when the frame is reparented between
49663        pages. Ideally we would like the Geolocation's activities to
49664        continue after reparenting, see bug
49665        https://bugs.webkit.org/show_bug.cgi?id=55577
49666
49667        Since GeolocationController is owned by Page, and all Geolocation
49668        objects will now unsubscribe from the GeolocationController on
49669        pageDetached(), we no longer need to call stopUpdating() from the
49670        GeolocationController's destructor. Instead we can simply assert
49671        that there should be no no observers. See related bug
49672        https://bugs.webkit.org/show_bug.cgi?id=52216 .
49673
49674        Introduced new method 'numberOfPendingPermissionRequests' on
49675        GeolocationClientMock to count the number of outstanding pending
49676        permission requests. This provides a reusable implementation for
49677        client-based implementations of the LayoutTestController's
49678        numberOfPendingGeolocationPermissionRequests method.
49679
49680        Test: fast/dom/Geolocation/page-reload-cancel-permission-requests.html
49681
49682        * page/DOMWindow.cpp:
49683        (WebCore::DOMWindow::resetGeolocation):
49684        * page/DOMWindow.h:
49685        * page/Frame.cpp:
49686        (WebCore::Frame::pageDestroyed):
49687        (WebCore::Frame::transferChildFrameToNewDocument):
49688        * page/Geolocation.cpp:
49689        (WebCore::Geolocation::~Geolocation):
49690        (WebCore::Geolocation::page):
49691        (WebCore::Geolocation::reset):
49692        (WebCore::Geolocation::disconnectFrame):
49693        (WebCore::Geolocation::lastPosition):
49694        (WebCore::Geolocation::requestPermission):
49695        (WebCore::Geolocation::startUpdating):
49696        (WebCore::Geolocation::stopUpdating):
49697        * page/Geolocation.h:
49698        * page/GeolocationController.cpp:
49699        (WebCore::GeolocationController::~GeolocationController):
49700        * page/Navigator.cpp:
49701        (WebCore::Navigator::resetGeolocation):
49702        * page/Navigator.h:
49703        * platform/mock/GeolocationClientMock.cpp:
49704        (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
49705        * platform/mock/GeolocationClientMock.h:
49706
497072011-03-10  Ojan Vafai  <ojan@chromium.org>
49708
49709        Reviewed by Darin Adler.
49710
49711        Able to move nodes across documents
49712        https://bugs.webkit.org/show_bug.cgi?id=19524
49713
49714        Makes cross-document appendChild, insertBefore, Range.insertNode and Range.surroundContents work.
49715        This matches Gecko and the new Dom Core spec. There are a number of Range methods where we don't
49716        match Gecko or the spec that will need to be updated in a following patch.
49717
49718        Test: fast/dom/move-nodes-across-documents.html
49719
49720        * dom/Element.cpp:
49721        (WebCore::Element::removeAttributeNode):
49722        * dom/NamedNodeMap.cpp:
49723        (WebCore::NamedNodeMap::setNamedItem):
49724        * dom/Node.cpp:
49725        (WebCore::Node::setDocumentRecursively):
49726        (WebCore::checkAcceptChild):
49727        (WebCore::Node::checkReplaceChild):
49728        * dom/Range.cpp:
49729        (WebCore::Range::insertNode):
49730        (WebCore::Range::surroundContents):
49731
497322011-03-09  Antti Koivisto  <antti@apple.com>
49733
49734        Not reviewed.
49735
49736        Reverting crash catching code, the bug being hunted was fixed by
49737        http://trac.webkit.org/changeset/80686
49738
49739        * loader/cache/CachedResourceLoader.cpp:
49740        (WebCore::CachedResourceLoader::CachedResourceLoader):
49741        (WebCore::CachedResourceLoader::~CachedResourceLoader):
49742        (WebCore::CachedResourceLoader::requestImage):
49743        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
49744        (WebCore::CachedResourceLoader::requestResource):
49745        (WebCore::CachedResourceLoader::setAutoLoadImages):
49746        (WebCore::CachedResourceLoader::load):
49747        (WebCore::CachedResourceLoader::loadDone):
49748        (WebCore::CachedResourceLoader::preload):
49749        (WebCore::CachedResourceLoader::requestPreload):
49750        * loader/cache/CachedResourceLoader.h:
49751
497522011-03-09  Peter Kasting  <pkasting@google.com>
49753
49754        Unreviewed, build fix.
49755
49756        * StringsNotToBeLocalized.txt: Add function names I forgot.
49757        * platform/win/SystemInfo.cpp: #if out some uncalled functions on WinCE,
49758          since they don't compile anyway.  Use ZeroMemory() instead of "= {0}"
49759          since Qt is stupid and (sometimes?!) warns about it.
49760        (WebCore::windowsVersion):
49761        (WebCore::processorArchitecture):
49762
497632011-03-09  Peter Kasting  <pkasting@google.com>
49764
49765        Reviewed by Ryosuke Niwa.
49766
49767        Add UA string tags for Windows 64.
49768        https://bugs.webkit.org/show_bug.cgi?id=55226
49769
49770        * StringsNotToBeLocalized.txt:
49771        * platform/win/SystemInfo.cpp:
49772        (WebCore::osVersionForUAString):
49773        (WebCore::isWOW64):
49774        (WebCore::processorArchitecture):
49775        (WebCore::architectureTokenForUAString):
49776        (WebCore::windowsVersionForUAString):
49777
497782011-03-09  Peter Kasting  <pkasting@google.com>
49779
49780        Unreviewed, attempted build fix.
49781
49782        * WebCore.pri: Try to update include path for Qt Windows build.
49783
497842011-03-09  Peter Kasting  <pkasting@google.com>
49785
49786        Unreviewed, build fix.
49787
49788        * platform/win/SystemInfo.cpp:
49789        (WebCore::windowsVersionForUAString): Fix const conversion warning on Qt.
49790
497912011-03-09  Peter Kasting  <pkasting@google.com>
49792
49793        Reviewed by Mihai Parparita.
49794
49795        Unify Windows version checks.
49796        https://bugs.webkit.org/show_bug.cgi?id=55979
49797
49798        * GNUmakefile.am: Fix spaces -> tabs.
49799        * StringsNotToBeLocalized.txt:
49800        * WebCore.pro: Add SystemInfo.* to Qt build.
49801        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
49802        (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
49803        (WebCore::ScrollbarThemeChromiumWin::getThemeState):
49804        (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
49805        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
49806        (WebCore::fillBMPGlyphs):
49807        * platform/win/CursorWin.cpp:
49808        (WebCore::createSharedCursor):
49809        * platform/win/ScrollbarThemeWin.cpp:
49810        (WebCore::ScrollbarThemeWin::ScrollbarThemeWin):
49811        * platform/win/SystemInfo.cpp: Add full-fledged version check and UA string helper function.
49812        (WebCore::windowsVersion):
49813        (WebCore::windowsVersionForUAString):
49814        * platform/win/SystemInfo.h: Add full-fledged version check and UA string helper function.
49815        * rendering/RenderThemeChromiumWin.cpp:
49816        (WebCore::getNonClientMetrics):
49817        * rendering/RenderThemeWin.cpp:
49818        (WebCore::RenderThemeWin::getThemeData):
49819        (WebCore::RenderThemeWin::paintMenuList):
49820        (WebCore::RenderThemeWin::paintMenuListButton):
49821
498222011-03-09  Mihai Parparita  <mihaip@chromium.org>
49823
49824        Reviewed by Tony Gentilcore.
49825
49826        REGRESSION (r74807): memory corruption after CachedResourceLoader refactoring
49827        https://bugs.webkit.org/show_bug.cgi?id=53045
49828
49829        Copy the URL out of the CachedResource that is being revalidated, so
49830        that we can still use it (in m_validatedURLs) after removing the
49831        resource from the memory cache, which may delete it.
49832
49833        No new tests, since I was not able to trigger this locally (in a layout
49834        test or otherwise).
49835
49836        * loader/cache/CachedResourceLoader.cpp:
49837        (WebCore::CachedResourceLoader::revalidateResource):
49838
498392011-03-09  Chris Fleizach  <cfleizach@apple.com>
49840
49841        Reviewed by Beth Dakin.
49842
49843        VO reporting incorrect list count for http://www.macworld.com/news.html
49844        https://bugs.webkit.org/show_bug.cgi?id=56064
49845
49846        <li> tags should not be ignored, because they provide valuable information
49847        to screen readers.
49848
49849        Test: platform/mac/accessibility/list-items-ignored.html
49850
49851        * accessibility/AccessibilityRenderObject.cpp:
49852        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
49853
498542011-03-09  Dan Bernstein  <mitz@apple.com>
49855
49856        Reviewed by Dave Hyatt.
49857
49858        <rdar://problem/8733254> Float disappears after incremental layout
49859        Fixed the original bug and a copule more issues noticed while doing so.
49860
49861        Tests: fast/dynamic/dirty-float-in-clean-line.html
49862               fast/dynamic/float-at-line-break.html
49863               fast/dynamic/float-from-empty-line.html
49864
49865        * rendering/RenderBlock.h:
49866        * rendering/RenderBlockLineLayout.cpp:
49867        (WebCore::RenderBlock::layoutInlineChildren): If findNextLineBreak() returned an empty line,
49868        update the line break info of the last line with the new line break position. This is tested
49869        by float-from-empty-line.html.
49870        (WebCore::RenderBlock::checkFloatsInCleanLine): Factored out code from determineStartPosition()
49871        into this new function.
49872        (WebCore::RenderBlock::determineStartPosition): Call checkFloatsInCleanLine().
49873        (WebCore::RenderBlock::determineEndPosition): When iterating over lines, check clean lines with
49874        floats, as they may yet become dirty because of the floats. This is tested by
49875        dirty-float-in-clean-line.html.
49876        (WebCore::RenderBlock::findNextLineBreak): If a float fits on the line, and the current line
49877        break is at the float, advance it to after the float. Otherwise, if the line gets dirty and the
49878        next one does not, the float will not make it into any line. This is tested by
49879        float-at-line-break.html.
49880
498812011-03-09  Ryosuke Niwa  <rniwa@webkit.org>
49882
49883        Reviewed by Kent Tamura.
49884
49885        selectionStart reports wrong caret position when the last characters are newlines
49886        https://bugs.webkit.org/show_bug.cgi?id=56061
49887
49888        The bug was caused by SelectionController::setSelection's not calling
49889        notifyRendererOfSelectionChange when old selection was equal to new selection.
49890
49891        Because InsertLineBreakCommand inserts a text node with a single LF before the caret,
49892        this condition holds after the command is executed. However, the values of
49893        selectionStart and selectionEnd still need to be updated in this case because
49894        the offsets counted from the beginning of textarea have been increased by 1.
49895
49896        * editing/SelectionController.cpp:
49897        (WebCore::SelectionController::setSelection): Call notifyRendererOfSelectionChange
49898        when m_selection = s.
49899        * manual-tests/selection-start-after-inserting-line-break-in-textarea.html: Added.
49900
499012011-03-09  Andy Estes  <aestes@apple.com>
49902
49903        Reviewed by Adam Barth.
49904
49905        Bad cast in HTMLTreeBuilder::processStartTag
49906        https://bugs.webkit.org/show_bug.cgi?id=55955
49907
49908        Test: fast/parser/self-closing-foreign-content.html
49909
49910        When the parser encounters an svg or mathml root element, it places the
49911        insertion mode into InForeignContentMode. However, if the root element
49912        is self-closing (e.g. <svg />) then the element is never placed on the
49913        open elements stack. This leaves the parser in an inconsistent state
49914        where it is in InForeignContentMode but no foreign content is in the
49915        open element stack.
49916
49917        * html/parser/HTMLTreeBuilder.cpp:
49918        (WebCore::HTMLTreeBuilder::processStartTagForInBody): If a self-closing
49919        foreign element is inserted into the tree, do not set the insertion
49920        mode to InForeignContentMode.
49921
499222011-03-09  Gavin Barraclough  <barraclough@apple.com>
49923
49924        Qt build fix.
49925
49926        * bridge/qt/qt_runtime.cpp:
49927        (JSC::Bindings::convertQVariantToValue):
49928
499292011-03-09  Andy Estes  <aestes@apple.com>
49930
49931        Reviewed by Adam Barth.
49932
49933        REGRESSION (r80320): Assertion failure when processing mis-nested foreign content.
49934        https://bugs.webkit.org/show_bug.cgi?id=55982
49935
49936        Test: fast/parser/fragment-foreign-content-misnested.html
49937
49938        It is a parse error to encounter certain start tags while the parser's
49939        insertion mode is InForeignContentMode (e.g. <br>). In these cases, we
49940        are to pop open elements off the HTMLElementStack until a foreign
49941        content scope marker is encountered. Before the change in r80320 to not
49942        insert a fake HTML element during fragment parsing, said fake HTML
49943        element counted as a foreign content scope marker.
49944
49945        With r80320, no fake HTML element is inserted and the stack is popped
49946        until empty in cases where no other element claims to be a foreign
49947        content scope marker. Fix this by treating the DocumentFragment as a
49948        foreign content scope marker.
49949
49950        * html/parser/HTMLElementStack.cpp:
49951        (WebCore::HTMLNames::isForeignContentScopeMarker): Take a
49952        ContainerNode* instead of a Element*.
49953        (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker): Pass
49954        topNode() to isForeignContentScopeMarker() instead of top().
49955
499562011-03-09  Gavin Barraclough  <barraclough@apple.com>
49957
49958        Reviewed by Darin Adler.
49959
49960        Bug 56041 - RexExp constructor should only accept flags "gim"
49961        We also should be passing the flags around as a bitfield rather than a string,
49962        and should not have redundant, incompatible code for converting the string to a bitfield!
49963
49964        * bindings/js/SerializedScriptValue.cpp:
49965        (WebCore::CloneDeserializer::readTerminal):
49966            - Need to parse flags string back to enum.
49967
499682011-03-09  James Robinson  <jamesr@chromium.org>
49969
49970        Reviewed by Kenneth Russell.
49971
49972        [chromium]: Regression - Explicitly copy compositing properties from LayerChromium to CCLayerImpl
49973        https://bugs.webkit.org/show_bug.cgi?id=56021
49974
49975        Initializes the m_doubleSided flag of LayerChromiums to the default
49976        value of true so the back sides of layers without
49977        backface-visibility:hidden are rendered.
49978
49979        Test: compositing/backface-visibility.html
49980
49981        * platform/graphics/chromium/LayerChromium.cpp:
49982        (WebCore::LayerChromium::LayerChromium):
49983
499842011-03-09  David Hyatt  <hyatt@apple.com>
49985
49986        Reviewed by Dan Bernstein.
49987
49988        <rdar://problem/9110316> REGRESSION: 'ex' unit broken for vertical text
49989
49990        Fall back to the verticalRightOrientation data when obtaining the x-height for vertically oriented
49991        text. That way we use the same metrics as for horizontal.
49992
49993        This fixes regressions in fast/lists and fast/overflow vertical text tests.
49994
49995        * platform/graphics/mac/SimpleFontDataMac.mm:
49996        (WebCore::SimpleFontData::platformInit):
49997        (WebCore::SimpleFontData::platformBoundsForGlyph):
49998
499992011-03-09  Ryosuke Niwa  <rniwa@webkit.org>
50000
50001        Reviewed by Tony Chang.
50002
50003        REGRESSION: crash in nextLinePosition when extending selection forward by line in an empty document
50004        https://bugs.webkit.org/show_bug.cgi?id=56004
50005
50006        The crash was caused by the false assumption that rootEditableElement() or documentElement()
50007        always return non-null pointer. Fixed the bug by adding an early exit.
50008
50009        Test: editing/selection/extend-by-line-in-empty-document.html
50010
50011        * editing/visible_units.cpp:
50012        (WebCore::previousLinePosition):
50013        (WebCore::nextLinePosition):
50014
500152011-03-09  Pavel Podivilov  <podivilov@chromium.org>
50016
50017        Reviewed by Pavel Feldman.
50018
50019        Web Inspector: it should be possible to copy stack trace from call stack sidebar pane.
50020        https://bugs.webkit.org/show_bug.cgi?id=56024
50021
50022        * English.lproj/localizedStrings.js:
50023        * inspector/front-end/CallStackSidebarPane.js:
50024        (WebInspector.CallStackSidebarPane):
50025        (WebInspector.CallStackSidebarPane.prototype.update):
50026        (WebInspector.CallStackSidebarPane.prototype._contextMenu):
50027
500282011-03-09  David Hyatt  <hyatt@apple.com>
50029
50030        Reviewed by Darin Adler.
50031
50032        Patch FontPlatformDataLinux to properly initialize and copy orientation/text-orientation in all
50033        places.  Make sure text-orientation is specified in the lookups/creation in FontCustomPlatformData
50034        and FontCache.
50035
50036        * platform/graphics/chromium/FontPlatformDataLinux.cpp:
50037        (WebCore::FontPlatformData::FontPlatformData):
50038        * platform/graphics/chromium/FontPlatformDataLinux.h:
50039        (WebCore::FontPlatformData::FontPlatformData):
50040
500412011-03-09  Steve Block  <steveblock@google.com>
50042
50043        Reviewed by Jeremy Orlow.
50044
50045        JavaNPObject should not use JNI directly
50046        https://bugs.webkit.org/show_bug.cgi?id=56009
50047
50048        We move the JNI code to access a Java object's fields into
50049        a new JavaInstance::getField() method.
50050
50051        No new tests, refactoring only.
50052
50053        * bridge/jni/v8/JavaInstanceV8.cpp:
50054        (JavaInstance::getField):
50055        * bridge/jni/v8/JavaInstanceV8.h:
50056        * bridge/jni/v8/JavaNPObjectV8.cpp:
50057        (JSC::Bindings::JavaNPObjectGetProperty):
50058
500592011-03-09  Steve Block  <steveblock@google.com>
50060
50061        Reviewed by Jeremy Orlow.
50062
50063        NPAPI - jvalue conversion should not be in JavaInstance
50064        https://bugs.webkit.org/show_bug.cgi?id=55967
50065
50066        No new tests, refactoring only.
50067
50068        * bridge/jni/v8/JavaInstanceV8.cpp:
50069        (JavaInstance::invokeMethod):
50070        * bridge/jni/v8/JavaInstanceV8.h:
50071        * bridge/jni/v8/JavaNPObjectV8.cpp:
50072        (JSC::Bindings::JavaNPObjectInvoke):
50073
500742011-03-09  Jessie Berlin  <jberlin@apple.com>
50075
50076        Reviewed by Adam Roben.
50077
50078        Use the Cookie Storage from the Private Browsing Storage Session directly
50079        https://bugs.webkit.org/show_bug.cgi?id=55986
50080
50081        * WebCore.exp.in:
50082        * platform/mac/WebCoreSystemInterface.h:
50083        * platform/mac/WebCoreSystemInterface.mm:
50084
50085        * platform/network/mac/CookieStorageMac.mm:
50086        (WebCore::setCookieStoragePrivateBrowsingEnabled):
50087        Just copy the cookie storage from the private browsing storage session.
50088        * platform/network/cf/CookieStorageCFNet.cpp:
50089        (WebCore::setCookieStoragePrivateBrowsingEnabled):
50090        Ditto.
50091
500922011-03-09  Andrey Kosyakov  <caseq@chromium.org>
50093
50094        Unreviewed. Fixed a crash in InspectorInstrumentation::didReceiveResponse() when loader is null (broken in r80639)
50095
50096        * inspector/InspectorInstrumentation.cpp:
50097        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
50098
500992011-03-09  Yury Semikhatsky  <yurys@chromium.org>
50100
50101        Reviewed by Pavel Feldman.
50102
50103        Web Inspector: pass explicit agent references to InspectorBackendDispatcher
50104        https://bugs.webkit.org/show_bug.cgi?id=55820
50105
50106        * inspector/CodeGeneratorInspector.pm:
50107        * inspector/InspectorController.cpp:
50108        (WebCore::InspectorController::InspectorController):
50109        (WebCore::InspectorController::connectFrontend):
50110        (WebCore::InspectorController::disconnectFrontend):
50111        (WebCore::InspectorController::dispatchMessageFromFrontend):
50112
501132011-03-09  Andrey Kosyakov  <caseq@chromium.org>
50114
50115        Reviewed by Pavel Feldman.
50116
50117        Web Inspector: resource errors are not reported before front-end is opened
50118        https://bugs.webkit.org/show_bug.cgi?id=55939
50119
50120        * inspector/InspectorInstrumentation.cpp:
50121        (WebCore::InspectorInstrumentation::didReceiveResourceResponseImpl):
50122        * inspector/InspectorInstrumentation.h:
50123        (WebCore::InspectorInstrumentation::didReceiveResourceResponse):
50124        (WebCore::InspectorInstrumentation::didFailLoading):
50125
501262011-03-08  Hans Wennborg  <hans@chromium.org>
50127
50128        Reviewed by Jeremy Orlow.
50129
50130        IndexedDB: Add BackingStoreType parameter to IDBFactoryBackendInterface::open
50131        https://bugs.webkit.org/show_bug.cgi?id=55948
50132
50133        Add a parameter that allows for selection of alternative backing store
50134        implementations.
50135
50136        No new tests: no new functionality.
50137
50138        * storage/IDBFactory.cpp:
50139        (WebCore::IDBFactory::open):
50140        * storage/IDBFactoryBackendImpl.cpp:
50141        (WebCore::IDBFactoryBackendImpl::open):
50142        * storage/IDBFactoryBackendImpl.h:
50143        * storage/IDBFactoryBackendInterface.h:
50144
501452011-03-08  Steve Block  <steveblock@google.com>
50146
50147        Reviewed by Jeremy Orlow.
50148
50149        Factor out JNI method call to be used by both JSC and V8
50150        https://bugs.webkit.org/show_bug.cgi?id=55966
50151
50152        No new tests, refactoring only.
50153
50154        * bridge/jni/JNIUtility.cpp:
50155        (JSC::Bindings::callJNIMethod):
50156        * bridge/jni/JNIUtility.h:
50157        * bridge/jni/jsc/JavaInstanceJSC.cpp:
50158        (JavaInstance::invokeMethod):
50159        * bridge/jni/v8/JavaInstanceV8.cpp:
50160        (JavaInstance::invokeMethod):
50161
501622011-03-09  Andrey Adaikin  <aandrey@google.com>
50163
50164        Reviewed by Pavel Feldman.
50165
50166        Web Inspector: [Text editor] Regression in handling DOMNodeInserted/DOMNodeRemoved events
50167        https://bugs.webkit.org/show_bug.cgi?id=55818
50168
50169        * inspector/front-end/TextViewer.js:
50170        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
50171
501722011-03-09  Ilya Tikhonovsky  <loislo@chromium.org>
50173
50174        Reviewed by Yury Semikhatsky.
50175
50176        Web Inspector: Web Inspector: we don't need to transfer objectId and hasChildren for primitive values.
50177        https://bugs.webkit.org/show_bug.cgi?id=55998
50178
50179        * inspector/InjectedScriptSource.js:
50180
501812011-03-09  Pavel Feldman  <pfeldman@chromium.org>
50182
50183        Reviewed by Yury Semikhatsky.
50184
50185        Web Inspector: watch expressions should show string values in quotes.
50186        https://bugs.webkit.org/show_bug.cgi?id=55846
50187
50188        * inspector/InjectedScriptSource.js:
50189        * inspector/front-end/ObjectPropertiesSection.js:
50190        (WebInspector.ObjectPropertyTreeElement.prototype.update):
50191        * inspector/front-end/RemoteObject.js:
50192        (WebInspector.LocalJSONObject.prototype.get description):
50193        * inspector/front-end/WatchExpressionsSidebarPane.js:
50194        (WebInspector.WatchExpressionsSection.prototype.update):
50195        * inspector/front-end/inspector.css:
50196        (.console-formatted-string, .console-formatted-regexp):
50197
501982011-03-09  Pavel Feldman  <pfeldman@chromium.org>
50199
50200        Reviewed by Yury Semikhatsky.
50201
50202        Web Inspector: "length" getter is invoked upon console object formatting.
50203        https://bugs.webkit.org/show_bug.cgi?id=55220
50204
50205        * inspector/InjectedScriptSource.js:
50206
502072011-03-08  Ilya Tikhonovsky  <loislo@chromium.org>
50208
50209        Reviewed by Pavel Feldman.
50210
50211        Web Inspector: remove groupName from objectId.
50212        https://bugs.webkit.org/show_bug.cgi?id=55825
50213
50214        * inspector/InjectedScriptSource.js:
50215
502162011-03-08  Xiaomei Ji  <xji@chromium.org>
50217
50218        Reviewed by David Hyatt.
50219
50220        Fix Regression: Content not drawn when scrolling horizontally in an RTL page.
50221        https://bugs.webkit.org/show_bug.cgi?id=55077.
50222
50223        Inside ScrollView::calculateOverhangAreasForPainting(), when scroll position
50224        is negative, should include the position value into overhang rectangle's
50225        starting position.
50226
50227        Tests: fast/dom/scroll-reveal-left-overflow.html
50228               fast/dom/scroll-reveal-top-overflow.html
50229
50230        * platform/ScrollView.cpp:
50231        (WebCore::ScrollView::calculateOverhangAreasForPainting):
50232
502332011-03-08  Daniel Bates  <dbates@rim.com>
50234
50235        Reviewed by Darin Adler.
50236
50237        Add templatized CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}()
50238        https://bugs.webkit.org/show_bug.cgi?id=55351
50239
50240        By using some template magic CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}()
50241        can be called on an array A without the caller explicitly specifying the size of A.
50242
50243        No functionality was changed. So no new tests.
50244
50245        * css/CSSMutableStyleDeclaration.cpp:
50246        (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Modified to call templatized variants of
50247        CSSMutableStyleDeclaration::get{ShorthandValue, CommonValue, LayeredShorthandValue}().
50248        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Renamed second argument from "number" to "size"
50249        to better reflect its purpose - to be the size of the passed array.
50250        (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Ditto.
50251        (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto.
50252        (WebCore::CSSMutableStyleDeclaration::cssText): Modified to call templatized variant of CSSMutableStyleDeclaration::getShorthandValue().
50253        * css/CSSMutableStyleDeclaration.h:
50254        (WebCore::CSSMutableStyleDeclaration::getShorthandValue): Added templatized function that can determine
50255        the size of a passed array. Changed type of second argument to size_t since it represents the size of
50256        an array.
50257        (WebCore::CSSMutableStyleDeclaration::getCommonValue): Ditto.
50258        (WebCore::CSSMutableStyleDeclaration::getLayeredShorthandValue): Ditto.
50259
502602011-03-08  Enrica Casucci  <enrica@apple.com>
50261
50262        Reviewed by Darin Adler.
50263
50264        REGRESSION: Copied content loses formatting on paste to external apps.
50265        https://bugs.webkit.org/show_bug.cgi?id=47615
50266        <rdar://problem/9001214>
50267
50268        This is a resubmission of a patch that was landed a while ago then rolled
50269        back because of a build failure on SnowLeopard and Leopard on the 32-bit builds.
50270
50271        This patch adds a way for WebKit2 to create NSAttributedStrings from
50272        a DOM range without using the AppKit api initWithDOMRange that internally
50273        needs to access the WebView. The NSAttributedString is needed to create
50274        RTF formats in the pasteboard.
50275        This is to be considered a first step, since in the future we want to have
50276        an implementation based on the TextIterator.
50277        * WebCore.xcodeproj/project.pbxproj:
50278        * platform/mac/HTMLConverter.h: Added.
50279        * platform/mac/HTMLConverter.mm: Added.
50280        * platform/mac/PasteboardMac.mm:
50281        (WebCore::Pasteboard::writeSelection):
50282
502832011-03-08  James Robinson  <jamesr@chromium.org>
50284
50285        Reviewed by Kenneth Russell.
50286
50287        [chromium] Explicitly copy compositing properties from LayerChromium to CCLayerImpl
50288        https://bugs.webkit.org/show_bug.cgi?id=55900
50289
50290        This adds an explicit step to synchronize properties from
50291        LayerChromiums to their corresponding CCLayerImpls.
50292
50293        * platform/graphics/chromium/LayerChromium.cpp:
50294        (WebCore::LayerChromium::setBounds):
50295        * platform/graphics/chromium/LayerChromium.h:
50296        (WebCore::LayerChromium::bounds):
50297        (WebCore::LayerChromium::doubleSided):
50298        (WebCore::LayerChromium::setDoubleSided):
50299        * platform/graphics/chromium/LayerRendererChromium.cpp:
50300        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
50301        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
50302        (WebCore::CCLayerImpl::CCLayerImpl):
50303        (WebCore::CCLayerImpl::updateFromLayer):
50304        (WebCore::CCLayerImpl::descendantsDrawsContent):
50305        * platform/graphics/chromium/cc/CCLayerImpl.h:
50306        (WebCore::CCLayerImpl::anchorPoint):
50307        (WebCore::CCLayerImpl::anchorPointZ):
50308        (WebCore::CCLayerImpl::masksToBounds):
50309        (WebCore::CCLayerImpl::opacity):
50310        (WebCore::CCLayerImpl::position):
50311        (WebCore::CCLayerImpl::preserves3D):
50312        (WebCore::CCLayerImpl::sublayerTransform):
50313        (WebCore::CCLayerImpl::transform):
50314
503152011-03-08  James Robinson  <jamesr@chromium.org>
50316
50317        Chromium compile fix.
50318
50319        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
50320        (WebCore::SimpleFontData::platformInit):
50321
503222011-03-08  Peter Kasting  <pkasting@google.com>
50323
50324        Reviewed by James Robinson.
50325
50326        Unify Windows version checks, part 1.
50327        https://bugs.webkit.org/show_bug.cgi?id=55979
50328
50329        Make everyone (I hope) pull in SystemInfo.cpp.  Eliminate the
50330        now-unnecessary WindowsVersion.cpp from Chromium.
50331
50332        * GNUmakefile.am:
50333        * WebCore.gyp/WebCore.gyp:
50334        * WebCore.gypi:
50335        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
50336        (WebCore::ScrollbarThemeChromiumWin::invalidateOnMouseEnterExit):
50337        (WebCore::ScrollbarThemeChromiumWin::getThemeState):
50338        (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
50339        * platform/chromium/WindowsVersion.cpp: Removed.
50340        * platform/chromium/WindowsVersion.h: Removed.
50341        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
50342        (WebCore::fillBMPGlyphs):
50343        * rendering/RenderThemeChromiumWin.cpp:
50344        (WebCore::getNonClientMetrics):
50345
503462011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
50347
50348        Chromium Linux build fix attempt after r80582.
50349
50350        * platform/graphics/chromium/FontLinux.cpp:
50351        (WebCore::Font::drawGlyphs):
50352        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
50353        (WebCore::SimpleFontData::platformInit):
50354        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
50355        (WebCore::GlyphPage::fill):
50356
503572011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
50358
50359        Mac build fix attempt for r80582.
50360
50361        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
50362        (WebCore::disableLigatures):
50363
503642011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
50365
50366        Reviewed by Kent Tamura.
50367
50368        Remove calls to deprecatedEditingOffset in SelectionController and VisibleSelection
50369        https://bugs.webkit.org/show_bug.cgi?id=54937
50370
50371        * editing/SelectionController.cpp:
50372        (WebCore::SelectionController::setSelection): Calls anchorNode() instead of deprecatedNode() to obtain
50373        the document. Also restrained the lifetime of document variable.
50374        (WebCore::removingNodeRemovesPosition): Compare the node with anchorNode() instead of deprecatedNode()
50375        to determine whether or not position becomes null after removing a node.
50376        (WebCore::SelectionController::directionOfEnclosingBlock): The enclosing block is always a container
50377        so call containerNode() instead of deprecatedNode().
50378        (WebCore::SelectionController::debugRenderer): Call containerNode() and computeOffsetInContainer()
50379        instead of deprecatedNode() and deprecatedEditingOffset() respectively.
50380        (WebCore::SelectionController::isInPasswordField): Look for the shadow root from containerNode()
50381        instead of deprecatedNode to determine whether or not selection inside a password field. Also assert
50382        that the specified position is not before or after the shadow root as it violates our assumption.
50383        * editing/VisibleSelection.cpp:
50384        (WebCore::makeSearchRange): Call containerNode() and offsetInContainerNode() instead of deprecatedNode()
50385        and deprecatedEditingOffset() respectively because start is always parent anchored and therefore
50386        guaranteed to be an offset inside an anchor node.
50387        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): Call containerNode()
50388        instead of deprecatedNode() to look for the lowest editable ancestor because position before or after
50389        an editable element isn't editable.
50390        * page/DOMSelection.cpp: Call containerNode() and offsetInContainerNode() instead of deprecatedNode()
50391        and deprecatedEditingOffset() respectively in the following functions because they are exposed to
50392        DOM, which doesn't have before/after concept.
50393        (WebCore::DOMSelection::anchorNode):
50394        (WebCore::DOMSelection::anchorOffset):
50395        (WebCore::DOMSelection::focusNode):
50396        (WebCore::DOMSelection::focusOffset):
50397        (WebCore::DOMSelection::baseNode):
50398        (WebCore::DOMSelection::baseOffset):
50399        (WebCore::DOMSelection::extentNode):
50400        (WebCore::DOMSelection::extentOffset):
50401
504022011-03-08  Brent Fulgham  <bfulgham@webkit.org>
50403
50404        Reviewed by Adam Roben.
50405
50406        Correct uninitialized variable in PolicyCallback found while
50407        running WebKit in BoundsChecker.
50408        https://bugs.webkit.org/show_bug.cgi?id=45199.
50409
50410        * loader/PolicyCallback.cpp:
50411        (WebCore::PolicyCallback::PolicyCallback): Initialize
50412        m_argument.
50413
504142011-03-08  Brent Fulgham  <bfulgham@webkit.org>
50415
50416        More build bustage fix.
50417
50418        * platform/graphics/win/cairo/FontPlatformData.h:
50419        (WebCore::FontPlatformData::setOrientation): Duplicate accessor
50420        in WinCairo-local header.  This is such a mess!
50421
504222011-03-08  David Hyatt  <hyatt@apple.com>
50423
50424        Fix build bustage.  Hide orientation setting behind a setter and stub it out in all
50425        FontPlatformData classes.  (This class really needs to move to a common header with ifdefs.)
50426
50427        * platform/graphics/SimpleFontData.cpp:
50428        (WebCore::SimpleFontData::verticalRightOrientationFontData):
50429        * platform/graphics/cg/FontPlatformData.h:
50430        (WebCore::FontPlatformData::setOrientation):
50431        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
50432        (WebCore::FontPlatformData::setOrientation):
50433        * platform/graphics/chromium/FontPlatformDataLinux.h:
50434        (WebCore::FontPlatformData::setOrientation):
50435        * platform/graphics/cocoa/FontPlatformData.h:
50436        (WebCore::FontPlatformData::setOrientation):
50437        * platform/graphics/freetype/FontPlatformData.h:
50438        (WebCore::FontPlatformData::setOrientation):
50439        * platform/graphics/qt/FontPlatformData.h:
50440        (WebCore::FontPlatformData::setOrientation):
50441        * platform/graphics/wince/FontPlatformData.h:
50442        (WebCore::FontPlatformData::setOrientation):
50443        * platform/graphics/wx/FontPlatformData.h:
50444        (WebCore::FontPlatformData::setOrientation):
50445
504462011-03-08  Joe Wild  <joseph.wild@nokia.com>
50447
50448        Reviewed by Csaba Osztrogonác.
50449
50450        [Qt] Missing SVG variables
50451        https://bugs.webkit.org/show_bug.cgi?id=32941
50452
50453        Basically, this patch just modifies features.pri to the Qt build to
50454        pass on the ENABLE_SVG_* flags to the IDL binding generator.
50455
50456        Also I had remove global-construtors.html from the skip list and
50457        updated the associated expected results files.
50458
50459        * features.pri:
50460        * page/DOMWindow.idl:
50461
504622011-03-08  Alok priyadarshi  <alokp@chromium.org>
50463
50464        Reviewed by Dimitri Glazkov.
50465
50466        Plugins needs a way to trigger style recalc
50467        https://bugs.webkit.org/show_bug.cgi?id=55242
50468
50469        No test needed. A simple get function is added.
50470
50471        * platform/graphics/chromium/PluginLayerChromium.h:
50472        (WebCore::PluginLayerChromium::getTextureId):
50473
504742011-03-08  David Hyatt  <hyatt@apple.com>
50475
50476        Reviewed by Dan Bernstein.
50477
50478        https://bugs.webkit.org/show_bug.cgi?id=48540, support the text-orientation CSS property.
50479
50480        This patch adds support for two values of the text-orientation property (the ones that actually matter): vertical-right and upright.
50481        The TextOrientation is part of the FontDescription and used to look up fonts (similar to FontOrientation).
50482
50483        Orientation of non-CJK characters is done using fallback font data of the appropriate orientation type, e.g., verticalRightOrientation and
50484        uprightOrientation fallback font data.  Vertical right is just implemented as a normal horizontal font.  Upright is implemented as a
50485        vertically oriented font that rotates all glyphs.
50486
50487        The main complication implementing text-orientation is that fonts have "baked-in" vertical glyphs for letters that are hardcoded to
50488        a vertical right facing.  This means that you can use those special vertical glyphs for vertical-right orientation without having to
50489        fall back, but then for upright orientation you have to ignore them and still fall back.  As you can see from the test case, this doesn't
50490        work very well, but hopefully it won't be all that common.  Limitations of CoreText prevent this case from rendering properly in either the
50491        simple or complex code paths, although the simple code path at least gets close.
50492
50493        Added fast/blockflow/text-orientation-basic.html
50494
50495        * WebCore.exp.in:
50496        * WebCore.xcodeproj/project.pbxproj:
50497        * css/CSSComputedStyleDeclaration.cpp:
50498        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
50499        * css/CSSFontFaceSource.cpp:
50500        (WebCore::CSSFontFaceSource::getFontData):
50501        * css/CSSParser.cpp:
50502        (WebCore::CSSParser::parseValue):
50503        * css/CSSPrimitiveValueMappings.h:
50504        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
50505        (WebCore::CSSPrimitiveValue::operator TextOrientation):
50506        * css/CSSPropertyNames.in:
50507        * css/CSSStyleSelector.cpp:
50508        (WebCore::CSSStyleSelector::applyDeclarations):
50509        (WebCore::CSSStyleSelector::applyProperty):
50510        * css/CSSValueKeywords.in:
50511        * loader/cache/CachedFont.cpp:
50512        (WebCore::CachedFont::platformDataFromCustomData):
50513        * loader/cache/CachedFont.h:
50514        * platform/graphics/FontCache.cpp:
50515        (WebCore::FontPlatformDataCacheKey::FontPlatformDataCacheKey):
50516        (WebCore::FontPlatformDataCacheKey::operator==):
50517        (WebCore::computeHash):
50518        (WebCore::FontCache::getCachedFontPlatformData):
50519        * platform/graphics/FontDescription.h:
50520        (WebCore::FontDescription::FontDescription):
50521        (WebCore::FontDescription::textOrientation):
50522        (WebCore::FontDescription::setTextOrientation):
50523        (WebCore::FontDescription::operator==):
50524        * platform/graphics/FontFastPath.cpp:
50525        (WebCore::Font::glyphDataForCharacter):
50526        (WebCore::offsetToMiddleOfGlyph):
50527        * platform/graphics/SimpleFontData.cpp:
50528        (WebCore::SimpleFontData::SimpleFontData):
50529        (WebCore::SimpleFontData::verticalRightOrientationFontData):
50530        (WebCore::SimpleFontData::uprightOrientationFontData):
50531        (WebCore::SimpleFontData::brokenIdeographFontData):
50532        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
50533        * platform/graphics/SimpleFontData.h:
50534        (WebCore::SimpleFontData::hasVerticalGlyphs):
50535        (WebCore::SimpleFontData::isTextOrientationFallback):
50536        * platform/graphics/cairo/FontCustomPlatformData.h:
50537        * platform/graphics/cocoa/FontPlatformData.h:
50538        (WebCore::FontPlatformData::FontPlatformData):
50539        (WebCore::FontPlatformData::textOrientation):
50540        (WebCore::FontPlatformData::hash):
50541        (WebCore::FontPlatformData::operator==):
50542        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
50543        (WebCore::FontPlatformData::FontPlatformData):
50544        (WebCore::FontPlatformData::operator=):
50545        * platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:
50546        (WebCore::FontCustomPlatformData::fontPlatformData):
50547        * platform/graphics/haiku/FontCustomPlatformData.cpp:
50548        (WebCore::FontCustomPlatformData::fontPlatformData):
50549        * platform/graphics/haiku/FontCustomPlatformData.h:
50550        * platform/graphics/mac/ComplexTextControllerCoreText.cpp:
50551        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
50552        * platform/graphics/mac/FontCacheMac.mm:
50553        (WebCore::FontCache::createFontPlatformData):
50554        * platform/graphics/mac/FontCustomPlatformData.cpp:
50555        (WebCore::FontCustomPlatformData::fontPlatformData):
50556        * platform/graphics/mac/FontCustomPlatformData.h:
50557        * platform/graphics/mac/FontMac.mm:
50558        (WebCore::showGlyphsWithAdvances):
50559        (WebCore::Font::drawGlyphs):
50560        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
50561        (WebCore::shouldUseCoreText):
50562        (WebCore::GlyphPage::fill):
50563        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
50564        (WebCore::SimpleFontData::getCFStringAttributes):
50565        * platform/graphics/mac/SimpleFontDataMac.mm:
50566        (WebCore::SimpleFontData::platformInit):
50567        (WebCore::SimpleFontData::platformBoundsForGlyph):
50568        (WebCore::SimpleFontData::platformWidthForGlyph):
50569        * platform/graphics/pango/FontCustomPlatformDataPango.cpp:
50570        (WebCore::FontCustomPlatformData::fontPlatformData):
50571        * platform/graphics/qt/FontCustomPlatformData.h:
50572        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
50573        (WebCore::FontCustomPlatformData::fontPlatformData):
50574        * platform/graphics/skia/FontCustomPlatformData.cpp:
50575        (WebCore::FontCustomPlatformData::fontPlatformData):
50576        * platform/graphics/skia/FontCustomPlatformData.h:
50577        * platform/graphics/win/FontCustomPlatformData.cpp:
50578        (WebCore::FontCustomPlatformData::fontPlatformData):
50579        * platform/graphics/win/FontCustomPlatformData.h:
50580        * platform/graphics/win/FontCustomPlatformDataCairo.cpp:
50581        (WebCore::FontCustomPlatformData::fontPlatformData):
50582        * platform/graphics/win/FontCustomPlatformDataCairo.h:
50583        * platform/graphics/wince/FontCustomPlatformData.cpp:
50584        (WebCore::FontCustomPlatformData::fontPlatformData):
50585        * platform/graphics/wince/FontCustomPlatformData.h:
50586        * platform/text/TextOrientation.h: Added.
50587        * rendering/InlineFlowBox.cpp:
50588        (WebCore::InlineFlowBox::requiresIdeographicBaseline):
50589        * rendering/style/RenderStyle.h:
50590        (WebCore::InheritedFlags::initialTextOrientation):
50591
505922011-03-08  Ryosuke Niwa  <rniwa@webkit.org>
50593
50594        Reviewed by Darin Adler.
50595
50596        addInlineStyleIfNeeded should take EditingStyle
50597        https://bugs.webkit.org/show_bug.cgi?id=55950
50598
50599        Deployed EditingStyle in addInlineStyleIfNeeded, StyleChange::StyleChange, and StyleChange::init.
50600        Also extracted EditingStyle::styleIsPresentInComputedStyleOfNode from removeStyleFromRunBeforeApplyingStyle.
50601
50602        * editing/ApplyStyleCommand.cpp:
50603        (WebCore::StyleChange::StyleChange): Takes EditingStyle instead of CSSStyleDeclaration.
50604        (WebCore::StyleChange::init): Ditto.
50605        (WebCore::ApplyStyleCommand::applyBlockStyle): Instantiates StyleChange.
50606        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Calls addInlineStyleIfNeeded.
50607        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls styleIsPresentInComputedStyleOfNode.
50608        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Calls EditingStyle::mergeInlineStyleOfElement
50609        instead of manually merging styles.
50610        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Calls addInlineStyleIfNeeded.
50611        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded): Takes EditingStyle instead of CSSMutableStyleDeclaration.
50612        * editing/ApplyStyleCommand.h:
50613        * editing/CompositeEditCommand.h:
50614        * editing/EditingStyle.cpp:
50615        (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode): Extracted from removeStyleFromRunBeforeApplyingStyle.
50616        * editing/EditingStyle.h:
50617
506182011-03-08  Nico Weber  <thakis@chromium.org>
50619
50620        Reviewed by James Robinson.
50621
50622        Crash on big blur radius with canvas
50623        https://bugs.webkit.org/show_bug.cgi?id=55951
50624
50625        Move the clamping code out of an if branch, so that it happens in the
50626        canvas case as well.
50627
50628        Test: fast/canvas/shadow-huge-blur.html
50629
50630        * platform/graphics/cg/GraphicsContextCG.cpp:
50631        (WebCore::GraphicsContext::setPlatformShadow):
50632
506332011-03-08  Chris Fleizach  <cfleizach@apple.com>
50634
50635        Reviewed by Sam Weinig.
50636
50637        WK2: Cannot set focus on an element when focus is outside of WKView
50638        https://bugs.webkit.org/show_bug.cgi?id=55281
50639
50640        In WK2, focus cannot be set from the WebProcess side because there's no platformWidget().
50641        Instead, the focus/unfocus messages need to be sent to the UIProcess side.
50642
50643        * platform/mac/WidgetMac.mm:
50644        (WebCore::Widget::setFocus):
50645
506462011-03-08  Sam Weinig  <sam@webkit.org>
50647
50648        Reviewed by Anders Carlsson.
50649
50650        Overflow: scroll areas should not paint white in scroll corner if the
50651        scrollbars are overlay.
50652        <rdar://problem/9082871>
50653
50654        * rendering/RenderLayer.cpp:
50655        (WebCore::RenderLayer::paintScrollCorner):
50656        Don't paint the scroll corner white if we have overlay scrollbars.
50657
506582011-03-08  Chris Marrin  <cmarrin@apple.com>
50659
50660        Reviewed by Darin Adler.
50661
50662        The first time animations are committed they have a bad start time
50663        https://bugs.webkit.org/show_bug.cgi?id=55947
50664
50665        Do a check for a returned lastCommitTime of <=0 and replace it
50666        with the mediaTime.
50667
50668
50669        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
50670        (WebCore::CACFLayerTreeHost::notifyAnimationsStarted):
50671
506722011-03-08  James Kozianski  <koz@chromium.org>
50673
50674        Reviewed by David Levin.
50675
50676        Expose isValidProtocol() in KURL.h.
50677        https://bugs.webkit.org/show_bug.cgi?id=54594
50678
50679        This is needed to validate protocols used in calls to
50680        navigator.registerProtocolHandler().
50681
50682        * platform/KURL.cpp:
50683        * platform/KURL.h:
50684        * platform/KURLGoogle.cpp:
50685        (WebCore::isValidProtocol):
50686
506872011-03-08  Adam Roben  <aroben@apple.com>
50688
50689        Set svn:mime-type to text/css for all Inspector CSS files
50690
50691        This will cause them to be served with the correct MIME type from svn.webkit.org's web
50692        interface.
50693
50694        Rubber-stamped by Tim Hatcher.
50695
50696        * inspector/front-end/audits.css: Added property svn:mime-type.
50697        * inspector/front-end/goToLineDialog.css: Added property svn:mime-type.
50698        * inspector/front-end/heapProfiler.css: Added property svn:mime-type.
50699        * inspector/front-end/helpScreen.css: Added property svn:mime-type.
50700        * inspector/front-end/inspector.css: Added property svn:mime-type.
50701        * inspector/front-end/inspectorSyntaxHighlight.css: Added property svn:mime-type.
50702        * inspector/front-end/networkPanel.css: Added property svn:mime-type.
50703        * inspector/front-end/popover.css: Added property svn:mime-type.
50704        * inspector/front-end/textViewer.css: Added property svn:mime-type.
50705
507062011-03-08  Andrei Popescu  <andreip@google.com>
50707
50708        Reviewed by Steve Block.
50709
50710        IDBCallbacks::onsuccess(IDBIndex*) is unused and should be removed.
50711        https://bugs.webkit.org/show_bug.cgi?id=55938
50712
50713        The IndexedDatabase specification changed and IDBIndex objects are no
50714        longer created asynchronously. We therefore no longer need this method.
50715
50716        No new tests, just cleanup.
50717
50718        * storage/IDBCallbacks.h:
50719        * storage/IDBRequest.cpp:
50720        * storage/IDBRequest.h:
50721
507222011-03-08  Sheriff Bot  <webkit.review.bot@gmail.com>
50723
50724        Unreviewed, rolling out r80551.
50725        http://trac.webkit.org/changeset/80551
50726        https://bugs.webkit.org/show_bug.cgi?id=55933
50727
50728        It broke 285 tests on Qt bot (Requested by Ossy on #webkit).
50729
50730        * WebCore.pro:
50731        * platform/SharedBuffer.cpp:
50732        * platform/SharedBuffer.h:
50733        * platform/network/qt/QNetworkReplyHandler.cpp:
50734        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
50735        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
50736        (WebCore::QNetworkReplyHandler::forwardData):
50737        (WebCore::QNetworkReplyHandler::start):
50738        * platform/network/qt/QNetworkReplyHandler.h:
50739        * platform/network/qt/ResourceHandleQt.cpp:
50740        (WebCore::ResourceHandle::supportsBufferedData):
50741        (WebCore::ResourceHandle::bufferedData):
50742        * platform/qt/QtByteBlock.cpp: Removed.
50743        * platform/qt/QtByteBlock.h: Removed.
50744        * platform/qt/SharedBufferQt.cpp:
50745
507462011-03-08  Andreas Kling  <kling@webkit.org>
50747
50748        Reviewed by Benjamin Poulain.
50749
50750        RenderObject: Pass complex type arguments as const-references.
50751
50752        * WebCore.exp.in:
50753        * rendering/RenderObject.h:
50754        * rendering/RenderObject.cpp:
50755        (WebCore::RenderObject::drawBoxSideFromPath):
50756        (WebCore::RenderObject::drawArcForBoxSide):
50757        (WebCore::RenderObject::localToAbsolute):
50758        (WebCore::RenderObject::absoluteToLocal):
50759
507602011-03-08  Andreas Kling  <kling@webkit.org>
50761
50762        Reviewed by Antonio Gomes.
50763
50764        Path: Make measurement functions const
50765        https://bugs.webkit.org/show_bug.cgi?id=55914
50766
50767        * platform/graphics/Path.cpp:
50768        (WebCore::Path::length):
50769        (WebCore::Path::pointAtLength):
50770        (WebCore::Path::normalAngleAtLength):
50771        * platform/graphics/Path.h:
50772        * platform/graphics/cairo/PathCairo.cpp:
50773        (WebCore::Path::strokeBoundingRect):
50774        * platform/graphics/cg/PathCG.cpp:
50775        (WebCore::Path::strokeBoundingRect):
50776        * platform/graphics/openvg/PathOpenVG.cpp:
50777        (WebCore::Path::strokeBoundingRect):
50778        (WebCore::Path::length):
50779        (WebCore::Path::pointAtLength):
50780        (WebCore::Path::normalAngleAtLength):
50781        * platform/graphics/qt/PathQt.cpp:
50782        (WebCore::Path::strokeBoundingRect):
50783        (WebCore::Path::length):
50784        (WebCore::Path::pointAtLength):
50785        (WebCore::Path::normalAngleAtLength):
50786        * platform/graphics/skia/PathSkia.cpp:
50787        (WebCore::Path::strokeBoundingRect):
50788        * platform/graphics/wince/PathWinCE.cpp:
50789        (WebCore::Path::strokeBoundingRect):
50790        * platform/graphics/wx/PathWx.cpp:
50791        (WebCore::Path::strokeBoundingRect):
50792
507932011-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
50794
50795        Reviewed by Martin Robinson.
50796
50797        [GTK] Do not set juntion sides on scrollbar stepper buttons
50798        https://bugs.webkit.org/show_bug.cgi?id=55868
50799
50800        Fixes rendering of steppers for themes using rounded stepper
50801        buttons on scrollbars like Adwaita.
50802
50803        * platform/gtk/ScrollbarThemeGtk3.cpp:
50804        (WebCore::ScrollbarThemeGtk::paintButton):
50805
508062011-03-08  Carlos Garcia Campos  <cgarcia@igalia.com>
50807
50808        Reviewed by Martin Robinson.
50809
50810        [GTK] Use doubles instead of integers for coordinates when rendering arrows
50811        https://bugs.webkit.org/show_bug.cgi?id=55866
50812
50813        To prevent off-by-one rounding errors.
50814
50815        * platform/gtk/RenderThemeGtk3.cpp:
50816        (WebCore::RenderThemeGtk::paintMenuList):
50817        * platform/gtk/ScrollbarThemeGtk3.cpp:
50818        (WebCore::ScrollbarThemeGtk::paintButton):
50819
508202011-03-08  Markus Goetz  <guruz@guruz.de>
50821
50822        Reviewed by Kenneth Rohde Christiansen.
50823
50824        [Qt] Use the QNetworkAccessManager zerocopy feature
50825        https://bugs.webkit.org/show_bug.cgi?id=50082
50826
50827        The feature will be introduced in Qt 4.8.
50828        This patch is backwards compatible with Qt 4.7.
50829
50830        * WebCore.pro:
50831        * platform/SharedBuffer.cpp:
50832        * platform/SharedBuffer.h:
50833        * platform/network/qt/QNetworkReplyHandler.cpp:
50834        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
50835        (WebCore::QNetworkReplyHandler::bufferedData):
50836        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
50837        (WebCore::QNetworkReplyHandler::downloadProgress):
50838        (WebCore::QNetworkReplyHandler::forwardData):
50839        (WebCore::QNetworkReplyHandler::start):
50840        * platform/network/qt/QNetworkReplyHandler.h:
50841        * platform/network/qt/ResourceHandleQt.cpp:
50842        (WebCore::ResourceHandle::supportsBufferedData):
50843        (WebCore::ResourceHandle::bufferedData):
50844        * platform/qt/SharedBufferQt.cpp:
50845        (WebCore::SharedBuffer::wrapQtByteBlock):
50846        (WebCore::SharedBuffer::hasPlatformData):
50847        (WebCore::SharedBuffer::platformData):
50848        (WebCore::SharedBuffer::platformDataSize):
50849        (WebCore::SharedBuffer::maybeTransferPlatformData):
50850        (WebCore::SharedBuffer::clearPlatformData):
50851
508522011-03-08  Alejandro G. Castro  <alex@igalia.com>
50853
50854        Reviewed by Martin Robinson.
50855
50856        [GTK] Fix compilation warnings after r80429
50857        https://bugs.webkit.org/show_bug.cgi?id=55864
50858
50859        * platform/gtk/WidgetGtk.cpp:
50860
508612011-03-08  Philippe Normand  <pnormand@igalia.com>
50862
50863        Unreviewed, GTK build fix after r80536
50864
50865        * GNUmakefile.am:
50866
508672011-03-08  Zan Dobersek  <zandobersek@gmail.com>
50868
50869        Reviewed by Martin Robinson.
50870
50871        [Gtk] toDataURL uses incorrect quality value when saving GdkPixbuf to buffer
50872        https://bugs.webkit.org/show_bug.cgi?id=55878
50873
50874        Multiply the quality parameter by 100 to put it in the range [0, 100] as needed
50875        when saving GdkPixbuf to a buffer.
50876
50877        * platform/graphics/gtk/ImageBufferGtk.cpp:
50878        (WebCore::ImageBuffer::toDataURL):
50879
508802011-03-07  Daniel Cheng  <dcheng@chromium.org>
50881
50882        Unreviewed.
50883
50884        Final build fix for r80536.
50885
50886        * DerivedSources.make:
50887
508882011-03-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
50889
50890        Reviewed by Kent Tamura.
50891
50892        [EFL] Adjust functions of WebCore's efl port to WebKit coding style
50893        https://bugs.webkit.org/show_bug.cgi?id=55924
50894
50895        Adjust webkit style to PlatformKeyboardEventEfl, PlatformMouseEventEfl and WidgetEfl files.
50896
50897        * platform/efl/PlatformKeyboardEventEfl.cpp:
50898        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
50899        * platform/efl/PlatformMouseEventEfl.cpp:
50900        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
50901        * platform/efl/WidgetEfl.cpp:
50902        (WebCore::Widget::frameRectsChanged):
50903        (WebCore::Widget::setEvasObject):
50904
509052011-03-07  Daniel Cheng  <dcheng@chromium.org>
50906
50907        Unreviewed.
50908
50909        More build fixes for r80536.
50910
50911        * CMakeLists.txt:
50912        * platform/chromium/ClipboardChromium.cpp:
50913        * platform/chromium/ClipboardChromium.h:
50914
509152011-03-07  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
50916
50917        Reviewed by Antonio Gomes.
50918
50919        [EFL] Adjust functions of ScrollbarEfl.cpp to WebKit coding style
50920        https://bugs.webkit.org/show_bug.cgi?id=55917
50921
50922        Adjust webkit style to ScrollbarEfl files.
50923
50924        * platform/efl/ScrollbarEfl.cpp:
50925        (scrollbarEflEdjeMessage):
50926        (ScrollbarEfl::setParent):
50927        (ScrollbarEfl::updateThumbPositionAndProportion):
50928        (ScrollbarEfl::frameRectsChanged):
50929        (ScrollbarEfl::paint):
50930        * platform/efl/ScrollbarEfl.h:
50931
509322011-03-07  Daniel Cheng  <dcheng@chromium.org>
50933
50934        Unreviewed.
50935
50936        Build fix for Chromium after r80536.
50937
50938        * platform/chromium/DataTransferItemChromium.cpp:
50939        * platform/chromium/DataTransferItemsChromium.cpp:
50940
509412011-03-07  Daniel Cheng  <dcheng@chromium.org>
50942
50943        Unreviewed.
50944
50945        More build fixes for r80536.
50946
50947        * CMakeLists.txt:
50948        * platform/chromium/ClipboardChromium.cpp:
50949        * platform/chromium/ClipboardChromium.h:
50950
509512011-03-07  Daniel Cheng  <dcheng@chromium.org>
50952
50953        Reviewed by David Levin.
50954
50955        Add support for DataTransferItems
50956        https://bugs.webkit.org/show_bug.cgi?id=55115
50957
50958        This patch adds stubs for DataTransferItems/DataTransferItem as well as implementing the
50959        basic functionality on the Chromium port. With the exception of DataTransferItem::getAsFile,
50960        all functionality on the DataTransferItems collection has been implemented.
50961        This change does not actually hook up DataTransferItems to reflect the actual contents of a
50962        drop/paste operation or to allow mutation of data in a copy/drag start yet. That will be
50963        enabled via several followup patches.
50964
50965        Test: editing/pasteboard/data-transfer-items.html
50966
50967        * Android.mk:
50968        * CMakeLists.txt:
50969        * CodeGenerators.pri:
50970        * DerivedSources.cpp:
50971        * DerivedSources.make:
50972        * GNUmakefile.am:
50973        * WebCore.gypi:
50974        * WebCore.pro:
50975        * WebCore.vcproj/WebCore.vcproj:
50976        * WebCore.xcodeproj/project.pbxproj:
50977        * bindings/generic/RuntimeEnabledFeatures.cpp:
50978        * bindings/generic/RuntimeEnabledFeatures.h:
50979        (WebCore::RuntimeEnabledFeatures::setDataTransferItemsEnabled):
50980        (WebCore::RuntimeEnabledFeatures::dataTransferItemsEnabled):
50981        * bindings/scripts/CodeGeneratorV8.pm: Do not emit an #include line for DOMString, since it's built-in.
50982        * dom/Clipboard.h:
50983        (WebCore::Clipboard::policy):
50984        * dom/Clipboard.idl:
50985        * dom/DataTransferItem.cpp: Added.
50986        * dom/DataTransferItem.h: Added.
50987        (WebCore::DataTransferItem::~DataTransferItem):
50988        * dom/DataTransferItem.idl: Added.
50989        * dom/DataTransferItems.h: Added.
50990        (WebCore::DataTransferItems::~DataTransferItems):
50991        * dom/DataTransferItems.idl: Added.
50992        * dom/StringCallback.cpp: Added.
50993        (WebCore::StringCallback::scheduleCallback):
50994        * dom/StringCallback.h: Added.
50995        (WebCore::StringCallback::~StringCallback):
50996        * dom/StringCallback.idl: Added.
50997        * platform/chromium/ClipboardChromium.cpp:
50998        (WebCore::ClipboardChromium::items):
50999        * platform/chromium/ClipboardChromium.h:
51000        * platform/chromium/DataTransferItemChromium.cpp: Added.
51001        (WebCore::DataTransferItemChromium::create):
51002        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
51003        (WebCore::DataTransferItemChromium::kind):
51004        (WebCore::DataTransferItemChromium::type):
51005        (WebCore::DataTransferItemChromium::getAsString):
51006        * platform/chromium/DataTransferItemChromium.h: Added.
51007        * platform/chromium/DataTransferItemsChromium.cpp: Added.
51008        (WebCore::DataTransferItemsChromium::create):
51009        (WebCore::DataTransferItemsChromium::DataTransferItemsChromium):
51010        (WebCore::DataTransferItemsChromium::length):
51011        (WebCore::DataTransferItemsChromium::item):
51012        (WebCore::DataTransferItemsChromium::deleteItem):
51013        (WebCore::DataTransferItemsChromium::clear):
51014        (WebCore::DataTransferItemsChromium::add):
51015        * platform/chromium/DataTransferItemsChromium.h: Added.
51016
510172011-03-07  Ryosuke Niwa  <rniwa@webkit.org>
51018
51019        Reviewed by Darin Adler.
51020
51021        selectionHasStyle and selectionStartHasStyle should use EditingStyle
51022        https://bugs.webkit.org/show_bug.cgi?id=55902
51023
51024        Deployed EditingStyle in selectionHasStyle and selectionStartHasStyle.
51025        This allowed us to move triStateOfStyle from Editor.cpp to EditingStyle.cpp.
51026
51027        Also changed the argument lists of selectionHasStyle and selectionStartHasStyle
51028        to take a property id and a value instead of a CSSMutableStyleDeclaration to cleanup
51029        call sites of these two functions.
51030
51031        * WebCore.exp.in: Updated the signature of selectionHasStyle. No longer exports
51032        selectionStartHasStyle because it's not called anywhere outside of WebCore.
51033        * WebCore.order: Ditto.
51034        * editing/EditingStyle.cpp:
51035        (WebCore::EditingStyle::EditingStyle): Added a new constructor that takes a property id
51036        and a property value.
51037        (WebCore::EditingStyle::triStateOfStyle): Moved from Editor.cpp.
51038        * editing/EditingStyle.h:
51039        (WebCore::EditingStyle::create): Added.
51040        * editing/Editor.cpp:
51041        (WebCore::Editor::selectionStartHasStyle): Takes a property id and a value instead of
51042        a CSSStyleDeclaration.
51043        (WebCore::Editor::selectionHasStyle): Ditto.
51044        * editing/Editor.h: Updated the signatures of selectionStartHasStyle and selectionHasStyle.
51045        * editing/EditorCommand.cpp:
51046        (WebCore::executeToggleStyle): Calls selectionStartHasStyle and selectionHasStyle.
51047        (WebCore::stateStyle): Ditto.
51048        * page/ContextMenuController.cpp:
51049        (WebCore::ContextMenuController::checkOrEnableIfNeeded): Ditto.
51050
510512011-03-07  Alexey Proskuryakov  <ap@apple.com>
51052
51053        Reviewed by Darin Adler.
51054
51055        REGRESSION (HTML5 tree builder): Text selection in a large text document is extremely slow
51056        https://bugs.webkit.org/show_bug.cgi?id=55898
51057
51058        <rdar://problem/9095839> REGRESSION: Mail hangs with a certain large mail message when
51059        linkifying e-mail addresses in in -[DOMCharacterData setData:]
51060
51061        Changes render tree of fast/text/large-text-composed-char.html, but not image results.
51062
51063        * dom/CharacterData.cpp: (WebCore::CharacterData::parserAppendData):
51064        Changed parserAppendData() to accept a maximum length, and moved code from Text::createWithLengthLimit().
51065
51066        * dom/CharacterData.h: Moved a constant for maximum length from Text.h.
51067
51068        * dom/Text.cpp: (WebCore::Text::createWithLengthLimit):
51069        * dom/Text.h:
51070        This function was unused in ToT. Moved code around to share with CharacterData.
51071
51072        * html/parser/HTMLConstructionSite.cpp: (WebCore::HTMLConstructionSite::insertTextNode):
51073        Chnaged to split large text nodes while parsing again.
51074
510752011-03-07  Alice Boxhall  <aboxhall@chromium.org>
51076
51077        Reviewed by Adam Barth.
51078
51079        Fix platform/image-encoders/JPEGImageEncoder.cpp empty_output_buffer() behaviour
51080        https://bugs.webkit.org/show_bug.cgi?id=54522
51081
51082        Fix jpegEmptyOutputBuffer() by ignoring free_in_buffer value as required.
51083
51084        No new tests, as this code is not yet used in WebKit. Once this code is used to implement canvas.toDataUrl(), the canvas tests will exercise it.
51085
51086        * platform/image-encoders/JPEGImageEncoder.cpp:
51087        (WebCore::jpegEmptyOutputBuffer):
51088
510892011-03-07  Sergey Glazunov  <serg.glazunov@gmail.com>
51090
51091        Reviewed by Eric Seidel.
51092
51093        Add the missing insertedIntoDocument() call in SVGVKernElement and SVGHKernElement
51094        https://bugs.webkit.org/show_bug.cgi?id=55896
51095
51096        Test: svg/dom/vkern-element-crash.html
51097
51098        * svg/SVGHKernElement.cpp:
51099        (WebCore::SVGHKernElement::insertedIntoDocument):
51100        * svg/SVGVKernElement.cpp:
51101        (WebCore::SVGVKernElement::insertedIntoDocument):
51102
511032011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
51104
51105        Unreviewed, rolling out r80514.
51106        http://trac.webkit.org/changeset/80514
51107        https://bugs.webkit.org/show_bug.cgi?id=55915
51108
51109        Caused assertion failures (Requested by ukai on #webkit).
51110
51111        * platform/graphics/skia/GraphicsContextSkia.cpp:
51112        (WebCore::GraphicsContext::setPlatformShadow):
51113        * platform/graphics/skia/ImageSkia.cpp:
51114        (WebCore::paintSkBitmap):
51115
511162011-03-07  Cosmin Truta  <ctruta@chromium.org>
51117
51118        Reviewed by Adam Barth.
51119
51120        SVG <image> referenced by <use> is displayed incorrectly
51121        https://bugs.webkit.org/show_bug.cgi?id=55750
51122
51123        The result of sourceURI must use the URL of the enclosing document as base.
51124        Otherwise, the base may sometimes be empty, and, as a consequence,
51125        the intermediate KURL object may be invalid.
51126
51127        Test: svg/custom/use-image-in-g.svg
51128
51129        * svg/SVGImageLoader.cpp:
51130        (WebCore::SVGImageLoader::sourceURI):
51131
511322011-03-07  Helder Correia  <helder@sencha.com>
51133
51134        Reviewed by Simon Fraser.
51135
51136        Shadow is not shown when using strokeRect with a gradient strokeStyle
51137        https://bugs.webkit.org/show_bug.cgi?id=52509
51138
51139        This happens in CG and is related to bug 51869, this time to be fixed
51140        in GraphicsContext::strokeRect(const FloatRect& r, float lineWidth).
51141        We need to draw the gradient clipped to the stroke on a CGLayer first,
51142        and then draw the layer on the GraphicsContext.
51143
51144        Tests: fast/canvas/canvas-strokeRect-gradient-shadow.html
51145               svg/css/rect-gradient-stroke-shadow.svg
51146
51147        * platform/graphics/cg/GraphicsContextCG.cpp:
51148        (WebCore::GraphicsContext::strokeRect):
51149
511502011-03-07  Justin Novosad  <junov@chromium.org>
51151
51152        Reviewed by Kenneth Russell.
51153
51154        Fix for blurs behind bitmap images in Chromium, and boosting
51155        shadow blur quality
51156        Bug URLs:
51157                https://bugs.webkit.org/show_bug.cgi?id=55410
51158                https://bugs.webkit.org/show_bug.cgi?id=55506
51159
51160        No new tests. Covered by existing layout tests.
51161
51162        * platform/graphics/skia/GraphicsContextSkia.cpp:
51163        (WebCore::GraphicsContext::setPlatformShadow): Turn on high quality shadows and fix shadow color
51164        * platform/graphics/skia/ImageSkia.cpp:
51165        (WebCore::paintSkBitmap): Propagate the draw looper from context to painter
51166
511672011-03-07  Andreas Kling  <kling@webkit.org>
51168
51169        Unreviewed Mac build fix after r80508.
51170
51171        * WebCore.exp.in:
51172
511732011-03-07  Enrica Casucci  <enrica@apple.com>
51174
51175        Unreviewed build fix.
51176
51177        Rolling back  http://trac.webkit.org/changeset/80497 due to the
51178        32-bit build failures.
51179
51180        * WebCore.xcodeproj/project.pbxproj:
51181        * platform/mac/HTMLConverter.h: Removed.
51182        * platform/mac/HTMLConverter.mm: Removed.
51183        * platform/mac/PasteboardMac.mm:
51184        (WebCore::Pasteboard::writeSelection):
51185
511862011-03-07  Andreas Kling  <kling@webkit.org>
51187
51188        Reviewed by Benjamin Poulain.
51189
51190        FrameView::setBaseBackgroundColor: Pass Color argument as const-reference.
51191
51192        * page/FrameView.cpp:
51193        (WebCore::FrameView::setBaseBackgroundColor):
51194        * page/FrameView.h:
51195
511962011-03-07  Adam Barth  <abarth@webkit.org>
51197
51198        Reviewed by Dimitri Glazkov.
51199
51200        REGRESSION(r78147): Crash on http://gnarf.net/jquery/test/
51201        https://bugs.webkit.org/show_bug.cgi?id=55894
51202
51203        The m_frame can disappear out from under us, and there's no point in
51204        checking whether the load is complete in a non-existant frame.
51205
51206        Test: fast/parser/document-write-into-initial-document.html
51207
51208        * dom/Document.cpp:
51209        (WebCore::Document::explicitClose):
51210
512112011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
51212
51213        Unreviewed, rolling out r80500.
51214        http://trac.webkit.org/changeset/80500
51215        https://bugs.webkit.org/show_bug.cgi?id=55908
51216
51217        Caused mysterious GYP error (Requested by abarth on #webkit).
51218
51219        * WebCore.gyp/WebCore.gyp:
51220        * WebCore.gypi:
51221
512222011-03-07  Adam Barth  <abarth@webkit.org>
51223
51224        Fix Chromium Mac build.  This header should only be included when the
51225        feature is enabled.
51226
51227        * platform/cf/RunLoopTimerCF.cpp:
51228
512292011-03-07  Adam Barth  <abarth@webkit.org>
51230
51231        Reviewed by Dimitri Glazkov.
51232
51233        Add WML files to WebCore.gypi
51234        https://bugs.webkit.org/show_bug.cgi?id=55905
51235
51236        * WebCore.gyp/WebCore.gyp:
51237        * WebCore.gypi:
51238
512392011-03-07  Adrienne Walker  <enne@google.com>
51240
51241        Reviewed by James Robinson.
51242
51243        [chromium] Add missing include to #define Skia parameter
51244        https://bugs.webkit.org/show_bug.cgi?id=55885
51245
51246        * platform/graphics/chromium/ShaderChromium.h:
51247
512482011-03-07  Chris Fleizach  <cfleizach@apple.com>
51249
51250        Reviewed by Beth Dakin.
51251
51252        AX: WK1 needs to use ScrollView attachment for AXScrollArea, WK2 does not
51253        https://bugs.webkit.org/show_bug.cgi?id=55706
51254
51255        * WebCore.exp.in:
51256        * accessibility/AXObjectCache.cpp:
51257        (WebCore::AXObjectCache::rootObjectForFrame):
51258        * accessibility/AXObjectCache.h:
51259        * accessibility/AccessibilityScrollView.cpp:
51260        (WebCore::AccessibilityScrollView::isAttachment):
51261        (WebCore::AccessibilityScrollView::widgetForAttachmentView):
51262        * accessibility/AccessibilityScrollView.h:
51263        (WebCore::AccessibilityScrollView::firstChild):
51264        * accessibility/mac/AccessibilityObjectWrapper.mm:
51265        (-[AccessibilityObjectWrapper accessibilityAttributeValue:]):
51266
512672011-03-07  Enrica Casucci  <enrica@apple.com>
51268
51269        Reviewed by Darin Adler.
51270
51271        REGRESSION: Copied content loses formatting on paste to external apps.
51272        https://bugs.webkit.org/show_bug.cgi?id=47615
51273        <rdar://problem/9001214>
51274
51275        This is a resubmission of a patch that was landed a while ago then rolled
51276        back because of a build failure on SnowLeopard and Leopard.
51277
51278        This patch adds a way for WebKit2 to create NSAttributedStrings from
51279        a DOM range without using the AppKit api initWithDOMRange that internally
51280        needs to access the WebView. The NSAttributedString is needed to create
51281        RTF formats in the pasteboard.
51282        This is to be considered a first step, since in the future we want to have
51283        an implementation based on the TextIterator.
51284
51285        * WebCore.xcodeproj/project.pbxproj: Added new file.
51286        * platform/mac/HTMLConverter.h: Added.
51287        * platform/mac/HTMLConverter.mm: Added.
51288        * platform/mac/PasteboardMac.mm:
51289        (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter
51290        class for WebKit2 to create the NSAttributedString from the DOM range.
51291
512922011-03-07  Adam Barth  <abarth@webkit.org>
51293
51294        Reviewed by Dimitri Glazkov.
51295
51296        Add some missing platform files to WebCore.gypi
51297        https://bugs.webkit.org/show_bug.cgi?id=55897
51298
51299        There are a bunch more, but this is a start.
51300
51301        * WebCore.gyp/WebCore.gyp:
51302        * WebCore.gypi:
51303
513042011-03-07  Steve Block  <steveblock@google.com>
51305
51306        Reviewed by Jeremy Orlow.
51307
51308        Rename JNIBridgeV8.cpp/h to JavaFieldV8.cpp/h
51309        https://bugs.webkit.org/show_bug.cgi?id=55879
51310
51311        No new tests, refactoring only.
51312
51313        * Android.v8bindings.mk:
51314        * WebCore.gypi:
51315        * bridge/jni/v8/JavaClassV8.cpp:
51316        * bridge/jni/v8/JavaClassV8.h:
51317        * bridge/jni/v8/JavaFieldV8.cpp: Renamed from Source/WebCore/bridge/jni/v8/JNIBridgeV8.cpp.
51318        (JavaField::JavaField):
51319        * bridge/jni/v8/JavaFieldV8.h: Renamed from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
51320        (JSC::Bindings::JavaField::name):
51321        (JSC::Bindings::JavaField::type):
51322        (JSC::Bindings::JavaField::getJNIType):
51323        * bridge/jni/v8/JavaInstanceV8.cpp:
51324        * bridge/jni/v8/JavaNPObjectV8.cpp:
51325
513262011-03-07  Daniel Cheng  <dcheng@chromium.org>
51327
51328        Reviewed by Tony Chang.
51329
51330        Add plumbing for paste support to ChromiumDataObject::types()
51331        https://bugs.webkit.org/show_bug.cgi?id=55792
51332
51333        This is a preliminary patch to support event.dataTransfer.items. This
51334        adds plumbing to support retrieving the types in a paste event. It also
51335        moves the check for files in a drag/paste up to ClipboardChromium, since
51336        internal code needs to be able to differentiate between actual files in
51337        a drag and someone that simply decided to use "Files" as a custom type
51338        string.
51339
51340        Test: editing/pasteboard/onpaste-text-html-types.html
51341
51342        * platform/chromium/ChromiumDataObject.cpp:
51343        (WebCore::ChromiumDataObject::types):
51344        (WebCore::ChromiumDataObject::containsFilenames):
51345        * platform/chromium/ChromiumDataObject.h:
51346        * platform/chromium/ClipboardChromium.cpp:
51347        (WebCore::ClipboardChromium::types):
51348        * platform/chromium/ClipboardMimeTypes.cpp:
51349        * platform/chromium/ClipboardMimeTypes.h:
51350
513512011-03-07  Takayoshi Kochi  <kochi@chromium.org>
51352
51353        Reviewed by Tony Chang.
51354
51355        [chromium] Use preferred locale information when choosing fallback
51356        font using fontconfig on Linux platform.
51357        http://bugs.webkit.org/show_bug.cgi?id=55453
51358
51359        No new tests, as it depends on ICU and locale setting, so it will be
51360        covered by Chromium side.
51361
51362        * platform/chromium/PlatformBridge.h:
51363        * platform/graphics/chromium/FontCacheLinux.cpp:
51364
513652011-03-07  Adam Barth  <abarth@webkit.org>
51366
51367        Reviewed by Eric Seidel.
51368
51369        Add gobject, cpp, and objc bindings to WebCore.gypi
51370        https://bugs.webkit.org/show_bug.cgi?id=55892
51371
51372        These are also excluded from the Chromium build but needed for various
51373        other ports.
51374
51375        * WebCore.gyp/WebCore.gyp:
51376        * WebCore.gypi:
51377
513782011-03-07  Sergey Glazunov  <serg.glazunov@gmail.com>
51379
51380        Reviewed by Dimitri Glazkov.
51381
51382        Node::checkAddChild and Node::checkReplaceChild shouldn't change the owner document of a node
51383        https://bugs.webkit.org/show_bug.cgi?id=55803
51384
51385        Test: fast/dom/dom-method-document-change.html
51386
51387        * dom/ContainerNode.cpp:
51388        (WebCore::ContainerNode::insertBefore):
51389        (WebCore::ContainerNode::replaceChild):
51390        (WebCore::ContainerNode::appendChild):
51391        * dom/Node.cpp:
51392        (WebCore::Node::checkReplaceChild):
51393        (WebCore::Node::checkAddChild):
51394        * dom/Node.h:
51395
513962011-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
51397
51398        Unreviewed, rolling out r80484.
51399        http://trac.webkit.org/changeset/80484
51400        https://bugs.webkit.org/show_bug.cgi?id=55891
51401
51402        requires Chromium DEPS roll (Requested by dcheng on #webkit).
51403
51404        * platform/chromium/ChromiumDataObject.cpp:
51405        (WebCore::ChromiumDataObject::types):
51406        * platform/chromium/ChromiumDataObject.h:
51407        (WebCore::ChromiumDataObject::containsFilenames):
51408        * platform/chromium/ClipboardChromium.cpp:
51409        (WebCore::ClipboardChromium::types):
51410        * platform/chromium/ClipboardMimeTypes.cpp:
51411        * platform/chromium/ClipboardMimeTypes.h:
51412
514132011-03-07  Adam Barth  <abarth@webkit.org>
51414
51415        Reviewed by Dimitri Glazkov.
51416
51417        Add missing bindings/js files to WebCore.gypi
51418        https://bugs.webkit.org/show_bug.cgi?id=55888
51419
51420        These files are excluded from the Chromium build but needed for the Mac
51421        build.
51422
51423        * WebCore.gypi:
51424
514252011-03-07  Daniel Cheng  <dcheng@chromium.org>
51426
51427        Reviewed by Tony Chang.
51428
51429        Add plumbing for paste support to ChromiumDataObject::types()
51430        https://bugs.webkit.org/show_bug.cgi?id=55792
51431
51432        This is a preliminary patch to support event.dataTransfer.items. This
51433        adds plumbing to support retrieving the types in a paste event. It also
51434        moves the check for files in a drag/paste up to ClipboardChromium, since
51435        internal code needs to be able to differentiate between actual files in
51436        a drag and someone that simply decided to use "Files" as a custom type
51437        string.
51438
51439        Test: editing/pasteboard/onpaste-text-html-types.html
51440
51441        * platform/chromium/ChromiumDataObject.cpp:
51442        (WebCore::ChromiumDataObject::types):
51443        (WebCore::ChromiumDataObject::containsFilenames):
51444        * platform/chromium/ChromiumDataObject.h:
51445        * platform/chromium/ClipboardChromium.cpp:
51446        (WebCore::ClipboardChromium::types):
51447        * platform/chromium/ClipboardMimeTypes.cpp:
51448        * platform/chromium/ClipboardMimeTypes.h:
51449
514502011-03-07  Joseph Pecoraro  <joepeck@webkit.org>
51451
51452        Reviewed by Kenneth Rohde Christiansen.
51453
51454        Viewport Warning/Error Messages Are Now Inaccurate
51455        https://bugs.webkit.org/show_bug.cgi?id=53707
51456
51457        Correct and improve the error messages for viewport parsing.
51458
51459        Tests: fast/viewport/viewport-warnings-1.html
51460               fast/viewport/viewport-warnings-2.html
51461               fast/viewport/viewport-warnings-3.html
51462               fast/viewport/viewport-warnings-4.html
51463               fast/viewport/viewport-warnings-5.html
51464               fast/viewport/viewport-warnings-6.html
51465
51466        * dom/ViewportArguments.cpp:
51467        (WebCore::numericPrefix):
51468        (WebCore::findSizeValue): remove incorrect device-width / height tips.
51469        (WebCore::setViewportFeature): report a warning for an unrecognized key.
51470        (WebCore::viewportErrorMessageTemplate): added template for unrecognized key.
51471        (WebCore::viewportErrorMessageLevel): classify an unrecognized key is an error.
51472        * dom/ViewportArguments.h: removed no longer used warnings.
51473
514742011-03-07  James Robinson  <jamesr@chromium.org>
51475
51476        Reviewed by Kenneth Russell.
51477
51478        [chromium] Separate the update and draw portions of LayerRendererChromium's drawLayers function
51479        https://bugs.webkit.org/show_bug.cgi?id=54047
51480
51481        This splits up LayerRendererChromium::drawLayers() into two phases,
51482        one that updates layers and one that actually draws them.  Most of the
51483        patch is moving the bodies of drawLayers() and updateLayersRecursive()
51484        into smaller helper functions.
51485
51486        The main entry point is renamed updateAndDrawLayers(), but otherwise
51487        has the same signature as drawLayers() did.  Internally it does the
51488        following:
51489
51490        1.) Updates the root layer's contents
51491        2.) Updates the root layer's scrollbars
51492        3.) Updates the RenderSurface tree and the contents of all child
51493        layers
51494        4.) Draws the root layer and root layer scrollbars
51495        5.) Draws all child layers using the previously updated
51496        CCLayerImpl/RenderSurface data.
51497
51498        A few things still need to be done after this patch to complete the separation
51499        of the update and draw step, but they can happen in later patches:
51500        *) The root layer and root layer scrollbars contents should be
51501        uploaded to textures at draw time, not update time.
51502        *) The RenderSurface tree should be updated at draw time, not update
51503        time.
51504
51505        Covered by the compositing/ tests.
51506
51507        * platform/graphics/chromium/LayerRendererChromium.cpp:
51508        (WebCore::LayerRendererChromium::LayerRendererChromium):
51509        (WebCore::LayerRendererChromium::updateRootLayerContents):
51510        (WebCore::LayerRendererChromium::updateRootLayerScrollbars):
51511        (WebCore::LayerRendererChromium::drawRootLayer):
51512        (WebCore::LayerRendererChromium::updateAndDrawLayers):
51513        (WebCore::LayerRendererChromium::updateLayers):
51514        (WebCore::LayerRendererChromium::drawLayers):
51515        (WebCore::LayerRendererChromium::getFramebufferPixels):
51516        (WebCore::LayerRendererChromium::updatePropertiesAndRenderSurfaces):
51517        (WebCore::LayerRendererChromium::updateContentsRecursive):
51518        (WebCore::LayerRendererChromium::drawLayer):
51519        * platform/graphics/chromium/LayerRendererChromium.h:
51520        (WebCore::LayerRendererChromium::visibleRectSize):
51521        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
51522        (WebCore::RenderSurfaceChromium::drawSurface):
51523        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
51524        * platform/graphics/chromium/cc/CCLayerImpl.h:
51525
515262011-03-07  Adam Barth  <abarth@webkit.org>
51527
51528        Reviewed by Eric Seidel.
51529
51530        Sort WebCore.gypi
51531        https://bugs.webkit.org/show_bug.cgi?id=55887
51532
51533        These files should be in order.  This is preparation for adding in the
51534        missing files.
51535
51536        * WebCore.gypi:
51537
515382011-03-07  Csaba Osztrogonác  <ossy@webkit.org>
51539
51540        Unreviewed buildfix after r80478.
51541
51542        * dom/Document.cpp: Add suggested parentheses to make GCC happy.
51543        (WebCore::Document::didReceiveTask):
51544
515452011-03-07  Yong Li  <yoli@rim.com>
51546
51547        Reviewed by Darin Adler.
51548
51549        Defer ScriptExecutionContext::Task's in Document when page loading is deferred.
51550        Schedule them with timer when page loading is resumed. The tasks will be performed
51551        in the original order. This fixes the problem that database callbacks could be missed
51552        when page loading was deferred.
51553        https://bugs.webkit.org/show_bug.cgi?id=49401
51554
51555        Manual test added: manual-tests/database-callback-deferred.html.
51556
51557        * dom/Document.cpp:
51558        (WebCore::Document::Document):
51559        (WebCore::Document::~Document):
51560        (WebCore::Document::didReceiveTask):
51561        (WebCore::Document::postTask):
51562        (WebCore::Document::pendingTasksTimerFired):
51563        (WebCore::Document::willDeferLoading):
51564        (WebCore::Document::didResumeLoading):
51565        * dom/Document.h:
51566        * manual-tests/database-callback-deferred.html: Added.
51567        * page/PageGroupLoadDeferrer.cpp:
51568        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
51569        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
51570
515712011-03-07  Antti Koivisto  <antti@apple.com>
51572
51573        Reviewed by Sam Weinig.
51574
51575        Use HashMaps for caching primitive values
51576        https://bugs.webkit.org/show_bug.cgi?id=55873
51577
51578        Most documents use only small subset of cacheable primitive values. By replacing
51579        fixed size cache arrays with HashMaps we can reduce the constant memory usage while also
51580        expanding the range of cacheable values.
51581
51582        * css/CSSPrimitiveValueCache.cpp:
51583        (WebCore::CSSPrimitiveValueCache::CSSPrimitiveValueCache):
51584        (WebCore::CSSPrimitiveValueCache::createIdentifierValue):
51585        (WebCore::CSSPrimitiveValueCache::createColorValue):
51586        (WebCore::CSSPrimitiveValueCache::createValue):
51587        * css/CSSPrimitiveValueCache.h:
51588
515892011-03-07  Steve Block  <steveblock@google.com>
51590
51591        Reviewed by Jeremy Orlow.
51592
51593        Split JNIBridgeJSC.cpp/h into JavaArrayJSC.cpp/h and JavaFieldJSC.cpp/h
51594        https://bugs.webkit.org/show_bug.cgi?id=55881
51595
51596        No new tests, refactoring only.
51597
51598        * Android.jscbindings.mk:
51599        * GNUmakefile.am:
51600        * WebCore.xcodeproj/project.pbxproj:
51601        * bridge/jni/jsc/JNIBridgeJSC.cpp: Removed.
51602        * bridge/jni/jsc/JNIBridgeJSC.h: Removed.
51603        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
51604        * bridge/jni/jsc/JavaClassJSC.cpp:
51605        * bridge/jni/jsc/JavaClassJSC.h:
51606        * bridge/jni/jsc/JavaInstanceJSC.cpp:
51607
516082011-03-07  Sam Weinig  <sam@webkit.org>
51609
51610        Reviewed by Anders Carlsson.
51611
51612        Replace WebKit2's decidePolicyForMIMEType with decidePolicyForResponse
51613        https://bugs.webkit.org/show_bug.cgi?id=55827
51614
51615        * loader/EmptyClients.h:
51616        (WebCore::EmptyFrameLoaderClient::dispatchDecidePolicyForResponse):
51617        * loader/FrameLoaderClient.h:
51618        * loader/MainResourceLoader.cpp:
51619        (WebCore::MainResourceLoader::didReceiveResponse):
51620        * loader/PolicyChecker.cpp:
51621        (WebCore::PolicyChecker::checkContentPolicy):
51622        * loader/PolicyChecker.h:
51623        Rename FrameLoaderClient::dispatchDecidePolicyForMIMEType to dispatchDecidePolicyForResponse
51624        and pass the entire response, instead of just the MIMEType.
51625
516262011-03-07  Eric Carlson  <eric.carlson@apple.com>
51627
51628        Reviewed by Darin Adler.
51629
51630        Add API to enumerate/delete files downloaded for <audio> and <video>
51631        https://bugs.webkit.org/show_bug.cgi?id=55267
51632        <rdar://problem/9049280>
51633
51634        No new tests, this is just more plumbing.
51635
51636        * html/HTMLMediaElement.cpp:
51637        (WebCore::HTMLMediaElement::getSitesInMediaCache): Make static, call MediaPlayer static method.
51638        (WebCore::HTMLMediaElement::clearMediaCache): Ditto.
51639        (WebCore::HTMLMediaElement::clearMediaCacheForSite): Ditto.
51640        * html/HTMLMediaElement.h:
51641
51642        * platform/graphics/MediaPlayer.cpp:
51643        (WebCore::MediaPlayerFactory::MediaPlayerFactory): Add new media engine factory functions.
51644        (WebCore::addMediaEngine): Ditto.
51645        (WebCore::MediaPlayer::getSitesInMediaCache): Call static method on all installed media engines.
51646        (WebCore::MediaPlayer::clearMediaCache): Ditto.
51647        (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
51648        * platform/graphics/MediaPlayer.h:
51649
51650        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
51651        (WebCore::MediaPlayerPrivateGStreamer::registerMediaEngine): Update for MediaEngineRegistrar change.
51652
51653        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
51654        (WebCore::MediaPlayerPrivateQTKit::registerMediaEngine): Ditto.
51655
51656        * platform/graphics/qt/MediaPlayerPrivatePhonon.cpp:
51657        (WebCore::MediaPlayerPrivatePhonon::registerMediaEngine): Ditto.
51658
51659        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
51660        (WebCore::MediaPlayerPrivateQt::registerMediaEngine): Ditto.
51661
51662        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
51663        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::registerMediaEngine): Ditto.
51664
51665        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
51666        (WebCore::MediaPlayerPrivate::registerMediaEngine): Ditto.
51667
516682011-03-07  Steve Block  <steveblock@google.com>
51669
51670        Reviewed by Jeremy Orlow.
51671
51672        Split JNIBridge.cpp/h into JavaString.h and JavaMethod.cpp/h
51673        https://bugs.webkit.org/show_bug.cgi?id=55774
51674
51675        No new tests, refactoring only.
51676
51677        * Android.jscbindings.mk:
51678        * Android.v8bindings.mk:
51679        * GNUmakefile.am:
51680        * WebCore.gypi:
51681        * WebCore.xcodeproj/project.pbxproj:
51682        * bridge/jni/JavaMethod.cpp:
51683        (JavaMethod::JavaMethod):
51684        (JavaMethod::~JavaMethod):
51685        (appendClassName):
51686        (JavaMethod::signature):
51687        (JavaMethod::JNIReturnType):
51688        (JavaMethod::methodID):
51689        * bridge/jni/JavaMethod.h:
51690        (JSC::Bindings::JavaMethod::name):
51691        (JSC::Bindings::JavaMethod::returnType):
51692        (JSC::Bindings::JavaMethod::parameterAt):
51693        (JSC::Bindings::JavaMethod::numParameters):
51694        (JSC::Bindings::JavaMethod::isStatic):
51695        * bridge/jni/JavaString.h:
51696        (JSC::Bindings::JavaString::JavaString):
51697        (JSC::Bindings::JavaString::utf8):
51698        (JSC::Bindings::JavaString::length):
51699        (JSC::Bindings::JavaString::impl):
51700        * bridge/jni/jni_jsobject.mm:
51701        * bridge/jni/jsc/JNIBridgeJSC.h:
51702        * bridge/jni/v8/JNIBridgeV8.h:
51703        * bridge/jni/v8/JavaClassV8.cpp:
51704        * bridge/jni/v8/JavaClassV8.h:
51705        * bridge/jni/v8/JavaInstanceV8.cpp:
51706
517072011-03-07  Jeremy Orlow  <jorlow@chromium.org>
51708
51709        Reviewed by Steve Block.
51710
51711        Add source to IDBCursor, objectStore to IDBIndex, and remove storeName
51712        https://bugs.webkit.org/show_bug.cgi?id=55812
51713
51714        This brings us in line with what's in the spec:
51715        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html
51716
51717        * storage/IDBCursor.cpp:
51718        (WebCore::IDBCursor::create):
51719        (WebCore::IDBCursor::IDBCursor):
51720        (WebCore::IDBCursor::source):
51721        * storage/IDBCursor.h:
51722        * storage/IDBCursor.idl:
51723        * storage/IDBCursorWithValue.cpp:
51724        (WebCore::IDBCursorWithValue::create):
51725        (WebCore::IDBCursorWithValue::IDBCursorWithValue):
51726        * storage/IDBCursorWithValue.h:
51727        * storage/IDBIndex.cpp:
51728        (WebCore::IDBIndex::IDBIndex):
51729        * storage/IDBIndex.h:
51730        (WebCore::IDBIndex::create):
51731        (WebCore::IDBIndex::objectStore):
51732        * storage/IDBIndex.idl:
51733        * storage/IDBObjectStore.cpp:
51734        (WebCore::IDBObjectStore::createIndex):
51735        (WebCore::IDBObjectStore::index):
51736        * storage/IDBRequest.cpp:
51737        (WebCore::IDBRequest::onSuccess):
51738
517392011-03-07  Chris Fleizach  <cfleizach@apple.com>
51740
51741        Reviewed by Beth Dakin.
51742
51743        AX: kAXCellForColumnAndRowParameterizedAttribute doesn't work ARIA grids with colspans
51744        https://bugs.webkit.org/show_bug.cgi?id=55735
51745
51746        The ARIA grid implementation needed to verify the row/column range of a cell instead of
51747        assuming a 1-1 mapping between children and row/column.
51748
51749        Test: platform/mac/accessibility/aria-table-with-colspan-cells.html
51750
51751        * accessibility/AccessibilityARIAGrid.cpp:
51752        (WebCore::AccessibilityARIAGrid::cellForColumnAndRow):
51753
517542011-03-07  Andrei Popescu  <andreip@google.com>
51755
51756        Reviewed by Steve Block.
51757
51758        IDBRequest::onSuccess(IDBObjectStore*) should be removed as it is unused.
51759        IDBObjectStore objects used to be created asynchronously, so we needed
51760        this method to be invoked, with the new object store as the parameter,
51761        whenever the creation succeeded. The spec has changed so that IDBObjectStore
51762        objects are created synchronously, so this method is no longer needed.
51763        https://bugs.webkit.org/show_bug.cgi?id=55777
51764
51765        No new tests, just refactoring.
51766
51767        * storage/IDBCallbacks.h:
51768        * storage/IDBRequest.cpp:
51769        * storage/IDBRequest.h:
51770
517712011-03-04  Steve Block  <steveblock@google.com>
51772
51773        Reviewed by Jeremy Orlow.
51774
51775        JavaParameter should be removed
51776        https://bugs.webkit.org/show_bug.cgi?id=55772
51777
51778        No new tests, refactoring only.
51779
51780        * bridge/jni/JNIBridge.cpp:
51781        (JavaMethod::JavaMethod):
51782        (JavaMethod::~JavaMethod):
51783        (JavaMethod::signature):
51784        * bridge/jni/JNIBridge.h:
51785        (JSC::Bindings::JavaMethod::parameterAt):
51786        (JSC::Bindings::JavaMethod::numParameters):
51787        * bridge/jni/JNIUtility.h:
51788        * bridge/jni/jsc/JavaInstanceJSC.cpp:
51789        (JavaInstance::invokeMethod):
51790        * bridge/jni/v8/JNIUtilityPrivate.cpp:
51791        (JSC::Bindings::convertNPVariantToJValue):
51792        * bridge/jni/v8/JNIUtilityPrivate.h:
51793        * bridge/jni/v8/JavaInstanceV8.cpp:
51794        (JavaInstance::invokeMethod):
51795
517962011-03-07  Antti Koivisto  <antti@apple.com>
51797
51798        Reviewed by Oliver Hunt.
51799
51800        REGRESSION (r79574): fast/dom/global-constructors.html failing on Windows 7 Release (Tests) bots
51801        https://bugs.webkit.org/show_bug.cgi?id=55166
51802        <rdar://problem/9050430>
51803
51804        Make CSS primitive value cache per-document.
51805
51806        Test: http/tests/security/cross-origin-css-primitive.html
51807
51808        * Android.mk:
51809        * CMakeLists.txt:
51810        * GNUmakefile.am:
51811        * WebCore.gypi:
51812        * WebCore.pro:
51813        * WebCore.vcproj/WebCore.vcproj:
51814        * WebCore.xcodeproj/project.pbxproj:
51815        * css/CSSComputedStyleDeclaration.cpp:
51816        (WebCore::valueForNinePieceImage):
51817        (WebCore::zoomAdjustedPixelValue):
51818        (WebCore::zoomAdjustedNumberValue):
51819        (WebCore::zoomAdjustedPixelValueForLength):
51820        (WebCore::valueForReflection):
51821        (WebCore::getPositionOffsetValue):
51822        (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
51823        (WebCore::getBorderRadiusCornerValue):
51824        (WebCore::computedTransform):
51825        (WebCore::getDelayValue):
51826        (WebCore::getDurationValue):
51827        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
51828        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
51829        (WebCore::valueForFamily):
51830        (WebCore::renderTextDecorationFlagsToCSSValue):
51831        (WebCore::fillRepeatToCSSValue):
51832        (WebCore::fillSizeToCSSValue):
51833        (WebCore::contentToCSSValue):
51834        (WebCore::counterToCSSValue):
51835        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
51836        * css/CSSParser.cpp:
51837        (WebCore::CSSParser::parseSheet):
51838        (WebCore::CSSParser::parseRule):
51839        (WebCore::CSSParser::parseKeyframeRule):
51840        (WebCore::CSSParser::parseValue):
51841        (WebCore::CSSParser::parseColor):
51842        (WebCore::CSSParser::parseSelector):
51843        (WebCore::CSSParser::parseDeclaration):
51844        (WebCore::CSSParser::setStyleSheet):
51845        (WebCore::CSSParser::parseWCSSInputProperty):
51846        (WebCore::parseBackgroundClip):
51847        (WebCore::CSSParser::parseFillShorthand):
51848        (WebCore::CSSParser::parsePage):
51849        (WebCore::CSSParser::parseSizeParameter):
51850        (WebCore::CSSParser::parseContent):
51851        (WebCore::CSSParser::parseAttr):
51852        (WebCore::CSSParser::parseBackgroundColor):
51853        (WebCore::CSSParser::parseFillPositionXY):
51854        (WebCore::CSSParser::parseFillPosition):
51855        (WebCore::CSSParser::parseFillRepeat):
51856        (WebCore::CSSParser::parseFillSize):
51857        (WebCore::CSSParser::parseFillProperty):
51858        (WebCore::CSSParser::parseAnimationDelay):
51859        (WebCore::CSSParser::parseAnimationDirection):
51860        (WebCore::CSSParser::parseAnimationDuration):
51861        (WebCore::CSSParser::parseAnimationFillMode):
51862        (WebCore::CSSParser::parseAnimationIterationCount):
51863        (WebCore::CSSParser::parseAnimationName):
51864        (WebCore::CSSParser::parseAnimationPlayState):
51865        (WebCore::CSSParser::parseAnimationProperty):
51866        (WebCore::CSSParser::parseTransformOriginShorthand):
51867        (WebCore::CSSParser::parseAnimationTimingFunction):
51868        (WebCore::CSSParser::parseDashboardRegions):
51869        (WebCore::CSSParser::parseCounterContent):
51870        (WebCore::CSSParser::parseShape):
51871        (WebCore::CSSParser::parseFont):
51872        (WebCore::CSSParser::parseFontFamily):
51873        (WebCore::CSSParser::parseFontStyle):
51874        (WebCore::CSSParser::parseFontVariant):
51875        (WebCore::CSSParser::parseFontWeight):
51876        (WebCore::ShadowParseContext::ShadowParseContext):
51877        (WebCore::ShadowParseContext::commitLength):
51878        (WebCore::ShadowParseContext::commitStyle):
51879        (WebCore::CSSParser::parseShadow):
51880        (WebCore::CSSParser::parseReflect):
51881        (WebCore::BorderImageParseContext::BorderImageParseContext):
51882        (WebCore::BorderImageParseContext::commitNumber):
51883        (WebCore::BorderImageParseContext::commitBorderImage):
51884        (WebCore::CSSParser::parseBorderImage):
51885        (WebCore::CSSParser::parseBorderRadius):
51886        (WebCore::CSSParser::parseCounter):
51887        (WebCore::parseDeprecatedGradientPoint):
51888        (WebCore::parseDeprecatedGradientColorStop):
51889        (WebCore::CSSParser::parseDeprecatedGradient):
51890        (WebCore::valueFromSideKeyword):
51891        (WebCore::parseGradientColorOrKeyword):
51892        (WebCore::CSSParser::parseLinearGradient):
51893        (WebCore::CSSParser::parseRadialGradient):
51894        (WebCore::CSSParser::parseGradientColorStops):
51895        (WebCore::CSSParser::parseTransform):
51896        (WebCore::CSSParser::parseTransformOrigin):
51897        (WebCore::CSSParser::parseTextEmphasisStyle):
51898        * css/CSSParser.h:
51899        (WebCore::CSSParser::primitiveValueCache):
51900        * css/CSSPrimitiveValue.cpp:
51901        * css/CSSPrimitiveValue.h:
51902        (WebCore::CSSPrimitiveValue::createIdentifier):
51903        (WebCore::CSSPrimitiveValue::createColor):
51904        (WebCore::CSSPrimitiveValue::create):
51905        * css/CSSPrimitiveValueCache.cpp: Added.
51906        (WebCore::CSSPrimitiveValueCache::CSSPrimitiveValueCache):
51907        (WebCore::CSSPrimitiveValueCache::~CSSPrimitiveValueCache):
51908        (WebCore::CSSPrimitiveValueCache::createIdentifierValue):
51909        (WebCore::CSSPrimitiveValueCache::createColorValue):
51910        (WebCore::CSSPrimitiveValueCache::createValue):
51911        * css/CSSPrimitiveValueCache.h: Added.
51912        (WebCore::CSSPrimitiveValueCache::create):
51913        (WebCore::CSSPrimitiveValueCache::createValue):
51914        * dom/Document.cpp:
51915        (WebCore::Document::cssPrimitiveValueCache):
51916        * dom/Document.h:
51917
519182011-03-06  Adam Barth  <abarth@webkit.org>
51919
51920        Reviewed by Eric Seidel.
51921
51922        Filter sources in WebCore GYP build for Mac
51923        https://bugs.webkit.org/show_bug.cgi?id=55857
51924
51925        This patch removes a large number of files that do not build as part of
51926        the Mac build.  I'm not fully sold on this method of
51927        including/excluding files, but it's the "gyp way" so we should probably
51928        try it first.
51929
51930        This patch also sets xcode_list_excluded_files to 0, which removes the
51931        excluded files from the Xcode project file, which is necessary in order
51932        to prevent the header map feature from including the wrong header file.
51933
51934        * gyp/WebCore.gyp:
51935
519362011-03-07  Ryuan Choi  <ryuan.choi@samsung.com>
51937
51938        Unreviewed EFL build fix.
51939
51940        [EFL] Build break on Debug build.
51941        https://bugs.webkit.org/show_bug.cgi?id=55858
51942
51943        * platform/efl/RenderThemeEfl.cpp:
51944        (WebCore::RenderThemeEfl::themePartCacheEntrySurfaceCreate):
51945
519462011-03-06  Adam Barth  <abarth@webkit.org>
51947
51948        Reviewed by Eric Seidel.
51949
51950        Add webcore_derived_source_files to WebCore.gypi
51951        https://bugs.webkit.org/show_bug.cgi?id=55856
51952
51953        This is the list of files generated by the Mac port.  It's possible
51954        other ports generate a different list of files.
51955
51956        * WebCore.gypi:
51957        * gyp/WebCore.gyp:
51958
519592011-03-06  Naoki Takano  <takano.naoki@gmail.com>
51960
51961        Reviewed by Kent Tamura.
51962
51963        Input type=number spin buttons remain invisible but functional after div changed from hidden to visible.
51964        https://bugs.webkit.org/show_bug.cgi?id=55839
51965        http://crbug.com/73866
51966        http://crbug.com/62527
51967
51968        We also need style change for m_innerSpinButton not only for m_outerSpinBuggon when styleDidChange() is called.
51969
51970        Test: fast/forms/input-appearance-spinbutton-visibility.html
51971
51972        * rendering/RenderTextControlSingleLine.cpp:
51973        (WebCore::RenderTextControlSingleLine::styleDidChange):
51974
519752011-03-06  Naoki Takano  <takano.naoki@gmail.com>
51976
51977        Reviewed by Kent Tamura.
51978
51979        [Chromium] Autocomplete suggestion extends out of window (and onto second monitor)
51980        https://bugs.webkit.org/show_bug.cgi?id=54795
51981
51982        Implement width clip logic according to browser screen width and popup window width. This fix is enough for Win and Mac, but there is a problem in Linux. Because WebScreenInfoFactory::screenInfo() can get only merged screen size, not the screen size where the browser exists.
51983
51984        Test: manual-tests/popup-width-restriction-within-screen.html
51985
51986        * manual-tests/popup-width-restriction-within-screen.html: Added.
51987        * platform/chromium/PopupMenuChromium.cpp:
51988        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Implement the width clip logic according to screen width.
51989
519902011-03-06  Yuta Kitamura  <yutak@chromium.org>
51991
51992        Reviewed by Kent Tamura.
51993
51994        Add SHA-1 for new WebSocket protocol
51995        https://bugs.webkit.org/show_bug.cgi?id=55039
51996
51997        * ForwardingHeaders/wtf/SHA1.h: Added.
51998
519992011-03-06  Eric Carlson  <eric.carlson@apple.com>
52000
52001        Reviewed by Antti Koivisto.
52002
52003        QuickTime based media engines should respect private browsing mode
52004        https://bugs.webkit.org/show_bug.cgi?id=55848
52005
52006        No new tests, it is only possible to test this by manually deleting and monitoring the
52007        the Quicktime caches.
52008
52009        * html/HTMLMediaElement.cpp:
52010        (WebCore::HTMLMediaElement::privateBrowsingStateDidChange): Add logging.
52011
52012        * platform/graphics/MediaPlayer.cpp:
52013        (WebCore::MediaPlayer::MediaPlayer): Initialize m_privateBrowsing.
52014        (WebCore::MediaPlayer::loadWithNextMediaEngine): Set privacy mode on new media engine.
52015        (WebCore::MediaPlayer::setPrivateBrowsingMode): Stash setting in m_privateBrowsing.
52016        * platform/graphics/MediaPlayer.h:
52017        * platform/graphics/MediaPlayerPrivate.h:
52018        (WebCore::MediaPlayerPrivateInterface::setPrivateBrowsingMode):
52019
52020        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
52021        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
52022        (WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit): Initialize m_privateBrowsing.
52023        (WebCore::MediaPlayerPrivateQTKit::createQTMovie): Pass private browsing attribute when
52024            creating new movie.
52025        (WebCore::MediaPlayerPrivateQTKit::setPrivateBrowsingMode): New, store privacy setting in
52026            m_privateBrowsing and set movie attribute.
52027
52028        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
52029        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::MediaPlayerPrivateQuickTimeVisualContext):
52030            Initialize m_privateBrowsing.
52031        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setPrivateBrowsingMode): New, store
52032            privacy setting in m_privateBrowsing and call QTMovie.
52033        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
52034
52035        * platform/graphics/win/QTMovie.cpp:
52036        (QTMoviePrivate::QTMoviePrivate): Initialize m_privateBrowsing.
52037        (QTMovie::load):Pass private browsing property when creating new movie.
52038        (QTMovie::setPrivateBrowsingMode):  New, store privacy setting in m_privateBrowsing and
52039            set movie property.
52040        * platform/graphics/win/QTMovie.h:
52041
520422011-03-06  Daniel Bates  <dbates@rim.com>
52043
52044        Reviewed by Darin Adler.
52045
52046        style.borderSpacing always returns empty string
52047        https://bugs.webkit.org/show_bug.cgi?id=54816
52048
52049        Teach CSSMutableStyleDeclaration::getPropertyValue() how to reconstitute
52050        the value for border-spacing from the value of the WebKit internal CSS
52051        property -webkit-border-horizontal-spacing and -webkit-border-vertical-spacing.
52052
52053        The CSS property border-spacing describes the horizontal and vertical border
52054        spacing for an HTML Table element. Notice, WebKit internally represents the value
52055        of this property as two properties: -webkit-border-horizontal-spacing and
52056        -webkit-border-vertical-spacing, for the horizontal and vertical border spacing,
52057        respectively. And WebKit doesn't know to reconstitute these internal properties.
52058        Therefore style.borderSpacing always returns the empty string.
52059
52060        Test: fast/css/table-border-spacing.html
52061
52062        * css/CSSMutableStyleDeclaration.cpp:
52063        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
52064        (WebCore::CSSMutableStyleDeclaration::borderSpacingValue): Added.
52065        * css/CSSMutableStyleDeclaration.h:
52066
520672011-03-06  Dan Bernstein  <mitz@apple.com>
52068
52069        Reviewed by Oliver Hunt.
52070
52071        <rdar://problem/9093327> Implement -hyphenate-limit-{before,after}
52072        https://bugs.webkit.org/show_bug.cgi?id=55850
52073
52074        Tests: fast/css/parsing-hyphenate-limit.html
52075               fast/text/hyphenate-limit-before-after.html
52076
52077        * css/CSSComputedStyleDeclaration.cpp:
52078        (WebCore::computedProperties) Updated this array with the new properties and some old properties
52079        that it was missing.
52080        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added
52081        CSSPropertyWebkitHyphenateLimit{Before,After}.
52082
52083        * css/CSSParser.cpp:
52084        (WebCore::CSSParser::parseValue): Parse -webkit-hyphenate-limit-{before,after}, allowing
52085        'auto' and non-negative integers.
52086
52087        * css/CSSPropertyNames.in: Added -webkit-hyphenate-limit-{before,after}.
52088
52089        * css/CSSStyleSelector.cpp:
52090        (WebCore::CSSStyleSelector::applyProperty): Handle CSSPropertyWebkitHyphenateLimit{Before,After}.
52091
52092        * rendering/RenderBlockLineLayout.cpp:
52093        (WebCore::tryHyphenating): Added minimum prefix and suffix length parameters and checks to only
52094        allow hyphenation if the prefix and the suffix are sufficiently long.
52095        (WebCore::RenderBlock::findNextLineBreak): Pass the limits to tryHyphenating().
52096
52097        * rendering/style/RenderStyle.cpp:
52098        (WebCore::RenderStyle::diff): A difference in hyphenation limits is a layout difference.
52099
52100        * rendering/style/RenderStyle.h:
52101        (WebCore::InheritedFlags::hyphenationLimitBefore): Added.
52102        (WebCore::InheritedFlags::hyphenationLimitAfter): Added.
52103        (WebCore::InheritedFlags::setHyphenationLimitBefore): Added.
52104        (WebCore::InheritedFlags::setHyphenationLimitAfter): Added.
52105        (WebCore::InheritedFlags::initialHyphenationLimitBefore): Added. Returns -1, which is the
52106        representation of 'auto'.
52107        (WebCore::InheritedFlags::initialHyphenationLimitAfter): Ditto.
52108
52109        * rendering/style/StyleRareInheritedData.cpp:
52110        (WebCore::StyleRareInheritedData::StyleRareInheritedData): Initialize hyphenation limits.
52111        (WebCore::StyleRareInheritedData::operator==): Compare hyphenation limits.
52112        * rendering/style/StyleRareInheritedData.h:
52113
521142011-03-06  Jessie Berlin  <jberlin@apple.com>
52115
52116        Reviewed by Sam Weinig.
52117
52118        WebKit2: Use CFNetwork Sessions API.
52119        https://bugs.webkit.org/show_bug.cgi?id=55435.
52120
52121        When Private Browsing is enabled, use cookies from a in-memory cookie storage based on the
52122        Private Browsing Storage Session.
52123
52124        * WebCore.exp.in:
52125        Add the new WKSI functions.
52126        * platform/mac/WebCoreSystemInterface.h:
52127        Ditto.
52128        * platform/mac/WebCoreSystemInterface.mm:
52129        Ditto.
52130
52131        * platform/mac/CookieJar.mm:
52132        (WebCore::cookies):
52133        If USE(CFURLSTORAGESESSIONS) and there is a Private Browsing Cookie Storage, call into WKSI.
52134        Otherwise, behave the same as before.
52135        (WebCore::cookieRequestHeaderFieldValue):
52136        Ditto.
52137        (WebCore::setCookies):
52138        Ditto.
52139        (WebCore::cookiesEnabled):
52140        Ditto
52141        (WebCore::getRawCookies):
52142        Ditto.
52143        (WebCore::deleteCookie):
52144        Ditto.
52145
52146        * platform/network/CookieStorage.h:
52147        * platform/network/cf/CookieStorageCFNet.cpp:
52148        (WebCore::privateBrowsingCookieStorage):
52149        Keep track of the Private Browsing Cookie Storage in a locally defined static inside a
52150        function instead of at the global scope.
52151        (WebCore::currentCookieStorage):
52152        Use privateBrowsingCookieStorage.
52153        (WebCore::setCurrentCookieStorage):
52154        Ditto.
52155        (WebCore::setCookieStoragePrivateBrowsingEnabled):
52156        If USE(CFURLSTORAGESESSIONS), send the Private Browsing Storage Session to
52157        wkCreatePrivateInMemoryHTTPCookieStorage.
52158        * platform/network/mac/CookieStorageMac.mm:
52159        (WebCore::privateBrowsingCookieStorage):
52160        Keep track of the Private Browsing Cookie Storage.
52161        (WebCore::setCookieStoragePrivateBrowsingEnabled):
52162        If USE(CFURLSTORAGESESSIONS), then set or clear privateBrowsingCookieStorage().
52163        Added a FIXME to observe changes to the Private Browsing Cookie Storage when it is defined.
52164
52165        * platform/network/mac/ResourceHandleMac.mm:
52166        (WebCore::shouldRelaxThirdPartyCookiePolicy):
52167        Refactor the logic to determine whether or not to relax the third party cookie policy here.
52168        If USE(CFURLSTORAGESESSIONS), then get the information from the privateBrowsingCookieStorage.
52169        (WebCore::ResourceHandle::createNSURLConnection):
52170        Use shouldRelaxThirdPartyCookiePolicy.
52171        (WebCore::ResourceHandle::loadResourceSynchronously):
52172        Ditto.
52173
521742011-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
52175
52176        Unreviewed, rolling out r80428.
52177        http://trac.webkit.org/changeset/80428
52178        https://bugs.webkit.org/show_bug.cgi?id=55833
52179
52180        Broke SnowLeopard (Requested by xan_ on #webkit).
52181
52182        * plugins/gtk/PluginViewGtk.cpp:
52183        (WebCore::PluginView::handlePostReadFile):
52184
521852011-03-01  Martin Robinson  <mrobinson@igalia.com>
52186
52187        Reviewed by Xan Lopez.
52188
52189        [GTK] Windowless plugins override the view cursor
52190        https://bugs.webkit.org/show_bug.cgi?id=55531
52191
52192        manual test: manual-tests/plugins/windowless.html
52193
52194        * platform/gtk/WidgetGtk.cpp:
52195        (WebCore::Widget::setCursor): Call into the ChromeClient implementation now.
52196        * plugins/gtk/PluginViewGtk.cpp:
52197        (WebCore::PluginView::initXEvent): Instead of setting the window for windowless
52198        plugin events, set the window value to none. This method is also used to send
52199        focus in / focus out events to windowed plugins, but this is not one of the plugin
52200        types where the window parameter matters. This matches what Mozilla does. Also
52201        pass in the display of the widget itself, not the default display.
52202        (WebCore::PluginView::handleMouseEvent): When the cursor leaves the plugin area,
52203        reset the cursor.
52204        (WebCore::PluginView::platformGetValue): Clean up this section slightly. Give the
52205        widget the top-level window explicitly. This matches Mozilla.
52206
522072011-03-05  Martin Robinson  <mrobinson@igalia.com>
52208
52209        Reviewed by Xan Lopez.
52210
52211        [GTK] http/tests/plugins/post-url-file.html fails on GTK+
52212        https://bugs.webkit.org/show_bug.cgi?id=55826
52213
52214        Correct the implementation of handlePostReadFile which uses GIO APIs and
52215        actually resizes the buffer to fit the entire size of the file data. This
52216        was likely leading to memory corruption until now.
52217
52218        * plugins/gtk/PluginViewGtk.cpp:
52219        (WebCore::PluginView::handlePostReadFile): Fix this method.
52220
522212011-03-05  Mikhail Naganov  <mnaganov@chromium.org>
52222
52223        Reviewed by Pavel Feldman.
52224
52225        Web Inspector: [Chromium] Allow dynamic enabling of detailed heap profiles.
52226        https://bugs.webkit.org/show_bug.cgi?id=55824
52227
52228        Detailed heap profiles can be now enabled by typing "leakz" in Profiles tab.
52229
52230        * inspector/front-end/DetailedHeapshotView.js:
52231        (WebInspector.DetailedHeapshotView.prototype.isDetailedSnapshot):
52232        * inspector/front-end/ProfilesPanel.js:
52233        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.doParse):
52234        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
52235        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
52236        (WebInspector.ProfilesPanel.prototype.handleShortcut):
52237        (WebInspector.ProfilesPanel.prototype._displayDetailedHeapProfilesEnabledHint.hideHint):
52238        (WebInspector.ProfilesPanel.prototype._displayDetailedHeapProfilesEnabledHint):
52239        (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
52240        (WebInspector.ProfilesPanel.prototype._recognizeKeyboardCombo):
52241
522422011-03-05  Qi Zhang  <qi.2.zhang@nokia.com>
52243
52244        Reviewed by Laszlo Gombos.
52245
52246        [Qt] Mobile Devices should include Model and Firmware Version in Webkit Generated User Agent String
52247        https://bugs.webkit.org/show_bug.cgi?id=48636
52248
52249        Add model infomation into user agent string when qtmobility is available, but only for symbian, Maemo and MeeGo.
52250
52251        * WebCore.pri:
52252        * features.pri:
52253
522542011-03-05  Pavel Feldman  <pfeldman@chromium.org>
52255
52256        Not reviewed: adding null check to prevent inspector tests from failing.
52257
52258        * inspector/front-end/TextViewer.js:
52259        (WebInspector.TextEditorGutterChunk.prototype.get offsetTop):
52260        (WebInspector.TextEditorMainChunk.prototype.get offsetTop):
52261
522622011-03-05  Pavel Feldman  <pfeldman@chromium.org>
52263
52264        Not reviewed: chromium rebaseline, flaky test fix.
52265
52266        * inspector/front-end/BreakpointManager.js:
52267        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
52268        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement):
52269        (WebInspector.DOMBreakpointView.prototype._format.formatters.s):
52270        (WebInspector.DOMBreakpointView.prototype._format.append):
52271        (WebInspector.DOMBreakpointView.prototype._format):
52272
522732011-03-04  Pavel Podivilov  <podivilov@chromium.org>
52274
52275        Reviewed by Yury Semikhatsky.
52276
52277        Web Inspector: [chromium] pause when script is running is broken.
52278        https://bugs.webkit.org/show_bug.cgi?id=55762
52279
52280        * inspector/CodeGeneratorInspector.pm:
52281
522822011-03-05  Adam Barth  <abarth@webkit.org>
52283
52284        Reviewed by Dimitri Glazkov.
52285
52286        Add Derived Sources to WebCore GYP build
52287        https://bugs.webkit.org/show_bug.cgi?id=55813
52288
52289        Adding the derived source action to the GYP file required tweaking
52290        DerivedSources.make.  I'm not sure how DerivedSources.make worked
52291        before beause these paths were incorrectly based.
52292
52293        * DerivedSources.make:
52294        * gyp/generate-derived-sources.sh: Added.
52295        * gyp/WebCore.gyp:
52296
522972011-03-04  Pavel Feldman  <pfeldman@chromium.org>
52298
52299        Reviewed by Yury Semikhatsky.
52300
52301        Web Inspector: fix layout tests flakiness.
52302        https://bugs.webkit.org/show_bug.cgi?id=55816
52303
52304        - Order of issuing of evaluateForTestInFrontend was not guaranteed on the backend side (InspectorAgent side)
52305        - Order of dispatching using timeouts was guaranteed via queueing. Source of all kinds of pains on SnowLeopard Release (inspector.js)
52306
52307        * inspector/CodeGeneratorInspector.pm:
52308        * inspector/InspectorAgent.cpp:
52309        (WebCore::InspectorAgent::InspectorAgent):
52310        (WebCore::InspectorAgent::disconnectFrontend):
52311        (WebCore::InspectorAgent::populateScriptObjects):
52312        (WebCore::InspectorAgent::evaluateForTestInFrontend):
52313        (WebCore::InspectorAgent::issueEvaluateForTestCommands):
52314        * inspector/InspectorAgent.h:
52315        * inspector/front-end/TimelinePanel.js:
52316        (WebInspector.TimelinePanel.FormattedRecord):
52317        * inspector/front-end/inspector.js:
52318        (WebInspector.dispatch):
52319
523202011-03-05  Adam Barth  <abarth@webkit.org>
52321
52322        Reviewed by Dimitri Glazkov.
52323
52324        WebCore GYP build should generate fewer than 10,000 compile errors per file
52325        https://bugs.webkit.org/show_bug.cgi?id=55810
52326
52327        This patch adds some missing include paths.  We need to figure out how
52328        to handle separate include paths per port.  It's clear that
52329        ForwardingHeaders are only useful for Mac, but it's less clear how to
52330        handle the others.
52331
52332        * WebCore.gypi:
52333        * gyp/WebCore.gyp:
52334
523352011-03-05  Dan Bernstein  <mitz@apple.com>
52336
52337        Reviewed by Cameron Zwarich.
52338
52339        <rdar://problem/9082946> Make the Core Text code path in GlyphPage::fill() more robust
52340        https://bugs.webkit.org/show_bug.cgi?id=55817
52341
52342        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
52343        (WebCore::GlyphPage::fill): When determining if a CTRun uses the primary font, compare against
52344        a CGFont obtained from Core Text for the primary font. This CGFont may be different from
52345        the CGFont stored in the FontPlatformData.
52346
523472011-03-05  Ilya Sherman  <isherman@chromium.org>
52348
52349        Reviewed by Darin Adler.
52350
52351        HTMLInputElement::setValue() should schedule change event when the element is focused.
52352        Refactored tracking of "changed since last change event" state from renderer to DOM.In service of https://code.google.com/p/chromium/issues
52353        In service of https://code.google.com/p/chromium/issues/detail?id=42716
52354        https://bugs.webkit.org/show_bug.cgi?id=53160
52355
52356        Test: fast/forms/onchange-change-type.html
52357        Test: fast/forms/onchange-setvalueforuser.html
52358
52359        * WebCore.exp.in:
52360        * dom/Document.cpp:
52361        (WebCore::Document::setFocusedNode):
52362        * dom/Element.h:
52363        (WebCore::Element::wasChangedSinceLastFormControlChangeEvent): Added.
52364        (WebCore::Element::setChangedSinceLastFormControlChangeEvent): Added.
52365        * html/HTMLFormControlElement.cpp:
52366        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
52367        (WebCore::HTMLFormControlElement::wasChangedSinceLastFormControlChangeEvent): Added.
52368        (WebCore::HTMLFormControlElement::setChangedSinceLastFormControlChangeEvent): Added.
52369        (WebCore::HTMLFormControlElement::dispatchFormControlChangeEvent): Also clear the "changed since last change event" flag.
52370        (WebCore::HTMLFormControlElement::dispatchFormControlInputEvent): Also set the "changed since last change event" flag.
52371        * html/HTMLFormControlElement.h:
52372        * html/HTMLInputElement.cpp:
52373        (WebCore::HTMLInputElement::updateType): Also clear the "changed since last change event" flag.
52374        (WebCore::HTMLInputElement::setValue):
52375            For a focused text field, dispatch an input event, but delay the change event until the field loses focus.
52376        (WebCore::HTMLInputElement::defaultEventHandler):
52377        (WebCore::HTMLInputElement::stepUpFromRenderer):
52378        * html/shadow/TextControlInnerElements.cpp:
52379        (WebCore::SearchFieldCancelButtonElement::defaultEventHandler):
52380        * rendering/RenderTextControl.cpp:
52381        (WebCore::RenderTextControl::RenderTextControl):
52382        (WebCore::RenderTextControl::subtreeHasChanged):
52383        * rendering/RenderTextControl.h:
52384        * rendering/RenderTextControlMultiLine.cpp:
52385        (WebCore::RenderTextControlMultiLine::subtreeHasChanged):
52386        * rendering/RenderTextControlSingleLine.cpp:
52387        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
52388        * wml/WMLInputElement.cpp:
52389        (WebCore::WMLInputElement::WMLInputElement):
52390        (WebCore::WMLInputElement::defaultEventHandler):
52391        * wml/WMLInputElement.h:
52392        (WebCore::WMLInputElement::wasChangedSinceLastFormControlChangeEvent): Added.
52393        (WebCore::WMLInputElement::setChangedSinceLastFormControlChangeEvent): Added.
52394
523952011-03-04  Xianzhu Wang  <wangxianzhu@google.com>
52396
52397        Reviewed by Adam Barth.
52398
52399        Remove fake request loading of SVGImage to avoid MainResourceLoader
52400        leak. The frame->init() already ensures initialization of the
52401        document loader.
52402
52403        https://bugs.webkit.org/show_bug.cgi?id=55017
52404
52405        Test: fast/images/svg-image-leak-loader.html
52406
52407        * svg/graphics/SVGImage.cpp:
52408        (WebCore::SVGImage::dataChanged):
52409
524102011-03-04  Mike Reed  <reed@google.com>
52411
52412        Reviewed by Mihai Parparita.
52413
52414        [Chromium] fast/canvas/canvas-arc-360-winding.html fails on Linux and Windows
52415        https://bugs.webkit.org/show_bug.cgi?id=49477
52416
52417        * platform/graphics/skia/PathSkia.cpp:
52418        (WebCore::Path::addArc):
52419
524202011-03-04  Jia Pu  <jpu@apple.com>
52421
52422        Reviewed by Darin Adler.
52423
52424        On Mac, the bounding box sent to EditorClient::showCorrectionPanel() is incorrect when the correction occurs in an iframe.
52425        https://bugs.webkit.org/show_bug.cgi?id=55717
52426        <rdar://problem/9018127>
52427
52428        manual-test: manual-tests/platforms/mac/autocorrection/autocorrection-in-iframe.html
52429
52430        Previously, the bounding box passed into EditorClient::showCorrectionPanel() is in the frame's
52431        coordinate. This is incorrect when the correction occurs in an iframe. This patch added code
52432        to convert the bounding box to window coordinate using ScrollView::contentToWindow().
52433
52434        * dom/Range.cpp:
52435        (WebCore::Range::getBoundingClientRect):
52436        (WebCore::Range::boundingRect):
52437        * dom/Range.h:
52438        * editing/Editor.cpp:
52439        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
52440        (WebCore::Editor::correctionPanelTimerFired):
52441        (WebCore::Editor::windowRectForRange):
52442        * editing/Editor.h:
52443        * manual-tests/autocorrection/autocorrection-in-iframe.html: Added.
52444        * manual-tests/autocorrection/document-for-iframe-test.html: Added.
52445
524462011-03-04  Jia Pu  <jpu@apple.com>
52447
52448        Reviewed by Darin Adler.
52449
52450        Those checking in Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited() should be done with VisiblePosition::isNull().
52451        https://bugs.webkit.org/show_bug.cgi?id=55731
52452
52453        No new tests. There's no behavioral change.
52454
52455        This patch improved clarity and readability of Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited().
52456
52457        * editing/Editor.cpp:
52458        (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
52459
524602011-03-04  John Bauman  <jbauman@chromium.org>
52461
52462        Reviewed by Kenneth Russell.
52463
52464        [chromium] premultipliedAlpha WebGL context attribute is ignored.
52465        https://bugs.webkit.org/show_bug.cgi?id=55411
52466
52467        Update compositor to set the blending of each layer correctly.
52468
52469        Test: compositing/webgl/webgl-nonpremultiplied-blend.html
52470
52471        * platform/graphics/chromium/CanvasLayerChromium.cpp:
52472        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
52473        (WebCore::CanvasLayerChromium::draw):
52474        * platform/graphics/chromium/CanvasLayerChromium.h:
52475        * platform/graphics/chromium/ContentLayerChromium.cpp:
52476        (WebCore::ContentLayerChromium::draw):
52477        * platform/graphics/chromium/LayerRendererChromium.cpp:
52478        (WebCore::LayerRendererChromium::drawLayers):
52479        * platform/graphics/chromium/WebGLLayerChromium.cpp:
52480        (WebCore::WebGLLayerChromium::setContext):
52481
524822011-03-04  Adam Barth  <abarth@webkit.org>
52483
52484        Reviewed by Eric Seidel.
52485
52486        WebCore GYP build should link with the correct frameworks
52487        https://bugs.webkit.org/show_bug.cgi?id=55804
52488
52489        * gyp/WebCore.gyp:
52490
524912011-03-04  Adam Barth  <abarth@webkit.org>
52492
52493        Reviewed by Eric Seidel.
52494
52495        WebCore GYP build should Check For Inappropriate Files in Framework
52496        https://bugs.webkit.org/show_bug.cgi?id=55806
52497
52498        * gyp/WebCore.gyp:
52499
525002011-03-04  Dimitri Glazkov  <dglazkov@chromium.org>
52501
52502        Reviewed by Adam Barth.
52503
52504        Add skeletal WebCore.gyp
52505        https://bugs.webkit.org/show_bug.cgi?id=55802
52506
52507        This doesn't yet build, but the basic structure is there.
52508
52509        * WebCore.gypi: Added headers and include directories variables.
52510        * gyp/WebCore.gyp: Added.
52511
525122011-03-04  Adam Barth  <abarth@webkit.org>
52513
52514        Reviewed by Dimitri Glazkov.
52515
52516        Remove unneeded round-trips through ../Source in the Chromium GYP build
52517        https://bugs.webkit.org/show_bug.cgi?id=55795
52518
52519        This is just cleanup work, but it was bugging me.
52520
52521        * WebCore.gyp/WebCore.gyp:
52522
525232011-03-04  Mike Reed  <reed@google.com>
52524
52525        Reviewed by James Robinson.
52526
52527        Option to use skia's native text drawing APIs when drawing text
52528        on Windows, rather than from outlines using drawPath(). This will
52529        only have a significant effect when the skia-gpu backend is enabled.
52530        https://bugs.webkit.org/show_bug.cgi?id=55609
52531
52532        No new tests. This is disabled by default. When enabled, it will draw
52533        essentially the same, but with slightly different antialiased edges, due
52534        to differences between the current scanconverter and GDI's font scaler.
52535        When enabled, we will have to recalibrate layouttest image results.
52536
52537        * platform/graphics/skia/SkiaFontWin.cpp:
52538        (WebCore::skiaDrawText):
52539        (WebCore::setupPaintForFont):
52540        (WebCore::paintSkiaText):
52541
525422011-03-04  Adrienne Walker  <enne@google.com>
52543
52544        Reviewed by James Robinson.
52545
52546        [chromium] Fix texture stride issues on large content and image layers.
52547        https://bugs.webkit.org/show_bug.cgi?id=55679
52548
52549        This was an error caused during the refactoring in r80081.
52550
52551        Tests: LayoutTests/compositing/tiling/huge-layer-img.html
52552
52553        * platform/graphics/chromium/ContentLayerChromium.cpp:
52554        (WebCore::ContentLayerChromium::updateTexture):
52555        * platform/graphics/chromium/ImageLayerChromium.cpp:
52556        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
52557
525582011-03-04  Sheriff Bot  <webkit.review.bot@gmail.com>
52559
52560        Unreviewed, rolling out r80379.
52561        http://trac.webkit.org/changeset/80379
52562        https://bugs.webkit.org/show_bug.cgi?id=55799
52563
52564        "Breaks leopard compile (implicit conversion)" (Requested by
52565        tonyg-cr on #webkit).
52566
52567        * css/CSSStyleSelector.cpp:
52568        (WebCore::convertToLength):
52569        (WebCore::CSSStyleSelector::applyProperty):
52570        (WebCore::CSSStyleSelector::createTransformOperations):
52571        * platform/Length.h:
52572        (WebCore::Length::Length):
52573        (WebCore::Length::operator==):
52574        (WebCore::Length::operator!=):
52575        (WebCore::Length::rawValue):
52576        (WebCore::Length::type):
52577        (WebCore::Length::quirk):
52578        (WebCore::Length::setValue):
52579        (WebCore::Length::setRawValue):
52580        (WebCore::Length::calcFloatValue):
52581        (WebCore::Length::isZero):
52582        (WebCore::Length::blend):
52583        * rendering/AutoTableLayout.cpp:
52584        (WebCore::AutoTableLayout::recalcColumn):
52585        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
52586        * rendering/FixedTableLayout.cpp:
52587        (WebCore::FixedTableLayout::calcWidthArray):
52588
525892011-03-04  Jessie Berlin  <jberlin@apple.com>
52590
52591        Reviewed by Darin Adler.
52592
52593        WebKit2: Use CFNetwork Sessions API.
52594        https://bugs.webkit.org/show_bug.cgi?id=55435.
52595
52596        Add in the CFURLSTORAGESESSIONS guards that I incorrectly left out because the code was
52597        contained within guards that made USE(CFURLSTORAGESESSIONS) always be true.
52598
52599        * platform/network/cf/ResourceHandleCFNet.cpp:
52600        (WebCore::makeFinalRequest):
52601        (WebCore::ResourceHandle::willSendRequest):
52602        * platform/network/cf/ResourceRequestCFNet.cpp:
52603        * platform/network/mac/ResourceHandleMac.mm:
52604        (WebCore::ResourceHandle::createNSURLConnection):
52605        (WebCore::ResourceHandle::willSendRequest):
52606        * platform/network/mac/ResourceRequestMac.mm:
52607
526082011-03-04  Yuqiang Xian  <yuqiang.xian@intel.com>
52609
52610        Reviewed by Darin Adler.
52611
52612        improve layout performance by reducing the traversal time of the floating objects
52613        https://bugs.webkit.org/show_bug.cgi?id=55440
52614
52615        We observered large overhead on traversing the floating objects list
52616        in logicalLeftOffsetForLine() and logicalRightOffsetForLine() especially
52617        when the list becomes enormous, for example in the default 30x30 maze test
52618        from http://ie.microsoft.com/testdrive/Performance/MazeSolver/Default.html
52619        there're >3700 floating objects. When placing a new floating object the
52620        entire list (from begin to end) is traversed for multiple times.
52621        There's a low hanging fruit to reduce the chances to do the traversal
52622        which is especially applicable in logicalLeftOffsetForLine and logicalRightOffsetForLine.
52623        As the two routines either cares about FloatLeft objects or FloatRight objects only,
52624        if we know there's no corresponding type floating objects in the list
52625        we can avoid the traversal actually. One thing we could do is to record
52626        the number of FloatLeft objects and the number of FloatRight objects and
52627        add a check before doing the traversal. This can reduce the time by 45%
52628        to resolve the 30x30 Maze measured on N470 Netbook MeeGo using latest
52629        Chromium browser 11 (from 503s to 269s).
52630
52631        No new tests, relying on existing layout tests.
52632
52633        * rendering/RenderBlock.cpp:
52634        (WebCore::RenderBlock::~RenderBlock):
52635        (WebCore::RenderBlock::addOverflowFromFloats):
52636        (WebCore::RenderBlock::repaintOverhangingFloats):
52637        (WebCore::RenderBlock::paintFloats):
52638        (WebCore::RenderBlock::selectionGaps):
52639        (WebCore::RenderBlock::insertFloatingObject):
52640        (WebCore::RenderBlock::removeFloatingObject):
52641        (WebCore::RenderBlock::removeFloatingObjectsBelow):
52642        (WebCore::RenderBlock::positionNewFloats):
52643        (WebCore::RenderBlock::positionNewFloatOnLine):
52644        (WebCore::RenderBlock::logicalLeftOffsetForLine):
52645        (WebCore::RenderBlock::logicalRightOffsetForLine):
52646        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
52647        (WebCore::RenderBlock::lowestFloatLogicalBottom):
52648        (WebCore::RenderBlock::clearFloats):
52649        (WebCore::RenderBlock::addOverhangingFloats):
52650        (WebCore::RenderBlock::addIntrudingFloats):
52651        (WebCore::RenderBlock::containsFloat):
52652        (WebCore::RenderBlock::hitTestFloats):
52653        (WebCore::RenderBlock::adjustForBorderFit):
52654        (WebCore::RenderBlock::FloatingObjects::clear):
52655        (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
52656        (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):
52657        * rendering/RenderBlock.h:
52658        (WebCore::RenderBlock::containsFloats):
52659        (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
52660        (WebCore::RenderBlock::FloatingObjects::hasLeftObjects):
52661        (WebCore::RenderBlock::FloatingObjects::hasRightObjects):
52662        (WebCore::RenderBlock::FloatingObjects::set):
52663        * rendering/RenderBlockLineLayout.cpp:
52664        (WebCore::RenderBlock::layoutInlineChildren):
52665        (WebCore::RenderBlock::matchedEndLine):
52666
526672011-03-04  Rik Cabanier  <cabanier@gmail.com>
52668
52669        Reviewed by David Hyatt.
52670
52671        Fix that allows fixed length values to be floating point
52672        https://bugs.webkit.org/show_bug.cgi?id=52699
52673
52674        * WebCore.xcodeproj/project.pbxproj:
52675        * css/CSSStyleSelector.cpp:
52676        (WebCore::convertToLength):
52677        (WebCore::convertToIntLength):
52678        (WebCore::convertToFloatLength):
52679        (WebCore::CSSStyleSelector::applyProperty):
52680        (WebCore::CSSStyleSelector::createTransformOperations):
52681        * platform/Length.h:
52682        (WebCore::Length::Length):
52683        (WebCore::Length::operator==):
52684        (WebCore::Length::operator!=):
52685        (WebCore::Length::rawValue):
52686        (WebCore::Length::type):
52687        (WebCore::Length::quirk):
52688        (WebCore::Length::setValue):
52689        (WebCore::Length::calcFloatValue):
52690        (WebCore::Length::isZero):
52691        (WebCore::Length::blend):
52692        (WebCore::Length::getIntValue):
52693        (WebCore::Length::getFloatValue):
52694        * rendering/AutoTableLayout.cpp:
52695        (WebCore::AutoTableLayout::recalcColumn):
52696        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
52697        * rendering/FixedTableLayout.cpp:
52698        (WebCore::FixedTableLayout::calcWidthArray):
52699
527002011-03-04  Steve Falkenburg  <sfalken@apple.com>
52701
52702        Reviewed by Jon Honeycutt.
52703
52704        Adopt VersionStamper tool for Windows WebKit DLLs
52705        https://bugs.webkit.org/show_bug.cgi?id=55784
52706
52707        We now use a tool to stamp the version number onto the Apple WebKit DLLs
52708        during the post-build step.
52709
52710        * WebCore.vcproj/QTMovieWin.rc: Removed.
52711        * WebCore.vcproj/QTMovieWin.vcproj:
52712        * WebCore.vcproj/QTMovieWinPostBuild.cmd: Stamp version with VersionStamper.
52713        * WebCore.vcproj/QTMovieWinPreBuild.cmd: Don't run auto-version.sh. We don't use autoversion.h in this project.
52714        * WebCore.vcproj/WebCoreMediaQT.vsprops: Remove unnecessary include paths for resource files.
52715
527162011-03-04  Cosmin Truta  <ctruta@chromium.org>
52717
52718        Reviewed by Adam Barth.
52719
52720        Clarify comment about potential memory leak in SVGImage
52721        https://bugs.webkit.org/show_bug.cgi?id=55362
52722
52723        No functionality change. No new tests.
52724
52725        * svg/graphics/SVGImage.cpp:
52726        (WebCore::SVGImage::dataChanged):
52727
527282011-03-04  Jessie Berlin  <jberlin@apple.com>
52729
52730        Reviewed by Maciej Stachowiak.
52731
52732        WebKit2: Use CFNetwork Sessions API.
52733        https://bugs.webkit.org/show_bug.cgi?id=55435.
52734
52735        When Private Browsing is enabled, get the cached url response from the cache associated with
52736        the Private Browsing Storage Session.
52737
52738        * WebCore.exp.in:
52739        Export the symbol for ResourceHandle::privateBrowsingStorageSession.
52740
527412011-03-04  Steve Block  <steveblock@google.com>
52742
52743        Reviewed by Jeremy Orlow.
52744
52745        JSC and V8 versions of Java bridge should share JobjectWrapper
52746        https://bugs.webkit.org/show_bug.cgi?id=55763
52747
52748        No new tests, refactoring only.
52749
52750        * Android.jscbindings.mk:
52751        * Android.v8bindings.mk:
52752        * WebCore.gypi:
52753        * WebCore.order:
52754        * WebCore.xcodeproj/project.pbxproj:
52755        * bridge/jni/JobjectWrapper.cpp:
52756        (JobjectWrapper::JobjectWrapper):
52757        (JobjectWrapper::~JobjectWrapper):
52758        * bridge/jni/JobjectWrapper.h:
52759        (JSC::Bindings::JobjectWrapper::instance):
52760        (JSC::Bindings::JobjectWrapper::setInstance):
52761        (JSC::Bindings::JobjectWrapper::ref):
52762        (JSC::Bindings::JobjectWrapper::deref):
52763        * bridge/jni/jsc/JNIBridgeJSC.cpp:
52764        (JavaField::JavaField):
52765        (JavaArray::JavaArray):
52766        * bridge/jni/jsc/JNIBridgeJSC.h:
52767        * bridge/jni/jsc/JavaInstanceJSC.cpp:
52768        (JavaInstance::JavaInstance):
52769        * bridge/jni/jsc/JavaInstanceJSC.h:
52770
527712011-03-04  Patrick Gansterer  <paroga@webkit.org>
52772
52773        Reviewed by Nikolas Zimmermann.
52774
52775        Move shared code into SVGStyledTransformableElement::svgAttributeChanged
52776        https://bugs.webkit.org/show_bug.cgi?id=55771
52777
52778        All sub classes of SVGStyledTransformableElement request a relayout
52779        the same way. So move that code into the common base class.
52780
52781        * svg/SVGCircleElement.cpp:
52782        (WebCore::SVGCircleElement::svgAttributeChanged):
52783        * svg/SVGEllipseElement.cpp:
52784        (WebCore::SVGEllipseElement::svgAttributeChanged):
52785        * svg/SVGForeignObjectElement.cpp:
52786        (WebCore::SVGForeignObjectElement::svgAttributeChanged):
52787        * svg/SVGGElement.cpp:
52788        (WebCore::SVGGElement::svgAttributeChanged):
52789        * svg/SVGImageElement.cpp:
52790        (WebCore::SVGImageElement::svgAttributeChanged):
52791        * svg/SVGLineElement.cpp:
52792        (WebCore::SVGLineElement::svgAttributeChanged):
52793        * svg/SVGPathElement.cpp:
52794        (WebCore::SVGPathElement::svgAttributeChanged):
52795        * svg/SVGPolyElement.cpp:
52796        (WebCore::SVGPolyElement::svgAttributeChanged):
52797        * svg/SVGRectElement.cpp:
52798        (WebCore::SVGRectElement::svgAttributeChanged):
52799        * svg/SVGStyledTransformableElement.cpp:
52800        (WebCore::SVGStyledTransformableElement::svgAttributeChanged):
52801        * svg/SVGStyledTransformableElement.h:
52802        * svg/SVGUseElement.cpp:
52803        (WebCore::SVGUseElement::svgAttributeChanged):
52804
528052011-03-03  John Abd-El-Malek  <jam@chromium.org>
52806
52807        Reviewed by Dimitri Glazkov.
52808
52809        [chromium] Get rid of IsContentFiltered flags since they&apos;re not used anymore
52810        https://bugs.webkit.org/show_bug.cgi?id=55748
52811
52812        * platform/network/chromium/ResourceResponse.cpp:
52813        (WebCore::ResourceResponse::doPlatformCopyData):
52814        (WebCore::ResourceResponse::doPlatformAdopt):
52815        * platform/network/chromium/ResourceResponse.h:
52816        (WebCore::ResourceResponse::ResourceResponse):
52817
528182011-03-03  Timothy Hatcher  <timothy@apple.com>
52819
52820        Export SerializedScriptValue::create(JSC::ExecState* exec, JSC::JSValue value).
52821
52822        Reviewed by Darin Adler.
52823
52824        * WebCore.exp.in: Added __ZN7WebCore21SerializedScriptValue6createEPN3JSC9ExecStateENS1_7JSValueE.
52825
528262011-03-04  Pavel Podivilov  <podivilov@chromium.org>
52827
52828        Reviewed by Yury Semikhatsky.
52829
52830        Web Inspector: extract all code that depends on source mapping from SourceFrame.
52831        https://bugs.webkit.org/show_bug.cgi?id=55464
52832
52833        Extract all dependencies on DebuggerModel and ScriptsPanel to a delegate class
52834        to encapsulate source mapping aspects from SourceFrame.
52835
52836        * inspector/front-end/ResourceView.js:
52837        (WebInspector.ResourceView.createResourceView):
52838        (WebInspector.SourceFrameDelegateForResourcesPanel):
52839        (WebInspector.SourceFrameDelegateForResourcesPanel.prototype.requestContent):
52840        * inspector/front-end/ScriptsPanel.js:
52841        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
52842        (WebInspector.SourceFrameDelegateForScriptsPanel):
52843        * inspector/front-end/SourceFrame.js:
52844        (WebInspector.SourceFrame):
52845        (WebInspector.SourceFrame.prototype.show):
52846        (WebInspector.SourceFrame.prototype._createTextViewer):
52847        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
52848        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
52849        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
52850        (WebInspector.SourceFrame.prototype._contextMenu.else.editBreakpointCondition):
52851        (WebInspector.SourceFrame.prototype._contextMenu.else.setBreakpointEnabled):
52852        (WebInspector.SourceFrame.prototype._contextMenu):
52853        (WebInspector.SourceFrame.prototype._mouseDown):
52854        (WebInspector.SourceFrame.prototype._mouseMove):
52855        (WebInspector.SourceFrame.prototype._hidePopup):
52856        (WebInspector.SourceFrame.prototype._mouseHover):
52857        (WebInspector.SourceFrame.prototype._showPopup.showObjectPopup):
52858        (WebInspector.SourceFrame.prototype._showPopup):
52859        (WebInspector.SourceFrame.prototype._doubleClick):
52860        (WebInspector.SourceFrame.prototype._didEditLine):
52861        (WebInspector.SourceFrameDelegate):
52862        (WebInspector.SourceFrameDelegate.prototype.requestContent):
52863        (WebInspector.SourceFrameDelegate.prototype.debuggingSupported):
52864        (WebInspector.SourceFrameDelegate.prototype.setBreakpoint):
52865        (WebInspector.SourceFrameDelegate.prototype.removeBreakpoint):
52866        (WebInspector.SourceFrameDelegate.prototype.updateBreakpoint):
52867        (WebInspector.SourceFrameDelegate.prototype.findBreakpoint):
52868        (WebInspector.SourceFrameDelegate.prototype.continueToLine):
52869        (WebInspector.SourceFrameDelegate.prototype.canEditScriptSource):
52870        (WebInspector.SourceFrameDelegate.prototype.editScriptSource):
52871        (WebInspector.SourceFrameDelegate.prototype.debuggerPaused):
52872        (WebInspector.SourceFrameDelegate.prototype.evaluate):
52873        (WebInspector.SourceFrameDelegate.prototype.releaseEvaluationResult):
52874
528752011-03-04  Andrey Kosyakov  <caseq@chromium.org>
52876
52877        Reviewed by Pavel Feldman.
52878
52879        Web Inspector: [Extensions API] maintain own, unique & persistent identifiers for resources.
52880        https://bugs.webkit.org/show_bug.cgi?id=55686
52881
52882        - Use internal ids for resources in extension server.
52883        - Log errors in inspector tests.
52884
52885        * inspector/front-end/ExtensionServer.js:
52886        (WebInspector.ExtensionServer):
52887        (WebInspector.ExtensionServer.prototype.resetResources):
52888        (WebInspector.ExtensionServer.prototype._notifyResourceFinished):
52889        (WebInspector.ExtensionServer.prototype._onRevealAndSelectResource):
52890        (WebInspector.ExtensionServer.prototype._onGetHAR):
52891        (WebInspector.ExtensionServer.prototype._onGetResourceContent):
52892        (WebInspector.ExtensionServer.prototype._resourceId):
52893        (WebInspector.ExtensionServer.prototype._resourceById):
52894        * inspector/front-end/HAREntry.js:
52895        (WebInspector.HARLog):
52896        (WebInspector.HARLog.prototype._convertResource):
52897        * inspector/front-end/NetworkPanel.js:
52898        (WebInspector.NetworkPanel.prototype._reset):
52899
529002011-03-04  Andrey Kosyakov  <caseq@chromium.org>
52901
52902        Reviewed by Pavel Feldman.
52903
52904        Web Inspector: exceptions when building context menu in network panel
52905        https://bugs.webkit.org/show_bug.cgi?id=55678
52906
52907        * inspector/front-end/DataGrid.js:
52908        (WebInspector.DataGrid.prototype.dataGridNodeFromNode):
52909        (WebInspector.DataGrid.prototype.dataGridNodeFromPoint):
52910        * inspector/front-end/NetworkPanel.js:
52911        (WebInspector.NetworkPanel.prototype._contextMenu):
52912
529132011-03-04  Ilya Sherman  <isherman@chromium.org>
52914
52915        Reviewed by James Robinson.
52916
52917        Override paintScrollCorner() for FramelessScrollView to forego any custom scrollbar corner rendering.
52918        This was previously done in ScrollbarThemeChromium, but we also need this on the Mac when the ScrollView
52919        is a FramelessScrollView -- which is mostly just for Autofill.
52920        In service of http://crbug.com/73772 (crash)
52921        https://bugs.webkit.org/show_bug.cgi?id=55557
52922
52923        No tests added because this fix is Chromium-specific and the code is currently untestable from within WebKit.
52924        In particular, DRT crashes when trying to render a FramelessScrollView.
52925
52926        * platform/ScrollbarTheme.h:
52927        (WebCore::ScrollbarTheme::paintScrollCorner): Body moved to static function defaultPaintScrollCorner().
52928        (WebCore::ScrollbarTheme::defaultPaintScrollCorner): Added.
52929        * platform/chromium/FramelessScrollView.cpp:
52930        (WebCore::FramelessScrollView::paintContents):
52931        (WebCore::FramelessScrollView::paintScrollCorner): Fix implementation moved to here from ScrollbarThemeChromium
52932        * platform/chromium/FramelessScrollView.h:
52933        * platform/chromium/ScrollbarThemeChromium.cpp:
52934        * platform/chromium/ScrollbarThemeChromium.h:
52935
529362011-03-04  Yury Semikhatsky  <yurys@chromium.org>
52937
52938        Reviewed by Pavel Feldman.
52939
52940        Web Inspector: move dispatching of didCommitLoad to agents into InspectorInstrumentation
52941        https://bugs.webkit.org/show_bug.cgi?id=55770
52942
52943        * inspector/InspectorAgent.cpp:
52944        (WebCore::InspectorAgent::InspectorAgent):
52945        (WebCore::InspectorAgent::didCommitLoad):
52946        * inspector/InspectorCSSAgent.cpp:
52947        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
52948        (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
52949        * inspector/InspectorCSSAgent.h:
52950        * inspector/InspectorDatabaseAgent.cpp:
52951        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
52952        * inspector/InspectorInstrumentation.cpp:
52953        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
52954        * inspector/InspectorInstrumentation.h:
52955        (WebCore::InspectorInstrumentation::didCommitLoad):
52956        * inspector/InspectorProfilerAgent.cpp:
52957        (WebCore::InspectorProfilerAgent::create):
52958        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
52959        (WebCore::InspectorProfilerAgent::~InspectorProfilerAgent):
52960        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
52961        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
52962        (WebCore::InspectorProfilerAgent::startUserInitiatedProfiling):
52963        (WebCore::InspectorProfilerAgent::stopUserInitiatedProfiling):
52964        * inspector/InspectorProfilerAgent.h:
52965        * inspector/InstrumentingAgents.h:
52966        (WebCore::InstrumentingAgents::InstrumentingAgents):
52967        (WebCore::InstrumentingAgents::inspectorCSSAgent):
52968        (WebCore::InstrumentingAgents::setInspectorCSSAgent):
52969        (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
52970        (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
52971        (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
52972        (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
52973        (WebCore::InstrumentingAgents::inspectorApplicationCacheAgent):
52974        (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
52975        (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
52976        (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
52977        (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
52978        (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
52979        (WebCore::InstrumentingAgents::inspectorProfilerAgent):
52980        (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
52981
529822011-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
52983
52984        Reviewed by Yury Semikhatsky.
52985
52986        Web Inspector: rename RuntimeAgent's function from releaseWrapperObjectGroup to releaseObjectGroup.
52987        https://bugs.webkit.org/show_bug.cgi?id=55773
52988
52989        * inspector/CodeGeneratorInspector.pm:
52990        * inspector/InjectedScript.cpp:
52991        (WebCore::InjectedScript::releaseObjectGroup):
52992        * inspector/InjectedScript.h:
52993        * inspector/InjectedScriptHost.cpp:
52994        (WebCore::InjectedScriptHost::releaseObjectGroup):
52995        * inspector/InjectedScriptHost.h:
52996        * inspector/InjectedScriptSource.js:
52997        (.):
52998        * inspector/Inspector.idl:
52999        * inspector/InspectorConsoleAgent.cpp:
53000        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
53001        * inspector/InspectorRuntimeAgent.cpp:
53002        (WebCore::InspectorRuntimeAgent::releaseObjectGroup):
53003        * inspector/InspectorRuntimeAgent.h:
53004        * inspector/front-end/ConsoleView.js:
53005        (WebInspector.ConsoleView.prototype.completions.evaluatedProperties):
53006        (WebInspector.ConsoleView.prototype.completions):
53007        * inspector/front-end/PropertiesSidebarPane.js:
53008        * inspector/front-end/SourceFrame.js:
53009        (WebInspector.SourceFrame.prototype._hidePopup):
53010        * inspector/front-end/WatchExpressionsSidebarPane.js:
53011        (WebInspector.WatchExpressionsSection.prototype.update):
53012
530132011-03-02  Andrey Adaikin  <aandrey@google.com>
53014
53015        Reviewed by Pavel Feldman.
53016
53017        Web Inspector: Gutter height should be 100% when few lines are displayed
53018        https://bugs.webkit.org/show_bug.cgi?id=55574
53019
53020        * inspector/front-end/SourceFrame.js:
53021        (WebInspector.SourceFrame.prototype._startEditing):
53022        * inspector/front-end/TextViewer.js:
53023        (WebInspector.TextViewer.prototype._syncScroll):
53024        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
53025        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
53026        (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
53027        * inspector/front-end/textViewer.css:
53028        (.text-editor-lines):
53029        (.text-editor-contents .inner-container):
53030        (.webkit-line-number):
53031
530322011-03-04  Andrey Adaikin  <aandrey@google.com>
53033
53034        Reviewed by Pavel Feldman.
53035
53036        Web Inspector: [Text editor] Do bisect to find visible chunks
53037        https://bugs.webkit.org/show_bug.cgi?id=55685
53038
53039        * inspector/front-end/TextViewer.js:
53040        (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
53041        (WebInspector.TextEditorChunkedPanel.prototype._findVisibleChunks):
53042        (WebInspector.TextEditorChunkedPanel.prototype._repaintAll):
53043        (WebInspector.TextEditorGutterChunk.prototype.get offsetTop):
53044        (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
53045        (WebInspector.TextEditorMainChunk.prototype.get offsetTop):
53046
530472011-03-04  Andrey Adaikin  <aandrey@google.com>
53048
53049        Reviewed by Pavel Feldman.
53050
53051        Web Inspector: [Text editor] DOMNodeRemoved events are missing
53052        https://bugs.webkit.org/show_bug.cgi?id=55769
53053
53054        * inspector/front-end/TextViewer.js:
53055        (WebInspector.TextEditorMainPanel):
53056        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
53057        (WebInspector.TextEditorMainChunk):
53058        (WebInspector.TextEditorMainChunk.prototype._createRow):
53059
530602011-03-04  Ilya Tikhonovsky  <loislo@chromium.org>
53061
53062        Reviewed by Yury Semikhatsky.
53063
53064        Web Inspector: Remove unnecessary domain and success flags from the response messages.
53065        https://bugs.webkit.org/show_bug.cgi?id=55768
53066
53067        We have domain property in the response messages but it is not used because we dispatch
53068        the responses on the callback associated with seq.
53069
53070        If we have property 'errors' in the response then success eq false and true in the other case.
53071
53072        * inspector/CodeGeneratorInspector.pm:
53073
530742011-03-04  Christian Dywan  <christian@lanedo.com>
53075
53076        Reviewed by Gustavo Noronha Silva.
53077
53078        Enable Copy Image Address context menu item in the Gtk port
53079        https://bugs.webkit.org/show_bug.cgi?id=55136
53080
53081        * page/ContextMenuController.cpp:
53082        * platform/ContextMenuItem.h:
53083        * platform/LocalizationStrategy.h:
53084        * platform/LocalizedStrings.cpp:
53085        * platform/LocalizedStrings.h:
53086        * platform/gtk/ContextMenuItemGtk.cpp:
53087        * platform/gtk/LocalizedStringsGtk.cpp:
53088
530892011-03-04  Pavel Feldman  <pfeldman@chromium.org>
53090
53091        Reviewed by Yury Semikhatsky.
53092
53093        Web Inspector: implement getCompletions via evaluate.
53094        https://bugs.webkit.org/show_bug.cgi?id=55759
53095
53096        * inspector/InjectedScript.cpp:
53097        * inspector/InjectedScript.h:
53098        * inspector/InjectedScriptSource.js:
53099        * inspector/Inspector.idl:
53100        * inspector/InspectorDebuggerAgent.cpp:
53101        * inspector/InspectorDebuggerAgent.h:
53102        * inspector/InspectorRuntimeAgent.cpp:
53103        * inspector/InspectorRuntimeAgent.h:
53104        * inspector/front-end/ConsoleView.js:
53105        (WebInspector.ConsoleView.prototype.completions.evaluated):
53106        (WebInspector.ConsoleView.prototype.completions.evaluatedProperties):
53107        (WebInspector.ConsoleView.prototype.completions):
53108        (WebInspector.ConsoleView.prototype._reportCompletions):
53109        * inspector/front-end/ScriptsPanel.js:
53110        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame.updatingCallbackWrapper):
53111        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
53112        * inspector/front-end/SourceFrame.js:
53113        (WebInspector.SourceFrame.prototype._showPopup):
53114        (WebInspector.SourceFrame.prototype._evalSelectionInCallFrame):
53115
531162011-03-04  Steve Block  <steveblock@google.com>
53117
53118        Reviewed by Jeremy Orlow.
53119
53120        V8 version of JavaString should obtain string from JNI in UTF-16 encoding
53121        https://bugs.webkit.org/show_bug.cgi?id=55566
53122
53123        We obtain the string from JNI in UTF-16 encoding and convert
53124        to UTF-8 using our own routines as required. This matches the
53125        behaviour of the JSC version of JavaString.
53126
53127        No new tests, no change in behaviour.
53128
53129        * bridge/jni/v8/JavaStringV8.h:
53130        (JSC::Bindings::JavaStringImpl::init):
53131        (JSC::Bindings::JavaStringImpl::utf8):
53132        (JSC::Bindings::JavaStringImpl::impl):
53133
531342011-03-03  Pavel Feldman  <pfeldman@chromium.org>
53135
53136        Reviewed by Yury Semikhatsky.
53137
53138        Web Inspector: do not push document into front-end, make it request one.
53139        https://bugs.webkit.org/show_bug.cgi?id=55664
53140
53141        * inspector/Inspector.idl:
53142        * inspector/InspectorAgent.cpp:
53143        (WebCore::InspectorAgent::InspectorAgent):
53144        * inspector/InspectorAgent.h:
53145        * inspector/InspectorBrowserDebuggerAgent.cpp:
53146        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
53147        * inspector/InspectorDOMAgent.cpp:
53148        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
53149        (WebCore::InspectorDOMAgent::clearFrontend):
53150        (WebCore::InspectorDOMAgent::setDocument):
53151        (WebCore::InspectorDOMAgent::getDocument):
53152        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
53153        (WebCore::InspectorDOMAgent::boundNodeId):
53154        (WebCore::InspectorDOMAgent::resolveNode):
53155        (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
53156        * inspector/InspectorDOMAgent.h:
53157        (WebCore::InspectorDOMAgent::create):
53158        * inspector/front-end/BreakpointManager.js:
53159        (WebInspector.BreakpointManager.prototype.restoreDOMBreakpoints):
53160        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement.decorateNode):
53161        (WebInspector.DOMBreakpointView.prototype.populateStatusMessageElement):
53162        * inspector/front-end/DOMAgent.js:
53163        (WebInspector.DOMDocument):
53164        (WebInspector.DOMAgent):
53165        (WebInspector.DOMAgent.prototype.requestDocument):
53166        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
53167        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
53168        (WebInspector.DOMAgent.prototype._attributesUpdated):
53169        (WebInspector.DOMAgent.prototype._characterDataModified):
53170        (WebInspector.DOMAgent.prototype._documentUpdated):
53171        (WebInspector.DOMAgent.prototype._setDocument):
53172        (WebInspector.DOMAgent.prototype._setDetachedRoot):
53173        (WebInspector.DOMAgent.prototype._setChildNodes):
53174        (WebInspector.DOMAgent.prototype._childNodeInserted):
53175        (WebInspector.DOMAgent.prototype._childNodeRemoved):
53176        (WebInspector.DOMDispatcher.prototype.documentUpdated):
53177        * inspector/front-end/ElementsPanel.js:
53178        (WebInspector.ElementsPanel.prototype.show):
53179        (WebInspector.ElementsPanel.prototype.setDocument):
53180        * inspector/front-end/MetricsSidebarPane.js:
53181        * inspector/front-end/RemoteObject.js:
53182        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
53183
531842011-03-04  Andrey Kosyakov  <caseq@chromium.org>
53185
53186        Reviewed by Pavel Feldman.
53187
53188        Web Inspector: summary bar may overlap content of the network item view
53189        https://bugs.webkit.org/show_bug.cgi?id=55656
53190
53191        - drop custom summary bar placement logic, do it with CSS instead.
53192
53193        * inspector/front-end/NetworkPanel.js:
53194        (WebInspector.NetworkPanel.prototype.resize):
53195        (WebInspector.NetworkPanel.prototype._createSummaryBar):
53196        (WebInspector.NetworkPanel.prototype._updateSummaryBar):
53197        (WebInspector.NetworkPanel.prototype._updateFilter):
53198        (WebInspector.NetworkPanel.prototype.show):
53199        (WebInspector.NetworkPanel.prototype.refresh):
53200        (WebInspector.NetworkPanel.prototype._reset):
53201        (WebInspector.NetworkPanel.prototype._setLargerResources):
53202        (WebInspector.NetworkPanel.prototype._updateOffscreenRows):
53203        * inspector/front-end/networkPanel.css:
53204        (.network-sidebar .data-grid td):
53205        (.network-sidebar tr.filler td):
53206        (.network-summary-bar):
53207        (.network-sidebar .data-grid .network-summary-bar td):
53208        (.network-summary-bar img):
53209
532102011-03-04  James Su <suzhe@chromium.org>
53211
53212        Reviewed by Dimitri Glazkov.
53213
53214        [Chromium] keycode is always 0 when using non-Latin keyboard layout.
53215        https://bugs.webkit.org/show_bug.cgi?id=54939
53216
53217        Add KeyEventCocoa.{h,mm}, so that we can reuse them in chromium.
53218
53219        No intended functionality change.
53220
53221        * WebCore.gyp/WebCore.gyp:
53222        * WebCore.gypi:
53223
532242011-03-04  Patrick Gansterer  <paroga@webkit.org>
53225
53226        Unreviewed EFL build fix for r80324.
53227
53228        * platform/efl/RenderThemeEfl.cpp:
53229        (WebCore::RenderThemeEfl::paintThemePart):
53230
532312011-03-04  Patrick Gansterer  <paroga@webkit.org>
53232
53233        Unreviewed EFL build fix for r80324.
53234
53235        * platform/efl/RenderThemeEfl.cpp:
53236        (WebCore::RenderThemeEfl::paintThemePart):
53237
532382011-03-03  Yury Semikhatsky  <yurys@chromium.org>
53239
53240        Reviewed by Pavel Feldman.
53241
53242        Web Inspector: AppCache agent should have same lifetime as InspectorAgent
53243        https://bugs.webkit.org/show_bug.cgi?id=55673
53244
53245        * inspector/InspectorAgent.cpp:
53246        (WebCore::InspectorAgent::InspectorAgent):
53247        (WebCore::InspectorAgent::setFrontend):
53248        (WebCore::InspectorAgent::disconnectFrontend):
53249        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
53250        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
53251        (WebCore::InspectorAgent::didCommitLoad):
53252        * inspector/InspectorApplicationCacheAgent.cpp:
53253        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
53254        (WebCore::InspectorApplicationCacheAgent::setFrontend):
53255        (WebCore::InspectorApplicationCacheAgent::clearFrontend):
53256        * inspector/InspectorApplicationCacheAgent.h:
53257        * inspector/InspectorInstrumentation.cpp:
53258        (WebCore::InspectorInstrumentation::networkStateChangedImpl):
53259        (WebCore::InspectorInstrumentation::updateApplicationCacheStatusImpl):
53260        * inspector/InstrumentingAgents.h:
53261        (WebCore::InstrumentingAgents::inspectorApplicationCacheAgent):
53262        (WebCore::InstrumentingAgents::setInspectorApplicationCacheAgent):
53263
532642011-03-03  Brian Weinstein  <bweinstein@apple.com>
53265
53266        Reviewed by Adam Roben.
53267
53268        Cleanup from https://bugs.webkit.org/show_bug.cgi?id=55427.
53269
53270        Call WebCore::startObservingCookieChanges and WebCore::stopObservingCookieChanges
53271        on all platforms, and stub the functions on platforms that don't implement them.
53272
53273        Add startObservingCookieChanges and stopObservingCookieChanges to TemporaryLinkStubs
53274        for platforms that don't implement them.
53275
53276        * platform/android/TemporaryLinkStubs.cpp:
53277        * platform/brew/TemporaryLinkStubs.cpp:
53278        * platform/chromium/TemporaryLinkStubs.cpp:
53279        * platform/efl/TemporaryLinkStubs.cpp:
53280        * platform/gtk/TemporaryLinkStubs.cpp:
53281        * platform/haiku/TemporaryLinkStubs.cpp:
53282        * platform/qt/TemporaryLinkStubsQt.cpp:
53283        * platform/win/TemporaryLinkStubs.cpp:
53284
532852011-03-03  Eric Seidel  <eric@webkit.org>
53286
53287        Reviewed by Dimitri Glazkov.
53288
53289        Refactor createRendererIfNeeded to avoid premature nextRenderer calculation
53290        https://bugs.webkit.org/show_bug.cgi?id=55720
53291
53292        There are two thing going on here:
53293        1. Delaying nextRenderer calculation until we actually use it,
53294           previously we would always compute nextRenderer (expensive!)
53295           even if no renderer insertion was to occur.
53296        2. Fix fullscreen elements to be inserted into the right place
53297           in the rendering tree.  Previously they would always be the last
53298           child in their parent's list, even if that wasn't the right place.
53299
53300        I don't know of any way to trigger the fullscreen bug,
53301        but I tested this with peacekeeper and saw no performance change.
53302
53303        Peacekeeper's domJQueryBasics is now possibly as much as 2% faster
53304        but I don't really trust the stability of peacekeeper to begin with.
53305
53306        This paves the way for further improvement in our nextRenderer calculation.
53307
53308        * dom/Node.cpp:
53309        (WebCore::Node::attach):
53310        (WebCore::Node::previousRenderer):
53311        (WebCore::Node::nextRenderer):
53312        (WebCore::Node::createRendererAndStyle):
53313        (WebCore::wrapWithRenderFullScreen):
53314        (WebCore::Node::createRendererIfNeeded):
53315        * dom/Node.h:
53316
533172011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
53318
53319        Reviewed by Darin Adler.
53320
53321        Remove LOOSE_PASS_OWN_ARRAY_PTR from PassOwnArrayPtr.h
53322        https://bugs.webkit.org/show_bug.cgi?id=55554
53323
53324        * platform/Length.cpp:
53325        (WebCore::newLengthArray): Pass nullptr instead of 0.
53326
533272011-03-03  Nat Duca  <nduca@chromium.org>
53328
53329        Reviewed by James Robinson.
53330
53331        [chromium] Create a LayerChromium layerTreeAsText. Add HUD to
53332        LayerRendererChromium that draws compositor FPS and, optionally,
53333        the layer tree.
53334        https://bugs.webkit.org/show_bug.cgi?id=54710
53335
53336        * WebCore.gypi:
53337        * platform/graphics/chromium/Canvas2DLayerChromium.h:
53338        (WebCore::Canvas2DLayerChromium::drawsContent):
53339        * platform/graphics/chromium/CanvasLayerChromium.h:
53340        (WebCore::CanvasLayerChromium::layerTypeAsString):
53341        * platform/graphics/chromium/ContentLayerChromium.cpp:
53342        (WebCore::writeIndent):
53343        (WebCore::ContentLayerChromium::dumpLayerProperties):
53344        * platform/graphics/chromium/ContentLayerChromium.h:
53345        (WebCore::ContentLayerChromium::drawsContent):
53346        (WebCore::ContentLayerChromium::layerTypeAsString):
53347        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
53348        (WebCore::GraphicsLayerChromium::setName):
53349        (WebCore::GraphicsLayerChromium::updateNames):
53350        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
53351        (WebCore::GraphicsLayerChromium::setupContentsLayer):
53352        * platform/graphics/chromium/GraphicsLayerChromium.h:
53353        * platform/graphics/chromium/ImageLayerChromium.h:
53354        (WebCore::ImageLayerChromium::drawsContent):
53355        (WebCore::ImageLayerChromium::layerTypeAsString):
53356        * platform/graphics/chromium/LayerChromium.cpp:
53357        (WebCore::LayerChromium::LayerChromium):
53358        (WebCore::LayerChromium::setName):
53359        (WebCore::LayerChromium::layerTreeAsText):
53360        (WebCore::writeIndent):
53361        (WebCore::LayerChromium::dumpLayer):
53362        (WebCore::LayerChromium::dumpLayerProperties):
53363        * platform/graphics/chromium/LayerChromium.h:
53364        (WebCore::LayerChromium::name):
53365        (WebCore::LayerChromium::drawsContent):
53366        (WebCore::LayerChromium::debugID):
53367        (WebCore::LayerChromium::layerTypeAsString):
53368        * platform/graphics/chromium/LayerRendererChromium.cpp:
53369        (WebCore::LayerRendererChromium::LayerRendererChromium):
53370        (WebCore::LayerRendererChromium::~LayerRendererChromium):
53371        (WebCore::LayerRendererChromium::drawLayers):
53372        (WebCore::LayerRendererChromium::present):
53373        (WebCore::LayerRendererChromium::layerTreeAsText):
53374        (WebCore::LayerRendererChromium::dumpRenderSurfaces):
53375        * platform/graphics/chromium/LayerRendererChromium.h:
53376        (WebCore::LayerRendererChromium::getHeadsUpDisplay):
53377        (WebCore::LayerRendererChromium::rootVisibleRect):
53378        * platform/graphics/chromium/PluginLayerChromium.h:
53379        (WebCore::PluginLayerChromium::drawsContent):
53380        (WebCore::PluginLayerChromium::layerTypeAsString):
53381        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
53382        (WebCore::RenderSurfaceChromium::name):
53383        (WebCore::writeIndent):
53384        (WebCore::RenderSurfaceChromium::dumpSurface):
53385        * platform/graphics/chromium/RenderSurfaceChromium.h:
53386        * platform/graphics/chromium/VideoLayerChromium.h:
53387        (WebCore::VideoLayerChromium::drawsContent):
53388        (WebCore::VideoLayerChromium::layerTypeAsString):
53389        * platform/graphics/chromium/WebGLLayerChromium.h:
53390        (WebCore::WebGLLayerChromium::drawsContent):
53391        (WebCore::WebGLLayerChromium::layerTypeAsString):
53392        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp: Added.
53393        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
53394        (WebCore::CCHeadsUpDisplay::~CCHeadsUpDisplay):
53395        (WebCore::CCHeadsUpDisplay::draw):
53396        (WebCore::CCHeadsUpDisplay::drawHudContents):
53397        (WebCore::CCHeadsUpDisplay::onPresent):
53398        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h: Added.
53399        (WebCore::CCHeadsUpDisplay::setShowFPSCounter):
53400        (WebCore::CCHeadsUpDisplay::showFPSCounter):
53401        (WebCore::CCHeadsUpDisplay::setShowPlatformLayerTree):
53402        (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
53403        (WebCore::CCHeadsUpDisplay::enabled):
53404        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
53405        (WebCore::CCLayerImpl::CCLayerImpl):
53406        (WebCore::writeIndent):
53407        (WebCore::CCLayerImpl::dumpLayerProperties):
53408        * platform/graphics/chromium/cc/CCLayerImpl.h:
53409        (WebCore::CCLayerImpl::debugID):
53410        (WebCore::CCLayerImpl::setName):
53411        (WebCore::CCLayerImpl::name):
53412
534132011-03-02  Ojan Vafai  <ojan@chromium.org>
53414
53415        Reviewed by Darin Adler.
53416
53417        crash in adoptNode with mutation events
53418        https://bugs.webkit.org/show_bug.cgi?id=50046
53419
53420        If the DOM is modified during the removeChild call in adoptNode,
53421        then the setDocument call that follows can leave the DOM in an
53422        inconsistent state.
53423
53424        * dom/Document.cpp:
53425        (WebCore::Document::adoptNode):
53426
534272011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
53428
53429        Reviewed by Darin Adler.
53430
53431        Add audio tag tests to the media controls manual test suite.
53432        https://bugs.webkit.org/show_bug.cgi?id=55722
53433
53434        * manual-tests/media-controls.html: Added 4 audio tests.
53435
534362011-03-03  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
53437
53438        Reviewed by Eric Seidel.
53439
53440        [EFL] Adjust functions of RenderThemeEfl.cpp to WebKit parameter style
53441        https://bugs.webkit.org/show_bug.cgi?id=54392
53442
53443        Functions of RenderThemeEfl.cpp adhere efl coding style instead of WebKit coding style.
53444        WebCore's functions should adhere WebKit coding style.
53445
53446        * platform/efl/RenderThemeEfl.cpp:
53447        (WebCore::RenderThemeEfl::themePartCacheEntryReset):
53448        (WebCore::RenderThemeEfl::themePartCacheEntrySurfaceCreate):
53449        (WebCore::RenderThemeEfl::cacheThemePartNew):
53450        (WebCore::RenderThemeEfl::cacheThemePartReset):
53451        (WebCore::RenderThemeEfl::cacheThemePartResizeAndReset):
53452        (WebCore::RenderThemeEfl::cacheThemePartGet):
53453        (WebCore::RenderThemeEfl::cacheThemePartFlush):
53454        (WebCore::RenderThemeEfl::applyEdjeStateFromForm):
53455        (WebCore::RenderThemeEfl::paintThemePart):
53456        (WebCore::renderThemeEflColorClassSelectionActive):
53457        (WebCore::renderThemeEflColorClassSelectionInactive):
53458        (WebCore::renderThemeEflColorClassFocusRing):
53459        (WebCore::renderThemeEflColorClassButtonText):
53460        (WebCore::renderThemeEflColorClassComboText):
53461        (WebCore::renderThemeEflColorClassEntryText):
53462        (WebCore::renderThemeEflColorClassSearchText):
53463        (WebCore::RenderThemeEfl::applyPartDescription):
53464        (WebCore::RenderThemeEfl::applyPartDescriptions):
53465        (WebCore::RenderThemeEfl::controlSupportsTints):
53466        (WebCore::RenderThemeEfl::baselinePosition):
53467        (WebCore::RenderThemeEfl::paintSliderTrack):
53468        (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
53469        (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
53470        (WebCore::RenderThemeEfl::paintSliderThumb):
53471        (WebCore::RenderThemeEfl::adjustCheckboxStyle):
53472        (WebCore::RenderThemeEfl::paintCheckbox):
53473        (WebCore::RenderThemeEfl::adjustRadioStyle):
53474        (WebCore::RenderThemeEfl::paintRadio):
53475        (WebCore::RenderThemeEfl::adjustButtonStyle):
53476        (WebCore::RenderThemeEfl::paintButton):
53477        (WebCore::RenderThemeEfl::adjustMenuListStyle):
53478        (WebCore::RenderThemeEfl::paintMenuList):
53479        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
53480        (WebCore::RenderThemeEfl::paintTextField):
53481        (WebCore::RenderThemeEfl::adjustTextAreaStyle):
53482        (WebCore::RenderThemeEfl::paintTextArea):
53483        (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
53484        (WebCore::RenderThemeEfl::paintSearchFieldDecoration):
53485        (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
53486        (WebCore::RenderThemeEfl::paintSearchFieldResultsButton):
53487        (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
53488        (WebCore::RenderThemeEfl::paintSearchFieldResultsDecoration):
53489        (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
53490        (WebCore::RenderThemeEfl::paintSearchFieldCancelButton):
53491        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
53492        (WebCore::RenderThemeEfl::paintSearchField):
53493        (WebCore::RenderThemeEfl::adjustProgressBarStyle):
53494        (WebCore::RenderThemeEfl::paintProgressBar):
53495        (WebCore::RenderThemeEfl::paintMediaFullscreenButton):
53496        (WebCore::RenderThemeEfl::paintMediaMuteButton):
53497        (WebCore::RenderThemeEfl::paintMediaPlayButton):
53498        (WebCore::RenderThemeEfl::paintMediaSeekBackButton):
53499        (WebCore::RenderThemeEfl::paintMediaSeekForwardButton):
53500        (WebCore::RenderThemeEfl::paintMediaSliderTrack):
53501        (WebCore::RenderThemeEfl::paintMediaSliderThumb):
53502        (WebCore::RenderThemeEfl::paintMediaVolumeSliderContainer):
53503        (WebCore::RenderThemeEfl::paintMediaVolumeSliderTrack):
53504        (WebCore::RenderThemeEfl::paintMediaVolumeSliderThumb):
53505        (WebCore::RenderThemeEfl::paintMediaCurrentTime):
53506
535072011-03-03  Andy Estes  <aestes@apple.com>
53508
53509        Reviewed by Adam Barth.
53510
53511        Assertion failure in toElement(WebCore::Node*)
53512        https://bugs.webkit.org/show_bug.cgi?id=55697
53513
53514        Test: fast/parser/fragment-foreign-content.html
53515
53516        * html/parser/HTMLTreeBuilder.cpp:
53517        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken): The current
53518        element in the HTMLElementStack might be a DocumentFragment if a
53519        fragment is being parsed who's first node is foreign content.
53520
535212011-03-03  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
53522
53523        Reviewed by Kenneth Rohde Christiansen.
53524
53525        [QT] Implement mock client-based geolocation for layout testing
53526        https://bugs.webkit.org/show_bug.cgi?id=54334
53527
53528        Implements client() to GeolocationController to re-use geolocationClientMock class
53529        for layout testing purpose.
53530
53531        * page/GeolocationController.h:
53532        (WebCore::GeolocationController::client):
53533
535342011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
53535
53536        Reviewed by Kent Tamura.
53537
53538        Stop calling deprecatedNode and deprecatedEditingOffset in InsertTextCommand
53539        https://bugs.webkit.org/show_bug.cgi?id=55352
53540
53541        Stopped calling deprecatedNode and deprecatedEditingOffset in the following functions:
53542
53543        * editing/CompositeEditCommand.cpp:
53544        (WebCore::CompositeEditCommand::positionOutsideTabSpan): Takes care of all types of positions and
53545        no longer calls deprecated functions.
53546        * editing/InsertTextCommand.cpp:
53547        (WebCore::InsertTextCommand::positionInsideTextNode): Ditto; renamed from prepareForTextInsertion.
53548        Check if the text node inside a tab span before checking if the container node is a text node
53549        because the position before or after a text node can still be inside a tab span.
53550        (WebCore::InsertTextCommand::input): No longer calls deprecated functions.
53551        * editing/InsertTextCommand.h:
53552        * editing/ModifySelectionListLevel.cpp:
53553        (WebCore::getStartEndListChildren): Call anchorNode() instead of deprecatedNode() because the start
53554        or the end of selection could be an immediate child of a list node (e.g. br inside ul)
53555
535562011-03-03  Hans Wennborg  <hans@chromium.org>
53557
53558        Reviewed by Jeremy Orlow.
53559
53560        IndexedDB: Move last bits of SQL into IDBBackingStore
53561        https://bugs.webkit.org/show_bug.cgi?id=55668
53562
53563        After this, all SQL code for IndexedDB is in IDBBackingStore.cpp.
53564
53565        No new tests: refactoring only.
53566
53567        * storage/IDBBackingStore.cpp:
53568        (WebCore::IDBBackingStore::createTransaction):
53569        * storage/IDBBackingStore.h:
53570        * storage/IDBCursorBackendImpl.h:
53571        * storage/IDBDatabaseBackendImpl.cpp:
53572        (WebCore::IDBDatabaseBackendImpl::backingStore):
53573        * storage/IDBDatabaseBackendImpl.h:
53574        * storage/IDBIndexBackendImpl.h:
53575        * storage/IDBKey.h:
53576        * storage/IDBObjectStoreBackendImpl.h:
53577        * storage/IDBTransactionBackendImpl.cpp:
53578        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
53579        * storage/IDBTransactionBackendImpl.h:
53580        * storage/IDBTransactionBackendInterface.h:
53581        * storage/IDBTransactionCoordinator.cpp:
53582
535832011-03-03  Adam Klein  <adamk@chromium.org>
53584
53585        Reviewed by David Levin.
53586
53587        [fileapi] Tighten up ResolveURICallbacks
53588        https://bugs.webkit.org/show_bug.cgi?id=55638
53589
53590        Two changes:
53591          - Retry only on TYPE_MISMATCH_ERR now that Chromium
53592            properly sets that error code.
53593          - Call DirectoryEntry instead of DOMFileSystem methods.
53594
53595        No change in behavior, so no new tests.
53596
53597        * fileapi/FileSystemCallbacks.cpp:
53598        (WebCore::ResolveURICallbacks::didOpenFileSystem):
53599
536002011-03-03  Anders Carlsson  <andersca@apple.com>
53601
53602        Reviewed by Sam Weinig.
53603
53604        Get rid of Page::globalHistoryItem
53605        https://bugs.webkit.org/show_bug.cgi?id=55738
53606
53607        The m_globalHistoryItem is only used by Mac and Windows WebKit1.
53608        Instead of having WebCore updating this member variable, just call out
53609        to a FrameLoaderClient member function and let WebKit keep it up to date.
53610
53611        * loader/EmptyClients.h:
53612        (WebCore::EmptyFrameLoaderClient::dispatchDidRemoveBackForwardItem):
53613        (WebCore::EmptyFrameLoaderClient::updateGlobalHistoryItemForPage):
53614        * loader/FrameLoader.cpp:
53615        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
53616        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
53617        * loader/FrameLoaderClient.h:
53618        (WebCore::FrameLoaderClient::updateGlobalHistoryItemForPage):
53619        * loader/HistoryController.cpp:
53620        (WebCore::HistoryController::goToItem):
53621        (WebCore::HistoryController::updateForStandardLoad):
53622        (WebCore::HistoryController::updateForRedirectWithLockedBackForwardList):
53623        * page/Page.cpp:
53624        * page/Page.h:
53625
536262011-03-02  Jeremy Orlow  <jorlow@chromium.org>
53627
53628        Reviewed by Steve Block.
53629
53630        Cursor.continue with a key param should test less than, not equal to
53631        https://bugs.webkit.org/show_bug.cgi?id=55640
53632
53633        If you supply a param to cursor.continue, we sould guarantee that
53634        the item we continue to is greater than or equal to the parameter.
53635        Right now, we only test equality.
53636
53637        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#widl-IDBCursor-continue
53638        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#dfn-steps-for-iterating-a-cursor
53639
53640        Test: storage/indexeddb/cursor-continue.html
53641
53642        * storage/IDBCursorBackendImpl.cpp:
53643        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
53644        * storage/IDBKey.cpp:
53645        (WebCore::IDBKey::isLessThan):
53646        (WebCore::IDBKey::isEqual):
53647        * storage/IDBKey.h:
53648
536492011-03-03  Brent Fulgham  <bfulgham@webkit.org>
53650
53651        Build fix. Need win/cURL DownloadBundle stub.
53652
53653        * platform/network/curl/DownloadBundle.h: Added.
53654
536552011-03-03  Geoffrey Garen  <ggaren@apple.com>
53656
53657        Rolled out 80277 and 80280 because they caused event handler layout test
53658        failures.
53659
53660        * WebCore.xcodeproj/project.pbxproj:
53661        * bindings/js/JSDOMGlobalObject.cpp:
53662        * bindings/js/JSDOMGlobalObject.h:
53663        * bindings/js/JSDOMWindowBase.cpp:
53664        * bindings/js/JSDOMWindowBase.h:
53665        * bindings/js/JSDOMWindowCustom.h:
53666        * bindings/js/JSWorkerContextBase.cpp:
53667
536682011-03-03  Brady Eidson  <beidson@apple.com>
53669
53670        Reviewed by Darin Adler.
53671
53672        https://bugs.webkit.org/show_bug.cgi?id=55721
53673        Global IconDatabase should be returned by reference, not as a pointer
53674
53675        * history/HistoryItem.cpp:
53676        (WebCore::HistoryItem::HistoryItem):
53677        (WebCore::HistoryItem::~HistoryItem):
53678        (WebCore::HistoryItem::reset):
53679        (WebCore::HistoryItem::icon):
53680        (WebCore::HistoryItem::setURLString):
53681
53682        * loader/FrameLoader.cpp:
53683        (WebCore::FrameLoader::startIconLoader):
53684        (WebCore::FrameLoader::commitIconURLToIconDatabase):
53685
53686        * loader/archive/cf/LegacyWebArchive.cpp:
53687        (WebCore::LegacyWebArchive::create):
53688
53689        * loader/icon/IconDatabase.cpp:
53690        (WebCore::iconDatabase):
53691        * loader/icon/IconDatabase.h:
53692        * loader/icon/IconDatabaseNone.cpp:
53693        (WebCore::iconDatabase):
53694        * loader/icon/wince/IconDatabaseWinCE.cpp:
53695        (WebCore::iconDatabase):
53696
53697        * loader/icon/IconLoader.cpp:
53698        (WebCore::IconLoader::finishLoading):
53699
537002011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
53701
53702        Reviewed by Martin Robinson.
53703
53704        Stop instantiating legacy editing positions in FocusController::advanceFocusInDocumentOrder
53705        https://bugs.webkit.org/show_bug.cgi?id=52742
53706
53707        Use firstPositionInOrBeforeNode to instantiate appropriate position.
53708
53709        * page/FocusController.cpp:
53710        (WebCore::FocusController::advanceFocusInDocumentOrder):
53711
537122011-03-03  Andy Estes  <aestes@apple.com>
53713
53714        Reviewed by Darin Adler.
53715
53716        When displaying the missing plug-in sheet, pass the 'pluginspage'
53717        attribute to the UI process.
53718        https://bugs.webkit.org/show_bug.cgi?id=55553
53719
53720        * WebCore.exp.in: Export __ZN7WebCore9HTMLNames15pluginspageAttrE.
53721        * html/HTMLAttributeNames.in: Add 'pluginspage' as a known content
53722        attribute.
53723
537242011-03-03  Jessie Berlin  <jberlin@apple.com>
53725
53726        Reviewed by Adam Roben.
53727
53728        WebKit2: Use CFNetwork Sessions API.
53729        https://bugs.webkit.org/show_bug.cgi?id=55435
53730
53731        Set the Private Browsing Storage Session on requests when Private Browsing is enabled.
53732
53733        * WebCore.exp.in:
53734        Support using WKCopyRequestWithStorageSession in WebCore.
53735        * platform/mac/WebCoreSystemInterface.h:
53736        Ditto.
53737        * platform/mac/WebCoreSystemInterface.mm:
53738        Ditto.
53739
53740        * platform/network/cf/ResourceHandleCFNet.cpp:
53741        (WebCore::makeFinalRequest):
53742        If Private Browsing is enabled, set the Private Browsing Storage Session on the request.
53743        (WebCore::ResourceHandle::willSendRequest):
53744        Ditto.
53745        * platform/network/mac/ResourceHandleMac.mm:
53746        (WebCore::ResourceHandle::createNSURLConnection):
53747        Ditto.
53748        (WebCore::ResourceHandle::willSendRequest):
53749        Ditto.
53750
53751        * platform/network/cf/ResourceRequest.h:
53752        * platform/network/cf/ResourceRequestCFNet.cpp:
53753        (WebCore::ResourceRequest::setStorageSession):
53754        Call through to WKSI.
53755        * platform/network/mac/ResourceRequestMac.mm:
53756        (WebCore::ResourceRequest::setStorageSession):
53757        Ditto.
53758
537592011-03-03  Chris Marrin  <cmarrin@apple.com>
53760
53761        Reviewed by Simon Fraser.
53762
53763        REGRESSION: Accelerated transitions are jumpy
53764        https://bugs.webkit.org/show_bug.cgi?id=55022
53765
53766        Changed the way default TimingFunction is stored according to Adam Roben's
53767        suggestion.
53768
53769        * platform/animation/TimingFunction.h:
53770        (WebCore::CubicBezierTimingFunction::defaultTimingFunction):
53771
537722011-03-03  Dan Bernstein  <mitz@apple.com>
53773
53774        Reviewed by Sam Weinig.
53775
53776        Rename -webkit-hyphenate-locale to -webkit-locale
53777        https://bugs.webkit.org/show_bug.cgi?id=55709
53778
53779        * css/CSSComputedStyleDeclaration.cpp:
53780        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
53781        * css/CSSParser.cpp:
53782        (WebCore::CSSParser::parseValue):
53783        (WebCore::cssPropertyID):
53784        * css/CSSPropertyNames.in:
53785        * css/CSSStyleSelector.cpp:
53786        (WebCore::CSSStyleSelector::applyProperty):
53787        * rendering/RenderBlockLineLayout.cpp:
53788        (WebCore::RenderBlock::findNextLineBreak):
53789        * rendering/style/RenderStyle.cpp:
53790        (WebCore::RenderStyle::diff):
53791        * rendering/style/RenderStyle.h:
53792        (WebCore::InheritedFlags::locale):
53793        (WebCore::InheritedFlags::setLocale):
53794        (WebCore::InheritedFlags::initialLocale):
53795        * rendering/style/StyleRareInheritedData.cpp:
53796        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
53797        (WebCore::StyleRareInheritedData::operator==):
53798        * rendering/style/StyleRareInheritedData.h:
53799
538002011-03-03  Kevin Ollivier  <kevino@theolliviers.com>
53801
53802        [wx] Build fixes. Use Font::textMetrics to get ascent value, and add missing include.
53803
53804        * platform/wx/DragDataWx.cpp:
53805        * platform/wx/wxcode/win/non-kerned-drawing.cpp:
53806        (WebCore::drawTextWithSpacing):
53807
538082011-03-03  Oliver Hunt  <oliver@apple.com>
53809
53810        Reviewed by Geoffrey Garen.
53811
53812        JSVariableObject needs to use WriteBarrier for symboltable property storage
53813        https://bugs.webkit.org/show_bug.cgi?id=55698
53814
53815        Update to pass JSGlobalData for the symbol table write used
53816        to set the document property.
53817
53818        * bindings/js/JSDOMWindowBase.cpp:
53819        (WebCore::JSDOMWindowBase::updateDocument):
53820
538212011-03-03  Alexey Proskuryakov  <ap@apple.com>
53822
53823        More build fixing. Move WebCoreKeyboardUIMode.h to a cross-platform location.
53824
53825        * WebCore.xcodeproj/project.pbxproj:
53826        * page/WebCoreKeyboardUIMode.h: Copied from WebCore/page/mac/WebCoreKeyboardUIMode.h.
53827        * page/mac/WebCoreKeyboardUIMode.h: Removed.
53828
538292011-03-03  Alexey Proskuryakov  <ap@apple.com>
53830
53831        Build fix. Should include WebCoreKeyboardUIMode.h on all platforms now.
53832
53833        * page/ChromeClient.h:
53834
538352011-03-02  Alexey Proskuryakov  <ap@apple.com>
53836
53837        Reviewed by Darin Adler.
53838
53839        REGRESSION (WebKit2): Tab keys no longer observe Full Keyboard Access
53840        https://bugs.webkit.org/show_bug.cgi?id=55633
53841        <rdar://problem/8963023>
53842
53843        * loader/EmptyClients.h: (WebCore::EmptyChromeClient::keyboardUIMode):
53844        * page/ChromeClient.h:
53845        * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks):
53846        Merged tabsToLinks() and keyboardUIMode(). The latter returned a superset of information
53847        returned by former.
53848
538492011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
53850
53851        Fix Win compile break, caused by r80276.
53852
53853        * rendering/RenderThemeWin.h: Changed signature of volumeSliderOffsetFromMuteButton
53854            to match RenderTheme.h.
53855
538562011-03-02  Geoffrey Garen  <ggaren@apple.com>
53857
53858        Reviewed by Darin Adler.
53859
53860        Moved all variable object storage inline -- upping the object size limit to 1K
53861        https://bugs.webkit.org/show_bug.cgi?id=55653
53862
53863        * bindings/js/JSDOMGlobalObject.cpp:
53864        * bindings/js/JSDOMGlobalObject.h:
53865        * bindings/js/JSDOMWindowBase.cpp:
53866        * bindings/js/JSDOMWindowBase.h:
53867        * bindings/js/JSDOMWindowCustom.h:
53868        * bindings/js/JSWorkerContextBase.cpp: Removed out-of-line storage. Changed d-> to m_.
53869
538702011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
53871
53872        Reviewed by Darin Adler.
53873
53874        Use RenderBox in volumeSliderOffsetFromMuteButton, since that's what is actually being used.
53875        https://bugs.webkit.org/show_bug.cgi?id=55099
53876
53877        Cleanup, no behavior change.
53878
53879        * html/shadow/MediaControls.cpp:
53880        (WebCore::MediaControls::updateVolumeSliderContainer): Changed to pass RenderBox
53881            instead of Node.
53882        * rendering/RenderMediaControls.cpp:
53883        (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): Changed
53884            to use RenderBox as argument.
53885        * rendering/RenderMediaControls.h: Ditto.
53886        * rendering/RenderTheme.cpp:
53887        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton): Ditto.
53888        * rendering/RenderTheme.h: Ditto.
53889        * rendering/RenderThemeChromiumMac.h: Ditto.
53890        * rendering/RenderThemeChromiumMac.mm:
53891        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton): Ditto.
53892        * rendering/RenderThemeMac.h: Ditto.
53893        * rendering/RenderThemeMac.mm:
53894        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): Ditto.
53895        * rendering/RenderThemeWin.cpp:
53896        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton): Ditto.
53897
538982011-03-03  Alexis Menard  <alexis.menard@openbossa.org>
53899
53900        Reviewed by Andreas Kling.
53901
53902        When building with DEFINES+=USE_GSTREAMER=1 we don't want to define ENABLE_QT_MULTIMEDIA to 1.
53903        Also add the new files added after https://bugs.webkit.org/show_bug.cgi?id=54870 to support GRefPtr
53904        for GstElement.
53905
53906        * WebCore.pro:
53907        * features.pri:
53908
539092011-03-03  Anders Carlsson  <andersca@apple.com>
53910
53911        Try to fix the Windows build again.
53912
53913        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
53914        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
53915
539162011-03-03  Mihai Parparita  <mihaip@chromium.org>
53917
53918        Reviewed by Dimitri Glazkov.
53919
53920        Add another CRASH() for CSSSelector double frees
53921        https://bugs.webkit.org/show_bug.cgi?id=55693
53922
53923        To help track down bug 53045, add a CRASH call when the the array and/or
53924        CSSSelector member in CSSSelectorList is disposed of more than once.
53925
53926        Just a check, no new tests necessary.
53927
53928        * css/CSSSelectorList.cpp:
53929        (WebCore::CSSSelectorList::deleteSelectors):
53930
539312011-03-03  Anders Carlsson  <andersca@apple.com>
53932
53933        Yet another attempt at fixing the Windows build.
53934
53935        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
53936        * platform/graphics/ca/win/LegacyCACFLayerTreeHost.cpp:
53937        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.h:
53938        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
53939
539402011-03-02  Chris Marrin  <cmarrin@apple.com>
53941
53942        Reviewed by Simon Fraser.
53943
53944        REGRESSION: Accelerated transitions are jumpy
53945        https://bugs.webkit.org/show_bug.cgi?id=55022
53946
53947        Got rid of default TimingFunction values from PlatformCAAnimation*. A TimingFunction
53948        is now always passed in. The TimingFunction class now has a static method to get
53949        a default object which has the 'ease' values in it. I now assert in both Mac and
53950        Win implementations if a null TimingFunction pointer is seen.
53951
53952        * platform/animation/TimingFunction.h:
53953        (WebCore::CubicBezierTimingFunction::create):
53954        (WebCore::CubicBezierTimingFunction::defaultTimingFunction):
53955        (WebCore::CubicBezierTimingFunction::CubicBezierTimingFunction):
53956        * platform/graphics/ca/GraphicsLayerCA.cpp:
53957        (WebCore::GraphicsLayerCA::timingFunctionForAnimationValue):
53958        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
53959        (toCAMediaTimingFunction):
53960        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
53961        (toCACFTimingFunction):
53962
539632011-03-03  Tony Gentilcore  <tonyg@chromium.org>
53964
53965        Unreviewed build fix.
53966
53967        Fix clang compile after r80220
53968        https://bugs.webkit.org/show_bug.cgi?id=55692
53969
53970        * storage/IDBBackingStore.cpp:
53971        (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
53972
539732011-03-03  Anders Carlsson  <andersca@apple.com>
53974
53975        Attempt to fix the Windows build.
53976
53977        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
53978        * platform/graphics/win/MediaPlayerPrivateQuickTimeWin.cpp:
53979
539802011-03-02  Brian Weinstein  <bweinstein@apple.com>
53981
53982        Reviewed by Adam Roben.
53983
53984        Rest of WebKit2: Need a way to send notifications to client when cookies change
53985        https://bugs.webkit.org/show_bug.cgi?id=55427
53986        <rdar://problem/9056027>
53987
53988        Add functions to be exported.
53989
53990        * WebCore.exp.in:
53991
539922011-03-03  Anders Carlsson  <andersca@apple.com>
53993
53994        Reviewed by Darin Adler.
53995
53996        Improve WebCore build time by ~5%
53997        https://bugs.webkit.org/show_bug.cgi?id=55688
53998
53999        Forward declare the CATransform3D and CGAffineTransform structs instead of including
54000        large chunks of QuartzCore and Core Graphics.
54001
54002        On an 8 core Mac Pro, this sped up building WebCore by about 5%.
54003
54004        * platform/graphics/ca/GraphicsLayerCA.cpp:
54005        * platform/graphics/ca/TransformationMatrixCA.cpp:
54006        * platform/graphics/transforms/TransformationMatrix.h:
54007
540082011-03-03  Andrey Kosyakov  <caseq@chromium.org>
54009
54010        Unreviewed. Adjusted call to a method renamed in r80102.
54011
54012        * inspector/front-end/SourceFrame.js:
54013        (WebInspector.SourceFrame.prototype._startEditing):
54014
540152011-03-03  Timothy Hatcher  <timothy@apple.com>
54016
54017        Use APIEntryShim instead of JSLock in SerializedScriptValue to allow it to be used
54018        by contexts not created by WebCore.
54019
54020        https://webkit.org/b/55642
54021
54022        Reviewed by Oliver Hunt.
54023
54024        * bindings/js/SerializedScriptValue.cpp:
54025        (WebCore::SerializedScriptValue::create): Use APIEntryShim instead of JSLock.
54026        (WebCore::SerializedScriptValue::deserialize): Ditto.
54027
540282011-03-03  Alexey Proskuryakov  <ap@apple.com>
54029
54030        Reviewed by Darin Adler.
54031
54032        WebCore should check for "Upgrade" and "Connection" header fields in WebSockets handshake
54033        https://bugs.webkit.org/show_bug.cgi?id=55498
54034        <rdar://problem/8752706>
54035
54036        Tests: http/tests/websocket/tests/handshake-fail-by-no-connection-header.html
54037               http/tests/websocket/tests/handshake-fail-by-no-upgrade-header.html
54038
54039        * websockets/WebSocketHandshake.h: Removed unused and meaningless setters for response
54040        header fields. Removed separate member variables for those, as they were duplicating data
54041        available in response, and there is no reason to squeeze microsecods here.
54042
54043        * websockets/WebSocketHandshake.cpp:
54044        (WebCore::WebSocketHandshake::reset): There are no longer member variables for header field
54045        values to reset here.
54046        (WebCore::WebSocketHandshake::readServerHandshake): Removed a call for processHeaders().
54047        (WebCore::WebSocketHandshake::serverWebSocketOrigin): Changed to get the value from response.
54048        (WebCore::WebSocketHandshake::serverWebSocketLocation): Ditto.
54049        (WebCore::WebSocketHandshake::serverWebSocketProtocol): Ditto.
54050        (WebCore::WebSocketHandshake::serverSetCookie): Ditto.
54051        (WebCore::WebSocketHandshake::serverSetCookie2): Ditto.
54052        (WebCore::WebSocketHandshake::serverUpgrade): Added.
54053        (WebCore::WebSocketHandshake::serverConnection): Added.
54054        (WebCore::WebSocketHandshake::checkResponseHeaders): Added checks for Upgrade and Connection
54055        header field presence and values.
54056
540572011-03-03  Helder Correia  <helder@sencha.com>
54058
54059        Reviewed by Andreas Kling.
54060
54061        [Qt] fast/canvas/canvas-strokePath-gradient-shadow.html fails
54062        https://bugs.webkit.org/show_bug.cgi?id=55651
54063
54064        When relying on ContextShadow and using a gradient stroke for a path,
54065        the alpha of the shadow is incorrect.
54066
54067        * platform/graphics/qt/GraphicsContextQt.cpp:
54068        (WebCore::GraphicsContext::strokePath):
54069
540702011-03-03  Martin Robinson  <mrobinson@igalia.com>
54071
54072        XHTMLMP build broken after r78342
54073        https://bugs.webkit.org/show_bug.cgi?id=55286
54074
54075        Fix XHTMLMP build now that the DocumentWriter is a member of DocumentLoader
54076        instead of FrameLoader.
54077
54078        No new tests. This is a build fix.
54079
54080        * dom/Document.cpp:
54081        (WebCore::Document::isXHTMLMPDocument):
54082
540832011-03-03  Dimitri Glazkov  <dglazkov@chromium.org>
54084
54085        Reviewed by Eric Carlson.
54086
54087        Tweak MediaControlMuteButtonElement class hierarchy.
54088        https://bugs.webkit.org/show_bug.cgi?id=55614
54089
54090        This allows the mute button on the panel to have event handlers that are
54091        different from the mute button in the volume slider.
54092
54093        No change in behavior, covered by existing tests.
54094
54095        * html/shadow/MediaControls.cpp:
54096        (WebCore::MediaControls::createMuteButton): Changed to use MediaControlPanelMuteButtonElement.
54097        * rendering/MediaControlElements.cpp:
54098        (WebCore::MediaControlMuteButtonElement::updateDisplayType):
54099        (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement): Added.
54100        (WebCore::MediaControlPanelMuteButtonElement::create): Added.
54101        (WebCore::MediaControlPanelMuteButtonElement::shadowPseudoId): Moved.
54102        * rendering/MediaControlElements.h: Added defs.
54103
541042011-03-03  Yury Semikhatsky  <yurys@chromium.org>
54105
54106        Reviewed by Pavel Feldman.
54107
54108        Web Inspector: Resource agent should have same lifetime as Inspector agent
54109        https://bugs.webkit.org/show_bug.cgi?id=55461
54110
54111        * inspector/Inspector.idl:
54112        * inspector/InspectorAgent.cpp:
54113        (WebCore::InspectorAgent::InspectorAgent):
54114        (WebCore::InspectorAgent::inspectedPageDestroyed): disconnectFrontend is called before the agent is destroyed
54115        to clear frontend reference in all agents.
54116        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
54117        (WebCore::InspectorAgent::setFrontend):
54118        (WebCore::InspectorAgent::disconnectFrontend):
54119        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
54120        (WebCore::InspectorAgent::didCommitLoad):
54121        * inspector/InspectorAgent.h:
54122        (WebCore::InspectorAgent::resourceAgent):
54123        * inspector/InspectorBrowserDebuggerAgent.cpp:
54124        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
54125        * inspector/InspectorDebuggerAgent.cpp:
54126        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
54127        * inspector/InspectorInstrumentation.cpp:
54128        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
54129        (WebCore::InspectorInstrumentation::willSendWebSocketHandshakeRequestImpl):
54130        (WebCore::InspectorInstrumentation::didReceiveWebSocketHandshakeResponseImpl):
54131        (WebCore::InspectorInstrumentation::didCloseWebSocketImpl):
54132        (WebCore::InspectorInstrumentation::retrieveResourceAgent):
54133        * inspector/InspectorResourceAgent.cpp:
54134        (WebCore::InspectorResourceAgent::setFrontend):
54135        (WebCore::InspectorResourceAgent::clearFrontend):
54136        (WebCore::InspectorResourceAgent::restore):
54137        (WebCore::InspectorResourceAgent::~InspectorResourceAgent):
54138        (WebCore::InspectorResourceAgent::enable):
54139        (WebCore::InspectorResourceAgent::disable):
54140        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
54141        * inspector/InspectorResourceAgent.h:
54142        (WebCore::InspectorResourceAgent::create):
54143        * inspector/InspectorTimelineAgent.cpp:
54144        (WebCore::InspectorTimelineAgent::restore):
54145        * inspector/InspectorTimelineAgent.h:
54146        * inspector/front-end/NetworkManager.js:
54147        (WebInspector.NetworkManager):
54148        (WebInspector.NetworkManager.prototype.frontendReused):
54149        * inspector/front-end/inspector.js:
54150        (WebInspector.frontendReused):
54151
541522011-03-03  Andras Becsi  <abecsi@webkit.org>
54153
54154        Reviewed by Andreas Kling.
54155
54156        CSS RGBA fast-path color parsing should clamp of out-of-range alpha values
54157        https://bugs.webkit.org/show_bug.cgi?id=55661
54158
54159        Test case originally written by Andreas Kling <andreas.kling@nokia.com>
54160
54161        Test: fast/canvas/rgba-parsing.html
54162
54163        * css/CSSParser.cpp:
54164        (WebCore::isValidDouble): Check whether the given string is a valid double.
54165        (WebCore::parseAlphaValue): Out-of-range alpha values should be clamped to the (0.0, 1.0) range.
54166
541672011-03-03  David Holloway  <dhollowa@chromium.org>
54168
54169        Reviewed by Dimitri Glazkov.
54170
54171        Changes HTMLTextFormControlElement::placeholderShouldBeVisible to account
54172        for non-empty suggestion text.  The visibility of the placeholder text
54173        now turned off when suggestion text is set.
54174        https://bugs.webkit.org/show_bug.cgi?id=55245
54175
54176        No new tests because, by design, the suggestion text is not accessible
54177        through the DOM.
54178
54179        * html/HTMLFormControlElement.cpp:
54180        (WebCore::HTMLTextFormControlElement::placeholderShouldBeVisible):
54181        * html/HTMLFormControlElement.h:
54182        (WebCore::HTMLTextFormControlElement::isEmptySuggestedValue):
54183        * html/HTMLInputElement.h:
54184        (WebCore::HTMLInputElement::isEmptySuggestedValue):
54185
541862011-03-03  Andy Estes  <aestes@apple.com>
54187
54188        Reviewed by Eric Seidel.
54189
54190        HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%)
54191        https://bugs.webkit.org/show_bug.cgi?id=48719
54192
54193        Instead of pushing a fake HTMLHtmlElement onto the open element stack
54194        during fragment parsing only to later remove it and reparent its
54195        children to the DocumentFragment, push the DocumentFragment directly
54196        onto the open element stack as the root node. This requires refactoring
54197        HTMLElementStack to hold ContainerNode pointers rather than Element
54198        pointers, which has implications for HTMLConstructionSite and
54199        HTMLTreeBuilder as well.
54200
54201        With this patch, the regression in Peacekeeper from Safari 5.0.3 to ToT
54202        is ~14%. However, if you discount the 'domDynamicCreationCreateElement'
54203        test, ToT is now ~4% faster than Safari 5.0.3. This indicates that the
54204        regression no longer lies in fragment parsing.
54205
54206        No new tests. No change in behavior.
54207
54208        * dom/Element.h:
54209        (WebCore::Node::hasLocalName):
54210        * dom/Node.h:
54211        * html/parser/HTMLConstructionSite.cpp:
54212        (WebCore::HTMLNames::hasImpliedEndTag):
54213        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
54214        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
54215        (WebCore::HTMLConstructionSite::insertComment):
54216        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
54217        (WebCore::HTMLConstructionSite::attachToCurrent):
54218        (WebCore::HTMLConstructionSite::insertScriptElement):
54219        (WebCore::HTMLConstructionSite::insertTextNode):
54220        (WebCore::HTMLConstructionSite::createElement):
54221        (WebCore::HTMLConstructionSite::createHTMLElement):
54222        (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
54223        (WebCore::HTMLConstructionSite::generateImpliedEndTags):
54224        (WebCore::HTMLConstructionSite::findFosterSite):
54225        (WebCore::HTMLConstructionSite::shouldFosterParent):
54226        * html/parser/HTMLConstructionSite.h:
54227        (WebCore::HTMLConstructionSite::currentNode):
54228        * html/parser/HTMLElementStack.cpp:
54229        (WebCore::HTMLNames::isNumberedHeaderElement):
54230        (WebCore::HTMLNames::isScopeMarker):
54231        (WebCore::HTMLNames::isListItemScopeMarker):
54232        (WebCore::HTMLNames::isTableScopeMarker):
54233        (WebCore::HTMLNames::isTableBodyScopeMarker):
54234        (WebCore::HTMLNames::isTableRowScopeMarker):
54235        (WebCore::HTMLNames::isButtonScopeMarker):
54236        (WebCore::HTMLNames::isSelectScopeMarker):
54237        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
54238        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
54239        (WebCore::HTMLElementStack::HTMLElementStack):
54240        (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
54241        (WebCore::HTMLElementStack::popAll):
54242        (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
54243        (WebCore::HTMLElementStack::popUntil):
54244        (WebCore::HTMLElementStack::popUntilPopped):
54245        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
54246        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
54247        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
54248        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
54249        (WebCore::HTMLElementStack::push):
54250        (WebCore::HTMLElementStack::insertAbove):
54251        (WebCore::HTMLElementStack::find):
54252        (WebCore::HTMLElementStack::topmost):
54253        (WebCore::HTMLElementStack::contains):
54254        (WebCore::inScopeCommon):
54255        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
54256        (WebCore::HTMLElementStack::htmlElement):
54257        (WebCore::HTMLElementStack::rootNode):
54258        (WebCore::HTMLElementStack::pushCommon):
54259        * html/parser/HTMLElementStack.h:
54260        (WebCore::HTMLElementStack::ElementRecord::element):
54261        (WebCore::HTMLElementStack::ElementRecord::node):
54262        (WebCore::HTMLElementStack::topNode):
54263        * html/parser/HTMLTreeBuilder.cpp:
54264        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
54265        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
54266        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
54267        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
54268        (WebCore::HTMLTreeBuilder::processStartTag):
54269        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
54270        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
54271        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
54272        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
54273        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
54274        (WebCore::HTMLTreeBuilder::processEndTag):
54275        (WebCore::HTMLTreeBuilder::processEndOfFile):
54276        (WebCore::HTMLTreeBuilder::finished):
54277        * html/parser/HTMLTreeBuilder.h:
54278
542792011-03-02  Yury Semikhatsky  <yurys@chromium.org>
54280
54281        Reviewed by Pavel Feldman.
54282
54283        Web Inspector: inspector protocol should allow different domains to have methods with same name
54284        https://bugs.webkit.org/show_bug.cgi?id=55558
54285
54286        * inspector/CodeGeneratorInspector.pm: each command is now identified by domain + command-name(was command-name only).
54287
542882011-03-02  Pavel Podivilov  <podivilov@chromium.org>
54289
54290        Reviewed by Yury Semikhatsky.
54291
54292        Web Inspector: make selected call frame debugger presentation model property.
54293        https://bugs.webkit.org/show_bug.cgi?id=55582
54294
54295        * inspector/front-end/CallStackSidebarPane.js:
54296        (WebInspector.CallStackSidebarPane):
54297        (WebInspector.CallStackSidebarPane.prototype.update):
54298        (WebInspector.CallStackSidebarPane.prototype.set selectedCallFrame):
54299        (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
54300        * inspector/front-end/ConsoleView.js:
54301        (WebInspector.ConsoleView.prototype.completions):
54302        * inspector/front-end/DebuggerPresentationModel.js:
54303        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
54304        (WebInspector.DebuggerPresentationModel.prototype.get selectedCallFrame):
54305        * inspector/front-end/ScriptsPanel.js:
54306        (WebInspector.ScriptsPanel):
54307        (WebInspector.ScriptsPanel.prototype.getCompletionsOnCallFrame):
54308        (WebInspector.ScriptsPanel.prototype._debuggerResumed):
54309        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
54310        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
54311
543122011-03-03  Jia Pu  <jpu@apple.com>
54313
54314        Reviewed by Darin Adler.
54315
54316        On Mac OS X, spelling suggestion panel stops showing up after change set 80121
54317        https://bugs.webkit.org/show_bug.cgi?id=55628
54318
54319        Removed a call to stopCorrectionPanelTimer() to fix a regression introduced by changeset 80121.
54320
54321        * editing/Editor.cpp:
54322        (WebCore::Editor::appliedEditing):
54323        * manual-tests/autocorrection/autocorrection-contraction.html:
54324
543252011-03-03  Pavel Podivilov  <podivilov@chromium.org>
54326
54327        Reviewed by Pavel Feldman.
54328
54329        Web Inspector: rename "sourceName" to "sourceFileId" in ScriptsPanel.js.
54330        https://bugs.webkit.org/show_bug.cgi?id=55569
54331
54332        sourceFileId better reflects the intention to have unique identifier for each source that is shown in scripts panel.
54333
54334        * inspector/front-end/DebuggerPresentationModel.js:
54335        * inspector/front-end/ScriptsPanel.js:
54336
543372011-03-03  Steve Block  <steveblock@google.com>
54338
54339        Reviewed by David Levin.
54340
54341        JavaString API should be implementable by both JSC and V8
54342        https://bugs.webkit.org/show_bug.cgi?id=55567
54343
54344        Remove JavaString's UString operator and replace it with a
54345        script-engine-independent impl() method, which returns a
54346        StringImpl and can be implemented with both JSC and V8.
54347
54348        No new tests, refactoring only.
54349
54350        * bridge/jni/JNIBridge.h:
54351        (JSC::Bindings::JavaString::impl):
54352        * bridge/jni/jni_jsobject.mm:
54353        (JavaJSObject::call):
54354        (JavaJSObject::eval):
54355        (JavaJSObject::getMember):
54356        (JavaJSObject::setMember):
54357        (JavaJSObject::removeMember):
54358        * bridge/jni/jsc/JNIBridgeJSC.cpp:
54359        (JavaField::valueFromInstance):
54360        (JavaField::setValueToInstance):
54361        * bridge/jni/jsc/JavaClassJSC.cpp:
54362        (JavaClass::JavaClass):
54363        * bridge/jni/jsc/JavaInstanceJSC.cpp:
54364        (JavaInstance::invokeMethod):
54365        * bridge/jni/jsc/JavaStringJSC.h:
54366        (JSC::Bindings::JavaStringImpl::impl):
54367        * bridge/jni/v8/JavaStringV8.h:
54368        (JSC::Bindings::JavaStringImpl::impl):
54369
543702011-03-03  Benjamin Poulain  <ikipou@gmail.com>
54371
54372        Reviewed by Adam Roben.
54373
54374        REGRESSION (r79817): Lots of leaks of FloatingObjects seen on SnowLeopard Intel Leaks bot
54375        https://bugs.webkit.org/show_bug.cgi?id=55602
54376
54377        Delete the FloatingObject referenced by m_floatingObjects when clearing the floats.
54378
54379        The DeprecatedPtrList was deleting the objects automatically due to its autoDelete behavior. The
54380        objects need to be deleted manually with ListHashSet.
54381
54382        * rendering/RenderBlock.cpp:
54383        (WebCore::RenderBlock::clearFloats):
54384
543852011-03-03  Hans Wennborg  <hans@chromium.org>
54386
54387        Reviewed by Jeremy Orlow.
54388
54389        IndexedDB: Move SQL code, especially for cursors, to IDBBackingStore
54390        https://bugs.webkit.org/show_bug.cgi?id=55376
54391
54392        Move SQL code from IDBKey, IDBKeyRange, IDBIndexBackendImpl,
54393        IDBObjectStoreBackendImpl, and especially IDBCursorBackendImpl.
54394
54395        No new functionality, so no new tests.
54396
54397        * storage/IDBBackingStore.cpp:
54398        (WebCore::lowerCursorWhereFragment):
54399        (WebCore::upperCursorWhereFragment):
54400        (WebCore::IDBBackingStore::deleteObjectStoreRecord):
54401        (WebCore::IDBBackingStore::keyExistsInObjectStore):
54402        (WebCore::IDBBackingStore::getObjectViaIndex):
54403        (WebCore::keyFromQuery):
54404        (WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
54405        (WebCore::IDBBackingStore::keyExistsInIndex):
54406        (WebCore::CursorImplCommon::CursorImplCommon::continueInternal):
54407        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
54408        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::objectStoreDataId):
54409        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::key):
54410        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::value):
54411        (WebCore::CursorImplCommon::ObjectStoreCursorImpl::continueFunction):
54412        (WebCore::IDBBackingStore::openObjectStoreCursor):
54413        (WebCore::ObjectStoreCursorImpl::loadCurrentRow):
54414        (WebCore::ObjectStoreCursorImpl::currentRowExists):
54415        (WebCore::IndexKeyCursorImpl::IndexKeyCursorImpl):
54416        (WebCore::IndexKeyCursorImpl::indexDataId):
54417        (WebCore::IndexKeyCursorImpl::key):
54418        (WebCore::IndexKeyCursorImpl::primaryKey):
54419        (WebCore::IndexKeyCursorImpl::continueFunction):
54420        (WebCore::IDBBackingStore::openIndexKeyCursor):
54421        (WebCore::IndexKeyCursorImpl::loadCurrentRow):
54422        (WebCore::IndexKeyCursorImpl::currentRowExists):
54423        (WebCore::IndexCursorImpl::IndexCursorImpl):
54424        (WebCore::IndexCursorImpl::indexDataId):
54425        (WebCore::IndexCursorImpl::key):
54426        (WebCore::IndexCursorImpl::primaryKey):
54427        (WebCore::IndexCursorImpl::value):
54428        (WebCore::IndexCursorImpl::continueFunction):
54429        (WebCore::IDBBackingStore::openIndexCursor):
54430        (WebCore::IndexCursorImpl::loadCurrentRow):
54431        (WebCore::IndexCursorImpl::currentRowExists):
54432        * storage/IDBBackingStore.h:
54433        (WebCore::IDBBackingStore::Cursor::~Cursor):
54434        * storage/IDBCursorBackendImpl.cpp:
54435        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
54436        (WebCore::IDBCursorBackendImpl::key):
54437        (WebCore::IDBCursorBackendImpl::value):
54438        (WebCore::IDBCursorBackendImpl::update):
54439        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
54440        (WebCore::IDBCursorBackendImpl::deleteFunction):
54441        * storage/IDBCursorBackendImpl.h:
54442        (WebCore::IDBCursorBackendImpl::create):
54443        * storage/IDBIndexBackendImpl.cpp:
54444        (WebCore::IDBIndexBackendImpl::openCursorInternal):
54445        (WebCore::IDBIndexBackendImpl::getInternal):
54446        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
54447        * storage/IDBIndexBackendImpl.h:
54448        * storage/IDBKey.cpp:
54449        (WebCore::IDBKey::isEqual):
54450        * storage/IDBKey.h:
54451        * storage/IDBKeyRange.cpp:
54452        * storage/IDBKeyRange.h:
54453        * storage/IDBObjectStoreBackendImpl.cpp:
54454        (WebCore::IDBObjectStoreBackendImpl::putInternal):
54455        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
54456        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
54457        * storage/IDBObjectStoreBackendImpl.h:
54458
544592011-03-03  Peter Kasting  <pkasting@google.com>
54460
54461        Reviewed by James Robinson.
54462
54463        Drop redundant "Windows; " from the Windows-specific User Agent string.
54464        https://bugs.webkit.org/show_bug.cgi?id=54567
54465
54466        * StringsNotToBeLocalized.txt:
54467
544682011-03-03  Mario Sanchez Prada  <msanchez@igalia.com>
54469
54470        Reviewed by Martin Robinson.
54471
54472        [GTK] Combo boxes should emit object:selection-changed even when collapsed
54473        https://bugs.webkit.org/show_bug.cgi?id=53146
54474
54475        Emit the selection-changed signals when the menu list value has changed
54476
54477        Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
54478
54479        * accessibility/gtk/AXObjectCacheAtk.cpp:
54480        (WebCore::getListObject): New, return the right list object for
54481        menu lists and list boxes.
54482        (WebCore::notifyChildrenSelectionChange): Support menu lists.
54483        (WebCore::AXObjectCache::postPlatformNotification): Call function
54484        notifyChildrenSelectionChange for AXMenuListValueChanged.
54485
544862011-03-03  Ryosuke Niwa  <rniwa@webkit.org>
54487
54488        Reviewed by Tony Chang.
54489
54490        applyInlineStyleToPushDown and removeInlineStyleFromElement should take EditingStyle
54491        https://bugs.webkit.org/show_bug.cgi?id=55338
54492
54493        Include wtf/Forward.h instead of wtf/text/String.h
54494
54495        * editing/EditingStyle.h:
54496
544972011-03-03  Csaba Osztrogonác  <ossy@webkit.org>
54498
54499        Unreviewed trivial fix after r80169.
54500
54501        [Qt][WK2] Memory exhausted when building qtwebkit2 on linux
54502        https://bugs.webkit.org/show_bug.cgi?id=55484
54503
54504        * WebCore.pro: Typo fix. We have to use linux-g++* instead of linux-g++.
54505
54506
545072011-03-02  MORITA Hajime  <morrita@google.com>
54508
54509        Reviewed by Kent Tamura.
54510
54511        [Refactoring] Make ScheduledEvent on FrameView abstract out to ScheduleAction
54512        https://bugs.webkit.org/show_bug.cgi?id=54440
54513
54514        - Extracted FrameActionScheduler from FrameView
54515        - Extracted FrameAction abstract class from ScheduledEvent,
54516          which has fire() virtual method.
54517        - Renamed ScheduledEvent EventFrameAction
54518
54519        With this change, Any action can be hooked up to the end of the layout.
54520
54521        No new tests. No behavioral change.
54522
54523        * Android.mk:
54524        * CMakeLists.txt:
54525        * GNUmakefile.am:
54526        * WebCore.gypi:
54527        * WebCore.pro:
54528        * WebCore.vcproj/WebCore.vcproj:
54529        * WebCore.xcodeproj/project.pbxproj:
54530        * page/FrameActionScheduler.cpp: Added.
54531        (WebCore::EventFrameAction::EventFrameAction):
54532        (WebCore::EventFrameAction::fire):
54533        (WebCore::FrameActionScheduler::FrameActionScheduler):
54534        (WebCore::FrameActionScheduler::~FrameActionScheduler):
54535        (WebCore::FrameActionScheduler::isEmpty):
54536        (WebCore::FrameActionScheduler::clear):
54537        (WebCore::FrameActionScheduler::pause):
54538        (WebCore::FrameActionScheduler::resume):
54539        (WebCore::FrameActionScheduler::dispatch):
54540        (WebCore::FrameActionScheduler::scheduleAction):
54541        (WebCore::FrameActionScheduler::scheduleEvent):
54542        * page/FrameActionScheduler.h: Added.
54543        (WebCore::FrameAction::FrameAction):
54544        (WebCore::FrameAction::~FrameAction):
54545        (WebCore::FrameActionScheduler::isScheduled):
54546        * page/FrameView.cpp:
54547        (WebCore::FrameView::FrameView):
54548        (WebCore::FrameView::~FrameView):
54549        (WebCore::FrameView::layout):
54550        (WebCore::FrameView::scheduleEvent):
54551        (WebCore::FrameView::pauseScheduledEvents):
54552        (WebCore::FrameView::resumeScheduledEvents):
54553        (WebCore::FrameView::performPostLayoutTasks):
54554        (WebCore::FrameView::updateOverflowStatus):
54555        * page/FrameView.h:
54556
545572011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
54558
54559        Unreviewed, rolling out r80201.
54560        http://trac.webkit.org/changeset/80201
54561        https://bugs.webkit.org/show_bug.cgi?id=55648
54562
54563        "caused tests to crash on several bots" (Requested by rniwa on
54564        #webkit).
54565
54566        * dom/Element.h:
54567        (WebCore::Node::hasTagName):
54568        * dom/Node.h:
54569        * html/parser/HTMLConstructionSite.cpp:
54570        (WebCore::HTMLNames::hasImpliedEndTag):
54571        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
54572        (WebCore::HTMLConstructionSite::insertComment):
54573        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
54574        (WebCore::HTMLConstructionSite::attachToCurrent):
54575        (WebCore::HTMLConstructionSite::insertScriptElement):
54576        (WebCore::HTMLConstructionSite::insertTextNode):
54577        (WebCore::HTMLConstructionSite::createElement):
54578        (WebCore::HTMLConstructionSite::createHTMLElement):
54579        (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
54580        (WebCore::HTMLConstructionSite::generateImpliedEndTags):
54581        (WebCore::HTMLConstructionSite::findFosterSite):
54582        (WebCore::HTMLConstructionSite::shouldFosterParent):
54583        * html/parser/HTMLConstructionSite.h:
54584        * html/parser/HTMLElementStack.cpp:
54585        (WebCore::HTMLNames::isNumberedHeaderElement):
54586        (WebCore::HTMLNames::isScopeMarker):
54587        (WebCore::HTMLNames::isListItemScopeMarker):
54588        (WebCore::HTMLNames::isTableScopeMarker):
54589        (WebCore::HTMLNames::isTableBodyScopeMarker):
54590        (WebCore::HTMLNames::isTableRowScopeMarker):
54591        (WebCore::HTMLNames::isButtonScopeMarker):
54592        (WebCore::HTMLNames::isSelectScopeMarker):
54593        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
54594        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
54595        (WebCore::HTMLElementStack::HTMLElementStack):
54596        (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
54597        (WebCore::HTMLElementStack::popAll):
54598        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
54599        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
54600        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
54601        (WebCore::HTMLElementStack::popUntilForeignContentScopeMarker):
54602        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
54603        (WebCore::HTMLElementStack::push):
54604        (WebCore::HTMLElementStack::insertAbove):
54605        (WebCore::HTMLElementStack::find):
54606        (WebCore::HTMLElementStack::topmost):
54607        (WebCore::inScopeCommon):
54608        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
54609        (WebCore::HTMLElementStack::htmlElement):
54610        (WebCore::HTMLElementStack::bodyElement):
54611        (WebCore::HTMLElementStack::pushCommon):
54612        * html/parser/HTMLElementStack.h:
54613        (WebCore::HTMLElementStack::ElementRecord::element):
54614        (WebCore::HTMLElementStack::top):
54615        * html/parser/HTMLTreeBuilder.cpp:
54616        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
54617        (WebCore::HTMLTreeBuilder::FragmentParsingContext::finished):
54618        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
54619        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
54620        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
54621        (WebCore::HTMLTreeBuilder::processStartTag):
54622        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
54623        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
54624        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
54625        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
54626        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
54627        (WebCore::HTMLTreeBuilder::processEndTag):
54628        (WebCore::HTMLTreeBuilder::processEndOfFile):
54629        (WebCore::HTMLTreeBuilder::finished):
54630        * html/parser/HTMLTreeBuilder.h:
54631
546322011-03-02  Yury Semikhatsky  <yurys@chromium.org>
54633
54634        Reviewed by Pavel Feldman.
54635
54636        Web Inspector: break down InspectorFrontend into domain-specific classes
54637        https://bugs.webkit.org/show_bug.cgi?id=55584
54638
54639        * inspector/CodeGeneratorInspector.pm: InspectorFrontend now contains nested classes for
54640        all domains that have event notifications.
54641        * inspector/ConsoleMessage.cpp:
54642        (WebCore::ConsoleMessage::addToFrontend):
54643        (WebCore::ConsoleMessage::updateRepeatCountInConsole):
54644        * inspector/ConsoleMessage.h:
54645        * inspector/InjectedScriptHost.cpp:
54646        (WebCore::InjectedScriptHost::inspectImpl):
54647        * inspector/Inspector.idl:
54648        * inspector/InspectorAgent.cpp:
54649        (WebCore::InspectorAgent::inspectedPageDestroyed):
54650        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
54651        (WebCore::InspectorAgent::setFrontend):
54652        (WebCore::InspectorAgent::disconnectFrontend):
54653        (WebCore::InspectorAgent::populateScriptObjects):
54654        (WebCore::InspectorAgent::pushDataCollectedOffline):
54655        (WebCore::InspectorAgent::didCommitLoad):
54656        (WebCore::InspectorAgent::domContentLoadedEventFired):
54657        (WebCore::InspectorAgent::loadEventFired):
54658        (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
54659        (WebCore::InspectorAgent::evaluateForTestInFrontend):
54660        (WebCore::InspectorAgent::showPanel):
54661        * inspector/InspectorApplicationCacheAgent.cpp:
54662        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
54663        * inspector/InspectorApplicationCacheAgent.h:
54664        * inspector/InspectorConsoleAgent.cpp:
54665        (WebCore::InspectorConsoleAgent::setFrontend):
54666        * inspector/InspectorConsoleAgent.h:
54667        * inspector/InspectorController.cpp:
54668        (WebCore::InspectorController::show):
54669        (WebCore::InspectorController::close):
54670        * inspector/InspectorDOMAgent.cpp:
54671        (WebCore::InspectorDOMAgent::setFrontend):
54672        * inspector/InspectorDOMAgent.h:
54673        * inspector/InspectorDOMStorageResource.cpp:
54674        (WebCore::InspectorDOMStorageResource::bind):
54675        * inspector/InspectorDOMStorageResource.h:
54676        * inspector/InspectorDatabaseAgent.cpp:
54677        (WebCore::InspectorDatabaseAgent::FrontendProvider::frontend):
54678        (WebCore::InspectorDatabaseAgent::FrontendProvider::FrontendProvider):
54679        (WebCore::InspectorDatabaseAgent::setFrontend):
54680        * inspector/InspectorDatabaseResource.cpp:
54681        (WebCore::InspectorDatabaseResource::bind):
54682        * inspector/InspectorDatabaseResource.h:
54683        * inspector/InspectorDebuggerAgent.cpp:
54684        (WebCore::InspectorDebuggerAgent::setFrontend):
54685        * inspector/InspectorDebuggerAgent.h:
54686        * inspector/InspectorProfilerAgent.cpp:
54687        * inspector/InspectorProfilerAgent.h:
54688        (WebCore::InspectorProfilerAgent::setFrontend):
54689        (WebCore::InspectorProfilerAgent::clearFrontend):
54690        * inspector/InspectorResourceAgent.cpp:
54691        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
54692        * inspector/InspectorResourceAgent.h:
54693        * inspector/InspectorTimelineAgent.cpp:
54694        (WebCore::InspectorTimelineAgent::setFrontend):
54695        * inspector/InspectorTimelineAgent.h:
54696        * inspector/front-end/DOMAgent.js:
54697        (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
54698        (WebInspector.DOMDispatcher.prototype.addNodesToSearchResult):
54699        * inspector/front-end/inspector.js:
54700
547012011-03-02  Kent Tamura  <tkent@chromium.org>
54702
54703        Unreviewed, a trivial regression fix.
54704
54705        Fix LocalizedNumberICU regression by r80198 and r80199.
54706        https://bugs.webkit.org/show_bug.cgi?id=55629
54707
54708        * platform/text/LocalizedNumberICU.cpp:
54709          We should use U_SUCCESS().
54710        (WebCore::createFormatterForCurrentLocale):
54711        (WebCore::parseLocalizedNumber):
54712
547132011-03-02  Dan Bernstein  <mitz@apple.com>
54714
54715        Let Xcode know that Localizable.strings is UTF-16-encoded.
54716
54717        * WebCore.xcodeproj/project.pbxproj:
54718
547192011-03-02  Andy Estes  <aestes@apple.com>
54720
54721        Reviewed by Eric Seidel.
54722
54723        HTML5 TreeBuilder regressed a Peacekeeper DOM test by 25% (was 40%)
54724        https://bugs.webkit.org/show_bug.cgi?id=48719
54725
54726        Instead of pushing a fake HTMLHtmlElement onto the open element stack
54727        during fragment parsing only to later remove it and reparent its
54728        children to the DocumentFragment, push the DocumentFragment directly
54729        onto the open element stack as the root node. This requires refactoring
54730        HTMLElementStack to hold ContainerNode pointers rather than Element
54731        pointers, which has implications for HTMLConstructionSite and
54732        HTMLTreeBuilder as well.
54733
54734        With this patch, the regression in Peacekeeper due to the introduction
54735        of the HTML5 fragment parsing algorithm is ~14%. The regression from
54736        Safari 5.0.3 is ~24%.
54737
54738        No new tests. No change in behavior.
54739
54740        * dom/Element.h:
54741        (WebCore::Node::hasLocalName):
54742        * dom/Node.h:
54743        * html/parser/HTMLConstructionSite.cpp:
54744        (WebCore::HTMLNames::hasImpliedEndTag):
54745        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
54746        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
54747        (WebCore::HTMLConstructionSite::insertComment):
54748        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
54749        (WebCore::HTMLConstructionSite::attachToCurrent):
54750        (WebCore::HTMLConstructionSite::insertScriptElement):
54751        (WebCore::HTMLConstructionSite::insertTextNode):
54752        (WebCore::HTMLConstructionSite::createElement):
54753        (WebCore::HTMLConstructionSite::createHTMLElement):
54754        (WebCore::HTMLConstructionSite::generateImpliedEndTagsWithExclusion):
54755        (WebCore::HTMLConstructionSite::generateImpliedEndTags):
54756        (WebCore::HTMLConstructionSite::findFosterSite):
54757        (WebCore::HTMLConstructionSite::shouldFosterParent):
54758        * html/parser/HTMLConstructionSite.h:
54759        (WebCore::HTMLConstructionSite::currentNode):
54760        * html/parser/HTMLElementStack.cpp:
54761        (WebCore::HTMLNames::isNumberedHeaderElement):
54762        (WebCore::HTMLNames::isScopeMarker):
54763        (WebCore::HTMLNames::isListItemScopeMarker):
54764        (WebCore::HTMLNames::isTableScopeMarker):
54765        (WebCore::HTMLNames::isTableBodyScopeMarker):
54766        (WebCore::HTMLNames::isTableRowScopeMarker):
54767        (WebCore::HTMLNames::isButtonScopeMarker):
54768        (WebCore::HTMLNames::isSelectScopeMarker):
54769        (WebCore::HTMLElementStack::ElementRecord::ElementRecord):
54770        (WebCore::HTMLElementStack::ElementRecord::replaceElement):
54771        (WebCore::HTMLElementStack::HTMLElementStack):
54772        (WebCore::HTMLElementStack::secondElementIsHTMLBodyElement):
54773        (WebCore::HTMLElementStack::popAll):
54774        (WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
54775        (WebCore::HTMLElementStack::popUntil):
54776        (WebCore::HTMLElementStack::popUntilPopped):
54777        (WebCore::HTMLElementStack::popUntilTableScopeMarker):
54778        (WebCore::HTMLElementStack::popUntilTableBodyScopeMarker):
54779        (WebCore::HTMLElementStack::popUntilTableRowScopeMarker):
54780        (WebCore::HTMLElementStack::pushHTMLHtmlElement):
54781        (WebCore::HTMLElementStack::push):
54782        (WebCore::HTMLElementStack::insertAbove):
54783        (WebCore::HTMLElementStack::find):
54784        (WebCore::HTMLElementStack::topmost):
54785        (WebCore::HTMLElementStack::contains):
54786        (WebCore::inScopeCommon):
54787        (WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
54788        (WebCore::HTMLElementStack::htmlElement):
54789        (WebCore::HTMLElementStack::rootNode):
54790        (WebCore::HTMLElementStack::pushCommon):
54791        * html/parser/HTMLElementStack.h:
54792        (WebCore::HTMLElementStack::ElementRecord::element):
54793        (WebCore::HTMLElementStack::ElementRecord::node):
54794        (WebCore::HTMLElementStack::topNode):
54795        * html/parser/HTMLTreeBuilder.cpp:
54796        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
54797        (WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
54798        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
54799        (WebCore::HTMLTreeBuilder::processColgroupEndTagForInColumnGroup):
54800        (WebCore::HTMLTreeBuilder::processStartTag):
54801        (WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
54802        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
54803        (WebCore::HTMLTreeBuilder::resetInsertionModeAppropriately):
54804        (WebCore::HTMLTreeBuilder::processEndTagForInCell):
54805        (WebCore::HTMLTreeBuilder::processEndTagForInBody):
54806        (WebCore::HTMLTreeBuilder::processEndTag):
54807        (WebCore::HTMLTreeBuilder::processEndOfFile):
54808        (WebCore::HTMLTreeBuilder::finished):
54809        * html/parser/HTMLTreeBuilder.h:
54810
548112011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
54812
54813        Unreviewed, rolling out r80188.
54814        http://trac.webkit.org/changeset/80188
54815        https://bugs.webkit.org/show_bug.cgi?id=55647
54816
54817        Broke the WebKit API tests. (Requested by xenon on #webkit).
54818
54819        * WebCore.exp.in:
54820
548212011-03-02  Kent Tamura  <tkent@chromium.org>
54822
54823        Unreviewed, build fix.
54824
54825        * platform/text/LocalizedNumberICU.cpp:
54826        (WebCore::createFormatterForCurrentLocale): Fix a typo.
54827
548282011-03-02  Kent Tamura  <tkent@chromium.org>
54829
54830        Reviewed by Darin Adler.
54831
54832        Caching number formatter instances in LocalizedNumber* implementations
54833        https://bugs.webkit.org/show_bug.cgi?id=55629
54834
54835        No new tests. This change doesn't change existing behavior, and is
54836        covered by existing tests.
54837
54838        * platform/text/LocalizedNumberICU.cpp:
54839        (WebCore::createFormatterForCurrentLocale):
54840        (WebCore::numberFormatter): Introduce a function to return a static
54841          instance of NumberFormat.
54842        (WebCore::parseLocalizedNumber): Use numberFormatter().
54843        (WebCore::formatLocalizedNumber): Use numberFormatter().
54844        * platform/text/mac/LocalizedNumberMac.mm:
54845        (WebCore::createFormatterForCurrentLocale):
54846        (WebCore::numberFormatter): Introduce a function to return a static
54847          instance of NSNumberFormatter.
54848        (WebCore::parseLocalizedNumber): Use numberFormatter().
54849        (WebCore::formatLocalizedNumber): Use numberFormatter().
54850
548512011-03-02  Levi Weintraub  <leviw@chromium.org>
54852
54853        Reviewed by Ryosuke Niwa.
54854
54855        deprecatedEditingOffset should actually return the expected deprecated value for "after" positions
54856        https://bugs.webkit.org/show_bug.cgi?id=54986
54857
54858        Calls to deprecatedEditingOffset needs to return the expected value for new Before/After positions
54859        until we can update all the call sites to consider the new position types.
54860
54861        No tests. This is intended to simplify the transition to new Positions, not to change behavior.
54862
54863        * dom/Position.cpp:
54864        (WebCore::Position::deprecatedEditingOffset):
54865        (WebCore::Position::offsetForPositionAfterAnchor): Added to do the right thing while ensuring
54866        inline-speed for most calls to deprecatedEditingOffset.
54867        * dom/Position.h:
54868
548692011-03-02  Timothy Hatcher  <timothy@apple.com>
54870
54871        Export SerializedScriptValue::create(JSC::ExecState* exec, JSC::JSValue value).
54872
54873        Reviewed by Darin Adler.
54874
54875        * WebCore.exp.in: Added __ZN7WebCore21SerializedScriptValue6createEPN3JSC9ExecStateENS1_7JSValueE.
54876
548772011-03-02  Daniel Cheng  <dcheng@chromium.org>
54878
54879        Reviewed by David Levin.
54880
54881        Manually revert ChromiumDataObject changes.
54882        https://bugs.webkit.org/show_bug.cgi?id=55627
54883
54884        No new tests since no functionality should change.
54885
54886        * WebCore.gypi:
54887        * editing/chromium/EditorChromium.cpp:
54888        (WebCore::Editor::newGeneralClipboard):
54889        * page/chromium/EventHandlerChromium.cpp:
54890        (WebCore::EventHandler::createDraggingClipboard):
54891        * platform/chromium/ChromiumDataObject.cpp:
54892        (WebCore::ChromiumDataObject::clearData):
54893        (WebCore::ChromiumDataObject::clearAll):
54894        (WebCore::ChromiumDataObject::clearAllExceptFiles):
54895        (WebCore::ChromiumDataObject::hasData):
54896        (WebCore::ChromiumDataObject::types):
54897        (WebCore::ChromiumDataObject::getData):
54898        (WebCore::ChromiumDataObject::setData):
54899        (WebCore::ChromiumDataObject::ChromiumDataObject):
54900        * platform/chromium/ChromiumDataObject.h:
54901        (WebCore::ChromiumDataObject::create):
54902        (WebCore::ChromiumDataObject::copy):
54903        (WebCore::ChromiumDataObject::urlTitle):
54904        (WebCore::ChromiumDataObject::setUrlTitle):
54905        (WebCore::ChromiumDataObject::htmlBaseUrl):
54906        (WebCore::ChromiumDataObject::setHtmlBaseUrl):
54907        (WebCore::ChromiumDataObject::containsFilenames):
54908        (WebCore::ChromiumDataObject::filenames):
54909        (WebCore::ChromiumDataObject::setFilenames):
54910        (WebCore::ChromiumDataObject::fileExtension):
54911        (WebCore::ChromiumDataObject::setFileExtension):
54912        (WebCore::ChromiumDataObject::fileContentFilename):
54913        (WebCore::ChromiumDataObject::setFileContentFilename):
54914        (WebCore::ChromiumDataObject::fileContent):
54915        (WebCore::ChromiumDataObject::setFileContent):
54916        * platform/chromium/ClipboardChromium.cpp:
54917        * platform/chromium/ClipboardChromium.h:
54918
549192011-03-02  David Grogan  <dgrogan@chromium.org>
54920
54921        Reviewed by Jeremy Orlow.
54922
54923        IndexedDB: fire versionchange events when calling setVersion
54924        https://bugs.webkit.org/show_bug.cgi?id=55095
54925
54926        * dom/EventNames.h:
54927        * storage/IDBDatabase.cpp:
54928        (WebCore::IDBDatabase::setVersion):
54929        (WebCore::IDBDatabase::close):
54930        (WebCore::IDBDatabase::onVersionChange):
54931        (WebCore::IDBDatabase::open):
54932        (WebCore::IDBDatabase::enqueueEvent):
54933        (WebCore::IDBDatabase::dispatchEvent):
54934        * storage/IDBDatabase.h:
54935        (WebCore::IDBDatabase::dispatchEvent):
54936        * storage/IDBDatabase.idl:
54937        * storage/IDBDatabaseBackendImpl.cpp:
54938        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
54939        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::databaseCallbacks):
54940        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::PendingSetVersionCall):
54941        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
54942        (WebCore::IDBDatabaseBackendImpl::setVersion):
54943        (WebCore::IDBDatabaseBackendImpl::open):
54944        (WebCore::IDBDatabaseBackendImpl::close):
54945        * storage/IDBDatabaseBackendImpl.h:
54946        * storage/IDBDatabaseBackendInterface.h:
54947        * storage/IDBDatabaseCallbacks.h: Copied from Source/WebCore/storage/IDBVersionChangeEvent.cpp.
54948        (WebCore::IDBDatabaseCallbacks::~IDBDatabaseCallbacks):
54949        * storage/IDBFactoryBackendImpl.cpp:
54950        (WebCore::IDBFactoryBackendImpl::open):
54951        * storage/IDBRequest.cpp:
54952        (WebCore::IDBRequest::onSuccess):
54953        * storage/IDBVersionChangeEvent.cpp:
54954        (WebCore::IDBVersionChangeEvent::create):
54955        (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
54956        * storage/IDBVersionChangeEvent.h:
54957        * storage/IDBVersionChangeRequest.cpp:
54958        (WebCore::IDBVersionChangeRequest::onBlocked):
54959
549602011-03-02  Alexey Proskuryakov  <ap@apple.com>
54961
54962        Fix assertion failures on Gtk bot.
54963
54964        * page/EventHandler.cpp: (WebCore::EventHandler::tabsToLinks): Removed an overzealous
54965        assertion. We can get here with non-Tab key events when spatial navigation is enabled.
54966
549672011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
54968
54969        Unreviewed, rolling out r80139.
54970        http://trac.webkit.org/changeset/80139
54971        https://bugs.webkit.org/show_bug.cgi?id=55620
54972
54973        failing and crashing tests on Snow Leopard bot (Requested by
54974        mihaip1 on #webkit).
54975
54976        * page/DOMWindow.cpp:
54977        * page/DOMWindow.h:
54978        * page/Frame.cpp:
54979        (WebCore::Frame::pageDestroyed):
54980        (WebCore::Frame::transferChildFrameToNewDocument):
54981        * page/Frame.h:
54982        (WebCore::Frame::detachFromPage):
54983        * page/Geolocation.cpp:
54984        (WebCore::Geolocation::~Geolocation):
54985        (WebCore::Geolocation::disconnectFrame):
54986        (WebCore::Geolocation::lastPosition):
54987        (WebCore::Geolocation::requestPermission):
54988        (WebCore::Geolocation::startUpdating):
54989        (WebCore::Geolocation::stopUpdating):
54990        * page/Geolocation.h:
54991        * page/GeolocationController.cpp:
54992        (WebCore::GeolocationController::~GeolocationController):
54993        * page/Navigator.cpp:
54994        * page/Navigator.h:
54995        * platform/mock/GeolocationClientMock.cpp:
54996        * platform/mock/GeolocationClientMock.h:
54997
549982011-03-02  Jessie Berlin  <jberlin@apple.com>
54999
55000        Reviewed by Adam Roben.
55001
55002        WebKit2: Use CFNetwork Sessions API.
55003        https://bugs.webkit.org/show_bug.cgi?id=55435
55004
55005        Add the ability to create a Private Browsing Storage Session.
55006
55007        * WebCore.exp.in:
55008        Export the symbol for ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase.
55009
55010        * page/Settings.cpp:
55011        (WebCore::Settings::setPrivateBrowsingEnabled):
55012        Propagate the private browsing state to the ResourceHandle.
55013
55014        * platform/mac/WebCoreSystemInterface.h:
55015        Add the function declaration for wkCreatePrivateStorageSession.
55016        * platform/mac/WebCoreSystemInterface.mm:
55017
55018        * platform/network/ResourceHandle.cpp:
55019        (WebCore::privateStorageSession):
55020        Since the same Private Browsing Storage Session will need to be accessed throughout the loading
55021        code and will need to be used by all web pages and page groups, make it a global static.
55022        (WebCore::privateBrowsingStorageSessionIdentifierBase):
55023        Ditto, since the identifier is needed to create the Private Browsing Storage Session.
55024        (WebCore::ResourceHandle::setPrivateBrowsingEnabled):
55025        If enabled, create and store the Private Browsing Storage Session.
55026        (WebCore::ResourceHandle::privateBrowsingStorageSession):
55027        (WebCore::ResourceHandle::setPrivateBrowsingStorageSessionIdentifierBase):
55028        * platform/network/ResourceHandle.h:
55029
55030        * platform/network/cf/ResourceHandleCFNet.cpp:
55031        (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
55032        The call to wkCreatePrivateStorageSession needs to be in a file including the correct
55033        version of WKSI.
55034        (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
55035        Return the bundle identifier.
55036        * platform/network/mac/ResourceHandleMac.mm:
55037        (WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
55038        The call to wkCreatePrivateStorageSession needs to be in a file importing the correct
55039        version of WKSI.
55040        (WebCore::ResourceHandle::privateBrowsingStorageSessionIdentifierDefaultBase):
55041        Return the bundle identifier.
55042
550432011-03-02  Daniel Cheng  <dcheng@chromium.org>
55044
55045        Revert frame-specific WebClipboard changes
55046        https://bugs.webkit.org/show_bug.cgi?id=55617
55047
55048        This code is no longer needed since we've decided to use the original
55049        approach to copy/paste drag/drop handling in ClipboardChromium.
55050
55051        No new tests because no functionality changes.
55052
55053        * platform/chromium/ChromiumDataObject.cpp:
55054        (WebCore::ChromiumDataObject::createReadable):
55055        * platform/chromium/ChromiumDataObject.h:
55056        * platform/chromium/ClipboardChromium.cpp:
55057        (WebCore::ClipboardChromium::create):
55058        * platform/chromium/PlatformBridge.h:
55059        * platform/chromium/ReadableDataObject.cpp:
55060        (WebCore::ReadableDataObject::create):
55061        (WebCore::ReadableDataObject::ReadableDataObject):
55062        (WebCore::ReadableDataObject::getData):
55063        (WebCore::ReadableDataObject::urlTitle):
55064        (WebCore::ReadableDataObject::htmlBaseUrl):
55065        (WebCore::ReadableDataObject::filenames):
55066        (WebCore::ReadableDataObject::ensureTypeCacheInitialized):
55067        * platform/chromium/ReadableDataObject.h:
55068
550692011-03-02  Tony Chang  <tony@chromium.org>
55070
55071        Unreviewed, rolling chromium DEPS to r76362.
55072
55073        https://bugs.webkit.org/show_bug.cgi?id=55564
55074
55075        * WebCore.gyp/WebCore.gyp: Switch to libjpeg_turbo to match chromium
55076
550772011-03-02  Alexey Proskuryakov  <ap@apple.com>
55078
55079        Build fix.
55080
55081        * page/ChromeClient.h: (WebCore::ChromeClient::keyboardUIMode): I didn't mean to commit these
55082        changes yet.
55083
550842011-03-02  Alexey Proskuryakov  <ap@apple.com>
55085
55086        Reviewed by John Sullivan.
55087
55088        Clean up WebCore tabsToLinks code a little
55089        https://bugs.webkit.org/show_bug.cgi?id=55606
55090
55091        No change in behavior, so no tests.
55092
55093        * html/HTMLFormControlElement.cpp: (WebCore::HTMLFormControlElement::isKeyboardFocusable):
55094        This is the only caller of tabsToAllControls(). Renamed this function to tabsToAllFormControls().
55095
55096        * page/EventHandler.cpp:
55097        (WebCore::EventHandler::isKeyboardOptionTab): Moved from platform specific files. This
55098        function cannot be file static, because EventHandlerMac.mm uses it.
55099        (WebCore::eventInvertsTabsToLinksClientCallResult): Merged implementations from platform
55100        specific files. We can just as well have #if here. Renamed for clarity.
55101        (WebCore::EventHandler::tabsToLinks): Rewrote in a way that makes it clearer how "invert"
55102        works.
55103
55104        * page/EventHandler.h: We no longer need invertSenseOfTabsToLinks() here, it's only used
55105        in EventHandler.cpp.
55106
55107        * page/android/EventHandlerAndroid.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55108        * page/brew/EventHandlerBrew.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55109        * page/chromium/EventHandlerChromium.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55110        * page/efl/EventHandlerEfl.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55111        * page/gtk/EventHandlerGtk.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55112        * page/haiku/EventHandlerHaiku.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55113        * page/mac/EventHandlerMac.mm: (WebCore::EventHandler::tabsToAllFormControls):
55114        * page/qt/EventHandlerQt.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55115        * page/win/EventHandlerWin.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55116        * page/wx/EventHandlerWx.cpp: (WebCore::EventHandler::tabsToAllFormControls):
55117        Updating all port files.
55118
551192011-02-28  Jeremy Orlow  <jorlow@chromium.org>
55120
55121        Reviewed by James Robinson.
55122
55123        Split IDBCursor.value into IDBCursor.primaryKey and IDBCursor.value
55124        https://bugs.webkit.org/show_bug.cgi?id=55443
55125
55126        Implement http://www.w3.org/Bugs/Public/show_bug.cgi?id=11948
55127
55128        The idea is to have an IDBCursor and an IDBCursorWithValue interface which
55129        inherits from the former.  index.openKeyCursor will return the former and
55130        index/objectStore.openCursor will return the latter.  We'll add a primaryKey
55131        attribute to IDBCursor.  It will always be the key of the associated object
55132        store entry.  For index.openCursor cursors, the key attribute will be the key
55133        of the index.  For objectStore.openCursors, it'll be the same as the
55134        primaryKey.  The value will be the value of the objectStore entry.
55135
55136        * WebCore.gypi:
55137        * bindings/scripts/CodeGeneratorV8.pm:
55138        * bindings/v8/SerializedScriptValue.cpp:
55139        (WebCore::SerializedScriptValue::deserializeAndSetProperty):
55140        * bindings/v8/SerializedScriptValue.h:
55141        * bindings/v8/custom/V8IDBAnyCustom.cpp:
55142        (WebCore::toV8):
55143        * storage/IDBAny.cpp:
55144        (WebCore::IDBAny::idbCursorWithValue):
55145        (WebCore::IDBAny::set):
55146        * storage/IDBAny.h:
55147        * storage/IDBCursor.cpp:
55148        (WebCore::IDBCursor::create):
55149        (WebCore::IDBCursor::primaryKey):
55150        (WebCore::IDBCursor::value):
55151        * storage/IDBCursor.h:
55152        * storage/IDBCursor.idl:
55153        * storage/IDBCursorBackendImpl.cpp:
55154        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
55155        (WebCore::IDBCursorBackendImpl::primaryKey):
55156        (WebCore::IDBCursorBackendImpl::value):
55157        (WebCore::IDBCursorBackendImpl::update):
55158        (WebCore::IDBCursorBackendImpl::currentRowExists):
55159        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
55160        (WebCore::IDBCursorBackendImpl::deleteFunction):
55161        (WebCore::IDBCursorBackendImpl::loadCurrentRow):
55162        * storage/IDBCursorBackendImpl.h:
55163        (WebCore::IDBCursorBackendImpl::create):
55164        * storage/IDBCursorBackendInterface.h:
55165        * storage/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursor.idl.
55166        (WebCore::IDBCursorWithValue::create):
55167        (WebCore::IDBCursorWithValue::IDBCursorWithValue):
55168        (WebCore::IDBCursorWithValue::~IDBCursorWithValue):
55169        * storage/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h.
55170        * storage/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursor.idl.
55171        * storage/IDBIndex.cpp:
55172        (WebCore::IDBIndex::openCursor):
55173        (WebCore::IDBIndex::openKeyCursor):
55174        * storage/IDBIndexBackendImpl.cpp:
55175        (WebCore::IDBIndexBackendImpl::openCursorInternal):
55176        (WebCore::IDBIndexBackendImpl::openCursor):
55177        (WebCore::IDBIndexBackendImpl::openKeyCursor):
55178        * storage/IDBIndexBackendImpl.h:
55179        * storage/IDBObjectStore.cpp:
55180        (WebCore::IDBObjectStore::openCursor):
55181        * storage/IDBObjectStoreBackendImpl.cpp:
55182        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
55183        * storage/IDBRequest.cpp:
55184        (WebCore::IDBRequest::IDBRequest):
55185        (WebCore::IDBRequest::setCursorType):
55186        (WebCore::IDBRequest::onSuccess):
55187        (WebCore::IDBRequest::dispatchEvent):
55188        * storage/IDBRequest.h:
55189
551902011-03-02  Aravind Akella  <aravind.akella@nokia.com>
55191
55192         Reviewed by Csaba Osztrogonác.
55193
55194         [Qt][WK2] Memory exhausted when building qtwebkit2 on linux
55195         https://bugs.webkit.org/show_bug.cgi?id=55484
55196
55197         Using AllInOne files to avoid memory exhaustion for debug
55198         builds on 32 bit linux machines.
55199
55200         No new tests. Fixing a build issue.
55201
55202         * WebCore.pro:
55203
552042011-03-02  Daniel Cheng  <dcheng@chromium.org>
55205
55206        Reviewed by David Levin.
55207
55208        Add feature define for data transfer items
55209        https://bugs.webkit.org/show_bug.cgi?id=55510
55210
55211        * Configurations/FeatureDefines.xcconfig:
55212        * GNUmakefile.am:
55213        * features.pri:
55214
552152011-03-02  Dimitri Glazkov  <dglazkov@chromium.org>
55216
55217        Update location of media-file.js, which was moved in r79630.
55218
55219        * manual-tests/media-controls.html: Updated location.
55220
552212011-03-02  Sheriff Bot  <webkit.review.bot@gmail.com>
55222
55223        Unreviewed, rolling out r80156.
55224        http://trac.webkit.org/changeset/80156
55225        https://bugs.webkit.org/show_bug.cgi?id=55604
55226
55227        "Broke SL compile" (Requested by tonyg-cr on #webkit).
55228
55229        * bridge/jni/JNIBridge.h:
55230        (JSC::Bindings::JavaString::operator UString):
55231        * bridge/jni/jni_jsobject.mm:
55232        (JavaJSObject::call):
55233        (JavaJSObject::eval):
55234        (JavaJSObject::getMember):
55235        (JavaJSObject::setMember):
55236        (JavaJSObject::removeMember):
55237        * bridge/jni/jsc/JavaClassJSC.cpp:
55238        (JavaClass::JavaClass):
55239        * bridge/jni/jsc/JavaStringJSC.h:
55240        (JSC::Bindings::JavaStringImpl::uString):
55241        * bridge/jni/v8/JavaStringV8.h:
55242
552432011-03-02  Steve Block  <steveblock@google.com>
55244
55245        Reviewed by Jeremy Orlow.
55246
55247        JavaString API should be implementable by both JSC and V8
55248        https://bugs.webkit.org/show_bug.cgi?id=55567
55249
55250        Remove JavaString's UString operator and replace it with a
55251        script-engine-independent impl() method, which returns a
55252        StringImpl and can be implemented with both JSC and V8.
55253
55254        No new tests, refactoring only.
55255
55256        * bridge/jni/JNIBridge.h:
55257        (JSC::Bindings::JavaString::impl):
55258        * bridge/jni/jni_jsobject.mm:
55259        (JavaJSObject::call):
55260        (JavaJSObject::eval):
55261        (JavaJSObject::getMember):
55262        (JavaJSObject::setMember):
55263        (JavaJSObject::removeMember):
55264        * bridge/jni/jsc/JavaClassJSC.cpp:
55265        (JavaClass::JavaClass):
55266        * bridge/jni/jsc/JavaStringJSC.h:
55267        (JSC::Bindings::JavaStringImpl::impl):
55268        * bridge/jni/v8/JavaStringV8.h:
55269        (JSC::Bindings::JavaStringImpl::impl):
55270
552712011-03-02  Mihai Parparita  <mihaip@chromium.org>
55272
55273        Reviewed by Dimitri Glazkov.
55274
55275        Add CRASH() for CSSSelector double frees
55276        https://bugs.webkit.org/show_bug.cgi?id=55596
55277
55278        To help track down bug 53045, add a CRASH call when the CSSSelector
55279        destructor is invoked more than once.
55280
55281        Just a check, no new tests necessary.
55282
55283        * css/CSSSelector.h:
55284        (WebCore::CSSSelector::CSSSelector):
55285        (WebCore::CSSSelector::~CSSSelector):
55286
552872011-03-02  Carol Szabo  <carol.szabo@nokia.com>
55288
55289        Reviewed by David Hyatt  <hyatt@apple.com>
55290
55291        content property doesn't support quotes
55292        https://bugs.webkit.org/show_bug.cgi?id=6503
55293
55294        Added full support for quotes as defined by CSS 2.1.
55295
55296        Tests: fast/css/content/content-quotes-01.html
55297               fast/css/content/content-quotes-02.html
55298               fast/css/content/content-quotes-03.html
55299               fast/css/content/content-quotes-04.html
55300               fast/css/content/content-quotes-05.html
55301               fast/css/content/content-quotes-06.html
55302
55303        * Android.mk:
55304        * CMakeLists.txt:
55305        * GNUmakefile.am:
55306        * WebCore.gypi:
55307        * WebCore.pro:
55308        * WebCore.vcproj/WebCore.vcproj:
55309        * WebCore.xcodeproj/project.pbxproj:
55310        Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists
55311        * css/CSSParser.cpp:
55312        (WebCore::CSSParser::parseValue):
55313        (WebCore::CSSParser::parseQuotes):
55314        * css/CSSParser.h:
55315        Added needed stylesheet parsing support for quotes,
55316        (no-)open-quote and (no-)close-quote
55317        * css/CSSStyleSelector.cpp:
55318        (WebCore::CSSStyleSelector::applyProperty):
55319        Handled setting of the new quotes RenderStyle property and added
55320        handling of quotes for the content property.
55321        * css/html.css:
55322        (q:before):
55323        (q:after):
55324        replaced the '"' workaround with open/close-quote
55325        * rendering/RenderBlockLineLayout.cpp:
55326        (WebCore::dirtyLineBoxesForRenderer):
55327        Made RenderQuote behave like RenderCounter.
55328        Needed to ensure that the Quote text is calculated before layout,
55329        just as it is for RenderCounter.
55330        * rendering/RenderObject.h:
55331        (WebCore::RenderObject::isQuote):
55332        * rendering/RenderObjectChildList.cpp:
55333        (WebCore::RenderObjectChildList::removeChildNode):
55334        (WebCore::RenderObjectChildList::appendChildNode):
55335        (WebCore::RenderObjectChildList::insertChildNode):
55336        Handled updating of quote depth when renderers are added and removed
55337        from the tree.
55338        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
55339        Added support for Quote content.
55340        * rendering/RenderQuote.cpp: Added.
55341        (WebCore::adjustDepth):
55342        (WebCore::RenderQuote::RenderQuote):
55343        (WebCore::RenderQuote::~RenderQuote):
55344        (WebCore::RenderQuote::renderName):
55345        (WebCore::RenderQuote::placeQuote):
55346        (WebCore::LanguageData::operator<):
55347        (WebCore::defaultLanguageQuotes):
55348        (WebCore::quotesMap):
55349        (WebCore::quotesForLanguage):
55350        (WebCore::defaultQuotes):
55351        (WebCore::RenderQuote::originalText):
55352        (WebCore::RenderQuote::computePreferredLogicalWidths):
55353        (WebCore::RenderQuote::rendererSubtreeAttached):
55354        (WebCore::RenderQuote::rendererRemovedFromTree):
55355        (WebCore::RenderQuote::styleDidChange):
55356        * rendering/RenderQuote.h: Added.
55357        (WebCore::RenderQuote::isQuote):
55358        (WebCore::toRenderQuote):
55359        * rendering/RenderingAllInOne.cpp:
55360        Included RenderQuote.cpp
55361        * rendering/style/StyleAllInOne.cpp:
55362        Included QuotesData.cpp
55363        * rendering/style/ContentData.cpp:
55364        (WebCore::ContentData::dataEquivalent):
55365        Checked for quotetype identity.
55366        (WebCore::ContentData::deleteContent):
55367        Accounted for the new QUOTE_TYPE.
55368        * rendering/style/ContentData.h:
55369        (WebCore::ContentData::isQuote):
55370        (WebCore::ContentData::quote):
55371        (WebCore::ContentData::setQuote):
55372        * rendering/style/QuotesData.cpp: Added.
55373        (WebCore::QuotesData::create):
55374        (WebCore::QuotesData::operator==):
55375        (WebCore::QuotesData::~QuotesData):
55376        * rendering/style/QuotesData.h: Added.
55377        (WebCore::QuotesData::data):
55378        (WebCore::QuotesData::operator delete):
55379        (WebCore::QuotesData::QuotesData):
55380        * rendering/style/RenderStyle.cpp:
55381        (WebCore::RenderStyle::setContent):
55382        (WebCore::RenderStyle::setQuotes):
55383        * rendering/style/RenderStyle.h:
55384        (WebCore::InheritedFlags::quotes):
55385        (WebCore::InheritedFlags::setQuotes):
55386        * rendering/style/RenderStyleConstants.h:
55387        * rendering/style/StyleAllInOne.cpp:
55388        Added QuotesData.cpp to the included files list.
55389        * rendering/style/StyleRareInheritedData.cpp:
55390        (WebCore::StyleRareInheritedData::operator==):
55391        Included quotes in equality check.
55392        * rendering/style/StyleRareInheritedData.h:
55393        Added quotes
55394
553952011-03-02  Antti Koivisto  <antti@apple.com>
55396
55397        Reviewed by Dave Hyatt.
55398
55399        Selector usage flags should not be set by the CSS parser
55400        https://bugs.webkit.org/show_bug.cgi?id=55573
55401
55402        Currently flags like Document::usesSiblingRules() are set directly by the CSS parser. This is wrong as
55403        we may parse stylesheets that are not actually used for document rendering. This is especially bad when
55404        the page uses querySelectorAll(). As a result we may end up in various performance penalty boxes
55405        triggered by complex selectors for no good reason.
55406
55407        - Use the selector traversal in style selector constructor to figure out which flags
55408          are actually needed for the currently active style sheets.
55409        - Remove the selector flag related code from the CSS parser/grammar.
55410        - Remove the usesDescendantRules flag completely. We have descendant rules in the default
55411          style sheet, every document uses them.
55412
55413        * css/CSSGrammar.y:
55414        * css/CSSParser.cpp:
55415        (WebCore::CSSParser::updateSpecifiersWithElementName):
55416        * css/CSSStyleSelector.cpp:
55417        (WebCore::collectSiblingRulesInDefaultStyle):
55418        (WebCore::CSSStyleSelector::CSSStyleSelector):
55419        (WebCore::CSSStyleSelector::Features::Features):
55420        (WebCore::CSSStyleSelector::Features::~Features):
55421        (WebCore::CSSStyleSelector::locateCousinList):
55422        (WebCore::CSSStyleSelector::matchesSiblingRules):
55423        (WebCore::CSSStyleSelector::canShareStyleWithElement):
55424        (WebCore::CSSStyleSelector::locateSharedStyle):
55425        (WebCore::collectFeaturesFromSelector):
55426        (WebCore::collectFeaturesFromList):
55427        (WebCore::RuleSet::collectFeatures):
55428        * css/CSSStyleSelector.h:
55429        (WebCore::CSSStyleSelector::usesSiblingRules):
55430        (WebCore::CSSStyleSelector::usesFirstLineRules):
55431        (WebCore::CSSStyleSelector::usesBeforeAfterRules):
55432        (WebCore::CSSStyleSelector::usesLinkRules):
55433        * dom/Document.cpp:
55434        (WebCore::Document::Document):
55435        (WebCore::Document::recalcStyle):
55436        (WebCore::Document::createStyleSelector):
55437        * dom/Document.h:
55438        (WebCore::Document::usesSiblingRules):
55439        (WebCore::Document::setUsesSiblingRules):
55440        (WebCore::Document::usesFirstLineRules):
55441        (WebCore::Document::usesBeforeAfterRules):
55442        (WebCore::Document::setUsesBeforeAfterRules):
55443        * dom/Element.cpp:
55444        (WebCore::Element::recalcStyle):
55445
554462011-03-02  Brian Weinstein  <bweinstein@apple.com>
55447
55448        Fix fallout from a last minute renaming.
55449
55450        * platform/network/cf/CookieStorageCFNet.cpp:
55451        (WebCore::startObservingCookieChanges):
55452        (WebCore::stopObservingCookieChanges):
55453
554542011-03-01  Brian Weinstein  <bweinstein@apple.com>
55455
55456        Reviewed by Adam Roben.
55457
55458        Part of WebKit2: Need a way to send notifications to client when cookies change
55459        https://bugs.webkit.org/show_bug.cgi?id=55427
55460        <rdar://problem/9056027>
55461
55462        Add functions on CookieStorage that allow listening for changes in cookies. When
55463        the cookies are changed, they call through to CookiesStrategy::notifyCookiesChanged.
55464
55465        No change in behavior requiring tests.
55466
55467        * platform/CookiesStrategy.h: Added.
55468        (WebCore::CookiesStrategy::~CookiesStrategy):
55469
55470        * platform/PlatformStrategies.h:
55471        (WebCore::PlatformStrategies::cookiesStrategy):
55472        (WebCore::PlatformStrategies::PlatformStrategies):
55473
55474        * platform/network/CookieStorage.h: Add new function declarations.
55475
55476        * platform/network/cf/CookieStorageCFNet.cpp:
55477        (WebCore::notifyCookiesChangedOnMainThread): Call through to CookiesStrategy::notifyCookiesChanged.
55478        (WebCore::notifyCookiesChanged): Call notifyCookiesChangedOnMainThread on the main thread.
55479        (WebCore::beginObservingCookieChanges): Set up cookie observers on the loader run loop.
55480        (WebCore::finishObservingCookieChanges): Remove our cookie observers from the loader run loop.
55481
55482        * platform/network/mac/CookieStorageMac.mm:
55483        (-[CookieStorageObjCAdapter notifyCookiesChangedOnMainThread]): Call through to CookiesStrategy::notifyCookiesChanged.
55484        (-[CookieStorageObjCAdapter cookiesChangedNotificationHandler:]): Call notifyCookiesChangedOnMainThread on
55485            the main thread.
55486        (-[CookieStorageObjCAdapter registerForCookieChangeNotifications]): Set up the observer for cookie change notifications.
55487        (-[CookieStorageObjCAdapter unregisterForCookieChangeNotifications]): Remove the observer for cookie change notifications.
55488        (WebCore::beginObservingCookieChanges): Create our CookieStorageObjCAdapter, and call registerForCookieChangeNotifications.
55489        (WebCore::finishObservingCookieChanges): Call unregisterForCookieChangeNotifications.
55490
55491        Add new file.
55492        * WebCore.vcproj/WebCore.vcproj:
55493        * WebCore.xcodeproj/project.pbxproj: Set role on files we need to include in WebKit to private.
55494
554952011-03-02  Sergey Glazunov  <serg.glazunov@gmail.com>
55496
55497        Reviewed by Dimitri Glazkov.
55498
55499        A WebKitCSSKeyframesRule object should set itself as the parent for inserted rules
55500        https://bugs.webkit.org/show_bug.cgi?id=55488
55501
55502        Test: fast/css/css-keyframe-parent.html
55503
55504        * css/WebKitCSSKeyframesRule.cpp:
55505        (WebCore::WebKitCSSKeyframesRule::append):
55506
555072011-03-02  Sergio Villar Senin  <svillar@igalia.com>
55508
55509        Reviewed by Martin Robinson.
55510
55511        [GTK] Add support for external protocol handlers
55512        https://bugs.webkit.org/show_bug.cgi?id=55473
55513
55514        Do not unconditionally create and replace the SoupRequester of the
55515        SoupSession if there is already one. No new tests needed as we
55516        just allow clients to create their our SoupRequesters.
55517
55518        * platform/network/soup/ResourceHandleSoup.cpp:
55519        (WebCore::ensureSessionIsInitialized):
55520
555212011-03-02  John Knottenbelt  <jknotten@chromium.org>
55522
55523        Reviewed by jknotten@chromium.org.
55524
55525        Fix build-breakage when GEOLOCATION not enabled.
55526        https://bugs.webkit.org/show_bug.cgi?id=55586
55527
55528        Geolocation::reset needs to be defined if ENABLE(GEOLOCATION)
55529        is not true.
55530
55531        * page/Geolocation.cpp:
55532        (WebCore::Geolocation::reset):
55533
555342011-03-02  Pavel Feldman  <pfeldman@chromium.org>
55535
55536        Reviewed by Yury Semikhatsky.
55537
55538        Web Inspector: remove InjectedScriptHost -> DOMAgent dependency.
55539        https://bugs.webkit.org/show_bug.cgi?id=55575
55540
55541        * bindings/js/JSInjectedScriptHostCustom.cpp:
55542        (WebCore::JSInjectedScriptHost::inspectedNode):
55543        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
55544        (WebCore::V8InjectedScriptHost::inspectedNodeCallback):
55545        * inspector/ConsoleMessage.cpp:
55546        (WebCore::ConsoleMessage::addToFrontend):
55547        * inspector/InjectedScript.cpp:
55548        (WebCore::InjectedScript::evaluateOn):
55549        (WebCore::InjectedScript::wrapObject):
55550        (WebCore::InjectedScript::wrapNode):
55551        (WebCore::InjectedScript::inspectNode):
55552        (WebCore::InjectedScript::nodeAsScriptValue):
55553        * inspector/InjectedScript.h:
55554        * inspector/InjectedScriptHost.cpp:
55555        (WebCore::InjectedScriptHost::addInspectedNode):
55556        (WebCore::InjectedScriptHost::clearInspectedNodes):
55557        (WebCore::InjectedScriptHost::copyText):
55558        (WebCore::InjectedScriptHost::inspectedNode):
55559        * inspector/InjectedScriptHost.h:
55560        * inspector/InjectedScriptHost.idl:
55561        * inspector/InjectedScriptSource.js:
55562        * inspector/Inspector.idl:
55563        * inspector/InspectorDOMAgent.cpp:
55564        (WebCore::InspectorDOMAgent::discardBindings):
55565        (WebCore::InspectorDOMAgent::addInspectedNode):
55566        (WebCore::InspectorDOMAgent::resolveNode):
55567        (WebCore::InspectorDOMAgent::injectedScriptForNode):
55568        * inspector/InspectorDOMAgent.h:
55569        * inspector/InspectorRuntimeAgent.cpp:
55570        (WebCore::InspectorRuntimeAgent::evaluateOn):
55571        * inspector/InspectorRuntimeAgent.h:
55572        * inspector/front-end/ElementsTreeOutline.js:
55573        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.setTooltip):
55574        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode.resolvedNode):
55575        (WebInspector.ElementsTreeElement.prototype._createTooltipForNode):
55576        * inspector/front-end/PropertiesSidebarPane.js:
55577        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
55578        (WebInspector.PropertiesSidebarPane.prototype.update.nodePrototypesReady):
55579        (WebInspector.PropertiesSidebarPane.prototype.update.fillSection):
55580        (WebInspector.PropertiesSidebarPane.prototype.update):
55581        * inspector/front-end/RemoteObject.js:
55582        (WebInspector.RemoteObject.resolveNode):
55583        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
55584        (WebInspector.RemoteObject.prototype.evaluate):
55585
555862011-01-21  John Knottenbelt  <jknotten@chromium.org>
55587
55588        Reviewed by Dmitry Titov.
55589
55590        Detach Geolocation from Frame when Page destroyed.
55591        https://bugs.webkit.org/show_bug.cgi?id=52877
55592
55593        On Page destruction, any outstanding Geolocation permission
55594        requests should be cancelled, because the Geolocation can only
55595        access the client indirectly via m_frame->page().
55596
55597        Additionally, if the Frame is reparented to another page, the
55598        Geolocation should cancel watches, single-shots and requests on
55599        the old page.
55600
55601        Page destruction is signalled by a call to the
55602        Frame::pageDestroyed() method. This calls Frame::detachFromPage,
55603        where we extend the call chain to Geolocation::detachFromPage()
55604        where we call Geolocation::reset() which detaches from the
55605        GeolocationController, cancels requests, watches and single shots,
55606        and sets the permission state back to Unknown.
55607
55608        We also now call detachFromPage when the frame reparented in
55609        Frame::transferChildFrameToNewDocument.
55610
55611        Frame::pageDestroyed() is also called by FrameLoader even though
55612        the page is not destroyed. We should still cancel permission
55613        requests, because the GeolocationClient will become inaccessible
55614        to the Geolocation object after this call.
55615
55616        Since GeolocationController is owned by Page, and all Geolocation
55617        objects will now unsubscribe from the GeolocationController on
55618        pageDetached(), we no longer need to call stopUpdating() from the
55619        GeolocationController's destructor. Instead we can simply assert
55620        that there should be no no observers. See related bug
55621        https://bugs.webkit.org/show_bug.cgi?id=52216 .
55622
55623        Introduced new method 'numberOfPendingPermissionRequests' on
55624        GeolocationClientMock to count the number of outstanding pending
55625        permission requests. This provides a reusable implementation for
55626        client-based implementations of the LayoutTestController's
55627        numberOfPendingGeolocationPermissionRequests method.
55628
55629        Tests: fast/dom/Geolocation/iframe-reparent.html
55630               fast/dom/Geolocation/page-reload-cancel-permission-requests.html
55631
55632        * page/DOMWindow.cpp:
55633        (WebCore::DOMWindow::resetGeolocationPermissions):
55634        * page/DOMWindow.h:
55635        * page/Frame.cpp:
55636        (WebCore::Frame::detachFromPage):
55637        (WebCore::Frame::pageDestroyed):
55638        (WebCore::Frame::transferChildFrameToNewDocument):
55639        * page/Frame.h:
55640        * page/Geolocation.cpp:
55641        (WebCore::Geolocation::~Geolocation):
55642        (WebCore::Geolocation::page):
55643        (WebCore::Geolocation::reset):
55644        (WebCore::Geolocation::disconnectFrame):
55645        (WebCore::Geolocation::lastPosition):
55646        (WebCore::Geolocation::requestPermission):
55647        (WebCore::Geolocation::startUpdating):
55648        (WebCore::Geolocation::stopUpdating):
55649        * page/Geolocation.h:
55650        * page/GeolocationController.cpp:
55651        (WebCore::GeolocationController::~GeolocationController):
55652        * page/Navigator.cpp:
55653        (WebCore::Navigator::resetGeolocationPermissions):
55654        * page/Navigator.h:
55655        * platform/mock/GeolocationClientMock.cpp:
55656        (WebCore::GeolocationClientMock::numberOfPendingPermissionRequests):
55657        * platform/mock/GeolocationClientMock.h:
55658
556592011-03-02  Mikhail Naganov  <mnaganov@chromium.org>
55660
55661        Reviewed by Pavel Feldman.
55662
55663        Web Inspector: [Chromium] Landing detailed heap snapshots, part 4.
55664        https://bugs.webkit.org/show_bug.cgi?id=55563
55665
55666        This part adds implementations for data grids used to display
55667        different heap snapshots projections. We are almost done.
55668
55669        * English.lproj/localizedStrings.js:
55670        * WebCore.gypi:
55671        * bindings/v8/ScriptHeapSnapshot.cpp:
55672        (WebCore::ScriptHeapSnapshot::getExactRetainedSize):
55673        * bindings/v8/ScriptHeapSnapshot.h:
55674        * inspector/Inspector.idl:
55675        * inspector/InspectorProfilerAgent.cpp:
55676        (WebCore::InspectorProfilerAgent::getExactHeapSnapshotNodeRetainedSize):
55677        * inspector/InspectorProfilerAgent.h:
55678        * inspector/front-end/DetailedHeapshotGridNodes.js:
55679        (WebInspector.HeapSnapshotObjectNode):
55680        (WebInspector.HeapSnapshotObjectNode.prototype._createProvider):
55681        (WebInspector.HeapSnapshotInstanceNode):
55682        (WebInspector.HeapSnapshotInstanceNode.prototype._createProvider):
55683        (WebInspector.HeapSnapshotDominatorObjectNode):
55684        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
55685        (MixInSnapshotNodeFunctions):
55686        * inspector/front-end/DetailedHeapshotView.js:
55687        (WebInspector.HeapSnapshotContainmentDataGrid):
55688        (WebInspector.HeapSnapshotSortableDataGrid):
55689        (WebInspector.HeapSnapshotConstructorsDataGrid):
55690        (WebInspector.HeapSnapshotDiffDataGrid):
55691        (WebInspector.HeapSnapshotDominatorsDataGrid):
55692        (WebInspector.HeapSnapshotRetainingPathsList):
55693        (WebInspector.DetailedHeapshotView.profileCallback):
55694        (WebInspector.DetailedHeapshotView):
55695        * inspector/front-end/HeapSnapshot.js:
55696        (WebInspector.HeapSnapshotEdge.prototype.get isInvisible):
55697        (WebInspector.HeapSnapshotEdge.prototype.toString):
55698        (WebInspector.HeapSnapshot.prototype._init):
55699        (WebInspector.HeapSnapshot.prototype._buildAggregatesIndexes):
55700        (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
55701        (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge):
55702        * inspector/front-end/Images/helpButtonGlyph.png: Added.
55703        * inspector/front-end/Panel.js:
55704        (WebInspector.Panel.prototype.reset):
55705        * inspector/front-end/Popover.js:
55706        (WebInspector.Popover):
55707        (WebInspector.Popover.prototype.show):
55708        (WebInspector.Popover.prototype.hide):
55709        (WebInspector.Popover.prototype.get visible):
55710        * inspector/front-end/ProfilesPanel.js:
55711        (WebInspector.ProfilesPanel.prototype._reset):
55712        (WebInspector.ProfilesPanel.prototype.getProfile):
55713        * inspector/front-end/heapProfiler.css:
55714        * inspector/front-end/inspector.js:
55715        (WebInspector.resetFocusElement):
55716
557172011-03-02  David Kilzer  <ddkilzer@apple.com>
55718
55719        <http://webkit.org/b/55534> Clean up macros in Extensions3DOpenGL.cpp
55720
55721        Reviewed by Darin Adler.
55722
55723        Change "#if GL_APPLE_vertex_array_object" macros to check that
55724        GL_APPLE_vertex_array_object is both defined and non-zero.
55725
55726        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
55727        (WebCore::Extensions3DOpenGL::createVertexArrayOES):
55728        (WebCore::Extensions3DOpenGL::deleteVertexArrayOES): Remove
55729        empty #else clause.
55730        (WebCore::Extensions3DOpenGL::isVertexArrayOES):
55731        (WebCore::Extensions3DOpenGL::bindVertexArrayOES): Add early
55732        return check.  Remove #else clause that would never have
55733        compiled (since array is not a WTF::String).
55734
557352011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
55736
55737        Reviewed by Darin Adler.
55738
55739        Assertion failure after removing a selection in keydown handler
55740        https://bugs.webkit.org/show_bug.cgi?id=51389
55741
55742        The bug was caused by textWillBeReplaced's not always updating selection, and
55743        shouldRemovePositionAfterAdoptingTextReplacement's not moving the end offset when it's
55744        at the end of replaced data.
55745
55746        Fixed the bug by always updating selection in textWillBeReplaced and fixing the condition
55747        to move the offset in shouldRemovePositionAfterAdoptingTextReplacement. Also added a call
55748        to setSelection instead of directly modifying m_selection to notify all the clients.
55749        Namely, the call to EditorClient::respondToChangedSelection is required for
55750        setting-input-value-cancel-ime-composition.html.
55751
55752        Note that we must update layout before calling setSelection because setSelection calls
55753        setFocusedNodeIfNeeded and it requires layout to be up-to-date. Without this call, tests
55754        such as fast/forms/input-appearance-maxlength.html hits an assertion in Node::isFocusable.
55755
55756        Test: editing/input/setting-input-value-cancel-ime-composition.html
55757
55758        * editing/SelectionController.cpp:
55759        (WebCore::shouldRemovePositionAfterAdoptingTextReplacement): When replacing text, the offset
55760        of the selection end must be updated even if it was at the end of the replaced text.
55761        e.g. removing "world" from "hello world] WebKit" should result in "hello ] WebKit" not
55762        "hello  WebK[it". Note we don't move the offset if no text is removed because appending
55763        "world" to "hello ]" should result in "hello ]world" not "hello world]".
55764        (WebCore::SelectionController::textWillBeReplaced): Calls setSelection to update
55765        the selection instead of modifying m_selection directly.
55766
557672011-03-02  Andrey Adaikin  <aandrey@google.com>
55768
55769        Reviewed by Pavel Feldman.
55770
55771        Web Inspector: highlighted line does not span horizonally in scripts panel while debugging.
55772        https://bugs.webkit.org/show_bug.cgi?id=54675
55773
55774        * inspector/front-end/TextViewer.js:
55775        (WebInspector.TextViewer.prototype._syncScroll):
55776        (WebInspector.TextEditorChunkedPanel.prototype._buildChunks):
55777        (WebInspector.TextEditorChunkedPanel.prototype.makeLineAChunk):
55778        (WebInspector.TextEditorGutterPanel):
55779        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
55780        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
55781        (WebInspector.TextEditorMainPanel):
55782        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
55783        (WebInspector.TextEditorMainPanel.prototype._getSelection):
55784        (WebInspector.TextEditorMainPanel.prototype._selectionToPosition):
55785        (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
55786        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
55787        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
55788        * inspector/front-end/textViewer.css:
55789        (.inner-container):
55790
557912011-03-02  Oleg Romashin  <romaxa@gmail.com>
55792
55793        Reviewed by Andreas Kling.
55794
55795        Fixing inspector compilation with JAVASCRIPT_DEBUGGER disabled
55796        https://bugs.webkit.org/show_bug.cgi?id=55477
55797
55798        * inspector/InspectorAgent.cpp:
55799        (WebCore::InspectorAgent::populateScriptObjects):
55800
558012011-03-02  Kent Tamura  <tkent@chromium.org>
55802
55803        Unreviewed, a trivial fix for r80096.
55804
55805        REGRESSION (r80096): [Chromium] fast/forms/input-number-unacceptable-style.html failure
55806        https://bugs.webkit.org/show_bug.cgi?id=55562
55807
55808        * platform/text/LocalizedNumberICU.cpp:
55809        (WebCore::parseLocalizedNumber): Check the ParsePosition after NumberFormat::parse()
55810          to reject strings with a valid number + extra letters.
55811
558122011-03-02  Steve Block  <steveblock@google.com>
55813
55814        Reviewed by Jeremy Orlow.
55815
55816        JObjectWrapper should be moved to its own file
55817        https://bugs.webkit.org/show_bug.cgi?id=55384
55818
55819        No new tests, refactoring only.
55820
55821        * Android.v8bindings.mk:
55822        * WebCore.gypi:
55823        * bridge/jni/v8/JNIBridgeV8.cpp:
55824        (JavaField::JavaField):
55825        * bridge/jni/v8/JNIBridgeV8.h:
55826        * bridge/jni/v8/JavaInstanceV8.cpp:
55827        (JavaInstance::JavaInstance):
55828        * bridge/jni/v8/JavaInstanceV8.h:
55829        * bridge/jni/v8/JobjectWrapper.cpp: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
55830        (JobjectWrapper::JobjectWrapper):
55831        (JobjectWrapper::~JobjectWrapper):
55832        * bridge/jni/v8/JobjectWrapper.h: Copied from Source/WebCore/bridge/jni/v8/JNIBridgeV8.h.
55833        (JSC::Bindings::JobjectWrapper::instance):
55834        (JSC::Bindings::JobjectWrapper::setInstance):
55835        (JSC::Bindings::JobjectWrapper::ref):
55836        (JSC::Bindings::JobjectWrapper::deref):
55837
558382011-02-25  Andrey Kosyakov  <caseq@chromium.org>
55839
55840        Reviewed by Pavel Feldman.
55841
55842        Web Inspector: factor search logic out of inspector.js
55843        https://bugs.webkit.org/show_bug.cgi?id=54965
55844
55845        * WebCore.gypi:
55846        * WebCore.vcproj/WebCore.vcproj:
55847        * inspector/front-end/ElementsPanel.js:
55848        (WebInspector.ElementsPanel.prototype.searchCanceled):
55849        (WebInspector.ElementsPanel.prototype.switchToAndFocus):
55850        (WebInspector.ElementsPanel.prototype._updateMatchesCount):
55851        * inspector/front-end/Panel.js:
55852        (WebInspector.Panel.prototype.searchCanceled):
55853        (WebInspector.Panel.prototype.performSearch.updateMatchesCount):
55854        * inspector/front-end/ScriptsPanel.js:
55855        (WebInspector.ScriptsPanel.prototype.searchCanceled):
55856        (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
55857        (WebInspector.ScriptsPanel.prototype.performSearch):
55858        * inspector/front-end/SearchController.js: Added.
55859        (WebInspector.SearchController):
55860        (WebInspector.SearchController.prototype.updateSearchMatchesCount):
55861        (WebInspector.SearchController.prototype.updateSearchLabel):
55862        (WebInspector.SearchController.prototype.cancelSearch):
55863        (WebInspector.SearchController.prototype.handleShortcut):
55864        (WebInspector.SearchController.prototype.activePanelChanged.performPanelSearch):
55865        (WebInspector.SearchController.prototype.activePanelChanged):
55866        (WebInspector.SearchController.prototype._updateSearchMatchesCount):
55867        (WebInspector.SearchController.prototype._focusSearchField):
55868        (WebInspector.SearchController.prototype._onSearchFieldManualFocus):
55869        (WebInspector.SearchController.prototype._onKeyDown):
55870        (WebInspector.SearchController.prototype._onSearch):
55871        (WebInspector.SearchController.prototype._performSearch):
55872        * inspector/front-end/WebKit.qrc:
55873        * inspector/front-end/inspector.html:
55874        * inspector/front-end/inspector.js:
55875        (WebInspector.set currentPanel):
55876        (WebInspector.set attached):
55877        (WebInspector.doLoadedDone):
55878        (WebInspector.documentKeyDown):
55879
558802011-03-02  Renata Hodovan  <reni@webkit.org>
55881
55882        Reviewed by Andreas Kling.
55883
55884        FEMorphologyElement changes doesn't require relayout
55885        https://bugs.webkit.org/show_bug.cgi?id=55462
55886
55887        When the FEMorphologyElement receives an update message but the given value remains the same we don't need
55888        to relayout the filter.
55889
55890        No new tests are needed because this modification is covered by the dynamic update tests of FEMorphology.
55891
55892        * platform/graphics/filters/FEMorphology.cpp:
55893        (WebCore::FEMorphology::setMorphologyOperator):
55894        (WebCore::FEMorphology::setRadiusX):
55895        (WebCore::FEMorphology::setRadiusY):
55896        * platform/graphics/filters/FEMorphology.h:
55897        * svg/SVGFEMorphologyElement.cpp:
55898        (WebCore::SVGFEMorphologyElement::setFilterEffectAttribute):
55899        (WebCore::SVGFEMorphologyElement::svgAttributeChanged):
55900        * svg/SVGFEMorphologyElement.h:
55901
559022011-03-01  Kent Tamura  <tkent@chromium.org>
55903
55904        Reviewed by Dimitri Glazkov.
55905
55906        Assertion fails when a form validation bubble appears
55907        https://bugs.webkit.org/show_bug.cgi?id=55550
55908
55909        Test: fast/forms/interactive-validation-attach-assertion.html
55910
55911        * html/ValidationMessage.cpp:
55912        (WebCore::ValidationMessage::buildBubbleTree):
55913         Just remove unnecessary attach().
55914
559152011-03-01  Kent Tamura  <tkent@chromium.org>
55916
55917        Reviewed by Dimitri Glazkov.
55918
55919        Support localized numbers in <input type=number>
55920        https://bugs.webkit.org/show_bug.cgi?id=42484
55921
55922        This change adds support of localized numbers in <input type=number>.
55923        This affects only the UI, and not HTMLInputElement::value.
55924
55925        - Remove the keyboard input restriction feature because it is hard to
55926          retrieve characters usable for localized numbers in ICU.
55927
55928        - Separate convertFromVisibleValue() from sanitizeValue().
55929          sanitizeValue() is used for not only converting a renderer value to a
55930          DOM value.
55931
55932        - Implement LocalizedNumber functions for ICU and NSNumberFormatter.
55933          It is used only in Chromium for now.
55934
55935        Test: manual-tests/input-number-localization.html
55936
55937        * WebCore.gypi: Use LocalizedNumberICU.cpp.
55938        * WebCore.xcodeproj/project.pbxproj:
55939          Add LocalizedNumberMac.mm and remove LocalizedNumberNone.cpp.
55940        * dom/InputElement.h: Introduce convertFromVisibleValue().
55941        * html/HTMLInputElement.cpp:
55942        (WebCore::HTMLInputElement::convertFromVisibleValue):
55943        * html/HTMLInputElement.h:
55944        * html/InputType.cpp:
55945        (WebCore::InputType::convertFromVisibleValue):
55946        * html/InputType.h:
55947        * html/NumberInputType.cpp: Remove isHTMLNumberCharacter(),
55948          isNumberCharacter(), and handleBeforeTextInsertedEvent() because we
55949          remove the keyboard input restriction feature for type=number.
55950        (WebCore::NumberInputType::convertFromVisibleValue):
55951        (WebCore::NumberInputType::sanitizeValue):
55952        * html/NumberInputType.h:
55953        * manual-tests/input-number-localization.html: Add a manual test because
55954          the behavior depends on the current locale.
55955        * platform/text/LocalizedNumber.h: Remove isLocalizedNumberCharacter().
55956        * platform/text/LocalizedNumberICU.cpp:
55957          Implement LocalizedNumber functions with ICU NumberFormat.
55958        (WebCore::createFormatterForCurrentLocale):
55959        (WebCore::parseLocalizedNumber):
55960        (WebCore::formatLocalizedNumber):
55961        * platform/text/LocalizedNumberNone.cpp: Remove isLocalizedNumberCharacter().
55962        * platform/text/mac/LocalizedNumberMac.mm:
55963          Implement LocalizedNumber functions with NSNumberFormatter.
55964        (WebCore::parseLocalizedNumber):
55965        (WebCore::formatLocalizedNumber):
55966        * rendering/RenderTextControlSingleLine.cpp:
55967        (WebCore::RenderTextControlSingleLine::subtreeHasChanged):
55968        * wml/WMLInputElement.h:
55969        (WebCore::WMLInputElement::convertFromVisibleValue):
55970          Implemented as a function doing nothing.
55971
559722011-03-01  Yuta Kitamura  <yutak@chromium.org>
55973
55974        Reviewed by Darin Adler.
55975
55976        REGRESSION(r78383): Failure to connect on websocketstest.com
55977        https://bugs.webkit.org/show_bug.cgi?id=54811
55978
55979        After r78383, KURL::setPort() no longer appends ":port" part
55980        if that port is the default port for URL scheme. This broke
55981        SocketStreamHandleCFNet, whose code was based on an assumption
55982        that KURL::setPort() always inserts ":port" part.
55983
55984        To fix this, KURL::port() call is removed from SocketStreamHandle
55985        and the port number is calculated on-the-fly.
55986
55987        Unfortunately it is impossible to write a test; this bug only
55988        affects WebSockets connecting to the default port (port 80
55989        for ws, port 443 for wss), while we use different ports to test
55990        WebSockets in LayoutTests.
55991
55992        * platform/network/cf/SocketStreamHandle.h:
55993        * platform/network/cf/SocketStreamHandleCFNet.cpp:
55994        (WebCore::SocketStreamHandle::SocketStreamHandle):
55995        (WebCore::SocketStreamHandle::createStreams):
55996        (WebCore::SocketStreamHandle::port):
55997
559982011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
55999
56000        Unreviewed, rolling out r80079.
56001        http://trac.webkit.org/changeset/80079
56002        https://bugs.webkit.org/show_bug.cgi?id=55547
56003
56004        "Broke the Win debug build?" (Requested by dcheng on #webkit).
56005
56006        * Configurations/FeatureDefines.xcconfig:
56007        * GNUmakefile.am:
56008        * features.pri:
56009
560102011-02-25  Adrienne Walker  <enne@google.com>
56011
56012        Reviewed by James Robinson.
56013
56014        [chromium] Abstract "pixels with a graphics context" into its own class
56015        https://bugs.webkit.org/show_bug.cgi?id=55259
56016
56017        This creates new PlatformCanvas/PlatformImage classes which wrap
56018        all of the #ifdef Skia/Cg warts from the compositor.  All classes
56019        (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are
56020        modified to use these abstractions.
56021
56022        Tests: LayoutTests/compositing
56023
56024        * WebCore.gypi:
56025        * platform/graphics/chromium/ContentLayerChromium.cpp:
56026        (WebCore::ContentLayerChromium::updateContentsIfDirty):
56027        (WebCore::ContentLayerChromium::resizeUploadBuffer):
56028        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
56029        (WebCore::ContentLayerChromium::updateTexture):
56030        (WebCore::ContentLayerChromium::draw):
56031        * platform/graphics/chromium/ContentLayerChromium.h:
56032        * platform/graphics/chromium/ImageLayerChromium.cpp:
56033        (WebCore::ImageLayerChromium::updateContentsIfDirty):
56034        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
56035        * platform/graphics/chromium/ImageLayerChromium.h:
56036        * platform/graphics/chromium/LayerTilerChromium.cpp:
56037        (WebCore::LayerTilerChromium::contentRectToTileIndices):
56038        (WebCore::LayerTilerChromium::update):
56039        (WebCore::LayerTilerChromium::updateFromPixels):
56040        * platform/graphics/chromium/LayerTilerChromium.h:
56041        * platform/graphics/chromium/PlatformCanvas.cpp: Added.
56042        (WebCore::PlatformCanvas::PlatformCanvas):
56043        (WebCore::PlatformCanvas::~PlatformCanvas):
56044        (WebCore::PlatformCanvas::resize):
56045        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
56046        (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
56047        (WebCore::PlatformCanvas::Painter::Painter):
56048        (WebCore::PlatformCanvas::Painter::~Painter):
56049        * platform/graphics/chromium/PlatformCanvas.h: Added.
56050        (WebCore::PlatformCanvas::AutoLocker::pixels):
56051        (WebCore::PlatformCanvas::Painter::context):
56052        (WebCore::PlatformCanvas::size):
56053        * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp.
56054        (WebCore::PlatformImage::PlatformImage):
56055        (WebCore::PlatformImage::updateFromImage):
56056        * platform/graphics/chromium/PlatformImage.h: Added.
56057        (WebCore::PlatformImage::pixels):
56058        (WebCore::PlatformImage::size):
56059
560602011-03-01  Daniel Cheng  <dcheng@chromium.org>
56061
56062        Reviewed by David Levin.
56063
56064        Add feature define for data transfer items
56065        https://bugs.webkit.org/show_bug.cgi?id=55510
56066
56067        * Configurations/FeatureDefines.xcconfig:
56068        * GNUmakefile.am:
56069        * features.pri:
56070
560712011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
56072
56073        Unreviewed. Roll out r80068 and r80073 due to breaking WebKit2 Qt port.
56074
56075        * dom/ViewportArguments.cpp:
56076        (WebCore::computeViewportAttributes):
56077        (WebCore::numericPrefix):
56078        (WebCore::findSizeValue):
56079        (WebCore::setViewportFeature):
56080        (WebCore::viewportErrorMessageTemplate):
56081        (WebCore::viewportErrorMessageLevel):
56082        * dom/ViewportArguments.h:
56083
560842011-03-01  Jeremy Orlow  <jorlow@chromium.org>
56085
56086        Reviewed by James Robinson.
56087
56088        IDBKeyRange.bound() should not use the optional options object
56089        https://bugs.webkit.org/show_bug.cgi?id=55419
56090
56091        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#range-concept
56092
56093        Added some code to existing tests to cover these cases.
56094
56095        * storage/IDBKeyRange.cpp:
56096        (WebCore::IDBKeyRange::bound):
56097        * storage/IDBKeyRange.h:
56098        * storage/IDBKeyRange.idl:
56099
561002011-03-01  Dan Bernstein  <mitz@apple.com>
56101
56102        Build fix.
56103
56104        * dom/DocumentMarkerController.cpp:
56105        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
56106
561072011-03-01  Kent Tamura  <tkent@chromium.org>
56108
56109        Unreviewed. Apply sort-Xcode-project-file.
56110
56111        * WebCore.xcodeproj/project.pbxproj:
56112
561132011-03-01  Jeremy Orlow  <jorlow@chromium.org>
56114
56115        Reviewed by James Robinson.
56116
56117        V8 code generator doesn't properly support a single SerializedScriptValue attribute
56118        https://bugs.webkit.org/show_bug.cgi?id=55530
56119
56120        This is tested by the bindings tests changes.
56121
56122        * bindings/scripts/CodeGeneratorV8.pm:
56123        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp: Added.
56124        (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterfacePrivate::WebDOMTestSerializedScriptValueInterfacePrivate):
56125        (WebDOMTestSerializedScriptValueInterface::WebDOMTestSerializedScriptValueInterface):
56126        (WebDOMTestSerializedScriptValueInterface::operator=):
56127        (WebDOMTestSerializedScriptValueInterface::impl):
56128        (WebDOMTestSerializedScriptValueInterface::~WebDOMTestSerializedScriptValueInterface):
56129        (WebDOMTestSerializedScriptValueInterface::value):
56130        (toWebCore):
56131        (toWebKit):
56132        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h: Added.
56133        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Added.
56134        (WebKit::kit):
56135        (webkit_dom_test_serialized_script_value_interface_get_value):
56136        (WebKit::core):
56137        (webkit_dom_test_serialized_script_value_interface_finalize):
56138        (webkit_dom_test_serialized_script_value_interface_set_property):
56139        (webkit_dom_test_serialized_script_value_interface_get_property):
56140        (webkit_dom_test_serialized_script_value_interface_constructed):
56141        (webkit_dom_test_serialized_script_value_interface_class_init):
56142        (webkit_dom_test_serialized_script_value_interface_init):
56143        (WebKit::wrapTestSerializedScriptValueInterface):
56144        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h: Added.
56145        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h: Added.
56146        * bindings/scripts/test/JS/JSTestInterface.cpp:
56147        (WebCore::JSTestInterfaceConstructor::JSTestInterfaceConstructor):
56148        (WebCore::JSTestInterface::JSTestInterface):
56149        * bindings/scripts/test/JS/JSTestInterface.h:
56150        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
56151        (WebCore::JSTestMediaQueryListListenerConstructor::JSTestMediaQueryListListenerConstructor):
56152        (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
56153        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
56154        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
56155        * bindings/scripts/test/JS/JSTestObj.cpp:
56156        (WebCore::JSTestObjConstructor::JSTestObjConstructor):
56157        (WebCore::JSTestObj::JSTestObj):
56158        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
56159        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
56160        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
56161        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
56162        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
56163        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
56164        (WebCore::jsTestObjPrototypeFunctionIdbKey):
56165        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
56166        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
56167        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
56168        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
56169        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
56170        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
56171        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
56172        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
56173        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
56174        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
56175        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
56176        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
56177        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
56178        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
56179        (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
56180        * bindings/scripts/test/JS/JSTestObj.h:
56181        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Added.
56182        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
56183        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::JSTestSerializedScriptValueInterfaceConstructor):
56184        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
56185        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
56186        (WebCore::JSTestSerializedScriptValueInterfacePrototype::self):
56187        (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
56188        (WebCore::JSTestSerializedScriptValueInterface::createPrototype):
56189        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
56190        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
56191        (WebCore::jsTestSerializedScriptValueInterfaceValue):
56192        (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
56193        (WebCore::JSTestSerializedScriptValueInterface::getConstructor):
56194        (WebCore::toJS):
56195        (WebCore::toTestSerializedScriptValueInterface):
56196        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Copied from Source/WebCore/bindings/scripts/test/JS/JSTestInterface.h.
56197        (WebCore::JSTestSerializedScriptValueInterface::createStructure):
56198        (WebCore::JSTestSerializedScriptValueInterface::impl):
56199        (WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
56200        (WebCore::JSTestSerializedScriptValueInterfacePrototype::JSTestSerializedScriptValueInterfacePrototype):
56201        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h: Added.
56202        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm: Added.
56203        (-[DOMTestSerializedScriptValueInterface dealloc]):
56204        (-[DOMTestSerializedScriptValueInterface finalize]):
56205        (-[DOMTestSerializedScriptValueInterface value]):
56206        (core):
56207        (kit):
56208        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterfaceInternal.h: Added.
56209        * bindings/scripts/test/TestSerializedScriptValueInterface.idl: Added.
56210        * bindings/scripts/test/V8/V8TestInterface.cpp:
56211        (WebCore::ConfigureV8TestInterfaceTemplate):
56212        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Copied from Source/WebCore/bindings/scripts/test/V8/V8TestInterface.cpp.
56213        (WebCore::TestSerializedScriptValueInterfaceInternal::V8_USE):
56214        (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
56215        (WebCore::V8TestSerializedScriptValueInterface::GetRawTemplate):
56216        (WebCore::V8TestSerializedScriptValueInterface::GetTemplate):
56217        (WebCore::V8TestSerializedScriptValueInterface::HasInstance):
56218        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
56219        (WebCore::V8TestSerializedScriptValueInterface::derefObject):
56220        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Added.
56221        (WebCore::V8TestSerializedScriptValueInterface::toNative):
56222        (WebCore::V8TestSerializedScriptValueInterface::wrap):
56223        (WebCore::toV8):
56224
562252011-03-01  Oliver Hunt  <oliver@apple.com>
56226
56227        Reviewed by Joseph Pecoraro.
56228
56229        Misaligned memory access in CloneDeserializer on all ARM arch.
56230        https://bugs.webkit.org/show_bug.cgi?id=48742
56231
56232        Push platforms that need aligned memory access down the
56233        endian independent serialization and deserialization
56234        paths.
56235
56236        * bindings/js/SerializedScriptValue.cpp:
56237
562382011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
56239
56240        Reviewed by Kenneth Rohde Christiansen.
56241
56242        Viewport Warning/Error Messages Are Now Inaccurate
56243        https://bugs.webkit.org/show_bug.cgi?id=53707
56244
56245        Correct and improve the error messages for viewport
56246        parsing. Clarify the difference between incorrect
56247        keys, values, and when to use the device-width or
56248        device-height constants.
56249
56250        * dom/ViewportArguments.cpp:
56251        (WebCore::computeViewportAttributes): suggest using keywords if fixed input matches device width or height.
56252        (WebCore::numericPrefix):
56253        (WebCore::findSizeValue): remove incorrect warnings about fixed numbers because we don't know the device width or height.
56254        (WebCore::setViewportFeature): report a warning for an unrecognized key.
56255        (WebCore::viewportErrorMessageTemplate): added template for unrecognized key.
56256        (WebCore::viewportErrorMessageLevel):
56257        * dom/ViewportArguments.h:
56258
562592011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
56260
56261        Reviewed by Darin Adler.
56262
56263        WebKit does not merge text decorations in the typing style and the selected element properly
56264        https://bugs.webkit.org/show_bug.cgi?id=55349
56265
56266        The bug was caused by EditingStyle::mergeTypingStyle's not properly merging text decoration property.
56267        Fixed the bug by extracting a function from ApplyStyleCommand::pushDownInlineStyleAroundNode and
56268        calling it in pushDownInlineStyleAroundNode and in mergeTypingStyle.
56269
56270        Test: editing/execCommand/merge-text-decoration-with-typing-style.html
56271
56272        * editing/ApplyStyleCommand.cpp:
56273        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown): Takes EditingStyle*;
56274        calls mergeInlineStyleOfElement.
56275        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls applyInlineStyleToPushDown.
56276        (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
56277        * editing/ApplyStyleCommand.h:
56278        * editing/EditingStyle.cpp:
56279        (WebCore::EditingStyle::mergeTypingStyle): Added; calls mergeStyle.
56280        (WebCore::EditingStyle::mergeInlineStyleOfElement): Ditto.
56281        (WebCore::EditingStyle::mergeStyle): Extracted from applyInlineStyleToPushDown.
56282        * editing/EditingStyle.h:
56283
562842011-03-01  Levi Weintraub  <leviw@chromium.org>
56285
56286        Reviewed by Ryosuke Niwa.
56287
56288        Stop instantiating legacy editing Positions in VisiblePosition
56289        https://bugs.webkit.org/show_bug.cgi?id=52919
56290
56291        Changing VisiblePosition completely away from legacy positions.
56292
56293        No new tests since this is functionaly equivalent.
56294
56295        * WebCore.exp.in: Removing the legacy VisiblePosition constructor and
56296        adding the PositionIsOffsetInAnchor symbol. If we must create VisiblePositions
56297        outside of WebCore, they should be parent anchored.
56298        * accessibility/AXObjectCache.cpp:
56299        (WebCore::AXObjectCache::visiblePositionForTextMarkerData):
56300        * accessibility/AccessibilityObject.cpp:
56301        (WebCore::startOfStyleRange):
56302        (WebCore::endOfStyleRange):
56303        * accessibility/AccessibilityRenderObject.cpp:
56304        (WebCore::AccessibilityRenderObject::visiblePositionForIndex):
56305        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
56306        (objectAndOffsetUnignored):
56307        * dom/Position.cpp:
56308        (WebCore::Position::document): Added this inline function to avoid the necessity
56309        of calling anchorNode to assure a document from a Position.
56310        (WebCore::Position::upstream): Fixed to correctly respect PositionIsAfterAnchor
56311        (WebCore::Position::downstream): ditto
56312        * dom/Range.cpp:
56313        (WebCore::Range::editingStartPosition):
56314        * editing/Editor.cpp:
56315        (WebCore::Editor::canDeleteRange):
56316        * editing/ReplaceSelectionCommand.cpp:
56317        (WebCore::ReplaceSelectionCommand::doApply):
56318        * editing/SelectionController.cpp:
56319        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
56320        (WebCore::SelectionController::setSelectedRange):
56321        * editing/TextIterator.cpp:
56322        (WebCore::TextIterator::shouldRepresentNodeOffsetZero):
56323        * editing/TypingCommand.cpp:
56324        (WebCore::TypingCommand::deleteKeyPressed):
56325        * editing/VisiblePosition.cpp:
56326        (WebCore::VisiblePosition::leftVisuallyDistinctCandidate):
56327        (WebCore::VisiblePosition::rightVisuallyDistinctCandidate):
56328        (WebCore::VisiblePosition::canonicalPosition):
56329        (WebCore::VisiblePosition::characterAfter):
56330        (WebCore::VisiblePosition::localCaretRect):
56331        (WebCore::makeRange):
56332        (WebCore::startVisiblePosition):
56333        (WebCore::endVisiblePosition):
56334        (WebCore::setStart):
56335        (WebCore::setEnd):
56336        (WebCore::isFirstVisiblePositionInNode):
56337        (WebCore::isLastVisiblePositionInNode):
56338        * editing/VisiblePosition.h:
56339        (WebCore::VisiblePosition::VisiblePosition):
56340        * editing/htmlediting.cpp:
56341        (WebCore::firstInSpecialElement):
56342        (WebCore::lastInSpecialElement):
56343        (WebCore::visiblePositionBeforeNode):
56344        (WebCore::visiblePositionAfterNode):
56345        * editing/visible_units.cpp:
56346        (WebCore::startPositionForLine):
56347        (WebCore::endPositionForLine):
56348        (WebCore::previousLinePosition):
56349        (WebCore::nextLinePosition):
56350        (WebCore::startOfParagraph):
56351        (WebCore::endOfParagraph):
56352        (WebCore::endOfBlock):
56353        (WebCore::startOfDocument):
56354        (WebCore::endOfDocument):
56355        (WebCore::logicalStartPositionForLine):
56356        (WebCore::logicalEndPositionForLine):
56357        * page/DOMSelection.cpp:
56358        (WebCore::DOMSelection::collapse):
56359        (WebCore::DOMSelection::setBaseAndExtent):
56360        (WebCore::DOMSelection::setPosition):
56361        (WebCore::DOMSelection::extend):
56362        * page/EventHandler.cpp:
56363        (WebCore::EventHandler::handleMousePressEventSingleClick):
56364        * rendering/RenderObject.cpp:
56365        (WebCore::RenderObject::createVisiblePosition):
56366        * rendering/RenderTextControl.cpp:
56367        (WebCore::RenderTextControl::visiblePositionForIndex):
56368        * svg/SVGTextContentElement.cpp:
56369        (WebCore::SVGTextContentElement::selectSubString):
56370
563712011-03-01  Jeremy Orlow  <jorlow@chromium.org>
56372
56373       Reviewed by Steve Block.
56374
56375       When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR
56376       https://bugs.webkit.org/show_bug.cgi?id=54785
56377
56378       This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing
56379       the right thing and continue to do the right thing. It also modifies EventQueue
56380       so that we can cancel an event. To do this efficiently, the vector is now a
56381       ListHashSet.
56382
56383       Cancelling the event is harder/messier, but the most deterministic thing to do.
56384       To the user, the work isn't done until we fire the onsuccess/onerror handler.
56385       So the event (which does fire that) needs to be cancelable.
56386
56387       transaction-abort.html tests this.
56388
56389       * dom/EventQueue.cpp:
56390       (WebCore::EventQueue::enqueueEvent):
56391       (WebCore::EventQueue::cancelEvent):
56392       (WebCore::EventQueue::pendingEventTimerFired):
56393       (WebCore::EventQueue::dispatchEvent):
56394       * dom/EventQueue.h:
56395       * dom/ExceptionCode.cpp:
56396       * storage/IDBCursor.cpp:
56397       (WebCore::IDBCursor::update):
56398       (WebCore::IDBCursor::deleteFunction):
56399       * storage/IDBDatabaseBackendImpl.cpp:
56400       (WebCore::IDBDatabaseBackendImpl::close):
56401       * storage/IDBDatabaseException.h:
56402       * storage/IDBIndex.cpp:
56403       (WebCore::IDBIndex::openCursor):
56404       (WebCore::IDBIndex::openKeyCursor):
56405       (WebCore::IDBIndex::get):
56406       (WebCore::IDBIndex::getKey):
56407       * storage/IDBObjectStore.cpp:
56408       (WebCore::IDBObjectStore::get):
56409       (WebCore::IDBObjectStore::add):
56410       (WebCore::IDBObjectStore::put):
56411       (WebCore::IDBObjectStore::deleteFunction):
56412       (WebCore::IDBObjectStore::clear):
56413       (WebCore::IDBObjectStore::openCursor):
56414       * storage/IDBRequest.cpp:
56415       (WebCore::IDBRequest::IDBRequest):
56416       (WebCore::IDBRequest::~IDBRequest):
56417       (WebCore::IDBRequest::readyState):
56418       (WebCore::IDBRequest::markEarlyDeath):
56419       (WebCore::IDBRequest::source):
56420       (WebCore::IDBRequest::abort):
56421       (WebCore::IDBRequest::onSuccess):
56422       (WebCore::IDBRequest::dispatchEvent):
56423       (WebCore::IDBRequest::enqueueEvent):
56424       * storage/IDBRequest.h:
56425       * storage/IDBTransaction.cpp:
56426       (WebCore::IDBTransaction::registerRequest):
56427       (WebCore::IDBTransaction::unregisterRequest):
56428       (WebCore::IDBTransaction::onAbort):
56429       * storage/IDBTransaction.h:
56430
564312011-03-01  Jeremy Orlow  <jorlow@chromium.org>
56432
56433        Reviewed by Mihai Parparita.
56434
56435        EventQueue needs to be ref counted
56436        https://bugs.webkit.org/show_bug.cgi?id=55512
56437
56438        EventQueue needs to be ref counted because it's possible for its instance
56439        to be deleted while it's dispatching events. This is the reason why
56440        https://bugs.webkit.org/show_bug.cgi?id=54785 had to be reverted.
56441
56442        No change of behavior, so no tests.
56443
56444        * dom/Document.h:
56445        * dom/EventQueue.cpp:
56446        (WebCore::EventQueue::create):
56447        * dom/EventQueue.h:
56448
564492011-03-01  Helder Correia  <helder@sencha.com>
56450
56451        Reviewed by Simon Fraser.
56452
56453        No shadow when stroking a path with a gradient
56454        https://bugs.webkit.org/show_bug.cgi?id=55436
56455
56456        This happens in CG and is related to bug 52509, this time to be fixed
56457        in GraphicsContext::strokePath(). The gradient needs to be drawn
56458        clipped to the stroke on a CGLayer first, then the layer drawn on the
56459        GraphicsContext.
56460
56461        Tests: fast/canvas/canvas-strokePath-gradient-shadow.html
56462               svg/css/path-gradient-stroke-shadow.svg
56463
56464        * platform/graphics/cg/GraphicsContextCG.cpp:
56465        (WebCore::GraphicsContext::strokePath):
56466
564672011-03-01  David Hyatt  <hyatt@apple.com>
56468
56469        Reviewed by Dan Bernstein.
56470
56471        Fix Font::spaceWidth() to be a float instead of an int.
56472
56473        * platform/graphics/Font.h:
56474        (WebCore::Font::spaceWidth):
56475
564762011-02-28  Steve Block  <steveblock@google.com>
56477
56478        Reviewed by Jeremy Orlow.
56479
56480        Chromium gypi file should include Java bridge files from WebCore/bridge
56481        https://bugs.webkit.org/show_bug.cgi?id=55387
56482
56483        No new tests, no code changes.
56484
56485        * WebCore.gyp/WebCore.gyp:
56486        * WebCore.gypi:
56487
564882011-03-01  James Simonsen  <simonjam@chromium.org>
56489
56490        Reviewed by Tony Gentilcore.
56491
56492        [Web Timing] Handle the case where no responseEnd time is available.
56493        https://bugs.webkit.org/show_bug.cgi?id=55444
56494
56495        * loader/MainResourceLoader.cpp:
56496        (WebCore::MainResourceLoader::MainResourceLoader): Initialize to 0.
56497        (WebCore::MainResourceLoader::didFinishLoading): Fall back to current time if no other time is available.
56498
564992011-03-01  Patrick Gansterer  <paroga@webkit.org>
56500
56501        Unreviewed, adding missing change for r80034.
56502
56503        Add a handler class for Win32 HANDLE
56504        https://bugs.webkit.org/show_bug.cgi?id=55334
56505
56506        * platform/win/Win32Handle.h: Added missing WTF_MAKE_NONCOPYABLE macro.
56507
565082011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
56509
56510        Unreviewed, rolling out r80037.
56511        http://trac.webkit.org/changeset/80037
56512        https://bugs.webkit.org/show_bug.cgi?id=55508
56513
56514        broke compile on SL (Requested by tonyg-cr on #webkit).
56515
56516        * Android.mk:
56517        * CMakeLists.txt:
56518        * GNUmakefile.am:
56519        * WebCore.gypi:
56520        * WebCore.pro:
56521        * WebCore.vcproj/WebCore.vcproj:
56522        * WebCore.xcodeproj/project.pbxproj:
56523        * css/CSSParser.cpp:
56524        (WebCore::CSSParser::parseValue):
56525        * css/CSSParser.h:
56526        * css/CSSStyleSelector.cpp:
56527        (WebCore::CSSStyleSelector::applyProperty):
56528        * css/html.css:
56529        (q:before):
56530        (q:after):
56531        * rendering/RenderBlockLineLayout.cpp:
56532        (WebCore::dirtyLineBoxesForRenderer):
56533        * rendering/RenderObject.h:
56534        * rendering/RenderObjectChildList.cpp:
56535        (WebCore::RenderObjectChildList::removeChildNode):
56536        (WebCore::RenderObjectChildList::appendChildNode):
56537        (WebCore::RenderObjectChildList::insertChildNode):
56538        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
56539        * rendering/RenderQuote.cpp: Removed.
56540        * rendering/RenderQuote.h: Removed.
56541        * rendering/RenderingAllInOne.cpp:
56542        * rendering/style/ContentData.cpp:
56543        (WebCore::ContentData::dataEquivalent):
56544        (WebCore::ContentData::deleteContent):
56545        * rendering/style/ContentData.h:
56546        * rendering/style/QuotesData.cpp: Removed.
56547        * rendering/style/QuotesData.h: Removed.
56548        * rendering/style/RenderStyle.cpp:
56549        * rendering/style/RenderStyle.h:
56550        * rendering/style/RenderStyleConstants.h:
56551        * rendering/style/StyleAllInOne.cpp:
56552        * rendering/style/StyleRareInheritedData.cpp:
56553        (WebCore::StyleRareInheritedData::operator==):
56554        * rendering/style/StyleRareInheritedData.h:
56555
565562011-03-01  Abhishek Arya  <inferno@chromium.org>
56557
56558        Reviewed by Dave Hyatt.
56559
56560        Paint outline for tables.
56561        https://bugs.webkit.org/show_bug.cgi?id=55474
56562
56563        Test: fast/table/table-and-parts-outline.html
56564
56565        * rendering/RenderTable.cpp:
56566        (WebCore::RenderTable::paintObject):
56567
565682011-03-01  Sheriff Bot  <webkit.review.bot@gmail.com>
56569
56570        Unreviewed, rolling out r80028.
56571        http://trac.webkit.org/changeset/80028
56572        https://bugs.webkit.org/show_bug.cgi?id=55502
56573
56574        'caused crashes; rolling out while investigating' (Requested
56575        by jorlow on #webkit).
56576
56577        * dom/EventQueue.cpp:
56578        (WebCore::EventQueue::enqueueEvent):
56579        (WebCore::EventQueue::pendingEventTimerFired):
56580        (WebCore::EventQueue::dispatchEvent):
56581        * dom/EventQueue.h:
56582        * dom/ExceptionCode.cpp:
56583        * storage/IDBCursor.cpp:
56584        (WebCore::IDBCursor::update):
56585        (WebCore::IDBCursor::deleteFunction):
56586        * storage/IDBDatabaseException.h:
56587        * storage/IDBDatabaseException.idl:
56588        * storage/IDBIndex.cpp:
56589        (WebCore::IDBIndex::openCursor):
56590        (WebCore::IDBIndex::openKeyCursor):
56591        (WebCore::IDBIndex::get):
56592        (WebCore::IDBIndex::getKey):
56593        * storage/IDBObjectStore.cpp:
56594        (WebCore::IDBObjectStore::get):
56595        (WebCore::IDBObjectStore::add):
56596        (WebCore::IDBObjectStore::put):
56597        (WebCore::IDBObjectStore::deleteFunction):
56598        (WebCore::IDBObjectStore::clear):
56599        (WebCore::IDBObjectStore::openCursor):
56600        * storage/IDBRequest.cpp:
56601        (WebCore::IDBRequest::IDBRequest):
56602        (WebCore::IDBRequest::~IDBRequest):
56603        (WebCore::IDBRequest::readyState):
56604        (WebCore::IDBRequest::dispatchEvent):
56605        (WebCore::IDBRequest::enqueueEvent):
56606        (WebCore::IDBRequest::source):
56607        * storage/IDBRequest.h:
56608        * storage/IDBTransaction.cpp:
56609        (WebCore::IDBTransaction::onAbort):
56610        * storage/IDBTransaction.h:
56611
566122011-03-01  Carol Szabo  <carol.szabo@nokia.com>
56613
56614        Reviewed by David Hyatt  <hyatt@apple.com>
56615
56616        content property doesn't support quotes
56617        https://bugs.webkit.org/show_bug.cgi?id=6503
56618
56619        Added full support for quotes as defined by CSS 2.1.
56620
56621        Tests: fast/css/content/content-quotes-01.html
56622               fast/css/content/content-quotes-02.html
56623               fast/css/content/content-quotes-03.html
56624               fast/css/content/content-quotes-04.html
56625               fast/css/content/content-quotes-05.html
56626
56627        * Android.mk:
56628        * CMakeLists.txt:
56629        * GNUmakefile.am:
56630        * WebCore.pro:
56631        * WebCore.vcproj/WebCore.vcproj:
56632        * WebCore.xcodeproj/project.pbxproj:
56633        Added RenderQuote.cpp/h and QuotesData.cpp/h to the dependency lists
56634        * css/CSSParser.cpp:
56635        (WebCore::CSSParser::parseValue):
56636        (WebCore::CSSParser::parseQuotes):
56637        * css/CSSParser.h:
56638        Added needed stylesheet parsing support for quotes,
56639        (no-)open-quote and (no-)close-quote
56640        * css/CSSStyleSelector.cpp:
56641        (WebCore::CSSStyleSelector::applyProperty):
56642        Handled setting of the new quotes RenderStyle property and added
56643        handling of quotes for the content property.
56644        * css/html.css:
56645        (q:before):
56646        (q:after):
56647        replaced the '"' workaround with open/close-quote
56648        * rendering/RenderBlockLineLayout.cpp:
56649        (WebCore::dirtyLineBoxesForRenderer):
56650        Made RenderQuote behave like RenderCounter.
56651        Needed to ensure that the Quote text is calculated before layout,
56652        just as it is for RenderCounter.
56653        * rendering/RenderObject.h:
56654        (WebCore::RenderObject::isQuote):
56655        * rendering/RenderObjectChildList.cpp:
56656        (WebCore::RenderObjectChildList::removeChildNode):
56657        (WebCore::RenderObjectChildList::appendChildNode):
56658        (WebCore::RenderObjectChildList::insertChildNode):
56659        Handled updating of quote depth when renderers are added and removed
56660        from the tree.
56661        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
56662        * rendering/RenderQuote.cpp: Added.
56663        (WebCore::adjustDepth):
56664        (WebCore::RenderQuote::RenderQuote):
56665        (WebCore::RenderQuote::~RenderQuote):
56666        (WebCore::RenderQuote::renderName):
56667        (WebCore::RenderQuote::placeQuote):
56668        (WebCore::RenderQuote::originalText):
56669        (WebCore::RenderQuote::computePreferredLogicalWidths):
56670        (WebCore::RenderQuote::rendererSubtreeAttached):
56671        (WebCore::RenderQuote::rendererRemovedFromTree):
56672        (WebCore::RenderQuote::styleDidChange):
56673        * rendering/RenderQuote.h: Added.
56674        (WebCore::RenderQuote::isQuote):
56675        (WebCore::toRenderQuote):
56676        * rendering/RenderingAllInOne.cpp:
56677        Included RenderQuote.cpp
56678        * rendering/style/StyleAllInOne.cpp:
56679        Included QuotesData.cpp
56680        * rendering/style/ContentData.cpp:
56681        (WebCore::ContentData::dataEquivalent):
56682        Checked for quotetype identity.
56683        (WebCore::ContentData::deleteContent):
56684        Accounted for the new QUOTE_TYPE.
56685        * rendering/style/ContentData.h:
56686        (WebCore::ContentData::isQuote):
56687        (WebCore::ContentData::quote):
56688        (WebCore::ContentData::setQuote):
56689        * rendering/style/RenderStyle.cpp:
56690        (WebCore::RenderStyle::setContent):
56691        * rendering/style/RenderStyle.h:
56692        (WebCore::InheritedFlags::quotes):
56693        (WebCore::InheritedFlags::setQuotes):
56694        * rendering/style/RenderStyleConstants.h:
56695        * rendering/style/StyleRareInheritedData.cpp:
56696        (WebCore::StyleRareInheritedData::operator==):
56697        Included quotes in equality check.
56698        * rendering/style/StyleRareInheritedData.h:
56699        Added quotes
56700
567012011-03-01  Michael Nordman  <michaeln@google.com>
56702
56703        Reviewed by Alexey Proskuryakov.
56704
56705        Alter the relative priorities of network vs fallback namespaces in the appcache.
56706        If a resource url is in an appcache's network namespace and fallback namespace, the network
56707        namespace wins (with the exception of the special '*' network namespace which does not take
56708        priority over the fallback namespace.
56709        https://bugs.webkit.org/show_bug.cgi?id=49292
56710
56711        Test: http/tests/appcache/online-fallback-layering.html
56712
56713        * loader/appcache/ApplicationCache.cpp:
56714        (WebCore::ApplicationCache::isURLInOnlineWhitelist):
56715        * loader/appcache/ApplicationCacheHost.cpp:
56716        (WebCore::ApplicationCacheHost::shouldLoadResourceFromApplicationCache):
56717        (WebCore::ApplicationCacheHost::getApplicationCacheFallbackResource):
56718        * loader/appcache/ApplicationCacheStorage.cpp:
56719        (WebCore::ApplicationCacheStorage::fallbackCacheGroupForURL):
56720
567212011-03-01  Patrick Gansterer  <paroga@webkit.org>
56722
56723        Reviewed by Adam Roben.
56724
56725        Add a handler class for Win32 HANDLE
56726        https://bugs.webkit.org/show_bug.cgi?id=55334
56727
56728        This class will call CloseHandle in the destructor for valid handles.
56729
56730        * platform/win/Win32Handle.h: Added.
56731
567322011-03-01  Eric Carlson  <eric.carlson@apple.com>
56733
56734        Reviewed by Chris Marrin.
56735
56736        <audio> and <video> should respect private browsing mode
56737        https://bugs.webkit.org/show_bug.cgi?id=55287
56738        <rdar://problem/9057699>
56739
56740        No new tests, this is just the plumbing.
56741
56742        * dom/Document.cpp:
56743        (WebCore::Document::privateBrowsingStateDidChange): New.
56744        (WebCore::Document::registerForPrivateBrowsingStateChangedCallbacks): Ditto.
56745        (WebCore::Document::unregisterForPrivateBrowsingStateChangedCallbacks): Ditto.
56746        * dom/Document.h:
56747
56748        * dom/Element.h:
56749        (WebCore::Element::privateBrowsingStateDidChange): New.
56750
56751        * html/HTMLMediaElement.cpp:
56752        (WebCore::HTMLMediaElement::HTMLMediaElement): Register for privacy mode changes.
56753        (WebCore::HTMLMediaElement::~HTMLMediaElement): Unregister for privacy mode changes.
56754        (WebCore::HTMLMediaElement::loadResource): Tell player current privacy mode.
56755        (WebCore::HTMLMediaElement::privateBrowsingStateDidChange):  New, call through to MediaPlayer.
56756        * html/HTMLMediaElement.h:
56757
56758        * page/Page.cpp:
56759        (WebCore::Page::privateBrowsingStateChanged): Call document()->privateBrowsingStateDidChange.
56760
56761        * platform/graphics/MediaPlayer.cpp:
56762        (WebCore::MediaPlayer::setPrivateBrowsingMode): New, call through to media engine.
56763        * platform/graphics/MediaPlayer.h:
56764
56765        * platform/graphics/MediaPlayerPrivate.h:
56766        (WebCore::MediaPlayerPrivateInterface::setPrivateBrowsingMode):  Declare new interface.
56767
567682011-03-01  Jeremy Orlow  <jorlow@chromium.org>
56769
56770        Reviewed by Steve Block.
56771
56772        When an IDBTransaction is aborted, all requests that have not yet fired should fire an ABORT_ERR
56773        https://bugs.webkit.org/show_bug.cgi?id=54785
56774
56775        This patch adds in a lot of sanity checks/ASSERTs to make sure we're doing
56776        the right thing and continue to do the right thing. It also modifies EventQueue
56777        so that we can cancel an event. To do this efficiently, the vector is now a
56778        ListHashSet.
56779
56780        Canelling the event is harder/messier, but the most deterministic thing to do.
56781        To the user, the work isn't done until we fire the onsuccess/onerror handler.
56782        So the event (which does fire that) needs to be cancelable.
56783
56784        transaction-abort.html tests this.
56785
56786        * dom/EventQueue.cpp:
56787        (WebCore::EventQueue::enqueueEvent):
56788        (WebCore::EventQueue::cancelEvent):
56789        (WebCore::EventQueue::pendingEventTimerFired):
56790        (WebCore::EventQueue::dispatchEvent):
56791        * dom/EventQueue.h:
56792        * dom/ExceptionCode.cpp:
56793        * storage/IDBCursor.cpp:
56794        (WebCore::IDBCursor::update):
56795        (WebCore::IDBCursor::deleteFunction):
56796        * storage/IDBDatabaseBackendImpl.cpp:
56797        (WebCore::IDBDatabaseBackendImpl::close):
56798        * storage/IDBDatabaseException.h:
56799        * storage/IDBIndex.cpp:
56800        (WebCore::IDBIndex::openCursor):
56801        (WebCore::IDBIndex::openKeyCursor):
56802        (WebCore::IDBIndex::get):
56803        (WebCore::IDBIndex::getKey):
56804        * storage/IDBObjectStore.cpp:
56805        (WebCore::IDBObjectStore::get):
56806        (WebCore::IDBObjectStore::add):
56807        (WebCore::IDBObjectStore::put):
56808        (WebCore::IDBObjectStore::deleteFunction):
56809        (WebCore::IDBObjectStore::clear):
56810        (WebCore::IDBObjectStore::openCursor):
56811        * storage/IDBRequest.cpp:
56812        (WebCore::IDBRequest::IDBRequest):
56813        (WebCore::IDBRequest::~IDBRequest):
56814        (WebCore::IDBRequest::readyState):
56815        (WebCore::IDBRequest::markEarlyDeath):
56816        (WebCore::IDBRequest::source):
56817        (WebCore::IDBRequest::abort):
56818        (WebCore::IDBRequest::onSuccess):
56819        (WebCore::IDBRequest::dispatchEvent):
56820        (WebCore::IDBRequest::enqueueEvent):
56821        * storage/IDBRequest.h:
56822        * storage/IDBTransaction.cpp:
56823        (WebCore::IDBTransaction::registerRequest):
56824        (WebCore::IDBTransaction::unregisterRequest):
56825        (WebCore::IDBTransaction::onAbort):
56826        * storage/IDBTransaction.h:
56827
568282011-03-01  Jeremy Orlow  <jorlow@chromium.org>
56829
56830        Reviewed by Steve Block.
56831
56832        Only IndexedDB's error event should be cancelable
56833        https://bugs.webkit.org/show_bug.cgi?id=55413
56834
56835        * storage/IDBRequest.cpp:
56836        (WebCore::createSuccessEvent):
56837        * storage/IDBTransaction.cpp:
56838        (WebCore::IDBTransaction::onAbort):
56839        (WebCore::IDBTransaction::onComplete):
56840
568412011-03-01  Jia Pu  <jpu@apple.com>
56842
56843        Reviewed by Darin Adler.
56844
56845        Remove CorrectionIndicator markers sooner.
56846        https://bugs.webkit.org/show_bug.cgi?id=54893
56847        <rdar://problem/8997524>
56848
56849        Test: platform/mac/editing/spelling/removing-underline-after-accepting-autocorrection-using-punctuation.html
56850
56851        This patch changes the autocorrection behavior on Mac OS X. We want to remove CorrectionIndicator
56852        marker after any editing command if the command:
56853        1. is not a SpellingCorrectionCommand itself.
56854        2. is not the command that triggers the autocorrection.
56855        This is achieved by adding shouldRetainAutocorrectionIndicator() function to EditCommand. This function returns
56856        false for all commands derived from EditCommand, except SpellingCorrectionCommand and TypingCommand. This function
56857        always returns true for SpellingCorrectionCommand. For TypingCommand, the return value is determined by member
56858        variable m_shouldRetainAutocorrectionIndicator, which can be modified by passing option into the TypingCommand's
56859        public functions.
56860
56861        To avoid constantly searching marker list, we use variable DocumentMarkerController::m_absentMarkerTypeCache
56862        to cache whether there is any marker of a particular type.
56863
56864        This patch also fixes two minor existing bugs.
56865
56866        1. We used to show reversion panel for word with CorrectionIndicator marker. This is incorrect because
56867        CorrectionIndicator marker can be removed from corrected words. Since all autocorrected words have Replacement
56868        marker unless the whole word is deleted, the correct behavior is to show reversion panel for word with Replacement
56869        marker, since all autocorrected words have such marker. However, since we don't want to show the reversion panel
56870        if an autocorrected word has been edited, we also check to see if the Replacement marker's description is null.
56871
56872        This works as following:
56873        When we apply an autocorrection, we add Replacement marker to corrected word, and store original word
56874        as the marker's description. If the user edited the corrected word afterward, we set description to null.
56875        So when we decide whether to show a reversion panel, we not only check for the existence of Replacement
56876        marker, but also check if description is null.
56877
56878        2. Fixed an assertion violation in Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited(), which would
56879        occur when deleting the first character in an editable area.
56880
56881        * dom/DocumentMarker.h: Added m_possiblyExistingMarkerTypes to allow quickly checking whether a marker type is
56882           completely in from the document.
56883
56884        * dom/DocumentMarkerController.cpp: Most of the functions listed here are optimized for early return by checking
56885           the return value of possiblyHasMarkers() at beginning.
56886        (WebCore::DocumentMarkerController::possiblyHasMarkers):
56887        (WebCore::DocumentMarkerController::DocumentMarkerController):
56888        (WebCore::DocumentMarkerController::detach):
56889        (WebCore::DocumentMarkerController::removeMarkers):
56890        (WebCore::DocumentMarkerController::addMarker):
56891        (WebCore::DocumentMarkerController::copyMarkers):
56892        (WebCore::DocumentMarkerController::markerContainingPoint):
56893        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
56894        (WebCore::DocumentMarkerController::removeMarkersFromMarkerMapVectorPair):
56895        (WebCore::DocumentMarkerController::repaintMarkers):
56896        (WebCore::DocumentMarkerController::shiftMarkers):
56897        (WebCore::DocumentMarkerController::setMarkersActive):
56898        (WebCore::DocumentMarkerController::hasMarkers):
56899        (WebCore::DocumentMarkerController::clearDescriptionOnMarkersIntersectingRange):
56900        * dom/DocumentMarkerController.h:
56901        * editing/EditCommand.cpp:
56902        (WebCore::EditCommand::apply):
56903        (WebCore::EditCommand::shouldRetainAutocorrectionIndicator):
56904        (WebCore::EditCommand::setShouldRetainAutocorrectionIndicator):
56905        * editing/EditCommand.h:
56906        * editing/Editor.cpp:
56907        (WebCore::Editor::respondToChangedSelection):
56908        (WebCore::Editor::appliedEditing):
56909        (WebCore::Editor::insertTextWithoutSendingTextEvent):
56910        (WebCore::Editor::insertLineBreak):
56911        (WebCore::Editor::insertParagraphSeparator):
56912        (WebCore::Editor::markMisspellingsAfterTypingToWord):
56913        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
56914        (WebCore::Editor::removeSpellAndCorrectionMarkersFromWordsToBeEdited):
56915        (WebCore::Editor::applyAutocorrectionBeforeTypingIfAppropriate):
56916        * editing/Editor.h:
56917        * editing/EditorCommand.cpp:
56918        (WebCore::executeInsertLineBreak):
56919        (WebCore::executeInsertParagraph):
56920        (WebCore::executeInsertText):
56921        * editing/SpellingCorrectionCommand.cpp:
56922        (WebCore::SpellingCorrectionCommand::shouldRetainAutocorrectionIndicator):
56923        * editing/SpellingCorrectionCommand.h:
56924        * editing/TypingCommand.cpp:
56925        (WebCore::TypingCommand::TypingCommand):
56926        (WebCore::TypingCommand::deleteSelection):
56927        (WebCore::TypingCommand::deleteKeyPressed):
56928        (WebCore::TypingCommand::forwardDeleteKeyPressed):
56929        (WebCore::TypingCommand::updateSelectionIfDifferentFromCurrentSelection):
56930        (WebCore::TypingCommand::insertText):
56931        (WebCore::TypingCommand::insertLineBreak):
56932        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
56933        (WebCore::TypingCommand::insertParagraphSeparator):
56934        * editing/TypingCommand.h:
56935        (WebCore::TypingCommand::create):
56936        (WebCore::TypingCommand::shouldRetainAutocorrectionIndicator):
56937        (WebCore::TypingCommand::setShouldRetainAutocorrectionIndicator):
56938        * manual-tests/autocorrection/type-whitespace-to-dismiss-reversion.html:
56939
569402011-03-01  Renata Hodovan  <reni@webkit.org>
56941
56942        Reviewed by Andreas Kling.
56943
56944        FEDisplacementMapElement changes doesn't require relayout
56945        https://bugs.webkit.org/show_bug.cgi?id=55454
56946
56947        When the FEDisplacementMapElement receives an update message but the given value remains the same we don't need
56948        to relayout the filter.
56949
56950        No new tests are needed because this modification is covered by the dynamic update tests of FEDisplacementMap.
56951
56952        * platform/graphics/filters/FEDisplacementMap.cpp:
56953        (WebCore::FEDisplacementMap::setXChannelSelector):
56954        (WebCore::FEDisplacementMap::setYChannelSelector):
56955        (WebCore::FEDisplacementMap::setScale):
56956        * platform/graphics/filters/FEDisplacementMap.h:
56957        * svg/SVGFEDisplacementMapElement.cpp:
56958        (WebCore::SVGFEDisplacementMapElement::setFilterEffectAttribute):
56959        (WebCore::SVGFEDisplacementMapElement::svgAttributeChanged):
56960        * svg/SVGFEDisplacementMapElement.h:
56961
569622011-03-01  Dan Bernstein  <mitz@apple.com>
56963
56964        Reviewed by Darin Adler.
56965
56966        <rdar://problem/8902714> Expand ruby text when it is shorter than the ruby base
56967        https://bugs.webkit.org/show_bug.cgi?id=55487
56968
56969        * css/html.css:
56970        (ruby > rt): Changed the default text-align value to -webkit-auto to signal
56971        the default expansion behavior.
56972        * rendering/RenderBlock.h:
56973        (WebCore::RenderRubyText::textAlignmentForLine): Made protected.
56974        (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Made protected.
56975        * rendering/RenderRubyText.cpp:
56976        (WebCore::RenderRubyText::textAlignmentForLine): Added. If text-align is
56977        -webkit-auto, returns JUSTIFY to allow expansion.
56978        (WebCore::RenderRubyText::adjustInlineDirectionLineBounds): Added. If
56979        text-align is -webkit-auto, insets the line such that the inset on each side
56980        is the half the inter-ideograph expansion, or one ruby character wide,
56981        whichever is smaller.
56982        * rendering/RenderRubyText.h:
56983
569842011-03-01  Sam Weinig  <sam@webkit.org>
56985
56986        Reviewed by Timothy Hatcher.
56987
56988        WebKit2 needs to be made localizable
56989        https://bugs.webkit.org/show_bug.cgi?id=55483
56990
56991        * English.lproj/Localizable.strings: Copied from Source/WebKit/English.lproj/Localizable.strings.
56992        * WebCore.xcodeproj/project.pbxproj:
56993        Move Localizable.strings to WebCore.
56994
56995        * WebCore.exp.in:
56996        Add export for localizedString function.
56997
56998        * platform/LocalizedStrings.h:
56999        * platform/mac/LocalizedStringsMac.mm: Added.
57000        Add function to get localized version of a string from the WebCore bundle.
57001
570022011-03-01  Joseph Pecoraro  <joepeck@webkit.org>
57003
57004        Reviewed by Timothy Hatcher.
57005
57006        All Console Messages should be passed to ChromeClients.
57007        https://bugs.webkit.org/show_bug.cgi?id=54926
57008
57009        Do not filter the message type here, allow clients
57010        to filter and deal with the different message types.
57011
57012        * page/Console.cpp:
57013        (WebCore::Console::addMessage):
57014
570152011-02-23  Joseph Pecoraro  <joepeck@webkit.org>
57016
57017        Reviewed by Kenneth Rohde Christiansen.
57018
57019        Viewport parsing no longer accepts "1.0;" value as valid.
57020        https://bugs.webkit.org/show_bug.cgi?id=53705
57021
57022        When parsing numeric values, the "css-viewport" spec says
57023        to use the number prefix, and the non numeric part of the
57024        string can be ignored. This matches our behavior before
57025        r67376. The change was that checking the error out condition
57026        of String::toFloat doesn't necessarily mean that there
57027        was a non-numeric prefix. This patch checks if there was
57028        or wasn't a non-numeric prefix.
57029
57030        There is a console warning in any case where a numeric
57031        value is not parsed cleanly. There is an error warning
57032        when it is not a number at all, and a tip warning when
57033        it has been truncated.
57034
57035        Error messages are slightly improved to provide more
57036        context, both the key and value, when an error happens.
57037
57038        Test: fast/viewport/viewport-129.html
57039
57040        * dom/ViewportArguments.cpp:
57041        (WebCore::numericPrefix):
57042        (WebCore::findSizeValue):
57043        (WebCore::findScaleValue):
57044        (WebCore::findUserScalableValue):
57045        (WebCore::findTargetDensityDPIValue):
57046        (WebCore::viewportErrorMessageTemplate):
57047        (WebCore::viewportErrorMessageLevel):
57048        (WebCore::reportViewportWarning):
57049        * dom/ViewportArguments.h:
57050
570512011-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
57052
57053        Reviewed by Pavel Feldman.
57054
57055        Web Inspector: InjectedScript.setPropertyValue doesn't work.
57056        https://bugs.webkit.org/show_bug.cgi?id=55475
57057
57058        * inspector/InjectedScript.cpp:
57059        (WebCore::InjectedScript::setPropertyValue):
57060
570612011-03-01  Steve Block  <steveblock@google.com>
57062
57063        Reviewed by Jeremy Orlow.
57064
57065        Remove unused JavaString::uchars()
57066        https://bugs.webkit.org/show_bug.cgi?id=55465
57067
57068        No new tests, removing dead code only.
57069
57070        * bridge/jni/JNIBridge.h:
57071        * bridge/jni/jsc/JavaStringJSC.h:
57072        (JSC::Bindings::JavaStringImpl::utf8):
57073        * bridge/jni/v8/JavaStringV8.h:
57074
570752011-03-01  Alexander Pavlov  <apavlov@chromium.org>
57076
57077        Reviewed by Yury Semikhatsky.
57078
57079        Web Inspector: Extremely slow DOM search in GMail
57080        https://bugs.webkit.org/show_bug.cgi?id=55456
57081
57082        The solution comprises three major parts:
57083        - avoid multiple invocations of highlightSearchResults(), one per each nodeIds chunk.
57084        - cache highlighted node's innerHTML so that no extra _nodeTitleInfo() calls will be needed.
57085        - replace hand-written Text nodes iteration with a snapshot-based ".//text()" XPathResult.
57086
57087        * inspector/front-end/ElementsPanel.js:
57088        (WebInspector.ElementsPanel.prototype.searchCanceled):
57089        (WebInspector.ElementsPanel.prototype.addNodesToSearchResult):
57090        * inspector/front-end/ElementsTreeOutline.js:
57091        (WebInspector.ElementsTreeElement.prototype.highlightSearchResults):
57092        (WebInspector.ElementsTreeElement.prototype.updateTitle):
57093        ():
57094        * inspector/front-end/utilities.js:
57095        ():
57096
570972011-03-01  Adam Roben  <aroben@apple.com>
57098
57099        Fix multiple-definition linker warnings introduced by r79978 on Windows
57100
57101        * rendering/RenderingAllInOne.cpp: Removed TextControlInnerElements.cpp, as it is now being
57102        compiled separately.
57103
571042011-03-01  Andras Becsi  <abecsi@webkit.org>
57105
57106        Reviewed by Csaba Osztrogonác.
57107
57108        [Qt] Clean up the project files and move common options to WebKit.pri.
57109
57110        No new tests needed.
57111
57112        * WebCore.pri: Move common options to WebKit.pri.
57113        * WebCore.pro: Ditto.
57114
571152011-03-01  Steve Block  <steveblock@google.com>
57116
57117        Reviewed by Pavel Feldman.
57118
57119        JNI code in Java bridge is not correctly guarded
57120        https://bugs.webkit.org/show_bug.cgi?id=55459
57121
57122        No new tests, build fix only.
57123
57124        * bridge/jni/v8/JNIBridgeV8.cpp:
57125        * bridge/jni/v8/JNIBridgeV8.h:
57126        * bridge/jni/v8/JNIUtilityPrivate.cpp:
57127        * bridge/jni/v8/JNIUtilityPrivate.h:
57128        * bridge/jni/v8/JavaClassV8.cpp:
57129        * bridge/jni/v8/JavaClassV8.h:
57130        * bridge/jni/v8/JavaInstanceV8.cpp:
57131        * bridge/jni/v8/JavaInstanceV8.h:
57132        * bridge/jni/v8/JavaNPObjectV8.cpp:
57133        * bridge/jni/v8/JavaNPObjectV8.h:
57134
571352011-03-01  Steve Block  <steveblock@google.com>
57136
57137        Reviewed by Jeremy Orlow.
57138
57139        Bridge.h should not include BridgeJSC.h
57140        https://bugs.webkit.org/show_bug.cgi?id=55212
57141
57142        Instead, BridgeJSC.h should include Bridge.h and code should include
57143        BridgeJSC.h as appropriate.
57144
57145        This prevents ports that use V8 from having to include JSC-specific
57146        files, even if the contents of those files are guarded.
57147
57148        No new tests, cleanup only.
57149
57150        * bindings/js/JSPluginElementFunctions.cpp:
57151        * bindings/js/ScriptControllerBrew.cpp:
57152        * bindings/js/ScriptControllerGtk.cpp:
57153        * bindings/js/ScriptControllerHaiku.cpp:
57154        * bindings/js/ScriptControllerQt.cpp:
57155        * bindings/js/ScriptControllerMac.mm:
57156        * bindings/js/ScriptControllerWin.cpp:
57157        * bindings/js/ScriptControllerWx.cpp:
57158        * bindings/js/ScriptInstance.h:
57159        * bindings/objc/WebScriptObject.mm:
57160        * bridge/Bridge.h:
57161        * bridge/c/c_class.h:
57162        * bridge/c/c_instance.h:
57163        * bridge/c/c_runtime.h:
57164        * bridge/jni/jsc/JNIBridgeJSC.h:
57165        * bridge/jni/jsc/JavaInstanceJSC.h:
57166        * bridge/jsc/BridgeJSC.h:
57167        * bridge/objc/objc_runtime.h:
57168        * bridge/qt/qt_class.h:
57169        * bridge/qt/qt_instance.h:
57170        * bridge/qt/qt_pixmapruntime.h:
57171        * bridge/qt/qt_runtime.h:
57172        * bridge/runtime_array.h:
57173        * bridge/runtime_method.h:
57174        * bridge/runtime_object.h:
57175        * bridge/runtime_root.cpp:
57176        * bridge/testbindings.cpp:
57177        * bridge/testbindings.mm:
57178        * bridge/testqtbindings.cpp:
57179        * page/win/FrameWin.cpp:
57180        * platform/graphics/wince/MediaPlayerProxy.cpp:
57181        * plugins/PluginView.cpp:
57182        * plugins/PluginViewNone.cpp:
57183        * plugins/gtk/PluginViewGtk.cpp:
57184        * plugins/mac/PluginViewMac.mm:
57185        * plugins/qt/PluginViewQt.cpp:
57186        * plugins/symbian/PluginViewSymbian.cpp:
57187        * plugins/win/PluginViewWin.cpp:
57188
571892011-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
57190
57191        Reviewed by Antti Koivisto.
57192
57193        SVG 1.1 2nd Edition color-prop-05-t.svg exposes bug in 'currentColor' handling
57194        https://bugs.webkit.org/show_bug.cgi?id=54800
57195
57196        Wrong handling of currentColor on inherit
57197        https://bugs.webkit.org/show_bug.cgi?id=38102
57198
57199        Stop storing RefPtr<SVGPaint> objects in the SVGRenderStyle for fill/stroke. These are the last
57200        two objects that held references to CSSValues, they're all gone now, aligning better with RenderStyle.
57201        It's also dangerous, as a SVGPaint object can be shared by multiple SVGRenderStyles (MappedAttribute will
57202        once create a CSSStyleDeclaration for fill="red" and reuse it where possible), and it was easy to
57203        accidently mutate the object, affecting multiple styles. Instead store a Color, an URI and a paint
57204        type in SVGRenderStyle, enough to create a SVGPaint object, if needed (eg for computed styles).
57205
57206        <g color="green"><rect fill="currentColor"/> already worked fine in trunk, but
57207        <g fill="currentColor" color="green"><rect color="red"/> procuded a red rectangle.
57208
57209        In order to fix to bug we have to resolve all currentColor values for SVGPaint objects, in SVGCSSStyleSelector,
57210        as it's already done for SVGColor objects (stop-color, flood-color, etc.) instead of in RenderSVGResource::fill/strokePaintingResource,
57211        when trying to use the paint server. The correct "color" value that should be used from the RenderStyle, is directly
57212        available in CSSStyleSelector: in applyProperty m_style->color() gives the desired value. In CSSStyleSelector it's handled
57213        exactly this way for non-SVG currentColor properties. Also fix computed styles, which did not resolve currentColor for SVGPaint/SVGColor.
57214
57215        A previous patch implemented the SVGPaint/SVGColor API. SVG demands these CSSValues to be mutable. Introduce
57216        CSSMutableValue, which extends CSSValue by a Node pointer, and let SVGPaint/SVGColor inherit from it.
57217        Mutating a SVGPaint/SVGColor object now takes immediate effect, which is reflected in the inline style / computed style.
57218        (Note that getPresentationAttribute() already takes care of removing the CSSValue from the mapped attribute cache, so that it's no longer shared.)
57219
57220        Add several new tests covering the patch.
57221
57222        Tests: svg/W3C-SVG-1.1-SE/color-prop-05-t.svg
57223               svg/animations/animate-color-fill-currentColor.html
57224               svg/custom/SVGPaint-mutate-attribute.svg
57225               svg/custom/SVGPaint-mutate-inline-style.svg
57226
57227        * GNUMakefile.am: Add CSSMutableValue.h
57228        * WebCore.gypi: Ditto.
57229        * WebCore.xcodeproj/project.pbxproj: Ditto.
57230        * css/CSSMutableStyleDeclaration.cpp: Reset the Node pointer in all CSSMutableValues belonging to this style declaration.
57231        (WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration):
57232        * css/CSSMutableStyleDeclaration.h: Add destructor.
57233        * css/CSSMutableValue.h: Added.
57234        (WebCore::CSSMutableValue::CSSMutableValue):
57235        (WebCore::CSSMutableValue::~CSSMutableValue):
57236        (WebCore::CSSMutableValue::isMutableValue):
57237        (WebCore::CSSMutableValue::node):
57238        (WebCore::CSSMutableValue::setNode):
57239        (WebCore::CSSMutableValue::setNeedsStyleRecalc):
57240        * css/CSSStyleDeclaration.cpp:
57241        (WebCore::CSSStyleDeclaration::getPropertyCSSValue): Set the Node object of a CSSMutableValue to the Node, this style declaration belongs to.
57242        * css/CSSValue.h:
57243        (WebCore::CSSValue::isMutableValue): Return false, default.
57244        * css/SVGCSSComputedStyleDeclaration.cpp:
57245        (WebCore::CSSComputedStyleDeclaration::adjustSVGPaintForCurrentColor): Add helper function, resolving currentColor values for SVGPaint objects.
57246        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue): Use currentColorOrValidColor/adjustSVGPaintForCurrentColor to resolve SVGColor/SVGPaint values.
57247        * css/SVGCSSStyleSelector.cpp:
57248        (WebCore::CSSStyleSelector::applySVGProperty): Store fill/stroke uri, color, paint type seperated in SVGRenderStyle, don't store the full SVGPaint object anymore.
57249        * rendering/style/SVGRenderStyle.cpp:
57250        (WebCore::SVGRenderStyle::diff): Adapt to SVGPaint changes.
57251        * rendering/style/SVGRenderStyle.h: Ditto.
57252        (WebCore::SVGRenderStyle::initialFillOpacity):
57253        (WebCore::SVGRenderStyle::initialFillPaintType):
57254        (WebCore::SVGRenderStyle::initialFillPaintColor):
57255        (WebCore::SVGRenderStyle::initialFillPaintUri):
57256        (WebCore::SVGRenderStyle::initialStrokeOpacity):
57257        (WebCore::SVGRenderStyle::initialStrokePaintType):
57258        (WebCore::SVGRenderStyle::initialStrokePaintColor):
57259        (WebCore::SVGRenderStyle::initialStrokePaintUri):
57260        (WebCore::SVGRenderStyle::initialStrokeMiterLimit):
57261        (WebCore::SVGRenderStyle::initialStopOpacity):
57262        (WebCore::SVGRenderStyle::initialFloodOpacity):
57263        (WebCore::SVGRenderStyle::setFillPaint):
57264        (WebCore::SVGRenderStyle::setStrokePaint):
57265        (WebCore::SVGRenderStyle::fillPaintType):
57266        (WebCore::SVGRenderStyle::fillPaintColor):
57267        (WebCore::SVGRenderStyle::fillPaintUri):
57268        (WebCore::SVGRenderStyle::strokePaintType):
57269        (WebCore::SVGRenderStyle::strokePaintColor):
57270        (WebCore::SVGRenderStyle::strokePaintUri):
57271        (WebCore::SVGRenderStyle::hasStroke):
57272        (WebCore::SVGRenderStyle::hasFill):
57273        * rendering/style/SVGRenderStyleDefs.cpp: Ditto.
57274        (WebCore::StyleFillData::StyleFillData):
57275        (WebCore::StyleFillData::operator==):
57276        (WebCore::StyleStrokeData::StyleStrokeData):
57277        (WebCore::StyleStrokeData::operator==):
57278        * rendering/style/SVGRenderStyleDefs.h: Ditto.
57279        * rendering/svg/RenderSVGResource.cpp: Ditto.
57280        (WebCore::requestPaintingResource):
57281        * rendering/svg/RenderSVGResourceClipper.cpp: Ditto.
57282        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
57283        * rendering/svg/SVGResources.cpp: Ditto.
57284        (WebCore::paintingResourceFromSVGPaint):
57285        (WebCore::SVGResources::buildCachedResources):
57286        * svg/SVGColor.cpp: Call setNeedsStyleRecalc() after mutating the object.
57287        (WebCore::SVGColor::setRGBColor):
57288        (WebCore::SVGColor::setRGBColorICCColor):
57289        (WebCore::SVGColor::setColor):
57290        * svg/SVGColor.h:
57291        * svg/SVGPaint.cpp: Ditto.
57292        (WebCore::SVGPaint::setUri):
57293        (WebCore::SVGPaint::setPaint):
57294        * svg/SVGPaint.h:
57295
572962011-03-01  Andrey Adaikin  <aandrey@google.com>
57297
57298        Reviewed by Pavel Feldman.
57299
57300        Web Inspector: [Text editor] Handle decorated lines in the editor
57301        https://bugs.webkit.org/show_bug.cgi?id=55373
57302
57303        * inspector/front-end/SourceFrame.js:
57304        (WebInspector.SourceFrame.prototype._startEditing):
57305        (WebInspector.SourceFrame.prototype._endEditing):
57306        (WebInspector.SourceFrame.prototype._createTextViewer):
57307        * inspector/front-end/TextViewer.js:
57308        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
57309        (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
57310        (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
57311        (WebInspector.TextEditorMainPanel.prototype.set readOnly):
57312        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
57313        (WebInspector.TextEditorMainPanel.prototype._handleDOMSubtreeModified):
57314        (WebInspector.TextEditorMainPanel.prototype._markDirtyLines):
57315        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
57316        (WebInspector.TextEditorMainPanel.prototype._removeDecorationsInRange):
57317        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
57318        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
57319        (WebInspector.TextEditorMainChunk.prototype.addDecoration):
57320        (WebInspector.TextEditorMainChunk.prototype.removeDecoration):
57321        (WebInspector.TextEditorMainChunk.prototype.removeAllDecorations):
57322        (WebInspector.TextEditorMainChunk.prototype.get decorated):
57323
573242011-03-01  Philippe Normand  <pnormand@igalia.com>
57325
57326        Unreviewed GTK build fix after r79978
57327
57328        * GNUmakefile.am:
57329
573302011-03-01  Andras Becsi  <abecsi@webkit.org>
57331
57332        Unreviewed build fix.
57333
57334        [Qt] Fix minimal build.
57335
57336        No new tests needed.
57337
57338        * WebCore.pri: Is included in WebKit2.pro, so XP_UNIX can remain here.
57339
573402011-03-01  anthony taranto  <anthony.taranto@gmail.com>
57341
57342        Return undefined value from ScriptController::evaluate(), allowing the
57343        caller to distinguish between an error and an undefined return value.
57344        https://bugs.webkit.org/show_bug.cgi?id=51528
57345
57346        * bindings/v8/ScriptController.cpp:
57347
573482011-03-01  Roland Steiner  <rolandsteiner@chromium.org>
57349
57350        Reviewed by Kent Tamura.
57351
57352        Bug 54853 - Move TextControlInnerElements from WebCore/rendering to WebCore/html/shadow
57353        https://bugs.webkit.org/show_bug.cgi?id=54853
57354
57355        Moving the files from rendering to html/shadow, with the exception of
57356        the class RenderTextControlInnerBlock, which I moved to RenderTextControlSingleLine
57357        (this place is not ideal, but only a temporary state during the larger refactoring
57358        for <input>).
57359
57360        No new tests. (refactoring)
57361
57362        * Android.mk:
57363        * CMakeLists.txt:
57364        * WebCore.gypi:
57365        * WebCore.pro:
57366        * WebCore.vcproj/WebCore.vcproj:
57367        * WebCore.xcodeproj/project.pbxproj:
57368        * html/shadow/TextControlInnerElements.cpp: Copied from Source/WebCore/rendering/TextControlInnerElements.cpp.
57369        * html/shadow/TextControlInnerElements.h: Copied from Source/WebCore/rendering/TextControlInnerElements.h.
57370        * rendering/RenderTextControlSingleLine.cpp:
57371        (WebCore::RenderTextControlInnerBlock::positionForPoint):
57372        * rendering/RenderTextControlSingleLine.h:
57373        (WebCore::RenderTextControlInnerBlock::RenderTextControlInnerBlock):
57374        (WebCore::RenderTextControlInnerBlock::hasLineIfEmpty):
57375        * rendering/TextControlInnerElements.cpp: Removed.
57376        * rendering/TextControlInnerElements.h: Removed.
57377
573782011-03-01  Ryosuke Niwa  <rniwa@webkit.org>
57379
57380        Reviewed by Tony Chang.
57381
57382        applyInlineStyleToPushDown and removeInlineStyleFromElement should take EditingStyle
57383        https://bugs.webkit.org/show_bug.cgi?id=55338
57384
57385        Deployed EditingStyle in applyInlineStyleToPushDown and removeInlineStyleFromElement.
57386
57387        Also added a convenience function EditingStyle::setProperty, which lazily instantiates
57388        new CSSMutableStyleDeclaration for m_mutableStyle.
57389
57390        * editing/ApplyStyleCommand.cpp:
57391        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle*.
57392        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Ditto.
57393        (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
57394        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls the above three functions.
57395        (WebCore::ApplyStyleCommand::removeInlineStyle): Calls pushDownInlineStyleAroundNode.
57396        * editing/ApplyStyleCommand.h:
57397        * editing/EditingStyle.cpp:
57398        (WebCore::HTMLElementEquivalent::addToStyle): Takes EditingStyle*; calls EditingStyle::setProperty.
57399        (WebCore::HTMLAttributeEquivalent::addToStyle): Ditto.
57400        (WebCore::EditingStyle::setProperty): Added.  This member function lazily instantiates
57401        new CSSMutableStyleDeclaration for m_mutableStyle.
57402        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Takes EditingStyle*.
57403        (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Ditto.
57404        (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): Ditto.
57405        * editing/EditingStyle.h: Added HTMLElementEquivalent and HTMLAttributeEquivalent as friends.
57406        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Ditto.
57407        * editing/InsertTextCommand.cpp: Removed unnecessary includes.
57408        * editing/RemoveCSSPropertyCommand.h: Ditto.
57409
574102011-02-28  Pavel Feldman  <pfeldman@chromium.org>
57411
57412        Not reviewed: chromium rebuilds XMLViewer after noop. Fixed gyp file.
57413
57414        * WebCore.gyp/WebCore.gyp:
57415
574162011-02-28  David Levin  <levin@chromium.org>
57417
57418        Reviewed by Darin Adler.
57419
57420        KURL should expose a referrer property.
57421        https://bugs.webkit.org/show_bug.cgi?id=55415
57422
57423        No change in functionality so no new tests.
57424
57425        * loader/FrameLoader.cpp:
57426        (WebCore::FrameLoader::setOutgoingReferrer): Refactor to put the majority
57427        of functionality in KURL::strippedForUseAsReferrer() so that this code can
57428        be more easily reused.
57429        * platform/KURL.cpp:
57430        (WebCore::KURL::strippedForUseAsReferrer): Converts the url to a string
57431        which is suitable for use as a referrer.
57432        * platform/KURL.h:
57433
574342011-02-28  Chang Shu  <cshu@webkit.org>
57435
57436        Reviewed by Ryosuke Niwa.
57437
57438        Remove the support of Frame::isContentEditable and its dependencies.
57439        https://bugs.webkit.org/show_bug.cgi?id=54292
57440
57441        Frame::isContentEditable is currently based on two things: Editor::clientIsEditable and
57442        Document::inDesignMode. In fact, it should only rely on Document::inDesignMode. As a result,
57443        Editor::clientIsEditable and its client-side implementation can be removed.
57444
57445        * WebCore.exp.in:
57446        * accessibility/AccessibilityRenderObject.cpp:
57447        (WebCore::AccessibilityRenderObject::isReadOnly):
57448        * editing/Editor.cpp:
57449        * editing/Editor.h:
57450        * editing/SelectionController.cpp:
57451        (WebCore::SelectionController::setSelectionFromNone):
57452        * html/HTMLElement.cpp:
57453        (WebCore::HTMLElement::isContentEditable):
57454        (WebCore::HTMLElement::isContentRichlyEditable):
57455        * page/DragController.cpp:
57456        (WebCore::DragController::operationForLoad):
57457        * page/EditorClient.h:
57458        * page/Frame.cpp:
57459        * page/Frame.h:
57460
574612011-02-28  Kent Tamura  <tkent@chromium.org>
57462
57463        Reviewed by Darin Adler.
57464
57465        Number type input cannot be set to empty string if it has an initial value
57466        https://bugs.webkit.org/show_bug.cgi?id=53744
57467
57468        We need to distinguish null strings and empty strings for
57469        InputElementData::value. So InputType::sanitizeValue() also needs to
57470        take care of it.
57471
57472        * dom/InputElement.h: Add a comment to InputElementData::value and
57473          setValue about null strings.
57474        * html/InputType.h: Add a comment to sanitizeValue about null strings.
57475        * html/NumberInputType.cpp:
57476        (WebCore::NumberInputType::sanitizeValue): Returns a null string if the
57477          proposed value is a null string. Returning an empty string if the
57478          proposed value is not a number.
57479
574802011-02-28  Kent Tamura  <tkent@chromium.org>
57481
57482        Reviewed by Darin Adler.
57483
57484        Number type input should not handle mouse wheel events if it has no focus.
57485        https://bugs.webkit.org/show_bug.cgi?id=53638
57486
57487        * html/TextFieldInputType.cpp:
57488        (WebCore::TextFieldInputType::handleWheelEventForSpinButton): Check focused().
57489
574902011-02-28  Noel Gordon  <noel.gordon@gmail.com>
57491        Reviewed by James Robinson.
57492
57493        [chromium] GradientSkia: use the common Gradient stop sorting methods.
57494        https://bugs.webkit.org/show_bug.cgi?id=54625
57495
57496        Remove a FIXME: call the Gradient.cpp stop storting routines, no need
57497        to duplicate that code herein.
57498
57499        No change in behavior, so no new tests.
57500
57501        * platform/graphics/skia/GradientSkia.cpp:
57502        (WebCore::Gradient::platformGradient):
57503
575042011-02-28  Steve Block  <steveblock@google.com>
57505
57506        Reviewed by Jeremy Orlow.
57507
57508        JNI code should include <jni.h> on non-OSX platforms.
57509        https://bugs.webkit.org/show_bug.cgi?id=55219
57510
57511        On Mac we need to include <JavaVM/jni.h> as this is a framework
57512        include. We include jni.h through JNIUtility.h to minimize the
57513        number of ifdefs.
57514
57515        No new tests, build fix only.
57516
57517        * WebCore.xcodeproj/project.pbxproj
57518        * bridge/jni/JNIUtility.h:
57519        * bridge/jni/jni_jsobject.h:
57520        * bridge/jni/jsc/JNIBridgeJSC.h:
57521        * bridge/jni/jsc/JavaInstanceJSC.h:
57522        * bridge/jni/v8/JavaInstanceV8.h:
57523
575242011-02-28  Nebojsa Sabovic  <neb@chromium.org>
57525
57526        Reviewed by James Robinson.
57527
57528        [chromium] Pepper plugins render upside down
57529        https://bugs.webkit.org/show_bug.cgi?id=55101
57530
57531        No layout tests for pepper plugins (yet).
57532
57533        * platform/graphics/chromium/PluginLayerChromium.h:
57534
575352011-02-28  Tony Gentilcore  <tonyg@chromium.org>
57536
57537        Reviewed by Adam Barth.
57538
57539        Follow HTML5 spec for document.open() a little more closely
57540        https://bugs.webkit.org/show_bug.cgi?id=55392
57541
57542        See: 3.5.1.4 at http://www.whatwg.org/specs/web-apps/current-work/#dom-document-open.
57543
57544        The second return check matches the spec. The first return check (isExecutingScript())
57545        was left in place because without it, fast/tokenizer/write-external-script-open.html
57546        would fail. It also possible there is a spec bug because FF4 crashes on that test and
57547        IE9 prints "FAILURE." The isLoadingMainResource() check was removed because the main
57548        resource is always loading while parser->isParsing().
57549
57550        Test: fast/parser/double-write-from-closed-iframe.html
57551
57552        * dom/Document.cpp:
57553        (WebCore::Document::open):
57554
575552011-02-28  Avi Drissman  <avi@google.com>
57556
57557        Reviewed by James Robinson.
57558
57559        WebCursorInfo needs to match enums in platform/Cursor.h
57560        https://bugs.webkit.org/show_bug.cgi?id=55094
57561
57562        * platform/chromium/CursorChromium.cpp:
57563        (WebCore::grabCursor):
57564        (WebCore::grabbingCursor):
57565        * platform/chromium/PlatformCursor.h:
57566
575672011-02-28  Jia Pu  <jpu@apple.com>
57568
57569        Reviewed by Darin Adler.
57570
57571        [Mac] Make "Change back to …" contextual menu item work with new autocorrection.
57572        https://bugs.webkit.org/show_bug.cgi?id=55396
57573        <rdar://problem/8836093>
57574
57575        The change in InlineTextBox.cpp fixes a bug, where the rectangle of Replacement marker isn't
57576        calculated. We need this to do hit test when deciding whether to show "Change back to ..." on
57577        contextual menu.
57578
57579        The change in Editor.cpp is for notifying spellchecker about the reversion whenever "Change
57580        back to ..." is clicked.
57581
57582        * editing/Editor.cpp:
57583        (WebCore::Editor::changeBackToReplacedString):
57584        * rendering/InlineTextBox.cpp:
57585        (WebCore::InlineTextBox::paintDocumentMarkers):
57586
575872011-02-28  Victoria Kirst  <vrk@google.com>
57588
57589        Reviewed by Kenneth Russell.
57590
57591        [chromium] Fall back to texSubImage2D when mapTexSubImage2D fails in VideoLayerChromium
57592        https://bugs.webkit.org/show_bug.cgi?id=55269
57593
57594        Mesa does not support mapTexSubImage2D, so this change lets
57595        GPU-accelerated video work with DRT layout tests.
57596
57597        * platform/graphics/chromium/VideoLayerChromium.cpp:
57598        (WebCore::VideoLayerChromium::updateTexture):
57599
576002011-02-28  David Hyatt  <hyatt@apple.com>
57601
57602        Reviewed by Dan Bernstein.
57603
57604        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.  Change staticX and staticY
57605        to be staticInlinePosition and staticBlockPosition.  Patch all of the computations involving these variables to be writing
57606        mode aware.  Mixed writing modes are not yet supported.
57607
57608        Added new tests in fast/block/positioning/auto.
57609
57610        * rendering/RenderBlock.cpp:
57611        (WebCore::RenderBlock::adjustPositionedBlock):
57612        (WebCore::RenderBlock::layoutPositionedObjects):
57613        * rendering/RenderBlock.h:
57614        (WebCore::RenderBlock::startOffsetForLine):
57615        * rendering/RenderBlockLineLayout.cpp:
57616        (WebCore::RenderBlock::appendRunsForObject):
57617        (WebCore::setStaticPositions):
57618        (WebCore::RenderBlock::skipTrailingWhitespace):
57619        (WebCore::RenderBlock::skipLeadingWhitespace):
57620        (WebCore::RenderBlock::findNextLineBreak):
57621        * rendering/RenderBox.cpp:
57622        (WebCore::RenderBox::positionLineBox):
57623        (WebCore::computeInlineStaticDistance):
57624        (WebCore::RenderBox::computePositionedLogicalWidth):
57625        (WebCore::computeBlockStaticDistance):
57626        (WebCore::RenderBox::computePositionedLogicalHeight):
57627        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
57628        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
57629        * rendering/RenderBoxModelObject.h:
57630        (WebCore::RenderBoxModelObject::borderAndPaddingLogicalLeft):
57631        (WebCore::RenderBoxModelObject::borderAndPaddingStart):
57632        (WebCore::RenderBoxModelObject::borderLogicalLeft):
57633        (WebCore::RenderBoxModelObject::borderLogicalRight):
57634        * rendering/RenderFlexibleBox.cpp:
57635        (WebCore::RenderFlexibleBox::layoutHorizontalBox):
57636        (WebCore::RenderFlexibleBox::layoutVerticalBox):
57637        * rendering/RenderInline.cpp:
57638        (WebCore::RenderInline::relativePositionedInlineOffset):
57639        * rendering/RenderLayer.cpp:
57640        (WebCore::RenderLayer::RenderLayer):
57641        * rendering/RenderLayer.h:
57642        (WebCore::RenderLayer::staticInlinePosition):
57643        (WebCore::RenderLayer::staticBlockPosition):
57644        (WebCore::RenderLayer::setStaticInlinePosition):
57645        (WebCore::RenderLayer::setStaticBlockPosition):
57646        * rendering/style/RenderStyle.h:
57647        (WebCore::InheritedFlags::hasAutoLeftAndRight):
57648        (WebCore::InheritedFlags::hasAutoTopAndBottom):
57649        (WebCore::InheritedFlags::hasStaticInlinePosition):
57650        (WebCore::InheritedFlags::hasStaticBlockPosition):
57651
576522011-02-28  Balazs Kelemen  <kbalazs@webkit.org>
57653
57654        Reviewed by Anders Carlsson.
57655
57656        [Qt][WK2] Plugin initialization
57657        https://bugs.webkit.org/show_bug.cgi?id=48127
57658
57659        No function change so no new tests.
57660
57661        * WebCore.pri: Lift the definition of the XP_UNIX macro
57662        from WebCore.pri to WebKit.pri to apply it to WebKit2 as well.
57663
576642011-02-28  Dean Jackson  <dino@apple.com>
57665
57666        Reviewed by Eric Carlson.
57667
57668        https://bugs.webkit.org/show_bug.cgi?id=55239
57669
57670        Allow webkitEnterFullScreen to be called from outside
57671        a user gesture, but only when the correct restrictions
57672        have been lifted in WebCore. Add a new restriction type
57673        for this situation. Meanwhile, expose the current
57674        restrictions externally from HTMLMediaElement, so that
57675        clients can easily set restrictions on their port.
57676
57677        No new tests. This doesn't change existing behavior. Some
57678        WebKit clients may lift the restriction.
57679
57680        * html/HTMLMediaElement.cpp:
57681        (WebCore::HTMLMediaElement::HTMLMediaElement):
57682        - ensure restrictions initialize with fullscreen restricted
57683        * html/HTMLMediaElement.h:
57684        (WebCore::HTMLMediaElement::requireUserGestureForLoad):
57685        (WebCore::HTMLMediaElement::requireUserGestureForRateChange):
57686        (WebCore::HTMLMediaElement::requireUserGestureForFullScreen):
57687        (WebCore::HTMLMediaElement::setBehaviorRestrictions):
57688        - new methods to expose the current restrictions
57689        * html/HTMLVideoElement.cpp:
57690        (WebCore::HTMLVideoElement::webkitEnterFullscreen):
57691
576922011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
57693
57694        Unreviewed, rolling out r78789.
57695        http://trac.webkit.org/changeset/78789
57696        https://bugs.webkit.org/show_bug.cgi?id=55409
57697
57698        Incorrect canvas fallback implementation (Requested by
57699        inferno-sec on #webkit).
57700
57701        * accessibility/AccessibilityObject.h:
57702        * accessibility/AccessibilityRenderObject.cpp:
57703        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
57704        (WebCore::AccessibilityRenderObject::canHaveChildren):
57705        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
57706        (atkRole):
57707        * accessibility/mac/AccessibilityObjectWrapper.mm:
57708        * html/HTMLFormControlElement.cpp:
57709        (WebCore::HTMLFormControlElement::isFocusable):
57710        * rendering/RenderHTMLCanvas.cpp:
57711        * rendering/RenderHTMLCanvas.h:
57712        * rendering/RenderObject.cpp:
57713        (WebCore::RenderObject::repaint):
57714        * rendering/RenderTreeAsText.cpp:
57715        (WebCore::write):
57716
577172011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
57718
57719        Unreviewed, rolling out r79425.
57720        http://trac.webkit.org/changeset/79425
57721        https://bugs.webkit.org/show_bug.cgi?id=55406
57722
57723        Incorrect canvas fallback implementation. (Requested by
57724        inferno-sec on #webkit).
57725
57726        * rendering/RenderHTMLCanvas.cpp:
57727        (WebCore::RenderHTMLCanvas::nodeAtPoint):
57728
577292011-02-28  Adam Klein  <adamk@chromium.org>
57730
57731        Reviewed by Adam Barth.
57732
57733        [fileapi] Implement LocalFileSystem.resolveLocalFileSystemURI
57734        https://bugs.webkit.org/show_bug.cgi?id=54774
57735
57736        See http://dev.w3.org/2009/dap/file-system/file-dir-sys.html#methods
57737        for the spec implemented by this patch.
57738
57739        Test: fast/filesystem/resolve-uri.html
57740
57741        * fileapi/DOMFileSystemBase.cpp:
57742        (WebCore::DOMFileSystemBase::crackFileSystemURL):
57743        * fileapi/DOMFileSystemBase.h:
57744        Added constants for "temporary" and "persistent".
57745        * fileapi/EntryBase.cpp:
57746        Replace hardcoded strings with aforementioned constants.
57747        * fileapi/FileSystemCallbacks.cpp:
57748        (WebCore::ResolveURICallbacks::create):
57749        (WebCore::ResolveURICallbacks::ResolveURICallbacks):
57750        (WebCore::ResolveURICallbacks::didOpenFileSystem):
57751        Chains a call of openFileSystem to calls to getDirectory/getFile.
57752        * fileapi/FileSystemCallbacks.h:
57753        * fileapi/LocalFileSystem.cpp:
57754        (WebCore::LocalFileSystem::readFileSystem):
57755        * fileapi/LocalFileSystem.h:
57756        Remove size argument from readFileSystem()
57757        * page/DOMWindow.cpp:
57758        (WebCore::DOMWindow::resolveLocalFileSystemURI):
57759        * page/DOMWindow.h:
57760        * page/DOMWindow.idl:
57761
577622011-02-28  Alexis Menard  <alexis.menard@openbossa.org>
57763
57764        Reviewed by Oliver Hunt.
57765
57766        Build fix for Qt port after API changes of http://trac.webkit.org/changeset/79904.
57767
57768        * bridge/qt/qt_runtime.cpp:
57769        (JSC::Bindings::QtConnectionObject::execute):
57770
577712011-02-25  David Levin  <levin@chromium.org>
57772
57773        Reviewed by Darin Adler.
57774
57775        Remove some duplicate code from KURLGoogle.cpp
57776        https://bugs.webkit.org/show_bug.cgi?id=55266
57777
57778        No change in functionality so no new tests.
57779
57780        * WebCore.gyp/WebCore.gyp: Make KURL.cpp get built by Chromium.
57781        * platform/KURL.cpp:
57782        Simply moved #include's and some code that was identical (i.e.
57783        had been copied) to KURLGoogle.cpp outside of ifdef !USE(GOOGLEURL)
57784        to reduce duplication.
57785        * platform/KURLGoogle.cpp:
57786        Removed the duplicate code.
57787
577882011-02-28  Oliver Hunt  <oliver@apple.com>
57789
57790        Reviewed by Gavin Barraclough.
57791
57792        Make ScopeChainNode GC allocated
57793        https://bugs.webkit.org/show_bug.cgi?id=55283
57794
57795        Update WebCore to deal with the absence of the ScopeChain
57796        class.
57797
57798        * ForwardingHeaders/runtime/ScopeChain.h: Added.
57799        * bindings/js/JSHTMLElementCustom.cpp:
57800        (WebCore::JSHTMLElement::pushEventHandlerScope):
57801        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
57802        (WebCore::JSJavaScriptCallFrame::scopeChain):
57803        (WebCore::JSJavaScriptCallFrame::scopeType):
57804        * bindings/js/JSLazyEventListener.cpp:
57805        (WebCore::JSLazyEventListener::initializeJSFunction):
57806        * bindings/js/JSMainThreadExecState.h:
57807        (WebCore::JSMainThreadExecState::evaluate):
57808        * bindings/js/JSNodeCustom.cpp:
57809        (WebCore::JSNode::pushEventHandlerScope):
57810        * bindings/js/JavaScriptCallFrame.cpp:
57811        (WebCore::JavaScriptCallFrame::scopeChain):
57812        * bindings/js/JavaScriptCallFrame.h:
57813        * bindings/scripts/CodeGeneratorJS.pm:
57814        * bridge/c/c_class.cpp:
57815        * bridge/c/c_runtime.cpp:
57816        * bridge/jni/JNIBridge.cpp:
57817        * bridge/qt/qt_runtime.cpp:
57818        (JSC::Bindings::QtConnectionObject::execute):
57819        * plugins/PluginViewNone.cpp:
57820
578212011-02-28  Chang Shu  <cshu@webkit.org>
57822
57823        Reviewed by Adele Peterson.
57824
57825        REGRESSION (r79762): Items in <select multiple> have focus rings, but shouldn't
57826        https://bugs.webkit.org/show_bug.cgi?id=55323
57827
57828        Draw focus ring on selected items only if spatial navigation is enabled.
57829
57830        Test: fast/forms/select-listbox-multiple-no-focusring.html
57831
57832        * rendering/RenderBlock.h:
57833        * rendering/RenderListBox.cpp:
57834        (WebCore::RenderListBox::addFocusRingRects):
57835
578362011-02-28  Abhishek Arya  <inferno@chromium.org>
57837
57838        Reviewed by Anders Carlsson.
57839
57840        We can cancel the plugin load and fail with error before m_manualStream
57841        got a chance to initialize in PluginView::didReceiveResponse. This can
57842        happen when we run pending document onload events during plugin load that
57843        remove the frame from underneath. So, change the assert into a null check.
57844        https://bugs.webkit.org/show_bug.cgi?id=55307
57845
57846        * plugins/PluginView.cpp:
57847        (WebCore::PluginView::didFail):
57848
578492011-02-28  Alexis Menard  <alexis.menard@openbossa.org>
57850
57851        Reviewed by Alexey Proskuryakov.
57852
57853        Build fix for Intel ICC Compiler.
57854        https://bugs.webkit.org/show_bug.cgi?id=55221
57855
57856        The virtual inheritance seems to confuse ICC.
57857        Anything that links with webkit has an undefined reference otherwise.
57858
57859        * svg/SVGTransformable.cpp:
57860        (WebCore::SVGTransformable::~SVGTransformable):
57861        * svg/SVGTransformable.h:
57862
578632011-02-28  Sergio Villar Senin  <svillar@igalia.com>
57864
57865        Reviewed by Martin Robinson.
57866
57867        [Gtk] Resource size is incorrectly reported to WebCore
57868        https://bugs.webkit.org/show_bug.cgi?id=53228
57869
57870        When calling didReceiveData we are sending an invalid value for
57871        lengthReceived. Sometimes we were even passing a boolean value instead of the
57872        expected integer. We should pass the size of the received data instead of the
57873        total amount of data received.
57874
57875        * platform/network/ResourceHandleInternal.h:
57876        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
57877        * platform/network/soup/ResourceHandleSoup.cpp:
57878        (WebCore::gotChunkCallback):
57879        (WebCore::sendRequestCallback):
57880        (WebCore::readCallback):
57881
578822011-02-28  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
57883
57884        Reviewed by Dan Bernstein.
57885
57886        Cleanup the include guard form an Objective-C files
57887        https://bugs.webkit.org/show_bug.cgi?id=55379
57888
57889        Normally Objective-C files do not need include guard.
57890        r76916 introduced an include guard in EmptyProtocolDefinitions.h.
57891        The guard is no longer needed after r76991.
57892
57893        No new tests as there is no new functionality.
57894
57895        * platform/mac/EmptyProtocolDefinitions.h:
57896
578972011-02-28  Pavel Podivilov  <podivilov@chromium.org>
57898
57899        Reviewed by Pavel Feldman.
57900
57901        Web Inspector: [REGRESSION] no resources in scripts panel because debugger is enabled too early.
57902        https://bugs.webkit.org/show_bug.cgi?id=55389
57903
57904        * inspector/InspectorAgent.cpp:
57905        (WebCore::InspectorAgent::populateScriptObjects):
57906        * inspector/InspectorDebuggerAgent.cpp:
57907        (WebCore::InspectorDebuggerAgent::setFrontend):
57908        (WebCore::InspectorDebuggerAgent::enableDebuggerAfterShown):
57909        * inspector/InspectorDebuggerAgent.h:
57910
579112011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
57912
57913        Unreviewed, rolling out r79877.
57914        http://trac.webkit.org/changeset/79877
57915        https://bugs.webkit.org/show_bug.cgi?id=55388
57916
57917        Breaks chromium build (Requested by antonm_ on #webkit).
57918
57919        * WebCore.gypi:
57920        * platform/graphics/chromium/ContentLayerChromium.cpp:
57921        (WebCore::ContentLayerChromium::updateContentsIfDirty):
57922        (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
57923        (WebCore::ContentLayerChromium::resizeUploadBuffer):
57924        (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
57925        (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
57926        (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
57927        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
57928        (WebCore::ContentLayerChromium::draw):
57929        * platform/graphics/chromium/ContentLayerChromium.h:
57930        * platform/graphics/chromium/ImageLayerChromium.cpp:
57931        (WebCore::ImageLayerChromium::updateContentsIfDirty):
57932        * platform/graphics/chromium/ImageLayerChromium.h:
57933        * platform/graphics/chromium/LayerTilerChromium.cpp:
57934        (WebCore::LayerTilerChromium::contentRectToTileIndices):
57935        (WebCore::LayerTilerChromium::update):
57936        * platform/graphics/chromium/LayerTilerChromium.h:
57937        * platform/graphics/chromium/PlatformCanvas.cpp: Removed.
57938        * platform/graphics/chromium/PlatformCanvas.h: Removed.
57939        * platform/graphics/chromium/PlatformImage.cpp: Removed.
57940        * platform/graphics/chromium/PlatformImage.h: Removed.
57941
579422011-02-28  Pavel Podivilov  <podivilov@chromium.org>
57943
57944        Reviewed by Pavel Feldman.
57945
57946        Web Inspector: add live edit test.
57947        https://bugs.webkit.org/show_bug.cgi?id=55360
57948
57949        Test: inspector/debugger/live-edit.html
57950
57951        * inspector/front-end/SourceFrame.js:
57952        (WebInspector.SourceFrame.prototype._doubleClick):
57953        (WebInspector.SourceFrame.prototype._didEditLine):
57954
579552011-02-28  Pavel Feldman  <pfeldman@chromium.org>
57956
57957        Not reviewed. Follow up to r79858, removing optimistic assertion that fails on debug bot.
57958
57959        * inspector/InspectorBrowserDebuggerAgent.cpp:
57960        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
57961
579622011-02-25  Adrienne Walker  <enne@google.com>
57963
57964        Reviewed by James Robinson.
57965
57966        [chromium] Abstract "pixels with a graphics context" into its own class
57967        https://bugs.webkit.org/show_bug.cgi?id=55259
57968
57969        This creates new PlatformCanvas/PlatformImage classes which wrap
57970        all of the #ifdef Skia/Cg warts from the compositor.  All classes
57971        (LayerTilerChromium, ContentLayerChromium, and ImageLayerChromium) are
57972        modified to use these abstractions.
57973
57974        Tests: LayoutTests/compositing
57975
57976        * WebCore.gypi:
57977        * platform/graphics/chromium/ContentLayerChromium.cpp:
57978        (WebCore::ContentLayerChromium::updateContentsIfDirty):
57979        (WebCore::ContentLayerChromium::resizeUploadBuffer):
57980        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
57981        (WebCore::ContentLayerChromium::updateTexture):
57982        (WebCore::ContentLayerChromium::draw):
57983        * platform/graphics/chromium/ContentLayerChromium.h:
57984        * platform/graphics/chromium/ImageLayerChromium.cpp:
57985        (WebCore::ImageLayerChromium::updateContentsIfDirty):
57986        (WebCore::ImageLayerChromium::updateTextureIfNeeded):
57987        * platform/graphics/chromium/ImageLayerChromium.h:
57988        * platform/graphics/chromium/LayerTilerChromium.cpp:
57989        (WebCore::LayerTilerChromium::contentRectToTileIndices):
57990        (WebCore::LayerTilerChromium::update):
57991        (WebCore::LayerTilerChromium::updateFromPixels):
57992        * platform/graphics/chromium/LayerTilerChromium.h:
57993        * platform/graphics/chromium/PlatformCanvas.cpp: Added.
57994        (WebCore::PlatformCanvas::PlatformCanvas):
57995        (WebCore::PlatformCanvas::~PlatformCanvas):
57996        (WebCore::PlatformCanvas::resize):
57997        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
57998        (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
57999        (WebCore::PlatformCanvas::Painter::Painter):
58000        (WebCore::PlatformCanvas::Painter::~Painter):
58001        * platform/graphics/chromium/PlatformCanvas.h: Added.
58002        (WebCore::PlatformCanvas::AutoLocker::pixels):
58003        (WebCore::PlatformCanvas::Painter::context):
58004        (WebCore::PlatformCanvas::size):
58005        * platform/graphics/chromium/PlatformImage.cpp: Copied from Source/WebCore/platform/graphics/chromium/ImageLayerChromium.cpp.
58006        (WebCore::PlatformImage::PlatformImage):
58007        (WebCore::PlatformImage::updateFromImage):
58008        * platform/graphics/chromium/PlatformImage.h: Added.
58009        (WebCore::PlatformImage::pixels):
58010        (WebCore::PlatformImage::size):
58011
580122011-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
58013
58014        Unreviewed, rolling out r79784.
58015        http://trac.webkit.org/changeset/79784
58016        https://bugs.webkit.org/show_bug.cgi?id=55386
58017
58018        This change causes lots of assertion failures in Debug builds
58019        (Requested by aroben on #webkit).
58020
58021        * css/CSSStyleSelector.cpp:
58022        (WebCore::convertToLength):
58023        (WebCore::CSSStyleSelector::applyProperty):
58024        (WebCore::CSSStyleSelector::createTransformOperations):
58025        * platform/Length.h:
58026        (WebCore::Length::Length):
58027        (WebCore::Length::operator==):
58028        (WebCore::Length::operator!=):
58029        (WebCore::Length::rawValue):
58030        (WebCore::Length::type):
58031        (WebCore::Length::quirk):
58032        (WebCore::Length::setValue):
58033        (WebCore::Length::setRawValue):
58034        (WebCore::Length::calcFloatValue):
58035        (WebCore::Length::isZero):
58036        (WebCore::Length::blend):
58037        * rendering/AutoTableLayout.cpp:
58038        (WebCore::AutoTableLayout::recalcColumn):
58039        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
58040        * rendering/FixedTableLayout.cpp:
58041        (WebCore::FixedTableLayout::calcWidthArray):
58042
580432011-02-28  Andreas Kling  <kling@webkit.org>
58044
58045        Reviewed by Darin Adler.
58046
58047        Use Frame::ownerElement() directly where appropriate.
58048        https://bugs.webkit.org/show_bug.cgi?id=55385
58049
58050        Don't take the roundabout way through frame->document->ownerElement
58051        which just checks that the document->frame is non-null.
58052
58053        No new test, refactoring only.
58054
58055        * editing/SelectionController.cpp:
58056        (WebCore::SelectionController::selectFrameElementInParentIfFullySelected):
58057        * loader/FrameLoader.cpp:
58058        (WebCore::FrameLoader::loadWithDocumentLoader):
58059        * page/DOMWindow.cpp:
58060        (WebCore::DOMWindow::dispatchLoadEvent):
58061        * page/EventHandler.cpp:
58062        (WebCore::EventHandler::scrollRecursively):
58063        (WebCore::EventHandler::logicalScrollRecursively):
58064        * page/FrameView.cpp:
58065        (WebCore::FrameView::init):
58066        (WebCore::FrameView::layout):
58067        (WebCore::FrameView::repaintContentRectangle):
58068        (WebCore::FrameView::windowClipRect):
58069        (WebCore::FrameView::paintContents):
58070
580712011-02-28  Pavel Podivilov  <podivilov@chromium.org>
58072
58073        Reviewed by Pavel Feldman.
58074
58075        Web Inspector: [REGRESSION] source frame is recreated for each inlined script in document.
58076        https://bugs.webkit.org/show_bug.cgi?id=55377
58077
58078        * inspector/front-end/ScriptsPanel.js:
58079        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
58080        (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName):
58081        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
58082        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
58083
580842011-02-28  Patrick Gansterer  <paroga@webkit.org>
58085
58086        Unreviewed build fix for !ENABLE(SVG_ANIMATION) after r79569.
58087
58088        * svg/SVGDocumentExtensions.cpp:
58089        (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget):
58090
580912011-02-28  Renata Hodovan  <reni@webkit.org>
58092
58093        Reviewed by Andreas Kling.
58094
58095        Optimize parameter transmissions in FEConvolveMatrix.
58096        https://bugs.webkit.org/show_bug.cgi?id=55381
58097
58098        Parameter transmission via reference is more efficient than with copy. So they are substituted.
58099
58100        No new tests are needed since this is a refactoring.
58101
58102        * platform/graphics/filters/FEConvolveMatrix.cpp:
58103        (WebCore::FEConvolveMatrix::setKernelSize):
58104        (WebCore::FEConvolveMatrix::setTargetOffset):
58105        (WebCore::FEConvolveMatrix::setKernelUnitLength):
58106        * platform/graphics/filters/FEConvolveMatrix.h:
58107
581082011-02-28  Yury Semikhatsky  <yurys@chromium.org>
58109
58110        Unreviewed. Fix Chromium tests failures due to r79858.
58111
58112        * inspector/InspectorAgent.cpp:
58113        (WebCore::InspectorAgent::inspectedPageDestroyed):
58114
581152011-02-28  Vsevolod Vlasov  <vsevik@chromium.org>
58116
58117        Reviewed by Pavel Feldman.
58118
58119        XML without style should render as syntax-highlighted source.
58120        https://bugs.webkit.org/show_bug.cgi?id=13807
58121
58122        XML tree view mode implemented. If XML does not have any style
58123        information, it is rendered as highlighted source with collapsable
58124        elements.
58125
58126        Tests: fast/css/dumpAsText/xml-stylesheet-pi-not-in-prolog.xml
58127               fast/encoding/dumpAsText/utf-16-no-bom.xml
58128               http/tests/xmlviewer/dumpAsText/css-stylesheet.xml
58129               http/tests/xmlviewer/dumpAsText/frames.html
58130               http/tests/xmlviewer/dumpAsText/mathml.xml
58131               http/tests/xmlviewer/dumpAsText/svg.xml
58132               http/tests/xmlviewer/dumpAsText/wml.xml
58133               http/tests/xmlviewer/dumpAsText/xhtml-tag.xml
58134               http/tests/xmlviewer/dumpAsText/xlink.xml
58135               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-cp1251.xml
58136               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-utf8.xml
58137               http/tests/xmlviewer/dumpAsText/xmlviewer.xml
58138               http/tests/xmlviewer/dumpAsText/xsl-stylesheet.xml
58139               http/tests/xmlviewer/dumpAsText/xul.xml
58140               svg/hixie/error/dumpAsText/004.xml
58141               svg/hixie/error/dumpAsText/005.xml
58142
58143        * CMakeLists.txt:
58144        * DerivedSources.make:
58145        * GNUmakefile.am:
58146        * WebCore.gyp/WebCore.gyp:
58147        * WebCore.gypi:
58148        * WebCore.vcproj/WebCore.vcproj:
58149        * WebCore.xcodeproj/project.pbxproj:
58150        * css/CSSStyleSelector.cpp:
58151        (WebCore::CSSStyleSelector::matchUARules):
58152        * dom/Document.cpp:
58153        (WebCore::Document::Document):
58154        (WebCore::Document::createElement):
58155        * dom/Document.h:
58156        (WebCore::Document::usesViewSourceStyles):
58157        (WebCore::Document::setUsesViewSourceStyles):
58158        (WebCore::Document::sawElementsInKnownNamespaces):
58159        * dom/XMLDocumentParser.h:
58160        * dom/XMLDocumentParserLibxml2.cpp:
58161        (WebCore::XMLDocumentParser::XMLDocumentParser):
58162        (WebCore::XMLDocumentParser::processingInstruction):
58163        (WebCore::XMLDocumentParser::initializeParserContext):
58164        (WebCore::XMLDocumentParser::doEnd):
58165        * dom/XMLDocumentParserQt.cpp:
58166        (WebCore::XMLDocumentParser::XMLDocumentParser):
58167        (WebCore::XMLDocumentParser::initializeParserContext):
58168        (WebCore::XMLDocumentParser::parseProcessingInstruction):
58169        * html/HTMLViewSourceDocument.cpp:
58170        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
58171        * xml/XMLTreeViewer.cpp: Added.
58172        (WebCore::XMLTreeViewer::XMLTreeViewer):
58173        (WebCore::XMLTreeViewer::hasNoStyleInformation):
58174        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
58175        * xml/XMLTreeViewer.h: Added.
58176        (WebCore::XMLTreeViewer::~XMLTreeViewer):
58177        * xml/XMLViewer.xsl: Added.
58178        * xml/XSLStyleSheet.h:
58179        (WebCore::XSLStyleSheet::createForXMLTreeViewer):
58180
581812011-02-28  Yury Semikhatsky  <yurys@chromium.org>
58182
58183        Reviewed by Pavel Feldman.
58184
58185        Web Inspector: debugger agents should have same livetime as InspectorAgent
58186        https://bugs.webkit.org/show_bug.cgi?id=55369
58187
58188        DOM and JS debugger agents are now created in InspectorAgent's constructor and owned
58189        by the agent. Debugger state is cleared on frontend disconnect.
58190
58191        * inspector/Inspector.idl:
58192        * inspector/InspectorAgent.cpp:
58193        (WebCore::InspectorAgent::InspectorAgent):
58194        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
58195        (WebCore::InspectorAgent::setFrontend):
58196        (WebCore::InspectorAgent::disconnectFrontend):
58197        (WebCore::InspectorAgent::populateScriptObjects):
58198        (WebCore::InspectorAgent::didCommitLoad):
58199        (WebCore::InspectorAgent::showScriptsPanel):
58200        * inspector/InspectorAgent.h:
58201        * inspector/InspectorBrowserDebuggerAgent.cpp:
58202        (WebCore::InspectorBrowserDebuggerAgent::create):
58203        (WebCore::InspectorBrowserDebuggerAgent::InspectorBrowserDebuggerAgent):
58204        (WebCore::InspectorBrowserDebuggerAgent::~InspectorBrowserDebuggerAgent):
58205        (WebCore::InspectorBrowserDebuggerAgent::debuggerWasEnabled):
58206        (WebCore::InspectorBrowserDebuggerAgent::debuggerWasDisabled):
58207        (WebCore::InspectorBrowserDebuggerAgent::disable):
58208        (WebCore::InspectorBrowserDebuggerAgent::setFrontend):
58209        (WebCore::InspectorBrowserDebuggerAgent::clearFrontend):
58210        (WebCore::InspectorBrowserDebuggerAgent::setAllBrowserBreakpoints):
58211        (WebCore::InspectorBrowserDebuggerAgent::inspectedURLChanged):
58212        (WebCore::InspectorBrowserDebuggerAgent::setDOMBreakpoint):
58213        (WebCore::InspectorBrowserDebuggerAgent::removeDOMBreakpoint):
58214        (WebCore::InspectorBrowserDebuggerAgent::willInsertDOMNode):
58215        (WebCore::InspectorBrowserDebuggerAgent::willRemoveDOMNode):
58216        (WebCore::InspectorBrowserDebuggerAgent::willModifyDOMAttr):
58217        (WebCore::InspectorBrowserDebuggerAgent::descriptionForDOMEvent):
58218        (WebCore::InspectorBrowserDebuggerAgent::pauseOnNativeEventIfNeeded):
58219        (WebCore::InspectorBrowserDebuggerAgent::willSendXMLHttpRequest):
58220        (WebCore::InspectorBrowserDebuggerAgent::clear):
58221        * inspector/InspectorBrowserDebuggerAgent.h:
58222        * inspector/InspectorController.cpp:
58223        (WebCore::InspectorController::debuggerEnabled):
58224        (WebCore::InspectorController::showAndEnableDebugger):
58225        (WebCore::InspectorController::disableDebugger):
58226        * inspector/InspectorDebuggerAgent.cpp:
58227        (WebCore::InspectorDebuggerAgent::create):
58228        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
58229        (WebCore::InspectorDebuggerAgent::~InspectorDebuggerAgent):
58230        (WebCore::InspectorDebuggerAgent::startUserInitiatedDebugging):
58231        (WebCore::InspectorDebuggerAgent::enable):
58232        (WebCore::InspectorDebuggerAgent::disable):
58233        (WebCore::InspectorDebuggerAgent::enabled):
58234        (WebCore::InspectorDebuggerAgent::restore):
58235        (WebCore::InspectorDebuggerAgent::setFrontend):
58236        (WebCore::InspectorDebuggerAgent::clearFrontend):
58237        (WebCore::InspectorDebuggerAgent::setJavaScriptBreakpoint):
58238        (WebCore::InspectorDebuggerAgent::removeJavaScriptBreakpoint):
58239        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
58240        (WebCore::InspectorDebuggerAgent::getCompletionsOnCallFrame):
58241        (WebCore::InspectorDebuggerAgent::currentCallFrames):
58242        (WebCore::InspectorDebuggerAgent::didParseSource):
58243        (WebCore::InspectorDebuggerAgent::clear):
58244        * inspector/InspectorDebuggerAgent.h:
58245        (WebCore::InspectorDebuggerAgent::enable):
58246        (WebCore::InspectorDebuggerAgent::disable):
58247        (WebCore::InspectorDebuggerAgent::Listener::~Listener):
58248        (WebCore::InspectorDebuggerAgent::setListener):
58249        * inspector/InspectorInstrumentation.cpp:
58250        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl):
58251        (WebCore::InspectorInstrumentation::didInsertDOMNodeImpl):
58252        (WebCore::InspectorInstrumentation::willRemoveDOMNodeImpl):
58253        (WebCore::InspectorInstrumentation::didRemoveDOMNodeImpl):
58254        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
58255        (WebCore::InspectorInstrumentation::willSendXMLHttpRequestImpl):
58256        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
58257        * inspector/front-end/DebuggerModel.js:
58258        (WebInspector.DebuggerModel.prototype.enableDebugger):
58259        (WebInspector.DebuggerModel.prototype.disableDebugger):
58260
582612011-02-28  Renata Hodovan  <reni@webkit.org>
58262
58263        Reviewed by Andreas Kling.
58264
58265        FECompositeElement changes doesn't require relayout.
58266        https://bugs.webkit.org/show_bug.cgi?id=55367
58267
58268        When the FECompositeElement receives an update message but the given value remains the same we don't need
58269        to relayout the filter.
58270
58271        No new tests are needed because this modification is covered by the dynamic update tests of FEComposite.
58272
58273        * platform/graphics/filters/FEComposite.cpp:
58274        (WebCore::FEComposite::setOperation):
58275        (WebCore::FEComposite::setK1):
58276        (WebCore::FEComposite::setK2):
58277        (WebCore::FEComposite::setK3):
58278        (WebCore::FEComposite::setK4):
58279        * platform/graphics/filters/FEComposite.h:
58280        * svg/SVGFECompositeElement.cpp:
58281        (WebCore::SVGFECompositeElement::setFilterEffectAttribute):
58282        (WebCore::SVGFECompositeElement::svgAttributeChanged):
58283        * svg/SVGFECompositeElement.h:
58284
582852011-02-28  Andreas Kling  <kling@webkit.org>
58286
58287        Reviewed by Kenneth Rohde Christiansen.
58288
58289        FrameLoader: Reorder early-returns in checkCompleted()
58290        https://bugs.webkit.org/show_bug.cgi?id=55366
58291
58292        Check allChildrenAreComplete() last, since it's the most expensive.
58293
58294        * loader/FrameLoader.cpp:
58295        (WebCore::FrameLoader::checkCompleted):
58296
582972011-02-28  Ryosuke Niwa  <rniwa@webkit.org>
58298
58299        Reviewed by Kent Tamura.
58300
58301        Range::processContents needs cleanup
58302        https://bugs.webkit.org/show_bug.cgi?id=51006
58303
58304        Refactored Range::processContents.  Extracted childOfCommonRootBeforeOffset from processContents
58305        which is used to find processStart and processEnd respectively.  In the case of processStart,
58306        we use the next sibling of the node returned by childOfCommonRootBeforeOffset when m_start is not
58307        the common root because copying m_start's ancestors will result in processing too much contents.
58308
58309        Also extracted processNodes and deleteCharacterData from processContents and processContentsBetweenOffsets.
58310
58311        In addition, lengthOfContentsInNode was modified to return the correct length instead of
58312        numeric_limits<unsigned>::max() because the convention that processContentsBetweenOffsets automatically
58313        corrects the length when endOffset is numeric_limits<unsigned>::max() seemed more confusing than
58314        having two switch statements that need to be consistent.
58315
58316        Historically, lengthOfContentsInNode was introduced in r78413 as a build fix because unsigned const
58317        LengthOfContentsInNode added in r78409 violated WebKit C++ rules and caused build failures on Mac and
58318        other ports.
58319
58320        * dom/Range.cpp:
58321        (WebCore::childOfCommonRootBeforeOffset): Extracted from processContents.
58322        (WebCore::lengthOfContentsInNode): Added.
58323        (WebCore::Range::processContents): Calls childOfCommonRootBeforeOffset, lengthOfContentsInNode,
58324        and processNodes.
58325        (WebCore::deleteCharacterData): Added.
58326        (WebCore::Range::processContentsBetweenOffsets): Calls deleteCharacterData and processNodes.
58327        (WebCore::Range::processNodes): Extracted from processContents and processContentsBetweenOffsets.
58328        (WebCore::Range::processAncestorsAndTheirSiblings):
58329        * dom/Range.h:
58330
583312011-02-28  Pavel Feldman  <pfeldman@chromium.org>
58332
58333        Not reviewed. Test harness change follow up.
58334        Consider missing localized string a warning, not an error in the front-end.
58335
58336        * inspector/front-end/inspector.js:
58337        (WebInspector.UIString):
58338
583392011-02-28  Steve Block  <steveblock@google.com>
58340
58341        Reviewed by Jeremy Orlow.
58342
58343        getJNIEnv() passes wrong type to AttachCurrentThread() for JNIEnv argument on Android
58344        https://bugs.webkit.org/show_bug.cgi?id=55218
58345
58346        AttachCurrentThread() in Android's JVM takes a JINEnv**
58347        argument.
58348
58349        No new tests, build fix only.
58350
58351        * bridge/jni/JNIUtility.cpp:
58352        (JSC::Bindings::getJNIEnv):
58353
583542011-02-28  Renata Hodovan  <reni@webkit.org>
58355
58356        Reviewed by Andreas Kling.
58357
58358        FETurbulenceElement changes doesn't require relayout
58359        https://bugs.webkit.org/show_bug.cgi?id=55141
58360
58361        When the FETurbulenceElement receives an update message but the given value remains the same we don't need
58362        to relayout the filter.
58363        Besides fix a typo in FETurbulence and change the paramterer type of FETurbulence::setNumOctaves from bool
58364        to int according to the spec.
58365
58366        No new tests are needed because this modification is covered by the dynamic update tests of FETurbulence.
58367
58368        * platform/graphics/filters/FETurbulence.cpp:
58369        (WebCore::FETurbulence::FETurbulence):
58370        (WebCore::FETurbulence::create):
58371        (WebCore::FETurbulence::type):
58372        (WebCore::FETurbulence::setType):
58373        (WebCore::FETurbulence::setBaseFrequencyY):
58374        (WebCore::FETurbulence::setBaseFrequencyX):
58375        (WebCore::FETurbulence::setSeed):
58376        (WebCore::FETurbulence::setNumOctaves):
58377        (WebCore::FETurbulence::setStitchTiles):
58378        (WebCore::operator<<):
58379        * platform/graphics/filters/FETurbulence.h:
58380        * svg/SVGFETurbulenceElement.cpp:
58381        (WebCore::SVGFETurbulenceElement::setFilterEffectAttribute):
58382        (WebCore::SVGFETurbulenceElement::svgAttributeChanged):
58383        (WebCore::SVGFETurbulenceElement::build):
58384        * svg/SVGFETurbulenceElement.h:
58385
583862011-02-28  Pavel Feldman  <pfeldman@chromium.org>
58387
58388        Reviewed by Yury Semikhatsky.
58389
58390        WebInspector: InspectorAgent calls offsetWidth in the middle of painting
58391        https://bugs.webkit.org/show_bug.cgi?id=54597
58392
58393        * inspector/InspectorAgent.cpp:
58394        (WebCore::InspectorAgent::drawElementTitle):
58395
583962011-02-28  Roland Steiner  <rolandsteiner@chromium.org>
58397
58398        Reviewed by Kent Tamura.
58399
58400        Bug 55355 - TextIterator should not be a friend of RenderTextControl
58401        https://bugs.webkit.org/show_bug.cgi?id=55355
58402
58403        Remove need for 'friend' clause by making innerTextElement() public.
58404
58405        No new tests. (simple refactoring)
58406
58407        * rendering/RenderTextControl.h:
58408
584092011-02-27  Patrick Gansterer  <paroga@webkit.org>
58410
58411        Reviewed by Darin Adler.
58412
58413        Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecWinCE
58414        https://bugs.webkit.org/show_bug.cgi?id=55317
58415
58416        This functions are obsolete, since r78499 added TextCodecUTF8.
58417        Also remove the "fast path" for UTF-8 data, because we now have a separate TextCodec.
58418
58419        * platform/text/TextEncodingRegistry.cpp:
58420        (WebCore::buildBaseTextCodecMaps):
58421        * platform/text/wince/TextCodecWinCE.cpp:
58422        * platform/text/wince/TextCodecWinCE.h:
58423
584242011-02-27  Benjamin Poulain  <benjamin.poulain@nokia.com>
58425
58426        Reviewed by Sam Weinig.
58427
58428        Use OwnPtr to handle the memory of RenderBlock::m_floatingObjects and RenderBlock::m_positionedObjects
58429        https://bugs.webkit.org/show_bug.cgi?id=55327
58430
58431        Refactor RenderBlock to use OwnPtr for m_floatingObjects and m_positionedObjects so we do not have
58432        to release the memory manually.
58433
58434        * rendering/RenderBlock.cpp:
58435        (WebCore::RenderBlock::~RenderBlock):
58436        (WebCore::RenderBlock::selectionGaps):
58437        (WebCore::RenderBlock::insertPositionedObject):
58438        (WebCore::RenderBlock::insertFloatingObject):
58439        (WebCore::RenderBlock::addOverhangingFloats):
58440        (WebCore::RenderBlock::addIntrudingFloats):
58441        * rendering/RenderBlock.h:
58442        (WebCore::RenderBlock::positionedObjects):
58443
584442011-02-27  Benjamin Poulain  <benjamin.poulain@nokia.com>
58445
58446        Reviewed by Andreas Kling.
58447
58448        Eliminate DeprecatedPtrList
58449        https://bugs.webkit.org/show_bug.cgi?id=17425
58450
58451        Remove the implementation of DeprecatedPtrList and all its references
58452        from the build systems.
58453
58454        * Android.mk:
58455        * CMakeLists.txt:
58456        * GNUmakefile.am:
58457        * WebCore.gypi:
58458        * WebCore.order:
58459        * WebCore.pro:
58460        * WebCore.vcproj/WebCore.vcproj:
58461        * WebCore.xcodeproj/project.pbxproj:
58462        * platform/DeprecatedPtrList.h: Removed.
58463        * platform/DeprecatedPtrListImpl.cpp: Removed.
58464        * platform/DeprecatedPtrListImpl.h: Removed.
58465
584662011-02-27  Andreas Kling  <kling@webkit.org>
58467
58468        Reviewed by Kenneth Rohde Christiansen.
58469
58470        [Qt] Use WTF ref counting for FontPlatformDataPrivate
58471        https://bugs.webkit.org/show_bug.cgi?id=55303
58472
58473        Make FontPlatformDataPrivate a RefCounted<FPDP>.
58474        Incidentally fixes an uninitialized member bug in FontPlatformData().
58475
58476        * platform/graphics/qt/FontPlatformData.h:
58477        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
58478        (WebCore::FontPlatformData::FontPlatformData):
58479        (WebCore::FontPlatformData::isHashTableDeletedValue):
58480        (WebCore::FontPlatformData::font):
58481        (WebCore::FontPlatformData::size):
58482        (WebCore::FontPlatformData::family):
58483        (WebCore::FontPlatformData::bold):
58484        (WebCore::FontPlatformData::italic):
58485        (WebCore::FontPlatformData::smallCaps):
58486        (WebCore::FontPlatformData::pixelSize):
58487        * platform/graphics/qt/FontPlatformDataQt.cpp:
58488        (WebCore::toQFontWeight):
58489        (WebCore::FontPlatformData::operator==):
58490        (WebCore::FontPlatformData::hash):
58491
584922011-02-27  Benjamin Poulain  <ikipou@gmail.com>
58493
58494        Reviewed by Darin Adler.
58495
58496        Eliminate DeprecatedPtrList from RenderBlock
58497        https://bugs.webkit.org/show_bug.cgi?id=54972
58498
58499        Refactor RenderBlock to get rid of the DeprecatedPtrList.
58500        The floating objects are stored in a ListHashSet.
58501
58502        Refactoring covered by existing test.
58503
58504        * rendering/RenderBlock.cpp:
58505        (WebCore::RenderBlock::~RenderBlock):
58506        (WebCore::RenderBlock::addOverflowFromFloats):
58507        (WebCore::RenderBlock::repaintOverhangingFloats):
58508        (WebCore::RenderBlock::paintFloats):
58509        (WebCore::RenderBlock::selectionGaps):
58510        (WebCore::RenderBlock::insertFloatingObject):
58511        (WebCore::RenderBlock::removeFloatingObject):
58512        (WebCore::RenderBlock::removeFloatingObjectsBelow):
58513        (WebCore::RenderBlock::positionNewFloats):
58514        (WebCore::RenderBlock::positionNewFloatOnLine):
58515        (WebCore::RenderBlock::logicalLeftOffsetForLine):
58516        (WebCore::RenderBlock::logicalRightOffsetForLine):
58517        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
58518        (WebCore::RenderBlock::lowestFloatLogicalBottom):
58519        (WebCore::RenderBlock::clearFloats):
58520        (WebCore::RenderBlock::addOverhangingFloats):
58521        (WebCore::RenderBlock::addIntrudingFloats):
58522        (WebCore::RenderBlock::containsFloat):
58523        (WebCore::RenderBlock::hitTestFloats):
58524        (WebCore::RenderBlock::adjustForBorderFit):
58525        * rendering/RenderBlock.h:
58526        (WebCore::RenderBlock::FloatingObjectHashFunctions::hash):
58527        (WebCore::RenderBlock::FloatingObjectHashFunctions::equal):
58528        (WebCore::RenderBlock::FloatingObjectHashTranslator::hash):
58529        (WebCore::RenderBlock::FloatingObjectHashTranslator::equal):
58530        * rendering/RenderBlockLineLayout.cpp:
58531        (WebCore::RenderBlock::layoutInlineChildren):
58532        (WebCore::RenderBlock::matchedEndLine):
58533
585342011-02-26  Adam Barth  <abarth@webkit.org>
58535
58536        Reviewed by Eric Seidel.
58537
58538        <input value="type=submit"> throws a warning (“HTML parse error”)
58539        https://bugs.webkit.org/show_bug.cgi?id=55120
58540
58541        This patch removes parse error messages from the HTML parser.  These
58542        messages are displayed at the wrong times, aren't tested, and aren't
58543        helpful.  We'll try again with some more informative messages and
58544        better testing.
58545
58546        * html/parser/HTMLTreeBuilder.cpp:
58547        (WebCore::HTMLTreeBuilder::parseError):
58548
585492011-02-26  Patrick Gansterer  <paroga@webkit.org>
58550
58551        Reviewed by Alexey Proskuryakov.
58552
58553        Remove registerBaseEncodingNames and registerBaseCodecs from TextCodecBrew
58554        https://bugs.webkit.org/show_bug.cgi?id=55309
58555
58556        This functions are obsolete, since r78499 added TextCodecUTF8.
58557
58558        * platform/text/TextEncodingRegistry.cpp:
58559        (WebCore::buildBaseTextCodecMaps):
58560        * platform/text/brew/TextCodecBrew.cpp:
58561        * platform/text/brew/TextCodecBrew.h:
58562
585632011-02-26  Justin Schuh  <jschuh@chromium.org>
58564
58565        Reviewed by Darin Adler.
58566
58567        Delay firing of mutation events while setting attribute values
58568        https://bugs.webkit.org/show_bug.cgi?id=55199
58569
58570        Test: fast/dom/attribute-change-on-mutate.html
58571
58572        * dom/Attr.cpp:
58573        (WebCore::Attr::setValue):
58574
585752011-02-26  Yi Shen  <yi.4.shen@nokia.com>
58576
58577        Reviewed by Andreas Kling.
58578
58579        [Qt] Notify HTMLMediaElement when MediaPlayerPrivateQt's playback state gets changed
58580        https://bugs.webkit.org/show_bug.cgi?id=55252
58581
58582        Need to invoke a callback function to notify the HTMLMediaElement
58583        when MediaPlayerPrivateQt's playback state gets changed.
58584
58585        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
58586        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt): Set a flag to ignore the playback state change for pre-roll
58587        (WebCore::MediaPlayerPrivateQt::commitLoad): Call playbackStateChanged() to notify HTMLMediaElement
58588        (WebCore::MediaPlayerPrivateQt::stateChanged):
58589        * platform/graphics/qt/MediaPlayerPrivateQt.h:
58590
585912011-02-25  Abhishek Arya  <inferno@chromium.org>
58592
58593        Reviewed by Adam Barth.
58594
58595        When plugin document parser finishes parsing, it runs the raw
58596        document's parser finish functions which call the pending document
58597        onload events that removes the frame from underneath. So, we protect
58598        frame (and hence frameloader) in DocumentLoader::commitLoad.
58599        https://bugs.webkit.org/show_bug.cgi?id=55289
58600
58601        Test: fast/frames/iframe-plugin-load-remove-document-crash.html
58602
58603        * loader/DocumentLoader.cpp:
58604        (WebCore::DocumentLoader::commitLoad):
58605
586062011-02-26  Pavel Feldman  <pfeldman@chromium.org>
58607
58608        Not reviewed: rolling out 79799 and 79804 for breaking xml tests on mac.
58609
586102011-02-26  Pavel Feldman  <pfeldman@chromium.org>
58611
58612        Not reviewed: follow up to r79799. Fixing WinCE+Efl, mute new tests on Qt.
58613        https://bugs.webkit.org/show_bug.cgi?id=55302
58614
58615        * CMakeLists.txt:
58616
586172011-02-25  Vsevolod Vlasov  <vsevik@chromium.org>
58618
58619        Reviewed by Pavel Feldman.
58620
58621        XML without style should render as syntax-highlighted source.
58622        https://bugs.webkit.org/show_bug.cgi?id=13807
58623
58624        XML tree view mode implemented. If XML does not have any style
58625        information, it is rendered as highlighted source with collapsable
58626        elements.
58627
58628        Tests: http/tests/xmlviewer/dumpAsText/css-stylesheet.xml
58629               http/tests/xmlviewer/dumpAsText/frames.html
58630               http/tests/xmlviewer/dumpAsText/mathml.xml
58631               http/tests/xmlviewer/dumpAsText/svg.xml
58632               http/tests/xmlviewer/dumpAsText/wml.xml
58633               http/tests/xmlviewer/dumpAsText/xhtml-tag.xml
58634               http/tests/xmlviewer/dumpAsText/xlink.xml
58635               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-cp1251.xml
58636               http/tests/xmlviewer/dumpAsText/xmlviewer-charset-utf8.xml
58637               http/tests/xmlviewer/dumpAsText/xmlviewer.xml
58638               http/tests/xmlviewer/dumpAsText/xsl-stylesheet.xml
58639               http/tests/xmlviewer/dumpAsText/xul.xml
58640
58641        * CMakeLists.txt:
58642        * DerivedSources.make:
58643        * GNUmakefile.am:
58644        * WebCore.gyp/WebCore.gyp:
58645        * WebCore.gypi:
58646        * WebCore.vcproj/WebCore.vcproj:
58647        * WebCore.xcodeproj/project.pbxproj:
58648        * css/CSSStyleSelector.cpp:
58649        (WebCore::CSSStyleSelector::matchUARules):
58650        * dom/Document.cpp:
58651        (WebCore::Document::Document):
58652        (WebCore::Document::createElement):
58653        * dom/Document.h:
58654        (WebCore::Document::usesViewSourceStyles):
58655        (WebCore::Document::setUsesViewSourceStyles):
58656        (WebCore::Document::sawElementsInKnownNamespaces):
58657        * dom/XMLDocumentParser.h:
58658        * dom/XMLDocumentParserLibxml2.cpp:
58659        (WebCore::XMLDocumentParser::XMLDocumentParser):
58660        (WebCore::XMLDocumentParser::processingInstruction):
58661        (WebCore::XMLDocumentParser::initializeParserContext):
58662        (WebCore::XMLDocumentParser::doEnd):
58663        * dom/XMLDocumentParserQt.cpp:
58664        (WebCore::XMLDocumentParser::XMLDocumentParser):
58665        (WebCore::XMLDocumentParser::initializeParserContext):
58666        (WebCore::XMLDocumentParser::parseProcessingInstruction):
58667        * html/HTMLViewSourceDocument.cpp:
58668        (WebCore::HTMLViewSourceDocument::HTMLViewSourceDocument):
58669        * xml/XMLTreeViewer.cpp: Added.
58670        (WebCore::XMLTreeViewer::XMLTreeViewer):
58671        (WebCore::XMLTreeViewer::hasNoStyleInformation):
58672        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
58673        * xml/XMLTreeViewer.h: Added.
58674        (WebCore::XMLTreeViewer::~XMLTreeViewer):
58675        * xml/XMLViewer.xsl: Added.
58676        * xml/XSLStyleSheet.h:
58677        (WebCore::XSLStyleSheet::createFromString):
58678
586792011-02-26  Andreas Kling  <kling@webkit.org>
58680
58681        Reviewed by Kenneth Rohde Christiansen.
58682
58683        [Qt] Enable usage of synchronous HTTP feature in Qt
58684        https://bugs.webkit.org/show_bug.cgi?id=37191
58685
58686        Currently, we spin an event loop when doing synchronous calls to
58687        wait for completion. This patch uses synchronous requests in Qt,
58688        if available, and spins the event loop as a fallback solution.
58689
58690        Based on work by Simon Hausmann and Peter Hartmann.
58691
58692        * platform/network/qt/QNetworkReplyHandler.cpp:
58693        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
58694        (WebCore::QNetworkReplyHandler::start):
58695        * platform/network/qt/QNetworkReplyHandler.h:
58696        * platform/network/qt/ResourceHandleQt.cpp:
58697        (WebCore::WebCoreSynchronousLoader::setReplyFinished):
58698        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
58699        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
58700        (WebCore::WebCoreSynchronousLoader::didFail):
58701        (WebCore::ResourceHandle::loadResourceSynchronously):
58702
587032011-02-26  Ryosuke Niwa  <rniwa@webkit.org>
58704
58705        Reviewed by Kent Tamura.
58706
58707        REGRESSION(r79398): Webkit crash on dojo theme tester page
58708        https://bugs.webkit.org/show_bug.cgi?id=55290
58709
58710        The bug was caused by selectionStartCSSPropertyValue's not considering the possibility
58711        of selectionStartStyle() returning a null pointer. Fixed it by adding a null check.
58712
58713        Test: editing/execCommand/value-without-selection-crash.html
58714
58715        * editing/Editor.cpp:
58716        (WebCore::Editor::selectionStartCSSPropertyValue):
58717
587182011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
58719
58720        Reviewed by Pavel Feldman.
58721
58722        DumpRenderTree should reset frame opener between tests.
58723        https://bugs.webkit.org/show_bug.cgi?id=54874
58724
58725        No new tests. (no code affected, just exporting a method for DumpRenderTree use)
58726
58727        * WebCore.exp.in:
58728
587292011-02-26  Jia Pu  <jpu@apple.com>
58730
58731        Reviewed by Dan Bernstein.
58732
58733        On Mac, need to remove misspell underline in Editor::learnSpelling().
58734        https://bugs.webkit.org/show_bug.cgi?id=55251
58735
58736        This change makes sure that the misspelling markers are removed after the word is learned.
58737
58738        * editing/Editor.cpp:
58739        (WebCore::Editor::learnSpelling):
58740
587412011-02-26  Rik Cabanier  <cabanier@adobe.com>
58742
58743        Reviewed by David Hyatt.
58744
58745        Fix that allows fixed length values to be floating point
58746        https://bugs.webkit.org/show_bug.cgi?id=52699
58747
58748        Transitions now return matrices in floating point. 2 of the transition tests were failing
58749        because they expected integer values.
58750
58751        * WebCore.xcodeproj/project.pbxproj:
58752        * css/CSSStyleSelector.cpp:
58753        (WebCore::convertToLength):
58754        (WebCore::convertToIntLength):
58755        (WebCore::convertToFloatLength):
58756        (WebCore::CSSStyleSelector::applyProperty):
58757        (WebCore::CSSStyleSelector::createTransformOperations):
58758        * platform/Length.h:
58759        (WebCore::Length::Length):
58760        (WebCore::Length::operator==):
58761        (WebCore::Length::operator!=):
58762        (WebCore::Length::rawValue):
58763        (WebCore::Length::type):
58764        (WebCore::Length::quirk):
58765        (WebCore::Length::setValue):
58766        (WebCore::Length::calcFloatValue):
58767        (WebCore::Length::isZero):
58768        (WebCore::Length::blend):
58769        (WebCore::Length::getIntValue):
58770        (WebCore::Length::getFloatValue):
58771        * rendering/AutoTableLayout.cpp:
58772        (WebCore::AutoTableLayout::recalcColumn):
58773        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
58774        * rendering/FixedTableLayout.cpp:
58775        (WebCore::FixedTableLayout::calcWidthArray):
58776
587772011-02-26  Eric Seidel  <eric@webkit.org>
58778
58779        Reviewed by Maciej Stachowiak.
58780
58781        malloc in removeChildren shows up on profile of peacekeeper domDynamicCreationCreateElement
58782        https://bugs.webkit.org/show_bug.cgi?id=55204
58783
58784        * dom/ContainerNode.cpp:
58785        (WebCore::ContainerNode::removeChildren):
58786         - Using an inlineCapacity of 10 for now. We may want to tweak it later.
58787         - This removes yet another malloc from code which removes nodes (which is rather common).
58788
587892011-02-26  Eric Seidel  <eric@webkit.org>
58790
58791        Reviewed by Maciej Stachowiak.
58792
58793        HashSet<T>::end() creation is expensive and should be avoided
58794        https://bugs.webkit.org/show_bug.cgi?id=55205
58795
58796        In the common case, m_ranges is an empty set.  When that's
58797        the case, we spend all our time in skipEmptyBuckets, walking
58798        the hash storage skipping over empty buckets.
58799
58800        This looks to be at least a 5% speedup on (my local version of) peacekeeper's domDynamicCreationCreateElement.
58801
58802        Before:
58803        avg 383.6666666666667
58804        median 386
58805        stdev 7.152311203768722
58806        min 360
58807        max 391
58808
58809        After:
58810        avg 366.3333333333333
58811        median 366
58812        stdev 2.712112747574399
58813        min 362
58814        max 377
58815
58816        * dom/Document.cpp:
58817        (WebCore::Document::nodeChildrenChanged):
58818        (WebCore::Document::nodeChildrenWillBeRemoved):
58819        (WebCore::Document::nodeWillBeRemoved):
58820        (WebCore::Document::textInserted):
58821        (WebCore::Document::textRemoved):
58822        (WebCore::Document::textNodesMerged):
58823        (WebCore::Document::textNodeSplit):
58824
588252011-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
58826
58827        Unreviewed, rolling out r79764.
58828        http://trac.webkit.org/changeset/79764
58829        https://bugs.webkit.org/show_bug.cgi?id=55295
58830
58831        "broke Chromium builds" (Requested by rniwa on #webkit).
58832
58833        * WebCore.exp.in:
58834
588352011-02-26  Adam Klein  <adamk@chromium.org>
58836
58837        Reviewed by Adam Barth.
58838
58839        [fileapi] Implement EntrySync.toURI by moving Entry::toURI to EntryBase
58840        https://bugs.webkit.org/show_bug.cgi?id=54585
58841
58842        In order to move toURI to EntryBase, it needed access to
58843        SecurityOrigin. Most of the changes below were to pass a
58844        ScriptExecutionContext to DOMFileSystemBase to enable this.
58845
58846        Test: fast/filesystem/workers/file-entry-to-uri-sync.html
58847
58848        * WebCore.gypi:
58849        * WebCore.xcodeproj/project.pbxproj:
58850        * fileapi/DOMFileSystem.cpp:
58851        (WebCore::DOMFileSystem::DOMFileSystem):
58852        * fileapi/DOMFileSystemBase.cpp:
58853        (WebCore::DOMFileSystemBase::DOMFileSystemBase):
58854        (WebCore::DOMFileSystemBase::securityOrigin):
58855        * fileapi/DOMFileSystemBase.h:
58856        (WebCore::DOMFileSystemBase::create):
58857        * fileapi/DOMFileSystemSync.cpp:
58858        (WebCore::DOMFileSystemSync::create):
58859        (WebCore::DOMFileSystemSync::DOMFileSystemSync):
58860        * fileapi/DOMFileSystemSync.h:
58861        (WebCore::DOMFileSystemSync::create):
58862        * fileapi/Entry.cpp:
58863        * fileapi/Entry.h:
58864        * fileapi/EntryBase.cpp: Added.
58865        (WebCore::EntryBase::EntryBase):
58866        (WebCore::EntryBase::~EntryBase):
58867        (WebCore::EntryBase::toURI):
58868        * fileapi/EntryBase.h:
58869        * fileapi/EntrySync.idl:
58870
588712011-02-26  Alice Boxhall  <aboxhall@chromium.org>
58872
58873        Reviewed by Ojan Vafai.
58874
58875        typing enter in the input element should not fire textInput
58876        https://bugs.webkit.org/show_bug.cgi?id=54152
58877
58878        Stop textInput event propagation in HTMLInputElement::preDispatchEventHandler if the event target should submit implicitly.
58879
58880        Test: fast/forms/textinput-not-fired-on-enter-in-input.html
58881
58882        * html/HTMLInputElement.cpp:
58883        (WebCore::HTMLInputElement::preDispatchEventHandler): Check m_inputType->shouldSubmitImplicitly for textInputEvents and stop propagation if true.
58884
588852011-02-26  James Simonsen  <simonjam@chromium.org>
58886
58887        Reviewed by Tony Gentilcore.
58888
58889        [Web Timing] loadEvent timing should refer to first load event if there are many
58890        https://bugs.webkit.org/show_bug.cgi?id=55201
58891
58892        Test: fast/dom/webtiming-document-open.html
58893
58894        * page/DOMWindow.cpp:
58895        (WebCore::DOMWindow::dispatchLoadEvent):
58896
588972011-02-26  Tony Gentilcore  <tonyg@chromium.org>
58898
58899        Reviewed by Adam Barth.
58900
58901        Fix isLayoutTimerActive for ports that set a minimumLayoutDelay
58902        https://bugs.webkit.org/show_bug.cgi?id=54810
58903
58904        No new tests because no new functionality.
58905
58906        * dom/Document.cpp:
58907        (WebCore::Document::isLayoutTimerActive): Moved from HTMLParserScheduler per FIXME. Compare
58908        minimumLayoutDelay() to m_extraLayoutDelay instead of 0. This spirit of this comparison was
58909        broken by r52919. The effect would be that ports that set an extra layout delay can't yield
58910        between tokens. Note: can't be const because minimumLayoutDelay sets a member.
58911        * dom/Document.h:
58912        * html/parser/HTMLParserScheduler.cpp:
58913        (WebCore::HTMLParserScheduler::continueNextChunkTimerFired):
58914        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript):
58915
589162011-02-26  David Dorwin  <ddorwin@chromium.org>
58917
58918        Reviewed by Darin Fisher.
58919
58920        Enable WebKit Full Screen API in Chromium. The element becomes the full size of the window, but the window is not yet full screen. Support is disabled by default.
58921
58922        fullscreen javascript bindings not implemented for v8
58923        https://bugs.webkit.org/show_bug.cgi?id=44797
58924
58925        Tested by the existing fullscreen Layout Tests.
58926
58927        * WebCore.gyp/WebCore.gyp:
58928        * WebCore.gypi:
58929
589302011-02-26  Tony Gentilcore  <tonyg@chromium.org>
58931
58932        Reviewed by Adam Barth.
58933
58934        Prevent parser yields from triggering early dumpAsText()
58935        https://bugs.webkit.org/show_bug.cgi?id=55187
58936
58937        DRT's dumpAsText() takes a snapshot when DocumentLoader::isLoadingInAPISense()
58938        indicates the page is done. isLoadingInAPISense depends on
58939        HTMLDocumentParser::isProcessingData(), which just checks if the parser is in an
58940        insert() or append().
58941
58942        This means that if the parser is pumping in a resumeParsingAfterScriptExecution() or
58943        resumeParsingAfterYield(), isLoadingInAPISense() may not be blocked. This patch
58944        fixes that by repurposing m_writeNestingLevel as m_pumpSessionNestingLevel and
58945        incrementing it in pumpTokenizer().
58946
58947        When I locally cause the parser to yield after every token, a lot of tests fail
58948        because DRT snapshots too early. This patch fixes those tests, however I'm having
58949        trouble writing a test case that reliably reproduces the problem without this patch
58950        and passes with it (without changing yield constants). This is because it requires
58951        4,096 tokens in a single pump session to yield and (len('<b>' * 4096 = 12k, which
58952        doesn't always happen).
58953
58954        * html/parser/HTMLDocumentParser.cpp:
58955        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
58956        (WebCore::HTMLDocumentParser::~HTMLDocumentParser):
58957        (WebCore::HTMLDocumentParser::processingData):
58958        (WebCore::HTMLDocumentParser::pumpTokenizer):
58959        (WebCore::HTMLDocumentParser::insert):
58960        (WebCore::HTMLDocumentParser::append):
58961        * html/parser/HTMLDocumentParser.h:
58962        (WebCore::HTMLDocumentParser::inPumpSession):
58963        (WebCore::HTMLDocumentParser::shouldDelayEnd):
58964        * html/parser/HTMLParserScheduler.h:
58965        (WebCore::PumpSession::PumpSession):
58966        * html/parser/NestingLevelIncrementer.h:
58967
589682011-02-26  Yongjun Zhang  <yongjun_zhang@apple.com>
58969
58970        Reviewed by David Kilzer.
58971
58972        https://bugs.webkit.org/show_bug.cgi?id=48781
58973
58974        Add a resource load delegate method to query if WebCore should paint the default broken image for failed images.
58975
58976        Add a new resource load client method (shouldPaintBrokenImage).  WebKit client can decide if WebCore
58977        should paint the default broken image when an image fails to load or decode.  The method also passes the
58978        URL of the failed image.
58979
58980        Test: fast/images/support-broken-image-delegate.html
58981
58982        * loader/FrameLoaderClient.h:
58983        (WebCore::FrameLoaderClient::shouldPaintBrokenImage):
58984        * loader/cache/CachedImage.cpp:
58985        (WebCore::CachedImage::CachedImage):
58986        (WebCore::CachedImage::image):
58987        (WebCore::CachedImage::checkShouldPaintBrokenImage):
58988        (WebCore::CachedImage::error):
58989        * loader/cache/CachedImage.h:
58990
589912011-02-26  Chris Evans  <cevans@chromium.org>
58992
58993        Reviewed by Adam Barth.
58994
58995        Database: Data race: should only touch the transaction queue inside the
58996        lock.
58997        https://bugs.webkit.org/show_bug.cgi?id=55031
58998
58999        * storage/Database.cpp:
59000        (WebCore::Database::changeVersion): only touch queue inside lock.
59001        (WebCore::Database::runTransaction): only touch queue inside lock.
59002
590032011-02-26  Yi Shen  <yi.4.shen@nokia.com>
59004
59005        Reviewed by Eric Carlson.
59006
59007        Missing volumechangeEvent in case of mediaPlayerVolumeChanged gets callback
59008        https://bugs.webkit.org/show_bug.cgi?id=55147
59009
59010        When HTMLMediaElement::mediaPlayerVolumeChanged() gets callback,
59011        a volumechangeEvent event should be fired if the volume gets changed.
59012
59013        Test: media/event-attributes.html
59014
59015        * html/HTMLMediaElement.cpp:
59016        (WebCore::HTMLMediaElement::setMuted): Remove updateVolume() since it does nothing when m_player is 0.
59017        (WebCore::HTMLMediaElement::mediaPlayerVolumeChanged): Fire a volumechangeEvent when the volume is changed.
59018
590192011-02-26  Eric Seidel  <eric@webkit.org>
59020
59021        Reviewed by Maciej Stachowiak.
59022
59023        disableRangeMutation quirk for mail slows down peacekeeper domDynamicCreationCreateElement
59024        https://bugs.webkit.org/show_bug.cgi?id=55127
59025
59026        Before:
59027        avg 513.4
59028        median 515
59029        stdev 7.234638899074368
59030        min 490
59031        max 528
59032
59033        After:
59034        avg 508.15
59035        median 510
59036        stdev 6.966168243733426
59037        min 485
59038        max 515
59039
59040        Yes, the stdev is a bit high to actually support my conclusions.  But looking
59041        at the profile, this change makes a lot of sense.  I'll up the iterations
59042        for future testing.
59043
59044        * dom/Document.cpp:
59045        (WebCore::disableRangeMutation):
59046         - This check should only be compiled in if we're planning to run on Tiger or Leopard.
59047
590482011-02-26  Vsevolod Vlasov  <vsevik@chromium.org>
59049
59050        Reviewed by Pavel Feldman.
59051
59052        DumpRenderTree should reset frame opener between tests.
59053        https://bugs.webkit.org/show_bug.cgi?id=54874
59054
59055        No new tests. (no code affected, just exporting a method for DumpRenderTree use)
59056
59057        * WebCore.exp.in:
59058
590592011-02-26  Chang Shu  <chang.shu@nokia.com>
59060
59061        Reviewed by Antonio Gomes.
59062
59063        Based on patch by Carlos Garcia Campos  <cgarcia@igalia.com>.
59064
59065        Spatial Navigation: Add support for <select> element in multiple selection mode
59066        https://bugs.webkit.org/show_bug.cgi?id=49261
59067
59068        When spatial navigation is enabled, use space key to toggle select
59069        items. And the up and down keys should not affect selection but just
59070        navigate through items, which is indicated visually by a focus ring.
59071
59072        New Test: fast/spatial-navigation/snav-single-select-list.html
59073        Enhanced Test: fast/spatial-navigation/snav-multiple-select.html
59074
59075        * dom/SelectElement.cpp:
59076        (WebCore::SelectElement::listBoxDefaultEventHandler):
59077        * rendering/RenderListBox.cpp:
59078        (WebCore::RenderListBox::addFocusRingRects):
59079        * rendering/RenderListBox.h:
59080
590812011-02-25  Ryosuke Niwa  <rniwa@webkit.org>
59082
59083        Unreviewed Qt build fix; included CSSValueList.h in EditingStyle.cpp.
59084
59085        * editing/EditingStyle.cpp:
59086
590872011-02-25  Ryosuke Niwa  <rniwa@webkit.org>
59088
59089        Reviewed by Darin Adler.
59090
59091        Move HTMLEquivalent and its subclasses to EditingStyle
59092        https://bugs.webkit.org/show_bug.cgi?id=55207
59093
59094        Moved HTMLEquivalent and its subclasses from ApplyStyleCommand to EditingStyle,
59095        and renamed HTMLEquivalent, HTMLEquivalentValueList, HTMLAttributeEquivalent,
59096        and HTMLEquivalentFontSizeAttribute to HTMLElementEquivalent, HTMLTextDecorationEquivalent,
59097        HTMLAttributeEquivalent, and HTMLFontSizeEquivalent respectively.
59098
59099        Also extracted the logic to determine which element and attribute are removed
59100        as conflictsWithImplicitStyleOfElement, conflictsWithImplicitStyleOfAttributes,
59101        and extractConflictingImplicitStyleOfAttributes.
59102
59103        * editing/ApplyStyleCommand.cpp:
59104        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement):
59105        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement):
59106        * editing/ApplyStyleCommand.h:
59107        * editing/EditingStyle.cpp:
59108        (WebCore::HTMLElementEquivalent::create): Moved from ApplyStyleCommand.cpp.
59109        (WebCore::HTMLElementEquivalent::~HTMLElementEquivalent): Ditto.
59110        (WebCore::HTMLElementEquivalent::matches): Ditto.
59111        (WebCore::HTMLElementEquivalent::hasAttribute): Ditto.
59112        (WebCore::HTMLElementEquivalent::propertyExistsInStyle): Ditto.
59113        (WebCore::HTMLElementEquivalent::HTMLElementEquivalent): Ditto.
59114        (WebCore::HTMLElementEquivalent::valueIsPresentInStyle): Ditto.
59115        (WebCore::HTMLElementEquivalent::addToStyle): Ditto.
59116        (WebCore::HTMLTextDecorationEquivalent::create): Ditto.
59117        (WebCore::HTMLTextDecorationEquivalent::HTMLTextDecorationEquivalent): Ditto.
59118        (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle): Ditto.
59119        (WebCore::HTMLAttributeEquivalent::create): Ditto.
59120        (WebCore::HTMLAttributeEquivalent::matches): Ditto.
59121        (WebCore::HTMLAttributeEquivalent::hasAttribute): Ditto.
59122        (WebCore::HTMLAttributeEquivalent::attributeName): Ditto.
59123        (WebCore::HTMLAttributeEquivalent::HTMLAttributeEquivalent): Ditto.
59124        (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle): Ditto.
59125        (WebCore::HTMLAttributeEquivalent::addToStyle): Ditto.
59126        (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue): Ditto.
59127        (WebCore::HTMLFontSizeEquivalent::create): Ditto.
59128        (WebCore::HTMLFontSizeEquivalent::HTMLFontSizeEquivalent): Ditto.
59129        (WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue): Ditto.
59130        (WebCore::EditingStyle::conflictsWithImplicitStyleOfElement): Added.
59131        (WebCore::htmlAttributeEquivalents): Added.
59132        (WebCore::EditingStyle::conflictsWithImplicitStyleOfAttributes): Added.
59133        (WebCore::EditingStyle::extractConflictingImplicitStyleOfAttributes): Added.
59134        * editing/EditingStyle.h:
59135
591362011-02-25  Chris Fleizach  <cfleizach@apple.com>
59137
59138        Reviewed by Anders Carlsson.
59139
59140        AX: Add Xcode entries back to the navigator list for Accessibility cpp files
59141        https://bugs.webkit.org/show_bug.cgi?id=55280
59142
59143        * WebCore.xcodeproj/project.pbxproj:
59144
591452011-02-25  Fumitoshi Ukai  <ukai@chromium.org>
59146
59147        Reviewed by Adam Barth.
59148
59149        WebSocket uses insecure random numbers
59150        https://bugs.webkit.org/show_bug.cgi?id=54714
59151
59152        * websockets/WebSocketHandshake.cpp:
59153        (WebCore::randomNumberLessThan):
59154        (WebCore::generateSecWebSocketKey):
59155        (WebCore::generateKey3):
59156
591572011-02-25  Eric Carlson  <eric.carlson@apple.com>
59158
59159        Reviewed by Darin Adler.
59160
59161        Add API to enumerate/delete files downloaded for <audio> and <video>
59162        https://bugs.webkit.org/show_bug.cgi?id=55267
59163
59164        Add review changes missed in r79737.
59165
59166        * html/HTMLMediaElement.cpp:
59167        (WebCore::HTMLMediaElement::clearMediaCacheForSite): Pass string by reference.
59168        * html/HTMLMediaElement.h:
59169        * platform/graphics/MediaPlayer.cpp:
59170        (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
59171        * platform/graphics/MediaPlayer.h:
59172        * platform/graphics/MediaPlayerPrivate.h:
59173        (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto.
59174
591752011-02-25  Eric Carlson  <eric.carlson@apple.com>
59176
59177        Reviewed by Darin Adler.
59178
59179        Add API to enumerate/delete files downloaded for <audio> and <video>
59180        https://bugs.webkit.org/show_bug.cgi?id=55267
59181        <rdar://problem/9049280>
59182
59183        No new tests, this is just the plumbing.
59184
59185        * html/HTMLMediaElement.cpp:
59186        (WebCore::HTMLMediaElement::getSitesInMediaCache): New, call through to MediaPlayer.
59187        (WebCore::HTMLMediaElement::clearMediaCache): Ditto.
59188        (WebCore::HTMLMediaElement::clearMediaCacheForSite): Ditto.
59189        * html/HTMLMediaElement.h:
59190
59191        * platform/graphics/MediaPlayer.cpp:
59192        (WebCore::MediaPlayer::getSitesInMediaCache): New, call through to media engine.
59193        (WebCore::MediaPlayer::clearMediaCache): Ditto.
59194        (WebCore::MediaPlayer::clearMediaCacheForSite): Ditto.
59195        * platform/graphics/MediaPlayer.h:
59196
59197        * platform/graphics/MediaPlayerPrivate.h:
59198        (WebCore::MediaPlayerPrivateInterface::getSitesInMediaCache): Declare new interface.
59199        (WebCore::MediaPlayerPrivateInterface::clearMediaCache): Ditto.
59200        (WebCore::MediaPlayerPrivateInterface::clearMediaCacheForSite): Ditto.
59201
592022011-02-25  Abhishek Arya  <inferno@chromium.org>
59203
59204        Reviewed by Dave Hyatt.
59205
59206        Don't add inline continuation outline to the containing block's
59207        continuationOutlineTable list if it is not enclosed by an anonymous block.
59208        https://bugs.webkit.org/show_bug.cgi?id=54690
59209
59210        We currently don't reconnect inline continuations after a child removal.
59211        As a result, those merged inlines do not get seperated and hence not get enclosed
59212        by anonymous blocks. In this case, it is better to bail out and paint it ourself.
59213
59214        Test: fast/table/table-continuation-outline-paint-crash.html
59215
59216        * rendering/InlineFlowBox.cpp:
59217        (WebCore::InlineFlowBox::paint):
59218        * rendering/RenderBlock.cpp:
59219        (WebCore::RenderBlock::paintsContinuationOutline): helper function to tell
59220        if this containing block has the continuation flow in its continuations list.
59221        * rendering/RenderBlock.h: helper function definition.
59222        * rendering/RenderInline.cpp:
59223        (WebCore::RenderInline::destroy): debug only code that asserts if we leave
59224        behind a continuation in the containing block's continuation list when it is
59225        getting destroyed.
59226
592272011-02-25  David Hyatt  <hyatt@apple.com>
59228
59229        Reviewed by Adam Roben.
59230
59231        https://bugs.webkit.org/show_bug.cgi?id=55265, remove the unused "Static" type
59232        from Length.
59233
59234        * css/CSSPrimitiveValue.cpp:
59235        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
59236        * platform/Length.h:
59237        (WebCore::Length::isFixed):
59238        * rendering/AutoTableLayout.cpp:
59239        (WebCore::AutoTableLayout::layout):
59240        * rendering/RenderImage.cpp:
59241        (WebCore::RenderImage::isLogicalWidthSpecified):
59242        (WebCore::RenderImage::isLogicalHeightSpecified):
59243        * rendering/RenderObject.h:
59244        (WebCore::RenderObject::markContainingBlocksForLayout):
59245        * rendering/style/RenderStyle.h:
59246        (WebCore::InheritedFlags::hasStaticX):
59247        (WebCore::InheritedFlags::hasStaticY):
59248
592492011-02-25  Brian Weinstein  <bweinstein@apple.com>
59250
59251        Windows build fix.
59252
59253        * platform/network/cf/CookieJarCFNet.cpp:
59254        (WebCore::getHostnamesWithCookies): Add a const_cast.
59255        (WebCore::deleteCookiesForHostname): Ditto.
59256
592572011-02-25  Pavel Feldman  <pfeldman@chromium.org>
59258
59259        Reviewed by Timothy Hatcher.
59260
59261        Web Inspector: Empty Elements panel after closing and reopening Inspector
59262        https://bugs.webkit.org/show_bug.cgi?id=55248
59263
59264        Fixing regression real quick. Test to follow.
59265
59266        * inspector/InspectorDOMAgent.cpp:
59267        (WebCore::InspectorDOMAgent::reset):
59268
592692011-02-25  Pavel Feldman  <pfeldman@chromium.org>
59270
59271        Not reviewed: added missing handle scope into V8InjectedScriptHostCustom.
59272        https://bugs.webkit.org/show_bug.cgi?id=55256
59273
59274        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
59275        (WebCore::InjectedScriptHost::nodeAsScriptValue):
59276        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
59277
592782011-02-25  David Hyatt  <hyatt@apple.com>
59279
59280        Reviewed by Sam Weinig.
59281
59282        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
59283
59284        Make positioned objects work with all possible crazy combinations of mixed writing modes.  Added new helper
59285        functions that flip around the padding box of the containing block and then add in the appropriate border
59286        side to ensure that the offset of the positioned object is actually correctly placed in the containing block's
59287        local coordinate space.
59288
59289        Added two new tests of both replaced and non-replaced positioned elements in mixed writing mode environments.
59290
59291        * rendering/RenderBox.cpp:
59292        (WebCore::computeLogicalLeftPositionedOffset):
59293        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
59294        (WebCore::computeLogicalTopPositionedOffset):
59295        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
59296        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
59297        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
59298
592992011-02-25  Brian Weinstein  <bweinstein@apple.com>
59300
59301        Reviewed by Brady Eidson and looked over by Jessie Berlin.
59302
59303        WebKit2: Need a way to manage cookies from the web process
59304        https://bugs.webkit.org/show_bug.cgi?id=55086
59305
59306        Implement the functions needed to manage cookies in CookieJar (getHostnamesWithCookies,
59307        deleteCookiesWithHostname, and deleteAllCookies) for Mac and CFNetwork (stub out the rest),
59308        and call them from WebKit2's WebCookieManager.
59309
59310        No change in behavior needing tests.
59311
59312        * WebCore.exp.in: Added needed functions to export.
59313        * platform/CookieJar.h:
59314
59315        * platform/mac/CookieJar.mm:
59316        (WebCore::getHostnamesWithCookies): Gets all hostnames with cookies from NSHTTPCookieStorage.
59317        (WebCore::deleteCookiesForHostname): Deletes all cookies with a given hostname from
59318            NSHTTPCookieStorage.
59319        (WebCore::deleteAllCookies): Deletes all cookies from NSHTTPCookieStorage.
59320
59321        * platform/network/cf/CookieJarCFNet.cpp:
59322        (WebCore::getHostnamesWithCookies): Implement using CFNetwork cookie APIs.
59323        (WebCore::deleteCookiesForHostname): Ditto.
59324        (WebCore::deleteAllCookies): Ditto.
59325
59326        * platform/efl/CookieJarEfl.cpp: Added stub functions.
59327        * platform/haiku/CookieJarHaiku.cpp: Ditto.
59328        * platform/network/android/CookieJarAndroid.cpp: Ditto.
59329        * platform/network/chromium/CookieJarChromium.cpp: Ditto.
59330        * platform/network/curl/CookieJarCurl.cpp: Ditto.
59331        * platform/network/soup/CookieJarSoup.cpp: Ditto.
59332        * platform/network/win/CookieJarWin.cpp: Ditto.
59333        * platform/qt/CookieJarQt.cpp: Ditto.
59334
593352011-02-25  Eric Carlson  <eric.carlson@apple.com>
59336
59337        Reviewed by Eric Seidel.
59338
59339        'load' and 'error' events fired for @poster
59340        https://bugs.webkit.org/show_bug.cgi?id=54908
59341
59342        * html/HTMLImageLoader.cpp:
59343        (WebCore::HTMLImageLoader::dispatchLoadEvent): Don't fire events when being used
59344        by a video element.
59345
593462011-02-25  David Hyatt  <hyatt@apple.com>
59347
59348        Reviewed by Sam Weinig.
59349
59350        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
59351
59352        Patch computePositionedLogicalHeightReplaced to be writing-mode aware.
59353
59354        Added six new tests in fast/replaced.
59355
59356        * rendering/RenderBox.cpp:
59357        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
59358
593592011-02-25  Patrick Gansterer  <paroga@webkit.org>
59360
59361        Unreviewed build fix.
59362
59363        * platform/text/brew/TextBreakIteratorBrew.cpp:
59364        (WebCore::acquireLineBreakIterator):
59365        * platform/text/wince/TextBreakIteratorWinCE.cpp:
59366        (WebCore::acquireLineBreakIterator):
59367
593682011-02-25  Vangelis Kokkevis  <vangelis@chromium.org>
59369
59370        Reviewed by Simon Fraser.
59371
59372        Update the clip layer size whenever the root layer's size and position
59373        is updated. This only affects the accelerated compositing path.
59374        https://bugs.webkit.org/show_bug.cgi?id=55103
59375
59376        * rendering/RenderLayerCompositor.cpp:
59377        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
59378
59379        Test: platform/chromium/compositing/layout-width-change.html
59380
59381        * rendering/RenderLayerCompositor.cpp:
59382        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
59383
593842011-02-25  Ned Holbrook  <nholbrook@apple.com>
59385
59386        Reviewed by Dan Bernstein.
59387
59388        Minimize calls to ubrk_setText()
59389        https://bugs.webkit.org/show_bug.cgi?id=54912
59390        <rdar://problem/9032774>
59391
59392        Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
59393        break iterator creation until needed. This requires replacing the global line break iterator primitive with a
59394        version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
59395        layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
59396        In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
59397
59398        * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
59399        (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
59400        (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
59401        (WebCore::LazyLineBreakIterator::string):
59402        (WebCore::LazyLineBreakIterator::length):
59403        (WebCore::LazyLineBreakIterator::get):
59404        (WebCore::LazyLineBreakIterator::reset):
59405        * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
59406        (WebCore::acquireLineBreakIterator):
59407        (WebCore::releaseLineBreakIterator):
59408        * platform/text/brew/TextBreakIteratorBrew.cpp: Ditto.
59409        (WebCore::acquireLineBreakIterator):
59410        (WebCore::releaseLineBreakIterator):
59411        * platform/text/gtk/TextBreakIteratorGtk.cpp: Ditto.
59412        (WebCore::acquireLineBreakIterator):
59413        (WebCore::releaseLineBreakIterator):
59414        * platform/text/qt/TextBreakIteratorQt.cpp: Ditto.
59415        (WebCore::acquireLineBreakIterator):
59416        (WebCore::releaseLineBreakIterator):
59417        * platform/text/wince/TextBreakIteratorWinCE.cpp: Ditto.
59418        (WebCore::acquireLineBreakIterator):
59419        (WebCore::releaseLineBreakIterator):
59420        * rendering/RenderBlock.h:
59421        * rendering/RenderBlockLineLayout.cpp:
59422        (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
59423        (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
59424        * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
59425        (WebCore::RenderText::computePreferredLogicalWidths):
59426        * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than UniChar buffer.
59427        (WebCore::nextBreakablePosition):
59428        * rendering/break_lines.h: Accept LazyLineBreakIterator rather than UniChar buffer.
59429        (WebCore::isBreakable):
59430
594312011-02-25  David Hyatt  <hyatt@apple.com>
59432
59433        Reviewed by Sam Weinig.
59434
59435        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
59436
59437        Patch computePositionedLogicalWidthReplaced to be writing-mode aware.  Not testable yet, since the height function overwrites the values
59438        in a vertical text environment.
59439
59440        * rendering/RenderBox.cpp:
59441        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
59442
594432011-02-25  Abhishek Arya  <inferno@chromium.org>
59444
59445        Reviewed by Dave Hyatt.
59446
59447        When trying to find which lines to dirty for a changed child, make sure
59448        that we do test if the adjacent next linebox contains that changed child
59449        and if yes, dirty it. This can happen in cases when we have a word break
59450        between text nodes.
59451        https://bugs.webkit.org/show_bug.cgi?id=55206
59452
59453        Test: fast/text/word-break-next-linebox-not-dirty-crash-main.html
59454
59455        * rendering/RenderLineBoxList.cpp:
59456        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):
59457
594582011-02-25  Andrey Adaikin  <aandrey@google.com>
59459
59460        Reviewed by Pavel Feldman.
59461
59462        Web Inspector: [Text editor] Add basic layout tests for the highlighter
59463        https://bugs.webkit.org/show_bug.cgi?id=54751
59464
59465        Test: inspector/editor/highlighter-basics.html
59466
59467        * inspector/front-end/TextEditorHighlighter.js:
59468        (WebInspector.TextEditorHighlighter.prototype.highlight):
59469
594702011-02-24  Alexander Pavlov  <apavlov@chromium.org>
59471
59472        Reviewed by Pavel Feldman.
59473
59474        Web Inspector: Huge fonts in font preview
59475        https://bugs.webkit.org/show_bug.cgi?id=55143
59476
59477        * inspector/front-end/FontView.js:
59478        (WebInspector.FontView.prototype._createContentIfNeeded):
59479        (WebInspector.FontView.prototype.show):
59480        (WebInspector.FontView.prototype.resize):
59481        (WebInspector.FontView.prototype._measureElement):
59482        (WebInspector.FontView.prototype.updateFontPreviewSize):
59483
594842011-02-25  Nikolas Zimmermann  <nzimmermann@rim.com>
59485
59486        Reviewed by Dirk Schulze.
59487
59488        Implement SVGColor/SVGPaint API
59489        https://bugs.webkit.org/show_bug.cgi?id=55119
59490
59491        SVGColor::cssText() shouldn't return #RRGGBBAA colors
59492        https://bugs.webkit.org/show_bug.cgi?id=48120
59493
59494        Rewrite SVGColor/SVGPaint to actually implement their desired setPaint/setColor/setURI APIs.
59495        SVGPaint is a CSSValue, and its setPaint() function allows to switch to an arbitary paint type.
59496        That means, unlike all other CSSValues, SVGColor/SVGPaint are mutable. That means changes to
59497        their CSSValues should be reflected in the elements style as well as in the computed style.
59498        This patch doesn't yet implement that, the stubbed-out method valueChanged() is what
59499        needs to be implemented. For now you can grab a SVGColor/SVGPaint object through getCSSPropertyValue
59500        and manipulate it, in every possible way (SVPaint.uri/paintType/colorType/color attributes are all sync'ed).
59501        Switch to strict JS bindings (RequiresAllArguments=Raise, StrictTypeChecking) for both objects.
59502
59503        Enable proper serialization of colors through Color::serialized(), affects some testcases (#FF.. -> #ff..)
59504        Add extensive tests of all SVGColor/SVGPaint API, currently shows some FAIL messages, as element style
59505        <-> computed style is not live, after mutating SVGColor/SVGPaint. That will be implemented in a follow-up patch.
59506
59507        Tests: svg/dom/SVGColor.html
59508               svg/dom/SVGPaint.html
59509
59510        * bindings/scripts/CodeGenerator.pm: Remove obsolete handling of "SVGPaintType", take ushort for paintType, as specified in the SVG 1.1 IDLs.
59511        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
59512        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
59513        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
59514        * css/SVGCSSParser.cpp: Adapt to SVGPaint/SVGColor create() naming convention changes.
59515        (WebCore::CSSParser::parseSVGValue):
59516        (WebCore::CSSParser::parseSVGPaint):
59517        (WebCore::CSSParser::parseSVGColor):
59518        * svg/SVGColor.cpp: Rewrite to fully implement the SVGColor API, merge all constructors into one, use more descriptable create() naming convention.
59519        (WebCore::valueChanged): Stub implementation, will land in a follow-up patch.
59520        (WebCore::SVGColor::SVGColor):
59521        (WebCore::SVGColor::setRGBColor):
59522        (WebCore::SVGColor::colorFromRGBColorString):
59523        (WebCore::SVGColor::setRGBColorICCColor):
59524        (WebCore::SVGColor::setColor):
59525        (WebCore::SVGColor::cssText):
59526        * svg/SVGColor.h:
59527        (WebCore::SVGColor::createFromString):
59528        (WebCore::SVGColor::createFromColor):
59529        (WebCore::SVGColor::color):
59530        (WebCore::SVGColor::colorType):
59531        (WebCore::SVGColor::~SVGColor):
59532        (WebCore::SVGColor::setColor):
59533        (WebCore::SVGColor::setColorType):
59534        * svg/SVGColor.idl: Enable strict type checking.
59535        * svg/SVGPaint.cpp: Rewrite to fully implement the SVGPaint API, merge all constructors into one, use more descriptable create() naming convention.
59536        (WebCore::valueChanged): Stub implementation, will land in a follow-up patch.
59537        (WebCore::colorTypeForPaintType):
59538        (WebCore::SVGPaint::SVGPaint):
59539        (WebCore::SVGPaint::setUri):
59540        (WebCore::SVGPaint::defaultFill):
59541        (WebCore::SVGPaint::defaultStroke):
59542        (WebCore::SVGPaint::setPaint):
59543        (WebCore::SVGPaint::cssText):
59544        (WebCore::SVGPaint::matchesTargetURI):
59545        * svg/SVGPaint.h:
59546        (WebCore::SVGPaint::createUnknown):
59547        (WebCore::SVGPaint::createNone):
59548        (WebCore::SVGPaint::createCurrentColor):
59549        (WebCore::SVGPaint::createColor):
59550        (WebCore::SVGPaint::createURI):
59551        (WebCore::SVGPaint::createURIAndColor):
59552        (WebCore::SVGPaint::paintType):
59553        (WebCore::SVGPaint::uri):
59554        (WebCore::SVGPaint::create):
59555        (WebCore::SVGPaint::isSVGPaint):
59556        * svg/SVGPaint.idl: Enable strict type checking.
59557
595582011-02-25  Renata Hodovan  <reni@webkit.org>
59559
59560        Reviewed by Nikolas Zimmermann.
59561
59562        FESpecularLightingElement changes doesn't require relayout.
59563        https://bugs.webkit.org/show_bug.cgi?id=54451
59564
59565        When the FESpecularLightingElement receives an update message but the given value remains the same we don't need
59566        to relayout the filter. Otherwise, the light source requests a repaint on the specular lighting filter.
59567        Besides add ASSERTs to DiffuseLightElement::setFilterEffectAttribute as well to avoid lightSources being null.
59568
59569        No new tests are needed to check the repaint because it is covered by the dynamic update tests of FESpecularLighting.
59570        We only test what happens if we remove the light source of specularLight.
59571
59572        Test: svg/dynamic-updates/SVGFESpecularLightingElement-remove-lightSource.html
59573
59574        * platform/graphics/filters/FESpecularLighting.cpp:
59575        (WebCore::FESpecularLighting::setSurfaceScale):
59576        (WebCore::FESpecularLighting::setSpecularConstant):
59577        (WebCore::FESpecularLighting::setSpecularExponent):
59578        (WebCore::FESpecularLighting::setKernelUnitLengthX):
59579        (WebCore::FESpecularLighting::setKernelUnitLengthY):
59580        * platform/graphics/filters/FESpecularLighting.h:
59581        * rendering/svg/RenderSVGResourceFilter.cpp:
59582        (WebCore::RenderSVGResourceFilter::postApplyResource):
59583        * svg/SVGFEDiffuseLightingElement.cpp:
59584        (WebCore::SVGFEDiffuseLightingElement::setFilterEffectAttribute):
59585        (WebCore::SVGFEDiffuseLightingElement::lightElementAttributeChanged):
59586        (WebCore::SVGFEDiffuseLightingElement::build):
59587        * svg/SVGFEDiffuseLightingElement.h:
59588        * svg/SVGFELightElement.cpp:
59589        (WebCore::SVGFELightElement::findLightElement):
59590        (WebCore::SVGFELightElement::findLight):
59591        (WebCore::SVGFELightElement::svgAttributeChanged):
59592        * svg/SVGFELightElement.h:
59593        * svg/SVGFESpecularLightingElement.cpp:
59594        (WebCore::SVGFESpecularLightingElement::setFilterEffectAttribute):
59595        (WebCore::SVGFESpecularLightingElement::svgAttributeChanged):
59596        (WebCore::SVGFESpecularLightingElement::lightElementAttributeChanged):
59597        (WebCore::SVGFESpecularLightingElement::build):
59598        * svg/SVGFESpecularLightingElement.h:
59599
596002011-02-24  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
59601
59602        Reviewed by Andreas Kling.
59603
59604        [Qt] Revert the support for QNAM affined to a different thread.
59605        https://bugs.webkit.org/show_bug.cgi?id=55149
59606
59607        Qt 4.8 will have QNAM use its own thread internally by default,
59608        no need to keep this complexity in WebKit.
59609
59610        This mainly reverts:
59611        http://trac.webkit.org/changeset/73710
59612        http://trac.webkit.org/changeset/73712
59613
59614        * WebCore.pro:
59615        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
59616        (WebCore::MediaPlayerPrivateQt::commitLoad):
59617        * platform/network/qt/QNetworkReplyHandler.cpp:
59618        (WebCore::FormDataIODevice::FormDataIODevice):
59619        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler):
59620        (WebCore::QNetworkReplyHandler::setLoadMode):
59621        (WebCore::QNetworkReplyHandler::abort):
59622        (WebCore::QNetworkReplyHandler::release):
59623        (WebCore::ignoreHttpError):
59624        (WebCore::QNetworkReplyHandler::finish):
59625        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
59626        (WebCore::QNetworkReplyHandler::forwardData):
59627        (WebCore::QNetworkReplyHandler::start):
59628        (WebCore::QNetworkReplyHandler::sendQueuedItems):
59629        * platform/network/qt/QNetworkReplyHandler.h:
59630        (WebCore::QNetworkReplyHandler::reply):
59631        * platform/network/qt/QtNAMThreadSafeProxy.cpp: Removed.
59632        * platform/network/qt/QtNAMThreadSafeProxy.h: Removed.
59633        * platform/network/qt/ResourceHandleQt.cpp:
59634        (WebCore::ResourceHandle::willLoadFromCache):
59635        * platform/qt/CookieJarQt.cpp:
59636        (WebCore::cookieJar):
59637        (WebCore::setCookies):
59638        (WebCore::cookies):
59639        (WebCore::cookieRequestHeaderFieldValue):
59640        (WebCore::cookiesEnabled):
59641
596422011-02-25  Renata Hodovan  <reni@webkit.org>
59643
59644        Reviewed by Andreas Kling.
59645
59646        FEBlendElement changes doesn't require relayout
59647        https://bugs.webkit.org/show_bug.cgi?id=55138
59648
59649        When the FEBlendElement receives an update message but the given value remains the same we don't need
59650        to relayout the filter.
59651
59652        No new tests are needed because this modificiation is covered by the dynamic update tests of FEBlend.
59653
59654        * platform/graphics/filters/FEBlend.cpp:
59655        (WebCore::FEBlend::setBlendMode):
59656        * platform/graphics/filters/FEBlend.h:
59657        * svg/SVGFEBlendElement.cpp:
59658        (WebCore::SVGFEBlendElement::setFilterEffectAttribute):
59659        (WebCore::SVGFEBlendElement::svgAttributeChanged):
59660        (WebCore::SVGFEBlendElement::synchronizeProperty):
59661        * svg/SVGFEBlendElement.h:
59662
596632011-02-24  Daniel Bates  <dbates@rim.com>
59664
59665        Reviewed by Antonio Gomes.
59666
59667        Clean up: Extract table height adjustment for <caption> into common function
59668        https://bugs.webkit.org/show_bug.cgi?id=54936
59669
59670        We use similar logic for adjusting the height of a table with respect
59671        to a top- and bottom-positioned <caption>. Instead, we should extract
59672        the common code into a shared function.
59673
59674        No functionality changed. So no new tests.
59675
59676        * rendering/RenderTable.cpp:
59677        (WebCore::RenderTable::adjustLogicalHeightForCaption): Added.
59678        (WebCore::RenderTable::layout): Extracted common code to adjust table height
59679        with respect to the <caption> into RenderTable::adjustLogicalHeightForCaption().
59680        * rendering/RenderTable.h:
59681
596822011-02-24  James Robinson  <jamesr@chromium.org>
59683
59684        Reviewed by Kenneth Russell.
59685
59686        [chromium] Move draw time properties out of *LayerChromium to CCLayerImpl
59687        https://bugs.webkit.org/show_bug.cgi?id=55013
59688
59689        This adds a new type (tentatively named CCLayerImpl) responsible for drawing/compositing layers.
59690        Currently LayerChromiums know about their CCLayerImpls and CCLayerImpls rely on the LayerChromium
59691        tree for structure.  In theory updates are a LayerChromium-only concept and draw is a CCLayerImpl-only
59692        concept, but this patch doesn't go all there yet in the interest of keeping the patch small-ish.
59693
59694        RenderSurfaces are a CCLayerImpl-only concepts and no longer have any direct LayerChromium dependencies.
59695
59696        Note: I've put CCLayerImpl into a new 'cc' directory under platform/graphics/chromium/ and intentionally
59697        not added it to the include path.  We plan to add more compositor implementation details to this directory
59698        and we want to keep accidental dependencies on these files to a minimum.
59699
59700        See https://bugs.webkit.org/show_bug.cgi?id=54047 for the big picture.
59701
59702        Refactor only, compositing/ tests cover these codepaths.
59703
59704        * WebCore.gypi:
59705        * platform/graphics/chromium/CanvasLayerChromium.cpp:
59706        (WebCore::CanvasLayerChromium::draw):
59707        * platform/graphics/chromium/ContentLayerChromium.cpp:
59708        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
59709        (WebCore::ContentLayerChromium::updateContentsIfDirty):
59710        (WebCore::ContentLayerChromium::draw):
59711        * platform/graphics/chromium/LayerChromium.cpp:
59712        (WebCore::LayerChromium::LayerChromium):
59713        (WebCore::LayerChromium::cleanupResources):
59714        (WebCore::LayerChromium::setLayerRenderer):
59715        (WebCore::LayerChromium::setBounds):
59716        (WebCore::LayerChromium::setFrame):
59717        (WebCore::LayerChromium::setNeedsDisplay):
59718        (WebCore::LayerChromium::setBorderColor):
59719        (WebCore::LayerChromium::borderColor):
59720        (WebCore::LayerChromium::setBorderWidth):
59721        (WebCore::LayerChromium::borderWidth):
59722        (WebCore::LayerChromium::layerRenderer):
59723        (WebCore::LayerChromium::setDoubleSided):
59724        (WebCore::LayerChromium::bounds):
59725        * platform/graphics/chromium/LayerChromium.h:
59726        (WebCore::LayerChromium::maskDrawLayer):
59727        (WebCore::LayerChromium::ccLayerImpl):
59728        * platform/graphics/chromium/LayerRendererChromium.cpp:
59729        (WebCore::LayerRendererChromium::compareLayerZ):
59730        (WebCore::LayerRendererChromium::drawLayers):
59731        (WebCore::LayerRendererChromium::updateLayersRecursive):
59732        (WebCore::LayerRendererChromium::setCompositeOffscreen):
59733        (WebCore::LayerRendererChromium::getOffscreenLayerTexture):
59734        (WebCore::LayerRendererChromium::drawLayer):
59735        * platform/graphics/chromium/LayerRendererChromium.h:
59736        * platform/graphics/chromium/PluginLayerChromium.cpp:
59737        (WebCore::PluginLayerChromium::draw):
59738        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
59739        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
59740        (WebCore::RenderSurfaceChromium::drawSurface):
59741        (WebCore::RenderSurfaceChromium::draw):
59742        * platform/graphics/chromium/RenderSurfaceChromium.h:
59743        * platform/graphics/chromium/VideoLayerChromium.cpp:
59744        (WebCore::VideoLayerChromium::drawYUV):
59745        (WebCore::VideoLayerChromium::drawRGBA):
59746        * platform/graphics/chromium/cc/CCLayerImpl.cpp: Added.
59747        (WebCore::CCLayerImpl::CCLayerImpl):
59748        (WebCore::CCLayerImpl::~CCLayerImpl):
59749        (WebCore::CCLayerImpl::superlayer):
59750        (WebCore::CCLayerImpl::maskLayer):
59751        (WebCore::CCLayerImpl::replicaLayer):
59752        (WebCore::CCLayerImpl::setLayerRenderer):
59753        (WebCore::CCLayerImpl::createRenderSurface):
59754        (WebCore::CCLayerImpl::updateContentsIfDirty):
59755        (WebCore::CCLayerImpl::drawsContent):
59756        (WebCore::CCLayerImpl::draw):
59757        (WebCore::CCLayerImpl::unreserveContentsTexture):
59758        (WebCore::CCLayerImpl::bindContentsTexture):
59759        (WebCore::CCLayerImpl::cleanupResources):
59760        (WebCore::CCLayerImpl::getDrawRect):
59761        (WebCore::CCLayerImpl::drawDebugBorder):
59762        * platform/graphics/chromium/cc/CCLayerImpl.h: Added.
59763        (WebCore::CCLayerImpl::create):
59764        (WebCore::CCLayerImpl::setDebugBorderColor):
59765        (WebCore::CCLayerImpl::debugBorderColor):
59766        (WebCore::CCLayerImpl::setDebugBorderWidth):
59767        (WebCore::CCLayerImpl::debugBorderWidth):
59768        (WebCore::CCLayerImpl::layerRenderer):
59769        (WebCore::CCLayerImpl::renderSurface):
59770        (WebCore::CCLayerImpl::clearRenderSurface):
59771        (WebCore::CCLayerImpl::drawDepth):
59772        (WebCore::CCLayerImpl::setDrawDepth):
59773        (WebCore::CCLayerImpl::drawOpacity):
59774        (WebCore::CCLayerImpl::setDrawOpacity):
59775        (WebCore::CCLayerImpl::scissorRect):
59776        (WebCore::CCLayerImpl::setScissorRect):
59777        (WebCore::CCLayerImpl::targetRenderSurface):
59778        (WebCore::CCLayerImpl::setTargetRenderSurface):
59779        (WebCore::CCLayerImpl::doubleSided):
59780        (WebCore::CCLayerImpl::setDoubleSided):
59781        (WebCore::CCLayerImpl::bounds):
59782        (WebCore::CCLayerImpl::setBounds):
59783        (WebCore::CCLayerImpl::drawTransform):
59784        (WebCore::CCLayerImpl::setDrawTransform):
59785        (WebCore::CCLayerImpl::drawableContentRect):
59786        (WebCore::CCLayerImpl::setDrawableContentRect):
59787
597882011-02-24  Dan Bernstein  <mitz@apple.com>
59789
59790        Reviewed by Simon Fraser.
59791
59792        REGRESSION (r79629): Non-expanding ruby base is start-aligned rather than centered
59793        https://bugs.webkit.org/show_bug.cgi?id=55197
59794
59795        * rendering/RenderBlockLineLayout.cpp:
59796        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Adjust the line boundaries even
59797        if there are no expansion opportunities. This allows RenderRubyBase to center itself.
59798
597992011-02-24  Darin Adler  <darin@apple.com>
59800
59801        Reviewed by Alexey Proskuryakov.
59802
59803        REGRESSION (r79466): http/tests/incremental/slow-utf8-html.pl flaky due to incorrect assertions
59804        https://bugs.webkit.org/show_bug.cgi?id=55135
59805
59806        * platform/text/TextCodecUTF8.cpp:
59807        (WebCore::TextCodecUTF8::decode): Removed incorrect assertions.
59808
598092011-02-24  Darin Adler  <darin@apple.com>
59810
59811        Reviewed by Anders Carlsson.
59812
59813        WebKit2: Image-based cursors do not work
59814        https://bugs.webkit.org/show_bug.cgi?id=55184
59815
59816        * WebCore.exp.in: Exported new entry points now used by WebKit2.
59817
598182011-02-24  Matthew Delaney  <mdelaney@apple.com>
59819
59820        Reviewed by Simon Fraser.
59821
59822        ImageBuffer::clip creates an image of the incorrect context in IOSurface case
59823        https://bugs.webkit.org/show_bug.cgi?id=55170
59824
59825        Test: fast/canvas/2d.fillText.gradient.html
59826
59827        * platform/graphics/cg/ImageBufferCG.cpp: Clipping against ImageBuffer's context
59828        instead of ourself (the passed in context).
59829
598302011-02-24  Simon Fraser  <simon.fraser@apple.com>
59831
59832        Reviewed by Dan Bernstein.
59833
59834        RenderBoxModelObject::paintBoxShadow should bail earlier
59835        https://bugs.webkit.org/show_bug.cgi?id=55186
59836
59837        Make paintBoxShadow() bail early if there is no shadow, and make
59838        callers consistent in not checking for box-shadow before calling it.
59839
59840        * rendering/InlineFlowBox.cpp:
59841        (WebCore::InlineFlowBox::paintBoxDecorations):
59842        * rendering/RenderBoxModelObject.cpp:
59843        (WebCore::RenderBoxModelObject::paintBoxShadow):
59844        * rendering/RenderTableCell.cpp:
59845        (WebCore::RenderTableCell::paintBoxDecorations):
59846
598472011-02-24  James Robinson  <jamesr@chromium.org>
59848
59849        Reviewed by Darin Fisher.
59850
59851        Add a USE() macro to control use of the built-in UTF8 codec
59852        https://bugs.webkit.org/show_bug.cgi?id=55189
59853
59854        Guards the built in UTF8 codec registration with USE(BUILTIN_UTF8_CODEC). ICU is used if the USE() is not set.
59855
59856        * platform/text/TextCodecICU.cpp:
59857        (WebCore::TextCodecICU::registerEncodingNames):
59858        * platform/text/TextEncodingRegistry.cpp:
59859        (WebCore::buildBaseTextCodecMaps):
59860
598612011-02-24  Dan Bernstein  <mitz@apple.com>
59862
59863        Reviewed by Dave Hyatt.
59864
59865        <rdar://problem/8902740> Expand ruby base when it is shorter than the ruby text
59866        https://bugs.webkit.org/show_bug.cgi?id=55183
59867
59868        Test: fast/ruby/base-shorter-than-text.html
59869
59870        * rendering/RenderBlock.cpp:
59871        (WebCore::RenderBlock::availableLogicalWidthForLine):
59872        * rendering/RenderBlock.h:
59873        (WebCore::RenderBlock::adjustInlineDirectionLineBounds): Added. The base clase implementation does nothing.
59874        * rendering/RenderBlockLineLayout.cpp:
59875        (WebCore::RenderBlock::textAlignmentForLine): Added. Implements the logic that changes "justify" to "auto" for
59876        the last line or a line that ends with a hard break.
59877        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Use textAlignmentForLine(), compute the available
59878        width more efficiently, and call adjustInlineDirectionLineBounds() for justified lines.
59879        * rendering/RenderRubyBase.cpp:
59880        (WebCore::RenderRubyBase::rubyRun): Added.
59881        (WebCore::RenderRubyBase::textAlignmentForLine): Added. Alwyas returns "justify".
59882        (WebCore::RenderRubyBase::adjustInlineDirectionLineBounds): Added. Insets the line such that the inset is
59883        half the width of a single intra-line expansion.
59884        * rendering/RenderRubyBase.h:
59885        * rendering/RenderRubyRun.cpp:
59886        (WebCore::RenderRubyRun::addChild):
59887
598882011-02-24  James Robinson  <jamesr@chromium.org>
59889
59890        Unreviewed, rolling out r79604.
59891        http://trac.webkit.org/changeset/79604
59892        https://bugs.webkit.org/show_bug.cgi?id=55017
59893
59894        Causes assertions to fail on some SVG tests
59895
59896        * svg/graphics/SVGImage.cpp:
59897        (WebCore::SVGImage::dataChanged):
59898
598992011-02-24  Oliver Hunt  <oliver@apple.com>
59900
59901        Build fix
59902
59903        * bindings/js/JSBindingsAllInOne.cpp:
59904
599052011-02-24  David Hyatt  <hyatt@apple.com>
59906
59907        Reviewed by Simon Fraser.
59908
59909        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
59910
59911        Rework the logical height computation for positioned elements to work in terms of before and after.  That way the offset is determined from
59912        the correct container side in flipped block writing modes (e.g., vertical-rl).
59913
59914        Patch locationOffsetIncludingFlipping to use the containing block to flip so that it will behave correctly with absolute/fixed positioned
59915        elements.
59916
59917        Patch offsetFromContainer to use the flipped location offset for absolute/fixed positioned elements so that localToAbsolute works properly.
59918
59919        Added twelve tests in fast/block/positioning/vertical-rl and fast/block/positioning/vertical-lr.
59920
59921        * rendering/RenderBox.cpp:
59922        (WebCore::RenderBox::offsetFromContainer):
59923        (WebCore::RenderBox::computePositionedLogicalHeight):
59924        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
59925        (WebCore::RenderBox::locationOffsetIncludingFlipping):
59926        * rendering/style/RenderStyle.h:
59927        (WebCore::InheritedFlags::logicalTop):
59928        (WebCore::InheritedFlags::logicalBottom):
59929
599302011-02-23  Oliver Hunt  <oliver@apple.com>
59931
59932        Reviewed by Geoffrey Garen.
59933
59934        Make WeakGCMap use new handle infrastructure
59935        https://bugs.webkit.org/show_bug.cgi?id=55100
59936
59937        Update to new WeakGCMap APIs, this requires threading global
59938        data to a few functions that did not need it in the past, but
59939        also gets rid of a large number of destructors, as well as the
59940        forgetDOMNode, etc APIs.
59941
59942        We can also drop the JSDebugWrapperSet as its only purpose was
59943        to ensure that we retained correct semantics in the old WeakGCMap,
59944        but happilly these semantics are now guaranteed by the map itself.
59945
59946        * CMakeLists.txt:
59947        * GNUmakefile.am:
59948        * WebCore.gypi:
59949        * WebCore.pro:
59950        * WebCore.vcproj/WebCore.vcproj:
59951        * WebCore.xcodeproj/project.pbxproj:
59952        * bindings/js/JSDOMBinding.cpp:
59953        (WebCore::hasCachedDOMObjectWrapperUnchecked):
59954        (WebCore::cacheDOMObjectWrapper):
59955        (WebCore::hasCachedDOMNodeWrapperUnchecked):
59956        (WebCore::cacheDOMNodeWrapper):
59957        (WebCore::isObservableThroughDOM):
59958        (WebCore::markDOMNodesForDocument):
59959        (WebCore::takeWrappers):
59960        (WebCore::updateDOMNodeDocument):
59961        (WebCore::markDOMObjectWrapper):
59962        (WebCore::markDOMNodeWrapper):
59963        (WebCore::stringWrapperDestroyed):
59964        (WebCore::jsStringSlowCase):
59965        * bindings/js/JSDOMBinding.h:
59966        * bindings/js/JSDOMWrapper.cpp:
59967        (WebCore::DOMObject::~DOMObject):
59968        * bindings/js/JSDebugWrapperSet.cpp: Removed.
59969        * bindings/js/JSDebugWrapperSet.h: Removed.
59970        * bindings/scripts/CodeGeneratorJS.pm:
59971        * bridge/jsc/BridgeJSC.cpp:
59972        (JSC::Bindings::Instance::createRuntimeObject):
59973        * bridge/jsc/BridgeJSC.h:
59974        * bridge/runtime_object.cpp:
59975        (JSC::Bindings::RuntimeObject::~RuntimeObject):
59976        * bridge/runtime_root.cpp:
59977        (JSC::Bindings::RootObject::invalidate):
59978        (JSC::Bindings::RootObject::addRuntimeObject):
59979        (JSC::Bindings::RootObject::removeRuntimeObject):
59980        * bridge/runtime_root.h:
59981
599822011-02-24  James Robinson  <jamesr@chromium.org>
59983
59984        Fix chromium compile.
59985
59986        * bindings/v8/custom/V8LocationCustom.cpp:
59987        (WebCore::V8Location::toStringCallback):
59988
599892011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
59990
59991        Unreviewed, rolling out r79607.
59992        http://trac.webkit.org/changeset/79607
59993        https://bugs.webkit.org/show_bug.cgi?id=55157
59994
59995        Broke Chromium layout tests.
59996
59997        * html/shadow/MediaControls.cpp:
59998        (WebCore::MediaControls::updateVolumeSliderContainer):
59999        * rendering/RenderMediaControls.cpp:
60000        (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton):
60001        * rendering/RenderMediaControls.h:
60002        * rendering/RenderTheme.cpp:
60003        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
60004        * rendering/RenderTheme.h:
60005        * rendering/RenderThemeChromiumMac.h:
60006        * rendering/RenderThemeChromiumMac.mm:
60007        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
60008        * rendering/RenderThemeMac.h:
60009        * rendering/RenderThemeMac.mm:
60010        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
60011        * rendering/RenderThemeWin.cpp:
60012        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
60013        * rendering/RenderThemeWin.h:
60014
600152011-02-24  Anders Carlsson  <andersca@apple.com>
60016
60017        Reviewed by Sam Weinig.
60018
60019        Fix the clang -Woverloaded-virtual build.
60020
60021        JSLocation has a toString function which conflicts with the virtual JSObject::toString  member function.
60022        Fix this by renaming the implementation function from JSLocation::toString to JSLocation::toStringFunction.
60023
60024        * bindings/js/JSLocationCustom.cpp:
60025        (WebCore::JSLocation::toStringFunction):
60026        * bindings/v8/custom/V8LocationCustom.cpp:
60027        (WebCore::V8Location::toStringFunctionCallback):
60028        * page/Location.idl:
60029
600302011-02-24  Anders Carlsson  <andersca@apple.com>
60031
60032        Fix clang build.
60033
60034        * bindings/objc/WebScriptObject.mm:
60035        (-[WebUndefined release]):
60036        Release should be "oneway void".
60037
60038        (-[WebUndefined retainCount]):
60039        Return NSUIntegerMax instead of UINT_MAX.
60040
600412011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
60042
60043        Reviewed by Darin Adler.
60044
60045        Simplify RenderTheme::volumeSliderOffsetFromMuteButton, unduplicate code.
60046        https://bugs.webkit.org/show_bug.cgi?id=55157
60047
60048        Refactoring, no functional changes. Covered by existing tests.
60049
60050        RenderTheme::volumeSliderOffsetFromMuteButton has the same duplicated
60051        logic for all platforms. This patch:
60052        a) moves the common logic of determining absolute positioning to a
60053           platform-agnostic place;
60054        b) simplifies the method to return constant offset.
60055
60056        * html/shadow/MediaControls.cpp:
60057        (WebCore::volumeSliderOffset): Added new helper function,
60058            capturing common logic of finding the absolute position of the volume slider.
60059        (WebCore::MediaControls::updateVolumeSliderContainer): Changed to use the
60060            new helper.
60061        * rendering/RenderMediaControls.cpp:
60062        (WebCore::RenderMediaControls::volumeSliderOffsetRelativeToMuteButton): Simplified.
60063        * rendering/RenderMediaControls.h: Ditto.
60064        * rendering/RenderTheme.cpp:
60065        (WebCore::RenderTheme::volumeSliderOffsetRelativeToMuteButton): Ditto.
60066        * rendering/RenderTheme.h: Ditto.
60067        * rendering/RenderThemeChromiumMac.h: Ditto.
60068        * rendering/RenderThemeChromiumMac.mm: Ditto.
60069        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetRelativeToMuteButton): Ditto.
60070        * rendering/RenderThemeMac.h: Ditto.
60071        * rendering/RenderThemeMac.mm: Ditto.
60072        (WebCore::RenderThemeMac::volumeSliderOffsetRelativeToMuteButton): Ditto.
60073        * rendering/RenderThemeWin.cpp: Ditto.
60074        (WebCore::RenderThemeWin::volumeSliderOffsetRelativeToMuteButton): Ditto.
60075        * rendering/RenderThemeWin.h: Ditto.
60076
600772011-02-24  Tom Sepez  <tsepez@chromium.org>
60078
60079        Reviewed by Darin Fisher.
60080
60081        Make frameview resized event dispatch async so that it occurs
60082        after layout has completed.
60083
60084        https://bugs.webkit.org/show_bug.cgi?id=54467
60085        Test: fast/replaced/frame-removed-during-resize-smaller.html
60086
60087        * page/EventHandler.cpp:
60088        (WebCore::EventHandler::sendResizeEvent):
60089
600902011-02-24  Xianzhu Wang  <wangxianzhu@google.com>
60091
60092        Reviewed by Adam Barth.
60093
60094        Use loader->init() instead of loader->load() to avoid complex fake
60095        request loading and cleanup logic, and also avoid ResourceLoader leaks.
60096
60097        https://bugs.webkit.org/show_bug.cgi?id=55017
60098
60099        Test: svg/misc/SVGImage-leak-ResourceLoader.html
60100
60101        * svg/graphics/SVGImage.cpp:
60102        (WebCore::SVGImage::dataChanged):
60103
601042011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
60105
60106        Chromium Mac build fix after r79591.
60107
60108        * WebCore.gypi: Added RenderMediaControls to WebCore.gypi.
60109
601102011-02-24  Misha Tyutyunik  <michael.tyutyunik@nokia.com>
60111
60112        Reviewed by Andreas Kling.
60113
60114        [Qt] Dont use QPixmapCache if QPixmapCache::cacheLimit() is too small
60115        (2048Kb for now).
60116        https://bugs.webkit.org/show_bug.cgi?id=54887
60117
60118        No new tests required.
60119
60120        * platform/graphics/qt/GraphicsLayerQt.cpp:
60121        (WebCore::GraphicsLayerQtImpl::allowAcceleratedCompositingCache):
60122        (WebCore::GraphicsLayerQtImpl::drawLayerContent):
60123        (WebCore::GraphicsLayerQtImpl::paint):
60124        (WebCore::GraphicsLayerQtImpl::flushChanges):
60125
601262011-02-20  Martin Robinson  <mrobinson@igalia.com>
60127
60128        Reviewed by Nikolas Zimmermann.
60129
60130        [CAIRO] Support ImageBuffers clip operation on all Cairo ports
60131        https://bugs.webkit.org/show_bug.cgi?id=23526
60132
60133        Add support for ImageBuffer clipping on Cairo by emulating them with image
60134        masks. Since masking is immediate on Cairo, we must store the mask surfaces
60135        on a stack and apply them during restorePlatformState.
60136
60137        * platform/graphics/GraphicsContext.h: Add pushImageMask.
60138        * platform/graphics/cairo/GraphicsContextCairo.cpp:
60139        (WebCore::GraphicsContext::savePlatformState): Push an empty mask onto the
60140        stack, so we can keep track of when to actually apply the image mask.
60141        (WebCore::GraphicsContext::restorePlatformState): When we are ready to apply
60142        an image mask, use cairo_mask_surface to mask the group that we pushed onto
60143        our surface.
60144        (WebCore::GraphicsContext::pushImageMask): Added. This method will push a surface
60145        onto the image mask stack and push a group onto the Cairo state, so that the masking
60146        only affects what we paint after this point.
60147        * platform/graphics/cairo/GraphicsContextPlatformPrivateCairo.h: Added a class to keep
60148        track of image masking information after calls to pushImageMask.
60149        (WebCore::ImageMaskInformation::update): Added
60150        (WebCore::ImageMaskInformation::valid): Added
60151        (WebCore::ImageMaskInformation::maskSurface): Added
60152        (WebCore::ImageMaskInformation::maskRect): Added
60153        * platform/graphics/cairo/ImageBufferCairo.cpp:
60154        (WebCore::ImageBuffer::clip): Call GraphicsContext::pushImageMask.
60155
601562011-02-24  Dimitri Glazkov  <dglazkov@chromium.org>
60157
60158        Reviewed by Eric Carlson.
60159
60160        Add RenderMediaControls to Mac build, unduplicate one method.
60161        https://bugs.webkit.org/show_bug.cgi?id=55152
60162
60163        Refactoring, no functional changes.
60164
60165        * WebCore.xcodeproj/project.pbxproj: Added RenderMediaControls to project,
60166            ran sort-XCode-project-file.
60167        * rendering/RenderMediaControls.cpp: Moved ENABLE(VIDEO) and PLATFORM(WIN)
60168            defines to allow building on Mac.
60169        * rendering/RenderMediaControls.h: Ditto.
60170        * rendering/RenderThemeMac.mm:
60171        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton): Replaced guts
60172            with a call to RenderMediaControls function.
60173
601742011-02-24  James Robinson  <jamesr@chromium.org>
60175
60176        Unreviewed, rolling out r79584.
60177        http://trac.webkit.org/changeset/79584
60178        https://bugs.webkit.org/show_bug.cgi?id=44797
60179
60180        [chromium] Patch does not compile if ENABLE_FULLSCREEN_API is
60181        not set
60182
60183        * WebCore.gyp/WebCore.gyp:
60184        * WebCore.gypi:
60185
601862011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
60187
60188        Reviewed by Martin Robinson.
60189
60190        Do not cache the default cairo font options using a static
60191        variable. It fixes a memory leak reported by valgrind.
60192
60193        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
60194        (WebCore::getDefaultFontOptions):
60195        (WebCore::FontPlatformData::initializeWithFontFace):
60196
601972011-02-24  Andrew Wilson  <atwilson@chromium.org>
60198
60199        Unreviewed, rolling out r79570.
60200        http://trac.webkit.org/changeset/79570
60201        https://bugs.webkit.org/show_bug.cgi?id=54874
60202
60203        Breaks chromium build because glue/mocks/mock_web_frame.h/cc
60204        was not updated
60205
60206        * WebCore.exp.in:
60207
602082011-02-24  David Dorwin  <ddorwin@chromium.org>
60209
60210        Reviewed by Eric Seidel.
60211
60212        Enable WebKit Full Screen API in Chromium. The element becomes the full size of the window, but the window is not yet full screen. Support is disabled by default.
60213
60214        fullscreen javascript bindings not implemented for v8
60215        https://bugs.webkit.org/show_bug.cgi?id=44797
60216
60217        Tested by the existing fullscreen Layout Tests.
60218
60219        * WebCore.gyp/WebCore.gyp:
60220        * WebCore.gypi:
60221
602222011-02-24  Pavel Feldman  <pfeldman@chromium.org>
60223
60224        Reviewed by Yury Semikhatsky.
60225
60226        Web Inspector: move querySelectorAll from CSS agent to DOM agent where it belongs.
60227        https://bugs.webkit.org/show_bug.cgi?id=55131
60228
60229        Test: inspector/elements/dom-agent-query-selector.html
60230
60231        * inspector/Inspector.idl:
60232        * inspector/InspectorCSSAgent.cpp:
60233        * inspector/InspectorCSSAgent.h:
60234        * inspector/InspectorDOMAgent.cpp:
60235        (WebCore::InspectorDOMAgent::nodeToSelectOn):
60236        (WebCore::InspectorDOMAgent::querySelector):
60237        (WebCore::InspectorDOMAgent::querySelectorAll):
60238        * inspector/InspectorDOMAgent.h:
60239        * inspector/front-end/AuditRules.js:
60240        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
60241        * inspector/front-end/CSSStyleModel.js:
60242        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
60243        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
60244        (WebInspector.CSSStyleModel.prototype.addRule.callback):
60245        (WebInspector.CSSStyleModel.prototype.addRule):
60246
602472011-02-24  Eric Seidel  <eric@webkit.org>
60248
60249        Reviewed by Adam Barth.
60250
60251        Fragment parsing does not need to use HTMLSourceTracker
60252        https://bugs.webkit.org/show_bug.cgi?id=55011
60253
60254        Any performance gains from this patch are likely
60255        the result of working around:
60256        https://bugs.webkit.org/show_bug.cgi?id=55005
60257        (Which suggests that fixing bug 55005 will speed
60258        up normal HTML parsing substantially.)
60259
60260        Assuming I ran the numbers correct, here is the
60261        change from PerformanceTests/Parser/tiny-innerHTML:
60262        Before patch:
60263        avg 5586.1
60264        median 5594
60265        stdev 41.295157101045135
60266        min 5425
60267        max 5633
60268
60269        After Patch:
60270        avg 2603.9
60271        median 2609.5
60272        stdev 32.500615378789355
60273        min 2475
60274        max 2649
60275
60276        Removing just the HTMLSourceTracker calls brought our
60277        score from 5500 to 5200, removing the XSSFilter as well
60278        brought it to 2600 on my machine.
60279
60280        * html/parser/HTMLDocumentParser.cpp:
60281        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
60282        (WebCore::HTMLDocumentParser::pumpTokenizer):
60283        * html/parser/HTMLDocumentParser.h:
60284
602852011-02-24   Amruth Raj  <amruthraj@motorola.com> and Ravi Phaneendra Kasibhatla  <ravi.kasibhatla@motorola.com> and Alejandro G. Castro  <alex@igalia.com>
60286
60287        Reviewed by Martin Robinson.
60288
60289        [GTK] Implement WebEventFactory, WebErrors classes for WebKit2
60290        https://bugs.webkit.org/show_bug.cgi?id=48510
60291
60292        Exported static functions for GTK, we need them to create events
60293        in WebKit2.
60294
60295        * platform/PlatformKeyboardEvent.h:
60296        * platform/gtk/KeyEventGtk.cpp:
60297        (WebCore::PlatformKeyboardEvent::keyIdentifierForGdkKeyCode):
60298        (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode):
60299        (WebCore::PlatformKeyboardEvent::singleCharacterString):
60300
603012011-02-24  Martin Robinson  <mrobinson@igalia.com>
60302
60303        Reviewed by Xan Lopez.
60304
60305        [GTK] Remove the GFile GOwnPtr specialization
60306        https://bugs.webkit.org/show_bug.cgi?id=55154
60307
60308        Convert uses of GOwnPtr<GFile> to GRefPtr<GFile>.
60309
60310        No new tests. This should not change behavior.
60311
60312        * plugins/gtk/PluginPackageGtk.cpp: Fix include order and remove unnecessary include.
60313        (WebCore::PluginPackage::load): Use GRefPtr for GFile instead of GOwnPtr.
60314
603152011-02-24  Patrick Gansterer  <paroga@webkit.org>
60316
60317        Reviewed by Eric Seidel.
60318
60319        Rename PLATFORM(SKIA) to USE(SKIA)
60320        https://bugs.webkit.org/show_bug.cgi?id=55090
60321
60322        * config.h: Removed second define of PLATFORM(SKIA).
60323        * html/HTMLCanvasElement.cpp:
60324        * platform/graphics/FloatPoint.h:
60325        * platform/graphics/FloatRect.h:
60326        * platform/graphics/Gradient.cpp:
60327        * platform/graphics/Gradient.h:
60328        * platform/graphics/GraphicsContext.cpp:
60329        * platform/graphics/GraphicsContext.h:
60330        * platform/graphics/ImageSource.h:
60331        * platform/graphics/IntPoint.h:
60332        * platform/graphics/IntRect.h:
60333        * platform/graphics/Path.h:
60334        * platform/graphics/Pattern.cpp:
60335        * platform/graphics/Pattern.h:
60336        * platform/graphics/chromium/ContentLayerChromium.cpp:
60337        * platform/graphics/chromium/ContentLayerChromium.h:
60338        * platform/graphics/chromium/GLES2Canvas.cpp:
60339        * platform/graphics/chromium/ImageLayerChromium.cpp:
60340        * platform/graphics/chromium/LayerChromium.cpp:
60341        * platform/graphics/chromium/LayerRendererChromium.cpp:
60342        * platform/graphics/chromium/LayerRendererChromium.h:
60343        * platform/graphics/chromium/LayerTilerChromium.cpp:
60344        * platform/graphics/chromium/ShaderChromium.h:
60345        * platform/graphics/gpu/LoopBlinnPathProcessor.cpp:
60346        * platform/graphics/transforms/AffineTransform.h:
60347        * platform/graphics/transforms/TransformationMatrix.h:
60348        * platform/image-decoders/ImageDecoder.cpp:
60349        * platform/image-decoders/ImageDecoder.h:
60350        * rendering/svg/RenderSVGResourceSolidColor.cpp:
60351
603522011-02-24  Pavel Feldman  <pfeldman@chromium.org>
60353
60354        Reviewed by Yury Semikhatsky.
60355
60356        Web Inspector: follow up to 79566. USE_PARAM not declared
60357        https://bugs.webkit.org/show_bug.cgi?id=55155
60358
60359        * bindings/js/JSInjectedScriptHostCustom.cpp:
60360        (WebCore::JSInjectedScriptHost::currentCallFrame):
60361        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
60362        (WebCore::V8InjectedScriptHost::currentCallFrameCallback):
60363
603642011-02-24  Emil A Eklund  <eae@chromium.org>
60365
60366        Reviewed by Simon Fraser.
60367
60368        Add support for missing properties to getComputedStyle
60369        https://bugs.webkit.org/show_bug.cgi?id=23668
60370
60371        Implement getComputedStyle for the content, counter and outline-offset
60372        properties.
60373
60374        Test: fast/css/getComputedStyle/computed-style-properties.html
60375
60376        * css/CSSComputedStyleDeclaration.cpp:
60377        (WebCore::contentToCSSValue):
60378        (WebCore::counterToCSSValue):
60379        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
60380        * css/CSSPrimitiveValue.cpp:
60381        (WebCore::CSSPrimitiveValue::cssText):
60382        * css/CSSPrimitiveValue.h:
60383
603842011-02-24  Eric Seidel  <eric@webkit.org>
60385
60386        Reviewed by Adam Barth.
60387
60388        SegmentedString does not need an m_composite member
60389        https://bugs.webkit.org/show_bug.cgi?id=55083
60390
60391        Storing m_composite as distinct from m_substrings.isEmpty()
60392        was just error prone and eventually going to get us in trouble.
60393
60394        I also cleaned up some of the style in SegementedString.*
60395        since this file long predates check-webkit-style.
60396
60397        * platform/text/SegmentedString.cpp:
60398        (WebCore::SegmentedString::SegmentedString):
60399        (WebCore::SegmentedString::operator=):
60400        (WebCore::SegmentedString::length):
60401        (WebCore::SegmentedString::setExcludeLineNumbers):
60402        (WebCore::SegmentedString::clear):
60403        (WebCore::SegmentedString::append):
60404        (WebCore::SegmentedString::prepend):
60405        (WebCore::SegmentedString::advanceSubstring):
60406        (WebCore::SegmentedString::toString):
60407        * platform/text/SegmentedString.h:
60408        (WebCore::SegmentedSubstring::SegmentedSubstring):
60409        (WebCore::SegmentedSubstring::appendTo):
60410        (WebCore::SegmentedString::SegmentedString):
60411        (WebCore::SegmentedString::isComposite):
60412
604132011-02-24  David Kilzer  <ddkilzer@apple.com>
60414
60415        BUILD FIX: Add missing include for UnusedParam.h
60416
60417        Not reviewed.
60418
60419        * platform/mac/FileSystemMac.mm: Add include.  It should have
60420        originally been added with r76614.
60421
604222011-02-24  Vsevolod Vlasov  <vsevik@chromium.org>
60423
60424        Reviewed by Alexey Proskuryakov.
60425
60426        DumpRenderTree should reset frame opener between tests.
60427        https://bugs.webkit.org/show_bug.cgi?id=54874
60428
60429        No new tests. (no code affected, just exporting a method for DumpRenderTree use)
60430
60431        * WebCore.exp.in:
60432
604332011-02-24  Dirk Schulze  <krit@webkit.org>
60434
60435        Reviewed by Darin Adler.
60436
60437        Removing a SVG animation target during animation crashes WebKit
60438        https://bugs.webkit.org/show_bug.cgi?id=12065
60439
60440        SVGAnimations with IRI references via 'xlink:href' are slow
60441        https://bugs.webkit.org/show_bug.cgi?id=49437
60442
60443        Store reference to target element for SVG animation elements. This is important if the
60444        target gets referenced via 'xlink:href'. At the moment we would call getElementById() multiple
60445        times on every animation step. A very expensive operation. This will be avoided with this patch.
60446        On the other hand, we need to be sure that the target element is always valid. The reference is
60447        reset, if the target was removed from document or its destructor was called. A HashMap in
60448        SVGDocumentExtensions stores all mappings from target element to all current animation elements.
60449
60450        Tests: svg/custom/animate-target-id-changed.svg
60451               svg/custom/animate-target-removed-from-document.svg
60452
60453        * svg/SVGDocumentExtensions.cpp:
60454        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
60455        (WebCore::SVGDocumentExtensions::addAnimationElementToTarget): New animation gets applied to target.
60456        (WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget): Animation stoped, remove it from HashMap.
60457        (WebCore::SVGDocumentExtensions::removeAllAnimationElementsFromTarget): Target no longer in document, reset all
60458        references in SVG animation elements.
60459        * svg/SVGDocumentExtensions.h:
60460        * svg/SVGElement.cpp:
60461        (WebCore::SVGElement::~SVGElement):
60462        (WebCore::SVGElement::removedFromDocument):
60463        (WebCore::SVGElement::attributeChanged):
60464        * svg/SVGElement.h:
60465        * svg/SVGHKernElement.cpp:
60466        (WebCore::SVGHKernElement::removedFromDocument):
60467        * svg/SVGVKernElement.cpp:
60468        (WebCore::SVGVKernElement::removedFromDocument):
60469        * svg/animation/SVGSMILElement.cpp:
60470        (WebCore::SVGSMILElement::SVGSMILElement):
60471        (WebCore::SVGSMILElement::removedFromDocument):
60472        (WebCore::SVGSMILElement::eventBaseFor):
60473        (WebCore::SVGSMILElement::targetElement):
60474        * svg/animation/SVGSMILElement.h:
60475        (WebCore::SVGSMILElement::resetTargetElement):
60476
604772011-02-24  Simon Fraser  <simon.fraser@apple.com>
60478
60479        Reviewed by Eric Seidel.
60480
60481        REGRESSION: Accelerated transitions are jumpy
60482        https://bugs.webkit.org/show_bug.cgi?id=55022
60483
60484        When an accelerated transition used the default timing function,
60485        a typo in toCAMediaTimingFunction() resulting in the incorrect
60486        timing function being used.
60487
60488        Test: transitions/default-timing-function.html
60489
60490        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
60491        (toCAMediaTimingFunction):
60492
604932011-02-24  Andreas Kling  <kling@webkit.org>
60494
60495        Reviewed by Kenneth Rohde Christiansen.
60496
60497        [Qt] Remove bogus optimizations in TextBreakIteratorQt
60498        https://bugs.webkit.org/show_bug.cgi?id=55139
60499
60500        Let QTextBoundaryFinder hold a deep copy of the string data it's
60501        operating on, and don't use the same working buffer for all iterators.
60502
60503        * platform/text/qt/TextBreakIteratorQt.cpp:
60504        (WebCore::TextBreakIterator::TextBreakIterator):
60505        (WebCore::setUpIterator):
60506
605072011-02-24  Andrey Adaikin  <aandrey@google.com>
60508
60509        Reviewed by Pavel Feldman.
60510
60511        Web Inspector: [Text editor] Bug in the highlighter
60512        https://bugs.webkit.org/show_bug.cgi?id=54876
60513
60514        Tests: inspector/editor/highlighter-long-line.html
60515               inspector/editor/highlighter-paste-in-comment.html
60516
60517        * inspector/front-end/TextEditorHighlighter.js:
60518        (WebInspector.TextEditorHighlighter):
60519        (WebInspector.TextEditorHighlighter.prototype.set highlightChunkLimit):
60520        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
60521        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
60522
605232011-02-24  James Simonsen  <simonjam@chromium.org>
60524
60525        Reviewed by Tony Gentilcore.
60526
60527        [Web Timing] Zero out navigationStart and unloadEvent on cross-origin redirect
60528        https://bugs.webkit.org/show_bug.cgi?id=55068
60529
60530        Test: http/tests/misc/webtiming-origins.html
60531
60532        * page/PerformanceTiming.cpp:
60533        (WebCore::PerformanceTiming::navigationStart): Zero out on cross origin redirect.
60534        (WebCore::PerformanceTiming::unloadEventStart): Ditto.
60535        (WebCore::PerformanceTiming::unloadEventEnd): Ditto.
60536
605372011-02-24  Adam Klein  <adamk@chromium.org>
60538
60539        Reviewed by Darin Fisher.
60540
60541        [chromium] Add code to WebKit Chromium to allow access to NetworkStateNotifier
60542        https://bugs.webkit.org/show_bug.cgi?id=54516
60543
60544        Give Chromium's NetworkStateNotifier the ability to change the value
60545        of m_isOnLine, rather than making it always true.
60546
60547        No new tests, not sure how to test this. No other LayoutTests seem
60548        to exercise navigator.onLine.
60549
60550        * WebCore.gypi:
60551        * platform/network/NetworkStateNotifier.cpp:
60552        (WebCore::NetworkStateNotifier::setOnLine): Moved and renamed from NetworkStateNotifierAndroid.
60553        * platform/network/NetworkStateNotifier.h:
60554        (WebCore::NetworkStateNotifier::networkStateChange): Forward to setOnLine.
60555        * platform/network/android/NetworkStateNotifierAndroid.cpp: Removed.
60556        * platform/network/chromium/NetworkStateNotifierChromium.cpp: Removed.
60557        * platform/network/chromium/NetworkStateNotifierPrivate.h: Removed.
60558
605592011-02-24  Benjamin Poulain  <benjamin.poulain@nokia.com>
60560
60561        Reviewed by Eric Seidel.
60562
60563        Support building WebKit with Python 3
60564        https://bugs.webkit.org/show_bug.cgi?id=55038
60565
60566        Add support for Python 3 without breaking support for Python 2.
60567
60568        Main issues:
60569        -print is a function in Python 3
60570        -list.sort() no longer have the cmp parameter
60571        -string.uppercase and string.lowercase have been removed
60572
60573        * html/parser/create-html-entity-table:
60574
605752011-02-24  Chris Fleizach  <cfleizach@apple.com>
60576
60577        Reviewed by Eric Seidel.
60578
60579        AX: WebKit should expose MathML at least as well as it exposes ARIA role="math"
60580        https://bugs.webkit.org/show_bug.cgi?id=55049
60581
60582        Make <math> elements behave as ARIA math roles and use MathML::alttext as a
60583        possible accessible label.
60584
60585        Test: platform/mac/accessibility/math-alttext.html
60586
60587        * accessibility/AccessibilityRenderObject.cpp:
60588        (WebCore::AccessibilityRenderObject::accessibilityDescription):
60589        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
60590        * mathml/mathattrs.in:
60591
605922011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
60593
60594        Reviewed by Pavel Feldman.
60595
60596        Web Inspector: adjust protocol message format according to spec.
60597        https://bugs.webkit.org/show_bug.cgi?id=55140
60598
60599        * inspector/CodeGeneratorInspector.pm:
60600
606012011-02-24  Adam Roben  <aroben@apple.com>
60602
60603        Windows Production build fix
60604
60605        * platform/network/cf/AuthenticationCF.cpp: Add an extra #include as a workaround for
60606        <rdar://problem/9042114>.
60607
606082011-02-23  Pavel Feldman  <pfeldman@chromium.org>
60609
60610        Reviewed by Yury Semikhatsky.
60611
60612        Web Inspector: refactor inspect() workflow so that it did not push dom nodes.
60613        https://bugs.webkit.org/show_bug.cgi?id=55057
60614
60615        Test: inspector/console/command-line-api-inspect.html
60616
60617        I am working on getting rid of DOM agent pushes - everything should happen upon
60618        front-end request. This patch changes the way we handle inspect() command line
60619        api: instead of pushing nodes, we are telling front-end that inspect(object) has
60620        been requested. It is then up to front-end to request dom nodes and focus them in
60621        the tree. I also made inspect() work in a generic manner, using same routines for
60622        nodes, databases, storages and potentially new elements.
60623
60624        As a side-effect, we don't do console.log from within inspect() anymore, but dump
60625        inspected value as inspect's result.
60626
60627        Also, I added individual object release method and made object groups optional.
60628
60629        * bindings/js/JSInjectedScriptHostCustom.cpp:
60630        (WebCore::InjectedScriptHost::scriptValueAsNode):
60631        (WebCore::InjectedScriptHost::nodeAsScriptValue):
60632        (WebCore::JSInjectedScriptHost::inspect):
60633        (WebCore::JSInjectedScriptHost::databaseId):
60634        (WebCore::JSInjectedScriptHost::storageId):
60635        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
60636        (WebCore::InjectedScriptHost::scriptValueAsNode):
60637        (WebCore::InjectedScriptHost::nodeAsScriptValue):
60638        (WebCore::V8InjectedScriptHost::inspectCallback):
60639        (WebCore::V8InjectedScriptHost::databaseIdCallback):
60640        (WebCore::V8InjectedScriptHost::storageIdCallback):
60641        * inspector/InjectedScript.cpp:
60642        (WebCore::InjectedScript::nodeForObjectId):
60643        (WebCore::InjectedScript::releaseObject):
60644        (WebCore::InjectedScript::wrapForConsole):
60645        (WebCore::InjectedScript::inspectNode):
60646        * inspector/InjectedScript.h:
60647        * inspector/InjectedScriptHost.cpp:
60648        (WebCore::InjectedScriptHost::inspectImpl):
60649        (WebCore::InjectedScriptHost::databaseIdImpl):
60650        (WebCore::InjectedScriptHost::storageIdImpl):
60651        * inspector/InjectedScriptHost.h:
60652        * inspector/InjectedScriptHost.idl:
60653        * inspector/InjectedScriptSource.js:
60654        * inspector/Inspector.idl:
60655        * inspector/InspectorAgent.cpp:
60656        (WebCore::InspectorAgent::focusNode):
60657        * inspector/InspectorDOMAgent.cpp:
60658        * inspector/InspectorDOMAgent.h:
60659        * inspector/InspectorDOMStorageAgent.cpp:
60660        (WebCore::InspectorDOMStorageAgent::storageId):
60661        (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
60662        * inspector/InspectorDOMStorageAgent.h:
60663        * inspector/InspectorDOMStorageResource.cpp:
60664        * inspector/InspectorDOMStorageResource.h:
60665        * inspector/InspectorDatabaseAgent.cpp:
60666        (WebCore::InspectorDatabaseAgent::databaseId):
60667        * inspector/InspectorDatabaseAgent.h:
60668        * inspector/InspectorDatabaseResource.cpp:
60669        * inspector/InspectorDatabaseResource.h:
60670        * inspector/InspectorRuntimeAgent.cpp:
60671        (WebCore::InspectorRuntimeAgent::releaseObject):
60672        * inspector/InspectorRuntimeAgent.h:
60673        * inspector/front-end/AuditRules.js:
60674        (WebInspector.AuditRules.evaluateInTargetWindow):
60675        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
60676        * inspector/front-end/DOMStorage.js:
60677        * inspector/front-end/Database.js:
60678        * inspector/front-end/ExtensionServer.js:
60679        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
60680        * inspector/front-end/inspector.js:
60681        (WebInspector.inspect):
60682
606832011-02-22  Pavel Podivilov  <podivilov@chromium.org>
60684
60685        Reviewed by Pavel Feldman.
60686
60687        Web Inspector: refactor "script or resource" mess in scripts panel.
60688        https://bugs.webkit.org/show_bug.cgi?id=54961
60689
60690        - Use sourceName instead of scriptOrResource
60691        - Replace two huge functions _addScriptToFilesMenu and _showScriptOrResource that are
60692          calling each other recursively with small one-purpose non-recursive functions
60693
60694        Test: inspector/debugger/scripts-panel.html
60695
60696        * inspector/front-end/ScriptsPanel.js:
60697        (WebInspector.ScriptsPanel):
60698        (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
60699        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
60700        (WebInspector.ScriptsPanel.prototype._addScript):
60701        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
60702        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelectAndShowSourceFrameIfNeeded):
60703        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.optionCompare):
60704        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
60705        (WebInspector.ScriptsPanel.prototype.reset):
60706        (WebInspector.ScriptsPanel.prototype.canShowSourceLine):
60707        (WebInspector.ScriptsPanel.prototype.showSourceLine):
60708        (WebInspector.ScriptsPanel.prototype._showSourceFrame):
60709        (WebInspector.ScriptsPanel.prototype._sourceFrameForSourceName):
60710        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
60711        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
60712        (WebInspector.ScriptsPanel.prototype._addItemToBackForwardList):
60713        (WebInspector.ScriptsPanel.prototype._sourceNameForScript):
60714        (WebInspector.ScriptsPanel.prototype._scriptForSourceName):
60715        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
60716        (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
60717        (WebInspector.ScriptsPanel.prototype._goBack):
60718        (WebInspector.ScriptsPanel.prototype._goForward):
60719        * inspector/front-end/SourceFrame.js:
60720        (WebInspector.SourceFrame.prototype.setExecutionLine):
60721
607222011-02-24  Eric Seidel  <eric@webkit.org>
60723
60724        Reviewed by Adam Barth.
60725
60726        Fragment parsing does not need to use HTMLSourceTracker
60727        https://bugs.webkit.org/show_bug.cgi?id=55011
60728
60729        Any performance gains from this patch are likely
60730        the result of working around:
60731        https://bugs.webkit.org/show_bug.cgi?id=55005
60732        (Which suggests that fixing bug 55005 will speed
60733        up normal HTML parsing substantially.)
60734
60735        Assuming I ran the numbers correct, here is the
60736        change from PerformanceTests/Parser/tiny-innerHTML:
60737        Before patch:
60738        avg 5586.1
60739        median 5594
60740        stdev 41.295157101045135
60741        min 5425
60742        max 5633
60743
60744        After Patch:
60745        avg 2603.9
60746        median 2609.5
60747        stdev 32.500615378789355
60748        min 2475
60749        max 2649
60750
60751        Removing just the HTMLSourceTracker calls brought our
60752        score from 5500 to 5200, removing the XSSFilter as well
60753        brought it to 2600 on my machine.
60754
60755        * html/parser/HTMLDocumentParser.cpp:
60756        (WebCore::HTMLDocumentParser::HTMLDocumentParser):
60757        (WebCore::HTMLDocumentParser::pumpTokenizer):
60758        * html/parser/HTMLDocumentParser.h:
60759
607602011-02-24  Andras Becsi  <abecsi@webkit.org>
60761
60762        Reviewed by Laszlo Gombos.
60763
60764        [Qt] MinGW build fails to link
60765        https://bugs.webkit.org/show_bug.cgi?id=55050
60766
60767        Prepend the libraries of subcomponents instead of appending them
60768        to fix the library order according to the dependency of the libraries
60769
60770        No new tests needed.
60771
60772        * WebCore.pri:
60773
607742011-02-24  Adam Barth  <abarth@webkit.org>
60775
60776        Reviewed by Eric Seidel.
60777
60778        CSP's script-src should block JavaScript URLs
60779        https://bugs.webkit.org/show_bug.cgi?id=54787
60780
60781        Blocking JavaScript URLs required some re-architecting of the lifetime
60782        of the ContentSecurityPolicy object.  We now manage the lifetime the
60783        same way we manage the lifetime of the SecurityOrigin object.  In
60784        particular, when SecurityOrigin inherits into an about:blank iframe, we
60785        inherit the CSP object as well.  (This is covered by the test added in
60786        this patch.) In the future, we might consider making
60787        ContentSecurityPolicy a component of SecurityOrigin instead of a
60788        component of Document.
60789
60790        I noted the trickiness in
60791        http://www.w3.org/Security/wiki/Content_Security_Policies so that we'll
60792        make sure it gets defined properly in the spec.
60793
60794        Test: http/tests/security/contentSecurityPolicy/javascript-url.html
60795
60796        * bindings/ScriptControllerBase.cpp:
60797        (WebCore::ScriptController::executeIfJavaScriptURL):
60798        * dom/Document.cpp:
60799        (WebCore::Document::initSecurityContext):
60800        * dom/Document.h:
60801        (WebCore::Document::contentSecurityPolicy):
60802        * page/ContentSecurityPolicy.cpp:
60803        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
60804        * page/ContentSecurityPolicy.h:
60805        (WebCore::ContentSecurityPolicy::create):
60806
608072011-02-21  Philippe Normand  <pnormand@igalia.com>
60808
60809        Reviewed by Martin Robinson.
60810
60811        [GStreamer] GRefPtr support for GstElement
60812        https://bugs.webkit.org/show_bug.cgi?id=54870
60813
60814        * CMakeListsEfl.txt:
60815        * GNUmakefile.am:
60816        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: Added.
60817        (WTF::GstElement):
60818        * platform/graphics/gstreamer/GRefPtrGStreamer.h: Added.
60819        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
60820        (webKitWebSrcQuery):
60821
608222011-02-24  Emil A Eklund  <eae@chromium.org>
60823
60824        Reviewed by Eric Seidel.
60825
60826        Share code between elementFromPoint and caretRangeFromPoint in Document.
60827        https://bugs.webkit.org/show_bug.cgi?id=54610
60828
60829        Eliminate duplicate code by moving shared logic from elementFromPoint and
60830        caretRangeFromPoint into helper function.
60831
60832        * dom/Document.cpp:
60833        (WebCore::nodeFromPoint):
60834        (WebCore::Document::elementFromPoint):
60835        (WebCore::Document::caretRangeFromPoint):
60836
608372011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
60838
60839        Unreviewed build fix.
60840
60841        * inspector/InspectorDOMAgent.cpp:
60842        (WebCore::InspectorDOMAgent::removeAttribute):
60843        * inspector/InspectorResourceAgent.cpp:
60844        (WebCore::InspectorResourceAgent::cachedResources):
60845        * inspector/InspectorRuntimeAgent.cpp:
60846        (WebCore::InspectorRuntimeAgent::evaluate):
60847
608482011-02-24  Zan Dobersek  <zandobersek@gmail.com>
60849
60850        Reviewed by Eric Seidel.
60851
60852        [gtk] Failing collinear arcTo canvas tests
60853        https://bugs.webkit.org/show_bug.cgi?id=54658
60854
60855        Check for collinearity of the three points that affect how arcTo call
60856        results. This behavior is in accordance with the HTML standard.
60857
60858        No new tests added as this is already covered by at least two tests.
60859
60860        * platform/graphics/cairo/PathCairo.cpp:
60861        (WebCore::areaOfTriangleFormedByPoints):
60862        (WebCore::Path::addArcTo):
60863
608642011-02-24  Ilya Tikhonovsky  <loislo@chromium.org>
60865
60866        Reviewed by Pavel Feldman.
60867
60868        Web Inspector: There is a validator of the protocol message format.
60869
60870        It has two parts. InspectorBackendStub.js is the frontend part.
60871        InspectorBackendDispatcher.cpp is the backend part.
60872        Both parts are checking protocol message format and report the error if
60873        the message has not enough fields or the types of fields do not match with
60874        Inspector.idl specification. These validators are generated automatically.
60875
60876        In addition, we have a number of places at the backend where we check the
60877        function arguments and do nothing if the arguments are invalid
60878        from the business logic point of view.
60879
60880        This patch bring us an ability to report a custom error from such function to the frontend.
60881
60882        https://bugs.webkit.org/show_bug.cgi?id=54971
60883
60884        * inspector/CodeGeneratorInspector.pm:
60885        * inspector/InjectedScriptHost.cpp:
60886        * inspector/InspectorAgent.cpp:
60887        * inspector/InspectorAgent.h:
60888        * inspector/InspectorApplicationCacheAgent.cpp:
60889        * inspector/InspectorApplicationCacheAgent.h:
60890        * inspector/InspectorBrowserDebuggerAgent.cpp:
60891        * inspector/InspectorBrowserDebuggerAgent.h:
60892        * inspector/InspectorCSSAgent.cpp:
60893        * inspector/InspectorCSSAgent.h:
60894        * inspector/InspectorConsoleAgent.cpp:
60895        * inspector/InspectorConsoleAgent.h:
60896        * inspector/InspectorController.cpp:
60897        * inspector/InspectorDOMAgent.cpp:
60898        * inspector/InspectorDOMAgent.h:
60899        * inspector/InspectorDOMStorageAgent.cpp:
60900        * inspector/InspectorDOMStorageAgent.h:
60901        * inspector/InspectorDatabaseAgent.cpp:
60902        * inspector/InspectorDatabaseAgent.h:
60903        * inspector/InspectorDebuggerAgent.cpp:
60904        * inspector/InspectorDebuggerAgent.h:
60905        * inspector/InspectorProfilerAgent.cpp:
60906        * inspector/InspectorProfilerAgent.h:
60907        * inspector/InspectorResourceAgent.cpp:
60908        * inspector/InspectorResourceAgent.h:
60909        * inspector/InspectorRuntimeAgent.cpp:
60910        * inspector/InspectorRuntimeAgent.h:
60911        * inspector/InspectorTimelineAgent.cpp:
60912        * inspector/InspectorTimelineAgent.h:
60913
609142011-02-24  Ryosuke Niwa  <rniwa@webkit.org>
60915
60916        Reviewed by Ojan Vafai.
60917
60918        Crash when deleting inside a blockquote with a large offset
60919        https://bugs.webkit.org/show_bug.cgi?id=55098
60920
60921        The bug was caused by inconsistency in lineBreakExistsAtPosition and breakOutOfEmptyMailBlockquotedParagraph.
60922        While lineBreakExistsAtPosition was checking that a line break exists at the downstream of the given position,
60923        breakOutOfEmptyMailBlockquotedParagraph wasn't using the downstream for caretPos. Fixed the bug by using
60924        the downstream position to instantiate caretPos.
60925
60926        Co-author: Abhishek Arya <inferno@chromium.org>.
60927
60928        Test: editing/deleting/delete-blockquote-large-offsets.html
60929
60930        * editing/CompositeEditCommand.cpp:
60931        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
60932
609332011-02-24  Robert Kroeger  <rjkroege@chromium.org>
60934
60935        Reviewed by Darin Fisher.
60936
60937        Added timestamps to PlatformTouchEvent etc.
60938
60939        PlatformTouchEvent doesn't have a timestamp and so
60940        eventSender.leapForward cannot be used for touchevent based tests.
60941        This change adds a timestamp to PlatformTouchEvent and initializes
60942        it in a reasonable manner on Android and Qt platforms.
60943
60944        [chromium] [WebCore] [android] Touch events are missing time stamps
60945        https://bugs.webkit.org/show_bug.cgi?id=53510
60946
60947        * platform/PlatformTouchEvent.h:
60948        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
60949        (WebCore::PlatformTouchEvent::timestamp):
60950        * platform/android/PlatformTouchEventAndroid.cpp:
60951        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
60952        * platform/qt/PlatformTouchEventQt.cpp:
60953        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
60954
609552011-02-24  Renata Hodovan  <reni@webkit.org>
60956
60957        Unreviewed GTK, Snow Leopard build fix for r79474.
60958
60959        * platform/graphics/filters/FEConvolveMatrix.cpp:
60960        (WebCore::FEConvolveMatrix::setKernelUnitLength):
60961        * platform/graphics/filters/FEConvolveMatrix.h:
60962
609632011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
60964
60965        Reviewed by Xan Lopez.
60966
60967        Use IntRect instead of a pointer to a GtkAllocation struct to avoid
60968        unnecessary memory allocations.
60969
60970        * plugins/PluginView.h:
60971        * plugins/gtk/PluginViewGtk.cpp:
60972        (WebCore::PluginView::setNPWindowIfNeeded):
60973        (WebCore::PluginView::plugAddedCallback):
60974
609752011-02-24  Carlos Garcia Campos  <cgarcia@igalia.com>
60976
60977        Unreviewed. Fix the build with GTK+ 3.
60978
60979        * plugins/PluginView.h:
60980
609812011-02-23  Ryosuke Niwa  <rniwa@webkit.org>
60982
60983        Reviewed by Darin Adler.
60984
60985        Refactor HTMLEquivalent into a hierachy of classes
60986        https://bugs.webkit.org/show_bug.cgi?id=55025
60987
60988        Converted HTMLEquivalent into a class.  Some logic in removeImplicitlyStyledElement is
60989        extracted as member functions of HTMLEquivalent and its subclasses.
60990
60991        * editing/ApplyStyleCommand.cpp:
60992        (WebCore::HTMLEquivalent::create): Added.
60993        (WebCore::HTMLEquivalent::~HTMLEquivalent): Added.
60994        (WebCore::HTMLEquivalent::matches): Returns true if the element is an equivalent, meaning that
60995        the element's implicit style affects the property of this equivalence.
60996        (WebCore::HTMLEquivalent::hasAttribute): Returns true if this equivalence requires attributes;
60997        e.g. color, size, dir.
60998        (WebCore::HTMLEquivalent::propertyExistsInStyle): Returns true if the property of this equivalence
60999        exists in the specified style. e.g. if this equivalence is for size attribute and font-size property,
61000        this function returns true if the specified style has font-size property set.
61001        (WebCore::HTMLEquivalent::HTMLEquivalent): Added.
61002        (WebCore::HTMLEquivalent::valueIsPresentInStyle): Returns true if the specified style has the
61003        implicit style of the specified element of this equivalence.
61004        (WebCore::HTMLEquivalent::addToStyle): Adds the implicit style of the element of this equivalence
61005        to the specified mutable style.
61006        (WebCore::HTMLEquivalentValueList::create): Added.
61007        (WebCore::HTMLEquivalentValueList::HTMLEquivalentValueList): Added.
61008        (WebCore::HTMLEquivalentValueList::valueIsPresentInStyle): Added.
61009        (WebCore::HTMLEquivalentAttribute::create): Added.
61010        (WebCore::HTMLEquivalentAttribute::matches): Added.
61011        (WebCore::HTMLEquivalentAttribute::hasAttribute): Added.
61012        (WebCore::HTMLEquivalentAttribute::attributeName): Added.
61013        (WebCore::HTMLEquivalentAttribute::HTMLEquivalentAttribute): Added.
61014        (WebCore::HTMLEquivalentAttribute::valueIsPresentInStyle): Added.
61015        (WebCore::HTMLEquivalentAttribute::addToStyle): Added.
61016        (WebCore::HTMLEquivalentAttribute::attributeValueAsCSSValue): Added.
61017        (WebCore::HTMLEquivalentFontSizeAttribute::create): Added.
61018        (WebCore::HTMLEquivalentFontSizeAttribute::HTMLEquivalentFontSizeAttribute): Added.
61019        (WebCore::HTMLEquivalentFontSizeAttribute::attributeValueAsCSSValue): Added.
61020        (WebCore::ApplyStyleCommand::removeImplicitlyStyledElement): Uses new classes.
61021
610222011-02-23  Sheriff Bot  <webkit.review.bot@gmail.com>
61023
61024        Unreviewed, rolling out r79510.
61025        http://trac.webkit.org/changeset/79510
61026        https://bugs.webkit.org/show_bug.cgi?id=55114
61027
61028        It made ~200 tests crash on Qt bot (Requested by Ossy_ on
61029        #webkit).
61030
61031        * platform/text/TextBreakIterator.h:
61032        * platform/text/TextBreakIteratorICU.cpp:
61033        (WebCore::lineBreakIterator):
61034        * platform/text/qt/TextBreakIteratorQt.cpp:
61035        (WebCore::lineBreakIterator):
61036        * rendering/RenderBlock.h:
61037        * rendering/RenderBlockLineLayout.cpp:
61038        (WebCore::RenderBlock::layoutInlineChildren):
61039        (WebCore::RenderBlock::findNextLineBreak):
61040        * rendering/RenderText.cpp:
61041        (WebCore::RenderText::computePreferredLogicalWidths):
61042        * rendering/break_lines.cpp:
61043        (WebCore::nextBreakablePosition):
61044        * rendering/break_lines.h:
61045        (WebCore::isBreakable):
61046
610472011-02-23  Geoffrey Garen  <ggaren@apple.com>
61048
61049        Reviewed by Mark Rowe.
61050
61051        Used svn merge -r79502:79501 to roll out r79502 because it broke the
61052        SnowLeopard and Leopard builds.
61053
61054        * WebCore.xcodeproj/project.pbxproj:
61055        * platform/mac/HTMLConverter.h: Removed.
61056        * platform/mac/HTMLConverter.mm: Removed.
61057        * platform/mac/PasteboardMac.mm:
61058        (WebCore::Pasteboard::writeSelection):
61059
610602011-02-23  Beth Dakin  <bdakin@apple.com>
61061
61062        Reviewed by Dan Bernstein.
61063
61064        Fix for <rdar://problem/9002157> Garbage in the bottom right corner of the window
61065        when scrolling
61066
61067        When there is both a horizontal and a vertical scrollbar, it is necessary to
61068        include the space between them in the invalidation.
61069        * platform/ScrollableArea.cpp:
61070        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
61071
610722011-02-23  Ned Holbrook  <nholbrook@apple.com>
61073
61074        Reviewed by Dan Bernstein.
61075
61076        Minimize calls to ubrk_setText()
61077        https://bugs.webkit.org/show_bug.cgi?id=54912
61078        <rdar://problem/9032774>
61079
61080        Avoid calling ubrk_setText() once per call to isBreakable() by using a LazyLineBreakIterator, which defers
61081        break iterator creation until needed. This requires replacing the global line break iterator primitive with a
61082        version that can be nested, since in some cases two iterators may need to be outstanding. In particular,
61083        layoutInlineChildren() may indirectly call computePreferredLogicalWidths() and each may need an iterator.
61084        In a test with a paragraph of Japanese text, this reduced the number of ubrk_setText() calls from 164 to 1.
61085
61086        * platform/text/TextBreakIterator.h: Add LazyLineBreakIterator.
61087        (WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
61088        (WebCore::LazyLineBreakIterator::~LazyLineBreakIterator):
61089        (WebCore::LazyLineBreakIterator::string):
61090        (WebCore::LazyLineBreakIterator::length):
61091        (WebCore::LazyLineBreakIterator::get):
61092        (WebCore::LazyLineBreakIterator::reset):
61093        * platform/text/TextBreakIteratorICU.cpp: Replace lineBreakIterator() primitive with acquireLineBreakIterator()/releaseLineBreakIterator().
61094        (WebCore::acquireLineBreakIterator):
61095        (WebCore::releaseLineBreakIterator):
61096        * platform/text/qt/TextBreakIteratorQt.cpp: Ditto TextBreakIteratorICU.cpp.
61097        (WebCore::acquireLineBreakIterator):
61098        (WebCore::releaseLineBreakIterator):
61099        * rendering/RenderBlock.h:
61100        * rendering/RenderBlockLineLayout.cpp:
61101        (WebCore::RenderBlock::layoutInlineChildren): Pass a mapping of RenderText to LazyLineBreakIterator from one call of findNextLineBreak() to the next.
61102        (WebCore::RenderBlock::findNextLineBreak): Use said mapping, resetting LazyLineBreakIterator for any newly-encountered RenderText.
61103        * rendering/RenderText.cpp: Use a local LazyLineBreakIterator.
61104        (WebCore::RenderText::computePreferredLogicalWidths):
61105        * rendering/break_lines.cpp: Accept LazyLineBreakIterator rather than TextBreakIterator.
61106        (WebCore::nextBreakablePosition):
61107        * rendering/break_lines.h: Accept LazyLineBreakIterator rather than TextBreakIterator.
61108        (WebCore::isBreakable):
61109
611102011-02-23  Anders Carlsson  <andersca@apple.com>
61111
61112        Fix build.
61113
61114        * platform/mac/HTMLConverter.h:
61115
611162011-02-17  Enrica Casucci  <enrica@apple.com>
61117
61118        Reviewed by Darin Adler.
61119
61120        REGRESSION: Copied content loses formatting on paste to external apps.
61121        https://bugs.webkit.org/show_bug.cgi?id=47615
61122        <rdar://problem/9001214>
61123
61124        This patch adds a way for WebKit2 to create NSAttributedStrings from
61125        a DOM range without using the AppKit api initWithDOMRange that internally
61126        needs to access the WebView. The NSAttributedString is needed to create
61127        RTF formats in the pasteboard.
61128        This is to be considered a first step, since in the future we want to have
61129        an implementation based on the TextIterator.
61130
61131        * WebCore.xcodeproj/project.pbxproj: Added new file.
61132        * platform/mac/HTMLConverter.h: Added.
61133        * platform/mac/HTMLConverter.mm: Added.
61134        * platform/mac/PasteboardMac.mm:
61135        (WebCore::Pasteboard::writeSelection): We now use WebHTMLConverter
61136        class for WebKit2 to create the NSAttributedString from the DOM range.
61137
611382011-02-23  David Hyatt  <hyatt@apple.com>
61139
61140        Reviewed by Sam Weinig.
61141
61142        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61143
61144        Patch computePositionedLogicalHeightUsing to be writing-mode-aware.
61145
61146        * rendering/RenderBox.cpp:
61147        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
61148        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
61149        * rendering/RenderBox.h:
61150
611512011-02-23  Martin Robinson  <mrobinson@igalia.com>
61152
61153        Reviewed by Xan Lopez.
61154
61155        [Gtk] Flash item placed on wrong location right after load
61156        https://bugs.webkit.org/show_bug.cgi?id=37769
61157
61158        If a plugin is GtkSocket based, do not set the widget allocation until the
61159        window is actually embedded in the parent. When the window is embedded, use
61160        any pending allocation for the call to gtk_widget_size_allocate. This bug
61161        seems to only appear with Flash movies loaded as the src of an iframe.
61162
61163        * manual-tests/plugins/windowed-in-iframe.html: Added.
61164        * plugins/PluginView.h: Add a few new members to track window embedding state.
61165        * plugins/gtk/PluginViewGtk.cpp:
61166        (WebCore::PluginView::setNPWindowIfNeeded): If this is a GtkSocket-based plugin
61167        wait until the plug-added signal fires to set the widget allocation.
61168        (WebCore::PluginView::plugAddedCallback): Updated to be a static method, so that
61169        we can access private members. If there is a pending allocation, call gtk_widget_size_allocate
61170        with it.
61171        (WebCore::PluginView::platformStart): Update the plugin state, so that we do not
61172        call gtk_widget_size_allocate if the window isn't embedded.
61173
611742011-02-18  Enrica Casucci  <enrica@apple.com>
61175
61176        Reviewed by Adam Roben.
61177
61178        Mac OS X Services are not available for selected text in WebKit2 windows.
61179        https://bugs.webkit.org/show_bug.cgi?id=54777
61180        <rdar://problem/8666428>
61181
61182        The changes to WebCore for this bug are limited to exposing a new
61183        entry point in the Editor class to write to the pasteboard and
61184        changes to the Pasteboard class to write the selection with
61185        a given set of pasteboard types. The majority of the work
61186        is done in WebKit2.
61187
61188        * WebCore.exp.in:
61189        * editing/Editor.h:
61190        * editing/mac/EditorMac.mm: Added entrypoint to write the
61191        selection to the pasteboard.
61192        (WebCore::Editor::writeSelectionToPasteboard):
61193        * platform/Pasteboard.h:
61194        * platform/mac/ClipboardMac.mm:
61195        (WebCore::ClipboardMac::writeRange):
61196        * platform/mac/PasteboardMac.mm:
61197        (WebCore::Pasteboard::writeSelection):
61198
611992011-02-23  David Hyatt  <hyatt@apple.com>
61200
61201        Reviewed by Simon Fraser.
61202
61203        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61204
61205        Patch computePositionedLogicalHeight to be writing-mode-aware.  Functions it calls have not been
61206        patched yet, so still not testable in a vertical text environment.
61207
61208        * rendering/RenderBox.cpp:
61209        (WebCore::RenderBox::computePositionedLogicalHeight):
61210
612112011-02-23  David Hyatt  <hyatt@apple.com>
61212
61213        Reviewed by Sam Weinig.
61214
61215        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61216
61217        Patch computePositionedLogicalWidthUsing to be writing-mode-aware. Still not testable in a vertical text
61218        environment, since height computations will overwrite all values computed here until they are patched as well.
61219
61220        * rendering/RenderBox.cpp:
61221        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
61222        * rendering/RenderBox.h:
61223
612242011-02-23  Renata Hodovan  <reni@webkit.org>
61225
61226        Reviewed by Nikolas Zimmermann.
61227
61228        FEColorMatrixElement changes doesn't require relayout
61229        https://bugs.webkit.org/show_bug.cgi?id=54880
61230
61231        When the FEColorMatrixElement receives an update message but the given value remains the same we don't need
61232        to relayout the filter.
61233
61234        No new tests are needed because this modificiation is covered by the dynamic update tests of FEColorMatrix.
61235
61236        * platform/graphics/filters/FEColorMatrix.cpp:
61237        (WebCore::FEColorMatrix::setType):
61238        (WebCore::FEColorMatrix::setValues):
61239        * platform/graphics/filters/FEColorMatrix.h:
61240        * svg/SVGFEColorMatrixElement.cpp:
61241        (WebCore::SVGFEColorMatrixElement::setFilterEffectAttribute):
61242        (WebCore::SVGFEColorMatrixElement::svgAttributeChanged):
61243        * svg/SVGFEColorMatrixElement.h:
61244
612452011-02-23  James Robinson  <jamesr@chromium.org>
61246
61247        REGRESSION(79466): fast/parser/test-unicode-characters-in-attribute-name.html fails
61248
61249        Reverts TextCodecUTF16.cpp back to pre-79466 state.  The crash fix in 79466 was for UTF-8 only, it also caused the UTF16 path to fail.
61250
61251        * platform/text/TextCodecUTF16.cpp:
61252        (WebCore::newStreamingTextDecoderUTF16LE):
61253        (WebCore::newStreamingTextDecoderUTF16BE):
61254        (WebCore::TextCodecUTF16::decode):
61255        (WebCore::TextCodecUTF16::encode):
61256
612572011-02-23  David Hyatt  <hyatt@apple.com>
61258
61259        Reviewed by Sam Weinig.
61260
61261        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61262
61263        Patch computePositionedLogicalWidth to be writing-mode-aware.  Functions it calls have not been
61264        patched yet, so still not testable in a vertical text environment.
61265
61266        * rendering/RenderBox.cpp:
61267        (WebCore::RenderBox::computePositionedLogicalWidth):
61268
612692011-02-23  James Robinson  <jamesr@chromium.org>
61270
61271        Unreviewed, rolling out r79428.
61272        http://trac.webkit.org/changeset/79428
61273        https://bugs.webkit.org/show_bug.cgi?id=54714
61274
61275        Does not work in the Chromium sandbox
61276
61277        * websockets/WebSocketHandshake.cpp:
61278        (WebCore::generateSecWebSocketKey):
61279        (WebCore::generateKey3):
61280
612812011-02-23  David Hyatt  <hyatt@apple.com>
61282
61283        Reviewed by Sam Weinig.
61284
61285        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61286
61287        Add logical accessors for the left()/right()/top()/bottom() properties on the RenderStyle.
61288
61289        * rendering/style/RenderStyle.h:
61290        (WebCore::InheritedFlags::logicalLeft):
61291        (WebCore::InheritedFlags::logicalRight):
61292        (WebCore::InheritedFlags::logicalTop):
61293        (WebCore::InheritedFlags::logicalBottom):
61294
612952011-02-23  Darin Adler  <darin@apple.com>
61296
61297        Reviewed by Alexey Proskuryakov.
61298
61299        Fix crash seen in one of the regression tests.
61300
61301        * platform/text/TextCodecUTF16.cpp:
61302        (WebCore::TextCodecUTF16::decode): Handle case where we did not decode any new data,
61303        we were not told to flush, and we had a buffered byte. The assertion here was incorrect,
61304        and the correct thing to do is nothing.
61305
613062011-02-23  Sergey Glazunov  <serg.glazunov@gmail.com>
61307
61308        Reviewed by James Robinson.
61309
61310        SVGCursorElement::removeClient() should verify that its argument is connected with
61311        the proper cursor element.
61312        https://bugs.webkit.org/show_bug.cgi?id=54979
61313
61314        Test: svg/css/multiple-cursors-crash.html
61315
61316        * svg/SVGCursorElement.cpp:
61317        (WebCore::SVGCursorElement::removeClient):
61318
613192011-02-23  Renata Hodovan  <reni@webkit.org>
61320
61321        Reviewed by Darin Adler.
61322
61323        FEConvolveMatrixElement changes doesn't require relayout
61324        https://bugs.webkit.org/show_bug.cgi?id=55067
61325
61326        When the FEConvolveMatrixElement receives an update message but the
61327        given value remains the same we don't need to relayout the filter.
61328
61329        No new tests are needed because this modificiation is covered by the
61330        dynamic update tests of FEConvolveMatrix.
61331
61332        * platform/graphics/filters/FEConvolveMatrix.cpp:
61333        (WebCore::FEConvolveMatrix::setDivisor):
61334        (WebCore::FEConvolveMatrix::setBias):
61335        (WebCore::FEConvolveMatrix::setTargetOffset):
61336        (WebCore::FEConvolveMatrix::edgeMode):
61337        (WebCore::FEConvolveMatrix::setEdgeMode):
61338        (WebCore::FEConvolveMatrix::setPreserveAlpha):
61339        * platform/graphics/filters/FEConvolveMatrix.h:
61340        * svg/SVGFEConvolveMatrixElement.cpp:
61341        (WebCore::SVGFEConvolveMatrixElement::setFilterEffectAttribute):
61342        (WebCore::SVGFEConvolveMatrixElement::svgAttributeChanged):
61343        * svg/SVGFEConvolveMatrixElement.h:
61344
613452011-02-23  Geoffrey Garen  <ggaren@apple.com>
61346
61347        Reviewed by Darin Adler.
61348
61349        Rolled back in r79367 with SnowLeopard Release bot crash fixed.
61350        https://bugs.webkit.org/show_bug.cgi?id=54999
61351
61352        * ForwardingHeaders/wtf/DoublyLinkedList.h: Added.
61353
613542011-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
61355
61356        Reviewed by Darin Adler.
61357
61358        Add more thorough manual test coverage for media controls
61359        https://bugs.webkit.org/show_bug.cgi?id=55006
61360
61361        * manual-tests/media-controls.html: Added.
61362
613632011-02-23  Darin Adler  <darin@apple.com>
61364
61365        Fix build.
61366
61367        * platform/text/TextCodecUTF16.cpp:
61368        (WebCore::TextCodecUTF16::decode): Removed stray unused local variable.
61369
613702011-02-23  Dimitri Glazkov  <dglazkov@chromium.org>
61371
61372        Reviewed by Darin Adler.
61373
61374        Setting shadow host should also attach and set inDocument, just like
61375        appending/inserting a child.
61376        https://bugs.webkit.org/show_bug.cgi?id=55065
61377
61378        No new tests, because functionality is not yet used.
61379
61380        * dom/Element.cpp:
61381        (WebCore::Element::setShadowRoot): Add attaching and setting inDocument
61382            for the shadow DOM subtree, like the host.
61383
613842011-02-23  David Hyatt  <hyatt@apple.com>
61385
61386        Reviewed by Darin Adler and Simon Fraser.
61387
61388        https://bugs.webkit.org/show_bug.cgi?id=46500, make positioned elements work with vertical text.
61389
61390        - Add clientLogicalWidth and clientLogicalHeight that call the correct clientWidth or clientHeight based off
61391        writing-mode.
61392        - Patch clientLogicalBottom to use clientLogicalHeight.
61393        - Convert containingBlockWidthForPositioned and containingBlockHeightForPositioned to be logical and to make use of
61394        clientLogicalHeight/Width.  Also make them able to handle perpendicular writing mode containining blocks.
61395        - Refine containingBlockLogicalHeightForPositioned to match containingBlockLogicalWidthForPositioned more closely.
61396
61397        * rendering/RenderBox.cpp:
61398        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
61399        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
61400        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
61401        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
61402        (WebCore::RenderBox::computePositionedLogicalWidth):
61403        (WebCore::RenderBox::computePositionedLogicalHeight):
61404        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
61405        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
61406        * rendering/RenderBox.h:
61407        (WebCore::RenderBox::clientLogicalWidth):
61408        (WebCore::RenderBox::clientLogicalHeight):
61409        (WebCore::RenderBox::clientLogicalBottom):
61410
614112011-02-23  Darin Adler  <darin@apple.com>
61412
61413        Reviewed by Alexey Proskuryakov.
61414
61415        REGRESSION (new UTF-8 decoder): Reproducible crash on alltommac.se
61416        https://bugs.webkit.org/show_bug.cgi?id=54862
61417
61418        Correct handling of end of buffer partial sequence in UTF-8 and UTF-16 decoders when flushing with zero length
61419        https://bugs.webkit.org/show_bug.cgi?id=54444
61420
61421        No new tests at this time. I will add some tests later, but since multiple
61422        people are hitting this I wanted to get it in as quickly as possible.
61423
61424        * platform/text/TextCodecUTF16.cpp:
61425        (WebCore::TextCodecUTF16::decode): Tweaked coding style quite a bit.
61426        Removed special case for zero length now that main code handles it
61427        correctly. Used words instead of abbreviations for local variable names.
61428        Added error handling for a trailing byte.
61429
61430        * platform/text/TextCodecUTF8.cpp:
61431        (WebCore::TextCodecUTF8::consumePartialSequenceByte): Added. Helper function
61432        to make the handleError and handlePartialSequence functions clearer.
61433        (WebCore::TextCodecUTF8::handleError): Added. Helper function to make the
61434        handlePartialSequence clearer.
61435        (WebCore::TextCodecUTF8::handlePartialSequence): Added. Factored out code for
61436        the partial sequence case. Making this a separate function probably helps make
61437        the fast case a little faster. This new version handles more cases correctly,
61438        which is what fixes the crashes we were seeing. In particular, it no longer
61439        assumes that the partial sequence is truly partial, because there are cases
61440        where we end up handling complete sequences here, such as when a complete
61441        sequence is inside a malformed partial sequence.
61442        (WebCore::TextCodecUTF8::decode): Removed partial sequence code and made this
61443        call handlePartialSequence instead. Could be streamlined if we double checked
61444        that passing a reference to "destination" and "source" doesn't harm code
61445        generation too much, so perhaps someone can do that research on a few compilers
61446        later and clean this up. Removed special case for zero length now that the
61447        main code handles that correctly.
61448
61449        * platform/text/TextCodecUTF8.h: Added declarations for new functions.
61450        Made partial sequence buffer large enough to hold a whole sequence so we can
61451        use it to complete and decode a sequence in place.
61452
614532011-02-23  Abhishek Arya  <inferno@chromium.org>
61454
61455        Reviewed by Dave Hyatt.
61456
61457        Make clear float lineboxes resilient against overflows.
61458        https://bugs.webkit.org/show_bug.cgi?id=54995
61459
61460        We try to dirty everthing in block range if we have a negative
61461        logical bottom, or if our logical bottom is less than our logical
61462        top, or if our logical top is equal to INT_MAX. Plus, we also dirty
61463        a linebox if its block logical height is less than zero.
61464        Tests: fast/overflow/overflow-height-float-not-removed-crash2.html
61465               fast/overflow/overflow-height-float-not-removed-crash3.html
61466
61467        * rendering/RenderBlock.cpp:
61468        (WebCore::RenderBlock::removeFloatingObject):
61469        (WebCore::RenderBlock::markLinesDirtyInBlockRange):
61470        * rendering/RootInlineBox.cpp:
61471        (WebCore::RootInlineBox::alignBoxesInBlockDirection): remove the hack
61472        added in r69735. we don't need this anymore since we are making the
61473        underlying float dirty logic resilient.
61474
614752011-02-22  Kenneth Russell  <kbr@google.com>
61476
61477        Reviewed by Darin Fisher.
61478
61479        Per-page minimum DOMTimer interval broken for repeating timers
61480        https://bugs.webkit.org/show_bug.cgi?id=55014
61481
61482        When the minimum timer interval is adjusted, if the timer is
61483        repeating, cause its repeat interval to be set to its original
61484        timeout clamped to the new minimum interval.
61485
61486        Tests: fast/dom/timer-increase-min-interval-repeating.html
61487               fast/dom/timer-increase-then-decrease-min-interval-repeating.html
61488
61489        * page/DOMTimer.cpp:
61490        (WebCore::DOMTimer::adjustMinimumTimerInterval):
61491
614922011-02-23  Dan Bernstein  <mitz@apple.com>
61493
61494        Reviewed by Maciej Stachowiak.
61495
61496        Fix two issues seen in WebKit2 views on Mac:
61497        - <rdar://problem/8867831> WebKit2: Insertion points in form fields no longer blink
61498        - <rdar://problem/8950362> REGRESSION (WebKit2): Cannot deselect text
61499
61500        * page/EventHandler.cpp:
61501        (WebCore::EventHandler::EventHandler): Initialize m_activationEventNumber
61502        to -1. Since WebKit2 doesn�t support non-activating clicks yet (<http://webkit.org/b/55053>
61503        <rdar://problem/9042197>) and doesn�t send event numbers, all events were considered to be
61504        window-activating events. This in turn prevented them from clearing the selection and resuming
61505        caret blinking on mouse up.
61506
615072011-02-23  Jacob Dinu  <dinu.jacob@nokia.com>
61508
61509        Reviewed by Pavel Feldman.
61510
61511        Web Inspector: Linking error for some InspectorController symbols
61512        https://bugs.webkit.org/show_bug.cgi?id=54953
61513
61514        Moved out hideHighlight definition from under JAVASCRIPT_DEBUGGER flag
61515
61516        * inspector/InspectorController.cpp:
61517        (WebCore::InspectorController::hideHighlight):
61518        (WebCore::InspectorController::resume):
61519
615202011-02-23  Hans Wennborg  <hans@chromium.org>
61521
61522        IndexedDB: Move some SQL code into IDBBackingStore
61523        https://bugs.webkit.org/show_bug.cgi?id=54889
61524
61525        The idea is to gather all the SQL logic into IDBBackingStore.
61526
61527        No new functionality, so no new tests.
61528
61529        * storage/IDBBackingStore.cpp:
61530        (WebCore::IDBBackingStore::IDBBackingStore):
61531        (WebCore::runCommands):
61532        (WebCore::createTables):
61533        (WebCore::createMetaDataTable):
61534        (WebCore::getDatabaseSchemaVersion):
61535        (WebCore::migrateDatabase):
61536        (WebCore::IDBBackingStore::open):
61537        (WebCore::IDBBackingStore::extractIDBDatabaseMetaData):
61538        (WebCore::IDBBackingStore::setIDBDatabaseMetaData):
61539        (WebCore::IDBBackingStore::getObjectStores):
61540        (WebCore::IDBBackingStore::createObjectStore):
61541        (WebCore::doDelete):
61542        (WebCore::IDBBackingStore::deleteObjectStore):
61543        (WebCore::whereSyntaxForKey):
61544        (WebCore::bindKeyToQuery):
61545        (WebCore::IDBBackingStore::getObjectStoreRecord):
61546        (WebCore::bindKeyToQueryWithNulls):
61547        (WebCore::IDBBackingStore::putObjectStoreRecord):
61548        (WebCore::IDBBackingStore::deleteIndexDataForRecord):
61549        (WebCore::IDBBackingStore::putIndexDataForRecord):
61550        (WebCore::IDBBackingStore::createIndex):
61551        (WebCore::IDBBackingStore::deleteIndex):
61552        (WebCore::IDBBackingStore::clearObjectStore):
61553        * storage/IDBBackingStore.h:
61554        * storage/IDBDatabaseBackendImpl.cpp:
61555        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
61556        (WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
61557        (WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
61558        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
61559        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
61560        * storage/IDBFactoryBackendImpl.cpp:
61561        (WebCore::IDBFactoryBackendImpl::IDBFactoryBackendImpl):
61562        (WebCore::IDBFactoryBackendImpl::addIDBBackingStore):
61563        (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
61564        (WebCore::IDBFactoryBackendImpl::open):
61565        * storage/IDBFactoryBackendImpl.h:
61566        * storage/IDBObjectStoreBackendImpl.cpp:
61567        (WebCore::IDBObjectStoreBackendImpl::getInternal):
61568        (WebCore::IDBObjectStoreBackendImpl::putInternal):
61569        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
61570        (WebCore::populateIndex):
61571        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
61572        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
61573
615742011-02-23  Siddharth Mathur  <siddharth.mathur@nokia.com>
61575
61576        Reviewed by Laszlo Gombos.
61577
61578        [Qt] Fix the Symbian build after r79334
61579        https://bugs.webkit.org/show_bug.cgi?id=55044
61580
61581        No new tests as there is no new functionality.
61582
61583        * WebCore.pri: Reorder symbian blocks to make sure that
61584        system-sqlite is set before it is tested.
61585
61586        Copy the rules from JavaScriptCore.pri for defineTest().
61587
615882011-02-23  Patrick Gansterer  <paroga@webkit.org>
61589
61590        Reviewed by Alexey Proskuryakov.
61591
61592        Use AtomicString::fromUTF8 instead of String::fromUTF8 for AtomicStrings
61593        https://bugs.webkit.org/show_bug.cgi?id=54992
61594
61595        * websockets/WebSocketHandshake.cpp:
61596        (WebCore::WebSocketHandshake::readHTTPHeaders):
61597
615982011-02-23  Patrick Gansterer  <paroga@webkit.org>
61599
61600        Reviewed by Andreas Kling.
61601
61602        [CMake] Move platform dependent files out of main CMakeLists.txt
61603        https://bugs.webkit.org/show_bug.cgi?id=53891
61604
61605        Apple Windows port does not use the image decoders,
61606        so move them into the platform specific CMake files.
61607
61608        * CMakeLists.txt:
61609        * CMakeListsEfl.txt:
61610        * CMakeListsWinCE.txt:
61611
616122011-02-21  Stephen White  <senorblanco@chromium.org>
61613
61614        Reviewed by Kenneth Russell.
61615
61616        Jittering when animating a rotated image
61617        https://bugs.webkit.org/show_bug.cgi?id=50775
61618
61619        Since Skia does not seem to suffer from pixel cracks when scaling to
61620        non-integral sizes the way CG does, no-op roundToDevicePixels on the
61621        Skia implementation.
61622
61623        * platform/graphics/skia/GraphicsContextSkia.cpp:
61624        (WebCore::GraphicsContext::roundToDevicePixels):
61625
616262011-02-23  Patrick Gansterer  <paroga@webkit.org>
61627
61628        Reviewed by Andreas Kling.
61629
61630        [WINCE] Get rid of TemporaryLinkStubs.cpp
61631        https://bugs.webkit.org/show_bug.cgi?id=54825
61632
61633        * CMakeListsWinCE.txt:
61634        * platform/network/win/CookieStorageWin.cpp: Copied from platform/wince/TemporaryLinkStubs.cpp.
61635        * platform/wince/TemporaryLinkStubs.cpp: Removed.
61636
616372011-02-23  Patrick Gansterer  <paroga@webkit.org>
61638
61639        Reviewed by Darin Adler.
61640
61641        Rename PLATFORM(CF) to USE(CF)
61642        https://bugs.webkit.org/show_bug.cgi?id=53540
61643
61644        * WebCore.gyp/WebCore.gyp:
61645        * editing/SmartReplace.cpp:
61646        * editing/SmartReplaceICU.cpp:
61647        * loader/MainResourceLoader.cpp:
61648        (WebCore::MainResourceLoader::didReceiveResponse):
61649        (WebCore::MainResourceLoader::didReceiveData):
61650        (WebCore::MainResourceLoader::didFinishLoading):
61651        (WebCore::MainResourceLoader::didFail):
61652        * loader/archive/ArchiveFactory.cpp:
61653        (WebCore::archiveMIMETypes):
61654        * platform/FileSystem.h:
61655        * platform/KURL.h:
61656        * platform/KURLGoogle.cpp:
61657        * platform/RunLoopTimer.h:
61658        * platform/SharedBuffer.cpp:
61659        * platform/SharedBuffer.h:
61660        * platform/UUID.cpp:
61661        (WebCore::createCanonicalUUIDString):
61662        * platform/network/ResourceHandle.h:
61663        * platform/network/ResourceRequestBase.h:
61664        * platform/network/curl/ResourceHandleCurl.cpp:
61665        * platform/network/curl/ResourceHandleManager.cpp:
61666        (WebCore::certificatePath):
61667        * platform/text/cf/StringCF.cpp:
61668        * platform/text/cf/StringImplCF.cpp:
61669        * platform/win/BString.cpp:
61670        * platform/win/BString.h:
61671        * platform/win/ClipboardUtilitiesWin.cpp:
61672        (WebCore::getWebLocData):
61673        (WebCore::getURL):
61674        (WebCore::getClipboardData):
61675        * platform/win/ClipboardWin.cpp:
61676        (WebCore::writeFileToDataObject):
61677        * platform/win/SearchPopupMenuWin.cpp:
61678        (WebCore::SearchPopupMenuWin::enabled):
61679        (WebCore::SearchPopupMenuWin::saveRecentSearches):
61680        (WebCore::SearchPopupMenuWin::loadRecentSearches):
61681
616822011-02-23  Benjamin Kalman  <kalman@chromium.org>
61683
61684        Reviewed by Ojan Vafai.
61685
61686        Moving or selecting backwards by words jumps to start of contenteditable region if contenteditable=false span is encountered
61687        https://bugs.webkit.org/show_bug.cgi?id=51001
61688
61689        Test: editing/selection/extend-backward-by-word-over-non-editable.html
61690
61691        Revert some previous changes (the TextIteratorEndsAtEditingBoundary text iteration behaviour) which caused this
61692        bug in the first place, and fix SimplifiedBackwardsTextIterator's iteration range check as an alternative fix.
61693
61694        The original bug was that double-clicking on an inline editable span at the start of a paragraph would clear the
61695        selection (webkit.org/b/36360).  This was caused by upstream/downstream VisbiblePosition complications.  To fix,
61696        refuse to iterate beyond the start node (rather than refusing to iterate across editable boundaries, which
61697        causes this bug).
61698
61699        To see why this is correct, and to make it clearer that is indeed what is happening, the text iterator code has
61700        been slightly restructured to express the invariant that the iterator will never advance past the start node.
61701
61702        * editing/TextIterator.cpp:
61703        (WebCore::TextIterator::TextIterator): Remove references to TextIterationEndsAtEditing boundary.
61704        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator): Remove m_pastStartNode as the
61705        mechanism for iteration range checking, and use a flag m_havePassedStartNode instead.
61706        (WebCore::SimplifiedBackwardsTextIterator::advance): Clean up, use advanceRespectingRange and
61707        m_havePassedStartNode for iteration range checking rather than m_pastStartNode.
61708        (WebCore::SimplifiedBackwardsTextIterator::advanceRespectingRange): The new way of modifying m_node
61709        which updates m_havePassedStartNode and refuses to continue when it becomes true.
61710        * editing/TextIterator.h: Remove TextIteratorEndsAtEditingBoundary, update for new/removed prototypes and
61711        member variables.
61712        * editing/visible_units.cpp:
61713        (WebCore::previousBoundary): Remove references to TextIteratorEndsAtEditingBoundary.
61714
617152011-02-23  Fumitoshi Ukai  <ukai@chromium.org>
61716
61717        Reviewed by Adam Barth.
61718
61719        WebSocket uses insecure random numbers
61720        https://bugs.webkit.org/show_bug.cgi?id=54714
61721
61722        * websockets/WebSocketHandshake.cpp:
61723        (WebCore::randomNumberLessThan):
61724        (WebCore::generateSecWebSocketKey):
61725        (WebCore::generateKey3):
61726
617272011-02-21  Hans Wennborg  <hans@chromium.org>
61728
61729        Reviewed by Jeremy Orlow.
61730
61731        IndexedDB: Rename IDBSQLiteDatabase to IDBBackingStore
61732        https://bugs.webkit.org/show_bug.cgi?id=54864
61733
61734        No new functionality, so no new tests.
61735
61736        * GNUmakefile.am:
61737        * WebCore.gypi:
61738        * storage/IDBBackingStore.cpp:
61739        (WebCore::IDBBackingStore::IDBBackingStore):
61740        (WebCore::IDBBackingStore::~IDBBackingStore):
61741        * storage/IDBBackingStore.h:
61742        (WebCore::IDBBackingStore::create):
61743        (WebCore::IDBBackingStore::db):
61744        * storage/IDBCursorBackendImpl.cpp:
61745        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
61746        (WebCore::IDBCursorBackendImpl::currentRowExists):
61747        (WebCore::IDBCursorBackendImpl::database):
61748        * storage/IDBCursorBackendImpl.h:
61749        (WebCore::IDBCursorBackendImpl::create):
61750        * storage/IDBDatabaseBackendImpl.cpp:
61751        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
61752        (WebCore::IDBDatabaseBackendImpl::sqliteDatabase):
61753        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
61754        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
61755        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
61756        * storage/IDBDatabaseBackendImpl.h:
61757        (WebCore::IDBDatabaseBackendImpl::create):
61758        * storage/IDBFactoryBackendImpl.cpp:
61759        (WebCore::IDBFactoryBackendImpl::removeIDBBackingStore):
61760        (WebCore::openSQLiteDatabase):
61761        (WebCore::IDBFactoryBackendImpl::open):
61762        * storage/IDBFactoryBackendImpl.h:
61763        * storage/IDBIndexBackendImpl.cpp:
61764        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
61765        (WebCore::IDBIndexBackendImpl::openCursorInternal):
61766        (WebCore::IDBIndexBackendImpl::sqliteDatabase):
61767        * storage/IDBIndexBackendImpl.h:
61768        (WebCore::IDBIndexBackendImpl::create):
61769        * storage/IDBObjectStoreBackendImpl.cpp:
61770        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
61771        (WebCore::IDBObjectStoreBackendImpl::createIndex):
61772        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
61773        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
61774        (WebCore::IDBObjectStoreBackendImpl::sqliteDatabase):
61775        * storage/IDBObjectStoreBackendImpl.h:
61776        (WebCore::IDBObjectStoreBackendImpl::create):
61777
617782011-02-23  Dominic Mazzoni  <dmazzoni@google.com>
61779
61780        Reviewed by Kenneth Russell.
61781
61782        Add a hit test handler for canvas elements that handles clicks on the canvas but ignores children.
61783        https://bugs.webkit.org/show_bug.cgi?id=54697
61784
61785        New test to prevent this from regressing in the future: canvas/canvas-mouse-events.html
61786
61787        * rendering/RenderHTMLCanvas.cpp:
61788        (WebCore::RenderHTMLCanvas::nodeAtPoint):
61789
617902011-02-23  Patrick Gansterer  <paroga@webkit.org>
61791
61792        Reviewed by Darin Adler.
61793
61794        Remove obsolete focusRingColor functions
61795        https://bugs.webkit.org/show_bug.cgi?id=54824
61796
61797        * CMakeListsWinCE.txt:
61798        * platform/graphics/haiku/ColorHaiku.cpp:
61799        * platform/graphics/wince/ColorWinCE.cpp: Removed.
61800
618012011-02-22  Jia Pu  <jpu@apple.com>
61802
61803        Reviewed by Dan Bernstein.
61804
61805        On Mac OS X, English contractions are marked misspelled with certain user preference setting.
61806        https://bugs.webkit.org/show_bug.cgi?id=54975
61807
61808        manual test: manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html
61809
61810        Without this patch, we check for contraction only when autocorrection or other type of auto-
61811        substituation is on. And we failed to check for contraction if only spellchecking is turned on.
61812        This patch implements the desired behavior, checking for contraction when either correction/substitution,
61813        or spellchecking, is on.
61814
61815        * editing/Editor.cpp:
61816        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
61817        * manual-tests/autocorrection/spellcheck-on-contraction-when-autocorrection-is-off.html: Added.
61818
618192011-02-22  Charlie Reis  <creis@chromium.org>
61820
61821        Reviewed by Darin Fisher.
61822
61823        Remove DatabasePolicy from FrameLoaderTypes
61824        https://bugs.webkit.org/show_bug.cgi?id=54968
61825
61826        The DatabasePolicy enum is no longer needed now that we avoid stopping
61827        loaders on same-document navigations.
61828
61829        Existing test: storage/hash-change-with-xhr.html
61830
61831        * WebCore.exp.in:
61832        * loader/DocumentLoader.cpp:
61833        * loader/DocumentLoader.h:
61834        * loader/FrameLoader.cpp:
61835        * loader/FrameLoader.h:
61836        * loader/FrameLoaderTypes.h:
61837        * workers/WorkerThread.cpp:
61838
618392011-02-22  Alexis Menard  <alexis.menard@openbossa.org>
61840
61841        Reviewed by Andreas Kling.
61842
61843        [Qt] QWebView ignores a palette set with QWebView::setPalette()
61844        https://bugs.webkit.org/show_bug.cgi?id=31742
61845
61846        Use custom QWebView palette if the view provides one.
61847        Modified version of a patch made by Fabrizio Machado.
61848
61849        * platform/qt/RenderThemeQt.cpp:
61850        (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
61851        (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
61852        (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
61853        (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
61854        (WebCore::RenderThemeQt::platformFocusRingColor):
61855
618562011-02-22  Brian Salomon  <bsalomon@google.com>
61857
61858        Reviewed by Kenneth Russell.
61859
61860        Don't disable accelerated canvas when using the skia gpu backend.
61861
61862        No new tests are required.
61863
61864        * html/canvas/CanvasRenderingContext2D.cpp:
61865        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation):
61866
618672011-02-22  Luiz Agostini  <luiz.agostini@openbossa.org>
61868
61869        Reviewed by Kenneth Rohde Christiansen.
61870
61871        [Qt] <select>s on http://www.ryanair.com render wrong
61872        https://bugs.webkit.org/show_bug.cgi?id=29647
61873
61874        Reducing padding in <select> elements to improve its rendering and introducing a
61875        rendering adjustment specific to QMacStyle.
61876
61877        * platform/qt/RenderThemeQt.cpp:
61878        (WebCore::RenderThemeQt::setPopupPadding):
61879        (WebCore::RenderThemeQt::paintMenuList):
61880
618812011-02-22  Andreas Kling  <kling@webkit.org>
61882
61883        Reviewed by Dan Bernstein.
61884
61885        FontCache: Make cTargetInactiveFontData an int instead of float.
61886        https://bugs.webkit.org/show_bug.cgi?id=54963
61887
61888        * platform/graphics/FontCache.cpp:
61889
618902011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
61891
61892        Reviewed by Darin Adler.
61893
61894        Make Editor::selectionComputedStyle return EditingStyle
61895        https://bugs.webkit.org/show_bug.cgi?id=54933
61896
61897        Renamed selectionComputedStyle to selectionStartStyle and changed the return type to EditingStyle.
61898        It also no longer takes a boolean shouldUseFixedFontDefaultSize.
61899
61900        Also added EditingStyle::mergeTypingStyle which replaced old editingStyleIncludingTypingStyle. This function
61901        doesn't extract inheritable properties prior to merge because this turned out be a bug, which was revealed
61902        by an existing layout test only after the code was shared with selectionStartStyle.
61903
61904        No tests are added since this is a refactoring.
61905
61906        * editing/CompositeEditCommand.cpp:
61907        (WebCore::CompositeEditCommand::moveParagraphs): Calls EditingStyle::create and EditingStyle::mergeTypingStyle.
61908        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem): Ditto.
61909        * editing/EditingStyle.cpp: Removed editingStyleIncludingTypingStyle.
61910        (WebCore::EditingStyle::mergeTypingStyle): Added.
61911        * editing/EditingStyle.h:
61912        (WebCore::EditingStyle::shouldUseFixedDefaultFontSize): Added.
61913        * editing/Editor.cpp:
61914        (WebCore::Editor::selectionStartHasStyle): Calls selectionStartStyle.
61915        (WebCore::Editor::selectionHasStyle): Ditto.
61916        (WebCore::Editor::selectionStartCSSPropertyValue): Ditto.
61917        (WebCore::Editor::selectionStartStyle): Renamed from selectionComputedStyle; returns EditingStyle.
61918        * editing/Editor.h:
61919        * editing/EditorCommand.cpp:
61920        (WebCore::executeToggleStyleInList): Calls selectionStartStyle.
61921        * editing/InsertLineBreakCommand.cpp:
61922        * editing/InsertParagraphSeparatorCommand.cpp:
61923        (WebCore::InsertParagraphSeparatorCommand::calculateStyleBeforeInsertion): Calls EditingStyle::create and
61924        EditingStyle::mergeTypingStyle.
61925        * editing/ReplaceSelectionCommand.cpp:
61926        (WebCore::ReplaceSelectionCommand::doApply): Ditto.
61927
619282011-02-22  Robert Hogan  <robert@webkit.org>
61929
61930        Reviewed by Andreas Kling.
61931
61932        [Qt] painting of windowed plugins faulty on certain scroll events
61933
61934        https://bugs.webkit.org/show_bug.cgi?id=52735
61935
61936        Invalidate the pluginview's relative rect rather then the frameRect(). This is because QWebFrame::renderRelativeCoords()
61937        imitates ScrollView and adds the scroll offset back on to the rect we damage here (making the co-ordinates absolute
61938        to the frame again) before passing it to FrameView.
61939
61940        * plugins/qt/PluginViewQt.cpp:
61941        (WebCore::PluginView::updatePluginWidget):
61942
619432011-02-22  Philippe Normand  <pnormand@igalia.com>
61944
61945        Reviewed by Martin Robinson.
61946
61947        Minimal build broken
61948        https://bugs.webkit.org/show_bug.cgi?id=54743
61949
61950        Moved the code of setInspectorExtensionAPI and
61951        dispatchMessageFromFrontend out of #if
61952        ENABLE(JAVASCRIPT_DEBUGGER) to fix link error of the minimal build.
61953
61954        * inspector/InspectorController.cpp:
61955        (WebCore::InspectorController::setInspectorExtensionAPI):
61956        (WebCore::InspectorController::dispatchMessageFromFrontend):
61957
619582011-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
61959
61960        Unreviewed, rolling out r79367.
61961        http://trac.webkit.org/changeset/79367
61962        https://bugs.webkit.org/show_bug.cgi?id=55012
61963
61964        all layout tests are crashing on Snow Leopard (Requested by
61965        rniwa on #webkit).
61966
61967        * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
61968
619692011-02-22  Ryosuke Niwa  <rniwa@webkit.org>
61970
61971        Reviewed by Darin Adler.
61972
61973        Deploy EditingStyle in removeInlineStyleFromElement and removeCSSStyle
61974        https://bugs.webkit.org/show_bug.cgi?id=54944
61975
61976        Deployed EditingStyle in removeInlineStyleFromElement and removeCSSStyle.
61977
61978        Also extracted EditingStyle::conflictsWithInlineStyleOfElement from ApplyStyleCommand::removeCSSStyle,
61979        which returns true iff the specified element has inline style that conflicts or matches the editing style.
61980        It also appends conflicting property IDs to the vector of property IDs if one is specified.
61981
61982        * editing/ApplyStyleCommand.cpp:
61983        (WebCore::ApplyStyleCommand::applyBlockStyle): Calls removeCSSStyle.
61984        (WebCore::ApplyStyleCommand::applyInlineStyle): Calls shouldSplitTextElement.
61985        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Calls removeInlineStyleFromElement.
61986        (WebCore::ApplyStyleCommand::removeInlineStyleFromElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
61987        (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto; extracted the logic to decide properties to remove as
61988        conflictsWithInlineStyleOfElement.
61989        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Calls shouldRemoveInlineStyleFromElement.
61990        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Calls removeInlineStyleFromElement.
61991        (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto.
61992        (WebCore::ApplyStyleCommand::shouldSplitTextElement): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
61993        * editing/ApplyStyleCommand.h:
61994        (WebCore::ApplyStyleCommand::shouldRemoveInlineStyleFromElement): Ditto.
61995        * editing/EditingStyle.cpp:
61996        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Extracted from ApplyStyleCommand::removeCSSStyle.
61997        * editing/EditingStyle.h:
61998        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement): Added.
61999
620002011-02-22  Chang Shu  <cshu@webkit.org>
62001
62002        Reviewed by Csaba Osztrogonác.
62003
62004        [Qt] editing/deleting/5408255.html fails
62005        https://bugs.webkit.org/show_bug.cgi?id=54964
62006
62007        Move WebCore resource file to QtWebKit since they are referred in WebKit.
62008
62009        * WebCore.pro:
62010
620112011-02-22  Brady Eidson  <beidson@apple.com>
62012
62013        Reviewed by Anders Carlsson.
62014
62015        <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
62016        API to view and delete Application Cache data by origin.
62017
62018        Implement these to be used by WK2 API:
62019        * loader/appcache/ApplicationCacheStorage.cpp:
62020        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
62021        (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
62022
620232011-02-22  Geoffrey Garen  <ggaren@apple.com>
62024
62025        Reviewed by Oliver Hunt.
62026
62027        Manage MarkedBlocks in a linked list instead of a vector, so arbitrary removal is O(1)
62028        https://bugs.webkit.org/show_bug.cgi?id=54999
62029
62030        New WTF header.
62031
62032        * ForwardingHeaders/wtf/DoublyLinkedList.h: Copied from ForwardingHeaders/wtf/FixedArray.h.
62033
620342011-02-22  Beth Dakin  <bdakin@apple.com>
62035
62036        Reviewed by Sam Weinig.
62037
62038        Fix for https://bugs.webkit.org/show_bug.cgi?id=54991
62039        Scrollbar::nativeTheme()->usesOverlayScrollbars() should not be consulted for CSS
62040        Scrollbars
62041        -and corresponding-
62042        <rdar://problem/9034318>
62043
62044        Instead of consulting the theme directly, callers should ask the Scrollbar or
62045        ScrollableArea if the scrollbars are overlay or not.
62046
62047        * platform/ScrollView.cpp:
62048        (WebCore::ScrollView::visibleContentRect):
62049        (WebCore::ScrollView::scrollContents):
62050        (WebCore::ScrollView::wheelEvent):
62051        * platform/ScrollableArea.cpp:
62052        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
62053        (WebCore::ScrollableArea::hasOverlayScrollbars):
62054        * platform/ScrollableArea.h:
62055        * platform/Scrollbar.cpp:
62056        (WebCore::Scrollbar::isOverlayScrollbar):
62057        * platform/Scrollbar.h:
62058        * rendering/RenderBox.cpp:
62059        (WebCore::RenderBox::includeVerticalScrollbarSize):
62060        (WebCore::RenderBox::includeHorizontalScrollbarSize):
62061        * rendering/RenderLayer.cpp:
62062        (WebCore::RenderLayer::verticalScrollbarWidth):
62063        (WebCore::RenderLayer::horizontalScrollbarHeight):
62064        * rendering/RenderListBox.cpp:
62065        (WebCore::RenderListBox::verticalScrollbarWidth):
62066        * rendering/RenderScrollbar.h:
62067        (WebCore::RenderScrollbar::isOverlayScrollbar):
62068
620692011-02-22  Andras Becsi  <abecsi@webkit.org>
62070
62071        Reviewed by Csaba Osztrogonác.
62072
62073        [Qt] Redesign the build system
62074        https://bugs.webkit.org/show_bug.cgi?id=51339
62075
62076        Move inspector's resource files into the final build step to fix the layout test regression.
62077
62078        No new tests needed.
62079
62080        * WebCore.pro: Move inspector's resource files into QtWebKit.pro.
62081
620822011-02-22  Martin Robinson  <mrobinson@igalia.com>
62083
62084        Reviewed by Xan Lopez.
62085
62086        [GTK] fast/frames/iframe-scale-applied-twice.html fails after r79167
62087        https://bugs.webkit.org/show_bug.cgi?id=54990
62088
62089        No new tests. This will cause fast/events/scroll-after-click-on-tab-index.html
62090        to start passing again.
62091
62092        * platform/gtk/ScrollViewGtk.cpp:
62093        (WebCore::ScrollView::visibleContentRect): Update this method to match the original
62094        in the parent class.
62095
620962011-01-17  Martin Robinson  <mrobinson@igalia.com>
62097
62098        Reviewed by Xan Lopez.
62099
62100        [GTK] fast/events/scroll-after-click-on-tab-index has been failing on the bots
62101        https://bugs.webkit.org/show_bug.cgi?id=49177
62102
62103        * platform/ScrollView.cpp: Remove the GTK+ guards around the implementation
62104        of platformAddChild and platformRemoveChild. This code can be shared.
62105        * platform/gtk/MainFrameScrollbarGtk.cpp:
62106        (MainFrameScrollbarGtk::attachAdjustment): Prevent re-attaching an already attached
62107        adjustment. Connect the adjustment value-changed signal handler after resetting the
62108        adjustment. This prevents the rest from stomping on pre-existing WebCore values.
62109        (MainFrameScrollbarGtk::gtkValueChanged): If the scrollbar is no longer attached to
62110        a scrollview do not listing for value changes. These scrollbars are defunct.
62111        * platform/gtk/ScrollViewGtk.cpp: Remove duplicated empty methods.
62112
621132011-02-22  Pavel Feldman  <pfeldman@chromium.org>
62114
62115        Reviewed by Yury Semikhatsky.
62116
62117        Web Inspector: refactor InjectedScript : InspectorDOMAgent interaction.
62118        https://bugs.webkit.org/show_bug.cgi?id=54954
62119
62120        * bindings/js/JSInjectedScriptHostCustom.cpp:
62121        (WebCore::InjectedScriptHost::toNode):
62122        (WebCore::JSInjectedScriptHost::inspect):
62123        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
62124        (WebCore::InjectedScriptHost::toNode):
62125        (WebCore::V8InjectedScriptHost::inspectCallback):
62126        * inspector/CodeGeneratorInspector.pm:
62127        * inspector/InjectedScript.cpp:
62128        (WebCore::InjectedScript::nodeForObjectId):
62129        * inspector/InjectedScript.h:
62130        * inspector/InjectedScriptHost.cpp:
62131        (WebCore::InjectedScriptHost::inspect):
62132        * inspector/InjectedScriptHost.h:
62133        * inspector/InjectedScriptHost.idl:
62134        * inspector/InjectedScriptSource.js:
62135        (.):
62136        * inspector/Inspector.idl:
62137        * inspector/InspectorAgent.cpp:
62138        (WebCore::InspectorAgent::focusNode):
62139        * inspector/InspectorAgent.h:
62140        * inspector/InspectorDOMAgent.cpp:
62141        (WebCore::InspectorDOMAgent::inspect):
62142        (WebCore::InspectorDOMAgent::pushNodeToFrontend):
62143        * inspector/InspectorDOMAgent.h:
62144        * inspector/front-end/AuditRules.js:
62145        (WebInspector.AuditRules.evaluateInTargetWindow):
62146        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
62147        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
62148        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.receivedImages):
62149        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.pushImageNodes):
62150        * inspector/front-end/ConsoleView.js:
62151        (WebInspector.ConsoleView.prototype.completions):
62152        * inspector/front-end/DOMAgent.js:
62153        (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
62154        (WebInspector.DOMDispatcher.prototype.inspectElementRequested):
62155        * inspector/front-end/RemoteObject.js:
62156        (WebInspector.RemoteObject.prototype.pushNodeToFrontend):
62157
621582011-02-22  Brady Eidson  <beidson@apple.com>
62159
62160        Reviewed by Anders Carlsson.
62161
62162        Part of <rdar://problem/8762042> and https://bugs.webkit.org/show_bug.cgi?id=54514
62163        API to view and delete Application Cache data by origin.
62164
62165        Stub these out for now:
62166        * loader/appcache/ApplicationCacheStorage.cpp:
62167        (WebCore::ApplicationCacheStorage::getOriginsWithCache):
62168        (WebCore::ApplicationCacheStorage::deleteEntriesForOrigin):
62169        (WebCore::ApplicationCacheStorage::deleteAllEntries): Moved implementation here from WebKit/Mac
62170        * loader/appcache/ApplicationCacheStorage.h:
62171
62172        Export the new symbols:
62173        * WebCore.exp.in:
62174
621752011-02-22  Anders Carlsson  <andersca@apple.com>
62176
62177        Fix debug build.
62178
62179        * WebCore.exp.in:
62180
621812011-02-22  Balazs Kelemen  <kbalazs@webkit.org>
62182
62183        Reviewed by Anders Carlsson.
62184
62185        notImplemented() should behave identical in WebCore and WebKit2
62186        https://bugs.webkit.org/show_bug.cgi?id=54449
62187
62188        No functional change so no new tests.
62189
62190        * WebCore.xcodeproj/project.pbxproj: Add NotImplemented.h as private header
62191        to be able to use it in WebKit2.
62192
621932011-02-22  Andras Becsi  <abecsi@webkit.org>
62194
62195        Reviewed by Laszlo Gombos.
62196        Rubber-stamped by Csaba Osztrogonác.
62197
62198        [Qt] Redesign the build system
62199        https://bugs.webkit.org/show_bug.cgi?id=51339
62200
62201        The patch landed in r79320 didn't contain the cleanup
62202        which was already addressed in the last attachment.
62203
62204        No new tests needed.
62205
62206        * WebCore.pri: Add common LIB and CONFIG options.
62207        * WebCore.pro: Add accidentally moved sections.
62208
622092011-02-22  Philippe Normand  <pnormand@igalia.com>
62210
62211        Unreviewed, rolling out r79321.
62212        http://trac.webkit.org/changeset/79321
62213        https://bugs.webkit.org/show_bug.cgi?id=53146
62214
62215        Regresses  fast/forms/listbox-typeahead-cyrillic.html and fast
62216        /spatial-navigation/snav-single-select.html on GTK
62217
62218        * accessibility/gtk/AXObjectCacheAtk.cpp:
62219        (WebCore::notifyChildrenSelectionChange):
62220        (WebCore::AXObjectCache::postPlatformNotification):
62221
622222011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
62223
62224        Reviewed by Yury Semikhatsky.
62225
62226        Web Inspector: Inspector.IDL change. rename attribute notify -> event.
62227        https://bugs.webkit.org/show_bug.cgi?id=54958
62228
62229        * inspector/CodeGeneratorInspector.pm:
62230        * inspector/Inspector.idl:
62231
622322011-02-22  Yury Semikhatsky  <yurys@chromium.org>
62233
62234        Reviewed by Pavel Feldman.
62235
62236        Web Inspector: Timeline agent should have same lifetime as InspectorAgent
62237        https://bugs.webkit.org/show_bug.cgi?id=54951
62238
62239        * inspector/CodeGeneratorInspector.pm:
62240        * inspector/Inspector.idl:
62241        * inspector/InspectorAgent.cpp:
62242        (WebCore::InspectorAgent::InspectorAgent):
62243        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
62244        (WebCore::InspectorAgent::setFrontend):
62245        (WebCore::InspectorAgent::disconnectFrontend):
62246        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
62247        (WebCore::InspectorAgent::didCommitLoad):
62248        (WebCore::InspectorAgent::domContentLoadedEventFired):
62249        (WebCore::InspectorAgent::loadEventFired):
62250        * inspector/InspectorAgent.h:
62251        * inspector/InspectorController.cpp:
62252        (WebCore::InspectorController::startTimelineProfiler):
62253        (WebCore::InspectorController::stopTimelineProfiler):
62254        (WebCore::InspectorController::timelineProfilerEnabled):
62255        * inspector/InspectorInstrumentation.cpp:
62256        (WebCore::InspectorInstrumentation::retrieveTimelineAgent):
62257        * inspector/InspectorTimelineAgent.cpp:
62258        (WebCore::InspectorTimelineAgent::~InspectorTimelineAgent):
62259        (WebCore::InspectorTimelineAgent::setFrontend):
62260        (WebCore::InspectorTimelineAgent::clearFrontend):
62261        (WebCore::InspectorTimelineAgent::restore):
62262        (WebCore::InspectorTimelineAgent::startTimelineProfiler):
62263        (WebCore::InspectorTimelineAgent::stopTimelineProfiler):
62264        (WebCore::InspectorTimelineAgent::timelineProfilerStarted):
62265        (WebCore::InspectorTimelineAgent::didCommitLoad):
62266        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
62267        (WebCore::InspectorTimelineAgent::clearRecordStack):
62268        * inspector/InspectorTimelineAgent.h:
62269        (WebCore::InspectorTimelineAgent::create):
62270        * inspector/front-end/TimelinePanel.js:
62271        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
62272
622732011-02-22  Ilya Tikhonovsky  <loislo@chromium.org>
62274
62275        Reviewed by Pavel Feldman.
62276
62277        Web Inspector: flakyness of inspector tests.
62278        https://bugs.webkit.org/show_bug.cgi?id=54729
62279
62280        As far as we have the protocol with sequence numbers we can simplify test harness support
62281        and drop out chomium specific methods.
62282
62283        * inspector/CodeGeneratorInspector.pm:
62284        * inspector/front-end/TestController.js:
62285        (WebInspector.TestController):
62286        (WebInspector.TestController.prototype.notifyDone):
62287        (WebInspector.TestController.prototype.runAfterPendingDispatches):
62288        (WebInspector.TestController.prototype._evaluateForTestInFrontend):
62289        * inspector/front-end/inspector.js:
62290        (WebInspector.dispatch):
62291
622922011-02-22  Mario Sanchez Prada  <msanchez@igalia.com>
62293
62294        Reviewed by Martin Robinson.
62295
62296        [GTK] Combo boxes should emit object:selection-changed even when collapsed
62297        https://bugs.webkit.org/show_bug.cgi?id=53146
62298
62299        Emit the selection-changed signals when the menu list value has changed
62300
62301        Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
62302
62303        * accessibility/gtk/AXObjectCacheAtk.cpp:
62304        (WebCore::getListObject): New, return the right list object for
62305        menu lists and list boxes.
62306        (WebCore::notifyChildrenSelectionChange): Support menu lists.
62307        (WebCore::AXObjectCache::postPlatformNotification): Call function
62308        notifyChildrenSelectionChange for AXMenuListValueChanged.
62309
623102011-02-22  Andras Becsi  <abecsi@webkit.org>
62311
62312        Reviewed by Laszlo Gombos.
62313
62314        [Qt] Redesign the build system
62315        https://bugs.webkit.org/show_bug.cgi?id=51339
62316
62317        Part 2.
62318
62319        Build WebCore as a static library, compile the WebKit API and WebKit2 API
62320        in a final step and link to WebKit2, WebCore and JSC libraries to fix
62321        linking issues resulting from stripped away symbols.
62322
62323        No new tests needed.
62324
62325        * WebCore.pri: Add needed rules for handling the static library.
62326        * WebCore.pro: Reorganize API and linker options to QtWebKit.pro.
62327
623282011-02-22  Pavel Podivilov  <podivilov@chromium.org>
62329
62330        Reviewed by Pavel Feldman.
62331
62332        Web Inspector: [REGRESSION] navigation does not work when inspector is opened.
62333        https://bugs.webkit.org/show_bug.cgi?id=54947
62334
62335        * inspector/InspectorAgent.cpp:
62336        (WebCore::InspectorAgent::restoreInspectorStateFromCookie):
62337        * inspector/InspectorState.cpp:
62338        (WebCore::InspectorState::loadFromCookie):
62339        * inspector/InspectorState.h:
62340
623412011-02-15  Jer Noble  <jer.noble@apple.com>
62342
62343        Reviewed by Darin Adler.
62344
62345        Built-in HTML5 <audio> (and sometimes <video>) UI doesn't update playhead location or time displays
62346        https://bugs.webkit.org/show_bug.cgi?id=46142
62347
62348        Push a LayoutStateMaintainer in RenderMedia::layout() before calling layout() on the
62349        container elements.  This is necessary because, during layout(), the child renderers
62350        query the current LayoutState to determine where they will be repainting.  If a new
62351        LayoutState is not pushed here, child renderers will attempt to repaint relative to
62352        their grandparent's origin instead of their parents', and repaint operations will fail.
62353
62354        * rendering/RenderMedia.cpp:
62355        (WebCore::RenderMedia::layout):
62356
623572011-02-22  Benjamin Poulain  <benjamin.poulain@nokia.com>
62358
62359        Reviewed by Kenneth Rohde Christiansen.
62360
62361        Cleaning: remove a overzealous check for the pointer "files" from Chrome::setToolTip()
62362        https://bugs.webkit.org/show_bug.cgi?id=54952
62363
62364        Remove the unnecessary condition from the if(), HTMLInputElement::files() always return
62365        a valid reference for the input type FileInputType.
62366
62367        * page/Chrome.cpp:
62368        (WebCore::Chrome::setToolTip):
62369
623702011-02-21  Pavel Podivilov  <podivilov@chromium.org>
62371
62372        Reviewed by Pavel Feldman.
62373
62374        Web Inspector: extract source mapping from SourceFrame to DebuggerPresentationModel.
62375        https://bugs.webkit.org/show_bug.cgi?id=54645
62376
62377        This is needed to map one script to several source files.
62378
62379        Test: inspector/debugger/source-frame.html
62380
62381        * WebCore.gypi:
62382        * WebCore.vcproj/WebCore.vcproj:
62383        * inspector/front-end/DebuggerPresentationModel.js: Added.
62384        (WebInspector.DebuggerPresentationModel):
62385        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForSourceName):
62386        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
62387        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
62388        (WebInspector.DebuggerPresentationModel.prototype._breakpointResolved):
62389        (WebInspector.DebuggerPresentationModel.prototype._encodeSourceLocation):
62390        (WebInspector.DebuggerPresentationModel.prototype._actualLocationToSourceLocation):
62391        * inspector/front-end/ScriptsPanel.js:
62392        (WebInspector.ScriptsPanel):
62393        (WebInspector.ScriptsPanel.prototype._breakpointAdded):
62394        (WebInspector.ScriptsPanel.prototype._breakpointRemoved):
62395        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
62396        (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
62397        (WebInspector.ScriptsPanel.prototype._addSourceFrame):
62398        (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
62399        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
62400        (WebInspector.ScriptsPanel.prototype._clearCurrentExecutionLine):
62401        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
62402        (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
62403        * inspector/front-end/SourceFrame.js:
62404        (WebInspector.SourceFrame.prototype.get loaded):
62405        (WebInspector.SourceFrame.prototype._createTextViewer):
62406        (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
62407        (WebInspector.SourceFrame.prototype.setExecutionLine):
62408        (WebInspector.SourceFrame.prototype.clearExecutionLine):
62409        (WebInspector.SourceFrame.prototype.addBreakpoint):
62410        (WebInspector.SourceFrame.prototype.removeBreakpoint):
62411        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
62412        (WebInspector.SourceFrame.prototype._contextMenu.addConditionalBreakpoint):
62413        (WebInspector.SourceFrame.prototype._findBreakpoint.filter):
62414        (WebInspector.SourceFrame.prototype._findBreakpoint):
62415        * inspector/front-end/WebKit.qrc:
62416        * inspector/front-end/inspector.html:
62417
624182011-02-22  Andrey Kosyakov  <caseq@chromium.org>
62419
62420        Reviewed by Pavel Feldman.
62421
62422        Web Inspector: provide a button to expand inspector toolbar when not all panel buttons fit
62423        https://bugs.webkit.org/show_bug.cgi?id=54671
62424
62425        - factored toolbar handling out of inspector.js
62426        - added toolbar dropdown
62427
62428        * WebCore.gypi:
62429        * WebCore.vcproj/WebCore.vcproj:
62430        * inspector/front-end/ExtensionServer.js:
62431        (WebInspector.ExtensionServer.prototype._onCreatePanel):
62432        * inspector/front-end/Panel.js:
62433        (WebInspector.Panel.prototype.get toolbarItem):
62434        * inspector/front-end/Toolbar.js: Added.
62435        (WebInspector.Toolbar):
62436        (WebInspector.Toolbar.prototype.resize):
62437        (WebInspector.Toolbar.prototype.addPanel):
62438        (WebInspector.Toolbar.prototype._toolbarDragStart):
62439        (WebInspector.Toolbar.prototype._toolbarDragEnd):
62440        (WebInspector.Toolbar.prototype._toolbarDrag):
62441        (WebInspector.Toolbar.prototype._onClose):
62442        (WebInspector.Toolbar.prototype._setDropdownVisible):
62443        (WebInspector.Toolbar.prototype._toggleDropdown):
62444        (WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
62445        (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
62446        (WebInspector.Toolbar.createPanelToolbarItem):
62447        (WebInspector.ToolbarDropdown):
62448        (WebInspector.ToolbarDropdown.prototype.show):
62449        (WebInspector.ToolbarDropdown.prototype.hide):
62450        (WebInspector.ToolbarDropdown.prototype.get visible):
62451        (WebInspector.ToolbarDropdown.prototype._populate):
62452        (WebInspector.ToolbarDropdown.prototype._onKeyDown):
62453        * inspector/front-end/WebKit.qrc:
62454        * inspector/front-end/inspector.css:
62455        (#toolbar):
62456        (.toolbar-item):
62457        (.toolbar-item.toggleable):
62458        (.toolbar-item.toggleable.toggled-on):
62459        (#toolbar-dropdown .toolbar-icon):
62460        (#toolbar-dropdown .toolbar-label):
62461        (#toolbar-controls):
62462        (#toolbar-dropdown-arrow):
62463        (body.attached #toolbar-dropdown-arrow):
62464        (#toolbar-dropdown-arrow.dropdown-visible):
62465        (#toolbar-dropdown-arrow:hover):
62466        (#toolbar-dropdown-arrow:active):
62467        (#toolbar-dropdown):
62468        (body.detached.platform-mac-snowleopard #toolbar-dropdown):
62469        (#toolbar-dropdown .scrollable-content):
62470        (#toolbar-dropdown .toolbar-item):
62471        (#toolbar-dropdown .toolbar-item.toggleable.toggled-on):
62472        (#toolbar-dropdown .toolbar-item:hover):
62473        (#toolbar-dropdown .toolbar-item.toggleable.toggled-on:hover):
62474        (#toolbar-dropdown .toolbar-item:active .toolbar-icon):
62475        (.scrollable-content):
62476        (.scrollable-content::-webkit-scrollbar):
62477        (.scrollable-content::-webkit-resizer):
62478        (.scrollable-content::-webkit-scrollbar-thumb:vertical):
62479        (.scrollable-content::-webkit-scrollbar-thumb:vertical:active):
62480        (.scrollable-content::-webkit-scrollbar-track:vertical):
62481        (.toolbar-search-item):
62482        (#search):
62483        (body.attached #search):
62484        (#search-results-matches):
62485        (#close-button-left, #close-button-right):
62486        (.close-left):
62487        * inspector/front-end/inspector.html:
62488        * inspector/front-end/inspector.js:
62489        (WebInspector.set attached):
62490        (WebInspector.addPanel):
62491        (WebInspector.windowResize):
62492
624932011-02-22  Philippe Normand  <pnormand@igalia.com>
62494
62495        Reviewed by Xan Lopez.
62496
62497        [GTK] make distcheck fails
62498        https://bugs.webkit.org/show_bug.cgi?id=54943
62499
62500        Added new headers and removed references to deleted files.
62501
62502        * GNUmakefile.am:
62503
625042011-02-21  Yury Semikhatsky  <yurys@chromium.org>
62505
62506        Reviewed by Pavel Feldman.
62507
62508        Web Inspector: make DOM storage and Database agents have the same lifetime as InspectorAgent
62509        https://bugs.webkit.org/show_bug.cgi?id=54891
62510
62511        * inspector/InspectorAgent.cpp:
62512        (WebCore::InspectorAgent::InspectorAgent):
62513        (WebCore::InspectorAgent::setFrontend):
62514        (WebCore::InspectorAgent::disconnectFrontend):
62515        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
62516        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
62517        (WebCore::InspectorAgent::didCommitLoad):
62518        * inspector/InspectorAgent.h:
62519        (WebCore::InspectorAgent::instrumentingAgents):
62520        * inspector/InspectorDOMStorageAgent.cpp:
62521        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
62522        (WebCore::InspectorDOMStorageAgent::~InspectorDOMStorageAgent):
62523        (WebCore::InspectorDOMStorageAgent::setFrontend):
62524        (WebCore::InspectorDOMStorageAgent::clearFrontend):
62525        (WebCore::InspectorDOMStorageAgent::selectDOMStorage):
62526        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
62527        (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
62528        (WebCore::InspectorDOMStorageAgent::clearResources):
62529        * inspector/InspectorDOMStorageAgent.h:
62530        (WebCore::InspectorDOMStorageAgent::create):
62531        * inspector/InspectorDatabaseAgent.cpp:
62532        (WebCore::InspectorDatabaseAgent::didOpenDatabase):
62533        (WebCore::InspectorDatabaseAgent::clearResources):
62534        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
62535        (WebCore::InspectorDatabaseAgent::~InspectorDatabaseAgent):
62536        (WebCore::InspectorDatabaseAgent::setFrontend):
62537        (WebCore::InspectorDatabaseAgent::clearFrontend):
62538        (WebCore::InspectorDatabaseAgent::databaseForId):
62539        (WebCore::InspectorDatabaseAgent::selectDatabase):
62540        * inspector/InspectorDatabaseAgent.h:
62541        (WebCore::InspectorDatabaseAgent::create):
62542        * inspector/InspectorInstrumentation.cpp:
62543        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
62544        (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
62545
625462011-02-22  Steve Lacey  <sjl@chromium.org>
62547
62548        Reviewed by Darin Fisher.
62549
62550        Rename new media statistics apis to better names
62551
62552        https://bugs.webkit.org/show_bug.cgi?id=54784
62553
62554        * html/HTMLMediaElement.cpp:
62555        (WebCore::HTMLMediaElement::webkitAudioDecodedByteCount):
62556        (WebCore::HTMLMediaElement::webkitVideoDecodedByteCount):
62557        * html/HTMLMediaElement.h:
62558        * html/HTMLMediaElement.idl:
62559        * html/HTMLVideoElement.cpp:
62560        (WebCore::HTMLVideoElement::webkitDecodedFrameCount):
62561        (WebCore::HTMLVideoElement::webkitDroppedFrameCount):
62562        * html/HTMLVideoElement.h:
62563        * html/HTMLVideoElement.idl:
62564        * platform/graphics/MediaPlayer.cpp:
62565        (WebCore::MediaPlayer::decodedFrameCount):
62566        (WebCore::MediaPlayer::droppedFrameCount):
62567        (WebCore::MediaPlayer::audioDecodedByteCount):
62568        (WebCore::MediaPlayer::videoDecodedByteCount):
62569        * platform/graphics/MediaPlayer.h:
62570        * platform/graphics/MediaPlayerPrivate.h:
62571        (WebCore::MediaPlayerPrivateInterface::decodedFrameCount):
62572        (WebCore::MediaPlayerPrivateInterface::droppedFrameCount):
62573        (WebCore::MediaPlayerPrivateInterface::audioDecodedByteCount):
62574        (WebCore::MediaPlayerPrivateInterface::videoDecodedByteCount):
62575
625762011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
62577
62578        Reviewed by Kent Tamura.
62579
62580        Bug 54435 - Simplify CSSStyleSelector::canShareStyleWithElement
62581        https://bugs.webkit.org/show_bug.cgi?id=54435
62582
62583        Changed the function to a series of early-exit 'if's,
62584        removed most temporary variables.
62585
62586        No new tests. (refactoring)
62587
62588        * css/CSSStyleSelector.cpp:
62589        (WebCore::CSSStyleSelector::canShareStyleWithElement):
62590
625912011-02-21  Nico Weber  <thakis@chromium.org>
62592
62593        Reviewed by James Robinson.
62594
62595        [chromium] PopupContainer::show() confuses clang's -Woverloaded-virtual
62596        https://bugs.webkit.org/show_bug.cgi?id=54923
62597
62598        Rename PopupContainer::show() to showInRect(), to make it obvious it's
62599        not an override of ScrollView::show().
62600
62601        No intended functionality change.
62602
62603        * platform/chromium/PopupMenuChromium.cpp:
62604        (WebCore::PopupContainer::showInRect):
62605        (WebCore::PopupMenuChromium::show):
62606        * platform/chromium/PopupMenuChromium.h:
62607
626082011-02-21  Julien Chaffraix  <jchaffraix@codeaurora.org>
62609
62610        Reviewed by Antti Koivisto.
62611
62612        Improve the local{SharedStyle,CousinList} algorithm
62613        https://bugs.webkit.org/show_bug.cgi?id=45507
62614
62615        This change improves the algorithm to find shared styles: the old
62616        algorithm would stop the search after the first cousin, even if
62617        the search threshold is not met. As such, the algorithm would
62618        systematically miss sharings across second cousins and beyond.
62619        The new algorithm continues the search, as long as threshold is
62620        not met. It also separates the threshold for sibling/cousins
62621        search, from that on the levels of search, which is easier to
62622        optimize.
62623        The new algorithm finds up to 30% more sharings on some sites
62624        (e.g. amazon.com and rakuten.co.jp) with no noticeable slowdown.
62625
62626        No new test, refactoring only.
62627
62628        * css/CSSStyleSelector.cpp:
62629        (WebCore::CSSStyleSelector::locateCousinList):
62630        (WebCore::CSSStyleSelector::locateSharedStyle):
62631        While changing the algorithm, cleaned up the style of those 2 methods
62632        (use early return, renamed some variables).
62633
62634        * css/CSSStyleSelector.h:
62635
626362011-02-21  Nico Weber  <thakis@chromium.org>
62637
62638        Reviewed by Adam Barth.
62639
62640        RenderTableCell::baselinePosition() confuses clang's -Woverloaded-virtual
62641        https://bugs.webkit.org/show_bug.cgi?id=54922
62642
62643        RenderTableCell::baselinePosition() has the same name as a virtual
62644        method in superclass RenderBlock. Rename the subclass method to make
62645        it clear it's not an attempted override.
62646
62647        No intended functionality change.
62648
62649        * rendering/RenderTableCell.cpp:
62650        (WebCore::RenderTableCell::cellBaselinePosition):
62651        * rendering/RenderTableCell.h:
62652        * rendering/RenderTableSection.cpp:
62653        (WebCore::RenderTableSection::calcRowLogicalHeight):
62654        (WebCore::RenderTableSection::layoutRows):
62655
626562011-02-21  Benjamin Kalman  <kalman@chromium.org>
62657
62658        Reviewed by Ryosuke Niwa.
62659
62660        Extending selection by a boundary granularity (LineBoundary/ParagraphBoundary/DocumentBoundary) sets incorrect
62661        start/end of selection for RTL
62662        https://bugs.webkit.org/show_bug.cgi?id=54724
62663
62664        On mac, the selection should always grow when extending by a boundary granularity (line/paragraph/document).
62665        This is achieved by extending from the start for the "left" direction (e.g. pressing left arrow key), or
62666        extending from the end when for the "right" direction (e.g. pressing right arrow key).
62667
62668        However, this has a bug for RTL text, which should actually extend from the *end* when extending left (since
62669        direction is obviously reversed) and likewise extend from the start when extending right.
62670
62671        * editing/SelectionController.cpp:
62672        (WebCore::SelectionController::modify):
62673
626742011-02-21  Nico Weber  <thakis@chromium.org>
62675
62676        Reviewed by Adam Barth.
62677
62678        ImageDocument::imageChanged() confuses clang's -Woverride-virtual
62679        https://bugs.webkit.org/show_bug.cgi?id=54924
62680
62681        Rename ImageDocument::imageChanged() to imageUpdated() to make clear
62682        that it's not an override of CachedResourceClient::imageChanged().
62683
62684        * html/ImageDocument.cpp:
62685        (WebCore::ImageDocumentParser::appendBytes):
62686        (WebCore::ImageDocumentParser::finish):
62687        (WebCore::ImageDocument::imageUpdated):
62688        * html/ImageDocument.h:
62689
626902011-02-21  Roland Steiner  <rolandsteiner@chromium.org>
62691
62692        Reviewed by Kent Tamura.
62693
62694        Bug 54934 - Sort the WebCore project file(s)
62695        https://bugs.webkit.org/show_bug.cgi?id=54934
62696
62697        No new tests. (no code affected)
62698
62699        * GNUmakefile.am:
62700        * WebCore.xcodeproj/project.pbxproj:
62701
627022011-02-21  Nico Weber  <thakis@chromium.org>
62703
62704        Reviewed by Adam Barth.
62705
62706        canAccommodateEllipsis() confuses clang's -Woverloaded-virtual
62707        https://bugs.webkit.org/show_bug.cgi?id=54909
62708
62709        Rename the overload in RootInlineBox to lineCanAccomodateEllipsis() to
62710        unconfuse clang. No intended functionality change.
62711
62712        * rendering/RenderBlockLineLayout.cpp:
62713        (WebCore::RenderBlock::checkLinesForTextOverflow):
62714        * rendering/RenderFlexibleBox.cpp:
62715        (WebCore::RenderFlexibleBox::applyLineClamp):
62716        * rendering/RootInlineBox.cpp:
62717        (WebCore::RootInlineBox::lineCanAccommodateEllipsis):
62718        * rendering/RootInlineBox.h:
62719
627202011-02-21  Adele Peterson  <adele@apple.com>
62721
62722        Reviewed by Dan Bernstein.
62723
62724        Fix for for https://bugs.webkit.org/show_bug.cgi?id=54402
62725        REGRESSION (r72052): Placeholder text doesn't have the right padding for search fields on Windows
62726
62727        Test: updated fast/forms/placeholder-position.html and tested manually
62728
62729        Consider padding and margin for the results and cancel buttons.  This is important for the Windows
62730        theme which uses padding to correctly position those buttons.  This change fixes the placeholder
62731        position, and also better aligns the results popup list with the actual text you type.
62732
62733        * rendering/RenderTextControlSingleLine.cpp:
62734        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
62735        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
62736
627372011-02-21  Nico Weber  <thakis@chromium.org>
62738
62739        Reviewed by Kent Tamura.
62740
62741        GIFImageDecoder::setSize() tries to override the superclass method but fails
62742        https://bugs.webkit.org/show_bug.cgi?id=54305
62743
62744        The superclass uses unsigned instead of int for its parameters, so
62745        GIFImageDecoder::setSize() was an overload, not an override.
62746
62747        * platform/image-decoders/gif/GIFImageDecoder.cpp:
62748        (WebCore::GIFImageDecoder::setSize):
62749        * platform/image-decoders/gif/GIFImageDecoder.h:
62750
627512011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
62752
62753        Reviewed by Darin Adler.
62754
62755        Deploy EditingStyle more in ApplyStyleCommand and do some cleanup
62756        https://bugs.webkit.org/show_bug.cgi?id=54528
62757
62758        * editing/ApplyStyleCommand.cpp:
62759        (WebCore::StyleChange::init): Allows style to be a null pointer.
62760        (WebCore::ApplyStyleCommand::applyInlineStyle): Overrides the value of text-decoration property by that of
62761        -webkit-text-decorations-in-effect and remove the latter property when present. This allows removeImplicitlyStyledElement
62762        to ignore -webkit-text-decorations-in-effect. Also uses the return value of EditingStyle::textDirection to determine
62763        whether or not we need to apply unicode-bidi / direction instead of directly checking the value of unicode-bidi property.
62764        (WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): Takes EditingStyle* instead of CSSMutableStyleDeclaration*.
62765        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): Ditto.
62766        (WebCore::ApplyStyleCommand::removeStyleFromRunBeforeApplyingStyle): Ditto.
62767        (WebCore::ApplyStyleCommand::removeCSSStyle): Ditto.
62768        (WebCore::ApplyStyleCommand::highestAncestorWithConflictingInlineStyle): Ditto.
62769        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Ditto.
62770        (WebCore::ApplyStyleCommand::removeInlineStyle): Ditto; no longer collapse text decoration properties because
62771        ApplyStyleCommand::applyInlineStyle already does it.
62772        * editing/ApplyStyleCommand.h:
62773        * editing/EditingStyle.cpp:
62774        (WebCore::EditingStyle::textDirection): Exits early when m_mutableStyle is null.
62775        (WebCore::EditingStyle::collapseTextDecorationProperties): Extracted from ApplyStyleCommand::removeInlineStyle.
62776        * editing/EditingStyle.h:
62777
627782011-02-21  Mark Rowe  <mrowe@apple.com>
62779
62780        Reviewed by Darin Adler and Alexey Proskuryakov.
62781
62782        <http://webkit.org/b/54919> / <rdar://problem/7689300> WebCore should retrieve unclamped frame delays from ImageIO
62783
62784        * platform/graphics/cg/ImageSourceCG.cpp:
62785        (WebCore::ImageSource::frameDurationAtIndex): Look for the unclamped frame delay in the
62786        frame properties dictionary and use that if it exists. If it does not exist in the
62787        dictionary then fall back to using the clamped frame delay.
62788
627892011-02-21  James Kozianski  <koz@chromium.org>
62790
62791        Reviewed by Kent Tamura.
62792
62793        Causes elements to be unfocusable after tabindex property is removed.
62794        https://bugs.webkit.org/show_bug.cgi?id=54727
62795
62796        Test: fast/html/tabindex-removal.html
62797
62798        * dom/Node.cpp:
62799        (WebCore::Node::clearTabIndexExplicitly):
62800        * dom/Node.h:
62801        * dom/NodeRareData.h:
62802        (WebCore::NodeRareData::clearTabIndexExplicitly):
62803        * html/HTMLElement.cpp:
62804        (WebCore::HTMLElement::parseMappedAttribute):
62805
628062011-02-21  Alexey Proskuryakov  <ap@apple.com>
62807
62808        Reviewed by Mark Rowe.
62809
62810        <rdar://problem/8995483> Remove stubs of unneeded NSURLAuthenticationChallengeSender methods
62811
62812        * platform/network/mac/AuthenticationMac.mm: Remove the stubs that are no longer needed.
62813
628142011-02-21  Sam Weinig  <sam@webkit.org>
62815
62816        Reviewed by Dan Bernstein.
62817
62818        Overhang areas need to be invalidated on scroll
62819        <rdar://problem/9032194>
62820        https://bugs.webkit.org/show_bug.cgi?id=54917
62821
62822        * platform/ScrollView.cpp:
62823        (WebCore::ScrollView::scrollContents):
62824        We need to explicitly invalidate the overhang areas when we scroll the contents
62825        of a ScrollView, since they could contain arbitrary content that cannot be blitted.
62826
628272011-02-21  Lucas Forschler  <lforschler@apple.com>
62828
62829        Reviewed by Stephanie Lewis.
62830
62831        Fix the Leopard Debug build by incorporating the RenderSVGAllInOne.cpp
62832
62833        No new tests required.
62834
62835        * WebCore.xcodeproj/project.pbxproj:
62836
628372011-02-21  Pratik Solanki  <psolanki@apple.com>
62838
62839        Reviewed by Darin Adler.
62840
62841        Remove global initializer in CookieStorageCFNet.cpp
62842        https://bugs.webkit.org/show_bug.cgi?id=54905
62843
62844        * platform/network/cf/CookieStorageCFNet.cpp:
62845        (WebCore::currentCookieStorage):
62846        (WebCore::setCurrentCookieStorage):
62847        (WebCore::setCookieStoragePrivateBrowsingEnabled):
62848
628492011-02-18  Jer Noble  <jer.noble@apple.com>
62850
62851        Reviewed by Sam Weinig.
62852
62853        WebKit2: Media document videos play only sound, no video (affects trailers.apple.com)
62854        https://bugs.webkit.org/show_bug.cgi?id=54771
62855
62856        Now that video is accelerated, we no longer need to special case
62857        video playing within a media document.
62858
62859        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
62860        (WebCore::MediaPlayerPrivateQTKit::preferredRenderingMode):
62861        (WebCore::MediaPlayerPrivateQTKit::supportsAcceleratedRendering):
62862
628632011-02-21  Alexey Proskuryakov  <ap@apple.com>
62864
62865        Reviewed by Adam Roben.
62866
62867        REGRESSION (WebKit2): HTTP requests time out after 60 seconds
62868        https://bugs.webkit.org/show_bug.cgi?id=54755
62869        <rdar://problem/9006592>
62870
62871        No new tests - it won't be great to have a test that runs for a minute.
62872
62873        It's now possible to set a default timeout to be used at ResourceRequest creation. If one
62874        hasn't been set, ResourceRequest will behave as before (use NSURLRequest default on Mac,
62875        or use INT_MAX on other platforms).
62876
62877        * WebCore.exp.in:
62878        * platform/network/ResourceRequestBase.cpp:
62879        (WebCore::ResourceRequestBase::defaultTimeoutInterval): Get the ResourceRequest notion of
62880        default timeout interval (may be 0 if using NSURLRequest default).
62881        (WebCore::ResourceRequestBase::setDefaultTimeoutInterval): Set the static member variable.
62882        (WebCore::ResourceRequestBase::updatePlatformRequest): Added an assertion that resource
62883        request is updated. Plaform code often calls updateResourceRequest() indirectly from this
62884        function, and that must obviously be a no-op.
62885        (WebCore::ResourceRequestBase::updateResourceRequest): Added an assertion in the opposite
62886        direction.
62887        * platform/network/ResourceRequestBase.h: Changed "unspecifiedTimeoutInterval" to
62888        "defaultTimeoutInterval". It has been used as default by most platforms anyway.
62889        (WebCore::ResourceRequestBase::ResourceRequestBase):
62890
62891        * platform/network/mac/ResourceRequestMac.mm: (WebCore::ResourceRequest::doUpdatePlatformRequest):
62892        Now zero is the magic value, not INT_MAX. We'll use NSURLRequest default if neither
62893        setTimeoutInterval() nor setDefaultTimeoutInterval() has been called.
62894
628952011-02-21  Martin Robinson  <mrobinson@igalia.com>
62896
62897        Reviewed by Xan Lopez.
62898
62899        [GTK] editing/pasteboard/dataTransfer-setData-getData.html fails
62900        https://bugs.webkit.org/show_bug.cgi?id=54895
62901
62902        Correct the GTK+ clipboard implementation to know that "text" is an alias
62903        for "text/html" data. This corrects the failing test.
62904
62905        * platform/gtk/ClipboardGtk.cpp:
62906        (WebCore::dataObjectTypeFromHTMLClipboardType): Accept "text" as well as "Text".
62907        (WebCore::ClipboardGtk::types): Advertise "text" as well as "Text".
62908
629092011-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
62910
62911        Reviewed by Pavel Feldman.
62912
62913        ProcessingInstruction should provide a way to know if it is of CSS type.
62914        https://bugs.webkit.org/show_bug.cgi?id=54868
62915
62916        * dom/ProcessingInstruction.cpp:
62917        (WebCore::ProcessingInstruction::ProcessingInstruction):
62918        (WebCore::ProcessingInstruction::checkStyleSheet):
62919        (WebCore::ProcessingInstruction::setCSSStyleSheet):
62920        * dom/ProcessingInstruction.h:
62921        (WebCore::ProcessingInstruction::isCSS):
62922
629232011-02-21  Simon Fraser  <simon.fraser@apple.com>
62924
62925        Put JSDOMImplementationCustom.cpp where it belongs in the project.
62926
62927        * WebCore.xcodeproj/project.pbxproj:
62928
629292011-02-21  Gavin Barraclough  <barraclough@apple.com>
62930
62931        Reviewed by Sam Weinig.
62932
62933        Bug 54894 - Make inheritance structure described by ClassInfo match C++ class hierarchy.
62934
62935        The ClassInfo objects describe an inheritance hierarchy, with each ClassInfo instance
62936        containing a pointer to its parent class. These links should reflect the inheritance
62937        hierarchy of C++ classes below JSObject. For the large part it does, but in some cases
62938        entries in the C++ hierarchy are skipped over. This presently likely doesn't matter,
62939        since intervening C++ classes may not have ClassInfo - but would be a potential bug
62940        were ClassInfo were to be added.
62941
62942        * bindings/js/JSAudioConstructor.cpp:
62943        * bindings/js/JSDOMGlobalObject.cpp:
62944        * bindings/js/JSImageConstructor.cpp:
62945        * bindings/js/JSOptionConstructor.cpp:
62946        * bindings/scripts/CodeGeneratorJS.pm:
62947        * bridge/objc/objc_runtime.mm:
62948        * bridge/runtime_object.cpp:
62949
629502011-02-21  Pavel Feldman  <pfeldman@chromium.org>
62951
62952        Reviewed by Yury Semikhatsky.
62953
62954        Web Inspector: navigation does not work after reopening frontend.
62955        https://bugs.webkit.org/show_bug.cgi?id=54879
62956
62957        Test: http/tests/inspector-enabled/open-close-open.html
62958
62959        * inspector/InspectorAgent.cpp:
62960        (WebCore::InspectorAgent::setFrontend):
62961        * inspector/InspectorState.cpp:
62962        (WebCore::InspectorState::unmute):
62963        * inspector/InspectorState.h:
62964
629652011-02-21  Adam Roben  <aroben@apple.com>
62966
62967        Protect the PluginView when evaluating javascript: URLs
62968
62969        Fixes <http://webkit.org/b/54884> <rdar://problem/9030864>
62970        plugins/get-url-with-javascript-destroying-plugin.html crashing on Windows since it was
62971        added
62972
62973        Reviewed by Sam Weinig.
62974
62975        * plugins/PluginView.cpp:
62976        (WebCore::PluginView::performRequest): Protect the PluginView, not just its parent frame,
62977        when evaluating javascript: URLs.
62978
629792011-02-21  Martin Robinson  <mrobinson@igalia.com>
62980
62981        Fix GTK+ build after r79223.
62982
62983        * GNUmakefile.am: Add file missing from the source list.
62984
629852011-02-14  Alexander Pavlov  <apavlov@chromium.org>
62986
62987        Reviewed by Yury Semikhatsky.
62988
62989        Web Inspector: audits should not warn about gzip compression for 304s
62990        https://bugs.webkit.org/show_bug.cgi?id=54343
62991
62992        Do not run compression-related audits on 304 resources.
62993        Drive-by: handle multi-encoding resources (Content-Encoding: sdhc,gzip) correctly.
62994
62995        * inspector/front-end/AuditRules.js:
62996        (WebInspector.AuditRules.GzipRule.prototype.doRun):
62997        (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
62998
629992011-02-08  Anton Muhin  <antonm@chromium.org>
63000
63001       Reviewed by Adam Barth and Alexey Proskuryakov.
63002
63003       Propagate security origin of parent document into HTML documents created with DOMImplementation
63004       https://bugs.webkit.org/show_bug.cgi?id=53611
63005
63006       This restores invariant that JS wrappers residing in the same JS context should come
63007       from the same security origin.
63008
63009       Absence of regressions is covered by the current tests.  Different security origin of
63010       DOMImplementation is difficult to check with layout tests as DOMImplementation
63011       resides in the same JS context as parent document and therefore there are no security origin checks.
63012       This is observable however in C++.
63013
63014       * Android.jscbindings.mk:
63015       * CMakeLists.txt:
63016       * WebCore.gypi:
63017       * WebCore.pro:
63018       * WebCore.vcproj/WebCore.vcproj:
63019       * WebCore.xcodeproj/project.pbxproj:
63020       * bindings/v8/V8GCController.cpp:
63021       (WebCore::NodeGrouperVisitor::visitDOMWrapper):
63022       * dom/DOMImplementation.cpp:
63023       (WebCore::DOMImplementation::DOMImplementation):
63024       (WebCore::DOMImplementation::createDocument):
63025       * dom/DOMImplementation.h:
63026       (WebCore::DOMImplementation::create):
63027       (WebCore::DOMImplementation::documentDestroyed):
63028       (WebCore::DOMImplementation::parentDocument):
63029       * dom/DOMImplementation.idl:
63030       * dom/Document.cpp:
63031       (WebCore::Document::~Document):
63032       (WebCore::Document::implementation):
63033       * dom/Document.h:
63034
630352011-02-21  Andrey Adaikin  <aandrey@google.com>
63036
63037        Reviewed by Pavel Feldman.
63038
63039        Web Inspector: [Text editor] Optimize editing updates in gutter panel
63040        https://bugs.webkit.org/show_bug.cgi?id=54866
63041
63042        * inspector/front-end/TextViewer.js:
63043        (WebInspector.TextViewer.prototype.set startEditingListener):
63044        (WebInspector.TextViewer.prototype.set endEditingListener):
63045        (WebInspector.TextViewer.prototype.endUpdates):
63046        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
63047        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
63048        (WebInspector.TextEditorChunkedPanel.prototype._chunkNumberForLine):
63049        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
63050        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
63051        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
63052
630532011-02-21  Alexander Pavlov  <apavlov@chromium.org>
63054
63055        Reviewed by Yury Semikhatsky.
63056
63057        Web Inspector: [Audits] Image dimensions in inline style not checked
63058        https://bugs.webkit.org/show_bug.cgi?id=54738
63059
63060        * inspector/front-end/AuditRules.js:
63061        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
63062
630632011-02-21  Yury Semikhatsky  <yurys@chromium.org>
63064
63065        Reviewed by Pavel Feldman.
63066
63067        Web Inspector: create and destroy DOM agent along with InspectorAgent
63068        https://bugs.webkit.org/show_bug.cgi?id=54875
63069
63070        * GNUmakefile.am:
63071        * WebCore.gypi:
63072        * WebCore.pro:
63073        * WebCore.vcproj/WebCore.vcproj:
63074        * WebCore.xcodeproj/project.pbxproj:
63075        * inspector/InstrumentingAgents.h: Added. Agents that want to instrument WebCore should register themselve
63076        on this object.
63077        (WebCore::InstrumentingAgents::InstrumentingAgents):
63078        (WebCore::InstrumentingAgents::~InstrumentingAgents):
63079        (WebCore::InstrumentingAgents::inspectorBrowserDebuggerAgent):
63080        (WebCore::InstrumentingAgents::setInspectorBrowserDebuggerAgent):
63081        (WebCore::InstrumentingAgents::inspectorConsoleAgent):
63082        (WebCore::InstrumentingAgents::setInspectorConsoleAgent):
63083        (WebCore::InstrumentingAgents::inspectorDOMAgent):
63084        (WebCore::InstrumentingAgents::setInspectorDOMAgent):
63085        (WebCore::InstrumentingAgents::inspectorDOMStorageAgent):
63086        (WebCore::InstrumentingAgents::setInspectorDOMStorageAgent):
63087        (WebCore::InstrumentingAgents::inspectorDatabaseAgent):
63088        (WebCore::InstrumentingAgents::setInspectorDatabaseAgent):
63089        (WebCore::InstrumentingAgents::inspectorDebuggerAgent):
63090        (WebCore::InstrumentingAgents::setInspectorDebuggerAgent):
63091        (WebCore::InstrumentingAgents::inspectorProfilerAgent):
63092        (WebCore::InstrumentingAgents::setInspectorProfilerAgent):
63093        (WebCore::InstrumentingAgents::inspectorResourceAgent):
63094        (WebCore::InstrumentingAgents::setInspectorResourceAgent):
63095        (WebCore::InstrumentingAgents::inspectorRuntimeAgent):
63096        (WebCore::InstrumentingAgents::setInspectorRuntimeAgent):
63097        (WebCore::InstrumentingAgents::inspectorStorageAgent):
63098        (WebCore::InstrumentingAgents::setInspectorStorageAgent):
63099        (WebCore::InstrumentingAgents::inspectorTimelineAgent):
63100        (WebCore::InstrumentingAgents::setInspectorTimelineAgent):
63101        * inspector/InspectorAgent.cpp:
63102        (WebCore::InspectorAgent::InspectorAgent):
63103        (WebCore::InspectorAgent::setFrontend):
63104        (WebCore::InspectorAgent::disconnectFrontend):
63105        (WebCore::InspectorAgent::createFrontendLifetimeAgents):
63106        (WebCore::InspectorAgent::releaseFrontendLifetimeAgents):
63107        (WebCore::InspectorAgent::didCommitLoad):
63108        (WebCore::InspectorAgent::domContentLoadedEventFired):
63109        (WebCore::InspectorAgent::loadEventFired):
63110        * inspector/InspectorAgent.h:
63111        * inspector/InspectorCSSAgent.cpp:
63112        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
63113        (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
63114        * inspector/InspectorCSSAgent.h:
63115        * inspector/InspectorConsoleAgent.cpp:
63116        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
63117        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
63118        (WebCore::InspectorConsoleAgent::clearConsoleMessages):
63119        (WebCore::InspectorConsoleAgent::clearFrontend):
63120        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
63121        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
63122        (WebCore::InspectorConsoleAgent::setConsoleMessagesEnabled):
63123        (WebCore::InspectorConsoleAgent::addConsoleMessage):
63124        * inspector/InspectorConsoleAgent.h:
63125        * inspector/InspectorDOMAgent.cpp: DOM agent now lives even when the front-end is not attached.
63126        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
63127        (WebCore::InspectorDOMAgent::setFrontend): Add DOM agent to the set of active agents when the front-end
63128        is attached.
63129        (WebCore::InspectorDOMAgent::clearFrontend):
63130        * inspector/InspectorDOMAgent.h:
63131        (WebCore::InspectorDOMAgent::create):
63132
631332011-02-21  Csaba Osztrogonác  <ossy@webkit.org>
63134
63135        Reviewed by Andreas Kling.
63136
63137        [Qt][V8]REGRESSION(r79157): Fix build
63138        https://bugs.webkit.org/show_bug.cgi?id=54871
63139
63140        * bridge/npruntime_internal.h: Add one more undef because of evil X11 macro.
63141
631422011-02-16  Vitaly Repeshko  <vitalyr@chromium.org>
63143
63144        Reviewed by Mihai Parparita.
63145
63146        [V8] SerializedScriptValue: fix JS exception handling.
63147        https://bugs.webkit.org/show_bug.cgi?id=54555
63148
63149        Added checks for exceptions and empty handles:
63150        * bindings/v8/SerializedScriptValue.cpp:
63151        (WebCore::Serializer::Serializer):
63152        (WebCore::Serializer::serialize):
63153        (WebCore::Serializer::checkException):
63154        (WebCore::Serializer::reportFailure):
63155        (WebCore::Serializer::ArrayState::advance):
63156        (WebCore::Serializer::AbstractObjectState::AbstractObjectState):
63157        (WebCore::Serializer::AbstractObjectState::advance):
63158        (WebCore::Serializer::push):
63159        (WebCore::Serializer::handleError):
63160        (WebCore::Serializer::newObjectState):
63161        (WebCore::Serializer::doSerialize):
63162        (WebCore::SerializedScriptValue::SerializedScriptValue):
63163
631642011-02-21  Ryosuke Niwa  <rniwa@webkit.org>
63165
63166        Reviewed by Kent Tamura.
63167
63168        Add selectionchange event
63169        https://bugs.webkit.org/show_bug.cgi?id=45712
63170
63171        Added the support for asynchronous selectionchange event, which is fired whenever selection is changed.
63172        This event is not cancelable and does not bubble. An event listener can be attached to a document by
63173        body element's onselectionchange attribute or via document's onselectionchange property.
63174
63175        Note that WebKit's implementation fires the event asynchronously whereas Internet Explorer's implementation
63176        fires it synchronously. This implies that a script that modify selection (e.g. via selection's addRange)
63177        will not observe the event before the control returns to JavaScript.
63178
63179        See also: http://msdn.microsoft.com/en-us/library/ms536968(VS.85).aspx
63180
63181        Tests: fast/events/selectionchange-iframe.html
63182               fast/events/selectionchange-user-initiated.html
63183
63184        * dom/Document.cpp:
63185        (WebCore::Document::enqueueDocumentEvent): Added.
63186        * dom/Document.h: Added selectionchange event listener.
63187        * dom/Document.idl: Added onselectionchagne attribute.
63188        * dom/EventNames.h: Added selectionchange
63189        * editing/SelectionController.cpp:
63190        (WebCore::SelectionController::setSelection): Fires selectionchange event.
63191        * html/HTMLAttributeNames.in: Added onselectionchange.
63192        * html/HTMLBodyElement.cpp:
63193        (WebCore::HTMLBodyElement::parseMappedAttribute): Handles onselectionchange attribute.
63194
631952011-02-21  Ilya Tikhonovsky  <loislo@chromium.org>
63196
63197        Reviewed by Pavel Feldman.
63198
63199        Web Inspector: protocol error messages are dumping incorrectly in Layout tests.
63200        https://bugs.webkit.org/show_bug.cgi?id=54859
63201
63202        * inspector/CodeGeneratorInspector.pm:
63203
632042011-02-21  Pavel Feldman  <pfeldman@chromium.org>
63205
63206        Reviewed by Yury Semikhatsky.
63207
63208        Web Inspector: generate protocol documentation based on IDL.
63209        https://bugs.webkit.org/show_bug.cgi?id=54822
63210
63211        * inspector/CodeGeneratorInspector.pm:
63212
632132011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
63214
63215        Reviewed by Martin Robinson.
63216
63217        [GStreamer] Add URI queries support in webkitwebsrc
63218        https://bugs.webkit.org/show_bug.cgi?id=54627
63219
63220        This allow replying to URI queries from downstream elements
63221        with the uri currently set in the source element.
63222
63223        No new tests, this feature is dedicated to internal GStreamer use,
63224        such as the upcoming HTTP Live Streaming element.
63225
63226        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
63227        (webKitWebSrcQuery):
63228
632292011-02-21  Andoni Morales Alastruey  <amorales@flumotion.com>
63230
63231        Reviewed by Martin Robinson.
63232
63233        [GStreamer] Add 'location' property in webkitwebsrc
63234        https://bugs.webkit.org/show_bug.cgi?id=54628
63235
63236        No new tests, this feature is dedicated to internal GStreamer use,
63237        such as the upcoming HTTP Live Streaming element.
63238
63239        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
63240        (webkit_web_src_class_init):
63241        (webKitWebSrcSetProperty):
63242        (webKitWebSrcGetProperty):
63243
632442011-02-17  Ryosuke Niwa  <rniwa@webkit.org>
63245
63246        Reviewed by Kent Tamura.
63247
63248        Rename Position::node() to Position::deprecatedNode()
63249        https://bugs.webkit.org/show_bug.cgi?id=54622
63250
63251        Done the rename. All calls to node() are replaced by calls to deprecatedNode() except when
63252        calls were of the form node()->document() and node()->inDocument() in which case they were
63253        replaced by anchorNode()->document() and anchorNode()->inDocument() respectively.
63254
63255        * WebCore.exp.in: Added Position::containerNode.
63256
63257        The rest abbreviated for simplicity. Please see svn log.
63258
632592011-02-20  Gavin Barraclough  <barraclough@apple.com>
63260
63261        Build fix (remove includes).
63262
63263        * bindings/js/JSDOMBinding.cpp:
63264        * bindings/js/JSDOMWindowCustom.cpp:
63265        * bindings/js/JSHistoryCustom.cpp:
63266        * bindings/js/JSLocationCustom.cpp:
63267
632682011-02-20  Gavin Barraclough  <barraclough@apple.com>
63269
63270        Reviewed by Oliver Hunt.
63271
63272        https://bugs.webkit.org/show_bug.cgi?id=54839
63273        Remove PrototypeFunction, NativeFunctionWrapper, and GlobalEvalFunction.
63274
63275        Historically, Native functions used to be represented by PrototypeFunctions, however
63276        since introducing call optimizations to the JIT this has used JSFunctions for host
63277        calls too. At the point this change was made, the interpreter continued to use
63278        PrototypeFunctions, however since fallback from the JIT to interpreter was introduced
63279        the interpreter has had to be able to run using host functions represented using
63280        JSFunctions - leading to an unnecessary and redundant divergence in behaviour between
63281        interpreter only builds, and situations where the JIT has fallen back to interpreting.
63282
63283        NativeFunctionWrapper only existed to select between PrototypeFunction and JSFunction
63284        for wrappers for host functions, and as such can also be removed.
63285
63286        GlobalEvalFunction is a redundant wrapper that happens to be derived from
63287        PrototypeFunction. It existed to hold a reference to the global object - but since all
63288        functions how derive from JSObjectWithGlobalObject, this no longer requires an
63289        additional class to provide this functionality.
63290
63291        * bindings/js/JSDOMBinding.cpp:
63292        * bindings/js/JSDOMWindowCustom.cpp:
63293        * bindings/js/JSHistoryCustom.cpp:
63294        * bindings/js/JSLocationCustom.cpp:
63295            Removed use of redundant classes.
63296
632972011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
63298
63299        Unreviewed, rolling out r79169.
63300        http://trac.webkit.org/changeset/79169
63301        https://bugs.webkit.org/show_bug.cgi?id=54846
63302
63303        Made unexpected results for tests without CJK characters
63304        (Requested by tkent on #webkit).
63305
63306        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
63307        (WebCore::FontCache::createFontPlatformData):
63308        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
63309        (WebCore::FontPlatformData::FontPlatformData):
63310        (WebCore::FontPlatformData::operator=):
63311        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
63312        (WebCore::FontPlatformData::orientation):
63313        * platform/graphics/skia/FontCustomPlatformData.cpp:
63314        (WebCore::FontCustomPlatformData::fontPlatformData):
63315
633162011-02-20  Chun-Lung Huang  <alvincl.huang@gmail.com>
63317
63318        Reviewed by Kent Tamura.
63319
63320        On Chromium Windows, glyphs in vertical text tests are rotated 90
63321        degrees clockwise. https://bugs.webkit.org/show_bug.cgi?id=51450
63322
63323        This platform dependent patch makes Chromium Windows show the
63324        vertical writing text correctly. Job was done by adding a prefix '@'
63325        in front of the font family name (Windows Only). No new tests added.
63326
63327        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
63328        (WebCore::FontCache::createFontPlatformData):
63329        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
63330        (WebCore::FontPlatformData::FontPlatformData):
63331        (WebCore::FontPlatformData::operator=):
63332        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
63333        (WebCore::FontPlatformData::orientation):
63334        * platform/graphics/skia/FontCustomPlatformData.cpp:
63335        (WebCore::FontCustomPlatformData::fontPlatformData):
63336
633372011-02-20  Simon Fraser  <simon.fraser@apple.com>
63338
63339        Reviewed by Dirk Schulze.
63340
63341        REGRESSION (r73369-r73405): transform animation interpolates incorrectly
63342        https://bugs.webkit.org/show_bug.cgi?id=54793
63343
63344        After the refactoring in r73380, the ending state for some types of
63345        accelerated animations was computed incorrectly, because the TransformationMatrix
63346        wasn't reset to identity before the ending value transformations were applied.
63347
63348        Fix by cleaning up the code to use explicit, separate values for
63349        starting and ending values. Only matrix-type animations had this
63350        issue, but cleaned up other clauses similarly.
63351
63352        Test: animations/3d/matrix-transform-type-animation.html
63353
63354        * platform/graphics/ca/GraphicsLayerCA.cpp:
63355        (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
63356
633572011-02-20  Dan Bernstein  <mitz@apple.com>
63358
63359        Reviewed by Maciej Stachowiak.
63360
63361        <rdar://problem/9028929> REGRESSION (r75897): Scaling applied twice to an iframe with a transformed ancestor
63362
63363        Test: fast/frames/iframe-scale-applied-twice.html
63364
63365        * page/FrameView.cpp:
63366        (WebCore::FrameView::create): Set the initial bounds of the view to match the
63367        frame size.
63368        * platform/ScrollView.cpp:
63369        (WebCore::ScrollView::visibleContentRect): Based on bounds, not frame size.
63370        (WebCore::ScrollView::updateScrollbars): Ditto.
63371        (WebCore::ScrollView::setFrameRect): Moved code that really handles bounds size
63372        change to setBoundsSize().
63373        (WebCore::ScrollView::setBoundsSize): Added.
63374        (WebCore::ScrollView::setInitialBoundsSize): Added. Sets the bounds size but does
63375        not update anything.
63376        (WebCore::ScrollView::frameRectsChanged): Based on bounds, not frame size.
63377        (WebCore::ScrollView::scrollbarCornerPresent): Ditto.
63378        * platform/ScrollView.h:
63379        (WebCore::ScrollView::boundsSize): Added this getter.
63380        * platform/Widget.h:
63381        (WebCore::Widget::resize): Set the bounds size to the frame size.
63382        * platform/mac/ScrollbarThemeMac.mm:
63383        (WebCore::ScrollbarThemeMac::paint): Fixed an error in the indirect drawing code
63384        path where the buffer rect was resized to capture only the damaged part, but was
63385        still drawn in the original location.
63386
633872011-02-20  Alexey Proskuryakov  <ap@apple.com>
63388
63389        Reviewed by Eric Seidel.
63390
63391        Tighten up access permissions by using libxslt API
63392        https://bugs.webkit.org/show_bug.cgi?id=52688
63393        <rdar://problem/8909191>
63394
63395        * xml/XSLTProcessorLibxslt.cpp: (WebCore::XSLTProcessor::transformToString): We are only
63396        interested in a string result, so let libxslt know about that.
63397
633982011-02-20  Sheriff Bot  <webkit.review.bot@gmail.com>
63399
63400        Unreviewed, rolling out r79104.
63401        http://trac.webkit.org/changeset/79104
63402        https://bugs.webkit.org/show_bug.cgi?id=54835
63403
63404        Might have caused flaky canaries (Requested by tonyg-cr on
63405        #webkit).
63406
63407        * html/parser/HTMLDocumentParser.cpp:
63408        (WebCore::HTMLDocumentParser::canTakeNextToken):
63409        (WebCore::HTMLDocumentParser::pumpTokenizer):
63410        * html/parser/HTMLParserScheduler.cpp:
63411        (WebCore::isLayoutTimerActive):
63412        * html/parser/HTMLParserScheduler.h:
63413        (WebCore::HTMLParserScheduler::checkForYieldBeforeToken):
63414        * page/FrameView.h:
63415
634162011-02-20  Dirk Schulze  <krit@webkit.org>
63417
63418        Reviewed by Nikolas Zimmermann.
63419
63420        SVG animation - analyze attribute type for animation
63421        https://bugs.webkit.org/show_bug.cgi?id=54542
63422
63423        Analyze animated attribute type to determine the kind of animation. Removed enum PropertyType and replace it
63424        with AnimatedAttributeType instead. More cleanup of the animation code.
63425        Added missing fillAttributeToPropertyTypeMap() for SVGGElement.
63426
63427        Use QualifiedName instead of AtomicStrings for attribute names. This makes it easier to handle animated attributes
63428        from a different namespace like xlink:href. The rest of the SVG code is using QualifiedNames as well.
63429
63430        No change of functionality on the animation code. The changes for the <g>-element affect animateTransform. Sadly
63431        animateTransform is not supported by our SVG animation test script at the moment. Can still be tested manually
63432        with the W3C test suite in trunk.
63433
63434        The change on SVGUseElement gets covered by animate-elem-39-t.svg
63435
63436        Test: svg/animations/animate-dynamic-update-attributeName.html
63437
63438        * svg/SVGAnimateElement.cpp:
63439        (WebCore::SVGAnimateElement::SVGAnimateElement):
63440        (WebCore::SVGAnimateElement::hasValidAttributeType):
63441        (WebCore::SVGAnimateElement::determineAnimatedAttributeType):
63442        (WebCore::SVGAnimateElement::calculateAnimatedValue):
63443        (WebCore::inheritsFromProperty):
63444        (WebCore::SVGAnimateElement::calculateFromAndToValues):
63445        (WebCore::SVGAnimateElement::calculateFromAndByValues):
63446        (WebCore::SVGAnimateElement::resetToBaseValue):
63447        (WebCore::SVGAnimateElement::applyResultsToTarget):
63448        (WebCore::SVGAnimateElement::calculateDistance):
63449        * svg/SVGAnimateElement.h:
63450        * svg/SVGAnimateMotionElement.cpp:
63451        (WebCore::SVGAnimateMotionElement::hasValidAttributeType):
63452        (WebCore::parsePoint):
63453        (WebCore::SVGAnimateMotionElement::resetToBaseValue):
63454        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
63455        (WebCore::SVGAnimateMotionElement::calculateDistance):
63456        * svg/SVGAnimateMotionElement.h:
63457        * svg/SVGAnimateTransformElement.cpp:
63458        (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
63459        (WebCore::SVGAnimateTransformElement::determineAnimatedAttributeType):
63460        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
63461        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
63462        (WebCore::SVGAnimateTransformElement::calculateFromAndByValues):
63463        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
63464        (WebCore::SVGAnimateTransformElement::calculateDistance):
63465        * svg/SVGAnimateTransformElement.h:
63466        * svg/SVGAnimationElement.cpp:
63467        (WebCore::parseKeyTimes):
63468        (WebCore::parseKeySplines):
63469        (WebCore::SVGAnimationElement::isTargetAttributeCSSProperty):
63470        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
63471        (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
63472        (WebCore::solveEpsilon):
63473        (WebCore::SVGAnimationElement::calculatePercentFromKeyPoints):
63474        (WebCore::SVGAnimationElement::currentValuesFromKeyPoints):
63475        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
63476        (WebCore::SVGAnimationElement::startedActiveInterval):
63477        * svg/SVGAnimationElement.h:
63478        * svg/SVGFilterElement.cpp:
63479        (WebCore::SVGFilterElement::fillAttributeToPropertyTypeMap):
63480        * svg/SVGGElement.cpp:
63481        (WebCore::SVGGElement::attributeToPropertyTypeMap):
63482        (WebCore::SVGGElement::fillAttributeToPropertyTypeMap): Added to fill the animated attribute map for this element.
63483        * svg/SVGGElement.h:
63484        * svg/SVGUseElement.cpp:
63485        (WebCore::SVGUseElement::fillAttributeToPropertyTypeMap): Changed attribute type to AnimatedString for xlink:href.
63486        * svg/animation/SMILTimeContainer.cpp:
63487        (WebCore::SMILTimeContainer::baseValueFor):
63488        (WebCore::SMILTimeContainer::updateAnimations):
63489        * svg/animation/SMILTimeContainer.h:
63490        * svg/animation/SVGSMILElement.cpp:
63491        (WebCore::SVGSMILElement::SVGSMILElement):
63492        (WebCore::constructQualifiedName): Create a QualifiedName from a attribute name.
63493        (WebCore::SVGSMILElement::insertedIntoDocument): Update local varaible of attribute name.
63494        (WebCore::SVGSMILElement::removedFromDocument): Ditto.
63495        (WebCore::SVGSMILElement::attributeChanged): Ditto.
63496        * svg/animation/SVGSMILElement.h:
63497        (WebCore::SVGSMILElement::attributeName):
63498
634992011-02-20  David Kilzer  <ddkilzer@apple.com>
63500
63501        BUILD FIX: Add missing UNUSED_PARAM() when !ENABLE(FULLSCREEN_API)
63502
63503        Not reviewed.
63504
63505        * rendering/RenderLayerCompositor.cpp:
63506        (WebCore::RenderLayerCompositor::requiresCompositingForFullScreen):
63507
635082011-02-20  Carlos Garcia Campos  <cgarcia@igalia.com>
63509
63510        Reviewed by Martin Robinson.
63511
63512        [GTK] Implement PlatformKeyboardEvent::getCurrentModifierState()
63513        https://bugs.webkit.org/show_bug.cgi?id=52880
63514
63515        * platform/gtk/KeyEventGtk.cpp:
63516        (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
63517
635182011-02-19  Andreas Kling  <kling@webkit.org>
63519
63520        Reviewed by Oliver Hunt.
63521
63522        DragController should use Color::serialized() when passing colors to CSSStyleDeclaration
63523        https://bugs.webkit.org/show_bug.cgi?id=54545
63524
63525        * page/DragController.cpp:
63526        (WebCore::DragController::concludeEditDrag):
63527
635282011-02-19  Sam Weinig  <sam@webkit.org>
63529
63530        Reviewed by Anders Carlsson.
63531
63532        Add phase in addition to momentumPhase to platform wheel events
63533        Part of <rdar://problem/8945362>
63534
63535        Rename existing phase to momentumPhase.
63536
63537        * platform/PlatformWheelEvent.h:
63538        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
63539        (WebCore::PlatformWheelEvent::momentumPhase):
63540        * platform/mac/ScrollAnimatorMac.mm:
63541        (WebCore::ScrollAnimatorMac::handleWheelEvent):
63542        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
63543        * platform/mac/WheelEventMac.mm:
63544        (WebCore::momentumPhaseForEvent):
63545        (WebCore::phaseForEvent):
63546        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
63547
635482011-02-19  Gavin Barraclough  <barraclough@apple.com>
63549
63550        Qt build fix.
63551
63552        * bridge/runtime_method.h:
63553        (JSC::RuntimeMethod::createStructure):
63554
635552011-02-19  Gavin Barraclough  <barraclough@apple.com>
63556
63557        Qt build fix.
63558
63559        * bridge/qt/qt_instance.cpp:
63560        * bridge/qt/qt_pixmapruntime.cpp:
63561
635622011-02-19  Gavin Barraclough  <barraclough@apple.com>
63563
63564        Qt build fix.
63565
63566        * bridge/qt/qt_instance.cpp:
63567        (JSC::Bindings::QtInstance::getMethod):
63568        * bridge/qt/qt_pixmapruntime.cpp:
63569        (JSC::Bindings::QtPixmapInstance::getMethod):
63570
635712011-02-18  Gavin Barraclough  <barraclough@apple.com>
63572
63573        Reviewed by Sam Weinig.
63574
63575        Bug 54786 - Devirtualize JSCell::classInfo()
63576
63577        Instead of making a virtual function call, add a pointer to the ClassInfo
63578        onto Structure.
63579
63580        This removes a virtual function call, and paves the way towards removing all
63581        the createStructure methods, and StructureFlags/AnonymousSlotCount properties
63582        (these should be able to move onto ClassInfo).
63583
63584        Calls to Structure::create must now pass a pointer to the ClassInfo for the
63585        structure. All objects now have a ClassInfo pointer, non-object cell types
63586        still do not.
63587
63588        Changes are most mechanical, involving three steps:
63589            * Remove virtual classInfo() methods.
63590            * Add &s_info parameter to calls to Structure::create.
63591            * Rename ClassInfo static members on classes from 'info' to 's_info',
63592              for consistency.
63593
63594        * WebCore.exp.in:
63595        * bindings/js/JSAudioConstructor.cpp:
63596        * bindings/js/JSAudioConstructor.h:
63597        * bindings/js/JSDOMBinding.cpp:
63598        * bindings/js/JSDOMBinding.h:
63599        * bindings/js/JSDOMGlobalObject.cpp:
63600        * bindings/js/JSDOMGlobalObject.h:
63601        * bindings/js/JSDOMWindowBase.cpp:
63602        * bindings/js/JSDOMWindowBase.h:
63603        * bindings/js/JSDOMWindowShell.cpp:
63604        * bindings/js/JSDOMWindowShell.h:
63605        * bindings/js/JSGeolocationCustom.cpp:
63606        * bindings/js/JSImageConstructor.cpp:
63607        * bindings/js/JSImageConstructor.h:
63608        * bindings/js/JSImageDataCustom.cpp:
63609        * bindings/js/JSOptionConstructor.cpp:
63610        * bindings/js/JSOptionConstructor.h:
63611        * bindings/js/JSWorkerContextBase.cpp:
63612        * bindings/js/JSWorkerContextBase.h:
63613        * bindings/js/SerializedScriptValue.cpp:
63614        * bindings/scripts/CodeGeneratorJS.pm:
63615        * bridge/c/CRuntimeObject.cpp:
63616        * bridge/c/CRuntimeObject.h:
63617        * bridge/c/c_instance.cpp:
63618        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
63619        * bridge/jni/jsc/JavaInstanceJSC.cpp:
63620        * bridge/jni/jsc/JavaRuntimeObject.cpp:
63621        * bridge/jni/jsc/JavaRuntimeObject.h:
63622        * bridge/jsc/BridgeJSC.cpp:
63623        * bridge/objc/ObjCRuntimeObject.h:
63624        * bridge/objc/ObjCRuntimeObject.mm:
63625        * bridge/objc/objc_instance.mm:
63626        * bridge/objc/objc_runtime.h:
63627        * bridge/objc/objc_runtime.mm:
63628        * bridge/runtime_array.cpp:
63629        * bridge/runtime_array.h:
63630        * bridge/runtime_method.cpp:
63631        * bridge/runtime_method.h:
63632        * bridge/runtime_object.cpp:
63633        * bridge/runtime_object.h:
63634
636352011-02-19  Zan Dobersek  <zandobersek@gmail.com>
63636
63637        Reviewed by Martin Robinson.
63638
63639        [cairo][canvas] Drawing from/into float rectangles with width or height in range 0 to 1 fails
63640        https://bugs.webkit.org/show_bug.cgi?id=54491
63641
63642        When width or height in float rectangle are in range (0, 0.5) or (-0.5, 0)
63643        and would round to 0, alter the behaviour to ensure that width or height are
63644        at least 1 pixel in size in these cases.
63645
63646        * platform/graphics/cairo/GraphicsContextCairo.cpp:
63647        (WebCore::GraphicsContext::roundToDevicePixels):
63648
636492011-02-19  Dan Bernstein  <mitz@apple.com>
63650
63651        LLVM Compiler build fix.
63652
63653        * platform/graphics/ShadowBlur.cpp:
63654        (WebCore::ShadowBlur::blurLayerImage): Eliminated a file static that generated
63655        a global initializer since the compiler does not evaluate sqrtf at compile time.
63656
636572011-02-19  Brian Ryner  <bryner@chromium.org>
63658
63659        Reviewed by Adam Barth.
63660
63661        Replace the #include of DocumentLoader.h in Document.h with a
63662        forward declaration, and add a missing #include now that this
63663        transitive include is gone.
63664        https://bugs.webkit.org/show_bug.cgi?id=50489
63665
63666        No new tests required.
63667
63668        * bindings/ScriptControllerBase.cpp:
63669        * dom/Document.h:
63670
636712011-02-19  Patrick Gansterer  <paroga@webkit.org>
63672
63673        Reviewed by Antonio Gomes.
63674
63675        [EFL] Remove WebCore::currentTime()
63676        https://bugs.webkit.org/show_bug.cgi?id=53886
63677
63678        There is no declaration for it and we use WTF::currentTime() everywhere.
63679
63680        * platform/efl/SystemTimeEfl.cpp:
63681
636822011-02-19  Patrick Gansterer  <paroga@webkit.org>
63683
63684        Reviewed by Andreas Kling.
63685
63686        Move KeygenWinCE from wince into win directory
63687        https://bugs.webkit.org/show_bug.cgi?id=54804
63688
63689        Move this file into the win directory, since it can be used on all windows platforms.
63690
63691        * CMakeListsWinCE.txt:
63692        * platform/win/SSLKeyGeneratorWin.cpp: Renamed from platform/wince/KeygenWinCE.cpp.
63693
636942011-02-19  Patrick Gansterer  <paroga@webkit.org>
63695
63696        Reviewed by Andreas Kling.
63697
63698        Make FileChooserWin.cpp more portable and use it on WinCE
63699        https://bugs.webkit.org/show_bug.cgi?id=54803
63700
63701        * CMakeListsWinCE.txt:
63702        * platform/win/FileChooserWin.cpp:
63703        (WebCore::FileChooser::basenameForWidth):
63704        * platform/wince/FileChooserWinCE.cpp: Removed.
63705
637062011-02-19  James Simonsen  <simonjam@chromium.org>
63707
63708        Reviewed by Adam Barth.
63709
63710        Make ScriptElement match the HTML5 spec
63711        https://bugs.webkit.org/show_bug.cgi?id=54676
63712
63713        This implements the "prepare a script" section of the HTML5 spec in ScriptElement::prepareScript().
63714        http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#prepare-a-script
63715
63716        There are a couple of things missing from the spec that would be new functionality. These will be added later.
63717        - Support for async=false
63718        - Empty src attribute should dispatch an error.
63719
63720        There are a couple of slight behavioral changes to match the spec.
63721        - An XHTML script that is loaded then copied will not fire load on the copy.
63722        - If onbeforeload moves the script to a different document, then it will not try to execute again because wasAlreadyStarted is true.
63723
63724        The parsers were updated to use the new API, but not rewritten to look like the spec. That will be done separately.
63725
63726        Test: All existing tests.
63727
63728        * dom/ScriptElement.cpp: Rewritten to match HTML5 spec.
63729        (WebCore::ScriptElement::ScriptElement):
63730        (WebCore::ScriptElement::insertedIntoDocument): Logic moved to prepareScript.
63731        (WebCore::ScriptElement::childrenChanged): Logic moved to prepareScript.
63732        (WebCore::ScriptElement::handleSourceAttribute): Logic moved to prepareScript.
63733        (WebCore::isLegacySupportedJavaScriptLanguage): Added to support old script types in layout tests.
63734        (WebCore::ScriptElement::isScriptTypeSupported): Derived from old shouldExecuteAsJavaScript().
63735        (WebCore::ScriptElement::prepareScript): START HERE. Main change. Should read exactly like HTML5's "prepare a script." Legacy type support needed for layout tests using XML parser.
63736        (WebCore::ScriptElement::requestScript): Most logic moved to prepareScript. Check security settings here.
63737        (WebCore::ScriptElement::executeScript): Combined evaluateScript() and executeScript() from old code. Logic moved to prepareScript.
63738        (WebCore::ScriptElement::stopLoadRequest): Ignore parser executed scripts.
63739        (WebCore::ScriptElement::execute): Renamed executeScript.
63740        (WebCore::ScriptElement::notifyFinished): We should only listen for non-parser executed scripts.
63741        (WebCore::ScriptElement::ignoresLoadRequest): New variable names.
63742        (WebCore::ScriptElement::childrenAreCommentsOrEmptyText): Added for HTML5 compliance.
63743        (WebCore::ScriptElement::scriptCharset): Use HTML5 variables.
63744        * dom/ScriptElement.h:
63745        (WebCore::ScriptElement::willBeParserExecuted): Added.
63746        (WebCore::ScriptElement::readyToBeParserExecuted): Added.
63747        (WebCore::ScriptElement::willExecuteWhenDocumentFinishedParsing): Added.
63748        (WebCore::ScriptElement::cachedScript): prepareScript() is the only place that should load scripts. This accessor lets the parsers listen for when loads finish.
63749        (WebCore::ScriptElement::isParserInserted): Added.
63750        * dom/XMLDocumentParserLibxml2.cpp:
63751        (WebCore::XMLDocumentParser::endElementNs): Should behave the same. Offloads much of its work to prepareScript().
63752        * dom/XMLDocumentParserQt.cpp:
63753        (WebCore::XMLDocumentParser::parseEndElement): Identical to libxml2 changes.
63754        * html/HTMLScriptElement.cpp:
63755        (WebCore::HTMLScriptElement::insertedIntoDocument): No longer needs url.
63756        (WebCore::HTMLScriptElement::hasSourceAttribute): Added.
63757        * html/HTMLScriptElement.h:
63758        * html/parser/HTMLScriptRunner.cpp:
63759        (WebCore::HTMLScriptRunner::requestPendingScript): Requesting scripts offloaded to ScriptElement.
63760        (WebCore::HTMLScriptRunner::runScript): Should behave the same. Offloads much of its work to prepareScript().
63761        * svg/SVGScriptElement.cpp:
63762        (WebCore::SVGScriptElement::svgAttributeChanged): New ScriptElement function names.
63763        (WebCore::SVGScriptElement::insertedIntoDocument): No longer needs url.
63764        (WebCore::SVGScriptElement::finishParsingChildren): ScriptElement::finishParsingChildren is gone.
63765        (WebCore::SVGScriptElement::hasSourceAttribute): Added.
63766        (WebCore::SVGScriptElement::dispatchLoadEvent): New ScriptElement function names.
63767        * svg/SVGScriptElement.h:
63768
637692011-02-19  Marc-Antoine Ruel  <maruel@chromium.org>
63770
63771        Reviewed by James Robinson.
63772
63773        Split webcore_rendering off webcore_remaining to reduce its size for WPO builds
63774        https://bugs.webkit.org/show_bug.cgi?id=54789
63775
63776        * WebCore.gyp/WebCore.gyp:
63777
637782011-02-19  Bill Budge  <bbudge@chromium.org>
63779
63780        Reviewed by David Levin.
63781
63782        ThreadableLoaderClient needs willSendRequest method
63783        https://bugs.webkit.org/show_bug.cgi?id=54688
63784
63785        No new tests. Exposes no new functionality
63786
63787        * WebCore.gypi:
63788        * loader/DocumentThreadableLoader.cpp:
63789        (WebCore::DocumentThreadableLoader::willSendRequest):
63790        (WebCore::DocumentThreadableLoader::didReceiveData):
63791        (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
63792        * loader/DocumentThreadableLoaderClient.h: Added.
63793        (WebCore::DocumentThreadableLoaderClient::isDocumentThreadableLoaderClient):
63794        (WebCore::DocumentThreadableLoaderClient::willSendRequest):
63795        * loader/ThreadableLoaderClient.h:
63796        (WebCore::ThreadableLoaderClient::isDocumentThreadableLoaderClient):
63797
637982011-02-19  Charlie Reis  <creis@chromium.org>
63799
63800        Reviewed by Mihai Parparita.
63801
63802        Ensure loading has stopped in HistoryController::goToItem
63803        https://bugs.webkit.org/show_bug.cgi?id=54517
63804
63805        Avoid stopping all loaders in goToItem for same document navigations
63806        or pseudo-back-forward URLs.  Make HistoryController::goToItem private
63807        to force callers to go through Page::goToItem.  Also add a callback to
63808        FrameLoaderClient to let clients decide whether to stop loading first.
63809
63810        Test: http/tests/navigation/forward-to-fragment-fires-onload.html
63811
63812        * loader/EmptyClients.h:
63813        * loader/FrameLoader.h:
63814        * loader/FrameLoaderClient.h:
63815        * loader/HistoryController.cpp:
63816        * loader/HistoryController.h:
63817        * page/Page.cpp:
63818
638192011-02-19  Adam Barth  <abarth@webkit.org>
63820
63821        Reviewed by Daniel Bates.
63822
63823        Fix xssAuditor/iframe-injection.html
63824        https://bugs.webkit.org/show_bug.cgi?id=54591
63825
63826        We should block the iframe src attribute.  Although this technically
63827        can't be used to run script, it's a pretty easy vector for stealing
63828        passwords.
63829
63830        * html/parser/XSSFilter.cpp:
63831        (WebCore::XSSFilter::filterTokenInitial):
63832        (WebCore::XSSFilter::filterIframeToken):
63833        * html/parser/XSSFilter.h:
63834
638352011-02-18  Tony Gentilcore  <tonyg@chromium.org>
63836
63837        Reviewed by Eric Seidel.
63838
63839        Let the parser yield for layout before running scripts
63840        https://bugs.webkit.org/show_bug.cgi?id=54355
63841
63842        Prior to this patch, the parser would yield to perform a layout/paint before running a
63843        script only if the script or a stylesheet blocking the script is not loaded yet. Since we
63844        don't preload scan into the body while parsing the head, typically we'll block on a script
63845        early in the body that causes us to yield to do the first paint within a reasonable time.
63846
63847        However, I'm planning to change the PreloadScanner to scan into the body from the head.
63848        That significantly improves overall load time, but would hurt first paint time because
63849        fewer scripts would be blocked during parsing and thus wouldn't yield.
63850
63851        This change causes us to yield before running scripts if we haven't painted yet (regardless
63852        of whether or not the script is loaded). In addition to allowing the above mentioned
63853        PreloadScanner change to be implemented without regressing first paint time, this also
63854        improves first paint time by itself.
63855
63856        I tested Alexa's top 45 websites using Web Page Replay to control the content and simulate
63857        bandwidth. This patch improved average first paint time by 1% over an unlimited connection,
63858        6% over a 1Mbps connection and 11% over a 5Mbps connection. There was no statistically
63859        signifcant change in page load time.
63860
63861        Within the pages tested, 33 had no statistically significant change in time to first paint,
63862        12 improved, and none regressed. Of the improved, some of the standouts from the 1Mbps set
63863        are: 20% on youtube, 37% on wiki, 27% on ebay, 13% on cnn, 16% on espn, 74% on sohu.
63864
63865        * html/parser/HTMLDocumentParser.cpp:
63866        (WebCore::HTMLDocumentParser::canTakeNextToken): This is the new yield point.
63867        (WebCore::HTMLDocumentParser::pumpTokenizer): Remove ASSERT that we are not paused. isPaused
63868        means that we are waiting for a script. Bug 54574 changed pumpTokenizer() so that it does
63869        the right thing whether we are just before a token or waiting for a script. Now that we may
63870        yield before a token or before a script, this may be called while paused.
63871        * html/parser/HTMLParserScheduler.cpp:
63872        (WebCore::isLayoutTimerActive): Added a FIXME because r52919 changed minimumLayoutDelay()
63873        to return m_extraLayoutDelay instead of 0 as a minimum. So checking !minimumLayoutDelay()
63874        no longer works. The fix is to change it to check minimumLayoutDelay() ==
63875        m_extraLayoutDelay. But this is all the more reason to move this method onto Document. I'll
63876        do this in a follow up.
63877        (WebCore::HTMLParserScheduler::checkForYieldBeforeScript): Added.
63878        * page/FrameView.h:
63879        (WebCore::FrameView::hasEverPainted): Added.
63880
638812011-02-18  Dawit Alemayehu  <adawit@kde.org>
63882
63883        Reviewed by Andreas Kling.
63884
63885        [Qt]  Button Element is rendered w/ text off-center.
63886        https://bugs.webkit.org/show_bug.cgi?id=53373
63887
63888        Test: LayoutTests/fast/forms/button-white-space.html
63889
63890        * platform/qt/RenderThemeQt.cpp:
63891        (WebCore::RenderThemeQt::adjustButtonStyle):
63892
638932011-02-18  Jonathan Backer  <backer@chromium.org>
63894
63895        Reviewed by Eric Seidel.
63896
63897        [chromium] Fix leak of texture IDs in compositor.
63898        https://bugs.webkit.org/show_bug.cgi?id=54750
63899
63900        No new tests. It is extremely unlikely that this leak would have
63901        any user visible impact because only a few bytes of space are wasted
63902        (we're leaking texture IDs, not actual textures) and the space of
63903        texture IDs is large (32 bits).
63904
63905       * platform/graphics/chromium/TextureManager.cpp:
63906        (WebCore::TextureManager::requestTexture):
63907
639082011-02-18  Yi Shen  <yi.4.shen@nokia.com>
63909
63910        Reviewed by Tor Arne Vestbø.
63911
63912        Always display the media controls when requiresFullscreenForVideoPlayback() is true
63913        https://bugs.webkit.org/show_bug.cgi?id=54308
63914
63915        For video element, it should have controls when
63916        Chrome::requiresFullscreenForVideoPlayback() is true.
63917
63918        * html/HTMLMediaElement.cpp:
63919        (WebCore::HTMLMediaElement::controls):
63920
639212011-02-18  Adrienne Walker  <enne@google.com>
63922
63923        Reviewed by Kenneth Russell.
63924
63925        [chromium] Use nearest-neighbor filtering for root layer.
63926        https://bugs.webkit.org/show_bug.cgi?id=54409
63927        https://bugs.webkit.org/show_bug.cgi?id=54509
63928
63929        This setting creates more consistent images for LayoutTests and
63930        prevents small floating point errors in texture coordinates from
63931        creating off-by-one pixel color differences.
63932
63933        * platform/graphics/chromium/LayerTilerChromium.cpp:
63934        (WebCore::LayerTilerChromium::update):
63935
639362011-02-18  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
63937
63938        Reviewed by Kent Tamura.
63939
63940        [EFL] Fix coding style errors in RenderThemeEfl.h
63941        https://bugs.webkit.org/show_bug.cgi?id=54693
63942
63943        Fix style errors in RenderThemeEfl.h
63944
63945        * platform/efl/RenderThemeEfl.h:
63946
639472011-02-18  Ademar de Souza Reis Jr  <ademar.reis@openbossa.org>
63948
63949        Reviewed by Andreas Kling.
63950
63951        [Qt] The localized vendor name for Qt SIS packages should be "Nokia"
63952        https://bugs.webkit.org/show_bug.cgi?id=54742
63953
63954        This change was applied in the Qt repository (qt/src/3rdparty/webkit),
63955        so we should do the same here in QtWebKit.
63956
63957        Patch by Eckhart Koppen <eckhart.koppen@nokia.com>
63958        a8a84f1667966acfa093c4be0b7d4b0900ddd3d9:
63959
63960        The previously used name "Nokia, Qt" was not usable for Nokia
63961        Content Signing, which only allows "Nokia" as the visible vendor
63962        name. The unique vendor ID remains as "Nokia, Qt"
63963
63964        * WebCore.pro:
63965
639662011-02-18  Alexis Menard  <alexis.menard@openbossa.org>
63967
63968        Reviewed by Andreas Kling.
63969
63970        [Qt] REGRESSION(r67516) : on www.gmail.com a strange rendering issue appears on the
63971        menu bar due to flash.
63972        https://bugs.webkit.org/show_bug.cgi?id=54741
63973
63974        Only show plugins with a valid size. We then don't involve X11 if there is
63975        nothing to see anyway.
63976
63977        * plugins/qt/PluginViewQt.cpp:
63978        (WebCore::PluginView::updatePluginWidget):
63979        (WebCore::PluginView::platformStart):
63980
639812011-02-18  Ryuan Choi  <ryuan.choi@samsung.com>
63982
63983        Reviewed by Kent Tamura.
63984
63985        [EFL] Remove GDK dependency.
63986        https://bugs.webkit.org/show_bug.cgi?id=53978
63987
63988        Remove GLIB_SUPPORT macro in GDK related code.
63989        Regardless of GLIB_SUPPORT, getDefaultFontOptions() will works same way.
63990
63991        * CMakeListsEfl.txt:
63992        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
63993        (WebCore::getDefaultFontOptions):
63994
639952011-02-18  Noel Gordon  <noel.gordon@gmail.com>
63996
63997        Reviewed by James Robinson.
63998
63999        [Chromium] Add elliptical gradient support to GradientSkia
64000        https://bugs.webkit.org/show_bug.cgi?id=51841
64001
64002        Covered by existing tests, these need new rebaselines once this patch
64003        lands for chrome linux, win32
64004
64005        fast/gradients/css3-color-stop-units.html
64006        fast/gradients/css3-color-stops.html
64007        fast/gradients/css3-linear-angle-gradients.html
64008        fast/gradients/css3-radial-gradients.html
64009        fast/gradients/css3-radial-gradients2.html
64010        fast/gradients/css3-radial-gradients3.html
64011        fast/gradients/css3-repeating-radial-gradients.html
64012
64013        * platform/graphics/skia/GradientSkia.cpp:
64014        (WebCore::Gradient::platformGradient):
64015
640162011-02-18  James Robinson  <jamesr@chromium.org>
64017
64018        Fix typo in boundary test in ASSERT() - test is for an inclusive range, not exclusive.
64019
64020        * platform/graphics/chromium/ContentLayerChromium.cpp:
64021        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
64022
640232011-02-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
64024
64025        Reviewed by Kenneth Rohde Christiansen.
64026
64027        Tiled backing store area is too big.
64028        Error in area calculcation causes size of backing store
64029        up to 6 times bigger than viewport with default multipliers.
64030        https://bugs.webkit.org/show_bug.cgi?id=54587
64031
64032        * platform/graphics/TiledBackingStore.cpp:
64033        (WebCore::TiledBackingStore::createTiles):
64034
640352011-02-18  Beth Dakin  <bdakin@apple.com>
64036
64037        Reviewed by Sam Weinig.
64038
64039        Fix for <rdar://problem/9018729> Horizontal scroller doesn't
64040        appear when loading a page with a Horizontal scrollbar from
64041        the back/forward cache.
64042
64043        This patch adds a new  bool member variable to FrameView to
64044        keep track of whether we are loading a page from the back/
64045        forward cache. If we are, don't suppress scrollbars on
64046        first layout.
64047        * history/CachedFrame.cpp:
64048        (WebCore::CachedFrameBase::restore):
64049        * page/FrameView.cpp:
64050        (WebCore::FrameView::FrameView):
64051        (WebCore::FrameView::reset):
64052        (WebCore::FrameView::layout):
64053        * page/FrameView.h:
64054        (WebCore::FrameView::setIsRestoringFromBackForward):
64055        (WebCore::FrameView::isRestoringFromBackForward):
64056
640572011-02-18  Patrick Gansterer  <paroga@webkit.org>
64058
64059        Unreviewed WinCE build fix for r78846.
64060
64061        * platform/graphics/wince/FontWinCE.cpp:
64062        (WebCore::TextRunComponent::TextRunComponent):
64063        * platform/graphics/wince/GraphicsContextWinCE.cpp:
64064        (WebCore::GraphicsContext::drawLineForText):
64065        (WebCore::GraphicsContext::drawLineForTextChecking):
64066        (WebCore::GraphicsContext::drawText):
64067        * platform/wince/FileChooserWinCE.cpp:
64068        (WebCore::FileChooser::basenameForWidth):
64069
640702011-02-18  Emil A Eklund  <eae@chromium.org>
64071
64072        Reviewed by Darin Adler.
64073
64074        Crash in EventHandler::sendContextMenuEventForKey
64075        https://bugs.webkit.org/show_bug.cgi?id=54495
64076
64077        Test: fast/events/menu-keydown-on-hidden-element.html
64078
64079        * page/EventHandler.cpp:
64080        (WebCore::EventHandler::sendContextMenuEventForKey): Add null check.
64081
640822011-02-15  Adrienne Walker  <enne@google.com>
64083
64084        Reviewed by James Robinson.
64085
64086        [chromium] Clean up shader code from LayerChromium classes
64087        https://bugs.webkit.org/show_bug.cgi?id=54484
64088
64089        This is a refactoring and there should be no change in functionality.
64090        All shader code is pulled out into classes in ShaderChromium.
64091        The SharedValues classes are now turned into ProgramBinding, one per
64092        shader program.  These contain shader classes that know about what
64093        variables they can bind.
64094
64095        * WebCore.gypi:
64096        * platform/graphics/chromium/CanvasLayerChromium.cpp:
64097        (WebCore::CanvasLayerChromium::draw):
64098        * platform/graphics/chromium/CanvasLayerChromium.h:
64099        * platform/graphics/chromium/ContentLayerChromium.cpp:
64100        (WebCore::ContentLayerChromium::draw):
64101        * platform/graphics/chromium/ContentLayerChromium.h:
64102        * platform/graphics/chromium/GeometryBinding.cpp: Added.
64103        (WebCore::GeometryBinding::GeometryBinding):
64104        (WebCore::GeometryBinding::~GeometryBinding):
64105        (WebCore::GeometryBinding::prepareForDraw):
64106        * platform/graphics/chromium/GeometryBinding.h: Copied from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
64107        (WebCore::GeometryBinding::initialized):
64108        (WebCore::GeometryBinding::context):
64109        (WebCore::GeometryBinding::quadVerticesVbo):
64110        (WebCore::GeometryBinding::quadElementsVbo):
64111        (WebCore::GeometryBinding::positionAttribLocation):
64112        (WebCore::GeometryBinding::texCoordAttribLocation):
64113        * platform/graphics/chromium/LayerChromium.cpp:
64114        (WebCore::LayerChromium::drawDebugBorder):
64115        * platform/graphics/chromium/LayerChromium.h:
64116        * platform/graphics/chromium/LayerRendererChromium.cpp:
64117        (WebCore::LayerRendererChromium::drawLayers):
64118        (WebCore::LayerRendererChromium::initializeSharedObjects):
64119        (WebCore::LayerRendererChromium::cleanupSharedObjects):
64120        * platform/graphics/chromium/LayerRendererChromium.h:
64121        (WebCore::LayerRendererChromium::sharedGeometry):
64122        (WebCore::LayerRendererChromium::borderProgram):
64123        (WebCore::LayerRendererChromium::contentLayerProgram):
64124        (WebCore::LayerRendererChromium::canvasLayerProgram):
64125        (WebCore::LayerRendererChromium::videoLayerRGBAProgram):
64126        (WebCore::LayerRendererChromium::videoLayerYUVProgram):
64127        (WebCore::LayerRendererChromium::pluginLayerProgram):
64128        (WebCore::LayerRendererChromium::renderSurfaceProgram):
64129        (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
64130        (WebCore::LayerRendererChromium::tilerProgram):
64131        * platform/graphics/chromium/LayerTilerChromium.cpp:
64132        (WebCore::LayerTilerChromium::draw):
64133        (WebCore::LayerTilerChromium::drawTexturedQuad):
64134        * platform/graphics/chromium/LayerTilerChromium.h:
64135        * platform/graphics/chromium/PluginLayerChromium.cpp:
64136        (WebCore::PluginLayerChromium::draw):
64137        * platform/graphics/chromium/PluginLayerChromium.h:
64138        * platform/graphics/chromium/ProgramBinding.cpp: Added.
64139        (WebCore::ProgramBindingBase::ProgramBindingBase):
64140        (WebCore::ProgramBindingBase::~ProgramBindingBase):
64141        (WebCore::ProgramBindingBase::init):
64142        (WebCore::ProgramBindingBase::loadShader):
64143        (WebCore::ProgramBindingBase::createShaderProgram):
64144        * platform/graphics/chromium/ProgramBinding.h: Added.
64145        (WebCore::ProgramBindingBase::program):
64146        (WebCore::ProgramBindingBase::initialized):
64147        (WebCore::ProgramBinding::ProgramBinding):
64148        (WebCore::ProgramBinding::vertexShader):
64149        (WebCore::ProgramBinding::fragmentShader):
64150        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
64151        (WebCore::RenderSurfaceChromium::drawSurface):
64152        * platform/graphics/chromium/RenderSurfaceChromium.h:
64153        * platform/graphics/chromium/ShaderChromium.cpp: Added.
64154        (WebCore::VertexShaderPosTex::VertexShaderPosTex):
64155        (WebCore::VertexShaderPosTex::init):
64156        (WebCore::VertexShaderPosTex::getShaderString):
64157        (WebCore::VertexShaderPosTexYUVStretch::VertexShaderPosTexYUVStretch):
64158        (WebCore::VertexShaderPosTexYUVStretch::init):
64159        (WebCore::VertexShaderPosTexYUVStretch::getShaderString):
64160        (WebCore::VertexShaderPos::VertexShaderPos):
64161        (WebCore::VertexShaderPos::init):
64162        (WebCore::VertexShaderPos::getShaderString):
64163        (WebCore::VertexShaderPosTexTransform::VertexShaderPosTexTransform):
64164        (WebCore::VertexShaderPosTexTransform::init):
64165        (WebCore::VertexShaderPosTexTransform::getShaderString):
64166        (WebCore::FragmentTexAlphaBinding::FragmentTexAlphaBinding):
64167        (WebCore::FragmentTexAlphaBinding::init):
64168        (WebCore::FragmentShaderRGBATexFlipAlpha::getShaderString):
64169        (WebCore::FragmentShaderRGBATexAlpha::getShaderString):
64170        (WebCore::FragmentShaderBGRATexAlpha::getShaderString):
64171        (WebCore::FragmentShaderRGBATexAlphaMask::FragmentShaderRGBATexAlphaMask):
64172        (WebCore::FragmentShaderRGBATexAlphaMask::init):
64173        (WebCore::FragmentShaderRGBATexAlphaMask::getShaderString):
64174        (WebCore::FragmentShaderYUVVideo::FragmentShaderYUVVideo):
64175        (WebCore::FragmentShaderYUVVideo::init):
64176        (WebCore::FragmentShaderYUVVideo::getShaderString):
64177        (WebCore::FragmentShaderColor::FragmentShaderColor):
64178        (WebCore::FragmentShaderColor::init):
64179        (WebCore::FragmentShaderColor::getShaderString):
64180        * platform/graphics/chromium/ShaderChromium.h: Added.
64181        (WebCore::VertexShaderPosTex::matrixLocation):
64182        (WebCore::VertexShaderPosTexYUVStretch::matrixLocation):
64183        (WebCore::VertexShaderPosTexYUVStretch::yWidthScaleFactorLocation):
64184        (WebCore::VertexShaderPosTexYUVStretch::uvWidthScaleFactorLocation):
64185        (WebCore::VertexShaderPos::matrixLocation):
64186        (WebCore::VertexShaderPosTexTransform::matrixLocation):
64187        (WebCore::VertexShaderPosTexTransform::texTransformLocation):
64188        (WebCore::FragmentTexAlphaBinding::alphaLocation):
64189        (WebCore::FragmentTexAlphaBinding::samplerLocation):
64190        (WebCore::FragmentShaderRGBATexAlphaMask::alphaLocation):
64191        (WebCore::FragmentShaderRGBATexAlphaMask::samplerLocation):
64192        (WebCore::FragmentShaderRGBATexAlphaMask::maskSamplerLocation):
64193        (WebCore::FragmentShaderYUVVideo::yTextureLocation):
64194        (WebCore::FragmentShaderYUVVideo::uTextureLocation):
64195        (WebCore::FragmentShaderYUVVideo::vTextureLocation):
64196        (WebCore::FragmentShaderYUVVideo::alphaLocation):
64197        (WebCore::FragmentShaderYUVVideo::ccMatrixLocation):
64198        (WebCore::FragmentShaderYUVVideo::signAdjLocation):
64199        (WebCore::FragmentShaderColor::colorLocation):
64200        * platform/graphics/chromium/VideoLayerChromium.cpp:
64201        (WebCore::VideoLayerChromium::draw):
64202        (WebCore::VideoLayerChromium::drawYUV):
64203        (WebCore::VideoLayerChromium::drawRGBA):
64204        * platform/graphics/chromium/VideoLayerChromium.h:
64205
642062011-02-18  James Robinson  <jamesr@chromium.org>
64207
64208        Reviewed by Kenneth Russell.
64209
64210        [chromium] Update texture for ContentLayerChromiums in draw() call instead of updateContents..() call
64211        https://bugs.webkit.org/show_bug.cgi?id=54315
64212
64213        This defers all operations on the compositor's GL context until the
64214        draw() call which is a prerequisite for moving the draw() off-thread.
64215        Also cleans up the update cycle a bit - there were some unused local
64216        variables and whatnot.
64217
64218        One consequence of this change is that the upload buffer is retained
64219        across updates now instead of allocated by each paint.  This is
64220        necessary so that the full layer contents can be uploaded if the
64221        texture manager evicts the layer's backing texture.  This costs more
64222        persistent memory but avoids lots of allocator churn on updates.
64223        Another nonobvious detail is that I have to update the texture for
64224        ContentLayerChromiums in bindContentsTexture() because mask layers
64225        never draw(), they are instead bound to the secondary texture unit.
64226
64227        * platform/graphics/chromium/ContentLayerChromium.cpp:
64228        (WebCore::ContentLayerChromium::requiresClippedUpdateRect):
64229        (WebCore::ContentLayerChromium::updateContentsIfDirty):
64230        (WebCore::ContentLayerChromium::resizeUploadBufferForImage):
64231        (WebCore::ContentLayerChromium::resizeUploadBuffer):
64232        (WebCore::SkBitmapConditionalAutoLockerPixels::SkBitmapConditionalAutoLockerPixels):
64233        (WebCore::SkBitmapConditionalAutoLockerPixels::~SkBitmapConditionalAutoLockerPixels):
64234        (WebCore::SkBitmapConditionalAutoLockerPixels::lockPixels):
64235        (WebCore::ContentLayerChromium::updateTextureIfNeeded):
64236        (WebCore::ContentLayerChromium::draw):
64237        (WebCore::ContentLayerChromium::unreserveContentsTexture):
64238        (WebCore::ContentLayerChromium::bindContentsTexture):
64239        * platform/graphics/chromium/ContentLayerChromium.h:
64240        * platform/graphics/chromium/ImageLayerChromium.cpp:
64241        (WebCore::ImageLayerChromium::updateContentsIfDirty):
64242        * platform/graphics/chromium/LayerChromium.cpp:
64243        (WebCore::LayerChromium::setBounds):
64244        * platform/graphics/chromium/LayerChromium.h:
64245
642462011-02-18  Kenneth Russell  <kbr@google.com>
64247
64248        Unreviewed, Chromium build fix on certain Linux platforms.
64249
64250        * platform/graphics/gpu/LoopBlinnSolidFillShader.cpp:
64251
642522011-02-18  Mahesh Kulkarni  <mahesh.kulkarni@nokia.com>
64253
64254        Reviewed by Kenneth Rohde Christiansen.
64255
64256        [Qt] Implement client based geolocation for qtport
64257        https://bugs.webkit.org/show_bug.cgi?id=42629
64258
64259        Implements client based geolocation for qtwebkit. Removed old code related to non-client based geolocation
64260
64261        No tests as yet. This will be raised as different bug as new mock client implementation need to be done.
64262
64263        * WebCore.pro:
64264        * features.pri:
64265        * platform/qt/GeolocationServiceQt.cpp: Removed.
64266        * platform/qt/GeolocationServiceQt.h: Removed.
64267
642682011-02-18  Yael Aharon  <yael.aharon@nokia.com>
64269
64270        Reviewed by Dave Hyatt.
64271
64272        Add support for dir=auto
64273        https://bugs.webkit.org/show_bug.cgi?id=50916
64274
64275        When an element has dir attribute with value "auto", call defaultWritingMode
64276        to find its directionality.
64277        Added a flag SelfOrAncestorHasDirAutoFlag, and added hooks in the DOM to set
64278        and check this flag. This flag is set on every node between an element with
64279        dir=auto attribute and its first text node. Changes in the DOM between those
64280        elements will trigger re-evaluating the directionality, but changes not
64281        between those element do not need to be concerned.
64282        The DOM hooks were added to childrenChanged, and to parseMappedAttribute.
64283        The directionality is evaluated when children are added, and cleared when they are
64284        removed. Directionality flag is also cleared on a child that is no longer determining
64285        the directionality due to a sibling being added before that child.
64286
64287        Added 2 static CSSMutableStyleDeclarations to be used for elements with dir=auto.
64288        We cannot used the mapped declaration, because it can take only one value.
64289
64290        Tests: fast/dom/HTMLElement/attr-dir-auto-change-before-text-node.html
64291               fast/dom/HTMLElement/attr-dir-auto-change-child-node.html
64292               fast/dom/HTMLElement/attr-dir-auto-change-text.html
64293               fast/dom/HTMLElement/attr-dir-auto-children.html
64294               fast/dom/HTMLElement/attr-dir-auto-remove-add-children.html
64295               fast/dom/HTMLElement/attr-dir-auto.html
64296               fast/dom/HTMLElement/attr-dir-value-change.html
64297
64298        * css/CSSStyleSelector.cpp:
64299        (WebCore::leftToRightDeclaration):
64300        (WebCore::rightToLeftDeclaration):
64301        (WebCore::CSSStyleSelector::canShareStyleWithElement):
64302        (WebCore::CSSStyleSelector::styleForElement):
64303        * dom/Node.h:
64304        (WebCore::Node::selfOrAncestorHasDirAutoAttribute):
64305        (WebCore::Node::setSelfOrAncestorHasDirAutoAttribute):
64306        * html/HTMLElement.cpp:
64307        (WebCore::HTMLElement::mapToEntry):
64308        (WebCore::HTMLElement::parseMappedAttribute):
64309        (WebCore::setHasDirAutoFlagRecursively):
64310        (WebCore::HTMLElement::childrenChanged):
64311        (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
64312        (WebCore::HTMLElement::directionality):
64313        (WebCore::HTMLElement::dirAttributeChanged):
64314        (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
64315        (WebCore::HTMLElement::calculateAndAdjustDirectionality):
64316        (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
64317        * html/HTMLElement.h:
64318
643192011-02-18  Yael Aharon  <yael.aharon@nokia.com>
64320
64321        Reviewed by Antonio Gomes.
64322
64323        Navigating downwards / upwards does not focus on the links spread across more than one line.
64324        https://bugs.webkit.org/show_bug.cgi?id=54639
64325
64326        When 2 anchor elements span more than one line each, and one ends on the same line that the
64327        second starts on, the rects reported by their renderers are overlapping. When handling
64328        2 overlapping nodes, check for this case, and don't assume that one of the nodes is on a higher layer.
64329
64330        Test: fast/spatial-navigation/snav-two-elements-one-line.html
64331
64332        * page/FocusController.cpp:
64333        (WebCore::updateFocusCandidateIfNeeded):
64334        (WebCore::FocusController::findFocusCandidateInContainer):
64335        * page/SpatialNavigation.cpp:
64336        (WebCore::areElementsOnSameLine):
64337        (WebCore::distanceDataForNode):
64338        * page/SpatialNavigation.h:
64339
643402011-02-18  Ben Vanik  <benvanik@google.com>
64341
64342        Reviewed by Kenneth Russell.
64343
64344        Bug 53940: Implement the OES_vertex_array_object WebGL extension
64345        https://bugs.webkit.org/show_bug.cgi?id=53940
64346
64347        Initial implementation of the OES_vertex_array_object extension adding the OESVertexArrayObject
64348        extension container and WebGLVertexArrayObjectOES VAO object. The extension is plumbed through
64349        the Extensions3D interface and implemented in the Extensions3DOpenGL (WebKit/OSX) version when
64350        it is available.
64351        Two big changes touching code outside of the extension files:
64352        * Moved the typedefs at the top of GraphicsContext3D.h to GraphicsTypes3D.h (modeled after
64353          GraphicsTypes.h). They are not namespaced as they weren't before.
64354        * To make the code cleaner/clearer all vertex attribute state has been moved to the
64355          WebGLVertexArrayObjectOES type (struct VertexAttribState) except for values which are still
64356          on the WebGLRenderingContext. A default VAO is now used to store the existing attribute
64357          states for when no other VAO is used. Code in WebGLRenderingContext dealing with buffers and
64358          vertex attributes now defers to or stores values in the bound array object.
64359
64360        Tested against the WebGL conformance suite and the new
64361        oes-vertex-array-object test:
64362        https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/oes-vertex-array-object.html
64363
64364        * CMakeLists.txt:
64365        * CodeGenerators.pri:
64366        * DerivedSources.make:
64367        * GNUmakefile.am:
64368        * WebCore.gyp: Modified property svn:ignore.
64369        * WebCore.gypi:
64370        * WebCore.pro:
64371        * WebCore.xcodeproj/project.pbxproj:
64372        * bindings/js/JSWebGLRenderingContextCustom.cpp:
64373        (WebCore::toJS):
64374        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
64375        (WebCore::toV8Object):
64376        * html/canvas/OESVertexArrayObject.cpp: Added.
64377        (WebCore::OESVertexArrayObject::OESVertexArrayObject):
64378        (WebCore::OESVertexArrayObject::~OESVertexArrayObject):
64379        (WebCore::OESVertexArrayObject::getName):
64380        (WebCore::OESVertexArrayObject::create):
64381        (WebCore::OESVertexArrayObject::createVertexArrayOES):
64382        (WebCore::OESVertexArrayObject::deleteVertexArrayOES):
64383        (WebCore::OESVertexArrayObject::isVertexArrayOES):
64384        (WebCore::OESVertexArrayObject::bindVertexArrayOES):
64385        * html/canvas/OESVertexArrayObject.h: Added.
64386        * html/canvas/OESVertexArrayObject.idl: Added.
64387        * html/canvas/WebGLExtension.h:
64388        * html/canvas/WebGLGetInfo.cpp:
64389        (WebCore::WebGLGetInfo::WebGLGetInfo):
64390        (WebCore::WebGLGetInfo::getWebGLVertexArrayObjectOES):
64391        * html/canvas/WebGLGetInfo.h:
64392        * html/canvas/WebGLRenderingContext.cpp:
64393        (WebCore::WebGLRenderingContext::initializeNewContext):
64394        (WebCore::WebGLRenderingContext::bindBuffer):
64395        (WebCore::WebGLRenderingContext::deleteBuffer):
64396        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
64397        (WebCore::WebGLRenderingContext::validateElementArraySize):
64398        (WebCore::WebGLRenderingContext::validateIndexArrayConservative):
64399        (WebCore::WebGLRenderingContext::validateIndexArrayPrecise):
64400        (WebCore::WebGLRenderingContext::validateRenderingState):
64401        (WebCore::WebGLRenderingContext::drawElements):
64402        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
64403        (WebCore::WebGLRenderingContext::getExtension):
64404        (WebCore::WebGLRenderingContext::getParameter):
64405        (WebCore::WebGLRenderingContext::getSupportedExtensions):
64406        (WebCore::WebGLRenderingContext::getVertexAttrib):
64407        (WebCore::WebGLRenderingContext::vertexAttribPointer):
64408        (WebCore::WebGLRenderingContext::validateBufferDataParameters):
64409        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
64410        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
64411        (WebCore::WebGLRenderingContext::initVertexAttrib0):
64412        (WebCore::WebGLRenderingContext::simulateVertexAttrib0):
64413        (WebCore::WebGLRenderingContext::restoreStatesAfterVertexAttrib0Simulation):
64414        (WebCore::WebGLRenderingContext::getNumberOfExtensions):
64415        (WebCore::WebGLRenderingContext::getExtensionNumber):
64416        * html/canvas/WebGLRenderingContext.h:
64417        (WebCore::WebGLRenderingContext::getMaxVertexAttribs):
64418        (WebCore::WebGLRenderingContext::setBoundVertexArrayObject):
64419        (WebCore::WebGLRenderingContext::VertexAttribValue::VertexAttribValue):
64420        * html/canvas/WebGLVertexArrayObjectOES.cpp: Added.
64421        (WebCore::WebGLVertexArrayObjectOES::create):
64422        (WebCore::WebGLVertexArrayObjectOES::WebGLVertexArrayObjectOES):
64423        (WebCore::WebGLVertexArrayObjectOES::deleteObjectImpl):
64424        * html/canvas/WebGLVertexArrayObjectOES.h: Added.
64425        (WebCore::WebGLVertexArrayObjectOES::~WebGLVertexArrayObjectOES):
64426        (WebCore::WebGLVertexArrayObjectOES::VertexAttribState::VertexAttribState):
64427        (WebCore::WebGLVertexArrayObjectOES::isDefaultObject):
64428        (WebCore::WebGLVertexArrayObjectOES::hasEverBeenBound):
64429        (WebCore::WebGLVertexArrayObjectOES::setHasEverBeenBound):
64430        (WebCore::WebGLVertexArrayObjectOES::getElementArrayBuffer):
64431        (WebCore::WebGLVertexArrayObjectOES::setElementArrayBuffer):
64432        (WebCore::WebGLVertexArrayObjectOES::getVertexAttribState):
64433        (WebCore::WebGLVertexArrayObjectOES::isVertexArray):
64434        * html/canvas/WebGLVertexArrayObjectOES.idl: Added.
64435        * platform/graphics/Extensions3D.h:
64436        * platform/graphics/GraphicsContext3D.h:
64437        * platform/graphics/GraphicsTypes3D.h: Added.
64438        * platform/graphics/chromium/Extensions3DChromium.h:
64439        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
64440        (WebCore::Extensions3DOpenGL::supports):
64441        (WebCore::Extensions3DOpenGL::createVertexArrayOES):
64442        (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
64443        (WebCore::Extensions3DOpenGL::isVertexArrayOES):
64444        (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
64445        * platform/graphics/opengl/Extensions3DOpenGL.h:
64446        * platform/graphics/qt/Extensions3DQt.cpp:
64447        (WebCore::Extensions3DQt::createVertexArrayOES):
64448        (WebCore::Extensions3DQt::deleteVertexArrayOES):
64449        (WebCore::Extensions3DQt::isVertexArrayOES):
64450        (WebCore::Extensions3DQt::bindVertexArrayOES):
64451        * platform/graphics/qt/Extensions3DQt.h:
64452
644532011-02-17  Alexander Pavlov  <apavlov@chromium.org>
64454
64455        Reviewed by Pavel Feldman.
64456
64457        Web Inspector: reflect changes to styles when they happen outside inspector.
64458        https://bugs.webkit.org/show_bug.cgi?id=44620
64459
64460        Notify InspectorInstrumentation of inline style changes from CSSMutableStyleDeclaration
64461        whenever the style change does not come from a direct "style" attribute modification.
64462        The performance regression occurs only with the Web Inspector opened, when inline styles
64463        are modified through setting style.cssText or style.<styleAttribute>: according to the Web Inspector protocol,
64464        an attribute change requires that all attributes for the node in question be pushed into the frontend.
64465
64466        Test: inspector/styles/styles-update-from-js.html
64467
64468        * css/CSSMutableStyleDeclaration.cpp:
64469        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
64470        * inspector/InspectorDOMAgent.cpp:
64471        (WebCore::RevalidateStyleAttributeTask::reset):
64472        (WebCore::RevalidateStyleAttributeTask::RevalidateStyleAttributeTask):
64473        (WebCore::RevalidateStyleAttributeTask::scheduleFor):
64474        (WebCore::RevalidateStyleAttributeTask::onTimer):
64475        (WebCore::InspectorDOMAgent::reset):
64476        (WebCore::InspectorDOMAgent::didInvalidateStyleAttr):
64477        * inspector/InspectorDOMAgent.h:
64478        * inspector/InspectorInstrumentation.cpp:
64479        (WebCore::InspectorInstrumentation::didInvalidateStyleAttrImpl):
64480        * inspector/InspectorInstrumentation.h:
64481        (WebCore::InspectorInstrumentation::didInvalidateStyleAttr):
64482        * inspector/InspectorStyleSheet.cpp:
64483        (WebCore::InspectorStyleSheetForInlineStyle::didModifyElementAttribute):
64484        (WebCore::InspectorStyleSheetForInlineStyle::ensureParsedDataReady):
64485        (WebCore::InspectorStyleSheetForInlineStyle::elementStyleText):
64486        * inspector/InspectorStyleSheet.h:
64487        * inspector/front-end/ElementsPanel.js:
64488        (WebInspector.ElementsPanel.prototype._attributesUpdated):
64489        * inspector/front-end/StylesSidebarPane.js:
64490        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
64491        (WebInspector.StylesSidebarPane.prototype.addBlankSection):
64492        (WebInspector.StylePropertiesSection.prototype.onpopulate):
64493        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
64494        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
64495        (WebInspector.BlankStylePropertiesSection):
64496        (WebInspector.StylePropertyTreeElement):
64497        (WebInspector.StylePropertyTreeElement.prototype):
64498        (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
64499
645002011-02-16  Tony Gentilcore  <tonyg@chromium.org>
64501
64502        Reviewed by Eric Seidel.
64503
64504        Refactor pumpTokenizer loop
64505        https://bugs.webkit.org/show_bug.cgi?id=54574
64506
64507        1. This makes pumpTokenizer() safe to call when waiting for a script or when about to get
64508           the next token, although ASSERTs still enforce that we aren't waiting for a script. This
64509           enables resumeParsingAfterYield() to call pumpTokenizer with no modifications even if we
64510           yield before running a script rather than before taking a token (see bug 54355).
64511        2. This also picks up the refCount >= 1 assert when stopped.
64512
64513        Tested PerformanceTests/Parser to verify no regression. If anything it got faster.
64514        Before:
64515          avg 985.05
64516          median 985.5
64517          stdev 3.007906248539007
64518          min 980
64519          max 990
64520        After:
64521          avg 980.05
64522          median 981
64523          stdev 3.122098653149833
64524          min 974
64525          max 985
64526
64527        No new tests because no new functionality.
64528
64529        * html/parser/HTMLDocumentParser.cpp:
64530        (WebCore::HTMLDocumentParser::canTakeNextToken): Added.
64531        (WebCore::HTMLDocumentParser::pumpTokenizer):
64532        * html/parser/HTMLDocumentParser.h:
64533
645342011-02-18  Sheriff Bot  <webkit.review.bot@gmail.com>
64535
64536        Unreviewed, rolling out r79003.
64537        http://trac.webkit.org/changeset/79003
64538        https://bugs.webkit.org/show_bug.cgi?id=54753
64539
64540        It broke tests on GTK bots (Requested by Ossy on #webkit).
64541
64542        * accessibility/AccessibilityRenderObject.cpp:
64543        (WebCore::lastChildConsideringContinuation):
64544        * dom/Node.cpp:
64545        (WebCore::Node::removeEventListener):
64546        * html/DateComponents.cpp:
64547        (WebCore::DateComponents::parseTime):
64548
645492011-02-18  Csaba Osztrogonác  <ossy@webkit.org>
64550
64551        Rubber-stamped by Andreas Kling.
64552
64553        Warning fix. Use ASSERT_UNUSED() instead of ASSERT().
64554
64555        * accessibility/AccessibilityRenderObject.cpp:
64556        (WebCore::lastChildConsideringContinuation):
64557        * dom/Node.cpp:
64558        (WebCore::Node::removeEventListener):
64559        * html/DateComponents.cpp:
64560        (WebCore::DateComponents::parseTime):
64561
645622011-02-18  Andrey Adaikin  <aandrey@google.com>
64563
64564        Reviewed by Pavel Feldman.
64565
64566        Web Inspector: [Text editor] Optimize editing updates in main panel
64567        https://bugs.webkit.org/show_bug.cgi?id=54661
64568
64569        * inspector/front-end/TextViewer.js:
64570        (WebInspector.TextViewer):
64571        (WebInspector.TextViewer.prototype._textChanged):
64572        (WebInspector.TextViewer.prototype._enterInternalTextChangeMode):
64573        (WebInspector.TextViewer.prototype._exitInternalTextChangeMode):
64574        (WebInspector.TextViewer.prototype._syncDecorationsForLine):
64575        (WebInspector.TextEditorChunkedPanel.prototype.textChanged):
64576        (WebInspector.TextEditorChunkedPanel.prototype._scroll):
64577        (WebInspector.TextEditorChunkedPanel.prototype.chunkForLine):
64578        (WebInspector.TextEditorChunkedPanel.prototype._totalHeight):
64579        (WebInspector.TextEditorGutterPanel.prototype._expandChunks):
64580        (WebInspector.TextEditorGutterChunk):
64581        (WebInspector.TextEditorGutterChunk.prototype.addDecoration):
64582        (WebInspector.TextEditorGutterChunk.prototype.removeDecoration):
64583        (WebInspector.TextEditorMainPanel):
64584        (WebInspector.TextEditorMainPanel.prototype._expandChunks):
64585        (WebInspector.TextEditorMainPanel.prototype._highlightDataReady):
64586        (WebInspector.TextEditorMainPanel.prototype._markSkippedPaintLines):
64587        (WebInspector.TextEditorMainPanel.prototype._paintSkippedLines):
64588        (WebInspector.TextEditorMainPanel.prototype._paintLines):
64589        (WebInspector.TextEditorMainPanel.prototype._paintLine):
64590        (WebInspector.TextEditorMainPanel.prototype._positionToSelection):
64591        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
64592        (WebInspector.TextEditorMainPanel.prototype._updateChunksForRanges):
64593        (WebInspector.TextEditorMainPanel.prototype._updateHighlightsForRange):
64594        (WebInspector.TextEditorMainPanel.prototype._collectLinesFromDiv):
64595        (WebInspector.TextEditorMainChunk):
64596        (WebInspector.TextEditorMainChunk.prototype.get startLine):
64597        (WebInspector.TextEditorMainChunk.prototype.set startLine):
64598        (WebInspector.TextEditorMainChunk.prototype.getExpandedLineRow):
64599        (WebInspector.TextEditorMainChunk.prototype.updateCollapsedLineRow):
64600
646012011-02-18  Steve Block  <steveblock@google.com>
64602
64603        Reviewed by Andreas Kling
64604
64605        Memory allocation error in convertV8ObjectToNPVariant() for strings
64606        https://bugs.webkit.org/show_bug.cgi?id=54737
64607
64608        Include the termination character in the length when allocating memory
64609        and copying the string. This fixes a crashing bug on Android.
64610
64611        This should be tested by the java/ tests on Chromium, but these
64612        tests are currently skipped.
64613
64614        * bindings/v8/V8NPUtils.cpp:
64615        (WebCore::convertV8ObjectToNPVariant):
64616
646172011-02-18  Philippe Normand  <pnormand@igalia.com>
64618
64619        Unreviewed, rolling out r78979.
64620        http://trac.webkit.org/changeset/78979
64621        https://bugs.webkit.org/show_bug.cgi?id=53146
64622
64623        causes multiple crashes on GTK
64624
64625        * accessibility/gtk/AXObjectCacheAtk.cpp:
64626        (WebCore::notifyChildrenSelectionChange):
64627        (WebCore::AXObjectCache::postPlatformNotification):
64628
646292011-02-18  Philippe Normand  <pnormand@igalia.com>
64630
64631        Reviewed by Martin Robinson.
64632
64633        [GTK] minimal build unrecognized options
64634        https://bugs.webkit.org/show_bug.cgi?id=50890
64635
64636        * GNUmakefile.am: new feature defines for optional features build.
64637
646382011-02-17  Hans Wennborg  <hans@chromium.org>
64639
64640        Reviewed by Jeremy Orlow.
64641
64642        IndexedDB: Populate indexes created for object stores with data
64643        https://bugs.webkit.org/show_bug.cgi?id=54669
64644
64645        Make sure that indices for object stores that already hold data get
64646        populated.
64647
64648        * storage/IDBIndexBackendImpl.h:
64649        (WebCore::IDBIndexBackendImpl::hasValidId):
64650        * storage/IDBObjectStoreBackendImpl.cpp:
64651        (WebCore::IDBObjectStoreBackendImpl::putInternal):
64652        (WebCore::populateIndex):
64653        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
64654
646552011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
64656
64657        Reviewed by Martin Robinson.
64658
64659        [GTK] Combo boxes should emit object:selection-changed even when collapsed
64660        https://bugs.webkit.org/show_bug.cgi?id=53146
64661
64662        Emit the selection-changed signals when the menu list value has changed
64663
64664        Test: platform/gtk/accessibility/combo-box-collapsed-selection-changed.html
64665
64666        * accessibility/gtk/AXObjectCacheAtk.cpp:
64667        (WebCore::getListObject): New, return the right list object for
64668        menu lists and list boxes.
64669        (WebCore::notifyChildrenSelectionChange): Support menu lists.
64670        (WebCore::AXObjectCache::postPlatformNotification): Call function
64671        notifyChildrenSelectionChange for AXMenuListValueChanged.
64672
646732011-02-18  Mario Sanchez Prada  <msanchez@igalia.com>
64674
64675        Reviewed by Martin Robinson.
64676
64677        [Gtk] atk_text_get_selection/atk_text_set_selection fails for list items
64678        https://bugs.webkit.org/show_bug.cgi?id=53453
64679
64680        Ensure that atk_text_{get|set}_selection() work with list items.
64681
64682        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
64683        (webkit_accessible_text_get_text): Properly handle list item
64684        markers when returning the text for an object for a given interval
64685        specified through the startOffset and endOffset parameters.
64686        (getSelectionOffsetsForObject): Bear in mind list item markers
64687        when returning the offsets for a selection over a list item.
64688        (webkit_accessible_text_set_selection): Adjust offsets if needed
64689        for list items with item markers. Ensure that it returns TRUE only
64690        when everything went fine setting the text selection.
64691
646922011-02-18  Antti Koivisto  <antti@apple.com>
64693
64694        Reviewed by Maciej Stachowiak.
64695
64696        https://bugs.webkit.org/show_bug.cgi?id=54728
64697        checkSelector*Value functions used in fastCheckSelector fail to inline
64698
64699        Wrap the functions used as template arguments to classes.
64700
64701        * css/CSSStyleSelector.cpp:
64702        (WebCore::fastCheckSingleSelector):
64703        (WebCore::ClassCheck::checkValue):
64704        (WebCore::IdCheck::checkValue):
64705        (WebCore::TagCheck::checkValue):
64706        (WebCore::CSSStyleSelector::SelectorChecker::fastCheckSelector):
64707
647082011-02-17  Simon Fraser  <simon.fraser@apple.com>
64709
64710        Reviewed by Sam Weinig.
64711
64712        Composited iframe content is missing from snapshots in WebKit2
64713        https://bugs.webkit.org/show_bug.cgi?id=54696
64714
64715        We need to propagate the 'flattening' paint behavior flag
64716        down to subviews while painting. WebKit1 does this via
64717        code in WebFrameView, but this is a more general fix
64718        that works in WebKit2 as well.
64719
64720        Made a utility method, parentFrameView(), which I changed
64721        some other methods to use as well.
64722
64723        * page/FrameView.cpp:
64724        (WebCore::FrameView::isEnclosedInCompositingLayer):
64725        (WebCore::FrameView::useSlowRepaints):
64726        (WebCore::FrameView::useSlowRepaintsIfNotOverlapped):
64727        (WebCore::FrameView::isOverlappedIncludingAncestors):
64728        (WebCore::FrameView::parentFrameView):
64729        (WebCore::FrameView::paintContents):
64730        * page/FrameView.h:
64731
647322011-02-17  Dan Bernstein  <mitz@apple.com>
64733
64734        Reviewed by Simon Fraser.
64735
64736        <rdar://problem/8898595> Pages that use fixed positioning display poorly when scaled
64737
64738        * html/HTMLBodyElement.cpp:
64739        (WebCore::adjustForZoom): Account for page scale.
64740        (WebCore::HTMLBodyElement::setScrollLeft): Ditto.
64741        (WebCore::HTMLBodyElement::setScrollTop): Ditto.
64742        * page/FrameView.cpp:
64743        (WebCore::FrameView::scrollXForFixedPosition): Moved from ScrollView here and changed to
64744        account for page scale: when the page is scaled, the “viewport” with respect to which fixed
64745        objects are positioned is scaled as well. Since it’s now bigger than the real viewport (that is,
64746        the frame view), we move it around in proportion to the document scroll, so that when the document
64747        is fully scrolled to the bottom-right, the bottom right of the scaled viewport is visible.
64748        (WebCore::FrameView::scrollYForFixedPosition): Ditto.
64749        (WebCore::FrameView::scrollOffsetForFixedPosition): Moved from ScrollView here.
64750        * page/FrameView.h:
64751        * platform/ScrollView.cpp: Moved functions to FrameView.
64752        * platform/ScrollView.h:
64753        * rendering/RenderLayer.cpp:
64754        (WebCore::RenderLayer::updateRepaintRectsAfterScroll): Account for the RenderView being transformed.
64755        (WebCore::RenderLayer::calculateClipRects): Used scrollOffsetForFixedPosition().
64756        (WebCore::RenderLayer::backgroundClipRect): Ditto.
64757
647582011-02-17  Kenneth Russell  <kbr@google.com>
64759
64760        Reviewed by James Robinson.
64761
64762        Add support for GPU accelerated path rendering
64763        https://bugs.webkit.org/show_bug.cgi?id=44729
64764
64765        Incorporates the Loop and Blinn path rendering algorithm as an
64766        option to the GPU-accelerated canvas code, currently only compiled
64767        in to the Chromium port. Currently it's toggled by changing a
64768        hardcoded constant in
64769        SharedGraphicsContext3D::useLoopBlinnForPathRendering() and is
64770        disabled by default. This mechanism can be improved once we've
64771        gained more confidence in the implementation. There are some known
64772        bugs that need to be fixed first.
64773
64774        No new tests; ran some 2D Canvas tests manually with the new flag
64775        both enabled and disabled.
64776
64777        * WebCore.gypi:
64778        * platform/graphics/chromium/GLES2Canvas.cpp:
64779        (WebCore::GLES2Canvas::GLES2Canvas):
64780        (WebCore::GLES2Canvas::fillPath):
64781        * platform/graphics/chromium/GLES2Canvas.h:
64782        * platform/graphics/gpu/LoopBlinnClassifier.h:
64783        * platform/graphics/gpu/LoopBlinnLocalTriangulator.h:
64784        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
64785        (WebCore::SharedGraphicsContext3D::create):
64786        (WebCore::SharedGraphicsContext3D::SharedGraphicsContext3D):
64787        (WebCore::SharedGraphicsContext3D::createBuffer):
64788        (WebCore::SharedGraphicsContext3D::bindBuffer):
64789        (WebCore::SharedGraphicsContext3D::bufferData):
64790        (WebCore::SharedGraphicsContext3D::bufferSubData):
64791        (WebCore::SharedGraphicsContext3D::useLoopBlinnForPathRendering):
64792        (WebCore::SharedGraphicsContext3D::useLoopBlinnInteriorProgram):
64793        (WebCore::SharedGraphicsContext3D::useLoopBlinnExteriorProgram):
64794        * platform/graphics/gpu/SharedGraphicsContext3D.h:
64795        * platform/graphics/skia/GraphicsContextSkia.cpp:
64796        (WebCore::GraphicsContext::fillPath):
64797
647982011-02-16  Stephen White  <senorblanco@chromium.org>
64799
64800        Reviewed by James Robinson.
64801
64802        Layout Test fast/canvas/setWidthResetAfterForcedRender.html fails on
64803        accelerated 2D canvas w/compositor enabled.
64804        https://bugs.webkit.org/show_bug.cgi?id=54561
64805
64806        When resetting the CanvasRenderingContext2D, we also need to send a
64807        contentChanged() to the relevant RenderLayer.  This is similar to what
64808        is done in didDraw().
64809
64810        Covered by fast/canvas/setWidthResetAfterForcedRender.html, but note
64811        that this test will still fail pixel tests because the compositor
64812        is not compatible with repaint tests (the green square is now white,
64813        but the half-transparent grey repaint rect does not appear).
64814
64815        * html/canvas/CanvasRenderingContext2D.cpp:
64816        (WebCore::CanvasRenderingContext2D::reset):
64817
648182011-02-17  Sergey Glazunov  <serg.glazunov@gmail.com>
64819
64820        Reviewed by Kenneth Russell.
64821
64822        Null out the WEBKIT_lose_context WebGL extension's context pointer when
64823        the WebGL rendering context is removed.
64824        https://bugs.webkit.org/show_bug.cgi?id=54679
64825
64826        Test: fast/canvas/webgl/context-destroyed-crash.html
64827
64828        * html/canvas/WebGLRenderingContext.cpp:
64829        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
64830        * html/canvas/WebKitLoseContext.cpp:
64831        (WebCore::WebKitLoseContext::loseContext): Add null-check for m_context.
64832        * html/canvas/WebKitLoseContext.h:
64833        (WebCore::WebKitLoseContext::contextDestroyed):
64834
648352011-02-17  Kenneth Russell  <kbr@google.com>
64836
64837        Reviewed by Chris Marrin.
64838
64839        Construction of Uint8Array from JS Array (and possibly others) incorrectly clamps values
64840        https://bugs.webkit.org/show_bug.cgi?id=52768
64841
64842        Removed incorrect clamping code from IntegralTypedArrayBase. Fixed
64843        code which casts from incoming double to the destination type.
64844        Changed the JSC bindings to use this code, rather than a copy of
64845        the casting code and a different constructor, in order to reuse
64846        the fix.
64847
64848        * bindings/js/JSArrayBufferViewHelper.h:
64849        (WebCore::constructArrayBufferView):
64850        * html/canvas/Int32Array.h:
64851        (WebCore::Int32Array::set):
64852        * html/canvas/Int8Array.h:
64853        (WebCore::Int8Array::set):
64854        * html/canvas/IntegralTypedArrayBase.h:
64855        (WebCore::IntegralTypedArrayBase::set):
64856        * html/canvas/Uint16Array.h:
64857        (WebCore::Uint16Array::set):
64858        * html/canvas/Uint32Array.h:
64859        (WebCore::Uint32Array::set):
64860        * html/canvas/Uint8Array.h:
64861        (WebCore::Uint8Array::set):
64862
648632011-02-17  Sam Weinig  <sam@webkit.org>
64864
64865        Reviewed by Dan Bernstein.
64866
64867        Knob proportion not quite right during rubber-band.
64868        <rdar://problem/9015201>
64869
64870        Change knob proportion algorithm to treat overhang as making the view smaller,
64871        rather than document bigger.
64872
64873        * platform/mac/ScrollbarThemeMac.mm:
64874        (WebCore::ScrollbarThemeMac::paint):
64875
648762011-02-16  Luiz Agostini  <luiz.agostini@openbossa.org>
64877
64878        Reviewed by Andreas Kling.
64879
64880        Summary: HTML5 <details> and <summary>: HTMLSummaryElement
64881        https://bugs.webkit.org/show_bug.cgi?id=54584
64882
64883        Adding class HTMLSummaryElement to build systems. This class will be used in
64884        the implementation of new HTML5 tag <summary>.
64885
64886        * CMakeLists.txt:
64887        * GNUmakefile.am:
64888        * WebCore.gypi:
64889        * WebCore.pro:
64890        * WebCore.vcproj/WebCore.vcproj:
64891        * WebCore.xcodeproj/project.pbxproj:
64892        * html/HTMLElementsAllInOne.cpp:
64893        * html/HTMLSummaryElement.cpp: Added.
64894        (WebCore::HTMLSummaryElement::create):
64895        (WebCore::HTMLSummaryElement::HTMLSummaryElement):
64896        * html/HTMLSummaryElement.h: Added.
64897        * html/HTMLTagNames.in:
64898
648992011-02-17  Jeremy Orlow  <jorlow@chromium.org>
64900
64901        Reviewed by Nate Chapin.
64902
64903        Throwing in an IndexedDB error or success event should lead to the transaction aborting
64904        https://bugs.webkit.org/show_bug.cgi?id=54249
64905
64906        When an exception is thrown but not handled  within an IDBRequests success/error event,
64907        we should abort the transaction.
64908
64909        Test: storage/indexeddb/exception-in-event-aborts.html
64910
64911        * bindings/js/JSEventListener.cpp:
64912        (WebCore::JSEventListener::handleEvent):
64913        * bindings/js/JSEventTarget.cpp:
64914        (WebCore::toJS):
64915        * bindings/v8/V8AbstractEventListener.cpp:
64916        (WebCore::V8AbstractEventListener::invokeEventHandler):
64917        * dom/EventTarget.cpp:
64918        (WebCore::EventTarget::uncaughtExceptionInEventHandler):
64919        * dom/EventTarget.h:
64920        * storage/IDBRequest.cpp:
64921        (WebCore::IDBRequest::uncaughtExceptionInEventHandler):
64922        * storage/IDBRequest.h:
64923
649242011-02-17  Sam Weinig  <sam@webkit.org>
64925
64926        Reviewed by Maciej Stachowiak.
64927
64928        WebKit2: Support Dictionary popup
64929        <rdar://problem/7660670>
64930
64931        Add some necessary exports.
64932
64933        * WebCore.exp.in:
64934
649352011-02-17  W. James MacLean  <wjmaclean@chromium.org>
64936
64937        Reviewed by James Robinson.
64938
64939        [chromium] Add command-line flag to enable composite to offscreen texture.
64940        https://bugs.webkit.org/show_bug.cgi?id=52311
64941
64942        Add plumbing to allow command-line switch to enable offscreen compositing. Function
64943        LayerRendererChromium::copyOffscreenTextureToDisplay used for now to mimic
64944        normal renderer operation.
64945
64946        Existing functionality not changed; offscreen compositing will be tested via GPU test framework.
64947
64948        * platform/graphics/chromium/LayerRendererChromium.cpp:
64949        (WebCore::LayerRendererChromium::setRootLayer):
64950        (WebCore::LayerRendererChromium::setCompositeOffscreen):
64951        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
64952        (WebCore::LayerRendererChromium::useRenderSurface):
64953        (WebCore::LayerRendererChromium::setScissorToRect):
64954        * platform/graphics/chromium/LayerRendererChromium.h:
64955        (WebCore::LayerRendererChromium::isCompositingOffscreen):
64956
649572011-02-17  Kevin Ollivier  <kevino@theolliviers.com>
64958
64959        [wx] Build fixes after recent changes.
64960
64961        * dom/ScriptedAnimationController.h:
64962        * platform/graphics/wx/FontWx.cpp:
64963        (WebCore::Font::drawComplexText):
64964        * platform/graphics/wx/GraphicsContextWx.cpp:
64965        (WebCore::GraphicsContext::drawLineForText):
64966        (WebCore::GraphicsContext::drawLineForTextChecking):
64967        * platform/wx/WidgetWx.cpp:
64968        (WebCore::Widget::setFrameRect):
64969
649702011-02-16  Brian Weinstein  <bweinstein@apple.com>
64971
64972        Reviewed by Brady Eidson.
64973
64974        WebKit2: Need a way to manage the WebCore Cache
64975        https://bugs.webkit.org/show_bug.cgi?id=54501
64976
64977        Add a way to get a set of all of the origins that have entries in the
64978        WebCore memory cache, and a method to remove all resources from the memory
64979        cache from a given security origin.
64980
64981        No change in behavior.
64982
64983        * WebCore.exp.in: Add functions that need to be exported.
64984        * loader/cache/MemoryCache.cpp:
64985        (WebCore::MemoryCache::removeResourcesWithOrigin):
64986        (WebCore::MemoryCache::getOriginsWithCache):
64987        * loader/cache/MemoryCache.h:
64988
649892011-02-16  David Hyatt  <hyatt@apple.com>
64990
64991        Reviewed by Dan Bernstein.
64992
64993        https://bugs.webkit.org/show_bug.cgi?id=54244
64994
64995        Convert the line box tree to floating point and eliminate font rounding hacks.  This patch removes all of the rounding
64996        hacks from the Font code and makes sure all Font APIs involving width measurement and width offsets use floats.
64997
64998        The line box tree's x, y and logicalWidth members have all been converted to floats and all of the line box APIs have
64999        been changed as well.
65000
65001        In terms of pixel adjustments, overflow is using an enclosing model (so it will be enclosingIntRect of a line box's x/y/width/height).
65002
65003        Background and border painting is using a rounding model, so borders and backgrounds will round to the nearest pixel when painting.
65004
65005        Replaced elements still snap to integer positions on lines, and they use a rounding model as well, although their underlying line boxes
65006        still have a precise floating point position.
65007
65008        Justification will now allow subpixel positioning to occur as well.  Platforms that don't support subpixel positioning should already
65009        be rounding justification spacing in their font code.
65010
65011        Many layout test results change on Mac, since rounding hacks were used there and are now gone.
65012
65013        * WebCore.exp.in:
65014        * html/canvas/CanvasRenderingContext2D.cpp:
65015        (WebCore::CanvasRenderingContext2D::drawTextInternal):
65016        * platform/chromium/FileChooserChromium.cpp:
65017        (WebCore::FileChooser::basenameForWidth):
65018        * platform/graphics/Font.cpp:
65019        (WebCore::Font::width):
65020        * platform/graphics/Font.h:
65021        (WebCore::Font::spaceWidth):
65022        (WebCore::Font::tabWidth):
65023        * platform/graphics/FontFastPath.cpp:
65024        (WebCore::Font::getGlyphsAndAdvancesForSimpleText):
65025        * platform/graphics/GraphicsContext.cpp:
65026        (WebCore::GraphicsContext::drawText):
65027        (WebCore::GraphicsContext::drawEmphasisMarks):
65028        (WebCore::GraphicsContext::drawBidiText):
65029        (WebCore::GraphicsContext::drawHighlightForText):
65030        * platform/graphics/GraphicsContext.h:
65031        * platform/graphics/SimpleFontData.cpp:
65032        (WebCore::SimpleFontData::SimpleFontData):
65033        (WebCore::SimpleFontData::platformGlyphInit):
65034        * platform/graphics/SimpleFontData.h:
65035        (WebCore::SimpleFontData::spaceWidth):
65036        * platform/graphics/StringTruncator.cpp:
65037        (WebCore::stringWidth):
65038        (WebCore::truncateString):
65039        (WebCore::StringTruncator::centerTruncate):
65040        (WebCore::StringTruncator::rightTruncate):
65041        (WebCore::StringTruncator::width):
65042        * platform/graphics/StringTruncator.h:
65043        * platform/graphics/TextRun.h:
65044        (WebCore::TextRun::TextRun):
65045        (WebCore::TextRun::xPos):
65046        (WebCore::TextRun::expansion):
65047        (WebCore::TextRun::directionalOverride):
65048        (WebCore::TextRun::disableSpacing):
65049        * platform/graphics/WidthIterator.cpp:
65050        (WebCore::WidthIterator::WidthIterator):
65051        (WebCore::WidthIterator::advance):
65052        * platform/graphics/WidthIterator.h:
65053        * platform/graphics/cairo/GraphicsContextCairo.cpp:
65054        (WebCore::GraphicsContext::drawLineForText):
65055        (WebCore::GraphicsContext::drawLineForTextChecking):
65056        * platform/graphics/cg/GraphicsContextCG.cpp:
65057        (WebCore::GraphicsContext::drawLineForText):
65058        * platform/graphics/mac/ComplexTextController.cpp:
65059        (WebCore::ComplexTextController::ComplexTextController):
65060        (WebCore::ComplexTextController::advance):
65061        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
65062        * platform/graphics/mac/ComplexTextController.h:
65063        * platform/graphics/mac/FontComplexTextMac.cpp:
65064        (WebCore::Font::getGlyphsAndAdvancesForComplexText):
65065        * platform/graphics/mac/GraphicsContextMac.mm:
65066        (WebCore::GraphicsContext::drawLineForTextChecking):
65067        * platform/graphics/qt/GraphicsContextQt.cpp:
65068        (WebCore::GraphicsContext::drawLineForText):
65069        (WebCore::GraphicsContext::drawLineForTextChecking):
65070        * platform/graphics/qt/SimpleFontDataQt.cpp:
65071        (WebCore::SimpleFontData::platformGlyphInit):
65072        * platform/graphics/skia/GraphicsContextSkia.cpp:
65073        (WebCore::GraphicsContext::drawLineForTextChecking):
65074        (WebCore::GraphicsContext::drawLineForText):
65075        * platform/graphics/win/GraphicsContextCGWin.cpp:
65076        (WebCore::GraphicsContext::drawLineForTextChecking):
65077        * platform/graphics/win/UniscribeController.cpp:
65078        (WebCore::UniscribeController::shapeAndPlaceItem):
65079        * platform/gtk/FileChooserGtk.cpp:
65080        (WebCore::FileChooser::basenameForWidth):
65081        * platform/mac/DragImageMac.mm:
65082        (WebCore::widthWithFont):
65083        (WebCore::drawAtPoint):
65084        * platform/mac/FileChooserMac.mm:
65085        (WebCore::FileChooser::basenameForWidth):
65086        * platform/win/DragImageWin.cpp:
65087        (WebCore::createDragImageForLink):
65088        * platform/win/FileChooserWin.cpp:
65089        (WebCore::FileChooser::basenameForWidth):
65090        * platform/win/PopupMenuWin.cpp:
65091        (WebCore::PopupMenuWin::calculatePositionAndSize):
65092        * platform/win/WebCoreTextRenderer.cpp:
65093        (WebCore::WebCoreTextFloatWidth):
65094        * rendering/HitTestResult.cpp:
65095        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
65096        * rendering/HitTestResult.h:
65097        * rendering/InlineBox.cpp:
65098        (WebCore::InlineBox::adjustPosition):
65099        (WebCore::InlineBox::placeEllipsisBox):
65100        (WebCore::InlineBox::locationIncludingFlipping):
65101        (WebCore::InlineBox::flipForWritingMode):
65102        * rendering/InlineBox.h:
65103        (WebCore::InlineBox::InlineBox):
65104        (WebCore::InlineBox::adjustLineDirectionPosition):
65105        (WebCore::InlineBox::adjustBlockDirectionPosition):
65106        (WebCore::InlineBox::setX):
65107        (WebCore::InlineBox::x):
65108        (WebCore::InlineBox::setY):
65109        (WebCore::InlineBox::y):
65110        (WebCore::InlineBox::width):
65111        (WebCore::InlineBox::height):
65112        (WebCore::InlineBox::logicalLeft):
65113        (WebCore::InlineBox::logicalRight):
65114        (WebCore::InlineBox::setLogicalLeft):
65115        (WebCore::InlineBox::pixelSnappedLogicalLeft):
65116        (WebCore::InlineBox::pixelSnappedLogicalRight):
65117        (WebCore::InlineBox::setLogicalWidth):
65118        (WebCore::InlineBox::logicalWidth):
65119        (WebCore::InlineBox::verticalAlign):
65120        * rendering/InlineFlowBox.cpp:
65121        (WebCore::InlineFlowBox::roundedFrameRect):
65122        (WebCore::InlineFlowBox::adjustPosition):
65123        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
65124        (WebCore::InlineFlowBox::adjustMaxAscentAndDescent):
65125        (WebCore::verticalPositionForBox):
65126        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
65127        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
65128        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
65129        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
65130        (WebCore::InlineFlowBox::computeOverflow):
65131        (WebCore::InlineFlowBox::setLayoutOverflow):
65132        (WebCore::InlineFlowBox::setVisualOverflow):
65133        (WebCore::InlineFlowBox::nodeAtPoint):
65134        (WebCore::InlineFlowBox::paintBoxDecorations):
65135        (WebCore::InlineFlowBox::paintMask):
65136        (WebCore::InlineFlowBox::placeEllipsisBox):
65137        * rendering/InlineFlowBox.h:
65138        (WebCore::InlineFlowBox::maxYLayoutOverflow):
65139        (WebCore::InlineFlowBox::maxXLayoutOverflow):
65140        (WebCore::InlineFlowBox::layoutOverflowRect):
65141        (WebCore::InlineFlowBox::maxYVisualOverflow):
65142        (WebCore::InlineFlowBox::maxXVisualOverflow):
65143        (WebCore::InlineFlowBox::visualOverflowRect):
65144        * rendering/InlineTextBox.cpp:
65145        (WebCore::InlineTextBox::placeEllipsisBox):
65146        (WebCore::InlineTextBox::nodeAtPoint):
65147        (WebCore::paintTextWithShadows):
65148        (WebCore::InlineTextBox::paint):
65149        (WebCore::InlineTextBox::paintSelection):
65150        (WebCore::InlineTextBox::paintCompositionBackground):
65151        (WebCore::InlineTextBox::paintDecoration):
65152        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
65153        (WebCore::InlineTextBox::paintTextMatchMarker):
65154        (WebCore::InlineTextBox::paintDocumentMarkers):
65155        (WebCore::InlineTextBox::paintCompositionUnderline):
65156        (WebCore::InlineTextBox::textPos):
65157        (WebCore::InlineTextBox::offsetForPosition):
65158        (WebCore::InlineTextBox::positionForOffset):
65159        * rendering/InlineTextBox.h:
65160        (WebCore::InlineTextBox::setExpansion):
65161        * rendering/RenderBR.h:
65162        (WebCore::RenderBR::width):
65163        * rendering/RenderBlock.cpp:
65164        (WebCore::stripTrailingSpace):
65165        (WebCore::updatePreferredWidth):
65166        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
65167        (WebCore::RenderBlock::adjustForBorderFit):
65168        (WebCore::RenderBlock::addFocusRingRects):
65169        * rendering/RenderBlock.h:
65170        * rendering/RenderBlockLineLayout.cpp:
65171        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine):
65172        (WebCore::RenderBlock::fitBelowFloats):
65173        (WebCore::textWidth):
65174        (WebCore::tryHyphenating):
65175        (WebCore::RenderBlock::findNextLineBreak):
65176        * rendering/RenderBox.cpp:
65177        (WebCore::RenderBox::positionLineBox):
65178        (WebCore::RenderBox::flipForWritingMode):
65179        * rendering/RenderBox.h:
65180        * rendering/RenderCombineText.cpp:
65181        (WebCore::RenderCombineText::width):
65182        (WebCore::RenderCombineText::adjustTextOrigin):
65183        (WebCore::RenderCombineText::combineText):
65184        * rendering/RenderCombineText.h:
65185        (WebCore::RenderCombineText::combinedTextWidth):
65186        * rendering/RenderCounter.cpp:
65187        (WebCore::RenderCounter::computePreferredLogicalWidths):
65188        * rendering/RenderCounter.h:
65189        * rendering/RenderEmbeddedObject.cpp:
65190        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
65191        * rendering/RenderFileUploadControl.cpp:
65192        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths):
65193        * rendering/RenderImage.cpp:
65194        * rendering/RenderInline.cpp:
65195        (WebCore::RenderInline::linesBoundingBox):
65196        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
65197        (WebCore::RenderInline::addFocusRingRects):
65198        (WebCore::RenderInline::paintOutline):
65199        * rendering/RenderListBox.cpp:
65200        (WebCore::RenderListBox::updateFromElement):
65201        (WebCore::RenderListBox::paintItemForeground):
65202        * rendering/RenderMenuList.cpp:
65203        (WebCore::RenderMenuList::updateOptionsWidth):
65204        * rendering/RenderText.cpp:
65205        (WebCore::RenderText::localCaretRect):
65206        (WebCore::RenderText::widthFromCache):
65207        (WebCore::RenderText::trimmedPrefWidths):
65208        (WebCore::RenderText::minLogicalWidth):
65209        (WebCore::RenderText::maxLogicalWidth):
65210        (WebCore::RenderText::computePreferredLogicalWidths):
65211        (WebCore::RenderText::firstRunOrigin):
65212        (WebCore::RenderText::firstRunX):
65213        (WebCore::RenderText::firstRunY):
65214        (WebCore::RenderText::width):
65215        (WebCore::RenderText::linesBoundingBox):
65216        * rendering/RenderText.h:
65217        * rendering/RenderTextControl.cpp:
65218        (WebCore::RenderTextControl::getAvgCharWidth):
65219        (WebCore::RenderTextControl::paintPlaceholder):
65220        * rendering/RenderTreeAsText.cpp:
65221        (WebCore::writeTextRun):
65222        * rendering/RootInlineBox.cpp:
65223        (WebCore::RootInlineBox::placeEllipsis):
65224        (WebCore::RootInlineBox::placeEllipsisBox):
65225        (WebCore::RootInlineBox::adjustPosition):
65226        (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
65227        (WebCore::RootInlineBox::paddedLayoutOverflowRect):
65228        * rendering/RootInlineBox.h:
65229        * rendering/VerticalPositionCache.h:
65230        * rendering/svg/SVGInlineTextBox.cpp:
65231        (WebCore::SVGInlineTextBox::offsetForPosition):
65232        (WebCore::SVGInlineTextBox::positionForOffset):
65233        (WebCore::SVGInlineTextBox::constructTextRun):
65234        * rendering/svg/SVGInlineTextBox.h:
65235        * rendering/svg/SVGRenderTreeAsText.cpp:
65236        (WebCore::writeRenderSVGTextBox):
65237        * rendering/svg/SVGTextMetrics.cpp:
65238        (WebCore::SVGTextMetrics::SVGTextMetrics):
65239        (WebCore::constructTextRun):
65240        * svg/SVGFont.cpp:
65241        (WebCore::floatWidthMissingGlyphCallback):
65242        (WebCore::Font::drawTextUsingSVGFont):
65243
652442011-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
65245
65246        Reviewed by Dirk Schulze.
65247
65248        'ex' coordinates fail, when SVGFont doesn't provide an explicit xHeight attribute
65249        https://bugs.webkit.org/show_bug.cgi?id=54672
65250
65251        Measure the xHeight from the 'x' glyph of a SVGFont, if the font itself doesn't explicitely specify an x-height attribute.
65252        Fixes the modern version of SVG 1.1 2nd Edition coords-units-03-b.svg.
65253
65254        Test: svg/W3C-SVG-1.1-SE/coords-units-03-b.svg
65255
65256        * platform/graphics/SimpleFontData.cpp:
65257        (WebCore::SimpleFontData::SimpleFontData):
65258
652592011-02-10  Luiz Agostini  <luiz.agostini@openbossa.org>
65260
65261        Reviewed by Adam Roben.
65262
65263        HTML5 <details> and <summary>: localized text
65264        https://bugs.webkit.org/show_bug.cgi?id=54260
65265
65266        The method defaultDetailsSummaryText was added to LocalizationStrategy class and to
65267        platform/LocalizedStrings. It is used to provide the default label to be used by a
65268        <details> tag that has no <summary> child.
65269
65270        * platform/LocalizationStrategy.h:
65271        * platform/LocalizedStrings.cpp:
65272        (WebCore::fileButtonNoFileSelectedLabel):
65273        (WebCore::defaultDetailsSummaryText):
65274        * platform/LocalizedStrings.h:
65275        * platform/android/LocalizedStringsAndroid.cpp:
65276        (WebCore::defaultDetailsSummaryText):
65277        * platform/brew/LocalizedStringsBrew.cpp:
65278        (WebCore::defaultDetailsSummaryText):
65279        * platform/efl/LocalizedStringsEfl.cpp:
65280        (WebCore::defaultDetailsSummaryText):
65281        * platform/gtk/LocalizedStringsGtk.cpp:
65282        (WebCore::defaultDetailsSummaryText):
65283        * platform/haiku/LocalizedStringsHaiku.cpp:
65284        (WebCore::defaultDetailsSummaryText):
65285        * platform/wx/LocalizedStringsWx.cpp:
65286        (WebCore::defaultDetailsSummaryText):
65287
652882011-02-17  Kristian Amlie  <kristian.amlie@nokia.com>
65289
65290        Reviewed by Laszlo Gombos.
65291
65292        Updated include paths for phonon.
65293
65294        [Qt] WebKit patches required to work with a modularized version of Qt
65295        https://bugs.webkit.org/show_bug.cgi?id=53916
65296
65297        Build fix. No tests.
65298
65299        * WebCore.pro:
65300
653012011-02-17  Hui Huang  <hui.2.huang@nokia.com>
65302
65303        Reviewed by Laszlo Gombos.
65304
65305        The URL of HTML5 Video Element is percent encoded at websites such as youtube.
65306        It is percent encoded again by QUrl constructor QUrl::QUrl(QString). This causes
65307        the HTTP GET request for the video to be rejected by the service provider.
65308        https://bugs.webkit.org/show_bug.cgi?id=53973.
65309
65310        The bug is fixed by constructing QUrl from the encoded URL.
65311
65312        New test function tst_QWebPage::loadHtml5Video() is added in
65313        Source/WebKit/qt/tests/qwebpage/tst_qwebpage.cpp
65314
65315        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
65316        (WebCore::MediaPlayerPrivateQt::commitLoad):
65317
653182011-02-17  Andreas Kling  <kling@webkit.org>
65319
65320        Reviewed by Antti Koivisto.
65321
65322        [Qt] Crash when calling QWebFrame::setUrl() while a previous load has pending requests
65323        https://bugs.webkit.org/show_bug.cgi?id=49216
65324
65325        CachedResourceRequest::didFail() will protect the CachedResourceLoader's
65326        document() while it runs, but if we're being called from the Document destructor,
65327        the protecting RefPtr<Document> will cause a double-delete instead.
65328
65329        * loader/cache/CachedResourceLoader.cpp:
65330        (WebCore::CachedResourceLoader::~CachedResourceLoader): Clear the m_document
65331        pointer so CachedResourceRequest::didFail() won't try to protect it.
65332        (WebCore::CachedResourceLoader::frame): Add null-check for m_document.
65333
653342011-02-17  Andrey Adaikin  <aandrey@google.com>
65335
65336        Reviewed by Pavel Feldman.
65337
65338        Web Inspector: [Text editor] Add updateHighlight method to the highlighter
65339        https://bugs.webkit.org/show_bug.cgi?id=54448
65340
65341        * inspector/front-end/SourceTokenizer.js:
65342        * inspector/front-end/TextEditorHighlighter.js:
65343        (WebInspector.TextEditorHighlighter.prototype.set mimeType):
65344        (WebInspector.TextEditorHighlighter.prototype.reset):
65345        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
65346        (WebInspector.TextEditorHighlighter.prototype._highlightInChunks):
65347        (WebInspector.TextEditorHighlighter.prototype._highlightLines):
65348
653492011-02-16  Pavel Podivilov  <podivilov@chromium.org>
65350
65351        Reviewed by Yury Semikhatsky.
65352
65353        Web Inspector: show all inlined scripts from single document in the same source frame.
65354        https://bugs.webkit.org/show_bug.cgi?id=54544
65355
65356        Currently when debugging synchronously executed inlined scripts each script is shown in it's own source frame ("example.html:24").
65357        We should show such scripts in the same source frame "example.html" with <script></script> framing.
65358
65359        Test: inspector/debugger/debug-inlined-scripts.html
65360
65361        * inspector/front-end/ScriptsPanel.js:
65362        (WebInspector.ScriptsPanel.prototype._scriptSourceChanged):
65363        (WebInspector.ScriptsPanel.prototype._addScript):
65364        (WebInspector.ScriptsPanel.prototype._resourceForURL):
65365        (WebInspector.ScriptsPanel.prototype._resourceLoadingFinished):
65366        (WebInspector.ScriptsPanel.prototype.addConsoleMessage):
65367        (WebInspector.ScriptsPanel.prototype.clearConsoleMessages):
65368        (WebInspector.ScriptsPanel.prototype.reset):
65369        (WebInspector.ScriptsPanel.prototype._sourceFrameForResource):
65370        (WebInspector.ScriptsPanel.prototype._sourceFrameForScript):
65371        (WebInspector.ScriptsPanel.prototype._recreateSourceFrame):
65372        (WebInspector.ScriptsPanel.prototype._showScriptOrResource):
65373        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu.optionCompare):
65374        (WebInspector.ScriptsPanel.prototype._addScriptToFilesMenu):
65375        (WebInspector.SourceFrameContentProviderForScript.prototype.requestContent):
65376        (WebInspector.SourceFrameContentProviderForScript.prototype._buildSource):
65377
653782011-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
65379
65380        Reviewed by Dirk Schulze.
65381
65382        svg/batik/paints/patternRegions-positioned-objects.svg fails on Windows
65383        https://bugs.webkit.org/show_bug.cgi?id=44484
65384
65385        Pattern of pattern defined with objectBoundingBox does not render correctly
65386        https://bugs.webkit.org/show_bug.cgi?id=53463
65387
65388        Fix <pattern> + patternContentUnits="objectBoundingBox" support.
65389        We were incorrrectly translating the tile image transform, by the target objects bbox.x()/y().
65390        RenderSVGResourceMask/Clipper don't have this error.
65391
65392        Fix nesting <patterns> in objectBoundingBox mode, propagate the tileImageTransform as new user-space
65393        when drawing the pattern children. <mask> + <clipPath> don't have the problem.
65394
65395        Test: svg/custom/nested-pattern-boundingBoxModeContent.svg
65396
65397        * rendering/svg/RenderSVGResourcePattern.cpp:
65398        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
65399        (WebCore::RenderSVGResourcePattern::createTileImage):
65400
654012011-02-17  Csaba Osztrogonác  <ossy@webkit.org>
65402
65403        Unreviewed.
65404
65405        [Qt][V8] Buildfix after r78752.
65406
65407        * CodeGenerators.pri: Add missing IDL files.
65408
654092011-02-17  Benjamin Kalman  <kalman@chromium.org>
65410
65411        Reviewed by Ryosuke Niwa.
65412
65413        RTL lineboundary left/right is reversed when cursor is at start of RTL container
65414        https://bugs.webkit.org/show_bug.cgi?id=54534
65415
65416        Test: editing/selection/extend-left-right-by-lineboundary.html
65417
65418        Add missing cases for extending left/right by lineboundary.
65419
65420        * editing/SelectionController.cpp:
65421        (WebCore::SelectionController::modifyExtendingRight):
65422        (WebCore::SelectionController::modifyExtendingLeft):
65423
654242011-02-16  Philippe Normand  <pnormand@igalia.com>
65425
65426        Reviewed by Martin Robinson.
65427
65428        [GTK] libsoup critical warnings
65429        https://bugs.webkit.org/show_bug.cgi?id=54557
65430
65431        Avoid pausing a soup message for already downloaded resources.
65432
65433        * platform/network/soup/ResourceHandleSoup.cpp:
65434        (WebCore::ResourceHandle::platformSetDefersLoading):
65435
654362011-02-16  Brian Ryner  <bryner@chromium.org>
65437
65438        Reviewed by Darin Fisher.
65439
65440        Split the socket address field into separate IP address and port fields.
65441        This will make the field less error-prone to parse, for example when
65442        dealing with IPv6 literals.
65443        https://bugs.webkit.org/show_bug.cgi?id=54607
65444
65445        No new tests required.
65446
65447        * platform/network/chromium/ResourceResponse.cpp:
65448        (WebCore::ResourceResponse::doPlatformCopyData):
65449        (WebCore::ResourceResponse::doPlatformAdopt):
65450        * platform/network/chromium/ResourceResponse.h:
65451        (WebCore::ResourceResponse::ResourceResponse):
65452        (WebCore::ResourceResponse::remoteIPAddress):
65453        (WebCore::ResourceResponse::setRemoteIPAddress):
65454        (WebCore::ResourceResponse::remotePort):
65455        (WebCore::ResourceResponse::setRemotePort):
65456
654572011-02-16  Dominic Mazzoni  <dmazzoni@google.com>
65458
65459        Reviewed by Chris Fleizach.
65460
65461        Add support for canvas fallback content.
65462        https://bugs.webkit.org/show_bug.cgi?id=50126
65463
65464        Test: accessibility/canvas-fallback-content.html
65465
65466        * accessibility/AccessibilityObject.h:
65467        * accessibility/AccessibilityRenderObject.cpp:
65468        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
65469        (WebCore::AccessibilityRenderObject::canHaveChildren):
65470        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
65471        (atkRole):
65472        * accessibility/mac/AccessibilityObjectWrapper.mm:
65473        * html/HTMLFormControlElement.cpp:
65474        (WebCore::HTMLFormControlElement::isFocusable):
65475        * rendering/RenderHTMLCanvas.cpp:
65476        (WebCore::RenderHTMLCanvas::recursiveSetNoNeedsLayout):
65477        (WebCore::RenderHTMLCanvas::layout):
65478        (WebCore::RenderHTMLCanvas::nodeAtPoint):
65479        * rendering/RenderHTMLCanvas.h:
65480        (WebCore::RenderHTMLCanvas::children):
65481        (WebCore::RenderHTMLCanvas::canHaveChildren):
65482        (WebCore::RenderHTMLCanvas::virtualChildren):
65483        * rendering/RenderObject.cpp:
65484        (WebCore::RenderObject::repaint):
65485        * rendering/RenderTreeAsText.cpp:
65486        (WebCore::write):
65487
654882011-02-16  Matthew Delaney  <mdelaney@apple.com>
65489
65490        Reviewed by Simon Fraser.
65491
65492        Allow acceleratesDrawing for WebKit2
65493        https://bugs.webkit.org/show_bug.cgi?id=54511
65494
65495        Plumb through preference for accelerated drawing.
65496
65497        When accelerated drawing is enabled, set a flag on new GraphicsLayers.
65498
65499        Not testable via Layout Tests
65500
65501        * WebCore.exp.in:
65502        * page/Settings.cpp:
65503        (WebCore::Settings::Settings):
65504        (WebCore::Settings::setAcceleratedDrawingEnabled):
65505        * page/Settings.h:
65506        (WebCore::Settings::acceleratedDrawingEnabled):
65507        * rendering/RenderLayerCompositor.cpp:
65508        (WebCore::RenderLayerCompositor::updateBacking):
65509
655102011-02-16  Victoria Kirst  <vrk@google.com>
65511
65512        Reviewed by Kenneth Russell.
65513
65514        [chromium] Fix green pixels at edge of certain GPU-accelerated videos
65515        https://bugs.webkit.org/show_bug.cgi?id=54559
65516
65517        Adds logic to properly resize the range of YUV textures to only
65518        select legitimate values.
65519
65520        * platform/graphics/chromium/VideoFrameChromium.h:
65521        * platform/graphics/chromium/VideoLayerChromium.cpp:
65522        (WebCore::VideoLayerChromium::SharedValues::SharedValues):
65523        (WebCore::VideoLayerChromium::allocateTexturesIfNeeded):
65524        (WebCore::VideoLayerChromium::drawYUV):
65525        * platform/graphics/chromium/VideoLayerChromium.h:
65526        (WebCore::VideoLayerChromium::SharedValues::yWidthScaleFactorLocation):
65527        (WebCore::VideoLayerChromium::SharedValues::uvWidthScaleFactorLocation):
65528
655292011-02-16  Bill Budge  <bbudge@chromium.org>
65530
65531        Reviewed by David Levin.
65532
65533        Need didReceiveCachedMetadata, and finishTime for didFinishLoading exposed in ThreadableLoaderClient
65534        https://bugs.webkit.org/show_bug.cgi?id=54313
65535
65536        No tests needed, exposes no new functionality
65537
65538        * fileapi/FileReaderLoader.cpp:
65539        (WebCore::FileReaderLoader::didFinishLoading):
65540        * fileapi/FileReaderLoader.h:
65541        * loader/DocumentThreadableLoader.cpp:
65542        (WebCore::DocumentThreadableLoader::setDefersLoading):
65543        (WebCore::DocumentThreadableLoader::didReceiveCachedMetadata):
65544        (WebCore::DocumentThreadableLoader::didFinishLoading):
65545        (WebCore::DocumentThreadableLoader::loadRequest):
65546        * loader/DocumentThreadableLoader.h:
65547        * loader/ThreadableLoaderClient.h:
65548        (WebCore::ThreadableLoaderClient::didReceiveData):
65549        (WebCore::ThreadableLoaderClient::didReceiveCachedMetadata):
65550        (WebCore::ThreadableLoaderClient::didFinishLoading):
65551        * loader/ThreadableLoaderClientWrapper.h:
65552        (WebCore::ThreadableLoaderClientWrapper::didReceiveData):
65553        (WebCore::ThreadableLoaderClientWrapper::didReceiveCachedMetadata):
65554        (WebCore::ThreadableLoaderClientWrapper::didFinishLoading):
65555        * loader/WorkerThreadableLoader.cpp:
65556        (WebCore::workerContextDidReceiveCachedMetadata):
65557        (WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveCachedMetadata):
65558        (WebCore::workerContextDidFinishLoading):
65559        (WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
65560        * loader/WorkerThreadableLoader.h:
65561        * notifications/Notification.cpp:
65562        (WebCore::Notification::didFinishLoading):
65563        * notifications/Notification.h:
65564        * page/EventSource.cpp:
65565        (WebCore::EventSource::didFinishLoading):
65566        * page/EventSource.h:
65567        * workers/WorkerScriptLoader.cpp:
65568        (WebCore::WorkerScriptLoader::didFinishLoading):
65569        * workers/WorkerScriptLoader.h:
65570        * xml/XMLHttpRequest.cpp:
65571        (WebCore::XMLHttpRequest::didFinishLoading):
65572        * xml/XMLHttpRequest.h:
65573
655742011-02-16  Jeremy Orlow  <jorlow@chromium.org>
65575
65576        Fix uninitialized memory error.
65577
65578        * storage/IDBDatabaseBackendImpl.cpp:
65579        (WebCore::IDBDatabaseBackendImpl::close):
65580
655812011-02-16  Adam Barth  <abarth@webkit.org>
65582
65583        Reviewed by Eric Seidel.
65584
65585        Fix xssAuditor/form-action.html
65586        https://bugs.webkit.org/show_bug.cgi?id=54590
65587
65588        We should block form actions.  Although this technically can't be used
65589        to run script, it's a pretty easy vector for stealing passwords.
65590
65591        * html/parser/XSSFilter.cpp:
65592        (WebCore::XSSFilter::filterTokenInitial):
65593        (WebCore::XSSFilter::filterFormToken):
65594        * html/parser/XSSFilter.h:
65595
655962011-02-16  Abhishek Arya  <inferno@chromium.org>
65597
65598        Reviewed by James Robinson.
65599
65600        Remove the early bail added in r75823 since we can run into anonymous
65601        blocks when traversing the parents chain for clearing floats.
65602        https://bugs.webkit.org/show_bug.cgi?id=54601
65603
65604        removeFloatingOrPositionedChildFromBlockLists tries to find the topmost
65605        parent containing "this" block and then tries to remove it from its floats
65606        list and mark all descendants blocks for layout. I added a bailout condition
65607        in r75823 because we thought that if one of the parent render block does not
65608        contain "this" float, then it is safe to assume that none of the grand parents
65609        will have it. This is a wrong assumption since anonymous blocks do not have
65610        float objects and we need to go higher in the chain to find the top most parent
65611        containing this float. Instead of breaking out of the loop, it is ok to keep
65612        traversing the chain till we find that parent. Otherwise, we will leave deleted
65613        floats in the grand parents floats list.
65614
65615        Test: fast/block/float/floats-not-cleared-from-grand-parents.html
65616
65617        * rendering/RenderBox.cpp:
65618        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
65619
656202011-02-16  Andreas Kling  <kling@webkit.org>
65621
65622        Reviewed by Ryosuke Niwa.
65623
65624        Editing styles should not emit #RRGGBBAA colors
65625        https://bugs.webkit.org/show_bug.cgi?id=54540
65626
65627        * editing/ApplyStyleCommand.cpp:
65628        (WebCore::StyleChange::extractTextStyles): Use Color::serialized()
65629        instead of Color::nameForRenderTreeAsText().
65630
656312011-02-16  Ryosuke Niwa  <rniwa@webkit.org>
65632
65633        Reviewed by Kent Tamura.
65634
65635        Improve showTree of Range, Position, and VisiblePosition
65636        https://bugs.webkit.org/show_bug.cgi?id=54536
65637
65638        Enhanced showTree of Range, Position, and VisiblePosition.
65639
65640        * dom/Position.cpp:
65641        (WebCore::Position::showAnchorTypeAndOffset): Added; dumps "legacy" if the position
65642        is a legacy position and also dumps anchor type.
65643        (WebCore::Position::showTreeForThis): Calls showAnchorTypeAndOffset.
65644        * dom/Position.h:
65645        * dom/Range.cpp:
65646        (showTree): No longer calls deprecatedEditingOffset.
65647        * editing/VisiblePosition.cpp:
65648        (WebCore::VisiblePosition::debugPosition): No longer included in release build.
65649        Calls Position::showAnchorTypeAndOffset instead of manually calling deprecatedEditingOffset.
65650        * editing/VisiblePosition.h:
65651        * editing/VisibleSelection.cpp:
65652        (WebCore::VisibleSelection::debugPosition): Ditto.
65653        (WebCore::VisibleSelection::showTreeForThis): Ditto.
65654        * editing/VisibleSelection.h:
65655        * page/EventHandler.cpp:
65656
656572011-02-16  David Grogan  <dgrogan@chromium.org>
65658
65659        Reviewed by Jeremy Orlow.
65660
65661        fix compile error introduced in 78752
65662        https://bugs.webkit.org/show_bug.cgi?id=54604
65663
65664        * storage/IDBRequest.h:
65665
656662011-02-16  Jeremy Orlow  <jorlow@chromium.org>
65667
65668        Back out IndexedDB change thats no longer necessary
65669        https://bugs.webkit.org/show_bug.cgi?id=54603
65670
65671        Backing out 78645 as it turns out that it's not necessary.
65672
65673        * storage/IDBFactoryBackendImpl.cpp:
65674        (WebCore::IDBFactoryBackendImpl::open):
65675        * storage/IDBFactoryBackendImpl.h:
65676        * storage/IDBFactoryBackendInterface.h:
65677
656782011-02-16  Brian Salomon  <bsalomon@google.com>
65679
65680        Reviewed by James Robinson.
65681
65682        Skia's gpu backed just needs the correct context bound before drawing. It will bind the correct FBO itself and doing so externally confuses it unless resetContext is called.
65683
65684        No new tests required.
65685
65686        * platform/graphics/skia/PlatformContextSkia.cpp:
65687        (WebCore::PlatformContextSkia::syncSoftwareCanvas):
65688
656892011-02-16  Mike Reed  <reed@google.com>
65690
65691        Reviewed by Kenneth Russell.
65692
65693        Use non-asserting pack function for decoding images, since webgl may want
65694        a non-premultiplied version of the image.
65695        https://bugs.webkit.org/show_bug.cgi?id=54023
65696
65697        No new tests.
65698        fast/canvas/webgl/gl-teximage.html
65699        fast/canvas/webgl/tex-image-with-format-and-type.html
65700        fast/canvas/webgl/texture-transparent-pixels-initialized.html
65701
65702        * platform/image-decoders/ImageDecoder.h:
65703        (WebCore::ImageFrame::setRGBA):
65704
657052011-02-16  David Grogan  <dgrogan@chromium.org>
65706
65707        Reviewed by Jeremy Orlow.
65708
65709        indexeddb: make setVersion fire blocked event if other connections are open
65710        https://bugs.webkit.org/show_bug.cgi?id=53728
65711
65712        Tests: storage/indexeddb/set_version_blocked.html
65713               storage/indexeddb/set_version_queue.html
65714
65715        * WebCore.gypi:
65716        * bindings/js/JSEventCustom.cpp:
65717        (WebCore::toJS):
65718        * bindings/v8/custom/V8EventCustom.cpp:
65719        (WebCore::toV8):
65720        * dom/Event.cpp:
65721        (WebCore::Event::isIDBVersionChangeEvent):
65722        * dom/Event.h:
65723        * dom/EventNames.h:
65724        * dom/EventTarget.cpp:
65725        (WebCore::EventTarget::toIDBVersionChangeRequest):
65726        * dom/EventTarget.h:
65727        * storage/IDBCallbacks.h:
65728        * storage/IDBDatabase.cpp:
65729        (WebCore::IDBDatabase::setVersion):
65730        (WebCore::IDBDatabase::close):
65731        * storage/IDBDatabase.h:
65732        * storage/IDBDatabase.idl:
65733        * storage/IDBDatabaseBackendImpl.cpp:
65734        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
65735        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::version):
65736        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::callbacks):
65737        (WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::PendingSetVersionCall):
65738        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
65739        (WebCore::IDBDatabaseBackendImpl::setVersion):
65740        (WebCore::IDBDatabaseBackendImpl::open):
65741        (WebCore::IDBDatabaseBackendImpl::close):
65742        * storage/IDBDatabaseBackendImpl.h:
65743        * storage/IDBDatabaseBackendInterface.h:
65744        * storage/IDBFactoryBackendImpl.cpp:
65745        (WebCore::IDBFactoryBackendImpl::open):
65746        * storage/IDBRequest.cpp:
65747        (WebCore::IDBRequest::onBlocked):
65748        (WebCore::IDBRequest::dispatchEvent):
65749        (WebCore::IDBRequest::source):
65750        * storage/IDBRequest.h:
65751        * storage/IDBVersionChangeEvent.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
65752        (WebCore::IDBVersionChangeEvent::create):
65753        (WebCore::IDBVersionChangeEvent::IDBVersionChangeEvent):
65754        (WebCore::IDBVersionChangeEvent::~IDBVersionChangeEvent):
65755        (WebCore::IDBVersionChangeEvent::version):
65756        * storage/IDBVersionChangeEvent.h: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
65757        (WebCore::IDBVersionChangeEvent::isIDBVersionChangeEvent):
65758        * storage/IDBVersionChangeEvent.idl: Added.
65759        * storage/IDBVersionChangeRequest.cpp: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
65760        (WebCore::IDBVersionChangeRequest::create):
65761        (WebCore::IDBVersionChangeRequest::IDBVersionChangeRequest):
65762        (WebCore::IDBVersionChangeRequest::~IDBVersionChangeRequest):
65763        (WebCore::IDBVersionChangeRequest::onBlocked):
65764        * storage/IDBVersionChangeRequest.h: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
65765        * storage/IDBVersionChangeRequest.idl: Copied from Source/WebKit/chromium/src/WebIDBCallbacksImpl.h.
65766
657672011-02-16  Robin Cao  <robin.cao@torchmobile.com.cn>
65768
65769        Reviewed by James Robinson.
65770
65771        PlatformContextSkia::applyAntiAliasedClipPaths does not work for paths which have evenOdd property
65772        https://bugs.webkit.org/show_bug.cgi?id=54336
65773
65774        We need to take fill type of paths into account when drawing them.
65775
65776        No new tests, covered by svg/W3C-SVG-1.1/masking-path-05-f.svg.
65777
65778        * platform/graphics/skia/PlatformContextSkia.cpp:
65779        (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
65780
657812011-02-16  Eric Seidel  <eric@webkit.org>
65782
65783        Reviewed by Adam Barth.
65784
65785        REGRESSION (r61234): washingtonpost.com top bar looks wrong, doesn't animate
65786        https://bugs.webkit.org/show_bug.cgi?id=53717
65787
65788        Test: http/tests/local/absolute-url-strip-whitespace.html
65789
65790        This was theoretically tested already in fast/url, however the
65791        tests were disabled due to lack of any clean way to test absolute
65792        url parsing in JavaScript.  I added a test which mimics the sites
65793        behavior using our local http server.  There seems to be no other
65794        way to test this at the moment.
65795
65796        * platform/KURL.cpp:
65797        (WebCore::shouldTrimFromURL):
65798         - Any char 0-20 should be removed (matches google-url and other browsers).
65799        (WebCore::KURL::init):
65800
658012011-02-16  Abhishek Arya  <inferno@chromium.org>
65802
65803        Reviewed by James Robinson.
65804
65805        Traverse the next sibling tree to find the text fragment for a first letter.
65806        https://bugs.webkit.org/show_bug.cgi?id=54568
65807
65808        We cannot assume that the next sibling to the first letter will a text fragment
65809        since there can be intermediatary Apple-style-span inline elements wrapping the
65810        text fragment. So, we traverse the next sibling tree to find it.
65811        Test: fast/css/first-letter-text-fragment-crash.html
65812
65813        * rendering/RenderBlock.cpp:
65814        (WebCore::RenderBlock::updateFirstLetter):
65815
658162011-02-16  Martin Robinson  <mrobinson@igalia.com>
65817
65818        Reviewed by Xan Lopez.
65819
65820        [GTK] r78718 introduced some assertion failures in some HTTP tests
65821        https://bugs.webkit.org/show_bug.cgi?id=54592
65822
65823        No new tests. This fix is covered by tests that are currently failing.
65824
65825        * platform/network/soup/ResourceRequestSoup.cpp:
65826        (WebCore::ResourceRequest::updateFromSoupMessage): Instead of setting the existing
65827        headers and then selectively removing ones that do not exist in the updated soup
65828        message, just remove all headers from the map first.
65829
658302011-02-16  Jian Li  <jianli@chromium.org>
65831
65832        Reviewed by Kenneth Russell.
65833
65834        [V8] DataView constructor can be applied as a regular method
65835        https://bugs.webkit.org/show_bug.cgi?id=54563
65836
65837        Tested by adding a new test case to fast/canvas/webgl/data-view-test.html.
65838
65839        * bindings/v8/custom/V8DataViewCustom.cpp:
65840        (WebCore::V8DataView::constructorCallback):
65841
65842== Rolled over to ChangeLog-2011-02-16 ==
65843