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