Unprefix unicode-bidi CSS values
[WebKit-https.git] / Source / WebCore / ChangeLog-2012-05-22
1 2012-05-22  Vitaly Buka  <vitalybuka@chromium.org>
2
3         Fix iframe printing.
4         https://bugs.webkit.org/show_bug.cgi?id=85118
5
6         Reviewed by Darin Adler, Eric Seidel.
7
8         Patch fixed two issues by disabling special handling of subframes for printing.
9         1. Regression. Division by zero when forceLayoutForPagination called for subframes
10         and page sizes set to zero.
11         2. Old issue. RendererView adjusted layout of subframes for printing and set invalid
12         dimensions. Sometimes it caused missing iframe when printed.
13
14         Test: printing/iframe-print.html
15
16         * page/Frame.cpp:
17         (WebCore::Frame::setPrinting): Calls forceLayoutForPagination for root frames only.
18         (WebCore::Frame::resizePageRectsKeepingRatio): Added ASSERTs to catch division by zero.
19         * rendering/RenderView.cpp: Replaced printing() with shouldUsePrintingLayout() for most calls.
20         (WebCore::RenderView::computeLogicalHeight):
21         (WebCore::RenderView::computeLogicalWidth):
22         (WebCore::RenderView::layout):
23         (WebCore::RenderView::shouldUsePrintingLayout): Returns true only if printing enabled and it's a root frame.
24         (WebCore::RenderView::viewRect):
25         (WebCore::RenderView::viewHeight):
26         (WebCore::RenderView::viewWidth):
27         * rendering/RenderView.h:
28
29 2012-05-22  Rafael Brandao  <rafael.lobo@openbossa.org>
30
31         [Qt] canvas/philip/tests/2d.path.stroke.overlap.html fails with Qt-4.6.2 or higher
32         https://bugs.webkit.org/show_bug.cgi?id=40362
33
34         Reviewed by Noam Rosenthal.
35
36         Before drawing the stroke from a certain path, it should make the union of the stroke areas.
37         The previous implementation didn't consider that so the intersection was painted twice.
38         By using QPainterPathStroker, we create a QPainterPath on top of the platform path, and
39         then we fill it with the expected brush. This way we avoid repainting areas.
40
41         * platform/graphics/qt/GraphicsContextQt.cpp:
42         (WebCore::fillPathStroke):
43         (WebCore):
44         (WebCore::GraphicsContext::strokePath):
45
46 2012-05-21  Gavin Barraclough  <barraclough@apple.com>
47
48         Disable private names by default in WebCore
49         https://bugs.webkit.org/show_bug.cgi?id=87088
50
51         Reviewed by Geoff Garen.
52
53         r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
54         These are probably not yet ready to be web-facing, so disabling by default in WebCore.
55         Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.
56
57         * WebCore.exp.in:
58             - Added export.
59         * bindings/js/JSDOMWindowBase.cpp:
60         (WebCore):
61         (WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled):
62             - Override default from JSC, enable based on corresponding Setting.
63         * bindings/js/JSDOMWindowBase.h:
64         (JSDOMWindowBase):
65             - Added declaration for javaScriptExperimentsEnabled. 
66         * page/Settings.cpp:
67         (WebCore::Settings::Settings):
68         (WebCore::Settings::setJavaScriptExperimentsEnabled):
69         (WebCore):
70         * page/Settings.h:
71         (Settings):
72         (WebCore::Settings::javaScriptExperimentsEnabled):
73             - Added Setting, reflecting WebPreference.
74
75 2012-05-22  Adam Barth  <abarth@webkit.org>
76
77         !HAVE(ACCESSIBILITY) depends on AccessibilityObject::actionVerb in the Chromium Android build
78         https://bugs.webkit.org/show_bug.cgi?id=87141
79
80         Reviewed by Eric Seidel.
81
82         In the Chromium Android build there is still one remaining dependency
83         on object files in the accessibility directory:
84         AccessibilityObject::actionVerb. I missed this function in my previous
85         patch, but this patch changes it to be an inline stub.
86
87         * accessibility/AccessibilityObject.cpp:
88         (WebCore):
89         * accessibility/AccessibilityObject.h:
90         (WebCore):
91         (WebCore::actionVerb):
92         (WebCore::AccessibilityObject::lineForPosition):
93         (WebCore::AccessibilityObject::updateBackingStore):
94
95 2012-05-22  Joshua Bell  <jsbell@chromium.org>
96
97         IndexedDB: Support Array-type key paths
98         https://bugs.webkit.org/show_bug.cgi?id=84207
99
100         Reviewed by Tony Chang.
101
102         Implement IDB spec behavior that key paths can be arrays of strings; when 
103         evaluated, these yield arrays of keys, providing compound key support. Also
104         changes exception types to match the spec.
105
106         Test: storage/indexeddb/keypath-arrays.html
107         Test: storage/indexeddb/keypath-basics.html
108
109         * Modules/indexeddb/IDBDatabase.cpp:
110         (WebCore::IDBDatabase::createObjectStore): Look for both string and array in option dict,
111         throw exceptions for forbidden combinations of key generator and key paths.
112         * Modules/indexeddb/IDBObjectStore.cpp:
113         (WebCore::IDBObjectStore::createIndex): Handle special cases (accepted and forbidden).
114         (WebCore):
115         * Modules/indexeddb/IDBObjectStore.h:
116         (IDBObjectStore):
117         (WebCore::IDBObjectStore::createIndex): Overloads to satisfy IDL overloads and optional dicts.
118         * Modules/indexeddb/IDBObjectStore.idl: Add DOMString array overload.
119         * bindings/v8/IDBBindingUtilities.cpp: Implement spec logic for evaluating array key paths.
120         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
121         (WebCore):
122
123 2012-05-22  Martin Robinson  <mrobinson@igalia.com>
124
125         [GTK] REGRESSION(r116135): Keys that confirm composition trigger a default action
126         https://bugs.webkit.org/show_bug.cgi?id=86925
127
128         Reviewed by Gustavo Noronha Silva.
129
130         No new tests. Creating tests for GTK+ input methods is quite difficult, as they
131         can differ from machine to machine. It's also hard to simulate composition
132         sequences.
133
134         * platform/gtk/CompositionResults.h: Instead of holding composition results, just
135         keep a flag describing whether or not this event had results.
136         (CompositionResults):
137
138 2012-05-22  Abhishek Arya  <inferno@chromium.org>
139
140         Assertion failure (toRenderBox() called on a RenderInline) beneath RenderBlock::blockBeforeWithinSelectionRoot()
141         https://bugs.webkit.org/show_bug.cgi?id=86500
142
143         Reviewed by Ojan Vafai.
144
145         Patch by Dan Bernstein<mitz@apple.com>. I just added the test.
146
147         Test: fast/block/line-layout/selection-highlight-crash.html
148
149         * rendering/RenderBlock.cpp:
150         (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Demoted the object local variable to
151         RenderObject, changed use of parentBox() to parent(), and added toRenderBlock() in two places.
152
153 2012-05-22  Rob Buis  <rbuis@rim.com>
154
155         ASSERTs in RenderInline::layout()
156         https://bugs.webkit.org/show_bug.cgi?id=63365
157
158         Reviewed by Nikolas Zimmermann.
159
160         Do not allow creation of renderers for text content children in elements by default.
161         Subclasses like SVGTextElement override this behavior.
162         This also fixes the <a><textPath</a> case because the <a> parent decides to allow <textPath> or not:
163         http://www.w3.org/2003/01/REC-SVG11-20030114-errata#linking-text-environment
164
165         Test: svg/custom/disallowed-text-content-rendering.svg
166
167         * svg/SVGElement.cpp:
168         (WebCore::SVGElement::childShouldCreateRenderer):
169         * svg/SVGElement.h:
170         (SVGElement):
171
172 2012-05-22  Takashi Sakamoto  <tasak@google.com>
173
174         Implement DOM_KEY_LOCATION_LEFT and RIGHT of KeyboardEvent's location property
175         https://bugs.webkit.org/show_bug.cgi?id=86694
176
177         As KeyboardEvent for left/right location key, e.g. left-control,
178         right-control, provides DOM_KEY_LOCATION_STANDARD as keyLocation property,
179         modified KeyCodeConversion to make PlatformKeyboardEvent
180         provide virtual keycodes with location information, e.g. VK_LCONTROL or
181         VK_RCONTROL, and modified KeyboardEvent to generate location information
182         from the virtual keycodes, e.g. genrating DOM_KEY_LOCATION_LEFT for
183         VK_LCONTROL. KeyboardEvent also removes location information from
184         the virtual keycodes, e.g. genrating VK_CONTROL for VK_LCONTROL.
185         The location property is defined in the W3C DOM3 specification:
186         http://www.w3.org/TR/DOM-Level-3-Events/#events-keyboardevents
187
188         Reviewed by Alexey Proskuryakov.
189
190         Test: fast/events/keydown-leftright-keys.html
191
192         * dom/KeyboardEvent.cpp:
193         (WebCore::windowsVirtualKeyCodeWithoutLocation):
194         Added a function which removes location information from a given
195         keycode. For example, when VK_LCONTROL is given, returns VK_CONTROL.
196         (WebCore::keyLocationCode):
197         Added a function which provides location information from a given
198         keycode. For example, when VK_LCONTROL is given,
199         returns DOM_KEY_LOCATION_LEFT.
200         (WebCore::KeyboardEvent::KeyboardEvent):
201         Initialized m_keyLocation by using the above keyLocationCode.
202         (WebCore::KeyboardEvent::keyCode):
203         Modified to use the above two functions to initialize keycode property
204         and keylocation property.
205         * platform/chromium/KeyCodeConversionAndroid.cpp:
206         (WebCore::windowsKeyCodeForKeyEvent):
207         * platform/chromium/KeyCodeConversionGtk.cpp:
208         (WebCore::windowsKeyCodeForKeyEvent):
209         * platform/cocoa/KeyEventCocoa.mm:
210         (WebCore::windowsKeyCodeForKeyCode):
211         Modified these keycode conversions to return keycodes with location
212         information, e.g. modified keycode conversions returns VK_LCONTROL
213         for left control.
214
215 2012-05-22  Pavel Feldman  <pfeldman@chromium.org>
216
217         Web Inspector: provide content-related actions on the sources panel.
218         https://bugs.webkit.org/show_bug.cgi?id=87144
219
220         Reviewed by Vsevolod Vlasov.
221
222         Now that the authoring focus moved to the Source panel, context menu actions should follow:
223         - refactored context menu actions to be provider-based
224         - edited call sites to add applicable actions.
225
226         * English.lproj/localizedStrings.js:
227         * inspector/front-end/ContextMenu.js:
228         (WebInspector.ContextMenu.prototype.appendApplicableItems):
229         * inspector/front-end/HandlerRegistry.js:
230         (WebInspector.HandlerRegistry.prototype.unregisterHandler):
231         (WebInspector.HandlerRegistry.prototype.appendApplicableItems.doSave):
232         (WebInspector.HandlerRegistry.prototype.appendApplicableItems.save):
233         (WebInspector.HandlerRegistry.prototype.appendApplicableItems):
234         * inspector/front-end/JavaScriptSourceFrame.js:
235         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
236         * inspector/front-end/NavigatorView.js:
237         (WebInspector.NavigatorView.prototype.handleContextMenu):
238         (WebInspector.BaseNavigatorTreeElement.prototype.onattach):
239         * inspector/front-end/NetworkPanel.js:
240         (WebInspector.NetworkPanel):
241         (WebInspector.NetworkPanel.prototype.searchCanceled):
242         (WebInspector.NetworkPanel.prototype.appendApplicableItems.reveal):
243         (WebInspector.NetworkPanel.prototype.appendApplicableItems):
244         * inspector/front-end/ResourceView.js:
245         (WebInspector.ResourceSourceFrame.prototype._contentChanged):
246         (WebInspector.ResourceSourceFrame.prototype.populateTextAreaContextMenu):
247         * inspector/front-end/ResourcesPanel.js:
248         (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
249         * inspector/front-end/ScriptsPanel.js:
250         (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
251         * inspector/front-end/SourceFrame.js:
252         (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
253         * inspector/front-end/TextViewer.js:
254         (WebInspector.TextViewer.prototype._contextMenu):
255         * inspector/front-end/UIUtils.js:
256         * inspector/front-end/externs.js:
257         * inspector/front-end/inspector.js:
258         (WebInspector._doLoadedDoneWithCapabilities.get if):
259
260 2012-05-22  Nico Weber  <thakis@chromium.org>
261
262         Give FileInputType a setFiles() method, let Drag-n-Drop call it.
263         https://bugs.webkit.org/show_bug.cgi?id=87139
264
265         Reviewed by Ojan Vafai.
266
267         filesChosen(), the FileChooserClient callback, used to modify
268         m_fileList directly. Instead, convert the FileChooserClient
269         data to a FileList and pass that to a factored-out setFiles()
270         method. This is in preparation to making the files property
271         writable.
272
273         Pure refactoring, no functionality change.
274
275         * html/FileInputType.cpp:
276         (WebCore::FileInputType::toFileList):
277         (WebCore::FileInputType::setFiles):
278         (WebCore::FileInputType::filesChosen):
279         (WebCore):
280         * html/FileInputType.h:
281         (FileInputType):
282
283 2012-05-22  Vsevolod Vlasov  <vsevik@chromium.org>
284
285         Web Inspector: JavaScriptSourceFrame should be based on JavaScriptSource not UISourceCode.
286         https://bugs.webkit.org/show_bug.cgi?id=87135
287
288         Reviewed by Pavel Feldman.
289
290         Renamed _uiSourceCode to _javaScriptSource in JavaScriptSourceFrame.
291         Removed unused uiSourceCode getter from JavaScriptSourceFrame.
292
293         * inspector/front-end/JavaScriptSourceFrame.js:
294         (WebInspector.JavaScriptSourceFrame):
295         (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
296         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
297         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
298         (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
299         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
300         (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
301         (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
302         (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
303         (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
304         (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
305         (WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
306         (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
307         (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
308         * inspector/front-end/ScriptsPanel.js:
309         (WebInspector.ScriptsPanel.prototype._createSourceFrame):
310
311 2012-05-22  Lu Guanqun  <guanqun.lu@intel.com>
312
313         add OVERRIDE annotations to classes derived from CCAnimationCurve
314         https://bugs.webkit.org/show_bug.cgi?id=87073
315
316         Reviewed by James Robinson.
317
318         No new tests required.
319
320         * platform/graphics/chromium/cc/CCAnimationCurve.h:
321
322 2012-05-22  Lu Guanqun  <guanqun.lu@intel.com>
323
324         add OVERRIDE annotations to CCThreadTask
325         https://bugs.webkit.org/show_bug.cgi?id=87074
326
327         Reviewed by James Robinson.
328
329         No new tests required.
330
331         * platform/graphics/chromium/cc/CCThreadTask.h:
332
333 2012-05-22  Julien Chaffraix  <jchaffraix@webkit.org>
334
335         Centralize and clean-up table column iteration
336         https://bugs.webkit.org/show_bug.cgi?id=87051
337
338         Reviewed by Eric Seidel.
339
340         Tests: fast/table/caption-between-column-and-column-group.html
341                fast/table/caption-between-column-group-and-column.html
342                fast/table/caption-between-columns.html
343
344         The existing code had duplications between different classes and some
345         of the iterating functions could use a better place. That's what this
346         change solves, along with several renamings.
347
348         * rendering/RenderTableCol.h:
349         (WebCore::RenderTableCol::isTableColumnGroupWithColumnChildren):
350         Renamed isTableColGroup to this to better reflect what it checks.
351         Also added a new function: nextColumn.
352
353         * rendering/FixedTableLayout.cpp:
354         (WebCore::FixedTableLayout::calcWidthArray):
355         Updated after isTableColGroup renaming.
356
357         * rendering/RenderTable.cpp:
358         (WebCore::RenderTable::firstColumn):
359         Added this new function to get the first column (or column group).
360
361         (WebCore::RenderTable::colElement):
362         Cleaned up this function: switched the loop to a 'for' now that the
363         helper functions make it easy. Cleaned up the ordering and the naming.
364
365         * rendering/RenderTable.h:
366         Added firstColumn.
367
368         * rendering/RenderTableCell.cpp:
369         (WebCore::RenderTableCell::styleOrColLogicalWidth):
370         Updated to use nextColumn().
371
372         * rendering/RenderTableCol.cpp:
373         (WebCore::RenderTableCol::nextColumn):
374         Added this new helper function to centralize the code to iterate over columns.
375
376 2012-05-22  Hao Zheng  <zhenghao@chromium.org>
377
378         [chromium] Make color of spelling check marker cross-platform.
379         https://bugs.webkit.org/show_bug.cgi?id=87095
380
381         Reviewed by Adam Barth.
382
383         Pixel layout is RGBA on Android, while it is BGRA on other platforms.
384
385         No new tests. To run tests on Android.
386
387         * platform/graphics/skia/GraphicsContextSkia.cpp:
388         (WebCore::GraphicsContext::drawLineForDocumentMarker):
389
390 2012-05-22  Dana Jansens  <danakj@chromium.org>
391
392         [chromium] Expand damage from the background-blurred layer to ensure readback is only including pixels below that layer
393         https://bugs.webkit.org/show_bug.cgi?id=86884
394
395         Reviewed by Adrienne Walker.
396
397         Consider layers in back-to-front order A, B, and C, where layer B has
398         a blur background filter applied, and C exactly covers A. When B does
399         its readback to perform its blur, it should include the pixels of A
400         not C. With partial swap, if B is damaged, that damaged area will read
401         pixels from outside of the damage rect. Those pixels should use the
402         contents of A, not C, so we must expand the damage to ensure we redraw
403         all pixels that are going to be included in the blur for the current
404         frame.
405
406         Also, when a layer below B has damage outside the contentBounds of B
407         but within its blur radius, then that damage will be blurred inside B,
408         so expand all damage within B's blurred contentBounds.
409
410         Unit test: CCDamageTrackerTest.verifyDamageForBackgroundBlurredChild
411
412         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
413         (WebCore::expandRectWithFilters):
414         (WebCore::expandDamageRectInsideRectWithFilters):
415         (WebCore::CCDamageTracker::updateDamageTrackingState):
416         (WebCore::CCDamageTracker::extendDamageForRenderSurface):
417
418 2012-05-22  Mihnea Ovidenie  <mihnea@adobe.com>
419
420         [CSSRegions] Add region styling support for color property
421         https://bugs.webkit.org/show_bug.cgi?id=85633
422
423         Reviewed by David Hyatt.
424
425         Test: fast/regions/region-style-color.html
426
427         This patch extends the region styling support. In addition to background-color, it adds
428         the possibility of styling color in regions.
429
430         * css/StyleResolver.cpp:
431         (WebCore::StyleResolver::collectMatchingRulesForList):
432         * rendering/RenderFlowThread.cpp:
433         (WebCore::RenderFlowThread::removeFlowChildInfo):
434         (WebCore::RenderFlowThread::addRegionToThread):
435         (WebCore::RenderFlowThread::removeRegionFromThread):
436         (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
437         (WebCore::RenderFlowThread::setRegionRangeForBox):
438         (WebCore):
439         (WebCore::RenderFlowThread::checkRegionsWithStyling):
440         * rendering/RenderFlowThread.h:
441         * rendering/RenderInline.cpp:
442         (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
443         * rendering/RenderObjectChildList.cpp:
444         (WebCore::RenderObjectChildList::removeChildNode):
445         * rendering/RenderRegion.cpp:
446         (WebCore::RenderRegion::paintReplaced):
447         (WebCore::RenderRegion::styleDidChange):
448         (WebCore::RenderRegion::setRegionObjectsRegionStyle):
449         (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
450         (WebCore::RenderRegion::computeStyleInRegion):
451         (WebCore):
452         (WebCore::RenderRegion::computeChildrenStyleInRegion):
453         (WebCore::RenderRegion::setObjectStyleInRegion):
454         (WebCore::RenderRegion::clearObjectStyleInRegion):
455         * rendering/RenderRegion.h:
456         (RenderRegion):
457         (ObjectRegionStyleInfo):
458
459 2012-05-22  Kentaro Hara  <haraken@chromium.org>
460
461         [V8] Remove GenerateSetDOMException() from CodeGeneratorV8.pm
462         https://bugs.webkit.org/show_bug.cgi?id=87114
463
464         Reviewed by Nate Chapin.
465
466         GenerateSetDOMException() is used by only one place. This patch removes it.
467
468         No tests. No change in behavior.
469
470         * bindings/scripts/CodeGeneratorV8.pm:
471         (GenerateNormalAttrGetter):
472
473 2012-05-22  David Grogan  <dgrogan@chromium.org>
474
475         IndexedDB: Fire error when there are problems opening a DB
476         https://bugs.webkit.org/show_bug.cgi?id=85579
477
478         We used to either fire success or get into an infinite loop.
479
480         Reviewed by Tony Chang.
481
482         New unit test in
483         Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp
484
485         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
486         (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
487         (WebCore::IDBDatabaseBackendImpl::openInternal):
488         (WebCore::IDBDatabaseBackendImpl::openConnection):
489         * Modules/indexeddb/IDBDatabaseBackendImpl.h:
490         (WebCore::IDBDatabaseBackendImpl::create):
491         (IDBDatabaseBackendImpl):
492         * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
493         (WebCore::IDBFactoryBackendImpl::deleteDatabase):
494         (WebCore::IDBFactoryBackendImpl::openInternal):
495         * Modules/indexeddb/IDBFactoryBackendImpl.h:
496         (IDBFactoryBackendImpl):
497         * Modules/indexeddb/IDBLevelDBBackingStore.h:
498         (IDBLevelDBBackingStore):
499
500 2012-05-22  Nikolas Zimmermann  <nzimmermann@rim.com>
501
502         Not reviewed.
503
504         Follow-up patch after r117975, as the strict approach fires assertions.
505         CSS generated content can violate the ASSERT(child->isSVGInline() || child->isSVGInlineText()) logic.
506
507         * rendering/svg/RenderSVGText.cpp:
508         (WebCore::RenderSVGText::subtreeChildWasAdded):
509         (WebCore::RenderSVGText::subtreeChildWillBeRemoved):
510
511 2012-05-22  Dominic Mazzoni  <dmazzoni@google.com>
512
513         Chromium AX: Crash when menulist adds selected option via document.write
514         https://bugs.webkit.org/show_bug.cgi?id=87028
515
516         Reviewed by Chris Fleizach.
517
518         Test: platform/chromium/accessibility/add-to-menu-list-crashes.html
519
520         * rendering/RenderMenuList.cpp:
521         (WebCore::RenderMenuList::addChild):
522
523 2012-05-22  Nikolas Zimmermann  <nzimmermann@rim.com>
524
525         Crash in WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap
526         https://bugs.webkit.org/show_bug.cgi?id=86781
527
528         Reviewed by Rob Buis.
529
530         Always invalidate the text positioning element cache if the <text> render subtree mutates.
531         Currently only RenderSVGInlineText renderers are tracked correctly, RenderSVGInline
532         renderers like RenderSVGTSpan didn't cause text positioning element cache mutations
533         so far. Fix that.
534
535         Test: svg/custom/bug86781.html
536
537         * rendering/svg/RenderSVGInline.cpp:
538         (WebCore::RenderSVGInline::removeChild):
539         * rendering/svg/RenderSVGText.cpp:
540         (WebCore::RenderSVGText::subtreeChildWasAdded):
541         (WebCore::RenderSVGText::subtreeChildWillBeRemoved):
542         (WebCore::RenderSVGText::removeChild):
543         * rendering/svg/RenderSVGText.h:
544         (RenderSVGText):
545
546 2012-05-22  Pavel Feldman  <pfeldman@chromium.org>
547
548         Web Inspector: make "Go to source" shortcut accessible from all panels.
549         https://bugs.webkit.org/show_bug.cgi?id=87132
550
551         Reviewed by Vsevolod Vlasov.
552
553         * English.lproj/localizedStrings.js:
554         * inspector/front-end/AdvancedSearchController.js:
555         (WebInspector.AdvancedSearchController.prototype.handleShortcut):
556         * inspector/front-end/FilteredItemSelectionDialog.js:
557         (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
558         (WebInspector.OpenResourceDialog.compareFunction):
559         (WebInspector.OpenResourceDialog):
560         (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
561         (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
562         (WebInspector.OpenResourceDialog.prototype.itemsCount):
563         (WebInspector.OpenResourceDialog.prototype.requestItems):
564         (WebInspector.OpenResourceDialog.prototype.selectItem):
565         (WebInspector.OpenResourceDialog.show):
566         * inspector/front-end/ScriptsPanel.js:
567         (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
568         (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
569         * inspector/front-end/SearchController.js:
570         (WebInspector.SearchController.prototype.handleShortcut):
571         * inspector/front-end/inspector.js:
572         (WebInspector._registerShortcuts):
573         (WebInspector.documentKeyDown):
574
575 2012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>
576
577         Web Inspector: HeapSnapshot: speedUp buildAggregates.
578         https://bugs.webkit.org/show_bug.cgi?id=87131
579
580         Engine can't inline getters and use fast-case if the function has for(i in object) loops.
581
582         Reviewed by Yury Semikhatsky.
583
584         No logic changes.
585
586         * inspector/front-end/HeapSnapshot.js:
587         (WebInspector.HeapSnapshotNode.prototype.classIndex):
588         (WebInspector.HeapSnapshot.prototype._buildAggregates):
589         (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
590
591 2012-05-22  Nikolas Zimmermann  <nzimmermann@rim.com>
592
593         Crash in WebCore::RenderSVGContainer::paint
594         https://bugs.webkit.org/show_bug.cgi?id=86392
595
596         Reviewed by Rob Buis.
597
598         Modernize the <marker> code, switch to the same design pattern used for handling zero-length subpaths.
599         Decouple the generation of the marker start/mid/end positions from the actual usage of these information.
600         Only generate those marker positions if the underlying Path changes, and never else.
601
602         When figuring out the bounds for a shape, access to current set of RenderSVGResourceMarker start/mid/end resources
603         and ask the marker resources for their bounds using the previously figured out marker positions on the Path.
604         Drawing markers is handled in the same way.
605
606         Remove SVGMarkerLayoutInfo alltogether which stored raw pointers to the RenderSVGResourceMarkers.
607         We assumed that those objects would stay alive from layout() to paint(), but that assumption is wrong.
608
609         Tests: svg/custom/bug86392.html
610                svg/custom/marker-zero-length-linecaps-expected.svg
611                svg/custom/marker-zero-length-linecaps.svg
612
613         * CMakeLists.txt: Remove SVGMarkerLayoutInfo.*.
614         * GNUmakefile.list.am: Ditto.
615         * Target.pri: Ditto.
616         * WebCore.gypi: Ditto.
617         * WebCore.order: Ditto.
618         * WebCore.vcproj/WebCore.vcproj: Ditto.
619         * WebCore.xcodeproj/project.pbxproj: Ditto.
620         * rendering/svg/RenderSVGAllInOne.cpp: Ditto.
621         * rendering/svg/RenderSVGShape.cpp: Handle markers just like the existing zero leng subpath code, which is superior.
622         (WebCore::RenderSVGShape::createShape):
623         (WebCore::RenderSVGShape::layout):
624         (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
625         (WebCore::RenderSVGShape::paint):
626         (WebCore::markerForType):
627         (WebCore::RenderSVGShape::markerRect):
628         (WebCore::RenderSVGShape::inflateWithStrokeAndMarkerBounds):
629         (WebCore::RenderSVGShape::drawMarkers):
630         (WebCore::RenderSVGShape::processMarkerPositions):
631         * rendering/svg/RenderSVGShape.h:
632         (RenderSVGShape):
633         * rendering/svg/SVGMarkerData.h:
634         (WebCore::MarkerPosition::MarkerPosition):
635         (MarkerPosition):
636         (WebCore::SVGMarkerData::SVGMarkerData):
637         (WebCore::SVGMarkerData::updateFromPathElement):
638         (WebCore::SVGMarkerData::pathIsDone):
639         (SVGMarkerData):
640         (WebCore::SVGMarkerData::currentAngle):
641         * rendering/svg/SVGMarkerLayoutInfo.cpp: Removed.
642         * rendering/svg/SVGMarkerLayoutInfo.h: Removed.
643         * rendering/svg/SVGResourcesCache.cpp:
644         (WebCore::resourcesCacheFromRenderObject):
645         (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
646         * rendering/svg/SVGResourcesCache.h:
647         (SVGResourcesCache):
648
649 2012-05-22  Alexander Pavlov  <apavlov@chromium.org>
650
651         [Chromium] Implement the ContextMenuItem SubMenu type
652         https://bugs.webkit.org/show_bug.cgi?id=86625
653
654         Reviewed by Pavel Feldman.
655
656         This change is the WebKit part of a two-sided patch that adds subMenuItems to ContextMenuItem
657         and introduces code needed to handle it properly.
658
659         * platform/ContextMenuItem.h:
660         (PlatformMenuItemDescription): Add a Vector for subMenuItems.
661         * platform/PlatformMenuDescription.h:
662         (WebCore): Introduce a meaningful typedef for PlatformMenuDescription in Chromium.
663         * platform/chromium/ContextMenuChromium.cpp:
664         (WebCore::ContextMenu::itemWithAction): Search submenus when looking up a requested action id.
665         (WebCore::ContextMenu::platformDescription): Return a real PlatformMenuDescription rather than 0.
666         * platform/chromium/ContextMenuItemChromium.cpp:
667         (WebCore::ContextMenuItem::ContextMenuItem): Set submenu if one has been passed in.
668         (WebCore::ContextMenuItem::platformSubMenu): Return real subMenuItems instead of an empty PlatformMenuDescription.
669         (WebCore::ContextMenuItem::setSubMenu): Implemented.
670         (WebCore):
671
672 2012-05-22  Andrey Kosyakov  <caseq@chromium.org>
673
674         Web Inspector: use canvas to render timeline category strips in overview pane
675         https://bugs.webkit.org/show_bug.cgi?id=87109
676
677         Reviewed by Pavel Feldman.
678
679         - use canvas, not DOM to represent timeline category strips in the default overview mode
680
681         * inspector/front-end/TimelineOverviewPane.js:
682         (WebInspector.TimelineOverviewPane):
683         (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview): propagate to TimelineCategoryStrips;
684         (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged): force update of category strips;
685         (WebInspector.TimelineOverviewPane.prototype._update):
686         (WebInspector.TimelineOverviewPane.prototype.setShowShortEvents):
687         (WebInspector.TimelineCategoryStrips):
688         (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord): process one record;
689         (WebInspector.TimelineCategoryStrips.prototype.update): re-draw everything;
690         (WebInspector.TimelineCategoryStrips.prototype.setShowShortEvents):
691         (WebInspector.TimelineCategoryStrips.prototype._renderBar): render single bar;
692         (WebInspector.TimelineVerticalOverview):
693         (WebInspector.TimelineVerticalOverview.prototype._renderBar):
694         * inspector/front-end/TimelinePresentationModel.js:
695         (WebInspector.TimelinePresentationModel.categories):
696         (WebInspector.TimelinePresentationModel.createFillStyle): utility methods to create gradients for category bars;
697         (WebInspector.TimelinePresentationModel.createFillStyleForCategory):
698         (WebInspector.TimelineCategory):
699
700 2012-05-22  Pavel Feldman  <pfeldman@chromium.org>
701
702         Web Inspector: [regression] dynamically created script tab is bound to the document resource.
703         https://bugs.webkit.org/show_bug.cgi?id=87119
704
705         Reviewed by Vsevolod Vlasov.
706
707         Test: inspector/debugger/dynamic-script-tag.html
708
709         * inspector/front-end/BreakpointManager.js:
710         (WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger.didSetBreakpoint):
711         (WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger):
712         * inspector/front-end/DebuggerModel.js:
713         (WebInspector.DebuggerModel.prototype.rawLocationToUILocation):
714         * inspector/front-end/ResourceScriptMapping.js:
715         (WebInspector.ResourceScriptMapping.prototype.addScript):
716         (WebInspector.ResourceScriptMapping.prototype._shouldBindScriptToContentProvider):
717         * inspector/front-end/Script.js:
718         (WebInspector.Script.prototype.rawLocationToUILocation):
719         (WebInspector.Script.Location.prototype.update):
720
721 2012-05-22  Vsevolod Vlasov  <vsevik@chromium.org>
722
723         Web Inspector: JavaScript breakpoints disappear when Ctrl+S is pressed for the script without changes.
724         https://bugs.webkit.org/show_bug.cgi?id=87121
725
726         Reviewed by Pavel Feldman.
727
728         JavaScriptSourceFrame and StylesSourceFrame should not commit working copy unless UISourceCode is dirty.
729
730         * inspector/front-end/JavaScriptSourceFrame.js:
731         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
732         * inspector/front-end/StylesPanel.js:
733         (WebInspector.StyleSourceFrame.prototype.commitEditing):
734         * inspector/front-end/UISourceCode.js:
735         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
736
737 2012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>
738
739         Web Inspector: HeapSnapshot: speed-up calculateRetainedSize functon.
740         https://bugs.webkit.org/show_bug.cgi?id=87124
741
742         I found that in all dominators related functions we use nodeOrdinals.
743         At the moment we divide nodeIndex to nodeFieldCount and this operation too expensive for these simple algorithms.
744
745         Reviewed by Yury Semikhatsky.
746
747         Covered by existing tests.
748
749         * inspector/front-end/HeapSnapshot.js:
750         (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
751         (WebInspector.HeapSnapshot.prototype._init):
752         (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
753         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
754         (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):
755         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
756
757 2012-05-22  Yury Semikhatsky  <yurys@chromium.org>
758
759         Web Inspector: annotate InjectedScriptSource.js for closure compiler
760         https://bugs.webkit.org/show_bug.cgi?id=87120
761
762         Reviewed by Pavel Feldman.
763
764         Annotated InjectedScriptSource.js for closure compiler. Replaced call of undefined
765         _isPrimitiveValue function with isPrimitiveValue.
766
767         * inspector/InjectedScriptExterns.js: Added. External APIs used in InjectedScriptSource.js
768         (console.log):
769         (InjectedScriptHost.prototype.storageId):
770         (InjectedScriptHost.prototype.functionDetails):
771         (InjectedScriptHost.prototype.isHTMLAllCollection):
772         (InjectedScriptHost.prototype.internalConstructorName):
773         (InjectedScriptHost.prototype.copyText):
774         (InjectedScriptHost.prototype.clearConsoleMessages):
775         (InjectedScriptHost.prototype.inspectedObject):
776         (InjectedScriptHost.prototype.databaseId):
777         (InjectedScriptHost.prototype.inspect):
778         (InjectedScriptHost.prototype.type):
779         (InjectedScriptHost.prototype.getEventListeners):
780         (JavaScriptCallFrame.prototype.scopeType):
781         * inspector/InjectedScriptSource.js:
782
783 2012-05-22  Ian Vollick  <vollick@chromium.org>
784
785         [chromium] Speed up CCLayerTreeHostTestTickAnimationWhileBackgrounded
786         https://bugs.webkit.org/show_bug.cgi?id=86871
787
788         Reviewed by James Robinson.
789
790         With this patch, the background animation timer is lazily created,
791         allowing for different time intervals to be used. In particular, a
792         very short interval for unit tests.
793
794         Unit tests: CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThread
795                     CCLayerTreeHostTestTickAnimationWhileBackgrounded.runMultiThread
796
797         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
798         (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
799         (WebCore::CCLayerTreeHostImpl::setBackgroundTickingEnabled):
800         (WebCore):
801         (WebCore::CCLayerTreeHostImpl::setVisible):
802         (WebCore::CCLayerTreeHostImpl::animateLayers):
803         (WebCore::CCLayerTreeHostImpl::lowFrequencyAnimationInterval):
804         * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
805         (CCLayerTreeHostImpl):
806         * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
807         (WebCore::CCSingleThreadProxy::setVisible):
808
809 2012-05-22  Alexander Pavlov  <apavlov@chromium.org>
810
811         Web Inspector: [Styles] Odd synthetic shorthands may appear in the style
812         https://bugs.webkit.org/show_bug.cgi?id=87081
813
814         Reviewed by Vsevolod Vlasov.
815
816         * inspector/front-end/StylesSidebarPane.js:
817         (WebInspector.StylePropertiesSection.prototype.onpopulate):
818
819 2012-05-22  Hayato Ito  <hayato@chromium.org>
820
821         Fix crashes when a mouse points a <svg> element in shadow DOM subtree.
822         https://bugs.webkit.org/show_bug.cgi?id=86795
823
824         Reviewed by Nikolas Zimmermann.
825
826         <svg> elements in shadow dom subtree are still not supported.
827         This fixes only crashes.
828
829         Test: fast/dom/shadow/shadow-dom-event-dispatching.html
830
831         * dom/EventDispatcher.cpp:
832         (WebCore::eventTargetRespectingSVGTargetRules):
833         * page/EventHandler.cpp:
834         (WebCore::instanceAssociatedWithShadowTreeElement):
835
836 2012-05-22  Andreas Kling  <kling@webkit.org>
837
838         DOM Attr objects pointing to "style" attribute should force reification when read.
839         <http://webkit.org/b/87076>
840
841         Reviewed by Antti Koivisto.
842
843         Make sure that the "style" attribute is reserialized as needed when it gets retrieved
844         through an Attr object. This fixes a bug where updating an element's inline style
845         through the CSSOM API, and then retrieving the style attribute through an Attr node
846         that was previously created by element.getAttributeNode() would return the old style
847         attribute value.
848
849         Test: fast/dom/attr-style-too-lazy.html
850
851         * dom/Attr.cpp:
852         (WebCore::Attr::value):
853
854 2012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>
855
856         Web Inspector: HeapProfiler: upstream retainedSize calculation.
857         https://bugs.webkit.org/show_bug.cgi?id=87107
858
859         This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end.
860         After that we will be able to drop retainedSize field from the snapshot serialized data.
861         See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
862
863         Reviewed by Yury Semikhatsky.
864
865         * inspector/front-end/HeapSnapshot.js:
866         (WebInspector.HeapSnapshotNode.prototype.get retainedSize):
867         (WebInspector.HeapSnapshot.prototype._init):
868         (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):
869
870 2012-05-22  Emil A Eklund  <eae@chromium.org>
871
872         Change RenderBlock to user RenderBox/RenderInline writing mode logic
873         https://bugs.webkit.org/show_bug.cgi?id=87040
874
875         Reviewed by Eric Seidel.
876
877         Remove unnecessary writing mode logic in RenderBlock and use the
878         implementation in RenderBox and RenderInline instead.
879
880         No new tests, no change in functionality.
881
882         * rendering/RenderBlock.cpp:
883         (WebCore):
884         * rendering/RenderBlock.h:
885         (WebCore::RenderBlock::marginBeforeForChild):
886         (WebCore::RenderBlock::marginAfterForChild):
887         (WebCore::RenderBlock::marginStartForChild):
888         (WebCore::RenderBlock::marginEndForChild):
889         (WebCore::RenderBlock::setMarginStartForChild):
890         (WebCore::RenderBlock::setMarginEndForChild):
891         (WebCore::RenderBlock::setMarginBeforeForChild):
892         (WebCore::RenderBlock::setMarginAfterForChild):
893         * rendering/RenderBox.cpp:
894         (WebCore::RenderBox::marginBefore):
895         (WebCore::RenderBox::marginAfter):
896         (WebCore::RenderBox::marginStart):
897         (WebCore::RenderBox::marginEnd):
898         (WebCore::RenderBox::setMarginStart):
899         (WebCore::RenderBox::setMarginEnd):
900         (WebCore::RenderBox::setMarginBefore):
901         (WebCore::RenderBox::setMarginAfter):
902         * rendering/RenderBox.h:
903         (RenderBox):
904         * rendering/RenderBoxModelObject.h:
905         (RenderBoxModelObject):
906         * rendering/RenderInline.cpp:
907         (WebCore::RenderInline::marginStart):
908         (WebCore::RenderInline::marginEnd):
909         (WebCore::RenderInline::marginBefore):
910         (WebCore::RenderInline::marginAfter):
911         * rendering/RenderInline.h:
912         (RenderInline):
913
914 2012-05-22  Li Yin  <li.yin@intel.com>
915
916         [WebSocket] WebSocket object should fire a simple event named error when it is required to fail the websocket connection.
917         https://bugs.webkit.org/show_bug.cgi?id=86958
918
919         Reviewed by Kent Tamura.
920
921         Spec:http://dev.w3.org/html5/websockets/#feedback-from-the-protocol
922         If the user agent was required to fail the websocket connection or the 
923         WebSocket connection is closed with prejudice, fire a simple event 
924         named error at the WebSocket object.
925
926         Tests: http/tests/websocket/tests/hybi/close.html
927
928         * Modules/websockets/WebSocket.cpp:
929         (WebCore::WebSocket::didReceiveMessageError):
930         * Modules/websockets/WebSocketChannel.cpp:
931         (WebCore::WebSocketChannel::fail):
932
933 2012-05-22  Yury Semikhatsky  <yurys@chromium.org>
934
935         Web Inspector: allow showing selected object in another heap profiler view
936         https://bugs.webkit.org/show_bug.cgi?id=87098
937
938         Reviewed by Vsevolod Vlasov.
939
940         Added 2 context menu actions: 1) to jump from a node in the heap snapshot summary
941         view to the same node in the dominators view; 2) to jump from a node in the dominators
942         view to the same node in the summary view.
943
944         * inspector/front-end/HeapSnapshotDataGrids.js:
945         (WebInspector.HeapSnapshotSortableDataGrid): "sorting complete" event is only dispatched on
946         when the data grid is populated. If we switch to already populated data grid the event is not
947         dispatched. However when switching between different views of a heap snapshot we want to track
948         the moment when the data grid is shown and populated. I added
949         WebInspector.HeapSnapshotSortableDataGrid.Events.ContentShown for such cases. The event will always
950         be dispatched after the data grid is shown and its content is populated.
951         (WebInspector.HeapSnapshotSortableDataGrid.prototype.wasShown):
952         (WebInspector.HeapSnapshotSortableDataGrid.prototype._sortingComplete):
953         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
954         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
955         (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
956         (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
957         * inspector/front-end/HeapSnapshotGridNodes.js:
958         (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
959         (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId):
960         * inspector/front-end/HeapSnapshotView.js:
961         (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
962         (WebInspector.HeapSnapshotView.prototype.changeView.dataGridContentShown):
963         (WebInspector.HeapSnapshotView.prototype.changeView):
964         (WebInspector.HeapSnapshotView.prototype._onSelectedViewChanged):
965         (WebInspector.HeapSnapshotView.prototype._changeView):
966         * inspector/front-end/ProfilesPanel.js:
967         (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
968
969 2012-05-22  Yury Semikhatsky  <yurys@chromium.org>
970
971         Web Inspector: show more button node should have height multiple of row height
972         https://bugs.webkit.org/show_bug.cgi?id=87104
973
974         Reviewed by Vsevolod Vlasov.
975
976         Made "show more" button height multiple of the data grid row height.
977
978         * inspector/front-end/ShowMoreDataGridNode.js:
979         (WebInspector.ShowMoreDataGridNode.prototype.nodeHeight):
980         * inspector/front-end/dataGrid.css:
981         (.data-grid button):
982
983 2012-05-22  Kentaro Hara  <haraken@chromium.org>
984
985         [V8] Add an optional 'isolate' argument to throwTypeError()
986         https://bugs.webkit.org/show_bug.cgi?id=87070
987
988         Reviewed by Adam Barth.
989
990         The objective is to pass Isolate around in V8 bindings.
991         This patch adds an optional 'isolate' argument to throwTypeError(),
992         and passes Isolate to throwTypeError()s. In a following patch,
993         I'll pass Isolate to all throwTypeError("message")s.
994
995         No tests. No change in behavior.
996
997         * bindings/scripts/CodeGeneratorV8.pm:
998         (GenerateNormalAttrSetter):
999         (GenerateOverloadedFunctionCallback):
1000         (GenerateParametersCheck):
1001         * bindings/scripts/test/V8/V8TestObj.cpp:
1002         (WebCore::TestObjV8Internal::overloadedMethodCallback):
1003         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
1004         * bindings/v8/V8Proxy.cpp:
1005         (WebCore::V8Proxy::throwTypeError):
1006         * bindings/v8/V8Proxy.h:
1007         (V8Proxy):
1008         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1009         (WebCore::constructWebGLArray):
1010         * bindings/v8/custom/V8DataViewCustom.cpp:
1011         (WebCore::V8DataView::constructorCallback):
1012         * bindings/v8/custom/V8SVGLengthCustom.cpp:
1013         (WebCore::V8SVGLength::valueAccessorSetter):
1014         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1015         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1016         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1017         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1018         (WebCore::V8WebGLRenderingContext::getUniformCallback):
1019         (WebCore::vertexAttribAndUniformHelperf):
1020         (WebCore::uniformHelperi):
1021         (WebCore::uniformMatrixHelper):
1022
1023 2012-05-22  Yoshifumi Inoue  <yosin@chromium.org>
1024
1025         [Forms][Meter][Progress] Change function signature of parseToDoubleForNumberType
1026         https://bugs.webkit.org/show_bug.cgi?id=87077
1027
1028         Reviewed by Hajime Morita.
1029
1030         This patch changes function signature of parseToDoubleForNumberType and
1031         parseToDoubleForNumberTypeWithDecimalPlaces to return double value instead
1032         of bool for reducing code in call sites for ease of maintenance. This patch
1033         also allows to use functional style of using these functions.
1034
1035         No new tests. This patch doesn't change behavior.
1036
1037         * html/HTMLMeterElement.cpp:
1038         (WebCore::HTMLMeterElement::min): Changed for using double return value.
1039         (WebCore::HTMLMeterElement::max): Changed for using double return value.
1040         (WebCore::HTMLMeterElement::value): Changed for using double return value.
1041         (WebCore::HTMLMeterElement::low): Changed for using double return value.
1042         (WebCore::HTMLMeterElement::high): Changed for using double return value.
1043         (WebCore::HTMLMeterElement::optimum): Changed for using double return value.
1044         * html/HTMLProgressElement.cpp:
1045         (WebCore::HTMLProgressElement::value): Changed for using double return value.
1046         (WebCore::HTMLProgressElement::max): Changed for using double return value.
1047         * html/NumberInputType.cpp:
1048         (WebCore::NumberInputType::typeMismatchFor): Changed for using double return value.
1049         (WebCore::NumberInputType::sizeShouldIncludeDecoration): Changed for using double return value.
1050         (WebCore::NumberInputType::parseToDouble): Changed for using double return value.
1051         (WebCore::NumberInputType::parseToDoubleWithDecimalPlaces): Changed for using double return value.
1052         (WebCore::NumberInputType::visibleValue): Changed for using double return value.
1053         (WebCore::NumberInputType::sanitizeValue): Changed for using double return value.
1054         * html/RangeInputType.cpp:
1055         (WebCore::RangeInputType::parseToDouble): Changed for using double return value.
1056         * html/StepRange.cpp:
1057         (WebCore::StepRange::parseStep): Changed for using double return value.
1058         * html/StepRange.h:
1059         (WebCore::StepRange::defaultValue): Added "const" attribute
1060         (WebCore::StepRange::proportionFromValue): Added "const" attribute
1061         (WebCore::StepRange::valueFromProportion): Added "const" attribute
1062         * html/parser/HTMLParserIdioms.cpp:
1063         (WebCore::parseToDoubleForNumberType): Changed for using double return value. Added one parameter function.
1064         (WebCore::parseToDoubleForNumberTypeWithDecimalPlaces): Changed for using double return value. Added function for providing default fallback value.
1065         * html/parser/HTMLParserIdioms.h: Changed function prototype and added one parameter prototypes.
1066         * html/shadow/SliderThumbElement.cpp:
1067         (WebCore::sliderPosition): Changed for using double return value.
1068
1069 2012-05-22  Kentaro Hara  <haraken@chromium.org>
1070
1071         REGRESSION r110315: Event handler throws TypeError for an input element with name="arguments"
1072         https://bugs.webkit.org/show_bug.cgi?id=86991
1073
1074         Reviewed by Ojan Vafai.
1075
1076         Original Chromium bug: http://code.google.com/p/chromium/issues/detail?id=128723
1077
1078         Consider the following html:
1079
1080         <html><body><form>
1081         <input type="hidden" name="arguments"></input>
1082         <div onclick="onclicked()" id="divInsideForm">Click here</div>
1083         </form></body>
1084         <script>
1085         function onclicked() {
1086           alert("onclicked");
1087         }
1088         </script>
1089         </html>
1090
1091         If we click "Click here", JavaScript throws "Uncaught TypeError: undefined has no properties".
1092
1093         This is a regression caused by r110315. V8LazyEventListener should not use
1094         'arguments' to retrieve the execution contexts, since 'arguments' can be
1095         shadowed by JavaScript.
1096
1097         This patch changes V8LazyEventListener so that it retrieves contexts
1098         by this[2], this[1] and this[0].
1099
1100         Test: fast/forms/form-input-named-arguments.html
1101
1102         * bindings/v8/V8LazyEventListener.cpp:
1103         (WebCore::V8LazyEventListener::prepareListenerObject):
1104
1105 2012-05-22  Kentaro Hara  <haraken@chromium.org>
1106
1107         [V8] setDOMException() should return v8::Handle<v8::Value>()
1108         https://bugs.webkit.org/show_bug.cgi?id=87083
1109
1110         Reviewed by Adam Barth.
1111
1112         The following patterns are used here and there in V8 bindings:
1113
1114             setDOMException();
1115             return v8::Handle<v8::Value>();
1116
1117         and
1118
1119             setDOMException();
1120             return v8::Undefined();
1121
1122         By returning v8::Handle<v8::Value>() from setDOMException(), we can simplify the above patterns into this:
1123
1124             return setDOMException();
1125
1126         This patch just replaces the code in CodeGeneratorV8.pm. I'll replace
1127         all other custom bindings in a follow-up patch.
1128
1129         No tests. No change in behavior.
1130
1131         * bindings/scripts/CodeGeneratorV8.pm:
1132         (GenerateSetDOMException):
1133         (GenerateFunctionCallback):
1134         (GenerateFunctionCallString):
1135         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1136         (WebCore::TestEventTargetV8Internal::itemCallback):
1137         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
1138         * bindings/scripts/test/V8/V8TestInterface.cpp:
1139         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
1140         * bindings/scripts/test/V8/V8TestObj.cpp:
1141         (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
1142         (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
1143         (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
1144         (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
1145         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
1146         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
1147         (WebCore::TestObjV8Internal::methodWithExceptionCallback):
1148         (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
1149         (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
1150         (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
1151         (WebCore::TestObjV8Internal::getSVGDocumentCallback):
1152         (WebCore::TestObjV8Internal::strictFunctionCallback):
1153         * bindings/v8/V8Proxy.cpp:
1154         (WebCore::V8Proxy::setDOMException):
1155         * bindings/v8/V8Proxy.h:
1156         (V8Proxy):
1157
1158 2012-05-22  MORITA Hajime  <morrita@google.com>
1159
1160         Unreviewed expectations update against r117989.
1161
1162         * bindings/scripts/test/V8/V8Float64Array.cpp:
1163         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1164         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1165         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1166         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1167         * bindings/scripts/test/V8/V8TestException.cpp:
1168         * bindings/scripts/test/V8/V8TestInterface.cpp:
1169         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1170         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1171         * bindings/scripts/test/V8/V8TestNode.cpp:
1172         * bindings/scripts/test/V8/V8TestObj.cpp:
1173         (WebCore::V8TestObj::installPerContextProperties):
1174         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1175
1176 2012-05-21  Ilya Tikhonovsky  <loislo@chromium.org>
1177
1178         Web Inspector: migrate dominatorIndex code to the front-end calculated dominatorsTree.
1179         https://bugs.webkit.org/show_bug.cgi?id=87024
1180
1181         Reviewed by Yury Semikhatsky.
1182
1183         * inspector/front-end/HeapSnapshot.js:
1184         (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
1185         (WebInspector.HeapSnapshot.prototype._init):
1186
1187 2012-05-22  Kentaro Hara  <haraken@chromium.org>
1188
1189         [V8] Replace 'throwError(); return Undefined();' with 'return throwError()'
1190         https://bugs.webkit.org/show_bug.cgi?id=87079
1191
1192         Reviewed by Adam Barth.
1193
1194         This patch replaces
1195
1196             throwError();
1197             return v8::Undefined();
1198
1199         with
1200
1201             return throwError();
1202
1203         No tests. No change in behavior.
1204
1205         * bindings/v8/DateExtension.cpp:
1206         (WebCore::DateExtension::OnSleepDetected):
1207         * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1208         (WebCore::V8HTMLDocument::openCallback):
1209         * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1210         (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
1211         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1212         (WebCore::V8SQLResultSetRowList::itemCallback):
1213         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1214         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1215         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1216         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1217         (WebCore::V8WebGLRenderingContext::getUniformCallback):
1218         (WebCore::vertexAttribAndUniformHelperf):
1219         (WebCore::uniformHelperi):
1220         (WebCore::uniformMatrixHelper):
1221
1222 2012-05-22  Kenneth Russell  <kbr@google.com>
1223
1224         Must set/reset pixel unpack alignment to 1 during texSubImage2D
1225         https://bugs.webkit.org/show_bug.cgi?id=86877
1226
1227         Reviewed by James Robinson.
1228
1229         Set pixel unpack alignment to 1 during upload, resetting afterward.
1230
1231         Tests: fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565.html
1232                fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444.html
1233                fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551.html
1234                fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas.html
1235                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565.html
1236                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444.html
1237                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551.html
1238                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565.html
1239                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444.html
1240                fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551.html
1241
1242         * html/canvas/WebGLRenderingContext.cpp:
1243         (WebCore::WebGLRenderingContext::texSubImage2DImpl):
1244         (WebCore::WebGLRenderingContext::texSubImage2D):
1245             Set pixel unpack alignment to 1 during upload; reset afterward.
1246
1247 2012-05-21  Sam D  <dsam2912@gmail.com>
1248
1249         Web Inspector: "Deactivate All Breakpoints" should visually get reflected in Breakpoints pane.
1250         https://bugs.webkit.org/show_bug.cgi?id=86844
1251
1252         Reviewed by Pavel Feldman.
1253
1254         Added an option for activate/deactivate breakpoints into Breakpoints
1255         pane section. Style properties has been attached with
1256         breakpoint list to reflect active state of breakpoints.
1257
1258         No new tests. UI Change.
1259
1260         * English.lproj/localizedStrings.js:
1261         * inspector/front-end/BreakpointsSidebarPane.js:
1262         (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
1263         * inspector/front-end/ScriptsPanel.js:
1264         (WebInspector.ScriptsPanel.prototype._breakpointsActiveStateChanged):
1265         * inspector/front-end/inspector.css:
1266         (.breakpoints-list-deactivated):
1267
1268 2012-05-21  Alexis Menard  <alexis.menard@openbossa.org>
1269
1270         Web Inspector: Remove some dead code in CSSStyleModel.js.
1271         https://bugs.webkit.org/show_bug.cgi?id=87048
1272
1273         Reviewed by Pavel Feldman.
1274
1275         Remove dead and unused code in CSSStyleModel.js.
1276
1277         No new tests : the code is supposedly dead so we should not have
1278         any regressions.
1279
1280         * inspector/front-end/CSSStyleModel.js:
1281
1282 2012-05-21  Adam Barth  <abarth@webkit.org>
1283
1284         !HAVE(ACCESSIBILITY) should be able to build without linking in any code from WebCore/accessibility
1285         https://bugs.webkit.org/show_bug.cgi?id=87035
1286
1287         Reviewed by Chris Fleizach.
1288
1289         The OS(ANDROID) already builds with !HAVE(ACCESSIBILITY), but because
1290         there are a few straggling references to objects in the
1291         WebCore/accessibility directory, we end up pulling in a bunch of code
1292         into the binary that we don't need.
1293
1294         This patch stubs out a few more functions for !HAVE(ACCESSIBILITY) so
1295         we can link without any objects from WebCore/accessibility. This patch
1296         also locks in that property by actually excluding the
1297         WebCore/accessibility directory from the build on OS(ANDROID).
1298
1299         * WebCore.gyp/WebCore.gyp:
1300         * accessibility/AXObjectCache.h:
1301         (AXObjectCache):
1302         (WebCore::AXObjectCache::enableAccessibility):
1303         (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
1304         (WebCore::AXObjectCache::accessibilityEnabled):
1305         (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
1306         (WebCore::AXObjectCache::AXObjectCache):
1307         (WebCore::AXObjectCache::~AXObjectCache):
1308         (WebCore::AXObjectCache::get):
1309         (WebCore::AXObjectCache::getOrCreate):
1310         (WebCore::AXObjectCache::rootObject):
1311         (WebCore::AXObjectCache::rootObjectForFrame):
1312         (WebCore::AXObjectCache::rootAXEditableElement):
1313         (WebCore::AXObjectCache::childrenChanged):
1314         (WebCore::AXObjectCache::contentChanged):
1315         (WebCore::AXObjectCache::detachWrapper):
1316         (WebCore::AXObjectCache::handleActiveDescendantChanged):
1317         (WebCore::AXObjectCache::handleAriaRoleChanged):
1318         (WebCore::AXObjectCache::handleFocusedUIElementChanged):
1319         (WebCore::AXObjectCache::handleScrolledToAnchor):
1320         (WebCore::AXObjectCache::nodeTextChangeNotification):
1321         (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
1322         (WebCore::AXObjectCache::postNotification):
1323         (WebCore::AXObjectCache::postPlatformNotification):
1324         (WebCore::AXObjectCache::remove):
1325         (WebCore::AXObjectCache::selectedChildrenChanged):
1326         * accessibility/AccessibilityObject.h:
1327         (WebCore):
1328         (WebCore::AccessibilityObject::updateBackingStore):
1329         (WebCore::AccessibilityObject::lineForPosition):
1330         (WebCore::AccessibilityObject::children):
1331
1332 2012-05-21  Andreas Kling  <kling@webkit.org>
1333
1334         Use stack-allocated BitArray in StylePropertySet serialization.
1335         <http://webkit.org/b/87071>
1336
1337         Reviewed by Anders Carlsson.
1338
1339         Use BitArray instead of BitVector to track seen properties in StylePropertySet::asText().
1340         This removes two heap allocations from this path.
1341
1342         * css/StylePropertySet.cpp:
1343         (WebCore::StylePropertySet::asText):
1344
1345 2012-05-21  Hajime Morrita  <morrita@chromium.org>
1346
1347         Unreviewed Qt build fix against r117898.
1348
1349         * Target.pri:
1350
1351 2012-05-21  Hajime Morrita  <morrita@chromium.org>
1352
1353         [V8] Shadow DOM should be per-window-configurable.
1354         https://bugs.webkit.org/show_bug.cgi?id=86555
1355
1356         Reviewed by Kentaro Hara.
1357
1358         This change introduces an IDL attribute named "V8EnabledAtContext"
1359         which allows DOMWindow properties to be turned on or off per
1360         windows basis. RuntimeEnabledFeatures::xxxAllowed() method decides the availability.
1361
1362         - CodeGeneratorV8.pm now accepts V8EnabledAtContext and allows such properties
1363           to be configured per-Object basis, instead of per-ObjectTemplate basis.
1364           The script generates V8Window::installPerContextProperties(), which injects such
1365           per-object-turnable properties to newly created DOMWindow wrapper.
1366         - Added RuntimeEnabledFeatures::shadowDOMAllowed(DOMWindow*) which is used to
1367           decide the shadow dom availability of Shadow DOM feature.
1368           It delegates the call to FrameLoaderClient::shadowDOMAllowed() to make the decision.
1369         - The new IDL attribute is applied to DOMWindow.WebKitShadowRoot.
1370         - Updated existing shadowDOMEnabled() call sites with shadowDOMAllowed().
1371
1372         No new tests except run-bindings-test. This isn't testable from
1373         DRT and this change itself doesn't chagne the behaviour.  It needs
1374         a client implementation.
1375
1376         * CMakeLists.txt:
1377         * GNUmakefile.list.am:
1378         * Target.pri:
1379         * WebCore.gypi:
1380         * WebCore.vcproj/WebCore.vcproj:
1381         * WebCore.xcodeproj/project.pbxproj:
1382         * bindings/generic/ContextEnabledFeatures.cpp: Added.
1383         (WebCore):
1384         (WebCore::ContextEnabledFeatures::shadowDOMEnabled):
1385         * bindings/generic/ContextEnabledFeatures.h: Added.
1386         (WebCore):
1387         (ContextEnabledFeatures):
1388         * bindings/scripts/CodeGeneratorV8.pm:
1389         (GenerateHeader):
1390         (GenerateImplementation):
1391         (GetContextEnableFunction):
1392         * bindings/scripts/IDLAttributes.txt:
1393         * bindings/scripts/test/TestObj.idl:
1394         * bindings/scripts/test/V8/V8TestObj.cpp:
1395         (WebCore::TestObjV8Internal::enabledAtContextAttr1AttrGetter):
1396         (TestObjV8Internal):
1397         (WebCore::TestObjV8Internal::enabledAtContextAttr1AttrSetter):
1398         (WebCore::TestObjV8Internal::enabledAtContextAttr2AttrGetter):
1399         (WebCore::TestObjV8Internal::enabledAtContextAttr2AttrSetter):
1400         (WebCore::V8TestObj::installPerContextProperties):
1401         * bindings/scripts/test/V8/V8TestObj.h:
1402         (V8TestObj):
1403         * bindings/v8/V8DOMWindowShell.cpp:
1404         (WebCore::V8DOMWindowShell::installDOMWindow): Adopted installPerContextProperties()
1405         * bindings/v8/V8Proxy.h:
1406         (WebCore):
1407         (WebCore::configureAttribute): Generalized to accept both ObjectTemplate and Object.
1408         * dom/Position.cpp: Adopted ContextEnabledFeatures
1409         (WebCore::Position::Position):
1410         (WebCore::Position::findParent):
1411         * dom/ShadowRoot.idl:
1412         * dom/TreeScope.cpp:
1413         (WebCore::TreeScope::getSelection):
1414         * html/shadow/HTMLContentElement.cpp: Adopted ContextEnabledFeatures
1415         (WebCore::contentTagName):
1416         (WebCore::HTMLContentElement::create):
1417         * loader/FrameLoaderClient.h:
1418         (FrameLoaderClient):
1419         (WebCore::FrameLoaderClient::shadowDOMAllowed): Added with a default behavior.
1420         * page/DOMWindow.cpp:
1421         * page/DOMWindow.idl:
1422
1423
1424 2012-05-21  Tony Chang  <tony@chromium.org>
1425
1426         auto margins on flexbox should allocate space in the flex direction
1427         https://bugs.webkit.org/show_bug.cgi?id=83086
1428
1429         Reviewed by Ojan Vafai.
1430
1431         Test: css3/flexbox/flex-flow-auto-margins.html
1432
1433         * rendering/RenderFlexibleBox.cpp:
1434         (WebCore::RenderFlexibleBox::autoMarginOffsetInMainAxis):
1435         (WebCore):
1436         (WebCore::RenderFlexibleBox::updateAutoMarginsInMainAxis):
1437         (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Update the margins on the RenderBox *after* we do the final child layout.
1438         * rendering/RenderFlexibleBox.h:
1439
1440 2012-05-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1441
1442         [EFL] Add inital mediaControlsEflfullscreen.css for fullscreen control UI
1443         https://bugs.webkit.org/show_bug.cgi?id=86988
1444
1445         Reviewed by Eric Carlson.
1446
1447         In order to support fullscreen feature, EFL port needs to have new css file for fullscreen media control UI.
1448
1449         No new tests because this patch is covered by existing tests.
1450
1451         * PlatformEfl.cmake:
1452         * css/mediaControlsEflFullscreen.css: Added.
1453         (video::-webkit-media-controls-panel):
1454         (video:-webkit-full-page-media::-webkit-media-controls-panel):
1455         (video::-webkit-media-controls-mute-button):
1456         (video::-webkit-media-controls-play-button):
1457         (video::-webkit-media-controls-timeline-container):
1458         (video::-webkit-media-controls-current-time-display):
1459         (video::-webkit-media-controls-time-remaining-display):
1460         (video::-webkit-media-controls-timeline):
1461         (video::-webkit-media-controls-volume-slider-container):
1462         (video::-webkit-media-controls-volume-slider):
1463         (video::-webkit-media-controls-seek-back-button):
1464         (video::-webkit-media-controls-seek-forward-button):
1465         (video::-webkit-media-controls-fullscreen-button):
1466         (video::-webkit-media-controls-rewind-button):
1467         (video::-webkit-media-controls-return-to-realtime-button):
1468         (video::-webkit-media-controls-toggle-closed-captions-button):
1469         * platform/efl/RenderThemeEfl.cpp:
1470         (WebCore):
1471         (WebCore::RenderThemeEfl::extraFullScreenStyleSheet):
1472         * platform/efl/RenderThemeEfl.h:
1473         (RenderThemeEfl):
1474
1475 2012-05-21  Kentaro Hara  <haraken@chromium.org>
1476
1477         [V8] Remove V8Proxy::notHandledByInterceptor()
1478         https://bugs.webkit.org/show_bug.cgi?id=86831
1479
1480         Reviewed by Adam Barth.
1481
1482         This patch replaces 'return V8Proxy::notHandledByInterceptor()'
1483         with 'return v8::Handle<v8::Value>()'. See the discussion in
1484         https://bugs.webkit.org/show_bug.cgi?id=85330 for more details.
1485
1486         No tests. No change in behavior.
1487
1488         * bindings/scripts/CodeGeneratorV8.pm:
1489         (GenerateOverloadedFunctionCallback):
1490         (GenerateParametersCheck):
1491         * bindings/scripts/test/V8/V8TestObj.cpp:
1492         (WebCore::TestObjV8Internal::overloadedMethodCallback):
1493         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
1494         * bindings/v8/V8Collection.h:
1495         (WebCore::collectionNamedPropertyGetter):
1496         * bindings/v8/V8DOMWrapper.cpp:
1497         (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1498         * bindings/v8/V8NPObject.cpp:
1499         (WebCore::npObjectSetProperty):
1500         * bindings/v8/V8Proxy.cpp:
1501         (WebCore::V8Proxy::runScript):
1502         (WebCore::V8Proxy::throwError):
1503         * bindings/v8/V8Proxy.h:
1504         (WebCore):
1505         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1506         (WebCore::constructWebGLArrayWithArrayBufferArgument):
1507         (WebCore::setWebGLArrayHelper):
1508         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1509         (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
1510         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
1511         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1512         (WebCore::V8DOMStringMap::namedPropertyGetter):
1513         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1514         (WebCore::V8DOMWindow::indexedPropertyGetter):
1515         (WebCore::V8DOMWindow::namedPropertyGetter):
1516         * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1517         (WebCore::V8HTMLAllCollection::namedPropertyGetter):
1518         * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1519         (WebCore::V8HTMLCollection::namedPropertyGetter):
1520         * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1521         (WebCore::V8HTMLFormElement::indexedPropertyGetter):
1522         (WebCore::V8HTMLFormElement::namedPropertyGetter):
1523         * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
1524         (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
1525         * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1526         (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
1527         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1528         (WebCore::npObjectNamedGetter):
1529         (WebCore::npObjectNamedSetter):
1530         (WebCore::npObjectIndexedGetter):
1531         (WebCore::npObjectIndexedSetter):
1532         * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1533         (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
1534         * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1535         (WebCore::V8NamedNodeMap::indexedPropertyGetter):
1536         (WebCore::V8NamedNodeMap::namedPropertyGetter):
1537         * bindings/v8/custom/V8NodeListCustom.cpp:
1538         (WebCore::V8NodeList::namedPropertyGetter):
1539         * bindings/v8/custom/V8StorageCustom.cpp:
1540         (WebCore::storageGetter):
1541         (WebCore::V8Storage::namedPropertyGetter):
1542         (WebCore::storageSetter):
1543         * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1544         (WebCore::V8StyleSheetList::namedPropertyGetter):
1545         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1546         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1547         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1548         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1549         (WebCore::V8WebGLRenderingContext::getUniformCallback):
1550         (WebCore::vertexAttribAndUniformHelperf):
1551         (WebCore::uniformHelperi):
1552         (WebCore::uniformMatrixHelper):
1553
1554 2012-05-21  Rob Buis  <rbuis@rim.com>
1555
1556         Shrink FontDescription object size
1557         https://bugs.webkit.org/show_bug.cgi?id=86950
1558
1559         Reviewed by Alexey Proskuryakov.
1560
1561         Reduce object size of FontDescription by 8 bytes on 64-bit, 4 bytes on 32-bit systems.
1562         Note that this means Font, StyleInheritedData and RenderSVGInlineText shrink too.
1563
1564         * platform/graphics/FontDescription.cpp:
1565         * platform/graphics/FontDescription.h:
1566         (WebCore::FontDescription::script):
1567         (FontDescription):
1568
1569 2012-05-21  Abhishek Arya  <inferno@chromium.org>
1570
1571         Regression(r117482): Run-in crashes relating to generated content and inline line box clearing.
1572         https://bugs.webkit.org/show_bug.cgi?id=86879
1573
1574         Reviewed by Julien Chaffraix.
1575
1576         Tests: fast/runin/generated-content-crash.html
1577                fast/runin/move-run-in-original-position-crash.html
1578
1579         * rendering/RenderBlock.cpp:
1580         (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use the new helper
1581         placeRunInIfNeeded. Do not place the run-in if it is a generated container since
1582         the caller such as updateBeforeAfterContent might be keeping a reference to it
1583         and adding children to it later.
1584         (WebCore::destroyRunIn): Add ability to clear line box tree for inlines.
1585         (WebCore::RenderBlock::placeRunInIfNeeded): Helper to place run-in. Add an
1586         argument to not modify generated content during addChild, it should be moved
1587         only at end of updateBeforeAfterContent.
1588         (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded): 
1589         (WebCore::RenderBlock::runInIsPlacedIntoSiblingBlock): helper to tell if this run-in
1590         is actually placed into the next sibling block.
1591         (WebCore::RenderBlock::moveRunInToOriginalPosition):
1592         * rendering/RenderInline.cpp:
1593         (WebCore::RenderInline::deleteLineBoxTree): like RenderBlock, add a helper
1594         for deleteLineBoxTree. Virtualizing this might not be good, since this is
1595         the only call site for inline line box tree clearing and RenderBlock::deleteLineBoxTree
1596         is called a lot.
1597         * rendering/RenderObjectChildList.cpp:
1598         (WebCore::createRendererForBeforeAfterContent): fix a typo.
1599         (WebCore::RenderObjectChildList::updateBeforeAfterContent): If insertBefore is equal
1600         to the intruded run-in, then set it to next sibling so that new child will come after it. At
1601         the end, place the generatedContainer if it is a run-in.
1602
1603 2012-05-21  James Robinson  <jamesr@chromium.org>
1604
1605         [chromium] Port chromium compositor to use WebFilterOperation(s)
1606         https://bugs.webkit.org/show_bug.cgi?id=87046
1607
1608         Reviewed by Adrienne Walker.
1609
1610         This converts all compositor implementation logic to use WebFilterOperation(s) directly instead of the WebCore
1611         types. GraphicsLayerChromium bridges between a WebCore::FilterOperations to WebFilterOperations, doing the
1612         necessary type conversions and checking for filters that our compositor implementation supports. This cleans up
1613         the chromium compositor's dependencies and removes any thread constraints from WebCore::FilterOperation /
1614         WebCore::FilterOperations.
1615
1616         Covered by existing layout tests and unit tests in FilterOperationsTest.cpp
1617
1618         * WebCore.gyp/WebCore.gyp:
1619         * WebCore.gypi:
1620         * platform/chromium/support/WebFilterOperations.cpp: Moved to Source/Platform/chromium/src/
1621         * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1622         (WebCore::copyWebCoreFilterOperationsToWebFilterOperations):
1623         (WebCore):
1624         (WebCore::GraphicsLayerChromium::setFilters):
1625         (WebCore::GraphicsLayerChromium::setBackgroundFilters):
1626         (WebCore::GraphicsLayerChromium::updateTransform):
1627         (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1628         * platform/graphics/chromium/GraphicsLayerChromium.h:
1629         (GraphicsLayerChromium):
1630         * platform/graphics/chromium/LayerChromium.cpp:
1631         (WebCore::LayerChromium::setFilters):
1632         (WebCore::LayerChromium::setBackgroundFilters):
1633         (WebCore::LayerChromium::pushPropertiesTo):
1634         * platform/graphics/chromium/LayerChromium.h:
1635         (LayerChromium):
1636         (WebCore::LayerChromium::filters):
1637         (WebCore::LayerChromium::backgroundFilters):
1638         * platform/graphics/chromium/RenderSurfaceChromium.h:
1639         (WebCore::RenderSurfaceChromium::setFilters):
1640         (WebCore::RenderSurfaceChromium::filters):
1641         (WebCore::RenderSurfaceChromium::setBackgroundFilters):
1642         (WebCore::RenderSurfaceChromium::backgroundFilters):
1643         (RenderSurfaceChromium):
1644         * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1645         (WebCore::expandDamageRectWithFilters):
1646         (WebCore::expandDamageRectInsideRectWithFilters):
1647         (WebCore::CCDamageTracker::updateDamageTrackingState):
1648         * platform/graphics/chromium/cc/CCDamageTracker.h:
1649         (WebKit):
1650         (WebCore):
1651         (CCDamageTracker):
1652         * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1653         (WebCore::CCLayerImpl::setFilters):
1654         (WebCore::CCLayerImpl::setBackgroundFilters):
1655         * platform/graphics/chromium/cc/CCLayerImpl.h:
1656         (CCLayerImpl):
1657         (WebCore::CCLayerImpl::filters):
1658         (WebCore::CCLayerImpl::backgroundFilters):
1659         * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1660         (WebCore::CCRenderSurface::applyFilters):
1661         * platform/graphics/chromium/cc/CCRenderSurface.h:
1662         (WebCore::CCRenderSurface::setFilters):
1663         (WebCore::CCRenderSurface::filters):
1664         (CCRenderSurface):
1665         (WebCore::CCRenderSurface::setBackgroundFilters):
1666         (WebCore::CCRenderSurface::backgroundFilters):
1667         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1668         (WebCore::CCRenderSurfaceFilters::apply):
1669         * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h:
1670         (WebKit):
1671         (CCRenderSurfaceFilters):
1672         * testing/Internals.cpp:
1673         (WebCore::Internals::setBackgroundBlurOnNode):
1674
1675 2012-05-15  Gavin Barraclough  <barraclough@apple.com>
1676
1677         Add support for private names
1678         https://bugs.webkit.org/show_bug.cgi?id=86509
1679
1680         Reviewed by Oliver Hunt.
1681
1682         The spec isn't final, but we can start adding support to allow property maps
1683         to contain keys that aren't identifiers.
1684
1685         Test: fast/js/names.html
1686
1687         * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1688         (WebCore::cssPropertyIDForJSCSSPropertyName):
1689         * bindings/js/JSDOMBinding.cpp:
1690         (WebCore::findAtomicString):
1691         (WebCore::objectToStringFunctionGetter):
1692         * bindings/js/JSDOMBinding.h:
1693         (WebCore::propertyNameToString):
1694         (WebCore::propertyNameToAtomicString):
1695         * bindings/js/JSDOMWindowCustom.cpp:
1696         (WebCore::nonCachingStaticFunctionGetter):
1697         * bindings/js/JSHistoryCustom.cpp:
1698         (WebCore::nonCachingStaticBackFunctionGetter):
1699         (WebCore::nonCachingStaticForwardFunctionGetter):
1700         (WebCore::nonCachingStaticGoFunctionGetter):
1701         * bindings/js/JSLocationCustom.cpp:
1702         (WebCore::nonCachingStaticReplaceFunctionGetter):
1703         (WebCore::nonCachingStaticReloadFunctionGetter):
1704         (WebCore::nonCachingStaticAssignFunctionGetter):
1705         * bridge/c/c_class.cpp:
1706         (JSC::Bindings::CClass::methodsNamed):
1707         (JSC::Bindings::CClass::fieldNamed):
1708         * bridge/c/c_instance.cpp:
1709         (JSC::Bindings::CInstance::getMethod):
1710         * bridge/jni/jsc/JavaClassJSC.cpp:
1711         (JavaClass::methodsNamed):
1712         (JavaClass::fieldNamed):
1713         * bridge/jni/jsc/JavaInstanceJSC.cpp:
1714         * bridge/objc/objc_class.mm:
1715         (JSC::Bindings::ObjcClass::methodsNamed):
1716         (JSC::Bindings::ObjcClass::fieldNamed):
1717         (JSC::Bindings::ObjcClass::fallbackObject):
1718         * bridge/objc/objc_instance.mm:
1719         (ObjcInstance::setValueOfUndefinedField):
1720         (ObjcInstance::getValueOfUndefinedField):
1721             - Removed PropertyName::impl(), call publicName() to get the string associated with a name.
1722
1723 2012-05-21  Tim Horton  <timothy_horton@apple.com>
1724
1725         GeneratorGeneratedImage should cache intermediate images
1726         https://bugs.webkit.org/show_bug.cgi?id=86906
1727         <rdar://problem/11484852>
1728
1729         Reviewed by Dean Jackson.
1730
1731         Cache generated images in GeneratorGeneratedImage. The cache is invalidated:
1732             a) if the Generator's hash changes.
1733             b) if the rendered size changes.
1734             c) if the cached image is incompatible with the destination context (acceleration state or CTM scale).
1735             d) after one second of disuse.
1736
1737         Add a hash() function to Generator, which should be implemented in subclasses
1738         to provide a straightforward way to determine if Generators have been mutated
1739         in a way that will affect the resultant rendering.
1740
1741         No new tests, performance optimization. Correctness is covered by the multitude of existing gradient tests.
1742
1743         * platform/graphics/Generator.h:
1744         (Generator):
1745         * platform/graphics/GeneratorGeneratedImage.cpp:
1746         (WebCore::GeneratorGeneratedImage::drawPattern):
1747         * platform/graphics/GeneratorGeneratedImage.h:
1748         (WebCore):
1749         (GeneratorGeneratedImage):
1750         (WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
1751         (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
1752         (GeneratedImageCacheTimer):
1753         (WebCore::GeneratorGeneratedImage::GeneratedImageCacheTimer::GeneratedImageCacheTimer):
1754         (WebCore::GeneratorGeneratedImage::GeneratedImageCacheTimer::restart):
1755         * platform/graphics/Gradient.cpp:
1756         (WebCore::Gradient::Gradient):
1757         (WebCore::Gradient::addColorStop):
1758         (WebCore::Gradient::sortStopsIfNecessary):
1759         (WebCore::Gradient::setSpreadMethod):
1760         (WebCore::Gradient::setGradientSpaceTransform):
1761         (WebCore::Gradient::hash):
1762         * platform/graphics/Gradient.h:
1763         (WebCore::Gradient::setP0):
1764         (WebCore::Gradient::setP1):
1765         (WebCore::Gradient::setStartRadius):
1766         (WebCore::Gradient::setEndRadius):
1767         (Gradient):
1768         (WebCore::Gradient::clearHashCache):
1769         * platform/graphics/GraphicsContext.cpp:
1770         (WebCore::GraphicsContext::isCompatibleWithBuffer):
1771         (WebCore):
1772         * platform/graphics/GraphicsContext.h:
1773         (GraphicsContext):
1774
1775 2012-05-21  Emil A Eklund  <eae@chromium.org>
1776
1777         Fix bug in paintNinePieceImage exposed by subpixel change
1778         https://bugs.webkit.org/show_bug.cgi?id=87060
1779
1780         Reviewed by Levi Weintraub.
1781
1782         Fix rounding in paintNinePieceImage where the left/right images where
1783         drawn on subpixel bounds.
1784
1785         Covered by existing tests.
1786
1787         * rendering/RenderBoxModelObject.cpp:
1788         (WebCore::RenderBoxModelObject::paintNinePieceImage):
1789
1790 2012-05-21  Emil A Eklund  <eae@chromium.org>
1791
1792         Move padding/margin/offset writing mode logic from RenderStyle to LengthBox
1793         https://bugs.webkit.org/show_bug.cgi?id=86970
1794
1795         Reviewed by Eric Seidel.
1796
1797         Move writing mode and bidi logic for paddings, margins and offsets from
1798         RenderStyle to LengthBox. This way the same logic can be used for all
1799         three removing unnecessary code duplication.
1800
1801         No new tests, no change in functionality.
1802
1803         * CMakeLists.txt:
1804         * GNUmakefile.list.am:
1805         * Target.pri:
1806         * WebCore.gypi:
1807         * WebCore.vcproj/WebCore.vcproj:
1808         * WebCore.xcodeproj/project.pbxproj:
1809         * platform/LengthBox.cpp: Added.
1810         * platform/LengthBox.h:
1811         * rendering/style/RenderStyle.cpp:
1812         * rendering/style/RenderStyle.h:
1813
1814 2012-05-21  Mike West  <mkwst@chromium.org>
1815
1816         Improving console error for CSP-blocked  `setTimeout` and `setInterval` evaluation.
1817         https://bugs.webkit.org/show_bug.cgi?id=86943
1818
1819         Reviewed by Adam Barth.
1820
1821         If the inspector is open, a stack trace is generated before calling
1822         ContentSecurityPolicy::allowEval, and passed through to
1823         ContentSecurityPolicy::reportViolation for use in the console message.
1824
1825         Test: http/tests/inspector-enabled/contentSecurityPolicy-blocks-setInterval.html
1826               http/tests/inspector-enabled/contentSecurityPolicy-blocks-setTimeout.html
1827
1828         * bindings/js/ScheduledAction.cpp:
1829         (WebCore::ScheduledAction::create):
1830         * bindings/v8/custom/V8DOMWindowCustom.cpp:
1831         (WebCore::WindowSetTimeoutImpl):
1832         * page/ContentSecurityPolicy.cpp:
1833         (CSPDirectiveList):
1834         (WebCore::CSPDirectiveList::reportViolation):
1835         (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
1836         (WebCore::CSPDirectiveList::allowEval):
1837         (WebCore):
1838         (WebCore::isAllowedByAllWithCallStack):
1839         (WebCore::isAllowedByAllWithURL):
1840         (WebCore::ContentSecurityPolicy::allowEval):
1841         (WebCore::ContentSecurityPolicy::allowScriptFromSource):
1842         (WebCore::ContentSecurityPolicy::allowObjectFromSource):
1843         (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
1844         (WebCore::ContentSecurityPolicy::allowImageFromSource):
1845         (WebCore::ContentSecurityPolicy::allowStyleFromSource):
1846         (WebCore::ContentSecurityPolicy::allowFontFromSource):
1847         (WebCore::ContentSecurityPolicy::allowMediaFromSource):
1848         (WebCore::ContentSecurityPolicy::allowConnectToSource):
1849         * page/ContentSecurityPolicy.h:
1850         (WebCore):
1851
1852 2012-05-21  Antoine Labour  <piman@chromium.org>
1853
1854         Don't force rendering in finishAllRendering
1855         https://bugs.webkit.org/show_bug.cgi?id=86919
1856
1857         Reviewed by James Robinson.
1858
1859         After we acquire the texture layers on the main thread, we can't draw.
1860         In particular if we destroyed the texture ids used previously by
1861         TextureLayerChromium, drawing before a commit would cause a
1862         bind-after-destroy.
1863
1864         Tested by CCLayerTreeHostTestFinishAllRendering.
1865
1866         * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1867         (WebCore::CCThreadProxy::CCThreadProxy):
1868         (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
1869         (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
1870
1871 2012-05-21  Joshua Bell  <jsbell@chromium.org>
1872
1873         IndexedDB: Store key paths in IDBKeyPath type instead of String
1874         https://bugs.webkit.org/show_bug.cgi?id=85298
1875
1876         Reviewed by Tony Chang, Kentaro Hara and James Robinson.
1877
1878         Migrate from storing key paths as (nullable) Strings to a dedicated IDBKeyPath
1879         type. Prep work for supporting array-type key paths: http://webkit.org/b/84207
1880
1881         Only functional change is handling of null/undefined parameters for key paths,
1882         to align with IDB spec, covered by layout test.
1883
1884         Test: storage/indexeddb/keypath-basics.html
1885         Test: WebKit/chromium/IDBLevelDBCodingTest.cpp
1886
1887         * Modules/indexeddb/IDBAny.cpp: Allow IDBAny to yield DOMStrings.
1888         (WebCore::IDBAny::createString):
1889         (WebCore):
1890         (WebCore::IDBAny::string):
1891         (WebCore::IDBAny::set):
1892         * Modules/indexeddb/IDBAny.h:
1893         (IDBAny):
1894         * Modules/indexeddb/IDBBackingStore.h: Switch from String to IDBKeyPath.
1895         (IDBBackingStore):
1896         * Modules/indexeddb/IDBDatabase.cpp: Switch from String to IDBKeyPath.
1897         (WebCore::IDBDatabase::createObjectStore):
1898         * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Switch from String to IDBKeyPath.
1899         (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1900         (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
1901         * Modules/indexeddb/IDBDatabaseBackendImpl.h: Switch from String to IDBKeyPath.
1902         (IDBDatabaseBackendImpl):
1903         * Modules/indexeddb/IDBDatabaseBackendInterface.h: Switch from String to IDBKeyPath.
1904         (WebCore):
1905         (IDBDatabaseBackendInterface):
1906         * Modules/indexeddb/IDBIndex.h: Switch from String to IDBAny (via IDBKeyPath).
1907         (WebCore::IDBIndex::keyPath):
1908         * Modules/indexeddb/IDBIndex.idl: Switch from DOMString? to IDBAny.
1909         * Modules/indexeddb/IDBIndexBackendImpl.cpp: Switch from String to IDBKeyPath.
1910         (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
1911         * Modules/indexeddb/IDBIndexBackendImpl.h: Switch from String to IDBKeyPath.
1912         (WebCore::IDBIndexBackendImpl::create):
1913         (WebCore::IDBIndexBackendImpl::keyPath):
1914         (IDBIndexBackendImpl):
1915         * Modules/indexeddb/IDBIndexBackendInterface.h: Switch from String to IDBKeyPath.
1916         (WebCore):
1917         (IDBIndexBackendInterface):
1918         * Modules/indexeddb/IDBKeyPath.cpp: Non-trivial method implementations.
1919         (WebCore::IDBKeyPath::isValid):
1920         (WebCore):
1921         (WebCore::IDBKeyPath::operator PassRefPtr<IDBAny>):
1922         * Modules/indexeddb/IDBKeyPath.h: Introduce IDBKeyPath type.
1923         (IDBKeyPath):
1924         (WebCore::IDBKeyPath::IDBKeyPath):
1925         (WebCore::IDBKeyPath::type):
1926         (WebCore::IDBKeyPath::array):
1927         (WebCore::IDBKeyPath::string):
1928         (WebCore::IDBKeyPath::isNull):
1929         (WebCore):
1930         * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Switch from String to IDBKeyPath.
1931         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
1932         (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
1933         * Modules/indexeddb/IDBKeyPathBackendImpl.h: Switch from String to IDBKeyPath.
1934         (WebCore):
1935         (IDBKeyPathBackendImpl):
1936         * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Switch from String to IDBKeyPath, with back-compat.
1937         (WebCore):
1938         (WebCore::putIDBKeyPath):
1939         (WebCore::IDBLevelDBBackingStore::getObjectStores):
1940         (WebCore::IDBLevelDBBackingStore::createObjectStore):
1941         (WebCore::IDBLevelDBBackingStore::getIndexes):
1942         (WebCore::IDBLevelDBBackingStore::createIndex):
1943         * Modules/indexeddb/IDBLevelDBBackingStore.h:
1944         (IDBLevelDBBackingStore):
1945         * Modules/indexeddb/IDBLevelDBCoding.cpp: New coding scheme for key paths (with back-compat).
1946         (IDBLevelDBCoding):
1947         (WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
1948         (WebCore::IDBLevelDBCoding::decodeIDBKeyPath):
1949         * Modules/indexeddb/IDBLevelDBCoding.h: Add key-path-specific methods.
1950         (WebCore):
1951         (IDBLevelDBCoding):
1952         * Modules/indexeddb/IDBObjectStore.cpp: Switch from String to IDBKeyPath.
1953         (WebCore::IDBObjectStore::keyPath):
1954         (WebCore::IDBObjectStore::createIndex):
1955         (WebCore):
1956         * Modules/indexeddb/IDBObjectStore.h: Switch from String to IDBAny (via IDBKeyPath).
1957         (IDBObjectStore):
1958         * Modules/indexeddb/IDBObjectStore.idl: Switch from DOMString? to IDBAny.
1959         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Switch from String to IDBKeyPath.
1960         (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
1961         (WebCore::fetchKeyFromKeyPath):
1962         (WebCore::injectKeyIntoKeyPath):
1963         (WebCore::IDBObjectStoreBackendImpl::createIndex):
1964         (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
1965         * Modules/indexeddb/IDBObjectStoreBackendImpl.h: Switch from String to IDBKeyPath.
1966         (WebCore::IDBObjectStoreBackendImpl::create):
1967         (WebCore::IDBObjectStoreBackendImpl::keyPath):
1968         (IDBObjectStoreBackendImpl):
1969         * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Switch from String to IDBKeyPath.
1970         (WebCore):
1971         (IDBObjectStoreBackendInterface):
1972         * bindings/v8/Dictionary.cpp: Add getter for DOMString[] (i.e. Vector<String>)
1973         (WebCore):
1974         (WebCore::Dictionary::get):
1975         * bindings/v8/Dictionary.h:
1976         (Dictionary):
1977         * bindings/v8/IDBBindingUtilities.cpp: Switch from String to IDBKeyPath.
1978         (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
1979         (WebCore::injectIDBKeyIntoSerializedValue):
1980         * bindings/v8/IDBBindingUtilities.h: Switch from String to IDBKeyPath.
1981         (WebCore):
1982         * bindings/v8/custom/V8IDBAnyCustom.cpp: Support String/DOMString.
1983         (WebCore::toV8):
1984         * dom/DOMStringList.h: Allow easy (const) access to strings.
1985         (WebCore::DOMStringList::operator const Vector<String>&):
1986         (DOMStringList):
1987         * inspector/InspectorIndexedDBAgent.cpp: Temporary shim for non-strings: see http://webkit.org/b/84303
1988         (WebCore):
1989         * platform/chromium/PlatformSupport.h: Switch from String to IDBKeyPath.
1990         (WebCore):
1991         (PlatformSupport):
1992         * storage/chromium/IDBKeyPathBackendImpl.cpp: Switch from String to IDBKeyPath.
1993         (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
1994         (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
1995
1996 2012-05-21  Zhenyao Mo  <zmo@google.com>
1997
1998         Restore WebGL's framebuffer binding after DrawingBuffer's prepareBackBuffer()
1999         https://bugs.webkit.org/show_bug.cgi?id=87032
2000
2001         Reviewed by James Robinson.
2002
2003         * platform/graphics/chromium/DrawingBufferChromium.cpp:
2004         (WebCore::DrawingBuffer::prepareBackBuffer): restore the user's framebuffer binding if there is one.
2005
2006 2012-05-21  Ryosuke Niwa  <rniwa@webkit.org>
2007
2008         isStartOfDocument and isEndOfDocument are poorly named
2009         https://bugs.webkit.org/show_bug.cgi?id=86649
2010
2011         Reviewed by Levi Weintraub.
2012
2013         Renamed isEndOfDocument to isEndOfEditableOrNonEditableContent because that's what this function checks.
2014
2015         Also added new versions of isStartOfDocument and isEndOfDocument that correctly cross editing boundaries
2016         to be used in selectFrameElementInParentIfFullySelected.
2017
2018         * editing/CompositeEditCommand.cpp:
2019         (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
2020         * editing/Editor.cpp:
2021         (WebCore::Editor::insertLineBreak):
2022         (WebCore::Editor::insertParagraphSeparator):
2023         * editing/ReplaceSelectionCommand.cpp:
2024         (WebCore::ReplaceSelectionCommand::doApply):
2025         * editing/VisibleSelection.cpp:
2026         (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
2027         * editing/visible_units.cpp:
2028         (WebCore::isEndOfEditableOrNonEditableContent):
2029         * editing/visible_units.h:
2030
2031 2012-05-21 Anna Cavender  <annacc@chromium.org>
2032
2033         Only render text track cues if kind=captions or kind=subtitles.
2034         https://bugs.webkit.org/show_bug.cgi?id=83321
2035
2036         Reviewed by Eric Carlson.
2037
2038         No new tests. Modification to media/track/track-kind.html
2039
2040         * html/HTMLMediaElement.cpp:
2041         (WebCore::HTMLMediaElement::textTrackKindChanged):
2042            If the kind changes from a 'visible' kind to a 'non-visible' kind,
2043            update the track's mode to HIDDEN.
2044
2045         * html/shadow/MediaControlElements.cpp:
2046         (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
2047             Do not render cues from tracks that are not captions or subtitles.
2048
2049         * html/track/TextTrack.cpp:
2050         (WebCore::TextTrack::setMode):
2051             If the track's mode changes from SHOWING to HIDDEN or DISABLED,
2052             ensure any currently visible cues will no longer be rendered.
2053
2054         * html/track/TextTrackCue.cpp:
2055         (WebCore::TextTrackCue::removeDisplayTree): New method.
2056         * html/track/TextTrackCue.h:
2057         (TextTrackCue):
2058  
2059 2012-05-21  Andreas Kling  <kling@webkit.org>
2060
2061         CSS: Move duplicate property elimination to parser.
2062         <http://webkit.org/b/86948>
2063
2064         Reviewed by Antti Koivisto.
2065
2066         Remove the StylePropertySet constructor that handled elimination of duplicate
2067         properties and move that to a new parser method, CSSParser::filteredProperties().
2068         Call sites are converted to using StylePropertySet(const Vector<CSSProperty>&).
2069
2070         Instead of building a hashmap of seen properties, use the new WTF::BitArray class
2071         to track whether a given property ID has been seen, and whether we have an
2072         !important entry for a given ID.
2073
2074         * css/CSSParser.cpp:
2075         (WebCore::CSSParser::parseValue):
2076         (WebCore::CSSParser::parseDeclaration):
2077         (WebCore::CSSParser::filteredProperties):
2078         (WebCore::CSSParser::createStyleRule):
2079         (WebCore::CSSParser::createFontFaceRule):
2080         (WebCore::CSSParser::createPageRule):
2081         (WebCore::CSSParser::createKeyframe):
2082         * css/CSSParser.h:
2083         * css/StylePropertySet.cpp:
2084         (WebCore::StylePropertySet::StylePropertySet):
2085         (WebCore::StylePropertySet::addParsedProperties):
2086         * css/StylePropertySet.h:
2087         (WebCore::StylePropertySet::create):
2088         (StylePropertySet):
2089         * svg/SVGFontFaceElement.cpp:
2090         (WebCore::SVGFontFaceElement::rebuildFontFace):
2091
2092 2012-05-21  Joshua Bell  <jsbell@chromium.org>
2093
2094         IndexedDB: Index key paths that yield invalid keys should not fail an add/put
2095         https://bugs.webkit.org/show_bug.cgi?id=86122
2096
2097         Reviewed by Tony Chang.
2098
2099         A clause was removed from the IDB spec. Previously, on add/put, if evaluating an
2100         index's key path yielded a value that was not a valid key, an exception would be
2101         raised. Now, it is treated the same as if no value was yielded.
2102
2103         Test: storage/indexeddb/index-basics.html
2104         Test: storage/indexeddb/index-basics-workers.html
2105         Test: storage/indexeddb/objectstore-basics.html
2106         Test: storage/indexeddb/objectstore-basics-workers.html
2107
2108         * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2109         (WebCore::IDBObjectStoreBackendImpl::put): Preconditions removed
2110         (WebCore::IDBObjectStoreBackendImpl::putInternal): Treat invalid keys the same as missing keys.
2111
2112 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
2113
2114         Web Inspector: refactor revision history to not include resource itself.
2115         https://bugs.webkit.org/show_bug.cgi?id=87026
2116
2117         Reviewed by Vsevolod Vlasov.
2118
2119         This change makes resource contain pure revisions, it stops updating Resources upon free flow editing.
2120
2121         * inspector/front-end/JavaScriptSource.js:
2122         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
2123         (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
2124         (WebInspector.JavaScriptSource.prototype.setFormatted):
2125         * inspector/front-end/JavaScriptSourceFrame.js:
2126         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
2127         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
2128         (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
2129         * inspector/front-end/Resource.js:
2130         (WebInspector.Resource.prototype.addRevision):
2131         (WebInspector.Resource.prototype._innerRequestContent.callback):
2132         (WebInspector.Resource.prototype._innerRequestContent):
2133         (WebInspector.Resource.prototype.revertToOriginal):
2134         (WebInspector.ResourceRevision.prototype.revertToThis):
2135         (WebInspector.ResourceRevision.prototype.requestContent):
2136         (WebInspector.ResourceRevision.prototype.searchInContent):
2137         (WebInspector.ResourceRevision.prototype._persistRevision):
2138         * inspector/front-end/RevisionHistoryView.js:
2139         (WebInspector.RevisionHistoryView):
2140         (WebInspector.RevisionHistoryView.prototype._revisionAdded):
2141         (WebInspector.RevisionHistoryTreeElement):
2142         * inspector/front-end/ScriptSnippetModel.js:
2143         (WebInspector.ScriptSnippetModel.prototype.setScriptSnippetContent):
2144         * inspector/front-end/StylesPanel.js:
2145         (WebInspector.StyleSourceFrame.prototype.commitEditing):
2146         (WebInspector.StyleSourceFrame.prototype._didEditContent):
2147         (WebInspector.StyleSourceFrame.prototype._onContentChanged):
2148         * inspector/front-end/UISourceCode.js:
2149         (WebInspector.UISourceCode.prototype._revisionAdded):
2150         (WebInspector.UISourceCode.prototype.contentChanged):
2151         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
2152         * inspector/front-end/inspector.js:
2153         (WebInspector._doLoadedDoneWithCapabilities.get if):
2154
2155 2012-05-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2156
2157         GCC 4.7 and C++11
2158         https://bugs.webkit.org/show_bug.cgi?id=86465
2159
2160         Reviewed by Darin Adler.
2161
2162         Avoid triggering C++11 string literals and use nullptr for correct type casting.
2163
2164         * bindings/js/JSNodeFilterCondition.cpp:
2165         (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
2166         * platform/sql/SQLiteFileSystem.cpp:
2167         (WebCore::SQLiteFileSystem::getFileNameForNewDatabase):
2168
2169 2012-05-18  Michael Nordman  <michaeln@google.com>
2170
2171         [chromium] DomStorage events handling needs TLC (2)
2172         https://bugs.webkit.org/show_bug.cgi?id=85221
2173         Alter the StorageArea virtual interface such that the mutators no longer
2174         return old values. This is to allow implementations of the interface to operate
2175         more asynchronously.
2176
2177         Reviewed by Adam Barth.
2178
2179         No new tests. Existing tests cover this.
2180
2181         * storage/StorageArea.h: Alter the interface so the mutators no longer return previous values
2182         * storage/StorageAreaImpl.cpp:
2183         (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):  removed an unneeded PLATFORM(CHROMIUM) guard
2184         (WebCore::StorageAreaImpl::setItem): no longer return the old value
2185         (WebCore::StorageAreaImpl::removeItem): no longer return the old value
2186         (WebCore::StorageAreaImpl::clear): no longer return whether something was cleared
2187         * storage/StorageAreaImpl.h: match StorageArea's virtual interface
2188
2189
2190 2012-05-21  MORITA Hajime  <morrita@google.com>
2191
2192         [Refactoring] Node should have youngestShadowRoot.
2193         https://bugs.webkit.org/show_bug.cgi?id=86427
2194
2195         Reviewed by Dimitri Glazkov.
2196
2197         This change adds Node::youngestShadowRoot() and replaced
2198         ElementShadow::youngestShadowRoot() with it if appropriate.
2199
2200         By introducing this, traversal across node and its shadow tree can
2201         look more fluent and idiomatic. There are a few non-trivial traversal
2202         remaining like ElementShadow::recalcStyle() and attach().
2203         But they should be flattened out eventually.
2204
2205         No new tests. Refactoring.
2206
2207         * dom/ContainerNodeAlgorithms.cpp:
2208         (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
2209         * dom/Document.cpp:
2210         (WebCore::Document::buildAccessKeyMap):
2211         * dom/ElementShadow.cpp:
2212         * dom/ElementShadow.h:
2213         (ElementShadow):
2214         (WebCore::Node::youngestShadowRoot):
2215         (WebCore):
2216         * dom/Node.h:
2217         (Node):
2218         * dom/TreeScopeAdopter.cpp:
2219         (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2220         (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
2221         * dom/TreeScopeAdopter.h:
2222         (TreeScopeAdopter):
2223         * html/shadow/TextFieldDecorationElement.cpp:
2224         (WebCore::getDecorationRootAndDecoratedRoot):
2225
2226 2012-05-21  Christophe Dumez  <christophe.dumez@intel.com>
2227
2228         Add support for MessagePortArray type to JSC
2229         https://bugs.webkit.org/show_bug.cgi?id=84093
2230
2231         Reviewed by Adam Barth.
2232
2233         Add support for MessagePortArray type to JSC code generator similarly
2234         to what was done for the V8 generator in r114319.
2235
2236         Update bindings test results to reflect to change to the bindings
2237         generator.
2238
2239         * CMakeLists.txt: Add new DeliveredIntent files to CMake.
2240         * bindings/js/JSDOMBinding.h:
2241         (WebCore):
2242         (WebCore::jsArray): Tweak jsArray() so that it accepts MessagePortArray as argument.
2243         * bindings/scripts/CodeGeneratorJS.pm:
2244         (JSValueToNative):
2245         (NativeToJSValue):
2246         * bindings/scripts/test/JS/JSTestObj.cpp:
2247         (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2248         * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2249         (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2250         (WebCore::jsTestSerializedScriptValueInterfacePorts):
2251         (WebCore::setJSTestSerializedScriptValueInterfaceValue):
2252         (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
2253         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
2254         (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
2255
2256 2012-05-21  Alexander Pavlov  <apavlov@chromium.org>
2257
2258         Web Inspector: [Styles] Cannot tab from selector of inherited rule, which in turn has leading inherited properties
2259         https://bugs.webkit.org/show_bug.cgi?id=87014
2260
2261         Reviewed by Yury Semikhatsky.
2262
2263         * inspector/front-end/StylesSidebarPane.js:
2264         (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
2265
2266 2012-05-21  Greg Billock  <gbillock@google.com>
2267
2268         Add suggestions field to web intents API.
2269         https://bugs.webkit.org/show_bug.cgi?id=86791
2270
2271         Reviewed by Adam Barth.
2272
2273         The |suggestions| field is used by the client to avoid an empty
2274         web intents selection window (picker). The UA can add the given
2275         suggestions to the picker if it would otherwise be empty. See
2276         http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html#intent-parameters-dictionary
2277
2278         * Modules/intents/DeliveredIntent.cpp:
2279         (WebCore::DeliveredIntent::DeliveredIntent):
2280         * Modules/intents/Intent.cpp:
2281         (WebCore::Intent::create):
2282         (WebCore::Intent::Intent):
2283         * Modules/intents/Intent.h:
2284         (WebCore::Intent::suggestions):
2285         (Intent):
2286
2287 2012-05-21  Stephen Chenney  <schenney@chromium.org>
2288
2289         SVGAnimatedPropertyTearOff does not clear a self pointer on deletion
2290         https://bugs.webkit.org/show_bug.cgi?id=86119
2291
2292         Reviewed by Nikolas Zimmermann.
2293
2294         SVGAnimatedPropertyTearOff contains two SVGPropertyTearOff objects
2295         that have a pointer back to the SVGAnimatedPropertyTearOff. JS may
2296         also have a reference to these SVGPropertyTearOff objects. When the
2297         SVGAnimatedPropertyTearOff is deleted, the SVGPropertyTearOff objects
2298         may live on, but the pointer back to the deleted animated property
2299         tear off is left invalid. This patch clears the pointers on destruction
2300         of the SVGAnimatedPropertyTearOff.
2301
2302         Test: svg/custom/bug86119.html
2303
2304         * svg/properties/SVGAnimatedPropertyTearOff.h:
2305         (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff):
2306         (SVGAnimatedPropertyTearOff):
2307
2308 2012-05-21  Stephen Chenney  <schenney@chromium.org>
2309
2310         [Chromium] REGRESSION: Assertion failure on svg/custom/acid3-test-77.html
2311         https://bugs.webkit.org/show_bug.cgi?id=86715
2312
2313         Reviewed by Nikolas Zimmermann.
2314
2315         Calls to clear the text positioning elements in RenderSVGText must be
2316         protected with a FontCachePurgeProtector so that fonts are not removed
2317         before the SVG metrics are rebuilt. The protection must cover both the
2318         cache clearing and the reconstruction calls.
2319
2320         Patch fixes existing tests.
2321
2322         * rendering/svg/RenderSVGText.cpp:
2323         (WebCore::RenderSVGText::subtreeChildWasAdded):
2324         (WebCore::RenderSVGText::subtreeChildWasRemoved):
2325         (WebCore::RenderSVGText::subtreeTextDidChange):
2326         (WebCore::RenderSVGText::removeChild):
2327
2328 2012-05-21  Stephen Chenney  <schenney@chromium.org>
2329
2330         SVGTextRunRenderingContext can return null font, calling code asserts not null
2331         https://bugs.webkit.org/show_bug.cgi?id=86738
2332
2333         Reviewed by Nikolas Zimmermann.
2334
2335         SVGTextRunRenderingContext::glyphDataForCharacter was returning a glyph with
2336         null font data for numerous code paths. It seems that it was doing so
2337         whenever it detected null fontData, rather than try to continue.
2338         Calling code would then immediately assert on this null fontData.
2339
2340         This patch refactors SVGTextRunRenderingContext::glyphDataForCharacter
2341         so that it never returns null font data, adding an assertion to that
2342         effect. In particular, when the font data is null the code will reach
2343         the fallback glyph calculations.
2344
2345         Refactoring covered by existing tests. A previously crashing test, svg/custom/acid3-test-77.html, no longer crashes.
2346
2347         * rendering/svg/SVGTextRunRenderingContext.cpp:
2348         (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
2349
2350 2012-05-21  Ilya Tikhonovsky  <loislo@chromium.org>
2351
2352         Web Inspector: switch buildDominatedNodes function to front-end calculated _dominatorsTree
2353         https://bugs.webkit.org/show_bug.cgi?id=87022
2354
2355         The new version is using _dominatorsTree array that was build at front-end.
2356
2357         Reviewed by Yury Semikhatsky.
2358
2359         * inspector/front-end/HeapSnapshot.js:
2360         (WebInspector.HeapSnapshot.prototype._init):
2361         (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
2362
2363 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
2364
2365         Web Inspector: change WebCore/English.lproj/locallizedStrings encoding from UTF-16 to UTF-8.
2366         https://bugs.webkit.org/show_bug.cgi?id=86822
2367
2368         Reviewed by Yury Semikhatsky.
2369
2370         * English.lproj/localizedStrings.js:
2371
2372 2012-05-21  Vsevolod Vlasov  <vsevik@chromium.org>
2373
2374         Web Inspector: Move working copy support to UISourceCode and use it for both styles and scripts.
2375         https://bugs.webkit.org/show_bug.cgi?id=87021
2376
2377         Reviewed by Pavel Feldman.
2378
2379         UISourceCode now listens for RevisionAdded event.
2380         Virtual methods workingCopyChanged and workingCopyCommitted added to UISourceCode and implemented in descendants.
2381         DebuggerResourceBinding does not call contentChanged on UISourceCode explicitly anymore.
2382
2383         * inspector/front-end/DebuggerResourceBinding.js:
2384         (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
2385         (WebInspector.DebuggerResourceBinding.setScriptSource):
2386         * inspector/front-end/JavaScriptSource.js:
2387         (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
2388         * inspector/front-end/JavaScriptSourceFrame.js:
2389         (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
2390         * inspector/front-end/ScriptSnippetModel.js:
2391         (WebInspector.SnippetJavaScriptSource.prototype.workingCopyCommitted):
2392         * inspector/front-end/StylesPanel.js:
2393         (WebInspector.StyleSource.prototype.workingCopyCommitted):
2394         (WebInspector.StyleSource.prototype.workingCopyChanged):
2395         (WebInspector.StyleSourceFrame):
2396         (WebInspector.StyleSourceFrame.prototype.commitEditing):
2397         (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
2398         (WebInspector.StyleSourceFrame.prototype._didEditContent):
2399         (WebInspector.StyleSourceFrame.prototype._onContentChanged):
2400         * inspector/front-end/UISourceCode.js:
2401         (WebInspector.UISourceCode):
2402         (WebInspector.UISourceCode.prototype._revisionAdded):
2403         (WebInspector.UISourceCode.prototype.contentChanged):
2404         (WebInspector.UISourceCode.prototype.workingCopy):
2405         (WebInspector.UISourceCode.prototype.setWorkingCopy):
2406         (WebInspector.UISourceCode.prototype.workingCopyChanged):
2407         (WebInspector.UISourceCode.prototype.commitWorkingCopy):
2408         (WebInspector.UISourceCode.prototype.workingCopyCommitted):
2409
2410 2012-05-21  Andrey Kosyakov  <caseq@chromium.org>
2411
2412         Web Inspector: [refactoring] promote fill/border colors used by timeline's frame overview to TimelineCategory
2413         https://bugs.webkit.org/show_bug.cgi?id=87016
2414
2415         Reviewed by Pavel Feldman.
2416
2417         - drop unused 'color' field from TimelineCategory;
2418         - add borderColor and fillColorStop[0-1] to TimelineCategory;
2419         - fix style in a handful of places.
2420
2421         Note we store textual values for color stops, not premade gradients so we can build gradients with different
2422         orientations rather than transforming a gradient.
2423
2424         * inspector/front-end/TimelineOverviewPane.js:
2425         (WebInspector.HeapGraph):
2426         (WebInspector.HeapGraph.prototype.get element):
2427         (WebInspector.HeapGraph.prototype.get visible):
2428         (WebInspector.HeapGraph.prototype.show):
2429         (WebInspector.HeapGraph.prototype.hide):
2430         (WebInspector.HeapGraph.prototype._clear):
2431         (WebInspector.TimelineCategoryStrips):
2432         (WebInspector.TimelineVerticalOverview):
2433         (WebInspector.TimelineVerticalOverview.prototype._renderBar):
2434         * inspector/front-end/TimelinePresentationModel.js:
2435         (WebInspector.TimelinePresentationModel.categories):
2436         (WebInspector.TimelinePresentationModel.recordStyle):
2437         (WebInspector.TimelineCategory):
2438
2439 2012-05-21  'Pavel Feldman'  <pfeldman@chromium.org>
2440
2441         Web Inspector: declare setFormatted on UISourceCode (otherwise fails for styles).
2442
2443         Not reviewed: front-end fix as a follow up to r117751.
2444
2445         * inspector/front-end/UISourceCode.js:
2446         (WebInspector.UISourceCode.prototype.consoleMessagesCleared):
2447         (WebInspector.UISourceCode.prototype.setFormatted):
2448
2449 2012-05-21  Yury Semikhatsky  <yurys@chromium.org>
2450
2451         Unreviewed. Fix Closure compiler error after r117753.
2452
2453         * inspector/front-end/HeapSnapshotGridNodes.js:
2454         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didGetNodePosition):
2455
2456 2012-05-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2457
2458         Move setEditingBehavior() from layoutTestController to window.internals
2459         https://bugs.webkit.org/show_bug.cgi?id=42689
2460
2461         Reviewed by Hajime Morita and Kenneth Rohde Christiansen.
2462
2463         Add setEditingBehavior() to window.internals.settings. No new tests, but this
2464         change will allow more tests to run in WebKitTestRunner.
2465
2466         * testing/InternalSettings.cpp:
2467         (WebCore::InternalSettings::InternalSettings):
2468         (WebCore::InternalSettings::restoreTo):
2469         (WebCore::InternalSettings::setEditingBehavior):
2470         (WebCore):
2471         * testing/InternalSettings.h:
2472         (InternalSettings):
2473         * testing/InternalSettings.idl:
2474
2475 2012-05-21  Vsevolod Vlasov  <vsevik@chromium.org>
2476
2477         Web Inspector: Temporary UISourceCode should be replaced each time another inline script is added in RawSourceCode with pending request.
2478         https://bugs.webkit.org/show_bug.cgi?id=87003
2479
2480         Reviewed by Pavel Feldman.
2481
2482         This is needed to correctly show document content when debugger stops on several breakpoints in different scripts during page load.
2483
2484         * inspector/front-end/RawSourceCode.js:
2485         (WebInspector.RawSourceCode.prototype.addScript):
2486         (WebInspector.RawSourceCode.prototype._finishedLoading):
2487
2488 2012-05-20  Kinuko Yasuda  <kinuko@chromium.org>
2489
2490         Cleanup: Remove WebCore::revealFolderInOS() which is no longer used anywhere
2491         https://bugs.webkit.org/show_bug.cgi?id=86993
2492
2493         Reviewed by Adam Barth.
2494
2495         No new tests as this must be just removing dead code.
2496
2497         * platform/FileSystem.h:
2498         * platform/chromium/FileSystemChromium.cpp:
2499         * platform/chromium/PlatformSupport.h:
2500         (PlatformSupport):
2501
2502 2012-05-21  Alexander Pavlov  <apavlov@chromium.org>
2503
2504         Web Inspector: Annotate CSSStyleModel.js for the closure compiler
2505         https://bugs.webkit.org/show_bug.cgi?id=86858
2506
2507         Reviewed by Yury Semikhatsky.
2508
2509         * inspector/front-end/CSSStyleModel.js:
2510         (WebInspector.CSSStyleDeclaration.parseComputedStylePayload):
2511         (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
2512         (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
2513         (WebInspector.CSSProperty.parsePayload):
2514         (WebInspector.CSSProperty.prototype.setText):
2515         (WebInspector.CSSProperty.prototype.setDisabled):
2516         (WebInspector.CSSStyleSheet.prototype.setText):
2517         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
2518         (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
2519         (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
2520
2521 2012-05-21  Rakesh KN  <rakesh.kn@motorola.com>
2522
2523         [Forms] Refactor HTMLFormCollection
2524         https://bugs.webkit.org/show_bug.cgi?id=86602
2525
2526         Reviewed by Kent Tamura.
2527
2528         Modify HTMLFormCollection to be independent of HTMLFormElement which is needed
2529         for implementing HTMLFieldSetElement's element attribute.
2530
2531         Covered by existing tests.
2532
2533         * html/HTMLFormCollection.cpp:
2534         (WebCore::HTMLFormCollection::HTMLFormCollection):
2535         Modified to take more generic HTMLElement* instead of HTMLFormElement* so that
2536         HTMLFormCollection for HTMLFieldSetElement can also be created.
2537         (WebCore::HTMLFormCollection::create): Ditto.
2538         (WebCore::HTMLFormCollection::formControlElements):
2539         Helper function for getting the array of FormAssociatedElements for this form.
2540         (WebCore::HTMLFormCollection::formImageElements):
2541         Helper function for getting the array of image elements for this form.
2542         (WebCore::HTMLFormCollection::numberOfFormControlElements):
2543         Helper function for getting the number of elements in this form.
2544         (WebCore::HTMLFormCollection::calcLength):
2545         Modified to use new helper functions defined for getting the FormAssociatedElements
2546         and image elements array instead of static_cast to HTMLFormElement.
2547         (WebCore::HTMLFormCollection::item): Ditto.
2548         (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
2549         (WebCore::HTMLFormCollection::updateNameCache): Ditto.
2550         * html/HTMLFormCollection.h:
2551         (WebCore):
2552         (HTMLFormCollection):
2553         * html/HTMLFormElement.h:
2554         (WebCore::HTMLFormElement::imageElements):
2555         New accessor for image elements array of form element.
2556         Also HTMLFormCollection is not needed to be friend of HTMLFormElement as collection
2557         does not access the form element memebers directly now.
2558
2559 2012-05-21  Yury Semikhatsky  <yurys@chromium.org>
2560
2561         Web Inspector: expand only neighbors of the highlighted node when revealing it in heap snapshot
2562         https://bugs.webkit.org/show_bug.cgi?id=86998
2563
2564         Reviewed by Pavel Feldman.
2565
2566         Only nearest nodes are expanded when a node is revealed in heap snapshot
2567         summary view.
2568
2569         * inspector/front-end/HeapSnapshotDataGrids.js:
2570         (WebInspector.HeapSnapshotSortableDataGrid.prototype.highlightNode):
2571         (WebInspector.HeapSnapshotViewportDataGrid.prototype.highlightNode):
2572         (WebInspector.HeapSnapshotViewportDataGrid.prototype._isScrolledIntoView):
2573         * inspector/front-end/HeapSnapshotGridNodes.js:
2574         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId):
2575         (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didGetNodePosition):
2576         * inspector/front-end/ProfilesPanel.js:
2577         (WebInspector.ProfilesPanel.prototype.showProfile):
2578
2579 2012-05-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2580
2581         [EFL] PlatformKeyboardEventEfl is missing ESC key handling.
2582         https://bugs.webkit.org/show_bug.cgi?id=86837
2583
2584         Reviewed by Kenneth Rohde Christiansen.
2585
2586         Added ESC key handling.
2587
2588         * platform/efl/EflKeyboardUtilities.cpp:
2589         (WebCore::createKeyMap):
2590         (WebCore::singleCharacterString):
2591
2592 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
2593
2594         Web Inspector: move sources panel out of experimental.
2595         https://bugs.webkit.org/show_bug.cgi?id=86997
2596
2597         Reviewed by Yury Semikhatsky.
2598
2599         This change moves sources panel out of experimental, removes revision support from the resources panel.
2600
2601         * English.lproj/localizedStrings.js:
2602         * inspector/front-end/JavaScriptSourceFrame.js:
2603         (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
2604         (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
2605         * inspector/front-end/ResourceView.js:
2606         * inspector/front-end/ResourcesPanel.js:
2607         (WebInspector.ResourcesPanel.prototype._showResourceView):
2608         (WebInspector.FrameTreeElement.prototype.appendResource):
2609         (WebInspector.FrameResourceTreeElement):
2610         (WebInspector.FrameResourceTreeElement.prototype.sourceView):
2611         * inspector/front-end/ScriptsNavigator.js:
2612         (WebInspector.ScriptsNavigator):
2613         * inspector/front-end/ScriptsPanel.js:
2614         (WebInspector.ScriptsPanel.prototype.get toolbarItemLabel):
2615         (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
2616         * inspector/front-end/Settings.js:
2617         (WebInspector.ExperimentsSettings):
2618         * inspector/front-end/SourceFrame.js:
2619         (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
2620         * inspector/front-end/textViewer.css:
2621         * inspector/front-end/utilities.js:
2622
2623 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
2624
2625         Web Inspector: implement revision history view.
2626         https://bugs.webkit.org/show_bug.cgi?id=86966
2627
2628         Reviewed by Yury Semikhatsky.
2629
2630         Added revision view into the drawer. It now lists all the revisions
2631         along with the inline diffs. Once source panel is enabled by default,
2632         this view will completely substitute the one in the resources panel.
2633         See the screenshot attached. View is updated when revisions are added
2634         and when editor view is switched.
2635
2636         * English.lproj/localizedStrings.js:
2637         * WebCore.gypi:
2638         * WebCore.vcproj/WebCore.vcproj:
2639         * inspector/compile-front-end.py:
2640         * inspector/front-end/AdvancedSearchController.js:
2641         (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
2642         * inspector/front-end/ContextMenu.js:
2643         (WebInspector.ContextMenu.prototype._itemSelected):
2644         (WebInspector.ContextMenu.prototype.appendApplicableItems):
2645         (WebInspector.ContextMenu.Provider.prototype.appendApplicableItems):
2646         (WebInspector.ContextMenu.registerProvider):
2647         * inspector/front-end/JavaScriptSourceFrame.js:
2648         (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
2649         * inspector/front-end/Resource.js:
2650         (WebInspector.ResourceRevision.prototype.revertToThis):
2651         * inspector/front-end/RevisionHistoryView.js: Added.
2652         (WebInspector.RevisionHistoryView):
2653         (WebInspector.RevisionHistoryView.showHistory):
2654         (WebInspector.RevisionHistoryView.uiSourceCodeSelected):
2655         (WebInspector.RevisionHistoryView.prototype._revisionAdded):
2656         (WebInspector.RevisionHistoryView.prototype._onclose):
2657         (WebInspector.RevisionHistoryTreeElement.else.revert):
2658         (WebInspector.RevisionHistoryTreeElement):
2659         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step1):
2660         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step2):
2661         (WebInspector.RevisionHistoryTreeElement.prototype.onexpand):
2662         (WebInspector.RevisionHistoryTreeElement.prototype._createLine):
2663         (WebInspector.RevisionHistoryTreeElement.prototype._diff.popsym):
2664         (WebInspector.RevisionHistoryTreeElement.prototype._diff):
2665         * inspector/front-end/ScriptsPanel.js:
2666         (WebInspector.ScriptsPanel.prototype._editorSelected):
2667         (WebInspector.ScriptsPanel.prototype.registerUISourceCodeProvider):
2668         (WebInspector.ScriptsPanel.prototype._showLocalHistory):
2669         (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
2670         * inspector/front-end/StylesPanel.js:
2671         (WebInspector.StyleSourceFrame.prototype._contentChanged):
2672         (WebInspector.StyleSourceFrame.prototype.populateTextAreaContextMenu):
2673         * inspector/front-end/WebKit.qrc:
2674         * inspector/front-end/inspector.css:
2675         (#search-results-pane-file-based .search-result):
2676         (#search-results-pane-file-based .search-result:hover):
2677         (#search-results-pane-file-based .search-match:hover):
2678         (#search-results-pane-file-based .search-match .search-match-content):
2679         * inspector/front-end/inspector.html:
2680         * inspector/front-end/scriptsPanel.css:
2681         (.outline-disclosure.revision-history-drawer):
2682         (.outline-disclosure.revision-history-drawer ol):
2683         (.outline-disclosure.revision-history-drawer > ol):
2684         (.outline-disclosure.revision-history-drawer li):
2685         (.outline-disclosure.revision-history-drawer li.parent):
2686         (.revision-history-link):
2687         (.outline-disclosure.revision-history-drawer .revision-history-line):
2688         (.revision-history-drawer .webkit-line-number):
2689         (.revision-history-line-added):
2690         (.revision-history-line-removed):
2691         * inspector/front-end/textViewer.css:
2692         (.webkit-added-line.webkit-line-number):
2693         (.webkit-removed-line.webkit-line-number):
2694         (.webkit-changed-line.webkit-line-number):
2695
2696 2012-05-18  Ilya Tikhonovsky  <loislo@chromium.org>
2697
2698         Web Inspector: upstream build dominators tree procedure from v8.
2699         https://bugs.webkit.org/show_bug.cgi?id=86640
2700
2701         The idea is to reduce transfer size and move all the post-processing steps to the front-end.
2702         The JS implementation is ~1.5 times slower.
2703
2704         Reviewed by Yury Semikhatsky.
2705
2706         Covered by existing tests and performance tests.
2707
2708         * inspector/front-end/HeapSnapshot.js:
2709         (WebInspector.HeapSnapshot.prototype._init):
2710         (WebInspector.HeapSnapshot.prototype._buildAggregates):
2711         (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
2712         (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
2713         (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes):
2714         (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
2715         (WebInspector.HeapSnapshot.prototype._calculateFlags):
2716
2717 2012-05-21  Mike Lawther  <mikelawther@chromium.org>
2718
2719         Crash in -webkit-calc
2720         https://bugs.webkit.org/show_bug.cgi?id=86954
2721
2722         Reviewed by Abhishek Arya.
2723
2724         Ensure that both ends of a blend are checked for being Calculated. The current
2725         check did not cover the case where the 'from' end was Calculated and nonzero,
2726         and the 'to' end was zero and not Calculated. 
2727
2728         Blending doesn't work with calculated expressions and is being tracked in
2729         bug http://webkit.org/b/86160
2730
2731         Tests: css3/calc/transition-crash3.html
2732                css3/calc/transition-crash4.html
2733
2734         * platform/Length.h:
2735         (WebCore::Length::blend):
2736
2737 2012-05-21  Pavel Feldman  <pfeldman@chromium.org>
2738
2739         Web Inspector: make search results view more dense
2740         https://bugs.webkit.org/show_bug.cgi?id=86937
2741
2742         Reviewed by Yury Semikhatsky.
2743
2744         - moved search field to the 'drawer status bar'
2745         - search view is now shown on scripts panel only
2746         - switching from the scripts panel closes the search view
2747         - beautified the looks (see the screenshot)
2748
2749         * English.lproj/localizedStrings.js:
2750         * inspector/front-end/AdvancedSearchController.js:
2751         (WebInspector.AdvancedSearchController.prototype.handleShortcut):
2752         (WebInspector.AdvancedSearchController.prototype.show):
2753         (WebInspector.AdvancedSearchController.prototype.close):
2754         (WebInspector.SearchView):
2755         (WebInspector.FileBasedSearchResultsPane):
2756         * inspector/front-end/ScriptsPanel.js:
2757         (WebInspector.ScriptsPanel.prototype.willHide):
2758         * inspector/front-end/externs.js:
2759         (WebInspector.showViewInDrawer):
2760         (WebInspector.closeViewInDrawer):
2761         * inspector/front-end/inspector.css:
2762         (.search-drawer-header input[type="search"].search-config-search):
2763         (.search-drawer-header label.search-config-label):
2764         (.search-drawer-header input[type="checkbox"].search-config-checkbox):
2765         (body:not(.platform-mac) .search-drawer-header input[type="checkbox"].search-config-checkbox):
2766         (body.platform-mac .search-drawer-header input[type="checkbox"].search-config-checkbox):
2767         (.drawer-header):
2768         (.drawer-header-close-button):
2769         (.drawer-header-close-button:hover):
2770         (.drawer-header-close-button:active):
2771         (.search-view .search-results):
2772         (#search-results-pane-file-based li):
2773         (#search-results-pane-file-based ol):
2774         (#search-results-pane-file-based ol.children):
2775         (#search-results-pane-file-based ol.children.expanded):
2776         (#search-results-pane-file-based li.parent::before):
2777         (#search-results-pane-file-based li.parent.expanded::before):
2778         (#search-results-pane-file-based .search-result):
2779         (#search-results-pane-file-based .show-more-matches):
2780         * inspector/front-end/inspector.js:
2781         (WebInspector.showViewInDrawer.closeButtonPressed):
2782         (WebInspector.showViewInDrawer):
2783         (WebInspector.closeViewInDrawer):
2784         (WebInspector.postDocumentKeyDown):
2785
2786 2012-05-18  Andreas Kling  <kling@webkit.org>
2787
2788         REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL().
2789         <http://webkit.org/b/86935>
2790         <rdar://problem/11480012>
2791
2792         Reviewed by Anders Carlsson.
2793
2794         - Correctly set m_retainOrReleaseIconRequested to true in retainIconForPageURL().
2795           This was causing the assertions, as we would end up doing nothing until the first
2796           icon release request came in.
2797
2798         - Require that m_urlsToRetainOrReleaseLock be held when accessing m_retainOrReleaseIconRequested.
2799           This removes a possible race condition in double checked locking.
2800
2801         - Swap over the retain/release work queues while holding m_urlsToRetainOrReleaseLock
2802           and release it right away to avoid sitting on the lock while updating the database.
2803
2804         * loader/icon/IconDatabase.cpp:
2805         (WebCore::IconDatabase::synchronousIconForPageURL):
2806         (WebCore::IconDatabase::retainIconForPageURL):
2807         (WebCore::IconDatabase::releaseIconForPageURL):
2808         (WebCore::IconDatabase::retainedPageURLCount):
2809         (WebCore::IconDatabase::performURLImport):
2810         (WebCore::IconDatabase::syncThreadMainLoop):
2811         (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
2812         * loader/icon/IconDatabase.h:
2813         (IconDatabase):
2814
2815 2012-05-21  Kent Tamura  <tkent@chromium.org>
2816
2817         Unreviewed, build fix.
2818
2819         * html/StepRange.cpp:
2820         (WebCore::StepRange::parseStep): Remove bogus asssetions.
2821
2822 2012-05-21  Kent Tamura  <tkent@chromium.org>
2823
2824         Unreviewed, build fix.
2825
2826         * html/StepRange.cpp:
2827         (WebCore::StepRange::StepRange): Remove another ASSERT_NOT_REACHED.
2828
2829 2012-05-21  Kent Tamura  <tkent@chromium.org>
2830
2831         Unreviewed, build fix.
2832
2833         * html/StepRange.h:
2834         (WebCore::StepRange::StepDescription::StepDescription):
2835         Remove ASSERT_NOT_REACHED.
2836
2837 2012-05-21  Yoshifumi Inoue  <yosin@chromium.org>
2838
2839         [Forms] Move numeric related methods in HTMLInputElement class to another place
2840         https://bugs.webkit.org/show_bug.cgi?id=82034
2841
2842         Reviewed by Kent Tamura.
2843
2844         This patch moves step and range related methods into StepRange class
2845         for ease of using step calculation other than double floating point
2846         number arithmetic, e.g. decimal, long double, and so on.
2847
2848         New class StepRange::StepDescription holds values for calculating
2849         stepped value, defaultStep, defaultStepBase, integer rounding flags,
2850         step scale factor instead of virtual methods in InputType class.
2851
2852         No new tests because of this patch doesn't change behavior.
2853
2854         * WebCore.xcodeproj/project.pbxproj: Set attribute of StepRange.h to "Private" for including it in HTMLInputElement.cpp.
2855         * html/BaseDateAndTimeInputType.cpp:
2856         (WebCore::InputType::rangeOverflow): Moved to use InputType class.
2857         (WebCore::InputType::rangeUnderflow): Moved to use InputType class.
2858         (WebCore::BaseDateAndTimeInputType::stepMismatch): Moved to use stepRange.
2859         * html/BaseDateAndTimeInputType.h:
2860         (BaseDateAndTimeInputType): Removed method declaration for stepBase.
2861         * html/DateInputType.cpp:
2862         (WebCore::DateInputType::setupStepRange): Added.
2863         * html/DateInputType.h:
2864         (DateInputType): Removed method declarations.
2865         * html/DateTimeInputType.cpp:
2866         (WebCore::DateTimeInputType::defaultStep): Removed.
2867         (WebCore::DateTimeInputType::maximum): Removed.
2868         (WebCore::DateTimeInputType::minimum): Removed.
2869         (WebCore::DateTimeInputType::setupStepRange): Added
2870         (WebCore::DateTimeInputType::stepScaleFactor): Removed.
2871         * html/DateTimeInputType.h:
2872         (DateTimeInputType): Removed deprecated method declarations.
2873         * html/DateTimeLocalInputType.cpp:
2874         (WebCore::DateTimeLocalInputType::defaultStep): Removed.
2875         (WebCore::DateTimeLocalInputType::maximum): Removed.
2876         (WebCore::DateTimeLocalInputType::minimum): Removed.
2877         (WebCore::DateTimeLocalInputType::setupStepRange): Added.
2878         (WebCore::DateTimeLocalInputType::stepScaleFactor): Removed.
2879         * html/DateTimeLocalInputType.h:
2880         (DateTimeLocalInputType):
2881         * html/HTMLInputElement.cpp:
2882         (WebCore::HTMLInputElement::isInRange): Changed to call InputType::isInRange.
2883         (WebCore::HTMLInputElement::isOutOfRange): Changed to call InputType::isOutOfRange.
2884         (WebCore::HTMLInputElement::setupStepRange): Added.
2885         * html/HTMLInputElement.h:
2886         (HTMLInputElement):
2887         * html/InputType.cpp:
2888         (WebCore::InputType::acceptableError): Moved to StepRange class.
2889         (WebCore::InputType::alignValueForStep): Moved to StepRange class.
2890         (WebCore::InputType::minimum): Changed to use StepRange class.
2891         (WebCore::InputType::maximum): Changed to use StepRange class.
2892         (WebCore::InputType::parseToDouble): Changed to have ASSERT_NOT_REACHED.
2893         (WebCore::InputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
2894         (WebCore::InputType::validationMessage):  Changed to use StepRange class.
2895         (WebCore::InputType::applyStep):  Changed to use StepRange class.
2896         (WebCore::InputType::getAllowedValueStep):  Changed to use StepRange class.
2897         (WebCore::InputType::isInRange): Added.
2898         (WebCore::InputType::isOutOfRange): Added.
2899         (WebCore::InputType::rangeOverflow): Changed to use StepRange class.
2900         (WebCore::InputType::rangeUnderflow): Changed to use StepRange class.
2901         (WebCore::InputType::setupStepRange): Added.
2902         (WebCore::InputType::stepUpFromRenderer):  Changed to use StepRange class.
2903         (WebCore::InputType::stepMismatch): Changed to use StepRange class.
2904         * html/InputType.h:
2905         (InputType):
2906         * html/MonthInputType.cpp:
2907         (WebCore::MonthInputType::defaultStep): Removed.
2908         (WebCore::MonthInputType::maximum): Removed.
2909         (WebCore::MonthInputType::minimum): Removed.
2910         (WebCore::MonthInputType::setupStepRange): Added.
2911         (WebCore::MonthInputType::stepScaleFactor): Removed.
2912         * html/MonthInputType.h:
2913         (MonthInputType):
2914         * html/NumberInputType.cpp:
2915         (WebCore):
2916         (WebCore::NumberInputType::defaultStep): Removed.
2917         (WebCore::NumberInputType::maximum): Removed.
2918         (WebCore::NumberInputType::minimum): Removed.
2919         (WebCore::NumberInputType::rangeOverflow): Moved to InputType class.
2920         (WebCore::NumberInputType::rangeUnderflow): Moved to InputType class.
2921         (WebCore::NumberInputType::setupStepRange): Added.
2922         (WebCore::NumberInputType::stepMismatch): Moved to InputType class.
2923         (WebCore::NumberInputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
2924         (WebCore::NumberInputType::stepScaleFactor): Removed.
2925         * html/NumberInputType.h:
2926         (NumberInputType):
2927         * html/RangeInputType.cpp:
2928         (WebCore::RangeInputType::defaultStep): Removed.
2929         (WebCore::RangeInputType::maximum): Removed.
2930         (WebCore::RangeInputType::minimum): Removed.
2931         (WebCore::RangeInputType::setupStepRange): Added.
2932         (WebCore::RangeInputType::stepScaleFactor): Removed.
2933         (WebCore::RangeInputType::handleKeydownEvent): Changed to use StepRange class.
2934         (WebCore::RangeInputType::fallbackValue): Changed to use StepRange class.
2935         (WebCore::RangeInputType::sanitizeValue): Changed to use StepRange class.
2936         * html/RangeInputType.h:
2937         (RangeInputType):
2938         * html/StepRange.cpp:
2939         (WebCore::StepRange::StepRange): Added.
2940         (WebCore::StepRange::clampValue): Changed for member variable name changes.
2941         (WebCore::StepRange::hasStep): Added.
2942         (WebCore::StepRange::maximum): Added.
2943         (WebCore::StepRange::minimum): Added.
2944         (WebCore::StepRange::step): Added.
2945         (WebCore::StepRange::stepBase): Added.
2946         (WebCore::StepRange::stepDecimalPlaces): Added.
2947         (WebCore::StepRange::stepScaleFactor): Added.
2948         (WebCore::StepRange::setHasStep): Added.
2949         (WebCore::StepRange::setup): Added.
2950         (WebCore::StepRange::parse): Added.
2951         * html/StepRange.h:
2952         (StepDescription): Added
2953         (WebCore::StepRange::StepDescription::StepDescription):
2954         (WebCore::StepRange::acceptableError): Moved from InputType class.
2955         (WebCore::StepRange::alignValueForStep): Moved from InputType class.
2956         (WebCore::StepRange::defaultValue): Changed for member variable name changes.
2957         (WebCore::StepRange::proportionFromValue): Changed for member variable name changes.
2958         (WebCore::StepRange::valueFromProportion): Changed for member variable name changes.
2959         * html/TimeInputType.cpp:
2960         (WebCore::TimeInputType::defaultStep): Removed.
2961         (WebCore::TimeInputType::maximum): Removed.
2962         (WebCore::TimeInputType::minimum): Removed.
2963         (WebCore::TimeInputType::setupStepRange): Added.
2964         (WebCore::TimeInputType::stepScaleFactor): Removed.
2965         * html/TimeInputType.h:
2966         (TimeInputType):
2967         * html/WeekInputType.cpp:
2968         (WebCore):
2969         (WebCore::WeekInputType::defaultStep): Removed.
2970         (WebCore::WeekInputType::maximum): Removed.
2971         (WebCore::WeekInputType::minimum): Removed.
2972         (WebCore::WeekInputType::setupStepRange): Added.
2973         (WebCore::WeekInputType::stepScaleFactor): Removed.
2974         * html/WeekInputType.h:
2975         (WeekInputType):
2976         * html/shadow/SliderThumbElement.cpp:
2977         (WebCore::sliderPosition): Changed to use StepRange class.
2978         (WebCore::SliderThumbElement::setPositionFromPoint): Changed to use StepRange class.
2979
2980 2012-05-21  Kentaro Hara  <haraken@chromium.org>
2981
2982         [V8] Pass Isolate to throwNotEnoughArgumentsError()
2983         https://bugs.webkit.org/show_bug.cgi?id=86983
2984
2985         Reviewed by Adam Barth.
2986
2987         The objective is to pass Isolate around in V8 bindings.
2988         This patch passes Isolate to throwNotEnoughArgumentsError().
2989
2990         No tests. No change in behavior.
2991
2992         * bindings/scripts/CodeGeneratorV8.pm:
2993         (GenerateArgumentsCountCheck):
2994         (GenerateEventConstructorCallback):
2995         * bindings/scripts/test/V8/V8Float64Array.cpp:
2996         (WebCore::Float64ArrayV8Internal::fooCallback):
2997         * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2998         (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
2999         (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
3000         * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3001         (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
3002         * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3003         (WebCore::V8TestEventConstructor::constructorCallback):
3004         * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3005         (WebCore::TestEventTargetV8Internal::itemCallback):
3006         (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
3007         * bindings/scripts/test/V8/V8TestInterface.cpp:
3008         (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
3009         (WebCore::V8TestInterface::constructorCallback):
3010         * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3011         (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
3012         * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3013         (WebCore::V8TestNamedConstructorConstructorCallback):
3014         * bindings/scripts/test/V8/V8TestObj.cpp:
3015         (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
3016         (WebCore::TestObjV8Internal::intMethodWithArgsCallback):
3017         (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
3018         (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
3019         (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
3020         (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
3021         (WebCore::TestObjV8Internal::serializedValueCallback):
3022         (WebCore::TestObjV8Internal::idbKeyCallback):
3023         (WebCore::TestObjV8Internal::optionsObjectCallback):
3024         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
3025         (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
3026         (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
3027         (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
3028         (WebCore::TestObjV8Internal::overloadedMethod1Callback):
3029         (WebCore::TestObjV8Internal::overloadedMethod2Callback):
3030         (WebCore::TestObjV8Internal::overloadedMethod3Callback):
3031         (WebCore::TestObjV8Internal::overloadedMethod4Callback):
3032         (WebCore::TestObjV8Internal::overloadedMethod5Callback):
3033         (WebCore::TestObjV8Internal::overloadedMethod6Callback):
3034         (WebCore::TestObjV8Internal::overloadedMethod7Callback):
3035         (WebCore::TestObjV8Internal::overloadedMethod11Callback):
3036         (WebCore::TestObjV8Internal::overloadedMethod12Callback):
3037         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
3038         (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
3039         (WebCore::TestObjV8Internal::convert1Callback):
3040         (WebCore::TestObjV8Internal::convert2Callback):
3041         (WebCore::TestObjV8Internal::convert3Callback):
3042         (WebCore::TestObjV8Internal::convert4Callback):
3043         (WebCore::TestObjV8Internal::convert5Callback):
3044         (WebCore::TestObjV8Internal::strictFunctionCallback):
3045         (WebCore::V8TestObj::constructorCallback):
3046         * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3047         (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
3048         (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
3049         * bindings/v8/ScriptController.cpp:
3050         (WebCore::setValueAndClosePopupCallback):
3051         * bindings/v8/V8Proxy.cpp:
3052         (WebCore::V8Proxy::throwNotEnoughArgumentsError):
3053         * bindings/v8/V8Proxy.h:
3054         (V8Proxy):
3055         * bindings/v8/custom/V8AudioContextCustom.cpp:
3056         (WebCore::V8AudioContext::constructorCallback):
3057         * bindings/v8/custom/V8DataViewCustom.cpp:
3058         (WebCore::V8DataView::getInt8Callback):
3059         (WebCore::V8DataView::getUint8Callback):
3060         (WebCore::V8DataView::setInt8Callback):
3061         (WebCore::V8DataView::setUint8Callback):
3062         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
3063         (WebCore::V8DirectoryEntry::getDirectoryCallback):
3064         (WebCore::V8DirectoryEntry::getFileCallback):
3065         * bindings/v8/custom/V8IntentConstructor.cpp:
3066         (WebCore::V8Intent::constructorCallback):
3067         * bindings/v8/custom/V8SVGLengthCustom.cpp:
3068         (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
3069         * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3070         (WebCore::getObjectParameter):
3071         (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
3072         (WebCore::V8WebGLRenderingContext::getExtensionCallback):
3073         (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
3074         (WebCore::V8WebGLRenderingContext::getParameterCallback):
3075         (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
3076         (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
3077         (WebCore::V8WebGLRenderingContext::getUniformCallback):
3078         (WebCore::vertexAttribAndUniformHelperf):
3079         (WebCore::uniformHelperi):
3080         (WebCore::uniformMatrixHelper):
3081         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
3082         (WebCore::V8WebKitMutationObserver::constructorCallback):
3083         (WebCore::V8WebKitMutationObserver::observeCallback):
3084         * bindings/v8/custom/V8WebSocketCustom.cpp:
3085         (WebCore::V8WebSocket::constructorCallback):
3086         (WebCore::V8WebSocket::sendCallback):
3087         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3088         (WebCore::V8XMLHttpRequest::openCallback):
3089
3090 2012-05-20  Kentaro Hara  <haraken@chromium.org>
3091
3092         [V8] Pass Isolate to throwError()s in V8 custom bindings (Part 2)
3093         https://bugs.webkit.org/show_bug.cgi?id=86981
3094
3095         Reviewed by Adam Barth.
3096
3097         The objective is to pass Isolate around in V8 bindings.
3098         This patch passes Isolate to throwError()s in V8 custom bindings.
3099
3100         No tests. No change in behavior.
3101
3102         * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3103         (WebCore::v8HTMLImageElementConstructorCallback):
3104         * bindings/v8/custom/V8HistoryCustom.cpp:
3105         (WebCore::V8History::pushStateCallback):
3106         (WebCore::V8History::replaceStateCallback):
3107         * bindings/v8/custom/V8IntentConstructor.cpp:
3108         (WebCore::V8Intent::constructorCallback):
3109         * bindings/v8/custom/V8MessagePortCustom.cpp:
3110         (WebCore::handlePostMessageCallback):
3111         * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3112         (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
3113         (WebCore::V8NotificationCenter::createNotificationCallback):
3114         (WebCore::V8NotificationCenter::requestPermissionCallback):
3115         * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3116         (WebCore::V8SQLResultSetRowList::itemCallback):
3117         * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3118         (WebCore::V8SQLTransaction::executeSqlCallback):
3119         * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
3120         (WebCore::V8SQLTransactionSync::executeSqlCallback):
3121         * bindings/v8/custom/V8StorageCustom.cpp:
3122         (WebCore::storageSetter):
3123         * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
3124         (WebCore::V8WebKitMutationObserver::constructorCallback):
3125         (WebCore::V8WebKitMutationObserver::observeCallback):
3126         * bindings/v8/custom/V8WebSocketCustom.cpp:
3127         (WebCore::V8WebSocket::constructorCallback):
3128         (WebCore::V8WebSocket::sendCallback):
3129         (WebCore::V8WebSocket::closeCallback):
3130         * bindings/v8/custom/V8WorkerContextCustom.cpp:
3131         (WebCore::V8WorkerContext::importScriptsCallback):
3132         * bindings/v8/custom/V8WorkerCustom.cpp:
3133         (WebCore::handlePostMessageCallback):
3134         * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3135         (WebCore::V8XMLHttpRequest::constructorCallback):
3136         * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3137         (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
3138         (WebCore::V8XMLHttpRequest::openCallback):
3139         (WebCore::V8XMLHttpRequest::sendCallback):
3140
3141 2012-05-20  Kentaro Hara  <haraken@chromium.org>
3142
3143         [V8] Pass Isolate to throwError()s in V8 custom bindings (Part 1)
3144         https://bugs.webkit.org/show_bug.cgi?id=86980
3145
3146         Reviewed by Adam Barth.
3147
3148         The objective is to pass Isolate around in V8 bindings.
3149         This patch passes Isolate to throwError()s in V8 custom bindings.
3150
3151         No tests. No change in behavior.
3152
3153         * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3154         (WebCore::V8ArrayBuffer::constructorCallback):
3155         * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3156         (WebCore::constructWebGLArrayWithArrayBufferArgument):
3157         (WebCore::constructWebGLArray):
3158         * bindings/v8/custom/V8AudioContextCustom.cpp:
3159         (WebCore::V8AudioContext::constructorCallback):
3160         * bindings/v8/custom/V8BlobCustom.cpp:
3161         (WebCore::V8Blob::constructorCallback):
3162         * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3163         (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
3164         * bindings/v8/custom/V8ClipboardCustom.cpp:
3165         (WebCore::V8Clipboard::clearDataCallback):
3166         (WebCore::V8Clipboard::setDragImageCallback):
3167         * bindings/v8/custom/V8DOMFormDataCustom.cpp:
3168         (WebCore::V8DOMFormData::appendCallback):
3169         * bindings/v8/custom/V8DOMStringMapCustom.cpp:
3170         (WebCore::V8DOMStringMap::namedPropertySetter):
3171         * bindings/v8/custom/V8DOMWindowCustom.cpp:
3172         (WebCore::handlePostMessageCallback):
3173         * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
3174         (WebCore::handlePostMessageCallback):
3175         * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
3176         (WebCore::V8DirectoryEntry::getDirectoryCallback):
3177         (WebCore::V8DirectoryEntry::getFileCallback):
3178         * bindings/v8/custom/V8DocumentCustom.cpp:
3179         (WebCore::V8Document::evaluateCallback):
3180
3181 2012-05-20  Kentaro Hara  <haraken@chromium.org>
3182
3183         [V8] Pass Isolate to V8NPObject::npObjectGetProperty() and V8NPObject::npObjectSetProperty()
3184         https://bugs.webkit.org/show_bug.cgi?id=86979
3185
3186         Reviewed by Adam Barth.
3187
3188         The objective is to pass Isolate around in V8 bindings.
3189         This patch passes Isolate to V8NPObject::npObjectGetProperty()
3190         and V8NPObject::npObjectSetProperty().
3191
3192         No tests. No change in behavior.
3193
3194         * bindings/v8/V8NPObject.cpp:
3195         (WebCore::npObjectGetProperty):
3196         (WebCore::npObjectNamedPropertyGetter):
3197         (WebCore::npObjectIndexedPropertyGetter):
3198         (WebCore::npObjectGetNamedProperty):
3199         (WebCore::npObjectGetIndexedProperty):
3200         (WebCore::npObjectQueryProperty):
3201         (WebCore::npObjectSetProperty):
3202         (WebCore::npObjectNamedPropertySetter):
3203         (WebCore::npObjectIndexedPropertySetter):
3204         (WebCore::npObjectSetNamedProperty):
3205         (WebCore::npObjectSetIndexedProperty):
3206         * bindings/v8/V8NPObject.h:
3207         (WebCore):
3208         * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3209         (WebCore::npObjectNamedGetter):
3210         (WebCore::npObjectNamedSetter):
3211         (WebCore::npObjectIndexedGetter):
3212         (WebCore::npObjectIndexedSetter):
3213
3214 2012-05-20  Ryosuke Niwa  <rniwa@webkit.org>
3215
3216         Using createContextualFragment to insert a <script> does not cause the script to execute
3217         https://bugs.webkit.org/show_bug.cgi?id=12234
3218
3219         Reviewed by Adam Barth.
3220
3221         Renamed FragmentScriptingAllowed and FragmentScriptingNotAllowed to DisallowScriptingContent
3222         and AllowScriptingContent as these two flags are used in code for non-fragment cases and they
3223         indicate whether attributes and elements that can invoke scripting should be removed or not.
3224
3225         To fix the bug, added a new value AllowScriptingContentAndDoNotMarkAlreadyStarted unset
3226         already-started and parser-inserted flags [1] on script elements in addition to allowing
3227         scripting contents.
3228
3229         While the HTML5 specification and the DOM Parsing and Serialization specification [2] state that
3230         we should set these flags in the parser and later unset them, doing so would require traversing
3231         the parsed fragment to find relevant script elements. We short circuit this logic by simply not
3232         setting parser-inserted and already-started flags in createContextualFragment.
3233
3234         [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#already-started
3235         [2] http://html5.org/specs/dom-parsing.html#dom-range-createcontextualfragment
3236
3237         Tests: fast/dom/Range/create-contextual-fragment-script-not-ran.html
3238                fast/dom/Range/create-contextual-fragment-script-unmark-already-started.html
3239
3240         * dom/DocumentFragment.h:
3241         (DocumentFragment):
3242         * dom/Element.cpp:
3243         (WebCore::Element::parserSetAttributes):
3244         (WebCore::Element::setAttributeNS):
3245         * dom/Element.h:
3246         (Element):
3247         * dom/FragmentScriptingPermission.h:
3248         * dom/Range.cpp:
3249         (WebCore::Range::createContextualFragment): Removed FragmentScriptingPermission from the argument
3250         list since no one uses it. Always use AllowScriptingContentAndDoNotMarkAlreadyStarted instead.
3251         * dom/Range.h:
3252         * editing/markup.h:
3253         * html/parser/HTMLConstructionSite.cpp:
3254         (WebCore::HTMLConstructionSite::HTMLConstructionSite):
3255         (WebCore::HTMLConstructionSite::insertScriptElement): Pass false to both parserInserted and
3256         alreadyStarted when the scripting permission is AllowScriptingContentAndDoNotMarkAlreadyStarted.
3257         Also call parserSetAttributes when the scripting permission is either AllowScriptingContent or
3258         AllowScriptingContentAndDoNotMarkAlreadyStarted.
3259         * html/parser/HTMLDocumentParser.h:
3260         (HTMLDocumentParser):
3261         * html/parser/HTMLTreeBuilder.cpp:
3262         (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
3263         (WebCore::HTMLTreeBuilder::processEndTag):
3264         * html/parser/HTMLTreeBuilder.h:
3265         (FragmentParsingContext):
3266         * platform/blackberry/PasteboardBlackBerry.cpp:
3267         (WebCore::Pasteboard::documentFragment):
3268         * platform/chromium/DragDataChromium.cpp:
3269         (WebCore::DragData::asFragment):
3270         * platform/chromium/PasteboardChromium.cpp:
3271         (WebCore::Pasteboard::documentFragment):
3272         * platform/gtk/PasteboardGtk.cpp:
3273         (WebCore::Pasteboard::documentFragment):
3274         * platform/mac/PasteboardMac.mm:
3275         (WebCore::Pasteboard::documentFragment):
3276         * platform/qt/DragDataQt.cpp:
3277         (WebCore::DragData::asFragment):
3278         * platform/qt/PasteboardQt.cpp:
3279         (WebCore::Pasteboard::documentFragment):
3280         * platform/win/ClipboardUtilitiesWin.cpp:
3281         (WebCore::fragmentFromCFHTML):
3282         (WebCore::fragmentFromHTML):
3283         * xml/XMLErrors.cpp:
3284         (WebCore::createXHTMLParserErrorHeader):
3285         (WebCore::XMLErrors::insertErrorMessageBlock):
3286         * xml/parser/NewXMLDocumentParser.h:
3287         (NewXMLDocumentParser):
3288         * xml/parser/XMLDocumentParser.h:
3289         (XMLDocumentParser):
3290         * xml/parser/XMLDocumentParserLibxml2.cpp:
3291         (WebCore::XMLDocumentParser::XMLDocumentParser):
3292         (WebCore::XMLDocumentParser::endElementNs):
3293         * xml/parser/XMLDocumentParserQt.cpp:
3294         (WebCore::XMLDocumentParser::XMLDocumentParser):
3295         (WebCore::XMLDocumentParser::parseEndElement):
3296
3297 2012-05-20  Kentaro Hara  <haraken@chromium.org>
3298
3299         [V8] Pass Isolate to V8Utilities::createFunctionCallback()
3300         https://bugs.webkit.org/show_bug.cgi?id=86978
3301
3302         Reviewed by Adam Barth.
3303
3304         The objective is to pass Isolate around in V8 bindings.
3305         This patch passes Isolate to V8Utilities::createFunctionCallback().
3306
3307         No tests. No change in behavior.
3308
3309         * bindings/v8/V8Utilities.cpp:
3310         (WebCore::throwTypeMismatchException):
3311         * bindings/v8/V8Utilities.h:
3312         (WebCore):
3313         (WebCore::createFunctionOnlyCallback):
3314         * bindings/v8/custom/V8GeolocationCustom.cpp:
3315         (WebCore::V8Geolocation::getCurrentPositionCallback):
3316         (WebCore::V8Geolocation::watchPositionCallback):
3317         * bindings/v8/custom/V8NotificationCustom.cpp:
3318         (WebCore::V8Notification::requestPermissionCallback):