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