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