[BlackBerry] WWW-Authenticate header on 200 response pops up authentication dialog
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2012-05-07  Liam Quinn  <lquinn@rim.com>
2
3         [BlackBerry] WWW-Authenticate header on 200 response pops up authentication dialog
4         https://bugs.webkit.org/show_bug.cgi?id=85643
5
6         Reviewed by George Staikos.
7
8         RIM PR: 151992
9         Ignore WWW-Authenticate header if the response code is not 401.
10         Ignore Proxy-Authenticate header if the response code is not 407.
11
12         Manual test added to observe whether the authentication dialog appears on a 200 response with WWW-Authenticate.
13
14         * platform/network/blackberry/NetworkJob.cpp:
15         (WebCore::NetworkJob::handleNotifyHeaderReceived):
16
17 2012-05-07  Alexander Pavlov  <apavlov@chromium.org>
18
19         Web Inspector: [TextPrompt] Event listeners and CSS style are not removed on detachment
20         https://bugs.webkit.org/show_bug.cgi?id=85789
21
22         Reviewed by Yury Semikhatsky.
23
24         * inspector/front-end/TextPrompt.js:
25         (WebInspector.TextPrompt.prototype._attachInternal):
26         (WebInspector.TextPrompt.prototype.detach):
27
28 2012-05-07  Csaba Osztrogonác  <ossy@webkit.org>
29
30         Buildfix for buggy GCC
31         https://bugs.webkit.org/show_bug.cgi?id=85781
32
33         Reviewed by Zoltan Herczeg.
34
35         * rendering/RenderBlock.h:
36         (WebCore::RenderBlock::MarginInfo::clearMargin):
37
38 2012-05-07  Alexander Pavlov  <apavlov@chromium.org>
39
40         Web Inspector: [REGRESSION] Context menu for the left Script view gutter is broken
41         https://bugs.webkit.org/show_bug.cgi?id=85785
42
43         Reviewed by Pavel Feldman.
44
45         Fixed remaining usages of WebInspector.save to be WebInspector.fileManager.save.
46
47         * inspector/front-end/NetworkPanel.js:
48         (WebInspector.NetworkLogView.prototype._exportAll):
49         (WebInspector.NetworkLogView.prototype._exportRequest):
50         * inspector/front-end/ResourcesPanel.js:
51         (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
52         (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):
53         * inspector/front-end/TextViewer.js:
54         (WebInspector.TextViewer.prototype._contextMenu):
55
56
57 2012-05-07  Antti Koivisto  <antti@apple.com>
58
59         Share stylesheet data structures between documents
60         https://bugs.webkit.org/show_bug.cgi?id=85598
61
62         Reviewed by Darin Adler.
63
64         We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
65         the data until someone uses a mutating CSSOM API to modify the sheet.
66         
67         The patch implements copy-on-write for the internal style sheet data structures. If any mutating CSSOM API is
68         invoked, we check if the mutation is safe (there is only one client, the sheet is not cached). If not then the
69         internal structures are copied and any existing CSSOM objects are re-attached to the new style tree. The copied
70         tree is mutated while the other clients stay attached to the original tree.
71         
72         Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
73         multiple articles open on wsj.com this saves ~2.6MB per tab.
74         
75         Test: http/tests/css/shared-stylesheet-mutation.html
76               http/tests/css/shared-stylesheet-mutation-preconstruct.html
77
78         * css/CSSFontFaceRule.cpp:
79         (WebCore::CSSFontFaceRule::reattach):
80         (WebCore):
81         * css/CSSFontFaceRule.h:
82         (CSSFontFaceRule):
83         * css/CSSMediaRule.cpp:
84         (WebCore::CSSMediaRule::insertRule):
85         (WebCore::CSSMediaRule::deleteRule):
86         (WebCore::CSSMediaRule::reattach):
87         (WebCore):
88         * css/CSSMediaRule.h:
89         (CSSMediaRule):
90         * css/CSSPageRule.cpp:
91         (WebCore::CSSPageRule::setSelectorText):
92         (WebCore::CSSPageRule::reattach):
93         (WebCore):
94         * css/CSSPageRule.h:
95         (CSSPageRule):
96         * css/CSSRule.cpp:
97         (WebCore::CSSRule::reattach):
98         
99             After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.
100
101         * css/CSSRule.h:
102         (WebCore):
103         (CSSRule):
104         * css/CSSStyleRule.cpp:
105         (WebCore::CSSStyleRule::setSelectorText):
106         (WebCore::CSSStyleRule::reattach):
107         (WebCore):
108         * css/CSSStyleRule.h:
109         (CSSStyleRule):
110         * css/CSSStyleSheet.cpp:
111         (WebCore::StyleSheetInternal::StyleSheetInternal):
112         (WebCore::StyleSheetInternal::isCacheable):
113         (WebCore::StyleSheetInternal::ruleAt):
114         
115             Add ruleAt(), use it for both wrapper creation and reattaching.  Remove createChildRuleCSSOMWrapper .
116
117         (WebCore):
118         (WebCore::StyleSheetInternal::wrapperInsertRule):
119         (WebCore::StyleSheetInternal::wrapperDeleteRule):
120         
121             Invalidation moves to the calling wrapper.
122
123         (WebCore::StyleSheetInternal::addedToMemoryCache):
124         (WebCore::StyleSheetInternal::removedFromMemoryCache):
125         (WebCore::CSSStyleSheet::willMutateRules):
126         
127             This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.
128             
129             Usually invoked by CSSStyleSheet::RuleMutation RAII type.
130
131         (WebCore::CSSStyleSheet::didMutateRules):
132         
133             This is called after the mutation is complete and will trigger the style recalc in the document.
134
135         (WebCore::CSSStyleSheet::didMutate):
136         
137             This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.
138
139         (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
140         (WebCore::CSSStyleSheet::setDisabled):
141         (WebCore::CSSStyleSheet::insertRule):
142         (WebCore::CSSStyleSheet::deleteRule):
143         * css/CSSStyleSheet.h:
144         (StyleSheetInternal):
145         (WebCore::StyleSheetInternal::hasOneClient):
146         (WebCore::StyleSheetInternal::isMutable):
147         (WebCore::StyleSheetInternal::setMutable):
148         
149             Track mutability. Mutation is allowed only after willMutate call.
150
151         (WebCore::StyleSheetInternal::isInMemoryCache):
152         
153             Track if the object is in memory cache.
154
155         (WebCore::CSSStyleSheet::clearOwnerRule):
156         (CSSStyleSheet):
157         * css/MediaList.cpp:
158         (WebCore::MediaList::setMediaText):
159         (WebCore::MediaList::deleteMedium):
160         (WebCore::MediaList::appendMedium):
161         (WebCore::MediaList::didMutate):
162         (WebCore):
163         (WebCore::MediaList::reattach):
164         * css/MediaList.h:
165         (MediaList):
166         * css/PropertySetCSSStyleDeclaration.cpp:
167         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
168         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
169         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
170         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
171         (WebCore):
172         (WebCore::StyleRuleCSSStyleDeclaration::willMutate):
173         (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
174         (WebCore::StyleRuleCSSStyleDeclaration::reattach):
175         (WebCore::InlineCSSStyleDeclaration::didMutate):
176         * css/PropertySetCSSStyleDeclaration.h:
177         (WebCore::PropertySetCSSStyleDeclaration::willMutate):
178         (WebCore::PropertySetCSSStyleDeclaration::didMutate):
179         (StyleRuleCSSStyleDeclaration):
180         * css/WebKitCSSKeyframesRule.cpp:
181         (WebCore::WebKitCSSKeyframesRule::setName):
182         (WebCore::WebKitCSSKeyframesRule::insertRule):
183         (WebCore::WebKitCSSKeyframesRule::deleteRule):
184         (WebCore::WebKitCSSKeyframesRule::reattach):
185         (WebCore):
186         * css/WebKitCSSKeyframesRule.h:
187         (WebKitCSSKeyframesRule):
188         * css/WebKitCSSRegionRule.cpp:
189         (WebCore::WebKitCSSRegionRule::reattach):
190         * css/WebKitCSSRegionRule.h:
191         (WebKitCSSRegionRule):
192         * inspector/InspectorStyleSheet.cpp:
193         (WebCore::InspectorStyleSheet::reparseStyleSheet):
194         * loader/cache/CachedCSSStyleSheet.cpp:
195         (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
196         (WebCore::CachedCSSStyleSheet::destroyDecodedData):
197         (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
198         
199             Don't copy when restoring. It is no longer necessary.
200             Set the cache bit on the stylesheet.
201
202         (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
203
204 2012-05-06  Kinuko Yasuda  <kinuko@chromium.org>
205
206         Cleanup: Change boolean synchronous flag argument into enum in FileSystem API code
207         https://bugs.webkit.org/show_bug.cgi?id=85741
208
209         Reviewed by David Levin.
210
211         No new tests as this change has no functional effects.
212
213         * Modules/filesystem/DOMWindowFileSystem.cpp:
214         (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
215         * Modules/filesystem/LocalFileSystem.cpp:
216         (WebCore::LocalFileSystem::requestFileSystem):
217         * Modules/filesystem/LocalFileSystem.h:
218         (LocalFileSystem):
219         * Modules/filesystem/WorkerContextFileSystem.cpp:
220         (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
221         (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
222         (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
223         * platform/FileSystemType.h: Added FileSystemSynchronousType enum.
224
225 2012-05-07  Antti Koivisto  <antti@apple.com>
226
227         Revert the previous.
228
229         Not reviewed.
230         
231         Apparently r116235 was already rolled out.
232
233         * css/StyleResolver.cpp:
234         (WebCore::StyleResolver::determineScope):
235
236 2012-05-07  Antti Koivisto  <antti@apple.com>
237
238         REGRESSION(r116235): broke a lot of tests on all chromium debug bots
239         https://bugs.webkit.org/show_bug.cgi?id=85773
240
241         Not reviewed.
242
243         Try to fix assert when scoped stylesheets are enabled.
244
245         * css/StyleResolver.cpp:
246         (WebCore::StyleResolver::determineScope):
247
248 2012-05-06  Kinuko Yasuda  <kinuko@chromium.org>
249
250         Cleanup: Move FileSystem API type definitions into a separate header file
251         https://bugs.webkit.org/show_bug.cgi?id=85738
252
253         Reviewed by David Levin.
254
255         Move FileSystem API type definitions from AsyncFileSystem.h and
256         AsyncFileSystemChromium.cpp for chromium port into a single separate
257         header file: FileSystemType.h
258
259         By doing this we make it clearer that every filesystem type can be
260         found in the header file and also can save including entire
261         AsyncFileSystem definition just for referring type enum value.
262
263         No new tests as this change has no visible or functional changes.
264
265         * Modules/filesystem/DOMFileSystemBase.cpp:
266         (WebCore::pathToAbsolutePath):
267         * Modules/filesystem/DOMWindowFileSystem.cpp:
268         (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
269         (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
270         (WebCore):
271         * Modules/filesystem/DOMWindowFileSystem.h:
272         * Modules/filesystem/LocalFileSystem.h:
273         (LocalFileSystem):
274         * Modules/filesystem/WorkerContextFileSystem.cpp:
275         (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
276         (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
277         (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
278         (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
279         (WebCore):
280         * Modules/filesystem/WorkerContextFileSystem.h:
281         * platform/AsyncFileSystem.cpp:
282         (WebCore::AsyncFileSystem::isValidType):
283         (WebCore::AsyncFileSystem::create):
284         (WebCore::AsyncFileSystem::openFileSystem):
285         * platform/AsyncFileSystem.h:
286         (AsyncFileSystem):
287         (WebCore::AsyncFileSystem::type):
288         (WebCore::AsyncFileSystem::AsyncFileSystem):
289         * platform/FileSystemType.h: Added.
290         (WebCore):
291         * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
292         (WebCore::AsyncFileSystem::isValidType):
293         (WebCore::AsyncFileSystem::create):
294         (WebCore::AsyncFileSystem::openFileSystem):
295         (WebCore::AsyncFileSystem::crackFileSystemURL):
296         (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
297         * platform/blackberry/AsyncFileSystemBlackBerry.h:
298         (AsyncFileSystemBlackBerry):
299         * platform/gtk/AsyncFileSystemGtk.cpp:
300         (WebCore::AsyncFileSystem::isValidType):
301         (WebCore::AsyncFileSystem::create):
302         (WebCore::AsyncFileSystem::openFileSystem):
303         (WebCore::AsyncFileSystem::crackFileSystemURL):
304         (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
305         * platform/gtk/AsyncFileSystemGtk.h:
306         (AsyncFileSystemGtk):
307
308 2012-05-06  MORITA Hajime  <morrita@google.com>
309
310         https://bugs.webkit.org/show_bug.cgi?id=85265
311         [Shadow DOM] ShadowTree needs a better name
312
313         Reviewed by Dimitri Glazkov.
314
315         Renamed ShadowTree to ElementShadow, The ElementShadow class is
316         going to be a facade of Shadow related APIs.
317
318         Following renames follow:
319         - Element::shadowTree() to Element::shadow()
320         - ShadowRoot::tree() to ShadowRoot::owner()
321         - ShadowTree::recalcShadowTreeStyle() to ElementShadow::recalcStyle()
322
323         No new tests. Just renames.
324
325         * CMakeLists.txt:
326         * GNUmakefile.list.am:
327         * Target.pri:
328         * WebCore.exp.in:
329         * WebCore.gypi:
330         * WebCore.xcodeproj/project.pbxproj:
331         * dom/ComposedShadowTreeWalker.cpp:
332         (WebCore::shadowFor):
333         (WebCore::shadowOfParent):
334         (WebCore::ComposedShadowTreeWalker::traverseChild):
335         (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
336         (WebCore::ComposedShadowTreeWalker::traverseParent):
337         * dom/ContainerNodeAlgorithms.cpp:
338         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
339         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
340         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
341         (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
342         * dom/DOMAllInOne.cpp:
343         * dom/Document.cpp:
344         (WebCore::Document::buildAccessKeyMap):
345         * dom/Element.cpp:
346         (WebCore::Element::~Element):
347         (WebCore::Element::willRemove):
348         (WebCore::Element::attach):
349         (WebCore::Element::detach):
350         (WebCore::Element::recalcStyle):
351         (WebCore::Element::hasShadowRoot):
352         (WebCore::Element::shadow):
353         (WebCore::Element::ensureShadow):
354         (WebCore::Element::ensureShadowRoot):
355         (WebCore::Element::childrenChanged):
356         * dom/Element.h:
357         (WebCore):
358         (Element):
359         * dom/ElementRareData.h:
360         (ElementRareData):
361         (WebCore::ElementRareData::~ElementRareData):
362         * dom/ElementShadow.cpp: Renamed from Source/WebCore/dom/ShadowTree.cpp.
363         (WebCore):
364         (WebCore::ElementShadow::ElementShadow):
365         (WebCore::ElementShadow::~ElementShadow):
366         (WebCore::validateShadowRoot):
367         (WebCore::ElementShadow::addShadowRoot):
368         (WebCore::ElementShadow::removeAllShadowRoots):
369         (WebCore::ElementShadow::willRemove):
370         (WebCore::ElementShadow::setParentTreeScope):
371         (WebCore::ElementShadow::attach):
372         (WebCore::ElementShadow::attachHost):
373         (WebCore::ElementShadow::detach):
374         (WebCore::ElementShadow::detachHost):
375         (WebCore::ElementShadow::insertionPointFor):
376         (WebCore::ElementShadow::selectionFor):
377         (WebCore::ElementShadow::reattach):
378         (WebCore::ElementShadow::childNeedsStyleRecalc):
379         (WebCore::ElementShadow::needsStyleRecalc):
380         (WebCore::ElementShadow::recalcStyle):
381         (WebCore::ElementShadow::needsReattachHostChildrenAndShadow):
382         (WebCore::ElementShadow::hostChildrenChanged):
383         (WebCore::ElementShadow::setNeedsReattachHostChildrenAndShadow):
384         (WebCore::ElementShadow::reattachHostChildrenAndShadow):
385         * dom/ElementShadow.h: Renamed from Source/WebCore/dom/ShadowTree.h.
386         (WebCore):
387         (ElementShadow):
388         (WebCore::ElementShadow::hasShadowRoot):
389         (WebCore::ElementShadow::youngestShadowRoot):
390         (WebCore::ElementShadow::oldestShadowRoot):
391         (WebCore::ElementShadow::selector):
392         (WebCore::ElementShadow::clearNeedsReattachHostChildrenAndShadow):
393         (WebCore::ElementShadow::host):
394         (ShadowRootVector):
395         (WebCore::ShadowRootVector::ShadowRootVector):
396         * dom/Node.cpp:
397         (WebCore::oldestShadowRootFor):
398         * dom/NodeRenderingContext.cpp:
399         (WebCore::NodeRenderingContext::NodeRenderingContext):
400         (WebCore::NodeRenderingContext::hostChildrenChanged):
401         * dom/NodeRenderingContext.h:
402         (WebCore):
403         * dom/ShadowRoot.cpp:
404         (WebCore::ShadowRoot::create):
405         (WebCore::ShadowRoot::owner):
406         * dom/ShadowRoot.h:
407         (WebCore):
408         (ShadowRoot):
409         * dom/TreeScopeAdopter.cpp:
410         (WebCore::shadowFor):
411         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
412         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
413         (WebCore::TreeScopeAdopter::moveShadowToNewDocument):
414         * dom/TreeScopeAdopter.h:
415         (TreeScopeAdopter):
416         * html/ColorInputType.cpp:
417         (WebCore::ColorInputType::createShadowSubtree):
418         (WebCore::ColorInputType::shadowColorSwatch):
419         * html/FileInputType.cpp:
420         (WebCore::FileInputType::createShadowSubtree):
421         (WebCore::FileInputType::multipleAttributeChanged):
422         * html/HTMLDetailsElement.cpp:
423         (WebCore::HTMLDetailsElement::findMainSummary):
424         * html/HTMLKeygenElement.cpp:
425         (WebCore::HTMLKeygenElement::shadowSelect):
426         * html/HTMLMediaElement.cpp:
427         (WebCore::HTMLMediaElement::mediaControls):
428         (WebCore::HTMLMediaElement::hasMediaControls):
429         * html/HTMLSummaryElement.cpp:
430         * html/HTMLTextAreaElement.cpp:
431         (WebCore::HTMLTextAreaElement::innerTextElement):
432         (WebCore::HTMLTextAreaElement::updatePlaceholderText):
433         * html/InputType.cpp:
434         (WebCore::InputType::destroyShadowSubtree):
435         * html/RangeInputType.cpp:
436         (WebCore::RangeInputType::handleMouseDownEvent):
437         (WebCore::RangeInputType::createShadowSubtree):
438         * html/TextFieldInputType.cpp:
439         (WebCore::TextFieldInputType::createShadowSubtree):
440         (WebCore::TextFieldInputType::updatePlaceholderText):
441         * html/ValidationMessage.cpp:
442         (WebCore::ValidationMessage::deleteBubbleTree):
443         * html/shadow/HTMLContentElement.cpp:
444         (WebCore::HTMLContentElement::parseAttribute):
445         * html/shadow/InsertionPoint.cpp:
446         (WebCore::InsertionPoint::attach):
447         (WebCore::InsertionPoint::detach):
448         (WebCore::InsertionPoint::distributeHostChildren):
449         (WebCore::InsertionPoint::clearDistribution):
450         * html/shadow/InsertionPoint.h:
451         * html/shadow/SliderThumbElement.cpp:
452         (WebCore::sliderThumbElementOf):
453         (WebCore::RenderSliderContainer::layout):
454         (WebCore::trackLimiterElementOf):
455         * html/shadow/TextFieldDecorationElement.cpp:
456         (WebCore::getDecorationRootAndDecoratedRoot):
457         * inspector/InspectorDOMAgent.cpp:
458         (WebCore::InspectorDOMAgent::unbind):
459         (WebCore::InspectorDOMAgent::buildObjectForNode):
460         * page/FocusController.cpp:
461         (WebCore::FocusScope::focusScopeOf):
462         (WebCore::FocusScope::focusScopeOwnedByShadowHost):
463         * rendering/RenderFileUploadControl.cpp:
464         (WebCore::RenderFileUploadControl::uploadButton):
465         * svg/SVGTRefElement.cpp:
466         (WebCore::SVGTRefElement::updateReferencedText):
467         (WebCore::SVGTRefElement::detachTarget):
468         * svg/SVGUseElement.cpp:
469         (WebCore::SVGUseElement::clearResourceReferences):
470         (WebCore::SVGUseElement::buildShadowAndInstanceTree):
471         (WebCore::SVGUseElement::buildShadowTree):
472         * testing/Internals.cpp:
473         (WebCore::Internals::ensureShadowRoot):
474         (WebCore::Internals::youngestShadowRoot):
475         (WebCore::Internals::oldestShadowRoot):
476         (WebCore::Internals::removeShadowRoot):
477
478 2012-05-06  Sheriff Bot  <webkit.review.bot@gmail.com>
479
480         Unreviewed, rolling out r116235.
481         http://trac.webkit.org/changeset/116235
482         https://bugs.webkit.org/show_bug.cgi?id=85773
483
484         broke a lot of tests on all chromium debug bots (Requested by
485         caseq_ on #webkit).
486
487         * bindings/objc/DOMCSS.mm:
488         * css/CSSFontFaceRule.cpp:
489         * css/CSSFontFaceRule.h:
490         (CSSFontFaceRule):
491         * css/CSSImportRule.cpp:
492         * css/CSSMediaRule.cpp:
493         (WebCore::CSSMediaRule::insertRule):
494         (WebCore::CSSMediaRule::deleteRule):
495         * css/CSSMediaRule.h:
496         (CSSMediaRule):
497         * css/CSSPageRule.cpp:
498         (WebCore::CSSPageRule::setSelectorText):
499         * css/CSSPageRule.h:
500         (CSSPageRule):
501         * css/CSSRule.cpp:
502         * css/CSSRule.h:
503         (CSSRule):
504         (WebCore::CSSRule::parserContext):
505         * css/CSSStyleRule.cpp:
506         (WebCore::CSSStyleRule::setSelectorText):
507         * css/CSSStyleRule.h:
508         * css/CSSStyleSheet.cpp:
509         (WebCore::StyleSheetInternal::StyleSheetInternal):
510         (WebCore::StyleSheetInternal::isCacheable):
511         (WebCore::StyleSheetInternal::createChildRuleCSSOMWrapper):
512         (WebCore::StyleSheetInternal::wrapperInsertRule):
513         (WebCore::StyleSheetInternal::wrapperDeleteRule):
514         (WebCore::StyleSheetInternal::styleSheetChanged):
515         (WebCore):
516         (WebCore::CSSStyleSheet::setDisabled):
517         (WebCore::CSSStyleSheet::item):
518         (WebCore::CSSStyleSheet::insertRule):
519         (WebCore::CSSStyleSheet::deleteRule):
520         * css/CSSStyleSheet.h:
521         (StyleSheetInternal):
522         (WebCore::StyleSheetInternal::hasCharsetRule):
523         (WebCore::CSSStyleSheet::styleSheetChanged):
524         (CSSStyleSheet):
525         * css/MediaList.cpp:
526         (WebCore::MediaList::setMediaText):
527         (WebCore::MediaList::deleteMedium):
528         (WebCore::MediaList::appendMedium):
529         (WebCore::MediaList::notifyChanged):
530         * css/MediaList.h:
531         (MediaList):
532         * css/PropertySetCSSStyleDeclaration.cpp:
533         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
534         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
535         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
536         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
537         (WebCore::PropertySetCSSStyleDeclaration::didMutate):
538         (WebCore):
539         (WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
540         (WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc):
541         * css/PropertySetCSSStyleDeclaration.h:
542         (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
543         (PropertySetCSSStyleDeclaration):
544         (StyleRuleCSSStyleDeclaration):
545         * css/StylePropertySet.cpp:
546         * css/WebKitCSSKeyframesRule.cpp:
547         (WebCore::WebKitCSSKeyframesRule::setName):
548         (WebCore::WebKitCSSKeyframesRule::insertRule):
549         (WebCore::WebKitCSSKeyframesRule::deleteRule):
550         * css/WebKitCSSKeyframesRule.h:
551         (WebKitCSSKeyframesRule):
552         * css/WebKitCSSRegionRule.cpp:
553         * css/WebKitCSSRegionRule.h:
554         (WebKitCSSRegionRule):
555         * inspector/InspectorStyleSheet.cpp:
556         (WebCore::InspectorStyleSheet::reparseStyleSheet):
557         * loader/cache/CachedCSSStyleSheet.cpp:
558         (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
559         (WebCore::CachedCSSStyleSheet::destroyDecodedData):
560         (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
561         (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
562
563 2012-05-06  Adam Barth  <abarth@webkit.org>
564
565         Attempt to fix the !ENABLE(INSPECTOR) build by making InspectorValues
566         available unconditionally.  We should probably rename these classes to
567         JSONValues and move them into WebCore/platform.
568
569         * inspector/InspectorValues.cpp:
570         * inspector/InspectorValues.h:
571
572 2012-05-06  Adam Barth  <abarth@webkit.org>
573
574         CSP violation reports should have all the fields required by the spec
575         https://bugs.webkit.org/show_bug.cgi?id=85682
576
577         Reviewed by Darin Adler.
578
579         This patch updates our CSP violation reports to include all the fields
580         in the spec.  We've discussed all these fields in the working group,
581         and we have fairly high confidence that these are safe to expose.
582
583         Tests: http/tests/security/contentSecurityPolicy/report-and-enforce.html
584                http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin.html
585                http/tests/security/contentSecurityPolicy/report-blocked-uri.html
586                http/tests/security/contentSecurityPolicy/report-only-from-header.html
587                http/tests/security/contentSecurityPolicy/report-only.html
588                http/tests/security/contentSecurityPolicy/report-uri-from-child-frame.html
589                http/tests/security/contentSecurityPolicy/report-uri.html
590
591         * page/ContentSecurityPolicy.cpp:
592         (CSPDirectiveList):
593         (WebCore::CSPDirectiveList::reportViolation):
594         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
595
596 2012-05-06  Kinuko Yasuda  <kinuko@chromium.org>
597
598         Cleanup: FileSystem API's Entry.toURL() impl should return KURL instead of String
599         https://bugs.webkit.org/show_bug.cgi?id=85736
600
601         Change the return type of Entry::toURL() from String to KURL.
602
603         Reviewed by David Levin.
604
605         No new tests as this change should not have any visible impact in the javascript layer.
606
607         * Modules/filesystem/EntryBase.cpp:
608         (WebCore::EntryBase::toURL):
609         * Modules/filesystem/EntryBase.h:
610         * platform/AsyncFileSystem.h:
611         * platform/blackberry/AsyncFileSystemBlackberry.cpp:
612         (AsyncFileSystemBlackberry::toURL):
613         * platform/blackberry/AsyncFileSystemBlackberry.h:
614         * platform/gtk/AsyncFileSystemGtk.cpp:
615         (AsyncFileSystemGtk::toURL):
616         * platform/gtk/AsyncFileSystemGtk.h:
617
618 2012-05-06  Kentaro Hara  <haraken@chromium.org>
619
620         [V8][Performance] Remove Isolate lookup from the call path
621         to get a cached JS wrapper object by getDOMXXXXMap().
622         https://bugs.webkit.org/show_bug.cgi?id=85205
623
624         Reviewed by Adam Barth.
625
626         The patch improves the performance of getting a cached JS wrapper
627         by getDOMXXXXMap(). For example, it improves the performance
628         of toV8(NodeList*) in getElementsByTagName(), getElementsByName(),
629         getElementsByClassName() by 7 ~ 9%.
630
631         Performance tests: https://bugs.webkit.org/attachment.cgi?id=139468
632
633         The performance test results in my Linux desktop:
634
635         getElementsByTagName :   40.76 ms => 37.52ms (+8.6%)
636         getElementsByName :      41.02 ms => 37.42ms (+9.6%)
637         getElementsByClassName : 40.32 ms => 37.68ms (+7.0%)
638
639         Unfortunately we cannot observe performance improvement in
640         Dromaeo/dom-query.html, which are testing getElementsByTagName(),
641         getElementsByName(), getElementsByClassName(). This is because
642         the bottleneck of these Dromaeo tests is not toV8(NodeList*) but
643         .length and .nodeType accesses. The patch for optimizing them
644         will be coming soon.
645
646         No tests. No change in behavior.
647
648         * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
649         (GenerateHeader):
650         (GenerateNormalAttrGetter):
651         (GetDomMapFunction):
652         (NativeToJSValue):
653         * bindings/v8/DOMData.cpp:
654         (WebCore::DOMData::getCurrentStore):
655
656         * bindings/scripts/test/V8/V8Float64Array.h: Updated run-bindings-tests results.
657         (WebCore::V8Float64Array::wrap):
658         * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
659         (WebCore::V8TestActiveDOMObject::wrap):
660         * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
661         (WebCore::V8TestCustomNamedGetter::wrap):
662         * bindings/scripts/test/V8/V8TestEventConstructor.h:
663         (WebCore::V8TestEventConstructor::wrap):
664         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
665         (WebCore::TestEventTargetV8Internal::itemCallback):
666         * bindings/scripts/test/V8/V8TestEventTarget.h:
667         (WebCore::V8TestEventTarget::wrap):
668         * bindings/scripts/test/V8/V8TestInterface.cpp:
669         (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
670         * bindings/scripts/test/V8/V8TestInterface.h:
671         (WebCore::V8TestInterface::wrap):
672         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
673         (WebCore::V8TestMediaQueryListListener::wrap):
674         * bindings/scripts/test/V8/V8TestNamedConstructor.h:
675         (WebCore::V8TestNamedConstructor::wrap):
676         * bindings/scripts/test/V8/V8TestObj.cpp:
677         (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
678         (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
679         (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
680         (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
681         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
682         * bindings/scripts/test/V8/V8TestObj.h:
683         (WebCore::V8TestObj::wrap):
684         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
685         (WebCore::V8TestSerializedScriptValueInterface::wrap):
686
687 2012-05-06  Adam Barth  <abarth@webkit.org>
688
689         Content Security Policy reports should be reported with content-type application/json, should contain all required fields
690         https://bugs.webkit.org/show_bug.cgi?id=61360
691
692         Reviewed by Eric Seidel.
693
694         This patch changes ContentSecurityPolicy to use JSON format for sending
695         violation reports rather than wwwform-encoding.  This patch aligns our
696         behavior with the specification and with Mozilla.  A follow up patch
697         will update the list of fields in the report to match the spec.
698
699         * loader/PingLoader.cpp:
700         (WebCore::PingLoader::reportContentSecurityPolicyViolation):
701         * page/ContentSecurityPolicy.cpp:
702         (WebCore::CSPDirectiveList::reportViolation):
703
704 2012-05-06  Mary Wu  <mary.wu@torchmobile.com.cn>
705
706         [BlackBerry] Support html5 download attribute.
707         https://bugs.webkit.org/show_bug.cgi?id=85044
708
709         Reviewed by Antonio Gomes.
710
711         Pass download attribute filename to networkJob and it could be
712         overridden by the Content-Disposition HTTP header's filename parameter.
713
714         * platform/network/blackberry/NetworkJob.cpp:
715         (WebCore::NetworkJob::initialize):
716         * platform/network/blackberry/ResourceRequest.h:
717         (WebCore::ResourceRequest::setSuggestSaveName):
718         (WebCore::ResourceRequest::suggestSaveName):
719         (ResourceRequest):
720         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
721         (WebCore::ResourceRequest::initializePlatformRequest):
722
723 2012-05-06  Kenichi Ishibashi  <bashi@chromium.org>
724
725         Disallow unquoted -webkit-font-feature-settings tags
726         https://bugs.webkit.org/show_bug.cgi?id=85362
727
728         Reviewed by Kent Tamura.
729
730         Disallow unquoted tags to follow the current draft.
731         http://dev.w3.org/csswg/css3-fonts/#font-feature-settings-prop
732
733         No new tests. css3/font-feature-settings-parsing.html was updated.
734
735         * css/CSSParser.cpp:
736         (WebCore::CSSParser::parseFontFeatureTag): Accepts only 4-characters string.
737
738 2012-05-06  Raphael Kubo da Costa  <rakuco@webkit.org>
739
740         Unreviewed build fix for r116260.
741
742         COMPILE_ASSERT() does not expect a string in its second parameter.
743
744         * platform/graphics/TextRun.cpp:
745         (WebCore):
746
747 2012-05-06  Rob Buis  <rbuis@rim.com>
748
749         Shrink TextRun object size
750         https://bugs.webkit.org/show_bug.cgi?id=85751
751
752         Reviewed by Darin Adler.
753
754         Reorder the member variables in TextRun so it shrinks from 56 to 40 bytes on my 64-bit build. This is important
755         for SVG, since RenderSVGText shrinks because of this.
756
757         Also add a compile assert for the expected object size.
758
759         * platform/graphics/TextRun.cpp:
760         (ExpectedTextRunSize):
761         (WebCore):
762         * platform/graphics/TextRun.h:
763         (WebCore::TextRun::TextRun):
764         (WebCore::TextRun::direction):
765         (TextRun):
766
767 2012-05-06  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
768
769         [BlackBerry] Autofill backing store implementation upstream
770         https://bugs.webkit.org/show_bug.cgi?id=85575
771
772         Reviewed by Rob Buis.
773
774         Implemented class AutofillBackingStore which is responsible
775         for handling interaction with autofill database.
776
777         Replaced static function
778         CredentialBackingStore* CredentialBackingStore::instance()
779         with a helper function
780         CredentialBackingStore& credentialBackingStore(),
781         and used DEFINE_STATIC_LOCAL to construct the singleton
782         object.
783         Also removed unnecessary function close() and combined with
784         the destructor of class CredentialBackingStore.
785
786         Initial upstream, No new tests.
787
788         * PlatformBlackBerry.cmake:
789         * platform/network/blackberry/AutofillBackingStore.cpp: Added.
790         (WebCore):
791         (WebCore::autofillBackingStore):
792         (WebCore::AutofillBackingStore::AutofillBackingStore):
793         (WebCore::AutofillBackingStore::~AutofillBackingStore):
794         (WebCore::AutofillBackingStore::open):
795         (WebCore::AutofillBackingStore::add):
796         (WebCore::AutofillBackingStore::update):
797         (WebCore::AutofillBackingStore::contains):
798         (WebCore::AutofillBackingStore::get):
799         (WebCore::AutofillBackingStore::clear):
800         * platform/network/blackberry/AutofillBackingStore.h: Added.
801         (WebCore):
802         (AutofillBackingStore):
803         * platform/network/blackberry/CredentialBackingStore.cpp:
804         (WebCore::credentialBackingStore):
805         (WebCore::CredentialBackingStore::~CredentialBackingStore):
806         * platform/network/blackberry/CredentialBackingStore.h:
807         (CredentialBackingStore):
808         (WebCore):
809         * platform/network/blackberry/CredentialStorageBlackBerry.cpp:
810         (WebCore::CredentialStorage::getFromPersistentStorage):
811
812 2012-05-06  MORITA Hajime  <morrita@google.com>
813
814         [Shadow DOM] Node distribution should be refreshed before style recalc.
815         https://bugs.webkit.org/show_bug.cgi?id=85259
816
817         Reviewed by Dimitri Glazkov.
818
819         Element::recalcStyle() calls child element's recalcStyle()
820         recursively, following ShadowTree::recalcShadowTreeStyle(). But
821         recalcShadowTreeStyle() should be called before such recursion if
822         necessary.
823
824         This is because style calculation and following renderer attachment
825         of each child element depends on up-to-date node distribution result
826         which is computed during the recalcShadowTreeStyle().
827
828         Test: fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector.html
829
830         * dom/Element.cpp: Moved recalcShadowTreeStyle() before child traversals.
831         (WebCore::Element::recalcStyle):
832
833 2012-05-06  Adam Barth  <abarth@webkit.org>
834
835         CSP should let sites both enforce one policy and monitor another
836         https://bugs.webkit.org/show_bug.cgi?id=85561
837
838         Reviewed by Eric Seidel.
839
840         This patch lets us enforce and/or monitor multiple CSP policies.
841         Rather than having a single directive list, we now have a vector of
842         directive lists.
843
844         Tests: http/tests/security/contentSecurityPolicy/combine-multiple-policies.html
845                http/tests/security/contentSecurityPolicy/report-and-enforce.html
846
847         * page/ContentSecurityPolicy.cpp:
848         (WebCore::ContentSecurityPolicy::copyStateFrom):
849         (WebCore::ContentSecurityPolicy::didReceiveHeader):
850         (WebCore::ContentSecurityPolicy::deprecatedHeader):
851         (WebCore::ContentSecurityPolicy::deprecatedHeaderType):
852             - Even after this patch, workers aren't smart enough to enforce
853               multiple policies.  They just use the first header, like they did
854               before.  We'll need to teach workers how to enforce multiple
855               policies in a future patch.
856         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
857         (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
858         (WebCore::ContentSecurityPolicy::allowInlineScript):
859         (WebCore::ContentSecurityPolicy::allowInlineStyle):
860         (WebCore::ContentSecurityPolicy::allowEval):
861         (WebCore::ContentSecurityPolicy::allowScriptFromSource):
862         (WebCore::ContentSecurityPolicy::allowObjectFromSource):
863         (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
864         (WebCore::ContentSecurityPolicy::allowImageFromSource):
865         (WebCore::ContentSecurityPolicy::allowStyleFromSource):
866         (WebCore::ContentSecurityPolicy::allowFontFromSource):
867         (WebCore::ContentSecurityPolicy::allowMediaFromSource):
868         (WebCore::ContentSecurityPolicy::allowConnectFromSource):
869         * page/ContentSecurityPolicy.h:
870         * workers/DefaultSharedWorkerRepository.cpp:
871         (WebCore::SharedWorkerScriptLoader::notifyFinished):
872         * workers/WorkerMessagingProxy.cpp:
873         (WebCore::WorkerMessagingProxy::startWorkerContext):
874
875 2012-05-06  Rob Buis  <rbuis@rim.com>
876
877         InlineBox::setHasBadParent should be debug only
878         https://bugs.webkit.org/show_bug.cgi?id=85748
879
880         Reviewed by Eric Seidel.
881
882         Do not provide InlineBox::setHasBadParent in release builds.
883
884         * rendering/InlineBox.h:
885         (InlineBox):
886         (WebCore):
887         (WebCore::InlineBox::setHasBadParent):
888
889 2012-05-06  Mike West  <mkwst@chromium.org>
890
891         KURL::isBlankURL would be a nicer idiom than KURL::protocolIs("about")
892         https://bugs.webkit.org/show_bug.cgi?id=85641
893
894         Reviewed by Adam Barth.
895
896         * dom/Document.cpp:
897         (WebCore::shouldInheritSecurityOriginFromOwner):
898         * page/ContentSecurityPolicy.cpp:
899         (WebCore::CSPDirectiveList::allowObjectFromSource):
900         (WebCore::CSPDirectiveList::allowChildFrameFromSource):
901         * page/PageSerializer.cpp:
902         (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
903         (WebCore::PageSerializer::serializeFrame):
904         * platform/KURL.cpp:
905         (WebCore::KURL::isBlankURL):
906         (WebCore):
907         * platform/KURL.h:
908         (KURL):
909         (WebCore):
910
911 2012-05-06  Martin Robinson  <mrobinson@igalia.com>
912
913         [TextureMapper] Layer images is uploaded to the GPU for each sync
914         https://bugs.webkit.org/show_bug.cgi?id=85727
915
916         Reviewed by Noam Rosenthal.
917
918         No new tests. This does not change functionality,
919         it only improves performance.
920
921         * platform/graphics/texmap/TextureMapperLayer.cpp:
922         (WebCore::TextureMapperLayer::updateBackingStore): Reset the needsDisplay
923         and needsDisplayRect variables after uploading the layer image.
924
925 2012-05-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
926
927         Convert isPageBoxVisible to use Internals interface.
928         https://bugs.webkit.org/show_bug.cgi?id=85692
929
930         Reviewed by Darin Adler.
931
932         Add isPageBoxVisible functions, because it is able to work in the
933         cross-port way through the Internals interface.
934
935         No new tests, since we are improving here the infra-structure for testing
936         a specific method.
937
938         * testing/Internals.cpp:
939         (WebCore):
940         (WebCore::Internals::isPageBoxVisible):
941         * testing/Internals.h:
942         (Internals):
943         * testing/Internals.idl:
944
945 2012-05-06  Eugene Klyuchnikov  <eustas.bug@gmail.com>
946
947         Web Inspector: "Goto Function" filtering should be less restrictive.
948         https://bugs.webkit.org/show_bug.cgi?id=85586
949
950         Reviewed by Pavel Feldman.
951
952         Added tests for generated regex.
953
954         Changes:
955         1) Avoid asterisks in filtering queue.
956         2) Optimization: do not create regexp for each item.
957
958         * inspector/front-end/FilteredItemSelectionDialog.js: 
959         (WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
960         Applied new filtering workflow.
961         (WebInspector.FilteredItemSelectionDialog.prototype._checkItemAt):
962         Removed.
963         (WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
964         Removed unused "suffix" logic; changed the way regexp is composed from query.
965         (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
966         Applied new filtering workflow.
967         (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
968         Removed unused var.
969
970 2012-05-06  Kent Tamura  <tkent@chromium.org>
971
972         Rename ICULocale to LocaleICU, part 2
973         https://bugs.webkit.org/show_bug.cgi?id=85695
974
975         Reviewed by Kentaro Hara.
976
977         No behavior change
978
979         * platform/text/LocaleICU.cpp: Rename ICULocale to LocaleICU.
980         * platform/text/LocaleICU.h: ditto.
981         Also, update obsolete comments.
982         * platform/text/LocalizedDateICU.cpp: Rename ICULocale to LocaleICU.
983         (WebCore::parseLocalizedDate):
984         (WebCore::formatLocalizedDate):
985         (WebCore::localizedDateFormatText):
986         (WebCore::monthLabels):
987         (WebCore::weekDayShortLabels):
988         (WebCore::firstDayOfWeek):
989         * platform/text/LocalizedNumberICU.cpp: ditto.
990         (WebCore::convertToLocalizedNumber):
991         (WebCore::convertFromLocalizedNumber):
992
993 2012-05-06  Kevin Ollivier  <kevino@theolliviers.com>
994
995         [wx] Unreviewed. Build fixes for recent trunk changes.
996
997         * platform/graphics/SimpleFontData.h:
998         (SimpleFontData):
999         * platform/graphics/wx/FontPlatformData.h:
1000         (FontPlatformData):
1001         (WebCore::FontPlatformData::isCompositeFontReference):
1002         * platform/graphics/wx/SimpleFontDataWx.cpp:
1003         (WebCore):
1004         (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
1005         * plugins/mac/PluginViewMac.mm:
1006         * rendering/RenderObject.h:
1007
1008 2012-05-06  Andrey Kosyakov  <caseq@chromium.org>
1009
1010         Web Inspector: take timeline frame mode out of experimental
1011         https://bugs.webkit.org/show_bug.cgi?id=85707
1012
1013         Reviewed by Pavel Feldman.
1014
1015         - remove "Vertical timeline overview" experiment;
1016         - add supportsFrameInstrumentation capability to InspectorTimelineAgent;
1017         - show frame mode selector conditionally on supportsFrameInstrumentation capability.
1018
1019         * inspector/Inspector.json: Add Timeline.supportsFrameInstrumentation capability;
1020         * inspector/InspectorClient.h: Add supportsFrameInstrumentation();
1021         (InspectorClient):
1022         (WebCore::InspectorClient::supportsFrameInstrumentation):
1023         * inspector/InspectorController.cpp:
1024         (WebCore::InspectorController::InspectorController):
1025         * inspector/InspectorTimelineAgent.cpp:
1026         (WebCore::InspectorTimelineAgent::supportsFrameInstrumentation):
1027         (WebCore):
1028         (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): Added FrameInstrumentationSupport parameter.
1029         * inspector/InspectorTimelineAgent.h:
1030         (WebCore):
1031         (WebCore::InspectorTimelineAgent::create): ditto.
1032         (InspectorTimelineAgent):
1033         * inspector/WorkerInspectorController.cpp: Updated call site for InspectorTimelineAgent::create() to indicate frame instrumentation not supported.
1034         (WebCore::WorkerInspectorController::WorkerInspectorController):
1035         * inspector/front-end/Settings.js:
1036         (WebInspector.ExperimentsSettings): Removed "Vertical Overview" experiment.
1037         * inspector/front-end/TimelineOverviewPane.js: Expose frame mode conditionally on capability, not the experiment.
1038         (WebInspector.TimelineOverviewPane):
1039         * inspector/front-end/inspector.js: Added initialization for Capabilities.timelineSupportsFrameInstrumentation;
1040         (WebInspector.doLoadedDone):
1041
1042 2012-05-06  Antti Koivisto  <antti@apple.com>
1043
1044         Build fix.
1045
1046         Not reviewed.
1047
1048         * css/PropertySetCSSStyleDeclaration.cpp:
1049
1050 2012-05-04  Antti Koivisto  <antti@apple.com>
1051
1052         Share stylesheet data structures between documents
1053         https://bugs.webkit.org/show_bug.cgi?id=85598
1054
1055         Reviewed by Darin Adler.
1056
1057         We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
1058         the data until someone uses CSSOM to modify the sheet.
1059         
1060         The patch implements copy-on-write for the internal style sheet data structures. If any mutation CSSOM API is
1061         invoked, we check if the stylesheet can be safely mutated (we are the only client, it is not cached). If not
1062         then the internal structures are copied and any existing CSSOM objects are re-attached to the new tree.
1063         
1064         Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
1065         multiple articles open on wsj.com this saves ~2.6MB per tab.
1066         
1067         Test: http/tests/css/shared-stylesheet-mutation.html
1068               http/tests/css/shared-stylesheet-mutation-preconstruct.html
1069
1070         * css/CSSFontFaceRule.cpp:
1071         (WebCore::CSSFontFaceRule::reattach):
1072         (WebCore):
1073         * css/CSSFontFaceRule.h:
1074         (CSSFontFaceRule):
1075         * css/CSSMediaRule.cpp:
1076         (WebCore::CSSMediaRule::insertRule):
1077         (WebCore::CSSMediaRule::deleteRule):
1078         (WebCore::CSSMediaRule::reattach):
1079         (WebCore):
1080         * css/CSSMediaRule.h:
1081         (CSSMediaRule):
1082         * css/CSSPageRule.cpp:
1083         (WebCore::CSSPageRule::setSelectorText):
1084         (WebCore::CSSPageRule::reattach):
1085         (WebCore):
1086         * css/CSSPageRule.h:
1087         (CSSPageRule):
1088         * css/CSSRule.cpp:
1089         (WebCore::CSSRule::reattach):
1090         
1091             After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.
1092
1093         * css/CSSRule.h:
1094         (WebCore):
1095         (CSSRule):
1096         * css/CSSStyleRule.cpp:
1097         (WebCore::CSSStyleRule::setSelectorText):
1098         (WebCore::CSSStyleRule::reattach):
1099         (WebCore):
1100         * css/CSSStyleRule.h:
1101         (CSSStyleRule):
1102         * css/CSSStyleSheet.cpp:
1103         (WebCore::StyleSheetInternal::StyleSheetInternal):
1104         (WebCore::StyleSheetInternal::isCacheable):
1105         (WebCore::StyleSheetInternal::ruleAt):
1106         
1107             Add ruleAt(), use it for both wrapper creation and reattaching.  Remove createChildRuleCSSOMWrapper .
1108
1109         (WebCore):
1110         (WebCore::StyleSheetInternal::wrapperInsertRule):
1111         (WebCore::StyleSheetInternal::wrapperDeleteRule):
1112         
1113             Invalidation moves to the calling wrapper.
1114
1115         (WebCore::StyleSheetInternal::addedToMemoryCache):
1116         (WebCore::StyleSheetInternal::removedFromMemoryCache):
1117         (WebCore::CSSStyleSheet::willMutateRules):
1118         
1119             This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.
1120             
1121             Usually invoked by CSSStyleSheet::RuleMutation RAII type.
1122
1123         (WebCore::CSSStyleSheet::didMutateRules):
1124         
1125             This is called after the mutation is complete and will trigger the style recalc in the document.
1126
1127         (WebCore::CSSStyleSheet::didMutate):
1128         
1129             This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.
1130
1131         (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
1132         (WebCore::CSSStyleSheet::setDisabled):
1133         (WebCore::CSSStyleSheet::insertRule):
1134         (WebCore::CSSStyleSheet::deleteRule):
1135         * css/CSSStyleSheet.h:
1136         (StyleSheetInternal):
1137         (WebCore::StyleSheetInternal::hasOneClient):
1138         (WebCore::StyleSheetInternal::isMutable):
1139         (WebCore::StyleSheetInternal::setMutable):
1140         
1141             Track mutability. Mutation is allowed only after willMutate call.
1142
1143         (WebCore::StyleSheetInternal::isInMemoryCache):
1144         
1145             Track if the object is in memory cache.
1146
1147         (WebCore::CSSStyleSheet::clearOwnerRule):
1148         (CSSStyleSheet):
1149         * css/MediaList.cpp:
1150         (WebCore::MediaList::setMediaText):
1151         (WebCore::MediaList::deleteMedium):
1152         (WebCore::MediaList::appendMedium):
1153         (WebCore::MediaList::didMutate):
1154         (WebCore):
1155         (WebCore::MediaList::reattach):
1156         * css/MediaList.h:
1157         (MediaList):
1158         * css/PropertySetCSSStyleDeclaration.cpp:
1159         (WebCore::PropertySetCSSStyleDeclaration::setCssText):
1160         (WebCore::PropertySetCSSStyleDeclaration::setProperty):
1161         (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
1162         (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
1163         (WebCore):
1164         (WebCore::StyleRuleCSSStyleDeclaration::willMutate):
1165         (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
1166         (WebCore::StyleRuleCSSStyleDeclaration::reattach):
1167         (WebCore::InlineCSSStyleDeclaration::didMutate):
1168         * css/PropertySetCSSStyleDeclaration.h:
1169         (WebCore::PropertySetCSSStyleDeclaration::willMutate):
1170         (WebCore::PropertySetCSSStyleDeclaration::didMutate):
1171         (StyleRuleCSSStyleDeclaration):
1172         * css/WebKitCSSKeyframesRule.cpp:
1173         (WebCore::WebKitCSSKeyframesRule::setName):
1174         (WebCore::WebKitCSSKeyframesRule::insertRule):
1175         (WebCore::WebKitCSSKeyframesRule::deleteRule):
1176         (WebCore::WebKitCSSKeyframesRule::reattach):
1177         (WebCore):
1178         * css/WebKitCSSKeyframesRule.h:
1179         (WebKitCSSKeyframesRule):
1180         * css/WebKitCSSRegionRule.cpp:
1181         (WebCore::WebKitCSSRegionRule::reattach):
1182         * css/WebKitCSSRegionRule.h:
1183         (WebKitCSSRegionRule):
1184         * inspector/InspectorStyleSheet.cpp:
1185         (WebCore::InspectorStyleSheet::reparseStyleSheet):
1186         * loader/cache/CachedCSSStyleSheet.cpp:
1187         (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
1188         (WebCore::CachedCSSStyleSheet::destroyDecodedData):
1189         (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
1190         
1191             Don't copy when restoring. It is no longer necessary.
1192             Set the cache bit on the stylesheet.
1193
1194         (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
1195
1196 2012-05-05  Sheriff Bot  <webkit.review.bot@gmail.com>
1197
1198         Unreviewed, rolling out r116221.
1199         http://trac.webkit.org/changeset/116221
1200         https://bugs.webkit.org/show_bug.cgi?id=85722
1201
1202         broke builds that use -Wshorten-64-to-32 (Requested by pizlo
1203         on #webkit).
1204
1205         * html/canvas/WebGLRenderingContext.cpp:
1206         (WebCore):
1207         (WebCore::WebGLRenderingContext::bufferData):
1208         (WebCore::WebGLRenderingContext::bufferSubData):
1209         (WebCore::WebGLRenderingContext::drawElements):
1210         (WebCore::WebGLRenderingContext::getVertexAttribOffset):
1211         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1212         * html/canvas/WebGLRenderingContext.h:
1213         (WebGLRenderingContext):
1214         * html/canvas/WebGLRenderingContext.idl:
1215
1216 2012-05-05  Martin Robinson  <mrobinson@igalia.com>
1217
1218         [GTK] WebKit should properly set the input method context window location
1219         https://bugs.webkit.org/show_bug.cgi?id=84981
1220
1221         Reviewed by Gustavo Noronha Silva.
1222
1223         * platform/gtk/GtkInputMethodFilter.cpp:
1224         (WebCore::GtkInputMethodFilter::setCursorRect): Add this method to plumb the
1225         cursor rect through to the input method.
1226         * platform/gtk/GtkInputMethodFilter.h: Add the new method declaration.
1227
1228 2012-05-05  Dean Jackson  <dino@apple.com>
1229
1230         Add new Setting/Preference to disable requestAnimationFrame
1231         https://bugs.webkit.org/show_bug.cgi?id=85693
1232
1233         Reviewed by Simon Fraser.
1234
1235         Hook up the new WebPreference for disabling requestAnimationFrame
1236         to Settings. This isn't disabling the feature in the typical
1237         WebKit ENABLE() way - it's still available in the DOM, it's
1238         just that the animations will never be serviced. This allows a client
1239         to disable the machinery without breaking content (other than the
1240         animations).
1241
1242         The new test is currently skipped on all platforms because toggling
1243         the preference interferes with the other tests that are running
1244         at the same time (and expect a working requestAnimationFrame).
1245         https://bugs.webkit.org/show_bug.cgi?id=85689
1246
1247         Test: fast/animation/request-animation-frame-disabled.html
1248
1249         * dom/ScriptedAnimationController.cpp:
1250         (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
1251         (WebCore::ScriptedAnimationController::windowScreenDidChange):
1252         (WebCore::ScriptedAnimationController::scheduleAnimation):
1253         Check the setting before deciding to act.
1254         * page/Settings.cpp:
1255         (WebCore::Settings::Settings):
1256         * page/Settings.h:
1257         (WebCore::Settings::setRequestAnimationFrameEnabled):
1258         (WebCore::Settings::requestAnimationFrameEnabled):
1259         (Settings):
1260
1261 2012-05-05  Gustavo Noronha Silva  <gns@gnome.org>
1262
1263         Unreviewed, make distcheck fix.
1264
1265         * GNUmakefile.list.am: Add missing headers to the sources list.
1266
1267 2012-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
1268
1269         Web Inspector: convert standalone functions save/append/savedURL/appendedToURL into WebInspector.FileManager object.
1270         https://bugs.webkit.org/show_bug.cgi?id=85710
1271
1272         The idea is to have an object and be able to add/remove event listeners from it.
1273
1274         Reviewed by Yury Semikhatsky.
1275
1276         * English.lproj/localizedStrings.js:
1277         * WebCore.gypi:
1278         * WebCore.vcproj/WebCore.vcproj:
1279         * inspector/compile-front-end.py:
1280         * inspector/front-end/FileManager.js: Copied from Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js.
1281         (WebInspector.FileManager):
1282         (WebInspector.FileManager.prototype.canSave):
1283         (WebInspector.FileManager.prototype.canAppend):
1284         (WebInspector.FileManager.prototype.append):
1285         (WebInspector.FileManager.prototype.appendedToURL):
1286         * inspector/front-end/HeapSnapshotView.js:
1287         (WebInspector.HeapProfileHeader.prototype.canSave):
1288         (WebInspector.HeapProfileHeader.prototype.save):
1289         * inspector/front-end/InspectorFrontendHostStub.js:
1290         * inspector/front-end/WebKit.qrc:
1291         * inspector/front-end/inspector.html:
1292
1293 2012-05-05  Zhenyao Mo  <zmo@google.com>
1294
1295         vertexAttribPointer needs to reject large negative offsets
1296         https://bugs.webkit.org/show_bug.cgi?id=85117
1297
1298         Reviewed by Kenneth Russell.
1299
1300         * html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr
1301         (WebCore):
1302         (WebCore::WebGLRenderingContext::bufferData):
1303         (WebCore::WebGLRenderingContext::bufferSubData):
1304         (WebCore::WebGLRenderingContext::drawElements):
1305         (WebCore::WebGLRenderingContext::getVertexAttribOffset):
1306         (WebCore::WebGLRenderingContext::vertexAttribPointer):
1307         * html/canvas/WebGLRenderingContext.h: Ditto
1308         (WebGLRenderingContext):
1309         * html/canvas/WebGLRenderingContext.idl: Ditto
1310
1311 2012-05-05  Andrey Kosyakov  <caseq@chromium.org>
1312
1313         Web Inspector: add separate timeline overview item for the frame mode
1314         https://bugs.webkit.org/show_bug.cgi?id=85706
1315
1316         - remove two-buttons horizontal/vertical mode switch from Timelines item of the timeline overview menu;
1317         - rename "Timeline" into "Events";
1318         - add "Frames" item;
1319         - replace overview sidebar icons with smaller, monochrome ones.
1320
1321         * English.lproj/localizedStrings.js: Added "Frames" and "Events".
1322         * inspector/front-end/Images/statusbarButtonGlyphs.png: Added icon for "Memory".
1323         * inspector/front-end/TimelineOverviewPane.js:
1324         (WebInspector.TimelineOverviewPane):
1325         (WebInspector.TimelineOverviewPane.prototype._showEvents):
1326         (WebInspector.TimelineOverviewPane.prototype._showFrames):
1327         (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
1328         (WebInspector.TimelineOverviewPane.prototype._setMode):
1329         * inspector/front-end/timelinePanel.css:
1330         (#timeline-overview-sidebar .sidebar-tree-item):
1331         (#timeline-overview-sidebar .sidebar-tree-item .titles.no-subtitle):
1332         (#timeline-overview-sidebar .icon):
1333         (.timeline-overview-sidebar-events .icon):
1334         (.timeline-overview-sidebar-frames .icon):
1335         (.timeline-overview-sidebar-memory .icon):
1336
1337 2012-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
1338
1339         Web Inspector: save HeapSnapshot implementation.
1340         https://bugs.webkit.org/show_bug.cgi?id=85595
1341
1342         HeapSnapshot specific implementation for loading was moved
1343         from ProfilesPanel to HeapProfileHeader class.
1344
1345         Reviewed by Yury Semikhatsky.
1346
1347         * inspector/front-end/HeapSnapshotView.js:
1348         (WebInspector.HeapSnapshotView.prototype.get profileWrapper):
1349         (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
1350         (WebInspector.HeapProfileHeader):
1351         (WebInspector.HeapProfileHeader.prototype.load.setProfileWait):
1352         (WebInspector.HeapProfileHeader.prototype.load.done):
1353         (WebInspector.HeapProfileHeader.prototype.load):
1354         (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
1355         (WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
1356         (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
1357         (WebInspector.HeapProfileHeader.prototype.canSave):
1358         (WebInspector.HeapProfileHeader.prototype.save):
1359         * inspector/front-end/InspectorFrontendAPI.js:
1360         (InspectorFrontendAPI.appendedToURL):
1361         * inspector/front-end/ProfilesPanel.js:
1362         (WebInspector.ProfilesPanel.prototype._registerProfileType):
1363         (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
1364         (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
1365         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
1366         (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
1367         (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches):
1368         (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
1369         * inspector/front-end/inspector.js:
1370         (WebInspector.append):
1371         (WebInspector.appendedToURL):
1372
1373 2012-05-05  Pavel Feldman  <pfeldman@chromium.org>
1374
1375         Web Inspector: allow overriding the script mapping on the UI level
1376         https://bugs.webkit.org/show_bug.cgi?id=85702
1377
1378         Reviewed by Yury Semikhatsky.
1379
1380         This allows formatting update live locations all over the place automatically.
1381
1382         * inspector/front-end/Script.js:
1383         (WebInspector.Script.prototype.rawLocationToUILocation):
1384         (WebInspector.Script.Location):
1385         (WebInspector.Script.Location.prototype.update):
1386         (WebInspector.Script.Location.prototype.dispose):
1387         * inspector/front-end/UISourceCode.js:
1388         (WebInspector.UISourceCode):
1389         (WebInspector.UISourceCode.prototype.addLiveLocation):
1390         (WebInspector.UISourceCode.prototype.removeLiveLocation):
1391         (WebInspector.UISourceCode.prototype.updateLiveLocations):
1392         (WebInspector.UISourceCode.prototype.overrideLocation):
1393
1394 2012-05-05  Pavel Feldman  <pfeldman@chromium.org>
1395
1396         Web Inspector: simplify the JavaScriptOutline dialog interaction.
1397         https://bugs.webkit.org/show_bug.cgi?id=85701
1398
1399         Reviewed by Yury Semikhatsky.
1400
1401         Removed bidirectional dependency between scripts panel and outline dialog.
1402
1403         * inspector/front-end/FilteredItemSelectionDialog.js:
1404         (WebInspector.JavaScriptOutlineDialog):
1405         (WebInspector.JavaScriptOutlineDialog.show):
1406         (WebInspector.JavaScriptOutlineDialog.prototype.requestItems):
1407         (WebInspector.JavaScriptOutlineDialog.prototype._didBuildOutlineChunk):
1408         (WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
1409         * inspector/front-end/ScriptFormatterWorker.js:
1410         * inspector/front-end/ScriptsPanel.js:
1411         (WebInspector.ScriptsPanel.prototype.addToWatch):
1412         (WebInspector.ScriptsPanel.prototype._showJavaScriptOutlineDialog):
1413
1414 2012-05-04  Ilya Tikhonovsky  <loislo@chromium.org>
1415
1416         Web Inspector: annotate ProfilerAgent.
1417         https://bugs.webkit.org/show_bug.cgi?id=85630
1418
1419         Reviewed by Pavel Feldman.
1420
1421         * inspector/Inspector.json:
1422         * inspector/InspectorProfilerAgent.cpp:
1423         (WebCore::InspectorProfilerAgent::createProfileHeader):
1424         (WebCore::InspectorProfilerAgent::createSnapshotHeader):
1425         (WebCore::InspectorProfilerAgent::getProfileHeaders):
1426         (WebCore):
1427         (WebCore::InspectorProfilerAgent::getProfile):
1428         * inspector/InspectorProfilerAgent.h:
1429         (InspectorProfilerAgent):
1430         * inspector/front-end/CSSSelectorProfileView.js:
1431         * inspector/front-end/HeapSnapshotView.js:
1432         (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
1433         * inspector/front-end/ProfileView.js:
1434         * inspector/front-end/ProfilesPanel.js:
1435         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
1436         (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
1437         (WebInspector.ProfilerDispatcher.prototype.resetProfiles):
1438
1439 2012-05-04  Gustavo Noronha Silva  <gns@gnome.org>
1440
1441         [GTK] Simplify how libWebCoreModules is linked in, and fix WebKit2 build
1442         https://bugs.webkit.org/show_bug.cgi?id=85691
1443
1444         * GNUmakefile.am: link libWebCoreModules into libWebCore.
1445
1446 2012-05-04  Kent Tamura  <tkent@chromium.org>
1447
1448         Rename ICULocale to LocaleICU, part 1
1449         https://bugs.webkit.org/show_bug.cgi?id=85688
1450
1451         Reviewed by Kentaro Hara.
1452
1453         Rename it for consistency. Our convention is Foo<Platform>.{cpp,h}.
1454         This patch changes only file names. We'll rename ICULocale class
1455         by a following patch.
1456
1457         No behavior changes.
1458
1459         * WebCore.gypi:
1460         * platform/text/LocaleICU.cpp: Renamed from Source/WebCore/platform/text/ICULocale.cpp.
1461         * platform/text/LocaleICU.h: Renamed from Source/WebCore/platform/text/ICULocale.h.
1462         * platform/text/LocalizedDateICU.cpp: Rename ICULocale.h to LocaleICU.h.
1463         * platform/text/LocalizedNumberICU.cpp: ditto.
1464
1465 2012-05-04  Julien Chaffraix  <jchaffraix@webkit.org>
1466
1467         Leaf non self-painting layers should bail out early in RenderLayer::paintLayer
1468         https://bugs.webkit.org/show_bug.cgi?id=85678
1469
1470         Reviewed by Darin Adler.
1471
1472         Performance optimization, no expected change in behavior.
1473
1474         The gist of the change is that leaf non self-painting layers don't need to be painted as their
1475         associated RenderBoxModelObject should properly paint itself without any help.
1476
1477         For RenderLayer trees that have a large number of leafs nodes (like a table with a leaf RenderLayer for
1478         each cells), not bailing out is a big overhead as it ends up doing a lot of computation for no real
1479         painting. See http://dglazkov.github.com/performance-tests/biggrid.html for a benchmark for that. On
1480         my machine, it reduces the paint time when scrolling to 70ms from 120ms (45% speedup).
1481
1482         * rendering/RenderLayer.cpp:
1483         (WebCore::RenderLayer::paintLayer):
1484
1485 2012-05-04  Rob Buis  <rbuis@rim.com>
1486
1487         Remove InlineBox::next()
1488         https://bugs.webkit.org/show_bug.cgi?id=85668
1489
1490         Reviewed by Nikolas Zimmermann.
1491
1492         InlineBox::next() not needed since nextOnLine() does the same.
1493
1494         * rendering/InlineBox.h:
1495         (InlineBox):
1496         * rendering/InlineFlowBox.h:
1497         (WebCore::InlineFlowBox::setConstructed):
1498
1499 2012-05-04  Chris Rogers  <crogers@google.com>
1500
1501         Oscillator must implement noteOn() and noteOff()
1502         https://bugs.webkit.org/show_bug.cgi?id=85236
1503
1504         Reviewed by Kenneth Russell.
1505
1506         Test: webaudio/oscillator-scheduling.html
1507         to be landed separately to get proper platform baselines
1508
1509         * Modules/webaudio/AudioBufferSourceNode.cpp:
1510         (WebCore::AudioBufferSourceNode::process):
1511         Simplify/remove zeroing-out silence at end of buffer, since it's now handled in the base-class AudioScheduledSourceNode::updateSchedulingInfo().
1512
1513         * Modules/webaudio/AudioContext.cpp:
1514         (WebCore::AudioContext::createBufferSource):
1515         Improve comment about ownership and dynamic-lifetime of AudioBufferSourceNode.
1516
1517         (WebCore::AudioContext::createOscillator):
1518         AudioContext keeps a reference to the Oscillator and that reference is released in AudioScheduledSourceNode,
1519         when it has finished playing.
1520
1521         * Modules/webaudio/AudioScheduledSourceNode.h:
1522         * Modules/webaudio/AudioScheduledSourceNode.cpp:
1523         (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
1524         updateSchedulingInfo() is now responsible for zeroing out the very start (before a note starts)
1525         and the very end (after note ends) of the output AudioBus.  We've also simplified the number
1526         of arguments passed to this method, because of this. It now handles playbackState transition to FINISHED_STATE.
1527
1528         * Modules/webaudio/Oscillator.cpp:
1529         (WebCore::Oscillator::Oscillator):
1530         (WebCore::Oscillator::calculateSampleAccuratePhaseIncrements):
1531         The frequency value needs to snap immediately to its correct value the very first time.
1532         This bug needs to be fixed here so that the Oscillator layout scheduling test works correctly.
1533
1534         (WebCore::Oscillator::process):
1535         Since Oscillator in now changing to be a AudioScheduledSourceNode, we need to call AudioScheduledSourceNode::updateSchedulingInfo()
1536         to handle playbackState for us.
1537
1538         (WebCore::Oscillator::propagatesSilence):
1539         Add scheduling logic for propagatesSilence().
1540
1541         (Oscillator):
1542         * Modules/webaudio/Oscillator.idl:
1543         Add noteOn(), noteOff() methods and playbackState according to specification.
1544
1545 2012-05-04  Andy Estes  <aestes@apple.com>
1546
1547         Remove uses of ASSERT(false)
1548         https://bugs.webkit.org/show_bug.cgi?id=85686
1549
1550         Reviewed by Dean Jackson.
1551
1552         Replace uses of ASSERT(false) with ASSERT_NOT_REACHED(). Also, in two places, there was code structured like:
1553
1554         if (expr) {
1555             // do something
1556         } else {
1557             ASSERT(false);
1558         }
1559
1560         Replace this with:
1561
1562         ASSERT(expr);
1563         if (!expr)
1564             return;
1565
1566         // do something
1567
1568         * Modules/webdatabase/DatabaseTracker.cpp:
1569         (WebCore::DatabaseTracker::deleteOrigin):
1570         (WebCore::DatabaseTracker::doneCreatingDatabase):
1571         (WebCore::DatabaseTracker::doneDeletingDatabase):
1572         (WebCore::DatabaseTracker::deleteDatabase):
1573         * bridge/objc/objc_instance.mm:
1574         (ObjcInstance::invokeObjcMethod):
1575         * bridge/objc/objc_utility.mm:
1576         (JSC::Bindings::convertObjcValueToValue):
1577         (JSC::Bindings::objcValueTypeForType):
1578         * dom/Node.cpp:
1579         (WebCore::Node::createRenderer):
1580         * loader/icon/IconDatabase.cpp:
1581         (WebCore::IconDatabase::setIconURLForPageURLInSQLDatabase):
1582         (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
1583         * platform/graphics/GraphicsContext3D.cpp:
1584         (WebCore::doPacking):
1585         * platform/text/BidiResolver.h:
1586         (WebCore::::createBidiRunsForLine):
1587
1588 2012-05-04  Noel Gordon  <noel.gordon@gmail.com>
1589
1590         [CG] Minor refactor of ImageBuffer::CGImageToDataURL and its callers
1591         https://bugs.webkit.org/show_bug.cgi?id=85280
1592
1593         Reviewed by Kenneth Russell.
1594
1595         This patch means to simplify the diff of an upcoming patch. Refactoring
1596         here in preparation for that patch.
1597
1598         No new tests. No behavioral change. Covered by canvas 2d and 3d tests:
1599           canvas/philip/tests/*toDataURL*.html
1600           fast/canvas/webgl/premultiplyalpha-test.html
1601
1602         * platform/graphics/cg/ImageBufferCG.cpp:
1603         (WebCore::CGImageToDataURL): Move the invalid image (!image) test here.
1604         The comments are about JPEG images; say that. Rename out to base64Data.
1605         (WebCore::ImageBuffer::toDataURL): Remove the !image test.
1606         (WebCore::ImageDataToDataURL): Move and define variables where used and
1607         make the code flow read similarly to toDataURL. Remove the !image test.
1608
1609 2012-05-04  Shawn Singh  <shawnsingh@chromium.org>
1610
1611         [chromium] Changes to layer tree structure need to be tracked properly
1612         https://bugs.webkit.org/show_bug.cgi?id=85421
1613
1614         Reviewed by Adrienne Walker.
1615
1616         Unit test added: TreeSynchronizerTest.syncSimpleTreeAndTrackStackingOrderChange
1617
1618         Earlier, we were relying on WebCore behavior that always called
1619         setNeedsDisplay whenever the layer tree structure changed.
1620         However, in general it is more correct to consider layer tree
1621         changes even when things don't need repainting; for example Aura
1622         code is encountring this bug now. This patch corrects the
1623         compositor so that layer tree structural changes are considered
1624         property changes, without requiring that layers needed to be
1625         repainted.
1626
1627         * platform/graphics/chromium/LayerChromium.cpp:
1628         (WebCore::LayerChromium::LayerChromium):
1629         (WebCore::LayerChromium::insertChild):
1630         (WebCore::LayerChromium::pushPropertiesTo):
1631         * platform/graphics/chromium/LayerChromium.h:
1632         (LayerChromium):
1633         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1634         (WebCore::CCLayerImpl::setStackingOrderChanged):
1635         (WebCore):
1636         * platform/graphics/chromium/cc/CCLayerImpl.h:
1637         (CCLayerImpl):
1638
1639 2012-05-04  Jeffrey Pfau  <jpfau@apple.com>
1640
1641         Unreviewed; build fix after r116191.
1642
1643         * bindings/js/JSEventListener.h:
1644
1645 2012-05-04  Enrica Casucci  <enrica@apple.com>
1646
1647         REGRESSION: Cursor jumps to the first line after deleting the last word.
1648         https://bugs.webkit.org/show_bug.cgi?id=85334
1649         <rdar://problem/11210059>
1650
1651         Reviewed by Ryosuke Niwa.
1652
1653         This regression was introduced with the work to remove redundant divs.
1654         When we decide to remove a DIV, we need to adjust the selection, if it is
1655         expressed in terms of the node being removed. The new position was computed
1656         using updatePositionForNodeRemoval that was not designed for the case where we
1657         remove preserving children.
1658         This patch adds a new method to CompositeEditCommand to do this properly.
1659         
1660         Test: editing/deleting/delete-word-from-unstyled-div.html
1661
1662         * editing/CompositeEditCommand.cpp:
1663         (WebCore::CompositeEditCommand::isRemovableBlock): Code clenup.
1664         (WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren): Added.
1665          * editing/CompositeEditCommand.h:
1666         * editing/DeleteSelectionCommand.cpp:
1667         (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Uses updatePositionForNodeRemovalPreservingChildren.
1668
1669 2012-05-04  Jeffrey Pfau  <jpfau@apple.com>
1670
1671         Prevent early EventListener deletion
1672         https://bugs.webkit.org/show_bug.cgi?id=73970
1673
1674         Reviewed by Oliver Hunt.
1675
1676         Test: fast/events/attribute-listener-deletion-crash.html
1677
1678         * bindings/js/JSEventListener.h:
1679         (WebCore::JSEventListener::jsFunction):
1680
1681 2012-05-04  Yongjun Zhang  <yongjun_zhang@apple.com>
1682
1683         Add "combining short stroke overlay character (u0335)" to lookalike characters blacklist.
1684         https://bugs.webkit.org/show_bug.cgi?id=85440
1685
1686         Reviewed by David Kilzer.
1687
1688         We should add u0335 to the characters blacklist.
1689
1690         * platform/mac/WebCoreNSURLExtras.mm:
1691         (WebCore::isLookalikeCharacter):
1692
1693 2012-05-04  Satoru Takabayashi  <satorux@chromium.org>
1694
1695         [chromium] Add plumbing for file display names for drag and drop
1696         https://bugs.webkit.org/show_bug.cgi?id=85673
1697
1698         Reviewed by Darin Fisher.
1699
1700         No new tests: this change itself shouldn't change existing behavior.
1701
1702         * platform/chromium/ChromiumDataObject.cpp:
1703         (WebCore::ChromiumDataObject::addFilename):
1704         * platform/chromium/ChromiumDataObject.h:
1705         (ChromiumDataObject):
1706
1707 2012-05-04  Levi Weintraub  <leviw@chromium.org>
1708
1709         Correct pixel snapping in RenderSVGRoot::paintReplaced
1710         https://bugs.webkit.org/show_bug.cgi?id=85671
1711
1712         Reviewed by Eric Seidel.
1713
1714         SVG root elements are still painted on pixel boundaries, so their children should
1715         apply transforms based on their actual painted location, not their sub-pixel
1716         one. This corrects a clipping and painting issue where these sub-pixel units are
1717         incorrectly applied to the graphics context.
1718
1719         Covered by existing tests when sub-pixel layout is enabled.
1720
1721         * rendering/svg/RenderSVGRoot.cpp:
1722         (WebCore::RenderSVGRoot::paintReplaced):
1723
1724 2012-05-04  Adam Barth  <abarth@webkit.org>
1725
1726         Refactor CSP state to prepare for having both a ReportOnly and an Enforced policy
1727         https://bugs.webkit.org/show_bug.cgi?id=85662
1728
1729         Reviewed by Eric Seidel.
1730
1731         This patch refactors the ContentSecurityPolicy state into a separate
1732         DirectiveList class to prepare for
1733         https://bugs.webkit.org/show_bug.cgi?id=85561, which will cause us to
1734         need two directive lists: one for enforcement and one for monitoring.
1735
1736         This patch shouldn't cause any change in behavior.
1737
1738         * page/ContentSecurityPolicy.cpp:
1739         (CSPDirectiveList):
1740         (WebCore::CSPDirectiveList::header):
1741         (WebCore::CSPDirectiveList::headerType):
1742         (WebCore::CSPDirectiveList::denyIfEnforcingPolicy):
1743         (WebCore):
1744         (WebCore::CSPDirectiveList::CSPDirectiveList):
1745         (WebCore::CSPDirectiveList::create):
1746         (WebCore::CSPDirectiveList::reportViolation):
1747         (WebCore::CSPDirectiveList::logUnrecognizedDirective):
1748         (WebCore::CSPDirectiveList::checkEval):
1749         (WebCore::CSPDirectiveList::operativeDirective):
1750         (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
1751         (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
1752         (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
1753         (WebCore::CSPDirectiveList::allowJavaScriptURLs):
1754         (WebCore::CSPDirectiveList::allowInlineEventHandlers):
1755         (WebCore::CSPDirectiveList::allowInlineScript):
1756         (WebCore::CSPDirectiveList::allowInlineStyle):
1757         (WebCore::CSPDirectiveList::allowEval):
1758         (WebCore::CSPDirectiveList::allowScriptFromSource):
1759         (WebCore::CSPDirectiveList::allowObjectFromSource):
1760         (WebCore::CSPDirectiveList::allowChildFrameFromSource):
1761         (WebCore::CSPDirectiveList::allowImageFromSource):
1762         (WebCore::CSPDirectiveList::allowStyleFromSource):
1763         (WebCore::CSPDirectiveList::allowFontFromSource):
1764         (WebCore::CSPDirectiveList::allowMediaFromSource):
1765         (WebCore::CSPDirectiveList::allowConnectFromSource):
1766         (WebCore::CSPDirectiveList::parse):
1767         (WebCore::CSPDirectiveList::parseDirective):
1768         (WebCore::CSPDirectiveList::parseReportURI):
1769         (WebCore::CSPDirectiveList::createCSPDirective):
1770         (WebCore::CSPDirectiveList::applySandboxPolicy):
1771         (WebCore::CSPDirectiveList::addDirective):
1772         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
1773         (WebCore::ContentSecurityPolicy::~ContentSecurityPolicy):
1774         (WebCore::ContentSecurityPolicy::copyStateFrom):
1775         (WebCore::ContentSecurityPolicy::didReceiveHeader):
1776         (WebCore::ContentSecurityPolicy::setOverrideAllowInlineStyle):
1777         (WebCore::ContentSecurityPolicy::header):
1778         (WebCore::ContentSecurityPolicy::headerType):
1779         (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
1780         (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
1781         (WebCore::ContentSecurityPolicy::allowInlineScript):
1782         (WebCore::ContentSecurityPolicy::allowInlineStyle):
1783         (WebCore::ContentSecurityPolicy::allowEval):
1784         (WebCore::ContentSecurityPolicy::allowScriptFromSource):
1785         (WebCore::ContentSecurityPolicy::allowObjectFromSource):
1786         (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
1787         (WebCore::ContentSecurityPolicy::allowImageFromSource):
1788         (WebCore::ContentSecurityPolicy::allowStyleFromSource):
1789         (WebCore::ContentSecurityPolicy::allowFontFromSource):
1790         (WebCore::ContentSecurityPolicy::allowMediaFromSource):
1791         (WebCore::ContentSecurityPolicy::allowConnectFromSource):
1792         * page/ContentSecurityPolicy.h:
1793         (WebCore):
1794         * workers/WorkerMessagingProxy.cpp:
1795         (WebCore::WorkerMessagingProxy::startWorkerContext):
1796
1797 2012-05-04  Abhishek Arya  <inferno@chromium.org>
1798
1799         ASSERT(beforeChildAnonymousContainer->isTable()); fails in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
1800         https://bugs.webkit.org/show_bug.cgi?id=84606
1801
1802         Reviewed by Julien Chaffraix.
1803
1804         RenderBlock::removeChild forgot to set display on the anonymous block, causing it
1805         to display as INLINE. To prevent this kind of failure in future, we replace
1806         createAnonymousStyle with createAnonymousStyleWithDisplay to make everyone explictly
1807         pass display as the argument.
1808
1809         Test: fast/block/block-add-child-crash.html
1810
1811         * rendering/RenderBlock.cpp:
1812         (WebCore::RenderBlock::removeChild): 
1813         (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
1814         (WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
1815         (WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
1816         * rendering/RenderInline.cpp:
1817         (WebCore::updateStyleOfAnonymousBlockContinuations):
1818         (WebCore::RenderInline::addChildIgnoringContinuation):
1819         * rendering/RenderObject.cpp:
1820         (WebCore::RenderObject::propagateStyleToAnonymousChildren):
1821         * rendering/RenderRuby.cpp:
1822         (WebCore::createAnonymousRubyInlineBlock):
1823         * rendering/RenderRubyRun.cpp:
1824         (WebCore::RenderRubyRun::createRubyBase):
1825         (WebCore::RenderRubyRun::staticCreateRubyRun):
1826         * rendering/RenderTable.cpp:
1827         (WebCore::RenderTable::createAnonymousWithParentRenderer):
1828         * rendering/RenderTableCell.cpp:
1829         (WebCore::RenderTableCell::createAnonymousWithParentRenderer):
1830         * rendering/RenderTableRow.cpp:
1831         (WebCore::RenderTableRow::createAnonymousWithParentRenderer):
1832         * rendering/RenderTableSection.cpp:
1833         (WebCore::RenderTableSection::createAnonymousWithParentRenderer):
1834         * rendering/mathml/RenderMathMLBlock.cpp:
1835         (WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):
1836         * rendering/mathml/RenderMathMLRow.cpp:
1837         (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
1838         * rendering/mathml/RenderMathMLSubSup.cpp:
1839         (WebCore::RenderMathMLSubSup::addChild):
1840         * rendering/style/RenderStyle.cpp:
1841         (WebCore::RenderStyle::createAnonymousStyleWithDisplay):
1842         * rendering/style/RenderStyle.h:
1843
1844 2012-04-27  Erik Arvidsson  <arv@chromium.org>
1845
1846         WebKit IDL does not use exception syntax
1847         https://bugs.webkit.org/show_bug.cgi?id=85100
1848
1849         Reviewed by Dimitri Glazkov.
1850
1851         This adds support for exception ExceptionName { ... } which currently sets a flag
1852         on the domClass.
1853
1854         Binding tests updated.
1855
1856         * Modules/indexeddb/IDBDatabaseException.idl:
1857         * Modules/webdatabase/SQLException.idl:
1858         * bindings/scripts/IDLParser.pm:
1859         (ParseInterface):
1860         (DetermineParseMode):
1861         (ProcessSection):
1862         * bindings/scripts/IDLStructure.pm:
1863         * bindings/scripts/test/CPP/WebDOMTestException.cpp: Added.
1864         (WebDOMTestException::WebDOMTestExceptionPrivate::WebDOMTestExceptionPrivate):
1865         (WebDOMTestException::WebDOMTestExceptionPrivate):
1866         (WebDOMTestException::WebDOMTestException):
1867         (WebDOMTestException::operator=):
1868         (WebDOMTestException::impl):
1869         (WebDOMTestException::~WebDOMTestException):
1870         (WebDOMTestException::name):
1871         (toWebCore):
1872         (toWebKit):
1873         * bindings/scripts/test/CPP/WebDOMTestException.h: Added.
1874         (WebCore):
1875         (WebDOMTestException):
1876         * bindings/scripts/test/GObject/WebKitDOMTestException.cpp: Added.
1877         (WebKit):
1878         (WebKit::kit):
1879         (WebKit::core):
1880         (WebKit::wrapTestException):
1881         (webkit_dom_test_exception_finalize):
1882         (webkit_dom_test_exception_set_property):
1883         (webkit_dom_test_exception_get_property):
1884         (webkit_dom_test_exception_constructed):
1885         (webkit_dom_test_exception_class_init):
1886         (webkit_dom_test_exception_init):
1887         (webkit_dom_test_exception_get_name):
1888         * bindings/scripts/test/GObject/WebKitDOMTestException.h: Added.
1889         (_WebKitDOMTestException):
1890         (_WebKitDOMTestExceptionClass):
1891         * bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h: Added.
1892         (WebKit):
1893         * bindings/scripts/test/JS/JSTestException.cpp: Added.
1894         (WebCore):
1895         (WebCore::JSTestExceptionConstructor::JSTestExceptionConstructor):
1896         (WebCore::JSTestExceptionConstructor::finishCreation):
1897         (WebCore::JSTestExceptionConstructor::getOwnPropertySlot):
1898         (WebCore::JSTestExceptionConstructor::getOwnPropertyDescriptor):
1899         (WebCore::JSTestExceptionPrototype::self):
1900         (WebCore::JSTestException::JSTestException):
1901         (WebCore::JSTestException::finishCreation):
1902         (WebCore::JSTestException::createPrototype):
1903         (WebCore::JSTestException::destroy):
1904         (WebCore::JSTestException::~JSTestException):
1905         (WebCore::JSTestException::getOwnPropertySlot):
1906         (WebCore::JSTestException::getOwnPropertyDescriptor):
1907         (WebCore::jsTestExceptionName):
1908         (WebCore::jsTestExceptionConstructor):
1909         (WebCore::JSTestException::getConstructor):
1910         (WebCore::isObservable):
1911         (WebCore::JSTestExceptionOwner::isReachableFromOpaqueRoots):
1912         (WebCore::JSTestExceptionOwner::finalize):
1913         (WebCore::toJS):
1914         (WebCore::toTestException):
1915         * bindings/scripts/test/JS/JSTestException.h: Added.
1916         (WebCore):
1917         (JSTestException):
1918         (WebCore::JSTestException::create):
1919         (WebCore::JSTestException::createStructure):
1920         (WebCore::JSTestException::impl):
1921         (WebCore::JSTestException::releaseImpl):
1922         (WebCore::JSTestException::releaseImplIfNotNull):
1923         (JSTestExceptionOwner):
1924         (WebCore::wrapperOwner):
1925         (WebCore::wrapperContext):
1926         (JSTestExceptionPrototype):
1927         (WebCore::JSTestExceptionPrototype::create):
1928         (WebCore::JSTestExceptionPrototype::createStructure):
1929         (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
1930         (JSTestExceptionConstructor):
1931         (WebCore::JSTestExceptionConstructor::create):
1932         (WebCore::JSTestExceptionConstructor::createStructure):
1933         * bindings/scripts/test/ObjC/DOMTestException.h: Added.
1934         * bindings/scripts/test/ObjC/DOMTestException.mm: Added.
1935         (-[DOMTestException dealloc]):
1936         (-[DOMTestException finalize]):
1937         (-[DOMTestException name]):
1938         (core):
1939         (kit):
1940         * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h: Added.
1941         (WebCore):
1942         * bindings/scripts/test/TestException.idl: Copied from Source/WebCore/xml/XPathException.idl.
1943         * bindings/scripts/test/V8/V8TestException.cpp: Added.
1944         (WebCore):
1945         (TestExceptionV8Internal):
1946         (WebCore::TestExceptionV8Internal::V8_USE):
1947         (WebCore::TestExceptionV8Internal::nameAttrGetter):
1948         (WebCore::ConfigureV8TestExceptionTemplate):
1949         (WebCore::V8TestException::GetRawTemplate):
1950         (WebCore::V8TestException::GetTemplate):
1951         (WebCore::V8TestException::HasInstance):
1952         (WebCore::V8TestException::wrapSlow):
1953         (WebCore::V8TestException::derefObject):
1954         * bindings/scripts/test/V8/V8TestException.h: Added.
1955         (WebCore):
1956         (V8TestException):
1957         (WebCore::V8TestException::toNative):
1958         (WebCore::V8TestException::wrap):
1959         (WebCore::toV8):
1960         * dom/DOMCoreException.idl:
1961         * dom/EventException.idl:
1962         * dom/RangeException.idl:
1963         * fileapi/FileException.idl:
1964         * fileapi/OperationNotAllowedException.idl:
1965         * svg/SVGException.idl:
1966         * xml/XMLHttpRequestException.idl:
1967         * xml/XPathException.idl:
1968
1969 2012-05-04  Rafael Weinstein  <rafaelw@chromium.org>
1970
1971         V8RecursionScope not declared in V8Proxy::newInstance which causes ASSERT() failure from NPAPI
1972         https://bugs.webkit.org/show_bug.cgi?id=85659
1973
1974         Reviewed by Ojan Vafai.
1975
1976         Added a stack-allocted V8RecursionScope to the newInstance call.
1977
1978         No new tests. No change in observable behavior.
1979
1980         * bindings/v8/V8Proxy.cpp:
1981         (WebCore::V8Proxy::newInstance):
1982
1983 2012-05-04  Joshua Bell  <jsbell@chromium.org>
1984
1985         IndexedDB: Remove all index metadata records when deleting an index
1986         https://bugs.webkit.org/show_bug.cgi?id=85557
1987
1988         Reviewed by Tony Chang.
1989
1990         An assert is hit when re-loading database from backing store due to stale index
1991         metadata entry. Do a range delete to clear all metadata entries when deleting an
1992         index. Define metadata entries as enum and limits as consts instead of hardcoded ints.
1993
1994         No new tests - issue does not repro as layout test. Will land test in Chromium.
1995
1996         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
1997         (WebCore::getBool): Helper functions; replaces pattern of putInt()/read only lead byte.
1998         (WebCore):
1999         (WebCore::putBool):
2000         (WebCore::IDBLevelDBBackingStore::getObjectStores): Skip stale data. Use enums, helpers.
2001         (WebCore::IDBLevelDBBackingStore::createObjectStore): Use enums.
2002         (WebCore::IDBLevelDBBackingStore::deleteObjectStore): Use enums.
2003         (WebCore::getNewVersionNumber): Use enums.
2004         (WebCore::IDBLevelDBBackingStore::getIndexes): Skip stale data. Use enums, helpers.
2005         (WebCore::getNewIndexId): Use enums.
2006         (WebCore::IDBLevelDBBackingStore::createIndex): Use enums.
2007         (WebCore::IDBLevelDBBackingStore::deleteIndex): Delete metadata by range.
2008         * Modules/indexeddb/IDBLevelDBCoding.cpp:
2009         (IDBLevelDBCoding): Add constants for metadata maximum values.
2010         (WebCore::IDBLevelDBCoding::encodeBool):
2011         (WebCore::IDBLevelDBCoding::decodeBool):
2012         (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encodeMaxKey): Use consts.
2013         (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encodeMaxKey): Use consts.
2014         * Modules/indexeddb/IDBLevelDBCoding.h:
2015         (IDBLevelDBCoding): Expose enums for metadata types.
2016
2017 2012-05-04  Anders Carlsson  <andersca@apple.com>
2018
2019         Move markPagesForFullStyleRecalc to PageCache
2020         https://bugs.webkit.org/show_bug.cgi?id=85664
2021
2022         Reviewed by Dan Bernstein.
2023
2024         Instead of going through all the history items in the back/forward list looking for cached pages, just iterate over the cached pages in the page.
2025
2026         * history/BackForwardController.cpp:
2027         * history/BackForwardController.h:
2028         * history/HistoryItem.cpp:
2029         * history/HistoryItem.h:
2030         * history/PageCache.cpp:
2031         (WebCore::PageCache::markPagesForFullStyleRecalc):
2032         (WebCore):
2033         * history/PageCache.h:
2034         (PageCache):
2035         * page/Frame.cpp:
2036         (WebCore::Frame::setPageAndTextZoomFactors):
2037         * page/Page.cpp:
2038         (WebCore::Page::setDeviceScaleFactor):
2039         (WebCore::Page::setPagination):
2040
2041 2012-05-04  Tony Chang  <tony@chromium.org>
2042
2043         The computed style of flex-item-align should never be auto.
2044         https://bugs.webkit.org/show_bug.cgi?id=85656
2045
2046         Reviewed by Ojan Vafai.
2047
2048         If the node lacks a parent and flex-item-align is auto, we should
2049         return stretch. This was recently clarified in the spec.
2050
2051         New testcase in css3/flexbox/css-properties.html.
2052
2053         * css/CSSComputedStyleDeclaration.cpp:
2054         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
2055
2056 2012-05-04  Christophe Dumez  <christophe.dumez@intel.com>
2057
2058         [soup] URL of the ResourceResponse passed to willSendRequest is incorrect
2059         https://bugs.webkit.org/show_bug.cgi?id=85072
2060
2061         Reviewed by Gustavo Noronha Silva.
2062
2063         Store the response message by catching the "got-headers" signal so
2064         that it can be passed later to willSendRequest() in case of
2065         redirection. This is required because the SoupMessage headers and URL
2066         have already been updated once restartedCallback() is called.
2067
2068         * platform/network/soup/ResourceHandleSoup.cpp:
2069         (WebCore):
2070         (WebCore::gotHeadersCallback):
2071         (WebCore::restartedCallback):
2072         (WebCore::sendRequestCallback):
2073         (WebCore::startHTTPRequest):
2074
2075 2012-05-04  Ian Vollick  <vollick@chromium.org>
2076
2077         [chromium] CCProxy's shouldn't try to draw if there is no layer renderer
2078         https://bugs.webkit.org/show_bug.cgi?id=85218
2079
2080         Reviewed by Adrienne Walker.
2081
2082         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
2083         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
2084
2085 2012-05-04  Rob Buis  <rbuis@rim.com>
2086
2087         [BlackBerry] Rendering bmp file as text file when Content-Type:image/x-ms-bmp from apache web server.
2088         https://bugs.webkit.org/show_bug.cgi?id=85036
2089
2090         Reviewed by Antonio Gomes.
2091
2092         Move getNormalizedMIMEType from WebKit into MIMETypeRegistry. This way we support uncommon mime types like image/pjpeg
2093         and image/x-ms-bmp out of the box since we map to the more common image/jpeg and image/bmp respectively.
2094
2095         * platform/MIMETypeRegistry.cpp:
2096         (WebCore::initializeSupportedImageMIMETypes):
2097         (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
2098         (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
2099         (WebCore):
2100         (WebCore::mimeTypeAssociationMap):
2101         (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
2102         * platform/MIMETypeRegistry.h:
2103         (MIMETypeRegistry):
2104
2105 2012-05-04  Sami Kyostila  <skyostil@chromium.org>
2106
2107         [chromium] Revert compositor layer scrolling
2108         https://bugs.webkit.org/show_bug.cgi?id=85644
2109
2110         Reviewed by Steve Block.
2111
2112         This patch reverts the following commits because they were found to
2113         trigger crashes. See discussion at http://code.google.com/p/chromium/issues/detail?id=124393.
2114
2115             [chromium] Allow scrolling non-root layers in the compositor thread
2116             http://trac.webkit.org/changeset/114651
2117
2118             [chromium] Don't crash when scrolling empty layer tree
2119             http://trac.webkit.org/changeset/114761
2120
2121             [chromium] Don't keep pointers to released layer tree
2122             http://trac.webkit.org/changeset/115080
2123
2124         * platform/graphics/chromium/ContentLayerChromium.cpp:
2125         * platform/graphics/chromium/ContentLayerChromium.h:
2126         (ContentLayerChromium):
2127         * platform/graphics/chromium/GraphicsLayerChromium.h:
2128         (GraphicsLayerChromium):
2129         * platform/graphics/chromium/LayerChromium.cpp:
2130         (WebCore::LayerChromium::pushPropertiesTo):
2131         * platform/graphics/chromium/LayerChromium.h:
2132         (LayerChromium):
2133         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
2134         * platform/graphics/chromium/cc/CCLayerImpl.h:
2135         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
2136         (WebCore::CCLayerTreeHost::applyScrollAndScale):
2137         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
2138         (CCLayerTreeHostCommon):
2139         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
2140         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
2141         (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
2142         (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
2143         (WebCore::CCLayerTreeHostImpl::contentSize):
2144         (WebCore::CCLayerTreeHostImpl::prepareToDraw):
2145         (WebCore::findScrollLayer):
2146         (WebCore::CCLayerTreeHostImpl::setRootLayer):
2147         (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
2148         (WebCore):
2149         (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
2150         (WebCore::CCLayerTreeHostImpl::setPageScaleDelta):
2151         (WebCore::CCLayerTreeHostImpl::applyPageScaleDeltaToScrollLayer):
2152         (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
2153         (WebCore::CCLayerTreeHostImpl::scrollBegin):
2154         (WebCore::CCLayerTreeHostImpl::scrollBy):
2155         (WebCore::CCLayerTreeHostImpl::scrollEnd):
2156         (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
2157         (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
2158         (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
2159         (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
2160         (WebCore::CCLayerTreeHostImpl::animatePageScale):
2161         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
2162         (WebCore::CCLayerTreeHostImpl::releaseRootLayer):
2163         (WebCore::CCLayerTreeHostImpl::scrollLayer):
2164         (CCLayerTreeHostImpl):
2165
2166 2012-05-04  Ojan Vafai  <ojan@chromium.org>
2167
2168         Remove file that was deleted in http://trac.webkit.org/changeset/116085/.
2169         For some reason, this was breaking the chromium build (probably a gyp bug
2170         since chromium shouldn't be pulling in this file).
2171
2172         * WebCore.gypi:
2173
2174 2012-05-04  Tony Chang  <tony@chromium.org>
2175
2176         fix bit packing in FillLayer on Windows
2177         https://bugs.webkit.org/show_bug.cgi?id=85636
2178
2179         Reviewed by Ryosuke Niwa.
2180
2181         Use unsigned for all bit packed types. I manually verified that
2182         the current uses of these member variables always assign true or false.
2183
2184         No new tests, adding a compile assert to verify bit packing.
2185
2186         * rendering/style/FillLayer.cpp:
2187         (SameSizeAsFillLayer): Added compile assert.
2188         (WebCore):
2189         (WebCore::FillLayer::FillLayer): Reorder m_sizeLength so bit packed fields are adjacent.
2190         (WebCore::FillLayer::operator=): Ditto.
2191         * rendering/style/FillLayer.h:
2192         (FillLayer): Convert bools to unsigned to match other bit packed fields.
2193
2194 2012-05-04  Tommy Widenflycht  <tommyw@google.com>
2195
2196         MediaStream API: Make PeerConnection00's API fully compliant with the draft
2197         https://bugs.webkit.org/show_bug.cgi?id=85491
2198
2199         Reviewed by Adam Barth.
2200
2201         Mainly making the relevant API's use objects (aka Dictionaries) instead of the temporary strings,
2202         but also making a few API's exception aware and changing the name of a flag.
2203
2204         Test: fast/mediastream/peerconnection-iceoptions.html
2205
2206         * Modules/mediastream/PeerConnection00.cpp:
2207         (WebCore::PeerConnection00::createMediaHints):
2208         (WebCore::PeerConnection00::createOffer):
2209         (WebCore):
2210         (WebCore::PeerConnection00::createAnswer):
2211         (WebCore::PeerConnection00::createIceOptions):
2212         (WebCore::PeerConnection00::createDefaultIceOptions):
2213         (WebCore::PeerConnection00::startIce):
2214         (WebCore::PeerConnection00::addStream):
2215         (WebCore::PeerConnection00::changeReadyState):
2216         * Modules/mediastream/PeerConnection00.h:
2217         (WebCore):
2218         (PeerConnection00):
2219         * Modules/mediastream/PeerConnection00.idl:
2220         * platform/mediastream/chromium/PeerConnection00HandlerInternal.cpp:
2221         (WebCore::PeerConnection00HandlerInternal::startIce):
2222
2223 2012-05-04  David Tseng  <dtseng@google.com>
2224
2225         Chromium should include MenuListPopups' and MenuListOptions' within the ax tree.
2226         https://bugs.webkit.org/show_bug.cgi?id=85541
2227
2228         Reviewed by Chris Fleizach.
2229
2230         Covered by existing tests. 
2231         LayoutTests/accessibility/menu-list-sends-change-notification.html
2232
2233         * accessibility/AccessibilityMockObject.h:
2234         (WebCore::AccessibilityMockObject::accessibilityIsIgnored):
2235         * accessibility/chromium/AccessibilityObjectChromium.cpp:
2236         (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
2237
2238 2012-05-04  Levi Weintraub <leviw@chromium.org>
2239
2240         Unreviewed. Fixing ChangeLog conflict markers after 116009.
2241
2242 2012-05-04  Dan Winship  <danw@gnome.org>
2243
2244         [GTK] ASSERTION FAILED: shouldLoadAsEmptyDocument(r.url()) ||
2245         !defersLoading() in MainResourceLoader.cpp:382
2246
2247         Remove a soup_session_pause_message() call that got left behind,
2248         update the defersLoading stuff to handle this case.
2249
2250         https://bugs.webkit.org/show_bug.cgi?id=85159
2251
2252         Reviewed by Martin Robinson.
2253
2254         No new tests. Now passes loader/load-defer-resume-crash.html under
2255         debug build.
2256
2257         * platform/network/soup/ResourceHandleSoup.cpp:
2258         (WebCore::sendRequestCallback):
2259         (WebCore::ResourceHandle::platformSetDefersLoading):
2260
2261 2012-05-03  Martin Robinson  <mrobinson@igalia.com>
2262
2263         [GTK] Rework IME handling to fix bugs and prepare for WebKit2
2264         https://bugs.webkit.org/show_bug.cgi?id=84556
2265
2266         Reviewed by Gustavo Noronha Silva.
2267
2268         No new tests. This change is already covered by a suite of keyboard
2269         handling unit tests in WebKitGTK+. There are some changes in behavior,
2270         but they are difficult to test without mocking out an entire GtkIMContext.
2271
2272         Add a struct, CompositionResults, which is used by PlatformKeyboardEvent
2273         to package composition information with a keyboard event. Also add some logic
2274         to PlatformKeyboardEvent to give the right information when it has composition
2275         results.
2276
2277         * GNUmakefile.list.am: Added new sources to the list.
2278         * platform/PlatformKeyboardEvent.h:  Added a new CompositionResults member,
2279         getter, and argument to the constructor.
2280         * platform/gtk/CompositionResults.h: Added.
2281         * platform/gtk/GtkInputMethodFilter.cpp: Added.
2282         * platform/gtk/GtkInputMethodFilter.h: Added.
2283         * platform/gtk/PlatformKeyboardEventGtk.cpp:
2284         (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode): When
2285         the key value is void return the VK_PROCESS keycode, which is the keycode
2286         that web content expects with keystrokes that trigger composition events.
2287         (WebCore::eventTypeForGdkKeyEvent): Abstract out this helper.
2288         (WebCore::modifiersForGdkKeyEvent): Abstract out this helper.
2289         (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): When a PlatformKeyEvent
2290         has composition results, use VK_PROCESS as the keycode for this event.
2291         (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): When this event is
2292         transformed into a Char event, the PlatformKeyboardEvent used for DOM keypress
2293         events, and it has composition results clear the text members. This forces the
2294         EventHandler code to drop the keypress event. Platform events that change the
2295         composition states do not have corresponding keypress DOM events (only keydown
2296         and keyup events), so this is necessary to ensure web compatibility.
2297
2298 2012-05-04  Jochen Eisinger  <jochen@chromium.org>
2299
2300         Correctly update the outgoing referrer when navigating back from an history item created by pushState/replaceState
2301         https://bugs.webkit.org/show_bug.cgi?id=85374
2302
2303         Reviewed by Nate Chapin.
2304
2305         Test: http/tests/history/history-navigations-set-referrer.html
2306
2307         * loader/FrameLoader.cpp:
2308         (WebCore::FrameLoader::loadInSameDocument):
2309
2310 2012-05-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2311
2312         [Qt] Clean up and split features.prf into a static list of defaults
2313
2314         The static list of feature defaults is used as a fallback for any
2315         feature that's not dynamically detected or overriden on the command
2316         line (though build-webkit or passing DEFINES+= to qmake).
2317
2318         The static list is complete, which allows for auto-generation based
2319         on Features.py (see bug https://bugs.webkit.org/show_bug.cgi?id=85456)
2320
2321         https://bugs.webkit.org/show_bug.cgi?id=85611
2322
2323         Reviewed by Simon Hausmann.
2324
2325         * Target.pri:
2326
2327 2012-05-04  Sheriff Bot  <webkit.review.bot@gmail.com>
2328
2329         Unreviewed, rolling out r116085, r116091, and r116095.
2330         http://trac.webkit.org/changeset/116085
2331         http://trac.webkit.org/changeset/116091
2332         http://trac.webkit.org/changeset/116095
2333         https://bugs.webkit.org/show_bug.cgi?id=85628
2334
2335         We are not ready with dependencies on all platform yet (mac) +
2336         problems with debug builds. (Requested by Zoltan on #webkit).
2337
2338         * Target.pri:
2339         * WebCore.pri:
2340         * platform/MIMETypeRegistry.cpp:
2341         (WebCore::initializeSupportedImageMIMETypes):
2342         (WebCore::initializeSupportedImageMIMETypesForEncoding):
2343         * platform/graphics/ImageSource.cpp:
2344         * platform/graphics/ImageSource.h:
2345         (WebCore):
2346         * platform/graphics/qt/ImageDecoderQt.cpp:
2347         (WebCore::ImageDecoder::create):
2348         (WebCore):
2349         (WebCore::ImageDecoderQt::filenameExtension):
2350         (WebCore::ImageDecoderQt::internalHandleCurrentImage):
2351         (WebCore::ImageDecoderQt::clearPointers):
2352         * platform/image-decoders/ImageDecoder.cpp:
2353         (WebCore::ImageDecoder::create):
2354         * platform/image-decoders/ImageDecoder.h:
2355         (WebCore::ImageFrame::getAddr):
2356         (ImageFrame):
2357         * platform/image-decoders/qt/ImageFrameQt.cpp: Added.
2358         (WebCore):
2359         (WebCore::ImageFrame::ImageFrame):
2360         (WebCore::ImageFrame::operator=):
2361         (WebCore::ImageFrame::clearPixelData):
2362         (WebCore::ImageFrame::zeroFillPixelData):
2363         (WebCore::ImageFrame::copyBitmapData):
2364         (WebCore::ImageFrame::setSize):
2365         (WebCore::ImageFrame::asNewNativeImage):
2366         (WebCore::ImageFrame::hasAlpha):
2367         (WebCore::ImageFrame::setHasAlpha):
2368         (WebCore::ImageFrame::setColorProfile):
2369         (WebCore::ImageFrame::setStatus):
2370         (WebCore::ImageFrame::setPixmap):
2371         (WebCore::ImageFrame::width):
2372         (WebCore::ImageFrame::height):
2373
2374 2012-05-04  Ilya Tikhonovsky  <loislo@chromium.org>
2375
2376         Web Inspector: eliminate temporaryProfile property from ProfilesPanel.
2377         https://bugs.webkit.org/show_bug.cgi?id=85623
2378
2379         We can run different profilers at the same time therefore we have to keep temorary profile per profiler type.
2380
2381         Reviewed by Yury Semikhatsky.
2382
2383         * inspector/front-end/CSSSelectorProfileView.js:
2384         (WebInspector.CSSSelectorProfileType.prototype.createView):
2385         (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
2386         (WebInspector.CSSSelectorProfileType.prototype.createProfile):
2387         * inspector/front-end/HeapSnapshotView.js:
2388         (WebInspector.HeapSnapshotProfileType.prototype.createView):
2389         (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile):
2390         (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
2391         * inspector/front-end/ProfileView.js:
2392         (WebInspector.CPUProfileType.prototype.startRecordingProfile):
2393         (WebInspector.CPUProfileType.prototype.createView):
2394         (WebInspector.CPUProfileType.prototype.createTemporaryProfile):
2395         (WebInspector.CPUProfileType.prototype.createProfile):
2396         * inspector/front-end/ProfilesPanel.js:
2397         (WebInspector.ProfileType.prototype.createSidebarTreeElementForProfile):
2398         (WebInspector.ProfileType.prototype.createTemporaryProfile):
2399         (WebInspector.ProfileType.prototype.createProfile):
2400         (WebInspector.ProfileHeader):
2401         (WebInspector.HeapProfileHeader):
2402         (WebInspector.ProfilesPanel.prototype.addProfileHeader):
2403         (WebInspector.ProfilesPanel.prototype.findTemporaryProfile):
2404         (WebInspector.ProfilesPanel.prototype._removeTemporaryProfile):
2405         (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback.var):
2406         (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
2407         (WebInspector.ProfilesPanel.prototype._populateProfiles):
2408         (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
2409         (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
2410         (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
2411         (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
2412
2413 2012-05-04  Ilya Tikhonovsky  <loislo@chromium.org>
2414
2415         Web Inspector: [chromium] ScriptGCEvent should not be static.
2416         https://bugs.webkit.org/show_bug.cgi?id=80788
2417
2418         The static members of ScriptGCEvent were moved into per isolate data structure.
2419         Drive by fix: Sometimes the used heap size after a GC is slightly more than it was before.
2420
2421         Reviewed by Yury Semikhatsky.
2422
2423         * bindings/v8/ScriptGCEvent.cpp:
2424         (WebCore::ScriptGCEvent::gcPrologueCallback):
2425         (WebCore::ScriptGCEvent::gcEpilogueCallback):
2426         * bindings/v8/V8Binding.h:
2427         (WebCore::GCEventData::GCEventData):
2428         (WebCore::GCEventData::clear):
2429         (GCEventData):
2430         (WebCore):
2431         (WebCore::V8BindingPerIsolateData::gcEventData):
2432         (V8BindingPerIsolateData):
2433
2434 2012-05-04  Kent Hansen <kent.hansen@nokia.com>
2435
2436         [Qt] Update Qt bridge after changes to QMetaMethod
2437         https://bugs.webkit.org/show_bug.cgi?id=85478
2438
2439         Reviewed by Tor Arne Vestbø.
2440
2441         QMetaMethod::signature() has been renamed to methodSignature() and
2442         returns a QByteArray.
2443
2444         The new function QMetaMethod::name() gives direct access to a
2445         method's name. returnType(), parameterCount(), and parameterType()
2446         give direct access to type information.
2447
2448         Ported the custom QtConnectionObject meta-object to revision 7;
2449         revision 6 and below aren't supported (and don't compile) with Qt5.
2450
2451         * Target.pri:
2452         * bridge/qt/qt_class.cpp:
2453         (JSC::Bindings::QtClass::fallbackObject):
2454         * bridge/qt/qt_instance.cpp:
2455         (JSC::Bindings::QtInstance::getPropertyNames):
2456         * bridge/qt/qt_runtime.cpp:
2457         (JSC::Bindings::findMethodIndex):
2458         (Bindings):
2459         (qt_meta_stringdata_QtConnectionObject_t):
2460         (JSC::Bindings::QtConnectionObject::qt_static_metacall):
2461         (JSC::Bindings::QtConnectionObject::qt_metacast):
2462         (JSC::Bindings::QtConnectionObject::qt_metacall):
2463         (JSC::Bindings::QtConnectionObject::execute):
2464         * bridge/qt/qt_runtime.h:
2465         (QtConnectionObject):
2466         * bridge/qt/qt_runtime_qt4.cpp: Copied from Source/WebCore/bridge/qt/qt_runtime.cpp.
2467         (Bindings):
2468         (QWKNoDebug):
2469         (JSC::Bindings::QWKNoDebug::QWKNoDebug):
2470         (JSC::Bindings::QWKNoDebug::~QWKNoDebug):
2471         (JSC::Bindings::QWKNoDebug::operator<<):
2472         (JSC::Bindings::operator<<):
2473         (RuntimeConversion):
2474         (JSC::Bindings::registerCustomType):
2475         (JSC::Bindings::isJSUint8ClampedArray):
2476         (JSC::Bindings::valueRealType):
2477         (JSC::Bindings::convertValueToQVariantMap):
2478         (JSC::Bindings::convertValueToQVariant):
2479         (JSC::Bindings::convertQVariantToValue):
2480         (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
2481         (JSC::Bindings::QtRuntimeMethod::finishCreation):
2482         (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
2483         (JSC::Bindings::QtRuntimeMethod::destroy):
2484         (JSC::Bindings::QtRuntimeMethodData::~QtRuntimeMethodData):
2485         (JSC::Bindings::QtRuntimeMethodData::finalize):
2486         (JSC::Bindings::QtRuntimeMetaMethodData::~QtRuntimeMetaMethodData):
2487         (JSC::Bindings::QtRuntimeConnectionMethodData::~QtRuntimeConnectionMethodData):
2488         (QtMethodMatchType):
2489         (JSC::Bindings::QtMethodMatchType::QtMethodMatchType):
2490         (JSC::Bindings::QtMethodMatchType::kind):
2491         (JSC::Bindings::QtMethodMatchType::isValid):
2492         (JSC::Bindings::QtMethodMatchType::isVariant):
2493         (JSC::Bindings::QtMethodMatchType::isMetaType):
2494         (JSC::Bindings::QtMethodMatchType::isUnresolved):
2495         (JSC::Bindings::QtMethodMatchType::isMetaEnum):
2496         (JSC::Bindings::QtMethodMatchType::enumeratorIndex):
2497         (JSC::Bindings::QtMethodMatchType::variant):
2498         (JSC::Bindings::QtMethodMatchType::metaType):
2499         (JSC::Bindings::QtMethodMatchType::metaEnum):
2500         (JSC::Bindings::QtMethodMatchType::unresolved):
2501         (JSC::Bindings::QtMethodMatchType::typeId):
2502         (JSC::Bindings::QtMethodMatchType::name):
2503         (QtMethodMatchData):
2504         (JSC::Bindings::QtMethodMatchData::QtMethodMatchData):
2505         (JSC::Bindings::QtMethodMatchData::isValid):
2506         (JSC::Bindings::QtMethodMatchData::firstUnresolvedIndex):
2507         (JSC::Bindings::indexOfMetaEnum):
2508         (JSC::Bindings::findMethodIndex):
2509         (JSC::Bindings::findSignalIndex):
2510         (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
2511         (JSC::Bindings::QtRuntimeMetaMethod::finishCreation):
2512         (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
2513         (JSC::Bindings::QtRuntimeMetaMethod::call):
2514         (JSC::Bindings::QtRuntimeMetaMethod::getCallData):
2515         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
2516         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
2517         (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
2518         (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
2519         (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
2520         (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
2521         (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
2522         (JSC::Bindings::QtRuntimeConnectionMethod::finishCreation):
2523         (JSC::Bindings::QtRuntimeConnectionMethod::call):
2524         (JSC::Bindings::QtRuntimeConnectionMethod::getCallData):
2525         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
2526         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
2527         (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
2528         (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
2529         (JSC::Bindings::QtConnectionObject::QtConnectionObject):
2530         (JSC::Bindings::QtConnectionObject::~QtConnectionObject):
2531         (JSC::Bindings::QtConnectionObject::metaObject):
2532         (JSC::Bindings::QtConnectionObject::qt_metacast):
2533         (JSC::Bindings::QtConnectionObject::qt_metacall):
2534         (JSC::Bindings::isJavaScriptFunction):
2535         (JSC::Bindings::QtConnectionObject::execute):
2536         (JSC::Bindings::QtConnectionObject::match):
2537         (JSC::Bindings::QtConnectionObject::createWithInternalJSC):
2538         (JSC::Bindings::::QtArray):
2539         (JSC::Bindings::::~QtArray):
2540         (JSC::Bindings::::rootObject):
2541         (JSC::Bindings::::setValueAt):
2542         (JSC::Bindings::::valueAt):
2543
2544 2012-05-04  Yury Semikhatsky  <yurys@chromium.org>
2545
2546         Web Inspector: use single method for retrieving evaluation context in the runtime agent
2547         https://bugs.webkit.org/show_bug.cgi?id=85621
2548
2549         Reviewed by Pavel Feldman.
2550
2551         Merged two script state retrieval methods into one. Moved Page specific logic
2552         into PageRuntimeAgent.
2553
2554         * inspector/InspectorRuntimeAgent.cpp:
2555         (WebCore::InspectorRuntimeAgent::evaluate):
2556         * inspector/InspectorRuntimeAgent.h:
2557         (InspectorRuntimeAgent):
2558         * inspector/PageRuntimeAgent.cpp:
2559         (WebCore::PageRuntimeAgent::scriptStateForEval):
2560         * inspector/PageRuntimeAgent.h:
2561         (PageRuntimeAgent):
2562         * inspector/WorkerRuntimeAgent.cpp:
2563         (WebCore::WorkerRuntimeAgent::scriptStateForEval):
2564         * inspector/WorkerRuntimeAgent.h:
2565         (WorkerRuntimeAgent):
2566
2567 2012-05-04  Jochen Eisinger  <jochen@chromium.org>
2568
2569         Unreviewed, rolling out r115549.
2570         http://trac.webkit.org/changeset/115549
2571         https://bugs.webkit.org/show_bug.cgi?id=83894
2572
2573         The newly added CRASH() statements are triggered too often
2574
2575         * loader/FrameLoader.cpp:
2576         (WebCore::FrameLoader::init):
2577         (WebCore::FrameLoader::setupForReplace):
2578         (WebCore::FrameLoader::stopAllLoaders):
2579         (WebCore::FrameLoader::clearProvisionalLoad):
2580         (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
2581         (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
2582
2583 2012-05-04  Zoltan Horvath  <zoltan@webkit.org>
2584
2585         [Qt] Error message fix after r116091
2586         https://bugs.webkit.org/show_bug.cgi?id=85614
2587
2588         Reviewed by Alexis Menard.
2589
2590         No new tests : error message fix.
2591
2592         * WebCore.pri:
2593
2594 2012-05-04  Alexis Menard  <alexis.menard@openbossa.org>
2595
2596         [Qt] Build fix when using libpng version > 1.2.
2597         https://bugs.webkit.org/show_bug.cgi?id=85614
2598
2599         Reviewed by Tor Arne Vestbø.
2600
2601         Don't enforce the version of libpng when passing the option to the linker.
2602
2603         No new tests : build fix.
2604
2605         * WebCore.pri:
2606
2607 2012-05-04  Simon Hausmann  <simon.hausmann@nokia.com>
2608
2609         [Qt] Images are scaled badly in WebKit2
2610         https://bugs.webkit.org/show_bug.cgi?id=85610
2611
2612         Reviewed by Jocelyn Turcotte.
2613
2614         Enable smooth pixmap transforms when rendering into the GraphicsSurface image.
2615         This class is only used in WK2.
2616
2617         * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
2618         (WebCore::GraphicsSurface::platformBeginPaint):
2619
2620 2012-05-04  Zoltan Horvath  <zoltan@webkit.org>
2621
2622         [Qt] Remove unnecessary executeable bits after r116085
2623
2624         No new tests.
2625
2626         * Target.pri:
2627         * WebCore.pri:
2628         * platform/graphics/ImageSource.cpp:
2629         * platform/graphics/ImageSource.h:
2630         * platform/graphics/qt/ImageDecoderQt.cpp:
2631         * platform/graphics/qt/ImageDecoderQt.h:
2632         * platform/image-decoders/ImageDecoder.cpp:
2633         * platform/image-decoders/ImageDecoder.h:
2634
2635 2012-05-04  Zoltan Horvath  <zoltan@webkit.org>
2636
2637         [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
2638         https://bugs.webkit.org/show_bug.cgi?id=80400
2639
2640         This change modifies the default ImageDecoder for Qt-port from QImageDecoder to WebCore ImageDecoder.
2641         The new behavior is to use QImageDecoder only if WebCoreImageDecoder doesn't support the requested
2642         image type.
2643         The WTF_USE_QT_IMAGE_DECODER macro has been removed, since it is no longer needed.
2644
2645         This change adds build depedency for libpng-dev and libjpeg-dev packages, becuase PNG and JPEG imagedecoders
2646         need not only these libraries, but their headers also. Qmake-config tests for these libraries were
2647         introduced in r110045.
2648
2649         Reviewed by Simon Hausmann.
2650
2651         No new tests needed.
2652
2653         * Target.pri: Move WebCore ImageDecoder files out of guards. Remove ImageFrameQt.cpp from sources.
2654         * WebCore.pri: Move WebCore ImageDecoder include paths out of guards.
2655         * platform/MIMETypeRegistry.cpp:
2656         (WebCore::initializeSupportedImageMIMETypes): Add WebCore supported and Qt supported MIME types.
2657         (WebCore::initializeSupportedImageMIMETypesForEncoding): Use Qt supported MIME types.
2658         * platform/graphics/ImageSource.cpp: Remove unnecessary includes.
2659         * platform/graphics/ImageSource.h: Remove unnecessary typedefs.
2660         (WebCore):
2661         * platform/graphics/qt/ImageDecoderQt.cpp:
2662         (WebCore::ImageDecoderQt::filenameExtension): Remove unnecessary semicolon.
2663         (WebCore::ImageDecoderQt::internalHandleCurrentImage): Use QImage and ImageFrame instead of QPixmap.
2664         (WebCore):
2665         (WebCore::ImageFrame::asNewNativeImage): Moved here from removed ImageFrameQt.cpp.
2666         * platform/image-decoders/ImageDecoder.cpp: Reorganize the includes of the header.
2667         (WebCore::ImageDecoder::create): Add platform macro guarded fallback case for QImageDecoder.
2668         * platform/image-decoders/ImageDecoder.h: Remove Qt-specific codes.
2669         (WebCore::ImageFrame::getAddr): Remove Qt-specific case, since it is no longer needed.
2670         (ImageFrame):
2671         * platform/image-decoders/qt/ImageFrameQt.cpp: Removed. Dead code, other code has been moved to
2672         ImageDecoderQt.cpp.
2673
2674 2012-05-03  Ilya Tikhonovsky  <loislo@chromium.org>
2675
2676         Web Inspector: createRawLocationByURL is too slow if a big number of evals happen.
2677         https://bugs.webkit.org/show_bug.cgi?id=85477
2678
2679         It iterates through all the _scripts even they have no url.
2680         We can keep a separate map of scripts with url.
2681
2682         Reviewed by Yury Semikhatsky.
2683
2684         * inspector/front-end/DebuggerModel.js:
2685         (WebInspector.DebuggerModel):
2686         (WebInspector.DebuggerModel.prototype._globalObjectCleared):
2687         (WebInspector.DebuggerModel.prototype._resetScriptsMap):
2688         (WebInspector.DebuggerModel.prototype._parsedScriptSource):
2689         (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
2690
2691 2012-05-03  David Barr  <davidbarr@chromium.org>
2692
2693         Antialias single-edge solid borders
2694         https://bugs.webkit.org/show_bug.cgi?id=85031
2695
2696         Reviewed by Simon Fraser.
2697
2698         Antialiasing is avoided for adjacent edges due to artifacts at the seam.
2699         There are no such artifacts for single-edge borders so enable antialiasing.
2700
2701         Test: fast/css/border-solid-single-edge-antialias.html
2702
2703         * rendering/RenderBoxModelObject.cpp:
2704         (WebCore::RenderBoxModelObject::paintBorder):
2705
2706 2012-05-03  Adam Barth  <abarth@webkit.org>
2707
2708         CSP: Eval isn't blocked in about:blank subframes
2709         https://bugs.webkit.org/show_bug.cgi?id=85553
2710
2711         Reviewed by Eric Seidel.
2712
2713         ContentSecurityPolicy has a back pointer to ScriptExecutionContext.
2714         That means we shouldn't share a single ContentSecurityPolicy object
2715         between multiple ScriptExecutionContexts.  This patch copies the state
2716         from one ScriptExecutionContext to another rather than sharing the
2717         ContentSecurityPolicy object itself.
2718
2719         This resulted in a subtle but w.r.t. blocking eval.  Because we block
2720         eval by setting a bit in the JavaScript engine when enforcing the
2721         policy, that bit wasn't copied along with the rest of the state when we
2722         were sharing the ContentSecurityPolicy object.  Now that we use the
2723         more robust ContentSecurityPolicy::copyStateFrom function, we don't
2724         have that bug.
2725
2726         Test: http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe.html
2727
2728         * dom/Document.cpp:
2729         (WebCore::Document::initSecurityContext):
2730         (WebCore):
2731         (WebCore::Document::initContentSecurityPolicy):
2732         * dom/Document.h:
2733         (Document):
2734         * dom/SecurityContext.cpp:
2735         (WebCore::SecurityContext::setContentSecurityPolicy):
2736         * dom/SecurityContext.h:
2737         (SecurityContext):
2738         * loader/FrameLoader.cpp:
2739         (WebCore::FrameLoader::didBeginDocument):
2740         * page/ContentSecurityPolicy.h:
2741         (WebCore::ContentSecurityPolicy::create):
2742
2743 2012-05-03  Abhishek Arya  <inferno@chromium.org>
2744
2745         Regression(r113769): Crash in AudioNodeOutput::disconnectAllParams.
2746         https://bugs.webkit.org/show_bug.cgi?id=85196
2747
2748         Reviewed by Chris Rogers.
2749
2750         RefPtr the AudioParam hashset in AudioNodeOutput to prevent accessing
2751         destroyed entries.
2752
2753         No new tests. Unable to reproduce it in DRT.
2754
2755         * Modules/webaudio/AudioNodeOutput.cpp:
2756         (WebCore::AudioNodeOutput::disconnectAllParams):
2757         * Modules/webaudio/AudioNodeOutput.h:
2758         (AudioNodeOutput):
2759
2760 2012-05-03  Noel Gordon  <noel.gordon@gmail.com>
2761
2762         PNGImageDecoder: Clean up rowAvailable() some more
2763         https://bugs.webkit.org/show_bug.cgi?id=85464
2764
2765         Reviewed by Eric Seidel.
2766
2767         No new tests. Covered by existing tests: fast/images/png-extra-row-crash.html in
2768         particular.
2769
2770         * platform/image-decoders/png/PNGImageDecoder.cpp:
2771         (WebCore::PNGImageDecoder::rowAvailable): Use colorChannels consistently. Split
2772         the useful libpng comments in two, then place the early-out code and conditions
2773         inbetween. The png variable is only used in one place so move it there.
2774
2775 2012-05-03  Ojan Vafai  <ojan@chromium.org>
2776
2777         Histogram total allocated bytes in the arena in addition to the render tree size
2778         https://bugs.webkit.org/show_bug.cgi?id=85537
2779
2780         Reviewed by Eric Seidel.
2781
2782         We only free bytes allocated to a RenderArena when destroying the Document.
2783         Histogram both the render tree size and the total bytes allocated. This
2784         gives a better sense of the overhead of RenderArena as well as giving a more
2785         accurate number for the amount of actual memory used by the render tree.
2786
2787         No new tests. This is not webfacing, so this can't be tested without adding
2788         API to layout test controller, which doesn't seem worth it for this code.
2789
2790         * page/Page.cpp:
2791         (WebCore::Page::renderTreeSize):
2792         (WebCore::Page::setVisibilityState):
2793         * page/Page.h:
2794         (Page):
2795         * platform/Arena.cpp:
2796         (WebCore::ArenaAllocate):
2797         * platform/Arena.h:
2798         (WebCore):
2799         * rendering/RenderArena.cpp:
2800         (WebCore::RenderArena::allocate):
2801         * rendering/RenderArena.h:
2802         (WebCore::RenderArena::totalRenderArenaAllocatedBytes):
2803         (RenderArena):
2804
2805 2012-05-03  Mary Wu  <mary.wu@torchmobile.com.cn>
2806
2807         [BlackBerry] Add missed member in CrossThreadResourceRequestData
2808         https://bugs.webkit.org/show_bug.cgi?id=85448
2809
2810         Reviewed by Antonio Gomes.
2811
2812         * platform/network/blackberry/ResourceRequest.h:
2813         (CrossThreadResourceRequestData):
2814         * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
2815         (WebCore::ResourceRequest::doPlatformCopyData):
2816         (WebCore::ResourceRequest::doPlatformAdopt):
2817
2818 2012-05-03  Adam Barth  <abarth@webkit.org>
2819
2820         CSP shouldn't block about:blank for iframes
2821         https://bugs.webkit.org/show_bug.cgi?id=85233
2822
2823         Reviewed by Eric Seidel.
2824
2825         As discussed at the W3C WebAppSec face-to-face meeting, there's no
2826         point in blocking about:blank iframes or objects because blocking a
2827         frame or object just results in displaying about:blank anyway.  This
2828         patch just removes the spurious console message and violation report.
2829
2830         Test: http/tests/security/contentSecurityPolicy/frame-src-about-blank-allowed-by-default.html
2831
2832         * page/ContentSecurityPolicy.cpp:
2833         (WebCore::ContentSecurityPolicy::allowObjectFromSource):
2834         (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
2835
2836 2012-05-03  Sheriff Bot  <webkit.review.bot@gmail.com>
2837
2838         Unreviewed, rolling out r116040.
2839         http://trac.webkit.org/changeset/116040
2840         https://bugs.webkit.org/show_bug.cgi?id=85559
2841
2842         Broke a few IndexedDB browsertests (Requested by zhenyao on
2843         #webkit).
2844
2845         * Modules/indexeddb/IDBCursor.cpp:
2846         (WebCore::IDBCursor::direction):
2847         * Modules/indexeddb/IDBCursor.h:
2848         (IDBCursor):
2849         * Modules/indexeddb/IDBCursor.idl:
2850         * Modules/indexeddb/IDBDatabase.cpp:
2851         (WebCore::IDBDatabase::transaction):
2852         (WebCore):
2853         * Modules/indexeddb/IDBDatabase.h:
2854         * Modules/indexeddb/IDBDatabase.idl:
2855         * Modules/indexeddb/IDBIndex.cpp:
2856         (WebCore::IDBIndex::openCursor):
2857         (WebCore::IDBIndex::openKeyCursor):
2858         * Modules/indexeddb/IDBIndex.h:
2859         (WebCore::IDBIndex::openCursor):
2860         (WebCore::IDBIndex::openKeyCursor):
2861         * Modules/indexeddb/IDBIndex.idl:
2862         * Modules/indexeddb/IDBObjectStore.cpp:
2863         (WebCore::IDBObjectStore::openCursor):
2864         * Modules/indexeddb/IDBObjectStore.h:
2865         (WebCore::IDBObjectStore::openCursor):
2866         (IDBObjectStore):
2867         * Modules/indexeddb/IDBObjectStore.idl:
2868         * Modules/indexeddb/IDBRequest.cpp:
2869         (WebCore::IDBRequest::IDBRequest):
2870         (WebCore::IDBRequest::readyState):
2871         (WebCore::IDBRequest::markEarlyDeath):
2872         (WebCore::IDBRequest::resetReadyState):
2873         (WebCore::IDBRequest::abort):
2874         (WebCore::IDBRequest::finishCursor):
2875         (WebCore::IDBRequest::onSuccess):
2876         (WebCore::IDBRequest::stop):
2877         * Modules/indexeddb/IDBRequest.h:
2878         * Modules/indexeddb/IDBRequest.idl:
2879         * Modules/indexeddb/IDBTransaction.cpp:
2880         (WebCore::IDBTransaction::mode):
2881         * Modules/indexeddb/IDBTransaction.h:
2882         (IDBTransaction):
2883         * Modules/indexeddb/IDBTransaction.idl:
2884
2885 2012-05-03  Raphael Kubo da Costa  <rakuco@webkit.org>
2886
2887         [CMake] Rewrite FindCairo.cmake.
2888         https://bugs.webkit.org/show_bug.cgi?id=84895
2889
2890         Reviewed by Daniel Bates.
2891
2892         The old approach relied on pkg-config for finding Cairo (which
2893         introduced a dependency on pkg-config that could be avoided), used
2894         the LibFindMacros code that we should probably remove in the
2895         future and did not use the FindPackageHandleStandardArguments
2896         module.
2897
2898         Change all that by rewriting the module.
2899         - Use the pkg-config output optionally instead of requiring it
2900         like LibFindMacros did.
2901         - Remove the implicit dependency on FreeType which often found it
2902         the wrong way via pkg-config and without considering
2903         CMAKE_PREFIX_PATH.
2904         - Retrieve the Cairo version by looking at cairo-version.h instead
2905         of relying on pkg-config. It requires some additional code for
2906         checking if the desired version has been found, but that will not
2907         be needed once we start depending on CMake 2.8.3 or later.
2908
2909         The only downside is that FPHSA sets <UPPERCASED_NAME>_FOUND
2910         instead of <Name>_FOUND, and to keep things consistent
2911         Cairo_LIBRARIES and Cairo_INCLUDE_DIRS have become CAIRO_LIBRARIES
2912         and CAIRO_INCLUDE_DIRS.
2913
2914         No new tests, build system change.
2915
2916         * PlatformEfl.cmake: Use CAIRO_FOO instead of Cairo_FOO.
2917
2918 2012-05-03  Anders Carlsson  <andersca@apple.com>
2919
2920         Focus ring only appears in top-left tile
2921         https://bugs.webkit.org/show_bug.cgi?id=85556
2922         <rdar://problem/11359656>
2923
2924         Reviewed by Simon Fraser.
2925
2926         It is sufficient to just apply the current CTM to the clip rect and set that as the focus ring clip rect.
2927
2928         * platform/graphics/mac/WebLayer.mm:
2929         (drawLayerContents):
2930
2931 2012-05-03  Alec Flett  <alecflett@chromium.org>
2932
2933         IndexedDB: Replace numeric constants with strings
2934         https://bugs.webkit.org/show_bug.cgi?id=84894
2935
2936         Reviewed by Tony Chang.
2937
2938         Test: storage/indexeddb/legacy-constants.html
2939
2940         Update IDBObjectStore.openCursor, IDBIndex.openCursor,
2941         IDBIndex.openKeyCursor, IDBDatabase.transaction,
2942         IDBCursor.direction, IDBTransaction.mode, and
2943         IDBRequest.readyState to meet the latest spec. All of these APIs
2944         now support string-based values in addition to the
2945         legacy/deprecated enum-based values.
2946
2947         * Modules/indexeddb/IDBCursor.cpp:
2948         (WebCore):
2949         (WebCore::IDBCursor::direction):
2950         (WebCore::IDBCursor::stringToDirection):
2951         (WebCore::IDBCursor::directionToString):
2952         * Modules/indexeddb/IDBCursor.h:
2953         (IDBCursor):
2954         * Modules/indexeddb/IDBCursor.idl:
2955         * Modules/indexeddb/IDBDatabase.cpp:
2956         (WebCore::IDBDatabase::transaction):
2957         (WebCore):
2958         * Modules/indexeddb/IDBDatabase.h:
2959         (IDBDatabase):
2960         * Modules/indexeddb/IDBDatabase.idl:
2961         * Modules/indexeddb/IDBIndex.cpp:
2962         (WebCore::IDBIndex::openCursor):
2963         (WebCore):
2964         (WebCore::IDBIndex::openKeyCursor):
2965         * Modules/indexeddb/IDBIndex.h:
2966         (WebCore::IDBIndex::openCursor):
2967         (IDBIndex):
2968         (WebCore::IDBIndex::openKeyCursor):
2969         * Modules/indexeddb/IDBIndex.idl:
2970         * Modules/indexeddb/IDBObjectStore.cpp:
2971         (WebCore::IDBObjectStore::openCursor):
2972         (WebCore):
2973         * Modules/indexeddb/IDBObjectStore.h:
2974         (WebCore::IDBObjectStore::openCursor):
2975         (IDBObjectStore):
2976         * Modules/indexeddb/IDBObjectStore.idl:
2977         * Modules/indexeddb/IDBRequest.cpp:
2978         (WebCore::IDBRequest::IDBRequest):
2979         (WebCore::IDBRequest::readyState):
2980         (WebCore::IDBRequest::markEarlyDeath):
2981         (WebCore::IDBRequest::resetReadyState):
2982         (WebCore::IDBRequest::abort):
2983         (WebCore::IDBRequest::finishCursor):
2984         (WebCore::IDBRequest::onSuccess):
2985         (WebCore::IDBRequest::stop):
2986         * Modules/indexeddb/IDBRequest.h:
2987         * Modules/indexeddb/IDBRequest.idl:
2988         * Modules/indexeddb/IDBTransaction.cpp:
2989         (WebCore):
2990         (WebCore::IDBTransaction::mode):
2991         (WebCore::IDBTransaction::stringToMode):
2992         (WebCore::IDBTransaction::modeToString):
2993         * Modules/indexeddb/IDBTransaction.h:
2994         (IDBTransaction):
2995         * Modules/indexeddb/IDBTransaction.idl:
2996
2997 2012-05-03  Sam Weinig  <sam@webkit.org>
2998
2999         Add an eventPhase NONE constant
3000         https://bugs.webkit.org/show_bug.cgi?id=85397
3001
3002         Reviewed by Anders Carlsson.
3003
3004         Updates existing tests.
3005
3006         * dom/Event.h:
3007         * dom/Event.idl:
3008         Add NONE constant.
3009
3010 2012-05-03  Tony Chang  <tony@chromium.org>
3011
3012         Height overflow when nesting multiple new Flexbox'es.
3013         https://bugs.webkit.org/show_bug.cgi?id=83572
3014
3015         Reviewed by Ojan Vafai.
3016
3017         Test: css3/flexbox/nested-stretch.html
3018
3019         * rendering/RenderFlexibleBox.cpp:
3020         (WebCore::RenderFlexibleBox::computeAvailableFreeSpace):
3021
3022 2012-05-03  Julien Chaffraix  <jchaffraix@webkit.org>
3023
3024         ASSERT(!m_zOrderListsDirty) is triggering in Safari
3025         https://bugs.webkit.org/show_bug.cgi?id=85512
3026
3027         Reviewed by Simon Fraser.
3028
3029         Unfortunately no test as I don't think the 2 cases are testable reliably.
3030
3031         A better fix would be to introduce some iterator that handle updating the
3032         lists for you. For now, just adding the missing updateLayerListsIfNeeded()
3033         calls.
3034
3035         * rendering/RenderLayerBacking.cpp:
3036         (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
3037         * rendering/RenderLayerCompositor.cpp:
3038         (WebCore::RenderLayerCompositor::layerHas3DContent):
3039
3040 2012-05-03  Philip Rogers  <pdr@google.com>
3041
3042         Fix numeric precision issue in SVG animations
3043         https://bugs.webkit.org/show_bug.cgi?id=85502
3044
3045         Reviewed by Dirk Schulze.
3046
3047         r93938 had a bug where floating point numbers where compared exactly,
3048         exposing a bug when floating point precision was not sufficient. This
3049         change compares against an epsilon value to get around these precision
3050         issues.
3051
3052         Test: svg/animations/animate-end-attribute-numeric-precision.html
3053
3054         * svg/animation/SVGSMILElement.cpp:
3055         (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
3056
3057 2012-05-03  Joshua Bell  <jsbell@chromium.org>
3058
3059         Fix coding style issues in IDBLevelDBCoding.cpp
3060         https://bugs.webkit.org/show_bug.cgi?id=85536
3061
3062         Reviewed by Tony Chang.
3063
3064         No tests - just code formatting changes.
3065
3066         * Modules/indexeddb/IDBLevelDBCoding.cpp:
3067         (WebCore::IDBLevelDBCoding::encodeIDBKey):
3068         (WebCore::IDBLevelDBCoding::decodeIDBKey):
3069         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
3070         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
3071
3072 2012-04-30  Filip Pizlo  <fpizlo@apple.com>
3073
3074         PageCache autorelease should not wait until 3 seconds and 42 pages
3075         https://bugs.webkit.org/show_bug.cgi?id=85254
3076         <rdar://problem/11349613>
3077
3078         Reviewed by Geoffrey Garen.
3079
3080         No new tests, since there is no change in behavior.
3081
3082         * history/PageCache.cpp:
3083         (WebCore):
3084         (WebCore::PageCache::PageCache):
3085         (WebCore::PageCache::releaseAutoreleasedPagesNowDueToTimer):
3086         * history/PageCache.h:
3087         (PageCache):
3088
3089 2012-05-03  Levi Weintraub  <leviw@chromium.org>
3090
3091         Unreviewed build fix for Mac WK2. Adding a mistakenly removed symbol back to WebCore.exp.in.
3092
3093         * WebCore.exp.in:
3094
3095 2012-05-03  Levi Weintraub  <leviw@chromium.org>
3096
3097         Unreviewed build fix for Qt after 116009. No changes in behavior.
3098
3099         * rendering/RenderTreeAsText.cpp:
3100         (WebCore::RenderTreeAsText::writeRenderObject):
3101
3102 2012-05-03  W. James MacLean  <wjmaclean@chromium.org>
3103
3104         [chromium] Revise touchpad fling curve to use exponential curve, to improve feel and small fling performance.
3105         https://bugs.webkit.org/show_bug.cgi?id=85530
3106
3107         Reviewed by Kenneth Russell.
3108
3109         Existing unit tests updated for new curve.
3110
3111         Modifies TouchpadFLingGestureCurve to use an exponential, rather than polynomial, curve.
3112         This change appears to improve the overall feel of touchpad fling, and substantially
3113         improves small-fling performance.
3114
3115         * platform/TouchpadFlingPlatformGestureCurve.cpp:
3116         (WebCore::TouchpadFlingPlatformGestureCurve::create):
3117         (WebCore):
3118         (WebCore::position):
3119         (WebCore::velocity):
3120         (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
3121
3122 2012-04-23  Levi Weintraub  <leviw@chromium.org> and Emil A Eklund <eae@chromium.org>
3123
3124         [meta] Switch away from integers representing pixels for layout/event handling/rendering
3125         https://bugs.webkit.org/show_bug.cgi?id=60318
3126
3127         Reviewed by Eric Seidel.
3128
3129         Swapping the LayoutUnit backend to FractionalLayoutUnit from int.
3130         
3131         FractionalLayoutUnit is a new type that uses an integer to represent a fraction of a pixel.
3132         We're also adding a feature flag -- ENABLE_SUBPIXEL_LAYOUT -- that toggles this fraction
3133         between 1/1 and 1/60. Initially, all platforms will default to subpixel layout being off,
3134         so FractionalLayoutUnits will effectively continue to act as integers.
3135         
3136         With ENABLE_SUBPIXEL_LAYOUT turned on, FractionalLayoutUnits accumulate error from sub-pixel
3137         CSS values and applied zooming, and painting uses pixel-snapping to align these values
3138         to pixels. See http://trac.webkit.org/wiki/LayoutUnit for details.
3139
3140         In a number of previous patches, LayoutUnits were plumbed throughout the rendering tree
3141         to prepare for this change. This included a number of functions in LayoutTypes.h and
3142         the IntRect/Point/Size classes that were effectively no-ops while LayoutUnits were
3143         integers. Subsequent patches will remove unnecessary versions of these functions; see
3144         http://webkit.org/b/84616 for tracking these changes.
3145
3146         Tests: fast/sub-pixel/client-width-height-snapping.html
3147                fast/sub-pixel/layout-boxes-with-zoom.html
3148                fast/sub-pixel/size-of-box-with-zoom.html
3149
3150         * WebCore.exp.in: Updating function signatures that expose FractionalLayoutUnits.
3151         * WebCore.xcodeproj/project.pbxproj: Adding missing FractionalLayoutPoint.h header.
3152         * css/CSSComputedStyleDeclaration.cpp:
3153         (WebCore::zoomAdjustedPixelValue): Using adjustFloatForAbsoluteZoom instead of int
3154         to make use of extra precision before returning the pixel value.
3155         * css/CSSPrimitiveValue.cpp:
3156         (WebCore::CSSPrimitiveValue::computeLength): No longer rounds for imprecise conversion
3157         when sub-pixel layout is enabled.
3158         (WebCore::CSSPrimitiveValue::customCssText): Returning integer values for pixels.
3159         * dom/Element.cpp:
3160         (WebCore::adjustForLocalZoom): Using rounding instead of incrementing the value before
3161         adjusting to account for truncation when sub-pixel layout is enabled.
3162         * page/SpatialNavigation.cpp:
3163         (WebCore::distanceDataForNode): Using FractionalLayoutUnit::abs instead of std::abs.
3164         * platform/FractionalLayoutUnit.h: Adding some missing operators and a flag around the
3165         constant denominator to switch it between 1/1 and 1/60 depending on the feature flag.
3166         * platform/Length.h: Changing the default type for value to float, and adding intValue
3167         since this more closely matches usage in a sub-pixel layout world.
3168         * platform/win/PopupMenuWin.cpp:
3169         (WebCore::PopupMenuWin::paint): Using minimumIntValueForLength in this platform code
3170         instead of LayoutUnits.
3171         * rendering/InlineFlowBox.cpp:
3172         (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
3173         * rendering/LayoutTypes.h: This file contains the actual switch for changing LayoutUnits
3174         to be FractionalLayoutUnits. Also updating stub methods with their proper implementations.
3175         * rendering/PaintInfo.h:
3176         (WebCore::PaintInfo::infiniteRect): Ensuring the infiniteRect doesn't overflow the
3177         FractionalLayoutUnit bounds.
3178         * rendering/RenderBlockLineLayout.cpp:
3179         (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine): Switch to
3180         FractionalLayoutUnit's abs function instead of std::abs.
3181         * rendering/RenderBoxModelObject.cpp:
3182         (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Add rounding for
3183         setting the phase of the background geometry before applying modulo from the tile size.
3184         * rendering/RenderDeprecatedFlexibleBox.cpp:
3185         (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): Stop applying flex when
3186         we have less than a pixel to distribute.
3187         * rendering/RenderLayer.cpp:
3188         (WebCore::RenderLayer::backgroundClipRect): Replace PaintInfo::infiniteRect with the
3189         LayoutRect equivalent.
3190         * rendering/RenderLineBoxList.cpp:
3191         (WebCore::RenderLineBoxList::rangeIntersectsRect): Using FractionalLayoutUnit::abs
3192         instead of std::abs.
3193         * rendering/RenderObject.cpp:
3194         (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Ditto.
3195         * rendering/RenderObject.h:
3196         (WebCore): Removing unnecessary adjustForAbsoluteZoom function.
3197         (WebCore::RenderObject::outlineSize): Outlines remain ints.
3198         * rendering/RenderTableCell.cpp:
3199         (WebCore::RenderTableCell::styleOrColLogicalWidth): Build fix. Using floats because
3200         colWidthSum is a Length which uses floats.
3201         * rendering/RenderThemeChromiumSkia.cpp:
3202         (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): Explicit templatization
3203         for max.
3204         * rendering/RenderTreeAsText.cpp: Adding code to minimize test expectation churn. It
3205         may be worth outputting float values in test expectations, but this isn't done with
3206         the inline box tree yet, either.
3207         * rendering/RenderTreeAsText.h:
3208         (WebCore): Adding a FractionalLayoutPoint operator.
3209         * rendering/RenderWidget.cpp:
3210         (WebCore::RenderWidget::updateWidgetGeometry): Adding missing pixel snapping, and switching
3211         absoluteContentBox to an IntRect, as this is what boundingBox returns.
3212         * rendering/svg/SVGRenderTreeAsText.cpp:
3213         (WebCore::writePositionAndStyle): Adding an enclosingIntRect for consistency with old results.
3214
3215 2012-05-03  Levi Weintraub  <leviw@chromium.org> and Emil A Eklund <eae@chromium.org>
3216
3217         [meta] Switch away from integers representing pixels for layout/event handling/rendering
3218         https://bugs.webkit.org/show_bug.cgi?id=60318
3219
3220         Reviewed by Eric Seidel.
3221
3222         Swapping the LayoutUnit backend to FractionalLayoutUnit from int.
3223         
3224         FractionalLayoutUnit is a new type that uses an integer that can represent a fraction of a
3225         pixel. The ENABLE_SUBPIXEL_LAYOUT feature flags toggles this fraction between 1/1 and 1/60.
3226         Initially, all platforms will default to subpixel layout being off, so FractionalLayoutUnits
3227         will effectively continue to act as integers.
3228         
3229         With ENABLE_SUBPIXEL_LAYOUT turned on, FractionalLayoutUnits accumulate error from sub-pixel
3230         CSS values and applied zooming, and painting uses pixel-snapping to align these values
3231         to pixels and prevent unwanted anti-aliasing. See http://trac.webkit.org/wiki/LayoutUnit for
3232         details.
3233
3234         In a number of previous patches, LayoutUnits were plumbed throughout the rendering tree to
3235         prepare for this change. This included a number of functions in LayoutTypes.h and the
3236         IntRect/Point/Size classes that were effectively no-ops while LayoutUnits were integers. See
3237         http://webkit.org/b/60318 for the exhaustive list of changes that were done in preparation
3238         for this. Subsequent patches will remove unnecessary versions of these functions.
3239         http://webkit.org/b/84616 tracks these changes.
3240
3241         Tests: fast/sub-pixel/client-width-height-snapping.html
3242                fast/sub-pixel/layout-boxes-with-zoom.html
3243                fast/sub-pixel/size-of-box-with-zoom.html
3244
3245         * WebCore.exp.in: Updating function signatures that expose FractionalLayoutUnits.
3246         * WebCore.order: Ditto.
3247         * WebCore.xcodeproj/project.pbxproj: Adding missing FractionalLayoutPoint.h header.
3248         * css/CSSPrimitiveValue.cpp:
3249         (WebCore::CSSPrimitiveValue::computeLength): No longer rounds for imprecise conversion
3250         when sub-pixel layout is enabled.
3251         * dom/Element.cpp:
3252         (WebCore::adjustForLocalZoom): Using rounding instead of incrementing the value before
3253         adjusting to account for truncation when sub-pixel layout is enabled.
3254         * rendering/mathml/RenderMathMLBlock.cpp:
3255         (WebCore): Fixing a static initializer build error by moving an integer constant to be
3256         an int.
3257         * rendering/LayoutTypes.h: This file contains the actual switch for changing LayoutUnits
3258         to be FractionalLayoutUnits. Also updating stub methods with their proper implementations.
3259         * rendering/PaintInfo.h:
3260         (WebCore::PaintInfo::infiniteRect): Ensuring the infiniteRect doesn't overflow the
3261         FractionalLayoutUnit bounds. LayoutRect::infiniteRect() is the largest rectangle that can
3262         be represented using LayoutUnits.
3263         * rendering/RenderLayer.h:
3264         (WebCore::ClipRect::operator!=): Add overload of != to fix complaining compilers when
3265         * rendering/RenderTreeAsText.cpp: Adding code to minimize test expectation churn. It
3266         may be worth outputting float values in test expectations, but this isn't done with
3267         the inline box tree yet, either.
3268         * rendering/RenderTreeAsText.h:
3269         (WebCore): Adding a FractionalLayoutPoint operator.
3270         * rendering/svg/SVGRenderTreeAsText.cpp:
3271         (WebCore::writePositionAndStyle):
3272         (WebCore): Adding a FractionalLayoutPoint operator.
3273
3274 2012-05-03  Anders Carlsson  <andersca@apple.com>
3275
3276         Move repaint counter drawing code out into a separate function
3277         https://bugs.webkit.org/show_bug.cgi?id=85539
3278
3279         Reviewed by Simon Fraser.
3280
3281         The majority of code in TileCache::drawLayer deals with drawing the repaint counter. Move this code out
3282         into a separate function to make it more clear what drawLayer does.
3283
3284         * platform/graphics/ca/mac/TileCache.h:
3285         (TileCache):
3286         * platform/graphics/ca/mac/TileCache.mm:
3287         (WebCore::TileCache::drawLayer):
3288         (WebCore::TileCache::drawRepaintCounter):
3289         (WebCore):
3290
3291 2012-05-03  Simon Fraser  <simon.fraser@apple.com>
3292
3293         Compositing 'requiresOwnBackingStore' logic caused new clip rect assertions
3294         https://bugs.webkit.org/show_bug.cgi?id=85455
3295
3296         Reviewed by Dean Jackson.
3297         
3298         r114283 added logic that allows compositing layers to avoid allocating their own
3299         backing store and to paint into an ancestor instead. However, that caused
3300         assertions in RenderLayer::updateClipRects() about m_clipRectsRoot being
3301         incorrect, because clip rect code assumed that compositing layers
3302         always painted themselves.
3303         
3304         Fixed by calling paintsIntoCompositedAncestor() in RenderLayer::clippingRoot(),
3305         so that clip rect computation matches painting.
3306
3307         I wasn't able to easily make a test that reproduces the assertion in DRT.
3308
3309         * rendering/RenderLayer.cpp:
3310         (WebCore::RenderLayer::clippingRoot):
3311
3312 2012-05-03  Tim Horton  <timothy_horton@apple.com>
3313
3314         REGRESSION(99539): SVG <img> disregards page scale and device scale
3315         https://bugs.webkit.org/show_bug.cgi?id=77237
3316         <rdar://problem/10767413>
3317
3318         Reviewed by Simon Fraser.
3319
3320         Rename SVGImageCache::SizeAndZoom to SVGImageCache::SizeAndScales, as it carries more than just zoom now.
3321
3322         Pass the product of the device and page scales through everything that takes a SVGImageCache::SizeAndScales,
3323         using it to inflate the size of the buffer created in lookupOrCreateBitmapImageForRenderer,
3324         and to inflate the destination rectangle passed to SVGImage::draw, which will cause a transformation
3325         on the context being drawn into.
3326
3327         Invalidate the SVGImageCache entry on device/page scale changes in addition to zoom changes.
3328
3329         This patch does not cause SVGImageCache to take into account scale caused by CSS transforms; that is tracked
3330         separately by https://bugs.webkit.org/show_bug.cgi?id=85335.
3331
3332         Tests: svg/as-image/image-respects-deviceScaleFactor.html
3333                svg/as-image/image-respects-pageScaleFactor.html
3334
3335         * loader/cache/CachedImage.cpp:
3336         (WebCore::CachedImage::setContainerSizeForRenderer):
3337         (WebCore::CachedImage::imageSizeForRenderer):
3338         * svg/graphics/SVGImage.cpp:
3339         (WebCore::SVGImage::drawSVGToImageBuffer):
3340         * svg/graphics/SVGImage.h:
3341         * svg/graphics/SVGImageCache.cpp:
3342         (WebCore::SVGImageCache::~SVGImageCache):
3343         (WebCore::SVGImageCache::removeRendererFromCache):
3344         (WebCore::SVGImageCache::setRequestedSizeAndScales):
3345         (WebCore::SVGImageCache::requestedSizeAndScales):
3346         (WebCore::SVGImageCache::redraw):
3347         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
3348         * svg/graphics/SVGImageCache.h:
3349         (WebCore::SVGImageCache::SizeAndScales::SizeAndScales):
3350         (SizeAndScales):
3351         (SVGImageCache):
3352         (WebCore::SVGImageCache::ImageData::ImageData):
3353         (ImageData):
3354
3355 2012-05-03  Fady Samuel  <fsamuel@chromium.org>
3356
3357         Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
3358         https://bugs.webkit.org/show_bug.cgi?id=70609
3359
3360         Reviewed by Kenneth Rohde Christiansen.
3361
3362         Make Viewport Attributes' layoutSize be a FloatRect to avoid rounding
3363         too early, and the occasional off by one fixed layout dimensions.
3364
3365         * dom/ViewportArguments.cpp:
3366         (WebCore::computeViewportAttributes):
3367         * dom/ViewportArguments.h:
3368         (ViewportAttributes):
3369
3370 2012-05-03  Joshua Bell  <jsbell@chromium.org>
3371
3372         IndexedDB: Handle generated keys up to 2^53
3373         https://bugs.webkit.org/show_bug.cgi?id=85114
3374
3375         The spec defines the behavior for generated keys up to 2^53
3376         (the maximum integer storable as an ECMAScript number) and
3377         the error case when going beyond that. Ensure that we can
3378         handle values up to that point and generate errors beyond.
3379
3380         Reviewed by Tony Chang.
3381
3382         Test: storage/indexeddb/key-generator.html
3383
3384         * Modules/indexeddb/IDBBackingStore.h:
3385         (IDBBackingStore):
3386         * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
3387         (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
3388         * Modules/indexeddb/IDBLevelDBBackingStore.h:
3389         (IDBLevelDBBackingStore):
3390         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
3391         (WebCore::IDBObjectStoreBackendImpl::putInternal):
3392         (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
3393         * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
3394         (IDBObjectStoreBackendImpl):
3395
3396 2012-05-03  Simon Fraser  <simon.fraser@apple.com>
3397
3398         Remove RenderLayerCompositor::didStartAcceleratedAnimation()
3399         https://bugs.webkit.org/show_bug.cgi?id=85514
3400
3401         Reviewed by Antti Koivisto.
3402         
3403         Remove RenderLayerCompositor::didStartAcceleratedAnimation(), which is no longer
3404         needed.
3405
3406         Code removal, no new tests.
3407
3408         * rendering/RenderLayerBacking.cpp:
3409         (WebCore::RenderLayerBacking::startAnimation):
3410         (WebCore::RenderLayerBacking::startTransition):
3411         * rendering/RenderLayerCompositor.cpp:
3412         * rendering/RenderLayerCompositor.h:
3413
3414 2012-05-03  Andreas Kling  <kling@webkit.org>
3415
3416         REGRESSION(r111387): CSSOM representation of 'background-image' values should be CSSPrimitiveValue.
3417         <http://webkit.org/b/85500>
3418
3419         Reviewed by Antti Koivisto.
3420
3421         Use the cloneForCSSOM() mechanism in CSSValue to expose CSSImageValue to bindings as a URI
3422         primitive value. This matches the specced behavior of computed image values, and restores our
3423         previous behavior without having CSSImageValue subclass CSSPrimitiveValue.
3424
3425         Also added a failsafe return after the isCSSOMSafe() assertion in the JSC bindings, since it's
3426         better to expose an incorrect return value than an insecurely shared one, should we have or add
3427         bugs in this code.
3428
3429         * bindings/js/JSCSSValueCustom.cpp:
3430         (WebCore::toJS):
3431         * css/CSSImageValue.cpp:
3432         (WebCore::CSSImageValue::cloneForCSSOM):
3433         * css/CSSImageValue.h:
3434         * css/CSSValue.cpp:
3435         (WebCore::CSSValue::cloneForCSSOM):
3436
3437 2012-05-03  Keishi Hattori  <keishi@webkit.org>
3438
3439         Crash in HTMLFormControlElement::m_fieldSetAncestor
3440         https://bugs.webkit.org/show_bug.cgi?id=85453
3441
3442         Reviewed by Kent Tamura.
3443
3444         Modified tests: fast/forms/datalist/datalist-child-validation.html
3445                         fast/forms/form-control-element-crash.html
3446
3447         * html/HTMLFormControlElement.cpp:
3448         (WebCore::HTMLFormControlElement::removedFrom): Only set the invalid ancestor flag.
3449         The element will be detached from the document so there is no need to update the style.
3450         And the validation message will be hidden by the blur event.
3451         (WebCore::HTMLFormControlElement::willValidate): Because of the change to removedFrom,
3452         m_ancestorsValid may be false.
3453
3454 2012-05-03  Simon Fraser  <simon.fraser@apple.com>
3455
3456         Keep overlap testing for compositing on pages with 3d transforms when possible
3457         https://bugs.webkit.org/show_bug.cgi?id=62487
3458
3459         Reviewed by Antti Koivisto.
3460         
3461         Change RenderLayerCompositor to always use overlap testing when possible.
3462
3463         Rather than turn off overlap testing wholesale when encountering a non-affine
3464         transform, or starting an accelerated transform animation, we constrain
3465         the disabling of overlap testing to within overflow:hidden areas when possible.
3466
3467         Tests: compositing/layer-creation/overlap-animation.html
3468                compositing/layer-creation/overlap-transforms.html
3469
3470         * rendering/RenderLayerBacking.cpp:
3471         (WebCore::RenderLayerBacking::setCompositedBounds): Whitespace fix.
3472         * rendering/RenderLayerCompositor.cpp:
3473         (WebCore::CompositingState::CompositingState):