37dec90fb31dc2c65b980ddf1da1213ac2378d27
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
2
3         Avoid calling calculateRects in RenderLayer::paintLayer when the rectangles are not needed
4         https://bugs.webkit.org/show_bug.cgi?id=73754
5
6         Reviewed by Simon Fraser.
7
8         Performance change, no change in behavior.
9
10         RenderLayer::paintLayer can easily be called a million time when scrolling on a big table with
11         td { overflow: hidden; }. We would spend a lot of time recomputing the rectangles that we never
12         unused for painting as our layer was not self-painting (clipping layer only) and we did not paint
13         some overlay scrollbars.
14
15         * rendering/RenderLayer.cpp:
16         (WebCore::RenderLayer::paintLayer):
17         Simplified and moved the shouldPaint logic earlier in the function. Now the branches
18         are checking the same boolean which makes the logic more obvious. A consequence of
19         filling shouldPaint earlier is that we call |calculateRects| only if there is a chance
20         the rectangles will used. Also cached the result of isSelfPaintingLayer() in a local
21         variable (isSelfPaintingLayer() is fairly expensive due to several virtual calls).
22
23         * rendering/RenderLayerBacking.cpp:
24         (WebCore::RenderLayerBacking::paintIntoLayer):
25         For coherency, applied the same optimizations here too: added an early return instead
26         of conditionaly call |calculateRects| as we don't have to restore any clip.
27
28 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
29
30         Simplify KURL's checkEncodedString()
31         https://bugs.webkit.org/show_bug.cgi?id=73890
32
33         Reviewed by Andreas Kling.
34
35         The Macro UNUSED_PARAM is not supposed to be used for this case,
36         use ASSERT_UNUSED instead.
37
38         * platform/KURL.cpp:
39         (WebCore::checkEncodedString):
40
41 2011-12-06  Ryosuke Niwa  <rniwa@webkit.org>
42
43         The code to create a NodeListsNodeData is duplicated everywhere
44         https://bugs.webkit.org/show_bug.cgi?id=73961
45
46         Reviewed by Darin Adler.
47
48         Extracted the logic to create NodeListsNodeData as NodeRareData::ensureNodeLists.
49
50         * dom/Document.cpp:
51         (WebCore::Document::getItems):
52         * dom/Node.cpp:
53         (WebCore::Node::childNodes):
54         (WebCore::Node::registerDynamicNodeList):
55         (WebCore::Node::getElementsByTagName):
56         (WebCore::Node::getElementsByTagNameNS):
57         (WebCore::Node::getElementsByName):
58         (WebCore::Node::getElementsByClassName):
59         * dom/NodeRareData.h:
60         (WebCore::NodeRareData::ensureNodeLists):
61         * html/HTMLFormControlElement.cpp:
62         (WebCore::HTMLFormControlElement::labels):
63
64 2011-12-06  Leo Yang  <leo.yang@torchmobile.com.cn>
65
66         Upstream about: feature in WebKit/blackberry/WebCoreSupport/
67         https://bugs.webkit.org/show_bug.cgi?id=73612
68
69         Reviewed by Antonio Gomes.
70
71         * PlatformBlackBerry.cmake: Move platform/network/blackberry/AboutData.{h, cpp}
72                                     to WebKit/blackberry/WebCoreSupport
73
74 2011-12-06  Benjamin Poulain  <bpoulain@apple.com>
75
76         WebKit Mac does not build without CONTEXT MENU
77         https://bugs.webkit.org/show_bug.cgi?id=73962
78
79         Reviewed by Pavel Feldman.
80
81         In the patch r100903, the symbols were exported under ENABLE(CONTEXT_MENUS)
82         because the feature is triggered from the menus.
83
84         The implementation has no dependency on the context menu but is necessary to build
85         when the inspector is enabled.
86         This patch moves the exported symbols from ENABLE(CONTEXT_MENUS) to ENABLE(INSPECTOR).
87
88         * WebCore.exp.in:
89
90 2011-12-06  Adrienne Walker  <enne@google.com>
91
92         [chromium] setNeedsCommit on non-composited host layers should trigger commit
93         https://bugs.webkit.org/show_bug.cgi?id=73711
94
95         Reviewed by James Robinson.
96
97         Pipe non-composited content host syncs to setNeedsCommit.
98
99         Since now the NonCompositedContentHost generates setNeedsCommit, don't
100         call it unnecessarily, e.g. calling setBackgroundColor to the same
101         color each frame should not retrigger more commits.
102
103         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
104         (WebCore::GraphicsLayerChromium::setAnchorPoint):
105         (WebCore::GraphicsLayerChromium::setTransform):
106         (WebCore::GraphicsLayerChromium::setChildrenTransform):
107         (WebCore::GraphicsLayerChromium::setMasksToBounds):
108         (WebCore::GraphicsLayerChromium::setBackgroundColor):
109         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
110         (WebCore::GraphicsLayerChromium::setContentsOpaque):
111         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
112         (WebCore::GraphicsLayerChromium::setOpacity):
113         * platform/graphics/chromium/LayerChromium.cpp:
114         (WebCore::LayerChromium::setNeedsCommit):
115         (WebCore::LayerChromium::setAnchorPoint):
116         (WebCore::LayerChromium::setAnchorPointZ):
117         (WebCore::LayerChromium::setBackgroundColor):
118         (WebCore::LayerChromium::setMasksToBounds):
119         (WebCore::LayerChromium::setMaskLayer):
120         (WebCore::LayerChromium::setOpacity):
121         (WebCore::LayerChromium::setOpaque):
122         (WebCore::LayerChromium::setPosition):
123         (WebCore::LayerChromium::setSublayerTransform):
124         (WebCore::LayerChromium::setTransform):
125         (WebCore::LayerChromium::setScrollPosition):
126         (WebCore::LayerChromium::setScrollable):
127         (WebCore::LayerChromium::setDoubleSided):
128         * platform/graphics/chromium/LayerChromium.h:
129         (WebCore::LayerChromium::setReplicaLayer):
130         * platform/graphics/chromium/NonCompositedContentHost.cpp:
131         (WebCore::NonCompositedContentHost::notifySyncRequired):
132         * platform/graphics/chromium/NonCompositedContentHost.h:
133
134 2011-12-06  Kenichi Ishibashi  <bashi@chromium.org>
135
136         [Chromium] unknown characters symbol on \n in complex script text (RTL and LTR)
137         https://bugs.webkit.org/show_bug.cgi?id=73806
138
139         Reviewed by Tony Chang.
140
141         Sets fMergeNeutralItems to 1 instead of merging script items based on their tags.
142
143         Tests: platform/chromium/fast/text/international/chromium-complex-text-non-printable-expected.html
144                platform/chromium/fast/text/international/chromium-complex-text-non-printable.html
145
146         * platform/graphics/chromium/UniscribeHelper.cpp:
147         (WebCore::UniscribeHelper::fillRuns): Removed a block which merges script items.
148
149 2011-12-06  Luke Macpherson   <macpherson@chromium.org>
150
151         Implement remaining border-image and webkit-maskbox-image properties in CSSStyleApplyProperty.
152         https://bugs.webkit.org/show_bug.cgi?id=73391
153
154         Reviewed by Hajime Morita.
155
156         No new tests / refacoring only.
157
158         * css/CSSStyleApplyProperty.cpp:
159         (WebCore::ApplyPropertyBorderImageModifier::getValue):
160         (WebCore::ApplyPropertyBorderImageModifier::setValue):
161         (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
162         (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
163         (WebCore::ApplyPropertyBorderImageModifier::applyValue):
164         (WebCore::ApplyPropertyBorderImageModifier::createHandler):
165         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
166         * css/CSSStyleSelector.cpp:
167         (WebCore::CSSStyleSelector::applyProperty):
168         * css/CSSStyleSelector.h:
169
170 2011-12-06  Pavel Feldman  <pfeldman@google.com>
171
172         Web Inspector: introduce a memory agent stub.
173         https://bugs.webkit.org/show_bug.cgi?id=73930
174
175         Reviewed by Timothy Hatcher.
176
177         We'd like to experiment with the memory stats and hence need a
178         nice home for that. Adding this undocumented agent / domain for now.
179
180         * CMakeLists.txt:
181         * GNUmakefile.list.am:
182         * Target.pri:
183         * WebCore.gypi:
184         * WebCore.vcproj/WebCore.vcproj:
185         * WebCore.xcodeproj/project.pbxproj:
186         * bindings/js/ScriptProfiler.h:
187         (WebCore::ScriptProfiler::nodeCount):
188         * bindings/v8/ScriptProfiler.cpp:
189         (WebCore::ScriptProfiler::nodeCount):
190         * bindings/v8/ScriptProfiler.h:
191         * inspector/Inspector.json:
192         * inspector/InspectorController.cpp:
193         (WebCore::InspectorController::InspectorController):
194         * inspector/InspectorMemoryAgent.cpp: Added.
195         (WebCore::InspectorMemoryAgent::~InspectorMemoryAgent):
196         (WebCore::InspectorMemoryAgent::getNodeCounter):
197         (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
198         * inspector/InspectorMemoryAgent.h: Added.
199         (WebCore::InspectorMemoryAgent::create):
200
201 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
202
203         Unreviewed build fix after 102183.
204
205         * rendering/style/RenderStyle.h:
206         (WebCore::InheritedFlags::initialGridTrackValue):
207         Use DEFINE_STATIC_LOCAL to avoid having an exit-time destructor.
208
209 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
210
211         Inline RenderObject::view()
212         https://bugs.webkit.org/show_bug.cgi?id=73733
213
214         Reviewed by Darin Adler.
215
216         Micro-performance optimization, no change in behavior.
217
218         RenderObject::view() is super hot and is taking ~4-5% of the time in some
219         benchmarks as it is called several hundred thousands times. For some reason,
220         the compiler did not inline it even though it is very simple in release builds.
221
222         * WebCore.exp.in: Removed RenderObject::view() as it is inlined now.
223
224         * rendering/RenderObject.cpp: Moved the implementation from here ...
225         * rendering/RenderView.h:
226         (WebCore::RenderObject::view): ... to here to avoid a cyclic
227         dependency between RenderObject and RenderView. Also marked the
228         function as ALWAYS_INLINE.
229
230         * rendering/RenderObject.h:
231         * rendering/svg/RenderSVGResourceContainer.cpp:
232         Added #include "RenderView.h" as the code checks for view() during repaint.
233
234 2011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
235
236         CSS Grid Layout: Add support for parsing multiple grid-columns or grid-rows
237         https://bugs.webkit.org/show_bug.cgi?id=73272
238
239         Reviewed by Tony Chang.
240
241         Test: fast/css-grid-layout/grid-columns-rows-get-set-multiple.html
242
243         Updated our supported syntax to match the following:
244         <track-list> := [ <track-breadth> ]+ | 'none'
245         <track-breadth> := <length> | <percentage> | 'auto'
246         (the naming loosely matches the specification)
247
248         * css/CSSComputedStyleDeclaration.cpp:
249         (WebCore::valueForGridTrackBreadth): Added function to handle a breadth
250         (extended with 'auto' that the spec puts in <track-minmax>).
251
252         (WebCore::valueForGridTrackList): Create a space seperated list of
253         track breadth or none.
254
255         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated
256         to use the new functions.
257
258         * css/CSSParser.cpp:
259         (WebCore::CSSParser::parseGridTrackList): Extended the function to
260         match the new syntax.
261
262         * css/CSSStyleApplyProperty.cpp:
263         (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Removed our
264         simple implementation. Replaced by the CSSStyleSelector functions.
265
266         * css/CSSStyleSelector.cpp:
267         (WebCore::createGridTrackBreadth):
268         (WebCore::createGridTrackList):
269         Added those 2 functions to convert the CSSPrimitiveValue to a Vector
270         as expected by RenderStyle.
271
272         (WebCore::CSSStyleSelector::applyProperty): Added our 2 properties
273         now that it is not handled by CSSStyleApplyProperty.
274
275         * rendering/style/RenderStyle.h:
276         (WebCore::InheritedFlags::gridColumns):
277         (WebCore::InheritedFlags::gridRows):
278         (WebCore::InheritedFlags::setGridColumns):
279         (WebCore::InheritedFlags::setGridRows):
280         (WebCore::InheritedFlags::initialGridColumns):
281         (WebCore::InheritedFlags::initialGridRows):
282         Updated the previous methods to take a Vector of Length.
283
284         (WebCore::InheritedFlags::initialGridTrackValue):
285         Needed function to return a Vector with one 'none' Length (the initial
286         value per the specification).
287
288         * rendering/style/StyleGridData.h: Updated to use a Vector.
289
290 2011-12-06  David Reveman  <reveman@chromium.org>
291
292         [Chromium] Implement tile-sized painting using SkPicture.
293         https://bugs.webkit.org/show_bug.cgi?id=71869
294
295         Reviewed by James Robinson.
296
297         Add texture uploader that paints tile-sized chunks using SkPicture
298         recording and playback. Expose setting which allows this texture
299         updater to be enabled.
300
301         No new tests. Covered by existing tests.
302
303         * WebCore.gypi:
304         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: Added.
305         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::Texture):
306         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
307         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
308         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::create):
309         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::BitmapSkPictureCanvasLayerTextureUpdater):
310         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::~BitmapSkPictureCanvasLayerTextureUpdater):
311         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::createTexture):
312         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
313         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
314         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::paintContentsRect):
315         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::updateTextureRect):
316         * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: Added.
317         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
318         (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::orientation):
319         * platform/graphics/chromium/ContentLayerChromium.cpp:
320         (WebCore::ContentLayerChromium::createTextureUpdater):
321         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
322         (WebCore::CCSettings::CCSettings):
323
324 2011-12-06  Adrienne Walker  <enne@google.com>
325
326         [chromium] Don't crash if tile upload happens without painting first
327         https://bugs.webkit.org/show_bug.cgi?id=73939
328
329         Reviewed by James Robinson.
330
331         Remove at least one place (in ImageLayerChromium) where this could
332         happen.
333
334         Although this shouldn't happen, we should be robust to it in the
335         chance that other code causes it to.
336
337         * platform/graphics/chromium/ImageLayerChromium.cpp:
338         (WebCore::ImageLayerChromium::paintContentsIfDirty):
339         * platform/graphics/chromium/TiledLayerChromium.cpp:
340         (WebCore::TiledLayerChromium::updateCompositorResources):
341
342 2011-12-06  Ruben  <chromium@hybridsource.org>
343
344         Enable web audio by default on non-Mac POSIX platforms
345         https://bugs.webkit.org/show_bug.cgi?id=73491
346
347         Reviewed by Tony Chang.
348
349         No new tests, just changing gyp includes.
350
351         * WebCore.gyp/WebCore.gyp:
352
353 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
354
355         Put length in its own variable in KURL copyASCII
356         https://bugs.webkit.org/show_bug.cgi?id=73928
357
358         Reviewed by Darin Adler.
359
360         * platform/KURL.cpp:
361         (WebCore::copyASCII):
362
363 2011-12-06  Dana Jansens  <danakj@chromium.org>
364
365         [chromium] Set opaque flag for ImageLayerChromium
366         https://bugs.webkit.org/show_bug.cgi?id=72964
367
368         Reviewed by James Robinson.
369
370         Unit test in tests/ImageLayerChromiumTest.cpp.
371
372         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
373         (WebCore::GraphicsLayerChromium::setContentsToImage):
374         * platform/graphics/chromium/GraphicsLayerChromium.h:
375         (WebCore::GraphicsLayerChromium::contentsLayer):
376         * platform/graphics/chromium/ImageLayerChromium.cpp:
377         (WebCore::ImageLayerChromium::setContents):
378
379 2011-12-06  Alexandre Elias  <aelias@google.com>
380
381         [chromium] Apply sent deltas on finishCommit
382         https://bugs.webkit.org/show_bug.cgi?id=73884
383
384         Reviewed by James Robinson.
385
386         This moves scroll and pageScale "sent" deltas to be applied to
387         the layer at the end of the commit, instead of the beginning.
388
389         This has several advantages, especially for page scale:
390         - When pageScale changes, no longer any need to change the scroll's
391         coordinate space at beginning of commit, which is complex and prone to
392         bugs (this fixes a problem where we were forgetting to modify the
393         scrollPosition before).
394         - No need for non-commit-related code to consider the "sent" values.
395         m_pageScale is now always the content scale factor, and
396         m_pageScaleDelta is the scale to be on the impl-side matrix.
397         - This will make it easy to send arbitrary fake or future delta
398         values for example while pinch zooming out.
399
400         The scroll logic is similarly altered for consistency's sake.  Note that
401         I also moved the tree synchronize to the beginning of finishCommit
402         in order to avoid having to change the pageScale coordinate space of
403         sentScrollDelta in adjustScrollsForPageScaleChange().
404
405         No new tests. (Refactoring of existing code.)
406
407         * platform/graphics/chromium/LayerChromium.cpp:
408         (WebCore::LayerChromium::pushPropertiesTo):
409         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
410         (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
411         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
412         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
413         (WebCore::CCLayerTreeHostImpl::applyPageScaleDeltaToScrollLayer):
414         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
415
416 2011-12-06  Gavin Barraclough  <barraclough@apple.com>
417
418         https://bugs.webkit.org/show_bug.cgi?id=68328
419         The generator and intrinsic fields in HashTableValue/HashEntry and associated structures and methods are redundant
420
421         Reviewed by Geoff Garen.
422
423         Intrinsic is no longer in the DFG namespace, is always in the
424         hash table. Removed ThunkGenerator.
425
426         * bindings/scripts/CodeGeneratorJS.pm:
427         (GenerateHashTable):
428
429 2011-12-06  Dimitri Glazkov  <dglazkov@chromium.org>
430
431         Unreviewed, rolling out r102091.
432         http://trac.webkit.org/changeset/102091
433         https://bugs.webkit.org/show_bug.cgi?id=73711
434
435         Caused Clang Linux compile failure.
436
437         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
438         (WebCore::GraphicsLayerChromium::setAnchorPoint):
439         (WebCore::GraphicsLayerChromium::setTransform):
440         (WebCore::GraphicsLayerChromium::setChildrenTransform):
441         (WebCore::GraphicsLayerChromium::setMasksToBounds):
442         (WebCore::GraphicsLayerChromium::setBackgroundColor):
443         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
444         (WebCore::GraphicsLayerChromium::setContentsOpaque):
445         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
446         (WebCore::GraphicsLayerChromium::setOpacity):
447         * platform/graphics/chromium/LayerChromium.cpp:
448         (WebCore::LayerChromium::setNeedsCommit):
449         * platform/graphics/chromium/LayerChromium.h:
450         (WebCore::LayerChromium::setAnchorPoint):
451         (WebCore::LayerChromium::setAnchorPointZ):
452         (WebCore::LayerChromium::setBackgroundColor):
453         (WebCore::LayerChromium::setMasksToBounds):
454         (WebCore::LayerChromium::setMaskLayer):
455         (WebCore::LayerChromium::setOpacity):
456         (WebCore::LayerChromium::setOpaque):
457         (WebCore::LayerChromium::setPosition):
458         (WebCore::LayerChromium::setSublayerTransform):
459         (WebCore::LayerChromium::setTransform):
460         (WebCore::LayerChromium::setScrollPosition):
461         (WebCore::LayerChromium::setScrollable):
462         (WebCore::LayerChromium::setDoubleSided):
463         (WebCore::LayerChromium::setReplicaLayer):
464         * platform/graphics/chromium/NonCompositedContentHost.cpp:
465         (WebCore::NonCompositedContentHost::notifySyncRequired):
466         * platform/graphics/chromium/NonCompositedContentHost.h:
467
468 2011-12-06  Dana Jansens  <danakj@chromium.org>
469
470         [Chromium] Make root layer always opaque
471         https://bugs.webkit.org/show_bug.cgi?id=70564
472
473         Reviewed by James Robinson.
474
475         * platform/graphics/chromium/NonCompositedContentHost.cpp:
476         (WebCore::NonCompositedContentHost::NonCompositedContentHost):
477         * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
478         (WebCore::CCTiledLayerImpl::draw):
479
480 2011-12-06  Noel Gordon  <noel.gordon@gmail.com>
481
482         WebPImageDecoder computes image width and height multiple times
483         https://bugs.webkit.org/show_bug.cgi?id=73796
484
485         Reviewed by Adam Barth.
486
487         Once sufficient image data arrives, we can compute the decoded image height
488         and width from the WEBP image header data.
489
490         From then on, the decoded image size is known so there's no need to re-read
491         it from the WEBP image header again.
492
493         No change in behavior, so no new tests.
494
495         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
496         (WebCore::WEBPImageDecoder::decode):
497
498 2011-12-06  Mike Reed  <reed@google.com>
499
500         optimize TransformationMatrix::scale by not calling through to generic multiply
501         https://bugs.webkit.org/show_bug.cgi?id=73830
502
503         Reviewed by Kenneth Russell.
504
505         No new tests. Optimization only, existing tests exercise the code
506
507         * platform/graphics/transforms/TransformationMatrix.cpp:
508         (WebCore::TransformationMatrix::scaleNonUniform):
509         (WebCore::TransformationMatrix::scale3d):
510
511 2011-12-06  Eric Carlson  <eric.carlson@apple.com>
512
513         Revert WebCore track Settings changes made in r101977
514         https://bugs.webkit.org/show_bug.cgi?id=73879
515
516         Reviewed by Sam Weinig.
517
518         No new tests yet, still nothing to test.
519
520         * page/Settings.cpp: Move the preference setters back into the .h file.
521         * page/Settings.h:
522         (WebCore::Settings::setShouldDisplaySubtitles):
523         (WebCore::Settings::setShouldDisplayCaptions):
524         (WebCore::Settings::setShouldDisplayTextDescriptions):
525
526 2011-12-06  Andreas Kling  <kling@webkit.org>
527
528         MediaList: Remove constructor that takes a CSSImportRule*.
529         <http://webkit.org/b/73833>
530
531         Reviewed by Antti Koivisto.
532
533         * css/MediaList.h:
534         * css/MediaList.cpp:
535
536             Remove MediaList(CSSImportRule*, ...) constructor.
537
538         * css/CSSImportRule.cpp:
539         (WebCore::CSSImportRule::CSSImportRule):
540
541             Have CSSImportRule construct its MediaList by passing the parent
542             style sheet, which is exactly what the old constructor accomplished.
543             Also assert that we're always created with a non-null parent sheet.
544
545 2011-12-06  Jarred Nicholls  <jarred@sencha.com>
546
547         getComputedStyle returns wrong value for margin-*
548         https://bugs.webkit.org/show_bug.cgi?id=73334
549
550         margin-* getComputedStyle values should return the "used" absolute value when there is a renderer
551         and the specified value is relative (percentage, auto, etc.).
552         When there is no renderer, the specified value should be returned.
553         See http://dev.w3.org/csswg/cssom/#resolved-values.
554
555         Reviewed by Darin Adler.
556
557         Test: fast/css/getComputedStyle/getComputedStyle-resolved-values.html
558
559         * css/CSSComputedStyleDeclaration.cpp:
560         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
561
562 2011-12-06  Alexey Proskuryakov  <ap@apple.com>
563
564         REGRESSION (WebKit2): Kill ring is not cleared when selection changes
565         https://bugs.webkit.org/show_bug.cgi?id=73888
566         <rdar://problem/10532310>
567
568         Reviewed by Mark Rowe.
569
570         Test: editing/pasteboard/emacs-ctrl-k-with-move.html
571
572         * editing/Editor.cpp: (WebCore::Editor::respondToChangedSelection): Moved the code to clear
573         kill ring from Mac WebKit, as it's needed in all Mac ports at least.
574
575 2011-12-06  Darin Adler  <darin@apple.com>
576
577         Use HashMap<OwnPtr> in CollectionCache
578         https://bugs.webkit.org/show_bug.cgi?id=73784
579
580         Reviewed by Andreas Kling.
581
582         * html/CollectionCache.cpp:
583         (WebCore::CollectionCache::copyCacheMap): Use adoptPtr.
584         (WebCore::CollectionCache::reset): Removed now-unneeded calls to deleteAllValues.
585         (WebCore::append): Added. Helper function for appending elements to the maps from
586         the collection cache.
587
588         * html/CollectionCache.h: Changed mapped type in NodeCacheMap to OwnPtr.
589         Added append function.
590
591         * html/HTMLCollection.cpp:
592         (WebCore::nameShouldBeVisibleInDocumentAll): Added, to factor out common code in
593         two functions below.
594         (WebCore::HTMLCollection::checkForNameMatch): Changed to call nameShouldBeVisibleInDocumentAll.
595         (WebCore::HTMLCollection::updateNameCache): Ditto. Also updated cache code to use the append
596         function, so it will work with OwnPtr. Also eliminated an unneeded get call before
597         each hash table add; we do both at once in the new append function.
598         * html/HTMLFormCollection.cpp:
599         (WebCore::HTMLFormCollection::updateNameCache): More of the same.
600
601 2011-12-06  Yury Semikhatsky  <yurys@chromium.org>
602
603         [Chromium] Web Inspector: getFunctionLocation should return scriptId as String not as int
604         https://bugs.webkit.org/show_bug.cgi?id=73892
605
606         Reviewed by Pavel Feldman.
607
608         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
609         (WebCore::V8InjectedScriptHost::functionLocationCallback): scriptId should be a string not a number
610         * inspector/Inspector.json: removed unused parameter
611
612 2011-11-21  Balazs Kelemen  <kbalazs@webkit.org>
613
614         Enable ParallelJobs by default
615         https://bugs.webkit.org/show_bug.cgi?id=70032
616
617         Reviewed by Zoltan Herczeg.
618
619         Covered by existing tests.
620
621         According to measurements on Mac and Linux it is a
622         considerable speedup for SVG on multicore.
623
624         Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
625         by qualifying ParallelJobs with the WTF namespace (otherwise
626         MSVC believes it belongs to WebCore which is likely a compiler bug).
627
628         * platform/graphics/filters/FEConvolveMatrix.cpp:
629         (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
630         (WebCore::FEConvolveMatrix::platformApplySoftware):
631         * platform/graphics/filters/FEConvolveMatrix.h:
632         * platform/graphics/filters/FEGaussianBlur.cpp:
633         (WebCore::FEGaussianBlur::platformApplyWorker):
634         (WebCore::FEGaussianBlur::platformApply):
635         * platform/graphics/filters/FEGaussianBlur.h:
636         * platform/graphics/filters/FELighting.cpp:
637         (WebCore::FELighting::platformApplyGenericWorker):
638         (WebCore::FELighting::platformApplyGeneric):
639         * platform/graphics/filters/FELighting.h:
640         * platform/graphics/filters/FEMorphology.cpp:
641         (WebCore::FEMorphology::platformApplyWorker):
642         (WebCore::FEMorphology::platformApply):
643         * platform/graphics/filters/FEMorphology.h:
644         * platform/graphics/filters/FETurbulence.cpp:
645         (WebCore::FETurbulence::fillRegionWorker):
646         (WebCore::FETurbulence::platformApplySoftware):
647         * platform/graphics/filters/FETurbulence.h:
648         * platform/graphics/filters/arm/FELightingNEON.cpp:
649         (WebCore::FELighting::platformApplyNeonWorker):
650         * platform/graphics/filters/arm/FELightingNEON.h:
651         (WebCore::FELighting::platformApplyNeon):
652
653 2011-12-06  Andreas Kling  <kling@webkit.org>
654
655         Unreviewed assertion fix for r102123.
656
657         * platform/KURL.cpp:
658         (WebCore::checkEncodedString):
659
660 2011-12-06  Benjamin Poulain  <benjamin@webkit.org>
661
662         Simplify KURL's checkEncodedString()
663         https://bugs.webkit.org/show_bug.cgi?id=73890
664
665         Reviewed by Andreas Kling.
666
667         The method was reimplementing String::containsOnlyASCII().
668         Use the method from String and we can remove the #if NDEBUG.
669
670         * platform/KURL.cpp:
671         (WebCore::checkEncodedString):
672
673 2011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
674
675         Unreviewed, rolling out r102111.
676         http://trac.webkit.org/changeset/102111
677         https://bugs.webkit.org/show_bug.cgi?id=73902
678
679         Breaks compilation (Requested by vsevik on #webkit).
680
681         * editing/Editor.cpp:
682         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
683         * editing/Editor.h:
684
685 2011-12-06  Hajime Morrita  <morrita@chromium.org>
686
687         [Refactoring] Accessing Node::m_document should be minimized.
688         https://bugs.webkit.org/show_bug.cgi?id=73800
689
690         Reviewed by Kent Tamura.
691
692         No new tests. No behavioral change.
693
694         Replaced m_document reference with the document() accessor
695         or temporaril variables. This is a preparation for using
696         m_document space to point a shadow root pointer.
697
698         * dom/Document.h:
699         (WebCore::Node::Node):
700         * dom/Node.cpp:
701         (WebCore::Node::~Node):
702
703 2011-12-06  Shinya Kawanaka  <shinyak@google.com>
704
705         https://bugs.webkit.org/show_bug.cgi?id=73889
706         TextCheckingParagraph::offsetTo should not have a side effect.
707
708         Reviewed by Hajime Morita.
709
710         Since TextCheckingParagraph::offsetTo had a side effect, its cache often became inconsistent.
711         This is likely to cause a bug when changing SpellChecker and Editor.
712
713         No new tests. Covered by existing tests.
714
715         * editing/TextCheckingHelper.cpp:
716         (WebCore::TextCheckingParagraph::offsetTo):
717
718 2011-12-06  Eric Penner  <epenner@google.com>
719
720         [chromium] Set texture limits as multiples of viewport size instead of hardcoded values
721         https://bugs.webkit.org/show_bug.cgi?id=72202
722
723         Reviewed by James Robinson.
724
725         * platform/graphics/chromium/LayerRendererChromium.cpp: 
726         (WebCore::LayerRendererChromium::drawLayers): added viewport param
727         (WebCore::LayerRendererChromium::initializeSharedObjects): ditto 
728         * platform/graphics/chromium/TextureManager.cpp: 
729         (WebCore::TextureManager::highLimitBytes): calculated based on viewport
730         (WebCore::TextureManager::reclaimLimitBytes): ditto
731         (WebCore::TextureManager::lowLimitBytes): ditto
732         (WebCore::TextureManager::TextureManager): added viewport param
733         (WebCore::TextureManager::setMaxMemoryLimitBytes): changed name
734         (WebCore::TextureManager::setPreferredMemoryLimitBytes): added function
735         (WebCore::TextureManager::requestTexture): added viewport param
736         * platform/graphics/chromium/TextureManager.h: ditto
737         (WebCore::TextureManager::create): ditto
738         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: ditto
739         (WebCore::CCLayerTreeHost::initialize): ditto
740         (WebCore::CCLayerTreeHost::beginCommitOnImplThread): ditto
741         (WebCore::CCLayerTreeHost::setViewport): ditto
742         (WebCore::CCLayerTreeHost::setVisible): ditto
743         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread): ditto
744
745 2011-12-06  Huang Dongsung  <luxtella@company100.net>
746
747         [TexMap][QT] Draw the borders of media and webgl elements in TexMap.
748         https://bugs.webkit.org/show_bug.cgi?id=73817
749
750         GraphicsContext3D only draws the content of the WebGL canvas, not the additional
751         CSS such as the borders. TextureMapper should render the content of a
752         media/webgl layer before drawing the actual canvas.
753         This makes LayoutTests/compositing/webgl/webgl-reflection.html work.
754
755         Reviewed by Noam Rosenthal.
756
757         * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
758         (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
759         * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
760         * platform/graphics/texmap/TextureMapperNode.cpp:
761         (WebCore::TextureMapperNode::renderContent):
762         (WebCore::TextureMapperNode::paintSelf):
763
764 2011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
765
766         Unreviewed, rolling out r102043.
767         http://trac.webkit.org/changeset/102043
768         https://bugs.webkit.org/show_bug.cgi?id=73898
769
770         Breaks chromium mac-cg compilation. (Requested by vsevik on
771         #webkit).
772
773         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
774         (WebCore::GraphicsLayerChromium::setContentsToImage):
775         * platform/graphics/chromium/GraphicsLayerChromium.h:
776         (WebCore::GraphicsLayerChromium::contentsLayer):
777         * platform/graphics/chromium/ImageLayerChromium.cpp:
778         (WebCore::ImageLayerChromium::setContents):
779
780 2011-12-06  Shinya Kawanaka  <shinyak@google.com>
781
782         Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.
783         https://bugs.webkit.org/show_bug.cgi?id=73628
784
785         Reviewed by Hajime Morita.
786
787         Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges.
788
789         No new tests. covered by existing tests.
790
791         * editing/Editor.cpp:
792         (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
793           Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor.
794         (WebCore::Editor::markAndReplaceFor):
795         * editing/Editor.h:
796
797 2011-12-05  Alexander Pavlov  <apavlov@chromium.org>
798
799         Web Inspector: [Audits] Implement "Stop" button and progress bar instead of spinner.
800         https://bugs.webkit.org/show_bug.cgi?id=73626
801
802         Reviewed by Yury Semikhatsky.
803
804         * English.lproj/localizedStrings.js:
805         * inspector/front-end/AuditLauncherView.js:
806         (WebInspector.AuditLauncherView):
807         (WebInspector.AuditLauncherView.prototype._setAuditRunning):
808         (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
809         (WebInspector.AuditLauncherView.prototype._createLauncherUI):
810         (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
811         (WebInspector.AuditLauncherView.prototype._updateButton):
812         * inspector/front-end/AuditRules.js:
813         (WebInspector.AuditRules.GzipRule.prototype.doRun):
814         (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
815         (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
816         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
817         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
818         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
819         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
820         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
821         (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
822         (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
823         (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
824         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
825         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
826         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
827         (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
828         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
829         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
830         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
831         (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
832         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
833         (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
834         * inspector/front-end/AuditsPanel.js:
835         (WebInspector.AuditsPanel):
836         (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
837         (WebInspector.AuditsPanel.prototype._executeAudit):
838         (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
839         (WebInspector.AuditsPanel.prototype.terminateAudit):
840         (WebInspector.AuditCategory.prototype.run):
841         (WebInspector.AuditRule.prototype.run):
842         (WebInspector.AuditRule.prototype.doRun):
843         (WebInspector.AuditProgressMonitor):
844         (WebInspector.AuditProgressMonitor.prototype.setTotalWork):
845         (WebInspector.AuditProgressMonitor.prototype.worked):
846         (WebInspector.AuditProgressMonitor.prototype.get indeterminate):
847         (WebInspector.AuditProgressMonitor.prototype.done):
848         (WebInspector.AuditProgressMonitor.prototype.get canceled):
849         (WebInspector.AuditProgressMonitor.prototype.set canceled):
850
851 2011-12-06  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
852
853         [Qt] [WK2] MiniBrowser assert on startup in debug build after r101713
854         https://bugs.webkit.org/show_bug.cgi?id=73874
855
856         This change partially reverts r101713 restoring original behaviour for
857         KUrl creation from empty string and fixes asserts in debug build.
858
859         Reviewed by Alexey Proskuryakov.
860
861         No new tests. Tests from r101713 pass.
862
863         * platform/KURL.cpp:
864         (WebCore::KURL::init):
865         (WebCore::KURL::parse):
866         * platform/KURL.h:
867
868 2011-12-06  Andreas Kling  <kling@webkit.org>
869
870         Use HashMap<OwnPtr> for EventListenerMap's internal map.
871         <http://webkit.org/b/73761>
872
873         Reviewed by Benjamin Poulain.
874
875         Changed the value type of EventListenerMap::m_hashMap to OwnPtr<EventListenerVector>.
876         This means we no longer need to manually delete the vectors when taking them out of
877         the map, which makes the code a little prettier.
878
879         A few tweaks were necessary; release() instead of leakPtr() when switching modes
880         and adoptPtr()/get() sprinkled as needed.
881
882         * dom/EventListenerMap.h:
883         * dom/EventListenerMap.cpp:
884         (WebCore::EventListenerMap::clear):
885         (WebCore::EventListenerMap::add):
886         (WebCore::EventListenerMap::remove):
887         (WebCore::EventListenerMap::find):
888         (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
889         (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
890
891 2011-12-05  Rafael Weinstein  <rafaelw@chromium.org>
892
893         [MutationObservers] Support 'attributes' mutation records for element.removeAttribute
894         https://bugs.webkit.org/show_bug.cgi?id=73880
895
896         Reviewed by Ojan Vafai.
897
898         * dom/Element.cpp:
899         (WebCore::enqueueAttributesMutationRecord):
900         (WebCore::Element::removeAttribute):
901
902 2011-12-05  Dana Jansens  <danakj@chromium.org>
903
904         Set opaque flag for WebGLLayerChromium
905         https://bugs.webkit.org/show_bug.cgi?id=73876
906
907         Reviewed by James Robinson.
908
909         New unit test in tests/WebGLLayerChromiumTest.cpp
910
911         * platform/graphics/chromium/DrawingBufferChromium.cpp:
912         (WebCore::DrawingBuffer::platformLayer):
913
914 2011-12-05  Benjamin Poulain  <bpoulain@apple.com>
915
916         Upstream the Cursor implementation of iOS
917         https://bugs.webkit.org/show_bug.cgi?id=73724
918
919         Reviewed by David Kilzer.
920
921         iOS does not need to support the Cursor of WebKit. For compatibility, Cursor
922         is implemented as an empty class on the platform.
923
924         * Configurations/WebCore.xcconfig:
925         * WebCore.xcodeproj/project.pbxproj:
926         * platform/Cursor.h:
927         (WebCore::Cursor::Cursor):
928         * platform/ios/CursorIOS.cpp: Added.
929         (WebCore::cursor):
930         (WebCore::pointerCursor):
931         (WebCore::crossCursor):
932         (WebCore::handCursor):
933         (WebCore::moveCursor):
934         (WebCore::iBeamCursor):
935         (WebCore::waitCursor):
936         (WebCore::helpCursor):
937         (WebCore::eastResizeCursor):
938         (WebCore::northResizeCursor):
939         (WebCore::northEastResizeCursor):
940         (WebCore::northWestResizeCursor):
941         (WebCore::southResizeCursor):
942         (WebCore::southEastResizeCursor):
943         (WebCore::southWestResizeCursor):
944         (WebCore::westResizeCursor):
945         (WebCore::northSouthResizeCursor):
946         (WebCore::eastWestResizeCursor):
947         (WebCore::northEastSouthWestResizeCursor):
948         (WebCore::northWestSouthEastResizeCursor):
949         (WebCore::columnResizeCursor):
950         (WebCore::rowResizeCursor):
951         (WebCore::middlePanningCursor):
952         (WebCore::eastPanningCursor):
953         (WebCore::northPanningCursor):
954         (WebCore::northEastPanningCursor):
955         (WebCore::northWestPanningCursor):
956         (WebCore::southPanningCursor):
957         (WebCore::southEastPanningCursor):
958         (WebCore::southWestPanningCursor):
959         (WebCore::westPanningCursor):
960         (WebCore::verticalTextCursor):
961         (WebCore::cellCursor):
962         (WebCore::contextMenuCursor):
963         (WebCore::noDropCursor):
964         (WebCore::notAllowedCursor):
965         (WebCore::progressCursor):
966         (WebCore::aliasCursor):
967         (WebCore::zoomInCursor):
968         (WebCore::zoomOutCursor):
969         (WebCore::copyCursor):
970         (WebCore::noneCursor):
971         (WebCore::grabCursor):
972         (WebCore::grabbingCursor):
973         (WebCore::determineHotSpot):
974
975 2011-12-05  Noel Gordon  <noel.gordon@gmail.com>
976
977         [GTK] GIF image test crashes on 32- and 64-bit Release
978         https://bugs.webkit.org/show_bug.cgi?id=73812
979
980         Reviewed by Adam Barth.
981
982         Call resize() on the image pixel backing store after allocation to see if
983         that stops the GIF image decoder animation tests crashes on GTK.
984
985         No new tests, covered by exiting tests ...
986           fast/backgrounds/animated-gif-as-background.html
987           fast/images/dont-crash-with-null-gif-frames.html
988           fast/images/gif-loop-count.html
989
990         * platform/image-decoders/ImageDecoder.cpp:
991         (WebCore::ImageFrame::setSize):
992
993 2011-12-05  Erik Arvidsson  <arv@chromium.org>
994
995         Could save a lot of memory in CharacterData by not always storing a String
996         https://bugs.webkit.org/show_bug.cgi?id=72404
997
998         Reviewed by Ojan Vafai.
999
1000         When a Text node is created by the parser we check if the string is all whitespace
1001         and if so we put it in the AtomicString table so that all future identical whitespace
1002         strings can share the StringImpl.
1003
1004         No new tests. Covered by existing tests.
1005
1006         * html/parser/HTMLConstructionSite.cpp:
1007         (WebCore::HTMLNames::isAllWhitespace):
1008         (WebCore::HTMLConstructionSite::insertTextNode):
1009
1010             If we do not know whether the string is all whitespace this now checks the string
1011             If the string is all whitespace we create an AtomicString for it.
1012
1013         * html/parser/HTMLConstructionSite.h:
1014         * html/parser/HTMLTreeBuilder.cpp:
1015         (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingNonWhitespace): We never cared about the return value here.
1016         (WebCore::HTMLTreeBuilder::processCharacterBuffer): Pass WhitespaceMode in the case we know whether the string is all whitespace or not.
1017         (WebCore::HTMLTreeBuilder::defaultForInTableText): Ditto.
1018
1019 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1020
1021         Update KURL's copy copyASCII to avoid String::characters()
1022         https://bugs.webkit.org/show_bug.cgi?id=73794
1023
1024         Reviewed by Andreas Kling.
1025
1026         When the String is already on 8 bits, we can simply copy the
1027         data. In the 16 bits case, everything remains the same.
1028
1029         * platform/KURL.cpp:
1030         (WebCore::copyASCII):
1031         (WebCore::appendASCII):
1032         (WebCore::KURL::init):
1033         (WebCore::KURL::parse):
1034         (WebCore::KURL::copyToBuffer):
1035
1036 2011-12-05  Yong Li  <yoli@rim.com>
1037
1038         https://bugs.webkit.org/show_bug.cgi?id=73683
1039         Implement KeyframeValueList::operator=() and KeyframeValueList::swap().
1040
1041         Reviewed by Darin Adler.
1042
1043         No new tests as no functional change.
1044
1045         * platform/graphics/GraphicsLayer.h: 
1046         (WebCore::KeyframeValueList::operator=): Added
1047         (WebCore::KeyframeValueList::swap): Added
1048
1049 2011-12-05  Adrienne Walker  <enne@google.com>
1050
1051         [chromium] setNeedsCommit on non-composited host layers should trigger commit
1052         https://bugs.webkit.org/show_bug.cgi?id=73711
1053
1054         Reviewed by James Robinson.
1055
1056         Pipe non-composited content host syncs to setNeedsCommit.
1057
1058         Since now the NonCompositedContentHost generates setNeedsCommit, don't
1059         call it unnecessarily, e.g. calling setBackgroundColor to the same
1060         color each frame should not retrigger more commits.
1061
1062         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1063         (WebCore::GraphicsLayerChromium::setAnchorPoint):
1064         (WebCore::GraphicsLayerChromium::setTransform):
1065         (WebCore::GraphicsLayerChromium::setChildrenTransform):
1066         (WebCore::GraphicsLayerChromium::setMasksToBounds):
1067         (WebCore::GraphicsLayerChromium::setBackgroundColor):
1068         (WebCore::GraphicsLayerChromium::clearBackgroundColor):
1069         (WebCore::GraphicsLayerChromium::setContentsOpaque):
1070         (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
1071         (WebCore::GraphicsLayerChromium::setOpacity):
1072         * platform/graphics/chromium/LayerChromium.cpp:
1073         (WebCore::LayerChromium::setNeedsCommit):
1074         (WebCore::LayerChromium::setAnchorPoint):
1075         (WebCore::LayerChromium::setAnchorPointZ):
1076         (WebCore::LayerChromium::setBackgroundColor):
1077         (WebCore::LayerChromium::setMasksToBounds):
1078         (WebCore::LayerChromium::setMaskLayer):
1079         (WebCore::LayerChromium::setOpacity):
1080         (WebCore::LayerChromium::setOpaque):
1081         (WebCore::LayerChromium::setPosition):
1082         (WebCore::LayerChromium::setSublayerTransform):
1083         (WebCore::LayerChromium::setTransform):
1084         (WebCore::LayerChromium::setScrollPosition):
1085         (WebCore::LayerChromium::setScrollable):
1086         (WebCore::LayerChromium::setDoubleSided):
1087         * platform/graphics/chromium/LayerChromium.h:
1088         (WebCore::LayerChromium::setReplicaLayer):
1089         * platform/graphics/chromium/NonCompositedContentHost.cpp:
1090         (WebCore::NonCompositedContentHost::notifySyncRequired):
1091         * platform/graphics/chromium/NonCompositedContentHost.h:
1092
1093 2011-12-05  Tony Chang  <tony@chromium.org>
1094
1095         small refactor of RenderFlexibleBox
1096         https://bugs.webkit.org/show_bug.cgi?id=73854
1097
1098         Reviewed by Darin Adler.
1099
1100         No new tests, just a refactor.
1101
1102         * rendering/RenderFlexibleBox.cpp:
1103         (WebCore::RenderFlexibleBox::isLeftToRightFlow): Inline isReverseFlow since it's only used in one place.
1104         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Rename startEdge
1105         to mainAxisOffset.  Rename logicalTop to crossAxisOffset.  Get rid of
1106         logicalLeft local variable since it's confusing.  Move shouldFlipMainAxis
1107         out of the for loop to avoid computing it each iteration.
1108         * rendering/RenderFlexibleBox.h:
1109
1110 2011-12-05  Florin Malita  <fmalita@google.com>
1111
1112         Heap-buffer-overflow in WebCore::HTMLTreeBuilder::processEndTag
1113         https://bugs.webkit.org/show_bug.cgi?id=73765
1114
1115         Reviewed by Adam Barth.
1116
1117         Test: fast/parser/foreign-content-crash.html
1118
1119         Use m_tree.currentNode() instead of m_tree.currentElement() as the top node is not always an Element.
1120
1121         * html/parser/HTMLTreeBuilder.cpp:
1122         (WebCore::HTMLTreeBuilder::processEndTag):
1123
1124 2011-12-05  Stephen White  <senorblanco@chromium.org>
1125
1126         Allow the ImageBuffers used by SVG filters to be accelerated
1127         https://bugs.webkit.org/show_bug.cgi?id=73842
1128
1129         Reviewed by Kenneth Russell.
1130
1131         Regressions covered by existing SVG tests; new functionality to be
1132         tested by the API exposed on Internals.
1133
1134         * page/Settings.cpp:
1135         (WebCore::Settings::Settings):
1136         * page/Settings.h:
1137         (WebCore::Settings::setAcceleratedFiltersEnabled):
1138         (WebCore::Settings::acceleratedFiltersEnabled):
1139         * platform/graphics/filters/FETile.cpp:
1140         (WebCore::FETile::platformApplySoftware):
1141         * platform/graphics/filters/Filter.h:
1142         (WebCore::Filter::Filter):
1143         (WebCore::Filter::renderingMode):
1144         (WebCore::Filter::setRenderingMode):
1145         * platform/graphics/filters/FilterEffect.cpp:
1146         (WebCore::FilterEffect::asImageBuffer):
1147         (WebCore::FilterEffect::createImageBufferResult):
1148         * platform/graphics/skia/ImageBufferSkia.cpp:
1149         (WebCore::ImageBuffer::platformTransformColorSpace):
1150         * rendering/svg/RenderSVGResourceClipper.cpp:
1151         (WebCore::RenderSVGResourceClipper::applyClippingToContext):
1152         * rendering/svg/RenderSVGResourceFilter.cpp:
1153         (WebCore::RenderSVGResourceFilter::applyResource):
1154         * rendering/svg/RenderSVGResourceMasker.cpp:
1155         (WebCore::RenderSVGResourceMasker::applyResource):
1156         * rendering/svg/RenderSVGResourcePattern.cpp:
1157         (WebCore::RenderSVGResourcePattern::createTileImage):
1158         * rendering/svg/SVGImageBufferTools.cpp:
1159         (WebCore::SVGImageBufferTools::createImageBuffer):
1160         * rendering/svg/SVGImageBufferTools.h:
1161         * testing/Internals.cpp:
1162         (WebCore::Internals::setAcceleratedFiltersEnabled):
1163         * testing/Internals.h:
1164         * testing/Internals.idl:
1165
1166 2011-12-05  Benjamin Poulain  <bpoulain@apple.com>
1167
1168         Upstream htmlSelectMultipleItems needed for <select multiple> by iOS
1169         https://bugs.webkit.org/show_bug.cgi?id=73734
1170
1171         Reviewed by David Kilzer.
1172
1173         * platform/DefaultLocalizationStrategy.cpp:
1174         (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
1175         * platform/DefaultLocalizationStrategy.h:
1176
1177 2011-12-05  Darin Adler  <darin@apple.com>
1178
1179         Use HashMap<OwnPtr> in CrossOriginPreflightResultCache
1180         https://bugs.webkit.org/show_bug.cgi?id=73785
1181
1182         Reviewed by Andreas Kling.
1183
1184         * loader/CrossOriginPreflightResultCache.cpp:
1185         (WebCore::CrossOriginPreflightResultCache::appendEntry): Changed code to use set
1186         instead of add, since it wants to replace existing entries. Also removed leakPtr
1187         and removed the FIXME that documented the memory leak now fixed here.
1188         (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): Removed unneeded
1189         std:: prefix here and also unneeded explicit delete call.
1190         (WebCore::CrossOriginPreflightResultCache::empty): Removed unneeded deleteAllValues
1191         call here.
1192
1193         * loader/CrossOriginPreflightResultCache.h: Make mapped value of the
1194         CrossOriginPreflightResultHashMap be OwnPtr instead of raw pointer.
1195
1196 2011-12-05  Darin Adler  <darin@apple.com>
1197
1198         Some small improvements to ContainerNode.h
1199         https://bugs.webkit.org/show_bug.cgi?id=73786
1200
1201         Reviewed by Alexey Proskuryakov.
1202
1203         * dom/ContainerNode.cpp:
1204         (WebCore::ContainerNode::suspendPostAttachCallbacks): Added a FIXME comment about the
1205         peculiar behavior of this function. Somehow the post-attach suspend state is both
1206         global and specific to a certain Page object. That can't be right. If it was truly
1207         global then this would be a static member function. If it was truly per-page, then
1208         the related functions could not be static.
1209
1210         * dom/ContainerNode.h: Removed some unneeded argument names. Moved the hasChildNodes
1211         function up with the other basic getters. Put the other getters, childNodeCount and
1212         childNode, right after the basic getters. Used ASSERT_NO_EXCEPTION in all the basic
1213         mutation functions so they can be used in a cleaner fashion in C++ code where we have
1214         some reason to know an exception won't occur. Grouped all the overrides of functions
1215         from Node into a single paragraph and used the OVERRIDE macro on all of them. Made the
1216         queuePostAttachCallback and postAttachCallbacksAreSuspended functions protected.
1217
1218         * dom/Element.h: Moved the include of ExceptionCodePlaceholder.h into ContainerNode.h.
1219
1220         * dom/Node.cpp:
1221         (WebCore::Node::lazyAttach): Use hasChildNodes instead of firstChild for clarity.
1222         (WebCore::Node::isDescendantOf): Ditto.
1223
1224 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1225
1226         Get rid of KURL::KURL(ParsedURLStringTag, const char*);
1227         https://bugs.webkit.org/show_bug.cgi?id=73792
1228
1229         Reviewed by Andreas Kling.
1230
1231         In all cases where the constructor is used, the constructor
1232         taking a String is as effective because the string is valid and converted
1233         to String for m_string.
1234
1235         This patch remove the constructor KURL::KURL(ParsedURLStringTag, const char*)
1236         and change the call sites that were using that constructor to build
1237         empty URLs.
1238
1239         * dom/Document.cpp:
1240         (WebCore::Document::initSecurityContext):
1241         * loader/FrameLoader.cpp:
1242         (WebCore::FrameLoader::init):
1243         * loader/archive/cf/LegacyWebArchive.cpp:
1244         (WebCore::LegacyWebArchive::create):
1245         * page/DOMWindow.cpp:
1246         (WebCore::DOMWindow::createWindow):
1247         * platform/KURL.cpp:
1248         * platform/KURL.h:
1249         * platform/KURLGoogle.cpp:
1250
1251 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1252
1253         Remove methods declared but never implemented with GOOGLEURL
1254         https://bugs.webkit.org/show_bug.cgi?id=73795
1255
1256         Reviewed by Adam Barth.
1257
1258         * platform/KURL.h:
1259
1260 2011-12-05  Darin Adler  <darin@apple.com>
1261
1262         Change CSSFontSelector to use HashMap<OwnPtr>
1263         https://bugs.webkit.org/show_bug.cgi?id=73781
1264
1265         Reviewed by Dan Bernstein.
1266
1267         * css/CSSFontSelector.cpp:
1268         (WebCore::CSSFontSelector::~CSSFontSelector): Removed calls to deleteAllValues.
1269         (WebCore::CSSFontSelector::addFontFaceRule): Updated to use OwnPtr instead of raw
1270         pointer for the entry in m_fontFaces and m_locallyInstalledFontFaces.
1271         (WebCore::CSSFontSelector::getFontData): Updated to use OwnPtr instead of raw
1272         pointer for the entry in m_fonts. Also removed an unneeded std:: prefix.
1273
1274         * css/CSSFontSelector.h: Made m_fontFaces, m_locallyInstalledFontFaces, and m_fonts
1275         be HashMap<OwnPtr>.
1276
1277 2011-12-05  Adam Klein  <adamk@chromium.org>
1278
1279         V8RecursionScope should call didLeaveScriptContext when recursionLevel reaches zero
1280         https://bugs.webkit.org/show_bug.cgi?id=73867
1281
1282         Reviewed by Adam Barth.
1283
1284         Moved V8RecursionScope into its own file, and moved
1285         V8Proxy::didLeaveScriptContext into that file, along with a static
1286         recursionLevel accessor, hiding the V8BindingPerIsolateData methods
1287         from V8Proxy.
1288
1289         This will make it easy and less error-prone to use V8RecursionScope
1290         properly. I plan to make use of it in V8LazyEventListener to fix
1291         https://bugs.webkit.org/show_bug.cgi?id=73492.
1292
1293         No new tests, refactoring only.
1294
1295         * Target.pri:
1296         * UseV8.cmake:
1297         * WebCore.gypi:
1298         * bindings/v8/V8Binding.h:
1299         (WebCore::V8BindingPerIsolateData::incrementRecursionLevel): return the new recursion level.
1300         (WebCore::V8BindingPerIsolateData::decrementRecursionLevel): return the new recursion level.
1301         * bindings/v8/V8Proxy.cpp: remove didLeaveScriptContext.
1302         (WebCore::V8Proxy::runScript): remove explicit call to didLeaveScriptContext.
1303         (WebCore::V8Proxy::instrumentedCallFunction): remove explicit call to didLeaveScriptContext.
1304         * bindings/v8/V8Proxy.h: remove didLeaveScriptContext.
1305         * bindings/v8/V8RecursionScope.cpp: Added.
1306         (WebCore::V8RecursionScope::didLeaveScriptContext): copied from V8Proxy.cpp.
1307         * bindings/v8/V8RecursionScope.h: Added.
1308         (WebCore::V8RecursionScope::V8RecursionScope):
1309         (WebCore::V8RecursionScope::~V8RecursionScope):
1310         (WebCore::V8RecursionScope::recursionLevel):
1311
1312 2011-12-05  Benjamin Poulain  <bpoulain@apple.com>
1313
1314         Build fix for SecurityOrigin.cpp when neither BLOB nor FILE_SYSTEM are defined
1315
1316         Reviewed by David Kilzer.
1317
1318         When neither BLOB nor FILE_SYSTEM are defined, the parameter is unused.
1319
1320         * page/SecurityOrigin.cpp:
1321         (WebCore::shouldUseInnerURL):
1322
1323 2011-12-05  Darin Adler  <darin@apple.com>
1324
1325         Change RuleSet to use HashMap<OwnPtr>
1326         https://bugs.webkit.org/show_bug.cgi?id=73783
1327
1328         Reviewed by Andreas Kling.
1329
1330         * css/CSSStyleSelector.cpp: Make RuleSet::AtomRuleMap use OwnPtr for the mapped values.
1331         (WebCore::RuleSet::addToRuleSet): Use add instead of get/set to set up a new entry in the
1332         map or find the old entry in the map.
1333
1334 2011-12-05  Mario Sanchez Prada  <msanchez@igalia.com>
1335
1336         [GTK] Move emissions of AtkDocument signals down to WebCore
1337         https://bugs.webkit.org/show_bug.cgi?id=73750
1338
1339         Reviewed by Chris Fleizach.
1340
1341         Implement the needed infrastructure to allow notifying
1342         accessibility, in a cross-platform way, when a event related to
1343         the load of a document happens. Added a generic method, which will
1344         be called from the FrameLoader, and platform specific versions of
1345         it so every port has a chance to decide what to do with those
1346         notifications.
1347
1348         This patch doesn't include a new test because the one testing this
1349         functionality is the GTK-specific unit test added along with patch
1350         for bug 73746: testWebkitAtkDocumentLoadingEvents.
1351
1352         * accessibility/AXObjectCache.h:
1353         (WebCore::AXObjectCache::frameLoadingEventNotification): New, called
1354         from the FrameLoader to notify accessibility when an event happens.
1355         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): New,
1356         platform specific function to let ports decide what to do.
1357         * accessibility/AXObjectCache.cpp:
1358         (WebCore::AXObjectCache::frameLoadingEventNotification): New.
1359         * accessibility/chromium/AXObjectCacheChromium.cpp:
1360         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
1361         implementation of the platform specific function for chromium.
1362         * accessibility/gtk/AXObjectCacheAtk.cpp:
1363         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
1364         * accessibility/mac/AXObjectCacheMac.mm:
1365         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
1366         implementation of the platform specific function for the Mac.
1367         * accessibility/win/AXObjectCacheWin.cpp:
1368         (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
1369         implementation of the platform specific function for Windows.
1370
1371         * loader/FrameLoader.cpp:
1372         (WebCore::FrameLoader::prepareForLoadStart): Notify accessibility
1373         by calling the new frameLoadingEventNotification() function.
1374         (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
1375
1376 2011-12-05  Benjamin Poulain  <benjamin@webkit.org>
1377
1378         Update String::containsOnlyASCII() to handle 8 bits strings
1379         https://bugs.webkit.org/show_bug.cgi?id=73799
1380
1381         Reviewed by Darin Adler.
1382
1383         When possible, change the call sites from charactersAreAllASCII()
1384         to the optimized version String::containsOnlyASCII().
1385
1386         * platform/KURL.cpp:
1387         (WebCore::KURL::init):
1388         * platform/cf/BinaryPropertyList.cpp:
1389         (WebCore::BinaryPropertyListPlan::writeStringObject):
1390         * platform/graphics/chromium/FontCacheChromiumWin.cpp:
1391         (WebCore::FontCodepage::if):
1392
1393 2011-12-01  Vangelis Kokkevis  <vangelis@chromium.org>
1394
1395         [chromium] Use ANGLE's texture_usage and texture_storage extensions when allocating compositor textures
1396         https://bugs.webkit.org/show_bug.cgi?id=73621
1397
1398         When the extensions are available, compositor textures are allocated via
1399         glTexStorage2DEXT instead of glTexImage2D to eliminate creation of unnecessary
1400         mip levels on the service side. In addition, the GL_FRAMEBUFFER_ATTACHMENT_ANGLE
1401         is specified for all textures used by RenderSurfaces to eliminate the need for
1402         a system memory bitmap allocation.
1403
1404         Reviewed by Kenneth Russell.
1405
1406         * platform/graphics/chromium/Extensions3DChromium.h:
1407         * platform/graphics/chromium/LayerRendererChromium.cpp:
1408         (WebCore::LayerRendererChromium::initialize):
1409         (WebCore::LayerRendererChromium::initializeSharedObjects):
1410         * platform/graphics/chromium/TrackingTextureAllocator.cpp:
1411         (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
1412         (WebCore::textureToStorageFormat):
1413         (WebCore::isTextureFormatSupportedForStorage):
1414         (WebCore::TrackingTextureAllocator::createTexture):
1415         * platform/graphics/chromium/TrackingTextureAllocator.h:
1416         (WebCore::TrackingTextureAllocator::setTextureUsageHint):
1417         (WebCore::TrackingTextureAllocator::setUseTextureStorageExt):
1418         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
1419         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
1420
1421 2011-12-05  Chris Fleizach  <cfleizach@apple.com>
1422
1423         AX: aria-hidden doesn't work on iframe elements
1424         https://bugs.webkit.org/show_bug.cgi?id=73857
1425
1426         Reviewed by Darin Adler.
1427
1428         Test: platform/mac/accessibility/iframe-aria-hidden.html
1429
1430         * accessibility/AccessibilityRenderObject.cpp:
1431         (WebCore::AccessibilityRenderObject::addAttachmentChildren):
1432         (WebCore::AccessibilityRenderObject::addChildren):
1433         * accessibility/AccessibilityRenderObject.h:
1434         * accessibility/AccessibilityScrollView.cpp:
1435         (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
1436         (WebCore::AccessibilityScrollView::addChildren):
1437         * accessibility/AccessibilityScrollView.h:
1438
1439 2011-12-05  Chris Fleizach  <cfleizach@apple.com>
1440
1441         AX: web search mechanism does not work with frames
1442         https://bugs.webkit.org/show_bug.cgi?id=73836
1443
1444         Reviewed by Beth Dakin.
1445
1446         This allows searching for, and within, frames for elements using the accessibility
1447         search mechanism.
1448
1449         Test: platform/mac/accessibility/search-with-frames.html
1450
1451         * accessibility/AccessibilityObject.cpp:
1452         (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
1453         (WebCore::appendAccessibilityObject):
1454         (WebCore::appendChildrenToArray):
1455
1456 2011-12-05  Anders Carlsson  <andersca@apple.com>
1457
1458         Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not
1459         https://bugs.webkit.org/show_bug.cgi?id=73862
1460
1461         Reviewed by Andy Estes.
1462
1463         Change LayerFlushSchedulerClient::flushLayers to return a boolean. If it returns true, the flush was
1464         successful and the run loop observer will be invalidated.
1465
1466         * platform/graphics/ca/LayerFlushScheduler.h:
1467         * platform/graphics/ca/LayerFlushSchedulerClient.h:
1468         * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
1469         (WebCore::LayerFlushScheduler::runLoopObserverCallback):
1470
1471 2011-12-05  Dana Jansens  <danakj@chromium.org>
1472
1473         [chromium] Set opaque flag for ImageLayerChromium
1474         https://bugs.webkit.org/show_bug.cgi?id=72964
1475
1476         Reviewed by James Robinson.
1477
1478         New unit test in tests/ImageLayerChromiumTest.cpp.
1479
1480         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1481         (WebCore::GraphicsLayerChromium::setContentsToImage):
1482         * platform/graphics/chromium/GraphicsLayerChromium.h:
1483         (WebCore::GraphicsLayerChromium::contentsLayer):
1484         * platform/graphics/chromium/ImageLayerChromium.cpp:
1485         (WebCore::ImageLayerChromium::setContents):
1486
1487 2011-12-05  Julien Chaffraix  <jchaffraix@webkit.org>
1488
1489         TD width in precentage doesn't work.
1490         https://bugs.webkit.org/show_bug.cgi?id=34758
1491
1492         Reviewed by David Hyatt.
1493
1494         Test: fast/table/colspan-with-all-percent-cells.html
1495
1496         * rendering/AutoTableLayout.cpp:
1497         (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
1498         In the case where all our columns have percent lengths, split the colspan
1499         logical width using the percentages from the lengths. This should be properly
1500         handled by the massive 'else' case but it is not and I did not feel like refactor
1501         that due to massive compatibility issues that would arise.
1502
1503 2011-12-05  Chris Fleizach  <cfleizach@apple.com>
1504
1505         platform/mac/accessibility/search-when-element-starts-in-table.html is failing
1506         https://bugs.webkit.org/show_bug.cgi?id=73751
1507
1508         When encountering a table, the rows() and not the cells() should be queried (otherwise
1509         we can end up finding the element we started with).
1510
1511         When searching in reverse, we also need to account for searching elements within the
1512         parent hierarchy. because technically it is "behind" the start element.
1513
1514         Reviewed by Darin Adler.
1515
1516         * accessibility/AccessibilityObject.cpp:
1517         (WebCore::appendChildrenToArray):
1518         (WebCore::AccessibilityObject::objectMatchesSearchCriteriaWithResultLimit):
1519         (WebCore::AccessibilityObject::findMatchingObjects):
1520         * accessibility/AccessibilityObject.h:
1521
1522 2011-12-02  Jer Noble  <jer.noble@apple.com>
1523
1524         <video> elements should disable the system and display sleep when playing on OS X.
1525         https://bugs.webkit.org/show_bug.cgi?id=73730
1526         <rdar://problem/9502155>
1527
1528         Reviewed by Alexey Proskuryakov.
1529
1530         No new tests; platform specific system behavior only.
1531
1532         Create a new DisplaySleepDisabler object when the playback rate becomes non-zero, and destroy
1533         that object when the playback rate drops back to zero.
1534
1535         * html/HTMLMediaElement.cpp:
1536         (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
1537         * html/HTMLMediaElement.h:
1538
1539 2011-12-05  Peter Beverloo  <peter@chromium.org>
1540
1541         [Chromium] Add Android keycodes and build Linux clipboard/filesystem files.
1542         https://bugs.webkit.org/show_bug.cgi?id=73672
1543
1544         Add the KeyCodeConversionAndroid.cpp file, which is a partial re-land
1545         of an older file from the Android port:
1546         http://trac.webkit.org/browser/trunk/WebCore/platform/android/KeyEventAndroid.cpp?rev=56704
1547
1548         Add IconChromiumAndroid.cpp which nullifies the rendering of icons in
1549         file upload boxes, which is not something we want to support now. Also
1550         include ClipboardChromiumLinux.cpp and FileSystemChromiumLinux.cpp
1551         as their functionality can be re-used for Android.
1552
1553         Reviewed by Adam Barth.
1554
1555         * WebCore.gyp/WebCore.gyp:
1556         * WebCore.gypi:
1557         * platform/chromium/KeyCodeConversionAndroid.cpp: Added.
1558         (WebCore::windowsKeyCodeForKeyEvent):
1559         * platform/graphics/chromium/IconChromiumAndroid.cpp: Added.
1560         (WebCore::Icon::Icon):
1561         (WebCore::Icon::~Icon):
1562         (WebCore::Icon::paint):
1563
1564 2011-12-05  Steve Falkenburg  <sfalken@apple.com>
1565
1566         Reviewed by Sam Weinig.
1567
1568         On Windows, filenames not properly preserved when copied into a file list exposed by Event.dataTransfer
1569         https://bugs.webkit.org/show_bug.cgi?id=73841
1570         <rdar://problem/10521879>
1571
1572         No test since repro case involves dropping a file onto the WebView.
1573         
1574         Calling characters() explicitly causes a non-terminated string buffer to get passed back
1575         to the String() constructor that expects a terminated buffer. The characters() call isn't
1576         necessary at all, since we have a String and the method we're calling expects a String.
1577
1578         * platform/win/ClipboardWin.cpp:
1579         (WebCore::ClipboardWin::files): Remove characters() since it doesn't null terminate.
1580
1581 2011-12-05  Timothy Hatcher  <timothy@apple.com>
1582
1583         Keep both InspectorBackend.js and InspectorBackendStub.js in Release builds after
1584         they have been combined into inspector.js.
1585
1586         The InspectorBackend.js file split out of the generated InspectorBackendStub.js
1587         in r101670, and both files are needed to be useful.
1588
1589         https://webkit.org/b/73839
1590
1591         Reviewed by Joseph Pecoraro and Brian Weinstein.
1592
1593         * WebCore.xcodeproj/project.pbxproj: Pass -not -name "InspectorBackend*.js" to find
1594         instead of -not -name InspectorBackendStub.js.
1595
1596 2011-12-05  Mikhail Naganov  <mnaganov@chromium.org>
1597
1598         Web Inspector: [Chromium] Heap profiler should designate weak references.
1599         https://bugs.webkit.org/show_bug.cgi?id=69948
1600
1601         Weak references are now ignored when tracing paths to GC roots.
1602
1603         Reviewed by Yury Semikhatsky.
1604
1605         * inspector/front-end/HeapSnapshot.js:
1606         (WebInspector.HeapSnapshotEdge.prototype.get isWeak):
1607         (WebInspector.HeapSnapshotEdge.prototype.toString):
1608         (WebInspector.HeapSnapshotEdge.prototype.get _hasStringName):
1609         (WebInspector.HeapSnapshotRetainerEdge.prototype.get isWeak):
1610         (WebInspector.HeapSnapshot.prototype._init):
1611         (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren):
1612         (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge):
1613
1614 2011-12-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1615
1616         Unreviewed, rolling out r102004.
1617         http://trac.webkit.org/changeset/102004
1618         https://bugs.webkit.org/show_bug.cgi?id=73835
1619
1620         Breaks qt minimal release compilation (Requested by vsevik on
1621         #webkit).
1622
1623         * inspector/CodeGeneratorInspector.py:
1624         (Capitalizer.upper_camel_case_to_lower):
1625         (RawTypes.get):
1626         (RawTypes.String.get_c_param_type):
1627         (RawTypes.Object.get_c_param_type):
1628         (RawTypes.Object):
1629         (ParamType):
1630         (TypeData.__init__):
1631         (TypeData.get_raw_type):
1632         (TypeMap.__init__):
1633         (InspectorFrontend_h):
1634         (InspectorArray):
1635         (InspectorObject):
1636         (String):
1637         (InspectorBackendDispatcher_h):
1638         (Generator.process_command):
1639         * inspector/InspectorValues.h:
1640
1641 2011-12-05  Peter Rybin  <peter.rybin@gmail.com>
1642
1643         Web Inspector: [protocol] generate C++ classes for protocol JSON named types
1644         https://bugs.webkit.org/show_bug.cgi?id=72835
1645
1646         Reviewed by Yury Semikhatsky.
1647
1648         Extends python generator functionality.
1649         Makes constructor in InspectorObject public.
1650
1651         * inspector/CodeGeneratorInspector.py:
1652         * inspector/InspectorValues.h:
1653
1654 2011-12-05  Pavel Podivilov  <podivilov@chromium.org>
1655
1656         Web Inspector: fix fronted compilation.
1657         https://bugs.webkit.org/show_bug.cgi?id=73831
1658
1659         Reviewed by Yury Semikhatsky.
1660
1661         * inspector/front-end/CompilerSourceMapping.js:
1662         (WebInspector.ClosureCompilerSourceMappingPayload):
1663
1664 2011-12-05  Eric Carlson  <eric.carlson@apple.com>
1665
1666         Out-of-band text tracks may only load from same origin as the media element's Document's origin
1667         https://bugs.webkit.org/show_bug.cgi?id=73184
1668
1669         Reviewed by Sam Weinig.
1670
1671         Test: http/tests/security/text-track-crossorigin.html
1672
1673         * html/HTMLTrackElement.cpp:
1674         (WebCore::urlForLogging): Debug-only function for logging urls.
1675         (WebCore::HTMLTrackElement::scheduleLoad): Call canLoadUrl() before passing control off to
1676             the Track.
1677         (WebCore::HTMLTrackElement::canLoadUrl): Don't ask HTMLMediaElement to validate the url, the
1678             requirements for <track> are different from <video>.
1679         (WebCore::HTMLTrackElement::didCompleteLoad): Change bool param to enum.
1680         (WebCore::HTMLTrackElement::mediaElementCrossOriginAttribute): New, return parent 'crossorigin' 
1681             attribute value.
1682         * html/HTMLTrackElement.h:
1683
1684         * html/LoadableTextTrack.cpp:
1685         (WebCore::LoadableTextTrack::scheduleLoad): Add comments from the spec.
1686         (WebCore::LoadableTextTrack::loadTimerFired): Always cancel pending loads. Let the caller know 
1687             if the loader refuses the url immediately.
1688         (WebCore::LoadableTextTrack::cueLoadingStarted): The <track> deals with readyState.
1689         (WebCore::LoadableTextTrack::cueLoadingCompleted): HTMLTrackElement::didCompleteLoad takes
1690             an enum, not a bool.
1691
1692         * loader/TextTrackLoader.cpp:
1693         (WebCore::TextTrackLoader::corsPolicyPreventedLoad): New, log the error and set m_state.
1694         (WebCore::TextTrackLoader::notifyFinished): Check for CORS failure.
1695         (WebCore::TextTrackLoader::load): Take media element cross-origin attribute as a param so we
1696             can make the correct checks.
1697         * loader/TextTrackLoader.h:
1698
1699 2011-12-05  Roland Steiner  <rolandsteiner@chromium.org>
1700
1701         "Raw" pseudo selectors don't match if immediately after a child or descendant combinator
1702         https://bugs.webkit.org/show_bug.cgi?id=72933
1703
1704         Remove shortcut that prevents universal selectors from being created before shadow pseudo-elements.
1705
1706         Reviewed by Antti Koivisto.
1707
1708         * css/CSSParser.cpp:
1709         (WebCore::CSSParser::updateSpecifiersWithElementName):
1710
1711 2011-12-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1712
1713         Unreviewed, rolling out r101983.
1714         http://trac.webkit.org/changeset/101983
1715         https://bugs.webkit.org/show_bug.cgi?id=73827
1716
1717         It broke all tests on GTK and on Qt in debug mode (Requested
1718         by Ossy on #webkit).
1719
1720         * dom/Document.h:
1721         (WebCore::Node::Node):
1722         * dom/Node.cpp:
1723         (WebCore::Node::~Node):
1724         * dom/Node.h:
1725         (WebCore::Node::inDocument):
1726
1727 2011-12-05  Roland Steiner  <rolandsteiner@chromium.org>
1728
1729         <style scoped>: Add 'scoped' attribute
1730         https://bugs.webkit.org/show_bug.cgi?id=67718
1731
1732         Add 'scoped' attribute to IDL and attribute list,
1733         implement and test setting/resetting of the attribute.
1734
1735         Reviewed by Antti Koivisto.
1736
1737         Test: fast/css/style-scoped/basic-attribute.html
1738
1739         * html/HTMLAttributeNames.in:
1740         * html/HTMLStyleElement.cpp:
1741         (WebCore::HTMLStyleElement::scoped):
1742         (WebCore::HTMLStyleElement::setScoped):
1743         (WebCore::HTMLStyleElement::scopingElement):
1744         * html/HTMLStyleElement.h:
1745         * html/HTMLStyleElement.idl:
1746
1747 2011-12-05  Hajime Morrita  <morrita@chromium.org>
1748
1749         [Refactoring] Accessing Node::m_document should be minimized.
1750         https://bugs.webkit.org/show_bug.cgi?id=73800
1751
1752         Reviewed by Kent Tamura.
1753
1754         No new tests. No behavioral change.
1755
1756         Replaced m_document reference with the document() accessor
1757         or temporaril variables. This is a preparation for using
1758         m_document space to point a shadow root pointer.
1759
1760         * dom/Document.h:
1761         (WebCore::Node::Node):
1762         * dom/Node.cpp:
1763         (WebCore::Node::~Node):
1764         * dom/Node.h:
1765         (WebCore::Node::inDocument):
1766
1767 2011-12-05  Shinya Kawanaka  <shinyak@google.com>
1768
1769         Asynchronous SpellChecker should consider multiple requests.
1770         https://bugs.webkit.org/show_bug.cgi?id=72939
1771
1772         Reviewed by Hajime Morita.
1773
1774         Now SpellChecker saves a request when it is processing the previous spellcheck request.
1775         If there is a request having the same root editable element, the older request is replaced by newer request
1776
1777         Test: editing/spelling/spellcheck-queue.html
1778
1779         * editing/SpellChecker.cpp:
1780         (WebCore::SpellChecker::SpellCheckRequest::SpellCheckRequest):
1781           A structure to have spell check request.
1782         (WebCore::SpellChecker::SpellCheckRequest::sequence):
1783         (WebCore::SpellChecker::SpellCheckRequest::range):
1784         (WebCore::SpellChecker::SpellCheckRequest::text):
1785         (WebCore::SpellChecker::SpellCheckRequest::mask):
1786         (WebCore::SpellChecker::SpellCheckRequest::rootEditableElement):
1787         (WebCore::SpellChecker::SpellChecker):
1788         (WebCore::SpellChecker::createRequest):
1789         (WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
1790           When timer is fired, queued request is processed if any.
1791         (WebCore::SpellChecker::canCheckAsynchronously):
1792         (WebCore::SpellChecker::requestCheckingFor):
1793           When the spellchecker is processing another request, the latest request is queued.
1794         (WebCore::SpellChecker::invokeRequest):
1795         (WebCore::SpellChecker::enqueueRequest):
1796           Enqueues a request. If there is an older request whose root editable element is the same as the request,
1797           it will be replaced.
1798         (WebCore::SpellChecker::didCheck):
1799         * editing/SpellChecker.h:
1800
1801 2011-12-05  Eric Carlson  <eric.carlson@apple.com>
1802
1803         WebCore part of: Add WebKit preferences for text track settings
1804         https://bugs.webkit.org/show_bug.cgi?id=73721
1805
1806         Reviewed by John Sullivan.
1807
1808         No new tests yet, still nothing to test.
1809
1810         * page/Settings.cpp:
1811         (WebCore::Settings::setShouldDisplaySubtitles): Move the setters to the .cpp file so they
1812             aren't inlined.
1813         (WebCore::Settings::setShouldDisplayCaptions): Ditto.
1814         (WebCore::Settings::setShouldDisplayTextDescriptions): Ditto.
1815         * page/Settings.h:
1816
1817 2011-12-05  Noel Gordon  <noel.gordon@gmail.com>
1818
1819         ImageDecoder setSize() should check for backing store allocation failure
1820         https://bugs.webkit.org/show_bug.cgi?id=72864
1821
1822         Reviewed by Adam Barth.
1823
1824         The backing store of a decoded image is a Vector<PixelData> on the affected
1825         ports. And Vector<> provides a resize capacity member that returns false if
1826         memory allocation fails.
1827
1828         setSize() should be called once only during an image decode - add an ASSERT
1829         for that. Resize the backing store capacity to the requested image size and
1830         return false if memory allocation fails.
1831
1832         ImageDecoder::isOverSize(width, height) is called to check that the decoded
1833         width and height won't overflow 'width x height x sizeof(PixelData)' before
1834         calls to setSize(). Refer to http://webkit.org/b/48634
1835
1836         No new tests. Covered by fast/images/size-failure.html
1837
1838         * platform/image-decoders/ImageDecoder.cpp:
1839         (WebCore::ImageFrame::setSize):
1840
1841 2011-12-04  Andreas Kling  <kling@webkit.org>
1842
1843         CSSStyleSheet can't be reparented, enforce this at compile time.
1844         <http://webkit.org/b/73793>
1845
1846         Reviewed by Benjamin Poulain.
1847
1848         * css/StyleSheet.h:
1849         (WebCore::StyleSheet::clearOwnerRule):
1850
1851             Changed setParentRule(CSSImportRule*) to clearOwnerRule() to document and
1852             enforce the fact that style sheets should never be reparented after creation.
1853
1854         (WebCore::StyleSheet::ownerRule):
1855
1856             Renamed parentRule() to ownerRule() to match the CSSOM name.
1857
1858         (WebCore::StyleSheet::ownerNode):
1859         (WebCore::StyleSheet::clearOwnerNode):
1860
1861             Also renamed StyleSheet::m_parentNode to m_ownerNode to match its accessors.
1862
1863         * css/CSSStyleSheet.h:
1864
1865             Removed ownerRule() as we now inherit it from StyleSheet.
1866
1867         * bindings/js/JSDOMBinding.h:
1868         (WebCore::root):
1869         * css/CSSImportRule.cpp:
1870         (WebCore::CSSImportRule::~CSSImportRule):
1871         (WebCore::CSSImportRule::setCSSStyleSheet):
1872         * css/StyleSheet.cpp:
1873         (WebCore::StyleSheet::StyleSheet):
1874         (WebCore::StyleSheet::parentStyleSheet):
1875         (WebCore::StyleSheet::baseURL):
1876         * inspector/InspectorStyleSheet.cpp:
1877         (WebCore::fillMediaListChain):
1878
1879             Update call sites to use the new names.
1880
1881 2011-12-04  Andreas Kling  <kling@webkit.org>
1882
1883         border-width: initial and border-color: initial cannot be removed via CSSOM.
1884         <http://webkit.org/b/68551>
1885
1886         Reviewed by Darin Adler.
1887
1888         Test: fast/css/cssom-remove-shorthand-property.html
1889
1890         When asked to remove a shorthand property, we should toss out both the
1891         sub-properties of that shorthand as well as the shorthand itself, should the
1892         declaration contain it. The latter part was missing in our implementation.
1893
1894         * css/CSSMutableStyleDeclaration.h:
1895         * css/CSSMutableStyleDeclaration.cpp:
1896         (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
1897         (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
1898
1899             Changed to return true only if something was actually removed.
1900
1901 2011-12-04  Ryosuke Niwa  <rniwa@webkit.org>
1902
1903         HIERARCHY_REQUEST_ERR check in checkAcceptChild should be optimized for newChild without children
1904         https://bugs.webkit.org/show_bug.cgi?id=73737
1905
1906         Reviewed by Darin Adler.
1907
1908         It turned out that 50-70% of nodes inserted by DOM APIs such as insertBefore and appendChild
1909         don't have any descendent nodes. Optimize isDescendantOf which is used by checkAcceptChild for this case.
1910         On a test case attached on the bug, we see a 40% improvement.
1911
1912         Also optimize for cases where either new child or new parent but not both are in document as suggested
1913         by Erik Arvidsson. This appears to happen about 40-70% of the time, and the symmetric difference between
1914         the two cases is about 50% so it's worth implementing both optimizations.
1915
1916         Unfortunately no tests because we still have a O(n) algorithm somewhere.
1917
1918         * dom/Node.cpp:
1919         (WebCore::Node::isDescendantOf):
1920         (WebCore::Node::contains):
1921
1922 2011-12-04  Andreas Kling  <kling@webkit.org>
1923
1924         CSSValuePool: Inline trivial getters.
1925         <http://webkit.org/b/73763>
1926
1927         Reviewed by Anders Carlsson.
1928
1929         * css/CSSValuePool.cpp:
1930         * css/CSSValuePool.h:
1931         (WebCore::CSSValuePool::createInheritedValue): Inlined.
1932         (WebCore::CSSValuePool::createImplicitInitialValue): Ditto.
1933         (WebCore::CSSValuePool::createExplicitInitialValue): Ditto.
1934
1935 2011-12-03  Noel Gordon  <noel.gordon@gmail.com>
1936
1937         Fix WebPImageDecoder decoder leak.
1938         https://bugs.webkit.org/show_bug.cgi?id=73756
1939
1940         Reviewed by Andreas Kling.
1941
1942         Delete the m_decoder member in the destructor if needed with WebPIDelete.
1943
1944         No new tests, it's valgrind territory.
1945
1946         * platform/image-decoders/webp/WEBPImageDecoder.cpp:
1947         (WebCore::WEBPImageDecoder::~WEBPImageDecoder):
1948
1949 2011-12-03  Andreas Kling  <kling@webkit.org>
1950
1951         CSSStyleSheet: Parent rule can only ever be @import, enforce this at compile time.
1952         <http://webkit.org/b/73725>
1953
1954         Reviewed by Darin Adler.
1955
1956         Made StyleSheet::m_parentRule a CSSImportRule* rather than a CSSRule*
1957         and updated getters, setters and constructors accordingly.
1958
1959         There is no change in behavior, this simply enforces the status quo.
1960
1961         * WebCore.xcodeproj/project.pbxproj:
1962         * bindings/js/JSDOMBinding.h:
1963         * bindings/scripts/CodeGeneratorV8.pm:
1964         (AddIncludesForType):
1965         * css/CSSStyleSheet.cpp:
1966         (WebCore::CSSStyleSheet::CSSStyleSheet):
1967         * css/CSSStyleSheet.h:
1968         (WebCore::CSSStyleSheet::create):
1969         (WebCore::CSSStyleSheet::ownerRule):
1970         * css/StyleSheet.cpp:
1971         (WebCore::StyleSheet::StyleSheet):
1972         * css/StyleSheet.h:
1973         (WebCore::StyleSheet::parentRule):
1974         (WebCore::StyleSheet::setParentRule):
1975
1976 2011-12-03  Andreas Kling  <kling@webkit.org>
1977
1978         Unreviewed, revert accidental change from r101932.
1979
1980         * bindings/scripts/CodeGeneratorV8.pm:
1981         (AddIncludesForType):
1982
1983 2011-12-03  Mary Wu  <mary.wu@torchmobile.com.cn>
1984
1985         Upstream 4 files into WebCore/platform/blackberry
1986         https://bugs.webkit.org/show_bug.cgi?id=73614
1987
1988         Reviewed by Eric Seidel.
1989
1990         * platform/blackberry/CursorBlackBerry.cpp: Added.
1991         (WebCore::AllCursors::AllCursors):
1992         (WebCore::getCursor):
1993         (WebCore::Cursor::Cursor):
1994         (WebCore::Cursor::~Cursor):
1995         (WebCore::Cursor::operator=):
1996         (WebCore::aliasCursor):
1997         (WebCore::cellCursor):
1998         (WebCore::columnResizeCursor):
1999         (WebCore::contextMenuCursor):
2000         (WebCore::copyCursor):
2001         (WebCore::crossCursor):
2002         (WebCore::eastResizeCursor):
2003         (WebCore::eastWestResizeCursor):
2004         (WebCore::grabbingCursor):
2005         (WebCore::grabCursor):
2006         (WebCore::handCursor):
2007         (WebCore::helpCursor):
2008         (WebCore::iBeamCursor):
2009         (WebCore::moveCursor):
2010         (WebCore::noDropCursor):
2011         (WebCore::noneCursor):
2012         (WebCore::northEastResizeCursor):
2013         (WebCore::northEastSouthWestResizeCursor):
2014         (WebCore::northResizeCursor):
2015         (WebCore::northSouthResizeCursor):
2016         (WebCore::northWestResizeCursor):
2017         (WebCore::northWestSouthEastResizeCursor):
2018         (WebCore::notAllowedCursor):
2019         (WebCore::pointerCursor):
2020         (WebCore::progressCursor):
2021         (WebCore::rowResizeCursor):
2022         (WebCore::southEastResizeCursor):
2023         (WebCore::southResizeCursor):
2024         (WebCore::southWestResizeCursor):
2025         (WebCore::verticalTextCursor):
2026         (WebCore::waitCursor):
2027         (WebCore::westResizeCursor):
2028         (WebCore::zoomInCursor):
2029         (WebCore::zoomOutCursor):
2030         (WebCore::middlePanningCursor):
2031         (WebCore::eastPanningCursor):
2032         (WebCore::northPanningCursor):
2033         (WebCore::northEastPanningCursor):
2034         (WebCore::northWestPanningCursor):
2035         (WebCore::southPanningCursor):
2036         (WebCore::southEastPanningCursor):
2037         (WebCore::southWestPanningCursor):
2038         (WebCore::westPanningCursor):
2039         * platform/blackberry/DragDataBlackBerry.cpp: Added.
2040         (WebCore::DragData::canSmartReplace):
2041         (WebCore::DragData::containsColor):
2042         (WebCore::DragData::containsCompatibleContent):
2043         (WebCore::DragData::containsFiles):
2044         (WebCore::DragData::containsPlainText):
2045         (WebCore::DragData::containsURL):
2046         (WebCore::DragData::asFilenames):
2047         (WebCore::DragData::asColor):
2048         (WebCore::DragData::asPlainText):
2049         (WebCore::DragData::asURL):
2050         (WebCore::DragData::asFragment):
2051         * platform/blackberry/DragImageBlackBerry.cpp: Added.
2052         (WebCore::createDragImageFromImage):
2053         (WebCore::createDragImageIconForCachedImage):
2054         (WebCore::deleteDragImage):
2055         (WebCore::dissolveDragImageToFraction):
2056         (WebCore::scaleDragImage):
2057         (WebCore::dragImageSize):
2058         * platform/blackberry/EventLoopBlackBerry.cpp: Added.
2059         (WebCore::EventLoop::platformInit):
2060         (WebCore::EventLoop::cycle):
2061
2062 2011-12-03  Andreas Kling  <kling@webkit.org>
2063
2064         Cache CSSInitialValue instances per-document.
2065         <http://webkit.org/b/73745>
2066
2067         Reviewed by Oliver Hunt.
2068
2069         Test: http/tests/security/cross-origin-css-primitive.html
2070
2071         Have CSSValuePool manage the caching of CSSInitialValue objects.
2072
2073         * css/CSSInitialValue.h:
2074         (WebCore::CSSInitialValue::createExplicit):
2075         (WebCore::CSSInitialValue::createImplicit):
2076         (WebCore::CSSInitialValue::CSSInitialValue):
2077         * css/CSSParser.cpp:
2078         (WebCore::CSSParser::parseValue):
2079         (WebCore::CSSParser::parseFillShorthand):
2080         (WebCore::CSSParser::parseAnimationShorthand):
2081         (WebCore::CSSParser::parseTransitionShorthand):
2082         (WebCore::CSSParser::parseShorthand):
2083         * css/CSSValuePool.cpp:
2084         (WebCore::CSSValuePool::CSSValuePool):
2085         (WebCore::CSSValuePool::createImplicitInitialValue):
2086         (WebCore::CSSValuePool::createExplicitInitialValue):
2087         * css/CSSValuePool.h:
2088
2089 2011-12-03  Andreas Kling  <kling@webkit.org>
2090
2091         Keep CSSInheritedValue in the CSS value pool.
2092         <http://webkit.org/b/73747>
2093
2094         Reviewed by Antti Koivisto.
2095
2096         We only need one CSSInheritedValue instance per document, so cache it
2097         in CSSValuePool and have the parser create it through there.
2098
2099         * css/CSSParser.cpp:
2100         (WebCore::CSSParser::parseValue):
2101         * css/CSSValuePool.cpp:
2102         (WebCore::CSSValuePool::CSSValuePool):
2103         (WebCore::CSSValuePool::createInheritedValue):
2104         * css/CSSValuePool.h:
2105
2106 2011-12-03  Andreas Kling  <kling@webkit.org>
2107
2108         Rename CSSPrimitiveValueCache to CSSValuePool.
2109         <http://webkit.org/b/73742>
2110
2111         Reviewed by Antti Koivisto.
2112
2113         CSSPrimitiveValueCache -> CSSValuePool
2114         Document::primitiveValueCache() -> Document::cssValuePool()
2115
2116         This is in preparation for sharing more than just primitive values.
2117
2118         * CMakeLists.txt:
2119         * GNUmakefile.list.am:
2120         * Target.pri:
2121         * WebCore.gypi:
2122         * WebCore.vcproj/WebCore.vcproj:
2123         * WebCore.xcodeproj/project.pbxproj:
2124         * bindings/scripts/CodeGeneratorV8.pm:
2125         (AddIncludesForType):
2126         * css/CSSComputedStyleDeclaration.cpp:
2127         (WebCore::valueForNinePieceImageSlice):
2128         (WebCore::valueForNinePieceImageQuad):
2129         (WebCore::valueForNinePieceImageRepeat):
2130         (WebCore::valueForNinePieceImage):
2131         (WebCore::zoomAdjustedPixelValue):
2132         (WebCore::zoomAdjustedNumberValue):
2133         (WebCore::zoomAdjustedPixelValueForLength):
2134         (WebCore::valueForReflection):
2135         (WebCore::getPositionOffsetValue):
2136         (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
2137         (WebCore::getBorderRadiusCornerValue):
2138         (WebCore::computedTransform):
2139         (WebCore::CSSComputedStyleDeclaration::valueForFilter):
2140         (WebCore::valueForGridTrackList):
2141         (WebCore::getDelayValue):
2142         (WebCore::getDurationValue):
2143         (WebCore::createLineBoxContainValue):
2144         (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
2145         (WebCore::CSSComputedStyleDeclaration::valueForShadow):
2146         (WebCore::valueForFamily):
2147         (WebCore::renderTextDecorationFlagsToCSSValue):
2148         (WebCore::fillRepeatToCSSValue):
2149         (WebCore::fillSizeToCSSValue):
2150         (WebCore::contentToCSSValue):
2151         (WebCore::counterToCSSValue):
2152         (WebCore::fontFamilyFromStyle):
2153         (WebCore::lineHeightFromStyle):
2154         (WebCore::fontSizeFromStyle):
2155         (WebCore::fontStyleFromStyle):
2156         (WebCore::fontVariantFromStyle):
2157         (WebCore::fontWeightFromStyle):
2158         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2159         * css/CSSParser.cpp:
2160         (WebCore::parseColorValue):
2161         (WebCore::parseSimpleLengthValue):
2162         (WebCore::CSSParser::setStyleSheet):
2163         (WebCore::CSSParser::createPrimitiveNumericValue):
2164         (WebCore::CSSParser::createPrimitiveStringValue):
2165         (WebCore::CSSParser::parseValidPrimitive):
2166         (WebCore::CSSParser::parseValue):
2167         (WebCore::parseBackgroundClip):
2168         (WebCore::CSSParser::parseFillShorthand):
2169         (WebCore::CSSParser::parsePage):
2170         (WebCore::CSSParser::parseSizeParameter):
2171         (WebCore::CSSParser::parseContent):
2172         (WebCore::CSSParser::parseAttr):
2173         (WebCore::CSSParser::parseBackgroundColor):
2174         (WebCore::CSSParser::parseFillPositionX):
2175         (WebCore::CSSParser::parseFillPositionY):
2176         (WebCore::CSSParser::parseFillPositionComponent):
2177         (WebCore::CSSParser::parseFillPosition):
2178         (WebCore::CSSParser::parseFillRepeat):
2179         (WebCore::CSSParser::parseFillSize):
2180         (WebCore::CSSParser::parseFillProperty):
2181         (WebCore::CSSParser::parseAnimationDirection):
2182         (WebCore::CSSParser::parseAnimationFillMode):
2183         (WebCore::CSSParser::parseAnimationIterationCount):
2184         (WebCore::CSSParser::parseAnimationName):
2185         (WebCore::CSSParser::parseAnimationPlayState):
2186         (WebCore::CSSParser::parseAnimationProperty):
2187         (WebCore::CSSParser::parseAnimationTimingFunction):
2188         (WebCore::CSSParser::parseGridTrackList):
2189         (WebCore::CSSParser::parseDashboardRegions):
2190         (WebCore::CSSParser::parseCounterContent):
2191         (WebCore::CSSParser::parseShape):
2192         (WebCore::CSSParser::parseWrapShape):
2193         (WebCore::CSSParser::parseFont):
2194         (WebCore::CSSParser::parseFontFamily):
2195         (WebCore::CSSParser::parseFontStyle):
2196         (WebCore::CSSParser::parseFontVariant):
2197         (WebCore::CSSParser::parseFontWeight):
2198         (WebCore::CSSParser::parseColor):
2199         (WebCore::ShadowParseContext::ShadowParseContext):
2200         (WebCore::ShadowParseContext::commitLength):
2201         (WebCore::ShadowParseContext::commitStyle):
2202         (WebCore::CSSParser::parseShadow):
2203         (WebCore::CSSParser::parseReflect):
2204         (WebCore::CSSParser::parseFlex):
2205         (WebCore::BorderImageParseContext::BorderImageParseContext):
2206         (WebCore::CSSParser::parseBorderImage):
2207         (WebCore::CSSParser::parseBorderImageRepeat):
2208         (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
2209         (WebCore::BorderImageSliceParseContext::commitNumber):
2210         (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
2211         (WebCore::CSSParser::parseBorderImageSlice):
2212         (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
2213         (WebCore::BorderImageQuadParseContext::commitNumber):
2214         (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
2215         (WebCore::CSSParser::parseBorderImageQuad):
2216         (WebCore::CSSParser::parseBorderRadius):
2217         (WebCore::CSSParser::parseAspectRatio):
2218         (WebCore::CSSParser::parseCounter):
2219         (WebCore::parseDeprecatedGradientPoint):
2220         (WebCore::parseDeprecatedGradientColorStop):
2221         (WebCore::CSSParser::parseDeprecatedGradient):
2222         (WebCore::valueFromSideKeyword):
2223         (WebCore::parseGradientColorOrKeyword):
2224         (WebCore::CSSParser::parseLinearGradient):
2225         (WebCore::CSSParser::parseRadialGradient):
2226         (WebCore::CSSParser::parseCrossfade):
2227         (WebCore::CSSParser::parseCustomFilter):
2228         (WebCore::CSSParser::parseFilter):
2229         (WebCore::CSSParser::parseFlowThread):
2230         (WebCore::CSSParser::parseRegionThread):
2231         (WebCore::CSSParser::parseTextEmphasisStyle):
2232         (WebCore::CSSParser::parseFontFeatureSettings):
2233         * css/CSSParser.h:
2234         (WebCore::CSSParser::cssValuePool):
2235         * css/CSSValuePool.cpp: Renamed from Source/WebCore/css/CSSPrimitiveValueCache.cpp.
2236         (WebCore::CSSValuePool::CSSValuePool):
2237         (WebCore::CSSValuePool::~CSSValuePool):
2238         (WebCore::CSSValuePool::createIdentifierValue):
2239         (WebCore::CSSValuePool::createColorValue):
2240         (WebCore::CSSValuePool::createValue):
2241         * css/CSSValuePool.h: Renamed from Source/WebCore/css/CSSPrimitiveValueCache.h.
2242         (WebCore::CSSValuePool::create):
2243         (WebCore::CSSValuePool::createValue):
2244         * css/mediaControlsGtk.css:
2245         (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
2246         * dom/Document.cpp:
2247         (WebCore::Document::cssValuePool):
2248         * dom/Document.h:
2249
2250 2011-12-03  Andreas Kling  <kling@webkit.org>
2251
2252         Shrink CSSValueList.
2253         <http://webkit.org/b/73732>
2254
2255         Reviewed by Antti Koivisto.
2256
2257         Packed CSSValueList::m_isSpaceSeparated into the CSSValue bit field
2258         and renamed it to m_isSpaceSeparatedValue, shrinking CSSValueList
2259         by one CPU word.
2260
2261         Also renamed CSSValue::m_isImplicit to m_isImplicitInitialValue
2262         for good measure.
2263
2264         * css/CSSInitialValue.h:
2265         (WebCore::CSSInitialValue::CSSInitialValue):
2266         * css/CSSValue.h:
2267         (WebCore::CSSValue::isImplicitInitialValue):
2268         (WebCore::CSSValue::CSSValue):
2269         * css/CSSValueList.cpp:
2270         (WebCore::CSSValueList::CSSValueList):
2271         (WebCore::CSSValueList::copy):
2272         (WebCore::CSSValueList::customCssText):
2273         * css/CSSValueList.h:
2274         (WebCore::CSSValueList::isSpaceSeparated):
2275
2276 2011-12-02  Philippe Normand  <pnormand@igalia.com>
2277
2278         [GStreamer] Fullscreen controller support for the new WebKit Fullscreen API
2279         https://bugs.webkit.org/show_bug.cgi?id=66968
2280
2281         Reviewed by Martin Robinson.
2282
2283         * GNUmakefile.am: Don't use the Quicktime fullscreen CSS anymore,
2284         it wasn't suited for GTK in the first place anyway.
2285         * platform/gtk/RenderThemeGtk.cpp:
2286         (WebCore::RenderThemeGtk::extraFullScreenStyleSheet): Simply reuse
2287         GTK CSS.
2288
2289 2011-12-03  Alejandro G. Castro  <alex@igalia.com>
2290
2291         [GTK] TextureMapperNode should not use Qt types and functions
2292         https://bugs.webkit.org/show_bug.cgi?id=73713
2293
2294         Replace qreal with double and qMin with std::min.
2295
2296         Reviewed by Noam Rosenthal.
2297
2298         * platform/graphics/texmap/TextureMapperNode.cpp:
2299         (WebCore::solveCubicBezierFunction):
2300         (WebCore::solveStepsFunction):
2301
2302 2011-12-03  Dan Winship  <danw@gnome.org>
2303
2304         [GTK] Remove lots of code that is now unnecessary after
2305         SoupRequestHTTP API changes.
2306         https://bugs.webkit.org/show_bug.cgi?id=71611
2307
2308         Reviewed by Martin Robinson.
2309
2310         No new tests; behavior is unchanged
2311
2312         * platform/network/ResourceHandleInternal.h:
2313         (WebCore::ResourceHandleInternal::ResourceHandleInternal): remove
2314         no-longer-needed fields.
2315         * platform/network/soup/ResourceHandleSoup.cpp:
2316         (WebCore::finishedCallback): remove this, and m_finished, which
2317         we no longer need to explicitly track
2318         (WebCore::statusWillBeHandledBySoup):
2319         (WebCore::soupErrorShouldCauseLoadFailure): No longer needed;
2320         SoupRequestHTTP's logic is now aligned with WebKit's.
2321         (WebCore::gotChunkCallback): remove gotChunkCallback, which
2322         is no longer needed
2323         (WebCore::startHTTPRequest):
2324         (WebCore::sendRequestCallback):
2325         (WebCore::gotHeadersCallback):
2326         (WebCore::contentSniffedCallback): merge the code from
2327         gotHeadersCallback and contentSniffedCallback into
2328         sendRequestCallback
2329         * platform/network/soup/ResourceResponseSoup.cpp:
2330         (WebCore::ResourceResponse::updateFromSoupMessage): move the
2331         sniffing override logic here
2332
2333 2011-12-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2334
2335         Unreviewed, rolling out r101904.
2336         http://trac.webkit.org/changeset/101904
2337         https://bugs.webkit.org/show_bug.cgi?id=73739
2338
2339         It broke zillions of tests on all bot (Requested by
2340         Ossy_weekend on #webkit).
2341
2342         * bindings/js/JSDOMWindowCustom.cpp:
2343         (WebCore::handlePostMessage):
2344
2345 2011-12-02  Kentaro Hara  <haraken@chromium.org>
2346
2347         [Refactoring] Use join(", ", @arguments) to build a method argument string in CodeGenerator*.pm
2348         https://bugs.webkit.org/show_bug.cgi?id=73651
2349
2350         Reviewed by Darin Adler.
2351
2352         The code in CodeGenerator*.pm to build a method argument string is really dirty
2353         and error-prone. It is building an argument string incrementally judging whether
2354         ", " is necessary or not, like this:
2355
2356             my $method = ... ? "func(" : "func(a";
2357             if (...) {
2358                 $method .= $method =~ /\($/ ? "b" : ", b";
2359             }
2360             $method .= ")";
2361
2362         Alternatively, we can refactor the code as follows:
2363
2364             my $funcName = "func";
2365             my @arguments;
2366             push(@arguments, "a") if (...);
2367             push(@arguments, "b") if (...);
2368             my $method = $funcName . "(" . join(", ", @arguments) . ")";
2369
2370         This patch just refactors the code, and generated .h and .cpp files should be
2371         exactly the same as the current .h and .cpp files.
2372
2373         Tests: bindings/scripts/test/*
2374
2375         * bindings/scripts/CodeGenerator.pm:
2376         (GetterExpression):
2377         (SetterExpression):
2378         * bindings/scripts/CodeGeneratorCPP.pm:
2379         (GenerateImplementation):
2380         * bindings/scripts/CodeGeneratorGObject.pm:
2381         ():
2382         * bindings/scripts/CodeGeneratorJS.pm:
2383         (GenerateImplementation):
2384         * bindings/scripts/CodeGeneratorObjC.pm:
2385         (GenerateImplementation):
2386         * bindings/scripts/CodeGeneratorV8.pm:
2387         (GenerateNormalAttrGetter):
2388         (GenerateNormalAttrSetter):
2389
2390 2011-12-02  David Levin  <levin@chromium.org>
2391
2392         Rename WTF class from TemporarilyChange to TemporaryChange.
2393         https://bugs.webkit.org/show_bug.cgi?id=73479
2394
2395         Reviewed by Eric Seidel.
2396
2397         * ForwardingHeaders/wtf/TemporarilyChange.h: Removed.
2398         * ForwardingHeaders/wtf/TemporaryChange.h: Added.
2399         * page/FrameView.cpp:
2400         (WebCore::FrameView::forceLayoutParentViewIfNeeded):
2401         (WebCore::FrameView::layout):
2402         (WebCore::FrameView::setScrollPosition):
2403         (WebCore::FrameView::autoSizeIfEnabled):
2404
2405 2011-12-02  Armand Navabi  <armand.navabi@gmail.com>
2406
2407         ASSERT fails in updateState ACTION_DRAW case
2408         https://bugs.webkit.org/show_bug.cgi?id=73351
2409
2410         Reviewed by James Robinson.
2411
2412         Changed ASSERT in CCSchedulerStateMachine to include ( || !m_visible) as discussed in bug 
2413         report. m_commitState is set to COMMIT_STATE_WAITING_FOR_FIRST_DRAW if m_needsCommit or
2414         !m_visible, so in ACTION_DRAW the assert should have both conditions.
2415
2416         * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
2417         (WebCore::CCSchedulerStateMachine::updateState):
2418
2419 2011-12-02  Shawn Singh  <shawnsingh@chromium.org>
2420
2421         [chromium] Scissor rect optimization for chromium compositor
2422         https://bugs.webkit.org/show_bug.cgi?id=67341
2423
2424         Reviewed by James Robinson.
2425
2426         Mostly covered by damage tracker tests. Currently this relies on
2427         manually running layout tests, because this patch requires partial
2428         swaps that are not supported by DumpRenderTree. The feature
2429         automatically disables if partial swap is not supported.
2430
2431         * platform/graphics/chromium/LayerRendererChromium.cpp:
2432         (WebCore::LayerRendererChromium::initialize):
2433         (WebCore::LayerRendererChromium::trackDamageForAllSurfaces):
2434         (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
2435         (WebCore::LayerRendererChromium::drawLayersInternal):
2436         (WebCore::LayerRendererChromium::swapBuffers):
2437         (WebCore::LayerRendererChromium::drawLayer):
2438         * platform/graphics/chromium/LayerRendererChromium.h:
2439         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2440         (WebCore::CCSettings::CCSettings):
2441         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2442         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
2443         (WebCore::CCRenderSurface::draw):
2444         * platform/graphics/chromium/cc/CCRenderSurface.h:
2445
2446 2011-12-02  Dmitry Lomov  <dslomov@google.com>
2447
2448         https://bugs.webkit.org/show_bug.cgi?id=73691
2449         [JSC] Implement correct order of window.postMessage arguments.
2450
2451         Reviewed by Geoffrey Garen.
2452
2453         * bindings/js/JSDOMWindowCustom.cpp:
2454         (WebCore::handlePostMessage):
2455
2456 2011-12-02  Stephen Chenney  <schenney@chromium.org>
2457
2458         REGRESSION (r91125): Polyline tool in google docs is broken
2459         https://bugs.webkit.org/show_bug.cgi?id=65796
2460
2461         Reviewed by Darin Adler.
2462
2463         Work around a bug in CoreGraphics, that caused incorrect bounds for paths
2464         consisting only of move-to elements. This causes problems in SVG, when the enormous
2465         bounds prevented the drawing of things behind.
2466
2467         Tests: svg/custom/path-moveto-only-rendering.svg
2468                svg/custom/subpaths-moveto-only-rendering.svg
2469
2470         * platform/graphics/cg/PathCG.cpp:
2471         (WebCore::PathIsEmptyOrSingleMoveTester::PathIsEmptyOrSingleMoveTester): Class to
2472         test for isEmpty accoridng ot the same rules as other platforms.
2473         (WebCore::PathIsEmptyOrSingleMoveTester::isEmpty): Query the result
2474         (WebCore::PathIsEmptyOrSingleMoveTester::testPathElement): Path iterator method
2475         (WebCore::PathHasOnlyMoveToTester::PathHasOnlyMoveToTester): Class to test whether a
2476         path contains only move-to elements, and hence should have null bounds.
2477         (WebCore::PathHasOnlyMoveToTester::hasOnlyMoveTo): Query the result
2478         (WebCore::PathHasOnlyMoveToTester::testPathElement): Path iterator method.
2479         (WebCore::Path::boundingRect): Modified to check for move-to only paths
2480         (WebCore::Path::fastBoundingRect): Modified to check for move-to only paths
2481         (WebCore::Path::isEmpty): Now uses the method that matches other platforms.
2482         (WebCore::Path::hasCurrentPoint): Now uses CGPathIsEmpty directly
2483         (WebCore::Path::transform) : Now uses CGPathIsEmpty directly
2484
2485 2011-12-02  Mihnea Ovidenie  <mihnea@adobe.com>
2486
2487         [CSSRegions]More renaming for region style rules.
2488         https://bugs.webkit.org/show_bug.cgi?id=73526
2489
2490         Reviewed by Eric Seidel.
2491
2492         Rename isRegionStyleRule() -> isRegionRule()
2493         WEBKIT_REGION_STYLE_RULE -> WEBKIT_REGION_RULE.
2494
2495         * bindings/objc/DOMCSS.mm:
2496         (kitClass):
2497         * bindings/v8/custom/V8CSSRuleCustom.cpp:
2498         (WebCore::toV8):
2499         * css/CSSGrammar.y:
2500         * css/CSSParser.cpp:
2501         (WebCore::CSSParser::createRegionRule):
2502         * css/CSSParser.h:
2503         * css/CSSRule.cpp:
2504         (WebCore::CSSRule::cssText):
2505         (WebCore::CSSRule::destroy):
2506         * css/CSSRule.h:
2507         (WebCore::CSSRule::isRegionRule):
2508         * css/CSSRule.idl:
2509         * css/CSSStyleSelector.cpp:
2510         (WebCore::CSSStyleSelector::addRegionRule):
2511         (WebCore::RuleSet::addRulesFromSheet):
2512         * css/CSSStyleSelector.h:
2513         * css/WebKitCSSRegionRule.cpp:
2514         (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
2515         * css/tokenizer.flex:
2516
2517 2011-12-02  Tom Sepez  <tsepez@chromium.org>
2518
2519         XSSAuditor includes more terminating characters when truncating
2520         attribute values.
2521         https://bugs.webkit.org/show_bug.cgi?id=73684
2522
2523         Reviewed by Daniel Bates.
2524
2525         * html/parser/XSSAuditor.cpp:
2526         (WebCore::isTerminatingCharacter):
2527         (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
2528
2529 2011-12-02  Tony Chang  <tony@chromium.org>
2530
2531         Need to implement flex-flow: column-reverse
2532         https://bugs.webkit.org/show_bug.cgi?id=73504
2533
2534         Reviewed by David Hyatt.
2535
2536         We can't just change the direction of the FlexOrderIterator because we want the overflow to be
2537         on the top. We can't just position them in the reverse location since we don't know where the
2538         bottom edge is until we've layed out the flex items. So we do an extra pass, but it should be
2539         fast since we're not laying out, just moving.
2540
2541         * rendering/RenderFlexibleBox.cpp:
2542         (WebCore::RenderFlexibleBox::flowAwareBorderEnd):
2543         (WebCore::RenderFlexibleBox::flowAwarePaddingEnd):
2544         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
2545         (WebCore::RenderFlexibleBox::layoutColumnReverse): Do an extra pass to reposition flexitems in the reverse order.
2546         * rendering/RenderFlexibleBox.h:
2547
2548 2011-12-02  Stephen Chenney  <schenney@chromium.org>
2549
2550         Divide by zero for zero-length arcs
2551         https://bugs.webkit.org/show_bug.cgi?id=73021
2552
2553         Reviewed by Nikolas Zimmermann.
2554
2555         A zero-length path produces divide by zero, resulting in nothing being
2556         drawn. This change modifies the behavior to produce a zero-length line
2557         which will generate correct linecaps.
2558
2559         Test: svg/stroke/zero-length-arc-linecaps-rendering.svg
2560
2561         * svg/SVGPathParser.cpp:
2562         (WebCore::SVGPathParser::parseArcToSegment): Catch the case of
2563         zero-length arcs and convert them to lines (the same as would happen
2564         for zero arc radii).
2565
2566 2011-12-02  James Wei <james.wei@intel.com> & Xingnan Wang <xingnan.wang@intel.com>
2567
2568         -Implement the SSE optimization for vsmul and vadd.
2569         https://bugs.webkit.org/show_bug.cgi?id=73182
2570
2571         Reviewed by Kenneth Russell.
2572
2573         * platform/audio/VectorMath.cpp:
2574         (WebCore:VectorMath):
2575
2576 2011-12-02  David Grogan  <dgrogan@chromium.org>
2577
2578         Grant workers experimental access to IndexedDB.
2579         https://bugs.webkit.org/show_bug.cgi?id=73609
2580
2581         Reviewed by Nate Chapin.
2582
2583         No new tests - there will be chromium ui tests that depend on
2584         webkit.org/b/73297.
2585
2586         * storage/IDBFactory.cpp:
2587         (WebCore::IDBFactory::open): Call new function,
2588         IDBFactoryBackendInterface::openFromWorker.
2589         * storage/IDBFactoryBackendImpl.cpp:
2590         (WebCore::IDBFactoryBackendImpl::open):
2591         (WebCore::IDBFactoryBackendImpl::openFromWorker):
2592         (WebCore::IDBFactoryBackendImpl::openInternal):
2593         * storage/IDBFactoryBackendImpl.h:
2594         * storage/IDBFactoryBackendInterface.h:
2595         * workers/WorkerContext.cpp:
2596         (WebCore::WorkerContext::webkitIndexedDB): Stores
2597         IDBFactoryBackendInterface, implemented by IDBFactoryBackendProxy in
2598         chromium, in the WorkerContext.  For the Document case it is stored in
2599         the PageGroup.  Storing it in the WorkerContext causes more memory
2600         churn, but that should be trivial.  I don't know of any better
2601         alternatives.
2602         * workers/WorkerContext.h:
2603         * workers/WorkerContext.idl:
2604
2605 2011-12-02  Aaron Colwell  <acolwell@chromium.org>
2606
2607         Fix mixed content handling for video in Chromium by having
2608         CachedResourceLoader & SubresourceLoader use the 
2609         ResourceRequest::TargetType when determining if a RawResource can
2610         be requested.
2611         https://bugs.webkit.org/show_bug.cgi?id=72178
2612
2613         Reviewed by Adam Barth.
2614
2615         Tests: http/tests/security/mixedContent/insecure-video-in-iframe.html
2616                http/tests/security/mixedContent/insecure-video-in-main-frame.html
2617                http/tests/security/mixedContent/redirect-http-to-https-video-in-main-frame.html
2618                http/tests/security/mixedContent/redirect-https-to-http-video-in-main-frame.html
2619
2620         * loader/SubresourceLoader.cpp:
2621         (WebCore::SubresourceLoader::willSendRequest):
2622         * loader/cache/CachedRawResource.cpp:
2623         (WebCore::CachedRawResource::CachedRawResource):
2624         * loader/cache/CachedRawResource.h:
2625         * loader/cache/CachedResource.cpp:
2626         (WebCore::defaultPriorityForResourceType):
2627         (WebCore::cachedResourceTypeToTargetType):
2628         (WebCore::CachedResource::targetTypeToCachedResourceType):
2629         * loader/cache/CachedResource.h:
2630         * loader/cache/CachedResourceLoader.cpp:
2631         (WebCore::createResource):
2632         (WebCore::CachedResourceLoader::checkInsecureContent):
2633         (WebCore::CachedResourceLoader::canRequest):
2634         (WebCore::CachedResourceLoader::requestResource):
2635
2636 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2637
2638         Unreviewed, rolling out r101731.
2639         http://trac.webkit.org/changeset/101731
2640         https://bugs.webkit.org/show_bug.cgi?id=73706
2641
2642         Broke copy and paste in chromium. (Requested by dcheng on #webkit).
2643
2644         * editing/SpellChecker.cpp:
2645         (WebCore::SpellChecker::SpellChecker):
2646         (WebCore::SpellChecker::initRequest):
2647         (WebCore::SpellChecker::clearRequest):
2648         (WebCore::SpellChecker::canCheckAsynchronously):
2649         (WebCore::SpellChecker::isBusy):
2650         (WebCore::SpellChecker::isValid):
2651         (WebCore::SpellChecker::requestCheckingFor):
2652         (WebCore::SpellChecker::doRequestCheckingFor):
2653         (WebCore::SpellChecker::didCheck):
2654         * editing/SpellChecker.h:
2655
2656 2011-12-02  Fady Samuel  <fsamuel@chromium.org>
2657
2658         When page scaling is in use position:fixed has incorrect results
2659         https://bugs.webkit.org/show_bug.cgi?id=68617
2660
2661         Reviewed by Simon Fraser.
2662
2663         Add the option for position:fixed elements to be fixed to the frame
2664         instead of the layout rectangle of the document.
2665
2666         Tests: fast/repaint/fixed-in-page-scale.html
2667                fast/repaint/fixed-right-bottom-in-page-scale.html
2668                fast/repaint/fixed-right-in-page-scale.html
2669
2670         * WebCore.exp.in:
2671         * page/FrameView.cpp:
2672         (WebCore::FrameView::reset):
2673         (WebCore::FrameView::scrollXForFixedPosition):
2674         (WebCore::FrameView::scrollYForFixedPosition):
2675           If position:fixed elements are relative to the frame, disregard the
2676           drag factor.
2677         (WebCore::FrameView::setShouldLayoutFixedElementsRelativeToFrame):
2678         * page/FrameView.h:
2679         (WebCore::FrameView::shouldLayoutFixedElementsRelativeToFrame):
2680         * rendering/RenderBox.cpp:
2681         (WebCore::RenderBox::shouldLayoutFixedElementRelativeToFrame):
2682         (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
2683         (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
2684           If position:fixed elements are relative to the frame, their container
2685           is the frame instead of the layout rect of the document. 
2686           This allows proper positioning of these elements to the right and
2687           bottom.
2688         * rendering/RenderBox.h:
2689         * testing/Internals.cpp:
2690         (WebCore::Internals::setShouldLayoutFixedElementsRelativeToFrame):
2691         * testing/Internals.h:
2692         * testing/Internals.idl:
2693           Allow enabling and disabling the new behavior in layout tests.
2694
2695 2011-12-02  Benjamin Poulain  <bpoulain@apple.com>
2696
2697         Build fix for SubresourceLoader when building with Core Foundation
2698         https://bugs.webkit.org/show_bug.cgi?id=73709
2699
2700         Reviewed by David Kilzer.
2701
2702         The patch r100311 removed SubresourceClient and merged it in SubresourceLoader.
2703         Consequently, m_client does not exist anymore and there is no need to do the check
2704         before invoking didReceiveData().
2705
2706         * loader/cf/SubresourceLoaderCF.cpp:
2707         (WebCore::SubresourceLoader::didReceiveDataArray):
2708
2709 2011-12-02  Andreas Kling  <kling@webkit.org>
2710
2711         StyledElement: Simplify addCSSColor().
2712         <http://webkit.org/b/73703>
2713
2714         Reviewed by Darin Adler.
2715
2716         The Color(const String&) constructor handles both named and 3/6-digit
2717         hex colors, so there's no need to handle those separately here.
2718         Also tweaked some comments and minor things.
2719
2720         * dom/StyledElement.cpp:
2721         (WebCore::StyledElement::addCSSColor):
2722
2723 2011-12-02  Benjamin Poulain  <bpoulain@apple.com>
2724
2725         Update platform/iphone to platform/ios
2726         https://bugs.webkit.org/show_bug.cgi?id=73708
2727
2728         Reviewed by Darin Adler.
2729
2730         The platform is now best known as iOS, update the platform layer accordingly.
2731
2732         * Configurations/WebCore.xcconfig:
2733         * WebCore.gypi:
2734         * WebCore.xcodeproj/project.pbxproj:
2735         * platform/cocoa/KeyEventCocoa.mm:
2736         * platform/ios/KeyEventCodesIOS.h: Renamed from Source/WebCore/platform/iphone/KeyEventCodesIPhone.h.
2737         * platform/ios/KeyEventIOS.mm: Renamed from Source/WebCore/platform/iphone/KeyEventIPhone.mm.
2738         (WebCore::keyIdentifierForKeyEvent):
2739         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
2740         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
2741         (WebCore::PlatformKeyboardEvent::currentCapsLockState):
2742         (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
2743
2744 2011-12-02  Jonathan Backer  <backer@chromium.org>
2745
2746         [chromium] Eliminate unnecessary state on previous CL
2747         https://bugs.webkit.org/show_bug.cgi?id=73661
2748
2749         Reviewed by Kenneth Russell.
2750
2751         * platform/graphics/chromium/LayerRendererChromium.cpp:
2752         (WebCore::LayerRendererChromium::initialize):
2753         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2754         (WebCore::CCLayerTreeHost::initialize):
2755         (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
2756         * platform/graphics/chromium/cc/CCLayerTreeHost.h:
2757         (WebCore::CCSettings::CCSettings):
2758         (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
2759
2760 2011-12-02  Dan Bernstein  <mitz@apple.com>
2761
2762         <rdar://problem/10520670> REGRESSION (r91738): didFinishLoad is called before custom fonts have finished loading
2763         https://bugs.webkit.org/show_bug.cgi?id=73688
2764
2765         Reviewed by Darin Adler.
2766
2767         The problem was that after CSSFontFaceSource::getFontData() had scheduled a 0-delay timer to
2768         begin loading the font, but before that timer fired, the subresource loader appeared to have
2769         had no resources waiting to be loaded, and therefore didFinishLoad could be called. This change
2770         reworks the fix for <http://webkit.org/b/65123> so that while the load is still started on a
2771         0-delay timer, the subresource loader’s request count is incremented immediately, preventing
2772         it from hitting 0 while the font load is scheduled to begin. The delayed load mechanism is
2773         moved from CSSFontFaceSource into CSSFontSelector in order to safely handle the possibility of
2774         the latter being decommissioned while waiting for font loading to begin.
2775
2776         * css/CSSFontFaceSource.cpp:
2777         (WebCore::CSSFontFaceSource::CSSFontFaceSource): Removed initializer for m_loadStartTimer.
2778         (WebCore::CSSFontFaceSource::~CSSFontFaceSource): Removed stopping of m_loadStartTimer.
2779         (WebCore::CSSFontFaceSource::getFontData): Replaced code to schedule loading on a timer with
2780         a call to CSSFontSelector::beginLoadingFontSoon.
2781         * css/CSSFontFaceSource.h: Removed m_loadStartTimer and m_fontSelector member variables.
2782         * css/CSSFontSelector.cpp:
2783         (WebCore::CSSFontSelector::CSSFontSelector): Added initialized for m_beginLoadingTimer.
2784         (WebCore::CSSFontSelector::~CSSFontSelector): Added call to clearDocument(), to deal with
2785         anything remaining in m_fontsToBeginLoading at this time.
2786         (WebCore::CSSFontSelector::clearDocument): Now stops m_beginLoadingTimer and balances
2787         incrementRequestCount() calls for anything remaining in m_fontsToBeginLoading.
2788         (WebCore::CSSFontSelector::beginLoadingFontSoon): Added. Schedules the actual call to
2789         CachedFont::beginLoadingIfNeeded on a 0-delay timer, and meanwhile increments the request count
2790         on the CachedResourceLoader, which ensures that didFinishLoad will not be called while waiting
2791         for the timer to fire.
2792         (WebCore::CSSFontSelector::beginLoadTimerFired): Added. Actually calls
2793         CachedFont::beginLoadIfNeeded and balances the incrementRequestCount() made when the timer was
2794         scheduled.
2795         * css/CSSFontSelector.h:
2796
2797 2011-12-02  David Tseng  <dtseng@google.com>
2798
2799         Send an AXCheckedStateChanged notification when the aria-checked attribute changes.
2800         https://bugs.webkit.org/show_bug.cgi?id=72754
2801
2802         Reviewed by Chris Fleizach.
2803
2804         Test: accessibility/aria-checkbox-sends-notification.html
2805
2806         * accessibility/AXObjectCache.cpp:
2807         (WebCore::AXObjectCache::checkedStateChanged):
2808         * accessibility/AXObjectCache.h:
2809         * dom/Element.cpp:
2810         (WebCore::Element::updateAfterAttributeChanged):
2811         * html/HTMLInputElement.cpp:
2812         (WebCore::HTMLInputElement::setChecked):
2813
2814 2011-12-02  Grace Kloba  <klobag@chromium.org>
2815
2816         [chromium] Recycle tile-sized textures during commit to prevent reallocations
2817         https://bugs.webkit.org/show_bug.cgi?id=70645
2818
2819         Reviewed by James Robinson.
2820
2821         Currently texture request is capped by the high limit while we reclaim the
2822         textures in each commit. This triggers new tiles always allocated when scrolling.
2823         The proposal is to recycle the texture during request if the total used memory
2824         is about to exceed the reclaim limit.
2825
2826         * platform/graphics/chromium/ManagedTexture.cpp:
2827         (WebCore::ManagedTexture::reserve):
2828         * platform/graphics/chromium/TextureManager.cpp:
2829         (WebCore::TextureManager::setMemoryLimitBytes):
2830         (WebCore::TextureManager::replaceTexture):
2831         (WebCore::TextureManager::requestTexture):
2832         * platform/graphics/chromium/TextureManager.h:
2833
2834 2011-12-02  Kent Tamura  <tkent@chromium.org>
2835
2836         [Chromium] Show placeholder even if the element is focused
2837         https://bugs.webkit.org/show_bug.cgi?id=73629
2838
2839         Reviewed by Hajime Morita.
2840
2841         No new tests. Need to update some existing placeholder tests.
2842
2843         * rendering/RenderThemeChromiumMac.h: Add shouldShowPlaceholderWhenFocused().
2844         * rendering/RenderThemeChromiumMac.mm:
2845         (WebCore::RenderThemeChromiumMac::shouldShowPlaceholderWhenFocused):
2846         Returns true.
2847         * rendering/RenderThemeChromiumSkia.cpp:
2848         (WebCore::RenderThemeChromiumSkia::shouldShowPlaceholderWhenFocused): ditto.
2849         * rendering/RenderThemeChromiumSkia.h: Add shouldShowPlaceholderWhenFocused().
2850
2851 2011-12-02  Kent Tamura  <tkent@chromium.org>
2852
2853         [Lion][Windows] Both of placeholder and input text are shown in <input type=number>
2854         https://bugs.webkit.org/show_bug.cgi?id=73615
2855
2856         Reviewed by Joseph Pecoraro.
2857
2858         Placeholder visibility was checked by HTMLInputElement::value
2859         emptiness. It should be innerTextValue emptiness because it is
2860         possible that a number field has empty HTMLInputElement::value and
2861         non-empty innerTextValue.
2862
2863         Tests: fast/forms/number/number-placeholder-with-unacceptable-value.html
2864
2865         * html/HTMLInputElement.cpp:
2866         (WebCore::HTMLInputElement::updateInnerTextValue):
2867         We should update placeholder visiblity when the innerTextValue is updated.
2868         (WebCore::HTMLInputElement::subtreeHasChanged): ditto.
2869         (WebCore::HTMLInputElement::setSuggestedValue):
2870         We don't need to call updatePlaceholderVisibility() because updateInnerTextValue() calls it.
2871         (WebCore::HTMLInputElement::setValueFromRenderer):
2872         We don't need to call updatePlaceholderVisibility() because subtreeHasChanged() calls it.
2873         * html/HTMLInputElement.h: Checks innerTextValue emptiness.
2874         * html/TextFieldInputType.cpp:
2875         (WebCore::TextFieldInputType::setValue):
2876         We don't need to call updatePlaceholderVisibility() because updateInnerTextValue() calls it.
2877
2878 2011-12-01  Alok Priyadarshi  <alokp@chromium.org>
2879
2880         [chromium] CCLayerQuad does not return FloatQuad in correct order
2881         https://bugs.webkit.org/show_bug.cgi?id=73247
2882
2883         Reviewed by James Robinson.
2884
2885         Returned the FloatQuad coordinates in correct order.
2886         
2887         Covered by new unit tests in CCLayerQuadTest.cpp.
2888
2889         * platform/graphics/chromium/cc/CCLayerQuad.cpp:
2890         (WebCore::CCLayerQuad::floatQuad):
2891
2892 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
2893
2894         Unreviewed, rolling out r101833.
2895         http://trac.webkit.org/changeset/101833
2896         https://bugs.webkit.org/show_bug.cgi?id=73678
2897
2898         test_expectations file invalid: run Tools/Scripts/new-run-
2899         webkit-tests --lint-test-files (Requested by scheib on
2900         #webkit).
2901
2902         * platform/graphics/chromium/cc/CCLayerQuad.cpp:
2903         (WebCore::CCLayerQuad::floatQuad):
2904
2905 2011-12-02  Alok Priyadarshi  <alokp@chromium.org>
2906
2907         [chromium] CCLayerQuad does not return FloatQuad in correct orientation
2908         https://bugs.webkit.org/show_bug.cgi?id=73247
2909
2910         Reviewed by James Robinson.
2911
2912         Returned the FloatQuad coordinates in correct order.
2913         
2914         Covered by new unit tests in CCLayerQuadTest.cpp.
2915
2916         * platform/graphics/chromium/cc/CCLayerQuad.cpp:
2917         (WebCore::CCLayerQuad::floatQuad):
2918
2919 2011-12-01  Dmitry Lomov  <dslomov@google.com>
2920
2921         https://bugs.webkit.org/show_bug.cgi?id=73589
2922         [V8][Chromium] Adjust postMessage to the latest "implementation-ready" spec.
2923         - postMessage should support transfer of MessagePorts
2924         - the order of arguments to Window::postMessage and Window::webkitPostMessage should be (msg, targetOrigin [, transfer])
2925
2926         Reviewed by David Levin.
2927
2928         * bindings/v8/custom/V8DOMWindowCustom.cpp:
2929         (WebCore::handlePostMessageCallback):
2930         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
2931         (WebCore::handlePostMessageCallback):
2932         * bindings/v8/custom/V8MessagePortCustom.cpp:
2933         (WebCore::handlePostMessageCallback):
2934         * bindings/v8/custom/V8WorkerCustom.cpp:
2935         (WebCore::handlePostMessageCallback):
2936
2937 2011-12-02  Enrica Casucci  <enrica@apple.com>
2938
2939         https://bugs.webkit.org/show_bug.cgi?id=73497
2940         This is a followup to the patch submitted for the bug above.
2941         Tha patch was landed in r101575 and I missed to make one of the changes
2942         suggested by the reviewer that had pointed out that the code was still
2943         making use of the deprecatedNode method.
2944
2945         Unreviewed.
2946
2947         * editing/DeleteSelectionCommand.cpp:
2948         (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Changed deprecatedNode to containerNode.
2949
2950 2011-12-02  Tom Sepez  <tsepez@chromium.org>
2951
2952         Content-security-policy script-src not enforced on workers.
2953         https://bugs.webkit.org/show_bug.cgi?id=73240
2954
2955         Reviewed by Adam Barth.
2956
2957         Add a CSP check in AbstractWorker.cpp as part of resolving URL.
2958         
2959         Test: http/tests/security/contentSecurityPolicy/worker-script-src.html
2960
2961         * workers/AbstractWorker.cpp:
2962         (WebCore::AbstractWorker::resolveURL):
2963
2964 2011-12-02  Daniel Cheng  <dcheng@chromium.org>
2965
2966         [chromium] Add plumbing for supporting custom MIME types in DataTransfer.
2967         https://bugs.webkit.org/show_bug.cgi?id=73594
2968
2969         Reviewed by David Levin.
2970
2971         Tests: editing/pasteboard/clipboard-customData.html
2972                fast/events/drag-customData.html
2973
2974         * platform/chromium/ChromiumDataObject.cpp:
2975         (WebCore::ChromiumDataObject::types):
2976         (WebCore::ChromiumDataObject::getData):
2977         (WebCore::ChromiumDataObject::setData):
2978         * platform/chromium/ChromiumDataObject.h:
2979         (WebCore::ChromiumDataObject::customData):
2980         * platform/chromium/PlatformSupport.h:
2981
2982 2011-12-02  Darin Adler  <darin@apple.com>
2983
2984         [Mac] Form stream data structures still not threadsafe
2985         https://bugs.webkit.org/show_bug.cgi?id=73674
2986
2987         Reviewed by Anders Carlsson.
2988
2989         * platform/network/mac/FormDataStreamMac.mm:
2990         (WebCore::streamFieldsMapMutex): Added. 
2991         (WebCore::associateStreamWithResourceHandle): Use streamFieldsMapMutex.
2992         (WebCore::formCreate): Ditto.
2993         (WebCore::formFinalize): Ditto.
2994         (WebCore::httpBodyFromStream): Ditto.
2995
2996 2011-12-02  Joshua Bell  <jsbell@chromium.org>
2997
2998         IndexedDB: Rename "multientry" to "multiEntry" per spec change
2999         https://bugs.webkit.org/show_bug.cgi?id=73578
3000
3001         Reviewed by Darin Fisher.
3002
3003         * storage/IDBIndex.h:
3004         (WebCore::IDBIndex::multiEntry):
3005         * storage/IDBIndex.idl:
3006         * storage/IDBIndexBackendImpl.cpp:
3007         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
3008         * storage/IDBIndexBackendImpl.h:
3009         (WebCore::IDBIndexBackendImpl::create):
3010         (WebCore::IDBIndexBackendImpl::multiEntry):
3011         * storage/IDBIndexBackendInterface.h:
3012         * storage/IDBLevelDBBackingStore.cpp:
3013         (WebCore::IDBLevelDBBackingStore::getIndexes):
3014         (WebCore::IDBLevelDBBackingStore::createIndex):
3015         * storage/IDBLevelDBCoding.cpp:
3016         * storage/IDBObjectStore.cpp:
3017         (WebCore::IDBObjectStore::createIndex):
3018         * storage/IDBObjectStoreBackendImpl.cpp:
3019         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3020         (WebCore::IDBObjectStoreBackendImpl::createIndex):
3021         (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
3022         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
3023         * storage/IDBObjectStoreBackendImpl.h:
3024         * storage/IDBObjectStoreBackendInterface.h:
3025
3026 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3027
3028         Unreviewed, rolling out r101805.
3029         http://trac.webkit.org/changeset/101805
3030         https://bugs.webkit.org/show_bug.cgi?id=73670
3031
3032         Many canvas tests started failing due to the isEmpty change
3033         (Requested by darin on #webkit).
3034
3035         * platform/graphics/cg/PathCG.cpp:
3036         (WebCore::Path::boundingRect):
3037         (WebCore::Path::fastBoundingRect):
3038         (WebCore::Path::isEmpty):
3039
3040 2011-12-01  Darin Adler  <darin@apple.com>
3041
3042         [Mac] Reference count threading violation in FormDataStreamMac.mm
3043         https://bugs.webkit.org/show_bug.cgi?id=73627
3044
3045         Reviewed by Sam Weinig.
3046
3047         Shows up as a crash during existing layout test runs so no new tests are required.
3048
3049         * platform/network/mac/FormDataStreamMac.mm:
3050         (WebCore::streamFieldsMap): Replaced getStreamFormDataMap with this.
3051         Use an NSMapTable instead of a HashMap because we need to remove items from this
3052         on a non-main thread.
3053         (WebCore::associateStreamWithResourceHandle): Use NSMapGet instead of
3054         HashMap::contains here.
3055         (WebCore::formCreate): FormStreamFields now stores a RefPtr to the form data.
3056         Added the code to fill that in. Did it in a more modern way to avoid the leakRef
3057         and adoptRef that were used before. Replaced the code that set up the stream
3058         form data map entry with code that sets an entry in the streamFieldsMap.
3059         (WebCore::formFinishFinalizationOnMainThread): Added. Contains the work of
3060         finalization that must be done on the main thread, specifically, destroying the
3061         fields structure that contains objects with RefPtr in them. We can't touch these
3062         reference counts on non-main threads.
3063         (WebCore::formFinalize): Changed this to use NSMapRemove on the streamFieldsMap.
3064         Added a callOnMainThread to finish the finalization.
3065         (WebCore::setHTTPBody): Removed the leakRef, no longer needed, that used to be
3066         balanced by an adoptRef in formCreate.
3067         (WebCore::httpBodyFromStream): Changed to use NSMapGet.
3068
3069 2011-12-02  Antti Koivisto  <antti@apple.com>
3070
3071         https://bugs.webkit.org/show_bug.cgi?id=73520
3072         REGRESSION(r101524): Article titles invisible until hover on blaze.com
3073
3074         Reviewed by Darin Adler.
3075         
3076         We need to invalidate the matched declaration cache when new web fonts are loaded.
3077         Fonts in the cached RenderStyles may not be valid anymore.
3078         
3079         Also renamed m_matchStyleDeclarationCache -> m_matchedStyleDeclarationCache.
3080         
3081         Test reduction by the Reduction Fairy (aka kling).
3082
3083         Test: fast/css/font-face-cache-bug.html
3084
3085         * css/CSSFontSelector.cpp:
3086         (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
3087         * css/CSSStyleSelector.cpp:
3088         (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
3089         (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
3090         (WebCore::CSSStyleSelector::invalidateMatchedDeclarationCache):
3091         * css/CSSStyleSelector.h:
3092
3093 2011-11-02  Jer Noble  <jer.noble@apple.com>
3094
3095         MediaControls should use MediaController if present.
3096         https://bugs.webkit.org/show_bug.cgi?id=71410
3097
3098         Reviewed by Eric Carlson.
3099
3100         No new tests; covered by existing tests.
3101
3102         Add support for individual media controls to control the MediaController of their associated
3103         HTMLMediaElement, if present.
3104
3105         The video spec requires that UA provided media controls be implemented in terms of their 
3106         HTMLMediaElement's MediaController, if present.  So for each of the media controls, modify 
3107         their constructor to take a Document* instead of an HTMLMediaElement, and add an setter
3108         taking a MediaControllerInterface.
3109
3110         Now that MediaControls have an abstract interface instead of an HTMLMediaElement, use toParentMediaElement
3111         to find the controllingVideoElement.
3112         * accessibility/AccessibilityMediaControls.cpp:
3113         (WebCore::AccessibilityMediaControlsContainer::controllingVideoElement):
3114
3115         Pass the MediaController or the HTMLMediaElement when setting up the elements controls.
3116         * html/HTMLMediaElement.cpp:
3117         (WebCore::HTMLMediaElement::createMediaControls):
3118         (WebCore::HTMLMediaElement::setMediaController):
3119
3120         The following functions have only constructor changes:
3121         * html/shadow/MediaControlElements.cpp:
3122         (WebCore::MediaControlElement::MediaControlElement):
3123         (WebCore::MediaControlPanelElement::MediaControlPanelElement):
3124         (WebCore::MediaControlPanelElement::create):
3125         (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
3126         (WebCore::MediaControlTimelineContainerElement::create):
3127         (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
3128         (WebCore::MediaControlVolumeSliderContainerElement::create):
3129         (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
3130         (WebCore::MediaControlStatusDisplayElement::create):
3131         (WebCore::MediaControlInputElement::MediaControlInputElement):
3132         (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
3133         (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
3134         (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
3135         (WebCore::MediaControlPanelMuteButtonElement::create):
3136         (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement):
3137         (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
3138         (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
3139         (WebCore::MediaControlPlayButtonElement::create):
3140         (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
3141         (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement):
3142         (WebCore::MediaControlSeekForwardButtonElement::create):
3143         (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement):
3144         (WebCore::MediaControlSeekBackButtonElement::create):
3145         (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
3146         (WebCore::MediaControlRewindButtonElement::create):
3147         (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
3148         (WebCore::MediaControlReturnToRealtimeButtonElement::create):
3149         (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
3150         (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
3151         (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
3152         (WebCore::MediaControlTimelineElement::create):
3153         (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
3154         (WebCore::MediaControlVolumeSliderElement::create):
3155         (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
3156         (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement):
3157         (WebCore::MediaControlFullscreenVolumeSliderElement::create):
3158         (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
3159         (WebCore::MediaControlFullscreenButtonElement::create):
3160         (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement):
3161         (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
3162         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement):
3163         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
3164         (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
3165         (WebCore::MediaControlTimeRemainingDisplayElement::create):
3166         (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement):
3167         (WebCore::MediaControlCurrentTimeDisplayElement::create):
3168         (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement):
3169         * html/shadow/MediaControlRootElement.cpp:
3170         (WebCore::MediaControlRootElement::MediaControlRootElement):
3171         (WebCore::MediaControls::create):
3172         (WebCore::MediaControlRootElement::create):
3173         * html/shadow/MediaControlRootElement.h:
3174         * html/shadow/MediaControls.cpp:
3175         (WebCore::MediaControls::MediaControls):
3176         * html/shadow/MediaControls.h:
3177
3178         The following functions now call MediaControllerInterface instead of HTMLMediaElement directly:
3179         * html/shadow/MediaControlElements.h:
3180         (WebCore::MediaControlStatusDisplayElement::update):
3181         (WebCore::MediaControlMuteButtonElement::updateDisplayType):
3182         (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
3183         (WebCore::MediaControlPlayButtonElement::updateDisplayType):
3184         (WebCore::MediaControlSeekButtonElement::startTimer):
3185         (WebCore::MediaControlSeekButtonElement::stopTimer):
3186         (WebCore::MediaControlSeekButtonElement::nextRate):
3187         (WebCore::MediaControlSeekButtonElement::seekTimerFired):
3188         (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
3189         (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
3190         (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
3191         (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
3192         (WebCore::MediaControlTimelineElement::defaultEventHandler):
3193         (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
3194         (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler):
3195         (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler):
3196         * html/shadow/MediaControlRootElement.cpp:
3197         (WebCore::MediaControlRootElement::reset):
3198         (WebCore::MediaControlRootElement::playbackStarted):
3199         (WebCore::MediaControlRootElement::playbackProgressed):
3200         (WebCore::MediaControlRootElement::playbackStopped):
3201         (WebCore::MediaControlRootElement::updateTimeDisplay):
3202         (WebCore::MediaControlRootElement::loadedMetadata):
3203         (WebCore::MediaControlRootElement::changedVolume):
3204         (WebCore::MediaControlRootElement::enteredFullscreen):
3205         (WebCore::MediaControlRootElement::showVolumeSlider):
3206         (WebCore::MediaControlRootElement::defaultEventHandler):
3207         (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer):
3208         (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired):
3209         * html/shadow/MediaControlRootElementChromium.cpp:
3210         (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
3211         (WebCore::MediaControls::create):
3212         (WebCore::MediaControlRootElementChromium::create):
3213         (WebCore::MediaControlRootElementChromium::reset):
3214         (WebCore::MediaControlRootElementChromium::playbackStarted):
3215         (WebCore::MediaControlRootElementChromium::playbackProgressed):
3216         (WebCore::MediaControlRootElementChromium::playbackStopped):
3217         (WebCore::MediaControlRootElementChromium::updateTimeDisplay):
3218         (WebCore::MediaControlRootElementChromium::defaultEventHandler):
3219         (WebCore::MediaControlRootElementChromium::changedVolume):
3220         (WebCore::MediaControlRootElementChromium::showVolumeSlider):
3221         * html/shadow/MediaControlRootElementChromium.h:
3222
3223         The following functions set the current MediaControllerInterface.
3224         * html/shadow/MediaControlRootElement.cpp:
3225         (WebCore::MediaControlRootElement::setMediaController):
3226         * html/shadow/MediaControlElements.h:
3227         (WebCore::MediaControlElement::setMediaController):
3228         (WebCore::MediaControlElement::mediaController):
3229         (WebCore::MediaControlInputElement::setMediaController):
3230         (WebCore::MediaControlInputElement::mediaController):
3231         * html/shadow/MediaControlRootElementChromium.cpp:
3232         (WebCore::MediaControlRootElementChromium::setMediaController):
3233
3234 2011-12-02  Stephen Chenney  <schenney@chromium.org>
3235
3236         REGRESSION (r91125): Polyline tool in google docs is broken
3237         https://bugs.webkit.org/show_bug.cgi?id=65796
3238
3239         Reviewed by Darin Adler.
3240
3241         Work around a bug in CoreGraphics, that caused incorrect bounds for paths
3242         consisting only of move-to elements. This causes problems in SVG, when the enormous
3243         bounds prevented the drawing of things behind.
3244
3245         Tests: svg/custom/path-moveto-only-rendering.svg
3246                svg/custom/subpaths-moveto-only-rendering.svg
3247
3248         * platform/graphics/cg/PathCG.cpp:
3249         (WebCore::PathIsEmptyOrSingleMoveTester::PathIsEmptyOrSingleMoveTester): Class to
3250         test for isEmpty accoridng ot the same rules as other platforms.
3251         (WebCore::PathIsEmptyOrSingleMoveTester::isEmpty): Query the result
3252         (WebCore::PathIsEmptyOrSingleMoveTester::testPathElement): Path iterator method
3253         (WebCore::PathHasOnlyMoveToTester::PathHasOnlyMoveToTester): Class to test whether a
3254         path contains only move-to elements, and hence should have null bounds.
3255         (WebCore::PathHasOnlyMoveToTester::hasOnlyMoveTo): Query the result
3256         (WebCore::PathHasOnlyMoveToTester::testPathElement): Path iterator method.
3257         (WebCore::Path::boundingRect): Modified to check for move-to only paths
3258         (WebCore::Path::fastBoundingRect): Modified to check for move-to only paths
3259         (WebCore::Path::isEmpty): Now uses the method that matches other platforms.
3260
3261 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3262
3263         Unreviewed, rolling out r101794.
3264         http://trac.webkit.org/changeset/101794
3265         https://bugs.webkit.org/show_bug.cgi?id=73656
3266
3267         Broke win build (Requested by vsevik on #webkit).
3268
3269         * bindings/js/ScriptCallStackFactory.cpp:
3270         * bindings/js/ScriptCallStackFactory.h:
3271         * bindings/scripts/CodeGeneratorJS.pm:
3272         (GenerateParametersCheck):
3273         * bindings/scripts/CodeGeneratorV8.pm:
3274         (GenerateFunctionCallback):
3275         * bindings/scripts/test/JS/JSTestObj.cpp:
3276         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3277         * bindings/scripts/test/V8/V8TestObj.cpp:
3278         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
3279         * bindings/v8/ScriptCallStackFactory.cpp:
3280         * bindings/v8/ScriptCallStackFactory.h:
3281         * inspector/InspectorInstrumentation.cpp:
3282         * inspector/InspectorInstrumentation.h:
3283         * inspector/WorkerInspectorController.h:
3284         * page/Console.cpp:
3285         (WebCore::Console::shouldCaptureFullStackTrace):
3286         * page/Console.h:
3287
3288 2011-12-02  Raphael Kubo da Costa  <kubo@profusion.mobi>
3289
3290         Unreviewed, revert r101347.
3291         https://bugs.webkit.org/show_bug.cgi?id=73580
3292
3293         It breaks the linking of Tools/ targets due to missing functions.
3294
3295         * PlatformEfl.cmake:
3296         * platform/graphics/GraphicsLayer.cpp:
3297         * platform/graphics/GraphicsLayer.h:
3298         * platform/graphics/efl/GraphicsLayerEfl.cpp: Added.
3299         (WebCore::GraphicsLayer::create):
3300         (WebCore::GraphicsLayerEfl::GraphicsLayerEfl):
3301         (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
3302         (WebCore::GraphicsLayerEfl::setNeedsDisplay):
3303         (WebCore::GraphicsLayerEfl::setNeedsDisplayInRect):
3304         * platform/graphics/efl/GraphicsLayerEfl.h: Added.
3305         * platform/graphics/texmap/TextureMapperNode.cpp:
3306         (WebCore::solveCubicBezierFunction):
3307         (WebCore::solveStepsFunction):
3308
3309 2011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>
3310
3311         Web Inspector: Extract default call stack creation and check for front-end from console.
3312         https://bugs.webkit.org/show_bug.cgi?id=73566
3313
3314         Reviewed by Yury Semikhatsky.
3315
3316         * bindings/js/ScriptCallStackFactory.cpp:
3317         (WebCore::createScriptCallStack):
3318         * bindings/js/ScriptCallStackFactory.h:
3319         * bindings/scripts/CodeGeneratorJS.pm:
3320         (GenerateParametersCheck):
3321         * bindings/scripts/CodeGeneratorV8.pm:
3322         (GenerateFunctionCallback):
3323         * bindings/scripts/test/JS/JSTestObj.cpp:
3324         (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
3325         * bindings/scripts/test/V8/V8TestObj.cpp:
3326         (WebCore::TestObjInternal::customArgsAndExceptionCallback):
3327         * bindings/v8/ScriptCallStackFactory.cpp:
3328         (WebCore::createScriptCallStack):
3329         * bindings/v8/ScriptCallStackFactory.h:
3330         * inspector/InspectorInstrumentation.cpp:
3331         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
3332         * inspector/InspectorInstrumentation.h:
3333         (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
3334         * inspector/WorkerInspectorController.h:
3335         (WebCore::WorkerInspectorController::hasFrontend):
3336         * page/Console.cpp:
3337         * page/Console.h:
3338
3339 2011-12-02  Gavin Peters  <gavinp@chromium.org>
3340
3341         Remove instrumentation tracking a fixed bug
3342         https://bugs.webkit.org/show_bug.cgi?id=73471
3343
3344         The underlying bug is fixed (bug 72068), and this instrumentation was intrusive and using
3345         memory, plus the conditional compilation made me sad.
3346
3347         Reviewed by Nate Chapin.
3348
3349         No new tests.
3350
3351         * dom/ScriptElement.cpp:
3352         (WebCore::ScriptElement::ScriptElement):
3353         (WebCore::ScriptElement::requestScript):
3354         (WebCore::ScriptElement::stopLoadRequest):
3355         (WebCore::ScriptElement::notifyFinished):
3356         * dom/ScriptElement.h:
3357         * dom/ScriptRunner.cpp:
3358         (WebCore::ScriptRunner::queueScriptForExecution):
3359
3360 2011-12-02  Vsevolod Vlasov  <vsevik@chromium.org>
3361
3362         Web Inspector: Split view works weirdly in network panel when resizing, showing/hiding main element.
3363         https://bugs.webkit.org/show_bug.cgi?id=73650
3364
3365         Reviewed by Pavel Feldman.
3366
3367         * inspector/front-end/SplitView.js:
3368         (WebInspector.SplitView.prototype._updateResizer):
3369         (WebInspector.SplitView.prototype.hideMainElement):
3370         (WebInspector.SplitView.prototype.showMainElement):
3371         (WebInspector.SplitView.prototype.onResize):
3372         (WebInspector.SplitView.prototype._restoreSidebarWidth):
3373
3374 2011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
3375
3376         Unreviewed, rolling out r101783.
3377         http://trac.webkit.org/changeset/101783
3378         https://bugs.webkit.org/show_bug.cgi?id=73652
3379
3380         Broke chromium win build. (Requested by vsevik on #webkit).
3381
3382         * WebCore.gyp/WebCore.gyp:
3383         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3384         (main):
3385         * WebCore.gypi:
3386         * bindings/scripts/generate-bindings.pl:
3387         * page/DOMWindow.idl:
3388         * webaudio/DOMWindowWebAudio.idl: Removed.
3389
3390 2011-11-28  Alexander Pavlov  <apavlov@chromium.org>
3391
3392         Inline non-replaced elements are reported to have zero width and height
3393         https://bugs.webkit.org/show_bug.cgi?id=61117
3394
3395         Reviewed by Antti Koivisto.
3396
3397         According to http://www.w3.org/TR/CSS21/visudet.html, the "width" and "height" properties
3398         do not apply for inline non-replaced elements and should have their initial value of "auto"
3399         as their computed values.
3400
3401         * css/CSSComputedStyleDeclaration.cpp:
3402         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3403
3404 2011-12-02  Sami Kyostila  <skyostil@chromium.org>
3405
3406         [chromium] Make CCInputHandler scrolling stateful
3407         https://bugs.webkit.org/show_bug.cgi?id=73345
3408
3409         This change makes the scrolling part of CCInputHandler stateful by
3410         replacing scrollRootLayer() with scrollBegin(), scrollBy() and
3411         scrollEnd(). This is done in preparation for scrollable sublayers.
3412         Specifically, scrollBegin() will allow CCLayerTreeHostImpl to perform
3413         input event hit testing to find the layer to be scrolled.
3414
3415         Reviewed by Steve Block.
3416
3417         Tested in CCLayerTreeHostImplTest.
3418
3419         * platform/graphics/chromium/cc/CCInputHandler.h:
3420         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
3421         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
3422         (WebCore::CCLayerTreeHostImpl::currentTimeMs):
3423         (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
3424         (WebCore::findInnermostScrollableLayerAtPoint):
3425         (WebCore::CCLayerTreeHostImpl::scrollBegin):
3426         (WebCore::CCLayerTreeHostImpl::scrollBy):
3427         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
3428
3429 2011-12-02  Kentaro Hara  <haraken@chromium.org>
3430
3431         Use the [Supplemental] IDL for webaudio attributes in Chromium
3432         https://bugs.webkit.org/show_bug.cgi?id=73394
3433
3434         Reviewed by Adam Barth.
3435
3436         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
3437         declarations of webaudio from DOMWindow.idl into a new IDL file
3438         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
3439         feature (aka a module).
3440
3441         - This patch changes the build flow of WebCore.gyp as follows:
3442
3443             Previous build flow:
3444                 foreach $idl (all IDL files) {
3445                     generate-bindings.pl depends on $idl;
3446                     generate-bindings.pl reads $idl;
3447                     generate-bindings.pl generates .h and .cpp files for $idl;
3448                 }
3449
3450             New build flow (See the discussions in bug 72138 for more details):
3451                 resolve-supplemental.pl depends on all IDL files;
3452                 resolve-supplemental.pl reads all IDL files;
3453                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
3454                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
3455                 foreach $idl (all IDL files) {
3456                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
3457                     generate-bindings.pl reads $idl;
3458                     generate-bindings.pl reads supplemental_dependency.tmp;
3459                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
3460                 }
3461
3462         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
3463         will be removed after build scripts for all platforms support the [Supplemental] IDL.
3464         The motivation for the [Supplemented] IDL is as follows:
3465
3466         In order to support the [Supplemental] IDL, we need to
3467         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
3468         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
3469
3470         This build flow requires a change on the following build scripts,
3471         but changing all the build scripts all at once without any regression is too difficult:
3472
3473             - DerivedSources.make
3474             - DerivedSources.pri
3475             - GNUmakefile.am
3476             - PlatformBlackBerry.cmake
3477             - UseJSC.cmake
3478             - UseV8.cmake
3479             - WebCore.vcproj/MigrateScripts
3480             - WebCore.vcproj/WebCore.vcproj
3481             - bindings/gobject/GNUmakefile.am
3482             - WebCore.gyp/WebCore.gyp
3483
3484         Thus, we are planning to change the build scripts one by one, which implies that
3485         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
3486         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
3487         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
3488         in another IDL file somewhere, like this:
3489
3490             DOMWindowWebAudio.idl:
3491                 interface [
3492                     Supplemental=DOMWindow
3493                 ] DOMWindowWebAudio {
3494                     attribute attr1;
3495                     attribute attr2;
3496                 };
3497
3498             DOMWindow.idl:
3499                 interface [
3500                 ] DOMWindow {
3501                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
3502                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
3503                     attribute attr3;
3504                     attribute attr4;
3505                 };
3506
3507         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
3508
3509             - If a given build script supports the [Supplemental] IDL,
3510             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
3511             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
3512             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
3513             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
3514
3515         Tests: webaudio/*
3516
3517         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
3518         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3519         (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file.
3520         * WebCore.gypi: Added DOMWindowWebAudio.idl.
3521         * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
3522         * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
3523         * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
3524
3525 2011-12-02  Vsevolod Vlasov  <vsevik@chromium.org>
3526
3527         Web Inspector: Network panel row highlighting does not work.
3528         https://bugs.webkit.org/show_bug.cgi?id=73644
3529
3530         Reviewed by Pavel Feldman.
3531
3532         * inspector/front-end/networkLogView.css:
3533         (.network-log-grid tr.highlighted-row):
3534         (from):
3535         (to):
3536
3537 2011-12-02  Pavel Feldman  <pfeldman@google.com>
3538
3539         Not reviewed: remove console.timeStamp from the inspector backend dispatcher.
3540
3541         * inspector/front-end/InspectorBackend.js:
3542         (InspectorBackendClass.prototype.sendMessageObjectToBackend):
3543
3544 2011-12-02  Hajime Morrita  <morrita@chromium.org>
3545
3546         Unreviewed, rolling out r101751 and r101775.
3547         http://trac.webkit.org/changeset/101751
3548         http://trac.webkit.org/changeset/101775
3549         https://bugs.webkit.org/show_bug.cgi?id=73191
3550
3551         breaks Windows build
3552
3553         * ForwardingHeaders/runtime/JSExportMacros.h: Removed.
3554         * ForwardingHeaders/wtf/ExportMacros.h: Removed.
3555         * WebCore.vcproj/QTMovieWinCommon.vsprops:
3556         * WebCore.xcodeproj/project.pbxproj:
3557         * config.h:
3558         * platform/PlatformExportMacros.h: Removed.
3559
3560 2011-12-02  Pavel Feldman  <pfeldman@google.com>
3561
3562         Web Inspector: introduce backend stub generation from JSON for the standalone development / remote front-ends.
3563         https://bugs.webkit.org/show_bug.cgi?id=73636
3564
3565         Reviewed by Yury Semikhatsky.
3566
3567         * inspector/front-end/DOMStorage.js:
3568         * inspector/front-end/Database.js:
3569         * inspector/front-end/InspectorBackend.js:
3570         (InspectorBackendClass):
3571         (InspectorBackendClass.prototype.registerCommand):
3572         (InspectorBackendClass.prototype.registerEvent):
3573         (InspectorBackendClass.prototype.runAfterPendingDispatches):
3574         (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
3575         * inspector/front-end/TimelineManager.js:
3576         * inspector/front-end/inspector.js:
3577
3578 2011-12-02  MORITA Hajime  <morrita@google.com>
3579
3580         Unreviewed, another attempt to build fix for r101751:
3581         Adding an include path to make PlatformExportMacros.h visibile from QTMovieWin.
3582
3583         * WebCore.vcproj/QTMovieWinCommon.vsprops:
3584
3585 2011-12-02  Hajime Morrita  <morrita@chromium.org>
3586
3587         Unreviewed, rolling out r101772.
3588         http://trac.webkit.org/changeset/101772
3589
3590         It didn't fix the build failure
3591
3592         * WebCore.vcproj/QTMovieWinCommon.vsprops:
3593
3594 2011-12-02  MORITA Hajime  <morrita@google.com>
3595
3596         Unreviewed attempt to build fix for r101751:
3597         Adding an include path to make PlatformExportMacros.h visibile from QTMovieWin.
3598
3599         * WebCore.vcproj/QTMovieWinCommon.vsprops:
3600
3601 2011-12-01  Andrey Kosyakov  <caseq@chromium.org>
3602
3603         Web Inspector: [Extensions API] pass preferred resource line number to extension's open resource handler
3604         https://bugs.webkit.org/show_bug.cgi?id=73084
3605
3606         Reviewed by Pavel Feldman.
3607
3608         * inspector/front-end/ExtensionAPI.js:
3609         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
3610         (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
3611         * inspector/front-end/ExtensionServer.js:
3612         (WebInspector.ExtensionServer.prototype._handleOpenURL):
3613         * inspector/front-end/HandlerRegistry.js:
3614         (get WebInspector.HandlerRegistry.prototype.set dispatch):
3615         * inspector/front-end/JavaScriptSourceFrame.js:
3616         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
3617         * inspector/front-end/ResourcesPanel.js:
3618         (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
3619         * inspector/front-end/SourceFrame.js:
3620         (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
3621         (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
3622         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
3623         (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
3624         * inspector/front-end/TextViewer.js:
3625         (WebInspector.TextViewer.prototype._contextMenu):
3626         (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
3627         (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
3628         * inspector/front-end/externs.js:
3629         (WebInspector.populateResourceContextMenu):
3630         * inspector/front-end/inspector.js:
3631         (WebInspector.populateResourceContextMenu):
3632         (WebInspector._showAnchorLocation):
3633
3634 2011-12-01  Nayan Kumar K  <nayankk@motorola.com>
3635
3636         [GTK] Add compilation options to enable/disable Accelerated Compositing and to choose texture mapper implementation.
3637         https://bugs.webkit.org/show_bug.cgi?id=73458
3638
3639         Reviewed by Martin Robinson.
3640
3641         No new tests added as this patch doesn't affect any functionality.
3642
3643         * GNUmakefile.am: Guard the include files.
3644         * GNUmakefile.list.am: Guard the compilation of few files.
3645         * platform/graphics/GraphicsLayer.h: Guard the typedef of GraphicsLayer.
3646
3647 2011-12-01  Andrey Kosyakov  <caseq@chromium.org>
3648
3649         Web Inspector: use object properties, not element attributes to pass preferred panel/line/request id in linkified anchors
3650         https://bugs.webkit.org/show_bug.cgi?id=73556
3651
3652         Reviewed by Pavel Feldman.
3653
3654         * inspector/front-end/AuditFormatters.js:
3655         (WebInspector.AuditFormatters.resourceLink):
3656         * inspector/front-end/ConsoleMessage.js:
3657         (WebInspector.ConsoleMessageImpl.prototype._formatMessage.else.else.linkifier):
3658         (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
3659         * inspector/front-end/DebuggerPresentationModel.js:
3660         (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
3661         (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
3662         * inspector/front-end/NetworkPanel.js:
3663         (WebInspector.NetworkPanel.prototype._resourceByAnchor):
3664         (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
3665         * inspector/front-end/ResourceUtils.js:
3666         (WebInspector.linkifyStringAsFragment):
3667         (WebInspector.linkifyResourceAsNode):
3668         (WebInspector.linkifyRequestAsNode):
3669         * inspector/front-end/ResourcesPanel.js:
3670         (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
3671         * inspector/front-end/inspector.js:
3672         (WebInspector._showAnchorLocation):
3673
3674 2011-12-02  Pavel Feldman  <pfeldman@google.com>
3675
3676         Web Inspector: refactor InspectorBackendDispatcher so that it does not use JSON-serialized command templates.
3677         https://bugs.webkit.org/show_bug.cgi?id=73569
3678
3679         Reviewed by Yury Semikhatsky.
3680
3681         * inspector/CodeGeneratorInspector.py:
3682         (Generator.process_command):
3683         * inspector/Inspector.json:
3684         * inspector/front-end/InspectorBackend.js:
3685         (InspectorBackendClass.prototype._wrap.callback):
3686         (InspectorBackendClass.prototype._wrap):
3687         (InspectorBackendClass.prototype.registerCommand):
3688         (InspectorBackendClass.prototype._invoke):
3689         (InspectorBackendClass.prototype._sendMessageToBackend):
3690         (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject):
3691
3692 2011-12-02  Yosifumi Inoue  <yosin@chromium.org>
3693
3694         Range sliders and spin buttons don't work with multi-columns.
3695         https://bugs.webkit.org/show_bug.cgi?id=70898
3696
3697         Reviewed by Dan Bernstein.
3698
3699         This patch makes RenderBlock::hitTestColumns and
3700         RenderBoxModelObject::mapAbsoluteToLocal to handle point
3701         in multi-column same logic.
3702
3703         In multi-column, coordinate of box model rendering object is different
3704         from absolute coordinate.. Columns in box model rendering object spans
3705         vertically rather than horizontally.
3706
3707         When absolute point is represented in (column[i]+dx, column[0]+dy),
3708         it is (column[0]+dx, column[0] + columnHeight + dy) in box model
3709         rendering object coordinate.
3710
3711         Tests: fast/events/document-elementFromPoint.html
3712                fast/events/offsetX-offsetY.html
3713                fast/forms/number/spin-in-multi-column.html
3714                fast/forms/range/slider-in-multi-column.html
3715                fast/forms/select/listbox-in-multi-column.html
3716
3717         * rendering/RenderBlock.cpp:
3718         (WebCore::ColumnRectIterator::ColumnRectIterator): Added
3719         (WebCore::ColumnRectIterator::advance): Added
3720         (WebCore::ColumnRectIterator::columnRect): Added
3721         (WebCore::ColumnRectIterator::hasMore): Added
3722         (WebCore::ColumnRectIterator::adjust): Added
3723         (WebCore::ColumnRectIterator::update): Added
3724         (WebCore::RenderBlock::hitTestColumns): Use ColumnRectIterator.
3725         (WebCore::RenderBlock::adjustForColumnRect): Added
3726         * rendering/RenderBlock.h: Add adjustForColumnRect.
3727         * rendering/RenderBox.cpp:
3728         (WebCore::RenderBox::mapAbsoluteToLocalPoint): Call RenderBoxModelObject::mapAbsoluteToLocalPoint.
3729         * rendering/RenderBoxModelObject.cpp:
3730         (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint): Move from RenderInline::mapAbsoluteToLocalPoint and call RenderBlock::adjustForColumnRect.
3731         * rendering/RenderBoxModelObject.h: add mapAbsoluteToLocalPoint.
3732         * rendering/RenderInline.cpp: Move mapAbsoluteToLocalPoint to RenderBoxModelObject.
3733         * rendering/RenderInline.h: remove mapAbsoluteToLocalPoint.
3734
3735 2011-12-02  Pavel Feldman  <pfeldman@google.com>
3736
3737         InspectorController destruction order leads to use-after-free
3738         https://bugs.webkit.org/show_bug.cgi?id=73582
3739
3740         Reviewed by Yury Semikhatsky.
3741
3742         * inspector/InspectorBaseAgent.h:
3743         (WebCore::InspectorBaseAgentInterface::discardAgent):
3744         * inspector/InspectorCSSAgent.cpp:
3745         (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
3746         (WebCore::InspectorCSSAgent::discardAgent):
3747         * inspector/InspectorCSSAgent.h:
3748         * inspector/InspectorController.cpp:
3749         (WebCore::InspectorController::~InspectorController):
3750         * inspector/InspectorDOMDebuggerAgent.cpp:
3751         (WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
3752         (WebCore::InspectorDOMDebuggerAgent::discardAgent):
3753         * inspector/InspectorDOMDebuggerAgent.h:
3754
3755 2011-12-02  Leo Yang  <leo.yang@torchmobile.com.cn>
3756
3757         image element with src attribute can't be replaced by content: url() style
3758         https://bugs.webkit.org/show_bug.cgi?id=42840
3759
3760         ImageLoader were updating renderer even if the renderer's image is
3761         style generated content. This was wrong because if an image element
3762         with src attribute and style="content: url(...)" attribute the
3763         src image might override content image. The correct behavior should
3764         be showing content image.
3765
3766         This patch is differentiating style generated RenderImage from the
3767         normal RenderImage and keeps the RenderImageSource untouched if the
3768         renderer is generated content.
3769
3770         Reviewed by Darin Adler.
3771
3772         Test: fast/images/image-css3-content-data.html
3773
3774         * loader/ImageLoader.cpp:
3775         (WebCore::ImageLoader::renderImageResource):
3776         * rendering/RenderImage.cpp:
3777         (WebCore::RenderImage::RenderImage):
3778         * rendering/RenderImage.h:
3779         (WebCore::RenderImage::setIsGeneratedContent):
3780         (WebCore::RenderImage::isGeneratedContent):
3781         * rendering/RenderObject.cpp:
3782         (WebCore::RenderObject::createObject):
3783
3784 2011-12-01  David Levin  <levin@chromium.org>
3785
3786         Add a way to automatically size a single frame to fit its content.
3787         https://bugs.webkit.org/show_bug.cgi?id=73420
3788
3789         Reviewed by Dmitry Titov.
3790
3791         No new functionality exposed so no new tests. (There is a Chromium
3792         specific test in https://bugs.webkit.org/show_bug.cgi?id=73058.)
3793
3794         * page/FrameView.cpp:
3795         (WebCore::FrameView::FrameView): Initialized the new variables.
3796         (WebCore::FrameView::layout):
3797         (WebCore::FrameView::autoSizeIfEnabled):
3798         (WebCore::FrameView::enableAutoSizeMode):
3799         * page/FrameView.h:
3800
3801 2011-12-01  Hajime Morrita  <morrita@chromium.org>
3802
3803         JS_INLINE and WTF_INLINE should be visible from WebCore
3804         https://bugs.webkit.org/show_bug.cgi?id=73191
3805
3806         Reviewed by Kevin Ollivier.
3807
3808         - Moved export related definitions from config.h
3809           to ExportMacros.h, JSExportMacros.h and PlatformExportMacros.h
3810         - Added forwarding headers which are referred from config.h
3811
3812         No new tests. Only build related changes.
3813
3814         * ForwardingHeaders/runtime/JSExportMacros.h: Added.
3815         * ForwardingHeaders/wtf/ExportMacros.h: Added.
3816         * WebCore.xcodeproj/project.pbxproj:
3817         * config.h:
3818         * platform/PlatformExportMacros.h: Copied from Source/JavaScriptCore/wtf/ExportMacros.h.
3819
3820 2011-12-01  Jon Lee  <jonlee@apple.com>
3821
3822         [WK2] Add further support for notifications
3823         https://bugs.webkit.org/show_bug.cgi?id=73572
3824         <rdar://problem/10472195>
3825
3826         Reviewed by Darin Adler.
3827
3828         * WebCore.exp.in: Export constructor and dispatch functions
3829         * dom/EventNames.h: Add show event.
3830         * notifications/Notification.cpp:
3831         (WebCore::Notification::show): For the Mac platform, we just forward the show() call to the
3832         notification client and update the state, because we cannot get synchronous acknowledgment that the
3833         notification got delivered.
3834         (WebCore::Notification::dispatchShowEvent): Create simple events and dispatch to the notification.
3835         (WebCore::Notification::dispatchClickEvent): Ditto.
3836         (WebCore::Notification::dispatchCloseEvent): Ditto.
3837         (WebCore::Notification::dispatchErrorEvent): Ditto.
3838         * notifications/Notification.h: Add dispatch functions.
3839         * notifications/Notification.idl: Add onshow event listener. The ondisplay event listener should be
3840         removed when implementations change the event listener to onshow.
3841
3842 2011-12-01  Max Vujovic  <mvujovic@adobe.com>
3843
3844         Focus ring of imagemap's area element does not scale when CSS zoom style is applied
3845         https://bugs.webkit.org/show_bug.cgi?id=73595
3846
3847         Reviewed by Darin Adler.
3848
3849         Tests: fast/images/imagemap-focus-ring-zoom-style-expected.html
3850                fast/images/imagemap-focus-ring-zoom-style.html
3851
3852         * html/HTMLAreaElement.cpp:
3853         (WebCore::HTMLAreaElement::computePath):
3854         The computePath method now uses the RenderObject's effectiveZoom 
3855         instead of the Frame's page zoom to compute the path for the area
3856         element's focus ring.
3857
3858 2011-12-01  Kent Tamura  <tkent@chromium.org>
3859
3860         REGRESSION(r90971): Placeholder text of input control is rendered
3861         over positioned elements with z-index:0.
3862         https://bugs.webkit.org/show_bug.cgi?id=67408
3863
3864         Reviewed by Darin Adler.
3865
3866         The bug was caused by "position:relative" in the default style of
3867         -webkit-input-placeholder. If there were other positioned elements
3868         with z-index:0, a placeholder might be rendered over them.
3869
3870         "position:relative" is not needed because RenderTextControlSingleLine
3871         and RenderTextControlMultipleLine lay out the placeholder renderer by
3872         custom layout code.
3873
3874         Tests: fast/forms/placeholder-with-positioned-element.html
3875
3876         * css/html.css:
3877         (::-webkit-input-placeholder): Remove position:relative.
3878
3879 2011-12-01  Andreas Kling  <kling@webkit.org>
3880
3881         CSSMutableStyleDeclaration: Removed unused multiLength argument in setLengthProperty().
3882         <http://webkit.org/b/73602>
3883
3884         Reviewed by Darin Adler.
3885
3886         * css/CSSMutableStyleDeclaration.cpp:
3887         (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
3888         * css/CSSMutableStyleDeclaration.h:
3889
3890 2011-12-01  Kentaro Hara  <haraken@chromium.org>
3891
3892         Unreviewed, rolling out r101737.
3893         http://trac.webkit.org/changeset/101737
3894         https://bugs.webkit.org/show_bug.cgi?id=73394
3895
3896         Chromium/Mac and Chromium/Win build are broken
3897
3898         * WebCore.gyp/WebCore.gyp:
3899         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3900         (main):
3901         * WebCore.gypi:
3902         * bindings/scripts/generate-bindings.pl:
3903         * page/DOMWindow.idl:
3904         * webaudio/DOMWindowWebAudio.idl: Removed.
3905
3906 2011-12-01  Kentaro Hara  <haraken@chromium.org>
3907
3908         Use the [Supplemental] IDL for webaudio attributes in Chromium
3909         https://bugs.webkit.org/show_bug.cgi?id=73394
3910
3911         Reviewed by Adam Barth.
3912
3913         - Overview: Using the [Supplemental] IDL, this patch moves the attribute
3914         declarations of webaudio from DOMWindow.idl into a new IDL file
3915         webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
3916         feature (aka a module).
3917
3918         - This patch changes the build flow of WebCore.gyp as follows:
3919
3920             Previous build flow:
3921                 foreach $idl (all IDL files) {
3922                     generate-bindings.pl depends on $idl;
3923                     generate-bindings.pl reads $idl;
3924                     generate-bindings.pl generates .h and .cpp files for $idl;
3925                 }
3926
3927             New build flow (See the discussions in bug 72138 for more details):
3928                 resolve-supplemental.pl depends on all IDL files;
3929                 resolve-supplemental.pl reads all IDL files;
3930                 resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
3931                 resolve-supplemental.pl outputs supplemental_dependency.tmp;
3932                 foreach $idl (all IDL files) {
3933                     generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
3934                     generate-bindings.pl reads $idl;
3935                     generate-bindings.pl reads supplemental_dependency.tmp;
3936                     generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
3937                 }
3938
3939         - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
3940         will be removed after build scripts for all platforms support the [Supplemental] IDL.
3941         The motivation for the [Supplemented] IDL is as follows:
3942
3943         In order to support the [Supplemental] IDL, we need to
3944         (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
3945         (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
3946
3947         This build flow requires a change on the following build scripts,
3948         but changing all the build scripts all at once without any regression is too difficult:
3949
3950             - DerivedSources.make
3951             - DerivedSources.pri
3952             - GNUmakefile.am
3953             - PlatformBlackBerry.cmake
3954             - UseJSC.cmake
3955             - UseV8.cmake
3956             - WebCore.vcproj/MigrateScripts
3957             - WebCore.vcproj/WebCore.vcproj
3958             - bindings/gobject/GNUmakefile.am
3959             - WebCore.gyp/WebCore.gyp
3960
3961         Thus, we are planning to change the build scripts one by one, which implies that
3962         we need to allow the temporary state in which some build scripts support [Supplemental] IDL
3963         but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
3964         The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
3965         in another IDL file somewhere, like this:
3966
3967             DOMWindowWebAudio.idl:
3968                 interface [
3969                     Supplemental=DOMWindow
3970                 ] DOMWindowWebAudio {
3971                     attribute attr1;
3972                     attribute attr2;
3973                 };
3974
3975             DOMWindow.idl:
3976                 interface [
3977                 ] DOMWindow {
3978                     attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
3979                     attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
3980                     attribute attr3;
3981                     attribute attr4;
3982                 };
3983
3984         Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
3985
3986             - If a given build script supports the [Supplemental] IDL,
3987             generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
3988             - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
3989             as normal attributes and instead ignores all attributes with the [Supplemental] IDL
3990             (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
3991
3992         Tests: webaudio/*
3993
3994         * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
3995         * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
3996         (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file.
3997         * WebCore.gypi: Added DOMWindowWebAudio.idl.
3998         * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
3999         * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
4000         * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
4001
4002 2011-12-01  Rafael Weinstein  <rafaelw@chromium.org>
4003
4004         [MutationObservers] StyleAttributeMutationScope shouldn't be implemented with static classes
4005         https://bugs.webkit.org/show_bug.cgi?id=73596
4006
4007         Reviewed by Ojan Vafai.
4008
4009         No tests needed. This patch is a minor refactor.
4010
4011         * css/CSSMutableStyleDeclaration.cpp:
4012
4013 2011-12-01  Andreas Kling  <kling@webkit.org>
4014
4015         CSSMutableStyleDeclaration: Remove unused function setStringProperty().
4016         <http://webkit.org/b/73597>
4017
4018         Reviewed by Darin Adler.
4019
4020         * css/CSSMutableStyleDeclaration.cpp:
4021         * css/CSSMutableStyleDeclaration.h:
4022
4023 2011-12-01  Ryosuke Niwa  <rniwa@webkit.org>
4024
4025         REGRESSION(r101268): Intermittent assertion failure in fast/block/child-not-removed-from-parent-lineboxes-crash.html
4026         https://bugs.webkit.org/show_bug.cgi?id=73250
4027
4028         Reviewed by Darin Adler.
4029
4030         Reset the position when exiting early in layoutRunsAndFloatsInRange.
4031
4032         No new tests because we don't have a reliable reproduction for this failure.
4033         However, the failure is caught by the existing fast/block/child-not-removed-from-parent-lineboxes-crash.html
4034         intermittently with about 30% probability.
4035
4036         * rendering/RenderBlockLineLayout.cpp:
4037         (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
4038
4039 2011-12-01  Shinya Kawanaka  <shinyak@google.com>
4040
4041         Asynchronous SpellChecker should consider multiple requests.
4042         https://bugs.webkit.org/show_bug.cgi?id=72939
4043
4044         Reviewed by Hajime Morita.
4045
4046         Now SpellChecker saves a request when it is processing the previous spellcheck request.
4047         If there is a request having the same root editable element, the older request is replaced by newer request.
4048
4049         Test: editing/spelling/spellcheck-queue.html
4050
4051         * editing/SpellChecker.cpp:
4052         (WebCore::SpellChecker::SpellCheckRequest::SpellCheckRequest):
4053           A structure to have spell check request.
4054         (WebCore::SpellChecker::SpellCheckRequest::sequence):
4055         (WebCore::SpellChecker::SpellCheckRequest::range):
4056         (WebCore::SpellChecker::SpellCheckRequest::text):
4057         (WebCore::SpellChecker::SpellCheckRequest::mask):
4058         (WebCore::SpellChecker::SpellCheckRequest::rootEditableElement):
4059         (WebCore::SpellChecker::SpellChecker):
4060         (WebCore::SpellChecker::createRequest):
4061         (WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
4062           When timer is fired, queued request is processed if any.
4063         (WebCore::SpellChecker::canCheckAsynchronously):
4064         (WebCore::SpellChecker::requestCheckingFor):
4065           When the spellchecker is processing another request, the latest request is queued.
4066