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