REGRESSION (r99613): Incomplete painting of the root element background in flipped...
[WebKit-https.git] / Source / WebCore / ChangeLog
1 2011-11-08  Dan Bernstein  <mitz@apple.com>
2
3         REGRESSION (r99613): Incomplete painting of the root element background in flipped blocks writing mode
4         https://bugs.webkit.org/show_bug.cgi?id=71863
5
6         Reviewed by Anders Carlsson.
7
8         * rendering/RenderBox.cpp:
9         (WebCore::RenderBox::paintRootBoxFillLayers): Instead of unconditionally flipping the background
10         rect here...
11         * rendering/RenderView.cpp:
12         (WebCore::RenderView::backgroundRect): ...flip it only in column mode here.
13         * rendering/RenderView.h:
14
15 2011-11-08  Michael Saboff  <msaboff@apple.com>
16
17         Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type
18         https://bugs.webkit.org/show_bug.cgi?id=71761
19
20         Cleaned up SourceCode data() to return StringImpl* and eliminated
21         the recently added stringData() virtual method.
22
23         No tests added - refactored base class SourceCode and its subclasses.
24
25         * bindings/js/CachedScriptSourceProvider.h:
26         (WebCore::CachedScriptSourceProvider::data):
27         * bindings/js/ScriptDebugServer.cpp:
28         (WebCore::ScriptDebugServer::dispatchDidParseSource):
29         (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
30         * bindings/js/StringSourceProvider.h:
31         (WebCore::StringSourceProvider::data):
32
33 2011-11-08  Xiaomei Ji  <xji@chromium.org>
34
35         REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
36         https://bugs.webkit.org/show_bug.cgi?id=70395
37
38         Reviewed by Tony Chang.
39
40         Change the condition to perform immediate scolling inside ScrollView::updateScrollbars()
41         to be correct for RTL page as well, which is checking either the scroll position change or
42         the m_scrollOrigin changes (such as in window resize in which scroll position might remain the same).
43
44         And remove condition checking inside ScrollableArea::scrollToOffsetWithoutAnimation() since
45         the pass-in offset is adjusted within the current scroll range, it could be the same as
46         m_currentPos when m_currentPos is (0, 0) and current scroll range is smaller than old 
47         scroll range, but scolling is still needed when page resize and scroll range changes.
48
49         Test: fast/dom/rtl-scroll-to-leftmost-and-resize.html
50
51         * platform/ScrollAnimator.cpp:
52         (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Remove condition checking.
53         * platform/ScrollView.cpp:
54         (WebCore::ScrollView::updateScrollbars): Change condition to perform immediate scrolling to be
55         correct for RTL pages as well.
56         * platform/ScrollableArea.cpp: Update m_scrollOriginChanged.
57         (WebCore::ScrollableArea::ScrollableArea):
58         (WebCore::ScrollableArea::setScrollOrigin):
59         (WebCore::ScrollableArea::setScrollOriginX):
60         (WebCore::ScrollableArea::setScrollOriginY):
61         * platform/ScrollableArea.h: Add m_scrollOriginChanged.
62         (WebCore::ScrollableArea::scrollOriginChanged):
63         (WebCore::ScrollableArea::resetScrollOriginChanged):
64
65 2011-11-08  Dan Bernstein  <mitz@apple.com>
66
67         <rdar://problem/10262225> Allow RenderView to have columns
68         https://bugs.webkit.org/show_bug.cgi?id=71840
69
70         Reviewed by Simon Fraser.
71
72         Tests: fast/multicol/pagination-h-horizontal-bt.html
73                fast/multicol/pagination-h-horizontal-tb.html
74                fast/multicol/pagination-h-vertical-lr.html
75                fast/multicol/pagination-h-vertical-rl.html
76                fast/multicol/pagination-v-horizontal-bt.html
77                fast/multicol/pagination-v-horizontal-tb.html
78                fast/multicol/pagination-v-vertical-lr.html
79                fast/multicol/pagination-v-vertical-rl.html
80
81         * WebCore.exp.in: Export Page::setPagination() for WebCoreTestSupport.
82         * css/CSSStyleSelector.cpp:
83         (WebCore::CSSStyleSelector::styleForDocument): Set the column axis and the column gap in the
84         document style if the view is paginated.
85         * page/Page.cpp:
86         (WebCore::Page::setPagination): Added this setter.
87         * page/Page.h:
88         (WebCore::Page::Pagination::Pagination):
89         (WebCore::Page::pagination): Added this getter.
90         * rendering/RenderBlock.cpp:
91         (WebCore::RenderBlock::requiresColumns): Added and moved some logic to here from...
92         (WebCore::RenderBlock::setDesiredColumnCountAndWidth): ...here.
93         * rendering/RenderBlock.h:
94         * rendering/RenderBox.cpp:
95         (WebCore::RenderBox::paintRootBoxFillLayers): Changed to use the new RenderView::backgroundRect()
96         instead of unscaledDocumentRect().
97         * rendering/RenderView.cpp:
98         (WebCore::RenderView::requiresColumns): Added this override that always returns true if the view
99         is paginated.
100         (WebCore::RenderView::backgroundRect): Added. In the paginated case, returns a rectangle stretching
101         across all columns.
102         * rendering/RenderView.h:
103         * testing/Internals.cpp:
104         (WebCore::Internals::reset): Also reset pagination.
105         (WebCore::Internals::setPagination): Added this setter for testing.
106         * testing/Internals.h:
107         * testing/Internals.idl:
108
109 2011-11-08  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
110
111         Document.importNode's 'deep' argument should default to true.
112         https://bugs.webkit.org/show_bug.cgi?id=71190
113
114         Reviewed by Adam Barth.
115
116         As new specification says deep argument of importNode should be default to true.
117
118         Test: fast/dom/document-importNode-arguments.html
119
120         * dom/Document.h: Added supportive method.
121         (WebCore::Document::importNode):
122         * dom/Document.idl: Modified deep argument as optional.
123
124 2011-11-08  Adam Klein  <adamk@chromium.org>
125
126         WebKitMutationObserver.observe should raise a DOMException if passed invalid arguments
127         https://bugs.webkit.org/show_bug.cgi?id=71596
128
129         Reviewed by Ryosuke Niwa.
130
131         Adds two cases where WebKitMutationObserver.observe throws an exception:
132           - When passed a null Node*.
133           - When passed options that don't make sense, e.g.,
134             'attributeOldValue' but not 'attributes'.
135
136         * bindings/js/JSWebKitMutationObserverCustom.cpp:
137         (WebCore::JSWebKitMutationObserver::observe):
138         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
139         (WebCore::V8WebKitMutationObserver::observeCallback):
140         * dom/WebKitMutationObserver.cpp:
141         (WebCore::WebKitMutationObserver::validateOptions):
142         (WebCore::WebKitMutationObserver::observe):
143         * dom/WebKitMutationObserver.h:
144         * dom/WebKitMutationObserver.idl:
145
146 2011-11-08  Joshua Bell  <jsbell@chromium.org>
147
148         IndexedDB: implement compound (array) key support
149         https://bugs.webkit.org/show_bug.cgi?id=62284
150
151         Reviewed by Tony Chang.
152
153         Add support for Array values as IDBKeys. (Multirow indexes are still
154         not yet supported.)
155
156         Tests: storage/indexeddb/cursor-key-order.html
157                storage/indexeddb/key-type-array.html
158
159         * bindings/js/JSIDBKeyCustom.cpp:
160         (WebCore::toJS):
161         * bindings/v8/IDBBindingUtilities.cpp:
162         (WebCore::createIDBKeyFromValue):
163         * bindings/v8/custom/V8IDBKeyCustom.cpp:
164         (WebCore::toV8):
165         * storage/IDBKey.cpp:
166         (WebCore::IDBKey::compare):
167         * storage/IDBKey.h:
168         (WebCore::IDBKey::createArray):
169         (WebCore::IDBKey::valid):
170         (WebCore::IDBKey::array):
171         (WebCore::IDBKey::compareTypes):
172         * storage/IDBLevelDBCoding.cpp:
173         (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
174         (WebCore::IDBLevelDBCoding::encodeIDBKey):
175         (WebCore::IDBLevelDBCoding::decodeIDBKey):
176         (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
177         (WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
178         (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
179         * storage/IDBLevelDBCoding.h:
180
181 2011-11-08  Daniel Bates  <dbates@webkit.org>
182
183         Remove get() defined in CredentialStorageQt.cpp
184         https://bugs.webkit.org/show_bug.cgi?id=71829
185
186         Reviewed by Andreas Kling.
187
188         CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
189         provides the base implementation for each platform. We shouldn't re-define
190         CredentialStorage::get() in CredentialStorageQt.cpp.
191
192         * Target.pri: Add files CredentialStorage.{cpp, h}.
193         * platform/network/qt/CredentialStorageQt.cpp:
194
195 2011-11-08  Joshua Bell  <jsbell@chromium.org>
196
197         IndexedDB: reference cycle between IDBDatabase and IDBTransaction
198         https://bugs.webkit.org/show_bug.cgi?id=71749
199
200         Reviewed by Tony Chang.
201
202         Break a cyclic reference leak following a setVersion call.
203
204         * storage/IDBDatabase.cpp:
205         (WebCore::IDBDatabase::setVersionChangeTransaction):
206         (WebCore::IDBDatabase::clearVersionChangeTransaction):
207         (WebCore::IDBDatabase::createObjectStore):
208         (WebCore::IDBDatabase::deleteObjectStore):
209         * storage/IDBDatabase.h:
210         * storage/IDBRequest.cpp:
211         (WebCore::IDBRequest::onSuccess):
212         * storage/IDBTransaction.cpp:
213         (WebCore::IDBTransaction::create):
214         (WebCore::IDBTransaction::onAbort):
215         (WebCore::IDBTransaction::onComplete):
216
217 2011-11-08  Daniel Bates  <dbates@webkit.org>
218
219         Remove get() defined in CredentialStorageSoup.cpp
220         https://bugs.webkit.org/show_bug.cgi?id=71825
221
222         Reviewed by Martin Robinson.
223
224         CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
225         provides the base implementation for each platform. We shouldn't re-define
226         CredentialStorage::get() in CredentialStorageSoup.cpp.
227
228         * GNUmakefile.list.am: Add source file CredentialStorage.cpp.
229         * platform/network/soup/CredentialStorageSoup.cpp: Remove re-definition of CredentialStorage::get().
230         CredentialStorage::get() is defined in CredentialStorage.cpp.
231
232 2011-11-08  Roland Steiner  <rolandsteiner@chromium.org>
233
234         Rename CSS document() -> findDocument(), to indicate tree climbing
235         https://bugs.webkit.org/show_bug.cgi?id=71764
236
237         Renamed document() to findDocument(), styleSheetOwnerNode() to findStyleSheetOwnerNode().
238
239         Reviewed by Darin Adler.
240
241         No new tests. (simple refactoring)
242
243         * css/CSSGrammar.y:
244         * css/CSSImportRule.cpp:
245         (WebCore::CSSImportRule::setCSSStyleSheet):
246         (WebCore::CSSImportRule::requestStyleSheet):
247         * css/CSSMutableStyleDeclaration.cpp:
248         (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
249         * css/CSSParser.cpp:
250         (WebCore::parseColorValue):
251         (WebCore::parseSimpleLengthValue):
252         (WebCore::CSSParser::setStyleSheet):
253         (WebCore::CSSParser::findDocument):
254         (WebCore::CSSParser::parseAttr):
255         * css/CSSParser.h:
256         * css/CSSStyleRule.cpp:
257         (WebCore::CSSStyleRule::setSelectorText):
258         * css/CSSStyleSheet.cpp:
259         (WebCore::CSSStyleSheet::cssRules):
260         (WebCore::CSSStyleSheet::findStyleSheetOwnerNode):
261         (WebCore::CSSStyleSheet::findDocument):
262         (WebCore::CSSStyleSheet::styleSheetChanged):
263         * css/CSSStyleSheet.h:
264         * inspector/InspectorCSSAgent.cpp:
265         (WebCore::InspectorCSSAgent::bindStyleSheet):
266         * inspector/InspectorStyleSheet.cpp:
267         (WebCore::InspectorStyleSheet::ownerDocument):
268         * page/PageSerializer.cpp:
269         (WebCore::PageSerializer::serializeCSSStyleSheet):
270         (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
271
272 2011-11-07  Ryosuke Niwa  <rniwa@webkit.org>
273
274         Indent command can insert block quote in non editable content
275         https://bugs.webkit.org/show_bug.cgi?id=71754
276
277         Reviewed by Enrica Casucci.
278
279         The bug was caused by IndentOutdentCommand's incorrectly using deprecatedNode to determine the outer block,
280         not updating the start after inserting the targetBlockquote, and cloneParagraphUnderNewElement's cloning
281         outerNode even if it was body. Fixed those bugs.
282
283         Test: editing/execCommand/indent-images.html
284               editing/execCommand/indent-images-2.html
285               editing/execCommand/indent-images-3.html
286
287         * editing/CompositeEditCommand.cpp:
288         (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
289         * editing/IndentOutdentCommand.cpp:
290         (WebCore::IndentOutdentCommand::indentIntoBlockquote):
291
292 2011-11-08  Adam Klein  <adamk@chromium.org>
293
294         Only walk up the tree in search of MutationObservers if one has been added
295         https://bugs.webkit.org/show_bug.cgi?id=71499
296
297         Reviewed by Ojan Vafai.
298
299         Analogous to m_listenerTypes, added an m_subtreeMutationObserverTypes field
300         to Document that keeps track of which observer types have been added.
301         This allows us to avoid doing any extra work if MutationObservers are
302         not attached to a document.
303
304         This could be improved upon to keep a count of each type, as removing
305         an observer currently has no effect on m_subtreeMutationObserverTypes.
306         But that would require a more complex implementation: one counter per
307         mutation type. And it would be easier to get wrong: if the counter
308         gets out of sync with the actual state of the DOM, we could start
309         dropping mutation notifications.
310
311         Test: fast/mutation/cross-document.html
312
313         * dom/Document.h:
314         (WebCore::Document::hasSubtreeMutationObserverOfType):
315         (WebCore::Document::hasSubtreeMutationObserver):
316         (WebCore::Document::addSubtreeMutationObserverTypes):
317         * dom/MutationObserverRegistration.h:
318         (WebCore::MutationObserverRegistration::isSubtree):
319         (WebCore::MutationObserverRegistration::deliveryOptions):
320         (WebCore::MutationObserverRegistration::mutationTypes):
321         * dom/Node.cpp:
322         (WebCore::Node::didMoveToNewOwnerDocument): Update mutationObserverTypes when a Node is moved to a new document.
323         (WebCore::Node::getRegisteredMutationObserversOfType): Exit early if it's known that no observers of |type| are registered.
324         (WebCore::Node::notifyMutationObserversNodeWillDetach): Exit early if it's known no subtree observers of any type are registered.
325         * dom/WebKitMutationObserver.cpp:
326         (WebCore::WebKitMutationObserver::observe): Update mutationObserverTypes when an observation occurs.
327         * dom/WebKitMutationObserver.h: Add WebKitMutationObserver::AllMutationTypes to enum
328
329 2011-11-08  Andreas Kling  <kling@webkit.org>
330
331         Devirtualize CSSValue.
332         <http://webkit.org/b/71666>
333
334         Reviewed by Antti Koivisto.
335
336         Make the CSSValue destructor non-virtual (along with all the subclasses.)
337         This removes the vtables, and the pointers thereto in each value instance,
338         shrinking each object by one CPU word (4 or 8 bytes.)
339
340         We use the same trick as CSSRule to implement destruction; providing our
341         own deref() instead of RefCounted's, and performing a statically typed
342         delete in a destroy() method called when the ref count reaches 0.
343
344         Also made all the empty subclass destructors inline.
345
346         * css/CSSAspectRatioValue.cpp:
347         * css/CSSAspectRatioValue.h:
348         (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
349         * css/CSSBorderImageSliceValue.cpp:
350         * css/CSSBorderImageSliceValue.h:
351         (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
352         * css/CSSBorderImageValue.cpp:
353         * css/CSSBorderImageValue.h:
354         (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
355         * css/CSSCanvasValue.h:
356         * css/CSSCrossfadeValue.cpp:
357         * css/CSSCrossfadeValue.h:
358         (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
359         * css/CSSCursorImageValue.h:
360         * css/CSSFlexValue.cpp:
361         * css/CSSFlexValue.h:
362         (WebCore::CSSFlexValue::~CSSFlexValue):
363         * css/CSSFontFaceSrcValue.cpp:
364         * css/CSSFontFaceSrcValue.h:
365         (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
366         * css/CSSFunctionValue.cpp:
367         * css/CSSFunctionValue.h:
368         (WebCore::CSSFunctionValue::~CSSFunctionValue):
369         * css/CSSImageGeneratorValue.h:
370         * css/CSSImageValue.h:
371         * css/CSSMutableValue.h:
372         (WebCore::CSSMutableValue::~CSSMutableValue):
373         * css/CSSParserValues.h:
374         * css/CSSPrimitiveValue.h:
375         * css/CSSUnicodeRangeValue.cpp:
376         * css/CSSUnicodeRangeValue.h:
377         (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
378         * css/CSSValue.cpp:
379         (WebCore::CSSValue::destroy):
380         * css/CSSValue.h:
381         (WebCore::CSSValue::deref):
382         (WebCore::CSSValue::~CSSValue):
383         * css/CSSValueList.cpp:
384         * css/CSSValueList.h:
385         (WebCore::CSSValueList::~CSSValueList):
386         * css/WebKitCSSFilterValue.cpp:
387         * css/WebKitCSSFilterValue.h:
388         (WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
389         * css/WebKitCSSTransformValue.cpp:
390         * css/WebKitCSSTransformValue.h:
391         (WebCore::WebKitCSSTransformValue::~WebKitCSSTransformValue):
392
393 2011-11-08  Darin Adler  <darin@apple.com>
394
395         Speculative fix for crashes seen in DocumentWriter::deprecatedFrameEncoding
396         https://bugs.webkit.org/show_bug.cgi?id=71828
397
398         Reviewed by Nate Chapin.
399
400         No new tests; not sure how to reproduce this, but crash traces indicate it
401         is an otherwise-harmless null dereference.
402
403         * loader/DocumentWriter.cpp:
404         (WebCore::DocumentWriter::deprecatedFrameEncoding):
405         Handle null document the same as a document without a URL.
406
407 2011-11-08  Sheriff Bot  <webkit.review.bot@gmail.com>
408
409         Unreviewed, rolling out r95720.
410         http://trac.webkit.org/changeset/95720
411         https://bugs.webkit.org/show_bug.cgi?id=71831
412
413         This has made the menulists on WebKit patch reviews much less
414         usable (Requested by mrobinson on #webkit).
415
416         * platform/gtk/GtkPopupMenu.cpp:
417         (WebCore::GtkPopupMenu::menuPositionFunction):
418
419 2011-11-08  Nico Weber  <thakis@chromium.org>
420
421         [chromium] Remove 6 exit time destructors and 6 static initializers
422         https://bugs.webkit.org/show_bug.cgi?id=71760
423
424         Reviewed by Nate Chapin.
425
426         Do this by moving global statics into function-local statics, and using
427         DEFINE_LOCAL_STATIC to leak them. Since this code is accessed on a single
428         thread, this is a safe change to make.
429
430         No behavior change, so no new tests.
431
432         * bindings/v8/ScriptGCEvent.cpp:
433         (WebCore::sEventListeners):
434         (WebCore::ScriptGCEvent::addEventListener):
435         (WebCore::ScriptGCEvent::removeEventListener):
436         (WebCore::ScriptGCEvent::gcEpilogueCallback):
437         * bindings/v8/ScriptGCEvent.h:
438         * bindings/v8/V8NPObject.cpp:
439         (WebCore::staticTemplateMap):
440         (WebCore::weakTemplateCallback):
441         (WebCore::npObjectGetProperty):
442         (WebCore::staticNPObjectMap):
443         (WebCore::weakNPObjectCallback):
444         (WebCore::createV8ObjectForNPObject):
445         (WebCore::forgetV8ObjectForNPObject):
446         * bindings/v8/V8Proxy.cpp:
447         (WebCore::staticExtensionsList):
448         (WebCore::V8Proxy::registeredExtensionWithV8):
449         (WebCore::V8Proxy::registerExtension):
450         (WebCore::V8Proxy::extensions):
451         * bindings/v8/V8Proxy.h:
452         * bindings/v8/npruntime.cpp:
453         * plugins/chromium/PluginDataChromium.cpp:
454         (WebCore::pluginCache):
455         (WebCore::PluginData::initPlugins):
456         (WebCore::PluginData::refresh):
457         (WebCore::getPluginMimeTypeFromExtension):
458
459 2011-11-08  Hans Wennborg  <hans@chromium.org>
460
461         IndexedDB: Start using the onSuccessWithContinuation() callback
462         https://bugs.webkit.org/show_bug.cgi?id=71565
463
464         Reviewed by Tony Chang.
465
466         This is a follow-up to r99169 where we start using this new
467         callback for cursors.
468
469         * storage/IDBCursorBackendImpl.cpp:
470         (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
471         * storage/IDBRequest.cpp:
472         (WebCore::IDBRequest::setCursor):
473
474 2011-11-08  Justin Schuh  <jschuh@chromium.org>
475
476         Document::loader should use documentLoader(), not activeDocumentLoader()
477         https://bugs.webkit.org/show_bug.cgi?id=65895
478
479         Reviewed by Brady Eidson.
480
481         Test: fast/loader/stateobjects/replacestate-in-onunload.html
482
483         * dom/Document.cpp:
484         (WebCore::Document::loader):
485
486 2011-11-08  Andreas Kling  <kling@webkit.org>
487
488         CSSImageGeneratorValue: Devirtualize image(), isFixedSize() and fixedSize().
489         <http://webkit.org/b/71824>
490
491         Reviewed by Darin Adler.
492
493         Redirect the calls to the appropriate subclass in CSSImageGeneratorValue.cpp.
494
495         * css/CSSCanvasValue.h:
496         (WebCore::CSSCanvasValue::isFixedSize):
497         * css/CSSCrossfadeValue.h:
498         (WebCore::CSSCrossfadeValue::isFixedSize):
499         * css/CSSGradientValue.h:
500         (WebCore::CSSGradientValue::isFixedSize):
501         (WebCore::CSSGradientValue::fixedSize):
502         * css/CSSImageGeneratorValue.cpp:
503         (WebCore::CSSImageGeneratorValue::image):
504         (WebCore::CSSImageGeneratorValue::isFixedSize):
505         (WebCore::CSSImageGeneratorValue::fixedSize):
506         * css/CSSImageGeneratorValue.h:
507
508 2011-11-08  Andrey Kosyakov  <caseq@chromium.org>
509
510         Web Inspector: [Extension API][Chromium] injected extension API needs to return an object
511         https://bugs.webkit.org/show_bug.cgi?id=71822
512
513         Reviewed by Pavel Feldman.
514
515         * inspector/front-end/ExtensionAPI.js:
516         (buildExtensionAPIInjectedScript):
517
518 2011-11-08  Andreas Kling  <kling@webkit.org>
519
520         CSSImageValue: Devirtualize cachedImage(CachedResourceLoader*).
521         <http://webkit.org/b/71814>
522
523         Reviewed by Antti Koivisto.
524
525         Defer to CSSCursorImageValue (the only CSSImageValue subclass)
526         when appropriate in CSSImageValue::cachedImage(CachedResourceLoader*).
527
528         * css/CSSCursorImageValue.h:
529         * css/CSSImageValue.cpp:
530         (WebCore::CSSImageValue::cachedImage):
531         * css/CSSImageValue.h:
532
533 2011-11-08  Andrey Kosyakov  <caseq@chromium.org>
534
535         Web Inspector: add "Evaluate in console" as a shortcut and context menu items to scripts panel
536         https://bugs.webkit.org/show_bug.cgi?id=71817
537
538         Reviewed by Pavel Feldman.
539
540         * English.lproj/localizedStrings.js:
541         * inspector/front-end/ConsoleView.js:
542         (WebInspector.ConsoleView.prototype.evaluate):
543         (WebInspector.ConsoleView.prototype._enterKeyPressed):
544         * inspector/front-end/JavaScriptSourceFrame.js:
545         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
546         * inspector/front-end/ScriptsPanel.js:
547         (WebInspector.ScriptsPanel.prototype._evaluateSelectionInConsole):
548         * inspector/front-end/ShortcutsScreen.js:
549         (WebInspector.ShortcutsSection.prototype.addRelatedKeys):
550         (WebInspector.ShortcutsSection.prototype.addAlternateKeys):
551         * inspector/front-end/externs.js:
552         (WebInspector.evaluateInConsole):
553         * inspector/front-end/inspector.js:
554         (WebInspector.evaluateInConsole):
555
556 2011-11-08  Andreas Kling  <kling@webkit.org>
557
558         CSSValue: Devirtualize cssText().
559         <http://webkit.org/b/71813>
560
561         Reviewed by Antti Koivisto.
562
563         Rename all subclass implementations to customCssText() and add
564         a CSSValue::cssText() that defers to the appropriate subclass
565         based on the type info.
566
567         The rename is both for clarity, and to ensure that calling
568         cssText() will always end up in the correct method.
569
570         * css/CSSAspectRatioValue.cpp:
571         (WebCore::CSSAspectRatioValue::customCssText):
572         * css/CSSAspectRatioValue.h:
573         * css/CSSBorderImageSliceValue.cpp:
574         (WebCore::CSSBorderImageSliceValue::customCssText):
575         * css/CSSBorderImageSliceValue.h:
576         * css/CSSBorderImageValue.cpp:
577         (WebCore::CSSBorderImageValue::customCssText):
578         * css/CSSBorderImageValue.h:
579         * css/CSSCanvasValue.cpp:
580         (WebCore::CSSCanvasValue::customCssText):
581         * css/CSSCanvasValue.h:
582         * css/CSSCrossfadeValue.cpp:
583         (WebCore::CSSCrossfadeValue::customCssText):
584         * css/CSSCrossfadeValue.h:
585         * css/CSSFlexValue.cpp:
586         (WebCore::CSSFlexValue::customCssText):
587         * css/CSSFlexValue.h:
588         * css/CSSFontFaceSrcValue.cpp:
589         (WebCore::CSSFontFaceSrcValue::customCssText):
590         * css/CSSFontFaceSrcValue.h:
591         * css/CSSFunctionValue.cpp:
592         (WebCore::CSSFunctionValue::customCssText):
593         * css/CSSFunctionValue.h:
594         * css/CSSGradientValue.cpp:
595         (WebCore::CSSLinearGradientValue::customCssText):
596         (WebCore::CSSRadialGradientValue::customCssText):
597         * css/CSSGradientValue.h:
598         * css/CSSInheritedValue.cpp:
599         (WebCore::CSSInheritedValue::customCssText):
600         * css/CSSInheritedValue.h:
601         * css/CSSInitialValue.cpp:
602         (WebCore::CSSInitialValue::customCssText):
603         * css/CSSInitialValue.h:
604         * css/CSSLineBoxContainValue.cpp:
605         (WebCore::CSSLineBoxContainValue::customCssText):
606         * css/CSSLineBoxContainValue.h:
607         * css/CSSPrimitiveValue.cpp:
608         (WebCore::CSSPrimitiveValue::customCssText):
609         * css/CSSPrimitiveValue.h:
610         * css/CSSReflectValue.cpp:
611         (WebCore::CSSReflectValue::customCssText):
612         * css/CSSReflectValue.h:
613         * css/CSSTimingFunctionValue.cpp:
614         (WebCore::CSSLinearTimingFunctionValue::customCssText):
615         (WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
616         (WebCore::CSSStepsTimingFunctionValue::customCssText):
617         * css/CSSTimingFunctionValue.h:
618         (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
619         * css/CSSUnicodeRangeValue.cpp:
620         (WebCore::CSSUnicodeRangeValue::customCssText):
621         * css/CSSUnicodeRangeValue.h:
622         * css/CSSValue.cpp:
623         (WebCore::CSSValue::cssText):
624         * css/CSSValue.h:
625         * css/CSSValueList.cpp:
626         (WebCore::CSSValueList::customCssText):
627         * css/CSSValueList.h:
628         * css/FontFamilyValue.cpp:
629         (WebCore::FontFamilyValue::customCssText):
630         * css/FontFamilyValue.h:
631         * css/FontFeatureValue.cpp:
632         (WebCore::FontFeatureValue::customCssText):
633         * css/FontFeatureValue.h:
634         * css/FontValue.cpp:
635         (WebCore::FontValue::customCssText):
636         * css/FontValue.h:
637         * css/ShadowValue.cpp:
638         (WebCore::ShadowValue::customCssText):
639         * css/ShadowValue.h:
640         * css/WebKitCSSFilterValue.cpp:
641         (WebCore::WebKitCSSFilterValue::customCssText):
642         * css/WebKitCSSFilterValue.h:
643         * css/WebKitCSSTransformValue.cpp:
644         (WebCore::WebKitCSSTransformValue::customCssText):
645         * css/WebKitCSSTransformValue.h:
646         * svg/SVGColor.cpp:
647         (WebCore::SVGColor::customCssText):
648         * svg/SVGColor.h:
649         * svg/SVGPaint.cpp:
650         (WebCore::SVGPaint::customCssText):
651         * svg/SVGPaint.h:
652
653 2011-11-08  Gavin Peters  <gavinp@chromium.org>
654
655         Fix width of m_type in CachedResource
656         https://bugs.webkit.org/show_bug.cgi?id=71727
657
658         Reviewed by Nate Chapin.
659
660         Test: fast/dom/HTMLLinkElement/cachedresource-types.html
661
662         * loader/cache/CachedResource.cpp:
663         (WebCore::CachedResource::CachedResource):
664         * loader/cache/CachedResource.h:
665
666 2011-11-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
667
668         [Qt] Don't set OBJECTS_DIR and DEFINES in default_pre
669
670         If a pro file needs to access the OBJECTS_DIR it should use the
671         form ${QMAKE_VAR_OBJECTS_DIR} to ensure the value is evaluated
672         after defaults_post has been processed.
673
674         Setting DEFINES in defaults_pre is also bad, as any DEFINES=foo on
675         the command line will override whatever we set in defaults_pre.
676
677         Reviewed by Simon Hausmann.
678
679         * Target.pri:
680
681 2011-11-08  Pavel Feldman  <pfeldman@google.com>
682
683         Web Inspector: add JavaScript keywords to the autocomplete.
684         https://bugs.webkit.org/show_bug.cgi?id=71782
685
686         Reviewed by Yury Semikhatsky.
687
688         * inspector/front-end/ConsoleView.js:
689         (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
690         (WebInspector.ConsoleView.prototype._completions):
691         (WebInspector.ConsoleView.prototype._reportCompletions):
692
693 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
694
695         Introduce SVGLengthContext, to allow to resolve relative units to arbitary viewports
696         https://bugs.webkit.org/show_bug.cgi?id=71780
697
698         Reviewed by Zoltan Herczeg.
699
700         Introduce SVGLengthContext to cleanup SVGLength, by moving all conversion of relative units that depend on style or viewport
701         out of SVGLength, into SVGLengthContext. Pass SVGLengthContext& to SVGLength::value/setValue/... functions instead of a pure
702         "const SVGElement* context", which was previously used to determine the viewport when resolving percentage units.
703         SVGLengthContext carries an additional FloatRect of the custom viewport, to which percentages are resolved, if specified.
704
705         This allows us to kill several duplicates of the same code, which handles objectBoundingBox mode for gradients/patterns/masks/etc..
706         A follow-up patch will convert filters to use the new SVGLengthContext::resolveRectangle code as well.
707
708         This is a preparation for bug 10430, to fix feImage + objectBoundingBox support when rendering referenced elements, instead of files.
709
710         Doesn't affect any tests yet.
711
712         * CMakeLists.txt:
713         * GNUmakefile.list.am:
714         * Target.pri:
715         * WebCore.gypi:
716         * WebCore.vcproj/WebCore.vcproj:
717         * WebCore.xcodeproj/project.pbxproj:
718         * rendering/svg/RenderSVGResourceGradient.cpp:
719         (WebCore::RenderSVGResourceGradient::applyResource):
720         * rendering/svg/RenderSVGResourceGradient.h:
721         * rendering/svg/RenderSVGResourceLinearGradient.h:
722         (WebCore::RenderSVGResourceLinearGradient::gradientUnits):
723         * rendering/svg/RenderSVGResourcePattern.cpp:
724         (WebCore::RenderSVGResourcePattern::applyResource):
725         (WebCore::calculatePatternBoundaries):
726         (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
727         (WebCore::RenderSVGResourcePattern::createTileImage):
728         * rendering/svg/RenderSVGResourceRadialGradient.h:
729         (WebCore::RenderSVGResourceRadialGradient::gradientUnits):
730         * rendering/svg/SVGRenderTreeAsText.cpp:
731         (WebCore::writeCommonGradientProperties):
732         (WebCore::writeSVGResourceContainer):
733         * svg/GradientAttributes.h:
734         (WebCore::GradientAttributes::GradientAttributes):
735         (WebCore::GradientAttributes::gradientUnits):
736         (WebCore::GradientAttributes::setGradientUnits):
737         (WebCore::GradientAttributes::hasGradientUnits):
738         * svg/PatternAttributes.h:
739         (WebCore::PatternAttributes::PatternAttributes):
740         (WebCore::PatternAttributes::patternUnits):
741         (WebCore::PatternAttributes::patternContentUnits):
742         (WebCore::PatternAttributes::setPatternUnits):
743         (WebCore::PatternAttributes::setPatternContentUnits):
744         (WebCore::PatternAttributes::hasPatternUnits):
745         (WebCore::PatternAttributes::hasPatternContentUnits):
746         * svg/SVGAllInOne.cpp:
747         * svg/SVGElement.h:
748         (WebCore::SVGElement::operator SVGLengthContext):
749         * svg/SVGFilterElement.cpp:
750         (WebCore::SVGFilterElement::filterBoundingBox):
751         * svg/SVGLength.cpp:
752         (WebCore::SVGLength::SVGLength):
753         (WebCore::SVGLength::unitMode):
754         (WebCore::SVGLength::value):
755         (WebCore::SVGLength::setValue):
756         (WebCore::SVGLength::convertToSpecifiedUnits):
757         * svg/SVGLength.h:
758         (WebCore::SVGLength::blend):
759         * svg/SVGLengthContext.cpp: Added.
760         (WebCore::SVGLengthContext::SVGLengthContext):
761         (WebCore::SVGLengthContext::resolveRectangle):
762         (WebCore::SVGLengthContext::resolvePoint):
763         (WebCore::SVGLengthContext::resolveLength):
764         (WebCore::SVGLengthContext::convertValueToUserUnits):
765         (WebCore::SVGLengthContext::convertValueFromUserUnits):
766         (WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage):
767         (WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
768         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
769         (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
770         (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
771         (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
772         (WebCore::SVGLengthContext::determineViewport):
773         * svg/SVGLengthContext.h: Added.
774         (WebCore::SVGLengthContext::resolveRectangle):
775         * svg/SVGLinearGradientElement.cpp:
776         (WebCore::SVGLinearGradientElement::collectGradientAttributes):
777         (WebCore::SVGLinearGradientElement::calculateStartEndPoints):
778         * svg/SVGMaskElement.cpp:
779         (WebCore::SVGMaskElement::maskBoundingBox):
780         * svg/SVGPatternElement.cpp:
781         (WebCore::SVGPatternElement::collectPatternAttributes):
782         * svg/SVGRadialGradientElement.cpp:
783         (WebCore::SVGRadialGradientElement::collectGradientAttributes):
784         (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
785
786 2011-11-08  Andreas Kling  <kling@webkit.org>
787
788         CSSValue: Devirtualize addSubresourceStyleURLs().
789         <http://webkit.org/b/71805>
790
791         Reviewed by Antti Koivisto.
792
793         Make addSubresourceStyleURLs() non-virtual and call the appropriate
794         subclass implementation based on the subclass type info.
795
796         * css/CSSBorderImageValue.h:
797         * css/CSSFontFaceSrcValue.h:
798         * css/CSSPrimitiveValue.h:
799         * css/CSSReflectValue.h:
800         * css/CSSValue.cpp:
801         (WebCore::CSSValue::addSubresourceStyleURLs):
802         * css/CSSValue.h:
803         (WebCore::CSSValue::addSubresourceStyleURLs):
804         * css/CSSValueList.h:
805
806 2011-11-08  Andrey Kosyakov  <caseq@chromium.org>
807
808         Web Inspector: do not show object popover when selection is active
809         https://bugs.webkit.org/show_bug.cgi?id=71804
810
811         Reviewed by Yury Semikhatsky.
812
813         * inspector/front-end/JavaScriptSourceFrame.js:
814         (WebInspector.JavaScriptSourceFrame.prototype._shouldShowPopover):
815
816 2011-11-08  Alexander Pavlov  <apavlov@chromium.org>
817
818         Web Inspector: Do not hide SuggestBox if typed-in string in the middle of input equals one of suggestions
819         https://bugs.webkit.org/show_bug.cgi?id=71797
820
821         Reviewed by Yury Semikhatsky.
822
823         * inspector/front-end/TextPrompt.js:
824         (WebInspector.TextPrompt.prototype.onKeyDown):
825         (WebInspector.TextPrompt.prototype.complete):
826
827 2011-11-08  Andreas Kling  <kling@webkit.org>
828
829         CSSGradientValue: Devirtualize createGradient().
830         <http://webkit.org/b/71800>
831
832         Reviewed by Antti Koivisto.
833
834         Make createGradient() non-virtual and call the appropriate subclass
835         implementation in image() based on is{Linear,Radial}Gradient().
836
837         * css/CSSGradientValue.cpp:
838         (WebCore::CSSGradientValue::image):
839         * css/CSSGradientValue.h:
840
841 2011-11-08  Andreas Kling  <kling@webkit.org>
842
843         CSSCanvasValue: Remove inheritance from CanvasObserver.
844         <http://webkit.org/b/71796>
845
846         Reviewed by Antti Koivisto.
847
848         To completely devirtualize all the CSSValues, we need to remove
849         CSSCanvasValue's inheritance from CanvasObserver, as that is forcing
850         a vptr into the class.
851
852         Use the same approach as CSSImportRule and make a simple proxying
853         CanvasObserver subclass and put that as a member variable of the value.
854
855         * css/CSSCanvasValue.cpp:
856         (WebCore::CSSCanvasValue::~CSSCanvasValue):
857         (WebCore::CSSCanvasValue::element):
858         * css/CSSCanvasValue.h:
859         (WebCore::CSSCanvasValue::CSSCanvasValue):
860         (WebCore::CSSCanvasValue::CanvasObserverProxy::CanvasObserverProxy):
861         (WebCore::CSSCanvasValue::CanvasObserverProxy::~CanvasObserverProxy):
862         (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasChanged):
863         (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasResized):
864         (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasDestroyed):
865
866 2011-11-08  Yury Semikhatsky  <yurys@chromium.org>
867
868         Web Inspector: display notification in the front-end when inspected worker terminates
869         https://bugs.webkit.org/show_bug.cgi?id=71770
870
871         When inspected worker terminates we will show a notification similar to the help
872         screen. The notification disappears when the worker restarts or the user closes it
873         manually.
874
875         Reviewed by Pavel Feldman.
876
877         * English.lproj/localizedStrings.js:
878         * inspector/front-end/ScriptsPanel.js:
879         * inspector/front-end/WorkerManager.js:
880         (WebInspector.WorkerManager.loaded):
881         (WebInspector.WorkerManager.showWorkerTerminatedScreen):
882         (WebInspector.WorkerTerminatedScreen):
883         * inspector/front-end/inspector.js:
884         (WebInspector.disconnectFromBackend):
885         (WebInspector.frontendReused):
886
887 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
888
889         Fold ImageBySizeCache again into CSSImageGeneratorValue
890         https://bugs.webkit.org/show_bug.cgi?id=71785
891
892         Reviewed by Zoltan Herczeg.
893
894         Remove ImageBySizeCache, and fold it into CSSImageGeneratorValue, as it used to be.
895         CachedImage has switched to SVGImageCache and no longer needs it.
896
897         * CMakeLists.txt:
898         * GNUmakefile.list.am:
899         * Target.pri:
900         * WebCore.gypi:
901         * WebCore.vcproj/WebCore.vcproj:
902         * WebCore.xcodeproj/project.pbxproj:
903         * css/CSSImageGeneratorValue.cpp:
904         (WebCore::CSSImageGeneratorValue::addClient):
905         (WebCore::CSSImageGeneratorValue::removeClient):
906         (WebCore::CSSImageGeneratorValue::getImage):
907         (WebCore::CSSImageGeneratorValue::putImage):
908         * css/CSSImageGeneratorValue.h:
909         (WebCore::SizeAndCount::SizeAndCount):
910         (WebCore::CSSImageGeneratorValue::clients):
911         * rendering/ImageBySizeCache.cpp: Removed.
912         * rendering/ImageBySizeCache.h: Removed.
913
914 2011-11-08  Alexander Pavlov  <apavlov@chromium.org>
915
916         Web Inspector: Avoid automatic Console suggestions with empty expression
917         https://bugs.webkit.org/show_bug.cgi?id=71783
918
919         Reviewed by Yury Semikhatsky.
920
921         * inspector/front-end/ConsoleView.js:
922
923 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
924
925         Not reviewed. Fix build, by removing an unused variable.
926
927         * html/canvas/CanvasRenderingContext2D.cpp:
928         (WebCore::isOriginClean):
929         (WebCore::CanvasRenderingContext2D::createPattern):
930
931 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
932
933         Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
934         https://bugs.webkit.org/show_bug.cgi?id=71368
935
936         Reviewed by Zoltan Herczeg.
937
938         When determining whether the canvas would be tainted, we need access to the SVGImage, not its cached BitmapImage.
939         Otherwhise wrong assumptions are mode, leading to regressions.
940
941         Fixes http/tests/security/canvas-remote-read-svg-image.html and related tests on the bots.
942
943         * html/canvas/CanvasRenderingContext.cpp:
944         (WebCore::CanvasRenderingContext::wouldTaintOrigin): Forgot to switch them back to use cachedImage->image().
945         * html/canvas/CanvasRenderingContext2D.cpp:
946         (WebCore::isOriginClean): Ditto.
947
948 2011-11-08  Vsevolod Vlasov  <vsevik@chromium.org>
949
950         Web Inspector: Console should be scrolled to bottom when shown for the first time.
951         https://bugs.webkit.org/show_bug.cgi?id=71781
952
953         Reviewed by Pavel Feldman.
954
955         * inspector/front-end/ConsoleView.js:
956
957 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
958
959         Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
960         https://bugs.webkit.org/show_bug.cgi?id=71368
961
962         Reviewed by Antti Koivisto.
963
964         Fix regressions/races introduced by r98852. SVGImage repainting didn't work under certain circumstances.
965         The problem was hard to reproduce on Mac ports, but easily visible on Chromium, when opening two files
966         that shared the same animated SVG image. The problem of sharing a single ImageObserver across multiple
967         instances of the same SVGImage, leads to nasty problems, that are timing dependant. changedInRect() calls
968         that should only by received in one document, are received in the other as well, due the shared nature
969         of CachedImage. To avoid these problems alltogether, a new approach is needed, that was initially suggested
970         by Antti.
971
972         Avoid creating multiple SVGImages and caching them for different sizes/zoom levels. Introduce SVGImageCache
973         which holds rendered versions of the SVGImage at certain sizes/zoom levels. It holds (ImageBuffer, Image) pairs
974         for each renderer, associated with a size and zoom level.
975
976         This is a major change to the cache as introduced some weeks ago. Instead of holding multiple SVGImages, each containing
977         a whole DOM/render tree, we now create bitmap images rendered at the requested sizes/zoom levels and cache them.
978
979         Revert ImageBySizeCache changes that were needed to make it usable wih SVGImage. Its now used only in CSSImageGeneratorValue and
980         thus the extra information that CSSImageGeneratorValue doesn't need can be removed again (desired/actual size differentations, and the zoom level).
981
982         Tests: svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size.html
983                svg/as-image/animated-svg-as-image-same-image.html
984
985         * CMakeLists.txt: Add svg/graphics/SVGImageCache.* to build.
986         * GNUmakefile.list.am: Ditto.
987         * Target.pri: Ditto.
988         * WebCore.gypi: Ditto.
989         * WebCore.vcproj/WebCore.vcproj: Ditto.
990         * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from svg/graphics, as SVGImageCache is needed by CachedImage in SVG enabled builds.
991         * WebCore.xcodeproj/project.pbxproj: Add svg/graphics/SVGImageCache.* to build.
992         * css/CSSImageGeneratorValue.cpp: Remove zoom parameter from addClient/getImage, no need to pass 1 default values anymore.
993         (WebCore::CSSImageGeneratorValue::addClient):
994         (WebCore::CSSImageGeneratorValue::getImage):
995         * loader/cache/CachedImage.cpp: Stop using ImageBySizeCache, and switch to the new SVGImageCache.
996         (WebCore::CachedImage::removeClientForRenderer):
997         (WebCore::CachedImage::lookupOrCreateImageForRenderer):
998         (WebCore::CachedImage::setContainerSizeForRenderer):
999         (WebCore::CachedImage::imageSizeForRenderer):
1000         (WebCore::CachedImage::clear):
1001         (WebCore::CachedImage::createImage):
1002         (WebCore::CachedImage::destroyDecodedData):
1003         (WebCore::CachedImage::decodedSizeChanged):
1004         (WebCore::CachedImage::didDraw):
1005         (WebCore::CachedImage::shouldPauseAnimation):
1006         (WebCore::CachedImage::animationAdvanced):
1007         (WebCore::CachedImage::changedInRect):
1008         * loader/cache/CachedImage.h:
1009         * page/DragController.cpp: Stop using imageForRenderer(), as it may return cached BitmapImages, that don't carry a filename extension anymore, which is required here.
1010         (WebCore::getImage):
1011         * rendering/ImageBySizeCache.cpp: Revert changes to ImageBySizeCache, which were needed to make it usable for SVGImages. CSSImageGenerator doesn't need it.
1012         (WebCore::ImageBySizeCache::addClient):
1013         (WebCore::ImageBySizeCache::removeClient):
1014         (WebCore::ImageBySizeCache::getImage):
1015         * rendering/ImageBySizeCache.h: Ditto.
1016         (WebCore::SizeAndCount::SizeAndCount):
1017         * rendering/RenderImage.cpp: Stop using imageForRenderer(), use cachedImage()->image(), which is guaranteed to be a SVGImage for svg images, and not a cached bitmap copy.
1018         (WebCore::RenderImage::embeddedContentBox):
1019         * rendering/RenderReplaced.cpp: Simplify logic to figure out the intrinsic size - the special logic for the old SVGImage cache can go away now.
1020         (WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
1021         (WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
1022         * rendering/style/StyleCachedImage.cpp: Call removeClientForRenderer(), which takes care of clearing SVGImageCache entries as well.
1023         (WebCore::StyleCachedImage::removeClient): This change is needed, as we don't want to make removeClient() virtual in CachedResource.
1024         * rendering/svg/RenderSVGRoot.cpp: Rename isEmbeddedThroughImageElement to isEmbeddedThroughSVGImage, as this is what it actually checks.
1025         (WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage):
1026         * rendering/svg/RenderSVGRoot.h:
1027         * svg/SVGSVGElement.cpp: Fix bug that's visible now with the SVGImageCache, which was already there before, but hard to trigger.
1028         (WebCore::SVGSVGElement::currentViewBoxRect): The viewBox depends on who's asking for it: the host document or the embedded document? Take that into account.
1029         * svg/SVGSVGElement.h:
1030         * svg/graphics/SVGImage.cpp: Cleanup some code. Add new logic that draws a SVGImage into an ImageBuffer at a desired size & zoom.
1031         (WebCore::SVGImage::setContainerSize):
1032         (WebCore::SVGImage::size):
1033         (WebCore::SVGImage::drawSVGToImageBuffer):
1034         * svg/graphics/SVGImage.h:
1035         * svg/graphics/SVGImageCache.cpp: Added. SVGImageCache caches Image/ImageBuffer pairs for each _renderer_ and size/zoom level. The ImageBySizeCache only cared about size.
1036         (WebCore::SVGImageCache::SVGImageCache):
1037         (WebCore::SVGImageCache::~SVGImageCache):
1038         (WebCore::SVGImageCache::removeRendererFromCache):
1039         (WebCore::SVGImageCache::setRequestedSizeAndZoom):
1040         (WebCore::SVGImageCache::getRequestedSizeAndZoom):
1041         (WebCore::SVGImageCache::imageContentChanged):
1042         (WebCore::SVGImageCache::redrawTimerFired):
1043         (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
1044         * svg/graphics/SVGImageCache.h: Added.
1045         (WebCore::SVGImageCache::create):
1046         (WebCore::SVGImageCache::CachedSizeAndZoom::CachedSizeAndZoom):
1047         (WebCore::SVGImageCache::CachedImageData::CachedImageData):
1048
1049 2011-11-07  Yury Semikhatsky  <yurys@chromium.org>
1050
1051         Web Inspector: refactor shortcuts and settings screens
1052         https://bugs.webkit.org/show_bug.cgi?id=71773
1053
1054         Keep pointer to the visible screen and hide it automatically when new one is going
1055         to be displayed.
1056
1057         Reviewed by Pavel Feldman.
1058
1059         * inspector/front-end/HelpScreen.js:
1060         (WebInspector.HelpScreen.prototype.show):
1061         (WebInspector.HelpScreen.prototype.hide):
1062         * inspector/front-end/ShortcutsScreen.js:
1063         (WebInspector.ShortcutsScreen): ShortcutsScreen is now a descendant of HelpScreen.
1064         (WebInspector.ShortcutsScreen.prototype.show):
1065         * inspector/front-end/inspector.js:
1066         (WebInspector._hideSettingsScreen):
1067         (WebInspector.documentKeyDown):
1068
1069 2011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
1070
1071         Not reviewed. Fix Snow Leopard 32bit builds.
1072
1073         * css/CSSParser.cpp:
1074         (WebCore::CSSParser::parseAspectRatio): CSSParserValue::fValue is a double, use narrowPrecisionToFloat() to convert double->float.
1075         * platform/ClockGeneric.cpp: Remove unneeded variable out of 32bit integer value range.
1076         * webaudio/BiquadDSPKernel.cpp:
1077         (WebCore::BiquadDSPKernel::getFrequencyResponse): Use narrowPrecisionTofloat() to convert double->float.
1078
1079 2011-11-07  Daniel Bates  <dbates@rim.com>
1080
1081         Add CredentialStorage.cpp to WebCore/CMakeLists.txt
1082         https://bugs.webkit.org/show_bug.cgi?id=71748
1083
1084         Reviewed by Martin Robinson.
1085
1086         Adds CredentialStorage.cpp to WebCore/CMakeLists.txt since its provides a
1087         base implementation of this feature.
1088
1089         Also adds a stub implementation of CredentialStorage to the WinCE port.
1090
1091         * CMakeLists.txt: Added source file CredentialStorage.cpp.
1092         * CMakeListsEfl.txt: Added source file CredentialStorageCurl.cpp when building
1093           with the Curl networking backend.
1094         * CMakeListsWinCE.txt: Added source file CredentialStorageWin.cpp.
1095         * platform/network/win/CredentialStorageWin.cpp: Added.
1096         (WebCore::Credential::getFromPersistentStorage): Stub implementation.
1097
1098 2011-11-07  Kentaro Hara  <haraken@chromium.org>
1099
1100         Remove [CustomGetter] IDL for window.Image of V8
1101         https://bugs.webkit.org/show_bug.cgi?id=71739
1102
1103         Reviewed by Adam Barth.
1104
1105         Currently, window.Image uses a custom getter to get the template
1106         of 'HTMLImageElementConstructor'. However, this getter does not need to
1107         be custom and can use a default getter
1108         'DOMWindowInternal::DOMWindowConstructorGetter'.
1109
1110         Tests: fast/js/custom-constructors.html
1111                fast/dom/image-object.html
1112                fast/dom/gc-image-element.html
1113                fast/dom/Window/custom-constructors.html
1114
1115         * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
1116         * page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Image of V8. Renamed 'HTMLImageElementConstructor' to 'HTMLImageElementConstructorConstructor' in order to make window.Image use the template of (not 'HTMLImageElement' but) 'HTMLImageElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
1117
1118 2011-11-07  Chris Fleizach  <cfleizach@apple.com>
1119
1120         REGRESSION(r99025-r99037): platform/mac/accessibility/select-element-selection-with-optgroups.html is asserting
1121         https://bugs.webkit.org/show_bug.cgi?id=71421
1122
1123         Reviewed by Ryosuke Niwa.
1124
1125         Remove an assert that was added by r99035. It was added based on a comment in the code, but not tested.
1126
1127         * html/HTMLSelectElement.cpp:
1128         (WebCore::HTMLSelectElement::selectOption):
1129
1130 2011-11-07  Emil A Eklund  <eae@chromium.org>
1131
1132         Revert platform and scrolling to ints
1133         https://bugs.webkit.org/show_bug.cgi?id=71585
1134
1135         Reviewed by Eric Seidel.
1136
1137         Replace all uses of LayoutUnit and related types with ints in platform
1138         and scrolling code.
1139
1140         No new tests.
1141
1142         * page/FrameView.cpp:
1143         * page/FrameView.h:
1144         * platform/PopupMenuClient.h:
1145         * platform/ScrollAnimatorNone.cpp:
1146         * platform/ScrollAnimatorNone.h:
1147         * platform/ScrollView.cpp:
1148         * platform/ScrollView.h:
1149         * platform/ScrollableArea.h:
1150         * rendering/RenderLayer.cpp:
1151         * rendering/RenderLayer.h:
1152         * rendering/RenderListBox.cpp:
1153         * rendering/RenderListBox.h:
1154         * rendering/RenderMenuList.cpp:
1155         * rendering/RenderMenuList.h:
1156         * rendering/RenderTextControlSingleLine.cpp:
1157         * rendering/RenderTextControlSingleLine.h:
1158
1159 2011-11-07  Kentaro Hara  <haraken@chromium.org>
1160
1161         Fixed wrong test results of fast/js/custom-constructors.html
1162         https://bugs.webkit.org/show_bug.cgi?id=71669
1163
1164         Reviewed by Darin Adler.
1165
1166         According to the HTMLOptionElement spec
1167         (http://dev.w3.org/html5/spec/the-button-element.html#the-option-element),
1168         'text', 'label' and 'value' have neither [TreatUndefinedAs=EmptyString]
1169         nor [TreatNullAs=EmptyString]. Thus, an undefined value should be
1170         converted to a string "undefined" and a null value should be
1171         converted to a string "null", following the step 3 of the IDL
1172         conversion spec (http://dev.w3.org/2006/webapi/WebIDL/#es-DOMString).
1173
1174         * bindings/js/JSOptionConstructor.cpp:
1175         (WebCore::constructHTMLOptionElement): Removed isUndefined() check from 'text' and 'value' since the spec does not have [TreatUndefinedAs=EmptyString].
1176         * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
1177         (WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
1178         * html/HTMLOptionElement.idl: Removed [ConvertNullToNullString] from 'text', 'label' and 'value' since the spec does not have [TreatNullAs=EmptyString].
1179
1180 2011-11-07  Adam Barth  <abarth@webkit.org>
1181
1182         Move DomainRelaxationForbidden scheme registry to SchemeRegistry
1183         https://bugs.webkit.org/show_bug.cgi?id=71750
1184
1185         Reviewed by Eric Seidel.
1186
1187         As stated in the FIXME, scheme registries belong in SchemeRegistry, not
1188         in SecurityOrigin.
1189
1190         * WebCore.exp.in:
1191         * dom/Document.cpp:
1192         (WebCore::Document::setDomain):
1193         * page/SecurityOrigin.cpp:
1194         * page/SecurityOrigin.h:
1195         * platform/SchemeRegistry.cpp:
1196         (WebCore::schemesForbiddenFromDomainRelaxation):
1197         (WebCore::SchemeRegistry::setDomainRelaxationForbiddenForURLScheme):
1198         (WebCore::SchemeRegistry::isDomainRelaxationForbiddenForURLScheme):
1199         * platform/SchemeRegistry.h:
1200
1201 2011-11-07  Dan Bernstein  <mitz@apple.com>
1202
1203         <rdar://problem/10405215> REGRESSION (r98178): World of Warcraft Launcher crashes in FrameView::isOnActivePage()
1204         https://bugs.webkit.org/show_bug.cgi?id=71743
1205
1206         Reviewed by Beth Dakin.
1207
1208         * page/FrameView.cpp:
1209         (WebCore::FrameView::isOnActivePage): Added a check for a null m_frame.
1210
1211 2011-11-07  Dmitry Lomov  <dslomov@google.com>
1212
1213         https://bugs.webkit.org/show_bug.cgi?id=71534
1214         [V8] On neutering TypedArrayViews, V8 should be notified to drain code generation cache.
1215
1216         Reviewed by David Levin.
1217
1218         * bindings/scripts/CodeGeneratorJS.pm:
1219         (GenerateImplementation):
1220         * bindings/scripts/CodeGeneratorV8.pm:
1221         * html/canvas/DataView.cpp:
1222         * html/canvas/DataView.h:
1223         * html/canvas/Float32Array.h:
1224         * html/canvas/Float64Array.h:
1225         * html/canvas/Int16Array.h:
1226         * html/canvas/Int32Array.h:
1227         * html/canvas/Int8Array.h:
1228         * html/canvas/TypedArrayBase.h:
1229         * html/canvas/Uint16Array.h:
1230         * html/canvas/Uint32Array.h:
1231         * html/canvas/Uint8Array.h:
1232
1233 2011-11-07  Adam Barth  <abarth@webkit.org>
1234
1235         addMessage's last few arguments should be optional
1236         https://bugs.webkit.org/show_bug.cgi?id=70946
1237
1238         Reviewed by Darin Adler.
1239
1240         As requested by Darin Adler.  I wanted to call this method addMessage,
1241         but the compiler was unhappy locating the overload on
1242         ScriptExecutionContext when Document had an override too.  Changing the
1243         name to addConsoleMessage made all the code happier.
1244
1245         * dom/Document.cpp:
1246         (WebCore::Document::processHttpEquiv):
1247         * dom/ScriptExecutionContext.cpp:
1248         (WebCore::ScriptExecutionContext::addMessage):
1249         * dom/ScriptExecutionContext.h:
1250         * html/canvas/CanvasRenderingContext2D.cpp:
1251         (WebCore::CanvasRenderingContext2D::getImageData):
1252         * html/parser/XSSAuditor.cpp:
1253         (WebCore::XSSAuditor::filterToken):
1254         * loader/ImageLoader.cpp:
1255         (WebCore::ImageLoader::notifyFinished):
1256         * page/ContentSecurityPolicy.cpp:
1257         (WebCore::ContentSecurityPolicy::reportViolation):
1258         (WebCore::ContentSecurityPolicy::logUnrecognizedDirective):
1259         * page/EventSource.cpp:
1260         (WebCore::EventSource::didReceiveResponse):
1261         * webaudio/AudioBufferSourceNode.cpp:
1262         (WebCore::AudioBufferSourceNode::looping):
1263         (WebCore::AudioBufferSourceNode::setLooping):
1264         * webaudio/AudioContext.cpp:
1265         (WebCore::AudioContext::createLowPass2Filter):
1266         (WebCore::AudioContext::createHighPass2Filter):
1267         * xml/XMLHttpRequest.cpp:
1268         (WebCore::reportUnsafeUsage):
1269
1270 2011-11-07  Adam Barth  <abarth@webkit.org>
1271
1272         WebWorkers fail with document.domain set when accessing from subdomain
1273         https://bugs.webkit.org/show_bug.cgi?id=67978
1274
1275         Reviewed by Sam Weinig.
1276
1277         Workers should ignore document.domain when deciding which URLs a
1278         document can request, just like XMLHttpRequest and every other API.
1279
1280         Test: http/tests/workers/worker-document-domain-security.html
1281
1282         * workers/AbstractWorker.cpp:
1283         (WebCore::AbstractWorker::resolveURL):
1284
1285 2011-11-07  Scott Graham  <scottmg@chromium.org>
1286
1287         Allow gamepad API to be enabled at runtime
1288         https://bugs.webkit.org/show_bug.cgi?id=71736
1289
1290         Part of full patch, found at
1291         https://bugs.webkit.org/show_bug.cgi?id=69451
1292
1293         Reviewed by Adam Barth.
1294
1295         No new tests. No new functionality.
1296
1297         * bindings/generic/RuntimeEnabledFeatures.cpp:
1298         * bindings/generic/RuntimeEnabledFeatures.h:
1299         (WebCore::RuntimeEnabledFeatures::setGamepadsEnabled):
1300         (WebCore::RuntimeEnabledFeatures::gamepadsEnabled):
1301
1302 2011-11-07  Kentaro Hara  <haraken@chromium.org>
1303
1304         Remove [CustomGetter] IDL for window.Option of V8
1305         https://bugs.webkit.org/show_bug.cgi?id=71735
1306
1307         Reviewed by Nate Chapin.
1308
1309         Currently, window.Option uses a custom getter to get the template
1310         of 'HTMLOptionElementConstructor'. However, this getter does not need to
1311         be custom and can use a default getter
1312         'DOMWindowInternal::DOMWindowConstructorGetter'.
1313
1314         Tests: fast/js/custom-constructors.html
1315                fast/forms/option-index.html
1316                fast/forms/add-and-remove-option.html
1317                fast/dom/dom-add-optionelement.html
1318
1319         * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
1320         * page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Option of V8. Renamed 'HTMLOptionElementConstructor' to 'HTMLOptionElementConstructorConstructor' in order to make window.Option use the template of (not 'HTMLOptionElement' but) 'HTMLOptionElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
1321
1322 2011-11-07  Mark Hahnenberg  <mhahnenberg@apple.com>
1323
1324         De-virtualize JSObject::putWithAttributes
1325         https://bugs.webkit.org/show_bug.cgi?id=71716
1326
1327         Reviewed by Darin Adler.
1328
1329         No new tests.
1330
1331         Added putWithAttributes to the MethodTable, changed all the virtual 
1332         implementations of putWithAttributes to static ones, and replaced 
1333         all call sites with corresponding lookups in the MethodTable.
1334
1335         * bindings/js/JSDOMWindowShell.cpp:
1336         (WebCore::JSDOMWindowShell::putWithAttributes):
1337         * bindings/js/JSDOMWindowShell.h:
1338
1339 2011-11-07  Beth Dakin  <bdakin@apple.com>
1340
1341         https://bugs.webkit.org/show_bug.cgi?id=71490
1342         Support uiStateTransitionProgress for scrollbars
1343         -and corresponding-
1344         <rdar://problem/9849612>
1345
1346         Reviewed by Sam Weinig.
1347
1348         Step 1 of supporting uiStateTransitionProgress is knowing when the mouse has 
1349         entered or exited a scrollbar. These changes to Scrollbar pass that information 
1350         on to the ScrollAnimator. Also, Scrollbar::mouseUp() now takes a 
1351         PlatformMouseEvent as a parameter. This is necessary because m_hoveredNode is not 
1352         always up to date on a mouseUp, so mouseUp must hitTest the scrollbar to see if 
1353         the mouse has exited the scrollbar.
1354         * platform/Scrollbar.cpp:
1355         (WebCore::Scrollbar::mouseMoved):
1356         (WebCore::Scrollbar::mouseExited):
1357         (WebCore::Scrollbar::mouseUp):
1358         * platform/Scrollbar.h:
1359
1360         These changes are required now that Scrollbar::mouseUp() takes a parameter.
1361         * WebCore.exp.in:
1362         * page/EventHandler.cpp:
1363         (WebCore::EventHandler::handleMouseDoubleClickEvent):
1364         (WebCore::EventHandler::handleMouseReleaseEvent):
1365         * platform/chromium/PopupListBox.cpp:
1366         (WebCore::PopupListBox::handleMouseReleaseEvent):
1367         * platform/win/PopupMenuWin.cpp:
1368         (WebCore::PopupMenuWin::wndProc):
1369         
1370         ScrollAnimator passes the information on to AppKit.
1371         * platform/ScrollAnimator.h:
1372         (WebCore::ScrollAnimator::mouseEnteredScrollbar):
1373         (WebCore::ScrollAnimator::mouseExitedScrollbar):
1374         * platform/mac/ScrollAnimatorMac.h:
1375         (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
1376         (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
1377
1378         There are several new pieces of AppKit api we must call into.
1379         * platform/mac/NSScrollerImpDetails.h:
1380
1381         This is a temporary function that is needed for the time being since there is new 
1382         AppKit api required for this to work.
1383         * platform/mac/ScrollAnimatorMac.mm:
1384         (supportsUIStateTransitionProgress):
1385
1386         I refactored WebScrollbarPartAnimation so that it can handle the 
1387         uiStateTransitionProgress animation as well as the alpha animations it already 
1388         handled. This mostly involved re-naming things and making use of a new enum called 
1389         FeatureToAnimate which keeps track of what the instance of 
1390         WebScrollbarPartAnimation is animating.
1391         (-[WebScrollbarPartAnimation initWithScrollbarPainter:animate:scrollAnimator:animateFrom:animateTo:duration:]):
1392         (-[WebScrollbarPartAnimation setScrollbarPainter:]):
1393         (-[WebScrollbarPartAnimation setStartValue:]):
1394         (-[WebScrollbarPartAnimation setEndValue:]):
1395         (-[WebScrollbarPartAnimation setCurrentProgress:]):
1396
1397         WebScrollbarPainterDelegate has two new animations, 
1398         _verticalUIStateTransitionAnimation, and _horizontalUIStateTransitionAnimation. It 
1399         also responds to a few new delegate calls.
1400         (-[WebScrollbarPainterDelegate cancelAnimations]):
1401
1402         This is a new delegate call needed for uiStateTransitionProgress.
1403         (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
1404
1405         I re-named setUpAnimation to setUpAlphaAnimation since it does a lot of things 
1406         that are specific to the alpha animation and I chose not to re-use it for 
1407         uiStateTransition.
1408         (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
1409         (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
1410         (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
1411
1412         New delegate call for the uiStateTransition animation that sets up that animation 
1413         and kicks it off.
1414         (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
1415         (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
1416
1417 2011-11-07  Alice Boxhall  <aboxhall@chromium.org>
1418
1419         Remove unnecessary use of function pointer in FrameSelection::modify()
1420         https://bugs.webkit.org/show_bug.cgi?id=71646
1421
1422         Reviewed by Ryosuke Niwa.
1423
1424         * editing/FrameSelection.cpp:
1425         (WebCore::FrameSelection::modify):
1426
1427 2011-11-07  Andreas Kling  <kling@webkit.org>
1428
1429         Unreviewed Windows build fix after r99468.
1430
1431         * css/CSSPrimitiveValue.h: Unmark single-argument constructors
1432         as explicit, since this conflicts with the template constructors
1433         in CSSPrimitiveValueMappings.h.
1434
1435 2011-11-07  Jer Noble  <jer.noble@apple.com>
1436
1437         Build fix due to a erroneous search-and-replace.
1438
1439         Unreviewed build fix.
1440
1441         Replace all instances of GenericClock with ClockGeneric.
1442
1443         * WebCore.xcodeproj/project.pbxproj:
1444         * platform/ClockGeneric.cpp:
1445         (ClockGeneric::ClockGeneric):
1446
1447 2011-11-07  Adam Barth  <abarth@webkit.org>
1448
1449         Move parseSandboxPolicy to SecurityContext
1450         https://bugs.webkit.org/show_bug.cgi?id=71732
1451
1452         Reviewed by Eric Seidel.
1453
1454         As requested by Eric, this patch resolves a layering inversion.  Now
1455         that we have SecurityContext to hold the sandbox bits and the origin,
1456         it's a logical place to put the parser for sandbox policies.
1457
1458         * dom/SecurityContext.cpp:
1459         (WebCore::SecurityContext::parseSandboxPolicy):
1460         * dom/SecurityContext.h:
1461         * html/HTMLIFrameElement.cpp:
1462         (WebCore::HTMLIFrameElement::parseMappedAttribute):
1463         * page/ContentSecurityPolicy.cpp:
1464         (WebCore::ContentSecurityPolicy::applySandboxPolicy):
1465         * page/SecurityOrigin.cpp:
1466         * page/SecurityOrigin.h:
1467
1468 2011-11-07  Jer Noble  <jer.noble@apple.com>
1469
1470         Rename PlatformClockPOSIX -> ClockGeneric, and use WTF::currentTime() for its timing source.
1471         https://bugs.webkit.org/show_bug.cgi?id=71702
1472
1473         Reviewed by Sam Weinig.
1474
1475         No new tests; covered by existing tests.
1476
1477         * platform/Clock.cpp:
1478         (Clock::create):
1479         * platform/ClockGeneric.cpp: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.cpp.
1480         (ClockGeneric::ClockGeneric):
1481         (ClockGeneric::setCurrentTime):
1482         (ClockGeneric::currentTime):
1483         (ClockGeneric::setPlayRate):
1484         (ClockGeneric::start):
1485         (ClockGeneric::stop):
1486         * platform/ClockGeneric.h: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.h.
1487         (WebCore::ClockGeneric::playRate):
1488         (WebCore::ClockGeneric::isRunning):
1489
1490         Boilerplate project file changes:
1491         * CMakeLists.txt:
1492         * Target.pri:
1493         * WebCore.gypi:
1494         * WebCore.xcodeproj/project.pbxproj:
1495
1496 2011-11-07  Vangelis Kokkevis  <vangelis@chromium.org>
1497
1498         Create a separate setting for compositing of for scrollable [i]frames
1499         that forceCompositingMode can be used without turning frames into composited layers.
1500         https://bugs.webkit.org/show_bug.cgi?id=71714
1501
1502         Reviewed by James Robinson.
1503
1504         * page/Settings.cpp:
1505         (WebCore::Settings::Settings):
1506         * page/Settings.h:
1507         (WebCore::Settings::setAcceleratedCompositingForScrollableFramesEnabled):
1508         (WebCore::Settings::acceleratedCompositingForScrollableFramesEnabled):
1509         * rendering/RenderLayerCompositor.cpp:
1510         (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
1511         * testing/Internals.cpp:
1512         (WebCore::Internals::setEnableCompositingForScrollableFrames):
1513         * testing/Internals.h:
1514         * testing/Internals.idl:
1515
1516 2011-11-07  Rafael Weinstein  <rafaelw@chromium.org>
1517
1518         [MutationObservers] Fix mac build (with mutation_observers enabled)
1519         https://bugs.webkit.org/show_bug.cgi?id=71728
1520
1521         Reviewed by Tony Chang.
1522
1523         Errant forward declaration of MutationObserverRegistration removed from
1524         Node.h this would have broken a port that tried to build with mutation_observers=1.
1525
1526         * dom/Node.h:
1527
1528 2011-11-07  Kentaro Hara  <haraken@chromium.org>
1529
1530         Remove [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8
1531         https://bugs.webkit.org/show_bug.cgi?id=71660
1532
1533         Reviewed by Adam Barth.
1534
1535         Currently, "new Audio()" uses a custom getter to get the template
1536         of 'HTMLAudioElementConstructor'. However, this getter does not need to
1537         be custom and can use a default getter 'DOMWindowInternal::DOMWindowConstructorGetter'.
1538
1539         Tests: fast/js/custom-constructors.html
1540                media/audio-constructor.html
1541                media/audio-constructor-src.html
1542                media/audio-constructor-preload.html
1543                media/audio-controls-do-not-fade-out.html
1544                media/audio-controls-rendering.html
1545
1546         * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
1547         * page/DOMWindow.idl: Removed [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8. Renamed 'HTMLAudioElementConstructor' to 'HTMLAudioElementConstructorConstructor' in order to make 'new Audio()' use the template of (not 'HTMLAudioElement' but) 'HTMLAudioElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from an IDL type.
1548         * bindings/scripts/CodeGeneratorJS.pm:
1549         (GenerateImplementation): If an IDL type is 'XXXXConstructorConstructor', then we do not add a header file 'XXXXConstructor.h' to JSDOMWindow.cpp, because the NamedConstructor declaration is written in the header file of class XXXX 'XXXX.h'. Incidentally, the reason why CodeGeneratorV8.pm does not need a corresponding change is that V8 is still generating the NamedConstructor declaration in its dedicated header file 'XXXXConstructor.h'. This V8 issue will be fixed in the upcoming patch that implements [NamedConstructor] IDL in V8.
1550
1551 2011-11-07  Robert Sesek  <rsesek@chromium.org>
1552
1553         [chromium] Update WebCore.gyp to not use WebKitLibraries in include_dirs
1554         https://bugs.webkit.org/show_bug.cgi?id=71694
1555
1556         Reviewed by Adam Barth.
1557
1558         * WebCore.gyp/WebCore.gyp:
1559
1560 2011-11-07  Dominic Cooney  <dominicc@chromium.org>
1561
1562         Remove initPopStateEvent method
1563         https://bugs.webkit.org/show_bug.cgi?id=71691
1564
1565         Reviewed by Ojan Vafai.
1566
1567         * dom/PopStateEvent.cpp:
1568         * dom/PopStateEvent.h:
1569         * dom/PopStateEvent.idl:
1570
1571 2011-11-07  Andreas Kling  <kling@webkit.org>
1572
1573         CSSValue: Devirtualize isFooType().
1574         <http://webkit.org/b/71668>
1575
1576         Reviewed by Darin Adler.
1577
1578         Add a member to CSSValue to determine which subclass a given
1579         value object is, along with 5 bits to tell us whether the
1580         value is primitive/mutable/initial/inherited/a list.
1581
1582         All non-private subclass constructors now take CSSValue::ClassType
1583         as their first argument. A few constructors were duplicated as
1584         private members to allow calling them from ::create() methods
1585         without passing an explicit ClassType.
1586
1587         Furthermore, since CSSValue::cssValueType() can be inferred from
1588         the subclass type, we compute it instead of storing it in a member.
1589
1590         * CMakeLists.txt:
1591         * GNUmakefile.list.am:
1592         * Target.pri:
1593         * WebCore.gypi:
1594         * WebCore.vcproj/WebCore.vcproj:
1595         * WebCore.xcodeproj/project.pbxproj:
1596
1597             Adding CSSValue.cpp.
1598
1599         * css/CSSValue.cpp: Added.
1600         (WebCore::CSSValue::cssValueType):
1601
1602             Out-of-line implementation of this method. Only used by CSSOM.
1603
1604         * css/CSSValue.h:
1605         (WebCore::CSSValue::isMutableValue):
1606         (WebCore::CSSValue::isPrimitiveValue):
1607         (WebCore::CSSValue::isValueList):
1608         (WebCore::CSSValue::isInitialValue):
1609         (WebCore::CSSValue::isInheritedValue):
1610         (WebCore::CSSValue::isBorderImageValue):
1611         (WebCore::CSSValue::isBorderImageSliceValue):
1612         (WebCore::CSSValue::isCursorImageValue):
1613         (WebCore::CSSValue::isFontFamilyValue):
1614         (WebCore::CSSValue::isFontFeatureValue):
1615         (WebCore::CSSValue::isFontValue):
1616         (WebCore::CSSValue::isImageGeneratorValue):
1617         (WebCore::CSSValue::isImageValue):
1618         (WebCore::CSSValue::isImplicitInitialValue):
1619         (WebCore::CSSValue::isReflectValue):
1620         (WebCore::CSSValue::isShadowValue):
1621         (WebCore::CSSValue::isTimingFunctionValue):
1622         (WebCore::CSSValue::isWebKitCSSTransformValue):
1623         (WebCore::CSSValue::isCSSLineBoxContainValue):
1624         (WebCore::CSSValue::isFlexValue):
1625         (WebCore::CSSValue::isWebKitCSSFilterValue):
1626         (WebCore::CSSValue::isSVGColor):
1627         (WebCore::CSSValue::isSVGPaint):
1628         (WebCore::CSSValue::classType):
1629         (WebCore::CSSValue::CSSValue):
1630         (WebCore::CSSValue::isPrimitiveType):
1631         (WebCore::CSSValue::isListType):
1632         (WebCore::CSSValue::isMutableType):
1633         (WebCore::CSSValue::isInheritedType):
1634         (WebCore::CSSValue::isInitialType):
1635
1636             Store subclass type information into a member variable and
1637             made all the isFooValue() functions non-virtual and inline.
1638             Some subclass type lookups (primitive values, notably) are
1639             cached in a bool member on construction.
1640
1641         * css/CSSAspectRatioValue.h:
1642         (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
1643         * css/CSSBorderImageSliceValue.cpp:
1644         (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
1645         * css/CSSBorderImageSliceValue.h:
1646         * css/CSSBorderImageValue.cpp:
1647         (WebCore::CSSBorderImageValue::CSSBorderImageValue):
1648         * css/CSSBorderImageValue.h:
1649         * css/CSSCanvasValue.h:
1650         (WebCore::CSSCanvasValue::CSSCanvasValue):
1651         * css/CSSCrossfadeValue.h:
1652         (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
1653         * css/CSSCursorImageValue.cpp:
1654         (WebCore::CSSCursorImageValue::CSSCursorImageValue):
1655         * css/CSSCursorImageValue.h:
1656         * css/CSSFlexValue.h:
1657         (WebCore::CSSFlexValue::CSSFlexValue):
1658         * css/CSSFontFaceSrcValue.h:
1659         (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
1660         * css/CSSFunctionValue.cpp:
1661         (WebCore::CSSFunctionValue::CSSFunctionValue):
1662         * css/CSSGradientValue.h:
1663         (WebCore::CSSGradientValue::isLinearGradient):
1664         (WebCore::CSSGradientValue::isRadialGradient):
1665         (WebCore::CSSGradientValue::CSSGradientValue):
1666         (WebCore::CSSLinearGradientValue::CSSLinearGradientValue):
1667         (WebCore::CSSRadialGradientValue::CSSRadialGradientValue):
1668         * css/CSSImageGeneratorValue.cpp:
1669         (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
1670         * css/CSSImageGeneratorValue.h:
1671         * css/CSSImageValue.cpp:
1672         (WebCore::CSSImageValue::CSSImageValue):
1673         * css/CSSImageValue.h:
1674         * css/CSSInheritedValue.h:
1675         (WebCore::CSSInheritedValue::CSSInheritedValue):
1676         * css/CSSInitialValue.h:
1677         (WebCore::CSSInitialValue::CSSInitialValue):
1678         (WebCore::CSSInitialValue::create):
1679         * css/CSSLineBoxContainValue.cpp:
1680         (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
1681         * css/CSSLineBoxContainValue.h:
1682         * css/CSSMutableValue.h:
1683         (WebCore::CSSMutableValue::CSSMutableValue):
1684         * css/CSSPrimitiveValue.cpp:
1685         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1686         * css/CSSPrimitiveValue.h:
1687         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1688         * css/CSSPrimitiveValueMappings.h:
1689         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1690         * css/CSSReflectValue.h:
1691         (WebCore::CSSReflectValue::CSSReflectValue):
1692         * css/CSSTimingFunctionValue.h:
1693         (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
1694         (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
1695         (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
1696         (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
1697         (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
1698         (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
1699         (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
1700         * css/CSSUnicodeRangeValue.h:
1701         (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
1702         * css/CSSValueList.cpp:
1703         (WebCore::CSSValueList::CSSValueList):
1704         * css/CSSValueList.h:
1705         * css/FontFamilyValue.cpp:
1706         (WebCore::FontFamilyValue::FontFamilyValue):
1707         * css/FontFamilyValue.h:
1708         * css/FontFeatureValue.cpp:
1709         (WebCore::FontFeatureValue::FontFeatureValue):
1710         * css/FontFeatureValue.h:
1711         * css/FontValue.h:
1712         (WebCore::FontValue::FontValue):
1713         * css/ShadowValue.cpp:
1714         (WebCore::ShadowValue::ShadowValue):
1715         * css/ShadowValue.h:
1716         * css/WebKitCSSFilterValue.cpp:
1717         (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
1718         * css/WebKitCSSFilterValue.h:
1719         * css/WebKitCSSTransformValue.cpp:
1720         (WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
1721         * css/WebKitCSSTransformValue.h:
1722         * svg/SVGColor.cpp:
1723         (WebCore::SVGColor::SVGColor):
1724         * svg/SVGColor.h:
1725         * svg/SVGPaint.cpp:
1726         (WebCore::SVGPaint::SVGPaint):
1727         * svg/SVGPaint.h:
1728
1729             Propagate subclass type information and kill isFooType() virtuals.
1730
1731 2011-11-07  Mihnea Ovidenie  <mihnea@adobe.com>
1732
1733         Leaks seen in RenderRegion::setRenderBoxRegionInfo on Leaks bot
1734         https://bugs.webkit.org/show_bug.cgi?id=71259
1735
1736         Reviewed by Darin Adler.
1737
1738         Leak fixes covered by existing tests.
1739
1740         * rendering/RenderFlowThread.cpp:
1741         (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
1742         The RenderBoxRegionInfo taken out of RenderRegion must be deleted on all code paths.
1743         * rendering/RenderRegion.cpp:
1744         (WebCore::RenderRegion::removeRenderBoxRegionInfo):
1745         The RenderBoxRegionInfo map owns the values, therefore, when values are removed from map
1746         they must also be deleted.
1747
1748 2011-11-07  Adam Barth  <abarth@webkit.org>
1749
1750         iframe sandbox treats vertical tab as a valid delimiter
1751         https://bugs.webkit.org/show_bug.cgi?id=71704
1752
1753         Reviewed by Eric Seidel.
1754
1755         This patch adjusts our parser slightly to match the HTML5 spec.  The
1756         only difference is in how we handle vertical tabs.  Previously, we
1757         treated them as a delimiter, but we're not supposed to do that.
1758
1759         Test: fast/frames/sandboxed-iframe-parsing-space-characters.html
1760
1761         * page/SecurityOrigin.cpp:
1762         (WebCore::SecurityOrigin::parseSandboxPolicy):
1763
1764 2011-11-07  Adam Barth  <abarth@webkit.org>
1765
1766         Factor SecurityContext out of ScriptExecutionContext
1767         https://bugs.webkit.org/show_bug.cgi?id=71721
1768
1769         Reviewed by Eric Seidel.
1770
1771         The new SecurityContext object lets us tightly scope control of
1772         the security-critical information in ScriptExecutionContext.
1773         Originally I had hoped to put all this state on SecurityOrigin, but
1774         SecurityOrigin gets shared between documents in some corner cases, so
1775         it's not a good fit for state like the sandbox flags and the CSP policy
1776         that really needs to be per-document.
1777
1778         * CMakeLists.txt:
1779         * GNUmakefile.list.am:
1780         * Target.pri:
1781         * WebCore.gypi:
1782         * WebCore.vcproj/WebCore.vcproj:
1783         * WebCore.xcodeproj/project.pbxproj:
1784         * dom/DOMAllInOne.cpp:
1785         * dom/ScriptExecutionContext.cpp:
1786         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
1787         * dom/ScriptExecutionContext.h:
1788         * loader/FrameLoader.h:
1789         * loader/FrameLoaderTypes.h:
1790         * page/SecurityOrigin.h:
1791
1792 2011-11-07  Kentaro Hara  <haraken@chromium.org>
1793
1794         Refactor CodeGeneratorV8.pm before making a core change for bug 71093.
1795         https://bugs.webkit.org/show_bug.cgi?id=71659
1796
1797         Reviewed by Adam Barth.
1798
1799         Just refactor CodeGeneratorV8.pm without any change in behavior,
1800         as the first step for fixing bug 71093.
1801
1802         Tests: WebCore/bindings/scripts/test/TestObj.idl
1803                WebCore/bindings/scripts/test/TestInterface.idl
1804
1805         * bindings/scripts/CodeGeneratorV8.pm:
1806         (GenerateHeader): Sort generated headers in alphabetical order. Removed unnecessary variable names from method signatures. These changes are for silencing style check errors when a new TestXXXX.idl is added.
1807         (GenerateConstructorCallback): Renamed variables to clarify their roles.
1808         (WriteData): Removed an unused array @implHeaderContent.
1809         * bindings/scripts/test/V8/V8TestInterface.h: Updated a run-binding-tests result.
1810         * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
1811         * bindings/scripts/test/V8/V8TestObj.h: Ditto.
1812         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
1813
1814 2011-11-07  Ken Buchanan <kenrb@chromium.org>
1815
1816         Crash due to mixed direction text runs
1817         https://bugs.webkit.org/show_bug.cgi?id=66015
1818
1819         Reviewed by David Hyatt.
1820
1821         Test for bug fix.
1822
1823         * fast/text/international/bidi-neutral-in-mixed-direction-run-crash.html: Added
1824         * fast/text/international/bidi-neutral-in-mixed-direction-run-cras-expected.txt: Added
1825
1826 2011-11-07  Tim Horton  <timothy_horton@apple.com>
1827
1828         getBBox() on a SVGPathElement with curves incorrectly includes control points
1829         https://bugs.webkit.org/show_bug.cgi?id=53512
1830         <rdar://problem/9861154>
1831
1832         Reviewed by Oliver Hunt.
1833
1834         Split Path::boundingRect() into two, adding Path::fastBoundingRect()
1835         for a rough estimate of the bounding rect (always equal to or larger
1836         than boundingRect()). fastBoundingRect() currently falls back to
1837         boundingRect() for all ports besides CG, though in most cases
1838         (on a port-by-port basis) the current implementation of boundingRect()
1839         will need to become fastBoundingRect(), and a new, more accurate method will
1840         be implemented for boundingRect().
1841
1842         All previous callers of boundingRect() are transitioned to using fastBoundingRect()
1843         except SVGPathElement::getBBox, which wants an accurate bounding box.
1844
1845         The CoreGraphics implementation of Path::boundingRect() called
1846         CGPathGetBoundingBox, which includes the path's control points in its
1847         calculations. Snow Leopard added CGPathGetPathBoundingBox, which
1848         finds the bounding box of only points within the path, and does not
1849         include control points. On Snow Leopard and above, we now use the latter.
1850
1851         Test: svg/custom/getBBox-path.svg
1852
1853         * html/HTMLAreaElement.cpp:
1854         * html/canvas/CanvasRenderingContext2D.cpp:
1855         * platform/graphics/Path.cpp:
1856         * platform/graphics/Path.h:
1857         * platform/graphics/cg/GraphicsContextCG.cpp:
1858         * platform/graphics/cg/PathCG.cpp:
1859         (WebCore::Path::boundingRect):
1860         * rendering/RenderObject.h:
1861         * rendering/svg/RenderSVGPath.cpp:
1862         * svg/SVGPathElement.cpp:
1863         * svg/SVGPathElement.h:
1864
1865 2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
1866
1867         Web Inspector: Suggest box should be open immediately if forced by Ctrl+Space.
1868         https://bugs.webkit.org/show_bug.cgi?id=71710
1869
1870         Reviewed by Pavel Feldman.
1871
1872         * inspector/front-end/TextPrompt.js:
1873         (WebInspector.TextPrompt.prototype.clearAutoComplete):
1874         (WebInspector.TextPrompt.prototype.autoCompleteSoon):
1875
1876 2011-11-07  vsevik@chromium.org  <vsevik@chromium.org>
1877
1878         Web Inspector: Suggest box should consume enter key pressed event.
1879         https://bugs.webkit.org/show_bug.cgi?id=71700
1880
1881         Reviewed by Pavel Feldman.
1882
1883         * inspector/front-end/ConsoleView.js:
1884         (WebInspector.ConsoleView):
1885         * inspector/front-end/TextPrompt.js:
1886         (WebInspector.TextPrompt.prototype._attachInternal):
1887         (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
1888
1889 2011-11-07  David Barr  <davidbarr@chromium.org>
1890
1891         Optimize outline rendering to avoid transparency layers
1892         https://bugs.webkit.org/show_bug.cgi?id=60750
1893
1894         Add fast path for solid block outlines with alpha.
1895         Improve readability of piecewise path while at it.
1896
1897         Reviewed by Simon Fraser.
1898
1899         No intended change in behaviour, no new tests.
1900
1901         * rendering/RenderObject.cpp:
1902         (WebCore::RenderObject::paintOutline):
1903
1904 2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
1905
1906         Web Inspector: Suggest box should not accept suggestion on space key pressed.
1907         https://bugs.webkit.org/show_bug.cgi?id=71706
1908
1909         Reviewed by Pavel Feldman.
1910
1911         * inspector/front-end/TextPrompt.js:
1912         (WebInspector.TextPrompt.prototype.onKeyDown):
1913         (WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
1914
1915 2011-11-07  Andreas Kling  <kling@webkit.org>
1916
1917         Don't use CSSOM's CSSValue.cssValueType internally in WebCore.
1918         <http://webkit.org/b/71679>
1919
1920         Reviewed by Darin Adler.
1921
1922         Swap out cssValueType() usage for isPrimitiveValue(), isInitialValue()
1923         and isInheritedValue() to increase code clarity.
1924
1925         The plan is to turn cssValueType() into a computed value based on the
1926         CSSValue subclass (coming soon to <http://webkit.org/b/71668>.)
1927         This is a clean-up in preparation for that.
1928
1929         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1930         (WebCore::JSCSSStyleDeclaration::nameGetter):
1931         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1932         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
1933         * css/CSSInheritedValue.h:
1934         (WebCore::CSSInheritedValue::isInheritedValue):
1935         * css/CSSInitialValue.h:
1936         (WebCore::CSSInitialValue::isInitialValue):
1937         * css/CSSParser.cpp:
1938         (WebCore::CSSParser::parseColor):
1939         * css/CSSStyleSelector.cpp:
1940         (WebCore::CSSStyleSelector::applyDeclaration):
1941         (WebCore::CSSStyleSelector::applyProperty):
1942         (WebCore::CSSStyleSelector::mapFillAttachment):
1943         (WebCore::CSSStyleSelector::mapFillClip):
1944         (WebCore::CSSStyleSelector::mapFillComposite):
1945         (WebCore::CSSStyleSelector::mapFillOrigin):
1946         (WebCore::CSSStyleSelector::mapFillImage):
1947         (WebCore::CSSStyleSelector::mapFillRepeatX):
1948         (WebCore::CSSStyleSelector::mapFillRepeatY):
1949         (WebCore::CSSStyleSelector::mapFillSize):
1950         (WebCore::CSSStyleSelector::mapFillXPosition):
1951         (WebCore::CSSStyleSelector::mapFillYPosition):
1952         (WebCore::CSSStyleSelector::mapAnimationDelay):
1953         (WebCore::CSSStyleSelector::mapAnimationDirection):
1954         (WebCore::CSSStyleSelector::mapAnimationDuration):
1955         (WebCore::CSSStyleSelector::mapAnimationFillMode):
1956         (WebCore::CSSStyleSelector::mapAnimationIterationCount):
1957         (WebCore::CSSStyleSelector::mapAnimationName):
1958         (WebCore::CSSStyleSelector::mapAnimationPlayState):
1959         (WebCore::CSSStyleSelector::mapAnimationProperty):
1960         (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
1961         * css/CSSValue.h:
1962         (WebCore::CSSValue::isInheritedValue):
1963         (WebCore::CSSValue::isInitialValue):
1964         * css/SVGCSSStyleSelector.cpp:
1965         (WebCore::CSSStyleSelector::applySVGProperty):
1966         * editing/EditingStyle.cpp:
1967         (WebCore::EditingStyle::extractFontSizeDelta):
1968         (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
1969
1970 2011-11-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1971
1972         Unreviewed, rolling out r99432.
1973         http://trac.webkit.org/changeset/99432
1974         https://bugs.webkit.org/show_bug.cgi?id=71709
1975
1976         It made layout tests extra slow on all bots (Requested by
1977         Ossy_night on #webkit).
1978
1979         * inspector/front-end/ConsoleView.js:
1980         (WebInspector.ConsoleView):
1981         * inspector/front-end/TextPrompt.js:
1982         (WebInspector.TextPrompt.prototype._attachInternal):
1983         (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
1984
1985 2011-11-07  Andreas Kling  <kling@webkit.org>
1986
1987         REGRESSION(r99409): Broke transitions/clip-transition.html
1988         <http://webkit.org/b/71692>
1989
1990         Reviewed by Darin Adler.
1991
1992         Add missing base class initializers to CSSPrimitiveValue constructors.
1993         This was causing some CSSPrimitiveValues to masquerade as CSS_CUSTOM values.
1994
1995         * css/CSSPrimitiveValue.h:
1996         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1997         * css/CSSPrimitiveValueMappings.h:
1998         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
1999
2000 2011-11-07  ChangSeok Oh  <shivamidow@gmail.com>
2001
2002         [EFL] Support requestAnimationFrame API
2003         https://bugs.webkit.org/show_bug.cgi?id=67112
2004
2005         Reviewed by Andreas Kling.
2006
2007         Add some files to build-target when enabling requestAnimationFrame option.
2008
2009         fast/animation/request-animation-frame-cancel.html
2010         fast/animation/request-animation-frame-cancel2.html
2011         fast/animation/request-animation-frame-display.html
2012         fast/animation/request-animation-frame-during-modal.html
2013         fast/animation/request-animation-frame-timestamps.html
2014         fast/animation/request-animation-frame-within-callback.html
2015         fast/animation/request-animation-frame.html
2016
2017         * CMakeLists.txt:
2018         * UseJSC.cmake:
2019
2020 2011-11-07  Sam Weinig  <sam@webkit.org>
2021
2022         Add missing .in and .pl files to the Xcode project for easy access.
2023
2024         Reviewed by Eric Carlson.
2025
2026         * WebCore.xcodeproj/project.pbxproj:
2027         Add some missing files to the Xcode project.
2028
2029 2011-11-07  Jessie Berlin  <jberlin@apple.com>
2030
2031         Need a way to allow a scheme access to Local Storage and Databases while Private Browsing is
2032         enabled.
2033         https://bugs.webkit.org/show_bug.cgi?id=71631
2034
2035         Reviewed by Jon Honeycutt.
2036
2037         Check the SchemeRegistry before preventing read/write access to Local Storage and Databases
2038         in Private Browsing.
2039
2040         * WebCore.exp.in:
2041         Export the symbols for registering the schemes as allowing Local Storage and Database access
2042         in Private Browsing.
2043
2044         * dom/Document.cpp:
2045         (WebCore::Document::allowDatabaseAccess):
2046         Check if the scheme allows Database access in Private Browsing.
2047
2048         * platform/SchemeRegistry.cpp:
2049         (WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
2050         (WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
2051         (WebCore::SchemeRegistry::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing):
2052         (WebCore::SchemeRegistry::allowsLocalStorageAccessInPrivateBrowsing):
2053         (WebCore::SchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing):
2054         (WebCore::SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing):
2055         * platform/SchemeRegistry.h:
2056
2057         * storage/Storage.cpp:
2058         (WebCore::Storage::length):
2059         Ask the storage area if it is disabled by Private Browsing in the frame instead of just
2060         checking if Private Browsing is enabled for that frame because the answer might depend on
2061         what type of storage that storage area is.
2062         (WebCore::Storage::key):
2063         Ditto.
2064         (WebCore::Storage::getItem):
2065         Ditto.
2066         (WebCore::Storage::contains):
2067         Ditto.
2068
2069         * storage/StorageArea.h:
2070         Make it possible to query a StorageArea for whether it is disabled by Private Browsing in a
2071         Frame.
2072         * storage/StorageAreaImpl.cpp:
2073         (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
2074         Renamed from privateBrowsingEnabled.
2075         Check not only if Private Browsing is enabled for the Frame, but also if the storage type is
2076         Local Storage and if there is an exception for the scheme of the resource currently loaded
2077         into the Frame.
2078         (WebCore::StorageAreaImpl::setItem):
2079         Renamed privateBrowsingEnabled -> disabledByPrivateBrowsingInFrame.
2080         (WebCore::StorageAreaImpl::removeItem):
2081         Ditto.
2082         (WebCore::StorageAreaImpl::clear):
2083         Ditto.
2084         * storage/StorageAreaImpl.h:
2085
2086 2011-11-07  Dominic Cooney  <dominicc@chromium.org>
2087
2088         Remove initCloseEvent method
2089         https://bugs.webkit.org/show_bug.cgi?id=71374
2090
2091         Reviewed by Ojan Vafai.
2092
2093         Test: fast/dom/Window/window-properties.html
2094
2095         * websockets/CloseEvent.h:
2096         (WebCore::CloseEvent::initCloseEvent):
2097         * websockets/CloseEvent.idl:
2098
2099 2011-11-07  Anders Carlsson  <andersca@apple.com>
2100
2101         Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
2102         https://bugs.webkit.org/show_bug.cgi?id=71699
2103
2104         Reviewed by Sam Weinig.
2105
2106         Export AffineTransform symbols used by WebKit2.
2107
2108         * WebCore.exp.in:
2109
2110 2011-11-07  Michael Saboff  <msaboff@apple.com>
2111
2112         Towards 8 Bit Strings: Templatize JSC::Lexer class by character type
2113         https://bugs.webkit.org/show_bug.cgi?id=71331
2114
2115         Changed the SourceProvider::data() virtual method to return a
2116         StringImpl* instead of a UChar*.
2117         Changed Identifier() constructor to use JSGlobalData*.
2118
2119         Reviewed by Darin Adler.
2120
2121         No new tests - refactored SourceProvider class and sub-classes.
2122
2123         * bindings/js/CachedScriptSourceProvider.h:
2124         (WebCore::CachedScriptSourceProvider::stringData):
2125         * bindings/js/StringSourceProvider.h:
2126         (WebCore::StringSourceProvider::stringData):
2127         * bridge/qt/qt_runtime.cpp:
2128         (JSC::Bindings::convertQVariantToValue):
2129
2130 2011-11-07  Dominic Cooney  <dominicc@chromium.org>
2131
2132         Remove initOverflowEvent from JavaScript bindings
2133         https://bugs.webkit.org/show_bug.cgi?id=71687
2134
2135         Reviewed by Ojan Vafai.
2136
2137         Now that OverflowEvent has a constructor, we don't need the
2138         initOverflowEvent method. It has to remain in the Objective C
2139         binding because it is part of the Objective C public API.
2140
2141         * dom/OverflowEvent.idl:
2142
2143 2011-11-07  Noel Gordon  <noel.gordon@gmail.com>
2144
2145         Refactor canvas encoding mimeType validation
2146         https://bugs.webkit.org/show_bug.cgi?id=71651
2147
2148         Reviewed by Andreas Kling.
2149
2150         No new tests, refactoring only, covered by existing canvas tests.
2151
2152         * html/HTMLCanvasElement.cpp:
2153         (WebCore::HTMLCanvasElement::toEncodingMimeType): move encoder mimeType
2154         validation logic into a helper routine.
2155         (WebCore::HTMLCanvasElement::toDataURL):
2156         * html/HTMLCanvasElement.h:
2157
2158 2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
2159
2160         Web Inspector: Suggest box should consume enter key pressed event.
2161         https://bugs.webkit.org/show_bug.cgi?id=71700
2162
2163         Reviewed by Pavel Feldman.
2164
2165         * inspector/front-end/ConsoleView.js:
2166         (WebInspector.ConsoleView):
2167         * inspector/front-end/TextPrompt.js:
2168         (WebInspector.TextPrompt.prototype._attachInternal):
2169         (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
2170
2171 2011-11-07  Dominic Cooney  <dominicc@chromium.org>
2172
2173         Remove initPageTransitionEvent method
2174         https://bugs.webkit.org/show_bug.cgi?id=71689
2175
2176         Reviewed by Ojan Vafai.
2177
2178         initPageTransitionEvent was removed from the HTML spec; it has
2179         been replaced by new PageTransitionEvent(...).
2180
2181         Removing a method, so no new tests.
2182
2183         * dom/PageTransitionEvent.cpp:
2184         * dom/PageTransitionEvent.h:
2185         * dom/PageTransitionEvent.idl:
2186
2187 2011-11-07  Alexander Pavlov  <apavlov@chromium.org>
2188
2189         Web Inspector: TextPrompt+SuggestBox should autocomplete on "Right" keydown and with a single suggestion in place
2190         https://bugs.webkit.org/show_bug.cgi?id=71676
2191
2192         Reviewed by Pavel Feldman.
2193
2194         * inspector/front-end/TextPrompt.js:
2195         (WebInspector.TextPrompt.prototype.onKeyDown):
2196         (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
2197         * inspector/front-end/inspectorCommon.css:
2198         (body): Revert inadvertent style change from a preceding commit.
2199
2200 2011-11-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
2201
2202         Fix the Qt build on Mac OS X when using the QuickTime media backend
2203
2204         When QtWebKit is built on Mac OS X using the QuickTime media backend
2205         we build both KURLCFNet.cpp and KURLMac, just like the Mac port, so
2206         we have to guard the potentially duplicate symbol createCFURL with
2207         more than just !PLATFORM(MAC).
2208
2209         Reviewed by Andreas Kling.
2210
2211         * platform/cf/KURLCFNet.cpp:
2212
2213 2011-11-07  Pavel Feldman  <pfeldman@google.com>
2214
2215         Not reviewed: follow up to r99407. Style the suggest box.
2216         https://bugs.webkit.org/show_bug.cgi?id=65511
2217
2218
2219         * inspector/front-end/TextPrompt.js:
2220         * inspector/front-end/inspector.css:
2221         * inspector/front-end/textPrompt.css:
2222
2223 2011-11-07  Roland Steiner  <rolandsteiner@chromium.org>
2224
2225         https://bugs.webkit.org/show_bug.cgi?id=70223
2226         CSSStyleSheet: finding the owner node should be in its own method
2227
2228         Add styleSheetOwnerNode() function that returns the owner Node of the style sheet, or 0.
2229
2230         Reviewed by Dimitri Glazkov.
2231
2232         No new tests. (refactoring)
2233
2234         * css/CSSStyleSheet.cpp:
2235         (WebCore::CSSStyleSheet::styleSheetOwnerNode):
2236         (WebCore::CSSStyleSheet::document):
2237         * css/CSSStyleSheet.h:
2238
2239 2011-11-07  Yury Semikhatsky  <yurys@chromium.org>
2240
2241         [Chromium] Web Inspector: use native worker inspector instead of fake workers
2242         https://bugs.webkit.org/show_bug.cgi?id=71670
2243
2244         Removed context menu option for switching between native and "fake" workers
2245         debugger. Native debugger is used by default on platforms that support it.
2246
2247         Reviewed by Pavel Feldman.
2248
2249         * English.lproj/localizedStrings.js:
2250         * inspector/front-end/ScriptsPanel.js:
2251         (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
2252         * inspector/front-end/Settings.js:
2253         (WebInspector.Settings):
2254         * inspector/front-end/WorkersSidebarPane.js:
2255         (WebInspector.WorkerListSidebarPane):
2256         (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
2257         * inspector/front-end/scriptsPanel.css:
2258         (#shared-workers-list):
2259
2260 2011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
2261
2262         Web Inspector: Add advanced search shortcut to ShortcutsScreen.
2263         https://bugs.webkit.org/show_bug.cgi?id=71302
2264
2265         Reviewed by Pavel Feldman.
2266
2267         * English.lproj/localizedStrings.js:
2268         * inspector/front-end/AdvancedSearchController.js:
2269         (WebInspector.AdvancedSearchController.createShortcut):
2270         * inspector/front-end/inspector.js:
2271         (WebInspector._registerShortcuts):
2272
2273 2011-11-07  Andreas Kling  <kling@webkit.org>
2274
2275         CSSImageValue: Remove inheritance from CachedImageClient.
2276         <http://webkit.org/b/71675>
2277
2278         Reviewed by Antti Koivisto.
2279
2280         CSSImageValue doesn't actually use any of the CachedImageClient
2281         functionality, and holds a reference to the resource via the
2282         CachedResourceHandle in StyleCachedImage.
2283
2284         So we can safely remove the multiple inheritance and simplify
2285         the class.
2286
2287         * css/CSSImageValue.cpp:
2288         (WebCore::CSSImageValue::~CSSImageValue):
2289         (WebCore::CSSImageValue::cachedImage):
2290         (WebCore::CSSImageValue::clearCachedImage):
2291         * css/CSSImageValue.h:
2292
2293 2011-11-07  Andreas Kling  <kling@webkit.org>
2294
2295         CSSPrimitiveValue: Remove unused virtual function parseString().
2296         <http://webkit.org/b/71671>
2297
2298         Reviewed by Antti Koivisto.
2299
2300         * css/CSSPrimitiveValue.cpp:
2301         * css/CSSPrimitiveValue.h:
2302
2303 2011-11-07  Andrey Kosyakov  <caseq@chromium.org>
2304
2305         Web Inspector: use toString as the Date object description.
2306         https://bugs.webkit.org/show_bug.cgi?id=71605
2307
2308         Reviewed by Yury Semikhatsky.
2309
2310         Test: inspector/remote-object.html
2311
2312         * inspector/InjectedScriptSource.js:
2313         (.):
2314
2315 2011-10-26  Andrey Kosyakov  <caseq@chromium.org>
2316
2317         Web Inspector: [refactoring] get JS-specific methods out of SourceFrame
2318         https://bugs.webkit.org/show_bug.cgi?id=70885
2319
2320         Reviewed by Pavel Feldman.
2321
2322         No new tests, as there's no new functionality.
2323
2324         * inspector/front-end/JavaScriptSourceFrame.js:
2325         (WebInspector.JavaScriptSourceFrame):
2326         (WebInspector.JavaScriptSourceFrame.prototype.willHide):
2327         (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
2328         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
2329         (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
2330         (WebInspector.JavaScriptSourceFrame.prototype.editContent):
2331         (WebInspector.JavaScriptSourceFrame.prototype.contentChanged):
2332         (WebInspector.JavaScriptSourceFrame.prototype.setReadonly):
2333         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
2334         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
2335         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
2336         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
2337         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
2338         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
2339         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
2340         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
2341         (WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
2342         (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
2343         (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
2344         (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover.showObjectPopover):
2345         (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover):
2346         (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
2347         (WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
2348         (WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
2349         (WebInspector.JavaScriptSourceFrame.prototype._mouseDown):
2350         (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
2351         (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
2352         (WebInspector.JavaScriptSourceFrame.prototype._createConditionElement):
2353         (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
2354         (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
2355         (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
2356         (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
2357         (WebInspector.JavaScriptSourceFrameDelegate):
2358         (WebInspector.JavaScriptSourceFrameDelegate.prototype.requestContent):
2359         (WebInspector.JavaScriptSourceFrameDelegate.prototype.setBreakpoint):
2360         (WebInspector.JavaScriptSourceFrameDelegate.prototype.removeBreakpoint):
2361         (WebInspector.JavaScriptSourceFrameDelegate.prototype.updateBreakpoint):
2362         (WebInspector.JavaScriptSourceFrameDelegate.prototype.findBreakpoint):
2363         (WebInspector.JavaScriptSourceFrameDelegate.prototype.continueToLine):
2364         (WebInspector.JavaScriptSourceFrameDelegate.prototype.canEditScriptSource):
2365         (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSource):
2366         (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
2367         (WebInspector.JavaScriptSourceFrameDelegate.prototype.suggestedFileName):
2368         (WebInspector.JavaScriptSourceFrameDelegate.prototype.addToWatch):
2369         * inspector/front-end/ResourceView.js:
2370         (WebInspector.ResourceSourceFrame):
2371         * inspector/front-end/ScriptsPanel.js:
2372         (WebInspector.SourceFrameDelegateForScriptsPanel):
2373         * inspector/front-end/SourceFrame.js:
2374         (WebInspector.SourceFrame):
2375         (WebInspector.SourceFrame.prototype.willHide):
2376         (WebInspector.SourceFrame.prototype.get textViewer):
2377         (WebInspector.SourceFrame.prototype.requestContent):
2378         (WebInspector.SourceFrame.prototype._saveViewerState):
2379         (WebInspector.SourceFrame.prototype._restoreViewerState):
2380         (WebInspector.SourceFrame.prototype.beforeTextChanged):
2381         (WebInspector.SourceFrame.prototype.afterTextChanged):
2382         (WebInspector.SourceFrame.prototype._initializeTextViewer):
2383         (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
2384         (WebInspector.SourceFrame.prototype.suggestedFileName):
2385         (WebInspector.SourceFrame.prototype.canEditSource):
2386         (WebInspector.SourceFrame.prototype.startEditing):
2387         (WebInspector.SourceFrame.prototype.commitEditing):
2388         (WebInspector.SourceFrame.prototype.didEditContent):
2389         (WebInspector.SourceFrame.prototype.editContent):
2390         (WebInspector.SourceFrame.prototype.cancelEditing):
2391         (WebInspector.SourceFrame.prototype.setReadOnly):
2392         * inspector/front-end/inspector.html:
2393
2394 2011-11-06  Andreas Kling  <kling@webkit.org>
2395
2396         CSSValue: Devirtualize cssValueType().
2397         <http://webkit.org/b/71667>
2398
2399         Reviewed by Antti Koivisto.
2400
2401         Keep the cssValueType in a CSSValue member instead of using
2402         virtual functions.
2403
2404         This is part of a project to completely devirtualize CSSValue
2405         <http://webkit.org/b/71666> and will incur a temporary object
2406         size regression for CSSValue while the work is ongoing.
2407
2408         * css/CSSInheritedValue.cpp:
2409         * css/CSSInheritedValue.h:
2410         (WebCore::CSSInheritedValue::CSSInheritedValue):
2411         * css/CSSInitialValue.cpp:
2412         * css/CSSInitialValue.h:
2413         (WebCore::CSSInitialValue::CSSInitialValue):
2414         * css/CSSPrimitiveValue.cpp:
2415         (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
2416         * css/CSSPrimitiveValue.h:
2417         * css/CSSValue.h:
2418         (WebCore::CSSValue::cssValueType):
2419         (WebCore::CSSValue::CSSValue):
2420         * css/CSSValueList.cpp:
2421         (WebCore::CSSValueList::CSSValueList):
2422         * css/CSSValueList.h:
2423
2424 2011-11-07  Pavel Feldman  <pfeldman@chromium.org>
2425
2426         Web Inspector: introduce UserAgent override setting.
2427         https://bugs.webkit.org/show_bug.cgi?id=71627
2428
2429         Reviewed by Yury Semikhatsky.
2430
2431         * English.lproj/localizedStrings.js:
2432         * inspector/InspectorResourceAgent.cpp:
2433         (WebCore::InspectorResourceAgent::clearFrontend):
2434         (WebCore::InspectorResourceAgent::applyUserAgentOverride):
2435         (WebCore::InspectorResourceAgent::setUserAgentOverride):
2436         * inspector/front-end/HelpScreen.js:
2437         (WebInspector.HelpScreen):
2438         (WebInspector.HelpScreen.prototype.show):
2439         (WebInspector.HelpScreen.prototype._onBlur):
2440         * inspector/front-end/NetworkManager.js:
2441         (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
2442         (WebInspector.NetworkManager.prototype._userAgentSettingChanged):
2443         * inspector/front-end/Settings.js:
2444         (WebInspector.Settings):
2445         * inspector/front-end/SettingsScreen.js:
2446         (WebInspector.SettingsScreen):
2447         (WebInspector.SettingsScreen.prototype._createSelectSetting.get for):
2448         (WebInspector.SettingsScreen.prototype._createCustomSetting):
2449         (WebInspector.SettingsScreen.prototype._createUserActionControl.checkboxClicked):
2450         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
2451         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textDoubleClicked):
2452         (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textChanged):
2453         * inspector/front-end/helpScreen.css:
2454         (.help-table td):
2455         (.help-content fieldset label):
2456
2457 2011-11-07  Alexander Pavlov  <apavlov@chromium.org>
2458
2459         Web Inspector: autocomplete combobox for Styles sidebar and Console.
2460         https://bugs.webkit.org/show_bug.cgi?id=65511
2461
2462         Reviewed by Pavel Feldman.
2463
2464         * inspector/front-end/ConsoleView.js:
2465         (WebInspector.ConsoleView):
2466         * inspector/front-end/StylesSidebarPane.js:
2467         (WebInspector.StylePropertyTreeElement.prototype):
2468         ():
2469         * inspector/front-end/TextPrompt.js:
2470         (WebInspector.TextPrompt):
2471         (WebInspector.TextPrompt.prototype.setSuggestBoxEnabled):
2472         (WebInspector.TextPrompt.prototype._attachInternal):
2473         (WebInspector.TextPrompt.prototype.applySuggestion):
2474         (WebInspector.TextPrompt.prototype.acceptSuggestion):
2475         (WebInspector.TextPromptWithHistory):
2476         * inspector/front-end/inspector.css:
2477         (.suggest-box.generic-suggest):
2478         (.suggest-box.generic-suggest.above-anchor):
2479         (.suggest-box.generic-suggest .content):
2480
2481 2011-11-07  Pavel Feldman  <pfeldman@chromium.org>
2482
2483         Web Inspector: split script-formatter test into multiple tests.
2484         https://bugs.webkit.org/show_bug.cgi?id=71607
2485
2486         Reviewed by Yury Semikhatsky.
2487
2488         Tests: inspector/debugger/script-formatter-breakpoints.html
2489                inspector/debugger/script-formatter-console.html
2490
2491         * inspector/front-end/ScriptsPanel.js:
2492         (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
2493
2494 2011-11-07  Keishi Hattori  <keishi@webkit.org>
2495
2496         Change ColorChooser from singleton to ordinary object
2497         https://bugs.webkit.org/show_bug.cgi?id=71644
2498
2499         Reviewed by Kent Tamura.
2500
2501         Changing WebCore::ColorChooser from a singleton to an ordinary object can broaden how browsers implement the color chooser interface.
2502
2503         * WebCore.exp.in:
2504         * html/ColorInputType.cpp:
2505         (WebCore::ColorInputType::~ColorInputType):
2506         (WebCore::ColorInputType::setValue): If a chooser exists, calls Chrome::setSelectedColorInColorChooser
2507         (WebCore::ColorInputType::handleDOMActivateEvent):
2508         (WebCore::ColorInputType::detach):
2509         (WebCore::ColorInputType::didCleanup): Called after cleanup is complete.
2510         (WebCore::ColorInputType::cleanupColorChooser): Renamed from cleanupColorChooserIfCurrentClient.
2511         * html/ColorInputType.h:
2512         * html/HTMLInputElement.cpp:
2513         (WebCore::HTMLInputElement::selectColorInColorChooser):
2514         * html/HTMLInputElement.h:
2515         * loader/EmptyClients.h:
2516         (WebCore::EmptyChromeClient::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
2517         (WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Ditto.
2518         * page/Chrome.cpp:
2519         (WebCore::Chrome::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
2520         (WebCore::Chrome::setSelectedColorInColorChooser): Ditto.
2521         * page/Chrome.h:
2522         * page/ChromeClient.h:
2523         * platform/ColorChooser.cpp:
2524         (WebCore::ColorChooserClient::~ColorChooserClient):
2525         (WebCore::ColorChooserClient::newColorChooser): Creates a new color chooser that is connected to itself.
2526         (WebCore::ColorChooserClient::discardChooser): Discards the connected color chooser.
2527         (WebCore::ColorChooser::ColorChooser): ColorChooser is RefCounted.
2528         (WebCore::ColorChooser::create): Creates a ColorChooser that is connected to the given ColorChooserClient.
2529         (WebCore::ColorChooser::~ColorChooser):
2530         (WebCore::ColorChooser::didChooseColor): Called from WebKit side when user chose a color. Calls ColorChooserClient::didChooseColor
2531         (WebCore::ColorChooser::didCleanup): Called from WebKit side when user color chooser was cleaned up. Calls ColorChooserClient::didCleanup
2532         * platform/ColorChooser.h:
2533         (WebCore::ColorChooserClient::chooser): Returns the current ColorChooser.
2534         (WebCore::ColorChooser::disconnectClient): Disconnects the ColorChooserClient.
2535         * testing/Internals.cpp:
2536         (WebCore::Internals::selectColorInColorChooser): Added element argument. This calls didChooseColor on the ColorChooser of that element.
2537         * testing/Internals.h:
2538         * testing/Internals.idl: Removed connectColorChooserClient and updated selectColorInColorChooser.
2539
2540 2011-11-07  Alexander Pavlov  <apavlov@chromium.org>
2541
2542         Web Inspector: Cannot edit elements commented with <!--
2543         https://bugs.webkit.org/show_bug.cgi?id=71357
2544
2545         Reviewed by Pavel Feldman.
2546
2547         * inspector/InspectorDOMAgent.cpp:
2548         (WebCore::InspectorDOMAgent::getOuterHTML):
2549         (WebCore::InspectorDOMAgent::setOuterHTML):
2550         * inspector/front-end/ElementsTreeOutline.js:
2551         (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
2552         (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
2553         (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
2554         (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):
2555
2556 2011-11-06  Noel Gordon  <noel.gordon@gmail.com>
2557
2558         Fix some style issues in ImageBuffer.h
2559         https://bugs.webkit.org/show_bug.cgi?id=71649
2560
2561         Reviewed by Kent Tamura.
2562
2563         No new tests. Style change only.
2564
2565         * platform/graphics/ImageBuffer.h:
2566
2567 2011-11-06  Keishi Hattori  <keishi@webkit.org>
2568
2569         InputType::fallbackValue and defaultValue should be const
2570         https://bugs.webkit.org/show_bug.cgi?id=71641
2571
2572         Reviewed by Kent Tamura.
2573     
2574         Changing InputType::fallbackValue and defaultValue to const. Also adding OVERRIDE.
2575
2576         * html/BaseCheckableInputType.cpp:
2577         (WebCore::BaseCheckableInputType::fallbackValue):
2578         * html/BaseCheckableInputType.h:
2579         * html/ColorInputType.cpp:
2580         (WebCore::ColorInputType::fallbackValue):
2581         * html/ColorInputType.h:
2582         * html/InputType.cpp:
2583         (WebCore::InputType::fallbackValue):
2584         (WebCore::InputType::defaultValue):
2585         * html/InputType.h:
2586         * html/RangeInputType.cpp:
2587         (WebCore::RangeInputType::fallbackValue):
2588         * html/RangeInputType.h:
2589         * html/ResetInputType.cpp:
2590         (WebCore::ResetInputType::defaultValue):
2591         * html/ResetInputType.h:
2592         * html/SubmitInputType.cpp:
2593         (WebCore::SubmitInputType::defaultValue):
2594         * html/SubmitInputType.h:
2595
2596 2011-11-06  Keishi Hattori  <keishi@webkit.org>
2597
2598         Remove ColorInputType::handleClickEvent
2599         https://bugs.webkit.org/show_bug.cgi?id=71640
2600
2601         Reviewed by Kent Tamura.
2602
2603         When you click the input color element, both ColorInputType::handleClickEvent and
2604         ColorInputType::handleDOMActivateEvent are called, causing Chrome::openColorChooser
2605         to be called too many times.
2606
2607         * html/ColorInputType.cpp: Removed ColorInputType::handleClickEvent
2608         * html/ColorInputType.h: Removed ColorInputType::handleClickEvent
2609
2610 2011-11-06  Keishi Hattori  <keishi@webkit.org>
2611
2612         Remove extra semicolon in ColorInputType
2613         https://bugs.webkit.org/show_bug.cgi?id=71639
2614
2615         Reviewed by Kent Tamura.
2616
2617         * html/ColorInputType.cpp:
2618         (WebCore::ColorInputType::setValue):
2619
2620 2011-11-06  Dominic Cooney  <dominicc@chromium.org>
2621
2622         Remove initBeforeLoadEvent method
2623         https://bugs.webkit.org/show_bug.cgi?id=71636
2624
2625         Reviewed by Adam Barth.
2626
2627         Test: fast/dom/Window/window-properties.html
2628
2629         * dom/BeforeLoadEvent.h:
2630         * dom/BeforeLoadEvent.idl:
2631
2632 2011-11-06  Adam Barth  <abarth@webkit.org>
2633
2634         Don't crash when a context hasn't been created.  This fixed a
2635         testing-only crash on the bots in the Chromium port.
2636
2637         * testing/v8/WebCoreTestSupport.cpp:
2638         (WebCoreTestSupport::resetInternalsObject):
2639
2640 2011-11-06  Darin Adler  <darin@apple.com>
2641
2642         Leaks seen in RenderFlowThread::setRegionRangeForBox on Leaks bot
2643         https://bugs.webkit.org/show_bug.cgi?id=71260
2644
2645         Reviewed by Mark Rowe.
2646
2647         Memory leak fix covered by existing tests.
2648
2649         * rendering/RenderFlowThread.cpp:
2650         (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
2651         Instead of calling remove, call take and then delete, since the
2652         values of the map are owned and need to be deleted when removed.
2653
2654 2011-11-06  Adam Barth  <abarth@webkit.org>
2655
2656         Implement the sandbox directive for CSP
2657         https://bugs.webkit.org/show_bug.cgi?id=71604
2658
2659         Reviewed by Sam Weinig.
2660
2661         At TPAC, Microsoft was pushing pretty hard to add the sandbox directive
2662         to CSP.  There's a question about whether it's going to be in CSP 1.0
2663         or CSP 1.1, but it seems to be clearly headed into the spec.
2664
2665         This patch implements the sandbox directive for CSP.  It's built on the
2666         same machinery we use for the sandbox attribute for iframe.  Now that
2667         I've done the implementation, I'm going to write up some concrete text
2668         for the spec.
2669
2670         Tests: http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-subframe.html
2671                http/tests/security/contentSecurityPolicy/sandbox-allow-scripts.html
2672                http/tests/security/contentSecurityPolicy/sandbox-empty-subframe.html
2673                http/tests/security/contentSecurityPolicy/sandbox-empty.html
2674
2675         * page/ContentSecurityPolicy.cpp:
2676         (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
2677         (WebCore::ContentSecurityPolicy::applySandboxPolicy):
2678         (WebCore::ContentSecurityPolicy::addDirective):
2679         * page/ContentSecurityPolicy.h:
2680
2681 2011-11-03  Filip Pizlo  <fpizlo@apple.com>
2682
2683         JSC should be able to sample itself in a more flexible way than just sampling flags
2684         https://bugs.webkit.org/show_bug.cgi?id=71522
2685
2686         Reviewed by Gavin Barraclough.
2687
2688         No new tests, since no functionality changed.
2689
2690         * ForwardingHeaders/wtf/Spectrum.h: Added.
2691
2692 2011-11-06  Nikita Vasilyev  <me@elv1s.ru>
2693
2694         Web Inspector: Unindent edited text by pressing Shift + Tab
2695         https://bugs.webkit.org/show_bug.cgi?id=70181
2696
2697         Indent and unindent text in all selected lines.
2698
2699         Reviewed by Pavel Feldman.
2700
2701         * inspector/front-end/TextViewer.js:
2702         (WebInspector.TextEditorMainPanel.prototype.unindentLines.get var):
2703         (WebInspector.TextEditorMainPanel.prototype.unindentLines):
2704
2705 2011-11-05  Martin Robinson  <mrobinson@igalia.com>
2706
2707         Remove ContextShadow
2708         https://bugs.webkit.org/show_bug.cgi?id=71617
2709
2710         Reviewed by Ariya Hidayat.
2711
2712         No new tests. This patch does not change behavior.
2713
2714         Completely remove ContextShadow. It's unused, unmaintained, and
2715         replaced by ShadowBlur.
2716
2717         * WebCore.gypi: Remove references to deleted files.
2718         * WebCore.vcproj/WebCore.vcproj: Remove references to deleted files.
2719         * platform/graphics/ContextShadow.cpp: Removed.
2720         * platform/graphics/ContextShadow.h: Removed.
2721         * platform/gtk/WidgetRenderingContext.cpp: Remove now-inaccurate TODO.
2722
2723 2011-11-04  Jon Lee  <jonlee@apple.com>
2724
2725         Dragging a file onto <input type="file"> should give distinct visual feedback
2726         https://bugs.webkit.org/show_bug.cgi?id=13897
2727         <rdar://problem/5232483>
2728
2729         Reviewed by Dan Bernstein.
2730
2731         When hovering over a file input element, we set the button's state to active
2732         to differentiate dragging one file over the input element (which populates that
2733         element) versus over the document (which would load the file into the view).
2734
2735         * html/HTMLInputElement.cpp:
2736         (WebCore::HTMLInputElement::HTMLInputElement):
2737         (WebCore::HTMLInputElement::canReceiveDroppedFiles):
2738         (WebCore::HTMLInputElement::setCanReceiveDroppedFiles): If set, the element
2739         is updated, which sets the active state on the button control.
2740         * html/HTMLInputElement.h: Add a boolean member representing whether the file
2741         input can receive dropped files.
2742         * page/DragController.cpp:
2743         (WebCore::DragController::DragController): Update/set the file input that
2744         can receive dropped files.
2745         (WebCore::DragController::dragExited):
2746         (WebCore::DragController::tryDocumentDrag):
2747         (WebCore::DragController::concludeEditDrag):
2748         * page/DragController.h:
2749         * rendering/RenderFileUploadControl.cpp:
2750         (WebCore::RenderFileUploadControl::updateFromElement): Sets the button active
2751         state if the input can receive dropped files.
2752
2753 2011-11-05  Darin Adler  <darin@apple.com>
2754
2755         Improve pending resource hash table code, including fixing a memory leak
2756         https://bugs.webkit.org/show_bug.cgi?id=71616
2757
2758         Reviewed by Adam Roben.
2759
2760         Memory leak fix and refactoring covered by existing tests.
2761
2762         * svg/SVGDocumentExtensions.cpp:
2763         (WebCore::SVGDocumentExtensions::addPendingResource): Replace the combination
2764         of contains, get, and add with just add, removing an extra unneeded hash table
2765         lookup each time this function is called.
2766         (WebCore::SVGDocumentExtensions::isElementInPendingResources): Added a comment
2767         about the performance of this function. Removed unnecessary check for an empty
2768         map; the code already efficiently exits doing nothing without the check.
2769         (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): Removed
2770         unnecessary check for an empty map; the code already efficiently does nothing
2771         without the check. Use removePendingResource rather than calling remove to
2772         avoid leaking the SVGPendingElements set.
2773         (WebCore::SVGDocumentExtensions::removePendingResource): Replace the
2774         combination of get and remove with a call to take, removing an extra
2775         unneeded hash table lookup each time this function is called
2776
2777 2011-11-05  Dan Winship  <danw@gnome.org>
2778
2779         [GTK] Actually use the user_data arguments to gio async functions
2780         instead of using g_object_set_data() to basically reinvent them.
2781         https://bugs.webkit.org/show_bug.cgi?id=71614
2782
2783         Reviewed by Martin Robinson.
2784
2785         No new tests; behavior is unchanged
2786
2787         * platform/network/soup/ResourceHandleSoup.cpp:
2788         (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
2789         (WebCore::cleanupSoupRequestOperation):
2790         (WebCore::sendRequestCallback):
2791         (WebCore::startHTTPRequest):
2792         (WebCore::ResourceHandle::platformSetDefersLoading):
2793         (WebCore::closeCallback):
2794         (WebCore::readCallback):
2795         (WebCore::startNonHTTPRequest):
2796
2797 2011-11-05  Dan Winship  <danw@gnome.org>
2798
2799         [GTK] Don't unnecessarily 0-initialize read buffers.
2800         https://bugs.webkit.org/show_bug.cgi?id=71612
2801
2802         Reviewed by Martin Robinson.
2803
2804         No new tests; behavior is unchanged
2805
2806         * platform/network/soup/ResourceHandleSoup.cpp:
2807         (WebCore::sendRequestCallback):
2808
2809 2011-11-05  Dan Winship  <danw@gnome.org>
2810
2811         [GTK] Remove a bit of dead code
2812         https://bugs.webkit.org/show_bug.cgi?id=71613
2813
2814         Reviewed by Martin Robinson.
2815
2816         No new tests; behavior is unchanged
2817
2818         * platform/network/soup/ResourceHandleSoup.cpp:
2819         (WebCore::readCallback): the caller that needed the convertToUTF16
2820         code was removed in r77408, but the code was accidentally left
2821         behind.
2822
2823 2011-11-05  Adam Barth  <abarth@webkit.org>
2824
2825         Refactor sandbox flag calculation to make implementing CSP sandbox directive easier
2826         https://bugs.webkit.org/show_bug.cgi?id=71603
2827
2828         Reviewed by Sam Weinig.
2829
2830         This patch changes the way we compute sandbox bits.  Instead of caching
2831         the result on Frame, we always compute the sandbox bits for a new
2832         document fresh from the inputs to the process (the sandbox attribute
2833         and the forced sandbox flags).
2834
2835         This patch is just refactoring.  It shouldn't have an observable
2836         effects.  This patch makes it easier to implement CSP's sandbox
2837         directive in a subsequent patch.
2838
2839         * dom/Document.cpp:
2840         (WebCore::Document::initSecurityContext):
2841         * html/HTMLFrameOwnerElement.cpp:
2842         (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
2843         * loader/FrameLoader.cpp:
2844         (WebCore::FrameLoader::FrameLoader):
2845         (WebCore::FrameLoader::init):
2846         (WebCore::FrameLoader::effectiveSandboxFlags):
2847         (WebCore::createWindow):
2848         * loader/FrameLoader.h:
2849         (WebCore::FrameLoader::forceSandboxFlags):
2850
2851 2011-11-05  Andreas Kling  <kling@webkit.org>
2852
2853         CSSStyleDeclaration: Devirtualize isMutableStyleDeclaration().
2854         https://bugs.webkit.org/show_bug.cgi?id=71609
2855
2856         Reviewed by Anders Carlsson.
2857
2858         Add a bool member to CSSStyleDeclaration that determines whether
2859         it's a CSSMutableDeclaration.
2860
2861         * css/CSSMutableStyleDeclaration.cpp:
2862         (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
2863         * css/CSSMutableStyleDeclaration.h:
2864         * css/CSSStyleDeclaration.cpp:
2865         (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
2866         * css/CSSStyleDeclaration.h:
2867         (WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):
2868
2869 2011-11-05  Andreas Kling  <kling@webkit.org>
2870
2871         Web Inspector: Simplify InspectorCSSAgent::inlineStyleElement().
2872         https://bugs.webkit.org/show_bug.cgi?id=71608
2873
2874         Reviewed by Pavel Feldman.
2875
2876         Use CSSMutableStyleDeclaration::isInlineStyleDeclaration() instead
2877         of doing the same checks manually.
2878
2879         * inspector/InspectorCSSAgent.cpp:
2880         (WebCore::InspectorCSSAgent::inlineStyleElement):
2881
2882 2011-11-05  Simon Hausmann  <simon.hausmann@nokia.com>
2883
2884         Reviewed by Andreas Kling.
2885
2886         Removed duplicated npruntime_internal.h from bindings/v8
2887         in favour of the one from bridge/, which has a few more
2888         #undefs.
2889
2890         https://bugs.webkit.org/show_bug.cgi?id=45617
2891
2892         * bindings/v8/npruntime_internal.h: Removed.
2893         * Target.pri: Removed strange occurence here.
2894
2895 2011-11-05  Simon Hausmann  <simon.hausmann@nokia.com>
2896
2897         Remove empty and unused dom/PositionCreationFunctions.h header file
2898         https://bugs.webkit.org/show_bug.cgi?id=71552
2899
2900         Reviewed by Kenneth Rohde Christiansen.
2901
2902         The file is empty (0 bytes) and not used anywhere. It was added in
2903         2009 in r48234 but hasn't been touched since then.
2904
2905         * WebCore.gypi:
2906         * dom/PositionCreationFunctions.h: Removed.
2907
2908 2011-11-04  Adam Barth  <abarth@webkit.org>
2909
2910         Fix assert after running tests in dumpAsText folders.  See
2911         https://bugs.webkit.org/show_bug.cgi?id=71599 for discussion.  This
2912         patch reverts part of a slightly over-agressive refactoring in
2913         http://trac.webkit.org/changeset/99347.
2914
2915         * dom/Document.cpp:
2916         (WebCore::Document::setIsViewSource):
2917
2918 2011-11-04  Ben Wells  <benwells@chromium.org>
2919
2920         Canvas drawImage(canvas) with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
2921         https://bugs.webkit.org/show_bug.cgi?id=71537
2922
2923         Reviewed by Stephen White.
2924
2925         drawImage(canvas) now uses the same approach as drawImage(image) to fix these errors.
2926
2927         Test: fast/canvas/canvas-composite-canvas.html
2928
2929         * html/canvas/CanvasRenderingContext2D.cpp:
2930         (WebCore::CanvasRenderingContext2D::drawImage):
2931         (WebCore::drawImageToContext):
2932         (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
2933         * html/canvas/CanvasRenderingContext2D.h:
2934
2935 2011-11-04  Adam Barth  <abarth@webkit.org>
2936
2937         JavaScript URLs execute in sandboxed iframes
2938         https://bugs.webkit.org/show_bug.cgi?id=71599
2939
2940         Reviewed by Eric Seidel.
2941
2942         This patch fixes the intentional regression I introduced earlier today
2943         by moving the sandbox bits from SecurityOrigin to Document. In the
2944         process, I renamed SecurityOrigin::createEmpty to
2945         SecurityOrigin::createUnique to better align with HTML5 terminology.
2946
2947         * WebCore.exp.in:
2948         * bindings/ScriptControllerBase.cpp:
2949         (WebCore::ScriptController::canExecuteScripts):
2950         * dom/Document.cpp:
2951         (WebCore::Document::setIsViewSource):
2952         (WebCore::Document::initSecurityContext):
2953         * dom/ScriptExecutionContext.cpp:
2954         (WebCore::ScriptExecutionContext::ScriptExecutionContext):
2955         * dom/ScriptExecutionContext.h:
2956         (WebCore::ScriptExecutionContext::sandboxFlags):
2957         (WebCore::ScriptExecutionContext::enforceSandboxFlags):
2958         (WebCore::ScriptExecutionContext::isSandboxed):
2959         * html/HTMLAppletElement.cpp:
2960         (WebCore::HTMLAppletElement::canEmbedJava):
2961         * loader/DocumentWriter.cpp:
2962         (WebCore::DocumentWriter::begin):
2963         * loader/FrameLoader.cpp:
2964         (WebCore::isDocumentSandboxed):
2965         (WebCore::FrameLoader::addHTTPOriginIfNeeded):
2966         * loader/PolicyChecker.cpp:
2967         (WebCore::PolicyChecker::checkNewWindowPolicy):
2968         * loader/SubframeLoader.cpp:
2969         (WebCore::SubframeLoader::requestPlugin):
2970         * page/SecurityOrigin.cpp:
2971         (WebCore::SecurityOrigin::SecurityOrigin):
2972         (WebCore::SecurityOrigin::create):
2973         (WebCore::SecurityOrigin::createUnique):
2974         * page/SecurityOrigin.h:
2975
2976 2011-11-04  Joseph Pecoraro  <pecoraro@apple.com>
2977
2978         Potential Unused Param Build Issue
2979         https://bugs.webkit.org/show_bug.cgi?id=71598
2980
2981         Reviewed by Kent Tamura.
2982
2983         * html/HTMLSelectElement.cpp:
2984         (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
2985
2986 2011-11-04  Stephen Chenney  <schenney@chromium.org>
2987
2988         Crash in ScrollAnimator.cpp
2989         https://bugs.webkit.org/show_bug.cgi?id=69865
2990
2991         The code in ScrollAnimator assumes that horizontal per-page mouse
2992         wheel events cannot happen, which is not true. This patch adds layout
2993         tests for all paging wheel event situations and fixes the broken
2994         horizontal case.
2995
2996         Reviewed by Anders Carlsson
2997
2998         Tests: fast/events/platform-wheelevent-paging-x-in-non-scrolling-div.html
2999                fast/events/platform-wheelevent-paging-x-in-non-scrolling-page.html
3000                fast/events/platform-wheelevent-paging-x-in-scrolling-div.html
3001                fast/events/platform-wheelevent-paging-x-in-scrolling-page.html
3002                fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html
3003                fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html
3004                fast/events/platform-wheelevent-paging-y-in-non-scrolling-div.html
3005                fast/events/platform-wheelevent-paging-y-in-non-scrolling-page.html
3006                fast/events/platform-wheelevent-paging-y-in-scrolling-div.html
3007                fast/events/platform-wheelevent-paging-y-in-scrolling-page.html
3008
3009         * platform/PlatformWheelEvent.h: Modify the comment to reflect the new
3010         reality.
3011         * platform/ScrollAnimator.cpp:
3012         (WebCore::ScrollAnimator::handleWheelEvent): Modified the code to handle the
3013         horizontal per-page wheel event case.
3014
3015 2011-11-04  Rafael Weinstein  <rafaelw@chromium.org>
3016
3017         [MutationObservers] Refactor MutationObserverRegistration into its own class that is
3018         referenced by registration points
3019
3020         https://bugs.webkit.org/show_bug.cgi?id=71577
3021
3022         Reviewed by Ojan Vafai.
3023
3024         MutationObserverRegistration is now owned by the node which is observed. If transient
3025         registrations are created, they hold a reference to this object.
3026
3027         The ownership relationship between Node, MutationObserverRegistration &
3028         WebKitMutationObserver now goes like this: WebKitMutationObserver is RefCounted -
3029         and only script and MutationObserverRegistration take references to it. Exactly
3030         one MutationObserverRegistration can exist for any given tuple of
3031         <Node, WebKitMutationObserver>. This represents an observer observing at a given
3032         Node. Further observation by the same observer has the effect of *resetting*
3033         the existing observation. The Node owns the MutationObserverRegistration.
3034         Transient registrations are only pointers to the registration. The registration
3035         keeps a RefPtr to its registration node and all of its transient registration nodes
3036         as long as *any* transient registrations exist. This ensures the registration
3037         and all registration nodes stay alive at least until the end of the microtask.
3038
3039         No tests required - refactor only.
3040
3041         * GNUmakefile.list.am:
3042         * WebCore.gypi:
3043         * WebCore.pro:
3044         * WebCore.vcproj/WebCore.vcproj:
3045         * WebCore.xcodeproj/project.pbxproj:
3046         * dom/CharacterData.cpp:
3047         (WebCore::enqueueCharacterDataMutationRecord):
3048         * dom/ChildListMutationScope.cpp:
3049         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
3050         * dom/Element.cpp:
3051         (WebCore::enqueueAttributesMutationRecord):
3052         * dom/MutationObserverRegistration.cpp: Added.
3053         (WebCore::MutationObserverRegistration::create):
3054         (WebCore::MutationObserverRegistration::MutationObserverRegistration):
3055         (WebCore::MutationObserverRegistration::~MutationObserverRegistration):
3056         (WebCore::MutationObserverRegistration::resetObservation):
3057         (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
3058         (WebCore::MutationObserverRegistration::clearTransientRegistrations):
3059         (WebCore::MutationObserverRegistration::unregister):
3060         (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
3061         * dom/MutationObserverRegistration.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.
3062         (WebCore::MutationObserverRegistration::observer):
3063         (WebCore::MutationObserverRegistration::deliveryOptions):
3064         * dom/Node.cpp:
3065         (WebCore::Node::clearRareData):
3066         (WebCore::Node::mutationObserverRegistry):
3067         (WebCore::Node::transientMutationObserverRegistry):
3068         (WebCore::addObserverToDeliverySet):
3069         (WebCore::Node::collectMatchingObserversForMutation):
3070         (WebCore::Node::getRegisteredMutationObserversOfType):
3071         (WebCore::Node::registerMutationObserver):
3072         (WebCore::Node::unregisterMutationObserver):
3073         (WebCore::Node::registerTransientMutationObserver):
3074         (WebCore::Node::unregisterTransientMutationObserver):
3075         (WebCore::Node::notifyMutationObserversNodeWillDetach):
3076         * dom/Node.h:
3077         * dom/NodeRareData.h:
3078         (WebCore::NodeRareData::mutationObserverRegistry):
3079         (WebCore::NodeRareData::ensureMutationObserverRegistry):
3080         (WebCore::NodeRareData::transientMutationObserverRegistry):
3081         (WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
3082         * dom/WebKitMutationObserver.cpp:
3083         (WebCore::WebKitMutationObserver::~WebKitMutationObserver):
3084         (WebCore::WebKitMutationObserver::observe):
3085         (WebCore::WebKitMutationObserver::disconnect):
3086         (WebCore::WebKitMutationObserver::observationStarted):
3087         (WebCore::WebKitMutationObserver::observationEnded):
3088         (WebCore::WebKitMutationObserver::deliver):
3089         * dom/WebKitMutationObserver.h:
3090
3091 2011-11-04  Raymond Toy  <rtoy@google.com>
3092
3093        Add methods to compute magnitude and phase response for biquads
3094        https://bugs.webkit.org/show_bug.cgi?id=71055
3095
3096        Reviewed by Kenneth Russell.
3097
3098
3099         * platform/audio/Biquad.cpp:
3100         (WebCore::Biquad::getFrequencyResponse):
3101         Computes the magnitude and phase (radians) response for the given
3102         biquad at the specified set of (normalized) frequencies.
3103         * platform/audio/Biquad.h:
3104         Declare getFrequencyResponse.
3105         * webaudio/BiquadDSPKernel.cpp:
3106         (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
3107         Factor out the code that updates filter coefficients.  Allow the
3108         caller to specify whether the smoothed values are used or not and
3109         whether we do the update even if the coefficients are not dirty.
3110         (WebCore::BiquadDSPKernel::process):
3111         Use updateCoefficientsIfNecessary to update.
3112         (WebCore::BiquadDSPKernel::getFrequencyResponse):
3113         Implmentation of getFrequencyResponse.
3114         * webaudio/BiquadDSPKernel.h:
3115         Declare getFrequencyResponse.
3116         * webaudio/BiquadFilterNode.cpp:
3117         (WebCore::BiquadFilterNode::getFrequencyResponse):
3118         Implementation of getFrequencyResponse
3119         * webaudio/BiquadFilterNode.h:
3120         Declare getFrequencyResponse.
3121         * webaudio/BiquadFilterNode.idl:
3122         Define interface to getFrequencyResponse.
3123         * webaudio/BiquadProcessor.cpp:
3124         (WebCore::BiquadProcessor::checkForDirtyCoefficients):
3125         Factor out code for checking for dirty coefficients.
3126         (WebCore::BiquadProcessor::process):
3127         Use checkForDirtyCoefficients.
3128         (WebCore::BiquadProcessor::getFrequencyResponse):
3129         Implementation of getFrequencyResponse
3130         * webaudio/BiquadProcessor.h:
3131         Declare getFrequencyResponse.
3132
3133 2011-11-04  Benjamin Poulain  <bpoulain@apple.com>
3134
3135         [Mac] ResourceRequest's nsURLRequest() does not differentiate null and empty URLs with CFNetwork
3136         https://bugs.webkit.org/show_bug.cgi?id=71539
3137
3138         Reviewed by David Kilzer.
3139
3140         In order to have CFURL and NSURL to be consistent when both are used on Mac,
3141         KURL::createCFURL() is changed to support empty URL values.
3142
3143         * platform/cf/KURLCFNet.cpp:
3144         (WebCore::createCFURLFromBuffer):
3145         (WebCore::KURL::createCFURL):
3146         * platform/mac/KURLMac.mm:
3147         (WebCore::KURL::operator NSURL *):
3148         (WebCore::KURL::createCFURL):
3149
3150 2011-11-04  Fady Samuel  <fsamuel@chromium.org>
3151
3152         CSS Aspect Ratio Property Parsing Stage
3153         https://bugs.webkit.org/show_bug.cgi?id=70707
3154
3155         Reviewed by Ojan Vafai.
3156
3157         Added parsing support for -webkit-aspect-ratio CSS property.
3158         The spec can be found here: http://www.xanthir.com/blog/b4810
3159
3160         Test: fast/css/aspect-ratio-parsing-tests.html
3161
3162         * CMakeLists.txt:
3163         * GNUmakefile.list.am:
3164         * Target.pri:
3165         * WebCore.gypi:
3166         * WebCore.vcproj/WebCore.vcproj:
3167         * WebCore.xcodeproj/project.pbxproj:
3168         * css/CSSAspectRatioValue.cpp: Added.
3169         (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
3170         (WebCore::CSSAspectRatioValue::cssText):
3171         * css/CSSAspectRatioValue.h: Added.
3172         (WebCore::CSSAspectRatioValue::create):
3173         (WebCore::CSSAspectRatioValue::numeratorValue):
3174         (WebCore::CSSAspectRatioValue::denominatorValue):
3175         (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
3176         * css/CSSComputedStyleDeclaration.cpp:
3177         (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
3178         * css/CSSMutableStyleDeclaration.cpp:
3179         * css/CSSParser.cpp:
3180         (WebCore::CSSParser::parseValue):
3181         (WebCore::CSSParser::parseAspectRatio):
3182         * css/CSSParser.h:
3183         * css/CSSProperty.cpp:
3184         (WebCore::CSSProperty::isInheritedProperty):
3185         * css/CSSPropertyNames.in:
3186         * css/CSSStyleSelector.cpp:
3187         (WebCore::CSSStyleSelector::applyProperty):
3188
3189 2011-11-04  Adam Barth  <abarth@webkit.org>
3190
3191         Delete FrameLoader::isSandboxed
3192         https://bugs.webkit.org/show_bug.cgi?id=71591
3193
3194         Reviewed by Eric Seidel.
3195
3196         We should always use document->securityOrigin()->isSandboxed because
3197         that picks up the sandbox bits that are frozen on the document rather
3198         than the ones that could change on the Frame.
3199
3200         This patch starts preparing us to implement the CSP sandbox directive,
3201         which will cause use to have document sandbox bits without any attribute.
3202
3203         * bindings/ScriptControllerBase.cpp:
3204         (WebCore::ScriptController::canExecuteScripts):
3205             - This call site was the only functional site left where these two
3206               could be different. This patch causes one progression and one
3207               regression. The progression is that we now correctly freeze the
3208               allow-scripts bit when a document is created, but the regression
3209               is we now allow the execution of JavaScript URLs, as noted in 
3210               fast/frames/sandboxed-iframe-scripting.html. That's even more of
3211               an edge case, so I think it's a win overall.
3212         * loader/DocumentWriter.cpp:
3213         (WebCore::DocumentWriter::begin):
3214             - I don't think this part of the change is testable. There's no
3215               time to execute script between when the bits get copied off the
3216               Frame and when they're checked, so there's no time to change them.
3217         * loader/FrameLoader.cpp:
3218             - Update FIXME comment that is now fixed.
3219         * loader/FrameLoader.h:
3220             - Remove wrong API.
3221
3222 2011-11-04  Adam Barth  <abarth@webkit.org>
3223
3224         When CSP blocks mixed content, we shouldn't also warn about mixed content
3225         https://bugs.webkit.org/show_bug.cgi?id=71588
3226
3227         Reviewed by Eric Seidel.
3228
3229         Getting both warnings confused some early adopters.  They thought the
3230         insecure loads were happening even though they blocked them with CSP.
3231         This patch restricts the mixed content warnings to show only when the
3232         load isn't already blocked by CSP or by the embedder.
3233
3234         Test: http/tests/security/contentSecurityPolicy/block-mixed-content-hides-warning.html
3235
3236         * loader/cache/CachedResourceLoader.cpp:
3237         (WebCore::CachedResourceLoader::canRequest):
3238
3239 2011-11-04  Michael Nordman  <michaeln@google.coom>
3240
3241         Allow ScriptExecutionContext::addMessage to be called from background threads.
3242         https://bugs.webkit.org/show_bug.cgi?id=71575
3243
3244         Reviewed by Nate Chapin.
3245
3246         No new tests.
3247
3248         * dom/Document.cpp:
3249         (WebCore::Document::addMessage):
3250         * dom/ScriptExecutionContext.cpp:
3251         * dom/ScriptExecutionContext.h:
3252         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
3253         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
3254         (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
3255         * workers/WorkerContext.cpp:
3256         (WebCore::WorkerContext::addMessage):
3257
3258 2011-11-04  Shawn Singh  <shawnsingh@chromium.org>
3259
3260         [chromium] Re-named the original scissorRect to clipRect
3261         https://bugs.webkit.org/show_bug.cgi?id=71580
3262
3263         Reviewed by James Robinson.
3264
3265         Existing tests are updated appropriately; and no new behavior is
3266         introduced by this patch.
3267
3268         * platform/graphics/chromium/LayerChromium.cpp:
3269         (WebCore::LayerChromium::LayerChromium):
3270         * platform/graphics/chromium/LayerChromium.h:
3271         (WebCore::LayerChromium::setUsesLayerClipping):
3272         (WebCore::LayerChromium::usesLayerClipping):
3273         (WebCore::LayerChromium::clipRect):
3274         (WebCore::LayerChromium::setClipRect):
3275         * platform/graphics/chromium/LayerRendererChromium.cpp:
3276         (WebCore::LayerRendererChromium::drawLayersInternal):
3277         (WebCore::LayerRendererChromium::drawLayer):
3278         * platform/graphics/chromium/RenderSurfaceChromium.h:
3279         (WebCore::RenderSurfaceChromium::clipRect):
3280         (WebCore::RenderSurfaceChromium::setClipRect):
3281         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
3282         (WebCore::CCLayerImpl::CCLayerImpl):
3283         * platform/graphics/chromium/cc/CCLayerImpl.h:
3284         (WebCore::CCLayerImpl::setUsesLayerClipping):
3285         (WebCore::CCLayerImpl::usesLayerClipping):
3286         (WebCore::CCLayerImpl::clipRect):
3287         (WebCore::CCLayerImpl::setClipRect):
3288         * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
3289         (WebCore::CCLayerTreeHost::updateLayers):
3290         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
3291         (WebCore::layerShouldBeSkipped):
3292         (WebCore::calculateDrawTransformsAndVisibilityInternal):
3293         * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
3294         (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
3295         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
3296         (WebCore::CCRenderSurface::draw):
3297         * platform/graphics/chromium/cc/CCRenderSurface.h:
3298         (WebCore::CCRenderSurface::setClipRect):
3299         (WebCore::CCRenderSurface::clipRect):
3300
3301 2011-11-04  Dmitry Lomov  <dslomov@google.com>
3302
3303         Add the ability to transfer ArrayBuffer and "neuter" it.
3304         https://bugs.webkit.org/show_bug.cgi?id=71535
3305
3306         Reviewed by David Levin.
3307
3308         * html/canvas/ArrayBuffer.cpp:
3309         (WebCore::ArrayBuffer::create):
3310         (WebCore::ArrayBuffer::ArrayBuffer):
3311         (WebCore::ArrayBuffer::data):
3312         (WebCore::ArrayBuffer::byteLength):
3313         (WebCore::ArrayBuffer::transfer):
3314         (WebCore::ArrayBufferContents::~ArrayBufferContents):
3315         (WebCore::ArrayBufferContents::tryAllocate):
3316         (WebCore::ArrayBuffer::addView):
3317         (WebCore::ArrayBuffer::removeView):
3318         * html/canvas/ArrayBuffer.h:
3319         (WebCore::ArrayBufferContents::ArrayBufferContents):
3320         (WebCore::ArrayBufferContents::data):
3321         (WebCore::ArrayBufferContents::sizeInBytes):
3322         (WebCore::ArrayBufferContents::release):
3323         (WebCore::ArrayBuffer::~ArrayBuffer):
3324         * html/canvas/ArrayBufferView.cpp:
3325         (WebCore::ArrayBufferView::ArrayBufferView):
3326         (WebCore::ArrayBufferView::~ArrayBufferView):
3327         (WebCore::ArrayBufferView::neuter):
3328         * html/canvas/ArrayBufferView.h:
3329         * html/canvas/DataView.cpp:
3330         (WebCore::DataView::neuter):
3331         (WebCore::DataView::neuterBinding):
3332         * html/canvas/DataView.h:
3333         * html/canvas/TypedArrayBase.h:
3334         (WebCore::TypedArrayBase::neuter):
3335         (WebCore::TypedArrayBase::neuterBinding):
3336
3337 2011-11-04  Noel Gordon  <noel.gordon@gmail.com>
3338
3339         [Chromium] Implement canvas.toDataURL("image/webp")
3340         https://bugs.webkit.org/show_bug.cgi?id=70172
3341
3342         Reviewed by Adam Barth.
3343
3344         Add a webp image encoder for the chromium skia ports, add it to the canvas
3345         element toDataURL() flow with support for an optional quality [0.0-1.0].
3346         Use a webp compression method (3) that provides good speed and compression
3347         performance for this image format, and works well for various input image
3348         types: line-art, screen-shots, and photographic images.
3349
3350         Test: fast/canvas/canvas-toDataURL-webp.html
3351
3352         * WebCore.gypi:
3353         * platform/chromium/MIMETypeRegistryChromium.cpp:
3354         (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
3355         * platform/graphics/skia/ImageBufferSkia.cpp:
3356         (WebCore::ImageToDataURL):
3357         * platform/image-encoders/skia/WEBPImageEncoder.cpp: Added.
3358         (WebCore::writeOutput):
3359         (WebCore::importPicture):
3360         (WebCore::importPictureBGRA):
3361         (WebCore::importPictureRGBA):
3362         (WebCore::encodePixels):
3363         (WebCore::WEBPImageEncoder::encode):
3364         * platform/image-encoders/skia/WEBPImageEncoder.h: Added.
3365
3366 2011-11-04  Patrick Gansterer  <paroga@webkit.org>
3367
3368         [Qt] Remove ENABLE_SQLITE from qmake files
3369         https://bugs.webkit.org/show_bug.cgi?id=71546
3370
3371         Reviewed by Simon Hausmann.
3372
3373         ENABLE_SQLITE is required to build WebCore, so remove conditions.
3374
3375         * Target.pri:
3376
3377 2011-11-04  Nate Chapin  <japhet@chromium.org>
3378
3379         [V8] Null out V8NPObject::rootObject when the owning
3380         Frame goes away.
3381         https://bugs.webkit.org/show_bug.cgi?id=71569
3382
3383         Reviewed by Adam Barth.
3384
3385         No new tests, this has only been successfully triggered
3386         using ppapi flash.
3387
3388         * bindings/v8/V8Helpers.cpp:
3389         (WebCore::toV8Context):
3390         * bindings/v8/npruntime.cpp:
3391
3392 2011-11-04  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
3393
3394         Send the submissions character encoding in hidden _charset_ field.
3395         https://bugs.webkit.org/show_bug.cgi?id=19079
3396
3397         Reviewed by Darin Adler.
3398
3399         Spec reference http://dev.w3.org/html5/spec/Overview.html#attr-fe-name-charset
3400         If _charset_ used as the name of a hidden control it should send character encoding
3401         as value while submissions.
3402
3403         Tests: http/tests/misc/char-encoding-in-hidden-charset-field-default.html
3404                http/tests/misc/char-encoding-in-hidden-charset-field-with-Big5.html
3405                http/tests/misc/char-encoding-in-hidden-charset-field-with-EUC-JP.html
3406                http/tests/misc/char-encoding-in-hidden-charset-field-with-ISO-2022-JP.html
3407                http/tests/misc/char-encoding-in-hidden-charset-field-with-Shift_JIS.html
3408                http/tests/misc/char-encoding-in-hidden-charset-field-with-accept-charset.html
3409                http/tests/misc/char-encoding-in-hidden-charset-field-with-get-method.html
3410                http/tests/misc/char-encoding-in-hidden-charset-field-with-one-field.html
3411                http/tests/misc/char-encoding-in-text-charset-field-with-value.html
3412                http/tests/misc/char-encoding-without-charset-field.html
3413
3414         * html/HiddenInputType.cpp:
3415         (WebCore::HiddenInputType::isHiddenType):
3416         (WebCore::HiddenInputType::appendFormData): For _charset_ send value as respective encodingType.
3417         * html/HiddenInputType.h: Override appendFormData for hidden control types.
3418
3419 2011-11-04  Robert Sesek  <rsesek@chromium.org>
3420
3421         [chromium] Use Chromium's copy of libWebKitSystemInterfaceLeopard.a
3422         https://bugs.webkit.org/show_bug.cgi?id=71563
3423
3424         Reviewed by Adam Barth.
3425
3426         Use libWebKitSystemInterfaceLeopard.a that's in the Chromium port,
3427         rather in WebKitLibraries/.
3428
3429         * WebCore.gyp/WebCore.gyp:
3430
3431 2011-11-04  Julien Chaffraix  <jchaffraix@webkit.org>
3432
3433         RenderLayer::styleChanged invalidates the GraphicsLayer needlessly
3434         https://bugs.webkit.org/show_bug.cgi?id=71517
3435
3436         Reviewed by Simon Fraser.
3437
3438         Unused code removal covered by existing tests.
3439
3440         The current code is invalidating the whole RenderLayerBacking as part of
3441         a style change. However this is redundant with the repainting logic which
3442         would invalidate only the necessary bits.
3443
3444         * rendering/RenderLayer.cpp:
3445         (WebCore::RenderLayer::styleChanged):
3446         Remove the invalidation code as it duplicates and defeats the repaint logic.
3447
3448 2011-11-04  Mihnea Ovidenie  <mihnea@adobe.com>
3449
3450         Correct parsing of incomplete @-webkit-region rules.
3451         https://bugs.webkit.org/show_bug.cgi?id=71514
3452
3453         Reviewed by Adam Barth.
3454
3455         Test: fast/regions/parse-incomplete-region-rule.html
3456
3457         Make sure to set the region rule to 0 on the fail branch.
3458         * css/CSSGrammar.y:
3459
3460 2011-11-04  Adam Klein  <adamk@chromium.org>
3461
3462         Reduce refcount churn in ChildListMutationScope
3463         https://bugs.webkit.org/show_bug.cgi?id=71527
3464
3465         Reviewed by Ryosuke Niwa.
3466
3467         Only the ChildListMutationAccumulator needs to hold a reference to the
3468         target node, and the added/removed children only need be ref'd if a
3469         ChildListMutationAccumulator exists (i.e., if there are interested
3470         observers).
3471
3472         * dom/ChildListMutationScope.cpp:
3473         (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
3474         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
3475         (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
3476         (WebCore::ChildListMutationScope::ChildListMutationScope):
3477         (WebCore::ChildListMutationScope::~ChildListMutationScope):
3478         (WebCore::ChildListMutationScope::childAdded):
3479         (WebCore::ChildListMutationScope::willRemoveChild):
3480         * dom/ChildListMutationScope.h:
3481         * dom/ContainerNode.cpp:
3482         (WebCore::dispatchChildInsertionEvents):
3483         (WebCore::dispatchChildRemovalEvents):
3484
3485 2011-11-04  Levi Weintraub  <leviw@chromium