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