11b6d7c88a2371fa6fd250796ea3cde599ad6332
[WebKit.git] / Source / WebCore / ChangeLog
1 2012-05-02  Levi Weintraub  <leviw@chromium.org>
2
3         Remove unused adjustForAbsoluteZoom method in RenderObject.h
4         https://bugs.webkit.org/show_bug.cgi?id=85396
5
6         Reviewed by Eric Seidel.
7
8         We only want to use the integer adjustForAbsoluteZoom method, so this remnant is both unused
9         and potentially confusing.
10
11         No new tests. Removing unused code.
12
13         * rendering/RenderObject.h:
14         (WebCore):
15
16 2012-05-02  Fady Samuel  <fsamuel@chromium.org>
17
18         Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
19         https://bugs.webkit.org/show_bug.cgi?id=70609
20
21         Reviewed by Kenneth Rohde Christiansen.
22
23         Make ViewportAttributes' layoutSize be a FloatRect to avoid rounding
24         too early, and the occasional off by one fixed layout dimensions.
25
26         * dom/ViewportArguments.cpp:
27         (WebCore::computeViewportAttributes):
28         * dom/ViewportArguments.h:
29         (ViewportAttributes):
30
31 2012-05-02  Joshua Bell  <jsbell@chromium.org>
32
33         IndexedDB: Handle generated keys up to 2^53
34         https://bugs.webkit.org/show_bug.cgi?id=85114
35
36         The spec defines the behavior for generated keys up to 2^53
37         (the maximum integer storable as an ECMAScript number) and
38         the error case when going beyond that. Ensure that we can
39         handle values up to that point and generate errors beyond.
40
41         Reviewed by Tony Chang.
42
43         Test: storage/indexeddb/key-generator.html
44
45         * Modules/indexeddb/IDBBackingStore.h:
46         (IDBBackingStore):
47         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
48         (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
49         * Modules/indexeddb/IDBLevelDBBackingStore.h:
50         (IDBLevelDBBackingStore):
51         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
52         (WebCore::IDBObjectStoreBackendImpl::putInternal):
53         (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
54         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
55         (IDBObjectStoreBackendImpl):
56
57 2012-05-02  Adam Klein  <adamk@chromium.org>
58
59         Childlist mutations in shadow DOM should be observable with MutationObservers
60         https://bugs.webkit.org/show_bug.cgi?id=85402
61
62         Reviewed by Ojan Vafai.
63
64         Though Mutation Events are not supported in Shadow DOM,
65         MutationObservers are supposed to be. Due to a misplacement of the
66         ChildListMutationScope, they were erroneously getting skipped.
67
68         This patch moves code around to properly notify when childlist are
69         mutated in shadow DOM and covers that change with a new test.
70
71         Test: fast/mutation/shadow-dom.html
72
73         * dom/ContainerNode.cpp:
74         (WebCore::willRemoveChild): Handle notification of removal directly.
75         (WebCore::willRemoveChildren): ditto.
76         (WebCore::dispatchChildInsertionEvents): Remove notification of insertion.
77         (WebCore::dispatchChildRemovalEvents): Remove notification of removal.
78         (WebCore::updateTreeAfterInsertion): Handle notification of insertion directly.
79
80 2012-05-02  Eric Carlson  <eric.carlson@apple.com>
81
82         Crash in WebCore::TextTrackList::remove
83         https://bugs.webkit.org/show_bug.cgi?id=85095
84
85         Reviewed by Maciej Stachowiak.
86
87         Test: media/track/track-remove-quickly.html
88
89         * html/HTMLMediaElement.cpp:
90         (WebCore::HTMLMediaElement::willRemoveTrack): Return immediately if the tracks collection
91             has not been allocated yet.
92
93 2012-05-02  David Barton  <dbarton@mathscribe.com>
94
95         After appending MathML with jquery the table renders with overlaps
96         https://bugs.webkit.org/show_bug.cgi?id=52444
97
98         Reviewed by Julien Chaffraix.
99
100         This patch also fixes bugs 72834 and 47781. The main problem is that correct preferred
101         logical widths are affected by operator stretching. Thus we add a call to
102         setNeedsLayoutAndPrefWidthsRecalc() after the stretching code in
103         RenderMathMLOperator.cpp, and change RenderMathMLBlock and RenderMathMLRow to make sure
104         that stretching of children is done before an <mrow>'s preferred logical widths are
105         computed.
106         
107         Test: Added a test to mathml/presentation/mo-stretch.html
108
109         * rendering/mathml/RenderMathMLBlock.cpp:
110         (WebCore::RenderMathMLBlock::RenderMathMLBlock):
111         (WebCore::RenderMathMLBlock::computePreferredLogicalWidths):
112         (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
113         (WebCore::RenderMathMLBlock::preferredLogicalHeightAfterSizing):
114         * rendering/mathml/RenderMathMLBlock.h:
115         (WebCore::RenderMathMLBlock::unembellishedOperator):
116         (WebCore::RenderMathMLBlock::isPreferredLogicalHeightDirty):
117         (WebCore::RenderMathMLBlock::preferredLogicalHeight):
118         (WebCore::RenderMathMLBlock::setPreferredLogicalHeight):
119             - Add m_preferredLogicalHeight and methods to compute and return it.
120             - Remove stretchToHeight() from most classes as it no longer needs to be done
121               recursively. We just call it on the base of an embellished operator, and that
122               calls setNeedsLayoutAndPrefWidthsRecalc() to mark itself and its container
123               chain.
124         
125         * rendering/mathml/RenderMathMLOperator.cpp:
126         (WebCore::RenderMathMLOperator::stretchToHeight):
127             - Don't compare an unexpanded height to an expanded one.
128         (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
129         (WebCore::RenderMathMLOperator::updateFromElement):
130             - After stretching, call setNeedsLayoutAndPrefWidthsRecalc().
131         * rendering/mathml/RenderMathMLOperator.h:
132         (RenderMathMLOperator):
133         
134         * rendering/mathml/RenderMathMLRow.cpp:
135         (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
136         (WebCore::RenderMathMLRow::layout):
137         * rendering/mathml/RenderMathMLRow.h:
138         (RenderMathMLRow):
139             - Add computePreferredLogicalWidths(), using computeChildrenPreferredLogicalHeights()
140               to compute our children's preferred logical heights if necessary, followed by
141               operator stretching.
142         
143         * rendering/mathml/RenderMathMLSubSup.cpp:
144         * rendering/mathml/RenderMathMLSubSup.h:
145         (RenderMathMLSubSup):
146         * rendering/mathml/RenderMathMLUnderOver.cpp:
147         * rendering/mathml/RenderMathMLUnderOver.h:
148         (RenderMathMLUnderOver):
149
150 2012-05-02  Dana Jansens  <danakj@chromium.org>
151
152         [chromium] Avoid extra Region copies in CCOcclusionTracker
153         https://bugs.webkit.org/show_bug.cgi?id=85257
154
155         Reviewed by Adrienne Walker.
156
157         Instead of making a Region for each layer and then uniting the region
158         with the current occlusion, directly add the rects for the given layer
159         to the current occlusion.
160
161         When subtracting a region from a rect, just subtract the region
162         directly instead of computing the intersecting region.
163
164         Covered by existing tests.
165
166         * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
167         (WebCore::addOcclusionBehindLayer):
168         (WebCore::::markOccludedBehindLayer):
169         (WebCore::rectSubtractRegion):
170
171 2012-05-02  Keith Rosenblatt  <keith.rosenblatt@nokia.com>
172
173         [Qt] ASSERT in FontCustomPlatformDataQt.cpp with invalid font in data URI
174         https://bugs.webkit.org/show_bug.cgi?id=85089
175
176         Reviewed by Simon Hausmann.
177
178         Do not return data referencing an invalid QRawFont from createFontCustomPlatformData().  Instead
179         return null.
180
181         Test: fast/css/font-face-data-uri-invalid.html
182
183         * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
184         (WebCore::createFontCustomPlatformData):
185
186 2012-05-02  Michal Mocny  <mmocny@google.com>
187
188         [chromium] Set contents texture manager preferred memory limit based on GpuMemoryManager suggestion.
189         https://bugs.webkit.org/show_bug.cgi?id=84270
190
191         Reviewed by Kenneth Russell.
192
193         Updates the content texture manager memory limits based on GpuMemoryManager memory allocation suggestions.
194
195         The memory allocation size (in bytes) is fed from LayerRendererChromium memory allocation changed callback
196         handler to CCLayerTreeHost.  At that point we adjust the limits, using the existing notions of preferred and
197         max limits.
198
199         On android, the preferred limit is half the maximum (as it has always been), but on all other platforms the
200         preferred limit is now equal to max, in order to allow more agressive prepainting.
201
202         Finally, android has memory constraints dependant on viewportSize, but that logic has been pushed into
203         the GpuMemoryManager.
204
205         * platform/graphics/chromium/LayerRendererChromium.cpp:
206         (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
207         (WebCore::LayerRendererChromium::beginDrawingFrame):
208         * platform/graphics/chromium/LayerRendererChromium.h:
209         (LayerRendererChromiumClient):
210         * platform/graphics/chromium/TextureManager.cpp:
211         (WebCore::TextureManager::setMemoryAllocationLimitBytes):
212         (WebCore):
213         * platform/graphics/chromium/TextureManager.h:
214         (TextureManager):
215         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
216         (WebCore::CCLayerTreeHost::setViewportSize):
217         (WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):
218         (WebCore):
219         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
220         (CCLayerTreeHost):
221         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
222         (WebCore::CCLayerTreeHostImpl::setContentsMemoryAllocationLimitBytes):
223         (WebCore):
224         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
225         (CCLayerTreeHostImplClient):
226         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
227         (WebCore::CCSingleThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
228         (WebCore):
229         * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
230         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
231         (WebCore::CCThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
232         (WebCore):
233         (WebCore::CCThreadProxy::setContentsMemoryAllocationLimitBytes):
234         * platform/graphics/chromium/cc/CCThreadProxy.h:
235         (CCThreadProxy):
236
237 2012-05-02  Emil A Eklund  <eae@chromium.org>
238
239         Fix usage of layout types in platform code
240         https://bugs.webkit.org/show_bug.cgi?id=85392
241
242         Reviewed by Eric Seidel.
243
244         No new tests, no change in functionality.
245
246         * page/EventHandler.cpp:
247         (WebCore::EventHandler::handleGestureTap):
248         Use rounded point for gestures as event handling is still mostly int based.
249
250 2012-05-02  Kenneth Russell  <kbr@google.com>
251
252         Don't allocate stencil buffer if stencil flag is false in context creation attributes
253         https://bugs.webkit.org/show_bug.cgi?id=85317
254
255         Reviewed by Dimitri Glazkov.
256
257         Make it appear to WebGL application that there is no stencil
258         buffer even if the underlying GraphicsContext3D allocated one.
259         Verified intended behavior with test case from Mozilla's bug report.
260
261         Updated context-attributes-alpha-depth-stencil-antialias.html test
262         from Khronos repository. Ran WebGL layout tests on Linux in
263         Chrome's DRT and on Mac OS in Safari's.
264
265         * html/canvas/WebGLFramebuffer.cpp:
266         (WebCore::WebGLFramebuffer::hasStencilBuffer): Added query method.
267         (WebCore): Changed desired semantics of isValidRenderbuffer.
268         * html/canvas/WebGLFramebuffer.h:
269         (WebGLFramebuffer): Added hasStencilBuffer.
270         * html/canvas/WebGLRenderingContext.cpp:
271         (WebCore):
272         (WebCore::WebGLRenderingContext::initializeNewContext):
273             Clear new flag.
274         (WebCore::WebGLRenderingContext::bindFramebuffer):
275             Reset stencil test upon framebuffer change.
276         (WebCore::WebGLRenderingContext::disable):
277             Cache flag; reset stencil test.
278         (WebCore::WebGLRenderingContext::enable):
279             Cache flag; reset stencil test.
280         (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
281             Reset stencil test upon renderbuffer change.
282         (WebCore::WebGLRenderingContext::getContextAttributes):
283             Force depth and stencil to false if false was requested.
284         (WebCore::WebGLRenderingContext::isEnabled):
285             Return cached flag.
286         (WebCore::WebGLRenderingContext::renderbufferStorage):
287             Reset stencil test upon renderbuffer reallocation.
288         (WebCore::WebGLRenderingContext::applyStencilTest):
289             Enable or disable stencil test based on request and availability.
290         (WebCore::WebGLRenderingContext::enableOrDisable):
291             Helper function.
292         * html/canvas/WebGLRenderingContext.h:
293         (WebGLRenderingContext):
294             Added cache of STENCIL_TEST flag. Deleted unused m_stencilBits.
295
296 2012-05-02  Ryosuke Niwa  <rniwa@webkit.org>
297
298         Drag and drop text into table is pasting the text in the next <td> element
299         https://bugs.webkit.org/show_bug.cgi?id=75004
300
301         Reviewed by Darin Adler.
302
303         The bug was caused by ReplaceSelectionCommand adjusting the insertion position to be before
304         of the block element containing the insertion position even when the block element is a table cell.
305
306         Fixed the bug by not moving the insertion position before the table cell in this case.
307
308         Test: editing/pasteboard/paste-into-table-cell.html
309
310         * editing/ReplaceSelectionCommand.cpp:
311         (WebCore::ReplaceSelectionCommand::doApply):
312
313 2012-05-02  Beth Dakin  <bdakin@apple.com>
314
315         https://bugs.webkit.org/show_bug.cgi?id=85309
316         supportsExpandedScrollbars() should check for the method we actually call rather 
317         than a related method
318
319         Reviewed by Anders Carlsson.
320
321         Missing colon.
322         * platform/mac/ScrollbarThemeMac.mm:
323         (WebCore::supportsExpandedScrollbars):
324
325 2012-05-02  Antti Koivisto  <antti@apple.com>
326
327         Move title and media queries from StyleSheetInternal to CSSStyleSheet
328         https://bugs.webkit.org/show_bug.cgi?id=85387
329
330         Reviewed by Anders Carlsson.
331
332         Stylesheet title and media queries are determined by the owner, not by the stylesheet itself.
333         The fields belong to CSSStyleSheet.
334         
335         This will make it easier to share StyleSheetInternal instances between documents.
336
337         * css/CSSStyleSheet.cpp:
338         (WebCore::StyleSheetInternal::StyleSheetInternal):
339         (WebCore::StyleSheetInternal::isCacheable):
340         (WebCore):
341         (WebCore::CSSStyleSheet::setDisabled):
342         
343             Invalidate the document style directly instead of ping-ponging through StyleSheetInternal.
344
345         (WebCore::CSSStyleSheet::setMediaQueries):
346         (WebCore::CSSStyleSheet::media):
347         * css/CSSStyleSheet.h:
348         (StyleSheetInternal):
349         (WebCore::StyleSheetInternal::originalURL):
350         (WebCore::StyleSheetInternal::hasCharsetRule):
351         (WebCore::CSSStyleSheet::mediaQueries):
352         (CSSStyleSheet):
353         (WebCore::CSSStyleSheet::setTitle):
354         * css/StyleResolver.cpp:
355         (WebCore::StyleResolver::appendAuthorStylesheets):
356         (WebCore::StyleResolver::collectMatchingRulesForList):
357         * dom/DOMImplementation.cpp:
358         (WebCore::DOMImplementation::createCSSStyleSheet):
359         * dom/ProcessingInstruction.cpp:
360         (WebCore::ProcessingInstruction::setCSSStyleSheet):
361         * dom/StyleElement.cpp:
362         (WebCore::StyleElement::createSheet):
363         * html/HTMLLinkElement.cpp:
364         (WebCore::HTMLLinkElement::parseAttribute):
365         (WebCore::HTMLLinkElement::setCSSStyleSheet):
366         * html/HTMLStyleElement.cpp:
367         (WebCore::HTMLStyleElement::parseAttribute):
368         * svg/SVGStyleElement.cpp:
369         (WebCore::SVGStyleElement::parseAttribute):
370
371 2012-05-02  Alexis Menard  <alexis.menard@openbossa.org>
372
373         Unreviewed Qt build fix with GCC 4.7.0.
374
375         * platform/qt/DeviceMotionProviderQt.h:
376         (DeviceMotionProviderQt):
377         * platform/qt/DeviceOrientationProviderQt.cpp:
378         (WebCore::DeviceOrientationProviderQt::~DeviceOrientationProviderQt):
379         (WebCore):
380         * platform/qt/DeviceOrientationProviderQt.h:
381         (DeviceOrientationProviderQt):
382
383 2012-05-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
384
385         [Texmap] Enable css filters in TextureMapperGL
386         https://bugs.webkit.org/show_bug.cgi?id=75778
387
388         Unreviewed build fix to greenify the Qt Minimal bot.
389
390         * platform/graphics/texmap/TextureMapperShaderManager.h:
391
392 2012-05-02  Philippe Normand  <pnormand@igalia.com>
393
394         [GTK] Compilation warnings in RenderTheme
395         https://bugs.webkit.org/show_bug.cgi?id=85286
396
397         Reviewed by Martin Robinson.
398
399         Removed un-needed code and refactored fileListNameForWidth
400         accordingly to avoid un-used variable warnings during compilation.
401
402         * platform/gtk/RenderThemeGtk.cpp:
403         (WebCore):
404         (WebCore::RenderThemeGtk::fileListNameForWidth):
405
406 2012-05-02  Ryosuke Niwa  <rniwa@webkit.org>
407
408         NULL ptr in WebCore::AppendNodeCommand::AppendNodeCommand
409         https://bugs.webkit.org/show_bug.cgi?id=75843
410
411         Reviewed by Tony Chang.
412
413         The crash was caused by indentIntoBlockquote's passing a bad outerBlock to moveParagraphsWithClone.
414
415         When the position is created after blockquote in the following DOM:
416         BODY
417         * BLOCKQUOTE style=margin: 0 0 0 40px; border: none; padding: 0px;
418             E
419                 #text "\nx\n"
420         VisiblePosition's constructor (of startOfContents) turns the position into a legacy position (blockquote, 0).
421         The crash occurs because this position doesn't belong in the same paragraph as E, which is the paragraph
422         we're trying to move into the blockquote.
423
424         Fixed bug by calling positionInParentAfterNode instead of positionAfterNode for now. We should eventually be
425         able to use positionAfterNode here once VisiblePosition's constructor starts handling before/after positions
426         properly.
427
428         Test: editing/execCommand/indent-with-after-content-crash.html
429
430         * editing/IndentOutdentCommand.cpp:
431         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
432
433 2012-05-02  Jer Noble  <jer.noble@apple.com>
434
435         WebWindowFadeAnimation ignores "duration" parameter.
436         https://bugs.webkit.org/show_bug.cgi?id=85386
437
438         Reviewed by Brady Eidson.
439
440         Ignoring the "duration" parameter causes the full screen fade and scale animations
441         to get out of sync.
442
443         * platform/mac/WebWindowAnimation.mm:
444         (-[WebWindowFadeAnimation initWithDuration:window:initialAlpha:finalAlpha:]):
445
446 2012-05-02  Julien Chaffraix  <jchaffraix@webkit.org>
447
448         REGRESSION(110072): Clipping is not applied on layers that are animated using platform code
449         https://bugs.webkit.org/show_bug.cgi?id=83954
450
451         Reviewed by Simon Fraser.
452
453         Tests: fast/layers/no-clipping-overflow-hidden-added-after-transform-expected.html
454                fast/layers/no-clipping-overflow-hidden-added-after-transform.html
455                fast/layers/no-clipping-overflow-hidden-added-after-transition-expected.html
456                fast/layers/no-clipping-overflow-hidden-added-after-transition.html
457                fast/layers/no-clipping-overflow-hidden-hardware-acceleration-expected.html
458                fast/layers/no-clipping-overflow-hidden-hardware-acceleration.html
459                (and all the tests that will need to be rebaselined)
460
461         r110072 changed the way we create layers to lazily allocate overflow: hidden ones
462         based on layout overflow. However with hardware acceleration, certain operations
463         do cause overflow without actually calling layout (the test cases added as part
464         of this change are using transition / animation). This means that those cases
465         wouldn't properly clip.
466
467         Due to the above issue and the other regressions from r110072, the easiest fix is
468         to just to roll it out.
469
470         * rendering/RenderBox.h:
471         Changed to allocate a layer whenever we have an overflow clip.
472
473         * rendering/RenderBox.cpp:
474         (WebCore::RenderBox::scrolledContentOffset):
475         (WebCore::RenderBox::cachedSizeForOverflowClip):
476         Reverted those 2 to avoid using the cached size logic.
477
478         * rendering/RenderBlock.cpp:
479         (WebCore::RenderBlock::updateScrollInfoAfterLayout):
480         (WebCore::RenderBlock::layoutBlock):
481         (WebCore::RenderBlock::paint):
482         (WebCore::RenderBlock::isPointInOverflowControl):
483         * rendering/RenderBlock.h:
484         * rendering/RenderBox.cpp:
485         (WebCore::RenderBox::willBeDestroyed):
486         (WebCore::RenderBox::styleDidChange):
487         (WebCore::RenderBox::layout):
488         (WebCore::RenderBox::scrollWidth):
489         (WebCore::RenderBox::scrollHeight):
490         (WebCore::RenderBox::scrollLeft):
491         (WebCore::RenderBox::scrollTop):
492         (WebCore::RenderBox::setScrollLeft):
493         (WebCore::RenderBox::setScrollTop):
494         (WebCore::RenderBox::includeVerticalScrollbarSize):
495         (WebCore::RenderBox::includeHorizontalScrollbarSize):
496         (WebCore::RenderBox::pushContentsClip):
497         (WebCore::RenderBox::popContentsClip):
498         (WebCore::RenderBox::addLayoutOverflow):
499         * rendering/RenderBoxModelObject.cpp:
500         (WebCore::RenderBoxModelObject::styleDidChange):
501         * rendering/RenderBoxModelObject.h:
502         (RenderBoxModelObject):
503         * rendering/RenderDeprecatedFlexibleBox.cpp:
504         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
505         * rendering/RenderFlexibleBox.cpp:
506         (WebCore::RenderFlexibleBox::layoutBlock):
507         * rendering/RenderTable.cpp:
508         (WebCore::RenderTable::layout):
509         * rendering/RenderTableRow.h:
510         (RenderTableRow):
511         * rendering/RenderTableSection.cpp:
512         (WebCore::RenderTableSection::layout):
513         Removed the previous scaffolding code and reverted some functions to
514         being private (as they were prior to r110072).
515
516 2012-05-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
517
518         [Texmap] Enable css filters in TextureMapperGL
519         https://bugs.webkit.org/show_bug.cgi?id=75778
520
521         Reviewed by Jocelyn Turcotte.
522
523         Added support for color filters in TextureMapperGL. Blur and shadow would be done in a
524         different patch.
525
526         Modified BitmapTexture::applyFilters to return a texture, since GL cannot paint a texture
527         into itself.
528         Created a shader map for standard filters, since all of them work more or less the same way
529         with a single uniform. Added the colorization shaders based on the W3C filter spec, as
530         already implemented in FEFilterRenderer.cpp and FEColorMatrix.cpp.
531         We use two swapping textures to render the filters.
532
533         Covered by tests in css3/filters.
534
535         * platform/graphics/texmap/TextureMapper.cpp:
536         (WebCore::TextureMapper::acquireTextureFromPool):
537         * platform/graphics/texmap/TextureMapper.h:
538         (WebCore::BitmapTexture::applyFilters):
539         * platform/graphics/texmap/TextureMapperGL.cpp:
540         (WebCore::BitmapTextureGL::updateContents):
541         (WebCore):
542         (WebCore::TextureMapperGL::drawFiltered):
543         (WebCore::BitmapTextureGL::applyFilters):
544         (WebCore::BitmapTextureGL::bind):
545         * platform/graphics/texmap/TextureMapperGL.h:
546         (TextureMapperGL):
547         (BitmapTextureGL):
548         * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
549         (WebCore::BitmapTextureImageBuffer::applyFilters):
550         * platform/graphics/texmap/TextureMapperImageBuffer.h:
551         (BitmapTextureImageBuffer):
552         * platform/graphics/texmap/TextureMapperLayer.cpp:
553         (WebCore::applyFilters):
554         (WebCore::TextureMapperLayer::syncCompositingStateSelf):
555         * platform/graphics/texmap/TextureMapperShaderManager.cpp:
556         (WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
557         (WebCore):
558         (WebCore::StandardFilterProgram::~StandardFilterProgram):
559         (WebCore::StandardFilterProgram::StandardFilterProgram):
560         (WebCore::StandardFilterProgram::create):
561         (WebCore::StandardFilterProgram::prepare):
562         (WebCore::TextureMapperShaderManager::getShaderForFilter):
563         * platform/graphics/texmap/TextureMapperShaderManager.h:
564         (WebCore):
565         (StandardFilterProgram):
566         (WebCore::StandardFilterProgram::vertexAttrib):
567         (WebCore::StandardFilterProgram::texCoordAttrib):
568         (WebCore::StandardFilterProgram::textureUniform):
569         (TextureMapperShaderManager):
570
571 2012-05-02  Philippe Normand  <pnormand@igalia.com>
572
573         [GTK] media/track/track-cue-rendering-snap-to-lines-not-set.html fails
574         https://bugs.webkit.org/show_bug.cgi?id=84378
575
576         Reviewed by Eric Carlson.
577
578         Fix positioning of the controls panel back to relative, as it is
579         in the parent CSS. Also remove some duplicate CSS attributes.
580
581         * css/mediaControlsGtk.css:
582         (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
583
584 2012-05-02  Beth Dakin  <bdakin@apple.com>
585
586         https://bugs.webkit.org/show_bug.cgi?id=85309
587         supportsExpandedScrollbars() should check for the method we actually call rather 
588         than a related method
589         -and corresponding-
590         <rdar://problem/11065691>
591
592         Reviewed by Anders Carlsson.
593
594         * platform/mac/ScrollbarThemeMac.mm:
595         (WebCore::supportsExpandedScrollbars):
596
597 2012-05-02  Zalan Bujtas  <zbujtas@gmail.com>
598
599         [Qt] Remove redundant updateViewportArguments() call from HTMLBodyElement::didNotifyDescendantInseretions()
600         https://bugs.webkit.org/show_bug.cgi?id=84241
601
602         Reviewed by Kenneth Rohde Christiansen.
603
604         No need to update viewport arguments when the body element is inserted into the Document.
605         Viewport arguments are updated first when the Document is set on the Frame, and later
606         on any subsequent occurence of the viewport meta tag in the document.
607         It is sufficient to dispatch viewport update once per main frame, if no viewport meta tag is present.
608
609         Also add a flag to be able to track viewport argument update dispatch.
610
611         No tests. Currrent viewport tests cover this behaviour.
612
613         * dom/Document.cpp:
614         (WebCore::Document::Document):
615         (WebCore::Document::updateViewportArguments):
616         (WebCore::Document::documentWillSuspendForPageCache):
617         * dom/Document.h:
618         (Document):
619         (WebCore::Document::didDispatchViewportPropertiesChanged):
620         * html/HTMLBodyElement.cpp:
621         (WebCore::HTMLBodyElement::didNotifyDescendantInseretions):
622
623 2012-05-02  Pavel Feldman  <pfeldman@chromium.org>
624
625         Web Inspector: Cannot read property 'length' of undefined TextEditorModel.js:467
626         https://bugs.webkit.org/show_bug.cgi?id=85360
627
628         Reviewed by Yury Semikhatsky.
629
630         Added the undo/redo stack length checks.
631
632         * inspector/front-end/TextEditorModel.js:
633         (WebInspector.TextEditorModel.endsWithBracketRegex.):
634
635 2012-05-02  Pavel Feldman  <pfeldman@chromium.org>
636
637         WebInspector: Scripts panel editor dirty state is cleared when the tab with editor is closed.
638         https://bugs.webkit.org/show_bug.cgi?id=85361
639
640         Reviewed by Yury Semikhatsky.
641
642         Added content validation upon script show.
643
644         * inspector/front-end/JavaScriptSourceFrame.js:
645         (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
646
647 2012-05-02  Pavel Feldman  <pfeldman@chromium.org>
648
649         Web Inspector: breakpoints are de-activated only upon the second click.
650         https://bugs.webkit.org/show_bug.cgi?id=85359
651
652         Reviewed by Yury Semikhatsky.
653
654         Initial value for activated state is set.
655
656         * inspector/front-end/DebuggerModel.js:
657         (WebInspector.DebuggerModel):
658
659 2012-05-02  Pavel Feldman  <pfeldman@chromium.org>
660
661         Web Inspector: live edit fails to report error
662         https://bugs.webkit.org/show_bug.cgi?id=85357
663
664         Reviewed by Yury Semikhatsky.
665
666         ProtocolError is now a string, not an error object.
667
668         * inspector/front-end/DatabaseQueryView.js:
669         (WebInspector.DatabaseQueryView.prototype._queryError):
670         * inspector/front-end/SourceFrame.js:
671         (WebInspector.SourceFrame.prototype.didEditContent):
672
673 2012-05-02  Lars Knudsen  <lars.knudsen@nokia.com>
674
675         [Qt] Make DeviceMotion and DeviceOrientation work with WebKit2
676         https://bugs.webkit.org/show_bug.cgi?id=64595
677
678         Reviewed by Kenneth Rohde Christiansen.
679
680         No new tests added.  This change adds support for WK2
681         what was in WK1.
682
683         Also moving DeviceMotion and DeviceOrientation clients and
684         providers to WebCore.  This is done to allow clean dependencies
685         when statically linking WK2.
686
687         * Target.pri:
688         * WebCore.pri:
689         * platform/qt/DeviceMotionClientQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionClientQt.cpp.
690         (WebCore):
691         (WebCore::DeviceMotionClientQt::~DeviceMotionClientQt):
692         (WebCore::DeviceMotionClientQt::deviceMotionControllerDestroyed):
693         (WebCore::DeviceMotionClientQt::setController):
694         (WebCore::DeviceMotionClientQt::startUpdating):
695         (WebCore::DeviceMotionClientQt::stopUpdating):
696         (WebCore::DeviceMotionClientQt::currentDeviceMotion):
697         * platform/qt/DeviceMotionClientQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionClientQt.h.
698         (WebCore):
699         (DeviceMotionClientQt):
700         (WebCore::DeviceMotionClientQt::DeviceMotionClientQt):
701         * platform/qt/DeviceMotionProviderQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionProviderQt.cpp.
702         (WebCore):
703         (WebCore::DeviceMotionProviderQt::DeviceMotionProviderQt):
704         (WebCore::DeviceMotionProviderQt::~DeviceMotionProviderQt):
705         (WebCore::DeviceMotionProviderQt::setController):
706         (WebCore::DeviceMotionProviderQt::start):
707         (WebCore::DeviceMotionProviderQt::stop):
708         (WebCore::DeviceMotionProviderQt::filter):
709         * platform/qt/DeviceMotionProviderQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionProviderQt.h.
710         (WebCore):
711         (DeviceMotionProviderQt):
712         (WebCore::DeviceMotionProviderQt::currentDeviceMotion):
713         * platform/qt/DeviceOrientationClientQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp.
714         (WebCore):
715         (WebCore::DeviceOrientationClientQt::deviceOrientationControllerDestroyed):
716         (WebCore::DeviceOrientationClientQt::setController):
717         (WebCore::DeviceOrientationClientQt::startUpdating):
718         (WebCore::DeviceOrientationClientQt::stopUpdating):
719         (WebCore::DeviceOrientationClientQt::lastOrientation):
720         * platform/qt/DeviceOrientationClientQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.h.
721         (WebCore):
722         (DeviceOrientationClientQt):
723         * platform/qt/DeviceOrientationProviderQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp.
724         (WebCore):
725         (WebCore::DeviceOrientationProviderQt::DeviceOrientationProviderQt):
726         (WebCore::DeviceOrientationProviderQt::~DeviceOrientationProviderQt):
727         (WebCore::DeviceOrientationProviderQt::setController):
728         (WebCore::DeviceOrientationProviderQt::start):
729         (WebCore::DeviceOrientationProviderQt::stop):
730         (WebCore::DeviceOrientationProviderQt::filter):
731         * platform/qt/DeviceOrientationProviderQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h.
732         (WebCore):
733         (DeviceOrientationProviderQt):
734         (WebCore::DeviceOrientationProviderQt::isActive):
735         (WebCore::DeviceOrientationProviderQt::lastOrientation):
736         (WebCore::DeviceOrientationProviderQt::hasAlpha):
737
738 2012-05-02  Yury Semikhatsky  <yurys@chromium.org>
739
740         Web Inspector: exception in console when there are watch expressions
741         https://bugs.webkit.org/show_bug.cgi?id=85351
742
743         Check if script execution is still paused before trying to resolve an
744         object for script popover because execution may be resumed after popover
745         showing is scheduled but before we start resolving the object under
746         the cursor in which case there is no selected call frame any more and
747         we should hide the popover.
748
749         Reviewed by Pavel Feldman.
750
751         * inspector/front-end/JavaScriptSourceFrame.js:
752         (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
753
754 2012-05-02  Tommy Widenflycht  <tommyw@google.com>
755
756         MediaStream API: Changing webkitGetUserMedia to take an object instead of a string
757         https://bugs.webkit.org/show_bug.cgi?id=84850
758
759         Reviewed by Dimitri Glazkov.
760
761         The standard changed a while back to use an object as a dictionary but since JSC
762         didn't support the Dictionary class until just recently we have not updated the API until now.
763
764         Change covered by existing, and edited, tests.
765
766         * Modules/mediastream/NavigatorMediaStream.cpp:
767         (WebCore::NavigatorMediaStream::webkitGetUserMedia):
768         * Modules/mediastream/NavigatorMediaStream.h:
769         (WebCore):
770         (NavigatorMediaStream):
771         * Modules/mediastream/NavigatorMediaStream.idl:
772         * Modules/mediastream/UserMediaRequest.cpp:
773         (WebCore::UserMediaRequest::create):
774         (WebCore::UserMediaRequest::UserMediaRequest):
775         * Modules/mediastream/UserMediaRequest.h:
776         (WebCore):
777         (UserMediaRequest):
778         * platform/mediastream/MediaStreamSourcesQueryClient.h:
779         (MediaStreamSourcesQueryClient):
780
781 2012-05-02  Antti Koivisto  <antti@apple.com>
782
783         StyleSheetInternal::parseUserStyleSheet() should be called parseAuthorStyleSheet().
784
785         Rubber-stamped by Nikolas Zimmermann.
786
787         * css/CSSImportRule.cpp:
788         (WebCore::StyleRuleImport::setCSSStyleSheet):
789         * css/CSSStyleSheet.cpp:
790         (WebCore::StyleSheetInternal::parseAuthorStyleSheet):
791         * css/CSSStyleSheet.h:
792         (StyleSheetInternal):
793         * html/HTMLLinkElement.cpp:
794         (WebCore::HTMLLinkElement::setCSSStyleSheet):
795
796 2012-05-02  Yury Semikhatsky  <yurys@chromium.org>
797
798         REGRESSION: Web Inspector doesn't show cookies anymore
799         https://bugs.webkit.org/show_bug.cgi?id=85349
800
801         Pass root node instead of DataGrid object to the "populateNode" method.
802         Added compiler annotations so that closure compiler catches such errors.
803
804         Reviewed by Pavel Feldman.
805
806         * inspector/front-end/CookiesTable.js:
807         (WebInspector.CookiesTable.prototype._rebuildTable):
808         * inspector/front-end/NetworkRequest.js:
809         (WebInspector.NetworkRequest.prototype.addFrameError):
810
811 2012-05-02  Dongwoo Im  <dw.im@samsung.com>
812
813         [EFL] Implement the Web Audio API feature.
814         https://bugs.webkit.org/show_bug.cgi?id=78688
815
816         Reviewed by Philippe Normand.
817
818         Implement the Web Audio API feature on the EFL port.
819         https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
820
821         * CMakeLists.txt: Add the list of the files which are needed for the Web Audio APi.
822         * PlatformEfl.cmake: Add the list of the files which are needed for the Web Audio APi.
823         * UseJSC.cmake: Add the list of the files which are needed for the Web Audio APi.
824         * platform/audio/HRTFElevation.cpp: Enable the USE_CONCATENATED_IMPULSE_RESPONSES macro.
825         (WebCore):
826         * platform/audio/efl/AudioBusEfl.cpp: Added.
827         (WebCore):
828         (WebCore::AudioBus::loadPlatformResource): Create the absolute path of the audio resource.
829
830 2012-05-01  Kentaro Hara  <haraken@chromium.org>
831
832         [V8] Add an Isolate parameter to setJSWrapperForXXX()
833         https://bugs.webkit.org/show_bug.cgi?id=85329
834
835         Reviewed by Adam Barth.
836
837         The objective is to pass Isolate around in V8 bindings.
838         This patch adds an Isolate parameter to setJSWrapperForXXX()
839         and passes Isolate to setJSWrapperForXXX() in CodeGeneratorV8.pm.
840         I'll pass Isolate to setJSWrapperForXXX() in custom bindings
841         in a follow-up patch.
842
843         No tests. No change in behavior.
844
845         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
846         (GenerateConstructorCallback):
847         (GenerateEventConstructorCallback):
848         (GenerateNamedConstructorCallback):
849         (GenerateToV8Converters):
850         * bindings/v8/V8DOMWrapper.cpp:
851         (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
852         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode):
853         * bindings/v8/V8DOMWrapper.h:
854         (V8DOMWrapper):
855         (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
856         (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
857
858         * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests results.
859         (WebCore::V8Float64Array::wrapSlow):
860         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
861         (WebCore::V8TestActiveDOMObject::wrapSlow):
862         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
863         (WebCore::V8TestCustomNamedGetter::wrapSlow):
864         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
865         (WebCore::V8TestEventConstructor::constructorCallback):
866         (WebCore::V8TestEventConstructor::wrapSlow):
867         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
868         (WebCore::V8TestEventTarget::wrapSlow):
869         * bindings/scripts/test/V8/V8TestInterface.cpp:
870         (WebCore::V8TestInterface::constructorCallback):
871         (WebCore::V8TestInterface::wrapSlow):
872         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
873         (WebCore::V8TestMediaQueryListListener::wrapSlow):
874         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
875         (WebCore::V8TestNamedConstructorConstructorCallback):
876         (WebCore::V8TestNamedConstructor::wrapSlow):
877         * bindings/scripts/test/V8/V8TestNode.cpp:
878         (WebCore::V8TestNode::constructorCallback):
879         (WebCore::V8TestNode::wrapSlow):
880         * bindings/scripts/test/V8/V8TestObj.cpp:
881         (WebCore::V8TestObj::constructorCallback):
882         (WebCore::V8TestObj::wrapSlow):
883         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
884         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
885         (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
886
887 2012-05-01  Eric Seidel  <eric@webkit.org>
888
889         Add <iframe seamless> navigation code (and pass all the navigation tests)
890         https://bugs.webkit.org/show_bug.cgi?id=85340
891
892         Reviewed by Adam Barth.
893
894         This code was primarily written by Adam Barth and then submitted to my
895         GitHub branch via a pull request:
896         https://github.com/eseidel/webkit/compare/master...seamless
897         https://github.com/eseidel/webkit/pull/2
898         https://github.com/eseidel/webkit/pull/3
899
900         I rewrote parts of it to use Docment::shouldDisplaySeamlesslyWithParent.
901
902         Other parts of the original change have already been committed to WebKit by Adam
903         as part of prep-work for making the loader seamless-ready.
904
905         * loader/FrameLoader.cpp:
906         (WebCore::FrameLoader::findFrameForNavigation):
907
908 2012-05-01  Vincent Scheib  <scheib@chromium.org>
909
910         Fullscreen pop-up logic restored to using processingUserGesture.
911         https://bugs.webkit.org/show_bug.cgi?id=85105
912
913         WebKit was recently updated to the new Fullscreen API:
914         http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#api
915         http://trac.webkit.org/changeset/111028
916
917         This change reverts back to using processingUserGesture() instead
918         of DOMWindow::allowPopUp(). This fixes incorrect behavior in
919         at least the Chromium port and is consistent with the cited
920         definition of "allowed to show a pop-up":
921           An algorithm is allowed to show a pop-up if, in the task in which the algorithm is running, either:
922           - an activation behavior is currently being processed whose click event was trusted, or
923           - the event listener for a trusted click event is being handled.
924
925         Reviewed by Dimitri Glazkov.
926
927         No new tests.
928
929         * dom/Document.cpp:
930         (WebCore::Document::requestFullScreenForElement):
931
932 2012-05-01  Xiaomei Ji  <xji@chromium.org>
933
934         enable ctrl-arrow move by word visually in non-Windows platforms.
935         https://bugs.webkit.org/show_bug.cgi?id=85017
936
937         Reviewed by Ryosuke Niwa.
938
939         Enable ctrl-arrow moves caret by word in visual order in non-Windows platforms that use ICU word
940         break iterator (it is not enabled for WinCE and Qt where ICU is not used). For those platforms, ctrl-arrow
941         moves caret to word break position before spaces. For example, given a logical text "abc def hij", the word
942         break positions using ctrl-left-arrow from rightmost position are "|abc |def |hij".
943         The word break positions using ctrl-right-arrow from leftmost position are "abc| def| hij|".
944
945         Test: editing/selection/move-by-word-visually-mac.html
946
947         * editing/EditingBehavior.h:
948         (EditingBehavior):
949         (WebCore::EditingBehavior::shouldEatSpaceToNextWord): To control different word break positions
950         (regards to space) for different platforms.
951         * editing/FrameSelection.cpp:
952         (WebCore::FrameSelection::modifyMovingRight): Enable visual word movement for all platforms that use ICU.
953         (WebCore::FrameSelection::modifyMovingLeft):
954         * editing/visible_units.cpp:
955         (WebCore::visualWordPosition): Determine the right word break position (regards to space) based on EditingBehavior.
956         (WebCore::leftWordPosition):
957         (WebCore::rightWordPosition):
958         * editing/visible_units.h:
959
960 2012-05-01  Raymond Liu  <raymond.liu@intel.com>
961
962         Modify RealtimeAnalyserNode pull mechanism
963         https://bugs.webkit.org/show_bug.cgi?id=77515
964
965         Reviewed by Chris Rogers.
966
967         Test: webaudio/automatic-pull-node.html
968
969         * GNUmakefile.list.am:
970         * Modules/webaudio/AudioBasicInspectorNode.cpp: Added.
971         (WebCore):
972         (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
973         (WebCore::AudioBasicInspectorNode::pullInputs):
974         (WebCore::AudioBasicInspectorNode::connect):
975         (WebCore::AudioBasicInspectorNode::disconnect):
976         (WebCore::AudioBasicInspectorNode::checkNumberOfChannelsForInput):
977         (WebCore::AudioBasicInspectorNode::updatePullStatus):
978         * Modules/webaudio/AudioBasicInspectorNode.h: Added.
979         (WebCore):
980         (AudioBasicInspectorNode):
981         * Modules/webaudio/AudioContext.cpp:
982         (WebCore::AudioContext::AudioContext):
983         (WebCore::AudioContext::~AudioContext):
984         (WebCore::AudioContext::handlePreRenderTasks):
985         (WebCore::AudioContext::handlePostRenderTasks):
986         (WebCore::AudioContext::markForDeletion):
987         (WebCore):
988         (WebCore::AudioContext::addAutomaticPullNode):
989         (WebCore::AudioContext::removeAutomaticPullNode):
990         (WebCore::AudioContext::updateAutomaticPullNodes):
991         (WebCore::AudioContext::processAutomaticPullNodes):
992         * Modules/webaudio/AudioContext.h:
993         (AudioContext):
994         * Modules/webaudio/AudioDestinationNode.cpp:
995         (WebCore::AudioDestinationNode::provideInput):
996         * Modules/webaudio/AudioNode.h:
997         (AudioNode):
998         * Modules/webaudio/AudioNodeOutput.h:
999         (WebCore::AudioNodeOutput::isConnected):
1000         (AudioNodeOutput):
1001         * Modules/webaudio/RealtimeAnalyserNode.cpp:
1002         (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
1003         * Modules/webaudio/RealtimeAnalyserNode.h:
1004         (RealtimeAnalyserNode):
1005         * WebCore.gypi:
1006         * WebCore.xcodeproj/project.pbxproj:
1007
1008 2012-05-01  Keishi Hattori  <keishi@webkit.org>
1009
1010         datalist: Form control in a <datalist> should be barred from constraint validation
1011         https://bugs.webkit.org/show_bug.cgi?id=84359
1012
1013         Reviewed by Kent Tamura.
1014
1015         Tests: fast/forms/datalist/datalist-child-validation.html
1016                fast/forms/form-control-element-crash.html
1017
1018         * html/HTMLFormControlElement.cpp:
1019         (WebCore::HTMLFormControlElement::HTMLFormControlElement):
1020         (WebCore::HTMLFormControlElement::updateAncestors): Updates the ancestor information.
1021         (WebCore::HTMLFormControlElement::insertedInto): Invalidate the ancestor information and call setNeedsWillValidateCheck because willValidate might have changed.
1022         (WebCore::HTMLFormControlElement::removedFrom): Ditto.
1023         (WebCore::HTMLFormControlElement::disabled):
1024         (WebCore::HTMLFormControlElement::recalcWillValidate): Returns false if element has a datalist ancestor.
1025         (WebCore::HTMLFormControlElement::willValidate): Check if ancestor information is valid too.
1026         (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
1027         * html/HTMLFormControlElement.h:
1028         (HTMLFormControlElement):
1029
1030 2012-05-01  Kent Tamura  <tkent@chromium.org>
1031
1032         Calendar Picker: Close the picker by ESC key
1033         https://bugs.webkit.org/show_bug.cgi?id=85337
1034
1035         Reviewed by Kentaro Hara.
1036
1037         No new tests. Calendar picker is not testable in DRT yet.
1038
1039         * Resources/calendarPicker.js:
1040         (handleGlobalKey): Close the popup by ESC key.
1041
1042 2012-05-01  Noel Gordon  <noel.gordon@gmail.com>
1043
1044         PNGImageDecoder: Handle interlace buffer allocation failure
1045         https://bugs.webkit.org/show_bug.cgi?id=85276
1046
1047         Reviewed by Eric Seidel.
1048
1049         No new tests. Not something we can easily test (malloc failure).
1050
1051         * platform/image-decoders/png/PNGImageDecoder.cpp:
1052         (WebCore::PNGImageDecoder::rowAvailable): Check interlace buffer allocations
1053         and bail via longjmp on failure. Note PNG_INTERLACE_ADAM7 is the only libpng
1054         supported interlace type so test for it explicitly.
1055
1056 2012-05-01  Kent Tamura  <tkent@chromium.org>
1057
1058         Calendar Picker: Too wide in Japanese locale
1059         https://bugs.webkit.org/show_bug.cgi?id=85331
1060
1061         Reviewed by Kentaro Hara.
1062
1063         No new tests. This is a locale-specific behavior.
1064
1065         * Resources/calendarPicker.js:
1066         (formatJapaneseImperialEra):
1067         Do not show an imperial era later than 平成99年 to avoid very long
1068         year string like "275760年(平成273772年)."
1069         (YearMonthController.prototype.attachTo):
1070         - Respect the maximum year specfied by <input max=...>
1071           If <input max="9999-12-31"> is specified, we don't need to
1072           secure space for the year 275,760.
1073         - Check the width for 平成99年 as well as the maximum year because
1074           "2087年(平成99年)" is usually wider than "275760年".
1075
1076 2012-05-01  Noel Gordon  <noel.gordon@gmail.com>
1077
1078         PNGImageDecoder: Add ENABLE(IMAGE_DECODER_DOWN_SAMPLING) guards to rowAvailable
1079         https://bugs.webkit.org/show_bug.cgi?id=85268
1080
1081         Reviewed by Eric Seidel.
1082
1083         PNGImageDecoder supports image downsampling. Add ENABLE guards to show where
1084         downsampling is applied when outputting decoded rows to the frame buffer. Most
1085         ports don't enable the flag: don't penalize them in terms speed in this tight
1086         row pixel write loop. s/y/destY/ to match setRGBA() and amend some comments.
1087
1088         No new tests. No change in behavior.
1089
1090         * platform/image-decoders/png/PNGImageDecoder.cpp:
1091         (WebCore::PNGImageDecoder::rowAvailable):
1092
1093 2012-05-01  Eric Seidel  <eric@webkit.org>
1094
1095         Remove uneeded min/max pref width assignment from RenderView
1096         https://bugs.webkit.org/show_bug.cgi?id=85325
1097
1098         Reviewed by Julien Chaffraix.
1099
1100         This code has been with us since the original import from KDE:
1101         http://trac.webkit.org/browser/trunk/WebCore/khtml/rendering/render_root.cpp?annotate=blame&rev=4#L93
1102         It's never been documented, or explained.  Removing it showed no
1103         effect on my local layout tests run.
1104         However this code blocks proper implementation of <iframe seamless>
1105         as we have to do proper min/max width negotiation across the iframe boundary.
1106
1107         I would remove the whole function, but doing so opens a whole can of worms
1108         as this override is public, yet normally this function is *private* (well protected on RenderBox).
1109         It seems plausible that frame flattening code needs this override since it doesn't always
1110         call the min/maxPreferredWidth() calls which normally automatically call this compute*
1111         function if the pref-widths are dirty.
1112         Instead of trying to track that all down, I'm just removing this line, and we'll go
1113         back and remove the whole function at a later date if possible.
1114
1115         * rendering/RenderView.cpp:
1116         (WebCore::RenderView::computePreferredLogicalWidths):
1117
1118 2012-05-01  Nate Chapin  <japhet@chromium.org>
1119
1120         REGRESSION(r115654): PDFs come up blank
1121         https://bugs.webkit.org/show_bug.cgi?id=85275
1122
1123         Reviewed by Alexey Proskuryakov.
1124
1125         Test: http/tests/loading/pdf-commit-load-callbacks.html
1126
1127         * loader/DocumentLoader.cpp:
1128         (WebCore::DocumentLoader::finishedLoading): The load needs to be
1129             committed before we call finishedLoading on the
1130             FrameLoaderClient.
1131         * loader/FrameLoader.cpp:
1132         (WebCore::FrameLoader::transitionToCommitted): We're guaranteeing
1133             that receivedFirstData() will be called other ways (namely,
1134             DocumentLoader won't finish without doing so). This call now
1135             causes custom representations to double-commit, which is bad.
1136
1137 2012-05-01  Eric Seidel  <eric@webkit.org>
1138
1139         Add support for seamless attribute as well as seamless sandbox flag and default CSS styling
1140         https://bugs.webkit.org/show_bug.cgi?id=85302
1141
1142         Reviewed by Ojan Vafai.
1143
1144         This also adds support for the seamless sandbox flag from HTML 5.
1145         The sandbox flag is not speficially overridable in the current HTML5,
1146         but it is set (like all sandbox flags) by default when sandbox is specified.
1147         Unfortunately this support is not yet observable in this patch, as
1148         this patch adds not observable features of seamless.
1149
1150         This patch also adds the html.css additions for seamless, as specified:
1151         http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#replaced-elements
1152
1153         I noticed that my previous testing did not confirm that iframes marked
1154         for seamless (but not possible to display as seamless due to sandbox, etc.)
1155         were still to have this seamless styling.  I've added additional testing for this case.
1156
1157         I also added another test for the about:blank FIXME added as part of this change.
1158
1159         In order to support srcdoc w/ seamless, we needed to move the srcdoc determination
1160         sooner in the initSecurityContext function (before the should-inherit early return).
1161
1162         The next patch will make seamless actually observable from JS/DOM, this one
1163         just lays down all the plumbing, and separates the security aspects for
1164         easy review.
1165
1166         Test: fast/frames/seamless/seamless-inherited-origin.html
1167
1168         * css/html.css:
1169         (iframe:not([seamless])):
1170         (iframe[seamless]):
1171         * dom/Document.cpp:
1172         (WebCore::isEligibleForSeamless):
1173         (WebCore):
1174         (WebCore::Document::initSecurityContext):
1175         (WebCore::Document::seamlessParentIFrame):
1176         (WebCore::Document::shouldDisplaySeamlesslyWithParent):
1177         * dom/Document.h:
1178         (WebCore):
1179         (Document):
1180         * dom/SecurityContext.cpp:
1181         (WebCore::SecurityContext::SecurityContext):
1182         * dom/SecurityContext.h:
1183         (WebCore::SecurityContext::mayDisplaySeamlessWithParent):
1184         (SecurityContext):
1185         * html/HTMLAttributeNames.in:
1186         * html/HTMLIFrameElement.cpp:
1187         (WebCore::HTMLIFrameElement::shouldDisplaySeamlessly):
1188         (WebCore):
1189         * html/HTMLIFrameElement.h:
1190         (HTMLIFrameElement):
1191         * html/HTMLIFrameElement.idl:
1192
1193 2012-05-01  Min Qin  <qinmin@google.com>
1194
1195         use USE(NATIVE_FULLSCREEN_VIDEO) instead of ENABLE(NATIVE_FULLSCREEN_VIDEO)
1196         https://bugs.webkit.org/show_bug.cgi?id=85316
1197
1198         Reviewed by Kent Tamura.
1199
1200         NATIVE_FULLSCREEN_VIDEO means the fullscreen video is implemented by native
1201         system view instead of webkit.
1202         So it is more appropriate to use USE(NATIVE_FULLSCREEN_VIDEO).
1203         This chagne also disabled the rendering of the fullscreen video element in webkit
1204         when that flag is set.
1205         Just renaming the variable, no new tests.
1206
1207         * dom/Document.cpp:
1208         (WebCore::Document::webkitWillEnterFullScreenForElement):
1209         (WebCore):
1210         * platform/graphics/MediaPlayer.cpp:
1211         (WebCore):
1212         * platform/graphics/MediaPlayer.h:
1213         (MediaPlayer):
1214         * platform/graphics/MediaPlayerPrivate.h:
1215         (MediaPlayerPrivateInterface):
1216
1217 2012-05-01  Jeffrey Pfau  <jpfau@apple.com>
1218
1219         <rdar://problem/10422318> Support for web content filter delegate for filtering https content
1220         https://bugs.webkit.org/show_bug.cgi?id=85300
1221
1222         Reviewed by Alexey Proskuryakov.
1223
1224         No new tests.
1225
1226         * WebCore.exp.in:
1227         * loader/MainResourceLoader.cpp:
1228         (WebCore::MainResourceLoader::MainResourceLoader):
1229         (WebCore::MainResourceLoader::~MainResourceLoader):
1230         (WebCore::MainResourceLoader::didCancel):
1231         (WebCore::MainResourceLoader::didReceiveResponse):
1232         (WebCore::MainResourceLoader::didReceiveData):
1233         (WebCore::MainResourceLoader::didFinishLoading):
1234         (WebCore::MainResourceLoader::didFail):
1235         * loader/MainResourceLoader.h:
1236         (MainResourceLoader):
1237         * platform/mac/WebCoreSystemInterface.h:
1238         * platform/mac/WebCoreSystemInterface.mm:
1239
1240 2012-05-01  Kent Tamura  <tkent@chromium.org>
1241
1242         Calendar Picker: Add capability to add platform-specific style sheet
1243         https://bugs.webkit.org/show_bug.cgi?id=85272
1244
1245         Reviewed by Kentaro Hara.
1246
1247         Add RenderTheme::extraCalendarPickerStyleSheet(). The resultant string
1248         of the function is inserted into the calendar picker page.
1249
1250         No new tests. Calendar picker apperance is not testable yet.
1251
1252         * Resources/calendarPicker.css: Removed styles for year-month buttons.
1253         * Resources/calendarPickerMac.css:
1254         Moved from calendarPicker.css, and adjust styles so that they look
1255         standard Lion buttons.
1256         (.year-month-button):
1257         (.year-month-button:active):
1258         (.year-month-button:disabled):
1259         * WebCore.gyp/WebCore.gyp: Add a rule to produce CalendarPickerMac.{cpp,h}.
1260         * html/shadow/CalendarPickerElement.cpp:
1261         (WebCore::CalendarPickerElement::writeDocument):
1262         Add extraCalendarPickerStyleSheet() result to the document.
1263         * rendering/RenderTheme.cpp:
1264         (WebCore::RenderTheme::extraCalendarPickerStyleSheet):
1265         Added. Returns an empty CString by default.
1266         * rendering/RenderTheme.h:
1267         (RenderTheme): Added extraCalendarPickerStyleSheet().
1268         * rendering/RenderThemeChromiumMac.h: Added extraCalendarPickerStyleSheet().
1269         * rendering/RenderThemeChromiumMac.mm:
1270         (WebCore::RenderThemeChromiumMac::extraCalendarPickerStyleSheet):
1271         Added. Returns the content of Resources/calendarPickerMac.css.
1272
1273 2012-05-01  James Simonsen  <simonjam@chromium.org>
1274
1275         Ensure HTMLElementStack fails gracefully if it has a non-Element.
1276         https://bugs.webkit.org/show_bug.cgi?id=85167
1277
1278         Reviewed by Adam Barth.
1279
1280         Test: Added to html5lib/resources/webkit02.dat
1281
1282         * html/parser/HTMLElementStack.cpp:
1283         (WebCore::HTMLElementStack::oneBelowTop):
1284         * html/parser/HTMLTreeBuilder.cpp:
1285         (WebCore::HTMLTreeBuilder::processEndTag):
1286
1287 2012-05-01  Ryosuke Niwa  <rniwa@webkit.org>
1288
1289         *Command.h files shouldn't be exported to WebKit layer
1290         https://bugs.webkit.org/show_bug.cgi?id=74778
1291
1292         Reviewed by Eric Seidel.
1293
1294         Remove the dependency on *Command.h files from Mac port's WebKit layer.
1295         Also wrapped the call to TypingCommand::insertParagraphSeparatorInQuotedContent in the Editor class
1296         so that we can just expose Editor's method instead of directly exposing the said static method.
1297
1298         * WebCore.exp.in:
1299         * WebCore.xcodeproj/project.pbxproj:
1300         * editing/Editor.h:
1301         (Editor):
1302         * editing/mac/EditorMac.mm:
1303         (WebCore::Editor::insertParagraphSeparatorInQuotedContent):
1304         (WebCore):
1305
1306 2012-05-01  Julien Chaffraix  <jchaffraix@webkit.org>
1307
1308         Remove one bit from m_column to pack RenderTableCell bits more
1309         https://bugs.webkit.org/show_bug.cgi?id=85291
1310
1311         Reviewed by Ojan Vafai.
1312
1313         Memory improvement, covered by the existing unit tests.
1314
1315         * rendering/RenderTableCell.cpp:
1316         * rendering/RenderTableCell.h:
1317         Remove one bit from m_column (which should be fine as I wouldn't expect tables above 1 millions
1318         columns to render at all anyway) to pack the bitfields in 32 bits. Re-arranged the bits to have the bigger
1319         bitfield first.
1320
1321 2012-05-01  Anders Carlsson  <andersca@apple.com>
1322
1323         Slow scrolling on www.sholby.net
1324         https://bugs.webkit.org/show_bug.cgi?id=85304
1325         <rdar://problem/11138952>
1326
1327         Reviewed by Beth Dakin.
1328
1329         Fix two performance issues that showed up on the profiles.
1330
1331         * loader/FrameLoader.cpp:
1332         (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
1333         Reset the relevant painted object counter; it's only interesting when loading.
1334
1335         * page/Page.cpp:
1336         (WebCore::Page::startCountingRelevantRepaintedObjects):
1337         Set m_isCountingRelevantRepaintedObjects to true after calling reset, since reset now sets it to false.
1338
1339         (WebCore::Page::resetRelevantPaintedObjectCounter):
1340         Set m_isCountingRelevantRepaintedObjects to false.
1341
1342         (WebCore::Page::addRelevantRepaintedObject):
1343         Use HashSet::find to avoid an extra hash lookup.
1344
1345         * page/scrolling/ScrollingCoordinator.cpp:
1346         (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
1347         Remove the call to FrameView::updateCompositingLayersAfterLayout now, since FrameView::notifyScrollPositionChanged
1348         already calls this and was making us to a lot of work twice.
1349
1350 2012-05-01  Silvia Pfeiffer  <silviapf@chromium.org>
1351
1352         Audio controls have a 1px surplus outline coming from RenderImage::paintReplaced base class,
1353         which needs overwriting.
1354         https://bugs.webkit.org/show_bug.cgi?id=84570
1355
1356         Reviewed by Eric Carlson.
1357
1358         No new tests - covered by existing audio rendering tests.
1359
1360         * rendering/RenderMedia.cpp:
1361         (WebCore::RenderMedia::paintReplaced): Overwrite inherited function.
1362         (WebCore):
1363         * rendering/RenderMedia.h:
1364         (RenderMedia):
1365
1366 2012-05-01  Terry Anderson  <tdanderson@chromium.org>
1367
1368         Allow a pre-targeted node to be specified when dispatching a GestureTap event
1369         https://bugs.webkit.org/show_bug.cgi?id=85296
1370
1371         Reviewed by Adam Barth.
1372
1373         https://bugs.webkit.org/show_bug.cgi?id=85101
1374             The new parameter will be used and tested in this patch.
1375
1376         * page/EventHandler.cpp:
1377         (WebCore::EventHandler::handleGestureTap):
1378             The new preTargetedNode parameter can be used to pass in the Node that is
1379             the target of the GestureTap event. If this parameter is used, adjustedPoint
1380             is changed to be the center of the Node's bounding rectangle.
1381         * page/EventHandler.h:
1382         (EventHandler):
1383
1384 2012-05-01  Jessie Berlin  <jberlin@apple.com>
1385
1386         Crash calling disconnectFrame on a DOMWindowExtension a second time.
1387         https://bugs.webkit.org/show_bug.cgi?id=85301
1388
1389         Reviewed by Darin Adler.
1390
1391         DOMWindowExtension::disconnectFrame assumed it would only be called when there was a frame
1392         to disconnect. However, DOMWindow's destructor invokes disconnectFrame on all its
1393         DOMWindowProperties, even if it already did so when it entered the page cache.
1394
1395         * page/DOMWindowExtension.cpp:
1396         (WebCore::DOMWindowExtension::disconnectFrame):
1397         Don't do anything if the frame has already been disconnected.
1398
1399 2012-05-01  Aaron Colwell  <acolwell@chromium.org>
1400
1401         Temporarily remove webkitSourceAddId() & webkitSourceRemoveId() from DOM
1402         until the rest of the Media Source v0.5 methods are implemented. This is
1403         to prevent ambiguity about whether v0.5 is fully supported or not.
1404         https://bugs.webkit.org/show_bug.cgi?id=85295
1405
1406         Reviewed by Eric Carlson.
1407
1408         No new tests. Removing methods from DOM so relevant tests are removed.
1409
1410         * html/HTMLMediaElement.idl:
1411
1412 2012-05-01  Douglas Stockwell  <dstockwell@chromium.org>
1413
1414         IndexedDB: stale index entries may not be removed in some cases
1415         https://bugs.webkit.org/show_bug.cgi?id=85224
1416
1417         Reviewed by Ojan Vafai.
1418
1419         Ensure that stale index entries are removed when the corresponding
1420         object store entry no longer exists.
1421
1422         No new tests. Addresses a performance / storage leak that is
1423         not amenable to verification in a layout test.
1424
1425         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
1426         (WebCore):
1427
1428 2012-05-01  Igor Oliveira  <igor.o@sisa.samsung.com>
1429
1430         Use HashMap<OwnPtr> for CounterMap in RenderCounter
1431         https://bugs.webkit.org/show_bug.cgi?id=85294
1432
1433         Reviewed by Eric Seidel.
1434
1435         * rendering/RenderCounter.cpp:
1436         (WebCore):
1437         (WebCore::makeCounterNode):
1438         (WebCore::RenderCounter::destroyCounterNodes):
1439
1440 2012-05-01  Philip Rogers  <pdr@google.com>
1441
1442         Skip building instance tree for disallowed target
1443         https://bugs.webkit.org/show_bug.cgi?id=85202
1444
1445         Reviewed by Nikolas Zimmermann.
1446
1447         When the target of a use is disallowed (e.g., a mask element) we can
1448         skip building the instance tree because the shadow tree will be
1449         skipped as well.
1450
1451         Test: svg/custom/animate-disallowed-mask-element.svg
1452
1453         * svg/SVGUseElement.cpp:
1454         (WebCore::SVGUseElement::buildInstanceTree):
1455
1456 2012-04-29  Nikolas Zimmermann  <nzimmermann@rim.com>
1457
1458         Accumulation for values-animation is broken
1459         https://bugs.webkit.org/show_bug.cgi?id=85158
1460
1461         Reviewed by Darin Adler.
1462
1463         Example:
1464         <rect width="999" height="100" fill="green"/>
1465             <animate begin="0s" values="0; 30; 20" accumulate="sum" repeatCount="5" dur="2s"/>
1466         </rect>
1467
1468         The rect should animate like this:
1469         0.000s -> 0
1470         0.500s -> 15
1471         1.000s -> 30
1472         1.500s -> 25
1473         1.999s -> 20
1474         2.000s -> 20 (first accumulation, starts accumulating from the last set value, here '20').
1475         2.500s -> 45
1476         3.000s -> 50
1477         3.500s -> 45
1478         3.999s -> 40
1479         4.000s -> 40 (second accumulation)
1480         etc.
1481
1482         This is currently broken for values-animation. The accumulation should happen after a full cycle of the values animation ran (aka. at the end of the duration).
1483         A values animation works like this: iterate over the list of values, and calculate a 'from' and 'to' value for a given time. Example for values="0; 30; 20" dur="2s":
1484             - 0.0s .. 1.0s -> from=0, to=30
1485             - 1.0s .. 2.0s -> from=30, to=20
1486
1487         Accumulation currently is taken into account at each interval for a values-animation instead of the end of the cycle. Fix that
1488         by passing an additional 'toAtEndOfDuration' type to calculateAnimatedValue() which is used for accumulation instead of the
1489         current 'to' value.
1490
1491         Test: svg/animations/accumulate-values-width-animation.html
1492
1493         * svg/SVGAnimateElement.cpp:
1494         (WebCore::SVGAnimateElement::calculateAnimatedValue):
1495         * svg/SVGAnimateElement.h:
1496         (SVGAnimateElement):
1497         * svg/SVGAnimateMotionElement.cpp:
1498         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
1499         * svg/SVGAnimateMotionElement.h:
1500         (SVGAnimateMotionElement):
1501         * svg/SVGAnimatedAngle.cpp:
1502         (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
1503         * svg/SVGAnimatedAngle.h:
1504         (SVGAnimatedAngleAnimator):
1505         * svg/SVGAnimatedBoolean.cpp:
1506         (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
1507         * svg/SVGAnimatedBoolean.h:
1508         (SVGAnimatedBooleanAnimator):
1509         * svg/SVGAnimatedColor.cpp:
1510         (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
1511         * svg/SVGAnimatedColor.h:
1512         (SVGAnimatedColorAnimator):
1513         * svg/SVGAnimatedEnumeration.cpp:
1514         (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
1515         * svg/SVGAnimatedEnumeration.h:
1516         (SVGAnimatedEnumerationAnimator):
1517         * svg/SVGAnimatedInteger.cpp:
1518         (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
1519         (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
1520         * svg/SVGAnimatedInteger.h:
1521         (SVGAnimatedIntegerAnimator):
1522         * svg/SVGAnimatedIntegerOptionalInteger.cpp:
1523         (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
1524         * svg/SVGAnimatedIntegerOptionalInteger.h:
1525         (SVGAnimatedIntegerOptionalIntegerAnimator):
1526         * svg/SVGAnimatedLength.cpp:
1527         (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
1528         * svg/SVGAnimatedLength.h:
1529         (SVGAnimatedLengthAnimator):
1530         * svg/SVGAnimatedLengthList.cpp:
1531         (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
1532         * svg/SVGAnimatedLengthList.h:
1533         (SVGAnimatedLengthListAnimator):
1534         * svg/SVGAnimatedNumber.cpp:
1535         (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
1536         * svg/SVGAnimatedNumber.h:
1537         (SVGAnimatedNumberAnimator):
1538         * svg/SVGAnimatedNumberList.cpp:
1539         (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
1540         * svg/SVGAnimatedNumberList.h:
1541         (SVGAnimatedNumberListAnimator):
1542         * svg/SVGAnimatedNumberOptionalNumber.cpp:
1543         (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
1544         * svg/SVGAnimatedNumberOptionalNumber.h:
1545         (SVGAnimatedNumberOptionalNumberAnimator):
1546         * svg/SVGAnimatedPath.cpp:
1547         (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
1548         * svg/SVGAnimatedPath.h:
1549         (SVGAnimatedPathAnimator):
1550         * svg/SVGAnimatedPointList.cpp:
1551         (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
1552         * svg/SVGAnimatedPointList.h:
1553         (SVGAnimatedPointListAnimator):
1554         * svg/SVGAnimatedPreserveAspectRatio.cpp:
1555         (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
1556         * svg/SVGAnimatedPreserveAspectRatio.h:
1557         (SVGAnimatedPreserveAspectRatioAnimator):
1558         * svg/SVGAnimatedRect.cpp:
1559         (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
1560         * svg/SVGAnimatedRect.h:
1561         (SVGAnimatedRectAnimator):
1562         * svg/SVGAnimatedString.cpp:
1563         (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
1564         * svg/SVGAnimatedString.h:
1565         (SVGAnimatedStringAnimator):
1566         * svg/SVGAnimatedTransformList.cpp:
1567         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
1568         * svg/SVGAnimatedTransformList.h:
1569         (SVGAnimatedTransformListAnimator):
1570         * svg/SVGAnimatedTypeAnimator.h:
1571         (SVGAnimatedTypeAnimator):
1572         * svg/SVGAnimationElement.cpp:
1573         (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
1574         (WebCore::SVGAnimationElement::updateAnimation):
1575         * svg/SVGAnimationElement.h:
1576         (WebCore::SVGAnimationElement::animateAdditiveNumber):
1577         (SVGAnimationElement):
1578
1579 2012-05-01  Beth Dakin  <bdakin@apple.com>
1580
1581         https://bugs.webkit.org/show_bug.cgi?id=85231
1582         Fixed position objects that are removed from the DOM don't kick off 
1583         fixed position recalculation
1584         -and corresponding-
1585         <rdar://problem/11297916>
1586
1587         Reviewed by Darin Adler.
1588
1589         * rendering/RenderBox.cpp:
1590         (WebCore::RenderBox::willBeDestroyed):
1591
1592 2012-05-01  Dana Jansens  <danakj@chromium.org>
1593
1594         Early-out for subtracting a non-intersecting region
1595         https://bugs.webkit.org/show_bug.cgi?id=85258
1596
1597         Reviewed by Hajime Morita.
1598
1599         Given regions A and B, if the bounds of the regions do not intersect,
1600         then the regions themselves do not intersect. If the intersection of
1601         A and B is empty, then A subtract B == A.
1602
1603         * platform/graphics/Region.cpp:
1604         (WebCore::Region::subtract):
1605
1606 2012-04-30  Kent Tamura  <tkent@chromium.org>
1607
1608         [Chromium/Windows] Add LocalizedDateWin
1609         https://bugs.webkit.org/show_bug.cgi?id=84935
1610
1611         Reviewed by Kentaro Hara.
1612
1613         LocalizedDateICU.cpp doesn't reflect system settings. So there were some
1614         problems such as <input type=date> doesn't use system's date format.
1615
1616         We need to use Windows API to get a date format and calendar parameters.
1617
1618         We obtain a date format like "MM/dd/yy" via Windows API, and
1619         format/parse dates for the format by our own code because Windows API
1620         can't handle years older than 1601 and doesn't have date parsing API.
1621
1622         Unit test: Source/WebKit/chromium/tests/LocaleWinTest.cpp
1623
1624         * WebCore.gypi: Add LocalizedDateWin.cpp.
1625         * WebCore.gyp/WebCore.gyp:
1626         For Windows, remove LocalizedDateICU.cpp and add LocalizedDateWin.cpp.
1627         All of *Win.cpp files are excluded by default.
1628
1629         * platform/text/LocaleWin.cpp: Added.
1630         (WebCore::LocaleWin::LocaleWin):
1631         (WebCore::LocaleWin::create):
1632         (WebCore::LocaleWin::currentLocale):
1633         (WebCore::LocaleWin::~LocaleWin):
1634         (WebCore::LocaleWin::getLocaleInfoString):
1635         A helper function to obtain a string by GetLocaleInfo().
1636         (WebCore::LocaleWin::initializeShortMonthLabels):
1637         Obtain short month names from Windows.
1638
1639         (WebCore::DateFormatToken): A struct to represent a token in a date format.
1640         e.g. A format string "MM/dd/yy" generates five DateFormatToken:
1641          Month2, Literal, Day2, Literal, Year2.
1642         (isEraSymbol): A readability helper function.
1643         (isYearSymbol): ditto.
1644         (isMonthSymbol): ditto.
1645         (isDaySymbol): ditto.
1646         (countContinuousLetters):
1647         (commitLiteralToken): A helper for parseDateFormat().
1648         (parseDateFormat):
1649         Parse a format string, and generate a list of DateFormatToken.
1650
1651         (WebCore::parseNumber): A helper for parseDate().
1652         (WebCore::LocaleWin::parseNumberOrMonth): ditto.
1653         (WebCore::LocaleWin::parseDate):
1654         Parse a user-provided date string by matching with a DateFormatToken list.
1655
1656         (WebCore::appendNumber): A helper for formatDate().
1657         (WebCore::appendTwoDigitsNumber): ditto. Write at least two digits.
1658         (WebCore::appendFourDigitsNumber): ditto. Write at least four digits.
1659         (WebCore::LocaleWin::formatDate):
1660         Format a DateComponents by iterating a DateFormatToken list.
1661
1662         (WebCore::LocaleWin::initializeShortDateTokens):
1663         (WebCore::substituteLabelsIntoFormat):
1664         Creates a user-visible format string by iterating a DateFormatToken list.
1665         (WebCore::LocaleWin::dateFormatText):
1666         (WebCore::LocaleWin::initializeMonthLabels):
1667         Creates month names by Windows API.
1668         (WebCore::LocaleWin::initializeWeekDayShortLabels):
1669          Creates day names by Windows API.
1670         (WebCore::LocaleWin::monthLabels):
1671         Public accessor function for month names.
1672         (WebCore::LocaleWin::weekDayShortLabels):
1673         Public accessor function for day names.
1674         * platform/text/LocaleWin.h: Added.
1675
1676         * platform/text/LocalizedDateWin.cpp:
1677         Added. The following functions simply delegate to LocaleWin::currentLocale().
1678         (WebCore::parseLocalizedDate):
1679         (WebCore::formatLocalizedDate):
1680         (WebCore::localizedDateFormatText):
1681         (WebCore::monthLabels):
1682         (WebCore::weekDayShortLabels):
1683         (WebCore::firstDayOfWeek):
1684
1685 2012-04-30  Kent Tamura  <tkent@chromium.org>
1686
1687         REGRESSION(r115600): parseLocalizedDate() should fail for invalid inputs
1688         https://bugs.webkit.org/show_bug.cgi?id=85176
1689
1690         Reviewed by Kentaro Hara.
1691
1692         Test: fast/forms/date/input-date-commit-valid-only.html
1693
1694         * platform/text/mac/LocalizedDateMac.mm:
1695         (WebCore::parseLocalizedDate):
1696         We should check nil for the result of NSDateFormtter::dateFromString.
1697
1698 2012-04-30  Mark Rowe  <mrowe@apple.com>
1699
1700         Fix another leak due to misuse of createCFString.
1701
1702         Reviewed by Darin Adler.
1703
1704         * plugins/mac/PluginPackageMac.cpp:
1705         (WebCore::PluginPackage::fetchInfo): Adopt the result of createCFString.
1706
1707 2012-04-30  Mark Rowe  <mrowe@apple.com>
1708
1709         <rdar://problem/11312198> Many leaks during fast/events/dropzone-002.html
1710
1711         Reviewed by Darin Adler.
1712
1713         * platform/mac/ClipboardMac.mm:
1714         (WebCore::utiTypeFromCocoaType): Adopt the result of createCFString.
1715
1716 2012-04-30  Mark Rowe  <mrowe@apple.com>
1717
1718         <rdar://problem/11352575> Many CGImageRefs leaked during media layout tests
1719
1720         Reviewed by Brian Weinstein.
1721
1722         * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
1723         (WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect): Adopt the CGImageRef.
1724
1725 2012-04-30  Emil A Eklund  <eae@chromium.org>
1726
1727         Change RenderBoxModelObject::calculateBackgroundImageGeometry to use roundToInt
1728         https://bugs.webkit.org/show_bug.cgi?id=85249
1729
1730         Reviewed by Eric Seidel.
1731
1732         Prepare RenderBoxModelObject for FractionalLayoutUnits by adding rounding
1733         logic to calculateBackgroundImageGeometry. Background images, as all
1734         images, needs to be layed out on pixel boundaries thus we need to convert
1735         it to a integer value.
1736
1737         No new tests, no change in functionality.
1738
1739         * rendering/RenderBoxModelObject.cpp:
1740         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
1741
1742 2012-04-30  Ilya Sherman  <isherman@chromium.org>
1743
1744         Unreviewed, rolling out r113511.
1745         http://trac.webkit.org/changeset/113511
1746         https://bugs.webkit.org/show_bug.cgi?id=66032
1747         https://bugs.webkit.org/show_bug.cgi?id=85150
1748
1749         Regression: Many autofilled form fields lack the default
1750         autofill background even when authors don’t override the
1751         autofill colors
1752
1753         * css/html.css:
1754         (input:-webkit-autofill): Restore !important modifiers
1755
1756 2012-04-30  Julien Chaffraix  <jchaffraix@webkit.org>
1757
1758         Move RenderTableCell's row index to RenderTableRow
1759         https://bugs.webkit.org/show_bug.cgi?id=85229
1760
1761         Reviewed by Ojan Vafai.
1762
1763         Covered by the existing table tests.
1764
1765         Row index is a RenderTableRow concept and as such this change moves
1766         the relevant logic into the class.
1767
1768         While touching the code, renamed row() -> rowIndex() as now RenderTableCell
1769         can return its parent RenderTableRow and we were returning an index, not the row
1770         itself.
1771
1772         * accessibility/AccessibilityTable.cpp:
1773         (WebCore::AccessibilityTable::cellForColumnAndRow):
1774         * accessibility/AccessibilityTableCell.cpp:
1775         (WebCore::AccessibilityTableCell::rowIndexRange):
1776         (WebCore::AccessibilityTableCell::titleUIElement):
1777         * rendering/RenderTable.cpp:
1778         (WebCore::RenderTable::cellAbove):
1779         (WebCore::RenderTable::cellBelow):
1780         (WebCore::RenderTable::cellBefore):
1781         (WebCore::RenderTable::cellAfter):
1782         * rendering/RenderTreeAsText.cpp:
1783         (WebCore::RenderTreeAsText::writeRenderObject):
1784         Updated after the renaming RenderTableCell::row() -> rowIndex().
1785
1786         * rendering/RenderTableCell.cpp:
1787         (WebCore::RenderTableCell::RenderTableCell):
1788         (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
1789         (WebCore::RenderTableCell::computeCollapsedAfterBorder):
1790         Updated after m_rowIndex removal and row() -> rowIndex() renaming.
1791
1792         (WebCore::RenderTableCell::styleDidChange):
1793         Switched the rowWasSet check to an ASSERT. The new logic guarantees that
1794         row index was set straight when we insert the row. The previous logic was
1795         opened to some race conditions as we could wait for a recalcCells call before
1796         setting the index on the rows which made this check necessary.
1797
1798         * rendering/RenderTableCell.h:
1799         (WebCore::RenderTableCell::row):
1800         Added this RenderTableRow getter.
1801
1802         (WebCore::RenderTableCell::rowIndex):
1803         Renamed from row().
1804
1805         * rendering/RenderTableRow.cpp:
1806         (WebCore::RenderTableRow::RenderTableRow):
1807         (WebCore::RenderTableRow::styleDidChange):
1808         Updated after adding m_rowIndex / rowIndex().
1809
1810         * rendering/RenderTableRow.h:
1811         (WebCore::RenderTableRow::setRowIndex):
1812         (WebCore::RenderTableRow::rowIndex):
1813         Added those getter / setter. Also kept m_rowIndex's smaller size
1814         for future optimization and for symmetry with the column index on
1815         RenderTableCell.
1816
1817         * rendering/RenderTableSection.cpp:
1818         (WebCore::RenderTableSection::addChild):
1819         (WebCore::RenderTableSection::recalcCells):
1820         Made sure that whenever we insert or update our row index
1821         we do call setRowIndex().
1822
1823         (WebCore::RenderTableSection::addCell):
1824         This logic now doesn't need to query insertionRow as the cell's
1825         should have the index of the row in which it is inserted.
1826
1827         (WebCore::RenderTableSection::calcRowLogicalHeight):
1828         (WebCore::RenderTableSection::layoutRows):
1829         (WebCore::compareCellPositionsWithOverflowingCells):
1830         More updates after row() -> rowIndex() renaming.
1831
1832         * rendering/RenderTableSection.h:
1833         Removed rowIndexForRenderer now that the row caches this informatin.
1834
1835 2012-04-30  Keishi Hattori  <keishi@webkit.org>
1836
1837         datalist: Inconsistent behavior of HTMLInputElement::list
1838         https://bugs.webkit.org/show_bug.cgi?id=84351
1839
1840         Each platform will have a different set of input types that support the datalist UI.
1841         This patch makes shouldRespectListAttribute ask the RenderTheme if it supports datalist UI for that input type.
1842         Thus making it possible to do feature detection with JS.
1843
1844         Reviewed by Kent Tamura.
1845
1846         * WebCore.gypi: Added RenderThemeChromiumCommon.{cpp,h}
1847         * html/ColorInputType.cpp:
1848         (WebCore::ColorInputType::shouldRespectListAttribute):
1849         (WebCore):
1850         * html/ColorInputType.h:
1851         (ColorInputType):
1852         * html/InputType.cpp:
1853         (WebCore::InputType::themeSupportsDataListUI): Static method used by TextFieldInputType, RangeInputType, and ColorInputType.
1854         (WebCore):
1855         * html/InputType.h:
1856         (InputType):
1857         * html/RangeInputType.cpp:
1858         (WebCore::RangeInputType::shouldRespectListAttribute):
1859         * html/TextFieldInputType.cpp:
1860         (WebCore::TextFieldInputType::shouldRespectListAttribute):
1861         * rendering/RenderTheme.h:
1862         (RenderTheme):
1863         (WebCore::RenderTheme::supportsDataListUI): Returns true if the platform can show the datalist suggestions for a given input type.
1864         * rendering/RenderThemeChromiumCommon.cpp: Added.
1865         (WebCore):
1866         (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
1867         * rendering/RenderThemeChromiumCommon.h: Added.
1868         (WebCore):
1869         (RenderThemeChromiumCommon):
1870         * rendering/RenderThemeChromiumMac.h:
1871         (RenderThemeChromiumMac):
1872         * rendering/RenderThemeChromiumMac.mm:
1873         (WebCore::RenderThemeChromiumMac::supportsDataListUI):
1874         (WebCore):
1875         * rendering/RenderThemeChromiumSkia.cpp:
1876         (WebCore::RenderThemeChromiumMac::supportsDataListUI):
1877         (WebCore):
1878         * rendering/RenderThemeChromiumSkia.h:
1879         (RenderThemeChromiumSkia):
1880
1881 2012-04-30  Levi Weintraub  <leviw@chromium.org>
1882
1883         RenderObject incorrectly lists maximalOutlineSize as a LayoutUnit
1884         https://bugs.webkit.org/show_bug.cgi?id=85248
1885
1886         Reviewed by Eric Seidel.
1887
1888         Reverting RenderObject::maximalOutlineSize to int. This is a slop value for repaint
1889         rects that doesn't affect layout. It also derives its value from RenderView's function
1890         of the same name, which is already an integer.
1891
1892         No new tests. No change in behavior.
1893
1894         * rendering/RenderObject.cpp:
1895         (WebCore::RenderObject::maximalOutlineSize):
1896         * rendering/RenderObject.h:
1897         (RenderObject):
1898
1899 2012-04-30  Xingnan Wang  <xingnan.wang@intel.com>
1900
1901         Add multichannel support for input of JavaScriptAudioNode
1902         https://bugs.webkit.org/show_bug.cgi?id=84687
1903
1904         Reviewed by Chris Rogers.
1905
1906         Tests: webaudio/javascriptaudionode-downmix8-2channel-input.html
1907                webaudio/javascriptaudionode-upmix2-8channel-input.html
1908
1909         * Modules/webaudio/JavaScriptAudioNode.cpp:
1910         (WebCore::JavaScriptAudioNode::create):
1911         (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
1912         (WebCore::JavaScriptAudioNode::initialize):
1913         (WebCore::JavaScriptAudioNode::process):
1914         * Modules/webaudio/JavaScriptAudioNode.h:
1915         (JavaScriptAudioNode):
1916
1917 2012-04-30  Oliver Hunt  <oliver@apple.com>
1918
1919         Harden arithmetic in ImageBufferDataCG
1920         https://bugs.webkit.org/show_bug.cgi?id=61373
1921
1922         Reviewed by Gavin Barraclough.
1923
1924         We have a checked type that allows us to automate many of the
1925         bounds checks we want here, so let's replace the floating point
1926         math, and just use Checked<> throughout.  We use a non-recording
1927         Checked<> as no overflows should reach this point, so we'll take
1928         a hard early failure, over the cost of many branches when
1929         accessing the raw values in loops.
1930
1931         * platform/graphics/cg/ImageBufferDataCG.cpp:
1932         (WebCore::ImageBufferData::getData):
1933         (WebCore::ImageBufferData::putData):
1934
1935 2012-04-30  Levi Weintraub  <leviw@chromium.org>
1936
1937         Add absoluteValue method for LayoutUnits to allow overloading abs()
1938         https://bugs.webkit.org/show_bug.cgi?id=85214
1939
1940         Reviewed by Eric Seidel.
1941
1942         Adding an absoluteValue free inline function that operates on LayoutUnits, which
1943         allows us to have one function signature for ints or FractionalLayoutUnits. We
1944         can't simply add a FractionalLayoutUnit flavor of abs because it confuses
1945         some compilers due to the implicit FractionalLayoutUnit constructors that take
1946         ints and floats.
1947
1948         No new tests. No change in behavior.
1949
1950         * page/SpatialNavigation.cpp:
1951         (WebCore::distanceDataForNode):
1952         * rendering/LayoutTypes.h:
1953         (WebCore::absoluteValue):
1954         (WebCore):
1955         * rendering/RenderBlockLineLayout.cpp:
1956         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
1957         * rendering/RenderLineBoxList.cpp:
1958         (WebCore::RenderLineBoxList::rangeIntersectsRect):
1959         * rendering/RenderObject.cpp:
1960         (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
1961
1962 2012-04-30  Levi Weintraub  <leviw@chromium.org>
1963
1964         Update LayoutUnit usage in InlineFlowBox and RenderWidget
1965         https://bugs.webkit.org/show_bug.cgi?id=85239
1966
1967         Reviewed by Eric Seidel.
1968
1969         Updating LayoutUnit usage in a pair of remaining functions to minimize the remaining work to switching
1970         to FractionalLayoutUnits for layout instead of integers.
1971
1972         No new tests. No change in behavior.
1973
1974         * rendering/InlineFlowBox.cpp:
1975         (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Though stored as a float, the top is always
1976         set to an integer value. When we move to sub-pixel, we need to preserve this. Not preserving this
1977         behavior affects text decorations, most notably underlines.
1978         * rendering/RenderWidget.cpp:
1979         (WebCore::RenderWidget::updateWidgetGeometry): Adding pixel snapping for the content box if it's
1980         not transformed (absoluteContentBox includes pixel snapping), and properly treating the boundingBox
1981         as an IntRect.
1982
1983 2012-04-30  Levi Weintraub  <leviw@chromium.org>
1984
1985         Prepare RenderDeprecatedFlexibleBox for sub-pixel layout
1986         https://bugs.webkit.org/show_bug.cgi?id=85217
1987
1988         Reviewed by Eric Seidel.
1989
1990         Bailing from the space distribution loop in layoutHorizontal/VerticalBox when
1991         the remaining space falls below one pixel. This has no effect in whole-pixel
1992         layout, but avoids unnecessary work/infinite loops in the sub-pixel case.
1993
1994         No new tests. No change in behavior.
1995
1996         * rendering/RenderDeprecatedFlexibleBox.cpp:
1997         (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
1998         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
1999
2000 2012-04-30  Ryosuke Niwa  <rniwa@webkit.org>
2001
2002         NULL ptr in WebCore::Range::getBorderAndTextQuads
2003         https://bugs.webkit.org/show_bug.cgi?id=77218
2004
2005         Reviewed by Eric Seidel.
2006
2007         The crash was caused by a malformed range obtained within an event handler of mutation events
2008         (DOMNodeRemovedFromDocument). Because this range wasn't updated per node removal, range functions
2009         end up not behaving well.
2010
2011         Fixed the bug by changing the order of the notifications in ContainerNode::willRemoveChild.
2012         We now fire mutation events first before updating ranges so that any range created inside those
2013         event handlers can also be updated prior to the actual node removal.
2014
2015         Test: fast/dom/Range/range-created-in-mutation-event-crash.xhtml
2016
2017         * dom/ContainerNode.cpp:
2018         (WebCore::willRemoveChild):
2019
2020 2012-04-30  Anders Carlsson  <andersca@apple.com>
2021
2022         ScrollingCoordinator::requestScrollPositionUpdate should not update the main frame scroll position
2023         https://bugs.webkit.org/show_bug.cgi?id=85240
2024         <rdar://problem/11286609>
2025
2026         Reviewed by Sam Weinig.
2027
2028         The call to updateMainFrameScrollPosition was added to make the WebKit2 find overlay work, since it relies
2029         on scroll position updates being synchronous. Change the find code in WebKit2 to handle asynchronous scroll
2030         position updates and remove the call to updateMainFrameScrollPosition.
2031
2032         * page/scrolling/ScrollingCoordinator.cpp:
2033         (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
2034
2035 2012-04-30  Anders Carlsson  <andersca@apple.com>
2036
2037         Add a way to asynchronously call a function once the scroll position of a page has been updated
2038         https://bugs.webkit.org/show_bug.cgi?id=85237
2039
2040         Reviewed by Sam Weinig.
2041
2042         * WebCore.exp.in:
2043         Export functions needed by WebKit2.
2044
2045         * page/scrolling/ScrollingCoordinator.h:
2046         Make commitTreeStateIfNeeded public.
2047
2048 2012-04-30  Kentaro Hara  <haraken@chromium.org>
2049
2050         WebGLRenderingContext methods should throw TypeError for not enough arguments
2051         https://bugs.webkit.org/show_bug.cgi?id=84787
2052
2053         Reviewed by Kenneth Russell.
2054
2055         Currently, WebGLRenderingcontext methods implement
2056         "Not enough arguments" error as SyntaxError. The Web IDL
2057         spec requires that it should be TypeError:
2058         http://www.w3.org/TR/WebIDL/#dfn-overload-resolution-algorithm
2059
2060         This patch changes SyntaxError to TypeError.
2061
2062         I wanted to confirm the behavior of Firefox and Opera,
2063         but they do not implement WebGL yet.
2064
2065         Test: fast/canvas/webgl/webgl-exceptions.html
2066
2067         * bindings/js/JSWebGLRenderingContextCustom.cpp:
2068         (WebCore::getObjectParameter):
2069         (WebCore::JSWebGLRenderingContext::getAttachedShaders):
2070         (WebCore::JSWebGLRenderingContext::getExtension):
2071         (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
2072         (WebCore::JSWebGLRenderingContext::getParameter):
2073         (WebCore::JSWebGLRenderingContext::getProgramParameter):
2074         (WebCore::JSWebGLRenderingContext::getShaderParameter):
2075         (WebCore::JSWebGLRenderingContext::getUniform):
2076         (WebCore::dataFunctionf):
2077         (WebCore::dataFunctioni):
2078         (WebCore::dataFunctionMatrix):
2079         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
2080         (WebCore::getObjectParameter):
2081         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
2082         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
2083         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
2084         (WebCore::V8WebGLRenderingContext::getParameterCallback):
2085         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
2086         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
2087         (WebCore::V8WebGLRenderingContext::getUniformCallback):
2088         (WebCore::vertexAttribAndUniformHelperf):
2089         (WebCore::uniformHelperi):
2090         (WebCore::uniformMatrixHelper):
2091
2092 2012-04-30  Emil A Eklund  <eae@chromium.org>
2093
2094         [gtk, qt, chromium, win] Fix usage of LayoutUnits and rounding in platform code
2095         https://bugs.webkit.org/show_bug.cgi?id=85222
2096
2097         Reviewed by Eric Seidel.
2098
2099         Update platform code to use the pixel snapped values for painting rects
2100         to line up with device pixels and change platform specific hit testing
2101         code to use roundedPoint as hit testing is still mostly done on integer
2102         bounds.
2103
2104         No new tests, no change in functionality.
2105
2106         * platform/qt/RenderThemeQt.cpp:
2107         (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
2108         * platform/win/PopupMenuWin.cpp:
2109         (WebCore::PopupMenuWin::paint):
2110         * rendering/RenderThemeChromiumSkia.cpp:
2111         (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
2112         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
2113         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
2114
2115 2012-04-30  Kentaro Hara  <haraken@chromium.org>
2116
2117         [V8][JSC] Remove hard-coded "Not enough arguments" errors
2118         https://bugs.webkit.org/show_bug.cgi?id=85207
2119
2120         Reviewed by Sam Weinig.
2121
2122         In bug 85022 and bug 85097, we implemented
2123         createNotEnoughArgumentsError() in JSC and
2124         V8Proxy::throwNotEnoughArgumentsError() in V8 and partially
2125         removed hard-coded "Not enough arguments" errors.
2126         This patch removes hard-coded "Not enough arguments"
2127         errors by using the helper methods.
2128
2129         No tests. No change in behavior.
2130
2131         * bindings/js/JSAudioContextCustom.cpp:
2132         (WebCore::JSAudioContextConstructor::constructJSAudioContext):
2133         * bindings/js/JSSVGLengthCustom.cpp:
2134         (WebCore::JSSVGLength::convertToSpecifiedUnits):
2135         * bindings/js/JSWebSocketCustom.cpp:
2136         (WebCore::JSWebSocketConstructor::constructJSWebSocket):
2137         (WebCore::JSWebSocket::send):
2138         * bindings/js/JSXMLHttpRequestCustom.cpp:
2139         (WebCore::JSXMLHttpRequest::open):
2140         * bindings/v8/ScriptController.cpp:
2141         (WebCore::setValueAndClosePopupCallback):
2142         * bindings/v8/custom/V8AudioContextCustom.cpp:
2143         (WebCore::V8AudioContext::constructorCallback):
2144         * bindings/v8/custom/V8SVGLengthCustom.cpp:
2145         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
2146         * bindings/v8/custom/V8WebSocketCustom.cpp:
2147         (WebCore::V8WebSocket::constructorCallback):
2148         (WebCore::V8WebSocket::sendCallback):
2149         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
2150         (WebCore::V8XMLHttpRequest::openCallback):
2151
2152 2012-04-30  Benjamin Poulain  <benjamin@webkit.org>
2153
2154         Add String::startsWith() and endsWith() for string literals
2155         https://bugs.webkit.org/show_bug.cgi?id=85154
2156
2157         Reviewed by Darin Adler.
2158
2159         Update WebCore to use the simpler startsWith() and endsWith() taking
2160         a UChar.
2161
2162         * css/CSSParser.cpp:
2163         (WebCore::CSSParser::markPropertyEnd):
2164         * css/WebKitCSSKeyframeRule.cpp:
2165         (WebCore::StyleKeyframe::parseKeyString):
2166         * editing/markup.cpp:
2167         (WebCore::createFragmentFromText):
2168         * html/HTMLObjectElement.cpp:
2169         (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
2170         * html/HTMLTextFormControlElement.cpp:
2171         (WebCore::HTMLTextFormControlElement::setInnerTextValue):
2172         * inspector/ContentSearchUtils.cpp:
2173         (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
2174         * inspector/InspectorCSSAgent.cpp:
2175         (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
2176         * loader/MainResourceLoader.cpp:
2177         (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
2178         * loader/appcache/ManifestParser.cpp:
2179         (WebCore::parseManifest):
2180         * platform/blackberry/CookieManager.cpp:
2181         (WebCore::CookieManager::shouldRejectForSecurityReason):
2182         * platform/posix/FileSystemPOSIX.cpp:
2183         (WebCore::pathByAppendingComponent):
2184         * plugins/PluginDatabase.cpp:
2185         (WebCore::PluginDatabase::findPlugin):
2186         * svg/SVGStopElement.cpp:
2187         (WebCore::SVGStopElement::parseAttribute):
2188         * svg/animation/SVGSMILElement.cpp:
2189         (WebCore::SVGSMILElement::parseOffsetValue):
2190         (WebCore::SVGSMILElement::parseCondition):
2191
2192 2012-04-30  Abhishek Arya  <inferno@chromium.org>
2193
2194         Remove positioned float code.
2195         https://bugs.webkit.org/show_bug.cgi?id=84795
2196
2197         Reviewed by Dan Bernstein.
2198
2199         Backout r92004 and some pieces from r91702.
2200
2201         Test: fast/block/float/positioned-float-crash.html
2202
2203         * css/CSSParser.cpp:
2204         (WebCore::isValidKeywordPropertyAndValue):
2205         * css/CSSPrimitiveValueMappings.h:
2206         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2207         (WebCore::CSSPrimitiveValue::operator EFloat):
2208         * css/CSSValueKeywords.in:
2209         * rendering/RenderBlock.cpp:
2210         (WebCore::RenderBlock::RenderBlock):
2211         (WebCore::RenderBlock::layoutBlock):
2212         (WebCore::RenderBlock::addOverflowFromFloats):
2213         (WebCore::RenderBlock::layoutBlockChild):
2214         (WebCore::RenderBlock::simplifiedLayout):
2215         (WebCore::RenderBlock::layoutPositionedObjects):
2216         (WebCore::RenderBlock::insertFloatingObject):
2217         (WebCore::RenderBlock::positionNewFloats):
2218         (WebCore::RenderBlock::clearFloats):
2219         (WebCore::RenderBlock::FloatingObjects::clear):
2220         (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
2221         (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):
2222         * rendering/RenderBlock.h:
2223         (RenderBlock):
2224         (WebCore::RenderBlock::forceLayoutInlineChildren):
2225         (FloatingObject):
2226         (WebCore::RenderBlock::FloatingObject::FloatingObject):
2227         (WebCore::RenderBlock::hasOverhangingFloats):
2228         (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
2229         (FloatingObjects):
2230         * rendering/RenderBox.cpp:
2231         (WebCore::RenderBox::updateBoxModelInfoFromStyle):
2232         * rendering/RenderDeprecatedFlexibleBox.cpp:
2233         (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
2234         * rendering/RenderDeprecatedFlexibleBox.h:
2235         (RenderDeprecatedFlexibleBox):
2236         * rendering/RenderFlexibleBox.cpp:
2237         (WebCore::RenderFlexibleBox::layoutBlock):
2238         * rendering/RenderFlexibleBox.h:
2239         (RenderFlexibleBox):
2240         * rendering/RenderLayer.cpp:
2241         (WebCore::RenderLayer::updateScrollbarsAfterLayout):
2242         * rendering/style/RenderStyleConstants.h:
2243
2244 2012-04-29  Sam Weinig  <sam@webkit.org>
2245
2246         Remove BlobBuilder
2247         https://bugs.webkit.org/show_bug.cgi?id=84036
2248
2249         Reviewed by Anders Carlsson.
2250
2251         * GNUmakefile.am:
2252         * fileapi/WebKitBlobBuilder.idl:
2253         * page/DOMWindow.idl:
2254         * workers/WorkerContext.idl:
2255         Make exposing the WebKitBlobBuilder JS object conditional on a new
2256         ENABLE_LEGACY_WEBKIT_BLOB_BUILDER flag. Don't enable this for the Mac,
2257         but do for everyone else.
2258
2259 2012-04-30  Anders Carlsson  <andersca@apple.com>
2260
2261         Add a barrier-style dispatch member function to ScrollingThread
2262         https://bugs.webkit.org/show_bug.cgi?id=85228
2263
2264         Reviewed by Sam Weinig.
2265
2266         Add a ScrollingThread::dispatchBarrier function which takes a WTF::Function and dispatches it to the main thread
2267         once all the currently scheduled scrolling thread functions have run. This is to be used for synchronization between the
2268         scrolling thread and the main thread.
2269
2270         * page/scrolling/ScrollingThread.cpp:
2271         (WebCore::callFunctionOnMainThread):
2272         (WebCore):
2273         (WebCore::ScrollingThread::dispatchBarrier):
2274         * page/scrolling/ScrollingThread.h:
2275         (ScrollingThread):
2276
2277 2012-04-30  Min Qin  <qinmin@google.com>
2278
2279         Expose a flag so that fullscreen video on android can work with FULLSCREEN_API
2280         https://bugs.webkit.org/show_bug.cgi?id=84414
2281
2282         Reviewed by Darin Fisher.
2283
2284         No tests, just exposing the flag, and will be used by android later.
2285         Sorry, there is a merge error during the previous commit, resolved now
2286
2287         * platform/graphics/MediaPlayer.cpp:
2288         (WebCore::MediaPlayer::setControls):
2289         (WebCore):
2290         (WebCore::MediaPlayer::enterFullscreen):
2291         (WebCore::MediaPlayer::exitFullscreen):
2292         * platform/graphics/MediaPlayer.h:
2293         (MediaPlayer):
2294         * platform/graphics/MediaPlayerPrivate.h:
2295         (MediaPlayerPrivateInterface):
2296         (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
2297
2298 2012-04-30  Nate Chapin  <japhet@chromium.org>
2299
2300         Move more of committing and starting to write a Document
2301         to DocumentLoader.
2302         https://bugs.webkit.org/show_bug.cgi?id=83908
2303
2304         Reviewed by Adam Barth.
2305
2306         No new tests, refactor only.
2307
2308         * loader/DocumentLoader.cpp:
2309         (WebCore::DocumentLoader::commitIfReady): Ignore m_gotFirstByte here, since
2310             it was always true here anyway.
2311         (WebCore::DocumentLoader::finishedLoading): If we are finishing an empty
2312             document, create the document now, so that FrameLoaderClient doesn't
2313             have to do it later (FrameLoaderClient code will be removed in a later
2314             patch).
2315         (WebCore::DocumentLoader::commitData): Call receivedFirstData() directly and
2316             do some work receivedFirstData() used to do, setEncoding() only once per
2317             load.
2318         (WebCore::DocumentLoader::receivedData):
2319         (WebCore::DocumentLoader::maybeCreateArchive):
2320         * loader/DocumentLoader.h:
2321         * loader/DocumentWriter.cpp:
2322         (WebCore::DocumentWriter::setEncoding):
2323         * loader/FrameLoader.cpp:
2324         (WebCore::FrameLoader::receivedFirstData): Move DocumentLoader calls
2325             to DocumentLoader.
2326         * loader/FrameLoader.h: Remove m_hasReceivedFirstData and willSetEncoding(),
2327             allow hasReceivedData() to be called directly.
2328         (FrameLoader):
2329
2330 2012-04-30  Kentaro Hara  <haraken@chromium.org>
2331
2332         Unreviewed. Fix test crashes in Win/Linux debug builds.
2333
2334         * bindings/v8/V8LazyEventListener.cpp:
2335         (WebCore::V8LazyEventListener::V8LazyEventListener):
2336         (WebCore::V8LazyEventListener::prepareListenerObject):
2337         * bindings/v8/V8LazyEventListener.h:
2338         (V8LazyEventListener):
2339
2340 2012-04-30  Tommy Widenflycht  <tommyw@google.com>
2341
2342         MediaStream API: Change LocalMediaStream::stop to be synchronous
2343         https://bugs.webkit.org/show_bug.cgi?id=84942
2344
2345         Reviewed by Dimitri Glazkov.
2346
2347         Since I changed LocalMediaStream to be a ActiveDOMObject recently the stop()
2348         behaviour needs to change since it is no longer a good idea to start a timer when called.
2349
2350         Not possible to write a test for this.
2351
2352         * Modules/mediastream/LocalMediaStream.cpp:
2353         (WebCore::LocalMediaStream::LocalMediaStream):
2354         (WebCore::LocalMediaStream::stop):
2355         * Modules/mediastream/LocalMediaStream.h:
2356         (LocalMediaStream):
2357
2358 2012-04-28  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
2359
2360         Add ENABLE_SUBPIXEL_LAYOUT controlling FractionalLayoutUnit denominator
2361         https://bugs.webkit.org/show_bug.cgi?id=85146
2362
2363         Reviewed by Eric Seidel.
2364
2365         Add a new flag for controlling the fixed point denominator in
2366         FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1.
2367         Until we change the LayoutUnit typedef this change will have no effect.
2368
2369         No new tests, no change in functionality.
2370
2371         * platform/FractionalLayoutUnit.h:
2372         (WebCore):
2373         (WebCore::FractionalLayoutUnit::operator++):
2374         (WebCore::operator/):
2375         (WebCore::operator+):
2376         Add ++, / double and and + double operators. These are needed when
2377         ENABLE_SUBPIXEL_LAYOUT is not enabled.
2378         
2379         * platform/graphics/FractionalLayoutRect.cpp:
2380         (WebCore::enclosingFractionalLayoutRect):
2381
2382 2012-04-30  Justin Schuh  <jschuh@chromium.org>
2383
2384         loadOrRedirectSubframe should return the owner element's frame
2385         https://bugs.webkit.org/show_bug.cgi?id=84780
2386
2387         Reviewed by Nate Chapin.
2388
2389         Test: fast/loader/javascript-url-iframe-remove-on-navigate.html
2390
2391         * loader/SubframeLoader.cpp:
2392         (WebCore::SubframeLoader::loadOrRedirectSubframe):
2393
2394 2012-04-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2395
2396         Use Vector<Attribute> directly instead of encapsulating it in AttributeVector
2397         https://bugs.webkit.org/show_bug.cgi?id=84413
2398
2399         Reviewed by Andreas Kling.
2400
2401         As commented in https://bugs.webkit.org/show_bug.cgi?id=79963#c16 we do not
2402         usually subclass basic types like Vector. This patch changes code to use
2403         Vector<Attribute> directly and move around the functionality of the former
2404         methods to more specific helper functions or inline code at the callers.
2405
2406         * dom/Element.cpp:
2407         (WebCore::Element::parserSetAttributes):
2408         (WebCore::Element::normalizeAttributes):
2409         * dom/Element.h:
2410         (Element):
2411         * dom/ElementAttributeData.cpp:
2412         * dom/ElementAttributeData.h:
2413         (WebCore::findAttributeInVector):
2414         (WebCore::ElementAttributeData::getAttributeItem):
2415         (ElementAttributeData):
2416         (WebCore::ElementAttributeData::attributeVector):
2417         (WebCore::ElementAttributeData::clonedAttributeVector):
2418         (WebCore::ElementAttributeData::getAttributeItemIndex):
2419         (WebCore):
2420         * html/parser/HTMLConstructionSite.cpp:
2421         (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
2422         * html/parser/HTMLToken.h:
2423         (WebCore::AtomicHTMLToken::AtomicHTMLToken):
2424         * html/parser/HTMLTreeBuilder.cpp:
2425         (WebCore::HTMLTreeBuilder::processFakeStartTag):
2426         (WebCore::HTMLTreeBuilder::attributesForIsindexInput): Loop through the attributes
2427         backwards so we can remove items without affecting the rest of the loop run.
2428         * html/parser/HTMLTreeBuilder.h:
2429         * html/parser/TextDocumentParser.cpp:
2430         (WebCore::TextDocumentParser::insertFakePreElement):
2431         * xml/XMLErrors.cpp:
2432         (WebCore::createXHTMLParserErrorHeader):
2433         (WebCore::XMLErrors::insertErrorMessageBlock):
2434         * xml/parser/MarkupTokenBase.h:
2435         (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
2436         (WebCore::AtomicMarkupTokenBase::getAttributeItem):
2437         (WebCore::AtomicMarkupTokenBase::attributes):
2438         (AtomicMarkupTokenBase):
2439         (WebCore::::initializeAttributes):
2440         * xml/parser/XMLToken.h:
2441         (WebCore::AtomicXMLToken::AtomicXMLToken):
2442
2443 2012-04-30  Mark Pilgrim  <pilgrim@chromium.org>
2444
2445         [Chromium] Remove PlatformSupport::loadPlatformAudioResource, call loadResource directly
2446         https://bugs.webkit.org/show_bug.cgi?id=85193
2447
2448         Reviewed by Kentaro Hara.
2449
2450         Part of a refactoring series. See tracking bug 82948.
2451
2452         * platform/audio/chromium/AudioBusChromium.cpp:
2453         (WebCore::AudioBus::loadPlatformResource):
2454         * platform/chromium/PlatformSupport.h:
2455         (PlatformSupport):
2456
2457 2012-04-30  Mark Pilgrim  <pilgrim@chromium.org>
2458
2459         [Chromium] Call defaultLocale directly
2460         https://bugs.webkit.org/show_bug.cgi?id=85192
2461
2462         Reviewed by Kentaro Hara.
2463
2464         Part of a refactoring series. See tracking bug 82948.
2465
2466         * platform/chromium/LanguageChromium.cpp:
2467         (WebCore::platformLanguage):
2468         * platform/chromium/PlatformSupport.h:
2469         (PlatformSupport):
2470
2471 2012-04-30  Beth Dakin  <bdakin@apple.com>
2472
2473         https://bugs.webkit.org/show_bug.cgi?id=82922
2474         border-image with image-set does not render correctly when viewed at 
2475         2x
2476         -and corresponding-
2477         <rdar://problem/11167820>
2478
2479         Reviewed by Dan Bernstein.
2480
2481         StyleImage::computeIntrinsicDimensions() is only called from one 
2482         place: RenderBoxModelObject::calculateIntrinsicDimensions(), and that 
2483         is only used for background images and border images. In my original 
2484         image-set work, I decided that 
2485         StyleCachedImageSet::computeIntrinsicDimensions() would compute 
2486         "intrinsic" dimensions, meaning that they would compute the dimensions 
2487         that the image resource was pretending to be rather than the actual 
2488         dimensions of the resource. I chose to do this because it made 
2489         background images work great without changing the call-site. But border 
2490         images need to know the actual intrinsic dimensions, so this design 
2491         decision (which was admittedly questionable from the start) won't 
2492         stick.
2493         
2494         This patch makes StyleImage::computeIntrinsicDimensions() return 
2495         actual intrinsic dimensions. Then the border-image and background-
2496         image code is very lightly patched to account for the image's scale 
2497         factor.
2498
2499         These functions no longer need the scale factor parameter.
2500         * loader/cache/CachedImage.cpp:
2501         (WebCore::CachedImage::computeIntrinsicDimensions):
2502         * loader/cache/CachedImage.h:
2503         (CachedImage):
2504         * platform/graphics/GeneratedImage.h:
2505         (GeneratedImage):
2506         * platform/graphics/GeneratorGeneratedImage.cpp:
2507         (WebCore::GeneratedImage::computeIntrinsicDimensions):
2508         * platform/graphics/Image.cpp:
2509         (WebCore::Image::computeIntrinsicDimensions):
2510         * platform/graphics/Image.h:
2511         (Image):
2512         * platform/graphics/cg/PDFDocumentImage.cpp:
2513         (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
2514         * platform/graphics/cg/PDFDocumentImage.h:
2515         (PDFDocumentImage):
2516         * svg/graphics/SVGImage.cpp:
2517         (WebCore::SVGImage::computeIntrinsicDimensions):
2518         * svg/graphics/SVGImage.h:
2519         (SVGImage):
2520         * rendering/style/StyleCachedImageSet.cpp:
2521         (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
2522         
2523         New function on StyleImage returns the image's scale factor. 
2524         * rendering/style/StyleCachedImageSet.h:
2525         (WebCore::StyleCachedImageSet::imageScaleFactor):
2526         * rendering/style/StyleImage.h:
2527         (WebCore::StyleImage::imageScaleFactor):
2528
2529         Scale the intrinsic size of the background image down by the scale 
2530         factor.
2531         * rendering/RenderBoxModelObject.cpp:
2532         (WebCore::RenderBoxModelObject::calculateFillTileSize):
2533         
2534         Slices should be multiplied by the image's scale factor since they are 
2535         always expected to the specified in the 1x image's coordinate space.
2536         (WebCore::RenderBoxModelObject::paintNinePieceImage):
2537
2538 2012-04-30  Arko Saha  <arko@motorola.com>
2539
2540         Remove custom bindings code in JSHTMLCollectionCustom.cpp for HTMLPropertiesCollection.
2541         https://bugs.webkit.org/show_bug.cgi?id=85172
2542
2543         Reviewed by Kentaro Hara.
2544
2545         Use [JSGenerateToJSObject] in HTMLPropertiesCollection.idl, so that it can generate toJS()
2546         in JSHTMLPropertiesCollection.cpp automatically.
2547
2548         * bindings/js/JSHTMLCollectionCustom.cpp:
2549         (WebCore::toJS):
2550         * html/HTMLPropertiesCollection.idl:
2551
2552 2012-04-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
2553
2554         [Texmap] TextureMapperLayer uses intermediate surfaces too eagerly
2555         https://bugs.webkit.org/show_bug.cgi?id=85103
2556
2557         Reviewed by Kenneth Rohde Christiansen.
2558
2559         Instead of automatically using an intermediate surface for layers with opacity and
2560         children, we limit surface usage for layers with more than one child and for layers with
2561         one child and contents of its own.
2562
2563         This prevents us from using intermediate surfaces in cases where a single layer with
2564         opacity has a single descendant with content, in which case normal blending can be used.
2565
2566         Covered by existing compositing layout tests.
2567
2568         * platform/graphics/texmap/TextureMapperLayer.cpp:
2569         (WebCore):
2570         * platform/graphics/texmap/TextureMapperLayer.h:
2571
2572 2012-04-30  Yi Shen  <yi.4.shen@nokia.com>
2573
2574         Inserting a paragraph between quoted lines in editing/deleting/delete-4038408-fix.html doesn't work
2575         https://bugs.webkit.org/show_bug.cgi?id=78193
2576
2577         Reviewed by Ryosuke Niwa.
2578
2579         When pasting a copied portion of a blockquote with a newline at the end into an unquoted area,
2580         the newline is inserted after the blockquote since we don't want it also to be quoted. However,
2581         this behavior has also applied when we insert a paragraph between quoted lines, which is incorrect.
2582         To figure out the right place to insert a paragraph, we need providing more information to the
2583         InsertParagraphSeparatorCommand by introducing a boolean parameter "pasteBlockqutoeIntoUnquotedArea".
2584
2585         Tests: editing/inserting/insert-paragraph-separator-in-blockquote.html
2586                editing/pasteboard/paste-wrapped-blockquote-into-nonblockquote.html
2587
2588         * editing/CompositeEditCommand.cpp:
2589         (WebCore::CompositeEditCommand::insertParagraphSeparator):
2590         * editing/CompositeEditCommand.h:
2591         (CompositeEditCommand):
2592         * editing/InsertParagraphSeparatorCommand.cpp:
2593         (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
2594         (WebCore::InsertParagraphSeparatorCommand::doApply):
2595         * editing/InsertParagraphSeparatorCommand.h:
2596         (WebCore::InsertParagraphSeparatorCommand::create):
2597         (InsertParagraphSeparatorCommand):
2598         * editing/ReplaceSelectionCommand.cpp:
2599         (WebCore::ReplaceSelectionCommand::doApply):
2600
2601 2012-04-30  Antti Koivisto  <antti@apple.com>
2602
2603         Protect current element in HTMLLinkElement::setCSSStyleSheet
2604         https://bugs.webkit.org/show_bug.cgi?id=85166
2605
2606         Reviewed by Andreas Kling.
2607         
2608         Stylesheet loading can trigger script execution.
2609         
2610         Test: fast/css/cached-sheet-restore-crash.html
2611
2612         * html/HTMLLinkElement.cpp:
2613         (WebCore::HTMLLinkElement::setCSSStyleSheet):
2614
2615 2012-04-29  Keishi Hattori  <keishi@webkit.org>
2616
2617         Build fix for LocalizedDateMac.mm
2618         https://bugs.webkit.org/show_bug.cgi?id=85164
2619
2620         Reviewed by Kent Tamura.
2621
2622         * platform/text/mac/LocalizedDateMac.mm:
2623         (WebCore::monthLabels):
2624
2625 2012-04-29  Luke Macpherson  <macpherson@chromium.org>
2626
2627         Initialize member variables in CSSParser's constructor.
2628         https://bugs.webkit.org/show_bug.cgi?id=84377
2629
2630         Reviewed by Kentaro Hara.
2631
2632         It is good practice not to leave member variables uninitialized. They make debugging more difficult by reducing
2633         repeatability, and in some cases lead to the possibility of information leakage occuring. This patch simply adds
2634         initialization of m_numParsedPropertiesBeforeMarginBox to CSSParser's constructor to INVALID_NUM_PARSED_PROPERTIES
2635         so that the initial state is the same as the state after the properties are cleared.
2636
2637         No tests added because this is a code style fix, not an actual bug so long as the bison generated code calls
2638         startDeclarationsForMarginBox() and endDeclarationsForMarginBox() symmetrically. The lack of initialization was
2639         originally detected by coverity.
2640
2641         * css/CSSParser.cpp:
2642         (WebCore::CSSParser::CSSParser):
2643
2644 2012-04-29  Kent Tamura  <tkent@chromium.org>
2645
2646         [Mac] Add LocalizedDateMac
2647         https://bugs.webkit.org/show_bug.cgi?id=85039
2648
2649         Reviewed by Kentaro Hara.
2650
2651         A date shown <input type=date> should be formatted for user's OS
2652         settings. Chromium-Mac used LocalizedDateICU.cpp to format/parse visible
2653         date strings and it didn't reflect user-settings.
2654
2655         Test: covered by fast/forms/date/date-appearance.html
2656
2657         * WebCore.gyp/WebCore.gyp:
2658         Use LocalizedDateMac.mm for OS X instead of LocalizedDateICU.cpp.
2659         * WebCore.gypi: Add LocalizedDateMac.mm
2660         * platform/text/mac/LocalizedDateMac.mm: Added.
2661         (WebCore::createShortDateFormatter):
2662         Creates a NSDateFormatter with desired settings.
2663         (WebCore::parseLocalizedDate): Impelment for tyep=date.
2664         (WebCore::formatLocalizedDate): ditto.
2665         (WebCore::isYearSymbol): A readability helper for format string parsing.
2666         (WebCore::isMonthSymbol): ditto.
2667         (WebCore::isDaySymbol): ditto.
2668         (WebCore::localizeDateFormat):
2669         Parse a format string, and replace symbols with user-friendly labels.
2670         (WebCore::localizedDateFormatText):
2671         Gets a format string, and apply localizeDateFormat().
2672         (WebCore::monthLabels): Obtain month names from the system.
2673         (WebCore::weekDayShortLabels): Obtain week day symbols from the system.
2674         (WebCore::firstDayOfWeek): Obtain first day of week from the system.
2675         * platform/text/ICULocale.cpp:
2676         (WebCore::createFallbackMonthLabels): Uses WTF::monthFullName.
2677
2678 2012-04-29  Sam Weinig  <sam@webkit.org>
2679
2680         Add support for the Blob constructor (Part 2)
2681         https://bugs.webkit.org/show_bug.cgi?id=84555
2682
2683         Address additional feedback on Blob construction.
2684         - Add exception when the dictionary is not an object.
2685         - Ensure the proper ordering of dictionary access. Tested via
2686           throwing exceptions in toString, and ensuring correct one is
2687           fired first.
2688         - Changed type of exception throw for invalid enumeration to a
2689           TypeError.
2690
2691         Reviewed by Kentaro Hara.
2692
2693         Updated fast/files/blob-constructor.html to be more comprehensive.
2694
2695         * bindings/js/JSBlobCustom.cpp:
2696         (WebCore::JSBlobConstructor::constructJSBlob):
2697         * bindings/v8/custom/V8BlobCustom.cpp:
2698         (WebCore::V8Blob::constructorCallback):
2699
2700 2012-04-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
2701
2702         [Texmap] Leaves demo: wrong geometry when opacity animation kicks in
2703         https://bugs.webkit.org/show_bug.cgi?id=85096
2704
2705         Reviewed by Kenneth Rohde Christiansen.
2706
2707         We should use combined() instead of combinedForChildren() since we don't allow
2708         intermediate surfaces for preserves-3d. Also, we should apply the offset before
2709         multiplying the transforms, otherwise the transform-origin is incorrect.
2710
2711         Covered by existing compositing tests.
2712
2713         * platform/graphics/texmap/TextureMapperLayer.cpp:
2714         (WebCore::TextureMapperLayer::paintSelf):
2715         (WebCore::TextureMapperLayer::paintRecursive):
2716
2717 2012-04-29  Mark Pilgrim  <pilgrim@chromium.org>
2718
2719         [Chromium] Call highUsageDeltaMB directly
2720         https://bugs.webkit.org/show_bug.cgi?id=84844
2721
2722         Reviewed by Kentaro Hara.
2723
2724         Part of a refactoring series. See tracking bug 82948.
2725
2726         * bindings/v8/V8GCController.cpp:
2727         (WebCore::V8GCController::checkMemoryUsage):
2728         * platform/MemoryUsageSupport.cpp:
2729         (WebCore):
2730         (WebCore::MemoryUsageSupport::highUsageDeltaMB):
2731         * platform/MemoryUsageSupport.h:
2732         (MemoryUsageSupport):
2733         * platform/chromium/MemoryUsageSupportChromium.cpp:
2734         (WebCore::MemoryUsageSupport::highUsageDeltaMB):
2735         (WebCore):
2736         * platform/chromium/PlatformSupport.h:
2737         (PlatformSupport):
2738
2739 2012-04-29  Kentaro Hara  <haraken@chromium.org>
2740
2741         REGRESSION(r113086): onresize event handler can be deleted in popup window
2742         https://bugs.webkit.org/show_bug.cgi?id=84908
2743
2744         Reviewed by Ojan Vafai.
2745
2746         In a nutshell, an onresize event handler in the popup window
2747         can be non-deterministically deleted. For more details, please
2748         look at Chromium issue 123642:
2749         http://code.google.com/p/chromium/issues/detail?id=123642
2750
2751         I confirmed that this bug is the regression caused by r113086.
2752
2753         r113086 introduced the following code:
2754
2755         void V8LazyEventListener::prepareListenerObject(...) {
2756             if (hasExistingListenerObject())
2757                 return;
2758             ...;
2759             // Since we only parse once, there's no need to keep data
2760             // used for parsing around anymore.
2761             m_functionName = String();
2762             m_code = String();
2763             m_eventParameterName = String();
2764             m_sourceURL = String();
2765
2766             setListenerObject(wrappedFunction);
2767         }
2768
2769         This is not correct. The parsing can be done more than once,
2770         and thus we cannot clear data. This patch removes the above code.
2771
2772         Consider the following situation:
2773
2774         (1) Assume '<body onresize="f()"></body>'.
2775         (2) prepareListenerObject() runs.
2776         (3) Since this is the first parsing, hasExistingListenerObject()
2777         returns false. After the parsing, the listener object is set
2778         by setListenerObject().
2779         (4) GC runs. Since there is no strong reference to the listener
2780         object, weakEventListenerCallback() is called back, and the listener
2781         object is disposed.
2782         (5) A resize event is triggered.
2783         (6) prepareListenerObject() is called again. Since the listener object
2784         is already disposed, hasExistingListenerObject() returns false,
2785         and the second parsing starts.
2786
2787         In my investigation, the above situation is happening in the reported
2788         Chromium bug. Anyway, I am sure that potentially the parsing can be
2789         done more than once, and thus we must keep m_xxxx data.
2790
2791         However, this is just a temporary fix. We should fix the code so that
2792         an alive event listener object is never reclaimed.
2793         See https://bugs.webkit.org/show_bug.cgi?id=85152 for more details.
2794
2795         No tests: I tried hard to create a DRT test, but could not.
2796         The bug depends on the behavior of GC, and thus the reported bug is
2797         non-deterministic. For example, (as explained in the Chromium issue,)
2798         the bug does not happen if we load an HTML from network because
2799         the network latency hides the bug. Also the bug happens in the
2800         popup window only. If we open the reported HTML in the main window,
2801         we cannot reproduce the bug.
2802
2803         * bindings/v8/V8LazyEventListener.cpp:
2804         (WebCore::V8LazyEventListener::prepareListenerObject):
2805
2806 2012-04-28  Sam Weinig  <sam@webkit.org>
2807
2808         Smooth scrolling needs a new key
2809         <rdar://problem/11331632>
2810
2811         Reviewed by Geoffrey Garen.
2812
2813         * platform/mac/ScrollAnimatorMac.mm:
2814         (WebCore::scrollAnimationEnabledForSystem):
2815         (WebCore::ScrollAnimatorMac::scroll):
2816         Update for new key.
2817
2818 2012-04-28  Li Yin  <li.yin@intel.com>
2819
2820         MessagePort must set m_closed to be true at the end of MessagePort::close function
2821         https://bugs.webkit.org/show_bug.cgi?id=85139
2822
2823         In the function MessagePort::close, the "m_closed = true" must be executed at the end, not at the beginning.
2824         Or, the m_entangledChannel->close() will not be executed.
2825         And it resulted in the failure of MS bench mark messagechannel_close.htm.
2826         http://samples.msdn.microsoft.com/ietestcenter/WebWorkers/messagechannel_close.htm
2827
2828         Reviewed by Kentaro Hara.
2829
2830         Test: fast/events/message-port-close.html
2831
2832         * dom/MessagePort.cpp:
2833         (WebCore::MessagePort::close):
2834
2835 2012-04-28  Sam Weinig  <sam@webkit.org>
2836
2837         And again.
2838
2839         * bindings/v8/custom/V8BlobCustom.cpp:
2840         (WebCore::V8Blob::constructorCallback):
2841
2842 2012-04-28  Sam Weinig  <sam@webkit.org>
2843
2844         Once again, try to make these puppies work.
2845
2846         * bindings/v8/custom/V8BlobCustom.cpp:
2847
2848 2012-04-28  Sam Weinig  <sam@webkit.org>
2849
2850         Fix the Chromium build.
2851
2852         * bindings/v8/custom/V8BlobCustom.cpp:
2853         (WebCore::V8Blob::constructorCallback):
2854
2855 2012-04-27  Sam Weinig  <sam@webkit.org>
2856
2857         Add support for the Blob constructor
2858         https://bugs.webkit.org/show_bug.cgi?id=84555
2859
2860         Reviewed by Maciej Stachowiak.
2861
2862         Test: fast/files/blob-constructor.html
2863
2864         This adds an implementation of the Blob constructor that willfully
2865         violates the W3C Editor’s Draft 29 February 2012 in the following ways:
2866         - Elements in the parts array are coerced to DOMStrings https://www.w3.org/Bugs/Public/show_bug.cgi?id=16721 
2867         - Don't throw for invalid key in the dictionary https://www.w3.org/Bugs/Public/show_bug.cgi?id=16727
2868         - Values for the endings property are treated as enums https://www.w3.org/Bugs/Public/show_bug.cgi?id=16729 
2869
2870         * bindings/js/JSBlobCustom.cpp:
2871         (WebCore::JSBlobConstructor::constructJSBlob):
2872         Implement blob constructor.
2873
2874         * bindings/v8/custom/V8BlobCustom.cpp:
2875         (WebCore::V8Blob::constructorCallback):
2876         Implement blob constructor.
2877
2878         * fileapi/Blob.idl:
2879         Add constructor to IDL.
2880
2881         * workers/WorkerContext.idl:
2882         Add Blob constructor to the worker global object.
2883
2884 2012-04-28  Igor Oliveira  <igor.o@sisa.samsung.com>
2885
2886         Move PropertyWrapper out of the  AnimationBase
2887         https://bugs.webkit.org/show_bug.cgi?id=84978
2888
2889         Reviewed by Dean Jackson.
2890
2891         AnimationBase is a complex class. It has a state machine and a bunch of
2892         property handlers. This patch moves the property handlers to a separate
2893         class making AnimationBase simpler.
2894
2895         * CMakeLists.txt:
2896         * GNUmakefile.list.am:
2897         * Target.pri:
2898         * WebCore.gypi:
2899         * WebCore.vcproj/WebCore.vcproj:
2900         * WebCore.xcodeproj/project.pbxproj:
2901         * page/animation/AnimationBase.cpp:
2902         * page/animation/AnimationBase.h:
2903         (AnimationBase):
2904         * page/animation/AnimationController.cpp:
2905         (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
2906         * page/animation/CSSPropertyAnimation.cpp: Added.
2907         (WebCore):
2908         (WebCore::blendFunc):
2909         (WebCore::crossfadeBlend):
2910         (AnimationPropertyWrapperBase):
2911         (WebCore::AnimationPropertyWrapperBase::AnimationPropertyWrapperBase):
2912         (WebCore::AnimationPropertyWrapperBase::~AnimationPropertyWrapperBase):
2913         (WebCore::AnimationPropertyWrapperBase::isShorthandWrapper):
2914         (WebCore::AnimationPropertyWrapperBase::property):
2915         (WebCore::AnimationPropertyWrapperBase::animationIsAccelerated):
2916         (WebCore::addPropertyWrapper):
2917         (WebCore::wrapperForProperty):
2918         (PropertyWrapperGetter):
2919         (WebCore::PropertyWrapperGetter::PropertyWrapperGetter):
2920         (WebCore::PropertyWrapperGetter::equals):
2921         (PropertyWrapper):
2922         (WebCore::PropertyWrapper::PropertyWrapper):
2923         (WebCore::PropertyWrapper::blend):
2924         (RefCountedPropertyWrapper):
2925         (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper):
2926         (WebCore::RefCountedPropertyWrapper::blend):
2927         (StyleImagePropertyWrapper):
2928         (WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper):
2929         (WebCore::StyleImagePropertyWrapper::equals):
2930         (PropertyWrapperColor):
2931         (WebCore::PropertyWrapperColor::PropertyWrapperColor):
2932         (WebCore::PropertyWrapperColor::blend):
2933         (PropertyWrapperAcceleratedOpacity):
2934         (WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity):
2935         (WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated):
2936         (WebCore::PropertyWrapperAcceleratedOpacity::blend):
2937         (PropertyWrapperAcceleratedTransform):
2938         (WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform):
2939         (WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated):
2940         (WebCore::PropertyWrapperAcceleratedTransform::blend):
2941         (PropertyWrapperAcceleratedFilter):
2942         (WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter):
2943         (WebCore::PropertyWrapperAcceleratedFilter::animationIsAccelerated):
2944         (WebCore::PropertyWrapperAcceleratedFilter::blend):
2945         (WebCore::shadowListLength):
2946         (WebCore::shadowForBlending):
2947         (PropertyWrapperShadow):
2948         (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
2949         (WebCore::PropertyWrapperShadow::equals):
2950         (WebCore::PropertyWrapperShadow::blend):
2951         (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
2952         (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
2953         (PropertyWrapperMaybeInvalidColor):
2954         (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
2955         (WebCore::PropertyWrapperMaybeInvalidColor::equals):
2956         (WebCore::PropertyWrapperMaybeInvalidColor::blend):
2957         (PropertyWrapperVisitedAffectedColor):
2958         (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
2959         (WebCore::PropertyWrapperVisitedAffectedColor::equals):
2960         (WebCore::PropertyWrapperVisitedAffectedColor::blend):
2961         (FillLayerAnimationPropertyWrapperBase):
2962         (WebCore::FillLayerAnimationPropertyWrapperBase::FillLayerAnimationPropertyWrapperBase):
2963         (WebCore::FillLayerAnimationPropertyWrapperBase::~FillLayerAnimationPropertyWrapperBase):
2964         (FillLayerPropertyWrapperGetter):
2965         (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
2966         (WebCore::FillLayerPropertyWrapperGetter::equals):
2967         (FillLayerPropertyWrapper):
2968         (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
2969         (WebCore::FillLayerPropertyWrapper::blend):
2970         (FillLayerRefCountedPropertyWrapper):
2971         (WebCore::FillLayerRefCountedPropertyWrapper::FillLayerRefCountedPropertyWrapper):
2972         (WebCore::FillLayerRefCountedPropertyWrapper::blend):
2973         (FillLayerStyleImagePropertyWrapper):
2974         (WebCore::FillLayerStyleImagePropertyWrapper::FillLayerStyleImagePropertyWrapper):
2975         (WebCore::FillLayerStyleImagePropertyWrapper::equals):
2976         (FillLayersPropertyWrapper):
2977         (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
2978         (WebCore::FillLayersPropertyWrapper::equals):
2979         (WebCore::FillLayersPropertyWrapper::blend):
2980         (ShorthandPropertyWrapper):
2981         (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper):
2982         (WebCore::ShorthandPropertyWrapper::isShorthandWrapper):
2983         (WebCore::ShorthandPropertyWrapper::equals):
2984         (WebCore::ShorthandPropertyWrapper::blend):
2985         (WebCore::ShorthandPropertyWrapper::propertyWrappers):
2986         (PropertyWrapperFlex):
2987         (WebCore::PropertyWrapperFlex::PropertyWrapperFlex):
2988         (WebCore::PropertyWrapperFlex::equals):
2989         (WebCore::PropertyWrapperFlex::blend):
2990         (PropertyWrapperSVGPaint):
2991         (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
2992         (WebCore::PropertyWrapperSVGPaint::equals):
2993         (WebCore::PropertyWrapperSVGPaint::blend):
2994         (WebCore::addShorthandProperties):
2995         (WebCore::CSSPropertyAnimation::ensurePropertyMap):
2996         (WebCore::gatherEnclosingShorthandProperties):
2997         (WebCore::CSSPropertyAnimation::blendProperties):
2998         (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
2999         (WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty):
3000         (WebCore::CSSPropertyAnimation::propertiesEqual):
3001         (WebCore::CSSPropertyAnimation::getPropertyAtIndex):
3002         (WebCore::CSSPropertyAnimation::getNumProperties):
3003         * page/animation/CSSPropertyAnimation.h: Added.
3004         (WebCore):
3005         (CSSPropertyAnimation):
3006         * page/animation/CompositeAnimation.cpp:
3007         (WebCore::CompositeAnimation::updateTransitions):
3008         (WebCore::CompositeAnimation::pauseTransitionAtTime):
3009         * page/animation/ImplicitAnimation.cpp:
3010         (WebCore::ImplicitAnimation::animate):
3011         (WebCore::ImplicitAnimation::getAnimatedStyle):
3012         (WebCore::ImplicitAnimation::isTargetPropertyEqual):
3013         (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
3014         (WebCore::ImplicitAnimation::timeToNextService):
3015         * page/animation/KeyframeAnimation.cpp:
3016         (WebCore::KeyframeAnimation::animate):
3017         (WebCore::KeyframeAnimation::getAnimatedStyle):
3018         (WebCore::KeyframeAnimation::timeToNextService):
3019         * rendering/style/RenderStyle.h:
3020
3021 2012-04-28  Geoffrey Garen  <ggaren@apple.com>
3022
3023         Clarified JSGlobalData (JavaScript VM) lifetime
3024         https://bugs.webkit.org/show_bug.cgi?id=85142
3025
3026         Reviewed by Anders Carlsson.
3027
3028         * bindings/js/WorkerScriptController.cpp:
3029         (WebCore::WorkerScriptController::~WorkerScriptController): Slightly 
3030         simpler than before. We can't just rely on our default destructor 
3031         because we need to hold the JSLock when we tear down the VM.
3032
3033         * bridge/NP_jsobject.cpp:
3034         (_NPN_InvokeDefault):
3035         (_NPN_Invoke):
3036         (_NPN_Evaluate):
3037         (_NPN_Construct): Don't RefPtr<> the JSGlobalData because it makes it 
3038         seem like you know something the rest of our code doesn't know. The 
3039         plugin JSGlobalData is immortal, anyway.
3040
3041         I also removed some timeout checker related code because that feature 
3042         doesn't work anymore, so it was effectively dead code.
3043
3044 2012-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
3045
3046         Web Inspector: InspectorFrontendHost.append has to be implemented for saving heap snapshots.
3047         https://bugs.webkit.org/show_bug.cgi?id=85137
3048
3049         We can save a file with help of InspectorFrontendHost.save method,
3050         but it is suitable only for relatively small portions of data and
3051         can't process the 6Gb heap snapshot.
3052         These methods just pass the url and content into embedder.
3053
3054         Reviewed by Yury Semikhatsky.
3055
3056         * inspector/InspectorFrontendClient.h:
3057         (InspectorFrontendClient):
3058         * inspector/InspectorFrontendClientLocal.h:
3059         (WebCore::InspectorFrontendClientLocal::append):
3060         * inspector/InspectorFrontendHost.cpp:
3061         (WebCore::InspectorFrontendHost::append):
3062         (WebCore):
3063         * inspector/InspectorFrontendHost.h:
3064         (InspectorFrontendHost):
3065         * inspector/InspectorFrontendHost.idl:
3066
3067 2012-04-28  No'am Rosenthal  <noam.rosenthal@nokia.com>
3068
3069         [Qt][Texmap] Error of cross-compiling webkit with Qt 4.8.1
3070         https://bugs.webkit.org/show_bug.cgi?id=84321
3071
3072         Speculative build-fix for Qt 4.8.
3073         Use QGLContext for Qt 4.x instead of the platform-specific context.
3074
3075         Reviewed by Simon Hausmann.
3076
3077         No new tests, build fix.
3078
3079         * platform/graphics/texmap/TextureMapperGL.cpp:
3080         (SharedGLData):
3081         (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
3082
3083 2012-04-28  No'am Rosenthal  <noam.rosenthal@nokia.com>
3084
3085         [Texmap] Falling leaves demo missing opacity fade out animation
3086         https://bugs.webkit.org/show_bug.cgi?id=83691
3087
3088         Reviewed by Martin Robinson.
3089
3090         The bug originated from clearing an intermediate surface with glClear while the scissor
3091         state was wrong.
3092         When using intermediate surfaces, maintain a clip-stack for each surface, rather than
3093         a single clip-stack for the whole scene. When a surface is bound, its clip stack should
3094         be applied.
3095
3096         Covered by existing compositing tests.
3097
3098         * platform/graphics/texmap/TextureMapperGL.cpp:
3099         (SharedGLData):
3100         (WebCore::TextureMapperGL::ClipStack::push):
3101         (WebCore):
3102         (WebCore::TextureMapperGL::ClipStack::pop):
3103         (WebCore::scissorClip):
3104         (WebCore::TextureMapperGL::ClipStack::apply):
3105         (WebCore::TextureMapperGL::clipStack):
3106         (WebCore::TextureMapperGL::beginPainting):
3107         (WebCore::TextureMapperGL::drawTexture):
3108         (WebCore::BitmapTextureGL::didReset):
3109         (WebCore::BitmapTextureGL::clearIfNeeded):
3110         (WebCore::BitmapTextureGL::createFboIfNeeded):
3111         (WebCore::BitmapTextureGL::bind):
3112         (WebCore::TextureMapperGL::bindDefaultSurface):
3113         (WebCore::TextureMapperGL::bindSurface):
3114         (WebCore::TextureMapperGL::beginScissorClip):
3115         (WebCore::TextureMapperGL::beginClip):
3116         (WebCore::TextureMapperGL::endClip):
3117         * platform/graphics/texmap/TextureMapperGL.h:
3118         (TextureMapperGL):
3119         (ClipState):
3120         (WebCore::TextureMapperGL::ClipState::ClipState):
3121         (ClipStack):
3122         (WebCore::TextureMapperGL::ClipStack::current):
3123         (WebCore::TextureMapperGL::ClipStack::clear):
3124         (BitmapTextureGL):
3125         (WebCore::BitmapTextureGL::BitmapTextureGL):
3126
3127 2012-04-26  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
3128
3129         Move Length and CSS length computation to float
3130         https://bugs.webkit.org/show_bug.cgi?id=84801
3131
3132         Reviewed by Eric Seidel.
3133
3134         Change Length and CSS length computation to floating point. This gets us
3135         closer to the goal of supporting subpixel layout and improves precision
3136         for SVG which already uses floating point for its layout.
3137
3138         This change makes computedStyle return fractional values for pixel values
3139         if a fraction is specified. It also changes the result of computations
3140         where two or more values with fractional precision. Prior to this change
3141         the result of Length(2.9) + Length(2.9) would be 4 as each value would be
3142         floored. With this change the result is 5 as the addition is done with
3143         floating point precision and then the result will be floored. Once we
3144         enable subpixel layout the resulting value in this example would be 5.8.
3145
3146         Updated existing layout tests.
3147
3148         * css/CSSComputedStyleDeclaration.cpp:
3149         (WebCore::zoomAdjustedPixelValue):
3150         * css/CSSPrimitiveValue.cpp:
3151         (WebCore::CSSPrimitiveValue::computeLength):
3152         * css/CSSPrimitiveValue.h:
3153         (WebCore):
3154         (WebCore::roundForImpreciseConversion):
3155         Add specialized float version of roundForImpreciseConversion that matches
3156         the int versions rounding logic.
3157         
3158         If a value is sufficiently close to the next integer round it up to
3159         ensure that a style rule such as "width: 4.999px" evaluates to 5px
3160         instead of 4px. This is needed as, although Lengths are using floating
3161         point, the layout system still uses integer precision and floors the
3162         Length values.
3163         This will change once we move to FractionalLayoutUnits but for now this
3164         is needed to ensure compatibility with the existing system and tests.
3165         
3166         Without this specialized rounding logic we fail a handful of tests
3167         including acid3.
3168         
3169         * platform/Length.h:
3170         (WebCore::Length::value):
3171         (Length):
3172         (WebCore::Length::intValue):
3173         * rendering/RenderTableCell.cpp:
3174         (WebCore::RenderTableCell::styleOrColLogicalWidth):
3175
3176 2012-04-28  Alexander Pavlov  <apavlov@chromium.org>
3177
3178         Web Inspector: Enable touch events feature fails touch feature detection
3179         https://bugs.webkit.org/show_bug.cgi?id=84397
3180
3181         Whenever the touch emulation is enabled, Inspector adds a script to evaluate on load,
3182         that adds ontouch(start|end|move|cancel) properties to window.__proto__ and document.__proto__.
3183
3184         Reviewed by Pavel Feldman.
3185
3186         * inspector/front-end/DOMAgent.js:
3187         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.get if):
3188         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.scriptAddedCallback):
3189         (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
3190         * inspector/front-end/inspector.js:
3191
3192 2012-04-28  Eugene Klyuchnikov  <eustas.bug@gmail.com>
3193
3194         Web Inspector: Shortcuts screen UI polish
3195         https://bugs.webkit.org/show_bug.cgi?id=84708
3196
3197           1) remove inconsistent shadow;
3198           2) reduce border radius;
3199           3) vertically center the “X” button;
3200           4) replace unreadable symbolic shortcuts with text;
3201           5) gaps / colors / opacity adjustments;
3202           6) section-to-column distribution algorithm is replaced with a fair one.
3203
3204         Reviewed by Pavel Feldman.
3205
3206         This is a UI polising patch, so no new tests added.
3207
3208         * English.lproj/localizedStrings.js: added keyboars arrow keys items
3209         * inspector/front-end/KeyboardShortcut.js: replace unreadable symbolic shortcuts with text
3210         * inspector/front-end/ShortcutsScreen.js:
3211         (WebInspector.ShortcutsScreen):
3212         (WebInspector.ShortcutsScreen.prototype.show): remove redundant parameter
3213         (WebInspector.ShortcutsScreen.prototype._buildTable): change section distributing algorithm
3214         (WebInspector.ShortcutsSection.prototype.renderSection): render colon with margins
3215         (WebInspector.ShortcutsSection.prototype._renderHeader): apply classname to th elements
3216         * inspector/front-end/helpScreen.css:
3217         (.help-window-main): reduce radius, remove shadow; tune color and opacity
3218         (.help-window-caption): fix spacing; add ruler
3219         (.help-window-title): fix spacing; remove ruler
3220         (.help-content): fix spacing
3221         (.help-close-button): fix spacing; adjust background color
3222         (.help-column-table): fix spacing
3223         (.help-table > tr > th): fix color
3224         (.help-key): fix color
3225         (.help-combine-keys, .help-key-delimiter): extract common style
3226         (.help-combine-keys): remove dupe
3227         (.help-section-title): add space between sections
3228
3229 2012-04-28  Noel Gordon  <noel.gordon@gmail.com>
3230
3231         Remove PlatformTouchPointQt.cpp PlatformTouchEventQt.cpp from the gyp projects
3232         https://bugs.webkit.org/show_bug.cgi?id=85132
3233
3234         Unreviewed VS2010 gyp project generation fix.
3235
3236         PlatformTouchPointQt.cpp and PlatformTouchEventQt.cpp were removed in r115312,
3237         so remove them from the gyp projects.
3238
3239         * WebCore.gypi:
3240
3241 2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
3242
3243         <animateTransform type="scale"> should use '0' as effective from value not '1', if no base value is specified and from is not given
3244         https://bugs.webkit.org/show_bug.cgi?id=85133
3245
3246         It should start from scale=0. I had that fixed before, but it got lost during merging. Restore the fix.
3247         See bug 85051, for more context why this is correct.
3248
3249         Tests: svg/animations/animateTransform-by-scale-1-expected.svg
3250                svg/animations/animateTransform-by-scale-1.svg
3251
3252         * svg/SVGAnimatedTransformList.cpp:
3253         (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
3254
3255 2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
3256
3257         SVGAnimateColorElement doesn't support by/to animations properly
3258         https://bugs.webkit.org/show_bug.cgi?id=36704
3259
3260         Reviewed by Antti Koivisto.
3261
3262         Switch AnimatedColorAnimator to use the standard animateAdditiveNumber() method, taking progress & repeatCount into account.
3263         This gives us accumulation/repeatCount support for free.
3264
3265         We just animate the four color components on their own now and clamp once at the end after addition/accumulation finished.
3266         Import <animateColor> tests from Dr. Olaf Hoffmanns SVG Animation test suite, which all pass now.
3267
3268         While I was at it, remove the includeSMILProperties boolean from computeCSSPropertyValue - we always use the computed style
3269         without SMIL effects included, whenever we want to retrieve the "base value", or handle "inherit/currentColor".
3270
3271         Tests: svg/animations/animateColor-additive-2a-expected.svg
3272                svg/animations/animateColor-additive-2a.svg
3273                svg/animations/animateColor-additive-2b-expected.svg
3274                svg/animations/animateColor-additive-2b.svg
3275                svg/animations/animateColor-additive-2c-expected.svg
3276                svg/animations/animateColor-additive-2c.svg
3277                svg/animations/animateColor-additive-2d-expected.svg
3278                svg/animations/animateColor-additive-2d.svg
3279
3280         * svg/ColorDistance.cpp:
3281         (WebCore::ColorDistance::clampColor):
3282         (WebCore::ColorDistance::addColors):
3283         (WebCore::ColorDistance::addToColor):
3284         * svg/ColorDistance.h:
3285         (ColorDistance):
3286         * svg/SVGAnimateElement.cpp:
3287         (WebCore::SVGAnimateElement::resetToBaseValue):
3288         * svg/SVGAnimatedColor.cpp:
3289         (WebCore::SVGAnimatedColorAnimator::addAnimatedTypes):
3290         (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
3291         * svg/SVGAnimationElement.cpp:
3292         (WebCore::SVGAnimationElement::computeCSSPropertyValue):
3293         (WebCore::SVGAnimationElement::adjustForInheritance):
3294         * svg/SVGAnimationElement.h:
3295         (SVGAnimationElement):
3296
3297 2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
3298
3299         Not reviewed. Fix Qt build -- I was too quick.
3300
3301         * rendering/svg/SVGPathData.cpp: Add back Path.h include.
3302
3303 2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
3304
3305         Rename SVGPathParserFactory to SVGPathUtilities and remove the obsolete singleton
3306         https://bugs.webkit.org/show_bug.cgi?id=85129
3307
3308         SVGPathParserFactory implements the singleton pattern, but stores no members.
3309         Remove the singleton and move all functions to free-functions into SVGPathUtilities.h.
3310
3311         Makes the code easier to read - doesn't affect any tests.
3312
3313         * CMakeLists.txt:
3314         * GNUmakefile.list.am:
3315         * Target.pri:
3316         * WebCore.gypi:
3317         * WebCore.vcproj/WebCore.vcproj:
3318         * WebCore.xcodeproj/project.pbxproj:
3319         * rendering/svg/SVGPathData.cpp:
3320         (WebCore::updatePathFromPathElement):
3321         * rendering/svg/SVGRenderTreeAsText.cpp:
3322         (WebCore::operator<<):
3323         * svg/SVGAllInOne.cpp:
3324         * svg/SVGAnimateMotionElement.cpp:
3325         (WebCore::SVGAnimateMotionElement::parseAttribute):
3326         * svg/SVGAnimatedPath.cpp:
3327         (WebCore::SVGAnimatedPathAnimator::constructFromString):
3328         (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
3329         (WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
3330         (WebCore::SVGAnimatedPathAnimator::addAnimatedTypes):
3331         (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
3332         * svg/SVGAnimatedType.cpp:
3333         * svg/SVGGlyphElement.cpp:
3334         (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
3335         * svg/SVGPathBlender.cpp: Fix typo s/;;/;/
3336         * svg/SVGPathElement.cpp:
3337         (WebCore::SVGPathElement::getTotalLength):
3338         (WebCore::SVGPathElement::getPointAtLength):
3339         (WebCore::SVGPathElement::getPathSegAtLength):
3340         (WebCore::SVGPathElement::parseAttribute):
3341         (WebCore::SVGPathElement::svgAttributeChanged):
3342         (WebCore::SVGPathElement::lookupOrCreateDWrapper):
3343         (WebCore::SVGPathElement::pathSegListChanged):
3344         * svg/SVGPathParserFactory.h: Removed.
3345         * svg/SVGPathSegList.cpp:
3346         (WebCore::SVGPathSegList::valueAsString):
3347         * svg/SVGPathUtilities.cpp: Renamed from Source/WebCore/svg/SVGPathParserFactory.cpp.
3348         (WebCore):
3349         (WebCore::globalSVGPathBuilder):
3350         (WebCore::globalSVGPathSegListBuilder):
3351         (WebCore::globalSVGPathByteStreamBuilder):
3352         (WebCore::globalSVGPathStringBuilder):
3353         (WebCore::globalSVGPathTraversalStateBuilder):
3354         (WebCore::globalSVGPathParser):
3355         (WebCore::globalSVGPathBlender):
3356         (WebCore::buildPathFromString):
3357         (WebCore::buildSVGPathByteStreamFromSVGPathSegList):
3358         (WebCore::buildPathFromByteStream):
3359         (WebCore::buildSVGPathSegListFromByteStream):
3360         (WebCore::buildStringFromByteStream):
3361         (WebCore::buildStringFromSVGPathSegList):
3362         (WebCore::buildSVGPathByteStreamFromString):
3363         (WebCore::buildAnimatedSVGPathByteStream):
3364         (WebCore::addToSVGPathByteStream):
3365         (WebCore::getSVGPathSegAtLengthFromSVGPathByteStream):
3366         (WebCore::getTotalLengthOfSVGPathByteStream):
3367         (WebCore::getPointAtLengthOfSVGPathByteStream):
3368         * svg/SVGPathUtilities.h: Added.
3369         (WebCore):
3370         * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
3371         (WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
3372
3373 2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
3374
3375         Fix repetitions & by animation support for path animations
3376         https://bugs.webkit.org/show_bug.cgi?id=85071
3377
3378         Rubber-stamped by Antti Koivisto.
3379
3380         Cleanup SVGPathBlender, to make it more readable.
3381
3382         * svg/SVGPathBlender.cpp:
3383         (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
3384         (WebCore::SVGPathBlender::blendLineToVerticalSegment):
3385         (WebCore::SVGPathBlender::blendArcToSegment):
3386         (WebCore::SVGPathBlender::blendAnimatedPath):
3387
3388 2012-04-28  Yury Semikhatsky  <yurys@chromium.org>
3389
3390         Unreviewed. Qt build fix: added new exported symbols.
3391
3392         * WebCore.exp.in:
3393
3394 2012-04-28  Yury Semikhatsky  <yurys@chromium.org>
3395
3396         Unreviewed. Fix Qt minimal build after r115553.
3397
3398         * inspector/InspectorConsoleAgent.h:
3399
3400 2012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
3401
3402         Fix repetitions & by animation support for path animations
3403         https://bugs.webkit.org/show_bug.cgi?id=85071
3404
3405         Reviewed by Antti Koivisto.
3406
3407         Implement additive="sum" / by-animation support for path animations, eg.
3408         <path d="M 10 10 L 10 100 Z">
3409             <animate attributeName="d" begin="0s" dur="4s" by="M 0 0 L 90 0 Z"/>
3410         <path>
3411
3412         animates the d attribute to "M 10 10 L 100 100 0 Z".
3413
3414         Now only <animateColor> and <animateMotion> are left to be fixed, all other types are working as expected now in all additive/accumulate/from-by/by/from-to animations.
3415
3416         Tests: svg/animations/path-animation-expected.svg
3417                svg/animations/repeating-path-animation-expected.svg
3418                svg/animations/repeating-path-animation.svg
3419
3420         * svg/SVGAnimatedPath.cpp:
3421         (WebCore::SVGAnimatedPathAnimator::addAnimatedTypes): Implemented, to support by-animations, instead of falling back to to-animations.
3422         (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue): Handle repetitions, accumulation & addition.
3423         * svg/SVGPathBlender.cpp: Allow empty from source everywhere, use default values if no from value is specified, needed for by-animations.
3424         (WebCore::SVGPathBlender::SVGPathBlender):
3425         (WebCore::SVGPathBlender::blendAnimatedDimensonalFloat):
3426         (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
3427         (WebCore::SVGPathBlender::blendMoveToSegment):
3428         (WebCore::SVGPathBlender::blendLineToSegment):
3429         (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
3430         (WebCore::SVGPathBlender::blendLineToVerticalSegment):
3431         (WebCore::SVGPathBlender::blendCurveToCubicSegment):
3432         (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
3433         (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
3434         (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
3435         (WebCore::SVGPathBlender::blendArcToSegment):
3436         (WebCore::SVGPathBlender::addAnimatedPath):
3437         (WebCore::SVGPathBlender::blendAnimatedPath):
3438         * svg/SVGPathBlender.h: Add new addAnimatedPath function.
3439         (SVGPathBlender):
3440         * svg/SVGPathByteStream.h:
3441         (SVGPathByteStream): Make SVGPathByteStreams copyable, needed for SVGAnimatedPathAnimator.
3442         (WebCore::SVGPathByteStream::size): Returns size of the SVGPathByteStream.
3443         * svg/SVGPathParserFactory.cpp:
3444         (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream): Allow empty from streams, needed for by animations. 
3445         (WebCore::SVGPathParserFactory::addToSVGPathByteStream): Add 'byStream' 'repeatCount' times to 'toStream'. Both streams must match in size.
3446         * svg/SVGPathParserFactory.h: Add new addToSVGPathByteStream function.
3447         * svg/SVGPointList.cpp: Remove dead code.
3448         * svg/SVGPointList.h: Ditto.
3449         (SVGPointList):
3450
3451 2012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
3452
3453         SVGAnimateMotion does not handle accumulation
3454         https://bugs.webkit.org/show_bug.cgi?id=18564
3455
3456         Reviewed by Antti Koivisto.
3457
3458         Implement accumulation for <animateMotion>. Add lots of new
3459         reftests, verifying additive/accumulate behavior is correct.
3460
3461         Tests: svg/animations/animateMotion-additive-1-expected.svg
3462                svg/animations/animateMotion-additive-1.svg
3463                svg/animations/animateMotion-additive-2a-expected.svg
3464                svg/animations/animateMotion-additive-2a.svg
3465                svg/animations/animateMotion-additive-2b-expected.svg
3466                svg/animations/animateMotion-additive-2b.svg
3467                svg/animations/animateMotion-additive-2c-expected.svg
3468                svg/animations/animateMotion-additive-2c.svg
3469                svg/animations/animateMotion-additive-2d-expected.svg
3470                svg/animations/animateMotion-additive-2d.svg
3471                svg/animations/mozilla/animateMotion-by-1-expected.svg
3472                svg/animations/mozilla/animateMotion-by-1.svg
3473                svg/animations/mozilla/animateMotion-from-to-1-expected.svg
3474                svg/animations/mozilla/animateMotion-from-to-1.svg
3475                svg/animations/mozilla/animateMotion-indefinite-to-1-expected.svg
3476                svg/animations/mozilla/animateMotion-indefinite-to-1.svg
3477                svg/animations/mozilla/animateMotion-indefinite-to-2-expected.svg
3478                svg/animations/mozilla/animateMotion-indefinite-to-2.svg
3479                svg/animations/mozilla/animateMotion-mpath-pathLength-1-expected.svg
3480                svg/animations/mozilla/animateMotion-mpath-pathLength-1.svg
3481                svg/animations/mozilla/animateMotion-mpath-targetChange-1-expected.svg
3482                svg/animations/mozilla/animateMotion-mpath-targetChange-1.svg
3483                svg/animations/mozilla/animateMotion-to-overridden-1-expected.svg
3484                svg/animations/mozilla/animateMotion-to-overridden-1.svg
3485
3486         * svg/SVGAnimateMotionElement.cpp:
3487         (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
3488         (WebCore::SVGAnimateMotionElement::buildTransformForProgress):
3489         (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
3490         * svg/SVGAnimateMotionElement.h:
3491
3492 2012-04-27  Yury Semikhatsky  <yurys@chromium.org>
3493
3494         ScriptStateProtectedPtr should not keep a strong reference to the context
3495         https://bugs.webkit.org/show_bug.cgi?id=85009
3496
3497         Delete console message arguments when DOMWindow where the messages were created
3498         is reset on its frame.
3499
3500         Reviewed by Pavel Feldman.
3501
3502         Test: http/tests/inspector-enabled/console-clear-arguments-on-frame-navigation.html
3503
3504         * inspector/ConsoleMessage.cpp:
3505         (WebCore::ConsoleMessage::addToFrontend):
3506         (WebCore::ConsoleMessage::windowCleared):
3507         (WebCore::ConsoleMessage::argumentCount):
3508         (WebCore):
3509         * inspector/ConsoleMessage.h:
3510         (ConsoleMessage):
3511         * inspector/InspectorConsoleAgent.cpp:
3512         (WebCore::InspectorConsoleAgent::consoleMessageArgumentCounts):
3513         (WebCore):
3514         * inspector/InspectorConsoleAgent.h:
3515         (InspectorConsoleAgent):
3516         * page/Frame.cpp:
3517         (WebCore::Frame::clearDOMWindow):
3518         (WebCore::Frame::setDOMWindow):
3519         * testing/Internals.cpp:
3520         (WebCore):
3521         (WebCore::Internals::consoleMessageArgumentCounts):
3522         * testing/Internals.h:
3523         (Internals):
3524         * testing/Internals.idl:
3525
3526 2012-04-27  Jochen Eisinger  <jochen@chromium.org>
3527
3528         Ensure that there's always a provisional document loader if the frame loader is in provisional state
3529         https://bugs.webkit.org/show_bug.cgi?id=83894
3530
3531         Reviewed by Nate Chapin.
3532
3533         We're still seeing crashes in the FrameLoader where the FrameLoader's
3534         state is "provisional" but there is no provisional document loader. I
3535         added code to update the FrameLoader's state everytime the provisional